/* V6 — one generous, monochrome stage. */
.particle-page{isolation:isolate;background:#fff}.particle-page>main,.particle-page>.footer{position:relative;z-index:1}.page-particles{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body[data-page=home]{--page-bg:#fff;--page-ink:#000;--paper:var(--page-bg);--ink:var(--page-ink);background:var(--page-bg);color:var(--page-ink);transition:none}
body[data-page=home] main>section,body[data-page=home] .footer{background:transparent;color:inherit;--tone-bg:transparent;--tone-ink:var(--page-ink);transition:none}
body[data-page=home] .footer{--paper:var(--page-bg);--ink:var(--page-ink);border-color:currentColor}
body[data-page=home] .footer-base,body[data-page=home] .footer-details{color:inherit}
.compact-hero{padding-top:clamp(48px,6vw,110px);padding-bottom:clamp(190px,29vh,390px)}
.compact-hero .rotating-headline{margin-bottom:clamp(85px,10vw,170px)}
.banner-base{margin-top:25px;font-size:10px}.banner-base>span{letter-spacing:.12em}
.manifesto{padding-top:clamp(190px,27vh,340px);padding-bottom:clamp(290px,48vh,580px)}
.manifesto .creative-trigger{cursor:pointer}.manifesto .pill-link:hover{background:var(--page-ink);color:var(--page-bg)}
.work-section{padding-top:clamp(180px,24vh,320px)}
.marquee-track{animation-duration:var(--marquee-duration,220s)}.marquee-copy[aria-hidden]{pointer-events:auto}.animated-client:focus-visible{outline:2px solid currentColor;outline-offset:-4px}.animated-client:hover{color:inherit}
.studio-stage-title{pointer-events:auto;margin-bottom:30px}.studio-stage-title h2{overflow:visible;line-height:1.22}.studio-line{display:block}.inflate-word{display:inline-block;transform-origin:50% 80%;position:relative;z-index:2;transition:transform .7s cubic-bezier(.2,1.6,.3,1),letter-spacing .7s;cursor:default}.inflate-word:hover,.inflate-word:focus-visible{transform:scale(1.2,1.35);letter-spacing:.015em}.studio-line:first-child .type-mask{overflow:visible}
.connection-mark{display:inline-grid;place-items:center;position:relative;width:clamp(48px,8vw,140px);height:clamp(48px,8vw,140px);flex:none;margin-left:30px;margin-bottom:.08em}.connection-mark svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.8;transition:transform .85s cubic-bezier(.2,1.3,.3,1)}.connection-core{position:absolute;width:18%;height:18%;border-radius:50%;background:currentColor;transition:transform .85s cubic-bezier(.2,1.3,.3,1)}.footer-cta:hover .connection-mark svg,.footer-cta:focus-visible .connection-mark svg{transform:rotate(135deg) scale(.92)}.footer-cta:hover .connection-core{transform:scale(1.9)}.footer-cta{justify-content:space-between;gap:20px;align-items:center}.footer-cta:hover{color:inherit}
.service-segment.service-light{background:transparent}.service-dark>.scene-ink{z-index:0}.service-dark>summary,.service-dark>.segment-panel{position:relative;z-index:1}
.services-head{padding-top:48px;padding-bottom:38px;grid-template-columns:1fr minmax(130px,230px);column-gap:7vw;align-items:center}.services-head>.label{margin-bottom:22px}.services-head .display-title{font-size:clamp(64px,7.8vw,128px)}.services-bts{width:100%;height:155px;min-height:0;align-self:center;justify-self:end;margin:0;max-width:230px}.services-bts img{height:100%;object-fit:cover}.segment-summary{padding-top:60px;padding-bottom:60px;min-height:230px}.segment-summary h2 .type-mask{overflow:visible}.segment-summary:hover h2{transform:translateX(8px) scaleY(1.045)}
.project-caption .type-mask{padding-top:.2em;padding-bottom:.2em;margin-top:-.2em;margin-bottom:-.2em}.project-image{overflow:hidden}.project-image:hover img{filter:contrast(1.03)}
/* Centre the story within a narrower editorial column; pictures stay intimate. */
body[data-page=about] .family-head{text-align:center;padding-top:80px;padding-bottom:65px}.family-head .display-title{font-size:clamp(60px,9vw,145px)}
.family-introduction,.family-editorial{max-width:1120px;margin:0 auto;gap:6vw;padding-left:max(var(--gutter),5vw);padding-right:max(var(--gutter),5vw)}
.family-introduction{grid-template-columns:1fr;max-width:850px;text-align:center;gap:35px;padding-bottom:110px}.family-introduction .lead,.family-introduction p:not(.lead){margin-left:auto;margin-right:auto}.family-introduction figure{justify-self:center;max-width:280px}
.family-editorial{grid-template-columns:1fr;text-align:center;max-width:850px;padding-bottom:115px;gap:40px}.family-side{display:flex;align-items:center;justify-content:center;gap:45px}.family-side-shot{width:190px;margin:0}.family-editorial .section-heading{font-size:clamp(42px,5vw,70px)}.family-narrative>p{margin-left:auto;margin-right:auto;max-width:640px}.family-narrative>p.lead{max-width:600px}
.family-principles{text-align:center;padding-top:120px;padding-bottom:130px}.family-principles>div{display:block;max-width:1050px;margin:45px auto 0}.family-principles p:not(.label){max-width:440px;margin:40px auto 0}.family-principles h2{font-size:clamp(35px,5vw,75px)}
.family-moments-compact{padding:120px 0}.family-moments-heading{display:block;text-align:center;padding:0 var(--gutter);margin-bottom:45px}.family-moments-heading .label{margin-bottom:28px}.family-moments-heading .section-heading{width:auto;max-width:800px;margin:0 auto}
.backstage-scroll{overflow-x:auto;overflow-y:hidden;cursor:grab;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#7773 transparent;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:25px 0 20px}.backstage-scroll:focus-visible{outline:2px solid;outline-offset:-5px}.backstage-scroll.is-dragging{cursor:grabbing;scroll-snap-type:none}.backstage-track{display:flex;align-items:center;gap:clamp(24px,4vw,65px);width:max-content;padding:20px max(var(--gutter),8vw) 40px;min-height:430px}.backstage-shot{flex:none;width:clamp(180px,24vw,340px);margin:0;scroll-snap-align:center;user-select:none;transform:rotate(-2deg)}.backstage-shot img{width:100%;height:auto;max-height:300px;object-fit:contain;pointer-events:none}.backstage-shot figcaption{font-size:8px;letter-spacing:.08em;margin-top:12px;color:#666}.backstage-shot.shot-1{width:clamp(150px,18vw,255px);transform:translateY(32px) rotate(3deg)}.backstage-shot.shot-2{width:clamp(200px,28vw,390px);transform:translateY(-30px) rotate(-1deg)}.backstage-shot.shot-3{width:clamp(170px,20vw,285px);transform:translateY(23px) rotate(2deg)}.backstage-shot.shot-4{width:clamp(155px,18vw,260px);transform:translateY(-15px) rotate(-3deg)}
.backstage-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:35px auto 0;padding:0 var(--gutter);max-width:1080px}.backstage-bottom>p{font-size:23px;line-height:1.45}.backstage-bottom>span{font-size:9px;letter-spacing:.07em}.backstage-controls{display:flex;gap:10px}.backstage-controls button{width:48px;height:48px;border:1px solid #0003;border-radius:50%;font-size:22px;transition:background .25s,color .25s}.backstage-controls button:hover{background:#000;color:#fff}.family-final-copy{max-width:600px;margin:75px auto 0;text-align:center;padding:0 var(--gutter)}.family-final-copy>p{font-size:25px;line-height:1.5;margin-bottom:25px}body[data-page=about] .clients,body[data-page=about] main>.section-pad:last-child{max-width:1150px;margin:0 auto;text-align:center}.client-logo{display:block;overflow:hidden}.client-logo:hover{background:#f3f3f3}
/* Form is part of the opening composition, on the right of the title. */
.contact-first{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:55px;padding-bottom:110px;align-items:start}.contact-intro .label{margin-bottom:24px}.contact-intro .display-title{font-size:clamp(60px,7.3vw,112px);line-height:1.12}.contact-intro .page-lead{font-size:15px;line-height:1.7;margin-top:28px;max-width:390px}.contact-direct{margin-top:50px}.contact-direct .contact-email{font-size:clamp(18px,2.2vw,32px);line-height:1.4;display:block;overflow-wrap:anywhere}.contact-direct .contact-phone{font-size:18px;margin-top:20px}.contact-first .contact-form{margin:0}.contact-form h2{margin-bottom:24px}.contact-first .contact-form label{margin-bottom:16px}.contact-first .contact-form textarea{min-height:95px}.contact-first .contact-form input{padding-top:11px;padding-bottom:11px}
/* Baseline lift, second name born behind the first, then a restrained exit. */
.identity-v6{animation:identityV6Exit .65s 1.65s cubic-bezier(.76,0,.24,1) both}.identity-lockup{width:max-content;max-width:92vw;text-align:center;transform:translateY(0);animation:identityV6Settle 1.35s .15s cubic-bezier(.22,1,.36,1) both}.identity-row{font:400 clamp(56px,16vw,245px)/.98 var(--display);letter-spacing:-.025em;overflow:clip;padding:.03em .05em;margin:-.03em -.05em;position:relative}.identity-row>span{display:block}.identity-one{z-index:2}.identity-one>span{animation:identityV6Rise .9s .08s cubic-bezier(.16,1,.3,1) both}.identity-two>span{animation:identityV6Twin .95s .58s cubic-bezier(.16,1,.3,1) both}.identity-rule{height:1px;background:#000;margin:28px 0 17px;transform-origin:left;animation:identityV6Rule .65s .8s cubic-bezier(.22,1,.36,1) both}.identity-lockup>p{font-size:9px;font-weight:600;letter-spacing:.17em;animation:fadeIn .5s 1s both}@keyframes identityV6Rise{from{transform:translateY(112%) skewY(5deg)}to{transform:none}}@keyframes identityV6Twin{from{transform:translateY(-112%) scaleY(.75)}to{transform:none}}@keyframes identityV6Settle{from{transform:translateY(8%)}to{transform:none}}@keyframes identityV6Rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes identityV6Exit{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@media(max-width:767px){.compact-hero{padding-top:50px;padding-bottom:180px}.compact-hero .rotating-headline{margin-bottom:75px}.banner-base{font-size:8px;margin-top:20px}.manifesto{padding-top:140px;padding-bottom:230px}.work-section{padding-top:145px}.connection-mark{width:48px;height:48px;margin-left:8px}.footer .footer-cta{font-size:9.8vw;gap:8px}.services-head{padding-top:32px;padding-bottom:30px;grid-template-columns:1fr 90px;gap:15px}.services-head .display-title{font-size:10vw}.services-head>.label{margin-bottom:5px}.services-bts{height:90px;width:90px;min-height:0;margin:0}.segment-summary{padding-top:36px;padding-bottom:36px;min-height:0}.segment-toggle{top:50px}.segment-summary p{font-size:15px}.segment-summary h2{font-size:14vw}.family-head .display-title{font-size:13vw}body[data-page=about] .family-head{padding-top:50px;padding-bottom:42px}.family-introduction{padding-bottom:75px}.family-introduction figure{max-width:230px}.family-editorial{padding-bottom:75px}.family-side{gap:22px}.family-side-shot{width:100px}.family-editorial .section-heading{font-size:8.3vw}.family-principles{padding-top:75px;padding-bottom:80px}.family-principles h2{font-size:7.2vw}.family-principles p:not(.label){font-size:14px}.family-moments-compact{padding-top:75px;padding-bottom:80px}.backstage-track{min-height:320px;padding-left:30px;padding-right:30px;gap:28px}.backstage-shot img{max-height:230px}.backstage-bottom{flex-wrap:wrap;gap:20px}.backstage-bottom>p{font-size:20px;width:100%}.backstage-controls{margin-left:auto}.family-final-copy>p{font-size:22px}.contact-first{grid-template-columns:1fr;gap:30px;padding-top:32px;padding-bottom:65px}.contact-intro .display-title{font-size:12vw}.contact-intro .display-title br{display:none}.contact-intro .label{margin-bottom:15px}.contact-intro .page-lead{display:none}.contact-direct{margin-top:0;grid-row:3}.contact-intro .contact-direct{display:none}.contact-form h2{font-size:18px;margin-bottom:18px}.contact-first .contact-form label{margin-bottom:13px}.contact-first .contact-form textarea{min-height:90px}.identity-lockup>p{font-size:7px;letter-spacing:.12em}.identity-rule{margin-top:20px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.page-particles,.identity-v6{display:none!important}.inflate-word:hover,.inflate-word:focus-visible{transform:none}.backstage-scroll{scroll-behavior:auto}.marquee-track{animation:none;flex-wrap:wrap;width:auto;white-space:normal}.marquee-copy{flex-wrap:wrap}.marquee-copy[aria-hidden]{display:none}.animated-text{font-size:clamp(28px,5vw,65px)}.connection-mark svg,.connection-core{transition:none}}
.services-head .display-title{grid-column:1;grid-row:2}.services-bts{grid-column:2;grid-row:2}.service-scene{background:#000;color:#fff}.service-scene .service-dark{background:transparent}.service-dark .segment-summary h2{grid-column:2}.service-dark .segment-summary p{grid-column:1}.service-dark .segment-photo{grid-column:2}.service-dark .segment-subsections{grid-column:1}
@media(max-width:767px){.service-dark .segment-summary h2,.service-dark .segment-summary p{grid-column:1}.service-dark .segment-summary h2{grid-row:1}.service-dark .segment-summary p{grid-row:2}}
.segment-summary h2 .type-mask{overflow:clip}
