@import url("https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,700&family=IBM+Plex+Mono:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;700&display=swap");
:root{
--font-sans:"Inter","Neue Haas Grotesk Display","Helvetica Now","Helvetica Neue",Helvetica,Arial,sans-serif;
--font-mono:"IBM Plex Mono","SF Mono","Fira Code",Consolas,monospace;
}

:root{

--primary-50:#FFF1EC;--primary-100:#FFDCD1;--primary-300:#FF8A66;--primary-500:#E8380D;--primary-600:#C42E0A;--primary-700:#9C2508;--primary-900:#571405;

--secondary-50:#EEF2F7;--secondary-100:#D8E0EC;--secondary-300:#8FA3C4;--secondary-500:#3B5480;--secondary-600:#2E4368;--secondary-700:#233450;--secondary-900:#131D2D;

--neutral-0:#FFFFFF;--neutral-50:#F7F6F4;--neutral-100:#EDEBE8;--neutral-200:#DEDBD6;--neutral-400:#A3A099;--neutral-500:#7D7A73;--neutral-700:#4A4843;--neutral-900:#1A1918;--neutral-950:#111110;

--success-100:#E3F2E6;--success-500:#1E7B34;--success-700:#145223;
--warning-100:#FCF3D7;--warning-500:#B27A00;--warning-700:#7A5400;
--error-100:#FBE7E5;--error-500:#C6281C;--error-700:#8C1C13;

--color-bg-page:var(--neutral-0);
--color-bg-surface:var(--neutral-50);
--color-bg-raised:var(--neutral-100);
--color-text-primary:var(--neutral-900);
--color-text-secondary:var(--neutral-700);
--color-text-tertiary:var(--neutral-500);
--color-text-disabled:var(--neutral-400);
--color-text-inverse:var(--neutral-0);
--color-border-default:var(--neutral-200);
--color-border-strong:var(--neutral-900);
--color-action-primary:var(--primary-500);
--color-action-primary-hover:var(--primary-600);
--color-action-primary-active:var(--primary-700);
--color-focus-ring:var(--primary-500);
}
[data-theme="dark"]{
--primary-50:#2A0E06;--primary-100:#421508;--primary-300:#B33C1A;--primary-500:#FF4D1F;--primary-600:#FF6B42;--primary-700:#FF8A66;--primary-900:#FFC5B3;
--secondary-50:#0C1220;--secondary-100:#152238;--secondary-300:#3D5580;--secondary-500:#7C96C2;--secondary-600:#93AAD1;--secondary-700:#AEC0DE;--secondary-900:#D8E0EC;
--neutral-0:#111110;--neutral-50:#191918;--neutral-100:#222221;--neutral-200:#2E2E2C;--neutral-400:#6E6C66;--neutral-500:#8C8983;--neutral-700:#B8B5AE;--neutral-900:#EDEBE8;--neutral-950:#F7F6F4;
--success-100:#0E2413;--success-500:#4CBF66;--success-700:#7ED694;
--warning-100:#2B2106;--warning-500:#E5B94E;--warning-700:#F0D083;
--error-100:#2C0B09;--error-500:#F26A5E;--error-700:#F79A92;
}

:root{
--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;
--text-display-xl:clamp(3rem,2rem + 5vw,6rem); 
--text-display:clamp(2.25rem,1.75rem + 2.5vw,4rem); 
--text-h2:clamp(1.75rem,1.5rem + 1.25vw,2.5rem); 
--text-h3:clamp(1.375rem,1.25rem + 0.6vw,1.75rem); 
--text-h4:1.125rem;
--text-body-lg:1.125rem;
--text-body:1rem;
--text-body-sm:0.875rem;
--text-caption:0.75rem;
--text-overline:0.75rem;
--text-mono:0.875rem;
--measure:65ch; 
}

