@font-face{font-family:Neue;src:url('/approved/assets/neue-montreal.woff') format('woff');font-weight:100 900;font-display:swap}
@font-face{font-family:Domaine;src:url('/approved/assets/domaine-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
:root{--paper:#f2f2f2;--ink:#1b1b1c;--muted:#646464;--lime:#beff8b;--pink:#ff1ddb;--line:#c6c6c6;--ease:cubic-bezier(.22,1,.36,1);--gutter:5vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}img,video{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #537ad1;outline-offset:6px}button{border:0;background:none}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.025em;line-height:1.02}p{line-height:1.25}h2{font-size:clamp(36px,4.5vw,76px)}.wrap{width:90%;max-width:1600px;margin-inline:auto}.eyebrow,.section-label{font-size:clamp(12px,1.25vw,19px);text-transform:uppercase;letter-spacing:-.02em}.section-label{padding-top:20px;border-top:1px solid var(--line)}.text-link{text-decoration:underline;text-underline-offset:4px;font-size:clamp(13px,1.25vw,18px)}.arrow-link{display:inline-flex;gap:12px;align-items:center}.arrow-link span{display:inline-block;transition:transform .4s var(--ease)}.arrow-link:hover span{transform:translate(4px,-4px)}.pill{display:inline-flex;gap:12px;align-items:center;justify-content:center;border-radius:100px;padding:14px 22px;font-size:clamp(13px,1.2vw,18px);transition:transform .4s var(--ease),background .3s}.pill:hover{transform:translateY(-3px)}.lime{background:var(--lime)}.dark{background:var(--ink);color:var(--paper)}.skip{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px;transform:translateY(-200%)}.skip:focus{transform:none}
.site-header{height:120px;display:flex;align-items:center;gap:42px;position:relative;z-index:15}.brand{width:112px;margin-right:auto}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:30px;align-items:center;font-size:clamp(13px,1.25vw,18px)}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-4px;height:1px;left:0;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:26px}.menu-toggle{padding:8px 0}.site-menu{border:0;background:var(--paper);color:var(--ink);width:100%;height:100%;max-width:none;max-height:none;padding:4vw 5vw;margin:0;position:fixed;inset:0;overflow:auto}.site-menu::backdrop{background:#0006}.menu-top{display:flex;justify-content:space-between;align-items:center}.site-menu nav{display:flex;flex-direction:column;margin:8vh 0 5vh}.site-menu nav a{display:flex;justify-content:space-between;font-size:clamp(40px,6vw,100px);letter-spacing:-.025em;border-bottom:1px solid var(--line);padding:16px 0}.site-menu nav a span{font-size:14px;letter-spacing:0}.site-menu>p{text-transform:uppercase;font-size:12px}.site-menu[open]{animation:menuIn .6s var(--ease)}@keyframes menuIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.hero{padding-top:150px}.hero-title-row{position:relative;padding-inline:5.5%}.hero h1{font-size:clamp(62px,8.8vw,158px);letter-spacing:-.025em;line-height:.97;max-width:94%}.hero h1 .line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.hero h1 .line:nth-child(2){padding-left:8%}.hero h1 .line>span{display:block;animation:headlineIn 1.2s var(--ease) both}.hero h1 .line:nth-child(2)>span{animation-delay:.12s}@keyframes headlineIn{from{transform:translateY(110%)}to{transform:translateY(0)}}.outline-badge{position:absolute;right:8%;top:-22%;width:17%;aspect-ratio:1;display:grid;place-items:center}.outline-badge img{position:absolute;width:100%;height:100%;animation:badgeRotate 13s linear infinite;transition:opacity .2s ease-in-out,top .2s ease-in-out,left .2s ease-in-out,right .2s ease-in-out,bottom .2s ease-in-out;pointer-events:none}.outline-badge img:nth-child(1){top:0;left:0;opacity:0}.outline-badge img:nth-child(2){top:0;left:0;opacity:0}.outline-badge img:nth-child(3){top:0;right:0;opacity:0}.outline-badge img:nth-child(4){bottom:0;left:0;opacity:1}.outline-badge:is(:hover,:focus-visible) img:nth-child(1){opacity:1;top:-10px}.outline-badge:is(:hover,:focus-visible) img:nth-child(2){opacity:1;left:-10px}.outline-badge:is(:hover,:focus-visible) img:nth-child(3){opacity:1;right:-10px}.outline-badge:is(:hover,:focus-visible) img:nth-child(4){bottom:-5px}@keyframes badgeRotate{to{transform:rotate(360deg)}}body.motion-paused .outline-badge img,body.badge-suspended .outline-badge img{animation-play-state:paused}.outline-badge span{font-size:clamp(11px,1.15vw,18px);text-decoration:underline;text-underline-offset:3px;position:relative}.hero-intro{width:37%;margin:44px 2% 60px auto;font-size:clamp(15px,1.45vw,23px);letter-spacing:-.025em}.hero-media{overflow:hidden;position:relative;border-radius:9px;aspect-ratio:2.04;isolation:isolate;transform:scale(var(--hero-scale,1));will-change:transform}.hero-media>img{width:100%;height:120%;object-fit:cover;position:absolute;top:-10%;transform:translateY(var(--media-y,0px));will-change:transform}.hero-media-caption{position:absolute;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;color:white;font-size:13px;text-shadow:0 1px 12px #000;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;z-index:2;pointer-events:none}.hero-media:hover .hero-media-caption{opacity:1;transform:none}.media-hit{position:absolute;inset:0;z-index:1}.next-chapter{font-size:clamp(23px,2.5vw,40px);line-height:1.08;letter-spacing:-.025em;text-align:center;max-width:950px;margin:110px auto 190px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:48px 0 64px;gap:30px}.work-section{scroll-margin-top:30px}.work-scroll{height:220vh;min-height:1300px;position:relative}.work-sticky{position:sticky;top:8vh;display:grid;grid-template-columns:51.5% 48.5%;height:80vh;max-height:900px;align-items:center;padding-bottom:50px}.work-media{height:100%;max-height:820px;position:relative;overflow:hidden;border-radius:7px;background:#d7eeea}.project-film{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity .6s,transform 1s var(--ease),visibility .6s}.project-film.active{opacity:1;visibility:visible;transform:scale(1)}.film-toggle{position:absolute;right:16px;bottom:16px;font-size:12px;color:white;background:#0008;border-radius:30px;padding:10px 15px;z-index:4;backdrop-filter:blur(8px)}.work-copy-stack{position:relative;margin-left:22%;min-height:350px;display:grid;align-items:center}.work-copy{grid-area:1/1;transition:opacity .45s,transform .7s var(--ease);opacity:0;transform:translateY(35px);visibility:hidden}.work-copy.active{opacity:1;transform:none;visibility:visible}.work-copy .eyebrow{margin-bottom:24px}.work-copy h3{font-size:clamp(30px,3.3vw,56px);margin-bottom:30px}.work-copy>p:not(.eyebrow){font-size:clamp(15px,1.45vw,23px);max-width:460px;margin-bottom:52px}.work-progress{position:absolute;bottom:8px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.work-select{display:flex;gap:20px}.work-select button{padding:10px 0;position:relative}.work-select button[aria-pressed=true]:after{content:'';height:2px;position:absolute;bottom:2px;left:0;right:0;background:var(--pink)}
.process{padding-top:90px}.process-heading{align-items:center}.process-note{padding-right:2%;font-size:clamp(14px,1.4vw,22px)}.process-note p{margin-bottom:18px}.process-note a{font-size:clamp(12px,1.1vw,17px)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5%}.process-card{background:white;padding:32px 30px 36px;min-height:520px;display:flex;flex-direction:column;position:relative;overflow:hidden}.process-card:nth-child(2){transition-delay:.1s}.process-card:nth-child(3){transition-delay:.2s}.step-number{font-size:clamp(82px,9vw,150px);letter-spacing:-.025em;line-height:.92}.step-number span{transition:color .3s,transform .5s var(--ease);display:inline-block}.process-card:hover .step-number span{color:var(--pink);transform:translateY(-5px) rotate(-12deg)}.step-label{text-transform:uppercase;font-size:clamp(12px,1.25vw,20px);margin-top:10px}.step-copy{margin-top:auto;padding-top:76px}.step-copy h3{font-size:clamp(26px,2.7vw,44px);margin-bottom:18px}.step-copy p{font-size:clamp(14px,1.35vw,21px);max-width:350px}
.tone-transition{height:290px;position:relative;z-index:1;pointer-events:none}.to-dark{background:transparent}.dark-chapter{background:var(--ink);color:var(--paper);--line:#5a5a5a}.services{padding-top:0}.services-grid{display:grid;grid-template-columns:41% 54%;gap:0;padding-top:65px}.services-grid>h2{position:sticky;top:130px;align-self:start}.service-list details{border-top:1px solid #5a5a5a}.service-list summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:34px 0 38px;cursor:pointer;list-style:none}.service-list summary::-webkit-details-marker{display:none}.service-title{display:block;font-size:clamp(25px,2.65vw,44px);letter-spacing:-.025em;line-height:1.08}.service-summary{display:block;font-size:clamp(14px,1.35vw,21px);color:#b9b9b9;margin-top:16px;max-width:620px;line-height:1.3}.plus{font-size:22px;line-height:1.2;transition:transform .35s var(--ease);padding-top:5px;color:#b9b9b9}.service-list details[open] .plus{transform:rotate(12deg)}.service-more{padding:0 40px 34px 0;color:#b9b9b9;font-size:clamp(14px,1.25vw,20px);line-height:1.5}.service-more p{margin-bottom:18px}.service-more a{color:var(--paper);text-decoration:underline;text-underline-offset:5px}.service-list details[open] .service-more{animation:detailIn .5s var(--ease)}@keyframes detailIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.founders{padding-top:190px}.founder-label{display:flex;justify-content:space-between;gap:24px}.founder-label>span:last-child{font-size:clamp(10px,1.1vw,17px);color:#b9b9b9}.founder-grid{display:grid;grid-template-columns:44% 56%;padding-top:65px;gap:0}.founder-copy{padding-right:12%}.founder-copy p{font-size:clamp(15px,1.45vw,23px);margin-top:35px;color:#b9b9b9;max-width:520px}.portraits{display:grid;grid-template-columns:1fr 1fr;gap:22px}.portrait-image{overflow:hidden;border-radius:5px;aspect-ratio:1}.portrait-image img{height:100%;width:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.015);transition:transform 1.1s var(--ease)}.portrait-image:hover img{transform:scale(1.06)}.portraits figure:nth-child(2){transition-delay:.12s}.portraits figcaption{font-size:clamp(13px,1.35vw,22px);margin-top:23px;line-height:1.15}.testimonials{padding-top:240px;padding-bottom:75px;overflow:hidden}.quote-window{margin-top:130px;overflow:hidden}.quote-track{display:flex;gap:8vw;padding-left:5vw;transition:transform .85s var(--ease)}.quote-card{flex:0 0 68vw;max-width:1250px;opacity:.2;transition:opacity .6s}.quote-card:first-child{opacity:1}.quote-card blockquote{font-size:clamp(29px,3.8vw,64px);letter-spacing:-.025em;line-height:1.08;margin:0;max-width:1120px}.quote-card figcaption{display:flex;align-items:center;gap:17px;margin-top:70px;font-size:clamp(13px,1.35vw,21px);line-height:1.15}.quote-card figcaption img{width:48px;height:48px;object-fit:cover;border-radius:50%}.quote-card small{font-size:inherit;color:#b9b9b9}.quote-controls{display:flex;align-items:center;justify-content:space-between;margin-top:55px;font-size:12px;color:#b9b9b9}.quote-controls>div{display:flex;gap:10px}.circle-button{border:1px solid #676767;border-radius:50%;width:42px;height:42px;font-size:22px;transition:background .3s}.circle-button:hover{background:#ffffff17}.to-light{background:transparent;height:300px}
footer{position:relative;isolation:isolate;overflow:hidden;padding-top:0}.footer-watermark{position:absolute;right:-12%;top:-70px;width:65%;z-index:-1;opacity:.09;transform:rotate(10deg) translateY(var(--smile-y,0px));pointer-events:none}.footer-watermark img{width:100%;filter:grayscale(1)}.closing{display:grid;grid-template-columns:44% 56%;padding:30px 0 145px}.budget{max-width:440px;padding-right:20%}.budget .eyebrow{margin-bottom:24px}.budget>p:last-child{font-size:clamp(15px,1.45vw,23px)}.closing-invitation h2{font-size:clamp(48px,5.6vw,94px);margin-bottom:65px}.closing-invitation .brief-link{display:block;width:fit-content;margin-top:22px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #939393;padding:42px 0 60px;gap:28px}.footer-bottom nav{display:flex;gap:90px;font-size:clamp(15px,1.45vw,23px);line-height:1.2}.footer-bottom nav>div{display:flex;flex-direction:column}.copyright{font-size:clamp(14px,1.3vw,21px);align-self:start}.motion-control{position:fixed;bottom:18px;left:18px;z-index:30;background:#f2f2f2e8;color:var(--ink);border:1px solid #bbb;border-radius:30px;padding:9px 13px;font-size:11px;backdrop-filter:blur(8px);opacity:.65;transition:opacity .3s}.motion-control:hover,.motion-control:focus{opacity:1}
.page-curtain{position:fixed;inset:0;overflow:hidden;z-index:100;background:var(--ink);display:grid;place-items:center;pointer-events:none;transform:translateY(100%);will-change:transform}.page-curtain img{width:110px;filter:invert(1)}.ambient-smile{position:fixed;width:34px;left:6%;bottom:-60px;z-index:20;pointer-events:none;opacity:.3;display:none}.ambient-smile img{width:100%}.ambient-smile.play{display:block;animation:smileRoll 6s var(--ease) both}@keyframes smileRoll{0%{transform:translate(0,-160px) rotate(-60deg);opacity:0}20%{transform:translate(8vw,-68px) rotate(30deg);opacity:.3}90%{transform:translate(50vw,-68px) rotate(620deg);opacity:.3}100%{transform:translate(54vw,60px) rotate(720deg);opacity:0}}
.js [data-reveal]{opacity:0;transform:translateY(38px);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}.js [data-reveal].is-visible{opacity:1;transform:none}body.motion-paused [data-reveal]{opacity:1;transform:none;transition:none}body.motion-paused .ambient-smile{display:none}body.motion-paused .hero-media,body.motion-paused .hero-media>img{transform:none}
.brand img,.menu-top>img{filter:invert(1)}.page-curtain img{filter:none}.hero h1{font-size:clamp(62px,9.1vw,164px);letter-spacing:-.025em}.footer-watermark img,.ambient-smile img{filter:grayscale(1) invert(1)}
.intro-loader{position:fixed;inset:0;background:#1b1b1c;display:none;place-items:center;z-index:110;pointer-events:none}.intro-loader img{width:min(500px,65vw);height:auto}html[data-loading] .intro-loader{display:grid}
.hero-media>.hero-reel-image{opacity:0;transition:opacity .6s ease;z-index:0}.hero-media>.hero-reel-image.is-current{opacity:1;z-index:1}.hero-media .media-hit{z-index:2}.hero-reel-toggle{position:absolute;right:18px;bottom:18px;z-index:5;border-radius:30px;background:#0008;color:white;padding:10px 15px;font-size:12px;backdrop-filter:blur(8px)}.hero-media-caption{right:120px;z-index:3}.hero-media-caption .hero-current-client{display:block}
/* Case-study pages share the approved type, spacing, and transition system. */
.project-page .site-header,.archive-page .site-header{margin-bottom:100px}.project-heading{display:grid;grid-template-columns:60% 40%;gap:30px;align-items:end;margin-bottom:70px}.project-heading h1{font-size:clamp(52px,7.5vw,128px);margin-top:25px}.project-heading p:last-child{font-size:clamp(16px,1.65vw,27px);padding-bottom:8px}.project-cover{width:100%;max-height:85vh;object-fit:cover;border-radius:7px}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:120px 0}.project-story h2{font-size:clamp(36px,4.5vw,72px)}.project-story p{font-size:clamp(17px,1.8vw,28px);line-height:1.35}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-gallery img{width:100%;height:100%;object-fit:cover}.project-gallery .wide{grid-column:1/-1}.project-video{max-height:85vh;width:100%;background:var(--ink)}.back-home{margin:100px auto 150px}.archive-heading{font-size:clamp(60px,8vw,130px);margin-bottom:80px}.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 35px;margin-bottom:160px}.archive-card .archive-image{height:520px;overflow:hidden;border-radius:6px}.archive-card img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease)}.archive-card:hover img{transform:scale(1.04)}.archive-card h2{font-size:34px;margin-top:22px}.archive-card p{margin-top:10px;color:var(--muted);font-size:17px}
@media(min-width:1800px){:root{--gutter:calc((100vw - 1600px)/2)}.hero h1{font-size:158px}.quote-track{padding-left:var(--gutter)}.quote-card{flex-basis:1200px}}
@media(max-width:1000px){.site-header{height:95px;gap:28px}.brand{width:90px}.desktop-nav{gap:18px}.header-actions{gap:18px}.hero{padding-top:110px}.hero-title-row{padding-inline:3%}.hero-intro{width:40%;margin-top:35px}.outline-badge{right:5%;width:18%;top:-25%}.next-chapter{margin-bottom:140px;margin-top:85px}.work-copy-stack{margin-left:15%}.work-sticky{height:72vh;max-height:700px}.process-card{min-height:410px;padding:26px 22px}.step-copy{padding-top:50px}.tone-transition{height:220px}.founders{padding-top:150px}.testimonials{padding-top:170px}.quote-window{margin-top:95px}.closing{padding-bottom:110px}.budget{padding-right:14%}.footer-bottom nav{gap:60px}}
@media(max-width:700px){html{scroll-padding-top:25px}.wrap{width:89%}.site-header{height:86px;gap:15px}.brand{width:76px}.desktop-nav{display:none}.header-actions{gap:18px}.pill{padding:12px 17px;font-size:13px}.hero{padding-top:100px}.hero-title-row{padding:0}.hero h1{font-size:clamp(40px,8.9vw,63px);max-width:100%;letter-spacing:-.025em;line-height:1.03}.hero h1 .line:nth-child(2){padding-left:0}.outline-badge{width:96px;right:0;top:-91px}.outline-badge span{font-size:10px}.hero-intro{width:74%;font-size:15px;margin:30px 0 36px auto}.hero-media{aspect-ratio:1.32;border-radius:5px}.hero-media>img{object-position:center}.hero-media-caption{font-size:10px;left:14px;right:14px;bottom:14px}.hero-media-caption span{display:none}.next-chapter{font-size:23px;line-height:1.12;margin:58px auto 100px;max-width:480px}.desktop-break{display:none}.section-label{padding-top:14px;font-size:11px}.section-heading{margin:30px 0 38px;gap:20px}.section-heading h2{font-size:34px}.section-heading>a{font-size:11px;gap:4px;white-space:nowrap}.work-scroll{height:200vh;min-height:1150px}.work-sticky{top:24px;height:auto;max-height:none;display:block;padding-bottom:45px}.work-media{height:auto;aspect-ratio:1.13;max-height:46vh;border-radius:5px}.work-copy-stack{margin:28px 0 0;min-height:230px;align-items:start}.work-copy .eyebrow{font-size:11px;margin-bottom:11px}.work-copy h3{font-size:32px;margin-bottom:16px}.work-copy>p:not(.eyebrow){font-size:15px;max-width:440px;margin-bottom:24px}.work-progress{font-size:10px;bottom:0;gap:10px}.work-select{gap:14px}.film-toggle{right:12px;bottom:12px;padding:8px 12px;font-size:10px}.process{padding-top:55px}.process-heading{align-items:start;flex-direction:column;gap:26px;margin-bottom:35px}.process-note{font-size:14px}.process-note br{display:none}.process-note p{margin-bottom:12px}.process-note a{font-size:12px}.process-grid{grid-template-columns:1fr;gap:15px}.process-card{min-height:310px;padding:25px 24px}.step-number{font-size:88px}.step-label{font-size:12px;margin-top:6px}.step-copy{padding-top:38px}.step-copy h3{font-size:29px;margin-bottom:14px}.step-copy h3 br{display:none}.step-copy p{font-size:15px;max-width:95%}.tone-transition{height:155px}.services-grid{grid-template-columns:1fr;padding-top:35px;gap:55px}.services-grid>h2{position:static;font-size:36px}.service-list summary{padding:27px 0 30px;gap:20px}.service-title{font-size:28px}.service-summary{font-size:14px;margin-top:14px}.service-more{font-size:14px;padding-right:20px}.founders{padding-top:100px}.founder-label{align-items:start;gap:15px}.founder-label>span:last-child{font-size:9px;max-width:155px;text-align:right}.founder-grid{grid-template-columns:1fr;padding-top:35px;gap:40px}.founder-copy{padding:0}.founder-copy h2{font-size:37px}.founder-copy p{font-size:15px;margin-top:23px;max-width:95%}.portraits{gap:14px}.portraits figcaption{font-size:12px;margin-top:15px}.portraits figcaption span{font-size:11px}.testimonials{padding-top:100px;padding-bottom:35px}.quote-window{margin-top:65px}.quote-track{padding-left:5.5vw;gap:8vw}.quote-card{flex-basis:83vw}.quote-card blockquote{font-size:28px}.quote-card blockquote br{display:none}.quote-card figcaption{margin-top:38px;font-size:12px}.quote-card figcaption img{width:38px;height:38px}.quote-controls{margin-top:35px}.circle-button{width:36px;height:36px;font-size:19px}.closing{grid-template-columns:1fr;gap:45px;padding-top:20px;padding-bottom:70px}.budget{padding-right:0;max-width:340px;order:1}.budget .eyebrow{font-size:11px;margin-bottom:16px}.budget>p:last-child{font-size:14px}.closing-invitation{order:0}.closing-invitation h2{font-size:48px;margin-bottom:35px}.brief-link{font-size:12px}.closing-invitation .brief-link{margin-top:18px}.footer-watermark{right:-40%;top:80px;width:115%;opacity:.07}.footer-bottom{padding:30px 0 50px;flex-direction:column;gap:30px}.footer-bottom nav{font-size:15px;gap:60px}.copyright{font-size:12px}.motion-control{left:10px;bottom:10px;font-size:10px;padding:8px 11px}.project-page .site-header,.archive-page .site-header{margin-bottom:55px}.project-heading{grid-template-columns:1fr;margin-bottom:35px;gap:25px}.project-heading h1{font-size:56px}.project-heading p:last-child{font-size:19px}.project-cover{max-height:none;min-height:300px}.project-story{grid-template-columns:1fr;gap:30px;padding:65px 0}.project-gallery{grid-template-columns:1fr;gap:16px}.project-gallery .wide{grid-column:auto}.back-home{margin:65px auto 100px}.archive-grid{grid-template-columns:1fr;gap:45px}.archive-card .archive-image{height:420px}.archive-heading{margin-bottom:50px}.site-menu nav{margin-top:10vh}.site-menu nav a{font-size:44px;padding:20px 0}.site-menu{padding:25px 5.5vw}}
/* Optical spacing follows the owner's design: open counters and distinct letters. */
h1,h2,h3,.archive-heading{letter-spacing:-.025em}.hero h1{letter-spacing:-.025em}.hero-intro,.next-chapter,.service-title,.quote-card blockquote{letter-spacing:-.015em}
@media(max-width:700px){.hero h1{font-size:clamp(38px,8.4vw,59px);letter-spacing:-.025em}}
/* Process: one-by-one spring entrances; final card design stays unchanged. */
.js [data-process-card]{opacity:0;transform:translate3d(0,110px,0) rotate(3deg) scale(.97);transform-origin:50% 100%}
.js [data-process-card].has-arrived{animation:processCardArrive 950ms both;animation-timing-function:linear}
.js [data-process-card]:nth-child(2){animation-delay:260ms}
.js [data-process-card]:nth-child(3){animation-delay:520ms}
@keyframes processCardArrive{0%{opacity:0;transform:translate3d(0,110px,0) rotate(3deg) scale(.97);animation-timing-function:cubic-bezier(.16,.75,.3,1)}55%{opacity:1;transform:translate3d(0,-13px,0) rotate(-1.2deg) scale(1.008);animation-timing-function:ease-in-out}76%{opacity:1;transform:translate3d(0,5px,0) rotate(.45deg) scale(1);animation-timing-function:ease-in-out}90%{opacity:1;transform:translate3d(0,-2px,0) rotate(-.15deg);animation-timing-function:ease-out}100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}
body.motion-paused [data-process-card]{animation:none!important;opacity:1;transform:none}
@media(max-width:700px){.js [data-process-card].has-arrived{animation-delay:0ms}}
@media(prefers-reduced-motion:reduce){.js [data-process-card]{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}.hero-media,.hero-media>img{transform:none!important}.ambient-smile{display:none!important}}

/* Selected Work: bouncy client pills and a single video-led content card. */
.work-sticky{display:flex;flex-direction:column;justify-content:center;gap:22px;height:84vh;max-height:940px;padding-bottom:30px;align-items:stretch}
.work-select{position:relative;display:flex;align-self:center;gap:3px;padding:5px;background:#e3e3e3;border-radius:999px;isolation:isolate;max-width:100%}
.work-select button{position:relative;padding:12px 25px;border-radius:999px;color:#5c5c5c;font-size:15px;z-index:1;white-space:nowrap;transition:color .2s}
.work-select button[aria-selected=true]{color:#f2f2f2}.work-select button:after{display:none!important}.work-select button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.work-tab-indicator{position:absolute;top:5px;bottom:5px;left:5px;background:#1b1b1c;border-radius:999px;transform-origin:left center;pointer-events:none}
.work-card{position:relative;display:grid;grid-template-columns:41% 54%;align-items:center;background:#ffffff;border-radius:26px;padding:clamp(24px,3.3vw,56px);gap:5%;height:min(62vh,680px);min-height:390px;transform-origin:50% 50%;isolation:isolate}
.work-media{grid-column:2;grid-row:1;height:100%;width:100%;max-height:none;border-radius:16px}
.work-copy-stack{grid-column:1;grid-row:1;margin:0;min-height:0;padding-right:5%}
.work-copy{transition:opacity .22s ease,transform .6s var(--ease);transform:translateY(12px)}.work-copy.active{transform:none}
.work-copy h3{font-size:clamp(28px,3vw,50px);margin-bottom:22px}.work-copy .eyebrow{margin-bottom:18px}.work-copy>p:not(.eyebrow){font-size:clamp(15px,1.3vw,21px);margin-bottom:30px}
.project-film{transition:opacity .3s ease,visibility .3s;transform:none}.project-film.active{transform:none}
.work-progress{position:static;display:flex;justify-content:space-between;font-size:11px}
@media(max-width:1000px) and (min-width:701px){.work-card{height:58vh;min-height:360px;padding:28px}.work-copy h3{font-size:30px}.work-copy>p:not(.eyebrow){font-size:15px;margin-bottom:22px}.work-sticky{height:82vh}}
@media(max-width:700px){.work-sticky{top:20px;gap:15px;height:auto;max-height:none;padding-bottom:20px}.work-select button{padding:10px 20px;font-size:13px}.work-card{display:flex;flex-direction:column;height:auto;min-height:0;padding:19px;border-radius:20px;gap:22px}.work-media{order:0;height:27vh;min-height:165px;aspect-ratio:auto;border-radius:12px}.work-copy-stack{order:1;padding:0;width:100%;min-height:215px;margin:0}.work-copy h3{font-size:29px;margin-bottom:13px}.work-copy .eyebrow{font-size:10px;margin-bottom:8px}.work-copy>p:not(.eyebrow){font-size:14px;margin-bottom:18px}.work-progress{font-size:9px;gap:12px}.work-scroll{height:210vh;min-height:1300px}}

/* The entire page canvas fades light / charcoal / light as the reader scrolls. */
body.tone-enabled{background:var(--canvas-bg,var(--paper));color:var(--canvas-fg,var(--ink))}
.tone-enabled .dark-chapter{background:transparent;color:inherit;--line:var(--canvas-line)}
.tone-enabled .tone-transition{background:none}
.tone-enabled .section-label{border-color:var(--canvas-line,var(--line))}
.tone-enabled .service-list details,.tone-enabled .footer-bottom{border-color:var(--canvas-line)}
.tone-enabled .service-summary,.tone-enabled .service-more,.tone-enabled .plus,.tone-enabled .quote-controls,.tone-enabled .quote-card small{color:var(--canvas-muted)}
.tone-enabled .service-more a{color:inherit}
.tone-enabled .process-card,.tone-enabled .work-card,.tone-enabled .work-select{color:var(--ink)}
.tone-enabled .circle-button{border-color:var(--canvas-line)}

/* Fixed, negative-color navigation, with the inspected Motto collapse sequence. */
body.has-motion-nav{padding-top:120px}
.motion-nav.site-header{position:fixed;top:0;left:5%;right:5%;width:90%;max-width:none;height:120px;margin:0;z-index:45;background:transparent;color:#fff;mix-blend-mode:difference;transition:height .75s cubic-bezier(.16,.7,.2,1);pointer-events:none}
.motion-nav a,.motion-nav button{pointer-events:auto}.motion-nav .brand img{filter:none}
.motion-nav .brand{width:112px;flex:none;transition:width .35s ease}
.motion-nav .desktop-nav{position:absolute;left:50%;transform:translateX(-50%);gap:30px;white-space:nowrap}
.motion-nav .desktop-nav a{transition:transform 1s cubic-bezier(.16,1,.3,1),opacity 1s cubic-bezier(.16,1,.3,1);transition-delay:0s}
.motion-nav .desktop-nav a:nth-child(2){transition-delay:.035s}.motion-nav .desktop-nav a:nth-child(3){transition-delay:.07s}
.motion-nav .header-actions{position:relative;display:block;margin-left:auto;min-width:110px;white-space:nowrap}
.motion-nav .header-cta{display:block;transform:translateX(0);transition:transform 1s cubic-bezier(.16,1,.3,1);text-underline-offset:7px}
.motion-nav .menu-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:0;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;text-underline-offset:7px}
.motion-nav.is-compact{height:90px}.motion-nav.is-compact .brand{width:72px}
.motion-nav.is-compact .desktop-nav a{opacity:0;transform:translateY(-100%);pointer-events:none;transition-duration:.75s;transition-timing-function:cubic-bezier(.16,.7,.2,1)}
.motion-nav.is-compact .desktop-nav a:nth-child(1){transition-delay:.07s}.motion-nav.is-compact .desktop-nav a:nth-child(2){transition-delay:.035s}.motion-nav.is-compact .desktop-nav a:nth-child(3){transition-delay:0s}
.motion-nav.is-compact .header-cta{transform:translateX(-100%);transition:transform .75s cubic-bezier(.16,.7,.2,1)}
.motion-nav.is-compact .menu-toggle{opacity:1;visibility:visible;transition:opacity .75s .25s,visibility 0s .25s}
@media(min-width:1800px){.motion-nav.site-header{left:calc((100vw - 1600px)/2);right:auto;width:1600px}}
@media(max-width:1000px){body.has-motion-nav{padding-top:95px}.motion-nav.site-header{height:95px}.motion-nav .brand{width:90px}.motion-nav .desktop-nav{gap:18px}.motion-nav.is-compact{height:80px}}
@media(max-width:700px){body.has-motion-nav{padding-top:86px}.motion-nav.site-header,.motion-nav.is-compact{height:86px;left:5.5%;right:5.5%;width:89%}.motion-nav .brand,.motion-nav.is-compact .brand{width:76px}.motion-nav .header-actions{display:flex;align-items:center;gap:25px;min-width:0}.motion-nav .header-cta,.motion-nav.is-compact .header-cta{transform:none;font-size:13px}.motion-nav .menu-toggle,.motion-nav.is-compact .menu-toggle{position:static;transform:none;opacity:1;visibility:visible;transition:none;font-size:13px}}
body.motion-paused .motion-nav,body.motion-paused .motion-nav *{transition:none!important}
@media(prefers-reduced-motion:reduce){.motion-nav,.motion-nav *{transition:none!important}}

/* Service rows start closed; every description belongs to the disclosure body. */
.service-list summary{align-items:center;padding:32px 0}
.service-more>.service-summary{display:block;margin:0 0 24px;line-height:1.3}
.service-list .plus{font-size:0;transform:none!important;flex:none;padding:0;min-width:20px;text-align:center}
.service-list .plus:before{content:'+';font-size:22px;line-height:1}
.service-list details[open] .plus:before{content:'−'}
@media(max-width:700px){.service-list summary{padding:26px 0}.service-more>.service-summary{margin-bottom:20px}}

/* Owner's upright smiley: drop, rebound, settle. No rotation or parallax drift. */
.footer-watermark{transform:none;opacity:.09;mix-blend-mode:multiply}
.footer-watermark img{filter:none;width:100%;height:auto}
.js .footer-watermark{transform:none}
body.motion-paused .footer-watermark{transform:rotate(12deg)!important}
@media(prefers-reduced-motion:reduce){.js .footer-watermark{transform:rotate(12deg)!important}}

.footer-watermark{width:min(52vw,760px);right:-4%;top:20px}
@media(max-width:700px){.footer-watermark{width:105%;right:-20%;top:90px}}

body.motion-paused .quote-track{transition:none}

/* Swap to the owner's supplied W+H mark in the compact sticky header. */
.motion-nav .brand,.motion-nav.is-compact .brand{position:relative;width:112px;height:54px;transition:none;display:flex;align-items:center}
.motion-nav .brand-full{position:absolute;left:0;top:0;width:100%;height:auto;opacity:1;transform:translateY(0);transition:opacity .35s ease .2s,transform .35s ease .2s}
.motion-nav .brand .brand-compact{position:absolute;left:0;top:50%;width:100%;height:auto;filter:invert(1);opacity:0;transform:translateY(calc(-50% + 6px));transition:opacity .35s ease,transform .35s ease}
.motion-nav.is-compact .brand-full{opacity:0;transform:translateY(-6px);transition-delay:0s}
.motion-nav.is-compact .brand .brand-compact{opacity:1;transform:translateY(-50%);transition-delay:.2s}
@media(max-width:1000px){.motion-nav .brand,.motion-nav.is-compact .brand{width:90px;height:43px}}
@media(max-width:700px){.motion-nav .brand,.motion-nav.is-compact .brand{width:76px;height:37px}}

/* Let the full smiley clear the footer edge during its drop and rebounds. */
body.has-motion-nav{overflow-x:clip}
footer#start{overflow:visible}

.js .footer-watermark{visibility:visible}
body.motion-paused .footer-watermark{visibility:visible}
@media(prefers-reduced-motion:reduce){.js .footer-watermark{visibility:visible}}

/* Group the expanded navigation beside the contact link. */
.motion-nav .desktop-nav{left:auto;right:calc(110px + 48px);transform:none}
@media(max-width:1000px) and (min-width:701px){.motion-nav .desktop-nav{right:calc(110px + 32px)}}

/* Keep the owner's chartreuse contact pill in full color, above the inverted header. */
.motion-nav .header-actions{min-width:140px}
.motion-nav .contact-placeholder{visibility:hidden;pointer-events:none;min-width:140px}
.motion-nav .desktop-nav{right:calc(140px + 48px)}
.nav-contact{position:fixed;z-index:46;right:5%;top:36px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:140px;padding:15px 23px;border-radius:999px;background:#b7fd79;color:#101010;font-size:16px;line-height:1.15;white-space:nowrap;transform:translateX(0);transition:transform 1s cubic-bezier(.16,1,.3,1),top .75s cubic-bezier(.16,.7,.2,1),background .25s}
.nav-contact:hover{background:#c5ff91}.nav-contact span{transition:transform .3s}.nav-contact:hover span{transform:translateX(3px)}
.nav-compact .nav-contact{top:21px;transform:translateX(-100%);transition:transform .75s cubic-bezier(.16,.7,.2,1),top .75s cubic-bezier(.16,.7,.2,1),background .25s}
@media(min-width:1800px){.nav-contact{right:calc((100vw - 1600px)/2)}}
@media(max-width:1000px) and (min-width:701px){.nav-contact{top:24px}.nav-compact .nav-contact{top:16px}.motion-nav .desktop-nav{right:calc(140px + 32px)}}
@media(max-width:700px){.motion-nav .header-actions{min-width:0}.motion-nav .contact-placeholder{min-width:120px}.nav-contact,.nav-compact .nav-contact{top:24px;right:calc(5.5% + 58px);padding:12px 18px;min-width:120px;font-size:13px;transform:none}}
body.motion-paused .nav-contact,body.motion-paused .nav-contact span{transition:none}
@media(prefers-reduced-motion:reduce){.nav-contact,.nav-contact span{transition:none}}

.site-menu nav{margin:5vh 0 4vh}.site-menu nav a{font-size:clamp(34px,5vw,82px);padding:12px 0}
@media(max-width:700px){.site-menu nav{margin-top:6vh}.site-menu nav a{font-size:36px;padding:17px 0}}

/* Fit all seven flyout links in view; open spacing and a clear rollover. */
.site-menu{height:100dvh;padding:clamp(18px,3vh,32px) 5vw;overflow:hidden}
.site-menu .menu-top{height:32px;justify-content:flex-end;flex:none}
.site-menu[open]{display:flex;flex-direction:column}
.site-menu nav{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));flex:1;min-height:0;margin:clamp(12px,3vh,32px) 0 20px}
.site-menu nav a{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:0;padding:8px 0;font-size:clamp(30px,min(5.1vw,7.6dvh),78px);line-height:1.12;letter-spacing:-.015em;transition:color .25s ease,padding .4s var(--ease),background .25s ease}
.site-menu nav a:before{content:'↗';font-size:.6em;position:absolute;left:0;top:50%;transform:translate(-12px,-50%);opacity:0;transition:opacity .25s ease,transform .4s var(--ease)}
.site-menu nav a:is(:hover,:focus-visible){padding-left:.85em;background:#e3e3e3;color:#1b1b1c}
.site-menu nav a:is(:hover,:focus-visible):before{opacity:1;transform:translate(8px,-50%)}
.site-menu nav a span{flex:none;padding-left:20px;font-size:12px;letter-spacing:0}
.site-menu>p{flex:none;font-size:10px;line-height:1.2}
@media(max-width:700px){.site-menu{padding:18px 5.5vw}.site-menu nav{margin:15px 0}.site-menu nav a{font-size:clamp(27px,min(8vw,6.5dvh),42px);letter-spacing:-.015em;padding:6px 0}.site-menu nav a span{font-size:10px}}
@media(max-height:480px){.site-menu{padding-block:10px}.site-menu nav{margin:6px 0}.site-menu nav a{font-size:clamp(20px,6.3dvh,32px);padding:3px 0}.site-menu .menu-top{height:24px}.site-menu>p{font-size:9px}}
body.motion-paused .site-menu nav a,body.motion-paused .site-menu nav a:before{transition:none}

/* Let Selected Work use the available browser height below the fixed header. */
@media(min-width:701px){
 .work-sticky{top:96px;height:calc(100dvh - 112px);max-height:none;padding-bottom:0;gap:18px;justify-content:flex-start}
 .work-select{flex:none}
 .work-card{flex:1;min-height:0;height:auto;max-height:none;grid-template-rows:minmax(0,1fr);padding:clamp(24px,3dvh,48px) clamp(24px,3.3vw,56px)}
 .work-media{min-height:0;max-height:none;height:100%}
 .work-progress{flex:none;min-height:16px}
}
@media(min-width:701px) and (max-height:650px){
 .work-sticky{top:82px;height:calc(100dvh - 94px);gap:12px}
 .work-select button{padding:9px 22px}
 .work-card{padding:20px 28px;gap:4%;grid-template-columns:42% 54%}
 .work-copy h3{font-size:clamp(25px,4.6dvh,36px);margin-bottom:14px}
 .work-copy .eyebrow{margin-bottom:10px;font-size:11px}
 .work-copy>p:not(.eyebrow){font-size:clamp(13px,2.5dvh,16px);margin-bottom:18px}
}

/* Five client stories retain comfortable scroll pacing and touchable tabs. */
.work-scroll{height:440dvh;min-height:2400px}
.work-select{overflow-x:auto;overflow-y:hidden;flex-shrink:0;scrollbar-width:none}
.work-select::-webkit-scrollbar{display:none}.work-select button{flex:none}
@media(max-width:1000px){.work-select{align-self:center;max-width:100%}.work-select button{padding-inline:18px;font-size:13px}}
@media(max-width:700px){.work-scroll{height:480dvh;min-height:2700px}.work-select{align-self:stretch}.work-select button{padding-inline:16px;font-size:12px}}

/* Direction-aware circular fills echo the supplied Osmo button reference. */
.directional-pill{overflow:hidden;isolation:isolate;--hover-x:50%;--hover-y:50%;--hover-size:400px;--hover-fill:#ffffff20}
.pill.directional-pill{position:relative}
.directional-pill:before{content:'';position:absolute;pointer-events:none;left:var(--hover-x);top:var(--hover-y);width:var(--hover-size);height:var(--hover-size);border-radius:50%;background:var(--hover-fill);transform:translate(-50%,-50%) scale(0);transition:transform .5s cubic-bezier(.22,1,.36,1);z-index:0}
.directional-pill:is(.is-pointer-over,:focus-visible):before{transform:translate(-50%,-50%) scale(1)}
.directional-pill>.pill-label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:inherit;pointer-events:none}
.nav-contact.directional-pill{--hover-fill:#a2ed60}
.nav-contact.directional-pill:hover{background:#b7fd79}
.nav-contact.directional-pill>.pill-label,.nav-contact.directional-pill:hover>.pill-label{transform:none}
.pill.dark.directional-pill{--hover-fill:#414143}.pill.dark.directional-pill:hover{transform:none}
.work-select button.directional-pill{--hover-fill:#0000000c}
.work-select button.directional-pill[aria-selected=true]{--hover-fill:#ffffff1a}
body.motion-paused .directional-pill:before{transition:none}
@media(prefers-reduced-motion:reduce){.directional-pill:before{transition:none}}
/* Main-page heroes follow Jim's approved reference; body content is preserved. */
.unified-design .type-hero,.unified-design .type-display,.unified-design .type-heading,.unified-design .type-title,.unified-design .type-lead{letter-spacing:-.025em;line-height:1.06}
.unified-design .type-body,.unified-design .type-body-lg{letter-spacing:-.01em}
.unified-design .inner-hero{position:relative;background:#f2f2f2;color:#1b1b1c;padding:clamp(100px,12dvh,180px) 5vw clamp(80px,10dvh,150px);min-height:calc(100svh - 120px);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(80px,15dvh,180px)}
.inner-hero-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7vw}
.inner-hero h1{font-size:clamp(65px,10.7vw,210px);font-weight:500;letter-spacing:-.025em;line-height:1.02;max-width:100%;text-wrap:balance}
.shared-badge.outline-badge{position:relative;right:auto;top:auto;width:clamp(140px,16vw,310px);aspect-ratio:1;flex:none}
.shared-badge.outline-badge span{font-size:clamp(12px,1.15vw,21px);padding:12px}
.inner-hero-bottom{display:grid;grid-template-columns:48% 52%;align-items:end;gap:0}
.inner-hero-links{display:flex;flex-wrap:wrap;gap:25px 45px;align-items:end;padding-right:20px}
.inner-hero-intro{font-size:clamp(24px,2.5vw,49px);letter-spacing:-.02em;line-height:1.12;max-width:880px}
.inner-hero-aside{margin-top:-40px}.inner-hero-aside .shared-badge{display:none}
.inner-hero-preserved-media{position:relative;isolation:isolate;overflow:hidden;border-radius:10px;height:220px;margin-top:-30px}
.inner-hero-preserved-media picture img{z-index:0}.inner-hero-preserved-media>div{display:none}
.unified-design form button[type=submit]{background:#b7fd79;color:#1b1b1c;border-radius:999px;padding:15px 25px}
.unified-design .tone-dark{--border:#5a5a5a}
.unified-design footer#start{padding-top:clamp(70px,8vw,130px);margin-top:0;background:transparent}
@media(max-width:1000px){.unified-design .inner-hero{min-height:calc(100svh - 95px)}}
@media(max-width:700px){.unified-design .inner-hero{min-height:calc(100svh - 86px);padding:70px 5.5vw 65px;gap:65px}.inner-hero-title-row{grid-template-columns:minmax(0,1fr);gap:35px}.inner-hero h1{font-size:clamp(54px,13vw,90px)}.inner-hero-badge.shared-badge{width:120px;justify-self:end}.inner-hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:35px}.inner-hero-links{order:1;gap:20px 30px}.inner-hero-intro{order:0;font-size:26px}.inner-hero-preserved-media{height:160px}.shared-badge.outline-badge{width:140px}}

.unified-design .article-page-hero h1{font-size:clamp(42px,5.7vw,110px)}
.unified-design .article-page-hero{min-height:75svh}
.unified-design .case-page-hero h1{font-size:clamp(54px,8vw,155px)}

.outline-badge.badge-suspended img{animation-play-state:paused}

/* Shared scroll canvas: section labels declare destinations, not static color slabs. */
body.unified-design.inner-canvas, .inner-canvas main [data-tone]{
 --background:var(--canvas-bg,#f2f2f2);--foreground:var(--canvas-fg,#1b1b1c);
 --night:var(--canvas-bg,#1b1b1c);--night-foreground:var(--canvas-fg,#f2f2f2);
 --muted-text:var(--canvas-muted,#646464);--muted-foreground:var(--canvas-muted,#646464);
 --subtle:var(--canvas-muted,#646464);--border:var(--canvas-line,#c6c6c6);
}
.inner-canvas main [data-tone]{background-color:transparent;color:var(--canvas-fg);transition:none}
.inner-canvas main .inner-hero{background:transparent;color:var(--canvas-fg)}

/* Original alpha-transparent artwork; CSS inversion preserves its transparent pixels. */
.footer-watermark img{filter:invert(1);background:transparent}

.page-curtain img{width:clamp(110px,12vw,180px);height:auto;filter:none;background:transparent}

/* One-second work reel: a clean layered dissolve with a restrained camera move. */
.hero-media>.hero-reel-image{opacity:0;scale:1.035;transition:opacity .65s cubic-bezier(.4,0,.2,1),scale 1s cubic-bezier(.22,1,.36,1);z-index:0}
.hero-media>.hero-reel-image.is-current{opacity:1;scale:1;z-index:1}
.hero-media>.hero-reel-image.is-leaving{opacity:1;scale:1;z-index:0}
body.motion-paused .hero-media>.hero-reel-image{scale:1;transition:none}
@media(prefers-reduced-motion:reduce){.hero-media>.hero-reel-image{scale:1;transition:none}}

/* Give the final page content a generous pause before the shared footer. */
.unified-design .shared-footer-shell{padding-top:clamp(160px,18vw,320px)}
@media(max-width:700px){.unified-design .shared-footer-shell{padding-top:120px}}

/* Internal-page system measured from Jim's revised What we do design. */
.unified-design:has(.inner-hero) main{--gutter:5vw}
.unified-design:has(.inner-hero) main :is(.type-display,.type-title,.type-heading,.type-lead){text-transform:none;letter-spacing:-.025em;font-weight:500}
.unified-design:has(.inner-hero) main .type-display{font-size:clamp(40px,6.6vw,110px);line-height:1.04}
.unified-design:has(.inner-hero) main .type-title{font-size:clamp(30px,4vw,68px);line-height:1.04}
.unified-design:has(.inner-hero) main .font-display-italic{font-family:var(--font-sans);font-style:normal;color:inherit}
.unified-design:has(.inner-hero) main .type-label{font-size:clamp(11px,.92vw,15px);letter-spacing:0}
.wwd-page .inner-hero-title-row{padding-left:4vw}
.wwd-page .inner-hero{min-height:calc(92svh - 120px)}
.wwd-statement{padding-block:clamp(95px,13vw,225px) clamp(110px,16vw,270px)}
.wwd-statement h2{max-width:74%;font-size:clamp(42px,6.7vw,114px);line-height:1.015;letter-spacing:-.025em;font-weight:500;text-wrap:pretty}
.wwd-section-rule{border-top:1px solid var(--border,#c6c6c6);padding-top:22px}
.wwd-section-rule .type-label{max-width:none}
.wwd-section-rule .type-label>span:first-child{display:none}
.wwd-service{padding-block:clamp(65px,9vw,155px)}
.wwd-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.wwd-service-title{font-size:clamp(32px,4vw,68px);line-height:1.04;letter-spacing:-.025em;max-width:85%;text-wrap:balance}
.wwd-service-description{font-size:clamp(16px,1.38vw,23px);line-height:1.32;max-width:36em;text-indent:2em}
.wwd-service-items{margin-top:clamp(30px,4.2vw,72px)}
.wwd-service-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:25px;padding:13px 0;text-align:left;cursor:pointer;font-size:clamp(16px,1.4vw,23px);line-height:1.22}
.wwd-service-toggle:hover{color:var(--canvas-muted,#666)}
.wwd-service-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wwd-service-items>li{border-color:var(--border,#c6c6c6)}
.wwd-service-items [role=region] p{font-size:clamp(15px,1.24vw,20px);line-height:1.4}
.wwd-brands{padding-top:clamp(90px,11vw,190px)}
.wwd-logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(35px,5vw,80px) 5vw;align-items:center;padding:clamp(40px,6vw,100px) 0}
.wwd-logo-grid li{display:flex;align-items:center;justify-content:center}
.wwd-logo-grid img{height:clamp(25px,3vw,50px);max-width:100%;width:auto;object-fit:contain}
.wwd-reasons{padding-top:clamp(70px,10vw,170px)}
.wwd-section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-block:clamp(50px,6vw,100px)}
.wwd-section-heading h2,.wwd-method h2{font-size:clamp(36px,4.2vw,72px);line-height:1.04;letter-spacing:-.025em;max-width:7.5em;font-weight:500}
.wwd-reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw}
.wwd-reason-grid li{padding:clamp(24px,2.5vw,42px);background:#fff;color:#1b1b1c}
.wwd-reason-grid h3{font-size:clamp(24px,2.4vw,40px);line-height:1.08;letter-spacing:-.02em;margin:18px 0}
.wwd-reason-grid .type-body{font-size:clamp(16px,1.32vw,22px);line-height:1.35;color:#626262}
.wwd-headphones{position:relative;margin-top:clamp(95px,12vw,205px)}
.wwd-headphones>picture img,.wwd-headphones>img{aspect-ratio:1.8;object-fit:cover}
.wwd-image-badge{position:absolute;left:3vw;bottom:3vw}
.wwd-testimonials{padding-top:clamp(80px,10vw,170px)}
.wwd-testimonial-heading{display:flex;justify-content:space-between;align-items:start;gap:25px}
.wwd-testimonial-heading .type-label{max-width:15rem}
.wwd-quote-carousel{margin-top:30px}
.wwd-quote-slide{width:70%;padding-right:7%}
.wwd-quote-slide .type-quote{font-size:clamp(29px,4vw,68px);line-height:1.08;letter-spacing:-.025em}
.wwd-quote-carousel ul{padding-block:20px;scroll-padding-right:30%;padding-right:30%;gap:5vw}
.wwd-quote-slide{transition:opacity .5s ease}
.wwd-quote-slide:not(.is-active){opacity:.25}
.wwd-method{padding-top:clamp(100px,14vw,235px)}
.wwd-method-grid{display:grid;grid-template-columns:1fr 38%;gap:12%;padding-top:clamp(50px,6vw,100px)}
.wwd-method-copy{margin-top:clamp(40px,5vw,85px);max-width:35em}
.wwd-method-copy .type-body-lg{font-size:clamp(16px,1.4vw,23px);line-height:1.4}
.wwd-method-image{width:100%;height:100%;max-height:680px;aspect-ratio:.72;object-fit:cover;border-radius:8px}
@media(max-width:700px){
 .unified-design:has(.inner-hero) main{--gutter:5.5vw}
 .wwd-page .inner-hero{min-height:calc(100svh - 86px)}
 .wwd-page .inner-hero-title-row{padding-left:0}
 .wwd-statement{padding-block:90px 110px}.wwd-statement h2{max-width:100%;font-size:clamp(40px,9.7vw,65px)}
 .wwd-service-grid{grid-template-columns:1fr;gap:32px}.wwd-service-title{max-width:90%;font-size:36px}.wwd-service{padding-block:55px}
 .wwd-service-description{font-size:17px}.wwd-service-toggle{padding-block:15px}
 .wwd-logo-grid{grid-template-columns:repeat(3,1fr);gap:35px 25px;padding-block:40px}.wwd-logo-grid img{height:28px}
 .wwd-section-heading{align-items:start;flex-direction:column;margin-block:40px;gap:25px}
 .wwd-reason-grid{grid-template-columns:1fr;gap:18px}.wwd-reason-grid li{padding:28px}.wwd-reason-grid h3{font-size:29px}
 .wwd-headphones{margin-top:70px}.wwd-headphones>picture img,.wwd-headphones>img{aspect-ratio:1.2}.wwd-image-badge{width:90px;height:90px;left:20px;bottom:20px}
 .wwd-testimonial-heading{flex-direction:column}.wwd-quote-slide{width:90%;padding-right:3%}.wwd-quote-carousel ul{padding-right:10%;scroll-padding-right:10%}
 .wwd-method-grid{grid-template-columns:1fr;gap:45px}.wwd-method-image{max-height:500px}.wwd-method-copy{margin-top:30px}
}
/* Slide percentages resolve against the track's content box, after the next-slide preview gutter. */
.wwd-quote-slide{width:100%}
.wwd-page section[id]{scroll-margin-top:112px}
.wwd-section-heading h2{max-width:5.7em}
.wwd-logo-grid img{max-width:clamp(70px,8vw,135px)}


/* Who we are: Jim's supplied About composition, with the shared scroll canvas. */
.about-design .inner-hero-title-row{padding-left:4vw}
.about-design .inner-hero{min-height:calc(92svh - 120px)}
.about-statement{padding-block:clamp(100px,14vw,240px) clamp(130px,19vw,325px)}
.about-statement h2{font-size:clamp(42px,8vw,136px);line-height:1.015;letter-spacing:-.025em;font-weight:500}
.about-statement h2 span{display:block}
.about-section-rule{border-top:1px solid var(--border,#c6c6c6);padding-top:22px}
.about-section-rule .type-label{max-width:none}
.about-section-rule .type-label>span:first-child{display:none}
.about-story-content{margin:clamp(70px,9vw,155px) 16% 0 28%;padding-bottom:clamp(100px,15vw,255px)}
.about-story-content h2,.about-founder-intro h2{font-size:clamp(34px,4.2vw,72px);line-height:1.04;letter-spacing:-.025em;font-weight:500;text-wrap:pretty}
.about-story-copy{margin-top:clamp(35px,4.5vw,76px)}
.about-story-copy .type-body-lg{font-size:clamp(16px,1.4vw,23px);line-height:1.35;text-indent:0}
.about-founders{scroll-margin-top:112px}
.about-founder-grid{display:grid;grid-template-columns:36% minmax(0,1fr);gap:9%;padding-block:clamp(55px,6.5vw,110px) clamp(100px,14vw,240px)}
.about-founder-intro h2{max-width:7em}
.about-founder-intro>p{font-size:clamp(16px,1.4vw,23px);line-height:1.3;margin-top:30px;max-width:23em}
.about-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start}
.about-portraits img{border-radius:5px}
.about-founder-caption{font-size:clamp(12px,1.08vw,18px);line-height:1.22;margin-top:16px}
.about-founder-caption span{display:block}.about-founder-caption span+span{color:var(--canvas-muted,#aaa)}
.about-values ul{padding-top:clamp(45px,5vw,85px)}
.about-values li{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:8%;padding-block:clamp(45px,6vw,100px);border-bottom:1px solid var(--border,#c6c6c6)}
.about-values li:last-child{border-bottom:0}
.about-values h3{font-size:clamp(30px,4.2vw,72px);line-height:1.04;letter-spacing:-.025em}
.about-values li>p{font-size:clamp(16px,1.4vw,23px);line-height:1.35;max-width:32em}
@media(max-width:700px){
 .about-design .inner-hero{min-height:calc(100svh - 86px)}
 .about-design .inner-hero-title-row{padding-left:0}
 .about-statement{padding-block:85px 120px}.about-statement h2{font-size:clamp(38px,9.4vw,64px)}
 .about-story-content{margin:55px 0 0;padding-bottom:100px}
 .about-story-content h2,.about-founder-intro h2{font-size:36px}
 .about-story-copy .type-body-lg{font-size:17px;line-height:1.4}
 .about-founder-grid{grid-template-columns:1fr;gap:40px;padding-block:45px 95px}
 .about-founder-intro h2{max-width:8em}.about-founder-intro>p{max-width:none;font-size:17px}
 .about-portraits{gap:14px}.about-founder-caption{font-size:12px;margin-top:12px;line-height:1.3}
 .about-values li{grid-template-columns:1fr;gap:25px;padding-block:40px}.about-values h3{font-size:33px}.about-values li>p{font-size:17px}
}

/* Contact clip: a generous feature frame rather than a panoramic strip. */
.contact-page-hero .inner-hero-preserved-media{height:auto;aspect-ratio:16/9;max-height:75svh;margin-top:0}
.contact-page-hero .inner-hero-preserved-media img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.contact-page-hero .inner-hero-preserved-media{aspect-ratio:4/3;max-height:none}}


/* Contact follows the same editorial grid and scale as the approved internal pages. */
.contact-design .inner-hero-title-row{padding-left:4vw}
.contact-design .inner-hero{min-height:calc(92svh - 120px)}
.contact-feature-frame{position:relative;aspect-ratio:16/9;max-height:75svh;overflow:hidden;border-radius:8px}
.contact-feature-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-section{padding-top:clamp(100px,14vw,235px);scroll-margin-top:112px}
.contact-section-rule{border-top:1px solid var(--border,#c6c6c6);padding-top:22px}
.contact-section-rule .type-label{max-width:none}.contact-section-rule .type-label>span:first-child{display:none}
.contact-section-grid{display:grid;grid-template-columns:38% minmax(0,1fr);gap:12%;padding-top:clamp(55px,7vw,118px)}
.contact-section-intro h2,.contact-booking h2{font-size:clamp(32px,3.8vw,64px);line-height:1.07;letter-spacing:-.025em;font-weight:500;text-wrap:pretty}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;margin:0;align-content:start}
.contact-field{min-width:0;grid-column:1/-1}.contact-field-name,.contact-enquiry-form .contact-field-company,.contact-proposal-form .contact-field-email{grid-column:auto}
.contact-field-label{display:block;font-size:clamp(14px,1.1vw,18px);line-height:1.4;margin-bottom:9px}
.contact-design .contact-field :is(input,textarea){font-family:inherit;font-size:clamp(20px,1.7vw,28px);line-height:1.3;padding:8px 0 13px;border:0;border-bottom:1px solid var(--border,#aaa);border-radius:0;outline:0;color:inherit;box-shadow:none;min-width:0;width:100%}
.contact-design .contact-field :is(input,textarea):focus{border-color:currentColor;box-shadow:0 1px 0 currentColor}
.contact-design .contact-field [aria-invalid=true]{border-color:#bf4040}
.contact-field textarea{min-height:145px}
.contact-design .contact-form .type-body{font-size:clamp(14px,1.15vw,18px);line-height:1.4}
.contact-form :is(fieldset,.contact-form-note,[role=status]){grid-column:1/-1}
.contact-form-note{max-width:38em}
.contact-form [role=status]:empty{display:none}
.unified-design .contact-form button[type=submit]{justify-self:start;padding:15px 27px;font-size:16px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .25s,transform .25s;background:#1b1b1c;color:#f2f2f2}
.unified-design .contact-form button[type=submit]:after{content:'↗';display:inline-block;margin-left:20px;transition:transform .25s}
.unified-design .contact-form button[type=submit]:hover{background:#3d3d3e}.unified-design .contact-form button[type=submit]:hover:after{transform:translate(2px,-2px)}
.contact-form button[type=submit]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.contact-form fieldset legend{font-size:clamp(15px,1.2vw,20px)}
.contact-form fieldset label span{font-size:15px;padding:9px 17px;transition:background .2s,color .2s}
.contact-form fieldset label span:hover{background:#e3e3e3;color:#1b1b1c}
.contact-direct{margin-top:clamp(100px,14vw,235px);padding-top:clamp(70px,8vw,135px);padding-bottom:clamp(70px,10vw,170px)}
.contact-direct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%;padding-top:clamp(55px,7vw,118px)}
.contact-email{display:inline-block;font-size:clamp(36px,4.3vw,73px);line-height:1.07;letter-spacing:-.025em;transition:opacity .25s}
.contact-email span{display:block}.contact-email:hover{opacity:.65}
.contact-booking h2{font-size:clamp(30px,3vw,51px)}
.contact-booking p{font-size:clamp(17px,1.4vw,23px);line-height:1.35;margin-top:28px;max-width:29em}
.contact-booking-link{display:table;margin-top:30px}.contact-vcr-link{display:block;margin-top:40px;max-width:28em;line-height:1.35}
@media(max-width:700px){
 .contact-design .inner-hero{min-height:calc(100svh - 86px)}.contact-design .inner-hero-title-row{padding-left:0}
 .contact-feature-frame{aspect-ratio:4/3;max-height:none}
 .contact-section{padding-top:85px}.contact-section-grid{grid-template-columns:1fr;gap:40px;padding-top:45px}
 .contact-section-intro h2{font-size:33px;max-width:16em}
 .contact-form{gap:29px;grid-template-columns:1fr}.contact-field-name,.contact-enquiry-form .contact-field-company,.contact-proposal-form .contact-field-email{grid-column:1/-1}
 .contact-field-label{font-size:15px}.contact-design .contact-field :is(input,textarea){font-size:21px}
 .contact-direct{margin-top:100px;padding-block:65px}.contact-direct-grid{grid-template-columns:1fr;gap:65px;padding-top:45px}
 .contact-email{font-size:clamp(34px,8.6vw,56px)}.contact-booking h2{font-size:33px}.contact-booking p{font-size:17px}
}

.contact-feature-frame{width:100%;height:min(50.625vw,75svh);aspect-ratio:auto}
@media(max-width:700px){.contact-feature-frame{height:auto;aspect-ratio:4/3}}


/* VCR Sessions: the same editorial rhythm, ruled sections and restrained cards. */
.vcr-design .inner-hero-title-row{padding-left:4vw;gap:5vw}
.vcr-design .inner-hero h1{font-size:clamp(60px,8.3vw,155px)}
.vcr-design .inner-hero{min-height:calc(92svh - 120px)}
.vcr-section{padding-top:clamp(100px,14vw,235px);scroll-margin-top:112px}
.vcr-section-rule{border-top:1px solid var(--border,#c6c6c6);padding-top:22px}
.vcr-section-rule .type-label{max-width:none}.vcr-section-rule .type-label>span:first-child{display:none}
.vcr-statement{margin-top:clamp(55px,7vw,118px);font-size:clamp(39px,6vw,102px);line-height:1.04;letter-spacing:-.025em;font-weight:500}.vcr-statement span{display:block}
.vcr-intro-copy{margin:clamp(50px,7vw,118px) 0 0 50%}
.vcr-body .type-body-lg,.vcr-description{font-size:clamp(17px,1.4vw,23px);line-height:1.4}
.vcr-body .indent-lead{text-indent:0}
.vcr-editorial-grid{display:grid;grid-template-columns:38% minmax(0,1fr);gap:12%;padding-top:clamp(55px,7vw,118px)}
.vcr-heading{font-size:clamp(30px,3.6vw,61px);line-height:1.08;letter-spacing:-.025em;font-weight:500;text-wrap:pretty}
.vcr-description{margin-top:30px}
.vcr-process-grid{margin-top:clamp(55px,7vw,118px);gap:3vw}
.vcr-process-card{background:#fff;color:#1b1b1c;padding:clamp(25px,2.8vw,47px);display:flex;flex-direction:column}
.vcr-process-card h3{font-size:clamp(27px,2.5vw,42px);line-height:1.06;letter-spacing:-.025em;margin:30px 0 24px}
.vcr-process-card>p:not(.type-label),.vcr-between p{font-size:clamp(16px,1.3vw,22px);line-height:1.4;color:#626262}
.vcr-between{border-top:1px solid #d9d9d9;margin-top:35px;padding-top:25px}
.vcr-between h4{font-size:clamp(16px,1.3vw,22px);margin-bottom:13px}
.vcr-dark-chapter{margin-top:clamp(100px,14vw,235px);padding-bottom:clamp(100px,14vw,235px)}
.vcr-dark-chapter>.vcr-section:first-child{padding-top:clamp(65px,8vw,135px)}
.vcr-ruled-list{margin:0}.vcr-ruled-list li{border-bottom:1px solid var(--border,#c6c6c6);padding:19px 0;font-size:clamp(18px,1.65vw,28px);line-height:1.25}.vcr-ruled-list li:first-child{padding-top:0}
.vcr-deliverables>div{padding:26px 0;border-bottom:1px solid var(--border,#c6c6c6)}.vcr-deliverables>div:first-child{padding-top:0}
.vcr-deliverables dt{font-size:clamp(23px,2vw,34px);line-height:1.15;letter-spacing:-.015em}.vcr-deliverables dd{margin:15px 0 0;font-size:clamp(17px,1.4vw,23px);line-height:1.4}
.vcr-strategist-grid{display:grid;grid-template-columns:minmax(0,1fr) 38%;gap:12%;padding-top:clamp(55px,7vw,118px)}
.vcr-strategist-role{font-size:clamp(14px,1.1vw,18px);margin-top:15px}.vcr-strategist .vcr-body{margin-top:40px;max-width:35em}
.vcr-strategist-photo{width:100%;aspect-ratio:.9;object-fit:cover;border-radius:6px;filter:grayscale(1)}
.vcr-investment-card{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:clamp(28px,4vw,68px);margin-top:clamp(55px,7vw,118px);background:white;border-radius:8px;color:#1b1b1c}
.vcr-investment-summary h2{font-size:clamp(23px,2.2vw,37px);letter-spacing:-.025em}.vcr-price{font-size:clamp(65px,8vw,136px);line-height:1;letter-spacing:-.025em;margin:24px 0 35px}
.vcr-booking-detail{font-size:clamp(15px,1.2vw,20px);line-height:1.4;max-width:25em;margin-top:25px;color:#626262}
.vcr-investment-card .vcr-ruled-list{margin-top:26px}.vcr-investment-card .vcr-ruled-list li{font-size:clamp(16px,1.4vw,23px);border-color:#d5d5d5;padding-block:16px}
.vcr-close{padding-top:clamp(55px,7vw,118px)}
@media(max-width:700px){
 .vcr-design .inner-hero{min-height:calc(100svh - 86px)}.vcr-design .inner-hero-title-row{padding-left:0;gap:35px}.vcr-design .inner-hero h1{font-size:clamp(46px,11.5vw,75px)}
 .vcr-section{padding-top:85px}.vcr-statement{font-size:clamp(36px,8.6vw,60px);margin-top:45px}.vcr-intro-copy{margin:40px 0 0}
 .vcr-editorial-grid,.vcr-strategist-grid{grid-template-columns:1fr;gap:35px;padding-top:45px}.vcr-heading{font-size:33px}
 .vcr-process-grid{margin-top:45px;gap:18px}.vcr-process-card{padding:28px}.vcr-process-card h3{font-size:30px}.vcr-between{margin-top:25px}
 .vcr-dark-chapter{margin-top:90px;padding-bottom:85px}.vcr-dark-chapter>.vcr-section:first-child{padding-top:65px}
 .vcr-strategist-photo{max-height:520px;object-position:top}.vcr-investment-card{grid-template-columns:1fr;gap:40px;padding:28px;margin-top:45px}.vcr-price{font-size:78px}
 .vcr-investment-card .pill{font-size:14px;padding-inline:20px}.vcr-close{padding-top:45px}
}

.vcr-body>p+p{margin-top:24px}

/* Bring the compact contact pill closer to Menu while keeping a clear click gap. */
@media(min-width:701px){.nav-compact .nav-contact{transform:translateX(-64px)}}

/* Give the compact W+H mark a quieter scale without changing the opening logo. */
.motion-nav.is-compact .brand .brand-compact{width:88px}
@media(max-width:1000px){.motion-nav.is-compact .brand .brand-compact{width:74px}}
@media(max-width:700px){.motion-nav.is-compact .brand .brand-compact{width:64px}}

/* Shared editorial links must remain visibly actionable above the base anchor reset. */
.unified-design main .type-link{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px }
.unified-design main .type-link:after,.inner-hero-links .text-link:after{content:'↗';display:inline-block;margin-left:.5em;text-decoration:none;transition:transform .25s}
.unified-design main .type-link:hover:after,.inner-hero-links .text-link:hover:after{transform:translate(2px,-2px)}
.unified-design main .type-link[data-link-kind=live]:after{content:none}
.contact-email{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.contact-email span:last-child:after{content:'↗';display:inline-block;font-size:.6em;margin-left:.3em;text-decoration:none}

/* Center the visible badge label independently of the external-link accessibility text. */
.shared-badge.outline-badge>.badge-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;line-height:1.25}
.shared-badge.outline-badge>.sr-only{position:absolute;padding:0}

/* Motto contact reference: wide paired fields, outlined boxes and generous input space. */
.contact-design .contact-section-grid{grid-template-columns:minmax(0,1fr);gap:clamp(45px,5vw,85px)}
.contact-design .contact-section-intro h2{max-width:22em}
.contact-design .contact-form{gap:40px 22px;width:100%}
.contact-design .contact-field-label{font-size:clamp(16px,1.4vw,22px);line-height:1.3;margin-bottom:13px}
.contact-design .contact-field :is(input,textarea){background:transparent;border:1px solid #c4c4c4;border-radius:8px;padding:19px 20px;font-size:clamp(17px,1.4vw,22px);line-height:1.4;min-height:66px;transition:border-color .2s,background .2s}
.contact-design .contact-field :is(input,textarea):hover{border-color:#8c8c8c}
.contact-design .contact-field :is(input,textarea):focus{border-color:#1b1b1c;box-shadow:0 0 0 1px #1b1b1c;background:#ffffff30}
.contact-design .contact-field :is(input,textarea)::placeholder{color:#929292;opacity:1}
.contact-design .contact-field textarea{min-height:clamp(210px,21.5vw,320px);resize:vertical}
.contact-design .contact-field [aria-invalid=true]{border-color:#bf4040}
.contact-design .contact-form .type-body{font-size:clamp(14px,1.2vw,19px);line-height:1.4}
.unified-design .contact-form button[type=submit]{min-width:260px;min-height:64px;padding:20px 32px;font-size:18px;justify-content:space-between;grid-column:1/-1}
.contact-design .contact-form-note{max-width:none}
@media(max-width:700px){
 .contact-design .contact-section-grid{gap:38px}
 .contact-design .contact-section-intro h2{font-size:33px}
 .contact-design .contact-form{gap:30px}
 .contact-design .contact-field-label{font-size:16px;margin-bottom:11px}
 .contact-design .contact-field :is(input,textarea){font-size:17px;padding:17px;min-height:60px}
 .contact-design .contact-field textarea{min-height:210px}
 .unified-design .contact-form button[type=submit]{min-height:60px;min-width:220px;font-size:17px}
}

/* Keep the editorial two-column composition with the clearer outlined form fields. */
.contact-design .contact-section-grid{grid-template-columns:38% minmax(0,1fr);gap:12%}
.contact-design .contact-section-intro h2{max-width:none}
@media(max-width:700px){.contact-design .contact-section-grid{grid-template-columns:minmax(0,1fr);gap:38px}}

/* Hold the same branded cover across the document boundary, before first paint. */
html[data-page-enter]::before{content:'';position:fixed;inset:0;z-index:100;background:#1b1b1c url('/approved/assets/smile.png') center / clamp(110px,12vw,180px) auto no-repeat;pointer-events:all}
html[data-page-enter] .page-curtain{transform:translateY(0)}

/* Premium editorial motion: masked words, drawing rules, image depth and staggered entrances. */
.has-premium-motion .motion-word{display:inline-block;overflow:clip;vertical-align:bottom;padding-bottom:.13em;margin-bottom:-.13em;max-width:100%}
.has-premium-motion .motion-word-inner{display:block;transform:translate3d(0,112%,0) rotate(1.5deg);transform-origin:0 100%;transition:transform 950ms cubic-bezier(.22,1,.36,1);transition-delay:var(--word-delay,0ms);will-change:transform}
.has-premium-motion .premium-heading.motion-arrived .motion-word-inner{transform:translate3d(0,0,0) rotate(0)}
.has-premium-motion .inner-hero h1 .motion-word-inner{transition-duration:1100ms}
.has-premium-motion .premium-enter{opacity:0;transform:translate3d(0,42px,0);transition:opacity .85s var(--ease),transform 1.1s var(--ease);transition-delay:var(--entrance-delay,0ms)}
.has-premium-motion .premium-enter.motion-arrived{opacity:1;transform:translate3d(0,0,0)}
.has-premium-motion .premium-rule{position:relative;border-top-color:transparent}
.has-premium-motion .premium-rule:before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--canvas-line,var(--line,#c6c6c6));transform:scaleX(0);transform-origin:0 50%;transition:transform 1.35s cubic-bezier(.22,1,.36,1)}
.has-premium-motion .premium-rule.motion-arrived:before{transform:scaleX(1)}
.premium-image-window{display:block;position:relative;overflow:hidden;border-radius:8px;isolation:isolate}
.has-premium-motion .premium-parallax-image{translate:0 var(--premium-y,0px);scale:var(--premium-scale,1.12);will-change:translate,scale}
.has-premium-motion .premium-media-reveal{clip-path:inset(8% 3% 8% 3% round 12px);transition:clip-path 1.4s cubic-bezier(.22,1,.36,1)}
.has-premium-motion .premium-media-reveal.motion-arrived{clip-path:inset(0 0 0 0 round 8px)}
.has-premium-motion .inner-hero h1,.has-premium-motion .hero h1{translate:0 var(--hero-title-drift,0px);will-change:translate}
.has-premium-motion .inner-hero-intro,.has-premium-motion .hero-intro{translate:0 var(--hero-copy-drift,0px);will-change:translate}
.premium-project-card .premium-image-window{transition:clip-path 1.4s var(--ease),border-radius .6s var(--ease)}
@media(hover:hover){.premium-project-card:hover .premium-image-window{border-radius:22px}.about-portraits li img,.portrait-image img{transition:filter .7s var(--ease),transform 1s var(--ease)}.about-portraits li:hover img,.portrait-image:hover img{transform:scale(1.035)}}
.has-premium-motion .site-menu[open] nav a{animation:premiumMenuRow .8s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--menu-row-delay,0ms)}
@keyframes premiumMenuRow{from{opacity:0;transform:translate3d(0,38px,0);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translate3d(0,0,0);clip-path:inset(0)}}
.has-premium-motion .wwd-service-toggle{transition:padding .35s var(--ease),color .25s}
@media(hover:hover){.has-premium-motion .wwd-service-toggle:hover{padding-left:8px;padding-right:8px}}
body.motion-paused .premium-enter,body.motion-paused .motion-word-inner,body.motion-paused .premium-rule:before{opacity:1!important;transform:none!important;transition:none!important}
body.motion-paused .premium-media-reveal{clip-path:none!important;transition:none!important}
body.motion-paused .premium-parallax-image{translate:none!important;scale:1!important}
body.motion-paused .inner-hero h1,body.motion-paused .hero h1,body.motion-paused .inner-hero-intro,body.motion-paused .hero-intro{translate:none!important}
body.motion-paused .site-menu[open] nav a{animation:none!important}
@media(max-width:700px){.has-premium-motion .premium-enter{transform:translate3d(0,25px,0)}.has-premium-motion .premium-enter.motion-arrived{transform:none}.has-premium-motion .premium-media-reveal{clip-path:inset(4% 1% round 8px)}.has-premium-motion .premium-media-reveal.motion-arrived{clip-path:inset(0 round 8px)}.has-premium-motion .motion-word-inner{transition-duration:.8s}}
@media(prefers-reduced-motion:reduce){.has-premium-motion .premium-enter,.has-premium-motion .motion-word-inner,.has-premium-motion .premium-rule:before{opacity:1!important;transform:none!important;transition:none!important}.has-premium-motion .premium-media-reveal{clip-path:none!important}.has-premium-motion .premium-parallax-image{translate:none!important;scale:1!important}.has-premium-motion .inner-hero h1,.has-premium-motion .hero h1,.has-premium-motion .inner-hero-intro,.has-premium-motion .hero-intro{translate:none!important}}

.has-premium-motion .motion-word-inner{will-change:auto}
.has-premium-motion .premium-parallax-image{will-change:auto}
.has-premium-motion .is-parallax-active .premium-parallax-image{will-change:translate,scale}
body.motion-paused .site-menu[open],body.motion-paused .hero h1 .line>span{animation:none!important}

/* Selected Work selector follows the supplied Motto pill reference. */
.work-select{padding:7px;gap:0;background:#fff;border-radius:999px;box-shadow:none}
.work-select button{min-width:120px;padding:14px 28px;font-size:16px;font-weight:500;line-height:1.2;color:#1b1b1c;border-radius:999px;transition:color .25s ease}
.work-select button[aria-selected=true]{color:#fff}
.work-tab-indicator{top:7px;bottom:7px;left:7px;border-radius:999px;background:#1b1b1c}
@media(max-width:1000px){.work-select button{min-width:104px;padding:13px 22px;font-size:14px}}
@media(min-width:701px) and (max-height:650px){.work-select{padding:6px}.work-select button{padding:10px 22px}.work-tab-indicator{top:6px;bottom:6px}}
@media(max-width:700px){.work-select{padding:6px}.work-select button{min-width:100px;padding:12px 19px;font-size:13px}.work-tab-indicator{top:6px;bottom:6px}}


/* Scroll-through case-study ending: the next real project grows into the viewport. */
.next-project-flow{position:relative;height:210svh;margin-top:clamp(100px,14vw,235px);--next-progress:0;background:#1b1b1c;color:white}
.next-project-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}
.next-project-link{position:absolute;inset:0;display:block;color:#fff}
.next-project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.12 - var(--next-progress)*.12));will-change:transform}
.next-project-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0005 0%,#0007 48%,#000b 100%)}
.next-project-caption{position:absolute;left:5vw;right:5vw;top:40%;transform:translateY(-50%);text-align:center;color:#fff}
.next-project-caption .type-label{font-size:clamp(11px,1.1vw,18px);letter-spacing:0}
.next-project-title{font-size:clamp(54px,9vw,155px);font-weight:500;letter-spacing:-.025em;line-height:1.02;margin:25px 0 30px;text-wrap:balance}
.next-project-caption .text-link{font-size:clamp(15px,1.3vw,21px)}
.next-project-bottom{position:absolute;left:5vw;right:5vw;bottom:clamp(35px,5vh,65px);display:flex;justify-content:space-between;align-items:end;gap:35px;color:white}
.next-project-cue{width:min(400px,50%)}.next-project-cue p{font-size:clamp(16px,1.5vw,24px);line-height:1.2;max-width:16em}
.next-project-progress{height:2px;background:#ffffff45;margin-top:22px;overflow:hidden}.next-project-progress span{display:block;width:100%;height:100%;background:#fff;transform:scaleX(var(--next-progress));transform-origin:left}
.next-project-bottom>a{font-size:clamp(13px,1.1vw,18px);white-space:nowrap}
.next-project-manual-cue{display:none}
html[data-scroll-next-leave] .next-project-image{view-transition-name:project-cover}
html[data-scroll-next-leave] .next-project-title{view-transition-name:project-title}
html[data-scroll-next-enter] .inner-hero .motion-word-inner{transform:none!important;transition:none!important}
html[data-scroll-next-enter] .inner-hero .premium-enter{opacity:1!important;transform:none!important;transition:none!important}
body.motion-paused .next-project-image{transform:none;will-change:auto}
body.motion-paused .next-project-auto-cue{display:none}body.motion-paused .next-project-manual-cue{display:block}
@media(max-width:700px){.next-project-flow{height:190svh;margin-top:100px}.next-project-caption{left:5.5vw;right:5.5vw;top:40%}.next-project-title{font-size:clamp(42px,11vw,78px);margin-block:23px}.next-project-bottom{left:5.5vw;right:5.5vw;bottom:35px;gap:25px}.next-project-cue{width:55%}.next-project-cue p{font-size:16px}.next-project-bottom>a{font-size:12px;white-space:normal;max-width:9em;text-align:right}}
@media(prefers-reduced-motion:reduce){.next-project-flow{height:auto}.next-project-stage{position:relative;min-height:520px;height:75svh}.next-project-image{transform:none;will-change:auto}.next-project-auto-cue,.next-project-progress{display:none}.next-project-manual-cue{display:block}}
/* Keep the progress cue clear of the persistent motion-control button. */
.next-project-bottom{bottom:clamp(70px,8vh,95px)}
@media(max-width:700px){.next-project-bottom{bottom:65px}}

/* Keep both smileys on explicit layers on mobile Safari. */
.page-curtain{isolation:isolate}
.page-curtain img{display:block;width:clamp(110px,12vw,180px);height:clamp(110px,12vw,180px);max-width:none;object-fit:contain;position:relative;z-index:1;will-change:transform;backface-visibility:hidden}
.footer-watermark{z-index:0;mix-blend-mode:normal;visibility:visible}
footer#start .closing,footer#start .footer-bottom{position:relative;z-index:1}
@media(max-width:700px){.footer-watermark{opacity:.11}}

/* Settle against the browser edge after the left-hand landing and roll. */
.unified-design .footer-watermark{right:0;transform:rotate(12deg);transform-origin:50% 50%}

/* Match the leadership portrait corners. */
.process-card,.wwd-reason-grid>li{border-radius:5px}

/* Reading navigation: slide away downwards, return compact over frosted glass. */
body.has-motion-nav::before{content:'';position:fixed;inset:0 0 auto;height:90px;z-index:44;pointer-events:none;background:color-mix(in srgb,var(--canvas-bg,#f2f2f2) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--canvas-fg,#1b1b1c) 10%,transparent);opacity:0;translate:0 0;transition:opacity .3s ease,translate .3s ease}
body.nav-compact::before{opacity:1}
.motion-nav.site-header{translate:0 0;transition:height .75s cubic-bezier(.16,.7,.2,1),translate .3s ease}
.nav-compact .motion-nav{mix-blend-mode:normal;color:var(--canvas-fg,#1b1b1c)}
.nav-compact .motion-nav .brand .brand-compact{filter:none}
.nav-compact[data-canvas-tone=dark] .motion-nav .brand .brand-compact{filter:invert(1)}
.nav-contact{translate:0 0;transition:transform 1s cubic-bezier(.16,1,.3,1),top .75s cubic-bezier(.16,.7,.2,1),background .25s,translate .3s ease}
.nav-compact .nav-contact{transition:transform .75s cubic-bezier(.16,.7,.2,1),top .75s cubic-bezier(.16,.7,.2,1),background .25s,translate .3s ease}
body.nav-hidden .motion-nav,body.nav-hidden .nav-contact,body.nav-hidden::before{translate:0 -140px;pointer-events:none}
@media(max-width:1000px) and (min-width:701px){body.has-motion-nav::before{height:80px}}
@media(max-width:700px){body.has-motion-nav::before{height:86px}}
body.motion-paused.has-motion-nav::before{transition:none}
body.motion-paused .motion-nav.site-header,body.motion-paused .nav-contact{transition:none}
@media(prefers-reduced-motion:reduce){body.has-motion-nav::before,.motion-nav.site-header,.nav-contact{transition:none!important}}

/* A signed founder note introduces the people and intent behind the featured work. */
.founder-note{padding-bottom:clamp(100px,12vw,180px);scroll-margin-top:110px}
.founder-note-grid{display:grid;grid-template-columns:46% 45%;gap:9%;align-items:start;padding-top:48px}
.founder-note h2{font-size:clamp(40px,4.8vw,76px);line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
.founder-note-copy>p{font-size:clamp(17px,1.55vw,23px);line-height:1.35;letter-spacing:-.015em;margin-bottom:24px}
.founder-note-copy .founder-note-intro{font-size:clamp(23px,2vw,31px);line-height:1.2;margin-bottom:30px}
.founder-note-copy .founder-note-conviction{font-size:clamp(23px,2.1vw,33px);line-height:1.1;margin-top:35px}
.founder-note-signature{display:flex;align-items:center;gap:16px;margin-top:30px;font-size:17px}
.founder-note-portraits{display:flex;gap:7px}
.founder-note-portraits img{width:54px;height:54px;object-fit:cover;border-radius:50%;filter:grayscale(1)}
.founder-note-action{margin-top:38px;display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px}
.founder-note-action .pill{padding:17px 25px;font-size:16px;min-height:52px;gap:14px}
.founder-note-action p{font-size:16px}
.founder-note-action .pill:disabled{opacity:.75;cursor:default;transform:none}
@media(max-width:700px){.founder-note{padding-bottom:100px;scroll-margin-top:96px}.founder-note-grid{grid-template-columns:1fr;gap:35px;padding-top:32px}.founder-note h2{font-size:clamp(36px,9.6vw,52px);max-width:600px}.founder-note-copy>p{font-size:17px;margin-bottom:21px}.founder-note-copy .founder-note-intro{font-size:23px;margin-bottom:24px}.founder-note-copy .founder-note-conviction{font-size:27px;margin-top:28px}.founder-note-signature{margin-top:25px;font-size:16px}.founder-note-portraits img{width:46px;height:46px}.founder-note-action{margin-top:30px;align-items:flex-start;flex-direction:column;gap:13px}.founder-note-action .pill{font-size:15px;padding:16px 21px;min-height:50px}.founder-note-action p{font-size:15px}}

/* The circle rolls on the footer floor; its rotated box cannot extend the page. */
.footer-smile-stage{position:absolute;inset:-200svh 0 0;overflow:hidden;pointer-events:none;z-index:0}
.unified-design .footer-watermark{top:auto;bottom:0;width:min(70vw,calc(100svh - 24px),1080px)}
@media(max-width:700px){.unified-design .footer-watermark{width:min(105vw,calc(100svh - 24px))}}
/* Selected Work: two visual beats inside a fitted card, then the next card. */
.work-gallery{position:relative;scroll-margin-top:0;--work-progress:0;margin-bottom:100px}
.work-gallery-stage{position:relative;padding:104px 0 24px;background:var(--canvas-bg,var(--paper));color:var(--canvas-fg,var(--ink))}
.work-gallery-top{display:flex;align-items:center;justify-content:space-between;margin:0 5vw 24px;gap:20px}
.work-gallery-top h2{font-size:14px;letter-spacing:-.01em;text-transform:uppercase}
.work-gallery-top>div{display:flex;gap:30px;font-size:14px}
.work-gallery-top a{text-underline-offset:4px}.work-gallery-top a:hover{text-decoration:underline}
.work-gallery-viewport{position:relative;width:90%;margin-inline:auto;min-width:0;outline-offset:5px}
.work-gallery-track{display:grid;gap:24px}
.work-gallery-project{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:4%;padding:clamp(24px,2.6vw,44px);background:#fff;color:var(--ink);border-radius:8px;min-width:0;overflow:hidden}
.work-gallery-intro{display:flex;flex-direction:column;min-width:0}
.work-gallery-intro h3{font-size:clamp(36px,4.3vw,72px);line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
.work-gallery-summary{margin-top:auto;padding-top:26px}
.work-gallery-summary>p{font-size:clamp(16px,1.3vw,21px);line-height:1.32;max-width:25em;text-wrap:pretty}
.work-gallery-summary .work-gallery-scope{font-size:12px;line-height:1.4;margin:20px 0;color:#646464}
.work-gallery-summary>a{display:inline-block;margin-top:16px}
.work-gallery-media-window{min-width:0}
.work-gallery-media-track{display:flex;flex-direction:column;gap:22px}
.work-gallery-media{width:100%;min-width:0;margin:0}
.work-gallery-media>img,.work-gallery-media>video{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;border-radius:5px;background:#f2f2f2}
.work-gallery-media figcaption{display:flex;justify-content:flex-end;text-align:right;padding-top:10px;font-size:12px;line-height:1.2}
.work-gallery-bottom{display:flex;align-items:center;gap:24px;position:relative;padding-bottom:14px;margin:24px 5vw 0;font-size:12px}
.work-gallery-bottom nav{display:flex;gap:24px;margin-right:auto}
.work-gallery-bottom nav button{padding:8px 0;opacity:.5;white-space:nowrap}
.work-gallery-bottom nav button[aria-current]{opacity:1}
.work-gallery-bottom nav button span{font-size:10px;margin-right:6px}
.work-gallery-bottom>button{font-size:12px;padding:8px 0}
.work-gallery-line{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.work-gallery-line span{position:absolute;inset:0;background:currentColor;transform:scaleX(var(--work-progress));transform-origin:left}
.gallery-scroll-hint{display:none}
.work-gallery[data-gallery-pinned] .gallery-scroll-hint{display:inline}
.work-gallery[data-gallery-pinned] .gallery-static-hint{display:none}
.work-gallery[data-gallery-pinned] .work-gallery-stage{height:100svh;min-height:600px;display:flex;flex-direction:column;position:sticky;top:0}
.work-gallery[data-gallery-pinned] .work-gallery-viewport{flex:1;min-height:0;overflow:hidden}
.work-gallery[data-gallery-pinned] .work-gallery-track{display:flex;width:100%;height:100%;gap:24px;will-change:transform}
.work-gallery[data-gallery-pinned] .work-gallery-project{flex:0 0 100%;width:100%;height:100%}
.work-gallery[data-gallery-pinned] .work-gallery-media-window{height:100%;min-height:0;overflow:hidden}
.work-gallery[data-gallery-pinned] .work-gallery-media-track{height:100%;gap:0;will-change:transform}
.work-gallery[data-gallery-pinned] .work-gallery-media{flex:0 0 100%;height:100%}
.work-gallery[data-gallery-pinned] .work-gallery-media>img,.work-gallery[data-gallery-pinned] .work-gallery-media>video{height:calc(100% - 30px);aspect-ratio:auto}
@media(min-width:701px) and (max-height:720px){.work-gallery[data-gallery-pinned] .work-gallery-stage{padding-top:90px;padding-bottom:18px}.work-gallery-top{margin-bottom:18px}.work-gallery-project{padding:24px}.work-gallery-summary{padding-top:18px}.work-gallery-summary>p{font-size:16px}.work-gallery-intro h3{font-size:clamp(32px,4vw,50px)}.work-gallery-summary .work-gallery-scope{margin:12px 0}.work-gallery-bottom{margin-top:18px}}
@media(max-width:700px){.work-gallery{margin-bottom:80px}.work-gallery-stage{padding-top:90px}.work-gallery-top{align-items:flex-start}.work-gallery-top h2{font-size:12px}.work-gallery-top>div{font-size:11px;gap:12px}.work-gallery-project{grid-template-columns:1fr;gap:28px;padding:24px}.work-gallery-intro h3{font-size:40px}.work-gallery-summary>p{font-size:17px}.work-gallery-bottom{gap:16px;flex-wrap:wrap}.work-gallery-bottom nav{width:100%;justify-content:space-between;gap:10px}.work-gallery-bottom nav button{font-size:11px}.work-gallery-hint{margin-right:auto}}

/* Retain the invitation position after removing the footer introduction. */
.closing-invitation{grid-column:-2/-1}

/* Scope and budget have their own place after the service choices. */
.scope-budget{padding-top:clamp(100px,12vw,170px);scroll-margin-top:110px}
.scope-budget-grid{display:grid;grid-template-columns:44% 56%;padding-top:55px}
.scope-budget-grid h2{max-width:500px}
.scope-budget-copy{max-width:600px}
.scope-budget-copy p{font-size:clamp(19px,1.8vw,28px);line-height:1.3;letter-spacing:-.02em;margin-bottom:25px}
.scope-budget-copy p+p{font-size:clamp(17px,1.45vw,23px)}
.scope-budget-copy a{margin-top:10px}
.footer-note{max-width:410px;padding-right:17%;font-size:clamp(16px,1.4vw,22px)}
.footer-note .footer-note-heading{font-size:clamp(22px,2.1vw,32px);line-height:1.12;letter-spacing:-.025em;margin-bottom:25px}
.footer-note>p:last-child{line-height:1.35}
@media(max-width:700px){.scope-budget{padding-top:100px;scroll-margin-top:96px}.scope-budget-grid{grid-template-columns:1fr;gap:32px;padding-top:35px}.scope-budget-grid h2{font-size:36px}.scope-budget-copy p{font-size:21px}.scope-budget-copy p+p{font-size:17px}.scope-budget-copy a{font-size:14px}.footer-note{max-width:340px;padding-right:0;font-size:17px}.footer-note .footer-note-heading{font-size:24px;margin-bottom:18px}}

/* Give the shorter About story clear pauses between its three paragraphs. */
.about-story-copy .type-body-lg{line-height:1.5}
.about-story-copy .type-body-lg+.type-body-lg{margin-top:1.25em}
.wwd-statement-note{max-width:620px;margin-top:40px;font-size:clamp(18px,1.8vw,27px);line-height:1.4;letter-spacing:-.015em}
@media(max-width:700px){.wwd-statement-note{max-width:100%;margin-top:28px;font-size:18px}}
.vcr-design .vcr-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.vcr-scope-note{font-size:17px;line-height:1.45;margin-top:28px;max-width:36em}
@media(max-width:700px){.vcr-design .vcr-process-grid{grid-template-columns:1fr}}

/* The audit invitation sits within the agency story; the existing tool opens separately. */
.bpa-feature{padding-block:clamp(60px,8vw,125px);scroll-margin-top:110px}
.bpa-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding-top:45px}
.bpa-feature-grid h2{max-width:10em;font-size:clamp(36px,4.5vw,72px);line-height:1.04;letter-spacing:-.025em}
.bpa-feature-copy{max-width:600px}
.bpa-feature-copy p{font-size:clamp(18px,1.65vw,26px);line-height:1.4;letter-spacing:-.015em;margin-bottom:24px}
.bpa-feature-copy .bpa-feature-intro{font-size:clamp(23px,2.3vw,36px);line-height:1.16;letter-spacing:-.025em}
.bpa-feature-copy .text-link{display:inline-block;line-height:1.4;margin-top:12px}
.bpa-feature-services{padding-top:0;padding-bottom:clamp(100px,12vw,190px)}
.bpa-page .inner-hero h1{font-size:clamp(58px,7.4vw,142px);max-width:11em}
.bpa-page .inner-hero-title-row{padding-left:4vw;gap:4vw}
.bpa-questions,.bpa-context,.bpa-next{padding-block:clamp(65px,8vw,130px)}
.bpa-questions>h2{max-width:11em;margin-top:45px}
.bpa-question-grid{list-style:none;padding:0;margin:65px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4%}
.bpa-question-grid li{border-top:1px solid var(--line);padding-top:28px}
.bpa-question-grid h3{font-size:clamp(27px,2.8vw,42px);line-height:1.1;margin-bottom:25px;letter-spacing:-.025em}
.bpa-question-grid p{font-size:clamp(17px,1.5vw,23px);line-height:1.4}
.bpa-feature-copy .bpa-note{font-size:17px;max-width:30em}
.bpa-open{padding-block:30px 120px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.bpa-open p{font-size:16px;max-width:23em;line-height:1.4}
.contact-audit-link{display:block;margin-top:24px;max-width:28em;line-height:1.35}
.bpa-feature>.bpa-feature-grid,.bpa-next>.bpa-feature-grid{background:#fcfbf8;color:#1b1b1c;border-radius:6px;padding:clamp(28px,4vw,64px);margin-top:40px;gap:7%}
.bpa-question-grid li{background:#fcfbf8;color:#1b1b1c;border:0;border-radius:6px;padding:clamp(24px,2.8vw,44px)}
@media(max-width:700px){.bpa-feature{padding-block:60px 80px;scroll-margin-top:96px}.bpa-feature-grid{grid-template-columns:1fr;gap:30px;padding-top:32px}.bpa-feature-grid h2{font-size:40px}.bpa-feature-copy p{font-size:18px;margin-bottom:22px}.bpa-feature-copy .bpa-feature-intro{font-size:25px}.bpa-feature-copy .text-link{font-size:15px}.bpa-feature-services{padding-top:0;padding-bottom:95px}.bpa-page .inner-hero h1{font-size:clamp(46px,11.8vw,75px);max-width:100%}.bpa-page .inner-hero-title-row{padding-left:0;gap:35px}.bpa-questions,.bpa-context,.bpa-next{padding-block:65px}.bpa-questions>h2{font-size:40px;margin-top:32px}.bpa-question-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.bpa-question-grid h3{font-size:29px;margin-bottom:18px}.bpa-question-grid p{font-size:18px}.bpa-open{align-items:flex-start;flex-direction:column;gap:20px;padding-bottom:85px}}
@media(max-width:700px){.bpa-feature>.bpa-feature-grid,.bpa-next>.bpa-feature-grid{padding:28px 24px;margin-top:28px;gap:30px}.bpa-feature>.bpa-feature-grid h2,.bpa-next>.bpa-feature-grid h2{font-size:36px}.bpa-question-grid{gap:18px}.bpa-question-grid li{padding:28px 24px}}

/* Home uses the same pre-footer gap as the internal pages. Keep the tone marker without a second spacer. */
.approved-home .testimonials{padding-bottom:0}
.approved-home .to-light{height:0}

/* Keep the longer audit label inside the mobile flyout. */
@media(max-width:700px){.site-menu nav a[href="/brand-perception-audit/"]{font-size:clamp(18px,min(6vw,6.3dvh),30px)}}

/* One heading rhythm across the approved pages; normal optical font kerning stays enabled. */
.unified-design{--heading-tracking:-.025em;font-kerning:normal}
.unified-design :is(h1,h2,h3){letter-spacing:var(--heading-tracking)}


/* Keep the homepage introduction as one flowing paragraph, without an orphaned final word. */
.approved-home .next-chapter{max-width:720px;text-wrap:balance}

/* Selected Work shares the same ruled label and card spacing as Brand Perception Audit. */
.work-gallery-top.section-label{padding-top:20px;margin-bottom:40px}
.unified-design .work-gallery-top h2{font-size:inherit;letter-spacing:inherit;line-height:1.2}
.work-gallery-top>div{text-transform:none}
@media(max-width:700px){.work-gallery-top.section-label{padding-top:14px;margin-bottom:28px}}
@media(min-width:701px) and (max-height:720px){.work-gallery-top.section-label{margin-bottom:28px}}

/* A lower, wider frame lets real project artwork fill the card without background bands. */
.work-gallery-project{padding:clamp(22px,2.2vw,36px)}
.work-gallery-intro h3{font-size:clamp(34px,3.8vw,60px)}
.work-gallery-summary{padding-top:20px}
.work-gallery-summary>p{font-size:clamp(16px,1.25vw,19px);line-height:1.3}
.work-gallery-summary .work-gallery-scope{margin:16px 0}
.work-gallery-media>img,.work-gallery-media>video{object-fit:cover;object-position:center;background:transparent;aspect-ratio:16/9}
.work-gallery[data-gallery-pinned] .work-gallery-viewport{flex:0 1 auto;height:min(62svh,620px)}
.work-gallery[data-gallery-pinned] .work-gallery-intro{height:100%}
.work-gallery[data-gallery-pinned] .work-gallery-media-window{height:calc(100% - 20px);align-self:center}
@media(min-width:701px) and (max-height:720px){.work-gallery-project{padding:22px}.work-gallery-intro h3{font-size:clamp(30px,3.6vw,46px)}.work-gallery-summary{padding-top:14px}.work-gallery-summary .work-gallery-scope{margin:12px 0}}
@media(max-width:700px){.work-gallery-project{padding:24px;gap:24px}.work-gallery-intro h3{font-size:36px}.work-gallery-summary>p{font-size:17px}}

/* Use the shared 15–18px underlined text-link style, including small screens. */
@media(max-width:700px){.work-gallery-top{flex-wrap:wrap}.work-gallery-top>div{width:auto;justify-content:flex-end;gap:0}}
