:root{--night:#21284f;--paper:#f7f8fc;--cyan:#0093c8;--yellow:#ffd300;--coral:#e8675a}*{box-sizing:border-box}header{position:sticky;top:0;z-index:30;border:0;background:#f7f8fcf2;backdrop-filter:blur(16px);padding:20px 4%;gap:20px}nav{border-radius:40px;background:#fff;padding:7px;gap:3px;box-shadow:0 8px 35px #21284f09}nav a,nav button{border:0;background:transparent;color:var(--night);padding:12px 14px;border-radius:30px;font-size:13px;cursor:pointer;white-space:nowrap}nav .current{background:var(--night);color:var(--paper)}nav .button{background:var(--night);color:var(--paper)}h1{font-size:clamp(60px,9.6vw,155px);line-height:.95;letter-spacing:-.065em;max-width:1300px;margin:40px 0 55px}h2{font-size:clamp(42px,5.8vw,90px);letter-spacing:-.055em}.hero{padding-top:75px!important}.reel{margin-top:65px;transform:scale(.94);transition:transform 1.2s cubic-bezier(.16,1,.3,1);border-radius:32px}.reel.visible{transform:scale(1)}.reveal{transition:opacity .9s,transform 1s cubic-bezier(.16,1,.3,1)}.js-motion .reveal{opacity:0;transform:translateY(35px)}.js-motion .reveal.visible{opacity:1;transform:none}.visual .ui,.visual .rice{transition:transform .8s cubic-bezier(.16,1,.3,1)}.visual:hover .ui,.visual:hover .rice{transform:rotate(0) scale(1.05)}.mega{border:0;border-radius:25px;padding:35px;width:min(1200px,92vw);max-height:80vh;background:var(--paper);color:var(--night);box-shadow:0 30px 90px #21284f40}.mega::backdrop{background:#21284f65;backdrop-filter:blur(7px)}.mega-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #21284f20;padding-bottom:20px;margin-bottom:25px}.mega-top strong{font-size:26px;letter-spacing:-1px}.close{border:0;background:var(--night);color:var(--paper);border-radius:50%;width:40px;height:40px;cursor:pointer}.mega-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px}.mega-group h3{font-size:18px;margin:0 0 20px}.mega-group a{display:block;font-size:14px;padding:10px 0}.mega-group a:hover{color:var(--cyan);transform:translateX(4px)}.mega-group a{transition:transform .3s,color .3s}.mega-group .pillar{font-size:20px;border-bottom:1px solid #21284f20;margin-bottom:10px;font-weight:600}.mega-group .yellow{border-top:4px solid var(--yellow);padding-top:15px}.mega-group .coral{border-top:4px solid var(--coral);padding-top:15px}.search-results{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.search-results h3{font-size:16px}.search-results a{display:block;margin:15px 0;font-size:14px}.search-field{background:#e9edf6;color:var(--night);border:1px solid #21284f30;margin:0 0 25px}.route-body{min-height:65vh;padding:80px 5%}.route-body h1{font-size:clamp(45px,7vw,100px)}.route-body p{max-width:750px;font-size:21px;line-height:1.6}.route-body .eyebrow{margin-bottom:25px}.route-body .route-note{font-size:12px}.breadcrumb{font-size:13px}.footer-tree{padding:40px 5%;background:var(--night);color:var(--paper);display:flex;gap:25px;flex-wrap:wrap;font-size:13px}.mobile-menu{display:none}@media(max-width:1100px){nav a,nav button{padding:10px 9px;font-size:12px}header img{width:105px}.mega-grid{gap:20px}}@media(max-width:800px){nav a:not(.button){display:block}nav{overflow:auto;max-width:100%;border-radius:15px}header{flex-wrap:wrap}header nav{order:3;width:100%}h1{font-size:clamp(51px,10vw,80px)}.mega-grid{grid-template-columns:1fr 1fr}.mega{padding:22px}.search-results{grid-template-columns:1fr}.reel{margin-top:35px}.contact h2{font-size:55px}}@media(prefers-reduced-motion:reduce){.reel,.reveal,.visual .ui,.visual .rice{transition:none;transform:none}.js-motion .reveal{opacity:1;transform:none}}

.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.principles article{padding-top:25px;border-top:1px solid #21284f30}.principles .number{font-size:12px;color:var(--cyan)}.principles h3{font-size:29px;line-height:1.15;letter-spacing:-1px;margin:25px 0 20px}.principles p,.values-grid p{font-size:16px;line-height:1.65}.source-values{background:#e9edf6}.values-intro{font-size:19px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 45px;margin-top:45px}.values-grid h3{font-size:30px;letter-spacing:-1px}.contact h2{font-size:clamp(40px,4.6vw,65px);overflow-wrap:break-word}.contact h3{font-size:25px;letter-spacing:-.5px}.contact .micro{font-size:12px}.group p{font-size:15px}.service .content-link{background:transparent;color:var(--night);padding-left:0;padding-right:0;font-size:16px}.group .content-link{font-size:13px;margin-top:15px}.source-three .principles article,.values-grid article{min-width:0}@media(max-width:800px){.principles,.values-grid{grid-template-columns:1fr}.principles{gap:15px}.values-grid{gap:15px}form{grid-template-columns:1fr}form label{grid-column:1/-1}}
/* Expertise: one disclosure, hover on desktop and tap on touch screens. */
.expertise-panel[hidden]{display:none}.expertise-panel{position:absolute;top:calc(100% - 1px);left:4%;right:4%;background:var(--paper);border-radius:0 0 26px 26px;padding:35px 40px 40px;box-shadow:0 30px 45px #21284f22;display:grid;grid-template-columns:1fr 2fr;gap:40px;max-height:calc(100dvh - 110px);overflow:auto;animation:expertise-in .25s ease-out}.expertise-intro>span{font-size:11px;letter-spacing:1.5px}.expertise-intro p{font-size:30px;letter-spacing:-1px;line-height:1.15}.expertise-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.expertise-columns a{font-size:15px;padding:9px 0}.expertise-columns .pillar{font-size:25px}.expertise-open #expertise-toggle{background:var(--night);color:var(--paper)}#expertise-toggle span{display:inline-block;transition:transform .2s}#expertise-toggle[aria-expanded=true] span{transform:rotate(180deg)}@keyframes expertise-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
/* Full-viewport showreel; normal scrolling carries the visitor onward. */
.reel-stage{position:relative;width:calc(100% + 10vw);margin-left:-5vw;margin-top:65px;height:165vh;height:165svh;z-index:31}.reel.scroll-reel{position:sticky;top:0;width:100%;height:100vh;height:100svh;margin:0;border-radius:0;transform:none;transition:none;clip-path:inset(var(--reel-inset-y,12vh) var(--reel-inset-x,10vw) round var(--reel-radius,32px));background:var(--night)}.scroll-reel video{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain}.scroll-reel .reel-label{top:calc(var(--reel-inset-y,12vh) + 20px);left:calc(var(--reel-inset-x,10vw) + 22px)}body.reel-immersive header{visibility:hidden}header.expertise-open{z-index:40}@media(max-width:800px){.expertise-panel{left:3%;right:3%;padding:20px;grid-template-columns:1fr;gap:10px;max-height:calc(100dvh - 150px)}.expertise-intro p{display:none}.expertise-columns{gap:20px}.expertise-columns a{font-size:13px}.expertise-columns .pillar{font-size:22px}.reel-stage{width:calc(100% + 12vw);margin-left:-6vw;margin-top:35px}}@media(prefers-reduced-motion:reduce){.expertise-panel{animation:none}.reel-stage{height:100svh}.scroll-reel{clip-path:none}}
/* Complete expertise architecture: five columns on desktop. */
.expertise-panel{display:block;padding:28px 32px 35px}.expertise-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #21284f20}.expertise-intro p{font-size:14px;letter-spacing:0;margin:0}.expertise-intro br{display:none}.expertise-columns{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}.expertise-columns .mega-group{min-width:0}.expertise-columns .pillar{font-size:20px;min-height:53px;padding-top:15px;border-top:4px solid transparent}.expertise-columns .pillar.yellow{border-top-color:var(--yellow)}.expertise-columns .pillar.coral{border-top-color:var(--coral)}.expertise-columns a{font-size:13px;line-height:1.45;overflow-wrap:break-word}.expertise-columns .mega-group:nth-child(n+3) .pillar{border-top-color:var(--cyan)}@media(max-width:1100px){.expertise-columns{gap:16px}.expertise-panel{padding:24px}.expertise-columns .pillar{font-size:17px}.expertise-columns a{font-size:12px}}@media(max-width:800px){.expertise-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.expertise-columns a{font-size:14px}.expertise-columns .pillar{font-size:22px}.expertise-intro p{display:none}}@media(max-width:420px){.expertise-columns{grid-template-columns:1fr}.expertise-panel{padding:20px}}
.search-dialog{max-height:85dvh}.search-dialog .search-field{display:block;width:100%;padding:15px;border-radius:9px;margin-top:10px;font:inherit}.search-count{font-size:12px;color:#59627d}.search-results{grid-template-columns:1.2fr 1.2fr .8fr;gap:30px}.search-results section{padding:0}.search-results a{display:block;padding:16px 0;border-bottom:1px solid #21284f20;margin:0}.search-results a small,.search-results a strong,.search-results a span{display:block}.search-results a small{font-size:10px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:7px;color:#59627d}.search-results a strong{font-size:16px}.search-results a span{font-size:12px;line-height:1.5;margin-top:8px;color:#535d7a}.search-results a:hover strong{color:var(--cyan)}.search-empty{font-size:13px!important;line-height:1.6;color:#535d7a}@media(max-width:800px){.search-results{grid-template-columns:1fr}.search-dialog{padding:22px}.search-dialog .mega-top strong{font-size:21px}}
/* A genuinely centered navigation, independent of the logo width. */
body>header{display:grid;grid-template-columns:minmax(128px,1fr) auto minmax(128px,1fr);align-items:center;column-gap:20px}
body>header>a{justify-self:start}
body>header>nav{grid-column:2;justify-self:center;width:max-content;max-width:100%;display:flex;gap:3px;align-items:center}
body>header>nav a,body>header>nav button{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s}
body>header>nav a:not(.current):hover,body>header>nav button:not(.current):hover{background:#e9edf6;color:var(--night)}
body>header>nav .nav-contact{background:#e9edf6;color:var(--night);padding:12px 14px;border:0;box-shadow:none}
body>header>nav .nav-contact span{font-size:14px;color:var(--cyan)}
body>header>nav .nav-contact:hover{background:#dce5f0}
body>header>nav .nav-contact.current{background:var(--night);color:var(--paper)}
body>header>nav .nav-contact.current span{color:var(--paper)}
@media(max-width:1100px){body>header{grid-template-columns:1fr;row-gap:14px}body>header>a{grid-column:1;justify-self:center}body>header>nav{grid-column:1;grid-row:2;justify-self:center;order:initial}body>header>nav .nav-contact{padding:10px 9px}}
@media(max-width:800px){body>header>nav{width:max-content;max-width:100%;border-radius:28px;overflow-x:auto}body>header>nav a,body>header>nav button{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){body>header>nav a,body>header>nav button{transition:none}}
/* Remove secondary navigation and the homepage location eyebrow from the layout. */
body .breadcrumbs,body .breadcrumb,body main>.hero>.eyebrow{display:none}
/* Motion reference: masked typography, colored inline accents and staggered cards. */
.reference-motion .hero h1{font-size:clamp(52px,8.3vw,134px);line-height:1.13;letter-spacing:-.06em}
.reference-motion .hero h1 em{display:inline-block;background:var(--yellow);color:var(--night);border-radius:0;padding:0 .17em .045em;font-style:normal;vertical-align:baseline}
.reference-motion .motion-badge{display:inline-flex;align-items:center;justify-content:center;width:.66em;height:.66em;border-radius:50%;background:var(--coral);color:var(--night);font-size:.7em;vertical-align:.1em;margin-right:.19em;letter-spacing:0;transform:rotate(-12deg)}
.reference-motion .type-mask{display:inline-block;overflow:clip;vertical-align:bottom;padding:.12em .16em .18em;margin:-.12em -.16em -.18em}
.reference-motion .type-word{display:inline-block;transform:translateY(115%) rotate(3deg);opacity:0;transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .5s ease-out;transition-delay:var(--word-delay,0ms)}
.reference-motion .type-visible .type-word{transform:translateY(0) rotate(0);opacity:1}
.reference-motion .projects>.reveal,.reference-motion .services>.reveal{transition-delay:var(--card-delay,0ms)}
.reference-motion .hero .intro{animation:setup-intro-in .85s .25s cubic-bezier(.16,1,.3,1) backwards}
@keyframes setup-intro-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:600px){.reference-motion .hero h1{font-size:clamp(44px,9.4vw,56px);letter-spacing:-.055em}.reference-motion .type-word{transition-duration:.6s}.reference-motion .motion-badge{margin-right:.1em}}
@media(prefers-reduced-motion:reduce){.reference-motion .type-word{opacity:1;transform:none;transition:none}.reference-motion .hero .intro{animation:none}.reference-motion .projects>.reveal,.reference-motion .services>.reveal{transition-delay:0s}}
/* Shared motion across service pages, Studio, portfolio and project dialogs. */
.reference-motion .studio-hero h1 em{display:inline-block;background:var(--yellow);color:var(--night);border-radius:0;padding:0 .17em .045em;font-style:normal}
.reference-motion .motion-card{opacity:0;transform:translateY(28px);transition:opacity .7s ease-out,transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--card-delay,0ms)}
.reference-motion .motion-card.type-visible{opacity:1;transform:none}
.reference-motion .page-hero .hero-copy,.reference-motion .studio-hero .hero-bottom{animation:setup-intro-in .85s .25s cubic-bezier(.16,1,.3,1) backwards}
.reference-motion .project-dialog .type-word{transition-duration:.65s}
@media(prefers-reduced-motion:reduce){.reference-motion .motion-card{opacity:1;transform:none;transition:none}.reference-motion .page-hero .hero-copy,.reference-motion .studio-hero .hero-bottom{animation:none}}
.hero .hero-action{flex-shrink:0}.hero .hero-action .hero-micro{font-size:12px;line-height:1.5;margin:12px 0 0;max-width:none}.hero .intro .hero-action .button{margin-top:0}
.home-project-media .home-project-video{display:block;width:100%;height:100%;object-fit:contain;background:var(--night)}
/* Compact navigation and small-screen layout. */
.mobile-nav-toggle{display:none}
@media(max-width:1100px){
 body>header{grid-template-columns:minmax(0,1fr) auto;row-gap:0;min-height:72px;padding:12px 5%;z-index:60}
 body>header>a{justify-self:start;grid-column:1}body>header>a img{display:block;width:105px}
 body>header>.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;grid-column:2;min-height:44px;padding:10px 16px;background:var(--night);color:#fff;border:0;border-radius:24px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.menu-icon{font-size:21px;line-height:1}
 body>header>nav{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;width:100%;max-width:none;grid-column:auto;grid-row:auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;overflow:auto;overscroll-behavior:contain;padding:20px 5% max(30px,env(safe-area-inset-bottom));border-radius:0;background:var(--paper);box-shadow:none}
 body>header.nav-open>nav{display:flex}
 body>header>nav>a,body>header>nav>button,body>header>nav .nav-contact{justify-content:space-between;text-align:left;white-space:normal;min-height:48px;padding:14px 18px;font-size:19px;flex-shrink:0;border-radius:14px}
 body>header>nav .expertise-panel{position:static;max-height:none;overflow:visible;margin:0 0 10px;padding:18px;border-radius:16px;box-shadow:none;background:#e9edf6;animation:none;flex-shrink:0}
 body>header>nav .expertise-intro{display:none}body>header>nav .expertise-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 body>header>nav .expertise-columns .pillar{font-size:19px;min-height:0}body>header>nav .expertise-columns a{font-size:14px;min-height:44px;display:flex;align-items:center;white-space:normal;padding:10px 0}
 body.mobile-nav-open{overflow:hidden}body.mobile-nav-open header{visibility:visible}
}
@media(max-width:800px){
 body .reel-stage{width:100%;margin-left:0;height:auto;margin-top:30px;z-index:0}
 body .reel.scroll-reel{position:relative;top:auto;height:auto;aspect-ratio:16/9;clip-path:none;border-radius:18px}
 body .scroll-reel video{width:100%;height:100%;object-fit:contain}body .scroll-reel .reel-label{top:12px;left:12px;padding:7px 11px;font-size:10px}
 body main .intro,body main .section-head{flex-direction:column;align-items:flex-start;gap:22px}
 body main .section-head>a{margin-bottom:0}body main .hero-foot{gap:15px;flex-wrap:wrap}
 body main .services,body main .steps,body main .contact,body main .group{grid-template-columns:1fr;gap:30px}
 body main .service{min-height:0;padding:28px}body main .service h3{font-size:44px}
 body main .graphic{min-width:0}body main .graphic>div{min-width:0}
 body main .hero-bottom{flex-direction:column;align-items:flex-start;gap:24px}
 body .project-dialog-layout{grid-template-columns:1fr;gap:25px}body .project-capture-gallery{min-width:0}
 body main .filter-bar label{max-width:100%}body main .filter-bar select{max-width:100%}
 body main h1,body main h2,body main h3{overflow-wrap:break-word}
}
@media(max-width:420px){body>header>nav .expertise-columns{grid-template-columns:1fr}body main .graphic{padding:26px 20px}body main .graphic strong{font-size:42px}body .project-dialog h1{font-size:34px}}
@media(max-width:1100px){body>header{backdrop-filter:none;-webkit-backdrop-filter:none}body>header>nav{top:var(--mobile-nav-top,72px)}}
@media(max-width:600px){body .studio-page .collective{grid-template-columns:1fr;min-height:0}body .studio-page .collective-number{font-size:140px;padding:25px;justify-content:center}body .studio-page .collective-copy{min-width:0;padding:0 25px 30px}body .studio-page .person-head{align-items:flex-start;flex-direction:column;gap:12px}}
.mobile-search-label{display:none}@media(max-width:1100px){.mobile-search-label{display:inline}}

/* A marker stroke sweeps behind the heading without moving its letters. */
body .hero h1 em.marker-highlight,body .studio-hero h1 em.marker-highlight{background-color:transparent;background-image:linear-gradient(var(--yellow),var(--yellow));background-repeat:no-repeat;background-position:left center;background-size:0% 100%;border-radius:0;transition:background-size .7s cubic-bezier(.22,.61,.36,1) .55s}
body .hero h1 em.marker-highlight.is-marked,body .studio-hero h1 em.marker-highlight.is-marked{background-size:100% 100%}
@media(prefers-reduced-motion:reduce){body .hero h1 em.marker-highlight,body .studio-hero h1 em.marker-highlight{background-size:100% 100%;transition:none}}
/* Shared back-to-top control. */
.back-to-top{position:fixed;right:clamp(18px,3vw,44px);bottom:calc(22px + env(safe-area-inset-bottom));z-index:45;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #ffd300;border-radius:50%;background:var(--yellow);color:var(--night);box-shadow:0 6px 24px #21284f22;font:inherit;font-size:26px;line-height:1;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,background .2s,color .2s,visibility .2s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--night);color:var(--yellow)}.back-to-top:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}body.mobile-nav-open .back-to-top,body.reel-immersive .back-to-top,body:has(dialog[open]) .back-to-top{opacity:0;visibility:hidden}
@media(max-width:600px){.back-to-top{width:46px;height:46px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));font-size:24px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
@media print{.back-to-top{display:none}}

@media(max-width:800px){
 .mobile-arrow-icon,.motion-badge,.setup-domain-arrow,.home-case-arrow,.work-arrow,.editorial-marker,.step-arrow{display:none!important}
 .setup-domain{grid-template-columns:1fr!important}
 .home-case-link{padding-right:0}
 .back-to-top>span{display:none}
 .back-to-top::after{content:'Haut';font-size:12px;font-weight:700}
}

/* Let headings adapt to their available width without editorial hard breaks. */
body main h1,body main h2,body main h3,
body main .expertise-point h2,body main .client-case h2,
body .work-showcase .work-intro h1{ text-wrap:balance; }
body main p{ text-wrap:pretty; }
@media(min-width:801px){
 body main .split-section:has(>div:first-child>.section-number){row-gap:0}
 body main .split-section:has(>div:first-child>.section-number)>div:first-child{display:contents}
 body main .split-section>div:first-child>.section-number{grid-column:1;grid-row:1;margin-bottom:24px}
 body main .split-section>div:first-child>h2{grid-column:1;grid-row:2;margin-top:0}
 body main .split-section:has(>div:first-child>.section-number)>.section-copy{grid-column:2;grid-row:2;padding-top:0}
 body main .split-section:has(>div:first-child>.section-number)>.section-copy>:first-child{margin-top:0}
}

/* White text on the saturated blue and navy surfaces of the Setup palette. */
body .setup-domain-cyan,body .setup-domain-navy,
body main .editorial-card:not(.is-active):first-child{color:#fff;--card-ink:#fff}
body .setup-domain-cyan :is(h3,p,span),body .setup-domain-navy :is(h3,p,span){color:#fff}
body .home-values-open .point:nth-child(3) .number,body .values-engagement .number{color:#fff}
body .dark,body .dark-section,body .closing-cta,body .contact-layout,body .blog-empty,
body .collective,body .story,body .studio-cta,body .footer-tree,body footer{color:#fff}
body .dark :is(h1,h2,h3,p,small),body .dark-section :is(h1,h2,h3,p,small),
body .closing-cta :is(h1,h2,h3,p,small),body .blog-empty :is(h1,h2,h3,p,small),
body .collective :is(p,small,.collective-number),body .story :is(h1,h2,h3,p,small),
body .studio-cta :is(h1,h2,h3,p,small),body .footer-tree a,body footer :is(a,p,small,span),
body .home-case-client,body main .client-case-copy :is(h2,h3,p,a,small,span){color:#fff}
body main .client-case-links a{border-color:#fff}
body .contact-layout>div:first-child :is(p,a,small){color:#fff}
body .portrait:nth-child(n){color:inherit}
body .person:nth-child(2) .portrait,body .person:nth-child(4) .portrait{color:#fff}
body .button:not(.light),body .skip-link,body nav .current,
body .filter-tabs button[aria-pressed="true"],body .work-filters button[aria-pressed="true"]{color:#fff}
body .closing-cta .button,body .studio-cta .button{color:var(--night)}
body .back-to-top:hover{color:#fff}
body main .client-case-copy :is(h2,h3,p,a,small,span),
body .home-work :is(.home-work-intro,.home-case-tag,.home-case-description),
body .contact.dark :is(label,label span),body .story :is(p,.lead),
body footer span,body .blog-empty .empty-symbol,
body>header>nav .nav-contact.current,body>header>nav .nav-contact.current span{color:#fff!important}
body .close,body .project-close,body .project-dialog .project-contact{color:#fff}
/* Crawlable site tree and confirmed business identity. */
body .footer-tree{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px;padding:45px 5%}body .footer-tree>div{display:flex;flex-direction:column;gap:12px}body .footer-tree a{font-size:13px;line-height:1.5}body .site-entity{padding:30px 5%;background:var(--night);color:#fff;border-top:1px solid #ffffff30}body .site-entity p,body .site-entity address{font-size:14px;line-height:1.7;max-width:1050px;font-style:normal;color:#fff}body .site-entity a{color:#fff;text-decoration:underline;text-underline-offset:3px}.entity-links{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:13px}.inline-reference{text-decoration:underline;text-underline-offset:3px}.project-case-summary{font-size:24px;font-weight:500;line-height:1.4}.video-description{font-size:12px!important;line-height:1.5;color:inherit;margin:10px 0 0}.reel .video-description{position:absolute;bottom:20px;left:24px;right:24px;color:#fff;background:#21284fcc;padding:8px 12px;width:fit-content}.contact-privacy{font-size:12px!important;line-height:1.6;grid-column:1/-1}.related-grid:has(>.project-tile:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){body .footer-tree{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.related-grid:has(>.project-tile:nth-child(3)){grid-template-columns:1fr}.project-case-summary{font-size:20px}}

/* Keep the logo's intrinsic ratio when HTML dimensions are present. */
body>header>a img{display:block;height:auto;max-width:100%;object-fit:contain}

/* Compact, aligned sitemap: independent from the main navigation pills. */
body .footer-tree{align-items:start;gap:clamp(22px,3vw,56px);padding:36px 5% 40px;border-radius:0;box-shadow:none;overflow:visible;border-top:1px solid #ffffff24}
body .footer-tree>div{align-items:stretch;gap:2px;min-width:0}
body .footer-tree a{display:block;width:fit-content;max-width:100%;margin:0;padding:5px 0;border-radius:0;font-size:13px;font-weight:400;line-height:1.45;white-space:normal;text-decoration:none;text-underline-offset:4px;transition:color .2s}
body .footer-tree>div>a:first-child{width:100%;margin:0 0 10px;padding:0 0 13px;border-bottom:1px solid #ffffff24;color:var(--yellow);font-size:14px;font-weight:600}
body .footer-tree a:hover{color:var(--yellow);background:transparent;text-decoration:underline}
body .footer-tree a:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
@media(max-width:800px){body .footer-tree{padding:30px 6%;gap:28px 24px}body .footer-tree a{padding:8px 0;min-height:36px}body .footer-tree>div>a:first-child{min-height:0;padding:0 0 11px;margin-bottom:6px}}
.reference-motion main h1::after{content:"";display:inline-block;width:.46em;height:.46em;margin-left:.15em;vertical-align:.08em;border-radius:50%;background-color:var(--coral);background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M9 23L23 9M10 9h13v13%27 fill=%27none%27 stroke=%27%2321284f%27 stroke-width=%273%27/%3E%3C/svg%3E");background-size:78%;background-position:center;background-repeat:no-repeat;transform:rotate(-12deg)}@media(max-width:760px){.reference-motion main h1::after{display:none}}
/* BEGIN STICKY COLUMN HEADINGS */
@media(min-width:801px){body main .setup-sticky-column-heading{position:sticky!important;top:var(--setup-sticky-heading-top,130px)!important;align-self:start!important;height:max-content!important}}

/* END STICKY COLUMN HEADINGS */
