/* Visible by default; JS enhancement alone opts into a temporary reveal. */
.reveal{opacity:1;transform:none}
.reveal.is-pending{opacity:0;transform:translateY(28px)}
.reveal.is-visible{opacity:1;transform:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
[id]{scroll-margin-top:100px}
.mobile-menu.is-open{visibility:visible}
body.menu-open .site-header{color:var(--paper);background:var(--midnight)}
body.menu-open .brand img{filter:invert(1)}
.case-hero-film{z-index:1;object-fit:contain!important}
.case-hero:after{pointer-events:none}
.case-hero-content{pointer-events:none;bottom:70px}
.expertises-page .site-header:not(.is-scrolled){color:var(--paper)}
.expertises-page .site-header:not(.is-scrolled) .brand img{filter:invert(1)}
.filter-count{font-size:12px;color:var(--muted)}
.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:#f1b5a8}
.field-error{color:#f1b5a8;font-size:12px;margin:0}
.error-summary{border:1px solid #f1b5a8;padding:20px;margin-bottom:25px}
.error-summary h2{font-size:18px;margin:0 0 10px}
.error-summary a{text-decoration:underline}
.submit-btn:disabled{opacity:.65;cursor:wait}
.site-header .brand img{object-fit:contain}
.client-track{width:max-content}
.client-marquee:hover .client-track,.client-marquee:focus-within .client-track{animation-play-state:paused}
@media(max-width:700px){
 .hero-eyebrow{flex-wrap:wrap}.display{font-size:clamp(36px,10vw,70px);line-height:1.08;overflow-wrap:anywhere}
 .editorial-title{font-size:clamp(32px,9vw,60px);line-height:1.06;overflow-wrap:anywhere}
 .case-hero h1,.next-project h2{font-size:clamp(38px,12vw,85px);line-height:1.05;overflow-wrap:anywhere}
 .concept-steps{font-size:clamp(38px,10vw,75px);line-height:1.12;overflow-wrap:anywhere}
 .world .word{font-size:clamp(35px,10vw,65px)}
 .signature-project-copy .big-word{font-size:clamp(42px,12vw,78px);line-height:1.03}
}
@media(prefers-reduced-motion:reduce){.reveal.is-pending{opacity:1;transform:none}.client-track{animation:none;white-space:normal;flex-wrap:wrap;width:100%}.client-track span[aria-hidden]{display:none}}
@media print{.site-header,.mobile-menu,.future-canvas,.ogv3__hud,.flow-navigation{display:none!important}.reveal{opacity:1!important;transform:none!important}}
.contact-copy{color:#b6bdcc;margin-top:32px}.contact-copy strong{color:#fff;font-weight:400}.privacy-note a{text-decoration:underline}
.page-breadcrumbs{position:absolute;z-index:3;top:108px;left:var(--gutter);right:var(--gutter);font-size:10px;letter-spacing:.03em}
.page-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.page-breadcrumbs li+li:before{content:"/";opacity:.5;margin-right:8px}
.case-page .page-breadcrumbs,.contact-page .page-breadcrumbs,.expertises-page .page-breadcrumbs{color:#c4cedf}
.case-page .site-header:not(.is-scrolled){color:white}.case-page .site-header:not(.is-scrolled) .brand img{filter:invert(1)}
.related-reading{margin-top:70px;border-top:1px solid var(--line)}
.related-reading a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.page-breadcrumbs{top:87px}}
.no-script-nav{display:none}
@media(max-width:1000px){.no-script-nav{display:flex;position:relative;z-index:999;gap:12px;flex-wrap:wrap;background:var(--paper);color:var(--ink);padding:80px 20px 15px;font-size:12px}.menu-toggle{cursor:pointer}}
/* Compact, supplied founder photography. */
.founder-grid{grid-template-columns:minmax(230px,360px) 1fr;align-items:start}
.founder-portraits{position:relative;padding-bottom:60px;max-width:360px}
.founder-photo{aspect-ratio:1266/1826;border-radius:3px}
.founder-secondary{display:block;width:130px;height:auto;border:8px solid var(--paper);margin:-80px -25px 0 auto;position:relative}
.project-narrative{border-top:1px solid var(--line);padding-top:45px;margin-top:55px;display:grid;grid-template-columns:1fr 2fr;gap:50px}
.project-narrative h3{font:400 clamp(26px,3vw,44px) var(--serif);margin:0 0 20px}.project-narrative p{max-width:70ch;line-height:1.85;margin:0 0 20px}
.case-gallery .gallery-caption{gap:30px;line-height:1.6}.gallery-caption span:first-child{max-width:65ch}
@media(max-width:760px){.founder-grid,.project-narrative{grid-template-columns:1fr;gap:24px}.founder-portraits{width:min(70vw,300px);justify-self:center}.founder-secondary{width:110px;margin-right:-15px}}