:root{
--space-0:0px;--space-px:1px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--space-40:160px;
--radius-none:0px;--radius-sm:2px;--radius-md:4px;--radius-full:9999px;
--z-base:0;  --z-raised:10;  --z-sticky:100;  --z-dropdown:200;  --z-overlay:300;  --z-modal:400;  --z-toast:500;  --z-tooltip:600; 
--border-hairline:1px;--border-strong:2px;
--shadow-none:none;
--shadow-sm:0 1px 2px rgb(0 0 0 / 0.06);
--shadow-md:0 4px 12px rgb(0 0 0 / 0.10);
--shadow-lg:0 8px 24px rgb(0 0 0 / 0.14);
--container-max:1440px;--container-narrow:768px;--container-gutter:clamp(20px,4vw,64px); --grid-columns:12; --grid-gap:var(--space-6);
}

:root{
--duration-instant:80ms;  --duration-fast:150ms;  --duration-base:220ms;  --duration-slow:400ms; 
--ease-out:cubic-bezier(0.16,1,0.3,1); 
--ease-in-out:cubic-bezier(0.65,0,0.35,1); 
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-sans);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased;font-size:var(--text-body);line-height:1.55}
img,video{max-width:100%;height:auto;display:block}
button{font:inherit}
h1{font-size:var(--text-display);font-weight:var(--font-weight-bold);line-height:1.0;letter-spacing:-0.025em;text-wrap:balance;margin:0}
h2{font-size:var(--text-h2);font-weight:var(--font-weight-bold);line-height:1.1;letter-spacing:-0.02em;text-wrap:balance;margin:0}
h3{font-size:var(--text-h3);font-weight:var(--font-weight-bold);line-height:1.2;letter-spacing:-0.01em;text-wrap:balance;margin:0}
h4{font-size:var(--text-h4);font-weight:var(--font-weight-medium);line-height:1.35;margin:0}
p{text-wrap:pretty;max-width:var(--measure)}
a{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:0.15em;text-decoration-color:transparent;transition:text-decoration-color var(--duration-fast) var(--ease-out)}
a:hover{text-decoration-color:var(--color-action-primary)}
.overline{font-size:var(--text-overline);letter-spacing:0.12em;text-transform:uppercase;font-weight:var(--font-weight-medium);line-height:1.2}
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-gutter)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
@media (min-width:768px){.grid{grid-template-columns:repeat(8,1fr)}}
@media (min-width:1024px){.grid{grid-template-columns:repeat(12,1fr)}}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:var(--border-strong) solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}
::selection{background:var(--primary-500);color:var(--neutral-0)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}

@font-face{font-family:'ZT Nature';src:url('assets/ZTNature-Thin.ttf') format('truetype');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'ZT Nature';src:url('assets/ZTNature-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'ZT Nature';src:url('assets/ZTNature-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
h1,h2,.hero-title h1,.error-page h1{font-family:'ZT Nature',var(--font-sans);font-weight:500}
body{font-family:'Inter Tight',var(--font-sans)}

.site-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--container-gutter);background:var(--color-bg-page);border-bottom:var(--border-hairline) solid var(--color-border-default)}
.site-header--overlay{position:fixed;left:0;right:0;background:transparent;border-bottom:none;color:var(--neutral-0)}
.wordmark{display:inline-flex;align-items:center;gap:var(--space-3);font-weight:var(--font-weight-bold);letter-spacing:0.12em;font-size:var(--text-body-sm);text-transform:uppercase;text-decoration:none}
.wordmark .mark{flex:none}
.site-header--overlay .wordmark{color:var(--neutral-0)}
.pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 22px;border-radius:var(--radius-full);border:var(--border-hairline) solid var(--color-border-strong);background:transparent;color:var(--color-text-primary);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}
.pill:hover{background:var(--neutral-900);color:var(--neutral-0)}
.pill:active{transform:translateY(1px)}
.site-header--overlay .pill{border-color:var(--neutral-0);color:var(--neutral-0)}
.site-header--overlay .pill:hover{background:var(--neutral-0);color:var(--neutral-900)}

