/* Cinema-led revision: footage is the architecture, not a boxed illustration. */
:root{--film-ink:#11241d;--film-paper:#f1f2ee;--travel:0;--photo-travel:0px}
.site-header{height:96px}.brand>svg{height:70px;width:144px}
.hero{display:block;position:relative;height:155svh;min-height:0;max-height:none;overflow:visible;background:var(--film-ink);color:var(--film-paper)}
.hero-stage{height:calc(100svh - 96px);min-height:640px;position:sticky;top:0;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;width:100%;height:100%;background:var(--film-ink);transform:translate3d(0,calc(var(--travel) * -85px),0) scale(calc(1 - var(--travel) * .18))!important;transform-origin:50% 30%;will-change:transform;z-index:0}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.hero-shade{display:block;position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-content{position:absolute;z-index:2;bottom:125px;left:0;right:0;display:block;padding:0 var(--gutter);transform:translate3d(0,calc(var(--travel) * -105px),0);opacity:max(0,calc(1 - var(--travel) * 1.8));pointer-events:auto}
.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(48px,6.3vw,96px);font-weight:500;line-height:1.04;letter-spacing:-.055em;white-space:normal;max-width:12ch;padding:0;margin:0 0 24px;text-wrap:balance}
.hero-lower{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:30px;padding:0;margin:0}.hero-lower p{font-size:17px;line-height:1.6;max-width:39ch}.hero-lower .button{flex-shrink:0;margin:0;background:var(--film-paper);color:var(--ink)}
.hero-meta{position:absolute;z-index:4;bottom:15px;left:0;right:0;background:transparent;padding:0 var(--gutter);display:flex;align-items:center;gap:24px;border:0;font-size:14px;min-height:54px}.hero-meta>a{text-decoration:none}.hero-meta>a:first-child{margin-right:auto}.hero-meta .film-credit{font-size:14px;color:#e4e8e0}.video-control{background:var(--film-paper);color:var(--ink);min-width:88px;min-height:46px}.video-control:hover{background:#d9e2d0}.hero-meta>a:hover{text-decoration:underline;text-underline-offset:5px}
.hero-reveal{position:absolute;bottom:105px;left:var(--gutter);right:var(--gutter);font-size:32px;line-height:1.25;letter-spacing:-.025em;color:var(--film-paper);max-width:none;opacity:max(0,calc((var(--travel) - .48) * 1.923));transform:translate3d(0,calc((1 - var(--travel)) * 80px),0);pointer-events:none;z-index:3}
.photo-window{overflow:hidden}.intro-grid .photo-window img{aspect-ratio:1.3;object-fit:cover;transform:translateY(var(--photo-travel)) scale(1.12);will-change:transform}.intro-grid{align-items:center}.intro-copy{padding:0}.intro-copy>p{font-size:18px;line-height:1.65}
.sector-tabs{display:inline-flex;padding:6px;background:#d4ddcf;gap:4px;margin-bottom:30px}.sector-tabs button,.sector-tabs button+button{font-size:18px;min-height:54px;padding:12px 26px;transition:background .25s,transform .25s}.sector-tabs button:active{transform:scale(.96)}.sector-panel{align-items:center}.sector-panel[hidden]{display:none}.sector-image{overflow:hidden}.sector-image img{width:100%;height:100%;aspect-ratio:1.22;object-fit:cover}.sector-copy h3{font-size:32px;max-width:19ch}.sector-copy .text-link{display:inline-flex;min-height:44px;align-items:center}.sector-copy ul{margin-top:22px;margin-bottom:24px}.sector-copy p{max-width:44ch}.sector-tabs button:hover{background:#bbcbb7}.sector-tabs button[aria-selected=true]{background:var(--ink)}
.media-credits{font-size:14px;padding:12px 0;color:#d4ddcf}.media-credits summary{min-height:44px;cursor:pointer}.media-credits p{margin:12px 0;max-width:80ch}.media-credits a{text-decoration:underline;text-underline-offset:3px}.media-note{max-width:80ch}
.desktop-nav a,.language,.header-phone,.text-link,.back-top{transition:opacity .2s,transform .2s}.desktop-nav a:hover,.header-phone:hover{opacity:.7}.text-link:hover{transform:translateX(4px)}
@media(max-width:1100px){.hero-lower p{max-width:32ch}.hero-stage{height:calc(100svh - 96px)}.hero h1{font-size:72px}.hero-content{bottom:125px}.sector-copy h3{font-size:28px}}
@media(max-width:760px){
.site-header{height:82px}.brand>svg{height:62px;width:130px}.hero{height:130svh;min-height:0}.hero-stage{height:calc(100svh - 82px);min-height:630px}.hero-media{transform:translate3d(0,calc(var(--travel) * -35px),0) scale(calc(1 - var(--travel) * .08))!important}.hero video{object-position:50% 43%}.hero-content{bottom:112px;padding:0 23px}.hero h1{font-size:clamp(44px,11.8vw,72px);max-width:11ch;line-height:1.05;margin:0 0 20px;letter-spacing:-.05em}.hero-lower{display:block;margin:0}.hero-lower p{font-size:16px;line-height:1.55;max-width:32ch}.hero-lower .button{margin-top:22px;min-height:52px;font-size:15px;padding:14px 20px}.hero-meta{padding:0 23px;bottom:15px;gap:12px;min-height:46px}.hero-meta>a{font-size:13px}.hero-meta .film-credit{display:none}.video-control{font-size:13px;min-width:75px;min-height:44px}.hero-reveal{bottom:100px;left:23px;right:23px;font-size:24px}.intro-copy>p{font-size:16px}.intro-grid .photo-window img{aspect-ratio:1.25}.sector-tabs{display:flex;width:max-content;max-width:100%;margin-bottom:24px}.sector-tabs button,.sector-tabs button+button{font-size:16px;min-height:52px;padding:12px 20px}.sector-image img{aspect-ratio:1.2}.sector-copy h3{font-size:28px;max-width:20ch}.media-credits{font-size:14px}.intro-copy{padding:0}.sector-copy .text-link{font-size:15px}.contact-details a{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.hero{height:auto}.hero-stage{position:relative;height:calc(100svh - 82px);min-height:630px}.hero-media{transform:none!important}.hero-content{transform:none!important;opacity:1}.hero-reveal{display:none}.intro-grid .photo-window img{transform:none!important}.text-link:hover{transform:none}}
@keyframes content-arrives{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.arriving{animation:content-arrives .9s cubic-bezier(.2,.75,.25,1) both}
.hero h1{font-weight:600}.hero-shade{background:linear-gradient(0deg,rgba(6,19,13,.88),rgba(6,19,13,.03) 80%),linear-gradient(90deg,rgba(6,19,13,.2),transparent 65%)} /* taste-skill-ignore: the permitted neutral scrim over moving footage, not a decorative gradient fill. */
@media(max-width:760px){.hero-media{transform:translate3d(0,calc(var(--travel) * -95px),0) scale(calc(1 - var(--travel) * .14))!important}.video-control{min-width:100px;padding:8px 12px}.hero-meta>a:first-child{max-width:210px}.hero-reveal{bottom:90px}}
@media(prefers-reduced-motion:reduce){.arriving{animation:none}.hero-media{transform:none!important}}
@media print{.hero{height:auto}.hero-stage{height:auto;min-height:420px;position:relative}.hero-content{position:relative;padding-top:60px;bottom:auto;color:var(--ink)}.hero-meta,.hero-reveal{display:none}}
