@font-face{font-family:Archivo;src:url('assets/Archivo.woff') format('woff');font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{--ink:#141414;--paper:#F6F4EF;--sand:#EAE6DD;--gold:#BE9E65;--stone:#D6D0C5;--muted:#59564F;--line:#1414142b;--pad:clamp(24px,6vw,112px);--head:Archivo,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--ink);color:var(--ink);font-family:Calibri,Arial,sans-serif;font-size:16px;line-height:1.6}
body.modal-open{overflow:hidden}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0;background:none;color:inherit}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--head);font-stretch:125%;font-synthesis:none;hyphens:none;word-break:normal;overflow-wrap:normal}
h2{font-size:clamp(28px,3.1vw,46px);font-weight:700;letter-spacing:-.045em;line-height:1.2}
h3{font-weight:600;letter-spacing:-.025em;line-height:1.3}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
::selection{background:var(--gold);color:var(--ink)}
[hidden]{display:none!important}
.skip{position:fixed;top:12px;left:12px;z-index:1100;padding:12px 18px;background:var(--paper);transform:translateY(-160%)}
.skip:focus{transform:translateY(0)}
.eyebrow{font-family:var(--head);font-size:10px;font-weight:600;font-stretch:125%;letter-spacing:.07em;line-height:1.6}
.section-pad{padding:clamp(56px,6.5vw,96px) var(--pad)}
.section-label{margin-bottom:30px;color:var(--muted)}
.lead{font-size:22px;line-height:1.45;letter-spacing:-.015em}
.icon-arrow{display:inline-block;width:20px;height:20px;vertical-align:-.2em;flex:none;overflow:visible}
.text-link{display:inline-flex;align-items:center;gap:24px;font-size:14px;font-weight:600;line-height:1.4;padding:14px 0;border-bottom:1px solid currentColor}
.text-link .icon-arrow,.contact-button .icon-arrow{transition:transform .2s}
.text-link:hover .icon-arrow,.contact-button:hover .icon-arrow{transform:translate(2px,-2px)}
/* Original horizontal Agency geometry; white master with champagne department and orbits. Footer retains the stacked signature. */
.header{height:98px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 clamp(22px,5vw,84px);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--stone)}
.brand{display:block;flex:none;line-height:0}
.brand img{width:196px;height:auto;aspect-ratio:8707/3500;object-fit:contain;object-position:left center}
.header .brand{width:clamp(190px,19vw,265px)}
.header .brand img{width:100%;max-width:none;aspect-ratio:14590.794623574457/2000}
.header .menu-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.header-right{display:flex;align-items:center;gap:28px;flex-shrink:0}
.header .header-language{gap:6px;font-family:var(--head);font-size:11px}
.header-language button{min-width:31px;min-height:32px;padding:6px 7px;font-weight:600;opacity:1;color:var(--muted)}
.header-language button[aria-pressed=true]{color:var(--paper);background:var(--ink)}
.header-language>span{color:var(--gold);font-weight:300}
.menu-toggle{min-height:48px;display:flex;align-items:center;gap:16px;padding:8px 0 8px 10px;font-size:13px}
.menu-toggle i{width:26px;display:grid;gap:7px}
.menu-toggle b{height:1px;background:currentColor;width:26px;display:block}
.hero{position:relative;isolation:isolate;height:88svh;min-height:620px;max-height:1000px;overflow:hidden;background:#000;color:#fff}
.hero-media,.hero-media video,.hero-poster,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media{background:#000}
.hero-poster{opacity:.75}
.hero-media video{opacity:0;transition:opacity 1s}
.hero-media video.is-playing,.hero-media video.has-played{opacity:.75}
.hero-media:has(video.has-played) .hero-poster{visibility:hidden}
.hero-shade{background:linear-gradient(#0003,transparent 30%,transparent 65%,#0009)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:152px var(--pad) 44px}
.hero-content>.eyebrow{font-size:9px;color:var(--stone)}
.hero h1{font-size:clamp(44px,7.5vw,112px);font-weight:700;letter-spacing:-.055em;line-height:1.05;margin:28px 0}
.hero h1>span{color:var(--gold)}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-right:120px}
.hero-bottom p{font-size:17px;line-height:1.6}
.hero-scroll{display:flex;gap:18px;align-items:center;white-space:nowrap;font-size:13px}
.video-control{position:absolute;z-index:3;bottom:44px;right:var(--pad);display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid #ffffff70;border-radius:30px;font-size:10px;letter-spacing:.03em}
.video-control:hover{background:#ffffff18}
.intro{background:var(--paper)}
.intro-grid,.consulting-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.intro-copy{max-width:530px}
.intro-copy .lead{margin-bottom:22px}
.intro-copy>p:last-child{color:var(--muted)}
.services{background:var(--paper);padding-top:26px}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:8vw;margin-bottom:44px}
.section-heading .section-label{margin-bottom:18px}
.section-heading>p{max-width:370px;color:var(--muted);padding-bottom:4px}
.service-row{display:grid;grid-template-columns:1fr 1.35fr;gap:7vw;padding:38px 0 42px;border-top:1px solid var(--line)}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-name{display:flex;flex-direction:column;gap:16px}
.service-name>.eyebrow{color:var(--muted)}
.service-name h3{font-size:clamp(20px,1.8vw,28px)}
.service-copy{max-width:650px}
.service-copy>p{max-width:62ch}
.service-detail{margin-top:16px;color:var(--muted)}
.capability-list{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:7px 24px;font-size:13px;color:var(--muted)}
.capability-list li{padding-left:13px;position:relative}
.capability-list li:before{content:'';position:absolute;left:0;top:.7em;width:3px;height:3px;background:currentColor}
.partner-note{font-size:13px;color:var(--muted);margin-top:20px}
.services>.text-link{margin-top:24px}
.consulting{background:var(--sand);position:relative;isolation:isolate;overflow:hidden}
.consulting:before{content:'';position:absolute;z-index:-1;right:-160px;bottom:-100px;width:580px;aspect-ratio:1.325;background:var(--ink);mask:url('assets/ICONIC_ORBIT_MEDIUM_BLACK_v04.svg') center/contain no-repeat;opacity:.025;pointer-events:none}
.consulting-grid>div{max-width:530px}
.consulting-grid .lead{margin-bottom:20px}
.consulting-grid p+p{margin-top:18px}
.consulting-grid p:not(.lead){color:var(--muted)}
.process{list-style:none;padding:0;margin:54px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.process li{border-top:1px solid #14141445;padding-top:18px}
.process .eyebrow{color:var(--muted)}
.process h3{font-size:17px;margin:18px 0 10px}
.process p{font-size:14px;color:var(--muted);max-width:240px}
.contact{background:var(--ink);color:var(--paper)}
.contact .section-label{color:var(--gold)}
.contact-grid{display:flex;align-items:center;justify-content:space-between;gap:50px}
.contact h2{font-size:clamp(28px,3.2vw,48px);max-width:760px}
.contact-grid p{margin-top:24px;color:var(--stone)}
.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;flex:none;min-height:52px;background:var(--gold);color:var(--ink);padding:14px 20px;font-size:14px;font-weight:600}
.contact-button:hover{background:var(--sand)}
.contact-route{font-size:12px;color:var(--stone);margin-top:30px}
.footer{background:var(--ink);color:var(--paper);padding:0 var(--pad) 25px}
.footer-main{border-top:1px solid #ffffff30;padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:32px}
.footer-main>p{font-size:14px;line-height:1.7;color:var(--stone)}
.footer-main>.text-link{font-size:11px;border:0;font-weight:400}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid #ffffff20;font-size:10px;color:var(--stone)}
.footer-bottom>div{display:flex;gap:28px;align-items:center}
.footer-bottom button{padding:10px 0;font-size:12px}
.language{display:flex;align-items:center;gap:10px}
.language button{opacity:.6}.language button[aria-pressed=true]{opacity:1;color:#fff}
/* Overlays share the same smaller, consistent type scale. */
dialog{max-width:none;max-height:none;border:0;padding:0;color:var(--ink)}
dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}
.close-button{display:flex;align-items:center;gap:18px;min-height:44px;padding:8px;font-size:13px}
.close-button>span:last-child{font-size:28px;line-height:1}
.menu{position:fixed;inset:0;margin:0;width:100%;height:100dvh;padding:30px var(--pad);background:var(--paper);overflow-y:auto}
.menu-top,.menu-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.menu nav{padding:80px 0;max-width:950px}
.menu nav a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);font-family:var(--head);font-stretch:125%;font-size:clamp(26px,4vw,52px);font-weight:600;letter-spacing:-.04em}
.menu nav .icon-arrow{width:28px;height:28px}
.menu-bottom{font-size:11px}.menu-bottom .icon-arrow{width:16px;height:16px}
.detail-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100% - 40px));max-height:90dvh;overflow:auto;background:var(--paper)}
.detail-dialog>.close-button{position:absolute;top:16px;right:18px}
.detail-text{padding:80px 44px 40px}.detail-text h2{margin:18px 0 30px}.detail-text h3{font-size:18px;margin:25px 0 10px}.detail-text p{margin:0 0 16px}.detail-text a{text-decoration:underline}
/* Original Orbit paths move first, then the words appear. */
.opening{display:none;position:fixed;inset:0;z-index:1000;overflow:hidden;pointer-events:none}
.intro-enabled .opening{display:block;animation:opening-exit 3.9s both}
.opening-curtain{height:200svh;width:100%;animation:curtain-up 1s 2.8s cubic-bezier(.76,0,.24,1) both;will-change:transform}
.opening-black,.opening-champagne{height:100svh;width:100%;display:grid;place-items:center}
.opening-black{background:var(--ink)}.opening-champagne{background:var(--gold)}
.opening-black svg{width:min(85vw,1050px);height:auto;overflow:visible}
.opening-left{animation:orbit-left 1.6s .05s cubic-bezier(.2,.7,.2,1) both}
.opening-right{animation:orbit-right 1.6s .05s cubic-bezier(.2,.7,.2,1) both}
.opening-words{animation:opening-type .5s 1.8s both}
@keyframes orbit-left{from{transform:translateX(1100px)}to{transform:translateX(0)}}
@keyframes orbit-right{from{transform:translateX(-1100px)}to{transform:translateX(0)}}
@keyframes opening-type{from{opacity:0}to{opacity:1}}
@keyframes curtain-up{to{transform:translateY(-200svh)}}
@keyframes opening-exit{0%,95%{visibility:visible}100%{visibility:hidden}}
@media(min-width:1700px){:root{--pad:max(112px,calc((100vw - 1450px)/2))}.intro-grid,.consulting-grid{gap:110px}.section-heading,.service-row{gap:100px}}
@media(max-width:1000px){.header-right{gap:28px}.hero-bottom{gap:25px}.intro-grid,.consulting-grid{gap:6vw}.section-heading{grid-template-columns:1fr;gap:22px}.service-row{grid-template-columns:.85fr 1.15fr;gap:5vw}.service-name h3{font-size:21px}.contact-grid{align-items:flex-start;flex-direction:column;gap:30px}.process{gap:22px}.process h3{font-size:15px}.footer-main{flex-wrap:wrap}.footer-main>p{margin-left:auto}.footer-main>.text-link{width:100%;padding:0}.hero-scroll{font-size:12px}}
@media(max-width:700px){.intro-grid,.consulting-grid{grid-template-columns:1fr;gap:28px}.intro-copy,.consulting-grid>div{max-width:600px}.service-row{grid-template-columns:1fr;gap:20px}.service-name{flex-direction:row;align-items:baseline;gap:18px}.service-name h3{font-size:22px}.service-name h3 br{display:none}.service-name>.eyebrow{min-width:20px}.service-copy{padding-left:38px}.process{grid-template-columns:1fr 1fr;gap:28px}.process h3{font-size:16px}.hero-scroll{display:none}}
@media(max-width:500px){.brand img{width:184px}.menu-toggle{gap:12px;padding-left:0}.hero{height:83svh;min-height:560px;max-height:850px}.hero-content{padding-top:136px;padding-bottom:88px}.hero-content>.eyebrow{font-size:8px;letter-spacing:.025em}.hero h1{font-size:8.5vw;line-height:1.1}.hero-bottom{padding-right:0}.hero-bottom p{font-size:15px}.video-control{bottom:24px;right:var(--pad)}h2{font-size:27px;letter-spacing:-.04em}.section-label{margin-bottom:24px}.lead{font-size:20px}.services{padding-top:10px}.section-heading{margin-bottom:30px}.service-row{padding:28px 0 32px}.service-name{gap:14px}.service-name h3{font-size:18px}.service-copy{padding-left:0}.capability-list{gap:8px 18px;font-size:12px}.partner-note{font-size:12px}.contact h2{font-size:27px}.contact-grid{gap:28px}.footer-main{display:block;padding:28px 0}.footer-main>.brand{margin-bottom:20px}.footer-main>p{font-size:13px;margin-bottom:22px}.footer-bottom{flex-wrap:wrap;font-size:9px}.footer-bottom>div{width:100%;justify-content:space-between}.menu{padding-top:20px}.menu nav{padding:65px 0}.menu nav a{font-size:7vw}.menu-bottom{align-items:flex-start;flex-direction:column;gap:18px}.detail-text{padding:76px 25px 30px}.detail-dialog{width:calc(100% - 24px)}.process{margin-top:38px;gap:26px 20px}.process h3{font-size:14px}.process p{font-size:13px}}
@media(max-width:360px){.service-name h3{font-size:16px}.capability-list{grid-template-columns:1fr}.process h3{font-size:12px}.contact h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro-enabled .opening{display:none}.hero-media video{display:none}.hero-media video.user-play{display:block}.hero-media:has(video.has-played:not(.user-play)) .hero-poster{visibility:visible}}

/* GROUP header dimensions, with the Agency department kept in champagne. */
.header .menu-toggle{width:44px;height:44px;min-height:44px;padding:10px 6px;justify-content:center}
.header .menu-toggle i,.header .menu-toggle b{width:28px}
@media(max-width:850px){.header{height:84px}.header-right{gap:20px}}
@media(max-width:600px){.header{height:80px;gap:10px;padding-inline:22px}.header .brand{width:clamp(145px,43vw,200px)}.header-right{gap:6px}.header .header-language{font-size:10px;gap:3px}.header-language button{min-width:27px;padding:6px 5px}.header .menu-toggle{width:36px}}
@media(max-width:360px){.header{padding-inline:18px}}
