@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-extrabold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--paper:#f5f3ed;--ink:#181a1e;--blue:#2447e2;--muted:#575951;--line:#d5d5cd;--white:#fff;--radius:12px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;scrollbar-color:var(--blue) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}::selection{background:var(--blue);color:white}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.inquiry a:focus-visible,.inquiry button:focus-visible,.inquiry input:focus-visible,.inquiry textarea:focus-visible,.inquiry select:focus-visible{outline:2px solid #fff;outline-offset:3px}.draft h3:focus{outline:none}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}h1,h2{font-weight:800;letter-spacing:-.04em;line-height:1.06}h2{font-size:clamp(36px,4vw,56px)}h3{font-size:24px;letter-spacing:-.025em;line-height:1.25}p{max-width:70ch}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:110px}.arrow{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:12px;left:12px;z-index:10;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-150%);clip-path:inset(50%)}.skip:focus{transform:none;clip-path:none}
.site-header{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:17px;font-weight:800;line-height:1.16;letter-spacing:-.025em}.brand svg{width:34px;height:34px;color:var(--blue)}.brand-dot{color:var(--blue)}nav{display:flex;align-items:center;gap:34px}nav>a:not(.button){font-size:14px;text-decoration:none;font-weight:700}nav>a:not(.button):hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:19px 26px;min-height:60px;border:0;border-radius:8px;background:var(--ink);color:white;text-decoration:none;font-weight:700;font-size:15px;line-height:1.4;transition:background .2s,color .2s,box-shadow .2s}.button:hover{background:var(--blue)}.button .arrow{transition:transform .3s var(--ease)}.button:hover .arrow{transform:translateX(3px)}.button.small{padding:12px 18px;min-height:46px;gap:16px;font-size:14px}.primary{background:var(--blue)}.primary:hover{background:#1837bc}
.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:38px;align-items:center;padding-block:65px 79px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(62px,6.3vw,90px);white-space:nowrap}.hero h1 span{color:var(--blue)}.hero-description{font-size:19px;line-height:1.6;margin-top:28px;max-width:460px}.hero .primary{margin-top:32px}.hero-note{font-size:13px;color:var(--muted);margin-top:16px}.hero-art{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-art img{aspect-ratio:1.3;object-fit:cover;border-radius:14px;box-shadow:0 16px 35px -25px #4a4a49}.hero-art figcaption{display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--muted);padding:17px 6px 0;letter-spacing:.01em}.hero-art figcaption svg{width:80px;height:12px;stroke:currentColor;stroke-width:1;fill:none}.offer-band{background:var(--ink);color:var(--paper)}.offer-inner{padding-block:25px;display:flex;align-items:center;justify-content:space-between;gap:30px}.offer-inner p{font-size:17px;font-weight:700;letter-spacing:-.01em}.offer-inner a{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:13px}.offer-inner a:hover{text-decoration:underline}.offer-inner a:focus-visible{outline-color:#fff}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:54px}.section-heading>div,.section-heading>p{max-width:390px}.section-heading p{color:var(--muted);font-size:16px}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:14px;font-weight:700;text-decoration:none;margin-top:20px}.text-link:hover{text-decoration:underline}.work-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}.second-work{padding-top:72px}.work-image{display:block;position:relative;overflow:hidden;border-radius:var(--radius)}.work-image img{aspect-ratio:16/9;object-fit:cover;transition:transform .6s var(--ease)}.work-image:hover img{transform:scale(1.025)}.image-link{position:absolute;right:16px;bottom:16px;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);color:var(--ink);border-radius:50%}.work-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px}.work-caption h3{font-size:22px}.work-caption h3 a{text-decoration:none}.work-caption h3 a:hover{text-decoration:underline}.work-caption>span{font-size:11px;color:var(--muted)}.work-item>p{color:var(--muted);font-size:14px;line-height:1.7;margin-top:12px;max-width:52ch}.more-work{display:flex;align-items:center;gap:32px;border-block:1px solid var(--line);padding:25px 0;margin-top:60px;text-decoration:none}.more-work>span:not(.sr-only){font-size:12px;color:var(--muted);min-width:100px}.more-work p{font-size:15px;flex:1}.more-work strong{font-weight:800}.more-work:hover p{text-decoration:underline}
.scope{padding-top:0;display:grid;grid-template-columns:.9fr 1.1fr;gap:84px}.scope-intro>p{color:var(--muted);max-width:340px;margin-top:25px}.scope-row{display:grid;grid-template-columns:1fr 24px;gap:13px 22px;padding-block:30px;border-bottom:1px solid var(--line);text-decoration:none}.scope-row:first-child{border-top:1px solid var(--line)}.scope-row h3{font-size:25px;grid-column:1}.scope-row p{color:var(--muted);font-size:14px;grid-column:1;max-width:47ch}.scope-row>.arrow{grid-column:2;grid-row:1/3;align-self:center;transition:transform .3s var(--ease)}.scope-row:hover h3{color:var(--blue)}.scope-row:hover>.arrow{transform:translateX(5px)}
.process{background:#eae9e1}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;margin:56px 0 0;padding:0}.process-steps li{border-top:1px solid #b5b6aa;padding-top:25px}.step{display:block;color:var(--blue);font-size:14px;font-weight:800;margin-bottom:27px}.process-steps h3{font-size:23px}.process-steps p{font-size:14px;color:var(--muted);margin-top:16px;max-width:34ch}
.builder{display:grid;grid-template-columns:.9fr 1.1fr;gap:84px;align-items:center}.builder-mark{color:var(--blue);font-weight:800;font-size:clamp(110px,15vw,208px);letter-spacing:-.04em;line-height:.9;position:relative}.builder-mark:after{content:'';display:block;background:var(--blue);height:10px;width:70%;margin-top:38px}.builder-mark span{display:block;font-size:12px;font-weight:700;letter-spacing:0;line-height:1.5;margin-top:30px}.builder-copy>p{color:var(--muted);margin-top:24px;max-width:49ch}
.faq{padding-top:0;display:grid;grid-template-columns:.9fr 1.1fr;gap:84px}.faq h2{font-size:40px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:25px 0;font-size:16px}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:20px;height:20px;flex:none;stroke:var(--blue);stroke-width:1.5;fill:none;transition:transform .2s}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{font-size:14px;line-height:1.8;color:var(--muted);padding-bottom:24px;max-width:53ch}
.inquiry{background:var(--blue);color:white}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:84px}.inquiry h2{font-size:clamp(52px,5.3vw,76px)}.inquiry-copy>p{font-size:18px;color:#e3e8ff;max-width:340px;margin-top:28px}.inquiry-copy .direct-email{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:46px;font-size:20px;font-weight:700;text-decoration:none}.direct-email:hover{text-decoration:underline}.inquiry-copy .inquiry-footnote{font-size:12px;margin-top:10px;color:#e3e8ff}form label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}form label span{font-weight:400;font-size:11px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}form input,form select,form textarea{display:block;width:100%;border:1px solid #c6cff8;border-radius:6px;background:#fff;color:var(--ink);padding:14px 16px;font-size:16px;min-height:56px;caret-color:var(--blue);margin-bottom:22px}form textarea{resize:vertical;min-height:130px}form input::placeholder,form textarea::placeholder{color:#686d76;opacity:1}form select{padding-right:42px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23181a1e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}form [aria-invalid=true]{border-color:#ffd29a;box-shadow:inset 0 0 0 1px #ffd29a}.field-error{font-size:12px;line-height:1.5;color:#ffecd0;margin:-14px 0 22px}.field-error[hidden]{display:none}.inquiry-button{background:var(--paper);color:var(--blue);width:100%;justify-content:space-between;margin-top:4px}.inquiry-button:hover{background:#dae1ff;color:#1732a4}.form-note{font-size:12px;line-height:1.6;margin-top:15px;color:#e3e8ff;max-width:51ch}.draft{margin-top:32px;padding-top:28px;border-top:1px solid #9cacf8}.draft h3{font-size:23px;line-height:1.35}.draft>p{font-size:13px;color:#e3e8ff;margin-top:13px}.draft pre{font:13px/1.7 Manrope,Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;background:#1c39b8;border-radius:8px;padding:20px;margin-top:20px;max-height:320px;overflow:auto}.draft-actions{display:grid;gap:12px}.copy-button{border:1px solid #9cacf8;padding:15px;background:transparent;color:#fff;border-radius:8px;font-size:14px;font-weight:700;min-height:50px}.copy-button:hover{background:#1c39b8}.copy-button:disabled{opacity:.75;cursor:wait}#copy-status{min-height:20px;margin-top:12px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:36px;font-size:11px;color:var(--muted)}.site-footer>p:first-child{font-size:13px;font-weight:800;color:var(--ink)}.site-footer a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer .arrow{width:16px;height:16px}
@media(min-width:1500px){.hero{gap:56px}.hero-art img{aspect-ratio:1.35}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{grid-template-columns:1fr 1fr;gap:28px;padding-block:45px 65px}.hero h1{font-size:60px}.hero-description{font-size:17px}.hero .primary{font-size:13px;padding-inline:20px;gap:15px}.hero-art img{aspect-ratio:1.12}.section{padding-block:85px}.scope,.builder,.faq{gap:45px}.inquiry-grid{grid-template-columns:1fr;gap:40px}.scope,.faq{padding-top:0}.work-caption{align-items:flex-start;flex-direction:column;gap:6px}.scope-row h3{font-size:22px}.site-header nav{gap:22px}.process-steps{gap:28px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:92px;gap:16px}.brand{font-size:13px;gap:8px}.brand svg{width:27px;height:27px}nav{gap:15px}.nav-process{display:none}nav>a:not(.button){font-size:12px}.button.small{font-size:12px;min-height:44px;padding:11px 14px;gap:10px}.button.small .arrow{width:17px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding-block:40px 42px}.hero h1{font-size:clamp(46px,8vw,68px);white-space:normal;letter-spacing:-.04em}.hero-description{font-size:17px;line-height:1.65;max-width:38ch;margin-top:22px}.hero .primary{margin-top:25px;font-size:14px;min-height:57px}.hero-note{font-size:12px;margin-top:13px}.hero-art img{aspect-ratio:1.5;object-fit:cover}.hero-art figcaption{font-size:11px;padding-top:13px}.offer-inner{align-items:flex-start;flex-direction:column;gap:9px;padding-block:24px}.offer-inner p{font-size:15px}.offer-inner a{font-size:12px}.section{padding-block:68px}h2{font-size:38px}.section-heading{display:block;margin-bottom:35px}.section-heading>div,.section-heading>p{max-width:42ch;margin-top:22px}.section-heading p{font-size:14px}.text-link{font-size:13px;margin-top:16px}.work-grid{grid-template-columns:1fr;gap:36px}.second-work{padding-top:0}.work-caption{flex-direction:row;align-items:center;gap:12px;margin-top:19px}.work-caption h3{font-size:20px}.work-caption>span{font-size:11px;text-align:right;max-width:120px}.work-item>p{font-size:13px;margin-top:10px;max-width:45ch}.image-link{width:38px;height:38px;right:12px;bottom:12px}.more-work{gap:15px;flex-wrap:wrap;padding-block:20px;margin-top:34px}.more-work>span:not(.sr-only){min-width:0;flex-basis:100%;font-size:11px}.more-work p{font-size:13px}.more-work .arrow{width:18px}.scope,.builder,.faq,.inquiry-grid{grid-template-columns:1fr;gap:30px}.scope,.faq{padding-top:0}.scope-intro>p{font-size:14px;max-width:42ch;margin-top:22px}.scope-row{padding-block:25px;gap:12px}.scope-row h3{font-size:23px}.scope-row p{font-size:13px}.process-steps{grid-template-columns:1fr;gap:28px;margin-top:35px}.process-steps li{position:relative;display:grid;grid-template-columns:27px 1fr;gap:10px 14px;padding-top:22px}.step{margin:0;grid-row:1/3;line-height:1.8}.process-steps h3{font-size:22px}.process-steps p{grid-column:2;margin:0;max-width:40ch;font-size:13px}.builder{gap:34px}.builder-mark{font-size:96px;display:flex;align-items:flex-end;gap:24px}.builder-mark span{font-size:11px;max-width:70px;margin:0 0 3px}.builder-mark:after{display:none}.builder-copy>p{font-size:14px;margin-top:22px}.faq h2{font-size:34px}.faq summary{font-size:14px;padding-block:23px}.faq details p{font-size:13px}.inquiry-grid{gap:37px}.inquiry h2{font-size:53px}.inquiry-copy>p{font-size:16px;max-width:32ch;margin-top:23px}.inquiry-copy .direct-email{font-size:17px;margin-top:26px}.inquiry-copy .inquiry-footnote{font-size:12px;margin-top:8px}.form-pair{grid-template-columns:1fr;gap:0}form input,form select,form textarea{padding:14px 14px;margin-bottom:20px}form select{padding-right:42px}.field-error{margin:-12px 0 20px}form label{font-size:12px}.inquiry-button{font-size:14px;min-height:58px;padding-inline:20px}.form-note{font-size:12px}.site-footer{align-items:flex-start;flex-wrap:wrap;gap:16px;padding-block:30px}.site-footer>p:first-child{flex-basis:100%}.site-footer>p:nth-child(2){flex:1;font-size:11px}.site-footer>a{font-size:11px}.draft pre{font-size:12px}.draft h3{font-size:21px}}
@media(max-width:390px){.nav-work{display:none}.hero h1{font-size:45px}.hero .primary{width:100%;justify-content:space-between;gap:8px;padding-inline:17px;font-size:13px}.form-pair{grid-template-columns:1fr;gap:0}.hero-art figcaption svg{width:55px}.work-caption{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.hero-work-link{display:inline-flex;align-items:center;gap:11px;font-size:12px;font-weight:700;text-decoration:none;margin-top:19px;min-height:44px}.hero-work-link:hover{text-decoration:underline}.hero-work-link .arrow{width:16px;height:16px}.hero-art img{aspect-ratio:1.5}.hero h1{font-size:clamp(62px,6.3vw,90px)}
@media(max-width:1100px) and (min-width:761px){.hero h1{font-size:60px}.hero-art img{aspect-ratio:1.2}}
@media(max-width:760px){.hero h1{font-size:clamp(46px,8vw,68px)}.nav-work{display:none}.site-header nav{gap:0}.button.small{font-size:11px;gap:9px;padding-inline:12px}.hero-work-link{margin-top:15px;min-height:44px}.hero-art img{aspect-ratio:1.5}}
@media(max-width:390px){.hero h1{font-size:45px}.button.small{font-size:11px;padding-inline:10px}.button.small .arrow{width:14px}}

@media(max-width:390px){.brand{font-size:12px}.button.small{font-size:11px}}
@media(max-width:359px){.site-header{gap:8px}.brand{font-size:11px;gap:6px}.brand svg{width:23px;height:23px}.button.small{padding-inline:8px;gap:7px}.hero h1{font-size:40px}}
