

:root{
  --bg:#0E0E10; --bg2:#15151A; --bg3:#1E1E24;
  --text:#F4F1EA; --muted:#A7A39A;
  --accent:#E8A33D; --accent2:#FFD58A;
  --line:#2A2A30;
  --maxw:1280px; --gutter:clamp(16px,4vw,64px);
  --header-h:72px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --fs-scale:1;
  font-size:calc(16px * var(--fs-scale));
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:"PT Sans",system-ui,Arial,sans-serif;
  line-height:1.55; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.kicker,.slide__title,.nav__link,.btn{font-family:"Oswald",Arial,sans-serif}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent2)}
button{font:inherit;cursor:pointer}

[hidden]{display:none!important}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

.skip-link{position:fixed;left:-999px;top:8px;z-index:200;background:var(--accent);color:#111;padding:8px 14px;border-radius:6px}
.skip-link:focus{left:8px}

:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:8px;border:1px solid transparent;
  font-size:15px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;
  transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s;min-height:44px}
.btn--primary{background:var(--accent);color:#15110A;border-color:var(--accent)}
.btn--primary:hover{background:var(--accent2);color:#15110A;transform:translateY(-2px)}
.btn--primary:active{transform:translateY(0);background:#d8922e}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent2)}
.btn--ghost:active{background:rgba(232,163,61,.12)}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--text);transition:.2s}
.btn-icon:hover{border-color:var(--accent);color:var(--accent)}
.btn-icon[aria-pressed="true"]{background:var(--accent);color:#15110A;border-color:var(--accent)}

.header{position:fixed;inset:0 0 auto 0;z-index:100;background:rgba(14,14,16,.78);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header__inner{display:flex;align-items:center;gap:24px;height:var(--header-h);
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.header__logo{display:flex;align-items:center;gap:10px;color:var(--text);flex-shrink:0}
.header__logo-img{height:48px;width:auto;display:block}
@media(max-width:520px){.header__logo-img{height:40px}}
.header__logo-mark{display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--accent);
  color:var(--accent);font-family:"Oswald";font-weight:700;border-radius:6px}
.header__logo-text{font-size:12px;line-height:1.1;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.header__logo:hover .header__logo-mark{background:var(--accent);color:#15110A}

.nav{margin-left:auto}
.nav__list{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav__item{position:relative}
.nav__link{display:block;padding:10px 14px;color:var(--text);font-size:15px;letter-spacing:.03em;
  text-transform:uppercase;border-radius:6px;transition:.2s}
.nav__link:hover,.nav__item:focus-within>.nav__link{color:var(--accent);background:rgba(232,163,61,.08)}
.nav__link.is-active{color:var(--accent)}
.nav__link.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--accent)}

.nav__sub,.nav__sub3{position:absolute;list-style:none;margin:0;padding:8px;background:var(--bg2);
  border:1px solid var(--line);border-radius:8px;min-width:220px;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.2s;z-index:10}
.nav__sub{top:100%;left:0}
.nav__sub3{top:-8px;left:100%}
.nav__item--has-sub:hover>.nav__sub,.nav__item--has-sub:focus-within>.nav__sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav__sub li{position:relative}
.nav__sub a{display:block;padding:8px 12px;color:var(--text);border-radius:6px;text-transform:none;font-family:"PT Sans"}
.nav__sub a:hover{background:rgba(232,163,61,.1);color:var(--accent2)}
.nav__sub li:hover>.nav__sub3,.nav__sub li:focus-within>.nav__sub3{opacity:1;visibility:visible;transform:translateY(0)}

.header__actions{display:flex;align-items:center;gap:10px}
.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--line);border-radius:8px}
.burger span{width:22px;height:2px;background:var(--text);transition:.25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.a11y-panel{position:fixed;top:var(--header-h);right:var(--gutter);z-index:120;width:320px;max-width:calc(100vw - 32px);
  max-height:calc(100vh - var(--header-h) - 24px);overflow-y:auto;
  background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;gap:12px}
.a11y-panel__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--muted)}
.a11y-panel__row button{padding:6px 12px;min-height:36px;background:var(--bg3);border:1px solid var(--line);
  color:var(--text);border-radius:6px}
.a11y-panel__row button:hover,.a11y-panel__row button.is-on{background:var(--accent);color:#15110A;border-color:var(--accent)}
.a11y-panel__close{width:100%;padding:8px;background:transparent;border:1px solid var(--line);color:var(--text);border-radius:6px}

.sections{padding-top:0}
.panel{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding:calc(var(--header-h) + 40px) 0 60px;overflow:hidden}
.panel>.container{position:relative;z-index:2;width:100%}
.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.35em;font-size:14px;margin:0 0 12px}
.section-title{font-size:clamp(32px,5vw,64px);font-weight:700;margin:0 0 16px;line-height:1.05}
.section-lead{max-width:62ch;color:var(--muted);font-size:clamp(16px,1.6vw,19px);margin:0 0 32px}
.subhead{font-family:"Oswald";font-size:24px;margin:32px 0 12px;color:var(--accent2)}

.fade-text{position:relative;max-height:7.5em;overflow:hidden}
.fade-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3.5em;
  background:linear-gradient(to bottom,transparent,var(--bg))}