.menu-scrim{position:fixed;inset:0;background:rgb(0 0 0 / 0.45);z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out)}
.menu-panel{position:fixed;top:20px;right:20px;bottom:20px;width:30%;min-width:320px;border-radius:20px;background:var(--neutral-950);color:var(--neutral-0);z-index:var(--z-modal);padding:var(--space-8) var(--space-10);display:flex;flex-direction:column;transform:translateX(calc(100% + 24px));transition:transform var(--duration-slow) var(--ease-out);overflow-y:auto}
body.menu-open .menu-scrim{opacity:1;pointer-events:auto}
body.menu-open .menu-panel{transform:none}
.menu-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-12)}
.menu-top .overline{color:var(--neutral-400)}
.menu-panel .pill{border-color:var(--neutral-0);color:var(--neutral-0)}
.menu-panel .pill:hover{background:var(--neutral-0);color:var(--neutral-950)}
.menu-nav ol{list-style:none;margin:0;padding:0}
.menu-nav li{border-bottom:var(--border-hairline) solid var(--neutral-200)}
[data-theme] .menu-nav li,.menu-nav li{border-color:rgb(255 255 255 / 0.14)}
.menu-nav a{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;color:var(--neutral-0);text-decoration:none;font-size:clamp(1.25rem,1rem + 1vw,1.75rem);font-weight:var(--font-weight-medium);letter-spacing:-0.01em;transition:color var(--duration-fast) var(--ease-out)}
.menu-nav a:hover{color:var(--primary-500)}
.menu-nav a[aria-current="page"]{color:var(--primary-500)}
.menu-contact{margin-top:auto;padding-top:var(--space-8);font-size:var(--text-body-sm);color:var(--neutral-400)}
.menu-contact a{color:var(--neutral-0)}

.hero{position:relative;height:100vh;width:100%;background:var(--neutral-950);overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:rgb(0 0 0 / 0.2)}
.hero-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);text-align:center;color:var(--neutral-0);padding:0 var(--container-gutter)}
.hero-brand{display:flex;align-items:center;gap:clamp(12px,1.5vw,24px)}
.hero-brand svg{width:clamp(40px,5vw,72px);height:clamp(40px,5vw,72px);flex:none}
.hero-brand h1{font-family:var(--font-sans);font-weight:var(--font-weight-bold);letter-spacing:0.12em;text-transform:uppercase;font-size:clamp(1.5rem,4vw,3.5rem)}
.hero-title .pill{border-color:var(--primary-500);color:var(--neutral-0);text-decoration:none}
.hero-title .pill:hover{background:var(--primary-500);color:var(--neutral-0)}

.page-hero{padding:var(--space-24) 0 var(--space-16)}
.page-hero .overline{color:var(--color-text-tertiary);display:block;margin-bottom:var(--space-6)}
.page-hero h1{font-size:var(--text-display)}
.tagline{font-size:var(--text-h3);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);letter-spacing:-0.01em;max-width:var(--measure);margin:var(--space-8) 0 0}
.lead{font-size:var(--text-body-lg);color:var(--color-text-secondary)}

.sec-h{display:flex;align-items:center;gap:var(--space-3)}
.sec-h svg{width:22px;height:22px;flex:none;stroke:var(--primary-500);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

section.band{padding:var(--space-16) 0;border-top:var(--border-hairline) solid var(--color-border-default)}
.split{display:grid;gap:var(--space-8)}
@media (min-width:900px){.split{grid-template-columns:4fr 7fr;gap:var(--space-16)}.split--tight{grid-template-columns:5fr 6fr}}
.split h2{margin-bottom:var(--space-6)}
.prose p{margin:0 0 var(--space-4)}
.prose p:last-child{margin-bottom:0}

.index-list{list-style:none;margin:0;padding:0}
.band h2+.index-list{margin-top:var(--space-8)}
.band .meta+.index-list{margin-top:var(--space-6)}
.band h2+.meta{margin-top:var(--space-3)}
.index-list>li{padding:var(--space-8) 0;border-top:var(--border-hairline) solid var(--color-border-default)}
.index-list h3{margin-bottom:var(--space-3)}
.index-list p{margin:0;color:var(--color-text-secondary)}

.arrow-link{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);text-decoration:none}
.arrow-link .arr{transition:transform var(--duration-fast) var(--ease-out)}
.arrow-link:hover .arr{transform:translateX(4px)}

