/* KANHELP24 / Invitation campaign V3. Existing geographic map stays intact. */
.hero-schedule{display:none}.hero.scene-paused .embers i,.hero.scene-paused .lightbeam{animation-play-state:paused}
.skip{background:#f5e6c9;color:#123641}.top nav a{min-height:36px;display:flex;align-items:center}
:root{--champagne:#f3d6a0;--night:#061722;--cream:#f5f0e5;--forest:#173c40;--ease:cubic-bezier(.22,1,.36,1)}
body{background:var(--night)}
.top{max-width:1500px;padding:22px 38px;gap:24px}.top nav{gap:30px;font-size:13px}.top .brand img{border-radius:50%;width:40px;height:40px}.top .preview-badge{font-size:10px;background:transparent;border-color:#756d5355}.nav-invite{display:flex;gap:28px;align-items:center;color:var(--champagne)}
.hero{min-height:790px;max-width:calc(100% - 36px);border-radius:24px;border-color:#50636a66;box-shadow:none;background:#06131d}.hero-art{object-position:70% 45%;filter:saturate(.85)}.hero-shade{background:linear-gradient(90deg,#06131deb 0%,#06131dcc 23%,#06131d5c 49%,transparent 74%),linear-gradient(0deg,#06131d 0%,#06131d11 32%,transparent 80%)}
.hero-copy{padding:67px 6vw 140px;max-width:750px}.hero .eyebrow{font-size:10px;letter-spacing:.17em;display:flex;gap:14px;align-items:center;margin-bottom:19px;color:#f1ddbc}.eyebrow-line{width:35px;height:1px;background:#c7ac7a}.event-name{font-size:17px;line-height:1.7;color:#dfd8ca;margin:0 0 22px;letter-spacing:0}
.hero h1{font-size:clamp(62px,6.3vw,94px);font-weight:650;line-height:1.13;letter-spacing:-.045em;margin:0}.hero h1 span{font-weight:500;background:linear-gradient(105deg,#fff4d5,#dcae62);background-clip:text;color:transparent}.hero h1 em{font-size:.82em;display:inline-block;font-weight:400;font-style:normal;color:#fff1d4;letter-spacing:-.055em}.hero .lead{font-size:16px;line-height:1.9;color:#d5ddde;margin:29px 0 25px;max-width:380px}.hero-actions{align-items:center;gap:24px}.hero-actions .button{font-size:13px;min-height:51px;padding:9px 11px 9px 22px;gap:24px;box-shadow:0 7px 30px #9b6a3230;background:linear-gradient(120deg,#fbe5b9,#e3b978);border:none;color:#12303a}.circle-arrow{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#22383e;color:#fae2b7;font-size:17px}.hero-discover{display:flex;align-items:center;gap:10px;font-size:12px;color:#e2e6e4}.play-ring{display:grid;place-items:center;width:37px;height:37px;border:1px solid #e3dfca66;border-radius:50%;font-size:17px}.hero-discover:hover .play-ring{background:#f9e0ad;color:#16333d}.hero-location{position:absolute;right:24px;top:45px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#eee2c3}.hero-location span{margin-top:27px;color:#bdcdcf}.hero-signature{position:absolute;bottom:136px;right:50px;text-align:right;font-size:25px;letter-spacing:-.03em;text-shadow:0 2px 10px #0009}.hero-signature span{display:block;font-size:12px;margin-top:3px;color:#dbd4c3}.hero-bottom{bottom:82px;left:6vw;right:4vw;color:#aab8bb}.hero-bottom>span{font-size:10px}.hero-bottom .tiny{font-size:10px;min-height:34px;border-color:#9cafa655;background:#10232a99}
.hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.35' filter='url(%23noise)'/%3E%3C/svg%3E")}
.embers{position:absolute;inset:5% 0 10% 40%;pointer-events:none;overflow:hidden;z-index:-1}.embers i{position:absolute;left:calc(var(--n)*8%);bottom:0;width:3px;height:3px;border-radius:50%;background:#ffdb96;box-shadow:0 0 12px 3px #ffb75988;opacity:0;animation:ember-rise calc(11s + var(--n)*.7s) calc(var(--n)*-1.9s) linear infinite}.embers i:nth-child(3n){width:2px;height:2px}.hero .lightbeam{opacity:.5;right:8%;bottom:22%;width:26%;height:64%}.hero .lightbeam.two{right:32%;opacity:.35;animation-duration:17s}.still .embers i{animation:none;opacity:0}
@keyframes ember-rise{0%{opacity:0;transform:translate(0,0)}15%{opacity:.65}75%{opacity:.3}100%{opacity:0;transform:translate(-40px,-380px)}}
.festival-ticket{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.35fr .8fr;align-items:center;gap:30px;max-width:1130px;margin:-54px auto 0;padding:29px 42px;background:linear-gradient(115deg,#f5e7ca,#e8d5ae);color:#16343e;border:1px solid #f8eaca;border-radius:20px;box-shadow:0 16px 50px #0004}.ticket-intro{border-right:1px dashed #796e5366}.ticket-intro .eyebrow{font-size:10px;letter-spacing:.16em;color:#776343;display:block;margin-bottom:7px}.ticket-intro strong{font-size:17px;font-weight:550;line-height:1.6}.ticket-dates{display:flex;align-items:center;justify-content:center;gap:30px}.ticket-dates>div{text-align:center}.ticket-dates b{display:block;font-size:58px;line-height:1.1;font-weight:450;letter-spacing:-.06em}.ticket-dates span{font-size:12px}.ticket-dates .date-connector{font-size:24px;color:#a58e62}.ticket-finish{border-left:1px dashed #796e5366;padding-left:30px}.ticket-days{font-size:32px;font-weight:550;white-space:nowrap}.ticket-days small{font-size:12px;font-weight:450}.ticket-finish a{display:flex;justify-content:space-between;font-size:12px;margin-top:8px;color:#315461;font-weight:550}.ticket-finish a span{font-size:18px}.verified-line{max-width:1110px;margin:18px auto 0;padding-bottom:28px;font-size:11px;border:0;line-height:1.8}.verified-line a{white-space:nowrap}
.experience-section{background:var(--cream);color:#15373d;margin-top:44px;padding:82px max(24px,calc((100vw - 1250px)/2)) 45px;border-radius:36px 36px 0 0;position:relative}.experience-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:45px}.experience-intro .eyebrow{color:#89714b;letter-spacing:.15em;font-size:10px;margin-bottom:20px}.experience-intro h2{font-size:clamp(32px,3.3vw,47px);font-weight:550;letter-spacing:-.04em;line-height:1.45}.experience-intro h2 span{color:#8e6538}.intro-copy{padding:0 0 5px 28px;border-left:1px solid #c9c7b8}.intro-copy p{font-size:16px;line-height:1.85;color:#21474c}.intro-copy .soft{font-size:14px;color:#6f7772;margin-top:16px}.experience-gallery{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.memory-photo{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:1.2;background:#15333b}.memory-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.memory-photo picture{display:block;height:100%}.memory-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#06131d66,transparent 35%,transparent 70%,#06131d7a)}.performance-scene .memory-photo{aspect-ratio:.93}.performance-scene img{object-position:67% 50%}.together-scene{padding-top:88px}.together-scene .memory-photo{aspect-ratio:1.12}.together-scene img{object-position:62% 50%}.scene-index{position:absolute;top:23px;left:23px;z-index:1;color:#f9e7c3;font-size:10px;letter-spacing:.15em}.scene-credit{position:absolute;left:20px;bottom:18px;right:20px;z-index:1;font-size:10px;color:#f3eade}.memory-copy{padding:26px 4px 0}.memory-copy .eyebrow{font-size:11px;color:#8c6b42;letter-spacing:.03em}.memory-copy h3{font-size:32px;font-weight:550;line-height:1.45;letter-spacing:-.025em}.memory-copy p{font-size:14px;color:#687774;line-height:1.9}.memory-copy a{display:inline-flex;gap:25px;align-items:center;font-size:13px;font-weight:600;margin-top:7px}.memory-copy a span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #b0b6aa;border-radius:50%}.memory-copy a:hover{color:#946731}.invitation-note{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:68px;border-top:1px solid #bfc5b988;padding:34px 0 0}.invitation-note p{font-size:17px;line-height:1.9;color:#6c776e;margin:0}.invitation-note strong{font-size:26px;font-weight:500;color:#163b40;letter-spacing:-.03em}.note-star{font-size:57px;font-weight:200;color:#ab8a59}.invitation-note a{display:grid;place-items:center;border:1px solid #829b97;width:57px;height:57px;border-radius:50%;font-size:24px;margin-left:30px;transition:background .25s,color .25s}.invitation-note a:hover{background:#173c40;color:#f3e5c6}
#map{padding-top:15px}.section-head h2{font-weight:500;letter-spacing:-.035em}.section-head .eyebrow{color:#c2ac87}.map-toolbar{margin-top:25px}.map-card{border-radius:24px;overflow:hidden}.place-panel{border-radius:24px;background:linear-gradient(160deg,#163844,#0b2432);box-shadow:none}.place-choices button{min-height:63px}.route-explainer{gap:45px}.route-explainer>div{position:relative;padding-left:35px}.route-explainer>div>span{position:absolute;left:0;top:21px}.route-explainer h3{font-size:18px}.train-story{background:radial-gradient(ellipse at 12% 45%,#315d6755,transparent 50%),linear-gradient(115deg,#112e3c,#0b222e);border-color:#54707866;border-radius:28px;padding:55px;gap:65px}.train-visual img{transition:transform .8s var(--ease)}.train-story h2{font-size:34px}.train-story .eyebrow{font-size:10px;color:#bfaa80;letter-spacing:.14em}.program{padding-top:20px}.calendar-intro{font-size:14px;color:#afc4cd}.days{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));border:0;gap:7px}.day{display:block;width:100%;color:#d0dce2;border:1px solid #38515d;border-radius:15px;padding:18px 4px;min-height:96px;background:#102833;transition:background .2s,border-color .2s,transform .2s}.day strong{font-size:30px;color:inherit;font-weight:500}.day span{font-size:11px;color:inherit;opacity:.8}.day[aria-pressed=true]{background:#f1d4a3;color:#153540;border-color:#f5e1be;box-shadow:0 5px 22px #e3bc6e18}.day:hover{border-color:#e6ce9f}.your-invitation{display:flex;align-items:center;gap:25px;margin-top:24px;padding:28px 32px;border:1px solid #405864;border-radius:22px;background:linear-gradient(110deg,#1a3945,#102b38)}.invitation-number{font-size:62px;line-height:1;color:#eed3a6;font-weight:350;letter-spacing:-.06em;border-right:1px solid #4b6370;padding-right:26px}.your-invitation .eyebrow{font-size:10px;color:#c5b28b;margin-bottom:6px;letter-spacing:.04em}.your-invitation h3{font-size:23px;font-weight:500}.your-invitation p{font-size:12px;color:#b9ccd6;margin:6px 0}.your-invitation small{font-size:11px;color:#9cb5c3}.your-invitation .button{margin-left:auto;background:#eccc95;color:#183541;border-color:transparent;font-size:12px;white-space:nowrap;border-radius:40px;gap:22px}.program-grid{margin-top:28px}.program-grid article{border-top:1px solid #38525f;padding-left:0;padding-right:30px}.sources{opacity:.95}.sources li a{color:#e5cda6}
#invite-dialog{max-width:620px;width:calc(100% - 28px);padding:20px;border-radius:24px}#invite-dialog .eyebrow{font-size:9px;letter-spacing:.1em;color:#d4bb91;margin-bottom:5px}#invite-dialog .dialog-head{top:-20px;padding:4px 0 14px;gap:16px}#invite-dialog .dialog-head strong{font-size:19px;font-weight:550}#invitation-preview{width:min(100%,400px);height:auto;border-radius:16px;margin:15px auto}.invite-status{font-size:13px;color:#d5e1e4}.invite-download-row{position:sticky;bottom:-20px;background:#0d2636;padding:14px 0 6px;display:flex;align-items:center;gap:16px;justify-content:space-between}.invite-download-row .button{color:#15343b;background:#f0d4a2;border:0;font-size:13px}.invite-download-row span{font-size:10px;max-width:160px;color:#aac0ce}.campaign-reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}.campaign-reveal.waiting{opacity:.1;transform:translateY(22px)}
@media(hover:hover){.memory-scene:hover .memory-photo img{transform:scale(1.035)}.train-story:hover .train-visual img{transform:translateX(8px)}.hero-actions .gold:hover{background:#fae5bb;transform:translateY(-2px)}}
@media(max-width:1150px){.festival-ticket{margin-left:38px;margin-right:38px;gap:22px;padding:25px}.ticket-intro strong{font-size:14px}.ticket-dates{gap:18px}.ticket-dates b{font-size:48px}.ticket-finish{padding-left:22px}.hero-copy{padding-left:5vw;max-width:650px}.hero h1{font-size:75px}.hero-signature{right:35px;font-size:21px}.experience-section{padding-left:35px;padding-right:35px}.experience-gallery{gap:28px}.your-invitation{flex-wrap:wrap}.your-invitation .button{margin-left:0}.day strong{font-size:27px}.days{gap:5px}.day{padding:14px 2px}}
@media(max-width:850px){.top{padding:19px 24px;gap:18px}.top nav{gap:18px;font-size:12px}.hero{min-height:740px}.hero h1{font-size:65px}.hero-copy{padding-top:55px}.hero .lead{font-size:15px}.hero-signature{display:none}.hero-art{object-position:64% 45%}.hero-shade{background:linear-gradient(90deg,#06131def,#06131d9c 45%,#06131d22 100%),linear-gradient(0deg,#06131d,transparent 40%)}.festival-ticket{grid-template-columns:1fr 1.3fr;padding:24px;gap:20px}.ticket-finish{grid-column:1/-1;border-left:0;border-top:1px dashed #96856888;padding:14px 0 0;display:flex;align-items:center;justify-content:space-between}.ticket-days{font-size:24px}.ticket-finish a{gap:30px}.verified-line{margin-left:35px;margin-right:35px}.experience-intro{gap:25px}.intro-copy{padding-left:20px}.intro-copy p{font-size:14px}.memory-copy h3{font-size:27px}.train-story{padding:32px;gap:30px}.train-story h2{font-size:26px}.days{grid-template-columns:repeat(6,minmax(0,1fr))}.day{min-height:88px}.your-invitation .button{margin-left:auto}}
@media(max-width:600px){
 .top{padding:15px 18px 11px;gap:10px;flex-wrap:wrap}.top .brand{font-size:17px}.top .brand img{width:34px;height:34px}.top .brand small{font-size:9px}.top .preview-badge{font-size:9px;margin-left:auto}.top nav{width:100%;margin:4px 0 0;padding-top:11px;justify-content:space-between;font-size:12px;gap:10px;border-top:1px solid #31464e}.nav-invite{gap:16px}
 .hero{max-width:calc(100% - 20px);min-height:0;border-radius:20px}.hero-copy{padding:31px 23px 345px;max-width:none}.hero .eyebrow{font-size:8px;letter-spacing:.09em;gap:9px;margin-bottom:15px}.eyebrow-line{width:20px}.event-name{font-size:12px;margin-bottom:21px;line-height:1.8}.hero h1{font-size:58px;line-height:1.12;letter-spacing:-.055em}.hero h1 em{font-size:.84em}.hero .lead{font-size:13px;line-height:1.85;margin:24px 0 22px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .button{font-size:12px;min-height:47px;padding:8px 9px 8px 17px;gap:16px}.circle-arrow{width:30px;height:30px}.hero-discover{font-size:11px;gap:7px}.play-ring{width:29px;height:29px;font-size:14px}
 .hero-art{inset:auto 0 55px;height:300px;width:100%;object-fit:cover;object-position:69% 50%;filter:saturate(.95)}.hero-shade{background:linear-gradient(180deg,#06131d 0%,#06131d 52%,#06131d00 69%,#06131d00 85%,#06131d 98%)}.hero-location{display:none}.hero-bottom{left:23px;right:19px;bottom:50px;flex-direction:row;gap:12px;align-items:center}.hero-bottom>span{font-size:8px;max-width:170px}.hero-bottom .tiny{font-size:9px;min-height:36px;padding:6px 9px}.hero .lightbeam{height:24%;bottom:17%;width:45%}.hero .lightbeam.two{right:29%}.embers{inset:45% 0 12% 20%}.embers i{width:2px;height:2px;box-shadow:0 0 7px 2px #ffb75955}.hero-grain{opacity:.06}
 .festival-ticket{margin:-25px 22px 0;border-radius:17px;padding:20px;gap:18px;grid-template-columns:1fr}.ticket-intro{display:flex;align-items:center;gap:15px;border-right:0;border-bottom:1px dashed #96856888;padding-bottom:13px}.ticket-intro .eyebrow{font-size:9px;max-width:70px;line-height:1.8;margin:0}.ticket-intro strong{font-size:13px;font-weight:550}.ticket-intro strong br{display:none}.ticket-dates{gap:30px}.ticket-dates b{font-size:44px}.ticket-dates span{font-size:12px}.ticket-finish{grid-column:auto;padding-top:12px}.ticket-days{font-size:24px}.ticket-days small{font-size:11px}.ticket-finish a{font-size:12px;margin:0;gap:20px}.verified-line{margin:15px 24px 0;font-size:10px;line-height:1.9;padding-bottom:0;gap:7px;flex-wrap:wrap}.verified-line a{font-size:10px;margin-left:17px}
 .experience-section{margin-top:35px;padding:44px 23px 28px;border-radius:26px 26px 0 0}.experience-intro{display:block;margin-bottom:28px}.experience-intro .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:15px}.experience-intro h2{font-size:31px;line-height:1.5}.intro-copy{margin-top:22px;padding-left:16px}.intro-copy p{font-size:14px}.intro-copy .soft{font-size:13px;margin-top:12px}.experience-gallery{display:block}.memory-photo{border-radius:19px}.performance-scene .memory-photo{aspect-ratio:1.12}.together-scene{padding-top:38px}.together-scene .memory-photo{aspect-ratio:1.12}.memory-copy{padding:21px 2px 0}.memory-copy h3{font-size:27px}.memory-copy .eyebrow{font-size:10px}.memory-copy p{font-size:13px;line-height:1.9}.memory-copy a{font-size:13px}.scene-index{font-size:9px;top:18px;left:17px}.scene-credit{font-size:8px;left:17px;bottom:14px}.invitation-note{margin-top:33px;padding-top:25px;gap:13px;justify-content:flex-start}.note-star{font-size:37px}.invitation-note p{font-size:13px}.invitation-note strong{font-size:20px}.invitation-note a{width:42px;height:42px;margin-left:auto;flex:none;font-size:19px}
 #map{padding-top:0}.section-head h2{font-size:28px}.section-head .eyebrow{font-size:9px}.section-head .muted{font-size:13px}.section-head .button{font-size:11px}.map-toolbar{margin-top:17px}.place-panel{padding:23px 18px}.route-explainer{gap:8px}.route-explainer>div{padding-left:29px;padding-top:18px}.route-explainer h3{font-size:17px}.route-explainer p{font-size:13px}.train-story{padding:27px 23px}.train-story h2{font-size:25px}.train-story .eyebrow{font-size:9px}.train-story p{font-size:14px}.train-story .button{font-size:12px;margin-top:14px}.train-story .text-link{font-size:12px}
 .program{padding-top:0}.program .section-head{display:block}.program .confirmed{display:inline-block;margin-top:16px;font-size:10px}.calendar-intro{font-size:13px}.days{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.day{border-radius:13px;padding:13px 3px;min-height:85px}.day strong{font-size:29px}.day span{font-size:10px}.your-invitation{padding:22px 18px;gap:18px;border-radius:20px}.invitation-number{font-size:43px;padding-right:17px}.your-invitation>div:nth-child(2){flex:1;min-width:0}.your-invitation h3{font-size:17px}.your-invitation p{font-size:11px;line-height:1.7}.your-invitation small{font-size:10px;line-height:1.8;display:block}.your-invitation .button{width:100%;margin:0;min-height:46px;font-size:13px}.program-grid article{padding:22px 0 22px 42px}.program-grid .section-icon{left:1px}.program-grid h3{font-size:17px}.program-grid p{font-size:14px}.sources h2{font-size:25px}.sources li{font-size:13px;line-height:1.8}.sources li span{font-size:11px;line-height:1.8}
 #invite-dialog{padding:16px}#invite-dialog .dialog-head{top:-16px;gap:12px}#invite-dialog .dialog-head strong{font-size:17px}.invite-download-row{bottom:-16px;flex-direction:column;align-items:stretch;gap:10px}.invite-download-row span{max-width:none;text-align:center}.invite-download-row .button{min-height:46px}
}
@media(max-width:355px){.top{padding:13px 14px}.top .brand{font-size:15px}.top .brand img{width:30px;height:30px}.top .preview-badge{font-size:8px;padding:5px 7px}.hero-copy{padding-left:18px;padding-right:18px}.hero h1{font-size:51px}.event-name{font-size:11px}.hero-actions{gap:14px}.hero-discover{font-size:10px}.hero-actions .button{font-size:11px;gap:12px}.hero .lead{font-size:13px}.festival-ticket{margin-left:18px;margin-right:18px;padding:17px}.experience-section{padding-left:19px;padding-right:19px}.experience-intro h2{font-size:28px}.invitation-note strong{font-size:18px}.note-star{display:none}.your-invitation{padding:18px 15px;gap:14px}.invitation-number{font-size:38px}}
@media(prefers-reduced-motion:reduce){.embers i,.lightbeam{animation:none!important}.embers i{opacity:0}.campaign-reveal.waiting{opacity:1;transform:none}.memory-photo img,.train-visual img{transition:none}.memory-scene:hover img,.train-story:hover img{transform:none}}
@media(max-width:600px){.event-name{font-size:13px;margin-bottom:4px}.hero-schedule{display:block;font-size:11px;color:#d6ba88;margin:0 0 21px}.hero h1{font-size:56px}.hero-copy{padding-bottom:325px}.hero-grain{display:none}}
@media(max-width:355px){.event-name{font-size:11px}.hero h1{font-size:50px}.hero-schedule{font-size:10px}}

/* v10: compact sound control, share-ready invitation, editorial guide and event poster */
.hero-actions{gap:14px;flex-wrap:wrap}
#hero-sound{position:static;z-index:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid #f0d6a078;border-radius:24px;background:#0a1c29c7;color:#fff1d4;font:inherit;font-size:11px;backdrop-filter:blur(6px);white-space:nowrap}
#hero-sound[aria-pressed=true]{background:#e8cd9c;color:#102c39;border-color:#e8cd9c}
.festival-guide{padding-top:10px;border-top:1px solid #ffffff18}
.festival-guide-head{margin-bottom:22px}
.festival-guide-head h2{color:#f2ead9}
.festival-guide-head .muted{margin-top:8px;color:#afc1c7}
.festival-share{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 24px;padding:17px 19px;border:1px solid #37515e;border-radius:20px;background:linear-gradient(115deg,#112e3b,#0b202b)}
.festival-share>strong{font-size:14px;color:#f0e5d0}
.festival-share>small{flex-basis:100%;margin-top:-6px;color:#a9bbc2;font-size:10px;line-height:1.7}
.festival-share-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}
.share-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:8px 14px;border:1px solid #455e68;border-radius:24px;background:#102a36;color:#e8eff0;font:inherit;font-size:11px;font-weight:650;white-space:nowrap}
.share-link:hover{border-color:#dfc08b;transform:translateY(-1px)}
.share-line{background:#11a86c;border-color:#11a86c;color:#fff}
.share-instagram{background:linear-gradient(110deg,#9a39ba,#d4497b 55%,#ef9b45);border-color:transparent;color:#fff}
.share-primary{background:#f2d7a3;border-color:#f2d7a3;color:#193542}
.festival-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.festival-article{overflow:hidden;min-width:0;border:1px solid #354d58;border-radius:21px;background:#0d2531;box-shadow:0 14px 35px #020b1133}
.festival-article>img{display:block;width:100%;aspect-ratio:1.62;object-fit:cover;background:#102c38}
.festival-article>div:not(.article-symbol){padding:19px 19px 17px}
.article-kicker{display:block;margin-bottom:7px;color:#e5c58d;font-size:9px;font-weight:700;letter-spacing:.09em}
.festival-article h3{font-size:17px;line-height:1.55;color:#f1eadc}
.festival-article p{font-size:12px;line-height:1.85;color:#c3d1d4;margin:8px 0 12px}
.festival-article a,.festival-article button{display:inline-flex;align-items:center;min-height:38px;padding:7px 0;border:0;background:transparent;color:#f1d6a5;font:inherit;font-size:11px;font-weight:700;text-align:left}
.festival-article small{display:block;margin-top:6px;color:#94aab3;font-size:9px;line-height:1.7}
.festival-article-text{display:grid;grid-template-columns:54px 1fr;align-items:start;padding:20px 18px;min-height:225px;background:radial-gradient(circle at 8% 14%,#24536966,transparent 38%),linear-gradient(145deg,#102c39,#0b202b)}
.festival-article-text .article-symbol{display:grid;place-items:center;width:40px;height:40px;border:1px solid #718b8c66;border-radius:15px;background:#ffffff0c;color:#f4d297;font-size:22px}
.festival-article-text>div:last-child{padding:0!important}
.festival-poster{padding-top:32px;border-top:1px solid #ffffff18}
.poster-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:17px}
.poster-heading h2{color:#f2ead9}
.poster-heading p:not(.eyebrow){margin:5px 0 0;color:#b6c4c9;font-size:12px}
.poster-heading .button{background:#f2d7a3;border-color:#f2d7a3;color:#193542}
.poster-frame{margin:0;padding:12px;border:1px solid #b9945b;border-radius:25px;background:linear-gradient(145deg,#ead5ab,#735a36 25%,#d6b57e 52%,#4d4030 75%,#e7d1a3);box-shadow:0 22px 55px #0006}
.poster-mat{padding:9px;border:1px solid #e8d7b5;background:#071923;border-radius:16px;overflow:hidden}
.poster-mat img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;border-radius:10px;background:#111}
.poster-frame figcaption{padding:11px 8px 2px;color:#d0d8d7;font-size:10px;line-height:1.8}
.poster-frame figcaption a{color:#f2d6a2;font-weight:650}
@media(max-width:900px){.festival-articles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .hero-actions{gap:8px;align-items:stretch}
 #hero-sound{min-height:44px;padding:8px 12px;font-size:10px}
 .festival-guide{padding-top:2px}
 .festival-guide-head{gap:8px}
 .festival-share{display:block;padding:15px;margin-bottom:18px}
 .festival-share>strong{display:block;margin-bottom:11px}
 .festival-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
 .share-link{width:100%;min-width:0;min-height:44px;padding:8px 7px;font-size:10px}
 .festival-share>small{display:block;margin:10px 0 0}
 .festival-articles{grid-template-columns:1fr;gap:11px}
 .festival-article{display:grid;grid-template-columns:minmax(112px,34%) 1fr;align-items:stretch;border-radius:17px}
 .festival-article>img{height:100%;min-height:170px;aspect-ratio:auto;object-fit:cover}
 .festival-article>div:not(.article-symbol){padding:13px 12px 12px}
 .festival-article h3{font-size:14px;line-height:1.5}
 .festival-article p{font-size:10px;line-height:1.7;margin:6px 0 7px}
 .festival-article a,.festival-article button{min-height:34px;font-size:10px;line-height:1.5}
 .festival-article small{font-size:8px;line-height:1.6}
 .festival-article-text{grid-template-columns:38px 1fr;min-height:0;padding:14px 12px}
 .festival-article-text .article-symbol{width:30px;height:30px;border-radius:11px;font-size:17px}
 .poster-heading{align-items:flex-start;flex-direction:column;gap:10px}
 .poster-heading .button{min-height:42px}
 .poster-frame{padding:7px;border-radius:19px}
 .poster-mat{padding:5px;border-radius:12px}
 .poster-mat img{border-radius:8px}
 .poster-frame figcaption{padding:9px 5px 2px;font-size:9px}
}
@media(max-width:360px){.festival-article{grid-template-columns:1fr}.festival-article>img{height:auto;min-height:0;aspect-ratio:1.7}.festival-article-text{grid-template-columns:34px 1fr}.share-link{font-size:9px;padding-inline:5px}}