.fade-text.is-open{max-height:none}
.fade-text.is-open::after{display:none}

.panel--hero{justify-content:flex-start}
.hero__bg{position:absolute;inset:0;z-index:0;background:var(--bg) center/cover no-repeat}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,14,16,.96) 0%,rgba(14,14,16,.5) 50%,rgba(34,22,10,.3) 100%)}
.hero__beam{position:absolute;top:0;left:0;width:90%;max-width:1100px;opacity:.7;mix-blend-mode:screen}
.hero__content{padding-top:6vh}
.hero__title{font-size:clamp(56px,12vw,160px);line-height:.92;margin:0;font-weight:700;letter-spacing:-.01em}
.hero__years{color:var(--accent);letter-spacing:.4em;font-family:"Oswald";font-size:clamp(16px,2vw,22px);margin:10px 0 18px}
.hero__lead{max-width:48ch;color:var(--muted);font-size:clamp(16px,1.8vw,20px);margin:0 0 28px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}

.slider{position:relative;z-index:2;margin:auto var(--gutter) 0;max-width:var(--maxw);width:calc(100% - var(--gutter)*2);
  margin-inline:auto;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg2)}
.slider__track{display:flex;transition:transform .6s var(--ease)}
.slide{position:relative;min-width:100%;margin:0;aspect-ratio:16/6;min-height:200px}
.slide__media{position:absolute;inset:0;background:#000 center/cover no-repeat;
  background-image:linear-gradient(120deg,#1a1a22,#0e0e10 60%,#241a0d)}
.slide__media[style]{background-blend-mode:normal}
.slide__promo{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;
  padding:24px 28px;background:linear-gradient(to top,rgba(8,8,10,.92),transparent)}
.slide__title{font-size:clamp(18px,2.4vw,30px);font-weight:500}
.slide__caption{color:var(--accent2);font-size:14px;letter-spacing:.05em}
.slider__btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;
  background:rgba(14,14,16,.6);border:1px solid var(--line);color:var(--text);font-size:26px;line-height:1;z-index:3}
.slider__btn:hover{background:var(--accent);color:#15110A;border-color:var(--accent)}
.slider__btn--prev{left:14px}.slider__btn--next{right:14px}
.slider__dots{position:absolute;bottom:14px;right:20px;display:flex;gap:8px;z-index:3}
.slider__dots button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);border:0;padding:0}
.slider__dots button.is-active{background:var(--accent);width:26px;border-radius:6px}

