/* =========================================================
   ZODIAX PICTURES
   FILM MASTER TEMPLATE – template.css
   ---------------------------------------------------------
   Local-only design. No external fonts, libraries or CDNs.
   Visual language based on the Zodiax dashboard.
   ========================================================= */

* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --red: #e50914;
    --red-bright: #ff1e2d;
    --black: #030303;
    --black2: #080808;
    --white: #eeeeee;
    --grey: #777;
    --grey2: #555;
    --green: #74c900;
    --theme-bg: #030303;
    --theme-bg-2: #080808;
    --theme-panel: rgba(10,10,10,.96);
    --theme-panel-2: rgba(5,5,5,.98);
    --theme-text: #eeeeee;
    --theme-text-soft: #999;
    --theme-border: rgba(255,255,255,.10);
    --theme-red: #e50914;
}

html[data-theme="light"] {
    --theme-bg: #f2f2f2;
    --theme-bg-2: #fff;
    --theme-panel: rgba(255,255,255,.97);
    --theme-panel-2: rgba(248,248,248,.99);
    --theme-text: #111;
    --theme-text-soft: #666;
    --theme-border: rgba(0,0,0,.12);
    --theme-red: #c9000b;
}

html, body { min-height: 100%; }

body {
    min-height: 100vh;
    background:
        radial-gradient(ellipse at 50% 18%, rgba(100,0,10,.13), transparent 52%),
        linear-gradient(180deg, var(--theme-bg) 0%, var(--theme-bg-2) 50%, var(--theme-bg) 100%);
    color: var(--theme-text);
    font-family: Arial, Helvetica, sans-serif;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    transition: background .35s ease, color .35s ease;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .035;
    background-image: repeating-linear-gradient(0deg, rgba(255,255,255,.8) 0, rgba(255,255,255,.8) 1px, transparent 1px, transparent 3px);
    z-index: 0;
}

