@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
:root{
  --paper:#fbf8f2;
  --cream:#f4ecdf;
  --cream-2:#eee1cf;
  --white:#fffdf9;
  --ink:#211914;
  --muted:#6f6258;
  --brown:#8f623d;
  --brown-2:#b28a61;
  --line:#d8c8b8;
  --line-2:#c8ad91;
  --dark:#2b211b;
  --shadow-soft:0 10px 28px rgba(71,49,30,.055);
  --shadow:0 18px 54px rgba(71,49,30,.09);
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
  --container:1200px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:48px;--s10:64px;--s11:80px;--s12:96px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter",sans-serif;overflow-x:hidden;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
.wrap{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.serif{font-family:"Cormorant Garamond",serif}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}
.eyebrow-on-dark{color:#e1bd91}
.page-eyebrow{margin-top:18px}
.muted{color:var(--muted)}
.block-space-lg{margin:24px 0 30px}

:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.article a:not(.btn):not(.card-link){color:#765033;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article a:not(.btn):not(.card-link):hover{color:var(--brown)}

/* Film motif */
.film-edge{position:fixed;inset-block:0;width:14px;z-index:8;pointer-events:none;opacity:.38;background:repeating-linear-gradient(to bottom,var(--brown-2) 0 8px,transparent 8px 25px)}
.film-edge.left{left:10px}.film-edge.right{right:10px}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,248,242,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(143,98,61,.14)}
.header-row{min-height:80px;display:grid;grid-template-columns:214px 1fr auto;gap:24px;align-items:center}
.brand{display:inline-flex;width:max-content;background:#fff;border:1px solid rgba(143,98,61,.14);border-radius:14px;padding:7px 10px;box-shadow:0 7px 22px rgba(68,44,25,.045)}
.brand img{width:190px;height:auto}
.nav{display:flex;align-items:center;justify-content:center;gap:18px;min-width:0}
.nav>a,.nav-item>button{border:0;background:none;padding:12px 0;color:#584b42;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .2s ease}
.nav a:hover,.nav-item>button:hover{color:var(--brown)}
.nav-item{position:relative}
.dropdown{position:absolute;top:44px;left:50%;transform:translateX(-50%) translateY(7px);min-width:270px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown a{display:block;padding:10px 11px;border-radius:10px;color:#55483f;font-size:13px;line-height:1.35}
.dropdown a:hover{background:var(--cream)}
.apply-top{display:inline-flex;align-items:center;gap:8px;padding:12px 17px;border-radius:999px;background:var(--dark);color:#fff;font-size:13px;font-weight:750;white-space:nowrap}
.dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#d5ad7d}
.burger{display:none;position:relative;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer;box-shadow:0 7px 18px rgba(67,47,32,.045);overflow:hidden}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;border-radius:3px;background:var(--dark);position:relative;transition:transform .28s ease,opacity .2s ease,top .28s ease,background .2s ease}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger.is-active span{background:transparent}.burger.is-active span::before{top:0;transform:rotate(45deg)}.burger.is-active span::after{top:0;transform:rotate(-45deg)}

/* Mobile navigation */
.mobile-menu{position:fixed;inset:0;z-index:120;opacity:0;visibility:hidden;pointer-events:none;background:rgba(29,22,17,.26);backdrop-filter:blur(3px);transition:opacity .28s ease,visibility .28s ease}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-menu-overlay{position:absolute;inset:0}
.mobile-menu-shell{position:absolute;top:0;right:0;width:min(430px,calc(100% - 20px));height:100%;padding:18px 18px 22px;overflow:auto;overflow-x:hidden;background:linear-gradient(180deg,#fffdf8 0%,#f7efe4 100%);border-radius:24px 0 0 24px;box-shadow:-16px 0 52px rgba(32,22,15,.16);transform:translateX(102%);transition:transform .34s cubic-bezier(.2,.7,.2,1)}
.mobile-menu.open .mobile-menu-shell{transform:translateX(0)}
.mobile-menu-shell::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(178,138,97,.14),transparent 29%),repeating-linear-gradient(90deg,rgba(143,98,61,.028) 0 1px,transparent 1px 64px);pointer-events:none}
.mobile-menu-top,.mobile-menu-status,.mobile-links{position:relative;z-index:1}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(143,98,61,.16)}
.mobile-menu-top img{width:174px}
.close-menu{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:23px;line-height:1;cursor:pointer;box-shadow:0 7px 18px rgba(67,47,32,.05)}
.mobile-menu-status{padding:14px 0 8px}
.menu-status{display:flex;align-items:center;gap:9px;padding:13px 15px;border-radius:15px;background:var(--dark);color:#fff;font-size:13px;font-weight:760}
.mobile-links{display:grid;padding:4px 0 10px}
.mobile-main-link,.mobile-accordion{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border:0;border-bottom:1px solid rgba(143,98,61,.16);border-radius:0;background:transparent;color:#2a201b;font-family:"Cormorant Garamond",serif;font-size:26px;line-height:1.08;text-align:left}
.mobile-main-link{display:block}
.mobile-accordion{cursor:pointer}
.mobile-accordion span{position:relative;width:18px;height:18px;flex:0 0 18px}
.mobile-accordion span::before,.mobile-accordion span::after{content:"";position:absolute;left:0;right:0;top:8px;height:1.5px;background:var(--brown);border-radius:2px;transition:transform .24s ease,opacity .24s ease}
.mobile-accordion span::after{transform:rotate(90deg)}
.mobile-group.is-open .mobile-accordion span::after{transform:rotate(0);opacity:0}
.mobile-panel{max-height:0;overflow:hidden;display:grid;gap:7px;padding:0 2px;transition:max-height .32s cubic-bezier(.2,.7,.2,1),padding .24s ease}
.mobile-group.is-open .mobile-panel{padding:10px 2px 6px}
.mobile-panel a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:11px 13px;border:1px solid rgba(143,98,61,.14);border-radius:12px;background:rgba(255,255,255,.76);color:#483b32;font-size:14px;font-weight:650}
.mobile-panel a::after{content:"→";margin-left:14px;color:var(--brown);font-size:13px}
.mobile-social-box{margin-top:14px;padding-top:16px;border-top:1px solid rgba(143,98,61,.18)}
.mobile-social-title{margin-bottom:12px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.mobile-socials{display:flex;flex-wrap:wrap;gap:8px}
.mobile-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:#32261f;font-size:12px;font-weight:700}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:8px;padding:12px 19px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:760;line-height:1.2;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
.btn.dark{background:var(--dark);color:#fff}.btn.light{background:#fff;border-color:var(--line-2);color:var(--dark)}.btn.brown{background:var(--brown);color:#fff}
@media(hover:hover){.btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(71,49,30,.08)}}

/* Home hero */
.hero{position:relative;padding:64px 0 52px;background:radial-gradient(circle at 82% 15%,rgba(178,138,97,.17),transparent 28%),linear-gradient(180deg,#fcfaf6,#f7f0e6)}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(143,98,61,.04) 0 1px,transparent 1px 76px);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{max-width:760px;margin:14px 0 20px;font-family:"Cormorant Garamond",serif;font-size:clamp(58px,6.2vw,96px);font-weight:500;line-height:.92;letter-spacing:-.052em;text-wrap:balance}
.hero p{max-width:680px;margin:0;font-size:18px;line-height:1.65;color:var(--muted)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.hero-photo{position:relative;padding:12px}
.hero-photo img{width:100%;aspect-ratio:1.34/1;object-fit:cover;object-position:center;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.hero-photo::before{content:"";position:absolute;inset:0;border:1px solid var(--line-2);border-radius:27px;transform:rotate(1.5deg)}
.photo-tag{position:absolute;left:27px;bottom:25px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,253,249,.94);backdrop-filter:blur(10px);font-size:12px;font-weight:750}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:30px;border:1px solid var(--line);border-radius:16px;background:var(--line);overflow:hidden}
.hero-meta>div{padding:15px;background:rgba(255,255,255,.76)}
.hero-meta strong{display:block;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:500}.hero-meta span{font-size:12px;line-height:1.4;color:var(--muted)}

/* Sections and reusable content */
.section{padding:var(--s11) 0}.section.alt{background:#f1e7da}.section.dark{background:var(--dark);color:#f9f3ea}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--s8);margin-bottom:var(--s7)}
.section-head>div{max-width:760px}.section-head h2{margin:8px 0 0;font-family:"Cormorant Garamond",serif;font-size:clamp(38px,4.3vw,60px);font-weight:500;line-height:1;letter-spacing:-.042em;text-wrap:balance}
.section-head p{max-width:540px;margin:0;color:var(--muted);line-height:1.65}.dark .section-head p{color:#cabbae}
.grid{display:grid;gap:18px}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}
.card{padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.82)}
.card h3{margin:10px 0 0;font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:500;line-height:1.12}.card p{margin:10px 0 0;color:var(--muted);line-height:1.65}
.card-link{display:inline-flex;margin-top:17px;color:var(--brown);font-size:14px;font-weight:760}

/* Status */
.status-box{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;padding:32px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fff,#f4e9dc);box-shadow:var(--shadow-soft)}
.status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line-2);border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.status-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#8b6b4f}
.status-box h2{margin:13px 0 10px;font-family:"Cormorant Garamond",serif;font-size:42px;font-weight:500;line-height:1.05;letter-spacing:-.03em;text-wrap:balance}
.status-box p{line-height:1.65}.status-side{padding-left:26px;border-left:1px solid var(--line)}
.status-side strong{display:block;margin-top:8px;font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500}.status-side p{margin-bottom:0;color:var(--muted)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);border-radius:18px;background:var(--line);overflow:hidden}
.stat{padding:26px;background:var(--white)}.stat strong{display:block;font-family:"Cormorant Garamond",serif;font-size:44px;font-weight:500;line-height:1;color:var(--brown)}.stat span{display:block;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.45}

/* Faces */
.faces-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}.faces-slider{min-width:0;display:flex;flex-direction:column;gap:12px}
.faces-stage{position:relative;min-height:430px;border:1px solid var(--line);border-radius:22px;background:#e7ddd1;box-shadow:var(--shadow);overflow:hidden;isolation:isolate}
.face-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.018);pointer-events:none;transition:opacity .42s ease,transform .68s cubic-bezier(.2,.7,.2,1)}
.face-slide.is-active{z-index:1;opacity:1;transform:scale(1);pointer-events:auto}
.face-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.face-slide:first-child img{object-position:center}
.face-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,20,15,.70) 0%,rgba(28,20,15,.07) 50%,transparent 72%)}
.face-slide figcaption{position:absolute;z-index:2;left:22px;right:86px;bottom:21px;color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.3)}
.face-slide figcaption span{display:block;font-family:"Cormorant Garamond",serif;font-size:28px;line-height:1.06}.face-slide figcaption small{display:block;margin-top:6px;color:#f1e6da;font-size:12px;letter-spacing:.03em}
.faces-arrow{position:absolute;z-index:4;top:50%;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,253,249,.9);backdrop-filter:blur(8px);color:var(--dark);font-size:18px;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.10);transform:translateY(-50%);transition:transform .18s ease,background .18s ease}
.faces-arrow.prev{left:14px}.faces-arrow.next{right:14px}.faces-counter{position:absolute;z-index:4;right:19px;bottom:20px;display:flex;align-items:center;gap:7px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em}.faces-counter i{width:17px;height:1px;background:rgba(255,255,255,.7)}
.faces-controls{display:flex;align-items:center;gap:12px;padding:0 2px}.faces-dots{display:flex;align-items:center;gap:7px;flex:0 0 auto}.faces-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#d8c7b7;cursor:pointer;transition:width .22s ease,background .22s ease}.faces-dots button.is-active{width:24px;background:var(--brown)}
.faces-progress{height:2px;flex:1;border-radius:999px;background:#e2d5c8;overflow:hidden}.faces-progress span{display:block;width:100%;height:100%;background:var(--brown);transform-origin:left;animation:faceProgress 1.3s linear infinite}.faces-slider.is-paused .faces-progress span{animation-play-state:paused}
.names-panel{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}.names-panel h3{margin:0 0 12px;font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:500;line-height:1.08}.names-panel p{line-height:1.62}
.name-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.name-cloud span{padding:8px 11px;border:1px solid #e2d3c3;border-radius:999px;background:var(--cream);font-size:12px;font-weight:650}

/* Program */
.program-grid{grid-template-columns:repeat(3,1fr)}.program-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.program-card h3{margin:0 0 13px;font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500;line-height:1.12}.film-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.film-list li{padding-top:9px;border-top:1px solid #eee3d8;font-size:14px;line-height:1.48}.film-list b{font-weight:700}.moreline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}

/* Media */
.media-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:16px}.media-card{position:relative;min-height:320px;border:1px solid var(--line);border-radius:18px;background:#ddd;overflow:hidden}.media-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(29,22,18,.82),rgba(29,22,18,.03) 64%)}.media-card .cap{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;color:#fff}.media-card h3{margin:5px 0 0;font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:500;line-height:1.08}.support-card{display:grid;align-content:center;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.support-card img{max-height:150px;margin:auto;object-fit:contain}.support-card p{margin:14px 0 0;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.media-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.media-mini{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.media-mini img{width:100%;aspect-ratio:1.8/1;object-fit:cover}.media-mini div{padding:15px}.media-mini strong{font-family:"Cormorant Garamond",serif;font-size:19px;font-weight:500;line-height:1.15}.media-mini span{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}
.press-feature-image{width:100%;max-width:760px;margin-top:14px;border:1px solid var(--line);border-radius:16px}.year-block-spaced{margin-top:22px}

/* Partner CTA */
.partner-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:32px;border:1px solid #5a493e;border-radius:20px;background:radial-gradient(circle at 85% 10%,rgba(197,151,99,.14),transparent 34%)}
.partner-cta h2{margin:0 0 8px;font-family:"Cormorant Garamond",serif;font-size:44px;font-weight:500;line-height:1.05;text-wrap:balance}.partner-cta p{max-width:760px;margin:0;color:#c9b8a9;line-height:1.65}.partner-cta .btn{background:#e0b782;color:#251b15}.partner-cta-light{background:#fff;border-color:var(--line);color:var(--ink)}.partner-cta-light p{color:var(--muted)}.partner-title-compact{font-size:38px!important}

/* News */
.news-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:18px}.news-lead{min-height:330px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}.news-lead h3{margin:10px 0;font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:500;line-height:1.05}.news-lead p{line-height:1.65}.news-list{display:grid;gap:12px}.news-item{padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff}.news-card-large{padding:24px}.news-item time{font-size:11px;color:var(--brown);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.news-item h3{margin:8px 0;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:500;line-height:1.12}.news-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.news-article-meta{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 24px}.news-article-meta span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#725f51;font-size:12px}.news-article-lead{margin:0 0 26px;font-family:"Cormorant Garamond",serif;font-size:clamp(23px,3vw,32px);line-height:1.36;color:#332820}.news-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}

/* Inner pages */
.page-hero{padding:50px 0 34px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f7eee3,#fbf8f2)}
.breadcrumbs{font-size:12px;line-height:1.5;color:#8d7d70}.breadcrumbs a:hover{color:var(--brown)}
.page-hero h1{max-width:940px;margin:11px 0 13px;font-family:"Cormorant Garamond",serif;font-size:clamp(46px,5.5vw,76px);font-weight:500;line-height:.96;letter-spacing:-.045em;text-wrap:balance}.page-hero p{max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:38px;padding:50px 0 76px}.article{min-width:0}.article h2{margin:36px 0 13px;font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.article h3{margin:28px 0 11px;font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:500;line-height:1.2}.article p,.article li{color:#51463e;line-height:1.72}.article p{margin:0 0 16px}.article ul{padding-left:20px}.article li+li{margin-top:4px}
.sidebox{position:sticky;top:98px;height:max-content;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.sidebox strong{display:block;margin-bottom:5px;font-family:"Cormorant Garamond",serif;font-size:21px;font-weight:500}.sidebox a{display:block;padding:10px 0;border-bottom:1px solid #eee3d8;color:#65574e;font-size:13px;line-height:1.4}.sidebox a:last-child{border:0}.sidebox a:hover{color:var(--brown)}
.pill-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.pill-tabs a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px}
.year-block{scroll-margin-top:100px;padding:23px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:16px}.year-block h2{margin-top:0}.article .year-block h3{margin:26px 0 8px;font-size:23px}.article .year-block h3:first-of-type{margin-top:17px}
.award{padding:11px 0;border-top:1px solid #eee3d8;line-height:1.55}.award:first-of-type{border-top:0}
.schedule-day{margin:26px 0;padding-left:17px;border-left:3px solid var(--brown)}.schedule-row{display:grid;grid-template-columns:84px 1fr;gap:16px;padding:10px 0;border-top:1px solid #eee3d8}.schedule-row:first-of-type{border-top:0}.schedule-row time{color:var(--brown);font-weight:800}

/* Application */
.closed-panel{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}.closed-panel .big{margin:8px 0;font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:500}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.timeline .t{padding:15px;border-radius:13px;background:var(--cream)}.timeline .t strong{display:block;font-size:14px}.timeline .t span{font-size:12px;color:var(--muted)}
.form-preview{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.field.full{grid-column:1/-1}.field textarea{min-height:110px;resize:vertical}.disabled-note{padding:15px;border-radius:12px;background:#f2e8db;color:#6a594d;font-size:13px}
.notice{margin:18px 0;padding:16px 18px;border:1px solid #d7bea5;border-radius:13px;background:#f4eadc;color:#4f3e31;line-height:1.55}.notice.closed{background:#eee4d8}
.questionnaire-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 28px}.question-card{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.question-card b{font-family:"Cormorant Garamond",serif;font-size:23px;color:#a06a40}.question-card span{line-height:1.5}.question-card.wide{grid-column:1/-1}

/* Archive / winners / factual content */
.archive-grid{grid-template-columns:repeat(4,1fr)}.year-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between;padding:21px;border:1px solid var(--line);border-radius:18px;background:#fff}.year-card .year{font-family:"Cormorant Garamond",serif;font-size:48px;color:var(--brown)}.year-card p{font-size:13px;line-height:1.5;color:var(--muted)}.year-card a{color:var(--brown);font-weight:750}
.archive-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.archive-year-card{min-height:245px;display:grid;grid-template-columns:44% 1fr;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 24px rgba(63,44,30,.03);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.archive-year-card>img,.archive-card-placeholder{width:100%;height:100%;min-height:245px;object-fit:cover}.archive-year-card>img{object-position:center}.archive-card-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#eee2d3,#f9f3ea);font-family:"Cormorant Garamond",serif;font-size:50px;color:#a37851}.archive-year-copy{display:flex;flex-direction:column;align-items:flex-start;padding:22px}.archive-year-copy h2{margin:6px 0 8px;font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:500}.archive-year-copy p{flex:1;margin:0;color:#6b5d53;font-size:14px;line-height:1.58}.archive-year-copy span{margin-top:11px;color:#996137;font-size:14px;font-weight:800}
.archive-year-photo{width:100%;aspect-ratio:16/8.3;object-fit:cover;object-position:center;border-radius:14px;margin:20px 0 5px}.year-page-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.info-callout{margin:0 0 26px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#f3eadf}.info-callout h2{margin:6px 0 9px}
.clean-list{display:grid;gap:8px;margin:13px 0 0;padding:0;list-style:none}.clean-list li{position:relative;padding-left:19px;color:#584c43;line-height:1.62}.clean-list li::before{content:"";position:absolute;left:1px;top:.72em;width:6px;height:6px;border-radius:50%;background:#b58558}
.year-jump{position:sticky;top:92px;z-index:8;display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px;padding:9px;border:1px solid var(--line);border-radius:14px;background:rgba(251,248,242,.94);backdrop-filter:blur(10px)}.year-jump a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#624d3e;font-size:13px;font-weight:750}
.winner-year{margin:0 0 14px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 22px rgba(63,44,30,.025)}.winner-year summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;list-style:none;cursor:pointer}.winner-year summary::-webkit-details-marker{display:none}.winner-year summary b{display:block;font-family:"Cormorant Garamond",serif;font-size:38px;color:var(--brown)}.winner-year summary small{font-size:13px;color:#7b6b60}.summary-plus{position:relative;width:32px;height:32px;flex:none;border:1px solid var(--line);border-radius:50%}.summary-plus::before,.summary-plus::after{content:"";position:absolute;left:9px;right:9px;top:15px;height:1.5px;background:#6f523e;transition:transform .2s ease}.summary-plus::after{transform:rotate(90deg)}.winner-year[open] .summary-plus::after{transform:rotate(0)}.winner-year-body{padding:0 22px 24px;border-top:1px solid rgba(143,98,61,.12)}.year-lead{margin:20px 0;font-size:16px;line-height:1.68;color:#5f5148}.award-group{padding:17px 0;border-top:1px solid rgba(143,98,61,.12)}.award-group:first-of-type{border-top:0}.award-group h3{margin:0 0 8px;font-family:"Cormorant Garamond",serif;font-size:24px;color:#291f19}
.name-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.name-chips span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:12px;font-weight:700}.jury-years{display:grid;gap:13px}.jury-year{scroll-margin-top:100px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.jury-year h2{margin:5px 0 11px}.lead{font-size:18px;line-height:1.68;color:#5f5148}
.media-archive-list{display:grid;gap:0;margin-top:13px;padding-left:0;list-style:none}.media-archive-list li{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.48}.media-archive-list li:last-child{border-bottom:0}.media-date{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.official-social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.official-social-grid a{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.official-social-grid b{font-size:16px}.official-social-grid span{font-size:13px;color:#796b61}

/* Contact */
.contact-grid{grid-template-columns:repeat(3,1fr)}.contact-card{padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff}.contact-card strong{display:block;margin-bottom:7px;font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500}.contact-card p{margin:0;color:var(--muted);line-height:1.65;overflow-wrap:anywhere}

/* Footer */
footer{padding:44px 0 34px;background:#211a16;color:#eee4da}.footer-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr 1fr;gap:30px;align-items:start}.footer-logo{display:inline-block;padding:9px;border-radius:12px;background:#fff}.footer-logo img{width:210px}.footer-text{max-width:350px;margin:16px 0 0;color:#cdbfb2;font-size:13px;line-height:1.78}.footer-col h4{margin:0 0 11px;color:#bfa78f;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.footer-col a,.footer-col p{display:block;margin:0;color:#cdbfb2;font-size:13px;line-height:1.75}.footer-col a:hover{color:#fff}.footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 13px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid rgba(221,183,134,.28);border-radius:999px;background:rgba(255,255,255,.035);color:#efe5dc;font-size:12px;font-weight:650}.copyright{margin-top:26px;padding-top:17px;border-top:1px solid #3a2e27;color:#918479;font-size:12px;line-height:1.5}

/* Motion */
.btn,.card,.program-card,.news-item,.media-card,.media-mini,.year-card,.contact-card,.stat,.names-panel,.archive-year-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease}
@media(hover:hover){
  .program-card:hover,.news-item:hover,.media-mini:hover,.year-card:hover,.contact-card:hover,.archive-year-card:hover{transform:translateY(-3px);box-shadow:0 13px 32px rgba(71,49,30,.075);border-color:#c9ad90}
  .media-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(71,49,30,.11)}
  .media-card img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.media-card:hover img{transform:scale(1.035)}
  .name-cloud span{transition:transform .2s ease,background .2s ease,border-color .2s ease}.name-cloud span:hover{transform:translateY(-1px);background:#eadbc8;border-color:#d1b492}
  .faces-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.04)}
}
.motion-ready .reveal{opacity:0;transform:translateY(14px);transition:opacity .56s ease,transform .56s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.in-view{opacity:1;transform:none}.motion-ready .reveal-delay-1{transition-delay:.05s}.motion-ready .reveal-delay-2{transition-delay:.10s}.motion-ready .reveal-delay-3{transition-delay:.15s}
.hero h1{animation:heroIn .72s cubic-bezier(.2,.7,.2,1) both}.hero .eyebrow{animation:heroIn .6s .05s cubic-bezier(.2,.7,.2,1) both}.hero p{animation:heroIn .68s .09s cubic-bezier(.2,.7,.2,1) both}.hero-actions{animation:heroIn .68s .13s cubic-bezier(.2,.7,.2,1) both}.hero-photo{animation:heroPhotoIn .8s .08s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes heroPhotoIn{from{opacity:0;transform:translateX(16px) scale(.99)}to{opacity:1;transform:none}}@keyframes faceProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.mobile-menu.open .mobile-menu-top{animation:menuItemIn .32s .06s both}.mobile-menu.open .mobile-menu-status{animation:menuItemIn .32s .10s both}.mobile-menu.open .mobile-links>*{animation:menuItemIn .34s both}.mobile-menu.open .mobile-links>*:nth-child(1){animation-delay:.12s}.mobile-menu.open .mobile-links>*:nth-child(2){animation-delay:.15s}.mobile-menu.open .mobile-links>*:nth-child(3){animation-delay:.18s}.mobile-menu.open .mobile-links>*:nth-child(4){animation-delay:.21s}.mobile-menu.open .mobile-links>*:nth-child(5){animation-delay:.24s}.mobile-menu.open .mobile-links>*:nth-child(6){animation-delay:.27s}.mobile-menu.open .mobile-links>*:nth-child(7){animation-delay:.30s}@keyframes menuItemIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}

/* Responsive */
@media(max-width:1180px){
  .wrap{width:min(var(--container),calc(100% - 40px))}.nav{gap:14px}.nav>a,.nav-item>button{font-size:13px}.apply-top{padding-inline:15px}
}
@media(max-width:1080px){
  .nav{display:none}.burger{display:flex}.header-row{grid-template-columns:214px 1fr auto auto;gap:12px}.apply-top{justify-self:end}
  .hero-grid,.faces-grid,.status-box,.news-grid{grid-template-columns:1fr}.hero-photo{max-width:760px}.hero h1{max-width:900px}
  .program-grid,.cards-3{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}
  .media-grid{grid-template-columns:1fr 1fr}.media-grid .support-card{grid-column:1/-1}.media-row{grid-template-columns:repeat(2,1fr)}
  .content-wrap{grid-template-columns:1fr}.sidebox{position:relative;top:auto}.archive-grid,.cards-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
}
@media(max-width:900px){
  .archive-photo-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.partner-cta{grid-template-columns:1fr}.partner-cta .btn{justify-self:start}
}
@media(max-width:760px){
  .wrap{width:calc(100% - 40px)}
  .film-edge{width:8px;opacity:.46;background:repeating-linear-gradient(to bottom,var(--brown-2) 0 6px,transparent 6px 17px)}.film-edge.left{left:4px}.film-edge.right{right:4px}
  .header-row{min-height:72px;grid-template-columns:1fr auto;gap:10px}.brand{padding:6px 9px;border-radius:12px}.brand img{width:158px}.apply-top{display:none}.burger{width:44px;height:44px;border-radius:12px}
  .mobile-menu-shell{width:calc(100% - 12px);padding:15px 16px 20px;border-radius:22px 0 0 22px}.mobile-menu-top img{width:160px}.mobile-main-link,.mobile-accordion{font-size:25px;padding:15px 3px}.mobile-socials{gap:7px}
  .hero{padding:36px 0 38px}.hero-grid{gap:24px}.hero h1{font-size:clamp(42px,12vw,52px);line-height:.94;margin:12px 0 16px}.hero p{font-size:16px;line-height:1.62}.hero-actions{flex-direction:column;align-items:flex-start;margin-top:22px}.hero-photo{padding:5px}.hero-photo img{border-radius:17px}.hero-photo::before{border-radius:21px}.photo-tag{left:18px;bottom:17px;max-width:calc(100% - 36px)}.hero-meta{grid-template-columns:1fr 1fr;margin-top:24px}.hero-meta>div:last-child{grid-column:1/-1}.hero-meta strong{font-size:20px}
  .section{padding:52px 0}.section-head{display:block;margin-bottom:24px}.section-head h2{font-size:clamp(34px,9vw,42px);line-height:1.02}.section-head p{margin-top:12px;font-size:15px}.cards-3,.cards-4,.program-grid,.archive-grid,.contact-grid,.timeline{grid-template-columns:1fr}.card{padding:20px}.card h3{font-size:23px}
  .status-box{gap:20px;padding:22px;border-radius:18px}.status-box h2{font-size:32px}.status-side{padding:19px 0 0;border-top:1px solid var(--line);border-left:0}.status-side strong{font-size:29px}
  .stats{grid-template-columns:repeat(2,1fr);border-radius:15px}.stat{padding:18px}.stat strong{font-size:34px}.stat span{font-size:12px}
  .faces-grid{gap:20px}.faces-stage{min-height:360px;border-radius:18px}.face-slide figcaption{left:17px;right:60px;bottom:17px}.face-slide figcaption span{font-size:24px}.faces-arrow{width:37px;height:37px}.faces-arrow.prev{left:11px}.faces-arrow.next{right:11px}.faces-counter{right:16px;bottom:16px}.names-panel{padding:20px;border-radius:18px}.names-panel h3{font-size:28px}.name-cloud{gap:7px}.name-cloud span{padding:7px 10px}
  .media-grid,.media-row{grid-template-columns:1fr}.media-card{min-height:285px}.media-grid .support-card{grid-column:auto}.media-mini div{padding:14px}
  .partner-cta{padding:22px;border-radius:17px}.partner-cta h2{font-size:34px}.partner-title-compact{font-size:32px!important}
  .news-lead{min-height:auto;padding:22px}.news-lead h3{font-size:31px}.news-item,.news-card-large{padding:18px}.news-item h3{font-size:21px}
  .page-hero{padding:34px 0 27px}.page-eyebrow{margin-top:14px}.page-hero h1{font-size:clamp(40px,11vw,48px);line-height:.98;margin:10px 0 12px}.page-hero p{font-size:16px;line-height:1.58}.content-wrap{gap:28px;padding:34px 0 56px}.article h2{font-size:30px;margin-top:30px}.article h3{font-size:22px}.article p,.article li{line-height:1.68}.sidebox{padding:16px;border-radius:14px}
  .year-block{padding:19px;border-radius:15px}.schedule-row{grid-template-columns:68px 1fr;gap:12px}.closed-panel{padding:22px}.closed-panel .big{font-size:34px}.form-preview{grid-template-columns:1fr}.field.full{grid-column:auto}.questionnaire-grid,.official-social-grid{grid-template-columns:1fr}.question-card.wide{grid-column:auto}
  .year-jump{top:80px;flex-wrap:nowrap;overflow-x:auto;padding:7px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.year-jump::-webkit-scrollbar{display:none}.year-jump a{flex:0 0 auto}.winner-year summary{padding:17px}.winner-year summary b{font-size:32px}.winner-year-body{padding:0 17px 20px}.year-lead{font-size:15px}.award-group h3{font-size:22px}.archive-year-card{grid-template-columns:1fr;min-height:0}.archive-year-card>img,.archive-card-placeholder{height:auto;min-height:0;aspect-ratio:16/8.7}.archive-year-copy{padding:19px}.archive-year-copy h2{font-size:36px}.archive-year-photo{border-radius:12px}.year-page-nav .btn{min-width:0}.jury-year{padding:18px}
  .footer-grid{grid-template-columns:1fr;gap:28px}.footer-logo img{width:190px}.footer-text{max-width:100%}.copyright{margin-top:22px}
}
@media(max-width:420px){
  .wrap{width:calc(100% - 36px)}.film-edge{opacity:.42}.brand img{width:150px}.mobile-main-link,.mobile-accordion{font-size:23px}.hero-meta{grid-template-columns:1fr}.hero-meta>div:last-child{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.stat{padding:16px}.stat strong{font-size:31px}.faces-stage{min-height:330px}.page-hero h1{font-size:39px}.section-head h2{font-size:35px}.partner-cta h2{font-size:31px}.news-lead h3{font-size:29px}.schedule-row{grid-template-columns:60px 1fr}.btn{padding-inline:17px}.footer-socials{gap:7px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.motion-ready .reveal{opacity:1!important;transform:none!important}.faces-progress{display:none}
}

/* v9 refinements */
.nav-item{position:relative;display:flex;align-items:center}
.dropdown{top:100%;margin-top:-2px}
.nav-item::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:14px}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{transform:translateX(-50%) translateY(0)}

/* Brand-led home hero: no photo, logo used as a quiet visual motif */
.hero-brand{overflow:hidden;padding:72px 0 58px;background:linear-gradient(180deg,#fcfaf6 0%,#f5ecdf 100%)}
.hero-brand::before{background:repeating-linear-gradient(90deg,rgba(143,98,61,.032) 0 1px,transparent 1px 78px)}
.hero-grid-brand{grid-template-columns:minmax(0,1.05fr) minmax(390px,.72fr);gap:70px;align-items:center}
.hero-copy-block{position:relative;z-index:2}
.hero-emblem{position:relative;min-height:520px;display:grid;place-items:center;border:1px solid rgba(143,98,61,.22);border-radius:50%;background:rgba(255,253,249,.42);isolation:isolate}
.hero-emblem::before,.hero-emblem::after{content:"";position:absolute;border:1px solid rgba(143,98,61,.13);border-radius:50%;inset:34px}
.hero-emblem::after{inset:72px;border-style:dashed}
.hero-emblem-ring{position:absolute;inset:-38px;border:1px solid rgba(178,138,97,.16);border-radius:50%}
.hero-logo-art{position:absolute;z-index:-1;width:760px;max-width:none;left:50%;top:51%;transform:translate(-30%,-49%);opacity:.075;filter:saturate(.75);pointer-events:none}
.hero-emblem-copy{position:relative;z-index:2;display:flex;align-items:flex-end;gap:14px;color:var(--brown)}
.hero-emblem-copy span{font-family:"Cormorant Garamond",serif;font-size:122px;line-height:.76;letter-spacing:-.08em}
.hero-emblem-copy small{padding-bottom:9px;font-size:12px;line-height:1.4;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.hero-emblem-line{position:absolute;left:17%;right:17%;bottom:96px;height:1px;background:rgba(143,98,61,.25)}
.hero-emblem-note{position:absolute;bottom:60px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#887363}

.page-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:15px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.78);color:#66554a;font-size:12px;font-weight:750;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.page-back:hover{background:#fff;border-color:var(--line-2);transform:translateX(-2px)}
.back-wrap{padding-top:18px}

.submission-methods{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 38px}
.submission-method{position:relative;min-height:250px;display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}
.submission-method.featured{background:linear-gradient(150deg,#fff 0%,#f4eadc 100%);border-color:var(--line-2)}
.submission-method h3{margin:42px 0 9px;font-size:28px}
.submission-method p{margin-bottom:22px!important}
.submission-method .btn,.submission-method .method-disabled{margin-top:auto}
.method-number{position:absolute;top:20px;right:22px;font-family:"Cormorant Garamond",serif;font-size:22px;color:#b49a81}
.method-disabled{display:inline-flex;padding:9px 12px;border-radius:999px;background:#eee6dd;color:#86786c;font-size:12px;font-weight:750}
.notice.open{border-color:#b7c7ae;background:#f2f6ee}
.electronic-form-wrap{scroll-margin-top:105px;margin-top:38px;padding-top:12px;border-top:1px solid var(--line)}
.form-intro{display:grid;grid-template-columns:1fr .8fr;gap:28px;align-items:end;margin-bottom:24px}.form-intro h2{margin:8px 0 0}.form-intro p{margin:0!important}
.festival-form{display:grid;gap:18px}.festival-form fieldset{margin:0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.festival-form legend{padding:0 9px;font-family:"Cormorant Garamond",serif;font-size:25px;color:#332820}.festival-form legend span{margin-right:8px;color:var(--brown);font-family:Inter,sans-serif;font-size:11px;font-weight:850;letter-spacing:.12em}
.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.festival-form label{display:grid;gap:7px;color:#55483f;font-size:13px;font-weight:720}.festival-form label small{font-weight:500;color:var(--muted)}.festival-form input,.festival-form select,.festival-form textarea{width:100%;padding:12px 13px;border:1px solid #d7c8b9;border-radius:11px;background:#fffdf9;color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.festival-form input:focus,.festival-form select:focus,.festival-form textarea:focus{border-color:#a77951;box-shadow:0 0 0 3px rgba(143,98,61,.10)}.festival-form input[type=file]{padding:9px;background:#f8f1e8}.char-count{justify-self:end;color:var(--muted);font-size:11px;font-weight:600}.consent-list{display:grid;gap:11px}.festival-form label.check{grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:13px;border:1px solid #eadfd4;border-radius:12px;background:#fdf9f4;font-weight:600;line-height:1.5}.festival-form label.check input{width:18px;height:18px;margin-top:2px}.form-submit{display:flex;align-items:center;gap:18px;padding:4px 2px}.form-submit p{margin:0!important;color:var(--muted);font-size:12px;line-height:1.5}.form-message{min-height:20px;color:var(--brown);font-weight:700}

.faces-dots{max-width:245px;overflow:auto;padding-bottom:2px;scrollbar-width:none}.faces-dots::-webkit-scrollbar{display:none}.faces-dots button{flex:0 0 auto}

@media(max-width:1080px){.hero-grid-brand{grid-template-columns:1fr}.hero-emblem{max-width:620px;width:100%;min-height:430px;margin:4px auto 0}.hero-logo-art{width:700px}.hero-emblem-copy span{font-size:104px}}
@media(max-width:760px){.hero-brand{padding:42px 0 36px}.hero-grid-brand{gap:34px}.hero-emblem{min-height:330px;border-radius:42px}.hero-emblem::before{inset:22px;border-radius:32px}.hero-emblem::after{inset:48px;border-radius:28px}.hero-emblem-ring{display:none}.hero-logo-art{width:620px;transform:translate(-30%,-50%);opacity:.065}.hero-emblem-copy span{font-size:82px}.hero-emblem-copy small{font-size:10px}.hero-emblem-line{left:12%;right:12%;bottom:72px}.hero-emblem-note{bottom:43px}.submission-methods,.form-intro,.form-grid.two{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.submission-method{min-height:auto}.festival-form fieldset{padding:18px}.form-submit{align-items:flex-start;flex-direction:column}.page-back{margin-bottom:11px}.faces-dots{max-width:175px}}


/* v10 visual corrections */
/* Keep a consistent breathing zone below the sticky header while scrolling. */
.site-header{box-shadow:none}
html{scroll-padding-top:112px}
[id]{scroll-margin-top:112px}

/* Internal page vertical rhythm */
.page-hero{padding-top:56px;padding-bottom:38px}
.content-wrap{padding-top:56px;padding-bottom:72px}
.article> :first-child{margin-top:0}
.article> :last-child{margin-bottom:0}

/* Year navigation is a control, never an underlined text link. */
.article .year-jump a,.year-jump a{color:#624d3e;text-decoration:none!important;text-decoration-line:none!important;text-underline-offset:0!important}
.article .year-jump a:hover,.year-jump a:hover{color:var(--brown);text-decoration:none!important;background:#f7efe5;border-color:#c8ad91}

/* Home hero: restrained brand mark, no circles. */
.hero-brand{padding:76px 0 64px;background:linear-gradient(180deg,#fcfaf6 0%,#f5ecdf 100%)}
.hero-grid-brand{grid-template-columns:minmax(0,1.06fr) minmax(390px,.78fr);gap:72px;align-items:center}
.hero-mark{position:relative;min-height:500px;overflow:hidden;padding:34px 36px 32px;border-left:1px solid rgba(143,98,61,.22);display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.hero-mark::before{content:"";position:absolute;left:0;right:0;top:84px;height:1px;background:rgba(143,98,61,.16)}
.hero-mark-watermark{position:absolute;inset:0;overflow:hidden;z-index:-1}
.hero-mark-watermark img{position:absolute;width:900px;max-width:none;left:-245px;top:36px;opacity:.055;filter:saturate(.75) contrast(.9)}
.hero-mark-top{position:absolute;left:36px;right:36px;top:29px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;color:#816b5a}
.hero-mark-kicker{max-width:260px;font-size:10px;font-weight:800;line-height:1.45;letter-spacing:.14em;text-transform:uppercase}
.hero-mark-year{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--brown)}
.hero-mark-xii{margin-bottom:auto;padding-top:86px;font-family:"Cormorant Garamond",serif;font-size:clamp(150px,13vw,210px);font-weight:500;line-height:.72;letter-spacing:-.095em;color:rgba(143,98,61,.22)}
.hero-mark-rule{height:1px;margin:28px 0 22px;background:rgba(143,98,61,.25)}
.hero-mark-dates{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.hero-mark-dates div{display:grid;gap:5px}
.hero-mark-dates strong{font-family:"Cormorant Garamond",serif;font-size:21px;font-weight:500;color:#47372d}
.hero-mark-dates span{font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#8b7666}

/* Faces block: two balanced columns with no dead area on the right. */
.faces-grid{grid-template-columns:minmax(0,1.14fr) minmax(330px,.86fr);gap:30px;align-items:stretch}
.faces-slider,.names-panel{min-width:0}
.names-panel{height:100%;display:flex;flex-direction:column;justify-content:center;padding:28px}
.names-panel .card-link{margin-top:18px}
.faces-stage{height:100%;min-height:500px}

@media(max-width:1080px){
  .hero-grid-brand{grid-template-columns:1fr;gap:38px}
  .hero-mark{max-width:760px;width:100%;min-height:360px;margin:0 auto;padding:28px 30px 28px}
  .hero-mark-top{left:30px;right:30px;top:24px}
  .hero-mark-watermark img{width:760px;left:-180px;top:28px}
  .hero-mark-xii{padding-top:72px;font-size:140px}
  .faces-grid{grid-template-columns:1fr}.faces-stage{min-height:470px}.names-panel{justify-content:flex-start;height:auto}
}
@media(max-width:760px){
  .site-header{box-shadow:none}
  html{scroll-padding-top:92px}[id]{scroll-margin-top:92px}
  .page-hero{padding-top:42px;padding-bottom:30px}
  .content-wrap{padding-top:40px;padding-bottom:60px}
  .hero-brand{padding:48px 0 42px}.hero-grid-brand{gap:30px}
  .hero-mark{min-height:300px;padding:24px 22px 24px;border-left:0;border-top:1px solid rgba(143,98,61,.2);border-bottom:1px solid rgba(143,98,61,.14)}
  .hero-mark::before{top:68px}
  .hero-mark-top{left:22px;right:22px;top:20px}.hero-mark-kicker{max-width:210px;font-size:9px}.hero-mark-year{font-size:19px}
  .hero-mark-watermark img{width:640px;left:-220px;top:28px;opacity:.05}
  .hero-mark-xii{padding-top:62px;font-size:104px;margin-bottom:auto}
  .hero-mark-rule{margin:18px 0 16px}.hero-mark-dates{gap:18px}.hero-mark-dates strong{font-size:17px}.hero-mark-dates span{font-size:10px}
  .faces-stage{min-height:360px}.names-panel{padding:20px}
}

/* v11 refinements */
/* Easier desktop dropdown hover with a safe bridge under the trigger. */
.nav-item{padding-bottom:14px;margin-bottom:-14px}
.nav-item::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:18px}
.dropdown{top:100%;margin-top:0;min-width:292px}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{transform:translateX(-50%) translateY(0)}

/* Film-strip side rails: subtle motion readiness for scroll animation. */
.film-edge{will-change:transform,opacity;transition:transform .18s linear,opacity .18s ease;background:repeating-linear-gradient(to bottom,rgba(178,138,97,.82) 0 8px,transparent 8px 24px)}
.film-edge::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,.18) 100%);mix-blend-mode:screen;opacity:.55}

/* Home page faces slider now uses real festival images rather than generic portraits. */
.face-slide img{object-position:center center}
.faces-stage{background:#ded1c4}
.faces-section .section-head p{max-width:720px}

/* Hero preview page helpers (shared styles if preview file lives inside the site folder). */
.hero-preview-page{background:linear-gradient(180deg,#fbf8f2 0%,#f4ecdf 100%)}
.hero-preview-board{padding:42px 0 70px}
.hero-preview-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 22px}
.hero-preview-intro h1{margin:10px 0 0;font-size:clamp(38px,4.2vw,64px);line-height:.94;letter-spacing:-.04em}
.hero-preview-intro p{max-width:540px;margin:0}
.hero-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.preview-hero-card{position:relative;overflow:hidden;min-height:700px;border:1px solid rgba(143,98,61,.18);border-radius:30px;background:rgba(255,253,249,.85);box-shadow:0 20px 54px rgba(71,49,30,.08)}
.preview-hero-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(143,98,61,.028) 0 1px,transparent 1px 72px);pointer-events:none}
.preview-hero-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid rgba(143,98,61,.12);background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}
.preview-hero-top img{width:138px}
.preview-hero-nav{display:flex;gap:18px;color:#5a4c42;font-size:13px;font-weight:700}
.preview-hero-status{padding:11px 16px;border-radius:999px;background:var(--dark);color:#fff;font-size:12px;font-weight:760}
.preview-hero-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(260px,.82fr);gap:26px;padding:34px 28px 28px;min-height:calc(100% - 82px)}
.preview-copy{display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.preview-copy h2{margin:10px 0 0;font-family:"Cormorant Garamond",serif;font-size:clamp(46px,4.2vw,74px);font-weight:500;line-height:.9;letter-spacing:-.05em}
.preview-copy p{margin:0;font-size:17px;line-height:1.62;color:var(--muted)}
.preview-actions{display:flex;gap:10px;flex-wrap:wrap}
.preview-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}
.preview-dates{display:grid;grid-template-columns:1fr 1px 1fr;align-items:end;gap:18px;margin-top:10px}
.preview-dates i{width:1px;height:58px;background:rgba(143,98,61,.22)}
.preview-dates strong{display:block;font-family:"Cormorant Garamond",serif;font-size:19px;font-weight:500;color:#3f3129}
.preview-dates span{display:block;margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#867263}
.preview-side{position:relative;min-height:100%;display:flex;flex-direction:column;gap:16px}
.preview-tag{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#846b5a}
.preview-film-col::before,.preview-film-col::after,.preview-split-card::before,.preview-split-card::after,.preview-poster-card::before,.preview-poster-card::after{content:"";position:absolute;top:20px;bottom:20px;width:14px;background:repeating-linear-gradient(to bottom,rgba(178,138,97,.48) 0 8px,transparent 8px 23px);opacity:.9}
.preview-film-col::before,.preview-split-card::before,.preview-poster-card::before{left:12px}
.preview-film-col::after,.preview-split-card::after,.preview-poster-card::after{right:12px}

/* Variant 1 */
.preview-manifest .preview-side{justify-content:flex-end;padding:28px 24px;border-left:1px solid rgba(143,98,61,.18)}
.preview-watermark{position:absolute;right:-28px;top:24px;font-family:"Cormorant Garamond",serif;font-size:220px;line-height:.8;color:rgba(143,98,61,.12)}
.preview-ornament{position:absolute;right:-20px;bottom:-8px;width:360px;opacity:.14}
.preview-side-note{display:grid;gap:6px;padding-top:18px;border-top:1px solid rgba(143,98,61,.18)}
.preview-side-note strong{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;color:#5a4638}
.preview-side-note span{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8b7666}

/* Variant 2 */
.preview-film-col .preview-hero-body{grid-template-columns:minmax(0,.98fr) minmax(280px,.88fr)}
.preview-film-col .preview-side{justify-content:space-between;padding-left:8px}
.preview-photo-stack{display:grid;grid-template-rows:1.1fr .9fr;gap:14px;min-height:520px}
.preview-photo-card,.preview-photo-small{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(143,98,61,.16);box-shadow:0 12px 28px rgba(71,49,30,.08)}
.preview-photo-card img,.preview-photo-small img{width:100%;height:100%;object-fit:cover}
.preview-photo-card::after,.preview-photo-small::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,20,15,.48) 0%,rgba(28,20,15,0) 55%)}
.preview-photo-caption{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.preview-side-quote{margin-top:auto;padding:18px;border:1px solid rgba(143,98,61,.14);border-radius:18px;background:rgba(255,255,255,.72);color:#6a594e;font-size:14px;line-height:1.6}

/* Variant 3 */
.preview-split-card .preview-hero-body{grid-template-columns:.94fr 1.06fr}
.preview-split-card .preview-copy{padding-right:4px}
.preview-split-media{display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;gap:14px}
.preview-panorama{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(143,98,61,.16);min-height:360px}
.preview-panorama img{width:100%;height:100%;object-fit:cover}
.preview-panorama::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(25,18,13,.54) 0%,transparent 55%)}
.preview-panorama .preview-photo-caption{font-size:12px}
.preview-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.preview-mini-grid .preview-photo-small{min-height:130px}

/* Variant 4 */
.preview-poster-card .preview-hero-body{display:block;padding:38px 32px 28px}
.preview-poster-card .preview-copy{text-align:center;align-items:center;gap:18px}
.preview-poster-card .preview-copy p{max-width:640px}
.preview-poster-mark{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);pointer-events:none;font-family:"Cormorant Garamond",serif;font-size:260px;line-height:.8;color:rgba(143,98,61,.10)}
.preview-bottom-band{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end;margin-top:42px;padding-top:30px;border-top:1px solid rgba(143,98,61,.2)}
.preview-bottom-band strong{display:block;font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500}
.preview-bottom-band span{display:block;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#8b7666}
.preview-quote-line{display:flex;align-items:center;gap:16px;color:#8a725f;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.preview-quote-line::before,.preview-quote-line::after{content:"";flex:1;height:1px;background:rgba(143,98,61,.2)}

@media(max-width:1080px){
  .hero-preview-grid{grid-template-columns:1fr}
  .preview-hero-card{min-height:unset}
  .preview-hero-body,.preview-film-col .preview-hero-body,.preview-split-card .preview-hero-body{grid-template-columns:1fr}
  .preview-manifest .preview-side{border-left:0;border-top:1px solid rgba(143,98,61,.18);padding:20px 0 0}
}
@media(max-width:760px){
  .hero-preview-board{padding:28px 0 44px}
  .hero-preview-intro{display:grid;gap:10px}
  .preview-hero-card{border-radius:24px}
  .preview-hero-top{padding:16px 18px;display:grid;grid-template-columns:1fr auto;align-items:center}
  .preview-hero-nav{display:none}
  .preview-hero-top img{width:122px}
  .preview-hero-body,.preview-poster-card .preview-hero-body{padding:24px 18px 20px}
  .preview-copy h2{font-size:42px}
  .preview-dates{grid-template-columns:1fr;gap:14px}.preview-dates i{display:none}
  .preview-film-col::before,.preview-film-col::after,.preview-split-card::before,.preview-split-card::after,.preview-poster-card::before,.preview-poster-card::after{width:10px;top:14px;bottom:14px}
  .preview-photo-stack{min-height:unset}
  .preview-bottom-band{grid-template-columns:1fr;gap:12px;text-align:left}
  .preview-poster-mark{font-size:164px}
}


/* v12 — approved final home hero */
.brand{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.brand img{width:194px}

/* Scroll-driven film motion: perforations move with the page, like film running through a projector. */
.film-edge{
  top:-32px;bottom:-32px;height:auto;
  opacity:.42;
  background:repeating-linear-gradient(to bottom,rgba(178,138,97,.72) 0 8px,transparent 8px 24px);
  background-position-y:0;
  transform:none!important;
  transition:opacity .2s ease;
}
.film-edge::before{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(143,98,61,.12)}
.film-edge.left::before{right:-5px}.film-edge.right::before{left:-5px}
.film-edge::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 5%,rgba(255,255,255,.38) 44%,transparent 72%);opacity:.45;animation:filmEdgeGlow 8s ease-in-out infinite}
@keyframes filmEdgeGlow{0%,100%{transform:translateY(-28%);opacity:.20}50%{transform:translateY(28%);opacity:.52}}

.home-hero-final{
  position:relative;overflow:hidden;min-height:calc(100svh - 80px);display:flex;align-items:center;
  background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.92) 0 16%,rgba(255,255,255,0) 50%),linear-gradient(180deg,#fbf8f2 0%,#f6eee3 100%);
}
.home-hero-final::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(143,98,61,.032) 0 1px,transparent 1px 82px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
.home-hero-final::after{content:"";position:absolute;left:50%;top:47%;width:min(980px,86vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(183,143,104,.105) 0%,rgba(183,143,104,.035) 42%,rgba(183,143,104,0) 69%)}
.home-hero-final-inner{position:relative;z-index:2;width:100%;padding:76px 0 68px;text-align:center}
.home-hero-watermark{position:absolute;z-index:-1;left:50%;top:46%;width:min(930px,84vw);max-width:none;transform:translate(-50%,-50%);opacity:.03;filter:saturate(.55) sepia(.18);pointer-events:none}
.home-hero-kicker{font-size:12px;font-weight:850;letter-spacing:.20em;text-transform:uppercase;color:var(--brown)}
.home-hero-final h1{max-width:980px;margin:18px auto 20px;font-family:"Cormorant Garamond",serif;font-size:clamp(60px,6.7vw,102px);font-weight:500;line-height:.91;letter-spacing:-.052em;text-wrap:balance}
.home-hero-lead{max-width:690px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.65}
.home-hero-actions{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:28px}
.home-hero-dates-wrap{width:min(760px,100%);margin:48px auto 0;padding-top:30px;border-top:1px solid rgba(141,97,62,.24)}
.home-hero-dates{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:start;gap:36px}
.home-hero-date{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;text-align:center}
.home-hero-date strong{display:block;font-family:"Cormorant Garamond",serif;font-size:clamp(27px,2.6vw,36px);font-weight:500;line-height:1.02;letter-spacing:-.025em;white-space:nowrap}
.home-hero-date span{display:block;margin-top:9px;font-size:12px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:#8c7868}
.home-hero-dates-divider{width:1px;height:58px;background:rgba(141,97,62,.22);justify-self:center}
.home-hero-motto{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:34px;font-size:11px;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:#8a7565}
.home-hero-motto::before,.home-hero-motto::after{content:"";width:96px;height:1px;background:rgba(141,97,62,.22)}

@media(max-width:980px){.home-hero-final{min-height:calc(100svh - 80px)}.home-hero-final-inner{padding:62px 0 56px}}
@media(max-width:640px){
  .brand img{width:152px}
  .home-hero-final{min-height:calc(100svh - 74px);align-items:flex-start}
  .home-hero-final-inner{padding:48px 0 42px}
  .home-hero-watermark{width:760px;top:43%;opacity:.025}
  .home-hero-kicker{font-size:10px;letter-spacing:.17em}
  .home-hero-final h1{margin-top:14px;font-size:46px;line-height:.94;letter-spacing:-.045em}
  .home-hero-lead{font-size:15.5px;line-height:1.58;max-width:360px}
  .home-hero-actions{display:grid;width:min(330px,100%);margin:24px auto 0}
  .home-hero-actions .btn{width:100%}
  .home-hero-dates-wrap{width:min(330px,100%);margin-top:34px;padding-top:24px}
  .home-hero-dates{grid-template-columns:1fr;gap:22px;justify-items:center;text-align:center}
  .home-hero-dates-divider{width:70px;height:1px}
  .home-hero-date{width:100%;align-items:center;text-align:center}
  .home-hero-date strong{font-size:29px;white-space:normal;text-align:center}
  .home-hero-date span{margin-top:7px;font-size:11px;letter-spacing:.17em;text-align:center}
  .home-hero-motto{margin-top:27px;gap:12px;font-size:9px;letter-spacing:.13em;text-align:center}
  .home-hero-motto::before,.home-hero-motto::after{width:34px}
  .film-edge{width:9px;opacity:.44;background:repeating-linear-gradient(to bottom,rgba(183,143,104,.68) 0 6px,transparent 6px 18px)}
  .film-edge.left{left:5px}.film-edge.right{right:5px}
}
@media(prefers-reduced-motion:reduce){.film-edge::after{animation:none}}

/* v13 — global spacing pass + subtle film atmosphere */
:root{
  --page-top-space:56px;
  --page-bottom-space:80px;
  --panel-pad:24px;
  --panel-pad-lg:28px;
  --panel-gap:16px;
}

/* Internal pages use one vertical rhythm and one panel inset system. */
.page-hero{padding:var(--page-top-space) 0 40px}
.content-wrap{gap:40px;padding:var(--page-top-space) 0 var(--page-bottom-space)}
.article{min-width:0}
.article>h2{margin:40px 0 14px}
.article>h3{margin:30px 0 12px}
.article>p{margin:0 0 16px}
.article>.clean-list{margin:14px 0 0}
.article>.notice{margin:24px 0}
.article>.info-callout{margin:0 0 32px}
.article>.info-callout:last-child{margin-bottom:0}

/* All boxed content gets balanced internal spacing. */
.info-callout,.year-block,.jury-year,.contact-card,.question-card,.notice,.submission-method,.official-social-grid>a,.card,.news-item,.news-lead,.year-card,.sidebox{
  --box-pad:var(--panel-pad);
}
.info-callout{padding:var(--box-pad)}
.info-callout>.eyebrow{margin:0 0 8px}
.info-callout>h2{margin:0 0 12px}
.info-callout>p{margin:0}
.info-callout>*:last-child{margin-bottom:0}

.notice{padding:18px 20px}
.notice>*:first-child{margin-top:0}
.notice>*:last-child{margin-bottom:0}

.year-block,.jury-year{padding:var(--panel-pad)}
.year-block>*:first-child,.jury-year>*:first-child{margin-top:0}
.year-block>*:last-child,.jury-year>*:last-child{margin-bottom:0}

.card>*:first-child,.program-card>*:first-child,.news-item>*:first-child,.news-lead>*:first-child,.contact-card>*:first-child,.question-card>*:first-child,.submission-method>*:first-child,.support-card>*:first-child,.status-box>div>*:first-child,.names-panel>*:first-child{margin-top:0}
.card>*:last-child,.program-card>*:last-child,.news-item>*:last-child,.news-lead>*:last-child,.contact-card>*:last-child,.question-card>*:last-child,.submission-method>*:last-child,.support-card>*:last-child,.status-box>div>*:last-child,.names-panel>*:last-child{margin-bottom:0}

/* Lists keep the same distance from headings on every information page. */
.clean-list{gap:9px;margin-top:14px;margin-bottom:0}
.clean-list+ h2{margin-top:40px}
.article ul:not(.clean-list){margin-top:12px;margin-bottom:0}
.article ul:not(.clean-list)+h2{margin-top:40px}

/* Right-side information boxes visually align with the article panels. */
.sidebox{padding:var(--panel-pad);border-radius:18px}
.sidebox strong{margin:0 0 8px}
.sidebox a{padding:11px 0}
.sidebox a:last-child{padding-bottom:0}

/* Consistent bottom breathing space before the footer. */
main>.wrap:last-child,.content-wrap:last-child{margin-bottom:0}

/* Subtle scroll-driven film atmosphere over the paper background. */
.film-atmosphere{position:fixed;inset:0;z-index:7;pointer-events:none;overflow:hidden;opacity:1}
.film-atmosphere::before{content:"";position:absolute;inset:-12%;background:
  radial-gradient(circle at 18% 24%,rgba(98,66,44,.12) 0 1px,transparent 1.4px),
  radial-gradient(circle at 73% 62%,rgba(98,66,44,.09) 0 1px,transparent 1.3px),
  radial-gradient(circle at 42% 82%,rgba(98,66,44,.08) 0 1px,transparent 1.2px),
  repeating-linear-gradient(90deg,transparent 0 13%,rgba(105,72,48,.025) 13.08%,transparent 13.16% 34%);
  background-size:170px 150px,230px 210px,290px 260px,100% 100%;
  transform:translate3d(var(--film-grain-x,0px),var(--film-grain-y,0px),0);
  opacity:.17;mix-blend-mode:multiply;will-change:transform}
.film-atmosphere::after{content:"";position:absolute;inset:-20% -35%;background:
  radial-gradient(ellipse at 50% 44%,rgba(207,167,117,.10) 0 9%,rgba(207,167,117,.035) 23%,transparent 46%),
  linear-gradient(90deg,transparent 0 47%,rgba(255,255,255,.12) 50%,transparent 53%);
  transform:translate3d(var(--film-light-x,-10%),var(--film-light-y,0px),0) rotate(-2deg);
  opacity:.16;mix-blend-mode:soft-light;will-change:transform}

/* Film rails themselves move continuously without shifting the whole element. */
.film-edge{transform:none!important;background-position:center var(--film-edge-y,0px);will-change:background-position,opacity}
.film-edge.left{--film-edge-offset:0px}.film-edge.right{--film-edge-offset:12px}

@media(max-width:760px){
  :root{--page-top-space:40px;--page-bottom-space:60px;--panel-pad:18px}
  .page-hero{padding:40px 0 30px}
  .content-wrap{gap:28px;padding:40px 0 60px}
  .article>h2{margin-top:34px}
  .article>h3{margin-top:26px}
  .article>.info-callout{margin-bottom:26px}
  .clean-list+h2,.article ul:not(.clean-list)+h2{margin-top:34px}
  .sidebox{padding:18px}
  .film-atmosphere::before{opacity:.12}
  .film-atmosphere::after{opacity:.10}
}

@media(prefers-reduced-motion:reduce){
  .film-atmosphere::before,.film-atmosphere::after{transform:none!important}
}

/* Final box-rhythm cleanup for archive, winners and form pages. */
.closed-panel>*:first-child,.winner-year-body>*:first-child,.award-group>*:first-child,.archive-year-copy>*:first-child,.timeline .t>*:first-child,.partner-cta>div>*:first-child{margin-top:0}
.closed-panel>*:last-child,.winner-year-body>*:last-child,.award-group>*:last-child,.archive-year-copy>*:last-child,.timeline .t>*:last-child,.partner-cta>div>*:last-child{margin-bottom:0}
.award-group ul,.jury-year ul{margin-bottom:0}
.status-box>div>p:last-child{margin-bottom:0}

/* A little more room between consecutive factual groups, never extra room inside the box itself. */
.article>.winner-year+.winner-year{margin-top:14px}
.article>.jury-years,.article>.archive-photo-grid,.article>.official-social-grid{margin-top:18px}

/* v14 — mobile UX and spacing corrections */
/* Mobile accordion panels must never clip the last link. */
.mobile-panel{box-sizing:border-box}
.mobile-group.is-open .mobile-panel{padding:10px 2px 14px}
.mobile-panel a:last-child{margin-bottom:2px}

/* Better rhythm in information boxes across the site. */
.info-callout,.year-block,.jury-year,.contact-card,.question-card,.notice,.submission-method,.official-social-grid>a,.card,.news-item,.news-lead,.year-card,.sidebox,.closed-panel,.archive-year-copy,.winner-year-body,.timeline .t{
  text-wrap:pretty;
}
.article p,.article li,.partner-cta p,.status-box p,.names-panel p,.contact-card p,.question-card span{line-height:1.7}
.article h2,.article h3,.partner-cta h2,.status-box h2,.names-panel h3{overflow-wrap:break-word}

/* Program footer/action row — never squeeze the CTA into a round pill. */
.moreline{align-items:center}
.moreline .btn{flex:0 0 auto;white-space:nowrap}

/* Partner block breathing room. */
.partner-cta>div{min-width:0}
.partner-cta .eyebrow{margin-bottom:11px}
.partner-cta h2{margin:0 0 16px;line-height:1.08}
.partner-cta p{margin:0;max-width:720px}
.partner-cta .btn{white-space:nowrap}

@media(max-width:760px){
  :root{--panel-pad:20px;--panel-pad-lg:22px}

  /* Hero: no forced full-screen empty space and no clipped title. */
  .home-hero-final{min-height:auto!important;display:block;align-items:initial}
  .home-hero-final-inner{padding:34px 0 36px!important}
  .home-hero-watermark{width:640px;top:42%;opacity:.022}
  .home-hero-kicker{max-width:330px;margin-inline:auto;font-size:9.5px;line-height:1.4;letter-spacing:.15em}
  .home-hero-final h1{
    width:100%;max-width:342px;margin:12px auto 16px!important;
    font-size:40px!important;line-height:.96!important;letter-spacing:-.036em!important;
    text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:auto;
  }
  .home-hero-lead{max-width:332px;font-size:15px;line-height:1.58}
  .home-hero-actions{width:min(326px,100%);margin-top:20px;gap:8px}
  .home-hero-actions .btn{min-height:46px;border-radius:13px}
  .home-hero-dates-wrap{width:min(326px,100%);margin-top:26px;padding-top:20px}
  .home-hero-dates{gap:17px}
  .home-hero-date strong{font-size:27px;line-height:1.05}
  .home-hero-date span{margin-top:6px;font-size:10px}
  .home-hero-motto{margin-top:21px;gap:10px;font-size:8.5px;line-height:1.4}

  /* Program CTA row stacks cleanly on phones. */
  .moreline{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;margin-top:18px}
  .moreline .muted{display:block;line-height:1.6}
  .moreline .btn{width:100%;min-height:48px;border-radius:13px;white-space:normal;text-align:center;padding:12px 18px}

  /* Dark partner block: more internal air and calmer text. */
  .partner-cta{gap:22px;padding:27px 24px!important;border-radius:18px}
  .partner-cta .eyebrow{margin-bottom:10px}
  .partner-cta h2{font-size:32px!important;line-height:1.08;margin:0 0 17px}
  .partner-cta p{font-size:15px;line-height:1.7}
  .partner-cta .btn{width:100%;min-height:48px;border-radius:13px;white-space:normal;text-align:center;justify-self:stretch;margin-top:2px}

  /* All common content panels get the same safe inset on mobile. */
  .info-callout,.year-block,.jury-year,.contact-card,.question-card,.notice,.submission-method,.sidebox,.closed-panel,.news-item,.news-lead,.card{padding:20px!important}
  .winner-year-body{padding:18px 20px 22px!important}
  .archive-year-copy{padding:20px!important}
  .timeline .t{padding:16px!important}
  .award-group{padding:18px 0}
  .article>h2{margin-top:36px}
  .article>h3{margin-top:28px}
  .article p{margin-bottom:17px}
}

@media(max-width:420px){
  .home-hero-final-inner{padding:30px 0 32px!important}
  .home-hero-final h1{max-width:318px;font-size:37px!important;line-height:.98!important}
  .home-hero-lead{max-width:314px;font-size:14.5px}
  .home-hero-actions,.home-hero-dates-wrap{width:min(314px,100%)}
  .home-hero-date strong{font-size:25px}
  .partner-cta{padding:24px 21px!important}
  .partner-cta h2{font-size:30px!important}
}
.mobile-menu-shell{scroll-padding-bottom:34px}
.mobile-links{padding-bottom:28px}


/* v15 — definitive spacing rhythm + visible-but-subtle film background motion */
/* A boxed callout must never stick to the list/paragraph above it. */
.article > .info-callout{
  margin:36px 0 32px !important;
}
.article > .info-callout:first-child{
  margin-top:0 !important;
}
.article > .clean-list + .info-callout,
.article > ul + .info-callout,
.article > p + .info-callout,
.article > section + .info-callout{
  margin-top:36px !important;
}
.article > .info-callout + h2,
.article > .info-callout + h3{
  margin-top:42px !important;
}
.info-callout{
  padding:26px 28px !important;
}
.info-callout > .eyebrow{margin:0 0 10px !important}
.info-callout > h2{margin:0 0 14px !important;line-height:1.08}
.info-callout > p{margin:0 !important;line-height:1.72}

/* Same rhythm for other standalone panels on internal pages. */
.article > .notice,
.article > .closed-panel,
.article > .year-block,
.article > .jury-year,
.article > .winner-year,
.article > .card{
  margin-top:30px;
  margin-bottom:30px;
}
.article > h2 + .clean-list,
.article > h3 + .clean-list{margin-top:16px}
.article > .clean-list + h2,
.article > ul + h2{margin-top:42px !important}

/* Film atmosphere is intentionally visible during scroll, but never loud. */
.film-atmosphere{
  position:fixed;
  inset:0;
  z-index:7;
  pointer-events:none;
  overflow:hidden;
  opacity:1;
  contain:paint;
}
.film-atmosphere::before{
  content:"";
  position:absolute;
  inset:-10%;
  background:
    /* occasional horizontal frame seams */
    repeating-linear-gradient(
      0deg,
      transparent 0 118px,
      rgba(119,82,54,.030) 119px,
      rgba(119,82,54,.030) 120px,
      transparent 121px 236px
    ),
    /* very fine vertical scratches */
    repeating-linear-gradient(
      90deg,
      transparent 0 13%,
      rgba(104,70,45,.026) 13.06%,
      transparent 13.14% 31%,
      rgba(104,70,45,.018) 31.07%,
      transparent 31.15% 64%,
      rgba(104,70,45,.022) 64.06%,
      transparent 64.14% 100%
    ),
    /* dust */
    radial-gradient(circle at 18% 24%,rgba(102,70,47,.12) 0 1px,transparent 1.5px),
    radial-gradient(circle at 74% 61%,rgba(102,70,47,.10) 0 1px,transparent 1.5px),
    radial-gradient(circle at 44% 82%,rgba(102,70,47,.08) 0 1px,transparent 1.4px),
    radial-gradient(circle at 91% 31%,rgba(102,70,47,.07) 0 .8px,transparent 1.3px);
  background-size:100% 236px,100% 100%,170px 150px,230px 210px,290px 260px,210px 190px;
  background-position:
    0 var(--film-frame-y,0px),
    var(--film-scratch-x,0px) 0,
    var(--film-grain-x,0px) var(--film-grain-y,0px),
    var(--film-grain-x2,0px) var(--film-grain-y2,0px),
    var(--film-grain-x3,0px) var(--film-grain-y3,0px),
    var(--film-grain-x4,0px) var(--film-grain-y4,0px);
  opacity:var(--film-texture-opacity,.28);
  will-change:background-position,opacity;
}
.film-atmosphere::after{
  content:"";
  position:absolute;
  width:82vw;
  height:78vh;
  left:var(--film-light-x,8%);
  top:var(--film-light-y,12%);
  transform:translate(-50%,-50%) rotate(-5deg);
  background:
    radial-gradient(ellipse at center,
      rgba(210,166,111,.145) 0%,
      rgba(210,166,111,.075) 20%,
      rgba(255,244,226,.055) 36%,
      rgba(255,255,255,0) 66%);
  filter:blur(12px);
  opacity:var(--film-light-opacity,.22);
  will-change:left,top,opacity;
}

/* A second, very subtle exposure sweep coming from the paper itself. */
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:6;
  pointer-events:none;
  background:linear-gradient(
    105deg,
    transparent 0 40%,
    rgba(184,139,91,.028) 47%,
    rgba(255,255,255,.055) 50%,
    rgba(184,139,91,.020) 53%,
    transparent 60% 100%
  );
  background-size:240% 100%;
  background-position:var(--film-sweep-x,0%) 0;
  opacity:var(--film-sweep-opacity,.55);
  will-change:background-position,opacity;
}

@media(max-width:760px){
  .article > .info-callout,
  .article > .clean-list + .info-callout,
  .article > ul + .info-callout,
  .article > p + .info-callout,
  .article > section + .info-callout{
    margin-top:30px !important;
    margin-bottom:28px !important;
  }
  .info-callout{padding:22px 22px !important}
  .info-callout > h2{margin-bottom:12px !important}
  .film-atmosphere::before{opacity:var(--film-texture-opacity-mobile,.20)}
  .film-atmosphere::after{width:115vw;height:72vh;filter:blur(16px)}
  body::after{opacity:var(--film-sweep-opacity-mobile,.42)}
}

@media(prefers-reduced-motion:reduce){
  .film-atmosphere::before,.film-atmosphere::after,body::after{will-change:auto}
}

/* Guarantee separation whenever a callout follows any article block. */
.article > * + .info-callout{margin-top:36px !important}
@media(max-width:760px){.article > * + .info-callout{margin-top:30px !important}}


/* v16 — careful spacing / list alignment / mobile typography pass */
/* Never split Russian words in display headings. */
.home-hero-final h1,
.hero h1,
.page-hero h1,
.section-head h2,
.article h2,
.article h3,
.partner-cta h2,
.status-box h2,
.names-panel h3,
.news-lead h3,
.news-item h3,
.card h3,
.program-card h3,
.year-block h2,
.jury-year h2,
.winner-year h2{
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Lists: custom marker aligned with the first text line, not with the box edge. */
.article .clean-list:not(.media-archive-list),
.article ul:not(.clean-list){
  list-style:none;
  padding-left:0;
}
.article .clean-list:not(.media-archive-list) li,
.article ul:not(.clean-list) li{
  position:relative;
  padding-left:22px;
}
.article .clean-list:not(.media-archive-list) li::before,
.article ul:not(.clean-list) li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.84em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#b58558;
  transform:translateY(-50%);
}

/* Media archive rows already have separators; dots are visual noise here. */
.media-archive-list{
  margin:16px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.media-archive-list li{
  position:relative;
  padding:15px 0!important;
  border-bottom:1px solid var(--line);
  line-height:1.58!important;
}
.media-archive-list li::before{display:none!important}
.media-archive-list li:first-child{padding-top:6px!important}
.media-archive-list li:last-child{padding-bottom:0!important;border-bottom:0}
.media-date{margin-top:5px}

/* TV/media page: consistent breathing room between year tabs, image cards and archives. */
.year-jump{margin-bottom:24px}
.year-jump + .media-row{margin-top:0!important;margin-bottom:30px}
.media-row + .year-block{margin-top:0}
.year-block + .year-block{margin-top:20px}
.year-block h2{margin-bottom:18px}

/* Page rhythm: every major standalone article panel gets visible separation. */
.article > .info-callout,
.article > .year-block,
.article > .jury-year,
.article > .winner-year,
.article > .closed-panel,
.article > .notice,
.article > .contact-card,
.article > .card{
  margin-top:32px;
  margin-bottom:32px;
}
.article > :is(p,ul,.clean-list) + :is(.info-callout,.year-block,.jury-year,.winner-year,.closed-panel,.notice,.contact-card,.card){
  margin-top:36px!important;
}

/* Mobile headline: clean line breaks only between words. */
@media(max-width:760px){
  .home-hero-final h1{
    max-width:350px!important;
    width:100%!important;
    margin:13px auto 17px!important;
    font-size:34px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    text-wrap:balance!important;
    hyphens:none!important;
    -webkit-hyphens:none!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .home-hero-kicker{max-width:340px}
  .home-hero-lead{max-width:338px}

  .page-hero h1{
    font-size:38px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    text-wrap:balance!important;
  }
  .section-head h2{font-size:34px!important;line-height:1.04!important}
  .article h2{font-size:29px!important;line-height:1.12!important}
  .article h3{font-size:21px!important;line-height:1.2!important}

  .article .clean-list:not(.media-archive-list) li,
  .article ul:not(.clean-list) li{padding-left:20px}
  .article .clean-list:not(.media-archive-list) li::before,
  .article ul:not(.clean-list) li::before{left:1px;top:.86em}

  .year-jump{gap:8px;margin-bottom:20px;padding:10px}
  .year-jump a{min-height:39px;display:inline-flex;align-items:center;justify-content:center}
  .year-jump + .media-row{margin-bottom:24px}
  .year-block{padding:20px!important}
  .year-block h2{margin-bottom:14px}
  .media-archive-list{margin-top:12px!important}
  .media-archive-list li{padding:13px 0!important}
  .media-archive-list li:first-child{padding-top:4px!important}
}

@media(max-width:420px){
  .home-hero-final h1{
    max-width:328px!important;
    font-size:32px!important;
    line-height:1.03!important;
  }
  .home-hero-lead{max-width:320px}
  .page-hero h1{font-size:35px!important}
}

/* v17 — final rhythm, year navigation and stronger film atmosphere */
/* Year/card headings need a real gap between the small year label and the title. */
.year-block > .eyebrow,
.jury-year > .eyebrow,
.card > .eyebrow,
.news-item > .eyebrow,
.news-lead > .eyebrow,
.archive-year-copy > .eyebrow,
.info-callout > .eyebrow{
  display:block;
  margin:0 0 12px!important;
  line-height:1.25;
}
.year-block > .eyebrow + h2,
.jury-year > .eyebrow + h2,
.card > .eyebrow + h2,
.card > .eyebrow + h3,
.news-item > .eyebrow + h3,
.news-lead > .eyebrow + h3,
.info-callout > .eyebrow + h2{
  margin-top:0!important;
}
.year-block > h2{margin:0 0 22px!important}
.jury-year > h2{margin:0 0 18px!important}
.year-block > h2 + p,.jury-year > h2 + p{margin-top:0!important}

/* Keep a consistent vertical rhythm between all major factual blocks. */
.article > * + :is(.year-block,.jury-year,.info-callout,.winner-year,.notice,.closed-panel,.card,.contact-card){
  margin-top:38px!important;
}
.article > :is(.year-block,.jury-year,.info-callout,.winner-year,.notice,.closed-panel,.card,.contact-card) + *{
  margin-top:34px;
}
.article > h2{margin-top:42px}
.article > h3{margin-top:32px}
.article > p + h2,.article > ul + h2,.article > .clean-list + h2{margin-top:42px!important}

/* Year selector: horizontally scrollable with clear controls when it overflows. */
.year-jump-shell{
  position:sticky;
  top:92px;
  z-index:9;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  margin-bottom:26px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(251,248,242,.96);
  backdrop-filter:blur(12px);
  box-shadow:0 7px 22px rgba(71,49,30,.045);
}
.year-jump-shell .year-jump{
  position:static!important;
  top:auto!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.year-jump-shell .year-jump::-webkit-scrollbar{display:none}
.year-jump-shell .year-jump a{flex:0 0 auto;scroll-snap-align:start;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.year-scroll-btn{
  width:38px;height:38px;display:grid;place-items:center;flex:none;
  border:1px solid var(--line);border-radius:50%;background:#fff;color:#765236;
  font-size:18px;line-height:1;cursor:pointer;transition:opacity .18s ease,transform .18s ease,background .18s ease;
}
.year-scroll-btn:hover{background:#f7efe5;transform:translateY(-1px)}
.year-scroll-btn:disabled{opacity:.28;cursor:default;transform:none}
.year-jump-shell:not(.is-overflowing) .year-scroll-btn{display:none}

/* Mobile section headers: give CTA breathing room instead of sticking it to the title. */
@media(max-width:760px){
  .section-head > .btn{margin-top:18px}
  .year-jump-shell{top:80px;margin-bottom:22px;padding:7px;gap:6px;border-radius:14px}
  .year-scroll-btn{width:34px;height:34px;font-size:16px}
  .year-jump-shell .year-jump a{min-height:38px;padding:8px 13px}
  .year-block > .eyebrow,.jury-year > .eyebrow,.card > .eyebrow,.news-item > .eyebrow,.news-lead > .eyebrow,.info-callout > .eyebrow{margin-bottom:10px!important}
  .year-block > h2{margin-bottom:18px!important}
  .jury-year > h2{margin-bottom:16px!important}
  .article > * + :is(.year-block,.jury-year,.info-callout,.winner-year,.notice,.closed-panel,.card,.contact-card){margin-top:32px!important}
}

/* Film atmosphere: still restrained, but now visibly present while scrolling. */
.film-atmosphere{mix-blend-mode:multiply}
.film-atmosphere::before{
  background:
    repeating-linear-gradient(0deg,transparent 0 108px,rgba(117,78,49,.050) 109px,rgba(117,78,49,.050) 110px,transparent 111px 218px),
    repeating-linear-gradient(90deg,transparent 0 16%,rgba(89,60,41,.040) 16.05%,transparent 16.15% 39%,rgba(89,60,41,.030) 39.05%,transparent 39.14% 71%,rgba(89,60,41,.035) 71.05%,transparent 71.14% 100%),
    radial-gradient(circle at 18% 24%,rgba(100,67,43,.20) 0 1px,transparent 1.6px),
    radial-gradient(circle at 74% 61%,rgba(100,67,43,.17) 0 1px,transparent 1.6px),
    radial-gradient(circle at 44% 82%,rgba(100,67,43,.14) 0 1px,transparent 1.5px),
    radial-gradient(circle at 91% 31%,rgba(100,67,43,.12) 0 1px,transparent 1.5px);
  background-size:100% 218px,100% 100%,150px 138px,210px 190px,270px 245px,190px 175px;
  opacity:var(--film-texture-opacity,.42)!important;
}
.film-atmosphere::after{
  width:92vw;height:82vh;
  background:radial-gradient(ellipse at center,rgba(205,156,101,.20) 0%,rgba(221,178,124,.12) 23%,rgba(255,246,232,.075) 40%,rgba(255,255,255,0) 69%);
  filter:blur(18px);
  opacity:var(--film-light-opacity,.30)!important;
  mix-blend-mode:soft-light;
}
body::after{
  background:linear-gradient(105deg,transparent 0 36%,rgba(171,123,79,.045) 45%,rgba(255,250,240,.10) 50%,rgba(171,123,79,.035) 55%,transparent 64% 100%)!important;
  opacity:var(--film-sweep-opacity,.72)!important;
  mix-blend-mode:soft-light;
}
@media(max-width:760px){
  .film-atmosphere::before{opacity:var(--film-texture-opacity-mobile,.32)!important}
  .film-atmosphere::after{opacity:var(--film-light-opacity-mobile,.24)!important}
  body::after{opacity:var(--film-sweep-opacity-mobile,.58)!important}
}
/* Keep film texture as an overlay; blend modes apply per layer, not to the whole stack. */
.film-atmosphere{mix-blend-mode:normal!important}
.film-atmosphere::before{mix-blend-mode:multiply!important}
.film-atmosphere::after{mix-blend-mode:soft-light!important}

/* v18 — realistic scroll-driven film motion with inertia */

/* Perforations now visibly run with the reel, but stay elegant. */
.film-edge{
  opacity:.41!important;
  background:
    repeating-linear-gradient(to bottom,
      rgba(174,132,91,.76) 0 8px,
      transparent 8px 24px)!important;
  background-position:center var(--film-edge-y,0px)!important;
  transform:translate3d(0,var(--film-edge-shift,0px),0);
  will-change:background-position,opacity,transform;
  transition:transform .12s linear,opacity .25s ease-out;
}
.film-edge::after{
  content:"";
  position:absolute;
  left:0;right:0;
  top:var(--film-edge-glow-y,-90px);
  height:120px;
  background:linear-gradient(180deg,transparent,rgba(255,248,235,.72),transparent);
  opacity:.30!important;
  animation:none!important;
  transition:top .08s linear;
}

/* The page itself gets a moving film layer: frames, scratches, dust and light leakage. */
.film-atmosphere{
  position:fixed!important;
  inset:0!important;
  z-index:7!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  contain:paint;
}
.film-atmosphere::before{
  content:"";
  position:absolute;
  inset:-12%;
  background:
    /* two families of moving frame seams */
    repeating-linear-gradient(0deg,
      transparent 0 105px,
      rgba(116,77,47,.050) 106px,
      rgba(116,77,47,.050) 108px,
      transparent 109px 218px),
    repeating-linear-gradient(0deg,
      transparent 0 64px,
      rgba(255,255,255,.055) 65px,
      transparent 66px 137px),
    /* scratches — irregular rather than a grid */
    linear-gradient(90deg,
      transparent 0 9%,
      rgba(83,55,37,.18) 9.08%,transparent 9.18%,
      transparent 27%,rgba(110,73,46,.13) 27.07%,transparent 27.16%,
      transparent 63%,rgba(255,255,255,.11) 63.06%,transparent 63.14%,
      transparent 86%,rgba(96,61,38,.12) 86.04%,transparent 86.14%,
      transparent 100%),
    /* multiple dust planes */
    radial-gradient(circle at 12% 19%,rgba(88,58,39,.27) 0 1px,transparent 1.7px),
    radial-gradient(circle at 79% 31%,rgba(88,58,39,.22) 0 1px,transparent 1.6px),
    radial-gradient(circle at 37% 72%,rgba(88,58,39,.19) 0 1px,transparent 1.6px),
    radial-gradient(circle at 91% 83%,rgba(88,58,39,.16) 0 .9px,transparent 1.5px),
    radial-gradient(circle at 54% 46%,rgba(255,255,255,.24) 0 1px,transparent 1.8px);
  background-size:
    100% 218px,
    100% 137px,
    100% 100%,
    138px 126px,
    191px 173px,
    247px 219px,
    173px 159px,
    219px 203px;
  background-position:
    0 var(--film-frame-y,0px),
    0 var(--film-frame-y2,0px),
    var(--film-scratch-x,0px) 0,
    var(--film-grain-x,0px) var(--film-grain-y,0px),
    var(--film-grain-x2,0px) var(--film-grain-y2,0px),
    var(--film-grain-x2,0px) var(--film-grain-y,0px),
    var(--film-grain-x,0px) var(--film-grain-y2,0px),
    var(--film-grain-x2,0px) var(--film-grain-y,0px);
  opacity:var(--film-texture-opacity,.16)!important;
  mix-blend-mode:multiply!important;
  will-change:background-position,opacity;
  transition:opacity .45s ease-out;
}
.film-atmosphere::after{
  content:"";
  position:absolute;
  width:96vw;
  height:90vh;
  left:var(--film-light-x,50%);
  top:var(--film-light-y,45%);
  transform:translate(-50%,-50%) rotate(var(--film-light-rotate,-8deg));
  background:
    radial-gradient(ellipse at center,
      rgba(224,177,117,.25) 0%,
      rgba(224,177,117,.15) 22%,
      rgba(255,246,231,.10) 38%,
      rgba(255,255,255,0) 68%);
  filter:blur(22px);
  opacity:var(--film-light-opacity,.08)!important;
  mix-blend-mode:soft-light!important;
  will-change:left,top,transform,opacity;
  transition:opacity .6s ease-out;
}

/* Broad projector exposure pass across the paper. */
body::after{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:6!important;
  pointer-events:none!important;
  background:
    linear-gradient(104deg,
      transparent 0 32%,
      rgba(174,124,78,.055) 41%,
      rgba(255,248,234,.145) 49%,
      rgba(194,143,92,.043) 57%,
      transparent 67% 100%)!important;
  background-size:230% 100%!important;
  background-position:var(--film-sweep-x,-45%) 0!important;
  opacity:var(--film-sweep-opacity,.07)!important;
  mix-blend-mode:soft-light!important;
  will-change:background-position,opacity;
  transition:opacity .55s ease-out;
}

/* Slightly stronger while the reel is actually moving. */
.film-atmosphere.is-moving::before{filter:contrast(1.025)}

@media(max-width:760px){
  .film-edge{
    width:9px!important;
    opacity:.42!important;
    background:repeating-linear-gradient(to bottom,rgba(174,132,91,.82) 0 7px,transparent 7px 22px)!important;
    background-position:center var(--film-edge-y,0px)!important;
    transform:translate3d(0,var(--film-edge-shift,0px),0)!important;
    will-change:background-position,transform,opacity!important;
  }
  .film-edge.left{left:4px!important}
  .film-edge.right{right:4px!important}
  .film-edge::after{opacity:.32!important;height:96px}
  /* Use the live variables that JS updates every frame while scrolling. */
  .film-atmosphere::before{opacity:var(--film-texture-opacity,.20)!important}
  .film-atmosphere::after{
    width:132vw;
    height:86vh;
    filter:blur(16px);
    opacity:var(--film-light-opacity,.11)!important
  }
  body::after{opacity:var(--film-sweep-opacity,.09)!important}
}

@media(prefers-reduced-motion:reduce){
  .film-atmosphere::before,.film-atmosphere::after,body::after{transition:none!important;will-change:auto!important}
}


/* v25 — paper application + fixed form fields */
.festival-form textarea,
.field textarea{
  resize:none!important;
  max-width:100%;
  overflow:auto;
}
.method-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto}
.method-actions .btn{margin-top:0!important}
.text-link{font-size:13px;font-weight:750;color:var(--brown);text-decoration:none}
.text-link:hover{text-decoration:underline}
.paper-application-box{margin:0 0 42px;padding:28px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff 0%,#fbf5ec 100%)}
.paper-application-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:32px;align-items:end;padding-bottom:22px;border-bottom:1px solid var(--line)}
.paper-application-head h2{margin:6px 0 0;font-size:34px;line-height:1.05}
.paper-application-head p{margin:0!important;color:var(--muted);line-height:1.65}
.paper-fields-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:22px 0 0;padding:0;list-style:none;counter-reset:paper-field}
.paper-fields-list li{counter-increment:paper-field;position:relative;padding:15px 0 15px 42px;border-bottom:1px solid #eadfd4;min-height:72px}
.paper-fields-list li::before{content:counter(paper-field,decimal-leading-zero);position:absolute;left:0;top:15px;font-family:"Cormorant Garamond",serif;font-size:17px;color:var(--brown)}
.paper-fields-list b{display:block;color:#3e3028;font-size:14px;line-height:1.35}
.paper-fields-list span{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}
.paper-steps{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px;padding:14px 16px;border-radius:13px;background:#f2e7da;color:#57463b;font-size:12px;font-weight:760}
.paper-steps i{font-style:normal;color:var(--brown)}
@media(max-width:760px){
  .paper-application-box{padding:20px;margin-bottom:34px}
  .paper-application-head{grid-template-columns:1fr;gap:12px;padding-bottom:18px}
  .paper-application-head h2{font-size:29px}
  .paper-fields-list{grid-template-columns:1fr;margin-top:12px}
  .paper-fields-list li{min-height:0;padding-block:13px}
  .paper-steps{display:grid;grid-template-columns:1fr;gap:7px}
  .paper-steps i{display:none}
  .method-actions{align-items:stretch;flex-direction:column;width:100%}
  .method-actions .btn,.method-actions .text-link{width:100%;text-align:center}
}


/* v27 — polished application controls */
.festival-form .form-field{display:grid;gap:7px;color:#55483f;font-size:13px;font-weight:720;min-width:0}
.festival-form .field-label{display:block;color:#55483f;font-size:13px;font-weight:720}

/* Fully custom nomination dropdown — no browser-native popup UI. */
.custom-select{position:relative;min-width:0}
.custom-select-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;border:0!important}
.custom-select-trigger{width:100%;min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #d7c8b9;border-radius:11px;background:#fffdf9;color:var(--ink);font:inherit;font-weight:650;text-align:left;cursor:pointer;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.custom-select-trigger:hover{background:#fffaf4;border-color:#c7ad94}
.custom-select-trigger:focus-visible,.custom-select.is-open .custom-select-trigger{border-color:#a77951;box-shadow:0 0 0 3px rgba(143,98,61,.10)}
.custom-select.is-invalid .custom-select-trigger{border-color:#9e493f;box-shadow:0 0 0 3px rgba(158,73,63,.10)}
.custom-select-arrow{flex:0 0 auto;color:var(--brown);font-size:20px;line-height:1;transform:translateY(-1px);transition:transform .18s ease}
.custom-select.is-open .custom-select-arrow{transform:rotate(180deg) translateY(1px)}
.custom-select-menu{position:absolute;z-index:70;top:calc(100% + 8px);left:0;right:0;display:grid;gap:3px;max-height:310px;overflow:auto;padding:7px;border:1px solid #d6c3b1;border-radius:15px;background:rgba(255,253,249,.985);box-shadow:0 18px 44px rgba(69,47,31,.16);opacity:0;visibility:hidden;transform:translateY(-5px) scale(.99);transform-origin:top;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.custom-select.is-open .custom-select-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.custom-select-menu button{width:100%;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#46372e;font:inherit;font-size:13px;font-weight:680;text-align:left;cursor:pointer;line-height:1.35}
.custom-select-menu button span{font-weight:560;color:#7a6759}
.custom-select-menu button:hover,.custom-select-menu button:focus-visible,.custom-select-menu button[aria-selected="true"]{background:#f2e6d8;color:#2d211a;outline:none}

/* File inputs use a custom picker and removable selected-file chips. */
.file-control{position:relative;display:flex;align-items:flex-start;gap:9px;min-height:54px;padding:8px;border:1px solid #d7c8b9;border-radius:12px;background:#f8f1e8;transition:border-color .16s ease,box-shadow .16s ease}
.file-control:focus-within{border-color:#a77951;box-shadow:0 0 0 3px rgba(143,98,61,.10)}
.file-control.is-invalid{border-color:#9e493f;box-shadow:0 0 0 3px rgba(158,73,63,.10)}
.file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important}
.file-pick{flex:0 0 auto;min-height:36px;padding:8px 13px;border:1px solid #cdb9a6;border-radius:9px;background:#fff;color:#3f3128;font:inherit;font-size:12px;font-weight:780;cursor:pointer;box-shadow:0 2px 5px rgba(64,43,29,.07);transition:transform .14s ease,border-color .14s ease,background .14s ease}
.file-pick:hover{background:#fffaf4;border-color:#ae8968;transform:translateY(-1px)}
.file-pick:focus-visible{outline:2px solid rgba(143,98,61,.38);outline-offset:2px}
.file-list{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:7px;min-width:0;align-items:center;padding-top:2px}
.file-placeholder{padding:8px 2px;color:#6c5b4f;font-size:12px;font-weight:620;line-height:1.35}
.file-chip{max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 8px;border:1px solid #dfcfbf;border-radius:999px;background:#fff;color:#42332a;box-shadow:0 2px 6px rgba(65,43,29,.05)}
.file-chip-thumb{width:28px;height:28px;flex:0 0 28px;border-radius:50%;object-fit:cover;background:#eee2d6;border:1px solid #e1d2c4}
.file-chip-name{min-width:0;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}
.file-remove{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;padding:0;border:0;border-radius:50%;background:#f1e6db;color:#6d4f39;font-size:18px;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}
.file-remove:hover{background:#e2c7b2;color:#33241c;transform:scale(1.04)}
.file-remove:focus-visible{outline:2px solid rgba(143,98,61,.38);outline-offset:2px}

/* Text year input: user types the year manually; no number spinner. */
.festival-form input[name="production_year"]{appearance:none;-webkit-appearance:none}

@media(max-width:760px){
  .custom-select-menu{max-height:280px}
  .file-control{display:grid;grid-template-columns:1fr;gap:7px}
  .file-pick{width:100%}
  .file-list{width:100%}
  .file-chip{width:100%;border-radius:11px;justify-content:flex-start}
  .file-chip-name{max-width:none;flex:1}
}


/* WordPress integration — does not change the approved public design. */
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
.sv-app-closed-only{display:none}
body.sv-applications-closed .sv-app-open-only{display:none!important}
body.sv-applications-closed .sv-app-closed-only{display:block}
body.sv-paper-disabled .paper-method,body.sv-paper-disabled .paper-application-box{display:none!important}
body.sv-electronic-disabled .submission-method.featured,body.sv-electronic-disabled .electronic-form-wrap,body.sv-electronic-disabled .sv-application-shell{display:none!important}
.sv-wp-edit-note{margin:14px 0;padding:12px 16px;border:1px dashed rgba(143,98,61,.35);border-radius:14px;color:#765f50;font-size:13px}
.sv-archive-empty,.sv-news-empty{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}
/* Gutenberg additions inserted by editors should inherit the site's rhythm. */
.article > .wp-block-group,.article > .wp-block-columns,.article > .wp-block-image,.article > .wp-block-gallery,.article > .wp-block-video{margin-top:32px;margin-bottom:32px}
.article .wp-block-button__link{border-radius:999px;background:var(--dark);color:#fff;font-weight:800;padding:13px 22px}
.article .wp-block-image img{border-radius:18px}

/* v1.1 — calm film motion, smoother transitions, mobile polish */
:root{--sv-ease:cubic-bezier(.22,.68,.28,1)}
html{scroll-behavior:smooth}
body{transition:opacity .24s ease,filter .24s ease}
.sv-js body{opacity:.985}
.sv-js body.sv-page-ready{opacity:1}
.sv-js body.sv-page-leaving{opacity:.78;filter:blur(.5px)}

/* Smoother interface opening/closing without making it sluggish. */
.dropdown{transition:opacity .26s ease,transform .32s var(--sv-ease),visibility .26s ease!important}
.mobile-menu{transition:opacity .38s ease,visibility .38s ease!important}
.mobile-menu-shell{transition:transform .46s var(--sv-ease)!important}
.mobile-panel{transition:max-height .42s var(--sv-ease),opacity .3s ease!important}
.btn,.card,.program-card,.news-item,.media-card,.media-mini,.year-card,.contact-card,.stat,.names-panel,.archive-year-card{transition-duration:.32s!important}
.motion-ready .reveal{transition:opacity .72s ease,transform .78s var(--sv-ease)!important}

/* Desktop film: frame seams are subtler and slower; the strongest left scratch hugs the edge. */
.film-atmosphere::before{
  background:
    repeating-linear-gradient(0deg,transparent 0 105px,rgba(116,77,47,.022) 106px,rgba(116,77,47,.022) 108px,transparent 109px 218px),
    repeating-linear-gradient(0deg,transparent 0 64px,rgba(255,255,255,.022) 65px,transparent 66px 137px),
    linear-gradient(90deg,
      transparent 0 2.2%,rgba(83,55,37,.075) 2.28%,transparent 2.38%,
      transparent 28%,rgba(110,73,46,.075) 28.06%,transparent 28.15%,
      transparent 64%,rgba(255,255,255,.065) 64.06%,transparent 64.14%,
      transparent 87%,rgba(96,61,38,.065) 87.04%,transparent 87.13%,transparent 100%),
    radial-gradient(circle at 12% 19%,rgba(88,58,39,.20) 0 1px,transparent 1.7px),
    radial-gradient(circle at 79% 31%,rgba(88,58,39,.16) 0 1px,transparent 1.6px),
    radial-gradient(circle at 37% 72%,rgba(88,58,39,.14) 0 1px,transparent 1.6px),
    radial-gradient(circle at 91% 83%,rgba(88,58,39,.12) 0 .9px,transparent 1.5px),
    radial-gradient(circle at 54% 46%,rgba(255,255,255,.17) 0 1px,transparent 1.8px)!important;
}
.film-edge{opacity:.34!important}
.film-edge::after{opacity:.20!important;transition:top .14s linear!important}

@media(max-width:760px){
  /* Mobile film is intentionally about half as strong/fast as before. */
  .film-edge{opacity:.23!important;background:repeating-linear-gradient(to bottom,rgba(174,132,91,.58) 0 7px,transparent 7px 22px)!important}
  .film-edge::after{opacity:.16!important}
  .film-atmosphere::before{opacity:var(--film-texture-opacity,.10)!important}
  .film-atmosphere::after{opacity:var(--film-light-opacity,.055)!important}
  body::after{opacity:var(--film-sweep-opacity,.035)!important}

  /* iOS Safari must not zoom the viewport when a field receives focus. */
  .festival-form input,
  .festival-form textarea,
  .festival-form select,
  .festival-form .custom-select-trigger{font-size:16px!important}
}

/* =========================================================
   v1.2 — WordPress-created news articles
   Manually added posts use the same editorial language as the
   approved festival news pages instead of raw Gutenberg output.
   ========================================================= */
.sv-news-single-hero .breadcrumbs{margin-top:13px}
.sv-news-single-hero> .wrap > p{max-width:780px}

.sv-news-article{min-width:0}
.sv-news-entry{min-width:0;font-size:17px}
.sv-news-entry::after{content:"";display:table;clear:both}

.sv-news-featured,
.sv-news-entry .wp-block-image,
.sv-news-entry figure{
  margin:0 0 30px;
}
/* The featured image intentionally spans the article column. */
.sv-news-featured img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:20px;
  object-fit:cover;
}
/* Images inserted into the article body respect the size selected in WordPress.
   Only max-width is constrained so they never overflow on phones. */
.sv-news-entry .wp-block-image img,
.sv-news-entry figure img,
.sv-news-entry > img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius:20px;
}
.sv-news-entry img.aligncenter,
.sv-news-entry .wp-block-image.aligncenter img{margin-left:auto;margin-right:auto}
.sv-news-entry img.alignleft{float:left;margin:4px 24px 16px 0}
.sv-news-entry img.alignright{float:right;margin:4px 0 16px 24px}
.sv-news-entry .wp-block-image.alignleft{float:left;margin:4px 24px 16px 0}
.sv-news-entry .wp-block-image.alignright{float:right;margin:4px 0 16px 24px}
.sv-news-entry .wp-block-gallery img{width:100%;max-width:100%}
.sv-news-entry .wp-block-image.alignwide,
.sv-news-entry .wp-block-image.alignfull,
.sv-news-entry .alignwide,
.sv-news-entry .alignfull{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
.sv-news-entry figcaption{
  margin:9px 4px 0;
  color:#8a7768;
  font-size:12px;
  line-height:1.5;
  text-align:left;
}

.sv-news-entry > p{
  margin:0 0 20px;
  color:#51463e;
  font-size:17px;
  line-height:1.76;
}
.sv-news-entry > p:first-child{margin-top:0}
.sv-news-entry > h2{
  margin:42px 0 15px;
  font-family:"Cormorant Garamond",serif;
  font-size:34px;
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.025em;
  color:#2d221c;
  text-wrap:balance;
}
.sv-news-entry > h3{
  margin:31px 0 12px;
  font-family:"Cormorant Garamond",serif;
  font-size:25px;
  font-weight:500;
  line-height:1.2;
  color:#332820;
}
.sv-news-entry > h2:first-child,
.sv-news-entry > h3:first-child{margin-top:0}
.sv-news-entry ul,
.sv-news-entry ol{margin:18px 0 24px;padding-left:25px;color:#51463e}
.sv-news-entry li{padding-left:3px;line-height:1.72}
.sv-news-entry li+li{margin-top:8px}
.sv-news-entry blockquote{
  margin:30px 0;
  padding:24px 26px;
  border:1px solid var(--line);
  border-left:3px solid #a26e43;
  border-radius:16px;
  background:#f6ecdf;
  color:#43352c;
  font-family:"Cormorant Garamond",serif;
  font-size:22px;
  line-height:1.5;
}
.sv-news-entry blockquote p:last-child{margin-bottom:0}
.sv-news-entry hr{margin:34px 0;border:0;border-top:1px solid var(--line)}
.sv-news-entry a:not(.btn){color:#765033;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sv-news-entry a:not(.btn):hover{color:var(--brown)}
.sv-news-entry .wp-block-gallery{gap:12px;margin:30px 0}
.sv-news-entry .wp-block-gallery figure{margin:0}
.sv-news-entry .wp-block-gallery img{height:100%;min-height:220px}
.sv-news-entry .wp-block-video video,
.sv-news-entry video,
.sv-news-entry iframe{display:block;max-width:100%;border-radius:18px}

/* Gutenberg sometimes adds inline width/alignment rules. Keep article media
   inside the editorial column on both desktop and mobile. */
.sv-news-entry > *{max-width:100%;box-sizing:border-box}
.sv-news-entry .wp-block-columns{gap:18px;margin:30px 0}
.sv-news-entry .wp-block-group{margin:30px 0}

@media(max-width:760px){
  .sv-news-entry{font-size:16px}
  .sv-news-entry > p{font-size:16px;line-height:1.7;margin-bottom:18px}
  .sv-news-entry > h2{font-size:29px;margin-top:34px}
  .sv-news-entry > h3{font-size:22px;margin-top:27px}
  .sv-news-featured,
  .sv-news-entry .wp-block-image,
  .sv-news-entry figure{margin-bottom:24px}
  .sv-news-featured img,
  .sv-news-entry .wp-block-image img,
  .sv-news-entry figure img,
  .sv-news-entry > img{border-radius:15px}
  .sv-news-entry blockquote{padding:20px;font-size:20px;border-radius:14px}
  .sv-news-entry .wp-block-gallery{gap:8px;margin:24px 0}
  .sv-news-entry .wp-block-gallery img{min-height:150px}
  .sv-news-entry img.alignleft,
  .sv-news-entry img.alignright,
  .sv-news-entry .wp-block-image.alignleft,
  .sv-news-entry .wp-block-image.alignright{float:none;margin-left:auto;margin-right:auto}
  .sv-news-sidebox{margin-top:0}
}

/* v1.3 — optional images for manually added news */
.sv-news-card-thumb,.sv-news-lead-thumb,.sv-news-list-thumb{display:block;overflow:hidden;border-radius:14px;margin:-8px -8px 18px}
.sv-news-card-thumb img,.sv-news-lead-thumb img,.sv-news-list-thumb img{display:block;width:100%;height:190px;object-fit:cover}
.sv-news-lead-thumb{margin:-10px -10px 20px}.sv-news-lead-thumb img{height:250px}
.sv-news-list-thumb img{height:125px}
@media(max-width:760px){.sv-news-card-thumb img,.sv-news-lead-thumb img{height:210px}.sv-news-list-thumb img{height:165px}}


/* v1.6 — homepage film atmosphere: slightly clearer, with the left scratch kept outside the content */
body.home .film-atmosphere::before{
  background:
    repeating-linear-gradient(0deg,
      transparent 0 105px,
      rgba(116,77,47,.050) 106px,
      rgba(116,77,47,.050) 108px,
      transparent 109px 218px),
    repeating-linear-gradient(0deg,
      transparent 0 64px,
      rgba(255,255,255,.055) 65px,
      transparent 66px 137px),
    linear-gradient(90deg,
      transparent 0 5%,
      rgba(83,55,37,.15) 5.08%,transparent 5.18%,
      transparent 13.5%,rgba(110,73,46,.10) 13.57%,transparent 13.66%,
      transparent 63%,rgba(255,255,255,.11) 63.06%,transparent 63.14%,
      transparent 86%,rgba(96,61,38,.12) 86.04%,transparent 86.14%,
      transparent 100%),
    radial-gradient(circle at 12% 19%,rgba(88,58,39,.27) 0 1px,transparent 1.7px),
    radial-gradient(circle at 79% 31%,rgba(88,58,39,.22) 0 1px,transparent 1.6px),
    radial-gradient(circle at 37% 72%,rgba(88,58,39,.19) 0 1px,transparent 1.6px),
    radial-gradient(circle at 91% 83%,rgba(88,58,39,.16) 0 .9px,transparent 1.5px),
    radial-gradient(circle at 54% 46%,rgba(255,255,255,.24) 0 1px,transparent 1.8px);
  background-size:
    100% 218px,
    100% 137px,
    100% 100%,
    138px 126px,
    191px 173px,
    247px 219px,
    173px 159px,
    219px 203px;
  background-position:
    0 var(--film-frame-y,0px),
    0 var(--film-frame-y2,0px),
    var(--film-scratch-x,0px) 0,
    var(--film-grain-x,0px) var(--film-grain-y,0px),
    var(--film-grain-x2,0px) var(--film-grain-y2,0px),
    var(--film-grain-x2,0px) var(--film-grain-y,0px),
    var(--film-grain-x,0px) var(--film-grain-y2,0px),
    var(--film-grain-x2,0px) var(--film-grain-y,0px);
  opacity:calc(var(--film-texture-opacity,.16) * 1.10)!important;
}
body.home .film-atmosphere::after{
  opacity:calc(var(--film-light-opacity,.08) * 1.08)!important;
}
body.home::after{
  opacity:calc(var(--film-sweep-opacity,.07) * 1.08)!important;
}
@media(max-width:760px){
  body.home .film-atmosphere::before{opacity:calc(var(--film-texture-opacity,.20) * 1.05)!important}
  body.home .film-atmosphere::after{opacity:calc(var(--film-light-opacity,.11) * 1.04)!important}
  body.home::after{opacity:calc(var(--film-sweep-opacity,.09) * 1.04)!important}
}


/* =========================================================
   v1.7 — homepage desktop film tuning + mobile rail-motion fix
   Desktop changes apply only to the front page. Mobile visual
   strength is untouched; only the scroll-driven rail position
   is restored after later shorthand background overrides.
   ========================================================= */
@media(min-width:761px){
  body.home .film-atmosphere::before{
    background:
      repeating-linear-gradient(0deg,
        transparent 0 105px,
        rgba(116,77,47,.054) 106px,
        rgba(116,77,47,.054) 108px,
        transparent 109px 218px),
      repeating-linear-gradient(0deg,
        transparent 0 64px,
        rgba(255,255,255,.060) 65px,
        transparent 66px 137px),
      linear-gradient(90deg,
        transparent 0 .8%,
        rgba(83,55,37,.11) .88%,transparent .98%,
        transparent 5.2%,rgba(110,73,46,.075) 5.27%,transparent 5.36%,
        transparent 63%,rgba(255,255,255,.115) 63.06%,transparent 63.14%,
        transparent 86%,rgba(96,61,38,.125) 86.04%,transparent 86.14%,
        transparent 100%),
      radial-gradient(circle at 12% 19%,rgba(88,58,39,.29) 0 1px,transparent 1.7px),
      radial-gradient(circle at 79% 31%,rgba(88,58,39,.24) 0 1px,transparent 1.6px),
      radial-gradient(circle at 37% 72%,rgba(88,58,39,.21) 0 1px,transparent 1.6px),
      radial-gradient(circle at 91% 83%,rgba(88,58,39,.18) 0 .9px,transparent 1.5px),
      radial-gradient(circle at 54% 46%,rgba(255,255,255,.26) 0 1px,transparent 1.8px)!important;
    opacity:calc(var(--film-texture-opacity,.16) * 1.20)!important;
  }
  body.home .film-atmosphere::after{
    opacity:calc(var(--film-light-opacity,.08) * 1.16)!important;
  }
  body.home::after{
    opacity:calc(var(--film-sweep-opacity,.07) * 1.14)!important;
  }
}

@media(max-width:760px){
  .film-edge{
    background-position:center var(--film-edge-y,0px)!important;
    transform:translate3d(0,var(--film-edge-shift,0px),0)!important;
    will-change:background-position,transform,opacity!important;
  }
}


/* =========================================================
   v1.8 — homepage desktop film refinement only
   One left vertical scratch stays directly beside the left
   perforation rail. Dust/light are a touch more visible but
   remain subordinate to content. Mobile is intentionally
   untouched by this block.
   ========================================================= */
@media(min-width:761px){
  body.home .film-atmosphere::before{
    background:
      repeating-linear-gradient(0deg,
        transparent 0 105px,
        rgba(116,77,47,.050) 106px,
        rgba(116,77,47,.050) 108px,
        transparent 109px 218px),
      repeating-linear-gradient(0deg,
        transparent 0 64px,
        rgba(255,255,255,.056) 65px,
        transparent 66px 137px),
      /* the only vertical scratch: 5px to the right of the left film rail */
      linear-gradient(90deg,
        transparent 0 29px,
        rgba(83,55,37,.115) 29px 30px,
        transparent 30px 100%),
      /* dust / tiny emulsion marks */
      radial-gradient(circle at 12% 19%,rgba(88,58,39,.31) 0 1px,transparent 1.7px),
      radial-gradient(circle at 79% 31%,rgba(88,58,39,.26) 0 1px,transparent 1.6px),
      radial-gradient(circle at 37% 72%,rgba(88,58,39,.23) 0 1px,transparent 1.6px),
      radial-gradient(circle at 91% 83%,rgba(88,58,39,.20) 0 .9px,transparent 1.5px),
      radial-gradient(circle at 54% 46%,rgba(255,255,255,.28) 0 1px,transparent 1.8px),
      radial-gradient(circle at 24% 58%,rgba(88,58,39,.16) 0 .8px,transparent 1.45px),
      radial-gradient(circle at 68% 14%,rgba(255,255,255,.17) 0 .8px,transparent 1.5px)!important;
    background-size:
      100% 218px,
      100% 137px,
      100% 100%,
      138px 126px,
      191px 173px,
      247px 219px,
      173px 159px,
      219px 203px,
      263px 231px,
      227px 211px!important;
    background-position:
      0 var(--film-frame-y,0px),
      0 var(--film-frame-y2,0px),
      0 0,
      var(--film-grain-x,0px) var(--film-grain-y,0px),
      var(--film-grain-x2,0px) var(--film-grain-y2,0px),
      var(--film-grain-x2,0px) var(--film-grain-y,0px),
      var(--film-grain-x,0px) var(--film-grain-y2,0px),
      var(--film-grain-x2,0px) var(--film-grain-y,0px),
      var(--film-grain-x,0px) var(--film-grain-y2,0px),
      var(--film-grain-x2,0px) var(--film-grain-y,0px)!important;
    opacity:calc(var(--film-texture-opacity,.16) * 1.28)!important;
  }
  body.home .film-atmosphere::after{
    opacity:calc(var(--film-light-opacity,.08) * 1.23)!important;
  }
  body.home::after{
    opacity:calc(var(--film-sweep-opacity,.07) * 1.18)!important;
  }
}


/* =========================================================
   v1.9 — contact clarity on mobile + restored desktop home rails
   ========================================================= */
/* Keep each phone and its person's name together. */
.footer-phone{
  white-space:nowrap;
  width:max-content;
  max-width:100%;
}
@media(max-width:760px){
  .footer-phone{
    display:block!important;
    white-space:nowrap!important;
    width:max-content;
    max-width:100%;
    font-size:13px!important;
    line-height:1.75!important;
  }
}

/* On the desktop homepage, place one quiet vertical guide on each side
   of the centered 1200px content column. The lines sit OUTSIDE .wrap,
   so they never run beneath readable cards or text. */
@media(min-width:761px){
  body.home main::before,
  body.home main::after{
    content:"";
    position:fixed;
    top:80px;
    bottom:0;
    width:1px;
    z-index:6;
    pointer-events:none;
    background:linear-gradient(
      to bottom,
      transparent 0%,
      rgba(120,82,53,.13) 8%,
      rgba(120,82,53,.18) 48%,
      rgba(120,82,53,.13) 92%,
      transparent 100%
    );
    opacity:.78;
  }
  body.home main::before{
    left:max(12px, calc((100vw - 1200px)/2 - 10px));
  }
  body.home main::after{
    right:max(12px, calc((100vw - 1200px)/2 - 10px));
  }
}


/* =========================================================
   v2.0 — desktop homepage guide scratches are part of the film motion
   Static guides from v1.9 are disabled. Two faint animated scratches
   live well outside the content column and move only with the film reel.
   Mobile styling/animation is intentionally untouched.
   ========================================================= */
@media(min-width:761px){
  /* Disable the old static guides completely. */
  body.home main::before,
  body.home main::after{display:none!important;content:none!important}

  body.home .film-guide-lines{
    position:fixed;
    inset:0;
    z-index:7;
    pointer-events:none;
    overflow:hidden;
  }
  body.home .film-guide-lines::before,
  body.home .film-guide-lines::after{
    content:"";
    position:absolute;
    top:-18vh;
    width:1px;
    height:136vh;
    opacity:var(--film-guide-opacity,.055);
    background:
      repeating-linear-gradient(
        to bottom,
        transparent 0 24px,
        rgba(104,69,45,.34) 24px 88px,
        rgba(104,69,45,.16) 88px 91px,
        transparent 91px 154px
      );
    background-position:center var(--film-guide-y,0px);
    filter:blur(.08px);
    transform:translate3d(var(--film-guide-x,0px),var(--film-guide-shift,0px),0);
    will-change:background-position,transform,opacity;
    transition:opacity .28s ease-out;
  }
  /* Keep the scratches clearly outside the centered content, not hugging it. */
  body.home .film-guide-lines::before{
    left:max(10px,calc((100vw - 1200px)/2 - 54px));
  }
  body.home .film-guide-lines::after{
    right:max(10px,calc((100vw - 1200px)/2 - 54px));
    transform:translate3d(calc(var(--film-guide-x,0px) * -1),calc(var(--film-guide-shift,0px) * -.72),0);
    opacity:calc(var(--film-guide-opacity,.055) * .82);
  }
}
@media(max-width:760px){
  .film-guide-lines{display:none!important}
}


/* =========================================================
   v2.1 — homepage polish requested after v2.0
   Desktop homepage film is ~20% clearer, news lead no longer
   stretches to the height of the right column, and mobile footer
   keeps each phone and person name on one readable line.
   ========================================================= */
@media(min-width:761px){
  /* +20% visibility versus v2.0, only on the desktop homepage. */
  body.home .film-atmosphere::before{
    opacity:calc(var(--film-texture-opacity,.16) * 1.536)!important;
  }
  body.home .film-atmosphere::after{
    opacity:calc(var(--film-light-opacity,.08) * 1.476)!important;
  }
  body.home::after{
    opacity:calc(var(--film-sweep-opacity,.07) * 1.416)!important;
  }

  /* The featured news card should size to its content instead of
     stretching to the combined height of the three cards at right. */
  body.home .news-grid{align-items:start!important}
  body.home .news-lead{
    min-height:0!important;
    height:auto!important;
    align-self:start!important;
    justify-content:flex-start!important;
    gap:18px!important;
  }
  body.home .news-lead .card-link{margin-top:4px}
}

.footer-phone{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  gap:.45em!important;
  width:auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
.footer-phone-number,.footer-phone-name{white-space:nowrap!important}
@media(max-width:760px){
  .footer-phone{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    gap:.42em!important;
    width:100%!important;
    max-width:100%!important;
    margin:4px 0!important;
    font-size:clamp(11px,3.15vw,13px)!important;
    line-height:1.55!important;
    letter-spacing:0!important;
  }
}

/* v2.3 — customer photo-first homepage and editorial photo system */
body{font-family:"Inter",sans-serif}
.serif,.mobile-main-link,.mobile-accordion,.program-card h3,.home-hero-photo h1,.faces-stage figcaption span,.section h2,.article h1,.article h2,.article h3{font-family:"Cormorant Garamond",serif}

.home-hero-photo{position:relative;padding:54px 0 46px;background:linear-gradient(180deg,#fbf8f2 0%,#f5eadc 100%);overflow:hidden}
.home-hero-photo::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 22% 16%,rgba(255,255,255,.75),transparent 31%),radial-gradient(circle at 78% 72%,rgba(177,133,92,.09),transparent 34%)}
.home-hero-photo-inner{position:relative;z-index:1}
.home-hero-photo .home-hero-kicker{margin-bottom:18px;text-align:center;font-size:13px;letter-spacing:.19em}
.home-hero-photo-frame{position:relative;margin:0;overflow:hidden;border:1px solid rgba(143,98,61,.22);border-radius:26px;box-shadow:0 22px 60px rgba(58,38,24,.12);aspect-ratio:16/7.7;background:#d9cab8}
.home-hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 43%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.home-hero-photo-frame:hover img{transform:scale(1.012)}}
.home-hero-photo-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,20,14,.34),transparent 38%);pointer-events:none}
.home-hero-photo-mark{position:absolute;z-index:2;left:24px;bottom:20px;padding:8px 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(35,25,18,.35);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.home-hero-photo-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-top:28px}
.home-hero-photo h1{max-width:900px;margin:0;font-size:clamp(44px,5.4vw,78px);font-weight:500;line-height:.96;letter-spacing:-.045em;text-wrap:balance}
.home-hero-photo .home-hero-actions{justify-content:flex-end;margin:0;align-self:end}

.faces-section-first{padding-top:60px!important;background:#fffdf9}
.faces-section-first .section-head{margin-bottom:26px}
.faces-section-first .faces-stage{min-height:500px}
.faces-section-first .face-slide img{filter:saturate(.97) contrast(1.015)}
.face-slide-event figcaption small{max-width:520px}

.festival-photo-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:240px 220px;gap:14px;margin-top:24px}
.festival-photo-grid figure{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#e9dfd3;box-shadow:var(--shadow-soft)}
.festival-photo-grid__wide{grid-row:1/3}
.festival-photo-grid figure:nth-child(4){grid-column:2/4}
.festival-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.festival-photo-grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(25,17,12,.52),transparent 52%)}
.festival-photo-grid figcaption{position:absolute;z-index:2;left:15px;right:15px;bottom:13px;color:#fff;font-size:12px;font-weight:750;letter-spacing:.03em}
@media(hover:hover){.festival-photo-grid figure:hover img{transform:scale(1.025)}}

.editorial-photo-strip{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:12px;margin:24px 0 30px}
.editorial-photo-strip figure{position:relative;min-height:190px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#eee2d4}
.editorial-photo-strip figure:first-child{min-height:250px}
.editorial-photo-strip img{width:100%;height:100%;object-fit:cover}
.editorial-photo-strip figcaption{position:absolute;left:12px;bottom:11px;padding:6px 9px;border-radius:999px;background:rgba(34,24,18,.62);backdrop-filter:blur(5px);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.editorial-photo-strip--awards figure:first-child{min-height:210px}
.editorial-panorama{position:relative;overflow:hidden;margin:0 0 28px;border:1px solid var(--line);border-radius:20px;aspect-ratio:16/6;background:#eadfd1}
.editorial-panorama img{width:100%;height:100%;object-fit:cover}
.editorial-panorama::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,19,14,.58),transparent 55%)}
.editorial-panorama>div{position:absolute;z-index:2;left:20px;bottom:17px;display:grid;gap:4px;color:#fff}
.editorial-panorama span{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.editorial-panorama strong{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:500}

.external-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.external-media-grid>a{display:grid;grid-template-columns:150px 1fr;grid-template-rows:auto 1fr auto;column-gap:16px;min-height:150px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease}
.external-media-grid img{grid-row:1/4;width:150px;height:126px;object-fit:cover;border-radius:12px}
.external-media-grid span,.press-active-grid span{font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.external-media-grid strong{align-self:center;font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.1;font-weight:600}
.external-media-grid small{color:var(--muted);font-size:11px;font-weight:700}
@media(hover:hover){.external-media-grid>a:hover,.press-active-grid>a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}}

.press-active-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.press-active-grid>a{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease}
.press-active-grid img{width:180px;height:132px;object-fit:cover;border-radius:12px}
.press-active-grid strong{display:block;margin:7px 0 9px;font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.12}
.press-active-grid small{color:var(--brown);font-weight:750}
.media-featured-links{padding-bottom:20px}

@media(max-width:900px){
  .home-hero-photo-copy{grid-template-columns:1fr;gap:20px}
  .home-hero-photo .home-hero-actions{justify-content:flex-start}
  .festival-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 200px 200px}
  .festival-photo-grid__wide{grid-column:1/3;grid-row:1}
  .festival-photo-grid figure:nth-child(4){grid-column:1/3}
  .external-media-grid,.press-active-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .home-hero-photo{padding:28px 0 34px}
  .home-hero-photo .home-hero-kicker{margin-bottom:13px;font-size:10px}
  .home-hero-photo-frame{aspect-ratio:4/3;border-radius:18px}
  .home-hero-photo-frame img{object-position:center center}
  .home-hero-photo-mark{left:12px;bottom:11px;font-size:9px;padding:6px 9px}
  .home-hero-photo-copy{margin-top:20px;gap:16px}
  .home-hero-photo h1{font-size:42px;line-height:.97;letter-spacing:-.04em}
  .home-hero-photo .home-hero-actions{display:grid;width:100%}
  .home-hero-photo .btn{width:100%;justify-content:center}
  .faces-section-first{padding-top:42px!important}
  .faces-section-first .faces-stage{min-height:390px}
  .festival-photo-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:10px}
  .festival-photo-grid__wide,.festival-photo-grid figure:nth-child(4){grid-column:auto;grid-row:auto}
  .festival-photo-grid figure{height:210px;border-radius:15px}
  .festival-photo-grid figure:first-child{height:250px}
  .editorial-photo-strip{grid-template-columns:1fr 1fr;gap:9px}
  .editorial-photo-strip figure,.editorial-photo-strip figure:first-child{min-height:155px}
  .editorial-photo-strip figure:first-child{grid-column:1/3;min-height:215px}
  .editorial-panorama{aspect-ratio:4/3}
  .external-media-grid>a{grid-template-columns:100px 1fr;min-height:120px;padding:9px;column-gap:11px}
  .external-media-grid img{width:100px;height:100px;border-radius:10px}
  .external-media-grid strong{font-size:17px}
  .press-active-grid>a{grid-template-columns:100px 1fr;gap:11px;padding:9px}
  .press-active-grid img{width:100px;height:100px;border-radius:10px}
  .press-active-grid strong{font-size:17px}
}


/* === v2.7 WordPress update: selected cinematic hero + unified typography === */
:root{
  --font-body:"Inter",sans-serif;
  --font-display:"Cormorant Garamond",serif;
}
body{font-family:var(--font-body)!important}
h1,h2,h3,.serif,.mobile-main-link,.mobile-accordion,.program-card h3,.faces-stage figcaption span,
.section h2,.article h1,.article h2,.article h3,.page-hero h1,.section-head h2,.names-panel h3,
.news-lead h3,.news-item h3,.card h3,.year-block h2,.jury-year h2,.winner-year h2,.partner-cta h2,
.status-box h2,.paper-application-head h2,.sv-news-entry>h2,.sv-news-entry>h3,.sv-news-entry blockquote,
.editorial-panorama strong,.original-media-period-head h2{
  font-family:var(--font-display)!important;
}

body.home.hero-photo-home .site-header{
  position:absolute;top:0;left:0;right:0;z-index:70;
  background:linear-gradient(180deg,rgba(12,9,7,.23),rgba(12,9,7,.035))!important;
  -webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;box-shadow:none!important;
}
body.home.hero-photo-home .site-header .brand{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
body.home.hero-photo-home .site-header .brand img{filter:drop-shadow(0 5px 15px rgba(0,0,0,.25))!important;opacity:1!important}
body.home.hero-photo-home .site-header .nav button,
body.home.hero-photo-home .site-header .nav>a{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
body.home.hero-photo-home .site-header .nav-item>button::after{border-color:#fff;opacity:.8}
body.home.hero-photo-home .site-header .burger{border-color:rgba(255,255,255,.58)!important;background:rgba(16,11,8,.12)!important;box-shadow:none!important}
body.home.hero-photo-home .site-header .burger span,
body.home.hero-photo-home .site-header .burger span::before,
body.home.hero-photo-home .site-header .burger span::after{background:#fff!important}
body.home.hero-photo-home .site-header .burger.is-active span{background:transparent!important}

.home-hero-cinematic{position:relative;min-height:100svh;overflow:hidden;background:#21160f;color:#fff;display:flex;align-items:stretch}
.home-hero-cinematic-bg{position:absolute;inset:0;background-image:var(--sv-hero-image);background-position:center 43%;background-size:cover;background-repeat:no-repeat;transform:scale(1.012)}
.home-hero-cinematic-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,10,7,.78) 0%,rgba(16,10,7,.54) 35%,rgba(16,10,7,.14) 66%,rgba(16,10,7,.07) 100%),linear-gradient(180deg,rgba(10,7,5,.08),rgba(10,7,5,.07) 65%,rgba(10,7,5,.34))}
.home-hero-cinematic-inner{position:relative;z-index:4;display:flex;align-items:center;width:min(var(--container),calc(100% - 72px));min-height:100svh;margin-inline:auto;padding:116px 0 64px}
.home-hero-cinematic-copy{max-width:760px}
.home-hero-kicker-new{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(20,14,10,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:800;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#fff}
.home-hero-cinematic h1{max-width:760px;margin:17px 0 21px;font-size:clamp(51px,5.05vw,76px);font-weight:500;line-height:.97;letter-spacing:-.032em;color:#fff;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none;text-shadow:0 6px 30px rgba(0,0,0,.24)}
.home-hero-cinematic p{max-width:590px;margin:0;color:rgba(255,255,255,.88);font-size:17px;line-height:1.55}
.home-hero-actions-new{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.home-hero-actions-new .btn{min-height:50px;border-radius:999px;padding:0 22px;font-weight:800}
.home-hero-actions-new .hero-primary{background:#fff;color:#261a13;border-color:#fff}
.home-hero-actions-new .hero-secondary{background:rgba(26,18,13,.26);color:#fff;border:1px solid rgba(255,255,255,.30);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.home-hero-actions-mobile{display:none}
.faces-section-first{padding-top:68px}

@media(max-width:800px){
  body.home.hero-photo-home .site-header{background:linear-gradient(180deg,rgba(12,9,7,.20),rgba(12,9,7,.025))!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important}
  body.home.hero-photo-home .site-header .brand img{width:148px!important}
  .home-hero-cinematic{min-height:780px}
  .home-hero-cinematic-bg{background-position:calc(56% + 5px) center;transform:scale(1.02)}
  .home-hero-cinematic-overlay{background:linear-gradient(180deg,rgba(12,8,6,.50) 0%,rgba(12,8,6,.33) 31%,rgba(12,8,6,.12) 58%,rgba(12,8,6,.50) 100%),linear-gradient(90deg,rgba(12,8,6,.22),transparent 74%)}
  .home-hero-cinematic-inner{width:100%;min-height:780px;display:block;margin:0;padding:118px 20px 38px}
  .home-hero-cinematic-copy{max-width:350px}
  .home-hero-kicker-new{min-height:30px;padding:0 10px;font-size:9.5px;letter-spacing:.12em}
  .home-hero-cinematic h1{max-width:342px;margin:14px 0 14px;font-size:38px;line-height:.98;letter-spacing:-.02em;text-wrap:balance}
  .home-hero-cinematic p{max-width:322px;font-size:14px;line-height:1.48}
  .home-hero-actions-desktop{display:none}
  .home-hero-actions-mobile{display:grid;position:absolute;left:20px;right:20px;bottom:42px;gap:9px;margin:0}
  .home-hero-actions-mobile .btn{width:100%;min-height:46px;justify-content:center}
  .faces-section-first{padding-top:48px}
}
@media(max-width:430px){
  .home-hero-cinematic-bg{background-position:calc(57% + 5px) center}
  .home-hero-cinematic-inner{padding-top:114px}
  .home-hero-cinematic h1{font-size:37px;max-width:330px}
}

/* Original TV/press archive imported from the old official site. */
.content-wrap-media{grid-template-columns:minmax(0,1fr) 260px;align-items:start}
.original-media-page{min-width:0}
.original-media-archive{display:grid;gap:34px}
.original-media-archive h2,.original-media-archive h3,.original-media-archive h4{margin:34px 0 12px;color:var(--ink);line-height:1.05}
.original-media-archive h2{font-size:40px}.original-media-archive h3{font-size:29px}
.original-media-archive p{margin:0 0 13px;line-height:1.72;color:#5d5148}
.original-media-archive a{font-weight:700;color:#704a2f;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.original-media-archive a:hover{color:var(--brown)}
.original-media-archive iframe,.original-media-archive video{display:block;width:100%!important;max-width:860px;height:auto!important;aspect-ratio:16/9;margin:18px 0 28px;border:0;border-radius:18px;background:#1f1813;box-shadow:var(--shadow-soft)}
.original-media-archive hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.original-media-archive ul,.original-media-archive ol{padding-left:22px}
.original-media-period{padding:28px;border:1px solid var(--line);border-radius:22px;background:rgba(255,253,249,.84)}
.original-media-period+.original-media-period{margin-top:18px}
.original-media-period-head{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.original-media-period-head span{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--brown)}
.original-media-period-head h2{margin:5px 0 0!important;font-size:46px!important}
.original-media-empty{padding:22px;border:1px dashed var(--line);border-radius:16px;background:var(--cream)}
.original-media-empty p{margin:6px 0 0}
@media(max-width:980px){.content-wrap-media{grid-template-columns:1fr}.content-wrap-media .sidebox{display:none}}
@media(max-width:700px){
  .original-media-period{padding:18px 16px;border-radius:18px}
  .original-media-archive h2{font-size:34px}.original-media-archive h3{font-size:25px}
  .original-media-period-head h2{font-size:38px!important}
  .original-media-archive iframe,.original-media-archive video{border-radius:14px;margin:14px 0 22px}
}

/* === v2.8: exact hero line breaks + WordPress admin-bar offset === */
.home-hero-cinematic .sv-hero-title{display:grid;gap:0;max-width:820px;font-size:clamp(54px,5.25vw,80px)!important;line-height:.94!important;text-wrap:initial!important}
.home-hero-cinematic .sv-hero-title>span{display:block;white-space:nowrap}
.home-hero-cinematic .sv-hero-hyphen{font-family:"Inter",sans-serif!important;font-size:.78em;font-weight:400;display:inline-block;vertical-align:.08em;letter-spacing:0}
body.admin-bar.home.hero-photo-home .site-header{top:32px!important}
@media(max-width:782px){body.admin-bar.home.hero-photo-home .site-header{top:46px!important}}
@media(max-width:800px){
  .home-hero-cinematic .sv-hero-title{font-size:40px!important;line-height:.96!important;max-width:360px!important;gap:1px}
  .home-hero-cinematic .sv-hero-title>span{white-space:nowrap}
}
@media(max-width:430px){.home-hero-cinematic .sv-hero-title{font-size:39px!important;max-width:350px!important}}

/* v2.9 — WordPress-managed TV / press archive */
.sv-media-archive{display:grid;gap:46px}.sv-media-year{min-width:0}.sv-media-year-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:12px}.sv-media-year-head span{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}.sv-media-year-head h2{margin:0!important;font-size:44px!important;line-height:1!important}.sv-media-list{display:grid}.sv-media-entry{padding:20px 0;border-bottom:1px solid var(--line)}.sv-media-entry:last-child{border-bottom:0}.sv-media-entry-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:7px;font-size:13px;color:#7e6d5f}.sv-media-entry-meta strong{color:var(--brown);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.sv-media-entry h3{margin:0!important;font-size:23px!important;line-height:1.24!important}.sv-media-entry h3 a{color:var(--ink);text-decoration:none!important}.sv-media-entry h3 a:hover{color:var(--brown)}.sv-media-description{max-width:850px;margin-top:9px;color:#65584e;line-height:1.65}.sv-media-description p{margin:0!important}.sv-media-video{max-width:900px;margin:18px 0 4px}.sv-media-video iframe,.sv-media-video video{display:block;width:100%!important;aspect-ratio:16/9;height:auto!important;border:0;border-radius:18px;background:#17120f;box-shadow:var(--shadow-soft)}
@media(max-width:720px){.sv-media-archive{gap:34px}.sv-media-year-head h2{font-size:36px!important}.sv-media-entry{padding:17px 0}.sv-media-entry h3{font-size:20px!important}.sv-media-video iframe,.sv-media-video video{border-radius:14px}}

/* v2.9.2 — media archive visibility safety.
   The archive can be hundreds of screens tall; a reveal observer using a
   percentage threshold can never reach its threshold, leaving the whole
   archive transparent while links/iframes remain clickable. */
.motion-ready .sv-media-archive.reveal{opacity:1!important;transform:none!important;transition:none!important}

/* === v2.9.3 — compact media archive, editable photos and gallery viewer === */
.home-hero-cinematic .sv-hero-title.sv-hero-title-free>span{white-space:normal}

/* Media archive years are compact accordions. The current/latest year stays open. */
.sv-media-archive{gap:14px}
.sv-media-year{min-width:0;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,249,.82);overflow:hidden}
.sv-media-year[open]{background:#fff}
.sv-media-year-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0!important;padding:17px 19px!important;border:0!important;cursor:pointer;list-style:none;user-select:none}
.sv-media-year-head::-webkit-details-marker{display:none}
.sv-media-year-head::marker{display:none;content:""}
.sv-media-year-label{display:flex;align-items:baseline;gap:12px;min-width:0}
.sv-media-year-label small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.sv-media-year-label strong{font-family:var(--font-display,"Cormorant Garamond",serif);font-size:32px;font-weight:600;line-height:1;color:var(--ink)}
.sv-media-year-toggle{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brown);transition:transform .2s ease,background .2s ease}
.sv-media-year-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sv-media-year[open] .sv-media-year-toggle{transform:rotate(180deg);background:var(--cream)}
.sv-media-year .sv-media-list{padding:0 19px 7px;border-top:1px solid var(--line)}
.sv-media-year:not([open]) .sv-media-list{display:none}
.sv-media-entry h3 a{display:inline;position:relative}
.sv-media-external-icon{display:inline-flex;vertical-align:.08em;margin-left:5px;color:var(--brown)}
.sv-media-external-icon svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}

/* Back arrow on media pages is an SVG, never an emoji glyph. */
.page-back{display:inline-flex;align-items:center;gap:6px}
.sv-back-icon{display:inline-block;width:8px;height:8px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:2px}

/* Clickable photo galleries. */
.sv-lightbox-source{cursor:zoom-in}
.sv-lightbox{position:fixed;inset:0;z-index:100000;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:1fr auto;background:rgba(18,14,12,.94);backdrop-filter:blur(9px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.sv-lightbox.is-open{opacity:1;pointer-events:auto}
.sv-lightbox-stage{grid-column:2;grid-row:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:38px 18px 18px}
.sv-lightbox-image{display:block;max-width:min(1180px,100%);max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.28);user-select:none;-webkit-user-drag:none}
.sv-lightbox-caption{grid-column:2;grid-row:2;min-height:52px;padding:0 18px 20px;text-align:center;color:#f5eee8;font-size:13px;line-height:1.45}
.sv-lightbox-btn{position:relative;align-self:center;justify-self:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.09);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .18s ease,transform .18s ease}
.sv-lightbox-btn:hover{background:rgba(255,255,255,.16);transform:scale(1.04)}
.sv-lightbox-prev{grid-column:1;grid-row:1}
.sv-lightbox-next{grid-column:3;grid-row:1}
.sv-lightbox-close{position:absolute;top:18px;right:18px;z-index:2;width:38px;height:38px}
.sv-lightbox-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body.sv-lightbox-open{overflow:hidden}

@media(max-width:760px){
  .sv-media-archive{gap:10px}
  .sv-media-year{border-radius:15px}
  .sv-media-year-head{padding:14px 15px!important;gap:12px}
  .sv-media-year-label{gap:9px}
  .sv-media-year-label small{font-size:9px}
  .sv-media-year-label strong{font-size:27px}
  .sv-media-year-toggle{width:25px;height:25px}
  .sv-media-year-toggle svg{width:11px;height:11px}
  .sv-media-year .sv-media-list{padding:0 15px 5px}
  .sv-media-external-icon{margin-left:4px;vertical-align:.06em}
  .sv-media-external-icon svg{width:9px;height:9px}
  .sv-back-icon{width:7px;height:7px}

  .sv-lightbox{display:block;background:rgba(15,12,10,.97)}
  .sv-lightbox-stage{height:100%;padding:58px 12px 82px;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
  .sv-lightbox-image{max-width:100%;max-height:calc(100vh - 150px);border-radius:7px}
  .sv-lightbox-caption{position:absolute;left:12px;right:12px;bottom:18px;padding:0;color:#f5eee8;font-size:12px}
  .sv-lightbox-prev,.sv-lightbox-next{display:none}
  .sv-lightbox-close{top:12px;right:12px;width:36px;height:36px}
}


/* === v2.9.4 — photo viewer hit areas, exact hero title and clearer media links === */
/* The visible overlays/captions must not swallow taps intended for the photo viewer. */
.face-slide::after,
.face-slide figcaption,
.festival-photo-grid figure::after,
.festival-photo-grid figcaption,
.editorial-panorama::after,
.editorial-panorama>div,
.editorial-photo-strip figcaption{pointer-events:none}
.sv-lightbox-trigger{cursor:zoom-in}

/* Article titles are links: restrained at rest, unmistakable on hover/focus. */
.sv-media-entry h3 a{
  text-decoration-line:underline!important;
  text-decoration-thickness:1px!important;
  text-decoration-color:rgba(143,98,61,.30)!important;
  text-underline-offset:4px;
  transition:color .18s ease,text-decoration-color .18s ease;
}
.sv-media-entry h3 a .sv-media-external-icon{transition:transform .18s ease,color .18s ease}
.sv-media-entry h3 a:focus-visible{outline:2px solid rgba(143,98,61,.40);outline-offset:4px;border-radius:3px}
@media(hover:hover){
  .sv-media-entry h3 a:hover{color:var(--brown);text-decoration-color:var(--brown)!important}
  .sv-media-entry h3 a:hover .sv-media-external-icon{transform:translate(2px,-2px)}
}


/* === v2.9.5 — clearer desktop dropdown affordance === */
@media(min-width:1081px){
  .nav-item>button{display:inline-flex;align-items:center;gap:7px}
  .nav-item>button::after{
    content:"";display:block;width:6px;height:6px;flex:0 0 6px;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    opacity:.62;transform:rotate(45deg) translateY(-1px);transform-origin:center;
    transition:transform .18s ease,opacity .18s ease
  }
  .nav-item:hover>button::after,.nav-item:focus-within>button::after{
    opacity:1;transform:rotate(225deg) translate(-1px,-1px)
  }
}


/* === v2.9.6 — approved homepage order, light hero and compact information blocks === */
.sv-clean-hero{position:relative;overflow:hidden;padding:54px 0 48px;background:radial-gradient(circle at 84% 20%,rgba(178,138,97,.12),transparent 30%),linear-gradient(180deg,#fcfaf6,#f7f0e6);border-bottom:1px solid rgba(143,98,61,.12)}
.sv-clean-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(143,98,61,.032) 0 1px,transparent 1px 76px);pointer-events:none}
.sv-clean-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.58fr);gap:54px;align-items:center}
.sv-clean-hero-copy{max-width:790px}
.sv-clean-hero .home-hero-kicker-new{color:var(--brown);background:rgba(255,255,255,.62);border-color:rgba(143,98,61,.22)}
.sv-clean-hero h1{max-width:820px;margin:17px 0 18px;font-family:var(--font-display)!important;font-size:clamp(48px,5.15vw,76px);font-weight:500;line-height:.97;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.sv-clean-hero p{max-width:610px;margin:0;color:var(--muted);font-size:17px;line-height:1.58}
.sv-clean-hero .home-hero-actions-new{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.sv-clean-hero .hero-primary{background:var(--dark);color:#fff;border-color:var(--dark)}
.sv-clean-hero .hero-secondary{background:#fff;color:var(--dark);border:1px solid var(--line-2);backdrop-filter:none}
.sv-clean-hero-logo{display:grid;place-items:center;min-height:340px;padding:10px 0}
.sv-clean-hero-logo img{width:min(100%,315px);max-height:355px;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(69,45,28,.08))}

.home-news-compact{padding:46px 0!important;background:#fffdf9}
.home-news-compact .section-head{margin-bottom:18px}
.home-news-compact .section-head h2{font-size:clamp(34px,3.5vw,48px)}
.home-news-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-news-compact .news-item{padding:16px 17px;min-height:0}
.home-news-compact .news-item h3{font-size:20px;margin:6px 0 5px}
.home-news-compact .news-item p{font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-news-compact .card-link{margin-top:10px;font-size:13px}

.home-competition .section-head{align-items:end}
.home-competition .section-head>div{max-width:none}
.home-competition .section-head h2{max-width:920px}

.home-program-compact{padding:44px 0!important;background:#f1e7da}
.home-program-compact .section-head{margin-bottom:16px;align-items:center}
.home-program-compact .section-head h2{font-size:clamp(34px,3.5vw,48px)}
.home-program-compact .year-block{margin:0;padding:17px 20px;box-shadow:none}
.home-program-compact .schedule-day{margin:0;padding-left:14px}
.home-program-compact .schedule-row{padding:8px 0;grid-template-columns:76px 1fr}
.home-program-compact .schedule-row div{display:flex;justify-content:space-between;gap:18px;align-items:baseline}
.home-program-compact .schedule-row span{color:var(--muted);font-size:13px;text-align:right}
.home-scale-block{background:#fffdf9}

.faces-photo-only .section-head{margin-bottom:22px}
.faces-photo-only .faces-grid{display:block}
.faces-photo-only .faces-slider{max-width:720px;margin:0 auto}
.faces-photo-only .faces-stage{min-height:0;aspect-ratio:3/2;border-radius:20px}
.faces-photo-only .face-slide img{object-fit:contain!important;object-position:center!important;background:#e7ddd1}
.faces-photo-only .face-slide::after{background:linear-gradient(to top,rgba(28,20,15,.18),transparent 34%)}
.faces-photo-only .face-slide figcaption{display:none}
.news-article-photo{margin:22px 0 30px}
.news-article-photo img{width:100%;height:auto;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}

@media(max-width:1080px){
  .sv-clean-hero-grid{grid-template-columns:1fr .48fr;gap:32px}
  .sv-clean-hero h1{font-size:clamp(44px,6.3vw,65px)}
  .sv-clean-hero-logo{min-height:300px}.sv-clean-hero-logo img{width:min(100%,260px)}
  .home-news-compact-grid{grid-template-columns:1fr 1fr}.home-news-compact-grid .news-item:last-child{grid-column:1/-1}
  .faces-photo-only .faces-slider{max-width:680px}
}
@media(max-width:760px){
  .sv-clean-hero{padding:34px 0 30px}
  .sv-clean-hero-grid{grid-template-columns:1fr;gap:22px}
  .sv-clean-hero h1{font-size:clamp(38px,10.5vw,51px);margin:13px 0 14px}
  .sv-clean-hero p{font-size:15px;line-height:1.5}
  .sv-clean-hero-logo{min-height:0;padding:4px 0 0;justify-items:start}.sv-clean-hero-logo img{width:min(68vw,245px);max-height:280px}
  .sv-clean-hero .home-hero-actions-new{display:grid;width:100%;gap:8px}.sv-clean-hero .btn{width:100%}
  .home-news-compact,.home-program-compact{padding:34px 0!important}
  .home-news-compact-grid{grid-template-columns:1fr}.home-news-compact-grid .news-item:last-child{grid-column:auto}
  .home-news-compact .section-head>.btn,.home-program-compact .section-head>.btn{margin-top:15px}
  .home-program-compact .schedule-row{grid-template-columns:60px 1fr}.home-program-compact .schedule-row div{display:block}.home-program-compact .schedule-row span{display:block;margin-top:3px;text-align:left}
  .faces-photo-only .faces-slider{max-width:none}.faces-photo-only .faces-stage{aspect-ratio:4/3}
}


/* === v2.9.8 — slider viewport start, Safari return-state fix and header logo alignment === */
@media(min-width:1081px){
  .header-row{grid-template-columns:228px 1fr auto}
  .brand img{width:210px!important}
}

/* Slider is intentionally paused until its IntersectionObserver starts it. */
.faces-slider.is-paused .faces-progress span{animation-play-state:paused!important}

@media(max-width:760px){
  .site-header .header-row{
    position:relative;
    display:flex!important;
    justify-content:center;
    align-items:center;
    min-height:80px;
    padding-inline:54px;
  }
  .site-header .brand{
    margin:0 auto!important;
    display:flex!important;
    justify-content:center;
    align-items:center;
    width:max-content!important;
    max-width:100%;
  }
  .site-header .brand img{width:168px!important;height:auto}
  .site-header .burger{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    margin:0;
  }
}


/* === v2.10.3 — corrected logo targets ===
   Header logo: keep desktop size, keep it left on mobile.
   Hero vertical logo: larger on desktop and centered on mobile.
*/

/* Header logo — restore the size/layout from before v2.10.2. */
@media (min-width:1081px){
  .site-header .header-row{
    grid-template-columns:228px 1fr auto !important;
  }
  .site-header .brand{
    justify-self:start !important;
    width:max-content !important;
  }
  .site-header .brand img{
    width:210px !important;
    max-width:none !important;
    height:auto !important;
  }
}

@media (max-width:760px){
  .site-header .header-row{
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:10px !important;
    min-height:72px !important;
    padding-inline:0 !important;
    align-items:center !important;
  }

  .site-header .brand{
    grid-column:1 !important;
    justify-self:start !important;
    margin:0 !important;
    width:max-content !important;
    max-width:100% !important;
    transform:none !important;
  }

  .site-header .brand img{
    width:158px !important;
    max-width:158px !important;
    height:auto !important;
    margin:0 !important;
  }

  .site-header .burger{
    grid-column:2 !important;
    justify-self:end !important;
    position:static !important;
    top:auto !important;
    right:auto !important;
    transform:none !important;
    margin:0 !important;
  }
}

/* Main hero vertical logo — THIS is the logo that should be larger/centered. */
@media (min-width:1081px){
  .sv-clean-hero-logo{
    min-height:390px !important;
    justify-items:center !important;
  }
  .sv-clean-hero-logo img{
    width:min(100%,370px) !important;
    max-height:420px !important;
    margin-inline:auto !important;
  }
}

@media (min-width:761px) and (max-width:1080px){
  .sv-clean-hero-logo{
    justify-items:center !important;
  }
  .sv-clean-hero-logo img{
    width:min(100%,300px) !important;
    max-height:340px !important;
  }
}

@media (max-width:760px){
  .sv-clean-hero-logo{
    min-height:0 !important;
    padding:8px 0 0 !important;
    justify-items:center !important;
    align-items:center !important;
    width:100% !important;
  }
  .sv-clean-hero-logo img{
    display:block !important;
    width:min(74vw,280px) !important;
    max-height:320px !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }
}


/* === v2.10.5 — privacy policy page === */
.footer-legal{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(143,98,61,.14)}
.footer-legal a{font-size:13px;color:#66584d;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.footer-legal a:hover{color:var(--brown)}
.sv-legal-hero{padding-bottom:34px}
.sv-legal-section{padding-top:34px}
.sv-legal-wrap{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:38px;align-items:start}
.sv-legal-summary{position:sticky;top:106px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);font-size:13px;line-height:1.55}
.sv-legal-summary strong{display:block;margin-bottom:10px;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:500;line-height:1.15}
.sv-legal-summary p{margin:0 0 12px;color:#53463c}
.sv-legal-summary span,.sv-legal-summary a{display:block;margin-top:7px;color:#716257}
.sv-legal-summary a{text-decoration:underline;text-underline-offset:3px}
.sv-legal-article{max-width:900px}
.sv-legal-lead{font-size:18px!important;line-height:1.7!important;color:#4f4238}
.sv-legal-article h2{scroll-margin-top:110px;margin-top:42px!important}
.sv-legal-article ul{padding-left:22px}
.sv-legal-article li{margin:8px 0}
.sv-legal-table-wrap{overflow-x:auto;margin:20px 0 26px;border:1px solid var(--line);border-radius:16px;background:#fff}
.sv-legal-table{width:100%;border-collapse:collapse;min-width:720px}
.sv-legal-table th,.sv-legal-table td{padding:14px 15px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;text-align:left;font-size:14px;line-height:1.55}
.sv-legal-table th:last-child,.sv-legal-table td:last-child{border-right:0}
.sv-legal-table tr:last-child td{border-bottom:0}
.sv-legal-table th{background:#f4ecdf;color:#4c3e34;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.sv-legal-contact{margin-top:42px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#f8f1e7}
.sv-legal-contact strong{display:block;font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:500;line-height:1.15}
.sv-legal-contact p{margin:8px 0 0!important}
@media(max-width:860px){
  .sv-legal-wrap{grid-template-columns:1fr;gap:22px}
  .sv-legal-summary{position:static}
}
@media(max-width:760px){
  .sv-legal-hero{padding-bottom:24px}
  .sv-legal-section{padding-top:24px}
  .sv-legal-lead{font-size:16px!important}
  .sv-legal-article h2{margin-top:34px!important}
  .sv-legal-table th,.sv-legal-table td{padding:12px}
}


/* === v2.10.6 — polished legal page / no stock WordPress privacy template === */
.sv-legal-page{
  background:
    radial-gradient(circle at 85% 4%,rgba(218,184,140,.16),transparent 30%),
    linear-gradient(180deg,#fbf8f2 0%,#fffdf9 42%,#f8f1e8 100%);
}
.sv-legal-hero{
  position:relative;
  overflow:hidden;
  padding:70px 0 48px!important;
  border-bottom:1px solid rgba(143,98,61,.13);
  background:transparent!important;
}
.sv-legal-hero::after{
  content:"";
  position:absolute;
  right:7%;
  top:14px;
  width:280px;
  height:280px;
  border:1px solid rgba(143,98,61,.10);
  border-radius:50%;
  box-shadow:0 0 0 36px rgba(143,98,61,.025),0 0 0 72px rgba(143,98,61,.018);
  pointer-events:none;
}
.sv-legal-hero .wrap{position:relative;z-index:1}
.sv-legal-hero h1{
  max-width:900px;
  margin:12px 0 14px!important;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(46px,5.7vw,78px)!important;
  font-weight:500!important;
  line-height:.98!important;
  letter-spacing:-.035em;
}
.sv-legal-hero p{margin:0!important;font-size:14px!important;color:#7b6c61!important}
.sv-legal-section{padding:42px 0 78px!important;background:transparent!important}
.sv-legal-wrap{grid-template-columns:minmax(245px,310px) minmax(0,1fr)!important;gap:46px!important}
.sv-legal-summary{
  top:104px!important;
  padding:23px!important;
  border:1px solid rgba(143,98,61,.17)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.82)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 48px rgba(79,55,35,.07)!important;
}
.sv-legal-summary-label{
  margin-bottom:10px;
  color:var(--brown);
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sv-legal-summary strong{font-size:20px!important;line-height:1.22!important}
.sv-legal-requisites{margin:13px 0 5px;color:#4f4238;font-size:12px;font-weight:750}
.sv-legal-summary span,.sv-legal-summary>a{margin-top:10px!important;font-size:12px;line-height:1.5}
.sv-legal-nav{display:grid;gap:1px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
.sv-legal-nav a{
  display:block;
  padding:8px 9px;
  border-radius:9px;
  color:#67584d;
  font-size:12px;
  font-weight:650;
  text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.sv-legal-nav a:hover{background:#f3eadf;color:var(--brown)}
.sv-legal-article{
  max-width:880px!important;
  padding:32px 38px 38px;
  border:1px solid rgba(143,98,61,.13);
  border-radius:24px;
  background:rgba(255,255,255,.86);
  box-shadow:0 20px 60px rgba(79,55,35,.055);
}
.sv-legal-lead{
  margin:0!important;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
  font-family:"Cormorant Garamond",serif;
  font-size:20px!important;
  line-height:1.62!important;
  color:#43372f!important;
}
.sv-legal-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:20px 0 6px;
}
.sv-legal-facts>div{
  min-height:108px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#faf5ee;
}
.sv-legal-facts span{
  display:block;
  margin-bottom:7px;
  color:#8a7768;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sv-legal-facts strong{font-size:13px;line-height:1.42;color:#4a3c32}
.sv-legal-article h2{
  position:relative;
  margin:42px 0 15px!important;
  padding-top:4px;
  font-family:"Cormorant Garamond",serif;
  font-size:29px!important;
  font-weight:500!important;
  line-height:1.1!important;
  color:#2f251f;
}
.sv-legal-article h2::before{
  content:"";
  display:block;
  width:38px;
  height:2px;
  margin-bottom:13px;
  background:var(--brown-2);
}
.sv-legal-article p,.sv-legal-article li{
  color:#5f5147;
  font-size:15px!important;
  line-height:1.75!important;
}
.sv-legal-article a{color:var(--brown);text-underline-offset:3px}
.sv-legal-table-wrap{box-shadow:none!important;border-color:rgba(143,98,61,.15)!important}
.sv-legal-table th{background:#f1e7da!important}
.sv-legal-contact{
  margin-top:48px!important;
  padding:24px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f2e6d7,#faf5ee)!important;
}
@media(max-width:860px){
  .sv-legal-hero{padding:48px 0 34px!important}
  .sv-legal-hero::after{width:180px;height:180px;right:-50px}
  .sv-legal-wrap{grid-template-columns:1fr!important;gap:20px!important}
  .sv-legal-summary{position:static!important}
  .sv-legal-nav{grid-template-columns:1fr 1fr}
  .sv-legal-article{padding:26px 24px 32px}
}
@media(max-width:640px){
  .sv-legal-hero h1{font-size:40px!important}
  .sv-legal-summary{padding:18px!important}
  .sv-legal-nav{grid-template-columns:1fr}
  .sv-legal-facts{grid-template-columns:1fr}
  .sv-legal-facts>div{min-height:0}
  .sv-legal-article{padding:22px 18px 28px;border-radius:18px}
  .sv-legal-lead{font-size:17px!important}
  .sv-legal-article h2{font-size:26px!important}
}


/* =========================================================
   v2.11.0 — client-approved homepage direction
   Sayt.docx + reviewed preview corrections
   ========================================================= */

.sv-client-hero{
  position:relative;
  overflow:hidden;
  padding:58px 0 62px;
  background:
    radial-gradient(circle at 84% 24%,rgba(201,164,116,.17),transparent 34%),
    linear-gradient(180deg,#fffdf9 0%,#f5ebdf 100%);
}
.sv-client-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(143,98,61,.035) 0 1px,transparent 1px 118px);
}
.sv-client-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);
  gap:38px;
  align-items:center;
}
.sv-client-hero-copy h1{
  max-width:930px;
  margin:14px 0 11px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(48px,4.55vw,66px);
  font-weight:500;
  line-height:.97;
  letter-spacing:-.045em;
}
.sv-home-hero-name{white-space:nowrap}
.sv-client-slogan{
  margin:0;
  color:#765e4c;
  font-family:"Cormorant Garamond",serif;
  font-size:25px;
  letter-spacing:.04em;
}
.sv-client-hero-logo{display:grid;place-items:center}
.sv-client-hero-logo img{
  width:min(100%,315px);
  max-height:390px;
  object-fit:contain;
  filter:drop-shadow(0 16px 34px rgba(69,45,28,.08));
}
.sv-home-filmstrip{
  position:relative;
  max-width:760px;
  margin-top:24px;
  padding:17px 16px;
  overflow:hidden;
  border-radius:8px;
  background:#d8a964;
  box-shadow:0 12px 32px rgba(92,58,28,.12);
}
.sv-home-filmstrip::before,
.sv-home-filmstrip::after{
  content:"";
  position:absolute;
  left:0;right:0;
  height:9px;
  background:repeating-linear-gradient(90deg,#fff7e9 0 13px,transparent 13px 24px);
  pointer-events:none;
}
.sv-home-filmstrip::before{top:4px}
.sv-home-filmstrip::after{bottom:4px}
.sv-home-filmframes{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.sv-home-film-frame{
  display:block;
  overflow:hidden;
  padding:4px;
  aspect-ratio:16/9;
  background:#fff8ec;
}
.sv-home-film-frame img{width:100%;height:100%;object-fit:cover}

/* Program preview */
.sv-program-preview-section{background:#f4eadf}
.sv-program-overview{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:16px;
  margin-bottom:24px;
}
.sv-program-feature{
  min-height:285px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:29px;
  border-radius:22px;
  background:var(--dark);
  color:#fff;
}
.sv-program-feature h3{
  margin:9px 0 14px;
  font-family:"Cormorant Garamond",serif;
  font-size:42px;
  font-weight:500;
  line-height:1;
}
.sv-program-feature p{max-width:650px;margin:0;color:#d7c7ba;line-height:1.6}
.sv-program-feature .btn{align-self:flex-start;margin-top:22px}
.sv-program-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sv-program-number{
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.sv-program-number strong{
  display:block;
  margin-bottom:8px;
  font-family:"Cormorant Garamond",serif;
  font-size:52px;
  font-weight:500;
  line-height:1;
}
.sv-program-number span{display:block;color:var(--muted);font-size:14px;line-height:1.48}

/* Schedule */
.sv-schedule{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.sv-schedule-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:18px 24px;
  border-bottom:1px solid var(--line);
  background:#fffaf4;
}
.sv-schedule-title h3{
  margin:3px 0 4px;
  font-family:"Cormorant Garamond",serif;
  font-size:38px;
  font-weight:500;
  line-height:1;
}
.sv-schedule-title p{margin:0;color:var(--muted);font-size:13px}
.sv-city-tabs,.sv-day-tabs{display:flex;gap:7px;flex-wrap:wrap}
.sv-tab{
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#685446;
  padding:9px 13px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.sv-tab.is-active{border-color:var(--dark);background:var(--dark);color:#fff}
.sv-tab.is-disabled{opacity:.48;cursor:not-allowed}
.sv-day-tabs{
  padding:11px 24px;
  border-bottom:1px solid var(--line);
}
.sv-day-panel{display:none;padding:0 24px}
.sv-day-panel.is-active{display:block}
.sv-venue-head{padding:21px 0 13px}
.sv-venue-head span{
  display:block;
  margin-bottom:5px;
  color:var(--brown);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.sv-venue-head h4{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:23px;
  font-weight:500;
}
.sv-venue-head p{margin:5px 0 0;color:var(--muted);font-size:13px}
.sv-show{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid #eee1d3;
}
.sv-show time{
  color:#7c5638;
  font-family:"Cormorant Garamond",serif;
  font-size:21px;
}
.sv-show h4{margin:1px 0 5px;font-size:15px}
.sv-show p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.sv-age{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:28px;
  border-radius:999px;
  background:#f0e2d0;
  color:#664a34;
  font-size:11px;
  font-weight:900;
}
.sv-special-note{
  margin:4px 0 10px;
  padding:11px 14px;
  border-radius:12px;
  background:#f3e9da;
  color:#735337;
  font-size:12px;
  font-weight:800;
}
.sv-second-venue{
  margin:24px 0 18px;
  padding:0 16px 8px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fffaf4;
}
.sv-schedule--compact .sv-day-panel.is-active .sv-show:nth-child(n+5){display:none}
.sv-schedule--compact .sv-day-panel.is-active .sv-second-venue{display:none}
.sv-schedule--compact.is-expanded .sv-day-panel.is-active .sv-show:nth-child(n+5){display:grid}
.sv-schedule--compact.is-expanded .sv-day-panel.is-active .sv-second-venue{display:block}
.sv-schedule-expand-wrap{
  display:flex;
  justify-content:center;
  padding:13px 18px 18px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.78),#fffaf4);
}
.sv-schedule-expand{
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#5d493b;
  padding:10px 16px;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}
.sv-schedule-expand:hover{background:#f7eee3}
.sv-schedule-expand span{display:inline-block;margin-left:6px;transition:transform .2s ease}
.sv-schedule.is-expanded .sv-schedule-expand span{transform:rotate(180deg)}
.sv-program-page-hero p{max-width:720px}

/* Media: no empty gap — two large + three equal cards. */
.sv-client-media-layout{display:grid;gap:14px}
.sv-client-media-top{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.sv-client-media-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sv-client-media-feature{min-height:315px}
.sv-client-media-small{min-height:235px}
.sv-client-media-feature:first-child img{object-position:center 44%}
.sv-client-media-small h3{font-size:21px}
.sv-client-media-layout .media-card .cap p{
  margin:6px 0 0;
  color:#eadfd5;
  font-size:12px;
  line-height:1.45;
}

/* Client requested no captions laid over the atmosphere photos. */
.faces-photo-only .face-slide figcaption{display:none!important}

/* Footer social placeholders when links are not supplied yet. */
.footer-socials span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(221,183,134,.28);
  border-radius:999px;
  color:#b7a79a;
  font-size:12px;
  font-weight:650;
}

@media(max-width:980px){
  .sv-client-hero-grid{grid-template-columns:minmax(0,1fr) 220px}
  .sv-client-hero-copy h1{font-size:clamp(44px,5.8vw,58px)}
  .sv-program-overview{grid-template-columns:1fr}
  .sv-client-media-top{grid-template-columns:1fr 1fr}
  .sv-client-media-feature{min-height:285px}
  .sv-client-media-small{min-height:215px}
}
@media(max-width:760px){
  .sv-client-hero{padding:34px 0 38px}
  .sv-client-hero-grid{grid-template-columns:1fr;gap:22px}
  .sv-client-hero-logo{order:-1}
  .sv-client-hero-logo img{width:min(70vw,270px)}
  .sv-client-hero-copy h1{font-size:clamp(37px,10.7vw,49px);line-height:.98}
  .sv-home-hero-name{white-space:normal}
  .sv-client-slogan{font-size:21px}
  .sv-home-filmstrip{margin-top:20px;overflow-x:auto}
  .sv-home-filmframes{grid-template-columns:repeat(4,155px);min-width:max-content}
  .sv-program-numbers{grid-template-columns:1fr 1fr}
  .sv-program-number{padding:18px}
  .sv-program-number strong{font-size:42px}
  .sv-schedule-top{display:block}
  .sv-city-tabs{margin-top:13px}
  .sv-day-tabs{flex-wrap:nowrap;overflow-x:auto;padding-inline:16px}
  .sv-tab{white-space:nowrap}
  .sv-day-panel{padding:0 16px}
  .sv-show{grid-template-columns:58px minmax(0,1fr) auto;gap:9px}
  .sv-show time{font-size:18px}
  .sv-show h4{font-size:14px}
  .sv-client-media-top,.sv-client-media-bottom{grid-template-columns:1fr}
  .sv-client-media-feature,.sv-client-media-small{min-height:275px}
}
@media(max-width:440px){
  .sv-program-numbers{grid-template-columns:1fr}
  .sv-home-filmframes{grid-template-columns:repeat(4,145px)}
}


/* v2.11.1 — slightly larger first screen and film strip */
.sv-client-hero{
  padding-top:66px;
  padding-bottom:70px;
}
.sv-client-hero-grid{
  grid-template-columns:minmax(0,1.62fr) minmax(250px,.38fr);
  gap:42px;
}
.sv-home-filmstrip{
  max-width:840px;
  margin-top:27px;
  padding:19px 17px;
}
.sv-home-filmframes{gap:8px}
.sv-home-film-frame{padding:5px}
.sv-client-hero-logo img{
  width:min(100%,325px);
  max-height:400px;
}

@media(max-width:980px){
  .sv-client-hero-grid{grid-template-columns:minmax(0,1fr) 225px}
  .sv-home-filmstrip{max-width:100%}
}
@media(max-width:760px){
  .sv-client-hero{
    padding-top:38px;
    padding-bottom:44px;
  }
  .sv-home-filmframes{grid-template-columns:repeat(4,170px)}
}
@media(max-width:440px){
  .sv-home-filmframes{grid-template-columns:repeat(4,158px)}
}


/* v2.11.2 — schedule must never look empty on first load */
.sv-schedule:not(.sv-schedule-js-ready) .sv-day-panel:first-of-type{
  display:block;
}


/* =========================================================
   v2.11.3 — mobile hero cleanup + swipeable festival dates
   ========================================================= */

/* Program heading: no redundant conceptual paragraph. */
.sv-program-section-head{margin-bottom:22px}
.sv-program-section-head>div{max-width:none}
.sv-program-feature-clean{min-height:220px}
.sv-program-feature-clean h3{margin-bottom:0}

/* Date strip behaves like a native horizontal carousel on touch devices. */
.sv-day-tabs{
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  flex-wrap:nowrap;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
}
.sv-day-tabs::-webkit-scrollbar{display:none}
.sv-day-tabs .sv-day-tab{
  flex:0 0 auto;
  scroll-snap-align:center;
}
.sv-day-tabs::before,
.sv-day-tabs::after{
  content:"";
  flex:0 0 2px;
}

/* Mobile hero becomes one clean vertical composition instead of squeezing logo + title side-by-side. */
@media(max-width:760px){
  .sv-client-hero{
    padding:34px 0 42px;
  }
  .sv-client-hero-grid{
    display:flex;
    flex-direction:column;
    gap:18px;
    align-items:stretch;
  }
  .sv-client-hero-logo{
    order:0;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
  }
  .sv-client-hero-logo img{
    width:min(58vw,220px);
    max-height:250px;
    margin:0 auto;
  }
  .sv-client-hero-copy{
    order:1;
    width:100%;
    text-align:center;
  }
  .sv-client-hero-copy .home-hero-kicker-new{
    display:inline-flex;
    margin:0 auto 8px;
  }
  .sv-client-hero-copy h1{
    max-width:100%;
    margin:8px auto 10px;
    font-size:clamp(34px,9.6vw,44px);
    line-height:.98;
    text-align:center;
    letter-spacing:-.035em;
  }
  .sv-home-hero-name{white-space:normal}
  .sv-client-slogan{
    font-size:20px;
    text-align:center;
  }

  /* Film strip is full width, larger and finger-swipeable. */
  .sv-home-filmstrip{
    max-width:none;
    width:100%;
    margin:22px 0 0;
    padding:18px 14px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    touch-action:pan-x;
  }
  .sv-home-filmstrip::-webkit-scrollbar{display:none}
  .sv-home-filmframes{
    display:flex;
    width:max-content;
    min-width:max-content;
    gap:8px;
  }
  .sv-home-film-frame{
    flex:0 0 min(61vw,235px);
    width:min(61vw,235px);
    padding:5px;
  }

  /* Make day choice obviously swipeable and keep full pills visible. */
  .sv-day-tabs{
    gap:9px;
    padding:12px 16px 13px;
  }
  .sv-day-tabs .sv-day-tab{
    min-width:132px;
    justify-content:center;
    text-align:center;
    padding:10px 16px;
  }
  .sv-day-tabs::after{
    flex-basis:10px;
  }
}

/* Narrow phones */
@media(max-width:420px){
  .sv-client-hero-logo img{width:min(56vw,205px)}
  .sv-client-hero-copy h1{font-size:clamp(32px,9.5vw,40px)}
  .sv-home-film-frame{
    flex-basis:68vw;
    width:68vw;
  }
  .sv-day-tabs .sv-day-tab{min-width:126px}
}


/* v2.11.4 — mobile film perforations follow the full swipeable strip */
@media(max-width:760px){
  /* The old perforations belonged to the fixed viewport and stopped after the first screen. */
  .sv-home-filmstrip::before,
  .sv-home-filmstrip::after{
    display:none;
  }

  /* The inner row is the element that actually scrolls, so the perforations live here. */
  .sv-home-filmframes{
    position:relative;
    padding-top:18px;
    padding-bottom:18px;
    background:#d8a964;
  }

  .sv-home-filmframes::before,
  .sv-home-filmframes::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    height:9px;
    pointer-events:none;
    background:repeating-linear-gradient(
      90deg,
      #fff7e9 0 13px,
      transparent 13px 24px
    );
  }

  .sv-home-filmframes::before{top:3px}
  .sv-home-filmframes::after{bottom:3px}

  /* Remove redundant vertical padding from the outer scrolling viewport. */
  .sv-home-filmstrip{
    padding-top:0;
    padding-bottom:0;
  }
}


/* v2.11.5 — font-license lock
   Only the two named OFL families used by this theme:
   Inter + Cormorant Garamond. Generic serif/sans-serif remain as fallbacks. */
:root{
  --font-body:"Inter",sans-serif;
  --font-display:"Cormorant Garamond",serif;
}
body{font-family:var(--font-body)!important}
h1,h2,h3,h4,h5,h6,
.serif,.mobile-main-link,.mobile-accordion,
.section-head h2,.page-hero h1,.article h1,.article h2,.article h3,
.news-lead h3,.news-item h3,.card h3,.media-card h3,
.partner-cta h2,.status-box h2,.stat strong,
.sv-client-hero-copy h1,.sv-schedule-title h3,.sv-venue-head h4,
.sv-show time,.sv-program-feature h3,.sv-program-number strong,
.sv-legal-summary strong,.sv-legal-contact strong{
  font-family:var(--font-display)!important;
}


/* =========================================================
   v2.12.0 — Moscow + Sevastopol programs, venues and 2026 frames
   ========================================================= */

.sv-city-panel{display:none}
.sv-city-panel.is-active{display:block}

.sv-program-place-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 24px;
  border-bottom:1px solid var(--line);
  background:#f8f1e8;
}
.sv-program-place-card span{
  display:block;
  margin-bottom:4px;
  color:var(--brown);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.sv-program-place-card strong{
  display:block;
  font-family:var(--font-display);
  font-size:22px;
  font-weight:600;
  line-height:1.1;
}
.sv-program-place-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  text-align:right;
}
.sv-secondary-note{margin-bottom:10px}
.sv-program-city-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.sv-program-city-summary span{
  display:inline-flex;
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#645247;
  font-size:12px;
  font-weight:800;
}

/* Only the active city's active day participates in compact hiding. */
.sv-schedule--compact .sv-city-panel.is-active .sv-day-panel.is-active .sv-show:nth-child(n+5){display:none}
.sv-schedule--compact .sv-city-panel.is-active .sv-day-panel.is-active .sv-second-venue{display:none}
.sv-schedule--compact.is-expanded .sv-city-panel.is-active .sv-day-panel.is-active .sv-show:nth-child(n+5){display:grid}
.sv-schedule--compact.is-expanded .sv-city-panel.is-active .sv-day-panel.is-active .sv-second-venue{display:block}

/* Frames sent by the client: a separate 2026 film-gallery, not one image per film. */
.sv-program-film-gallery{
  display:grid;
  grid-template-columns:1.35fr .65fr .65fr;
  grid-auto-flow:row dense;
  grid-auto-rows:220px;
  gap:12px;
}

.sv-program-film-gallery figure{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#e8ddd0;
  box-shadow:var(--shadow-soft);
}
.sv-program-film-gallery figure.is-featured{grid-row:span 2}
.sv-program-film-gallery figure:nth-child(4){grid-column:2}
.sv-program-film-gallery figure:nth-child(5){grid-column:3}
.sv-program-film-gallery img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.sv-program-film-gallery figure.is-featured img{object-position:center}

@media(max-width:760px){
  .sv-program-place-card{
    display:block;
    padding:14px 16px;
  }
  .sv-program-place-card strong{font-size:20px}
  .sv-program-place-card p{
    margin-top:5px;
    text-align:left;
  }
  .sv-city-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .sv-city-tabs::-webkit-scrollbar{display:none}
  .sv-city-tab{flex:0 0 auto}
  .sv-program-film-gallery{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:4px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .sv-program-film-gallery::-webkit-scrollbar{display:none}
  .sv-program-film-gallery figure,
  .sv-program-film-gallery figure.is-featured{
    flex:0 0 min(82vw,330px);
    width:min(82vw,330px);
    height:205px;
    grid-row:auto;
    grid-column:auto;
    scroll-snap-align:center;
  }
}


/* v2.12.1 — 2026 film gallery on homepage + optional film titles */
.sv-program-film-gallery figure{position:relative}
.sv-program-film-gallery figcaption{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:2;
  width:max-content;
  max-width:calc(100% - 24px);
  padding:8px 11px;
  border-radius:999px;
  background:rgba(35,25,19,.86);
  color:#fff;
  font-size:12px;
  font-weight:750;
  line-height:1.25;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.sv-program-film-gallery figure::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:32%;
  pointer-events:none;
  background:linear-gradient(to top,rgba(30,20,14,.26),transparent);
}
.sv-program-film-gallery figure:not(:has(figcaption))::after{display:none}
@media(max-width:760px){
  .sv-program-film-gallery figcaption{
    left:10px;
    right:10px;
    bottom:10px;
    max-width:calc(100% - 20px);
    font-size:11px;
  }
}


/* v2.12.4 — mobile 2026 film frames: first кадр во всю ширину, остальные по два в ряд */
@media(max-width:760px){
  .sv-program-film-gallery{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    overflow:visible;
    padding-bottom:0;
    scroll-snap-type:none;
  }

  .sv-program-film-gallery figure,
  .sv-program-film-gallery figure.is-featured{
    width:100%;
    height:auto;
    min-height:0;
    flex:none;
    grid-column:auto;
    grid-row:auto;
    scroll-snap-align:none;
    border-radius:16px;
  }

  .sv-program-film-gallery figure.is-featured{
    grid-column:1 / -1;
  }

  .sv-program-film-gallery img{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover;
  }

  .sv-program-film-gallery figcaption{
    left:12px;
    right:12px;
    bottom:12px;
    max-width:calc(100% - 24px);
    font-size:12px;
  }
}


/* =========================================================
   v2.12.5 — authoritative mobile layout for «Фильмы фестиваля — 2026»
   Главный кадр — во всю ширину; остальные 4 — строго по два в ряд.
   ========================================================= */
@media(max-width:760px){
  .sv-program-film-gallery-section .sv-program-film-gallery{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    grid-auto-rows:auto!important;
    gap:10px!important;
    overflow:visible!important;
    width:100%!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure{
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    flex:none!important;
    border-radius:14px!important;
    scroll-snap-align:none!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure.is-featured{
    grid-column:1 / -1!important;
    grid-row:auto!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure:nth-child(4),
  .sv-program-film-gallery-section .sv-program-film-gallery > figure:nth-child(5){
    grid-column:auto!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:cover!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure.is-featured img{
    aspect-ratio:16/9!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure:not(.is-featured) img{
    aspect-ratio:4/3!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure:not(.is-featured) figcaption{
    left:7px!important;
    right:7px!important;
    bottom:7px!important;
    max-width:calc(100% - 14px)!important;
    padding:6px 8px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }
}


/* =========================================================
   v2.12.6 — mobile date carousel + remove gallery dead space
   ========================================================= */
@media(max-width:760px){

  /* Every selected date can sit cleanly in the center, including first/last. */
  .sv-schedule .sv-day-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:calc(50% - 66px);
    padding-left:calc(50% - 66px)!important;
    padding-right:calc(50% - 66px)!important;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }

  .sv-schedule .sv-day-tabs::-webkit-scrollbar{display:none}

  .sv-schedule .sv-day-tabs .sv-day-tab{
    flex:0 0 132px!important;
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
    justify-content:center!important;
    text-align:center!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always;
  }

  /* Historical pseudo-spacers are not needed now that real centering padding exists. */
  .sv-schedule .sv-day-tabs::before,
  .sv-schedule .sv-day-tabs::after{
    display:none!important;
    content:none!important;
  }

  /* Remove desktop fixed 220px rows that created the large empty beige gaps. */
  .sv-program-film-gallery-section .sv-program-film-gallery{
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
  }

  .sv-program-film-gallery-section .sv-program-film-gallery > figure{
    align-self:start!important;
  }
}


/* =========================================================
   v2.12.7 — natural mobile date strip
   First date = left, middle dates = centered, last date = right.
   ========================================================= */
@media(max-width:760px){
  .sv-schedule .sv-day-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity!important;
    scroll-padding-inline:16px!important;
    padding:12px 16px 13px!important;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }

  .sv-schedule .sv-day-tabs::-webkit-scrollbar{display:none}

  .sv-schedule .sv-day-tabs .sv-day-tab{
    flex:0 0 132px!important;
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
    justify-content:center!important;
    text-align:center!important;
    scroll-snap-align:center!important;
  }

  .sv-schedule .sv-day-tabs::before,
  .sv-schedule .sv-day-tabs::after{
    display:none!important;
    content:none!important;
  }
}

/* Film stills are interactive/openable. */
.sv-program-film-gallery figure{cursor:zoom-in}
.sv-program-film-gallery img{cursor:zoom-in}


/* v2.12.8 — captions for the «Наша история» photo grid */
.festival-photo-grid-home figure{position:relative}
.festival-photo-grid-home figcaption{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:3;
  max-width:calc(100% - 28px);
  padding:8px 11px;
  border-radius:999px;
  background:rgba(36,26,20,.84);
  color:#fff;
  font-size:12px;
  font-weight:750;
  line-height:1.25;
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
@media(max-width:760px){
  .festival-photo-grid-home figcaption{
    left:10px;
    bottom:10px;
    max-width:calc(100% - 20px);
    padding:7px 9px;
    font-size:11px;
  }
}


/* v2.12.9 — no broad translucent overlay on «Наша история» photos */
.festival-photo-grid-home figure::after{
  display:none!important;
  content:none!important;
  background:none!important;
}
.festival-photo-grid-home figcaption{
  z-index:3;
}


/* v2.13.0 — social buttons: Telegram/MAX are real links in footer, burger and media page */
.mobile-socials a,
.footer-socials a,
.official-social-grid a{
  cursor:pointer;
}
.mobile-socials a[href*="t.me"],
.mobile-socials a[href*="max.ru"],
.footer-socials a[href*="t.me"],
.footer-socials a[href*="max.ru"]{
  font-weight:800;
}


/* =========================================================
   v2.13.1 — client corrections
   Program card in cream / coffee-with-milk palette from the logo.
   ========================================================= */

.sv-program-feature,
.sv-program-feature-clean{
  background:linear-gradient(145deg,#e3c79e 0%,#d5ae79 100%)!important;
  color:#4a3022!important;
  border:1px solid rgba(129,84,47,.22);
  box-shadow:0 14px 34px rgba(105,72,43,.12);
}
.sv-program-feature .eyebrow,
.sv-program-feature-clean .eyebrow,
.sv-program-feature .eyebrow-on-dark,
.sv-program-feature-clean .eyebrow-on-dark{
  color:#7b4d2d!important;
}
.sv-program-feature h3,
.sv-program-feature-clean h3{
  color:#3e281d!important;
}
.sv-program-feature p,
.sv-program-feature-clean p{
  color:#6d503c!important;
}
.sv-program-feature .btn,
.sv-program-feature-clean .btn{
  background:#6c432d!important;
  color:#fffaf2!important;
  border-color:#6c432d!important;
}
.sv-program-feature .btn:hover,
.sv-program-feature-clean .btn:hover{
  background:#583622!important;
}

/* Separate competition / non-competition lists on the full program page.
   Hidden automatically until exact lists are entered in admin. */
.sv-program-lists{
  margin-top:24px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fffaf4;
}
.sv-program-lists-head h3{
  margin:5px 0 18px;
  font-family:var(--font-display);
  font-size:32px;
  font-weight:600;
}
.sv-program-lists-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.sv-program-list-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.sv-program-list-card summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 17px;
  cursor:pointer;
  font-weight:850;
}
.sv-program-list-card summary b{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#ead3b4;
  color:#68462f;
}
.sv-program-list-card ol{
  margin:0;
  padding:0 18px 18px 40px;
  columns:2;
  column-gap:26px;
}
.sv-program-list-card li{
  break-inside:avoid;
  margin:0 0 8px;
  color:#5f5148;
  line-height:1.42;
}

@media(max-width:760px){
  .sv-program-lists{padding:16px}
  .sv-program-lists-grid{grid-template-columns:1fr}
  .sv-program-list-card ol{columns:1}
  .sv-program-lists-head h3{font-size:27px}
}


/* =========================================================
   v2.14.0 — larger, readable typography for the 2026 program
   Applies to Moscow + Sevastopol, homepage preview + full program page.
   ========================================================= */

/* Program header */
.sv-schedule .sv-schedule-top{
  padding:22px 26px;
}
.sv-schedule .sv-schedule-title .eyebrow{
  font-size:12px;
  line-height:1.35;
}
.sv-schedule .sv-schedule-title h3{
  font-size:44px;
  line-height:1;
}
.sv-schedule .sv-schedule-title p{
  font-size:16px;
  line-height:1.45;
}

/* City and date buttons */
.sv-schedule .sv-tab{
  padding:11px 16px;
  font-size:14px;
  line-height:1.2;
}
.sv-schedule .sv-day-tabs{
  padding-top:14px;
  padding-bottom:14px;
}

/* Venue / screen information */
.sv-schedule .sv-program-place-card{
  padding:20px 26px;
}
.sv-schedule .sv-program-place-card span{
  font-size:12px;
  line-height:1.3;
}
.sv-schedule .sv-program-place-card strong{
  font-size:27px;
  line-height:1.12;
}
.sv-schedule .sv-program-place-card p{
  font-size:15px;
  line-height:1.45;
}

.sv-schedule .sv-venue-head{
  padding:25px 0 16px;
}
.sv-schedule .sv-venue-head span{
  font-size:12px;
  line-height:1.35;
}
.sv-schedule .sv-venue-head h4{
  font-size:29px;
  line-height:1.08;
}
.sv-schedule .sv-venue-head p{
  font-size:15px;
  line-height:1.4;
}

/* Film rows */
.sv-schedule .sv-show{
  grid-template-columns:82px minmax(0,1fr) auto;
  gap:16px;
  padding:17px 0;
}
.sv-schedule .sv-show time{
  font-size:25px;
  line-height:1.08;
}
.sv-schedule .sv-show h4{
  margin:0 0 6px;
  font-size:19px;
  line-height:1.25;
}
.sv-schedule .sv-show p{
  font-size:14.5px;
  line-height:1.48;
}
.sv-schedule .sv-age{
  min-width:42px;
  height:31px;
  padding:0 7px;
  font-size:12.5px;
}
.sv-schedule .sv-special-note{
  padding:13px 16px;
  font-size:14.5px;
  line-height:1.45;
}
.sv-schedule .sv-schedule-expand{
  padding:12px 18px;
  font-size:14px;
}

/* Mobile: still compact enough to fit, but no tiny text. */
@media(max-width:760px){
  .sv-schedule .sv-schedule-top{
    padding:18px 16px;
  }
  .sv-schedule .sv-schedule-title .eyebrow{
    font-size:11.5px;
  }
  .sv-schedule .sv-schedule-title h3{
    font-size:38px;
  }
  .sv-schedule .sv-schedule-title p{
    font-size:14.5px;
    line-height:1.45;
  }

  .sv-schedule .sv-tab{
    padding:10px 14px;
    font-size:13.5px;
  }
  .sv-schedule .sv-day-tabs .sv-day-tab{
    flex-basis:138px!important;
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
    font-size:13.5px!important;
  }

  .sv-schedule .sv-program-place-card{
    padding:17px 16px;
  }
  .sv-schedule .sv-program-place-card span{
    font-size:11px;
  }
  .sv-schedule .sv-program-place-card strong{
    font-size:23px;
  }
  .sv-schedule .sv-program-place-card p{
    margin-top:7px;
    font-size:14px;
  }

  .sv-schedule .sv-day-panel{
    padding-left:16px;
    padding-right:16px;
  }
  .sv-schedule .sv-venue-head{
    padding:20px 0 13px;
  }
  .sv-schedule .sv-venue-head span{
    font-size:11px;
  }
  .sv-schedule .sv-venue-head h4{
    font-size:24px;
    line-height:1.08;
  }
  .sv-schedule .sv-venue-head p{
    font-size:14px;
  }

  .sv-schedule .sv-show{
    grid-template-columns:64px minmax(0,1fr) auto;
    gap:10px;
    padding:15px 0;
  }
  .sv-schedule .sv-show time{
    font-size:21px;
  }
  .sv-schedule .sv-show h4{
    font-size:17px;
    line-height:1.24;
    margin-bottom:6px;
  }
  .sv-schedule .sv-show p{
    font-size:13.5px;
    line-height:1.45;
  }
  .sv-schedule .sv-age{
    min-width:39px;
    height:29px;
    padding:0 6px;
    font-size:11.5px;
  }
  .sv-schedule .sv-special-note{
    font-size:13.5px;
  }
  .sv-schedule .sv-schedule-expand{
    font-size:13.5px;
  }
}


/* v2.14.1 — ten film cards on mobile: keep the final unpaired card full-width. */
@media(max-width:760px){
  .sv-program-film-gallery-section .sv-program-film-gallery > figure:last-child{
    grid-column:1 / -1!important;
  }
  .sv-program-film-gallery-section .sv-program-film-gallery > figure:last-child img{
    aspect-ratio:16/9!important;
  }
  .sv-program-film-gallery-section .sv-program-film-gallery > figure:not(.is-featured) figcaption{
    font-size:11px!important;
  }
}

.sv-competition-news-list li{margin-bottom:9px;line-height:1.5}


/* v2.14.3 — film frames inside the two 2026 program news posts */
.sv-news-entry .sv-program-news-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:28px 0 34px;
}
.sv-news-entry .sv-program-news-gallery figure{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.sv-news-entry .sv-program-news-gallery a{
  display:block;
  text-decoration:none!important;
}
.sv-news-entry .sv-program-news-gallery img{
  display:block;
  width:100%!important;
  height:240px!important;
  max-width:none!important;
  object-fit:cover;
  border-radius:0!important;
}
.sv-news-entry .sv-program-news-gallery figcaption{
  margin:0;
  padding:10px 12px 11px;
  color:#66574d;
  font-size:13px;
  line-height:1.35;
}
@media(max-width:760px){
  .sv-news-entry .sv-program-news-gallery{
    grid-template-columns:1fr;
    gap:10px;
    margin:22px 0 28px;
  }
  .sv-news-entry .sv-program-news-gallery img{height:auto!important;aspect-ratio:16/9;}
}


/* v2.14.4 — three client-approved homepage news cards with visible photography */
.home-news-compact .news-item{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.home-news-compact .sv-home-news-thumb{
  display:block;
  margin:-16px -17px 14px;
  overflow:hidden;
  background:#eadfce;
  aspect-ratio:16/9;
}
.home-news-compact .sv-home-news-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-news-compact .news-item time{margin-top:1px}
.home-news-compact .news-item .card-link{margin-top:auto;padding-top:10px}
@media(max-width:760px){
  .home-news-compact .sv-home-news-thumb{aspect-ratio:16/9}
}


/* =========================================================
   v2.14.5 — mobile homepage news cards:
   equal inset around the photograph so rounded corners line up cleanly.
   ========================================================= */
@media(max-width:760px){
  .home-news-compact .news-item{
    padding:10px 12px 14px!important;
    border-radius:16px!important;
  }

  .home-news-compact .sv-home-news-thumb{
    margin:0 0 13px!important;
    width:100%!important;
    border-radius:12px!important;
    overflow:hidden!important;
    aspect-ratio:16/9!important;
  }

  .home-news-compact .sv-home-news-thumb img{
    width:100%!important;
    height:100%!important;
    border-radius:0!important;
    object-fit:cover!important;
  }
}


/* =========================================================
   v2.14.8 — normalised cards on the full News archive page.
   Featured-image posts must not make neighbouring text-only cards huge.
   ========================================================= */
.sv-news-archive-grid{
  align-items:stretch;
}

.sv-news-archive-grid .news-card-large{
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:20px 21px 19px;
}

.sv-news-archive-grid .news-card-large .sv-news-card-thumb{
  flex:0 0 auto;
  width:100%;
  height:112px;
  margin:-5px 0 15px;
  border-radius:12px;
  overflow:hidden;
}

.sv-news-archive-grid .news-card-large .sv-news-card-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.sv-news-archive-grid .news-card-large time{
  margin-top:0;
}

.sv-news-archive-grid .news-card-large h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin-bottom:8px;
}

.sv-news-archive-grid .news-card-large p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin-bottom:12px;
}

.sv-news-archive-grid .news-card-large .card-link{
  margin-top:auto;
  padding-top:6px;
}

/* Cards with a photo get a little more vertical room, but stay close to the
   same visual size as text-only cards instead of doubling the row height. */
.sv-news-archive-grid .news-card-large.has-thumb{
  min-height:330px;
}

/* Tablet: two balanced columns. */
@media(max-width:980px) and (min-width:761px){
  .sv-news-archive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Mobile: natural stacked cards; the photo gets a normal 16:9-ish preview. */
@media(max-width:760px){
  .sv-news-archive-grid .news-card-large,
  .sv-news-archive-grid .news-card-large.has-thumb{
    min-height:0;
    padding:16px!important;
  }

  .sv-news-archive-grid .news-card-large .sv-news-card-thumb{
    height:auto;
    aspect-ratio:16/9;
    margin:0 0 14px;
    border-radius:12px;
  }

  .sv-news-archive-grid .news-card-large h3,
  .sv-news-archive-grid .news-card-large p{
    -webkit-line-clamp:unset;
  }
}


/* =========================================================
   v2.14.9 — Safari/iPhone archive blur hard-fix.
   Never blur the entire document during navigation.
   ========================================================= */
.sv-js body,
.sv-js body.sv-page-ready,
.sv-js body.sv-page-leaving{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
}

/* iOS Safari is especially fragile when a sticky horizontally scrolling control
   uses backdrop-filter while jumping to anchors. Keep the year selector opaque. */
@media(max-width:760px){
  .year-jump-shell,
  .year-jump-shell .year-jump,
  .year-jump{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .year-jump-shell,
  .year-jump-shell .year-jump{
    background:#fbf8f2!important;
  }
}


/* =========================================================
   v2.14.10 — News archive cards:
   restore normal large photos; text-only cards stay roughly the same size.
   ========================================================= */

/* Keep each desktop row visually balanced. */
.sv-news-archive-grid{
  align-items:stretch!important;
  grid-auto-rows:minmax(430px,auto);
}

.sv-news-archive-grid .news-card-large,
.sv-news-archive-grid .news-card-large.has-thumb{
  min-height:430px!important;
  padding:24px!important;
}

/* Restore the photo to the proper card size instead of the narrow 112px strip. */
.sv-news-archive-grid .news-card-large .sv-news-card-thumb{
  display:block!important;
  flex:0 0 auto!important;
  width:calc(100% + 16px)!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  margin:-8px -8px 18px!important;
  border-radius:14px!important;
  overflow:hidden!important;
}

.sv-news-archive-grid .news-card-large .sv-news-card-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Text-only cards use the same overall card height, without fake image placeholders. */
.sv-news-archive-grid .news-card-large:not(.has-thumb){
  justify-content:flex-start;
}

.sv-news-archive-grid .news-card-large .card-link{
  margin-top:auto!important;
}

/* The archive grid still stays tidy when titles/excerpts vary. */
.sv-news-archive-grid .news-card-large h3{
  -webkit-line-clamp:4!important;
}

.sv-news-archive-grid .news-card-large p{
  -webkit-line-clamp:4!important;
}

/* Tablet: same proportions, slightly shorter balanced cards. */
@media(max-width:980px) and (min-width:761px){
  .sv-news-archive-grid{
    grid-auto-rows:minmax(410px,auto);
  }

  .sv-news-archive-grid .news-card-large,
  .sv-news-archive-grid .news-card-large.has-thumb{
    min-height:410px!important;
  }
}

/* Mobile: natural stacked height; photos remain full-size 16:9 and are never squashed. */
@media(max-width:760px){
  .sv-news-archive-grid{
    grid-auto-rows:auto!important;
  }

  .sv-news-archive-grid .news-card-large,
  .sv-news-archive-grid .news-card-large.has-thumb{
    min-height:0!important;
    padding:16px!important;
  }

  .sv-news-archive-grid .news-card-large .sv-news-card-thumb{
    width:100%!important;
    aspect-ratio:16/9!important;
    margin:0 0 14px!important;
    border-radius:12px!important;
  }

  .sv-news-archive-grid .news-card-large h3,
  .sv-news-archive-grid .news-card-large p{
    -webkit-line-clamp:unset!important;
  }
}


/* =========================================================
   v2.15.0 — render performance; no visual redesign.
   ========================================================= */
@supports (content-visibility:auto){
  .home-scale-block,
  .sv-home-media-client,
  .faces-section,
  .sv-program-film-gallery-section{
    content-visibility:auto;
    contain-intrinsic-size:auto 780px;
  }
}


/* =========================================================
   v2.15.1 — mobile hero title:
   keep «Святой Владимир» on one line.
   ========================================================= */
@media(max-width:760px){
  .sv-client-hero-copy h1 .sv-home-hero-name{
    display:inline-block!important;
    white-space:nowrap!important;
  }
}
