@font-face{font-family:Inter;src:url(assets/inter-latin.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-latin.woff2) format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-latin-ext.woff2) format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--navy:#102d4a;--ink:#082344;--blue:#285ce4;--sky:#9ed3ff;--pale:#eaf2fa;--muted:#53657b;--line:#d7e1ec;--header:clamp(72px,7vw,100px);--ease:cubic-bezier(.22,.68,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 28px)}body{margin:0;color:var(--ink);background:#fff;font:400 16px/1.65 Manrope,'Avenir Next','Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default}img{max-width:100%}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3{font-weight:800;letter-spacing:-.055em;line-height:1.1}h2{font-size:clamp(36px,4.9vw,68px)}h3{font-size:25px}em{font-style:normal}fieldset{padding:0;border:0;min-width:0}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.wrap{width:100%;max-width:1600px;margin-inline:auto;padding-inline:5vw}.section{padding-block:110px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;line-height:1.6}.icon{display:inline-block;width:22px;height:22px;flex:none;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:57px;padding:16px 24px;border-radius:6px;border:1px solid transparent;font-size:14px;font-weight:800;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light{background:#fff;color:var(--ink)}.light:hover{background:#eaf2fa}.primary{background:var(--navy);color:#fff}.primary .icon{filter:invert(1)}.primary:hover{background:var(--blue)}.text-link{display:inline-flex;align-items:center;gap:17px;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:14px;font-weight:700}.skip{position:fixed;top:12px;left:16px;z-index:100;background:#fff;border:1px solid;padding:12px;transform:translateY(-200%)}.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:50;background:#fff}.header-inner{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;flex-direction:column;align-items:flex-start;flex:none;line-height:1.1}.brand-name{font-size:26px;letter-spacing:.24em;font-weight:800}.brand-sub{font-size:9px;font-weight:800;letter-spacing:.68em;margin-top:9px}.header nav{display:flex;align-items:center;gap:39px;font-size:12px;font-weight:700}.header nav>a:not(.nav-cta){padding-block:15px}.header nav>a:hover{color:var(--blue)}.languages{display:flex;align-items:center;gap:9px;margin-left:12px;font-size:11px}.languages>span{color:#9faabc}.languages a{border:0;background:none;font-size:11px;padding:10px 1px;position:relative;min-height:38px;color:var(--muted)}.languages a[aria-current=page]{color:var(--ink);font-weight:800}.languages a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:6px;border-bottom:2px solid var(--blue)}.header .nav-cta{display:flex;align-items:center;gap:25px;background:var(--navy);color:#fff;padding:14px 20px;border-radius:2px}.nav-cta .icon{filter:invert(1);width:20px}.header .nav-cta:hover{background:var(--blue);color:#fff}.menu-toggle{display:none}.reading-progress{height:2px;background:var(--blue);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0);transform-origin:left}
.hero{position:relative;isolation:isolate;overflow:clip;min-height:clamp(615px,60vw,864px);background:#102d4a;color:#fff;view-timeline:--hero block}.hero-scene{position:absolute;inset:0;z-index:-1}.hero-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}.hero-inner{min-height:inherit;display:flex;align-items:flex-start;padding-top:clamp(62px,6vw,90px);padding-bottom:95px}.hero-copy{width:53%;max-width:800px}.hero .eyebrow{color:var(--sky);font-size:clamp(10px,.86vw,13px);letter-spacing:.18em;margin-bottom:27px}.hero h1{font-size:clamp(48px,5.35vw,78px);line-height:1.03;letter-spacing:-.06em}.hero h1 em{color:var(--sky)}.hero-description{font-size:clamp(16px,1.5vw,22px);line-height:1.6;max-width:460px;margin-top:25px;color:#f2f6fc}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:29px;flex-wrap:wrap}.hero-secondary{display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:700;min-height:44px}.hero-secondary .icon,.scroll-cue .icon{filter:invert(1);width:18px}.scroll-cue{display:inline-flex;align-items:center;gap:11px;font-size:12px;margin-top:48px;min-height:44px}.hero a:focus-visible{outline-color:#fff}
.principles{background:var(--pale)}.principles-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:42px;gap:30px}.principle{display:flex;gap:22px;align-items:flex-start}.principle+.principle{border-left:1px solid #c6d7e7;padding-left:36px}.principle>.icon{width:35px;height:35px;filter:invert(28%) sepia(92%) saturate(2451%) hue-rotate(216deg) brightness(94%) contrast(94%)}.principle h2{font-size:18px;letter-spacing:-.035em;line-height:1.4;margin-bottom:7px}.principle p{font-size:13px;line-height:1.6;color:var(--muted);max-width:270px}
.work{padding-top:70px;padding-bottom:95px}.work-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start;margin-bottom:50px}.work-heading .eyebrow{color:var(--blue);display:flex;align-items:center;gap:15px;margin-bottom:21px}.work-heading .eyebrow:before{content:'';width:35px;height:1px;background:var(--blue)}.work-heading h2{font-size:clamp(36px,5.2vw,70px)}.work-heading h2 em{color:var(--blue)}.work-intro{padding-top:30px}.work-intro>p{font-size:15px;color:var(--muted);line-height:1.7;max-width:490px}.project-index{display:flex;gap:22px;margin-top:38px}.project-index a{font-size:11px;font-weight:800;display:flex;gap:9px;align-items:center;padding-block:8px;white-space:nowrap}.project-index a span{font-weight:600}.project-index a:hover{color:var(--blue)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{display:block;min-width:0}.project-card+.project-card{border-left:1px solid var(--line);padding-left:24px}.project-number{font-size:11px;font-weight:700}.project-card h3{font-size:23px;margin-top:8px}.project-card>p{font-size:14px;color:var(--muted);margin-block:6px 20px;min-height:46px}.project-preview{height:330px;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#edf4fa;border-radius:12px;padding:19px;transition:background .3s}.project-image{display:block;width:100%;height:auto;object-fit:contain}.project-preview.southside{background:#f2eff8}.project-preview.southside .project-image{height:100%;width:auto;max-width:100%}.project-preview.tides{background:#e7f4fb}.project-card:hover .project-preview{background:#dbeafa}.project-card-link{font-size:12px;font-weight:700;display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-block:7px;color:var(--muted)}.project-card-link .icon{width:19px;height:19px}.project-card:hover .project-card-link{color:var(--blue)}
.story{background:#f7f9fc;padding-top:90px;padding-bottom:20px}.story-heading{display:grid;grid-template-columns:1fr 1fr;gap:15px 65px;align-items:end}.story-heading>.eyebrow{grid-column:1/-1;color:var(--blue)}.story-heading h2{font-size:clamp(34px,4vw,56px)}.story-controls{font-size:13px;color:var(--muted);justify-self:end;max-width:310px}.story-controls button{margin-top:16px;border:0;border-bottom:1px solid #95a8bd;padding:5px 0;background:transparent;font-size:12px;color:var(--ink)}.story-controls button:disabled{color:var(--muted)}.story-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:start;margin-top:45px}.story-stage{height:min(580px,70svh);min-height:400px;position:sticky;top:calc(var(--header) + 25px);isolation:isolate;margin-bottom:90px;overflow:hidden;border-radius:10px;background:#e8f0f7}.story-visual{position:absolute;inset:0;padding:32px 24px 68px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(24px) scale(.98);transition:opacity .65s var(--ease),transform .8s var(--ease);pointer-events:none;background:#e8f0f7}.story-visual.is-active{opacity:1;transform:none;z-index:1}.story-visual.southside{background:#eeeaf6}.story-visual.tides{background:#dff0fa}.story-visual.southside .project-image{height:100%;width:auto}.story-visual figcaption{position:absolute;bottom:47px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:12px;font-weight:800}.story-pagination{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:22px;background:#fff;z-index:2}.story-pagination a{font-size:11px;font-weight:800;min-height:37px;min-width:44px;display:grid;place-content:center;border-top:2px solid transparent}.story-pagination a[aria-current]{border-color:var(--blue);color:var(--blue)}.story-step{min-height:88svh;display:flex;flex-direction:column;justify-content:center;padding-block:85px;scroll-margin-top:var(--header)}.story-step h3{font-size:clamp(32px,3.4vw,48px);margin-top:25px;max-width:480px}.story-step .eyebrow{color:var(--blue);font-size:11px}.story-description{font-size:17px;color:var(--muted);line-height:1.8;margin-top:25px;max-width:455px}.project-features{list-style:none;padding:0;margin-block:27px;display:grid;gap:13px;font-size:13px;color:#344b65}.project-features li{display:flex;align-items:flex-start;gap:11px}.project-features .icon{width:17px;height:17px;margin-top:3px}.story-step .text-link{margin-top:8px}.demo-note{font-size:11px;color:#65768b;margin-top:24px}.story-inline{display:none}.story-steps{min-width:0}
.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:65px;margin-bottom:55px}.section-heading>.eyebrow{padding-top:9px;color:var(--blue)}.section-heading>div>p{color:var(--muted);font-size:17px;max-width:510px;margin-top:23px}.service-list{margin-left:calc((100% - 65px)/3 + 65px)}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}.service-list summary{display:flex;align-items:center;gap:25px;padding:26px 0;min-height:100px}.service-list summary>span{font-size:11px;color:var(--muted)}.service-list h3{font-size:25px;letter-spacing:-.04em;font-weight:700;flex:1}.service-body{padding:0 35px 30px 39px;max-width:720px;color:var(--muted);font-size:15px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tags span{font-size:11px;padding:5px 9px;background:#f0f4f9;color:#4d637a}.approach{border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:0;list-style:none;margin-block:60px}.steps li{border-top:1px solid var(--line);padding-top:23px}.steps li>span{font-size:12px;color:var(--blue)}.steps h3{margin-block:22px 18px;font-size:25px}.steps p{font-size:15px;color:var(--muted)}.ownership{display:flex;gap:25px;background:var(--pale);padding:32px 35px;align-items:center}.ownership h3{font-size:21px}.ownership p{font-size:14px;color:var(--muted);max-width:680px;margin-top:10px}.ownership-symbol .icon{width:35px;height:35px}.ownership-label{margin-left:auto;font-size:9px;letter-spacing:.13em;max-width:120px;text-align:right}.about{background:var(--navy);color:#fff}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.about h2{margin-top:25px}.about .eyebrow{color:var(--sky)}.about-grid>div>p:not(.eyebrow){font-size:16px;color:#d6e1ed;margin-bottom:22px}.about-grid .about-lead{font-size:21px!important;color:#fff!important}.signature{font-size:24px;margin-top:36px;font-weight:700;letter-spacing:-.04em}.signature span{display:block;font-size:10px;letter-spacing:.14em;margin-top:11px;color:var(--sky)}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:75px}.faq h2{margin-top:24px}.faq .eyebrow{color:var(--blue)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;min-height:78px;padding:20px 0;font-weight:600}.faq summary .icon{width:18px;height:18px}.faq details[open] summary .icon{transform:rotate(45deg)}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq details>p{padding:0 20px 26px 0;color:var(--muted);font-size:14px}.contact{background:var(--pale)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{margin-top:25px}.contact .eyebrow{color:var(--blue)}.contact-grid>div>p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:440px;margin-top:25px}.contact-meta{display:flex;flex-direction:column;margin-top:33px;gap:5px;color:var(--muted);font-size:13px}.contact-grid>div>.contact-pending{font-size:12px!important;border-top:1px solid #c7d6e5;padding-top:23px}.contact label,.contact legend{font-size:13px;font-weight:700}.contact form>label{display:block;margin-bottom:8px}.contact input:not([type=radio]),.contact textarea{width:100%;border:1px solid #9eb1c6;background:#fff;padding:14px;color:var(--ink);border-radius:3px;min-height:48px}.contact fieldset{margin:26px 0}.need-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.need-options label{display:flex;align-items:center;gap:8px;border:1px solid #a9bcd0;border-radius:3px;padding:11px;min-height:48px;cursor:pointer;font-size:12px}.need-options label:has(input:checked){border-color:var(--blue);background:#fff}.need-options input{accent-color:var(--blue);margin:0}.form-help{color:var(--muted);font-size:11px;margin:10px 0 23px}.brief-button{width:100%}#brief-result{font-size:13px;margin-top:14px}.footer{padding-block:50px;display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer .brand-name{font-size:22px}.footer .brand-sub{font-size:8px}.footer>p,.footer .text-link{font-size:11px;color:var(--muted)}.footer>.preview-note{width:100%;padding-top:25px;border-top:1px solid var(--line);font-size:10px}
@media(prefers-reduced-motion:no-preference){html[data-motion=full] .will-reveal{opacity:0;transform:translateY(23px);transition:opacity .7s var(--ease),transform .85s var(--ease)}html[data-motion=full] .will-reveal.is-visible{opacity:1;transform:none}}
@supports((animation-timeline:view()) and (animation-range:exit 0% exit 100%)){@media(prefers-reduced-motion:no-preference){html[data-motion=full] .hero-scene{animation:hero-depth linear both;animation-timeline:--hero;animation-range:exit 0% exit 100%}@keyframes hero-depth{from{transform:translateY(0)}to{transform:translateY(95px)}}}}
html[data-motion=reduced]{scroll-behavior:auto}html[data-motion=reduced] .story-stage{display:none}html[data-motion=reduced] .story-layout{display:block}html[data-motion=reduced] .story-step{display:grid;grid-template-columns:1fr 1fr;gap:60px;min-height:0;padding-block:65px;border-bottom:1px solid var(--line)}html[data-motion=reduced] .story-inline{display:flex;align-items:center;justify-content:center;max-height:470px;padding:20px;background:#e8f0f7}html[data-motion=reduced] .story-inline.southside{background:#eeeaf6}html[data-motion=reduced] .story-inline.southside img{max-height:430px;width:auto}html[data-motion=reduced] .hero-scene{animation:none;transform:none}html[data-motion=reduced] .will-reveal{opacity:1;transform:none}html[data-motion=reduced] .button,html[data-motion=reduced] .project-preview{transition:none}html[data-motion=reduced] .button:hover{transform:none}
@media(min-width:1600px){.wrap{padding-inline:80px}.hero-copy{width:55%}.hero h1{font-size:85px}.hero{min-height:900px}.hero-inner{padding-top:110px}}
@media(max-width:1200px){.header nav{gap:24px}.brand-name{font-size:23px}.brand-sub{font-size:8px}.header .nav-cta{gap:18px;padding:12px 17px}.hero-actions{gap:20px}.hero .button{padding-inline:19px;gap:17px;font-size:12px}.hero-secondary{font-size:12px}.hero-description{max-width:380px}.principles-inner{padding-block:33px;gap:23px}.principle{gap:17px}.principle+.principle{padding-left:25px}.principle h2{font-size:15px}.principle p{font-size:12px}.work-heading{gap:40px;grid-template-columns:1.4fr 1fr}.project-index{gap:16px}.project-preview{height:300px}.story-layout{gap:6vw}.section{padding-block:85px}.work{padding-top:60px}.about-grid,.contact-grid{gap:60px}.project-card h3{font-size:21px}}
@media(max-width:900px){:root{--header:77px}.header-inner{height:77px}.header nav{display:none;position:absolute;top:77px;left:0;right:0;background:#fff;padding:25px 5vw 32px;border-top:1px solid var(--line);box-shadow:0 12px 20px #102d4a12;flex-direction:column;align-items:stretch;gap:7px;font-size:15px}.header nav.is-open{display:flex}.languages{margin:3px 0 12px}.languages a{min-width:44px;min-height:44px}.header .nav-cta{justify-content:space-between;min-height:50px}.menu-toggle{display:block;background:#fff;border:1px solid var(--line);border-radius:3px;padding:10px 16px;font-size:12px;min-height:44px}.hero-copy{width:57%}.hero h1{font-size:clamp(40px,5.3vw,50px)}.hero-description{font-size:16px;max-width:340px}.hero-inner{padding-top:65px}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px}.scroll-cue{margin-top:25px}.hero-scene img{object-position:58% center}.principle+.principle{padding-left:20px}.principle{gap:13px}.principle>.icon{width:28px;height:28px}.principles-inner{gap:17px}.principle h2{font-size:14px}.principle p{font-size:11px}.work-heading{grid-template-columns:1fr;gap:24px;margin-bottom:44px}.work-intro{padding-top:0;display:flex;align-items:flex-end;gap:50px}.work-intro>p{max-width:440px;font-size:14px}.project-index{margin-top:0;flex-wrap:wrap;gap:0 18px}.project-card h3{font-size:19px}.project-card>p{font-size:12px}.project-card+.project-card{padding-left:16px}.project-grid{gap:16px}.project-preview{padding:12px;height:240px}.story-stage{display:none}.story-layout{display:block;margin-top:20px}.story-step{display:grid;grid-template-columns:1fr 1fr;gap:35px;min-height:0;padding-block:60px;border-bottom:1px solid var(--line)}.story-inline{display:flex;align-items:center;justify-content:center;padding:20px;background:#e8f0f7;max-height:470px}.story-inline.southside{background:#eeeaf6}.story-inline.southside img{height:100%;width:auto;max-height:430px}.story-step h3{font-size:32px;margin-top:15px}.story-description{font-size:15px;margin-top:20px}.project-features{font-size:12px}.story-controls{justify-self:start}.section-heading{gap:35px;grid-template-columns:1fr 2fr}.service-list{margin-left:0}.ownership-label{display:none}.about-grid{gap:40px;grid-template-columns:1fr 1fr}.about-grid>div>p:not(.eyebrow){font-size:14px}.about-grid .about-lead{font-size:18px!important}.steps{gap:30px}.steps h3{font-size:22px}.steps p{font-size:14px}.faq{gap:40px;grid-template-columns:1fr 1.5fr}.contact-grid{gap:40px}.contact-grid>div>p:not(.eyebrow){font-size:14px}}
@media(max-width:600px){.wrap{padding-inline:23px}.section{padding-block:66px}.header-inner{height:76px;gap:20px}.brand-name{font-size:22px}.brand-sub{font-size:7px;letter-spacing:.62em;margin-top:8px}.hero{min-height:830px}.hero-inner{padding-top:45px;padding-bottom:360px;display:block}.hero-copy{width:100%;max-width:100%}.hero .eyebrow{font-size:9px;margin-bottom:24px;letter-spacing:.13em}.hero h1{font-size:clamp(39px,10.4vw,59px);letter-spacing:-.065em;line-height:1.07}.hero-description{font-size:15px;line-height:1.65;max-width:330px;margin-top:22px}.hero-actions{margin-top:24px;flex-direction:row;align-items:center;gap:13px}.hero .button{font-size:11px;gap:14px;padding:14px 16px;min-height:51px}.hero-secondary{font-size:11px;gap:8px}.hero-secondary .icon{width:16px}.hero-scene{inset:auto 0 0;height:430px}.hero-scene img{object-position:right center;object-fit:cover}.scroll-cue{margin-top:16px;font-size:10px;min-height:35px}.scroll-cue .icon{width:15px}.principles-inner{grid-template-columns:1fr;gap:23px;padding-block:30px}.principle+.principle{border-left:0;border-top:1px solid #c6d7e7;padding-left:0;padding-top:23px}.principle{gap:18px;align-items:center}.principle h2{font-size:16px;margin-bottom:4px}.principle p{font-size:12px;max-width:290px}.principle>.icon{width:31px;height:31px}h2{font-size:38px}.work-heading h2{font-size:clamp(33px,8.5vw,48px)}.work-heading{gap:24px;margin-bottom:34px}.work-heading .eyebrow{font-size:9px}.work-intro{display:block}.work-intro>p{font-size:14px}.project-index{margin-top:22px;gap:12px;justify-content:space-between}.project-index a{font-size:9px;gap:5px;min-height:44px}.project-grid{grid-template-columns:1fr;gap:35px}.project-card+.project-card{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:28px}.project-card h3{font-size:25px}.project-card>p{font-size:13px;min-height:0;margin-block:7px 18px}.project-preview{height:275px;padding:17px}.project-card-link{font-size:12px}.story-heading{grid-template-columns:1fr;gap:20px}.story-heading h2{font-size:38px}.story-controls{max-width:100%}.story-controls>p{font-size:12px}.story-controls button{font-size:11px;margin-top:9px;min-height:44px}.story-step,html[data-motion=reduced] .story-step{grid-template-columns:1fr;gap:28px;padding-block:45px}.story-step h3{font-size:34px;max-width:330px}.story-description{font-size:15px}.story-inline,html[data-motion=reduced] .story-inline{height:265px;max-height:none;padding:18px}.story-inline.southside,html[data-motion=reduced] .story-inline.southside{height:390px}.story-inline.southside img,html[data-motion=reduced] .story-inline.southside img{max-height:354px;height:100%;width:auto}.project-features{font-size:12px;margin-block:23px}.story{padding-bottom:20px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.section-heading>div>p{font-size:15px;margin-top:20px}.service-list summary{gap:17px;min-height:88px;padding-block:23px}.service-list h3{font-size:20px}.service-body{padding:0 7px 25px 30px;font-size:14px}.tags span{font-size:10px}.steps{grid-template-columns:1fr;margin-block:40px;gap:30px}.steps li{display:grid;grid-template-columns:30px 1fr;gap:0 15px}.steps li>span{grid-row:1/3;margin-top:3px}.steps h3{margin:0 0 13px;font-size:23px}.steps p{font-size:14px}.ownership{padding:26px 21px;align-items:flex-start;gap:15px}.ownership h3{font-size:21px}.ownership p{font-size:13px}.ownership-symbol .icon{width:25px;height:25px}.about-grid{grid-template-columns:1fr;gap:30px}.about h2{margin-top:22px}.about-grid>div>p:not(.eyebrow){font-size:15px}.about-grid .about-lead{font-size:20px!important}.signature{font-size:23px}.faq{grid-template-columns:1fr;gap:33px}.faq summary{font-size:14px;min-height:74px;gap:15px}.faq details>p{font-size:14px;padding-right:0}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-grid>div>p:not(.eyebrow){font-size:15px}.contact h2{font-size:40px}.need-options label{font-size:11px}.contact-pending{max-width:none!important}.footer{gap:28px;padding-block:37px}.footer .brand{width:100%}.footer>.preview-note{padding-top:20px;font-size:9px}.footer .text-link{gap:12px}.footer .text-link .icon{width:17px}html[lang=es] .hero h1{font-size:clamp(35px,9.3vw,53px)}html[lang=es] .hero-actions{gap:10px}html[lang=es] .hero-secondary{font-size:10px}html[lang=es] .hero .button{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scene{animation:none!important;transform:none!important}.button,.project-preview,.story-visual{transition:none}.button:hover{transform:none}.will-reveal{opacity:1!important;transform:none!important}}

/* The portfolio tiles use supplied product renders; the story keeps the original screenshots. */
.project-preview{padding:0;aspect-ratio:1;height:auto}.project-preview .project-image,.project-preview.southside .project-image{height:auto;width:100%;max-width:100%;aspect-ratio:1;object-fit:contain}

/* Display typography and editorial proportions follow the selected visual target. */
h1,h2,h3{font-family:Inter,Manrope,sans-serif;font-weight:850}
.hero h1{font-size:clamp(48px,5vw,76px)}
.hero-description{max-width:clamp(340px,34vw,460px);font-size:clamp(17px,1.5vw,22px)}
.hero .scroll-cue{margin-top:28px}
.work-heading{margin-bottom:25px}
.project-grid{grid-template-columns:1.2fr .65fr 1.2fr}
.project-card>p{min-height:0;margin-block:5px 16px;font-size:13px}
.project-card h3{font-size:20px}
.project-preview{height:clamp(320px,28vw,420px);aspect-ratio:auto}
.project-preview .project-image,.project-preview.southside .project-image{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
@media(max-width:900px){.project-grid{grid-template-columns:1.2fr .75fr 1.2fr}.project-preview{height:275px}.hero h1{font-size:clamp(40px,5.2vw,50px)}}
@media(max-width:600px){.hero h1{font-size:clamp(39px,10.4vw,59px)}.hero .scroll-cue{margin-top:16px}.project-grid{grid-template-columns:1fr}.project-preview{height:320px}.project-preview .project-image{object-fit:contain}.project-card h3{font-size:25px}.hero-description{max-width:330px}}
@media(max-width:600px){.section-heading>div{min-width:0}html[lang=es] .section-heading h2{font-size:clamp(30px,8.7vw,38px)}}

.service-list summary .disclosure-icon{width:18px;height:18px;transition:transform .2s}.service-list details[open] .disclosure-icon{transform:rotate(45deg)}html[data-motion=reduced] .disclosure-icon{transition:none}
/* Keep the small scroll cue legible over the light desk as the photograph moves. */
.scroll-cue{padding-inline:10px;margin-left:-10px;border-radius:3px;background:#102d4ae6}

.languages a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:24px}
.founder-portrait{margin-top:32px;width:240px;max-width:100%}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid #ffffff24}
.founder-portrait figcaption{font-size:11px;color:#d6e1ed;margin-top:13px;letter-spacing:.035em}
@media(max-width:600px){.founder-portrait{width:200px;margin-top:27px}.founder-portrait figcaption{font-size:10px}}

/* The lower page unfolds as two editorial chapters, followed by a personal handoff. */
.flow-readout{display:none}.flow-meter{display:none}
.flow-heading>div{min-width:0}
.service-list details{position:relative}
.service-list details::before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease);pointer-events:none}
.service-list details.is-current::before,.service-list details:focus-within::before{transform:scaleX(1)}
.service-list details.is-current .service-number{color:var(--blue)}
.process-chapter{position:relative}
@media(min-width:761px){
 .flow-section{display:grid;grid-template-columns:1fr 1.15fr;gap:0 9vw;align-items:start}
 .flow-section .flow-heading{display:block;position:sticky;top:calc(var(--header) + 46px);margin:0;padding-bottom:45px}
 .flow-heading>.eyebrow{margin-bottom:29px;padding:0}
 .flow-heading h2{font-size:clamp(40px,4.5vw,64px)}
 .flow-heading>div>p{font-size:16px;max-width:345px}
 .flow-section .service-list{margin:0;min-width:0}
 .service-list details{min-height:34svh;padding-bottom:35px}
 .service-list summary{align-items:flex-start;padding-top:32px;min-height:0}
 .service-list summary .disclosure-icon{margin-top:7px}
 .service-list h3{font-size:clamp(23px,2.3vw,33px);max-width:430px}
 .service-list .service-number{padding-top:5px}
 .service-body{padding-left:39px;padding-right:0;font-size:15px}
 html[data-scroll-ready] .flow-readout{display:flex;align-items:baseline;gap:15px;margin-top:48px;font-family:Inter,sans-serif;font-weight:800;line-height:1;letter-spacing:-.07em}
 .flow-current{font-size:clamp(90px,10vw,144px);color:var(--blue);font-variant-numeric:tabular-nums}
 .flow-total{font-size:20px;color:var(--muted);letter-spacing:-.035em}
 html[data-scroll-ready] .flow-meter{display:block;height:2px;background:var(--line);margin-top:26px;max-width:310px;overflow:hidden}
 .flow-meter>span{display:block;height:100%;background:var(--blue);transform-origin:left;transform:scaleX(var(--chapter-progress,0));transition:transform .5s var(--ease)}
 .approach .steps{display:block;margin:0;padding:0;min-width:0}
 .approach .steps li{min-height:68svh;display:flex;flex-direction:column;justify-content:center;padding-block:55px;padding-left:36px;border-left:1px solid var(--line);border-top:0}
 .approach .steps li>span{font-size:clamp(62px,6.5vw,92px);line-height:1;color:#536b85;font-family:Inter,sans-serif;font-weight:800;letter-spacing:-.07em}
 .approach .steps h3{font-size:clamp(30px,3.1vw,44px);margin-block:25px 22px}
 .approach .steps p{font-size:17px;max-width:425px}
 .steps li::before{content:'';position:absolute;left:-2px;top:0;bottom:0;width:3px;background:var(--blue);transform:scaleY(0);transform-origin:top;transition:transform .7s var(--ease)}
 .steps li.is-current::before{transform:scaleY(1)}
 .steps li.is-current>span{color:var(--blue)}
 .approach .ownership{grid-column:1/-1;margin-top:65px}
 .about-heading{position:sticky;top:calc(var(--header) + 40px);align-self:start;padding-bottom:20px}
 .about h2{font-size:clamp(42px,4.8vw,66px)}
 .about-copy>p{min-height:31svh;display:flex;align-items:center;margin:0!important;padding-block:40px}
 .about-grid .about-lead{font-size:clamp(24px,2.4vw,34px)!important;line-height:1.45;letter-spacing:-.035em}
 .about-copy>.signature{padding-bottom:30px}
 .faq-heading{position:sticky;top:calc(var(--header) + 45px);align-self:start}
 .contact-heading{align-self:start}
}
@media(prefers-reduced-motion:no-preference){
 html[data-motion=full] .service-list details,html[data-motion=full] .process-chapter{transition:opacity .6s var(--ease),transform .8s var(--ease)}
 html[data-motion=full][data-scroll-ready] .service-list details:not(.is-current):not(:focus-within){opacity:1;transform:translateY(10px)}
 html[data-motion=full][data-scroll-ready] .process-chapter:not(.is-current){opacity:1;transform:translateY(20px)}
 html[data-motion=full] .process-chapter.is-current{opacity:1;transform:none}
 html[data-motion=full] .about-copy .will-reveal{transform:translateY(42px)}
 html[data-motion=full] .about-copy .will-reveal.is-visible{transform:none}
}
/* Decorative continuous motion stays native; unsupported browsers retain the chapter states. */
@supports((animation-timeline:view()) and (animation-range:contain 0% contain 100%)){
 @media(min-width:761px) and (prefers-reduced-motion:no-preference){
  .services{timeline-scope:--services-flow}.service-list{view-timeline:--services-flow block}
  .approach{timeline-scope:--process-flow}.approach .steps{view-timeline:--process-flow block}
  html[data-motion=full] .flow-meter>span{animation:flow-progress linear both;animation-range:contain 0% contain 100%;transition:none}
  html[data-motion=full] .services .flow-meter>span{animation-timeline:--services-flow}
  html[data-motion=full] .approach .flow-meter>span{animation-timeline:--process-flow}
  .about{view-timeline:--founder-flow block}
  html[data-motion=full] .founder-portrait{animation:portrait-depth linear both;animation-timeline:--founder-flow;animation-range:contain 0% contain 100%}
  @keyframes flow-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes portrait-depth{from{transform:translateY(12px)}to{transform:translateY(-18px)}}
 }
}
@media(max-width:760px){
 .service-list details{padding-bottom:15px}
 .approach .steps{grid-template-columns:1fr;gap:0;margin-block:44px}
 .approach .steps li{display:grid;grid-template-columns:85px 1fr;gap:0 24px;padding-block:36px;border-top:1px solid var(--line)}
 .approach .steps li>span{grid-row:1/3;font:800 64px/1 Inter,sans-serif;letter-spacing:-.07em;color:var(--blue)}
 .approach .steps h3{margin:0 0 14px;font-size:30px}
 .approach .steps p{max-width:480px}
}
@media(max-width:600px){
 .approach .steps li{grid-template-columns:55px 1fr;gap:0 17px;padding-block:32px}
 .approach .steps li>span{font-size:45px}
 .approach .steps h3{font-size:25px}
}
/* The motion switch and OS preference both provide a compact, fully static reading path. */
html[data-motion=reduced] .flow-heading,html[data-motion=reduced] .about-heading,html[data-motion=reduced] .faq-heading{position:static}
html[data-motion=reduced] .service-list details,html[data-motion=reduced] .approach .steps li{min-height:0;opacity:1;transform:none;transition:none}
html[data-motion=reduced] .flow-readout,html[data-motion=reduced] .flow-meter{display:none}
html[data-motion=reduced] .about-copy>p{min-height:0;padding-block:0;margin-bottom:22px!important}
html[data-motion=reduced] .founder-portrait{animation:none;transform:none}
html[data-motion=reduced] .service-list details::before,html[data-motion=reduced] .steps li::before{display:none}
@media(prefers-reduced-motion:reduce){
 .flow-heading,.about-heading,.faq-heading{position:static!important}
 .service-list details,.approach .steps li{min-height:0!important;opacity:1!important;transform:none!important;transition:none!important}
 .flow-readout,.flow-meter{display:none!important}
 .about-copy>p{min-height:0;padding-block:0;margin-bottom:22px!important}
 .founder-portrait{animation:none!important;transform:none!important}
 .service-list details::before,.steps li::before{display:none}
}
@media(min-width:761px){.approach .flow-heading h2{font-size:clamp(34px,3.6vw,52px)}}
@media(min-width:761px) and (max-height:740px){
 .flow-section .flow-heading{top:calc(var(--header) + 24px);padding-bottom:20px}
 .flow-heading>.eyebrow{margin-bottom:20px}
 .flow-heading h2{font-size:36px}.approach .flow-heading h2{font-size:34px}
 .flow-heading>div>p{font-size:14px;margin-top:18px}
 .flow-readout{margin-top:25px}.flow-current{font-size:72px}.flow-meter{margin-top:18px}
 .about-heading{top:calc(var(--header) + 24px)}.about-heading .founder-portrait{width:190px}
 .about h2{font-size:40px}
}
@media(min-width:761px) and (max-height:580px){.flow-section .flow-heading,.about-heading,.faq-heading{position:static}}

/* Bound the pinned introduction to the chapters, before the ownership handoff. */
@media(min-width:761px){
 .approach.flow-section{display:block}
 .process-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:0 9vw;align-items:start}
}

.founder-link{margin-top:18px;min-height:44px;color:var(--sky);font-size:13px;gap:14px}
.founder-link .icon{filter:brightness(0) invert(1);width:18px;height:18px}
.founder-link:focus-visible{outline-color:var(--sky)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Public contact and concise privacy information. */
.contact-email a{overflow-wrap:anywhere;font-size:clamp(12px,1.2vw,17px)}
.site-privacy{width:100%;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:12px}
.site-privacy summary{min-height:44px;display:flex;align-items:center;font-weight:700}
.site-privacy summary::after{content:'+';margin-left:12px}
.site-privacy[open] summary::after{content:'−'}
.site-privacy p{max-width:850px;padding-block:8px 16px;line-height:1.8}

/* Direct inquiry form additions preserve the existing contact layout. */
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact form>.email-label{margin-top:20px}
.contact .brief-button:disabled{cursor:wait;opacity:.75}
.contact input:not([type=radio]),.contact textarea{font-size:16px}
