/* Nicolas & Sarazin — movement and intrinsic layouts. */
h1,h2,h3{hyphens:none}
:root{--header-height:96px;--motion-ease:cubic-bezier(.16,1,.3,1)}
.header{height:auto;min-height:var(--header-height);padding-block:15px}.header>*{min-width:0}.brand{min-width:0}.menu-toggle{flex-shrink:0}.header.scrolled{background:rgba(248,248,243,.95);backdrop-filter:blur(18px);box-shadow:0 5px 30px #163c4309}.reading-progress{height:2px;background:#a0c9b5}

/* Text and actions occupy their own rows; no foreground content is absolute. */
.hero{container-type:inline-size;position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr auto;gap:0;width:100%;height:auto;min-height:calc(100svh - var(--header-height));max-height:none;padding:28px var(--gutter) 25px;overflow:hidden;background:#103d43}
.hero-topline{position:relative;inset:auto;width:100%;display:flex;justify-content:space-between;gap:25px;padding:0 0 23px;margin:0;border-bottom:1px solid #e6f3e735;font-size:.68rem;letter-spacing:.13em;line-height:1.7}
.hero-topline span{min-width:0;max-width:none}.hero-topline>span:last-child{text-align:right;white-space:normal}.hero-topline i{font-style:normal;display:inline-block;margin:0 10px;opacity:.6}
.hero-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.26fr);gap:40px;align-items:end;padding:clamp(70px,8vw,130px) 0 clamp(64px,7vw,105px)}
.hero-content{padding:0;min-width:0;max-width:100%}.hero-kicker{font-size:.72rem;letter-spacing:.11em;line-height:1.8;margin:0 0 27px;animation:hero-detail-in 1s .12s both}.hero-kicker>span{width:20px;height:1px;border-radius:0;background:var(--mint)}
.hero h1{font-size:clamp(3.1rem,8.1vw,8.4rem);font-size:clamp(3.1rem,8.9cqw,8.4rem);line-height:1.02;font-weight:400;letter-spacing:-.05em;max-width:100%;margin:0 0 28px;overflow-wrap:normal;hyphens:none}
.hero h1>span{animation:none;line-height:inherit}.hero-title-line{display:block;max-width:100%;padding:.04em .02em;margin:0 -.02em;overflow:clip}.hero-title-line>span{display:block;animation:hero-title-in 1.4s .14s var(--motion-ease) both}.hero-title-line:nth-child(2)>span{animation-delay:.28s}.hero h1 em{color:#d4f4e6;letter-spacing:-.055em}
.hero-content>p{font-size:1rem;line-height:1.85;color:#f3f7efde;max-width:450px;margin:0 0 32px;animation:hero-detail-in 1.1s .45s both}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;max-width:100%;animation:hero-detail-in 1.1s .6s both}.hero-actions .button{max-width:100%;min-height:59px;gap:24px;padding:7px 8px 7px 24px;font-size:.875rem}.hero-actions .button>span:first-child{min-width:0;overflow-wrap:break-word}.hero .button-icon{flex-shrink:0}.hero-secondary{font-size:.82rem;padding:12px 0;line-height:1.7;gap:18px;max-width:100%;min-width:0}
.hero-bottom{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:25px;width:100%;padding:24px 0 0;border-top:1px solid #e6f3e72e;animation:hero-detail-in 1.1s .7s both}
.hero-signature{font-family:var(--serif);font-size:1.4rem;line-height:1.4;max-width:100%}.hero-signature>span{font-family:var(--sans);font-size:.64rem;letter-spacing:.12em;line-height:1.7;margin:6px 0 0}.hero-location{display:flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1.7;max-width:none;margin:0}.hero-location svg{flex-shrink:0}.hero .scroll-circle{width:66px;height:66px;border-color:#cfe8d36b;position:relative;gap:4px}.hero .scroll-circle:before{content:'';position:absolute;inset:-5px;border:1px dashed #cfe8d336;border-radius:50%;animation:quiet-orbit 42s linear infinite}.hero .scroll-circle span{font-size:.48rem}.hero .scroll-circle svg{height:20px;width:20px;animation:scroll-cue 3s ease-in-out infinite}
.hero-note{padding:22px 0 0;border-top:1px solid #d6ebda66;max-width:230px;align-self:end;animation:hero-detail-in 1.25s .8s both}.hero-note-symbol{display:inline-block;color:#d4f4e6;font-size:2.25rem;line-height:1;animation:quiet-orbit 32s linear infinite;margin-bottom:22px}.hero-note p{font-family:var(--serif);font-size:1.62rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:24px}.hero-note p em{color:#d7ecde}.hero-note>div{display:flex;gap:24px;flex-wrap:wrap}.hero-note a{font-size:.75rem;line-height:1.8;border-bottom:1px solid #d6ebda55;display:flex;align-items:center;gap:13px;padding:6px 0}.hero-note a span{transition:transform .4s}.hero-note a:hover span{transform:translate(3px,-3px)}
.hero-image{inset:-7% 0;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}.hero-image img{animation:hero-atmosphere 22s ease-out both;filter:saturate(.66);object-position:50% 58%;transform-origin:center}.hero-shade{background:linear-gradient(90deg,#072d36ce 0%,#07303988 43%,#082f3545 100%),linear-gradient(0deg,#072d3570 0%,transparent 55%)}
.hero-gridlines{position:absolute;inset:0;z-index:-1;pointer-events:none;display:grid;grid-template-columns:1fr 1fr 1fr;opacity:.5}.hero-gridlines i{border-right:1px solid #dfefe50c}.hero-gridlines:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 130px #07353b24}
.intro-running .hero-kicker,.intro-running .hero-title-line>span,.intro-running .hero-content>p,.intro-running .hero-actions,.intro-running .hero-bottom,.intro-running .hero-note{animation-play-state:paused}

/* Cinematic opening. Progress represents the film, not a network download. */
.site-intro[hidden]{display:none!important}.site-intro{position:fixed;inset:0;z-index:1000;color:#edf4e8;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;padding:40px 6vw;--intro-progress:0}
.intro-panels{position:absolute;inset:0;z-index:-3;display:flex}.intro-panels i{display:block;width:50%;height:100%;background:#0d3036;transition:transform .8s cubic-bezier(.76,0,.24,1)}.intro-panels i+ i{background:#10353a}
.intro-grid{position:absolute;inset:35px 5.5vw;z-index:-2;border-block:1px solid #d7eadd24;display:grid;grid-template-columns:repeat(3,1fr);pointer-events:none;transition:opacity .45s}.intro-grid>span{border-left:1px solid #d7eadd0b}.intro-grid>span:last-child{border-right:1px solid #d7eadd0b}
.intro-orbit{position:absolute;z-index:-1;left:50%;top:43%;width:min(78vw,660px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #c9e3d11c;border-radius:50%;pointer-events:none;transition:opacity .5s,transform .8s}.intro-orbit:before,.intro-orbit:after{content:'';position:absolute;inset:22px;border:1px solid #c9e3d10c;border-radius:50%}.intro-orbit:after{inset:-26px;border:1px dashed #c9e3d110;animation:quiet-orbit 50s linear infinite}
.intro-emblem{display:flex;align-items:center;font-family:var(--serif);font-size:clamp(4rem,9vw,8rem);line-height:1.1;letter-spacing:-.09em;gap:.07em;opacity:0;transform:translateY(20px);transition:opacity 1.2s,transform 1.4s var(--motion-ease)}.intro-emblem>span{font-size:.8em;color:#8bb79f;font-weight:300;transform:scaleY(.85)}
.intro-name{font-size:.79rem;letter-spacing:.24em;line-height:1.6;margin-top:22px;opacity:0;transform:translateY(15px);transition:opacity 1s .2s,transform 1.2s .2s}.intro-name>span{font-family:var(--serif);font-style:italic;font-size:1.2em;letter-spacing:.08em}
.intro-scenes{position:relative;width:100%;height:clamp(80px,10vw,140px);margin:35px 0 18px;text-align:center}.intro-scenes p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.2em;flex-wrap:wrap;align-content:center;font-family:var(--serif);font-size:clamp(2.5rem,5.5vw,5.5rem);line-height:1.08;letter-spacing:-.04em;opacity:0;transform:translateY(30px);filter:blur(6px);margin:0;transition:opacity .7s,transform 1s var(--motion-ease),filter .8s}.intro-scenes em{color:#c5e7d0}
.intro-baseline{font-size:.64rem;letter-spacing:.16em;text-align:center;line-height:1.9;opacity:0;transition:opacity 1.2s .6s}
.intro-footer{position:absolute;bottom:45px;left:5.5vw;right:5.5vw;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:35px;font-size:.68rem;letter-spacing:.12em;transition:opacity .3s,transform .5s}
#intro-step{font-variant-numeric:tabular-nums;min-width:60px}.intro-track{height:1px;background:#e0ecdf29;overflow:hidden}.intro-track>span{display:block;height:100%;background:#b8d4bc;transform:scaleX(var(--intro-progress));transform-origin:left}
#skip-intro{border:1px solid #a7c6b447;border-radius:2px;background:transparent;color:#edf4e8;min-height:45px;display:flex;align-items:center;justify-content:center;gap:25px;padding:10px 16px;font-size:.75rem;letter-spacing:0;transition:background .25s,border-color .25s}#skip-intro:hover{background:#d4f4e615;border-color:#a7c6b4}#skip-intro:focus-visible{outline:2px solid #d4f4e6;outline-offset:5px}#skip-intro span{font-size:1rem}
.intro-active .intro-emblem,.intro-active .intro-name{opacity:1;transform:none}.intro-active .intro-baseline{opacity:.7}.intro-scene-1 [data-scene="0"],.intro-scene-2 [data-scene="1"],.intro-scene-3 [data-scene="2"]{opacity:1;transform:none;filter:blur(0)}
.intro-exiting .intro-panels i:first-child{transform:translateX(-100.5%)}.intro-exiting .intro-panels i:last-child{transform:translateX(100.5%)}.intro-exiting .intro-emblem,.intro-exiting .intro-name,.intro-exiting .intro-scenes,.intro-exiting .intro-baseline,.intro-exiting .intro-grid,.intro-exiting .intro-footer{opacity:0;transition:opacity .25s;pointer-events:none}.intro-exiting .intro-orbit{opacity:0;transform:translate(-50%,-50%) scale(1.15)}

/* A tangible view of the relationship, with native expandable steps. */
.method-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(40px,8vw,125px);background:#f8f8f3}.method-intro{align-self:start;position:sticky;top:calc(var(--header-height) + 35px)}.method-intro h2{font-size:clamp(3.4rem,4.8vw,5.2rem);margin-bottom:28px}.method-intro>p{font-size:1rem;color:var(--muted);line-height:1.9;max-width:420px}.method-image{height:210px;max-width:420px;margin:30px 0 18px;overflow:hidden;position:relative}.method-image img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;filter:saturate(.4);transition:transform 1.3s var(--motion-ease)}.method-image:hover img{transform:scale(1.045)}.method-image>span{position:absolute;bottom:19px;left:20px;font-size:.62rem;color:#193e3e;letter-spacing:.08em}.method-intro .text-link{font-size:.875rem}
.method-steps{border-top:1px solid #c7d4ca;align-self:start}.method-step{border-bottom:1px solid #c7d4ca;position:relative}.method-step:before{content:'';position:absolute;left:0;top:-1px;width:100%;height:1px;transform:scaleX(0);transform-origin:left;background:#527c66;transition:transform .7s var(--motion-ease)}.method-step[open]:before{transform:scaleX(1)}
.method-step summary{list-style:none;display:flex;align-items:center;gap:25px;cursor:pointer;padding:29px 0}.method-step summary::-webkit-details-marker{display:none}.method-index{font-family:var(--serif);font-size:1.2rem;color:#71907c;align-self:flex-start;margin-top:6px}.method-title{font-family:var(--serif);font-size:2.45rem;letter-spacing:-.035em;line-height:1.14;flex:1;min-width:0}.method-title small{display:block;font-family:var(--sans);font-size:.8rem;line-height:1.8;letter-spacing:0;color:var(--muted);margin-top:10px}.method-step .plus{margin-left:auto;flex-shrink:0}.method-step[open] .plus:after{transform:rotate(0)}
.method-body{padding:0 0 30px 46px}.method-body>p{font-size:1rem;line-height:1.9;color:#60736b;margin-bottom:22px}.method-deliverable{display:flex;align-items:flex-start;gap:15px;background:#e9efe6;border-left:2px solid #9bbb9d;padding:19px 22px}.method-deliverable>span{font-size:1.2rem;line-height:1.4}.method-deliverable p{font-size:.85rem;line-height:1.9;margin:0}.method-footnote{display:flex;align-items:center;gap:20px;padding:32px 0}.method-footnote-mark{font:2.5rem var(--serif);color:#8ba990}.method-footnote p{font-size:.78rem;line-height:1.9;letter-spacing:.02em;color:#6d8476;margin:0}

/* Precise motion layers, composed separately from the existing reveal transform. */
.heading-line{display:block;overflow:clip;padding:.1em .025em;margin:-.1em -.025em}.heading-line>span{display:block;transition:transform 1.3s var(--motion-ease);transition-delay:calc(var(--line-index,0)*95ms + 60ms)}.js-motion [data-reveal]:not(.is-visible) .heading-line>span{transform:translateY(115%)}.js-motion [data-reveal].is-visible .heading-line>span{transform:translateY(0)}
.eyebrow .small-line{transform-origin:left;transition:transform .9s var(--motion-ease)}.js-motion [data-reveal]:not(.is-visible) .eyebrow .small-line{transform:scaleX(0)}
.experience-ready .office-photo,.experience-ready .service-detail-image,.experience-ready .manifesto-photo,.experience-ready .territory-gallery figure{clip-path:inset(0 0 10% 0);transition:clip-path 1.3s var(--motion-ease)}.experience-ready .motion-in-view:is(.office-photo,.service-detail-image,.manifesto-photo,.territory-gallery figure){clip-path:inset(0 0 0 0)}
.experience-ready :is(.office-photo,.service-detail-image,.manifesto-photo):not(.motion-in-view)>img{transform:scale(1.07)}.office-photo>img,.service-detail-image>img,.manifesto-photo>img{transition:transform 1.6s var(--motion-ease),filter 1s}.office-photo:hover>img,.service-detail-image:hover>img{transform:scale(1.035)}
.expertise-card{position:relative;display:flex;flex-direction:column;min-height:302px;padding-bottom:28px;transition:background .45s,color .4s,box-shadow .4s}.expertise-card .expertise-link{margin-top:auto;padding-top:18px}.expertise-card:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;transform:scaleX(0);transform-origin:left;background:#a8c9b4;transition:transform .7s var(--motion-ease)}.expertise-card:hover:before{transform:scaleX(1)}.expertise-card-top>svg{transition:transform .7s var(--motion-ease)}.expertise-card:hover .expertise-card-top>svg{transform:translateY(-4px) rotate(-7deg)}
:is(.expertise-card,.values-grid article,.journey-grid article):after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--pointer-x,50%) var(--pointer-y,50%),#d4f4e617,transparent 70%);opacity:0;transition:opacity .35s}.pointer-active:after{opacity:1}.values-grid article,.journey-grid article{position:relative}.expertise-card>*{position:relative;z-index:1}
.button{position:relative;overflow:hidden;border-radius:3px;isolation:isolate;box-shadow:0 0 0 #12363c00}.button:before{content:'';position:absolute;inset:-70% -50%;background:linear-gradient(110deg,transparent 40%,#ffffff1c 49%,transparent 58%);transform:translateX(-70%);transition:transform .85s var(--motion-ease);z-index:-1;pointer-events:none}.button:hover:before{transform:translateX(70%)}.button:hover{box-shadow:0 8px 24px #12363c12}.button-icon{border-radius:0;transition:background .3s}.button:active{transform:translateY(0)}.text-link>svg{transition:transform .5s var(--motion-ease)}.text-link:hover>svg{transform:translate(3px,-2px)}
.audience-tabs button{min-width:0;overflow-wrap:anywhere;position:relative;white-space:normal}.audience-tabs button:after{content:'';position:absolute;bottom:-1px;left:18px;right:18px;height:2px;background:#436b59;transform:scaleX(0);transition:transform .45s var(--motion-ease)}.audience-tabs button[aria-selected=true]{border-color:transparent;background:#e9eee5}.audience-tabs button[aria-selected=true]:after{transform:scaleX(1)}.audience-image img{transition:opacity .5s,transform 1.5s var(--motion-ease)}.audience-panel:hover .audience-image img{transform:scale(1.025)}
.commitment{position:relative}.commitment:before{content:'';position:absolute;left:0;top:-1px;width:100%;height:1px;background:#6d9278;transform:scaleX(var(--section-progress,0));transform-origin:left}.journey{position:relative}.journey-grid:before{display:none}.journey-number{display:inline-block;transition:transform .6s var(--motion-ease)}.journey-grid article:hover .journey-number{transform:translateY(-5px)}
.photo-index{right:90px;line-height:1.8}.office-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#102f384b);pointer-events:none}.office-photo .photo-index,.office-photo .photo-arrow{z-index:1}.photo-arrow{box-shadow:0 6px 25px #12363c16}.office-card .office-info{border-bottom:1px solid #d5dfd3;padding-bottom:27px}.office-info h3{transition:color .4s}.office-card:hover h3{color:#598471}
.cta-orbit:before{content:'';position:absolute;inset:105px;border:1px dashed #c6e8d722;border-radius:50%;animation:quiet-orbit 80s linear infinite}.cta-coordinates{line-height:1.9}.territory-image{height:auto;min-height:630px;padding:100px var(--gutter)}.contact-photo{height:auto;min-height:440px;padding:100px var(--gutter)}.territory-image>div,.contact-photo>p{max-width:100%;min-width:0}.contact-photo>p{overflow-wrap:break-word}.footer-word{white-space:normal;overflow-wrap:break-word;line-height:1.05;padding:20px 0 42px;letter-spacing:-.05em}
.experience-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-top:1px solid #b6d1c125;color:#a8c1af}.experience-controls>span{font-size:.64rem;letter-spacing:.11em;line-height:1.8}.experience-controls>div{display:flex;gap:24px;flex-wrap:wrap}.experience-controls button{display:flex;align-items:center;gap:13px;border:0;background:none;color:inherit;font-size:.75rem;line-height:1.8;padding:8px 0;transition:color .2s}.experience-controls button:hover{color:#e9f3e6}.experience-controls button:focus-visible{outline-color:#d4f4e6}.motion-toggle-icon{width:11px;height:12px;border-left:2px solid;border-right:2px solid;display:inline-block}.motion-paused .motion-toggle-icon{border:0;border-left:9px solid;border-top:6px solid transparent;border-bottom:6px solid transparent;height:0;width:0}
.mobile-menu:not([hidden]){animation:menu-panel-in .5s var(--motion-ease) both}.mobile-menu:not([hidden]) nav>a{animation:menu-link-in .55s var(--motion-ease) both}.mobile-menu nav>a:nth-child(2){animation-delay:40ms}.mobile-menu nav>a:nth-child(3){animation-delay:80ms}.mobile-menu nav>a:nth-child(4){animation-delay:120ms}.mobile-menu nav>a:nth-child(5){animation-delay:160ms}.mobile-menu nav>a:nth-child(6){animation-delay:200ms}
@keyframes hero-title-in{from{transform:translateY(115%);opacity:.2}to{transform:translateY(0);opacity:1}}@keyframes hero-detail-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-atmosphere{from{transform:scale(1.09)}to{transform:scale(1)}}@keyframes quiet-orbit{to{transform:rotate(360deg)}}@keyframes scroll-cue{0%,60%,100%{transform:rotate(90deg) translateX(0)}75%{transform:rotate(90deg) translateX(4px)}}@keyframes menu-panel-in{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes menu-link-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media(min-width:1600px){.hero-stage{grid-template-columns:minmax(0,1fr) 260px;gap:70px}.hero h1{font-size:clamp(7rem,8.9cqw,9.5rem)}.hero-content>p{font-size:1.06rem}.hero-note{max-width:260px}.hero-note p{font-size:1.9rem}}
@media(max-width:1190px){.hero-stage{grid-template-columns:minmax(0,1fr) 180px;gap:35px;padding-top:80px;padding-bottom:75px}.hero h1{font-size:clamp(3.1rem,8.8cqw,7rem)}.hero-note p{font-size:1.5rem}.hero-note>div{gap:20px}.hero-actions{gap:18px 26px}.hero-location{font-size:.7rem}.hero-bottom{grid-template-columns:1fr 1fr auto}.method-section{gap:55px}.method-title{font-size:2.1rem}}
@media(max-width:980px){:root{--header-height:80px}.header{min-height:80px;height:auto;padding-block:13px}.hero{min-height:calc(100svh - 80px);padding-top:24px}.hero-stage{grid-template-columns:1fr;padding-top:76px;padding-bottom:68px}.hero h1{font-size:clamp(3.2rem,10.8cqw,6.7rem)}.hero-note{display:none}.hero-kicker{font-size:.7rem}.hero-topline{font-size:.65rem}.hero-content>p{max-width:450px}.hero-actions{flex-direction:row;align-items:center}.hero-bottom{grid-template-columns:1fr auto}.hero-location{display:none}.hero-signature{font-size:1.4rem;max-width:100%}.hero-signature>span{font-size:.63rem}.method-section{gap:40px;grid-template-columns:1fr 1.1fr}.method-title{font-size:1.9rem}.method-step summary{gap:18px}.method-body{padding-left:35px}.method-image{height:180px}.method-intro h2{font-size:3.7rem}.method-intro>p{font-size:.94rem}.method-body>p{font-size:.94rem}.method-deliverable{padding:18px}.experience-controls{align-items:flex-start}.experience-controls>span{max-width:190px}.experience-controls>div{justify-content:flex-end;gap:12px 22px}.territory-image{min-height:520px}.contact-photo{min-height:390px}}
@media(max-width:700px){:root{--header-height:76px}.header{min-height:76px;padding-block:12px}.hero{height:auto;min-height:calc(100svh - 76px);max-height:none;padding:22px 24px 24px}.hero-stage{display:block;padding:clamp(64px,12vh,95px) 0 58px}.hero-topline{display:grid;grid-template-columns:1fr auto;font-size:.61rem;line-height:1.7;gap:24px;letter-spacing:.075em;padding-bottom:20px}.hero-topline>span:first-child{max-width:210px}.hero-topline>span:last-child{max-width:90px}.hero-topline i{margin:0 3px}.hero-kicker{font-size:.65rem;letter-spacing:.06em;line-height:1.8;margin-bottom:25px;gap:10px}.hero-kicker>span{width:15px;flex-shrink:0}.hero h1{font-size:clamp(2.4rem,12.5cqw,4.8rem);line-height:1.07;letter-spacing:-.045em;margin-bottom:25px}.hero-title-line{padding:.06em .025em;margin:0 -.025em}.hero-content{padding:0}.hero-content>p{font-size:.96rem;line-height:1.85;max-width:385px;margin-bottom:29px}.hero-content>p br{display:none}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px;flex-wrap:wrap}.hero-actions .button{font-size:.875rem;min-height:58px;gap:25px;padding-left:21px}.hero-secondary{font-size:.81rem;gap:20px;padding:8px 0}.hero-bottom{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding-top:24px;align-items:center}.hero-signature{font-size:1.13rem;line-height:1.45;max-width:100%}.hero-signature>span{font-size:.56rem;letter-spacing:.07em;line-height:1.8;max-width:240px;margin-top:6px}.hero .scroll-circle{width:54px;height:54px}.hero .scroll-circle span{font-size:.42rem}.hero .scroll-circle svg{width:17px;height:17px}.hero-image img{object-position:62% 50%}.hero-shade{background:linear-gradient(90deg,#092e38d4,#072e3682),linear-gradient(0deg,#092e3859,transparent)}
.site-intro{padding:30px 24px 120px}.intro-emblem{font-size:5.5rem}.intro-name{font-size:.72rem;letter-spacing:.17em;margin-top:19px}.intro-scenes{height:150px;margin:35px 0 15px}.intro-scenes p{font-size:clamp(2.7rem,9vw,4.6rem);line-height:1.08;padding:0 5px;gap:.18em}.intro-baseline{font-size:.56rem;letter-spacing:.1em;max-width:280px;line-height:2}.intro-grid{inset:22px 24px}.intro-orbit{width:94vw;top:44%}.intro-footer{left:24px;right:24px;bottom:36px;grid-template-columns:auto 1fr;gap:25px 20px;font-size:.65rem}.intro-track{min-width:0}#skip-intro{grid-column:1/-1;justify-self:center;font-size:.75rem;padding:11px 18px;min-height:46px}
.method-section{grid-template-columns:1fr;gap:42px}.method-intro{position:static}.method-intro h2{font-size:3.4rem}.method-intro>p{font-size:1rem;max-width:none}.method-image{height:180px;max-width:none}.method-intro .text-link{font-size:.85rem}.method-title{font-size:2.12rem}.method-title small{font-size:.79rem;line-height:1.9}.method-step summary{gap:17px;padding:25px 0}.method-index{font-size:1.03rem}.method-body{padding:0 0 26px 34px}.method-body>p{font-size:.95rem}.method-deliverable{padding:17px;gap:12px}.method-deliverable p{font-size:.82rem}.method-footnote{padding-top:27px}.method-footnote p{font-size:.76rem}.expertise-card{min-height:310px;padding-bottom:25px}.expertise-card h3{min-height:0}.expertise-card p{min-height:0}.expertise-card .expertise-link{padding-top:15px}.territory-image{height:auto;min-height:430px;padding:85px 24px}.contact-photo{height:auto;min-height:350px;padding:80px 24px}.photo-index{right:86px;font-size:.7rem}.footer-word{font-size:17vw;white-space:normal;line-height:1.1;padding:20px 0 35px}.experience-controls{display:block;padding:25px 0}.experience-controls>span{display:block;max-width:none;font-size:.6rem;margin-bottom:17px}.experience-controls>div{justify-content:flex-start;gap:10px 20px}.experience-controls button{font-size:.72rem;min-height:40px}.audience-tabs button{font-size:.79rem;min-height:65px}.audience h2 .heading-line{display:inline}.audience h2 .heading-line>span{display:inline}}
@media(max-width:380px){.hero{padding-inline:20px;min-height:calc(100svh - 76px)}.hero h1{font-size:clamp(2.2rem,12.5cqw,3.6rem)}.hero-kicker{font-size:.6rem;letter-spacing:.045em}.hero-topline{font-size:.56rem;gap:17px}.hero-topline>span:last-child{max-width:77px}.hero-stage{padding-top:60px;padding-bottom:48px}.hero-signature{font-size:1.04rem}.hero-signature>span{font-size:.51rem}.hero-content>p{font-size:.93rem}.hero .scroll-circle{width:48px;height:48px}.hero .scroll-circle span{font-size:.38rem}.method-title{font-size:1.87rem}.method-body{padding-left:0}.expertise-card{padding-inline:16px}.expertise-card p{font-size:.85rem}.intro-name{font-size:.66rem}.intro-scenes p{font-size:2.6rem}.brand-wordmark{font-size:.65rem}.brand-wordmark small{font-size:.4rem}}
@media(max-height:550px) and (min-width:701px){.site-intro{padding:25px 5vw 85px}.intro-emblem{font-size:3.8rem}.intro-name{margin-top:10px}.intro-scenes{height:85px;margin:20px 0 10px}.intro-scenes p{font-size:3.7rem}.intro-footer{bottom:24px}.intro-baseline{font-size:.58rem}}
.motion-paused{scroll-behavior:auto!important}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .hero-image{transform:none!important}.motion-paused .hero-title-line>span,.motion-paused .heading-line>span,.motion-paused [data-reveal]{transform:none!important;opacity:1!important}.motion-paused .experience-ready :is(.office-photo,.service-detail-image,.manifesto-photo,.territory-gallery figure),.motion-paused :is(.office-photo,.service-detail-image,.manifesto-photo,.territory-gallery figure){clip-path:none!important}.motion-paused .hero-kicker,.motion-paused .hero-content>p,.motion-paused .hero-actions,.motion-paused .hero-bottom,.motion-paused .hero-note{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.hero-title-line>span,.heading-line>span{transform:none!important;opacity:1!important}.hero-image{transform:none!important}.experience-ready :is(.office-photo,.service-detail-image,.manifesto-photo,.territory-gallery figure){clip-path:none!important}.site-intro{display:none!important}.hero-kicker,.hero-content>p,.hero-actions,.hero-bottom,.hero-note{opacity:1;transform:none}}
@media print{.site-intro,.experience-controls{display:none!important}.hero{display:block;min-height:0;height:auto;padding:0}.hero-stage{display:block;padding:25px 0}.hero-topline,.hero-bottom,.hero-note,.hero-gridlines{display:none}.method-intro{position:static}.hero-title-line>span,.heading-line>span{transform:none!important}.hero{color:#153e43}.hero h1 em{color:#153e43}.hero-content>p{color:#153e43}}

/* Let narrow cards shrink naturally; give phone layouts room for full words. */
.values-grid>*,.journey-grid>*{min-width:0}
@media(max-width:700px){.values-grid,.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.values-grid,.journey-grid{grid-template-columns:1fr}.values-grid{gap:32px}.journey-grid>article{padding-bottom:30px}}