.meta{font-family:var(--font-mono);font-size:var(--text-mono);color:var(--color-text-tertiary)}
.film{padding:var(--space-16) 0;border-top:var(--border-hairline) solid var(--color-border-default)}
.film-head{display:flex;align-items:baseline;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-8)}
.film-grid{display:grid;gap:var(--space-10)}
@media (min-width:900px){.film-grid{grid-template-columns:7fr 4fr;gap:var(--space-16)}}
.film-grid h2{font-size:var(--text-display);margin-bottom:var(--space-6)}
.poster{margin:0;aspect-ratio:27/40;background:var(--neutral-100);border:var(--border-hairline) solid var(--color-border-default)}
.photo-band{grid-column:1/-1;width:100%;aspect-ratio:21/9;margin:var(--space-12) 0 0}
.photo-band img,.poster img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:767px){.photo-band{aspect-ratio:4/3}}
.still-band{position:relative;margin-top:var(--space-12);background:var(--neutral-950)}
.still-band video,.still-band img{display:block;width:100%;height:clamp(280px,45vw,520px);object-fit:cover;opacity:0.9}
.still-quote{position:absolute;left:clamp(20px,5vw,64px);bottom:clamp(20px,5vw,48px);max-width:34ch;background:var(--neutral-0);padding:var(--space-6) var(--space-8);font-size:var(--text-h4);font-weight:var(--font-weight-medium);line-height:1.4}

.role{padding:var(--space-12) 0;border-top:var(--border-hairline) solid var(--color-border-default);display:grid;gap:var(--space-6)}
@media (min-width:900px){.role{grid-template-columns:5fr 7fr;gap:var(--space-16)}}
.role .meta{display:block;margin-top:var(--space-3)}

.contact-grid{display:grid;gap:var(--space-12);padding:var(--space-4) 0 var(--space-24)}
@media (min-width:900px){.contact-grid{grid-template-columns:5fr 6fr;gap:var(--space-16)}}
.contact-info dl{margin:0}
.contact-info dt{font-size:var(--text-overline);letter-spacing:0.12em;text-transform:uppercase;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);margin-bottom:var(--space-1)}
.contact-info dd{margin:0 0 var(--space-6);font-size:var(--text-body-lg)}
.addresses{display:grid;gap:var(--space-6);margin-top:var(--space-10);padding-top:var(--space-8);border-top:var(--border-hairline) solid var(--color-border-default)}
.addresses h3{font-size:var(--text-h4);margin-bottom:var(--space-2)}
.addresses p{margin:0;color:var(--color-text-secondary)}

form.contact-form{display:grid;gap:var(--space-5)}
.field{display:grid;gap:var(--space-2)}
.field label{font-size:var(--text-body-sm);font-weight:var(--font-weight-medium)}
.field input,.field select,.field textarea{font:inherit;padding:12px 14px;border:var(--border-hairline) solid var(--neutral-400);border-radius:var(--radius-sm);background:var(--neutral-0);color:var(--color-text-primary);width:100%}
.field textarea{min-height:160px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:var(--border-strong) solid var(--color-focus-ring);outline-offset:2px}
.btn-primary{justify-self:start;padding:14px 32px;background:var(--color-action-primary);color:var(--neutral-0);border:none;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);font-size:var(--text-body);cursor:pointer;letter-spacing:0.04em;transition:background var(--duration-fast) var(--ease-out)}
.btn-primary:hover{background:var(--color-action-primary-hover)}
.btn-primary:active{transform:translateY(1px)}

