/* Preserve the page geometry when overlays lock scrolling. */
html{scrollbar-gutter:stable}
html.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:hidden}
@media(min-width:1051px){
 body.mega-enabled .header.mega-header{border-bottom:0!important}
 body.menu-open .header.mega-header{box-shadow:inset 0 -1px 0 #17171716}
}
/* Decode handover is fast and does not depend on video-library delivery. */
.js-media .media-progressive>img[data-media-image]{transition:opacity .18s ease,transform .6s var(--ease-out),filter .3s}
.js-media .media-progressive.media-is-loaded>.media-skeleton{transition:opacity .18s ease,visibility 0s .18s}
.mobile-sector-picker{display:none}.archive-card-arrow{display:none}
.archive-tools .filter:is(:hover,:focus-visible,[aria-pressed=true]){background:var(--red-dark);border-color:var(--red-dark)}
@media(max-width:1050px){
 .mobile-menu-root,.mega-nav .mega-panels{padding-block:10px calc(16px + env(safe-area-inset-bottom))}
 .mobile-menu-list{margin-bottom:16px}
 .mega-nav .mobile-menu-row{min-height:clamp(50px,9.5dvh,80px);padding-block:8px;font-size:clamp(34px,7vw,54px)}
 .mobile-menu-contact{padding-top:0;gap:0}.mega-nav .mobile-menu-contact a{min-height:44px}
 .mega-nav .mega-panel{padding-block:8px 0;gap:16px}
 .mega-work .mega-work-index h2{font-size:40px;margin-bottom:12px}
 .mega-nav .mega-work-index>.mega-route{min-height:44px;margin-bottom:16px}
 .mega-nav .mega-sector{font-size:17px;min-height:48px;padding-block:11px}
 .mega-work-films{display:none}
 .mega-nav .mega-panel h2{font-size:40px;margin-bottom:16px}
 .mega-services-index>.mega-route{min-height:44px;margin-bottom:16px}
 .mega-nav .mega-service-link{min-height:48px;font-size:24px;padding-block:10px}
 .mega-about-intro p{display:none}
 .mega-about-intro>.mega-route{min-height:44px;margin-bottom:4px}
 .mega-people{display:grid;grid-template-columns:1fr;gap:8px;max-width:none}
 .mega-nav .mega-person{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:0 14px;align-content:center;min-height:62px;padding:4px 0;border-bottom:1px solid #17171714}
 .mega-person>img{width:54px;height:54px;aspect-ratio:1;grid-row:1/3;border-radius:26px 26px 3px 3px}
 .mega-person>span{align-self:end;margin:0;font-size:16px}.mega-person>small{align-self:start;margin:3px 0 0;font-size:12px}
 .back-top{min-width:44px;min-height:44px}
 .project-scroll>span:last-child{width:44px;height:44px}
 .contact-details .big,.contact-details .social-list a{display:inline-flex;align-items:center;min-height:44px}
 .contact-details .social-list{gap:10px 24px}
 .brief-form :is(input,textarea){border-color:#8c847c;font-size:16px}
 .brief-form :is(input,textarea):focus{border-color:var(--red-dark);outline:2px solid var(--red-dark);outline-offset:2px}
 .article-intro h1{font-size:clamp(40px,12.5vw,56px);line-height:1.06;letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:balance}
 .article-intro{padding-block:28px 36px}
 .project-sidebar h1.project-name-long{font-size:clamp(40px,10.8vw,50px);line-height:1.06;letter-spacing:-.035em}
 .breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
 .article-intro .breadcrumbs{row-gap:0;margin-bottom:20px}
 .article-intro .breadcrumbs a{padding-block:7px}
 .article-intro~section .text-link{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:800px){
 .mobile-archive-page .page-intro{padding:34px 24px 28px;text-align:left}
 .mobile-archive-page .page-intro h1{font-size:clamp(40px,11.8vw,54px);line-height:1.06;text-align:left;margin:0;max-width:20ch;text-wrap:balance}
 .archive-surface{position:relative}
 .archive-tools{position:sticky;top:80px;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;margin:0;padding:10px 24px 12px;border:0;border-top:1px solid #e7e0d9;border-bottom:1px solid #d9d2cb;border-radius:0;background:#faf9f6f5;backdrop-filter:blur(12px);scroll-margin-top:80px}
 .archive-tools .filters{display:none}
 .mobile-sector-picker{display:block;min-width:0;position:relative}
 .mobile-sector-picker:after{content:'';position:absolute;right:4px;top:20px;width:7px;height:7px;border-right:1.5px solid var(--red-dark);border-bottom:1.5px solid var(--red-dark);transform:rotate(45deg);pointer-events:none}
 #mobile-sector{appearance:none;display:block;width:100%;min-height:46px;padding:9px 22px 9px 0;border:0;background:transparent;color:var(--ink);font:16px/1.3 var(--sans);text-overflow:ellipsis}
 #mobile-sector:focus-visible{outline:2px solid var(--red-dark);outline-offset:1px}
 .archive-tools .search-row{display:contents}
 .archive-tools #work-count{grid-column:2;grid-row:1;align-self:center;margin:0;font-size:12px;min-height:44px;color:#57514c;gap:6px}
 .archive-tools .searchbox{grid-column:1/-1;grid-row:2;min-width:0;max-width:none}
 .archive-tools #work-search{font-size:16px;height:46px;min-height:46px;border:1px solid #8c847c;border-radius:5px;background:#fff;padding-left:42px}
 .archive-tools .searchbox:before{top:15px;left:15px}.archive-tools .searchbox:after{top:28px;left:27px}
 .archive-surface>section[aria-label]{padding-inline:24px}
 .archive-grid{padding-top:24px;row-gap:28px}
 .archive-grid .project-card{padding:0 0 22px;border-bottom:1px solid #ddd6cf}
 .archive-grid .card-media{aspect-ratio:16/9;border-radius:5px;overflow:hidden}
 .archive-grid .project-card .card-info{position:relative;padding:14px 36px 0 0;margin:0;left:auto;right:auto;bottom:auto}
 .archive-grid .project-card .card-info h3{font-size:28px;line-height:1.12;margin:0 0 7px;overflow-wrap:anywhere}
 .archive-grid .card-info .eyebrow{font-size:10px;line-height:1.4;letter-spacing:.1em;margin-bottom:6px}
 .archive-grid .card-info .card-deck{font-size:15px;line-height:1.4;color:#625a53}
 .archive-card-arrow{display:grid;place-items:center;position:absolute;right:0;top:16px;width:30px;height:30px;border:1px solid #c7b7ab;border-radius:50%;color:var(--red-dark);font-size:19px}
 .archive-grid .project-card.preview-playing .archive-card-arrow{background:var(--red-dark);color:#fff;border-color:var(--red-dark)}
 .archive-grid .project-card .card-cue{display:none}
}
@media(max-width:1050px) and (max-height:700px){
 .mobile-menu-header{min-height:64px;padding-block:8px}
 .mobile-menu-root,.mega-nav .mega-panels{padding-block:6px calc(10px + env(safe-area-inset-bottom))}
 .mega-nav .mobile-menu-row{grid-template-columns:minmax(0,1fr) 20px;min-height:clamp(48px,9dvh,60px);font-size:34px}
 .mobile-menu-thumb{display:none}.mobile-menu-row[href='/contact/']>.mobile-menu-direction{visibility:visible}
 .mega-nav .mega-panel{padding-top:4px;gap:10px}
 .mega-nav .mega-panel h2,.mega-work .mega-work-index h2{font-size:32px;margin-bottom:10px}
 .mega-nav .mega-sector{min-height:44px;padding-block:9px;font-size:16px}
 .mega-nav .mega-work-index>.mega-route,.mega-services-index>.mega-route{margin-bottom:10px;font-size:16px}
 .mega-nav .mega-service-link{min-height:44px;padding-block:8px;font-size:22px}
 .mega-people{gap:4px}.mega-nav .mega-person{min-height:56px}.mega-person>img{width:48px;height:48px}.mega-person>span{font-size:15px}.mega-person>small{font-size:11px}
}
@media(max-width:1050px) and (max-height:450px){
 .mobile-menu-header{min-height:56px;padding-block:4px}.mega-nav .mobile-menu-brand{width:155px}.mobile-menu-close{width:44px;height:44px;flex-basis:44px}
 .mobile-menu-root,.mega-nav .mega-panels{padding:4px 24px 8px}
 .mobile-menu-list{grid-template-columns:1fr 1fr;gap:0 22px;margin-bottom:8px}
 .mega-nav .mobile-menu-row{min-height:44px;padding:5px 0;font-size:26px}.mobile-menu-contact{display:flex;align-items:center;justify-content:space-between;gap:12px}.mega-nav .mobile-menu-contact a{font-size:12px;min-height:44px}
 .mega-work-index{display:grid;grid-template-columns:1fr auto;gap:4px 16px}.mega-work .mega-work-index h2{margin:0;font-size:28px}.mega-nav .mega-work-index>.mega-route{margin:0;min-height:40px;min-width:90px;font-size:14px}
 .mega-sectors{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.mega-nav .mega-sector{font-size:14px;min-height:44px;padding:6px 0;line-height:1.15}
 .mega-services-index{display:grid;grid-template-columns:1fr auto;gap:4px 16px}.mega-services-index h2{grid-column:1;grid-row:1;font-size:28px!important;margin:0!important}.mega-services-index>.mega-route{grid-column:2;grid-row:1;margin:0;min-height:40px;min-width:95px;font-size:14px}
 .mega-service-links{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.mega-nav .mega-service-link{min-height:44px;font-size:20px;padding:6px 0}
 .mega-about-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.mega-about-intro h2{grid-column:1/-1;margin-bottom:0!important;font-size:28px!important}.mega-about-intro>.mega-route{font-size:14px;min-width:0;margin:0}
 .mega-people{grid-template-columns:1fr 1fr;gap:2px 16px}.mega-nav .mega-person{min-height:52px;grid-template-columns:42px 1fr;gap:0 10px}.mega-person>img{height:42px;width:42px}.mega-person>span{font-size:14px}.mega-person>small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.js-media .media-progressive>img[data-media-image],.js-media .media-progressive.media-is-loaded>.media-skeleton{transition:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Only the short sector row stays pinned; search keeps its natural position. */
.archive-mobile-search,.archive-mobile-bar{display:none}
@media(max-width:800px){
 .archive-surface>.archive-tools{display:none}
 .archive-mobile-search{display:block;position:relative;margin:0 24px 14px}
 #mobile-work-search{display:block;width:100%;height:48px;min-height:48px;font:16px/1.3 var(--sans);padding:12px 16px 12px 42px;border:1px solid #8c847c;border-radius:5px;background:#fff;color:var(--ink)}
 .archive-mobile-search:before{content:'';position:absolute;width:14px;height:14px;left:15px;top:16px;border:1.5px solid #746b64;border-radius:50%;pointer-events:none}.archive-mobile-search:after{content:'';position:absolute;width:6px;height:1.5px;left:27px;top:29px;background:#746b64;transform:rotate(45deg);pointer-events:none}
 #mobile-work-search:focus{outline:2px solid var(--red-dark);outline-offset:2px;border-color:var(--red-dark)}
 .archive-mobile-bar{position:sticky;top:80px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:4px 24px;background:#faf9f6f5;backdrop-filter:blur(12px);border-block:1px solid #d9d2cb;scroll-margin-top:80px}
 .archive-mobile-bar .mobile-sector-picker{flex:1;min-width:0}
 #mobile-work-count{display:flex;gap:6px;align-items:center;flex-shrink:0;white-space:nowrap;color:#57514c;font-size:12px}
 #mobile-work-count:before{content:'';width:5px;height:5px;background:var(--red-dark);border-radius:50%}
}
@media(max-width:1050px) and (max-height:700px){.mega-nav .mobile-menu-row{grid-template-columns:minmax(0,1fr) 20px!important}}