body::after {
    content: "";
    position: fixed;
    width: 700px;
    height: 700px;
    left: 50%;
    top: 35%;
    transform: translate(-50%,-50%);
    background: radial-gradient(circle, rgba(229,9,20,.09) 0%, rgba(229,9,20,.025) 38%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.film-page { position: relative; z-index: 1; min-height: 100vh; }

/* HEADER */
.film-header {
    min-height: 88px;
    display: flex;
    align-items: center;
    padding: 0 34px;
    border-bottom: 1px solid rgba(229,9,20,.65);
    background: linear-gradient(180deg, rgba(3,3,3,.98), rgba(3,3,3,.91));
    box-shadow: 0 8px 35px rgba(0,0,0,.55);
    position: relative;
}

.film-header::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 260px;
    height: 1px;
    background: linear-gradient(90deg, var(--red), transparent);
    box-shadow: 0 0 12px var(--red);
}

.brand-block { width: 132px; line-height: 1; text-decoration: none; }
.brand-main { display:block; color:#f4f4f4; font-size:22px; font-weight:300; letter-spacing:8px; }
.brand-sub { display:block; margin-top:7px; color:var(--red); font-size:10px; font-weight:800; letter-spacing:7px; }
.header-divider { width:1px; height:38px; margin:0 22px; background:rgba(255,255,255,.13); }
.header-area { color:#888; font-size:10px; font-weight:700; letter-spacing:3px; }
/* MENU DROPDOWN */
.menu-dropdown {
    position:relative;
    margin-left:auto;
}
.menu-dropdown-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:38px;
    padding:0 15px;
    color:#aaa;
    border:1px solid rgba(229,9,20,.35);
    background:rgba(229,9,20,.035);
    font:800 10px/1 Arial,Helvetica,sans-serif;
    letter-spacing:2.2px;
    cursor:pointer;
    transition:color .2s ease,border-color .2s ease,background .2s ease;
}
.menu-dropdown-toggle:hover,
.menu-dropdown.open .menu-dropdown-toggle {
    color:#fff;
    border-color:rgba(229,9,20,.75);
    background:rgba(229,9,20,.10);
}
.menu-chevron {
    color:var(--red);
    font-size:14px;
    line-height:0;
    transform:translateY(-1px);
    transition:transform .2s ease;
}
.menu-dropdown.open .menu-chevron {
    transform:rotate(180deg) translateY(1px);
}
.menu-dropdown-menu {
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    min-width:170px;
    padding:7px;
    background:rgba(5,5,5,.98);
    border:1px solid rgba(229,9,20,.35);
    border-top:2px solid var(--red);
    box-shadow:0 18px 40px rgba(0,0,0,.65);
    opacity:0;
    visibility:hidden;
    transform:translateY(-7px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
    z-index:30;
}
.menu-dropdown.open .menu-dropdown-menu {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.menu-dropdown-menu a {
    display:flex;
    align-items:center;
    min-height:40px;
    padding:0 12px;
    color:#aaa;
    text-decoration:none;
    font:800 9px/1 Arial,Helvetica,sans-serif;
    letter-spacing:2px;
    transition:color .2s ease,background .2s ease;
}
.menu-dropdown-menu a:hover {
    color:#fff;
    background:rgba(229,9,20,.09);
}
.menu-dropdown-menu .menu-login-link {
    margin-top:5px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#fff;
}
.menu-dropdown-menu .login-dot {
    flex:0 0 auto;
}
.mobile-menu-toggle { display:none; }

.header-tools { margin-left:18px; display:flex; align-items:center; gap:20px; }
.language-switch, .theme-switch { display:flex; align-items:center; gap:8px; font-size:10px; }
.language-switch { color:#555; font-weight:700; letter-spacing:2px; }
.language-option { color:#555; text-decoration:none; }
.language-option:hover, .language-option.active { color:var(--red-bright); }
.theme-switch { color:#555; }
.theme-option { border:1px solid rgba(255,255,255,.18); background:rgba(0,0,0,.35); color:#777; padding:7px 10px; font:700 9px Arial,Helvetica,sans-serif; letter-spacing:1.5px; cursor:pointer; transition:.2s ease; }
.theme-option:hover, .theme-option.active { color:#fff; border-color:var(--theme-red); }
.theme-option.active { background:rgba(229,9,20,.20); box-shadow:0 0 10px rgba(229,9,20,.20); }

/* CONTENT */
.film-content { width:min(1200px, calc(100% - 40px)); margin:0 auto; padding:54px 0 35px; }

.hero {
    position:relative;
    min-height:270px;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:40px 45px;
    border-bottom:1px solid rgba(229,9,20,.35);
}
.hero::before { content:""; position:absolute; width:520px; height:520px; right:-40px; top:-150px; border:1px solid rgba(229,9,20,.16); border-radius:50%; box-shadow:0 0 0 65px rgba(229,9,20,.025),0 0 0 130px rgba(229,9,20,.015); }
.hero::after { content:""; position:absolute; right:0; top:50%; width:54%; height:1px; background:linear-gradient(90deg,transparent,rgba(229,9,20,.42)); }
.hero-content { position:relative; z-index:2; max-width:760px; }
.hero-kicker, .section-kicker { color:var(--red); font-size:9px; font-weight:800; letter-spacing:3px; }
.hero h1 { margin-top:16px; color:#f4f4f4; font-size:clamp(42px,7vw,78px); line-height:1; font-weight:900; letter-spacing:4px; }
.hero-line { width:52px; height:2px; margin-top:22px; background:var(--red); box-shadow:0 0 10px var(--red); }
.hero p { max-width:650px; margin-top:15px; color:#777; font-size:13px; line-height:1.7; letter-spacing:.7px; }
.hero-mark { position:absolute; right:55px; top:50%; transform:translateY(-50%); color:rgba(229,9,20,.10); font-size:105px; font-weight:900; letter-spacing:-4px; line-height:1; user-select:none; pointer-events:none; z-index:1; }

/* PANELS */
.panel { position:relative; margin-top:22px; padding:28px; background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)); border:1px solid var(--theme-border); box-shadow:0 20px 60px rgba(0,0,0,.45); overflow:hidden; transition:background .35s ease,border-color .35s ease; }
.panel::before { content:""; position:absolute; top:0; left:0; width:150px; height:1px; background:linear-gradient(90deg,var(--theme-red),transparent); box-shadow:0 0 10px rgba(229,9,20,.5); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.panel h2 { margin-top:7px; color:#eee; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:400; }
.film-title-language-row { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.film-title-language-row h2 { margin-bottom:0; }
.film-language-buttons { display:flex; align-items:center; gap:6px; margin-top:7px; }
.film-language-button {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:40px; height:30px; padding:0 10px;
    border:1px solid rgba(229,9,20,.48);
    background:rgba(229,9,20,.035);
    color:#777; text-decoration:none;
    font:800 9px/1 Arial,Helvetica,sans-serif; letter-spacing:2px;
    transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.film-language-button:hover,
.film-language-button.active {
    color:#fff; border-color:rgba(229,9,20,.82);
    background:rgba(229,9,20,.12);
    box-shadow:0 0 10px rgba(229,9,20,.12);
}
html[data-theme="light"] .film-language-button {
    background:rgba(0,0,0,.02); border-color:rgba(201,0,11,.42); color:#555;
}
html[data-theme="light"] .film-language-button:hover,
html[data-theme="light"] .film-language-button.active {
    color:#111; border-color:rgba(201,0,11,.72); background:rgba(201,0,11,.07);
}

/* VIDEO */
/* INFORMATION */
.info-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-top:22px; }
.info-card { min-height:145px; padding:20px 18px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)); border:1px solid var(--theme-border); transition:.2s ease; }
.info-card:hover { transform:translateY(-2px); border-color:rgba(229,9,20,.35); }
.info-icon { width:38px; height:38px; display:flex; align-items:center; justify-content:center; margin-bottom:auto; border:1px solid rgba(229,9,20,.55); border-radius:50%; color:var(--red-bright); font-size:9px; font-weight:800; }
.info-label { margin-top:20px; color:#666; font-size:8px; font-weight:700; letter-spacing:2px; }
.info-value { margin-top:8px; color:#eee; font-size:14px; font-weight:500; line-height:1.35; overflow-wrap:anywhere; }

/* AWARDS */
.awards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.awards-grid[hidden] { display:none; }
.awards-image-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-top:14px; }
.awards-image-grid a { display:block; overflow:hidden; border:1px solid var(--theme-border); background:var(--theme-panel); }
.awards-image-grid img { display:block; width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; }

.award-card { position:relative; min-height:185px; padding:22px 20px 20px; background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)); border:1px solid var(--theme-border); overflow:hidden; transition:.2s ease; }
.award-card::before { content:""; position:absolute; top:0; left:0; width:90px; height:1px; background:linear-gradient(90deg,var(--theme-red),transparent); }
.award-card:hover { transform:translateY(-2px); border-color:rgba(229,9,20,.35); }
.award-mark { width:40px; height:40px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(229,9,20,.5); border-radius:50%; color:var(--red-bright); font-size:15px; }
.award-year { margin-top:22px; color:var(--red-bright); font-size:8px; font-weight:800; letter-spacing:2px; }
.award-name { margin-top:7px; color:#eee; font-family:Georgia,"Times New Roman",serif; font-size:18px; line-height:1.25; }
.award-festival { margin-top:9px; color:#777; font-size:10px; line-height:1.45; }
.award-category { margin-top:10px; color:#555; font-size:8px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }

/* EDITORIAL */
.editorial-copy { max-width:860px; }
.editorial-copy p { color:#777; font-size:13px; line-height:1.9; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.two-column .panel { margin-top:22px; }
.compact-panel { min-height:280px; }
.technical-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.technical-grid > div { min-height:92px; padding:18px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); }
.technical-grid span { display:block; color:#555; font-size:8px; font-weight:800; letter-spacing:2px; }
.technical-grid strong { display:block; margin-top:9px; color:#ddd; font-size:13px; font-weight:500; }

/* FOOTER */
.film-footer { min-height:110px; padding:28px 34px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; border-top:1px solid rgba(255,255,255,.06); color:#444; font-size:8px; letter-spacing:1.5px; }
.footer-brand span { display:block; color:#aaa; font-size:14px; font-weight:300; letter-spacing:6px; line-height:1; }
.footer-brand small { display:block; margin-top:5px; color:var(--red); font-size:7px; font-weight:800; letter-spacing:5px; }
.footer-copy { text-align:center; }
.footer-links { display:flex; justify-content:flex-end; gap:22px; }
.footer-links a { color:#555; text-decoration:none; }
.footer-links a:hover { color:var(--red-bright); }

/* CONSENT */
.consent-overlay { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.78); backdrop-filter:blur(4px); }
.consent-overlay[hidden] { display:none; }
.consent-dialog { width:min(560px,100%); padding:32px; background:linear-gradient(145deg,#101010,#050505); border:1px solid rgba(229,9,20,.45); box-shadow:0 30px 100px rgba(0,0,0,.75); }
.consent-kicker { color:var(--red); font-size:9px; font-weight:800; letter-spacing:3px; }
.consent-dialog h2 { margin-top:10px; color:#eee; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:400; }
.consent-dialog p { margin-top:15px; color:#777; font-size:11px; line-height:1.8; }
.consent-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }
.dialog-open { overflow:hidden; }

/* LIGHT MODE */
html[data-theme="light"] .film-header { background:rgba(255,255,255,.94); border-bottom-color:rgba(0,0,0,.12); }
html[data-theme="light"] .brand-main { color:#111; }
html[data-theme="light"] .header-area { color:#222; }
html[data-theme="light"] .hero h1, html[data-theme="light"] .panel h2 { color:#111; }
html[data-theme="light"] .hero-mark { color:#c9000b; opacity:.18; }
html[data-theme="light"] .hero p, html[data-theme="light"] .editorial-copy p { color:#555; }
html[data-theme="light"] .info-label, html[data-theme="light"] .technical-grid span { color:#666; }
html[data-theme="light"] .info-value, html[data-theme="light"] .technical-grid strong { color:#222; }
html[data-theme="light"] .video-footer-note { background:rgba(0,0,0,.025); border-color:rgba(0,0,0,.10); color:#555; }
html[data-theme="light"] .theme-option { background:rgba(0,0,0,.04); color:#666; border-color:rgba(0,0,0,.15); }
html[data-theme="light"] .theme-option.active { color:#111; background:rgba(201,0,11,.08); border-color:var(--theme-red); }
html[data-theme="light"] .film-footer { border-top-color:rgba(0,0,0,.12); color:#666; }
html[data-theme="light"] .footer-brand span { color:#333; }
html[data-theme="light"] .consent-dialog { background:linear-gradient(145deg,#fff,#f4f4f4); border-color:rgba(201,0,11,.35); }
html[data-theme="light"] .consent-dialog h2 { color:#111; }
html[data-theme="light"] .consent-dialog p { color:#555; }
html[data-theme="light"] .secondary-button { color:#555; border-color:rgba(0,0,0,.16); background:rgba(0,0,0,.03); }

html[data-theme="light"] .menu-dropdown-toggle { color:#555; background:rgba(0,0,0,.02); border-color:rgba(201,0,11,.42); }
html[data-theme="light"] .menu-dropdown-toggle:hover, html[data-theme="light"] .menu-dropdown.open .menu-dropdown-toggle { color:#111; border-color:rgba(201,0,11,.72); background:rgba(201,0,11,.07); }
html[data-theme="light"] .menu-dropdown-menu { background:rgba(255,255,255,.98); border-color:rgba(201,0,11,.35); }
html[data-theme="light"] .menu-dropdown-menu a { color:#555; }
html[data-theme="light"] .menu-dropdown-menu a:hover { color:#111; background:rgba(201,0,11,.06); }
html[data-theme="light"] .menu-dropdown-menu .menu-login-link { color:#111; border-top-color:rgba(0,0,0,.10); }

/* RESPONSIVE */
@media (max-width: 1050px) {
    .film-header { padding:0 22px; }
    .header-area { display:none; }
    .header-divider { margin:0 16px; }
    .header-tools { gap:12px; }
}

@media (max-width: 820px) {
    .film-header { min-height:76px; }
}

@media (max-width:950px) {
    .info-grid { grid-template-columns:repeat(2,1fr); }
    .technical-grid { grid-template-columns:repeat(2,1fr); }
    .awards-grid { grid-template-columns:repeat(2,1fr); }
    .awards-image-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:760px) {
    .film-header { min-height:78px; padding:0 18px; }
    .brand-main { font-size:17px; letter-spacing:5px; }
    .brand-sub { font-size:8px; letter-spacing:5px; }
    .header-divider, .header-area { display:none; }
    .header-tools { gap:9px; }
    .theme-switch { gap:5px; }
    .theme-option { padding:6px 8px; font-size:8px; }
    .film-content { width:min(calc(100% - 24px),650px); padding-top:28px; }
    .hero { min-height:220px; padding:30px 20px; }
    .hero h1 { font-size:38px; letter-spacing:2px; }
    .hero-mark { right:18px; font-size:58px; }
    .panel { padding:21px 18px; }
    .two-column { grid-template-columns:1fr; }
    .awards-grid { grid-template-columns:1fr; }
    .awards-image-grid { grid-template-columns:repeat(2,1fr); }
    .film-footer { grid-template-columns:1fr; text-align:center; padding:25px 18px; }
    .footer-brand { justify-self:center; }
    .footer-links { justify-content:center; }
}

@media (max-width:480px) {
    .film-header { padding:0 13px; }
    .language-switch { display:none; }
    .hero h1 { font-size:30px; }
    .hero-mark { right:10px; font-size:42px; opacity:.65; }
    .info-grid, .technical-grid { grid-template-columns:1fr; }
    .primary-button { width:100%; padding:0 12px; font-size:9px; }
    .consent-dialog { padding:24px 20px; }
    .consent-actions { flex-direction:column-reverse; }
    .secondary-button, .consent-actions .primary-button { width:100%; }
}

/* FILMS DROPDOWN */
.films-dropdown { position:relative; }
.films-dropdown-toggle {
    display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 12px;
    border:1px solid transparent; background:transparent; color:#888; cursor:pointer;
    font:800 10px/1 Arial, Helvetica, sans-serif; letter-spacing:3px;
    transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.films-dropdown-toggle:hover, .films-dropdown.open .films-dropdown-toggle {
    color:#fff; border-color:rgba(229,9,20,.3); background:rgba(229,9,20,.07);
}
.films-chevron { color:var(--red); font-size:15px; line-height:0; transform:translateY(-1px); transition:transform .2s ease; }
.films-dropdown.open .films-chevron { transform:rotate(180deg) translateY(1px); }
.films-dropdown-menu {
    position:absolute; top:calc(100% + 10px); left:0; min-width:230px; padding:7px;
    background:rgba(7,7,7,.98); border:1px solid rgba(255,255,255,.12);
    box-shadow:0 18px 45px rgba(0,0,0,.55), inset 0 2px 0 var(--red);
    opacity:0; visibility:hidden; transform:translateY(-7px);
    transition:opacity .18s ease, visibility .18s ease, transform .18s ease; z-index:50;
}
.films-dropdown.open .films-dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.films-dropdown-menu a {
    display:flex; align-items:center; gap:12px; padding:13px 12px; color:#aaa;
    text-decoration:none; font:800 10px/1.2 Arial, Helvetica, sans-serif; letter-spacing:2px;
    border:1px solid transparent; transition:color .18s ease, background .18s ease, border-color .18s ease;
}
.films-dropdown-menu a:hover { color:#fff; background:rgba(229,9,20,.09); border-color:rgba(229,9,20,.2); }
.film-menu-mark { width:5px; height:5px; flex:0 0 5px; background:#555; transform:rotate(45deg); transition:background .18s ease, box-shadow .18s ease; }
.films-dropdown-menu a:hover .film-menu-mark { background:var(--red); box-shadow:0 0 8px var(--red); }
html[data-theme="light"] .films-dropdown-toggle { color:#444; }
html[data-theme="light"] .films-dropdown-toggle:hover, html[data-theme="light"] .films-dropdown.open .films-dropdown-toggle { color:#111; }
html[data-theme="light"] .films-dropdown-menu { background:rgba(248,248,248,.99); border-color:rgba(0,0,0,.14); }
html[data-theme="light"] .films-dropdown-menu a { color:#555; }
html[data-theme="light"] .films-dropdown-menu a:hover { color:#111; }
@media (max-width:760px) {
    .films-dropdown { width:100%; }
    .films-dropdown-toggle { width:100%; min-height:46px; justify-content:flex-start; padding:0 17px; }
    .films-dropdown-menu { position:static; min-width:0; margin:3px 0 5px; box-shadow:none; border-left:0; border-right:0; display:none; opacity:1; visibility:visible; transform:none; }
    .films-dropdown.open .films-dropdown-menu { display:block; }
    .films-dropdown-menu a { padding:12px 17px 12px 31px; }
}

/* =========================================================
   GALLERY – HORIZONTAL FILM STRIP
   ========================================================= */
.gallery-panel { overflow:hidden; }
.gallery-count { align-self:flex-start; padding:8px 10px; border:1px solid var(--theme-border); color:var(--theme-text-soft); font-size:8px; font-weight:800; letter-spacing:1.8px; }
.gallery-grid {
    --gallery-gap: 10px;
    --gallery-visible: 6;
    position:relative;
    display:flex;
    gap:var(--gallery-gap);
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:26px 0;
    background:#050505;
    border-top:18px solid #111;
    border-bottom:18px solid #111;
    box-shadow:inset 0 2px 0 rgba(255,255,255,.04), inset 0 -2px 0 rgba(255,255,255,.04);
}
.gallery-grid::-webkit-scrollbar { display:none; }
.gallery-grid::before, .gallery-grid::after {
    content:""; position:absolute; left:0; right:0; height:6px; z-index:3; pointer-events:none;
    background:repeating-linear-gradient(90deg, transparent 0 13px, rgba(0,0,0,.95) 13px 27px);
}
.gallery-grid::before { top:-14px; }
.gallery-grid::after { bottom:-14px; }
.gallery-item {
    flex:0 0 calc((100% - (var(--gallery-visible) - 1) * var(--gallery-gap)) / var(--gallery-visible));
    min-width:0; margin:0; scroll-snap-align:start; position:relative;
}
.gallery-trigger {
    position:relative; display:block; width:100%; aspect-ratio: 4 / 3; padding:0;
    border:1px solid rgba(255,255,255,.10); background:#020202; overflow:hidden; cursor:pointer;
}
.gallery-trigger img {
    display:block; width:100%; height:100%; object-fit:cover; object-position:center;
    transition:transform .45s ease, filter .45s ease;
}
.gallery-image-overlay { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:flex-start; padding:13px; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72)); opacity:0; transition:opacity .25s ease; }
.gallery-image-overlay span { color:#fff; font-size:8px; font-weight:800; letter-spacing:2px; border-left:2px solid var(--red); padding-left:9px; }
.gallery-trigger:hover img { transform:scale(1.035); filter:brightness(.72); }
.gallery-trigger:hover .gallery-image-overlay { opacity:1; }
.gallery-item figcaption { margin-top:7px; color:var(--theme-text-soft); font-size:8px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; }
.gallery-lightbox { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:50px; background:rgba(0,0,0,.94); }
.gallery-lightbox[hidden] { display:none; }
.gallery-lightbox figure { width:min(1100px,88vw); max-height:88vh; margin:0; text-align:center; }
.gallery-lightbox figure img { display:block; width:100%; max-height:78vh; object-fit:contain; margin:0 auto; }
.gallery-lightbox figcaption { margin-top:12px; color:#aaa; font-size:9px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; }
.gallery-lightbox-close,.gallery-lightbox-prev,.gallery-lightbox-next { position:absolute; border:0; background:transparent; color:#fff; cursor:pointer; line-height:1; }
.gallery-lightbox-close { top:18px; right:24px; font-size:38px; font-weight:200; }
.gallery-lightbox-prev,.gallery-lightbox-next { top:50%; transform:translateY(-50%); font-size:58px; font-weight:200; padding:20px; }
.gallery-lightbox-prev { left:10px; }.gallery-lightbox-next { right:10px; }
.gallery-lightbox-close:hover,.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover { color:var(--red-bright); }
body.gallery-open { overflow:hidden; }
html[data-theme="light"] .gallery-lightbox { background:rgba(12,12,12,.94); }
@media (max-width:1100px) { .gallery-grid { --gallery-visible:5; } }
@media (max-width:900px) { .gallery-grid { --gallery-visible:4; } }
@media (max-width:700px) {
    .gallery-grid { --gallery-visible:3; padding:22px 0; border-top-width:16px; border-bottom-width:16px; }
    .gallery-lightbox { padding:35px 14px; }
    .gallery-lightbox-prev,.gallery-lightbox-next { font-size:42px; padding:10px; }
}
@media (max-width:500px) { .gallery-grid { --gallery-visible:2; } }
@media (max-width:360px) { .gallery-grid { --gallery-visible:1; } }

/* CONSENT */
.consent-overlay { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.78); backdrop-filter:blur(4px); }
.consent-overlay[hidden] { display:none; }
.consent-dialog { width:min(560px,100%); padding:32px; background:linear-gradient(145deg,#101010,#050505); border:1px solid rgba(229,9,20,.45); box-shadow:0 30px 100px rgba(0,0,0,.75); }
.consent-kicker { color:var(--red); font-size:9px; font-weight:800; letter-spacing:3px; }
.consent-dialog h2 { margin-top:10px; color:#eee; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:400; }
.consent-dialog p { margin-top:15px; color:#777; font-size:11px; line-height:1.8; }
.consent-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }
.dialog-open { overflow:hidden; }

/* LIGHT MODE */
html[data-theme="light"] .film-header { background:rgba(255,255,255,.94); border-bottom-color:rgba(0,0,0,.12); }
html[data-theme="light"] .brand-main { color:#111; }
html[data-theme="light"] .header-area { color:#222; }
html[data-theme="light"] .hero h1, html[data-theme="light"] .panel h2 { color:#111; }
html[data-theme="light"] .hero-mark { color:#c9000b; opacity:.18; }
html[data-theme="light"] .hero p, html[data-theme="light"] .editorial-copy p { color:#555; }
html[data-theme="light"] .info-label, html[data-theme="light"] .technical-grid span { color:#666; }
html[data-theme="light"] .info-value, html[data-theme="light"] .technical-grid strong { color:#222; }
html[data-theme="light"] .video-footer-note { background:rgba(0,0,0,.025); border-color:rgba(0,0,0,.10); color:#555; }
html[data-theme="light"] .theme-option { background:rgba(0,0,0,.04); color:#666; border-color:rgba(0,0,0,.15); }
html[data-theme="light"] .theme-option.active { color:#111; background:rgba(201,0,11,.08); border-color:var(--theme-red); }
html[data-theme="light"] .film-footer { border-top-color:rgba(0,0,0,.12); color:#666; }
html[data-theme="light"] .footer-brand span { color:#333; }
html[data-theme="light"] .consent-dialog { background:linear-gradient(145deg,#fff,#f4f4f4); border-color:rgba(201,0,11,.35); }
html[data-theme="light"] .consent-dialog h2 { color:#111; }
html[data-theme="light"] .consent-dialog p { color:#555; }
html[data-theme="light"] .secondary-button { color:#555; border-color:rgba(0,0,0,.16); background:rgba(0,0,0,.03); }

/* RESPONSIVE */
@media (max-width: 1050px) {
    .film-header { padding:0 22px; }
    .header-area { display:none; }
    .header-divider { margin:0 16px; }
    .header-tools { gap:12px; }
}

@media (max-width: 820px) {
    .film-header { min-height:76px; }
}

@media (max-width:950px) {
    .info-grid { grid-template-columns:repeat(2,1fr); }
    .technical-grid { grid-template-columns:repeat(2,1fr); }
    .awards-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:760px) {
    .film-header { min-height:78px; padding:0 18px; }
    .brand-main { font-size:17px; letter-spacing:5px; }
    .brand-sub { font-size:8px; letter-spacing:5px; }
    .header-divider, .header-area { display:none; }
    .header-tools { gap:9px; }
    .theme-switch { gap:5px; }
    .theme-option { padding:6px 8px; font-size:8px; }
    .film-content { width:min(calc(100% - 24px),650px); padding-top:28px; }
    .hero { min-height:220px; padding:30px 20px; }
    .hero h1 { font-size:38px; letter-spacing:2px; }
    .hero-mark { right:18px; font-size:58px; }
    .panel { padding:21px 18px; }
    .two-column { grid-template-columns:1fr; }
    .awards-grid { grid-template-columns:1fr; }
    .film-footer { grid-template-columns:1fr; text-align:center; padding:25px 18px; }
    .footer-brand { justify-self:center; }
    .footer-links { justify-content:center; }
}

@media (max-width:480px) {
    .film-header { padding:0 13px; }
    .language-switch { display:none; }
    .hero h1 { font-size:30px; }
    .hero-mark { right:10px; font-size:42px; opacity:.65; }
    .info-grid, .technical-grid { grid-template-columns:1fr; }
    .primary-button { width:100%; padding:0 12px; font-size:9px; }
    .consent-dialog { padding:24px 20px; }
    .consent-actions { flex-direction:column-reverse; }
    .secondary-button, .consent-actions .primary-button { width:100%; }
}

/* FILMS DROPDOWN */
.films-dropdown { position:relative; }
.films-dropdown-toggle {
    display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 12px;
    border:1px solid transparent; background:transparent; color:#888; cursor:pointer;
    font:800 10px/1 Arial, Helvetica, sans-serif; letter-spacing:3px;
    transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.films-dropdown-toggle:hover, .films-dropdown.open .films-dropdown-toggle {
    color:#fff; border-color:rgba(229,9,20,.3); background:rgba(229,9,20,.07);
}
.films-chevron { color:var(--red); font-size:15px; line-height:0; transform:translateY(-1px); transition:transform .2s ease; }
.films-dropdown.open .films-chevron { transform:rotate(180deg) translateY(1px); }
.films-dropdown-menu {
    position:absolute; top:calc(100% + 10px); left:0; min-width:230px; padding:7px;
    background:rgba(7,7,7,.98); border:1px solid rgba(255,255,255,.12);
    box-shadow:0 18px 45px rgba(0,0,0,.55), inset 0 2px 0 var(--red);
    opacity:0; visibility:hidden; transform:translateY(-7px);
    transition:opacity .18s ease, visibility .18s ease, transform .18s ease; z-index:50;
}
.films-dropdown.open .films-dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.films-dropdown-menu a {
    display:flex; align-items:center; gap:12px; padding:13px 12px; color:#aaa;
    text-decoration:none; font:800 10px/1.2 Arial, Helvetica, sans-serif; letter-spacing:2px;
    border:1px solid transparent; transition:color .18s ease, background .18s ease, border-color .18s ease;
}
.films-dropdown-menu a:hover { color:#fff; background:rgba(229,9,20,.09); border-color:rgba(229,9,20,.2); }
.film-menu-mark { width:5px; height:5px; flex:0 0 5px; background:#555; transform:rotate(45deg); transition:background .18s ease, box-shadow .18s ease; }
.films-dropdown-menu a:hover .film-menu-mark { background:var(--red); box-shadow:0 0 8px var(--red); }
html[data-theme="light"] .films-dropdown-toggle { color:#444; }
html[data-theme="light"] .films-dropdown-toggle:hover, html[data-theme="light"] .films-dropdown.open .films-dropdown-toggle { color:#111; }
html[data-theme="light"] .films-dropdown-menu { background:rgba(248,248,248,.99); border-color:rgba(0,0,0,.14); }
html[data-theme="light"] .films-dropdown-menu a { color:#555; }
html[data-theme="light"] .films-dropdown-menu a:hover { color:#111; }
@media (max-width:760px) {
    .films-dropdown { width:100%; }
    .films-dropdown-toggle { width:100%; min-height:46px; justify-content:flex-start; padding:0 17px; }
    .films-dropdown-menu { position:static; min-width:0; margin:3px 0 5px; box-shadow:none; border-left:0; border-right:0; display:none; opacity:1; visibility:visible; transform:none; }
    .films-dropdown.open .films-dropdown-menu { display:block; }
    .films-dropdown-menu a { padding:12px 17px 12px 31px; }
}

/* =========================================================
   GALLERY – HORIZONTAL FILMSTRIP
   ========================================================= */
.gallery-panel { overflow:hidden; }
.gallery-count { align-self:flex-start; padding:8px 10px; border:1px solid var(--theme-border); color:var(--theme-muted); font-size:8px; font-weight:800; letter-spacing:1.8px; }
.gallery-filmstrip { position:relative; margin-top:6px; padding:18px 0 34px; background:#050505; border-left:1px solid #181818; border-right:1px solid #181818; overflow:hidden; }
.film-perforation { position:absolute; left:0; right:0; height:13px; z-index:3; background-color:#090909; background-image:repeating-linear-gradient(90deg, transparent 0 14px, rgba(238,238,238,.12) 14px 21px, transparent 21px 35px); pointer-events:none; }
.film-perforation-top { top:0; border-bottom:1px solid #252525; }
.film-perforation-bottom { bottom:0; border-top:1px solid #252525; }
.gallery-track { display:flex; gap:10px; overflow-x:auto; overflow-y:hidden; padding:0 12px; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; cursor:grab; touch-action:pan-x; }
.gallery-track::-webkit-scrollbar { display:none; }
.gallery-track:active { cursor:grabbing; }
.gallery-item { flex:0 0 calc((100% - 50px) / 6); min-width:0; margin:0; scroll-snap-align:start; }
.gallery-trigger { position:relative; display:block; width:100%; aspect-ratio:4/3; padding:0; border:0; background:#020202; overflow:hidden; cursor:pointer; }
.gallery-trigger img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .4s ease, filter .35s ease; user-select:none; -webkit-user-drag:none; }
.gallery-trigger::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.16),transparent 22%,transparent 78%,rgba(0,0,0,.16)); pointer-events:none; }
.gallery-trigger:hover img { transform:scale(1.035); filter:brightness(.78); }
.gallery-item figcaption { margin-top:7px; color:#8d8d8d; font-size:7px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gallery-hint { position:absolute; right:14px; bottom:13px; z-index:4; color:#777; font-size:7px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; pointer-events:none; }
.gallery-hint span { color:var(--red); font-size:13px; vertical-align:-1px; }

@media (max-width:1200px) {
    .gallery-item { flex-basis:calc((100% - 40px) / 5); }
}
@media (max-width:1000px) {
    .gallery-item { flex-basis:calc((100% - 30px) / 4); }
}
@media (max-width:760px) {
    .gallery-item { flex-basis:calc((100% - 20px) / 3); }
    .gallery-hint { display:none; }
}
@media (max-width:560px) {
    .gallery-item { flex-basis:calc((100% - 10px) / 2); }
}
@media (max-width:380px) {
    .gallery-item { flex-basis:100%; }
}


/* GALLERY SIZE OVERRIDE — larger filmstrip images */
.gallery-track .gallery-item,
.gallery-grid .gallery-item {
    flex-basis: calc((100% - 40px) / 5) !important;
}
.gallery-track .gallery-trigger,
.gallery-grid .gallery-trigger {
    aspect-ratio: 4 / 3 !important;
}

@media (max-width: 1200px) {
    .gallery-track .gallery-item,
    .gallery-grid .gallery-item { flex-basis: calc((100% - 30px) / 4) !important; }
}
@media (max-width: 900px) {
    .gallery-track .gallery-item,
    .gallery-grid .gallery-item { flex-basis: calc((100% - 20px) / 3) !important; }
}
@media (max-width: 650px) {
    .gallery-track .gallery-item,
    .gallery-grid .gallery-item { flex-basis: calc((100% - 10px) / 2) !important; }
}
@media (max-width: 380px) {
    .gallery-track .gallery-item,
    .gallery-grid .gallery-item { flex-basis: 100% !important; }
}

/* =========================================================
   GALLERY LIGHTBOX – LARGE IMAGE VIEW
   ========================================================= */
.gallery-lightbox {
    position:fixed;
    inset:0;
    z-index:1000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px 70px;
    background:rgba(0,0,0,.96);
    backdrop-filter:blur(6px);
}
.gallery-lightbox[hidden] { display:none; }
.gallery-lightbox-frame {
    position:relative;
    width:min(1500px,92vw);
    height:min(86vh,900px);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.gallery-lightbox-frame img {
    display:block;
    width:100%;
    height:calc(100% - 34px);
    object-fit:contain;
    object-position:center;
    user-select:none;
    -webkit-user-drag:none;
    box-shadow:0 20px 80px rgba(0,0,0,.8);
}
.gallery-lightbox-caption {
    min-height:18px;
    margin-top:10px;
    color:#aaa;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.6px;
    text-transform:uppercase;
    text-align:center;
}
.gallery-lightbox-counter {
    position:absolute;
    right:0;
    bottom:0;
    color:#666;
    font-size:8px;
    font-weight:800;
    letter-spacing:1.5px;
}
.gallery-lightbox-close,
.gallery-lightbox-prev,
.gallery-lightbox-next {
    position:absolute;
    z-index:2;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
    line-height:1;
    transition:color .2s ease, transform .2s ease;
}
.gallery-lightbox-close { top:16px; right:22px; font-size:42px; font-weight:200; }
.gallery-lightbox-prev,
.gallery-lightbox-next {
    top:50%;
    transform:translateY(-50%);
    padding:30px 24px;
    font-size:72px;
    font-weight:200;
}
.gallery-lightbox-prev { left:8px; }
.gallery-lightbox-next { right:8px; }
.gallery-lightbox-close:hover,
.gallery-lightbox-prev:hover,
.gallery-lightbox-next:hover { color:var(--red-bright); }
body.gallery-open { overflow:hidden; }

@media (max-width:760px) {
    .gallery-lightbox { padding:50px 42px 30px; }
    .gallery-lightbox-frame { width:100%; height:82vh; }
    .gallery-lightbox-prev,
    .gallery-lightbox-next { font-size:48px; padding:22px 12px; }
    .gallery-lightbox-prev { left:-4px; }
    .gallery-lightbox-next { right:-4px; }
    .gallery-lightbox-close { top:10px; right:12px; font-size:34px; }
}


/* =========================================================
   TEMPLATE VIDEO PLAYER
   ========================================================= */
.template-video-placeholder-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    position: relative;
    overflow: hidden;
    background: #020202;
    border: 0 !important;
}
.template-video-placeholder {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: #e50914;
    color: #fff;
    cursor: pointer;
    overflow: hidden;
}
.template-video-placeholder img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.template-video-placeholder-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.42);
}
.template-video-placeholder-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #fff;
    text-align: center;
}
.template-video-placeholder-play {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border: 2px solid #e50914;
    border-radius: 50%;
    font-size: 28px;
    padding-left: 4px;
}
.template-video-placeholder-label {
    font-size: 1rem;
    letter-spacing: .12em;
    font-weight: 700;
}
.template-video-placeholder:hover .template-video-placeholder-overlay,
.template-video-placeholder:focus-visible .template-video-placeholder-overlay {
    background: rgba(0,0,0,.28);
}
.template-video-placeholder:focus-visible {
    outline: 2px solid #e50914;
    outline-offset: 3px;
}
.template-video-placeholder-wrapper > iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    margin: 0;
    padding: 0;
}
.template-video-notice {
    margin-top: 10px;
    font-size: .78rem;
    line-height: 1.45;
    opacity: .72;
}

.video-footer-note {
    font-size: .78rem;
    line-height: 1.45;
    opacity: .72;
}

.video-footer-note a {
    color: inherit;
}

/* Consent information disappears once the viewer has consented. */
.video-panel.template-video-consented .template-video-notice,
.video-panel.template-video-consented .video-footer-note {
    display: none;
}


.template-consent-backdrop {
    position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center;
    padding: 20px; background: rgba(0, 0, 0, .82);
}
.template-consent-dialog {
    width: min(620px, 100%); padding: 30px; background: #111; color: #fff;
    border: 1px solid #e50914; box-shadow: 0 20px 70px rgba(0,0,0,.55);
}
.template-consent-dialog h3 { margin: 0 0 18px; font-size: 1.35rem; letter-spacing: .08em; }
.template-consent-dialog p { margin: 0 0 14px; line-height: 1.6; font-size: .95rem; }
.template-consent-dialog a { color: inherit; text-decoration: underline; }
.template-consent-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.template-consent-actions button {
    min-height: 46px; padding: 10px 18px; border: 1px solid #e50914;
    cursor: pointer; font-weight: 700; letter-spacing: .04em;
}
.template-consent-accept { background: #e50914; color: #fff; border-color: #e50914 !important; }
.template-consent-decline { background: transparent; color: #fff; border-color: #e50914 !important; }
@media (max-width: 640px) {
    .template-consent-dialog { padding: 22px; }
    .template-consent-actions button { width: 100%; }
}


/* Video privacy note: same size as the video notice. */
.video-footer-note {
    font-size: .78rem;
    line-height: 1.45;
}
.video-footer-note a {
    color: inherit;
    text-decoration: underline;
}

/* AWARDS LARGE DROPDOWN */
.awards-dropdown { position:relative; }
.awards-dropdown-toggle {
    display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 12px;
    border:1px solid transparent; background:transparent; color:#888; cursor:pointer;
    font:800 10px/1 Arial, Helvetica, sans-serif; letter-spacing:3px;
    transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.awards-dropdown-toggle:hover, .awards-dropdown.open .awards-dropdown-toggle {
    color:#fff; border-color:rgba(229,9,20,.3); background:rgba(229,9,20,.07);
}
.awards-chevron { color:var(--red); font-size:15px; line-height:0; transform:translateY(-1px); transition:transform .2s ease; }
.awards-dropdown.open .awards-chevron { transform:rotate(180deg) translateY(1px); }
.awards-dropdown-menu {
    position:absolute; top:calc(100% + 10px); left:50%; transform:translate(-50%,-7px);
    width:min(820px, calc(100vw - 40px)); padding:24px;
    background:rgba(7,7,7,.99); border:1px solid rgba(255,255,255,.12);
    box-shadow:0 22px 55px rgba(0,0,0,.62), inset 0 2px 0 var(--red);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .18s ease, visibility .18s ease, transform .18s ease; z-index:60;
}
.awards-dropdown.open .awards-dropdown-menu {
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
}
.awards-dropdown-header { padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--theme-border); }
.awards-dropdown-header h2 { margin:7px 0 0; color:var(--theme-heading); font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:400; }
.awards-dropdown-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.awards-dropdown-grid .award-card { min-height:165px; padding:18px 17px 17px; }
.awards-dropdown-grid .award-mark { width:34px; height:34px; }
.awards-dropdown-grid .award-year { margin-top:16px; }
.awards-dropdown-grid .award-name { font-size:16px; }
html[data-theme="light"] .awards-dropdown-toggle { color:#444; }
html[data-theme="light"] .awards-dropdown-toggle:hover, html[data-theme="light"] .awards-dropdown.open .awards-dropdown-toggle { color:#111; }
html[data-theme="light"] .awards-dropdown-menu { background:rgba(248,248,248,.99); border-color:rgba(0,0,0,.14); }
@media (max-width:760px) {
    .awards-dropdown { width:100%; }
    .awards-dropdown-toggle { width:100%; min-height:46px; justify-content:flex-start; padding:0 17px; }
    .awards-dropdown-menu {
        position:static; width:100%; margin:3px 0 5px; padding:18px 17px;
        transform:none; box-shadow:none; border-left:0; border-right:0;
        display:none; opacity:1; visibility:visible; pointer-events:auto;
    }
    .awards-dropdown.open .awards-dropdown-menu { display:block; }
    .awards-dropdown-grid { grid-template-columns:1fr; gap:10px; }
    .awards-dropdown-header h2 { font-size:21px; }
}

/* AWARDS DETAILS TOGGLE */
.awards-details-toggle {
    display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 13px;
    margin:-4px 0 18px; border:1px solid rgba(229,9,20,.38);
    background:rgba(229,9,20,.045); color:#aaa; cursor:pointer;
    font:800 9px/1 Arial, Helvetica, sans-serif; letter-spacing:2.5px;
    transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.awards-details-toggle:hover, .awards-details-toggle.open {
    color:#fff; border-color:rgba(229,9,20,.7); background:rgba(229,9,20,.10);
}
.awards-details-chevron {
    color:var(--red); font-size:14px; line-height:0;
    transform:translateY(-1px); transition:transform .2s ease;
}
.awards-details-toggle.open .awards-details-chevron { transform:rotate(180deg) translateY(1px); }
.awards-dropdown-grid[hidden] { display:none; }
html[data-theme="light"] .awards-details-toggle { color:#444; background:rgba(0,0,0,.025); border-color:rgba(0,0,0,.16); }
html[data-theme="light"] .awards-details-toggle:hover, html[data-theme="light"] .awards-details-toggle.open { color:#111; border-color:rgba(201,0,11,.55); background:rgba(201,0,11,.06); }
@media (max-width:760px) {
    .awards-details-toggle { width:100%; justify-content:space-between; margin:-2px 0 14px; }
}

/* MAIN AWARDS DETAILS */
.awards-panel .awards-details-toggle { margin:0 0 18px; }
.awards-panel .awards-grid { margin-top:0; }

.language-hint {
    margin: 0 0 18px;
    padding: 13px 15px;
    border: 1px solid rgba(229, 9, 20, .55);
    box-shadow: inset 0 0 0 1px rgba(229, 9, 20, .08), 0 0 18px rgba(229, 9, 20, .05);
    background: rgba(229, 9, 20, .035);
    color: #aaa;
    font-size: 11px;
    line-height: 1.55;
}

.language-hint[hidden] {
    display: none;
}

.language-hint p {
    margin: 0 0 9px;
}

.language-hint label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #777;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.language-hint input {
    width: 13px;
    height: 13px;
    margin: 0;
    accent-color: var(--red);
    cursor: pointer;
}

html[data-theme="light"] .language-hint {
    background: rgba(0, 0, 0, .025);
    color: #555;
}

html[data-theme="light"] .language-hint label {
    color: #555;
}

@media (max-width: 760px) {
    .language-hint {
        padding: 12px 13px;
    }
}

/* =========================================================
   ABOUT ME · EDITORIAL PROFILE STYLE
   ========================================================= */
.about-page{margin:0;background:#eee9e1;color:#171717;font-family:Arial,Helvetica,sans-serif;transition:background .25s,color .25s}
.about-shell{max-width:1440px;margin:0 auto;padding:0 5vw}
.about-header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.16)}
.about-brand{display:flex;flex-direction:column;text-decoration:none;color:inherit;letter-spacing:.12em;font-weight:800}.about-brand span{font-size:24px}.about-brand small{font-size:9px;letter-spacing:.38em;margin-top:3px}
.about-header-right{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em}.about-lang{display:flex;gap:8px;margin-right:14px}.about-header a{color:inherit}.about-lang a,.about-theme,.about-menu button{opacity:.55;text-decoration:none}.about-lang a.active,.about-theme.active{opacity:1}.about-theme,.about-menu button{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.about-menu{position:relative;margin-left:18px}.about-menu button{font-weight:700}.about-menu-pop{position:absolute;right:0;top:28px;min-width:230px;background:#171717;color:#f2eee7;padding:8px;box-shadow:10px 10px 0 #c90d18;display:none;z-index:20}.about-menu-pop.open{display:block}.about-menu-pop a{display:block;padding:14px 12px;text-decoration:none;font-size:11px;letter-spacing:.14em}.about-menu-pop a:hover{background:#c90d18;color:white}
.about-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:7vw;padding:9vw 0 8vw;align-items:center}.about-kicker,.about-section-kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.about-eyebrow{margin-top:55px;font-size:11px;letter-spacing:.25em;color:#c90d18;font-weight:700}.about-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,9vw,142px);line-height:.83;letter-spacing:-.055em;margin:18px 0 24px;font-weight:400}.about-red-rule{width:115px;height:5px;background:#c90d18;margin:0 0 28px}.about-lead{font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,3vw,42px);line-height:1.08;max-width:850px;margin:0 0 28px}.about-intro{font-size:16px;line-height:1.75;max-width:700px;margin:0;color:#4b4843}.about-portrait-wrap{position:relative}.about-portrait-frame{background:#171717;padding:12px;box-shadow:24px 24px 0 #c90d18}.about-portrait-frame img{display:block;width:100%;height:auto;filter:grayscale(100%);}.about-portrait-label{font-size:9px;letter-spacing:.18em;margin-top:20px;text-align:right;color:#555}
.about-section{display:grid;grid-template-columns:90px 1fr;gap:4vw;border-top:1px solid rgba(0,0,0,.18);padding:7vw 0}.about-section-index{font-size:11px;letter-spacing:.18em;color:#c90d18;font-weight:700}.about-section h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,76px);font-weight:400;line-height:.95;margin:10px 0 50px;letter-spacing:-.04em}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px 7vw;max-width:1050px}.about-columns p{font-size:15px;line-height:1.8;margin:0;color:#3f3c38}.fact-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1050px}.fact-grid>div{border-top:1px solid rgba(0,0,0,.18);padding:22px 20px 22px 0;display:flex;gap:25px;align-items:flex-start}.fact-grid b{font-size:10px;color:#c90d18;letter-spacing:.12em}.fact-grid span{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.15}
.about-contact{display:grid;grid-template-columns:1.5fr .5fr;gap:8vw;border-top:1px solid rgba(0,0,0,.18);padding:8vw 0}.about-contact h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,6vw,90px);font-weight:400;line-height:.9;letter-spacing:-.045em;margin:14px 0 28px;max-width:850px}.about-contact-main>p{font-size:16px;line-height:1.8;max-width:780px;color:#45413c}.about-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.about-button{display:inline-block;text-decoration:none;color:#171717;border:1px solid #171717;padding:15px 18px;font-size:10px;letter-spacing:.16em;font-weight:700}.about-button.primary{background:#c90d18;border-color:#c90d18;color:#fff}.about-button:hover{background:#171717;color:#fff}.about-button.primary:hover{background:#9f0710}.about-profiles{border-left:1px solid rgba(0,0,0,.18);padding-left:30px;display:flex;flex-direction:column;align-items:flex-start}.about-profiles a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.2);padding:14px 0;width:100%;font-size:11px;letter-spacing:.15em}.about-profiles a:hover{color:#c90d18}
.about-footer{border-top:1px solid rgba(0,0,0,.18);padding:24px 0 35px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em}.about-footer a{color:inherit;text-decoration:none}.about-footer a:hover{color:#c90d18}
html[data-theme="dark"] .about-page{background:#101010;color:#eee9e1}html[data-theme="dark"] .about-intro,html[data-theme="dark"] .about-columns p{color:#c3beb6}html[data-theme="dark"] .about-header,html[data-theme="dark"] .about-section,html[data-theme="dark"] .about-contact,html[data-theme="dark"] .about-footer,html[data-theme="dark"] .about-profiles{border-color:rgba(255,255,255,.18)}html[data-theme="dark"] .fact-grid>div{border-color:rgba(255,255,255,.18)}html[data-theme="dark"] .about-button{color:#eee9e1;border-color:#eee9e1}html[data-theme="dark"] .about-button:hover{background:#eee9e1;color:#101010}
@media(max-width:850px){.about-shell{padding:0 6vw}.about-header{height:76px}.about-header-right{gap:5px}.about-hero{grid-template-columns:1fr;padding:13vw 0 16vw;gap:55px}.about-portrait-wrap{max-width:520px}.about-eyebrow{margin-top:38px}.about-section{grid-template-columns:40px 1fr;gap:15px;padding:14vw 0}.about-columns,.fact-grid{grid-template-columns:1fr}.about-contact{grid-template-columns:1fr;padding:14vw 0}.about-profiles{border-left:0;border-top:1px solid rgba(0,0,0,.18);padding:30px 0 0}.about-menu-pop{right:-5px}.about-footer{flex-direction:column;gap:15px}}
@media(max-width:520px){.about-header-right{font-size:9px}.about-lang{margin-right:6px}.about-menu{margin-left:7px}.about-hero h1{font-size:56px}.about-lead{font-size:25px}.about-portrait-frame{padding:8px;box-shadow:12px 12px 0 #c90d18}.fact-grid span{font-size:21px}}
