/* font-cache-v2 */
@font-face{font-family:Display;src:url('assets/display.ttf?v=2') format('truetype');font-display:swap;font-weight:100 900}@font-face{font-family:Body;src:url('assets/body.ttf?v=2') format('truetype');font-display:swap;font-weight:100 900}
/* Typography and interaction revision */
h1,h2,h3{font-synthesis:none}h1 em{font-style:normal;color:var(--hero-highlight,#fff)}.hero{min-height:min(830px,calc(100svh - 105px));margin:0 24px;border-radius:28px}.hero-copy{padding:7vw 4vw 9vw;position:relative;z-index:2;margin:0;width:100%}.hero h1{max-width:13ch;font-size:clamp(3.4rem,7.4vw,7.6rem);line-height:.98;letter-spacing:-.045em}.hero p{max-width:32ch;font-size:1rem;line-height:1.5;margin:24px 0 30px}.hero .eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:28px}.hero-bottom{left:5%;right:5%;border-top:1px solid #ffffff35;bottom:26px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.hero-bottom span:last-child{font-size:22px;line-height:1}.hero-photo,.hero-image img{transform:translateY(var(--hero-offset,0px)) scale(1.04)!important;transition:none!important;animation:photo-arrive 1.5s cubic-bezier(.22,1,.36,1) both}.hero h1{animation:headline-arrive 1.2s .12s cubic-bezier(.22,1,.36,1) both}.hero h1 em{display:inline-block;animation:headline-arrive 1.2s .25s cubic-bezier(.22,1,.36,1) both}.loading .hero h1 em{animation-play-state:paused}.hero .btn{padding:16px 22px;gap:24px;min-height:54px;font-size:.9rem}.btn{position:relative;isolation:isolate;overflow:hidden;gap:22px;transition:color .3s,background .3s,transform .3s,box-shadow .3s}.btn:after{content:'↗';font:22px/1 Body,sans-serif;display:inline-block;transition:transform .35s cubic-bezier(.22,1,.36,1)}.btn:hover:after,.btn:focus-visible:after{transform:translate(4px,-4px)}.btn:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0003}.btn:active{transform:translateY(0) scale(.98)}.section-head>a,.audience-panel>a,.card>a,.footer a:not(.logo){text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s}.section-head>a:hover,.audience-panel>a:hover,.card>a:hover,.footer a:not(.logo):hover{background-size:100% 1px}.card,.service-detail,.audience-panel{position:relative;transition:background .35s,box-shadow .4s,transform .4s cubic-bezier(.22,1,.36,1);background-image:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff24,transparent 65%)}.card:hover,.service-detail:hover{transform:translateY(-8px);box-shadow:0 20px 45px #00000012}.card .number{transition:transform .4s}.card:hover .number{transform:translateX(7px)}.team-card img,.person img{transition:filter .5s,transform .6s cubic-bezier(.22,1,.36,1)}.team-card:hover img,.person:hover img{filter:saturate(1.15);transform:translateY(-8px)}.news-item{transition:padding .35s,background .35s}.news-item:hover{padding-left:18px;padding-right:18px;background:var(--panel)}.tabs button,.filter{transition:background .25s,color .25s,transform .25s}.tabs button:hover,.filter:hover{transform:translateY(-3px)}.overlay nav a{transition:transform .4s,opacity .4s,color .3s;transform:translateY(18px);opacity:0}.overlay.open nav a{transform:none;opacity:1}.overlay.open nav a:nth-child(2){transition-delay:.04s}.overlay.open nav a:nth-child(3){transition-delay:.08s}.overlay.open nav a:nth-child(4){transition-delay:.12s}.overlay.open nav a:nth-child(5){transition-delay:.16s}.overlay.open nav a:hover{transform:translateX(16px);transition-delay:0s}.motion-ready .reveal{transition:opacity .85s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);transform:translateY(55px);opacity:0}.motion-ready .reveal.visible{opacity:1;transform:none}.scroll-sequence{height:185svh}.expanding-photo{width:62%;height:62%;border-radius:40px}.photo-caption{transform:translateY(var(--caption-offset,0));opacity:var(--caption-opacity,1)}.expanding-photo img{transform:scale(var(--sequence-zoom,1.1));will-change:transform}.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--accent);z-index:60;pointer-events:none}.section-head h2{max-width:18ch}.page-top h1{font-size:clamp(3.4rem,7vw,7rem);line-height:1.02}.page-top p{max-width:52ch;font-size:1.1rem}.transition{transition:transform .38s cubic-bezier(.76,0,.24,1)}.loader-label{letter-spacing:.16em;font-size:10px}.logo-fragments{width:220px}.nav{height:94px}.menu-btn:hover .menu-icon:before{transform:translateX(4px)}.menu-btn:hover .menu-icon:after{transform:translateX(-4px)}.menu-btn[aria-expanded=true]:hover .menu-icon:before{transform:translateY(3px) rotate(45deg)}.menu-btn[aria-expanded=true]:hover .menu-icon:after{transform:translateY(-3px) rotate(-45deg)}
@keyframes headline-arrive{from{opacity:0;transform:translateY(38px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes photo-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:900px){.hero{min-height:720px;margin:0 16px}.hero h1{font-size:clamp(3.8rem,9vw,6rem)}.hero-copy{padding:65px 6% 100px}.hero p{max-width:29ch}.section{padding:80px 0}.page-top h1{font-size:clamp(3rem,8vw,5.5rem)}}
@media(max-width:600px){.nav{height:80px}.hero{min-height:calc(100svh - 96px);margin:0 10px;border-radius:22px;align-items:flex-end}.hero-copy{padding:40px 7% 95px}.hero h1{font-size:clamp(3.2rem,11vw,4.8rem);max-width:13ch}.hero p{font-size:.92rem;max-width:31ch;margin:20px 0 24px}.hero .eyebrow{margin-bottom:20px}.hero-bottom{left:7%;right:7%;bottom:22px}.section{padding:65px 0}.hero-photo,.hero-image img{transform:none!important}.scroll-sequence{height:auto;margin:20px 0}.sticky-photo{position:relative;height:78svh}.expanding-photo{width:94%!important;height:100%!important;border-radius:22px!important}.expanding-photo img{transform:none!important}.photo-caption{font-size:2.5rem;transform:none!important;opacity:1!important}.overlay{padding-top:100px}.overlay nav a{font-size:clamp(2rem,8vw,3rem)}.page-top h1{font-size:clamp(2.8rem,10vw,4rem)}.card:hover,.service-detail:hover{transform:none}.news-item:hover{padding-left:0;padding-right:0}.cta{margin-left:10px;margin-right:10px}.reading-progress{height:2px}}
body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important}.reduce-motion .reveal,.reduce-motion .hero h1 em{opacity:1!important;transform:none!important;filter:none!important}.reduce-motion .hero-photo,.reduce-motion .hero-image img{transform:none!important}.reduce-motion .scroll-sequence{height:auto}.reduce-motion .sticky-photo{position:relative}.reduce-motion .expanding-photo{width:94%!important;height:90%!important}.reduce-motion .expanding-photo img{transform:none!important}.reduce-motion .photo-caption{transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal,.hero h1 em{opacity:1!important;transform:none!important;filter:none!important}.hero-photo,.hero-image img{transform:none!important}.scroll-sequence{height:auto}.sticky-photo{position:relative}.expanding-photo{width:94%!important;height:90%!important}.expanding-photo img{transform:none!important}.photo-caption{transform:none!important;opacity:1!important}}

/* Client art direction */
h1,h2,h3{font-weight:700;letter-spacing:-.02em}.hero{border-radius:8px;background:#161b1c;--hero-highlight:#ff847f}.hero-copy{max-width:75%}.hero h1{font-size:clamp(5rem,10vw,10rem);max-width:11ch;line-height:.88;letter-spacing:-.025em}.hero h1 em{color:#fff;display:block}.hero:after{background:linear-gradient(90deg,#101719dc,#10171935 80%)}.hero p{margin-top:30px}.hero .btn{background:#ed1c24;border-color:#ed1c24;color:#fff}.card,.service-detail{border-radius:8px}.cta{border-radius:8px}.photo-caption{text-transform:uppercase;font-size:clamp(4rem,8vw,8rem)}.section-head h2{font-size:clamp(3.5rem,6.5vw,7rem);text-transform:uppercase}.intro h2{text-transform:uppercase}.page-top h1{text-transform:uppercase;font-size:clamp(4rem,9vw,9rem)}@media(max-width:600px){.hero-copy{max-width:100%}.hero h1{font-size:clamp(4.5rem,16vw,6.5rem)}.hero:after{background:linear-gradient(0deg,#101719f5,#10171960 72%)}.photo-caption{font-size:3.6rem}}