:root{--night:#08152c;--deep:#061024;--navy:#10213c;--wine:#661522;--ruby:#991e2c;--gold:#e7b75b;--bright:#ffe0a2;--cream:#fff8e8;--paper:#f4ecd9;--ink:#162136;--muted:#c6bfd0;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--max:1232px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--deep);color:var(--cream);font:14px/1.8 var(--sans);overflow-x:hidden}body:has(.media-dialog[open]){overflow:hidden}img,video{display:block;max-width:100%}button,input,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #eebf66;outline-offset:4px}::selection{color:var(--night);background:#f7d590}.container{width:min(var(--max),calc(100% - 96px));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:99;left:-999px;top:12px;padding:9px 22px;background:white;color:black}.skip-link:focus{left:16px}.topline{height:4px;background:linear-gradient(90deg,#751925,#eab95d,#751925);box-shadow:0 2px 10px #e9ad5150}.header{position:relative;z-index:5;background:#09182df5;border-bottom:1px solid #f3be7054;box-shadow:0 8px 27px #01061170}.header-inner{height:76px;display:flex;align-items:center;gap:28px}.logo{display:flex;align-items:center;flex-shrink:0}.logo img{width:153px;max-height:47px;object-fit:contain}.nav{display:flex;align-items:center;justify-content:center;flex:1;gap:23px}.nav a{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#d8dcdf;transition:.2s}.nav a:hover{color:var(--bright)}.header-btn{display:inline-flex;gap:13px;align-items:center;padding:10px 23px;border-radius:50px;border:1px solid #e9b864;background:#e2b65a16;color:var(--bright);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.1em;white-space:nowrap}.header-btn:hover{background:var(--gold);color:var(--deep)}
/* INTRO: The supplied concert poster is the primary key visual; text is part of the original artwork. */
.hero{padding:17px 0 18px;background:radial-gradient(ellipse at 50% 10%,#193457 0%,#07172a 53%,#050d1b 100%);position:relative;overflow:hidden}.hero:before,.hero:after{content:'✦';position:absolute;font-size:60px;color:#efc65b33;top:25px;pointer-events:none}.hero:before{left:1.2%}.hero:after{right:1.2%}.poster-frame{position:relative;width:min(1472px,calc(100% - 30px));margin:auto;border:1px solid #d4a34d7b;box-shadow:0 25px 75px #0009,0 0 0 7px #e2b45a10;overflow:hidden;background:#07172c}.poster-frame img{width:100%;height:auto;aspect-ratio:1448/740;object-fit:cover;object-position:center top}.poster-edge{position:absolute;inset:0;box-shadow:inset 0 0 56px 14px #0509168a;pointer-events:none}.poster-frame:after{content:'';position:absolute;bottom:0;left:0;right:0;height:18%;background:linear-gradient(transparent,#08152c9e);pointer-events:none}.hero-event{display:grid;grid-template-columns:1.2fr auto auto;gap:30px;align-items:center;padding:26px 31px;position:relative;z-index:2;margin-top:-61px;background:#0b1c33f7;border:1px solid #e2b25875;box-shadow:0 16px 48px #000a}.eyebrow{display:flex;align-items:center;gap:11px;color:#f2c66f;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;line-height:1.65;margin:0 0 18px}.star-mark{color:#f4cd80;font-size:18px;font-weight:400;line-height:1}.event-heading .eyebrow{margin:0 0 6px}.event-heading p{margin:0;font-family:var(--serif);font-size:clamp(19px,2.15vw,30px);line-height:1.16}.event-heading strong{font-weight:600;color:#ffd68b}.event-details{display:flex;align-items:center;gap:20px}.event-details>div{display:flex;gap:9px;align-items:center}.event-details>div+div{border-left:1px solid #d1b98a55;padding-left:17px}.event-details strong{font:600 44px/1 var(--serif);color:#ffe6ad;white-space:nowrap}.event-details span{font-size:10px;color:#fff0d9;font-weight:800;letter-spacing:.07em;line-height:1.7;white-space:nowrap}.event-details small{font-size:9px;color:#d1c1ad;font-weight:600}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;border:0;min-height:53px;padding:15px 29px;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.08em;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-gold{background:linear-gradient(165deg,#ffe3a3 4%,#eebc5e 53%,#cf8d35 100%);color:#172039;border-radius:50px;box-shadow:0 7px 18px #0007,0 0 0 1px #fff0be4f}.hero-info{display:flex;gap:17px;flex-wrap:wrap;align-items:center;justify-content:center;padding:23px 0 4px}.hero-info span{color:#f4dcc0;border-right:1px solid #f7d68a4d;padding:0 16px 0 0;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.hero-info span:last-child{border:0;padding:0}.gold-ribbon{overflow:hidden;white-space:nowrap;background:linear-gradient(90deg,#c9954c,#ffe4a8 50%,#c9954c);border-block:1px solid #fff0bb;color:#213049;height:47px;display:flex;align-items:center}.ribbon-inner{display:flex;align-items:center;gap:35px;padding:0 max(30px,calc((100vw - 1120px)/2));white-space:nowrap;font-size:9px;font-weight:800;letter-spacing:.23em}.ribbon-inner b{font-size:20px;color:#8b3c31;font-weight:400}
.section{padding:112px 0;position:relative}.section h2{font:600 clamp(50px,5.3vw,82px)/.98 var(--serif);letter-spacing:-.021em;margin:0 0 25px}.section h2 em{font-weight:500;color:var(--gold);font-style:italic}.dark-eyebrow{color:#936226}.dark-eyebrow .star-mark{color:#ae751d}.story{background:linear-gradient(112deg,#fff9e9 0%,#f5eddb 74%,#e5dbc9);color:var(--ink);overflow:hidden}.story:before{content:'';background:radial-gradient(circle at 10% 85%,#c29a502b,transparent 35%);position:absolute;inset:0;pointer-events:none}.story-grid{display:grid;grid-template-columns:1.21fr .79fr;gap:94px;align-items:center}.story-main{position:relative;z-index:1}.story-main h2{font-size:clamp(55px,6.4vw,96px)}.story-main h2 em{color:#8e2433}.story-main p:not(.eyebrow){color:#3b3f49;margin:0 0 15px;line-height:1.9}.story-main p.lead{font:600 clamp(23px,2.9vw,35px)/1.15 var(--serif);color:#273046;max-width:650px;margin:0 0 23px}.gold-line{width:115px;height:2px;background:#bd934b;margin:25px 0 31px}.text-arrow{display:inline-flex;margin-top:21px;border-bottom:1px solid #9b693c;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a2430;padding-bottom:6px;gap:9px}.story-aside{position:relative;overflow:hidden;min-height:545px;background:linear-gradient(163deg,#071c3f,#0a1631 53%,#571929);border:8px solid #edc77e;color:#fbefdf;padding:55px 39px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 28px 55px #30231236,0 0 0 2px #885421}.story-aside:before{content:'❄';position:absolute;font-size:195px;line-height:1;top:-44px;right:-32px;color:#bf9b5326}.story-aside:after{content:'✦ ✧ ❄ ✧ ✦';position:absolute;bottom:23px;color:#e9c37e73;font-size:14px;letter-spacing:20px}.corner-decoration{font-size:40px;color:#ffce74}.aside-overline{font-size:10px;letter-spacing:.22em;color:#f1c57b;font-weight:800;margin-top:22px}.aside-big{font:600 clamp(48px,5.2vw,74px)/.92 var(--serif);margin:27px 0!important;color:#fff3dc}.aside-big em{color:#f7c978;font-weight:500}.aside-citation{font:italic 23px/1.25 var(--serif);max-width:220px}.aside-bottom{margin-top:35px;font-size:12px;font-weight:800;letter-spacing:.1em;color:#efc98d}.aside-bottom span{padding:0 7px;font-weight:400}.section-heading{margin:0 0 44px}.section-heading h2{margin-bottom:0}.section-heading.centered{text-align:center;display:flex;align-items:center;flex-direction:column}.section-intro{font-size:14px;max-width:550px;line-height:1.8;color:inherit;opacity:.78;margin:18px auto 0}.features{padding:89px 0 105px;background:#101d35;background-image:radial-gradient(ellipse at 0 0,#88263829,transparent 48%),radial-gradient(circle at 95% 80%,#d69e4930,transparent 42%);border-top:1px solid #edc47b2e;border-bottom:1px solid #edc47b2e}.features h2{font-size:clamp(45px,4.7vw,68px)}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.feature-grid article{position:relative;padding:41px 24px 29px;background:#08152cc0;border:1px solid #f3c37e50;min-height:283px;transition:background .2s,transform .2s}.feature-grid article:hover{background:#1d3151;transform:translateY(-3px)}.feature-number{position:absolute;right:20px;top:22px;color:#c7a67670;font:700 14px var(--serif)}.feature-icon{font-family:Georgia;font-size:35px;line-height:1;color:#edc075}.feature-grid h3{font:600 29px/1 var(--serif);margin:33px 0 14px;color:#fce6bb}.feature-grid p{font-size:12px;line-height:1.7;color:#c7cbd3;margin:0}
.programme{background:linear-gradient(135deg,#4f0f1c,#7a1d2b 53%,#431421);overflow:hidden}.programme:before{content:'✦';position:absolute;font-size:460px;color:#f9d5900b;right:-100px;top:0}.programme h2 em{color:#ffd18b}.programme-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.programme-card{position:relative;overflow:hidden;min-height:430px;padding:43px 47px 38px;background:linear-gradient(156deg,#142d4e,#081429);border:1px solid #e6b76a8d;box-shadow:0 17px 40px #12050e50}.programme-card:before{content:'✧';position:absolute;top:-102px;right:12px;font:400 360px var(--serif);color:#e0b86d13;pointer-events:none}.programme-card-wine{background:linear-gradient(155deg,#3d0e1a,#240d20)}.programme-index{font-weight:800;font-size:10px;letter-spacing:.22em;color:#e3b66b}.programme-symbol{position:absolute;right:42px;top:29px;font-size:35px;color:#e7bf82}.programme-card h3{font:600 clamp(49px,5.1vw,77px)/.9 var(--serif);letter-spacing:-.02em;margin:48px 0 25px}.programme-card h3 em{font-weight:500;color:#f9cb81}.programme-card p{font-size:13px;max-width:410px;line-height:1.85;color:#e7dee2}.programme-bottom{margin-top:37px;border-top:1px solid #ffe2a74d;padding-top:15px;font-size:9px;letter-spacing:.17em;font-weight:800;color:#f5cb91}.track-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:29px}.track-tags span{display:inline-block;border:1px solid #edbf8170;color:#f8dfbb;font-size:10px;padding:6px 11px;font-weight:700}.programme-note{margin:22px 0 0;font-size:10px;color:#f2d7d7b5}
.heroes{background:linear-gradient(170deg,#fff8e8,#f4ebd7 62%,#e8dbbf);color:#18243b}.heroes h2 em{color:#9d2631}.heroes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:51px}.hero-character{text-align:center;border:1px solid #a9824b80;background:#fffaf0;box-shadow:0 14px 30px #5d3d1a15;padding:12px 12px 36px;position:relative}.hero-character:before{content:'✦';position:absolute;z-index:2;top:-18px;left:calc(50% - 19px);height:37px;width:37px;display:grid;place-items:center;background:#8d1b30;color:#fbd78f;border:2px solid #d8af68;border-radius:50%}.character-frame{height:255px;overflow:hidden;background:linear-gradient(#14365a,#071a34);border:3px solid #d8af68;box-shadow:inset 0 0 0 2px #efdaaa}.character-frame img{width:100%;height:100%;object-fit:cover;object-position:center 28%;transition:transform .3s}.hero-character:hover img{transform:scale(1.055)}.character-center .character-frame img{object-position:center 15%}.character-kicker{display:block;margin:23px 0 11px;font-size:9px;font-weight:800;color:#9c692d;letter-spacing:.22em}.hero-character h3{font:600 clamp(34px,3.6vw,52px)/.96 var(--serif);margin:0 0 15px;color:#642332}.hero-character p{font-size:12px;line-height:1.75;max-width:260px;margin:0 auto;color:#4e4c53}.hero-character.character-center{background:#fff4dc;transform:translateY(-11px)}
.videos{background:radial-gradient(ellipse at 90% 0,#74253535,transparent 43%),linear-gradient(130deg,#09162b,#0d2240 66%,#090f24)}.videos-title{display:flex;align-items:end;justify-content:space-between;gap:45px}.videos-title h2{max-width:620px}.video-disclaimer{max-width:320px;font-size:12px;color:#bcbfcd;margin:0 0 10px;line-height:1.7}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.video-card{border:1px solid #e5b97669;background:#06142b;overflow:hidden}.video-art{aspect-ratio:16/9;position:relative;overflow:hidden}.video-art img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.9);transition:transform .3s,filter .3s}.video-card:hover .video-art img{transform:scale(1.035);filter:brightness(1) saturate(1)}.video-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#02091639);pointer-events:none}.play-btn{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:79px;height:79px;border:1px solid #ffdfb1;border-radius:50%;color:white;background:#06101bc9;font-size:23px;padding-left:5px;display:grid;place-items:center;box-shadow:0 6px 35px #000c;transition:background .2s}.play-btn:hover{background:#9d2631}.video-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 24px 23px}.video-caption span{font-size:9px;letter-spacing:.15em;font-weight:700;color:#ecc582}.video-caption h3{font:600 35px/1 var(--serif);margin:9px 0 0}.video-caption a{font-size:10px;text-align:right;color:#e9cb9c;white-space:nowrap}
.orchestra{background:#f6edda;color:#18253a;padding-bottom:0}.orchestra h2 em{color:#932832}.orchestra-layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:95px;margin-top:65px}.orchestra-info h3{font:600 clamp(43px,4.3vw,68px)/1 var(--serif);margin:0 0 28px;color:#27354b}.orchestra-info p{color:#454a51;line-height:1.85;margin:0 0 17px}.orchestra-info .lead{font:600 27px/1.2 var(--serif);color:#262b39}.stats{display:flex;gap:52px;margin-top:39px}.stats div{display:flex;gap:10px;align-items:start}.stats strong{font:600 62px/.9 var(--serif);color:#8d2532}.stats span{font-size:10px;line-height:1.5;font-weight:800;text-transform:uppercase;color:#6d6270;letter-spacing:.05em;margin-top:5px}.conductor{margin:0;position:relative;border:8px solid #fffaf0;outline:1px solid #bf9555;box-shadow:0 15px 48px #40332636;background:#0b1427;overflow:hidden;max-width:480px;width:100%;justify-self:end}.conductor img{width:100%;height:585px;object-fit:cover;object-position:center 20%}.conductor figcaption{position:absolute;bottom:0;left:0;right:0;padding:53px 20px 19px;background:linear-gradient(transparent,#061126ef);color:#fff0d2}.conductor figcaption span{display:block;font-size:9px;letter-spacing:.16em;font-weight:800;color:#ebc481}.conductor figcaption strong{display:block;margin-top:4px;font:600 38px/1 var(--serif)}.orchestra-film{position:relative;margin-top:95px;height:400px;overflow:hidden;background:#071327}.orchestra-film:before,.orchestra-film:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none}.orchestra-film:before{background:linear-gradient(90deg,#071329e8 0%,#08152c9c 52%,#05112783)}.orchestra-film:after{box-shadow:inset 0 0 90px #050d1e}.orchestra-film video{height:100%;width:100%;object-fit:cover;object-position:center 47%;filter:saturate(.87)}.film-overlay{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px}.film-overlay p{margin:0 0 20px;font:600 clamp(45px,5.7vw,82px)/.95 var(--serif);max-width:850px}.film-overlay em{color:#f5c977}.film-overlay span{font-size:10px;color:#e5dacd;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.gallery{background:#08172c;background-image:radial-gradient(circle at 15% 15%,#76314322,transparent 36%)}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:13px}.gallery-tile{position:relative;border:1px solid #c99c548a;background:#102039;padding:0;overflow:hidden;min-width:0;height:295px}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile:after{content:'';pointer-events:none;position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000a)}.gallery-tile span{position:absolute;z-index:2;bottom:17px;left:17px;color:#f7d79c;font-size:10px;font-weight:800;letter-spacing:.11em}.gallery-tile:nth-child(3) img{object-position:center 24%}
.tickets{background:radial-gradient(ellipse at 8% 8%,#61213d54,transparent 40%),linear-gradient(135deg,#141a35,#09172d 70%,#3c1425);border-top:1px solid #c595578a}.tickets-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:85px;align-items:center}.tickets h2{font-size:clamp(53px,5.5vw,85px)}.tickets h2 em{color:#f6c676}.detail-row{margin-top:27px;padding-bottom:22px;border-bottom:1px solid #e8c38b4d;display:flex;flex-direction:column;align-items:start}.detail-row>span{font-size:9px;letter-spacing:.19em;font-weight:800;color:#ebb973}.detail-row strong{font:600 30px/1.1 var(--serif);margin:8px 0}.detail-row small{font-size:12px;color:#c9c9d3}.tickets-micro{max-width:350px;margin-top:38px;color:#d0ced3;font-size:12px}.ticket-panel{border:1px solid #c49a56;background:#f7f0e2;box-shadow:0 24px 65px #0008;color:#16223a}.ticket-top,.ticket-footer{display:flex;justify-content:space-between;align-items:center;background:#862536;color:#f8dcac;padding:14px 26px;font-size:10px;font-weight:800;letter-spacing:.15em}.ticket-top span:last-child{font-size:17px}.ticket-footer{background:#091a32;font-size:9px;justify-content:center}.ticket-content{padding:31px 34px 27px}.ticket-small{color:#8c6130;font-size:10px;letter-spacing:.19em;font-weight:800}.ticket-content h3{font:600 58px/.9 var(--serif);color:#14223b;margin:20px 0 16px}.ticket-content h3 em{color:#8d2633}.ticket-price{color:#514b47;font-size:13px;margin:0 0 21px}.ticket-price strong{color:#842432;font:600 31px var(--serif)}.widget-shell{border:1px solid #d8bf93;padding:19px 17px;background:#fffbf4;min-height:135px}.widget-shell>p{text-align:center;font-size:11px;color:#76543f;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin:0 0 12px}.widget-shell [data-tc-event-inline]{display:block;max-width:100%;min-height:15px}.widget-shell iframe{max-width:100%}.widget-shell>small{display:block;text-align:center;color:#82766c;font-size:10px;line-height:1.65;margin-top:13px}.ticket-actions{display:flex;flex-direction:column;gap:10px;margin:20px 0}.provider-button{display:block;width:100%;background:linear-gradient(120deg,#ffe1a2,#d6a255)!important;border:1px solid #c69d63!important;border-radius:5px;color:#16223a!important;font-weight:800!important;letter-spacing:.035em;font-size:12px!important;min-height:49px;cursor:pointer;padding:11px 16px!important}.provider-button:hover{filter:brightness(1.04)}.external-ticket{display:block;text-align:center;padding:12px 13px;color:#fae9c7;background:#102440;font-size:11px;font-weight:800;border:1px solid #0e213d}.external-ticket:hover{background:#842432}.ticket-help{font-size:10px;text-align:center;color:#685d54}.ticket-help a{color:#8e2434;text-decoration:underline;text-underline-offset:3px}
.footer{background:#040b17;border-top:1px solid #edb76045;padding-top:45px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px}.footer-grid img{max-width:185px;height:auto;object-fit:contain}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700;color:#dbd8d2}.footer-links a:hover{color:#e9bf71}.footer-grid p{margin:0;font:500 29px/1.05 var(--serif);text-align:right}.footer-grid em{color:#f1c97a}.footer-lower{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #e0bd7151;margin-top:44px;padding-top:18px;padding-bottom:19px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#b3aaab}.footer-lower a:hover{color:#f4d18e}
.media-dialog{border:1px solid #e2b468;padding:55px 22px 19px;max-width:min(1000px,95vw);max-height:92vh;background:#071529;color:white;box-shadow:0 24px 90px #000d}.media-dialog::backdrop{background:#020713da;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:12px;top:7px;font-size:35px;background:none;color:#ffdfb0;border:0;line-height:1;padding:3px 10px}.media-dialog img{max-height:74vh;max-width:100%;object-fit:contain;margin:auto}.media-dialog>p{font-size:12px;text-align:center;margin:13px 0 0;color:#e4cfac}.video-dialog{width:min(970px,96vw)}.video-dialog #videoModalSlot{aspect-ratio:16/9;background:#111}.video-dialog iframe{display:block;border:0;width:100%;height:100%}.video-dialog #videoModalHint a{color:#f5ca80;text-decoration:underline}.mobile-ticket-bar{display:none}
@media(max-width:1200px){.container{width:min(var(--max),calc(100% - 60px))}.nav{gap:16px}.nav a{font-size:9px}.hero-event{gap:15px;padding:21px}.event-details{gap:9px}.event-details>div+div{padding-left:10px}.event-details strong{font-size:37px}.story-grid{gap:55px}.orchestra-layout{gap:52px}.tickets-grid{gap:45px}}
@media(max-width:960px){.header-inner{height:69px}.nav{display:none}.logo img{width:148px}.header-btn{margin-left:auto}.poster-frame{width:calc(100% - 22px)}.poster-frame img{aspect-ratio:1448/920}.hero-event{grid-template-columns:1fr auto;gap:17px;margin-top:-22px}.hero-event .btn{grid-column:span 2;justify-self:stretch}.event-heading p{max-width:420px}.hero-info .hidden-small{display:none}.story-grid,.orchestra-layout{gap:32px}.story-aside{min-height:430px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-grid article{min-height:210px}.features{padding:79px 0}.story-main h2{font-size:61px}.programme-card{padding:34px;min-height:405px}.heroes-grid{gap:12px}.character-frame{height:211px}.hero-character h3{font-size:38px}.orchestra-layout{grid-template-columns:1fr 1fr}.conductor img{height:510px}.gallery-tile{height:250px}}
@media(max-width:700px){html{scroll-padding-top:65px}.container{width:calc(100% - 36px)}.header-inner{height:63px}.logo img{width:135px}.header-btn{font-size:10px;padding:7px 17px}.hero{padding:10px 0 10px}.poster-frame{width:calc(100% - 12px);border-width:1px;box-shadow:0 7px 28px #0006}.poster-frame img{aspect-ratio:auto;object-fit:contain;height:auto}.poster-edge{box-shadow:inset 0 0 20px #03071280}.hero-event{margin-top:0;display:flex;flex-direction:column;align-items:stretch;padding:18px 17px 19px;gap:15px;width:calc(100% - 12px);border-top:0}.event-heading .eyebrow{font-size:9px}.event-heading p{font-size:26px}.event-details{justify-content:space-around;gap:6px}.event-details strong{font-size:40px}.event-details span{font-size:9px}.event-details small{font-size:9px}.hero-event .btn{align-self:stretch;width:100%}.hero-info{padding:15px 0 4px;gap:0}.hero-info span{font-size:9px;padding:0 9px;letter-spacing:.08em}.hero-info span:first-child{padding-left:0}.gold-ribbon{height:40px}.ribbon-inner{font-size:8px;gap:25px}.section{padding:72px 0}.section h2{font-size:clamp(44px,11vw,61px)}.eyebrow{font-size:9px;letter-spacing:.13em}.story-grid,.orchestra-layout{grid-template-columns:1fr}.story-main h2{font-size:clamp(50px,12vw,75px)}.story-main p:not(.eyebrow){font-size:13px}.story-main p.lead{font-size:29px}.story-aside{min-height:350px;max-width:500px;padding:35px 25px}.aside-big{font-size:62px}.story{padding-bottom:64px}.section-heading{margin-bottom:29px}.feature-grid{gap:10px}.feature-grid article{padding:26px 16px 24px;min-height:232px}.feature-grid h3{font-size:26px;margin-top:27px}.feature-grid p{font-size:11px}.feature-icon{font-size:28px}.programme-grid{grid-template-columns:1fr;gap:14px}.programme-card{min-height:340px;padding:28px}.programme-card h3{font-size:65px;margin:40px 0 20px}.programme-card p{font-size:12px}.heroes-grid{grid-template-columns:1fr;max-width:400px;margin:38px auto 0;gap:24px}.hero-character.character-center{transform:none}.hero-character{padding-bottom:29px}.character-frame{height:260px}.hero-character h3{font-size:43px}.hero-character p{max-width:280px}.videos-title{display:block}.video-disclaimer{max-width:none;margin-top:16px}.video-grid{grid-template-columns:1fr;gap:15px}.video-caption{padding:17px}.video-caption h3{font-size:31px}.play-btn{height:66px;width:66px}.orchestra-layout{margin-top:38px;gap:34px}.orchestra-info h3{font-size:53px}.orchestra-info .lead{font-size:25px}.stats{gap:28px}.stats strong{font-size:55px}.stats span{font-size:9px}.conductor{justify-self:center;max-width:420px}.conductor img{height:510px}.orchestra-film{height:270px;margin-top:65px}.film-overlay p{font-size:47px}.film-overlay span{font-size:9px}.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-tile{height:188px}.gallery-wide{grid-column:span 2;height:235px}.gallery-tile span{font-size:9px;bottom:10px;left:10px}.tickets-grid{grid-template-columns:1fr;gap:30px}.tickets h2{font-size:61px}.ticket-panel{max-width:560px;width:100%;justify-self:center}.ticket-content{padding:25px 22px}.ticket-content h3{font-size:60px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-grid p{grid-column:1/-1;text-align:left}.footer-grid img{max-width:145px}.footer-links{font-size:10px}.footer-lower span:nth-child(2){display:none}.mobile-ticket-bar{display:block;position:fixed;left:0;bottom:0;right:0;z-index:25;background:#07152aeb;border-top:1px solid #ebbb6e8c;padding:9px 14px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(10px);transform:translateY(125%);transition:transform .2s}.mobile-ticket-bar.is-visible{transform:translateY(0)}.mobile-ticket-bar a{display:flex;width:100%;min-height:46px}.footer{padding-bottom:66px}}
@media(max-width:390px){.container{width:calc(100% - 28px)}.header-inner{height:61px}.logo img{width:128px}.event-heading p{font-size:23px}.event-details strong{font-size:34px}.event-details span{font-size:8px}.hero-info span{font-size:8px;padding:0 7px}.feature-grid article{min-height:250px}.feature-grid h3{font-size:23px}.feature-grid p{font-size:10px}.stats{gap:17px}.stats strong{font-size:44px}.stats span{font-size:8px}.gallery-tile{height:157px}.gallery-wide{height:200px}.video-caption h3{font-size:28px}.ticket-content h3{font-size:53px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.gallery-tile img,.character-frame img,.video-art img,.feature-grid article{transition:none!important}}

/* Mobile long Cyrillic names: prohibit intrinsic grid expansion. */
@media(max-width:700px){
 .orchestra-layout{grid-template-columns:minmax(0,1fr)}
 .orchestra-info,.conductor{min-width:0}
 .orchestra-info h3{font-size:clamp(36px,9.4vw,53px);overflow-wrap:break-word}
 .programme-card{min-width:0}
 .programme-card h3{font-size:clamp(46px,13vw,65px);overflow-wrap:break-word}
}
@media(max-width:700px){
 .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
 .stats div{min-width:0;display:flex;flex-direction:column;gap:4px}
 .stats span{margin:0;max-width:100%}
 .tickets-grid{grid-template-columns:minmax(0,1fr)}
 .tickets-grid>*{min-width:0}
 .tickets h2{font-size:clamp(42px,10.6vw,61px);overflow-wrap:break-word}
 .feature-grid article{min-width:0;overflow-wrap:break-word}
}
@media(max-width:390px){
 .section-heading h2{font-size:clamp(35px,10vw,47px);overflow-wrap:break-word}
 .feature-grid h3{font-size:clamp(20px,6vw,23px)}
}
@media(max-width:390px){.ticket-content h3{font-size:clamp(44px,13vw,53px)}}
/* Portrait crop: keep the Nutcracker's face and smile visible. */
.character-center .character-frame img{object-position:center 75%}

/* Revision 2: full, uncropped cover; immediate orchestra identification, compact editorial hierarchy. */
.hero{padding:35px 0 43px;background:radial-gradient(ellipse at 55% 25%,#17355a 0%,#07172a 64%,#050c1c 100%)}
.hero-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(365px,.85fr);align-items:stretch;gap:27px;position:relative;z-index:1}
.poster-frame{width:100%;margin:0;align-self:center;overflow:hidden;border:1px solid #d4a34d7b;background:#081329;box-shadow:0 15px 60px #000b;}
.poster-frame img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.poster-frame:after{display:none}
.hero-event{margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;padding:36px 33px;background:linear-gradient(140deg,#091c37,#11182e 75%,#491522);border:1px solid #cba05e80;min-width:0}
.hero-event>.eyebrow{margin:0 0 14px;font-size:10px;letter-spacing:.11em}
.hero-event h1{font:600 clamp(49px,4.5vw,70px)/.95 var(--serif);letter-spacing:-.015em;margin:0 0 20px;color:#ffe1a3}
.hero-event h1 em{font-weight:500;color:#fff2d9}
.hero-credits{font:500 clamp(21px,2vw,30px)/1.08 var(--serif);margin:0 0 26px;color:#f0dbbb}
.hero-performer{padding:19px 0;margin:0;border-top:1px solid #f3c37b70;border-bottom:1px solid #f3c37b70;font-size:14px;color:#eee0d0;line-height:1.65}
.hero-performer strong{font:600 clamp(22px,2.25vw,32px)/1.03 var(--serif);color:#ffe1a3;display:block;margin:6px 0}
.hero-performer span{display:block}
.hero-timing{display:grid;grid-template-columns:1.1fr .9fr;gap:17px;margin:24px 0}
.hero-timing div+div{border-left:1px solid #d1b98a55;padding-left:18px}
.hero-timing span{font-size:9px;letter-spacing:.13em;font-weight:800;display:block;color:#e6c58c}
.hero-timing strong{font:600 clamp(26px,2.35vw,34px)/1.2 var(--serif);display:block;margin-top:7px;color:#fff0d9}
.hero-cta{width:100%;min-height:55px}
.hero-quickfacts{margin:15px 0 0;text-align:center;color:#e6d5b7;font-size:11px;letter-spacing:.06em}
.hero-quickfacts i{font-style:normal;color:#d7a55c;padding:0 8px}
.story-grid{grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr);gap:65px;align-items:center}
.story-illustration{margin:0;border:9px solid #e8ca90;outline:1px solid #a78145;box-shadow:0 24px 50px #30231235;background:#071c3f;overflow:hidden}
.story-illustration img{width:100%;height:auto;display:block;object-fit:contain}
.programme-lead{max-width:880px;margin:6px 0 38px;font:500 clamp(22px,2.3vw,31px)/1.25 var(--serif);color:#f5dfcb}
.programme-illustration{margin:31px 0 0;padding:8px;border:1px solid #efd39f8f;background:#2c1126;box-shadow:0 19px 45px #14030e66}
.programme-illustration img{width:100%;height:auto;object-fit:contain;display:block}
.programme-grid .programme-card{min-height:390px}
.programme-grid .programme-card h3{margin-top:37px}
.video-disclaimer{display:none}
.videos-title{display:block}
.orchestra{background:linear-gradient(170deg,#fbf4e7,#eee4d1 72%,#e8d8bb);color:#172237}
.orchestra-layout{margin-top:40px}
.orchestra-info p:not(.eyebrow){line-height:1.82}
.orchestra-info h3{margin-top:0}
.photo-series{margin:70px 0 0;display:grid;gap:14px}
.photo-series .gallery-tile{width:100%;height:100%;aspect-ratio:1.55;border-color:#ad8249b5;box-shadow:0 8px 18px #1a183021}
.photo-series .photo-lead{aspect-ratio:2.2;max-height:580px}
.photo-series .photo-lead img{object-fit:cover;object-position:center 52%}
.photo-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.photo-thumbs .gallery-tile{aspect-ratio:1.36}
.photo-thumbs .gallery-tile:nth-child(3) img{object-position:center 27%}
.photo-series .gallery-tile::after{display:none}
.tickets-farewell{font:600 clamp(29px,3vw,39px)/1.2 var(--serif);color:#ffd48a;margin:5px 0 34px}
@media (max-width:1100px){.hero-stage{grid-template-columns:minmax(0,1fr) minmax(310px,.9fr);gap:18px}.hero-event{padding:25px}.hero-timing{gap:9px}.hero-timing div+div{padding-left:11px}.hero-event h1{font-size:clamp(43px,5vw,61px)}.hero-performer strong{font-size:clamp(23px,2.3vw,29px)}.story-grid{gap:40px}.photo-series{margin-top:48px}}
@media (max-width:800px){.hero-stage{display:flex;flex-direction:column;gap:0}.poster-frame{max-width:720px;align-self:center;border-bottom:0}.hero-event{width:100%;max-width:720px;align-self:center;gap:0;margin:0;padding:29px 28px}.hero-event h1{font-size:clamp(48px,8vw,69px)}.hero-credits{font-size:clamp(23px,4vw,30px)}.hero-performer strong{font-size:clamp(26px,4vw,33px)}.story-grid{grid-template-columns:1fr;gap:36px}.story-illustration{max-width:460px;justify-self:center}.programme-illustration{margin-top:23px}}
@media (max-width:700px){.hero{padding:11px 0 27px}.hero-stage{width:calc(100% - 18px)}.poster-frame{width:100%;border:1px solid #d4a34d7b}.hero-event{width:100%;padding:23px 21px 25px;border:1px solid #d4a34d7b;border-top:0}.hero-event h1{font-size:clamp(47px,12vw,62px);margin-bottom:14px}.hero-event>.eyebrow{font-size:9px;margin-bottom:9px}.hero-credits{font-size:clamp(23px,6vw,30px);margin-bottom:18px}.hero-performer{padding:13px 0;font-size:12px}.hero-performer strong{font-size:clamp(24px,7vw,30px)}.hero-timing{margin:20px 0;gap:9px}.hero-timing strong{font-size:clamp(25px,7vw,32px)}.hero-timing span{font-size:8px;letter-spacing:.08em}.hero-quickfacts{font-size:10px;margin-top:13px}.story{padding-top:66px}.story-illustration{max-width:440px;border-width:7px}.programme-lead{font-size:clamp(23px,5.7vw,30px)}.programme-grid .programme-card{min-height:320px}.programme-illustration{padding:4px}.photo-series{margin-top:43px;gap:8px}.photo-series .photo-lead{aspect-ratio:1.52}.photo-thumbs{gap:7px}.photo-thumbs .gallery-tile{aspect-ratio:1}.tickets-farewell{font-size:32px}}
@media (max-width:390px){.hero-event{padding:21px 16px 23px}.hero-event h1{font-size:clamp(45px,12.5vw,54px)}.hero-credits{font-size:24px}.hero-timing strong{font-size:26px}.hero-quickfacts i{padding:0 4px}.story-illustration{border-width:5px}}

.photo-series .gallery-tile:focus-visible{outline-offset:3px;outline:3px solid #a46d21}.photo-series button{cursor:zoom-in}

/* Hero editorial order: orchestra credit before the arrangers. */
.hero-event>.eyebrow{font-size:9px;letter-spacing:.07em}
.hero-event .hero-performer{margin:0 0 21px;padding:16px 0}
.hero-event .hero-credits{margin:0 0 18px;font-size:clamp(20px,1.85vw,27px);color:#f2d6b0}
@media(max-width:700px){.hero-event .hero-performer{margin-bottom:17px}.hero-event .hero-credits{font-size:clamp(20px,5.4vw,27px)}}

/* Final revision: more prominent *complete* concert cover on desktop.
   Keep the proven single-column mobile layout unchanged. */
@media (min-width:1101px){
  .hero-stage{grid-template-columns:minmax(0,1.36fr) minmax(365px,.84fr);gap:21px}
  .hero-event{padding:28px 26px}
}
@media (min-width:801px) and (max-width:1100px){
  .hero-stage{grid-template-columns:minmax(0,1.08fr) minmax(310px,.9fr)}
}
/* Story opens with the history and musical substance, not a generic seasonal lead. */
.story-main p.story-history{font:600 clamp(25px,2.65vw,36px)/1.2 var(--serif);color:#252f43;margin:0 0 25px}
.story-main p.story-history strong{color:#8b2632;font-weight:700}
.story-main p.story-conclusion{font:500 clamp(22px,2.05vw,29px)/1.35 var(--serif);color:#3b3e47;margin:0}
@media(max-width:700px){
 .story-main p.story-history{font-size:clamp(27px,7.5vw,34px);line-height:1.19;margin-bottom:20px}
 .story-main p.story-conclusion{font-size:clamp(23px,6.3vw,28px);line-height:1.36}
}

/* On large desktops the poster fills the height of the adjacent panel.
   Cropping is confined to the outer *sides* of the artwork; its full vertical
   span (including Ellington at the piano) is preserved. */
@media (min-width:1101px){
 .poster-frame{align-self:stretch;min-height:0}
 .poster-frame img{height:100%;object-fit:cover;object-position:center center}
}
