/*
Theme Name: AMUBIS Cultural
Theme URI: https://www.amubis.org/
Author: Asociación Cultural Amubis
Description: Sitio histórico y cultural completo de la Asociación Cultural Amubis, preparado para su 50 aniversario.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: amubis-cultural
*/

:root { --ink:#171717; --paper:#fffdf8; --paper-deep:#f9e5b8; --wine:#ef2c06; --wine-deep:#c82305; --gold:#f4c258; --mint:#75c8ac; --mint-pale:#d9f0e8; --white:#ffffff; --line:rgba(23,23,23,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
body.menu-open,body.lightbox-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
main { overflow:hidden; }
.screen-reader-text,.skip-link:not(:focus) { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link:focus { position:fixed; z-index:99999; left:1rem; top:1rem; padding:.75rem 1rem; color:var(--white); background:var(--ink); }
.amubis-icon { width:2rem; height:2rem; display:inline-grid; place-items:center; color:var(--wine); font-size:1.45rem; line-height:1; }
.admin-bar .site-header { top:32px; }

.site-header { position:sticky; top:0; z-index:30; background:rgba(255,253,248,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.site-header__inner { min-height:76px; max-width:1440px; margin:auto; padding:0 4vw; display:flex; align-items:center; gap:2rem; }
.brand { display:flex; align-items:center; gap:.75rem; margin-right:auto; }
.brand__logo { display:block; width:138px; height:auto; }
.brand__mark { width:38px; height:38px; display:grid; place-items:center; color:var(--white); background:var(--wine); font:700 1.35rem/1 Georgia,serif; }
.brand strong,.brand small { display:block; }
.brand strong { font:700 1rem/1 Georgia,serif; letter-spacing:.12em; }
.brand small { margin-top:.25rem; font-size:.65rem; text-transform:uppercase; letter-spacing:.11em; }
.desktop-nav { display:flex; align-items:center; gap:1.15rem; font-size:.82rem; }
.desktop-nav a { padding:1.85rem 0; border-bottom:2px solid transparent; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { border-color:var(--wine); }
.nav-dropdown { position:relative; }
.nav-dropdown>summary { min-height:76px; display:flex; align-items:center; gap:.35rem; list-style:none; cursor:pointer; border-bottom:2px solid transparent; white-space:nowrap; }
.nav-dropdown>summary::-webkit-details-marker { display:none; }
.nav-dropdown[open]>summary,.nav-dropdown>summary:hover,.nav-dropdown>summary:focus-visible { border-color:var(--wine); }
.nav-dropdown[open]>summary svg { transform:rotate(180deg); }
.nav-dropdown>div { position:absolute; left:50%; top:calc(100% - 1px); min-width:255px; padding:.6rem; transform:translateX(-50%); color:var(--white); background:var(--ink); box-shadow:0 18px 40px #0004; }
.nav-dropdown--wide>div { min-width:350px; }
.nav-dropdown>div a { display:block; padding:.8rem 1rem; border:0; }
.nav-dropdown>div a:hover,.nav-dropdown>div a:focus-visible { color:var(--ink); background:var(--gold); }
.nav-submenu { border-bottom:1px solid #ffffff2c; }
.nav-submenu>summary { min-height:0; padding:.8rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; list-style:none; cursor:pointer; }
.nav-submenu>summary::-webkit-details-marker { display:none; }
.nav-submenu>summary:hover,.nav-submenu>summary:focus-visible,.nav-submenu[open]>summary { color:var(--ink); background:var(--gold); }
.nav-submenu[open]>summary svg { transform:rotate(180deg); }
.nav-submenu>div { margin:0 0 .45rem 1rem; border-left:1px solid #ffffff38; }
.nav-submenu>div a { padding:.58rem 1rem; font-size:.77rem; }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { list-style:none; cursor:pointer; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu>summary { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line); }
.mobile-menu[open]>summary { color:var(--white); background:var(--ink); border-color:var(--ink); }
.mobile-menu__close-icon { display:none; }
.mobile-menu[open] .mobile-menu__open-icon { display:none; }
.mobile-menu[open] .mobile-menu__close-icon { display:block; }
.mobile-menu__backdrop { position:fixed; inset:76px 0 0; display:none; padding:0; background:#0008; border:0; backdrop-filter:blur(3px); }
.mobile-menu[open] .mobile-menu__backdrop { display:block; }
.mobile-menu nav { position:fixed; z-index:1; right:0; top:76px; width:min(92vw,390px); max-height:calc(100dvh - 76px); padding:1rem 1rem max(2rem,env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:var(--ink); color:var(--white); box-shadow:0 16px 40px #0004; }
.mobile-menu nav a { min-height:48px; display:flex; align-items:center; padding:.85rem; border-bottom:1px solid #fff2; }
.mobile-menu nav strong { display:block; padding:1rem .85rem .35rem; color:var(--gold); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.mobile-menu nav .mobile-menu__nested { padding-left:1.5rem; }
.mobile-submenu { border-bottom:1px solid #fff2; }
.mobile-submenu>summary { min-height:48px; padding:.85rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.mobile-submenu[open]>summary { color:var(--gold); }
.mobile-submenu[open]>summary svg { transform:rotate(180deg); }
.mobile-menu nav .mobile-submenu a { padding:.7rem .85rem .7rem 2.25rem; color:#d8d8d8; font-size:.78rem; }
.mobile-menu-toggle { width:48px; height:48px; display:none; place-items:center; padding:0; color:var(--ink); background:transparent; border:1px solid var(--line); cursor:pointer; }
.mobile-menu-toggle span { font-size:1.55rem; line-height:1; }
.mobile-menu-toggle__close { display:none; }
.mobile-menu-toggle[aria-expanded="true"] { color:var(--white); background:var(--ink); border-color:var(--ink); }
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__open { display:none; }
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__close { display:block; }
.mobile-menu-panel { position:fixed; z-index:32; right:0; top:76px; width:min(92vw,420px); max-height:calc(100dvh - 76px); padding:1rem 1rem max(2rem,env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; color:var(--white); background:var(--ink); box-shadow:0 16px 40px #0004; }
.mobile-menu-panel[hidden] { display:none!important; }
.mobile-menu-panel a { min-height:48px; display:flex; align-items:center; padding:.85rem; border-bottom:1px solid #fff2; }
.mobile-menu-panel a:hover,.mobile-menu-panel a:focus-visible { color:var(--ink); background:var(--gold); }
.mobile-menu-panel>strong { display:block; padding:1rem .85rem .35rem; color:var(--gold); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.mobile-menu-panel .mobile-menu__nested { padding-left:1.5rem; }
.mobile-menu-panel .mobile-submenu { border-bottom:1px solid #fff2; }
.mobile-menu-panel .mobile-submenu>summary { min-height:48px; padding:.85rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; list-style:none; cursor:pointer; }
.mobile-menu-panel .mobile-submenu>summary::-webkit-details-marker { display:none; }
.mobile-menu-panel .mobile-submenu[open]>summary { color:var(--gold); }
.mobile-menu-panel .mobile-submenu>div a { padding:.7rem .85rem .7rem 2.25rem; color:#d8d8d8; font-size:.78rem; }
.mobile-menu__backdrop.is-open { z-index:31; display:block; }

.eyebrow { margin:0 0 1.1rem; color:var(--wine); font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow--light { color:var(--gold); }
.home-hero { min-height:calc(100vh - 76px); max-width:1440px; margin:auto; padding:8vh 7vw 7vh; display:grid; grid-template-columns:1fr; align-items:center; }
.home-hero__copy { max-width:1080px; }
.home-hero__copy h1 { max-width:980px; margin:0; font:500 clamp(4.2rem,9.2vw,9rem)/.86 Georgia,"Times New Roman",serif; letter-spacing:-.055em; }
.home-hero__intro { max-width:760px; margin:2.2rem 0 0; font:1.15rem/1.65 Georgia,serif; }
.button-row { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.25rem; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:.55rem; padding:.85rem 1.2rem; border:1px solid var(--ink); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; transition:.2s ease; }
.button--primary { background:var(--ink); color:var(--white); }
.button--primary:hover { background:var(--wine); border-color:var(--wine); }
.button--quiet:hover { background:var(--paper-deep); }
.anniversary-section { padding:8rem max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); }
.anniversary-section__copy { max-width:980px; }
.anniversary-section__copy .eyebrow { color:var(--gold); }
.anniversary-section__copy h2 { max-width:900px; margin:0; font:500 clamp(3rem,5.2vw,5.8rem)/.93 Georgia,serif; letter-spacing:-.045em; }
.anniversary-section__copy>p:not(.eyebrow) { max-width:720px; margin:2rem 0; color:#dddddd; font-size:1.05rem; line-height:1.75; }

.manifesto { padding:9rem 8vw; color:var(--white); background:var(--ink); }
.manifesto p { max-width:1120px; margin:auto; font:400 clamp(2rem,4.4vw,4.5rem)/1.13 Georgia,serif; letter-spacing:-.03em; }
.identity-section { max-width:1440px; margin:auto; padding:8rem 5vw; }
.identity-section__intro { min-height:220px; display:grid; grid-template-columns:1fr 260px; align-items:center; gap:3rem; }
.identity-section__intro h2 { max-width:720px; margin:0; font:500 clamp(2.4rem,4.5vw,4.8rem)/1 Georgia,serif; letter-spacing:-.04em; }
.identity-section__masks { width:240px; height:190px; object-fit:contain; object-position:center; justify-self:end; }
.values-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:1.2rem; margin-top:3rem; }
.value-card { position:relative; min-height:390px; padding:3rem; overflow:hidden; }
.value-card>span { position:absolute; right:1.5rem; top:.5rem; color:rgba(23,23,23,.11); font:italic 500 8rem/1 Georgia,serif; }
.value-card .eyebrow { position:relative; color:var(--ink); }
.value-card>p:last-child { position:relative; max-width:720px; margin:6rem 0 0; font:500 clamp(1.25rem,2.1vw,2rem)/1.4 Georgia,serif; }
.value-card--mission { background:var(--gold); }
.value-card--vision { background:var(--mint); }
.section-block { max-width:1440px; margin:auto; padding:8rem 5vw; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:3rem; }
.section-heading h2,.feature-split h2,.drake-strip h2,.visit-teaser h2 { margin:0; font:500 clamp(2.4rem,4vw,4.5rem)/1 Georgia,serif; letter-spacing:-.035em; }
.path-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.path-card { min-height:400px; padding:2rem; display:flex; flex-direction:column; border-right:1px solid var(--line); transition:.25s ease; }
.path-card:last-child { border-right:0; }
.path-card:hover { color:var(--white); background:var(--wine); transform:translateY(-6px); }
.path-card__top { display:flex; justify-content:space-between; color:var(--wine); font-size:.8rem; }
.path-card:hover .path-card__top { color:var(--gold); }
.path-card h3 { max-width:320px; margin:auto 0 1rem; font:500 2rem/1.08 Georgia,serif; }
.path-card p { margin:0; line-height:1.65; }
.path-card__action { display:flex; align-items:center; gap:.4rem; margin-top:2rem; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.feature-split { display:grid; grid-template-columns:1fr 1fr; background:var(--paper-deep); }
.feature-split__visual { min-height:610px; }
.feature-split__copy { align-self:center; padding:7vw; }
.feature-split__copy p:not(.eyebrow) { max-width:540px; margin:2rem 0; line-height:1.7; }
.poster-field { position:relative; padding:5vw; display:flex; flex-direction:column; justify-content:center; gap:.35rem; color:var(--white); background:var(--wine-deep); overflow:hidden; }
.poster-field::after { content:"50"; position:absolute; right:-2rem; bottom:-6rem; color:rgba(255,255,255,.08); font:italic 400 28rem/1 Georgia,serif; }
.poster-field span { z-index:1; font:700 clamp(2.8rem,6vw,6rem)/.9 Arial,sans-serif; letter-spacing:-.06em; }
.poster-field span:nth-child(2) { color:var(--gold); font-family:Georgia,serif; font-style:italic; font-weight:400; }
.text-link { display:inline-flex; align-items:center; gap:.5rem; padding-bottom:.35rem; border-bottom:1px solid; font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.drake-strip { padding:7rem 8vw; display:flex; align-items:end; justify-content:space-between; gap:3rem; color:var(--ink); background:var(--mint); }
.drake-strip .eyebrow { color:var(--wine); }
.drake-strip p:not(.eyebrow) { max-width:650px; margin:1.5rem 0 0; line-height:1.65; }
.round-link { flex:0 0 auto; width:74px; height:74px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; }
.round-link:hover { color:var(--white); background:var(--wine); border-color:var(--wine); }
.visit-teaser { max-width:1440px; margin:auto; padding:6rem 5vw; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; }
.visit-teaser .eyebrow { margin-bottom:.65rem; }
.visit-teaser h2 { font-size:clamp(2rem,3.2vw,3.4rem); }

.page-hero { min-height:510px; padding:8rem max(5vw,calc((100vw - 1300px)/2)); display:grid; grid-template-columns:1fr auto; align-items:end; gap:3rem; border-bottom:1px solid var(--line); }
.page-hero h1 { max-width:950px; margin:0; font:500 clamp(3.5rem,7vw,7.5rem)/.9 Georgia,serif; letter-spacing:-.05em; }
.page-hero__intro { max-width:680px; margin:2rem 0 0; font-size:1.1rem; line-height:1.65; }
.page-hero__number { color:var(--wine); font:italic 400 7rem/1 Georgia,serif; opacity:.3; }
.content-section { max-width:1300px; margin:auto; padding:7rem 5vw; }
.content-section--dark { max-width:none; padding-left:max(5vw,calc((100vw - 1300px)/2)); padding-right:max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); }
.content-section--dark .eyebrow { color:var(--gold); }
.content-section h2 { max-width:780px; margin:0 0 2.5rem; font:500 clamp(2.2rem,4vw,4rem)/1.05 Georgia,serif; letter-spacing:-.03em; }
.lead { max-width:760px; font:1.25rem/1.65 Georgia,serif; }
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.info-card { min-height:260px; padding:2rem; color:var(--ink); background:var(--paper); }
.info-card h3 { margin:1.5rem 0 .8rem; font:500 1.55rem/1.1 Georgia,serif; }
.info-card p { margin:0; line-height:1.6; }
.info-card--link { display:block; transition:background .2s ease; }
.info-card--link:hover,.info-card--link:focus-visible { background:var(--gold); }
.info-card--link>span { display:inline-block; margin-top:2rem; padding-bottom:.25rem; border-bottom:1px solid; font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.workshop-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:6vw; align-items:end; padding-bottom:3rem; }
.workshop-intro h2 { margin-bottom:0; }
.workshop-intro .lead { margin:0; }
.workshop-offer { padding-top:2rem; }
.workshop-memory { padding:8rem max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); }
.workshop-memory__heading { max-width:820px; margin-bottom:6rem; }
.workshop-memory__heading .eyebrow { color:var(--gold); }
.workshop-memory__heading h2 { margin:0 0 1.5rem; font:500 clamp(2.7rem,5vw,5.4rem)/.98 Georgia,serif; letter-spacing:-.04em; }
.workshop-memory__heading>p:last-child { max-width:680px; margin:0; font-size:1.05rem; line-height:1.7; color:#d8d8d8; }
.year-gallery { padding:3rem 0 5rem; border-top:1px solid #ffffff38; }
.year-gallery:last-child { padding-bottom:0; }
.year-gallery__header { display:grid; grid-template-columns:220px 1fr; gap:3rem; align-items:start; margin-bottom:2rem; }
.year-gallery__header h3 { margin:0; color:var(--gold); font:italic 500 clamp(2.2rem,4vw,4.4rem)/1 Georgia,serif; }
.year-gallery__header p { max-width:620px; margin:.5rem 0 0; color:#d8d8d8; line-height:1.65; }
.workshop-video { max-width:960px; margin:3rem auto 0; overflow:hidden; background:#080808; border:1px solid #ffffff38; }
.workshop-video video { width:100%; max-height:70vh; display:block; background:#000; }
.workshop-video figcaption { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:1rem 1.25rem 1.15rem; }
.workshop-video figcaption span { color:var(--gold); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.workshop-video figcaption strong { font:500 1.1rem Georgia,serif; }
.photo-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:150px; gap:.75rem; }
.photo-grid__item { margin:0; overflow:hidden; background:#262626; }
.photo-grid__item:nth-child(6n+1),.photo-grid__item:nth-child(6n+4) { grid-column:span 5; grid-row:span 3; }
.photo-grid__item:nth-child(6n+2),.photo-grid__item:nth-child(6n+3),.photo-grid__item:nth-child(6n+5),.photo-grid__item:nth-child(6n+6) { grid-column:span 7; grid-row:span 2; }
.photo-grid__item img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.photo-grid__item:hover img { transform:scale(1.025); }
.gallery-trigger { position:relative; width:100%; height:100%; display:block; padding:0; overflow:hidden; color:inherit; background:transparent; border:0; cursor:zoom-in; }
.gallery-trigger__icon { position:absolute; right:1rem; bottom:1rem; width:42px; height:42px; display:grid; place-items:center; color:var(--ink); background:var(--gold); border:1px solid var(--ink); border-radius:50%; opacity:0; transform:translateY(6px); transition:.2s ease; }
.gallery-trigger:hover .gallery-trigger__icon,.gallery-trigger:focus-visible .gallery-trigger__icon { opacity:1; transform:translateY(0); }
.gallery-trigger:focus-visible { outline:3px solid var(--gold); outline-offset:-3px; }
.festival-photo-archive { padding:8rem max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); scroll-margin-top:76px; }
.festival-photo-archive__heading { display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:end; margin-bottom:3rem; }
.festival-photo-archive__heading h2 { max-width:760px; margin:0; font:500 clamp(2.8rem,5vw,5.4rem)/.96 Georgia,serif; letter-spacing:-.04em; }
.festival-photo-archive__heading>p { max-width:570px; margin:0; color:#d8d8d8; line-height:1.7; }
.festival-year-nav { display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 6rem; }
.festival-year-nav a { min-width:72px; padding:.7rem 1rem; color:var(--gold); border:1px solid #ffffff45; text-align:center; font-size:.78rem; font-weight:700; letter-spacing:.08em; }
.festival-year-nav a:hover,.festival-year-nav a:focus-visible { color:var(--ink); background:var(--gold); border-color:var(--gold); }
.festival-year-collection { padding:4.5rem 0 6rem; border-top:1px solid #ffffff38; scroll-margin-top:76px; }
.festival-year-collection:last-child { padding-bottom:0; }
.festival-year-collection__header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.festival-year-collection__header .eyebrow { margin-bottom:.55rem; }
.festival-year-collection__header h3 { margin:0; color:var(--gold); font:italic 500 clamp(3rem,5vw,5.6rem)/.9 Georgia,serif; }
.festival-year-collection__header>span { padding-bottom:.35rem; color:#d8d8d8; font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.workshop-contact { display:flex; align-items:end; justify-content:space-between; gap:3rem; }
.workshop-contact h2 { margin-bottom:1.5rem; }
.workshop-contact .lead { margin-bottom:0; }
.workshop-contact .button { flex:0 0 auto; }
.festival-posters { max-width:1440px; margin:auto; padding:8rem 5vw; scroll-margin-top:76px; }
.festival-posters__heading { display:grid; grid-template-columns:1.2fr .8fr; gap:5vw; align-items:end; margin-bottom:4rem; }
.festival-posters__heading h2 { max-width:820px; margin:0; font:500 clamp(2.7rem,5vw,5.2rem)/.98 Georgia,serif; letter-spacing:-.04em; }
.festival-posters__heading>p { max-width:560px; margin:0; line-height:1.7; }
.poster-archive { display:grid; grid-template-columns:repeat(4,1fr); gap:2.2rem 1.2rem; align-items:start; }
.poster-archive__item { margin:0; }
.gallery-trigger--poster { height:auto; }
.poster-archive__item img { width:100%; aspect-ratio:3/4; display:block; object-fit:contain; background:#eee8dd; border:1px solid var(--line); }
.poster-archive__item figcaption { padding:.9rem 0 0; display:flex; align-items:baseline; justify-content:space-between; gap:1rem; border-top:3px solid var(--wine); }
.poster-archive__item figcaption span { font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.poster-archive__item figcaption strong { color:var(--wine); font:italic 500 1.7rem Georgia,serif; }
.archive-collection { border-top:1px solid var(--line); }
.archive-collection .poster-archive__item figcaption { align-items:flex-start; flex-direction:column; gap:.35rem; }
.archive-collection .poster-archive__item figcaption strong { font-size:1.2rem; line-height:1.2; }
.archive-collection--memories { background:#f3eee5; }
.lightbox { width:100vw!important; max-width:none!important; height:100dvh!important; max-height:none!important; display:block!important; padding:0!important; overflow:hidden; color:var(--white)!important; background:rgba(10,10,10,.98)!important; border:0!important; border-radius:0!important; box-shadow:none!important; touch-action:none; }
.lightbox__stage { width:100%; height:100%; padding:4.5rem 6.5rem 3rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; overflow:hidden; touch-action:none; }
.lightbox__stage>img { min-width:0; min-height:0; max-width:100%; max-height:calc(100dvh - 9rem); display:block; object-fit:contain; transform-origin:center; user-select:none; will-change:transform; }
.lightbox__caption { min-height:2.5rem; display:flex; align-items:baseline; justify-content:center; gap:.75rem; text-align:center; }
.lightbox__caption span { color:var(--gold); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.lightbox__caption strong { font:500 1.1rem Georgia,serif; }
.lightbox__caption small { color:#ffffffa8; }
.lightbox__close,.lightbox__nav,.lightbox__zoom { z-index:2; position:absolute; display:grid; place-items:center; color:var(--white); background:#0009; border:1px solid #ffffff70; cursor:pointer; transition:.2s ease; }
.lightbox__close { width:48px; height:48px; right:1.5rem; top:1.5rem; border-radius:50%; }
.lightbox__zoom { min-height:44px; left:1.5rem; top:1.5rem; padding:.65rem .85rem; grid-template-columns:auto auto; gap:.45rem; }
.lightbox__zoom span { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.lightbox__nav { width:52px; height:72px; top:50%; transform:translateY(-50%); }
.lightbox__nav--previous { left:1.5rem; }
.lightbox__nav--next { right:1.5rem; }
.lightbox__touch-hint { display:none; }
.lightbox__close:hover,.lightbox__close:focus-visible,.lightbox__nav:hover,.lightbox__nav:focus-visible,.lightbox__zoom:hover,.lightbox__zoom:focus-visible { color:var(--ink); background:var(--gold); border-color:var(--gold); outline:0; }
.timeline { border-top:1px solid var(--line); }
.timeline-row { display:grid; grid-template-columns:160px 1fr; gap:2rem; padding:2rem 0; border-bottom:1px solid var(--line); }
.timeline-row strong { color:var(--wine); text-transform:uppercase; letter-spacing:.1em; }
.timeline-row h3 { margin:0 0 .6rem; font:500 1.6rem Georgia,serif; }
.timeline-row p { max-width:720px; margin:0; line-height:1.6; }
.theatre-intro { max-width:1300px; margin:auto; padding:7rem 5vw; display:grid; grid-template-columns:.85fr 1.15fr; gap:3rem 6vw; align-items:end; }
.theatre-intro h2 { max-width:650px; margin:0; font:500 clamp(2.7rem,4.6vw,5rem)/.98 Georgia,serif; letter-spacing:-.04em; }
.theatre-intro .lead { margin:0; }
.theatre-impact { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:2rem; border:1px solid var(--line); }
.theatre-impact article { min-height:195px; padding:2rem; display:flex; flex-direction:column; border-right:1px solid var(--line); }
.theatre-impact article:last-child { border-right:0; }
.theatre-impact svg { color:var(--wine); }
.theatre-impact strong { margin-top:auto; font:500 clamp(1.45rem,2vw,2rem)/1.1 Georgia,serif; }
.theatre-impact span { margin-top:.45rem; color:#60595b; font-size:.86rem; letter-spacing:.02em; }
.theatre-history { padding:8rem max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); }
.theatre-history__heading { display:grid; grid-template-columns:1.1fr .75fr auto; gap:3rem; align-items:end; margin-bottom:5rem; }
.theatre-history__heading .eyebrow { color:var(--gold); }
.theatre-history__heading h2 { max-width:720px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.94 Georgia,serif; letter-spacing:-.045em; }
.theatre-history__heading>p { max-width:540px; margin:0; color:#d8d8d8; line-height:1.7; }
.theatre-history__arrow { width:42px; height:42px; color:var(--gold); }
.theatre-timeline { position:relative; }
.theatre-timeline::before { content:""; position:absolute; left:31px; top:0; bottom:0; width:1px; background:#ffffff42; }
.theatre-timeline__item { position:relative; display:grid; grid-template-columns:64px 170px 1fr; gap:2.2rem; padding-bottom:4rem; }
.theatre-timeline__item:last-child { padding-bottom:1rem; }
.theatre-timeline__marker { z-index:1; width:64px; height:64px; display:grid; place-items:center; color:var(--gold); background:var(--ink); border:1px solid var(--gold); border-radius:50%; }
.theatre-timeline__marker span { font-size:.7rem; font-weight:700; letter-spacing:.1em; }
.theatre-timeline__item time { padding-top:.65rem; color:var(--gold); font:italic 500 clamp(1.9rem,2.8vw,3rem)/1 Georgia,serif; }
.theatre-timeline__content { padding:0 0 3rem; border-bottom:1px solid #ffffff30; }
.theatre-timeline__content h3 { max-width:720px; margin:0 0 1rem; font:500 clamp(1.7rem,2.5vw,2.6rem)/1.08 Georgia,serif; }
.theatre-timeline__content p { max-width:780px; margin:0; color:#d8d8d8; line-height:1.75; }
.theatre-history__source { margin:3rem 0 0 234px; color:#ffffff8f; font-size:.75rem; line-height:1.5; }
.theatre-photo-archive { padding:8rem max(5vw,calc((100vw - 1300px)/2)); background:var(--paper-deep); }
.theatre-photo-archive__heading { display:grid; grid-template-columns:1.15fr .75fr; gap:5vw; align-items:end; margin-bottom:6rem; }
.theatre-photo-archive__heading h2 { max-width:820px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.94 Georgia,serif; letter-spacing:-.045em; }
.theatre-photo-archive__heading>p { max-width:560px; margin:0; line-height:1.75; }
.theatre-photo-collection { padding:4rem 0 5rem; border-top:1px solid var(--line); }
.theatre-photo-collection:last-child { padding-bottom:0; }
.theatre-photo-collection__header { display:grid; grid-template-columns:72px minmax(0,760px); gap:2rem; margin-bottom:2.5rem; }
.theatre-photo-collection__header>span { color:var(--wine); font:italic 500 2rem/1 Georgia,serif; }
.theatre-photo-collection__header .eyebrow { margin-bottom:.7rem; }
.theatre-photo-collection__header h3 { margin:0 0 1rem; font:500 clamp(2.2rem,4vw,4.2rem)/1 Georgia,serif; letter-spacing:-.035em; }
.theatre-photo-collection__description { max-width:680px; margin:0; color:#5f5850; line-height:1.7; }
.theatre-photo-collection__cast { max-width:760px; margin-top:1.4rem; padding-top:1.2rem; display:grid; grid-template-columns:auto 1fr; gap:1.2rem; border-top:1px solid var(--line); }
.theatre-photo-collection__cast strong { color:var(--wine); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.theatre-photo-collection__cast p { margin:0; line-height:1.65; }
.theatre-legacy { max-width:1300px; margin:auto; padding:7rem 5vw; }
.theatre-legacy h2 { max-width:740px; margin:0 0 2rem; font:500 clamp(2.7rem,4.8vw,5rem)/.98 Georgia,serif; letter-spacing:-.04em; }
.theatre-legacy blockquote { max-width:1050px; margin:4rem 0 0; padding:2.2rem 0 0; border-top:1px solid var(--line); color:var(--wine); font:italic 500 clamp(1.8rem,3.5vw,3.7rem)/1.12 Georgia,serif; letter-spacing:-.025em; }
.drake-story { max-width:1440px; margin:auto; padding:8rem 5vw 0; }
.drake-story__heading { display:grid; grid-template-columns:1fr 1fr; gap:6vw; align-items:end; padding-bottom:6rem; }
.drake-story__heading h2 { max-width:740px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.94 Georgia,serif; letter-spacing:-.045em; }
.drake-story__heading .lead { margin:0; }
.drake-story__body { display:grid; grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr); gap:6vw; padding:6rem 0; border-top:1px solid var(--line); }
.drake-story__chapter { display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; color:var(--wine); font:italic 500 clamp(3.2rem,6vw,6.5rem)/.82 Georgia,serif; letter-spacing:-.05em; }
.drake-story__chapter span:last-child { margin-left:1.5rem; color:var(--ink); }
.drake-story__copy { max-width:780px; }
.drake-story__copy p,.drake-story__closing>p:not(.drake-story__source) { margin:0 0 2rem; font-size:1.08rem; line-height:1.82; }
.drake-story__copy p:first-child::first-letter { float:left; margin:.05em .12em 0 0; color:var(--wine); font:500 5.2rem/.78 Georgia,serif; }
.drake-night { margin:0 -5vw; padding:7rem max(5vw,calc((100vw - 1300px)/2)); display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; color:var(--white); background:var(--ink); }
.drake-night__title h2 { max-width:620px; margin:0; font:500 clamp(3rem,5vw,5.5rem)/.96 Georgia,serif; letter-spacing:-.045em; }
.drake-night__story { max-width:680px; }
.drake-night__story p { margin:0 0 1.8rem; color:#d8d8d8; font-size:1.04rem; line-height:1.8; }
.drake-night__story blockquote { margin:3.5rem 0 0; padding:2rem 0 0; border-top:1px solid #ffffff4a; color:var(--gold); font:italic 500 clamp(1.8rem,3.4vw,3.5rem)/1.08 Georgia,serif; letter-spacing:-.025em; }
.drake-story__closing { max-width:820px; margin-left:auto; padding:7rem 0 8rem; }
.drake-story__closing .drake-story__final { margin-top:4rem; color:var(--wine); font:italic 500 clamp(1.8rem,3.2vw,3.2rem)/1.14 Georgia,serif; letter-spacing:-.025em; }
.drake-story__source { margin:4rem 0 0; padding-top:1.25rem; color:#6b6460; font-size:.75rem; line-height:1.5; border-top:1px solid var(--line); }
.drake-photo-archive { padding:8rem max(5vw,calc((100vw - 1300px)/2)); background:var(--paper-deep); }
.drake-photo-archive__heading { display:grid; grid-template-columns:1.1fr .75fr; gap:5vw; align-items:end; margin-bottom:5rem; }
.drake-photo-archive__heading h2 { max-width:820px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.94 Georgia,serif; letter-spacing:-.045em; }
.drake-photo-archive__heading>p { max-width:560px; margin:0; line-height:1.75; }
.trajectory-intro { max-width:1300px; margin:auto; padding:8rem 5vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:6vw; align-items:end; }
.trajectory-intro h2 { max-width:680px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.trajectory-intro__copy .lead { margin:0 0 1.5rem; }
.trajectory-intro__copy>p:last-child { max-width:700px; margin:0; font-size:1.05rem; line-height:1.8; }
.trajectory-group-photo { max-width:1440px; margin:0 auto; padding:0 5vw 8rem; }
.trajectory-group-photo img { width:100%; max-height:760px; display:block; object-fit:cover; object-position:center; }
.trajectory-group-photo figcaption { display:grid; grid-template-columns:180px minmax(0,680px); gap:2rem; padding:1.5rem 0 0; border-top:1px solid var(--ink); }
.trajectory-group-photo figcaption span { color:var(--wine); font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.trajectory-group-photo figcaption p { margin:0; line-height:1.65; }
.trajectory-chapters { padding:8rem max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); }
.trajectory-chapters__heading { display:grid; grid-template-columns:1.15fr .75fr; gap:6vw; align-items:end; margin-bottom:6rem; }
.trajectory-chapters__heading h2 { max-width:780px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.trajectory-chapters__heading>p { max-width:560px; margin:0; color:#d8d8d8; line-height:1.75; }
.trajectory-chapters__list { border-top:1px solid #ffffff3d; }
.trajectory-chapters__list article { display:grid; grid-template-columns:100px 1fr; gap:2.5rem; padding:3.5rem 0; border-bottom:1px solid #ffffff3d; }
.trajectory-chapters__list article>span { color:var(--gold); font:italic 500 2.1rem/1 Georgia,serif; }
.trajectory-chapters__list article>div { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(280px,1fr); gap:1rem 5vw; }
.trajectory-chapters__list .eyebrow { grid-column:1/-1; margin-bottom:.2rem; color:var(--gold); }
.trajectory-chapters__list h3 { margin:0; font:500 clamp(1.9rem,3vw,3.2rem)/1.05 Georgia,serif; letter-spacing:-.03em; }
.trajectory-chapters__list article>div>p:last-child { max-width:680px; margin:0; color:#d8d8d8; line-height:1.75; }
.memory-section { max-width:1440px; margin:auto; padding:8rem 5vw; display:grid; gap:1.2rem; }
.memory-section__heading { display:grid; grid-template-columns:1.15fr .75fr; gap:5vw; align-items:end; margin-bottom:4.8rem; }
.memory-section__heading h2 { max-width:820px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.memory-section__heading>p { max-width:560px; margin:0; line-height:1.75; }
.memory-book { position:relative; padding:clamp(2.5rem,5vw,5rem); background:var(--gold); overflow:hidden; }
.memory-book__icon { position:absolute; right:3rem; top:3rem; width:64px; height:64px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; }
.memory-book .eyebrow { color:var(--ink); }
.memory-book h2,.memory-film h2 { max-width:850px; margin:0 0 2rem; font:500 clamp(2.2rem,4vw,4.2rem)/1.03 Georgia,serif; letter-spacing:-.035em; }
.memory-book>p:not(.eyebrow) { max-width:820px; font-size:1.05rem; line-height:1.72; }
.memory-film { display:grid; grid-template-columns:1.15fr .85fr; color:var(--white); background:var(--ink); }
.memory-film__video { min-height:460px; background:#000; }
.memory-film__video iframe { width:100%; height:100%; min-height:460px; display:block; border:0; }
.memory-film__copy { align-self:center; padding:clamp(2.5rem,5vw,5rem); }
.memory-film__copy .eyebrow { color:var(--mint); }
.memory-film__copy p:not(.eyebrow) { max-width:540px; margin-bottom:2rem; line-height:1.7; }
.trajectory-channel { min-height:220px; padding:3rem; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2.5rem; color:var(--white); background:var(--wine); transition:background .2s ease; }
.trajectory-channel:hover { background:var(--wine-deep); }
.trajectory-channel h2 { max-width:740px; margin:0; font:500 clamp(2rem,4vw,4rem)/1 Georgia,serif; letter-spacing:-.035em; }
.trajectory-channel>span { display:flex; align-items:center; gap:.45rem; padding-bottom:.35rem; border-bottom:1px solid; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.trajectory-recognition { display:grid; grid-template-columns:.9fr 1.1fr; background:var(--mint); }
.trajectory-recognition__copy { padding:7rem 5vw 7rem max(5vw,calc((100vw - 1300px)/2)); display:grid; grid-template-columns:auto 1fr; align-items:start; gap:2.5rem; }
.trajectory-recognition h3 { max-width:720px; margin:0; font:500 clamp(2.5rem,4.5vw,4.8rem)/.98 Georgia,serif; letter-spacing:-.04em; }
.trajectory-recognition__copy>p { grid-column:2; max-width:520px; margin:0; font-size:1.05rem; line-height:1.75; }
.trajectory-recognition__photo { position:relative; min-height:620px; margin:0; overflow:hidden; background:var(--ink); }
.trajectory-recognition__photo img { width:100%; height:100%; position:absolute; inset:0; display:block; object-fit:cover; object-position:center; }
.trajectory-recognition__photo figcaption { position:absolute; left:0; right:0; bottom:0; padding:4rem 2rem 1.5rem; color:var(--white); background:linear-gradient(transparent,#000c); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.recognitions-section { padding-top:8rem; background:var(--paper); }
.recognitions-section__heading { max-width:1300px; margin:0 auto 5rem; padding:0 5vw; display:grid; grid-template-columns:1fr .75fr; gap:1rem 6vw; align-items:end; }
.recognitions-section__heading .eyebrow { grid-column:1/-1; margin-bottom:.25rem; }
.recognitions-section__heading h2 { max-width:760px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.recognitions-section__heading>p { max-width:560px; margin:0; line-height:1.75; }

.anniversary-story { max-width:1300px; margin:auto; padding:8rem 5vw; display:grid; grid-template-columns:.7fr 1.3fr; gap:7vw; align-items:start; }
.anniversary-story__mark { min-height:460px; padding:2rem; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--gold); border:1px solid var(--ink); }
.anniversary-story__mark span { font-size:.78rem; font-weight:700; letter-spacing:.16em; }
.anniversary-story__mark strong { color:var(--wine); font:italic 500 clamp(7rem,15vw,13rem)/.88 Georgia,serif; letter-spacing:-.08em; }
.anniversary-story__copy h2 { max-width:760px; margin:0 0 2.5rem; font:500 clamp(3rem,5vw,5.5rem)/.96 Georgia,serif; letter-spacing:-.045em; }
.anniversary-story__copy>p:not(.eyebrow) { max-width:760px; margin:0 0 1.6rem; font-size:1.06rem; line-height:1.8; }
.anniversary-legacy { padding:8rem max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); }
.anniversary-legacy>header { max-width:820px; margin-bottom:5rem; }
.anniversary-legacy>header h2 { margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.anniversary-legacy__grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #ffffff38; border-left:1px solid #ffffff38; }
.anniversary-legacy__grid article { min-height:260px; padding:2.5rem; border-right:1px solid #ffffff38; border-bottom:1px solid #ffffff38; }
.anniversary-legacy__grid svg { color:var(--gold); }
.anniversary-legacy__grid .amubis-icon { color:var(--gold); }
.anniversary-legacy__grid h3 { margin:3rem 0 1rem; font:500 2rem/1.1 Georgia,serif; }
.anniversary-legacy__grid p { max-width:520px; margin:0; color:#d8d8d8; line-height:1.7; }
.anniversary-memory-link { max-width:1300px; margin:auto; padding:7rem 5vw; display:grid; grid-template-columns:auto 1fr auto; gap:2.5rem; align-items:center; }
.anniversary-memory-link>svg { color:var(--wine); }
.anniversary-memory-link h2 { max-width:760px; margin:0 0 1rem; font:500 clamp(2.5rem,4.5vw,4.8rem)/.98 Georgia,serif; letter-spacing:-.04em; }
.anniversary-memory-link p:not(.eyebrow) { max-width:690px; margin:0; line-height:1.7; }
.anniversary-memory-link--sustainability { max-width:none; padding-left:max(5vw,calc((100vw - 1300px)/2)); padding-right:max(5vw,calc((100vw - 1300px)/2)); background:var(--mint); }

.sustainability-intro { max-width:1300px; margin:auto; padding:8rem 5vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:6vw; align-items:start; }
.sustainability-intro h2 { max-width:690px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.sustainability-intro__copy .lead { margin-top:0; }
.sustainability-intro__copy p { max-width:720px; margin-bottom:1.4rem; line-height:1.8; }
.sustainability-commitments { padding:8rem max(5vw,calc((100vw - 1300px)/2)); color:var(--white); background:var(--ink); }
.sustainability-commitments>header { display:grid; grid-template-columns:1.2fr .7fr; gap:1rem 6vw; align-items:end; margin-bottom:5rem; }
.sustainability-commitments>header .eyebrow { grid-column:1/-1; margin-bottom:.25rem; }
.sustainability-commitments>header h2 { max-width:820px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.sustainability-commitments>header>p { max-width:540px; margin:0; color:#d8d8d8; line-height:1.75; }
.sustainability-commitments__grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #ffffff38; border-left:1px solid #ffffff38; }
.sustainability-commitments__grid article { min-height:420px; padding:2.8rem; border-right:1px solid #ffffff38; border-bottom:1px solid #ffffff38; }
.sustainability-commitments__title { display:flex; justify-content:space-between; align-items:center; color:var(--gold); }
.sustainability-commitments__title>span { font:italic 500 1.7rem/1 Georgia,serif; }
.sustainability-commitments__grid h3 { margin:3rem 0 2rem; font:500 clamp(2rem,3vw,3.2rem)/1 Georgia,serif; }
.sustainability-commitments__grid ul { margin:0; padding-left:1.2rem; color:#dedede; }
.sustainability-commitments__grid li { margin-bottom:1rem; padding-left:.5rem; line-height:1.65; }
.sustainability-goals { max-width:1300px; margin:auto; padding:8rem 5vw; }
.sustainability-goals>header { display:grid; grid-template-columns:1.15fr .75fr; gap:5vw; align-items:end; margin-bottom:5rem; }
.sustainability-goals>header h2 { max-width:820px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.sustainability-goals>header>p { max-width:540px; margin:0; line-height:1.75; }
.sustainability-goals__grid { border-top:1px solid var(--line); }
.sustainability-goals__grid article { display:grid; grid-template-columns:120px 1fr; gap:2.5rem; align-items:center; padding:2rem 0; border-bottom:1px solid var(--line); }
.sustainability-goals__badge { width:104px; height:104px; padding:1rem; display:flex; align-items:flex-end; justify-content:space-between; color:var(--white); background:var(--wine); }
.sustainability-goals__badge>span { font:700 2.8rem/1 Georgia,serif; }
.sustainability-goals__grid article:nth-child(2) .sustainability-goals__badge,.sustainability-goals__grid article:nth-child(4) .sustainability-goals__badge { background:#d44b6f; }
.sustainability-goals__grid article:nth-child(3) .sustainability-goals__badge,.sustainability-goals__grid article:nth-child(6) .sustainability-goals__badge { background:#b7771a; }
.sustainability-goals__grid article:nth-child(5) .sustainability-goals__badge { background:#d56e23; }
.sustainability-goals__grid article:nth-child(7) .sustainability-goals__badge { background:#265b73; }
.sustainability-goals__grid article>div:last-child { display:grid; grid-template-columns:minmax(220px,.65fr) 1fr; gap:.4rem 3rem; align-items:center; }
.sustainability-goals__grid article>div:last-child>p { grid-column:1/-1; margin:0; color:var(--wine); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.sustainability-goals__grid h3 { margin:0; font:500 clamp(1.6rem,2.5vw,2.6rem)/1.05 Georgia,serif; }
.sustainability-goals__grid article>div:last-child>span { max-width:620px; line-height:1.65; }
.sustainability-closing { padding:8rem max(6vw,calc((100vw - 1120px)/2)); text-align:center; color:var(--ink); background:var(--gold); }
.sustainability-closing>svg { margin-bottom:2rem; color:var(--wine); }
.sustainability-closing>.amubis-icon { margin-bottom:2rem; color:var(--wine); }
.sustainability-closing>p { max-width:1050px; margin:0 auto 2rem; font:500 clamp(2.8rem,5vw,5.6rem)/1 Georgia,serif; letter-spacing:-.045em; }
.sustainability-closing>span { display:block; max-width:760px; margin:auto; line-height:1.7; }

.memorial-intro { max-width:1300px; margin:auto; padding:8rem 5vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:6vw; align-items:end; }
.memorial-intro h2 { max-width:680px; margin:0; font:500 clamp(3rem,5vw,5.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.memorial-intro .lead { margin:0 0 1.4rem; }
.memorial-intro>div:last-child>p:last-child { max-width:700px; margin:0; line-height:1.8; }
.memorial-list { padding:0 max(5vw,calc((100vw - 1300px)/2)) 8rem; }
.memorial-list article { display:grid; grid-template-columns:70px minmax(280px,.9fr) minmax(320px,1.1fr); gap:2rem 4vw; padding:4rem 0; border-top:1px solid var(--line); }
.memorial-list article:last-child { border-bottom:1px solid var(--line); }
.memorial-list__number { color:var(--wine); font:italic 500 1.7rem/1 Georgia,serif; }
.memorial-list__identity p { margin:0 0 .7rem; color:var(--wine); font-size:.76rem; font-weight:700; letter-spacing:.12em; }
.memorial-list__identity h2 { margin:0 0 .8rem; font:500 clamp(2rem,3.5vw,3.6rem)/1 Georgia,serif; letter-spacing:-.035em; }
.memorial-list__identity span { color:#665f59; font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.memorial-list__text { max-width:650px; margin:0; font-size:1.04rem; line-height:1.78; }
.memorial-closing { padding:8rem 6vw; text-align:center; color:var(--white); background:var(--wine); }
.memorial-closing p { margin:0 auto 2rem; font:italic 500 clamp(3rem,7vw,7rem)/1 Georgia,serif; letter-spacing:-.045em; }
.memorial-closing span { display:block; max-width:720px; margin:auto; color:#fffddd; font-size:.82rem; line-height:1.6; }
.callout { padding:3rem; color:var(--white); background:var(--wine); }
.callout .eyebrow { color:var(--gold); }
.callout h3 { max-width:780px; margin:0; font:500 clamp(2rem,4vw,4rem)/1.05 Georgia,serif; }
.form-shell { max-width:850px; }
.form-note { padding:1rem 1.2rem; margin-bottom:2rem; border-left:4px solid var(--gold); background:var(--paper-deep); line-height:1.55; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; }
.field { display:grid; gap:.5rem; }
.field--full { grid-column:1/-1; }
.field label { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.field input,.field textarea,.field select { width:100%; padding:.9rem 1rem; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:0; }
.field textarea { min-height:170px; resize:vertical; }
.field small { color:#60595b; line-height:1.4; }
.top-gap { margin-top:3rem; }
.button--light { color:var(--white); border-color:rgba(255,255,255,.75); }
.button--light:hover { color:var(--ink); background:var(--gold); border-color:var(--gold); }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:6vw; align-items:start; }
.contact-list { border-top:1px solid var(--line); }
.contact-list a,.contact-list>div { display:flex; align-items:center; gap:1rem; padding:1.4rem 0; border-bottom:1px solid var(--line); }
.contact-list span { display:grid; gap:.3rem; }
.contact-list small { color:var(--wine); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.map-card { min-height:390px; border:1px solid var(--line); background:var(--white); }
.map-card iframe { width:100%; height:390px; display:block; border:0; }
.map-card__caption { padding:1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.map-card__caption>div { display:grid; gap:.35rem; }
.map-card__caption strong { font:500 1.35rem Georgia,serif; }
.map-card__caption span { color:#60595b; font-size:.9rem; }
.contact-mailbox { padding:8rem max(5vw,calc((100vw - 1300px)/2)); display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; color:var(--white); background:var(--ink); scroll-margin-top:90px; }
.contact-mailbox__intro { display:grid; grid-template-columns:auto 1fr; gap:1.4rem; align-content:start; }
.contact-mailbox__intro>svg { color:var(--gold); }
.contact-mailbox__intro h2 { max-width:620px; margin:0 0 1.5rem; font:500 clamp(2.8rem,5vw,5.4rem)/.96 Georgia,serif; letter-spacing:-.045em; }
.contact-mailbox__intro>div>p:last-child { max-width:540px; color:#d8d8d8; line-height:1.7; }
.mailbox-form { padding:clamp(2rem,4vw,3.5rem); color:var(--ink); background:var(--gold); }
.mailbox-form .field input,.mailbox-form .field textarea,.mailbox-form .field select { background:var(--paper); border-color:#0005; }
.mailbox-form .button { margin-top:1.5rem; }
.mailbox-form__note { max-width:620px; margin:1rem 0 0; color:#554019; font-size:.82rem; line-height:1.55; }

.site-footer { padding:7rem 5vw 2rem; color:var(--ink); background:var(--gold); }
.site-footer__logo { display:block; width:min(260px,70vw); height:auto; margin-bottom:2.5rem; }
.site-footer__lead h2 { max-width:820px; margin:0 0 5rem; font:500 clamp(2.5rem,5vw,5rem)/1 Georgia,serif; }
.site-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; padding:2rem 0 4rem; border-top:1px solid #0004; }
.site-footer__grid strong { display:block; margin-bottom:1rem; color:var(--wine); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
.site-footer__grid p,.site-footer__grid a { display:block; margin:.35rem 0; line-height:1.5; }
.site-footer__bottom { padding-top:1.5rem; display:flex; justify-content:space-between; gap:2rem; border-top:1px solid #0004; color:#4c4230; font-size:.75rem; }

@media (max-width:1320px) {
  .desktop-nav { display:none; } .mobile-menu-toggle { display:grid; }
  .home-hero { padding-top:5rem; }
  .anniversary-section { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:1fr; }
  .memory-film { grid-template-columns:1fr; }
  .info-grid { grid-template-columns:repeat(2,1fr); }
  .workshop-contact { align-items:start; flex-direction:column; }
  .poster-archive { grid-template-columns:repeat(3,1fr); }
  .theatre-intro { grid-template-columns:1fr; align-items:start; }
  .theatre-impact { grid-column:auto; }
  .theatre-history__heading { grid-template-columns:1fr .8fr; }
  .theatre-history__arrow { display:none; }
  .theatre-photo-archive__heading { grid-template-columns:1fr .8fr; }
  .trajectory-chapters__list article>div { grid-template-columns:1fr; }
  .trajectory-channel { grid-template-columns:auto 1fr; }
  .trajectory-channel>span { grid-column:2; justify-self:start; }
  .trajectory-recognition { grid-template-columns:1fr; }
  .trajectory-recognition__photo { min-height:480px; }
  .anniversary-memory-link { grid-template-columns:auto 1fr; }
  .anniversary-memory-link .button { grid-column:2; justify-self:start; }
  .sustainability-commitments>header,.sustainability-goals>header { grid-template-columns:1fr .8fr; }
  .sustainability-goals__grid article>div:last-child { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .site-header__inner { min-height:68px; }
  .brand__logo { width:118px; }
  .mobile-menu__backdrop { inset:68px 0 0; }
  .mobile-menu-panel { top:68px; width:100vw; max-height:calc(100dvh - 68px); padding:1rem 1rem max(2rem,env(safe-area-inset-bottom)); }
  .home-hero { min-height:auto; padding:4.5rem 6vw; } .home-hero__copy h1 { font-size:clamp(3.4rem,15.5vw,5.5rem); } .home-hero__intro { font-size:1rem; }
  .anniversary-section { padding:5rem 6vw; }
  .manifesto { padding:6rem 6vw; } .section-block,.content-section { padding:5rem 6vw; }
  .identity-section { padding:5rem 6vw; } .identity-section__intro { grid-template-columns:1fr; } .identity-section__masks { width:170px; height:135px; justify-self:start; }
  .value-card { min-height:340px; padding:2rem; } .value-card>p:last-child { margin-top:5rem; }
  .path-grid,.feature-split,.info-grid { grid-template-columns:1fr; } .path-card { min-height:330px; border-right:0; border-bottom:1px solid var(--line); }
  .feature-split__visual { min-height:420px; } .feature-split__copy { padding:5rem 6vw; }
  .drake-strip { padding:5rem 6vw; align-items:start; } .visit-teaser { padding:5rem 6vw; grid-template-columns:auto 1fr; } .visit-teaser .button { grid-column:1/-1; }
  .page-hero { min-height:450px; padding:5rem 6vw; grid-template-columns:1fr; } .page-hero__number { display:none; }
  .timeline-row { grid-template-columns:1fr; gap:.75rem; } .field-grid,.contact-layout { grid-template-columns:1fr; }
  .theatre-intro { padding:5rem 6vw; gap:1.5rem; }
  .theatre-impact { grid-template-columns:1fr; margin-top:1.5rem; }
  .theatre-impact article { min-height:150px; border-right:0; border-bottom:1px solid var(--line); }
  .theatre-impact article:last-child { border-bottom:0; }
  .theatre-history { padding:5rem 6vw; }
  .theatre-history__heading { grid-template-columns:1fr; gap:1.5rem; margin-bottom:4rem; }
  .theatre-timeline::before { left:19px; }
  .theatre-timeline__item { grid-template-columns:40px 1fr; gap:.4rem 1rem; padding-bottom:2.8rem; }
  .theatre-timeline__marker { grid-row:1/3; width:40px; height:40px; }
  .theatre-timeline__marker span { font-size:.62rem; }
  .theatre-timeline__item time { grid-column:2; padding-top:.25rem; font-size:1.65rem; }
  .theatre-timeline__content { grid-column:2; padding:1rem 0 2rem; }
  .theatre-timeline__content h3 { font-size:1.65rem; }
  .theatre-history__source { margin:2rem 0 0 56px; }
  .theatre-photo-archive { padding:5rem 6vw; }
  .theatre-photo-archive__heading { grid-template-columns:1fr; gap:1.5rem; margin-bottom:4rem; }
  .theatre-photo-collection { padding:3rem 0 4rem; }
  .theatre-photo-collection__header { grid-template-columns:1fr; gap:.8rem; margin-bottom:2rem; }
  .theatre-photo-collection__header>span { font-size:1.35rem; }
  .theatre-photo-collection__cast { grid-template-columns:1fr; gap:.5rem; }
  .theatre-legacy { padding:5rem 6vw; }
  .theatre-legacy blockquote { margin-top:3rem; }
  .drake-story { padding-top:5rem; }
  .drake-story__heading { grid-template-columns:1fr; gap:2rem; padding-bottom:4rem; }
  .drake-story__body { grid-template-columns:1fr; gap:3rem; padding:4rem 0; }
  .drake-story__chapter { font-size:clamp(3rem,14vw,5rem); }
  .drake-night { padding-top:5rem; padding-bottom:5rem; grid-template-columns:1fr; gap:3rem; }
  .drake-story__closing { padding:5rem 0; }
  .drake-photo-archive { padding:5rem 6vw; }
  .drake-photo-archive__heading { grid-template-columns:1fr; gap:1.5rem; margin-bottom:4rem; }
  .workshop-intro { grid-template-columns:1fr; gap:1.5rem; } .workshop-memory { padding:5rem 6vw; } .workshop-memory__heading { margin-bottom:4rem; }
  .year-gallery__header { grid-template-columns:1fr; gap:.5rem; }
  .photo-grid { display:flex; flex-direction:column; gap:1.25rem; }
  .photo-grid__item:nth-child(n) { width:100%; }
  .photo-grid__item img { width:100%; height:auto; max-height:82vh; object-fit:contain; }
  .gallery-trigger { height:auto; }
  .gallery-trigger__icon { width:32px; height:32px; right:.65rem; bottom:.65rem; }
  .gallery-trigger__icon svg { width:16px; height:16px; }
  .festival-photo-archive { padding:5rem 6vw; scroll-margin-top:68px; }
  .festival-photo-archive__heading { grid-template-columns:1fr; gap:1.5rem; }
  .festival-year-nav { margin-bottom:4rem; }
  .festival-year-nav a { flex:1 0 72px; }
  .festival-year-collection { padding:3.5rem 0 4.5rem; scroll-margin-top:68px; }
  .festival-year-collection__header { align-items:start; flex-direction:column; gap:.75rem; }
  .festival-posters { padding:5rem 6vw; } .festival-posters__heading { grid-template-columns:1fr; gap:1.5rem; } .poster-archive { grid-template-columns:1fr; gap:2.5rem; }
  .gallery-trigger__icon { opacity:1; transform:none; } .lightbox__stage { padding:4.75rem .75rem 6rem; } .lightbox__stage>img { max-height:calc(100dvh - 10.75rem); } .lightbox__nav { width:46px; height:58px; top:auto; bottom:1rem; transform:none; } .lightbox__nav--previous { left:1rem; } .lightbox__nav--next { right:1rem; } .lightbox__close { width:44px; height:44px; right:1rem; top:1rem; } .lightbox__zoom { left:1rem; top:1rem; } .lightbox__zoom span { display:none; } .lightbox__caption { position:absolute; left:4.5rem; right:4.5rem; bottom:1.4rem; display:grid; gap:.15rem; } .lightbox__touch-hint { position:absolute; left:50%; top:4.15rem; display:block; width:max-content; max-width:85vw; transform:translateX(-50%); color:#ffffffb8; font-size:.68rem; letter-spacing:.03em; }
  .map-card__caption { align-items:stretch; flex-direction:column; } .map-card__caption .button { width:100%; }
  .contact-mailbox { padding:5rem 6vw; grid-template-columns:1fr; gap:2.5rem; }
  .contact-mailbox__intro { grid-template-columns:1fr; }
  .trajectory-intro { padding:5rem 6vw; grid-template-columns:1fr; gap:2rem; }
  .trajectory-group-photo { padding:0 6vw 5rem; }
  .trajectory-group-photo img { min-height:280px; object-position:center; }
  .trajectory-group-photo figcaption { grid-template-columns:1fr; gap:.75rem; }
  .trajectory-chapters { padding:5rem 6vw; }
  .trajectory-chapters__heading { grid-template-columns:1fr; gap:1.5rem; margin-bottom:4rem; }
  .trajectory-chapters__list article { grid-template-columns:50px 1fr; gap:1rem; padding:2.8rem 0; }
  .trajectory-chapters__list article>span { font-size:1.55rem; }
  .trajectory-chapters__list article>div { gap:.8rem; }
  .trajectory-chapters__list h3 { font-size:1.8rem; }
  .memory-section { padding:5rem 6vw; }
  .memory-section__heading { grid-template-columns:1fr; gap:1.5rem; margin-bottom:3rem; }
  .memory-book__icon { display:none; }
  .memory-film__video,.memory-film__video iframe { min-height:230px; }
  .trajectory-channel { padding:2.2rem; grid-template-columns:1fr; gap:1.5rem; }
  .trajectory-channel>span { grid-column:auto; }
  .trajectory-recognition__copy { padding:5rem 6vw; grid-template-columns:1fr; gap:1.5rem; }
  .trajectory-recognition__copy>p { grid-column:auto; }
  .trajectory-recognition__photo { min-height:340px; }
  .recognitions-section { padding-top:5rem; }
  .recognitions-section__heading { margin-bottom:3rem; padding:0 6vw; grid-template-columns:1fr; gap:1.5rem; }
  .anniversary-story,.memorial-intro { padding:5rem 6vw; grid-template-columns:1fr; gap:2.5rem; }
  .anniversary-story__mark { min-height:300px; }
  .anniversary-legacy { padding:5rem 6vw; }
  .anniversary-legacy__grid { grid-template-columns:1fr; }
  .anniversary-memory-link { padding:5rem 6vw; grid-template-columns:1fr; gap:1.5rem; }
  .anniversary-memory-link .button { grid-column:auto; width:100%; }
  .sustainability-intro { padding:5rem 6vw; grid-template-columns:1fr; gap:2.5rem; }
  .sustainability-commitments { padding:5rem 6vw; }
  .sustainability-commitments>header,.sustainability-goals>header { grid-template-columns:1fr; gap:1.5rem; margin-bottom:3.5rem; }
  .sustainability-commitments__grid { grid-template-columns:1fr; }
  .sustainability-commitments__grid article { min-height:auto; padding:2.2rem; }
  .sustainability-goals { padding:5rem 6vw; }
  .sustainability-goals__grid article { grid-template-columns:82px 1fr; gap:1.2rem; padding:1.5rem 0; }
  .sustainability-goals__badge { width:74px; height:74px; padding:.65rem; }
  .sustainability-goals__badge>span { font-size:2rem; }
  .sustainability-goals__badge svg { width:21px; height:21px; }
  .sustainability-goals__grid h3 { font-size:1.5rem; }
  .sustainability-goals__grid article>div:last-child>span { margin-top:.5rem; }
  .sustainability-closing { padding:6rem 6vw; }
  .memorial-list { padding:0 6vw 5rem; }
  .memorial-list article { grid-template-columns:1fr; gap:1.2rem; padding:3rem 0; }
  .memorial-list__number { font-size:1.25rem; }
  .memorial-closing { padding:6rem 6vw; }
  .site-footer { padding:5rem 6vw 2rem; } .site-footer__grid { grid-template-columns:1fr; } .site-footer__bottom { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
.lightbox[hidden] { display:none!important; }
.lightbox__nav[hidden] { display:none!important; }
.lightbox.is-open { z-index:99999; position:fixed; inset:0; }
.lightbox__close,.lightbox__nav,.lightbox__zoom { font-family:Arial,Helvetica,sans-serif; }
.lightbox__close { font-size:2rem; line-height:1; }
.lightbox__nav { font-size:3rem; line-height:1; }
.lightbox__zoom strong { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.wp-page-content { min-height:55vh; }
.wp-page-content>h1 { margin:0 0 2rem; font:500 clamp(3rem,7vw,7rem)/.94 Georgia,serif; letter-spacing:-.045em; }
.admin-bar .mobile-menu-panel { top:108px; max-height:calc(100dvh - 108px); }
@media (max-width:782px) { .admin-bar .site-header { top:46px; } .admin-bar .mobile-menu-panel { top:114px; max-height:calc(100dvh - 114px); } }