.site-footer{background:var(--neutral-950);color:var(--neutral-400);margin-top:var(--space-24)}
.site-footer .inner{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:baseline;justify-content:space-between;padding-block:var(--space-10)}
.site-footer .wordmark{color:var(--neutral-0)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-5)}
.site-footer a{color:var(--neutral-400);text-decoration:none;font-size:var(--text-body-sm)}
.site-footer a:hover{color:var(--neutral-0)}
.site-footer .copy{font-size:var(--text-caption);width:100%}
@media (min-width:768px) and (max-width:1099px){
.menu-panel{width:44%}
.film-grid{grid-template-columns:1fr;gap:var(--space-10)}
.film-grid .poster{max-width:340px}
}

.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:var(--z-toast);background:var(--neutral-0);border:var(--border-hairline) solid var(--color-border-strong);padding:var(--space-6) var(--space-8);max-width:760px;box-shadow:0 8px 24px rgb(0 0 0 / 0.12);transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}
.cookie-banner.cookie-hide{opacity:0;transform:translateY(12px)}
.cookie-banner h2{font-size:var(--text-h4);margin-bottom:var(--space-3)}
.cookie-banner p{font-size:var(--text-body-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4)}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.cookie-actions .btn-primary{padding:10px 22px;font-size:var(--text-body-sm)}
.cookie-link{background:none;border:none;padding:0;font:inherit;font-size:var(--text-body-sm);color:var(--color-text-primary);text-decoration:underline;cursor:pointer}
.cookie-prefs{margin-top:var(--space-2)}
.cookie-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);padding:var(--space-3) 0;border-bottom:var(--border-hairline) solid var(--color-border-default)}
.cookie-row h3{font-size:var(--text-body);margin-bottom:var(--space-1)}
.cookie-row p{margin:0}
.cookie-prefs .cookie-actions{padding-top:var(--space-5)}
.switch{position:relative;flex:none;width:44px;height:24px;cursor:pointer}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.switch span{position:absolute;inset:0;background:var(--neutral-200);border-radius:var(--radius-full);transition:background var(--duration-fast) var(--ease-out)}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--neutral-0);transition:transform var(--duration-fast) var(--ease-out)}
.switch input:checked+span{background:var(--primary-500)}
.switch input:checked+span::after{transform:translateX(20px)}
.switch input:disabled+span{background:var(--neutral-400);opacity:0.6;cursor:not-allowed}

.error-page{min-height:calc(100vh - 180px);display:flex;flex-direction:column;justify-content:center;padding-block:var(--space-16)}
.error-page .code{font-family:var(--font-mono);font-size:var(--text-mono);color:var(--primary-500);display:block;margin-bottom:var(--space-6)}
.error-page h1{font-size:var(--text-display-xl);letter-spacing:-0.03em;max-width:14ch}
.error-page p{margin:var(--space-6) 0 var(--space-8);font-size:var(--text-body-lg);color:var(--color-text-secondary);max-width:var(--measure)}
.error-links{display:flex;flex-wrap:wrap;gap:var(--space-5)}

@media (max-width:767px){
.poster{max-width:300px}
.still-quote{position:static;max-width:none;padding:var(--space-5);font-size:var(--text-body)}
.film-head{gap:var(--space-3)}
.hero-title{gap:var(--space-6)}
.contact-info dd{font-size:var(--text-body)}
.cookie-banner{padding:var(--space-5)}
.menu-panel{width:calc(100% - 40px);min-width:0;padding:var(--space-6) var(--space-6)}
.page-hero{padding:var(--space-16) 0 var(--space-12)}
}