.scroll-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:var(--muted);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px}
.scroll-hint span{width:1px;height:28px;background:linear-gradient(var(--accent),transparent);animation:hint 1.8s infinite}
@keyframes hint{0%{opacity:.2;transform:scaleY(.4)}50%{opacity:1}100%{opacity:.2;transform:scaleY(.4)}}

.timeline{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.timeline__item{background:var(--bg2);padding:18px;display:flex;flex-direction:column;gap:6px;transition:background .25s}
.timeline__item:hover{background:var(--bg3)}
.timeline__year{font-family:"Oswald";font-size:28px;font-weight:700;color:var(--accent)}
.timeline__text{font-size:14px;color:var(--muted)}

.accordion{display:grid;gap:8px;max-width:760px}
.pseudo-link{text-align:left;background:transparent;border:0;border-bottom:1px dashed var(--accent);
  color:var(--accent);padding:8px 0;font-size:17px;display:flex;justify-content:space-between;align-items:center;width:100%}
.pseudo-link::after{content:"+";font-family:"Oswald";font-size:22px;transition:.2s}
.pseudo-link[aria-expanded="true"]::after{transform:rotate(45deg)}
.pseudo-link:hover{color:var(--accent2)}
.accordion__body{padding:4px 0 14px;color:var(--text);max-width:70ch}

.bio-layout{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:48px;align-items:start}
.bio-figure{position:sticky;top:calc(var(--header-h) + 24px);text-align:center}
.bio-figure img{border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.bio-figure__cap{display:block;margin-top:10px;color:var(--muted);font-size:13px;letter-spacing:.03em}
@media(max-width:1024px){.bio-layout{grid-template-columns:1fr}.bio-figure{display:none}}

.section-title{position:relative}
.section-title::after{content:"";display:block;width:0;height:3px;background:var(--accent);margin-top:14px;transition:width .9s var(--ease) .15s}
.section-title.in-view::after{width:84px}

@media (prefers-reduced-motion:no-preference){
  .slide__media{animation:kenburns 14s ease-in-out infinite alternate}
}
@keyframes kenburns{from{transform:scale(1.001)}to{transform:scale(1.08)}}

.films-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.film-card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0;
  text-align:left;transition:transform .3s var(--ease),border-color .3s}
.film-card:hover{transform:translateY(-6px);border-color:var(--accent)}
.film-card__media{aspect-ratio:3/4;background:#000 center/cover no-repeat;
  background-image:linear-gradient(160deg,#20202a,#0e0e10 70%,#2a1d0d);transition:transform .4s var(--ease)}
.film-card:hover .film-card__media{transform:scale(1.05)}
.film-card h3{font-family:"Oswald";font-weight:500;font-size:17px;margin:14px 14px 2px}
.film-card__year{color:var(--accent);font-family:"Oswald";font-size:14px;margin:0 14px}
.film-card p{color:var(--muted);font-size:13px;margin:6px 14px 16px}

.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{margin:0;background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:10px;padding:24px}
.quote p{font-family:"Oswald";font-weight:300;font-size:clamp(18px,1.8vw,24px);margin:0 0 12px;line-height:1.25}
.quote cite{color:var(--accent2);font-style:normal;font-size:14px;letter-spacing:.04em}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;gap:14px}
.gallery-item{border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:0;
  background:#000 center/cover no-repeat;background-image:linear-gradient(135deg,#1d1d26,#0e0e10 60%,#281c0e);
  transition:transform .3s var(--ease),filter .3s}
.gallery-item:nth-child(1){grid-row:span 2}
.gallery-item:nth-child(4){grid-column:span 2}
.gallery-item:hover{transform:scale(.98);filter:brightness(1.15)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}
.stat{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:24px;text-align:center}
.stat__num{display:block;font-family:"Oswald";font-weight:700;font-size:clamp(34px,4vw,52px);color:var(--accent)}
.stat__label{color:var(--muted);font-size:14px}
.awards{width:100%;border-collapse:collapse;background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.awards th,.awards td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
.awards th{background:var(--bg3);color:var(--accent2);font-family:"Oswald";font-weight:500}
.awards tr:last-child td{border-bottom:0}
.awards td:first-child{color:var(--accent);font-family:"Oswald";width:90px}
.footnote{color:var(--muted);font-size:13px;margin-top:14px}
.footnote sup{color:var(--accent)}

.form{display:grid;gap:14px;max-width:520px}
.form__row{display:grid;gap:6px}
.form__row label{font-size:14px;color:var(--muted)}
.form__row input,.form__row textarea{background:var(--bg2);border:1px solid var(--line);border-radius:8px;
  padding:12px 14px;color:var(--text);font:inherit;min-height:44px}
.form__row input:focus,.form__row textarea:focus{border-color:var(--accent);outline:none}
.form__row input:invalid:not(:placeholder-shown){border-color:#c0563f}
.form__status{color:var(--accent2);font-size:14px;min-height:1.2em}

.footer{border-top:1px solid var(--line);margin-top:48px;padding:40px 0 24px}
.footer__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.footer__col strong{font-family:"Oswald";color:var(--accent2);display:block;margin-bottom:8px}
.footer__col p{color:var(--muted);font-size:14px;margin:0}
.footer__note{color:var(--muted);font-size:12px;margin-top:24px;opacity:.7}

.modal,.lightbox{position:fixed;inset:0;z-index:150;display:grid;place-items:center}
.modal__backdrop{position:absolute;inset:0;background:rgba(5,5,7,.8);backdrop-filter:blur(4px)}
.modal__box{position:relative;z-index:2;background:var(--bg2);border:1px solid var(--line);border-radius:14px;
  padding:32px;width:min(480px,92vw)}
.modal__box h2{margin:0 0 18px;font-size:26px}
.modal__close,.lightbox__close{position:absolute;top:12px;right:14px;width:40px;height:40px;border-radius:8px;
  background:transparent;border:1px solid var(--line);color:var(--text);font-size:22px}
.modal__close:hover,.lightbox__close:hover{border-color:var(--accent);color:var(--accent)}
.lightbox{background:rgba(5,5,7,.92)}
.lightbox__img{width:min(86vw,1100px);aspect-ratio:16/9;background:#000 center/contain no-repeat;
  background-image:linear-gradient(135deg,#1d1d26,#0e0e10 60%,#281c0e);border:1px solid var(--line);border-radius:10px}

@media (max-width:1024px){
  
  .header{backdrop-filter:none;background:rgba(14,14,16,.97)}
  .nav{position:fixed;inset:var(--header-h) 0 0 auto;width:min(320px,86vw);background:var(--bg2);
    border-left:1px solid var(--line);transform:translateX(100%);transition:transform .3s var(--ease);
    margin:0;padding:20px;overflow-y:auto;z-index:90}
  .nav.is-open{transform:translateX(0)}
  .nav__list{flex-direction:column;gap:2px}
  .nav__link{padding:14px 12px;font-size:18px}
  .nav__sub,.nav__sub3{position:static;opacity:1;visibility:visible;transform:none;border:0;background:transparent;
    padding:0 0 8px 16px;min-width:0}
  .burger{display:flex}
  .header__actions .btn--ghost{display:none}
  .films-grid{grid-template-columns:repeat(2,1fr)}
  .quotes{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  :root{--header-h:64px}
  .panel{min-height:auto;padding:calc(var(--header-h) + 32px) 0 48px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .gallery-item:nth-child(4){grid-column:span 1}
  .footer__inner{grid-template-columns:1fr 1fr}
  .slide{aspect-ratio:16/9}
}
@media (max-width:520px){
  .films-grid{grid-template-columns:1fr 1fr}
  .quotes{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .footer__inner{grid-template-columns:1fr}
  .header__logo-text{display:none}
  .hero__title{font-size:clamp(48px,18vw,80px)}
  .slide{aspect-ratio:4/5}
}

body[data-a11y-font="1"]{zoom:1.15}
body[data-a11y-font="2"]{zoom:1.35}
body[data-a11y-kerning="1"]{letter-spacing:.06em}
body[data-a11y-kerning="2"]{letter-spacing:.12em}
body[data-a11y-family="serif"],
body[data-a11y-family="serif"] h1,body[data-a11y-family="serif"] h2,body[data-a11y-family="serif"] h3,
body[data-a11y-family="serif"] .kicker,body[data-a11y-family="serif"] .nav__link,
body[data-a11y-family="serif"] .btn,body[data-a11y-family="serif"] .slide__title{font-family:"Times New Roman",Georgia,serif}
body[data-a11y-images="bw"] [data-decor]{filter:grayscale(1)}

body[data-a11y-scheme="bw"]{--bg:#fff;--bg2:#fff;--bg3:#f0f0f0;--text:#000;--muted:#222;--accent:#000;--accent2:#000;--line:#000}
body[data-a11y-scheme="wb"]{--bg:#000;--bg2:#000;--bg3:#111;--text:#fff;--muted:#eaeaea;--accent:#fff;--accent2:#fff;--line:#fff}
body[data-a11y-scheme="bb"]{--bg:#9dd1ea;--bg2:#9dd1ea;--bg3:#b6dcef;--text:#08315a;--muted:#0a3a6b;--accent:#08315a;--accent2:#08315a;--line:#08315a}
body[data-a11y-scheme="bw"] .header__logo-img,body[data-a11y-scheme="bb"] .header__logo-img{filter:brightness(0)}

body[data-a11y-images="off"] [data-decor]{display:none!important}
body:not([data-a11y-scheme="default"]) *{transition:none!important;animation:none!important}
body:not([data-a11y-scheme="default"]) .hero__bg::after{background:var(--bg);opacity:.8}
body:not([data-a11y-scheme="default"]) .slide__promo{background:linear-gradient(to top,var(--bg) 35%,transparent)}
body:not([data-a11y-scheme="default"]) .quote p,
body:not([data-a11y-scheme="default"]) .hero__title{font-weight:700}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .slider__track{transition:none!important}
}

.section-dots{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:80;display:none;flex-direction:column;gap:12px}
@media (min-width:1025px){.section-dots.is-ready{display:flex}}
.section-dots button{width:11px;height:11px;border-radius:50%;background:transparent;border:1px solid var(--muted);padding:0;transition:.25s}
.section-dots button.is-active{background:var(--accent);border-color:var(--accent);transform:scale(1.3)}

.film-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.chip{padding:8px 18px;min-height:40px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:14px;letter-spacing:.03em;transition:.2s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.is-active{background:var(--accent);color:#15110A;border-color:var(--accent)}
.film-card.is-hidden{display:none}

.modal__box--film{width:min(760px,94vw);padding:0;overflow:hidden}
.film-detail{display:grid;grid-template-columns:300px 1fr}
.film-detail__media{background:#000 center/cover no-repeat;background-image:linear-gradient(160deg,#20202a,#0e0e10 70%,#2a1d0d);min-height:380px}
.film-detail__info{padding:36px 32px}
.film-detail__year{color:var(--accent);font-family:"Oswald";font-size:18px}
.film-detail__info h2{margin:6px 0 14px;font-size:28px}
.film-detail__info p{color:var(--muted)}
@media(max-width:640px){.film-detail{grid-template-columns:1fr}.film-detail__media{min-height:200px}}

.nav__item--mobile{display:none}
.nav__feedback{text-align:left;background:transparent;border:0;border-top:1px solid var(--line);margin-top:8px;color:var(--accent);width:100%;cursor:pointer}
@media(max-width:1024px){.nav__item--mobile{display:block}}
