:root{--ruby:#c7001d;--red:#e40025;--wine:#8e0014;--cream:#fff9ef;--paper:#fffdf6;--gold:#b87c39;--line:#dab88c;--ink:#343541;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(24px,4vw,76px);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans);overflow-x:clip}h1,h2,h3,h4,p,figure{margin:0}h2,h3{font-family:var(--serif);font-weight:600;color:var(--ruby);letter-spacing:-.045em;line-height:.98}h2{font-size:clamp(48px,5.7vw,90px)}h3{font-size:clamp(30px,3vw,48px)}h4{font-size:18px}em{font-weight:500}p+p{margin-top:16px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{background:none;border:0}img{display:block;max-width:100%;height:auto}svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #b97932;outline-offset:5px}::selection{background:#c90022;color:#fff9ef}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;z-index:200;background:var(--cream);padding:14px}.skip:focus{top:12px}[hidden]{display:none!important}section{position:relative;isolation:isolate;scroll-margin-top:30px}.section{max-width:1600px;margin:auto;padding:100px var(--gutter)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:50px}.section-heading>p,.section-heading>div+div{max-width:400px}.eyebrow{display:block;font-size:13px;letter-spacing:.16em;font-weight:600;color:var(--ruby);margin-bottom:20px;line-height:1.5}.text-link{display:inline-flex;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--gold);font-size:14px;color:var(--ruby)}.button,.about-film{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:58px;padding:8px 10px 8px 28px;border:1px solid #d4a977;border-radius:80px;background:linear-gradient(145deg,#fffef9 15%,#f6e5cc 100%);box-shadow:inset 0 1px 1px white,0 7px 15px #70380a12;color:var(--ruby);font-size:17px;font-weight:650;line-height:1.3;transition:box-shadow .35s,background .35s}.button>span:last-child{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ruby);color:white;font-size:27px;font-weight:400;transition:transform .35s}.button>svg{width:24px}.button.ghost{color:var(--cream);background:#bd001329;border-color:#ffdf9a;box-shadow:inset 0 1px 4px #ffdda844}.button.ghost>span:last-child{background:transparent}.decor{position:absolute;pointer-events:none;z-index:-1}.ornament{width:250px;aspect-ratio:1;background:url('/assets/holiday-ornaments.webp') no-repeat left center;background-size:300% auto}.gold-rule{display:block;width:40px;height:1px;background:var(--gold);margin:15px 0}.red-section{background:var(--ruby);color:var(--cream)}.red-section h2,.red-section .eyebrow{color:inherit}
/* Header and opening scene */
.header{position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:center;gap:30px;padding:20px var(--gutter);color:var(--cream);transition:background .35s}.brand{font-family:var(--serif);font-size:28px;line-height:.88;display:flex;gap:12px;align-items:center;letter-spacing:-.025em}.brand small{display:block;font-size:inherit}.brand-star{font-size:44px;color:#ffde9e}.header nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2vw,34px);flex:1;font-size:14px}.header nav a{white-space:nowrap}.header nav a:hover{color:#ffe2a9}.header-actions{display:flex;gap:12px;align-items:center}.language{border:1px solid #f9dbaa99;border-radius:30px;padding:3px 14px;font-size:13px}.mobile-toggle{display:none}.nav-more{position:relative}.nav-more-toggle{display:flex;align-items:center;gap:5px;padding:10px 0}.nav-more-toggle svg{width:14px}.more-links{position:absolute;right:0;top:100%;display:grid;gap:8px;padding:20px;border-radius:16px;min-width:200px;background:var(--cream);color:var(--ruby);box-shadow:0 15px 45px #71001730}.hero{padding-top:92px;background:#bd0019;overflow:hidden;color:var(--cream)}.hero-background{position:absolute;inset:-30px 0 50px;background:url('/assets/hero-environment-v3.webp') center top/cover no-repeat;z-index:-3}.hero-light{position:absolute;inset:0;background:radial-gradient(ellipse at 40% 30%,#ff684a16,transparent 60%);pointer-events:none;z-index:-2}.hero-glass{width:23%;right:-8%;top:44%;opacity:.9;z-index:-1}.hero-content{max-width:1600px;margin:auto;padding:0 var(--gutter) 26px;position:relative}.hero-mark{width:min(54%,740px);position:relative;margin:0 0 2px}.hero-title{width:100%;height:auto;filter:drop-shadow(0 4px 16px #a0001550)}.logo-sheen,.logo-glow{display:none}.hero-tagline{font:600 clamp(52px,5.4vw,88px)/.88 var(--serif);letter-spacing:-.055em;width:58%;margin-bottom:24px}.hero-tagline em{display:block;font-size:1.15em}.hero-event-info{display:flex;gap:20px;max-width:750px;margin:28px 0 22px}.hero-event-info>div{display:flex;align-items:center;gap:12px;padding-right:15px;border-right:1px solid #f5c57850}.hero-event-info>div:last-child{border:0}.hero-event-info svg{width:28px;height:28px;color:#ffdfa3}.hero-event-info p{font-size:13px;line-height:1.4}.hero-event-info strong{display:block;font-size:16px;font-weight:500}.hero-event-info span{display:block;margin-top:3px}.hero-buttons{display:flex;gap:22px}.hero-buttons .button{min-width:250px}.hero-artists{margin-top:40px}.line-label{display:flex;align-items:center;gap:22px;font-size:12px;margin:0 0 10px}.line-label>span{margin-right:auto;letter-spacing:.04em}.line-label>a{font-size:13px}.rail-controls{display:flex;gap:8px}.rail-controls button{width:34px;height:34px;border:1px solid #f5d8aa;border-radius:50%;display:grid;place-items:center}.artist-grid{position:relative;display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.artist-grid::-webkit-scrollbar{display:none}.artist{flex:0 0 calc((100% - 60px)/6);overflow:hidden;border:1px solid #ffe4b4;border-radius:15px;background:var(--cream);color:var(--ruby)}.artist img{width:100%;aspect-ratio:1.6;object-fit:cover;object-position:center 27%;transition:transform .5s}.artist div{padding:7px 6px;text-align:center;line-height:1}.artist b{font:600 clamp(15px,1.55vw,24px)/1 var(--serif);letter-spacing:-.035em}.scroll-cue{display:none}.snow-toggle{position:absolute;right:var(--gutter);top:0;color:var(--cream);border:1px solid #f8deb155;border-radius:50%;width:38px;height:38px;padding:7px}.hero-snow,.contact-snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.occasion-strip{background:var(--cream);color:var(--ruby);padding:22px 20px;overflow:hidden}.benefit-set{display:flex;gap:25px;justify-content:center;align-items:center;font-size:13px;white-space:nowrap}.benefit-set[aria-hidden]{display:none}.benefit-item i{font-size:20px;font-style:normal;padding-right:10px}.benefit-item:last-child{display:none}
/* About, memories and the venue */
.about-editorial{overflow:clip;background:radial-gradient(ellipse at 95% 0%,#e9be6840,transparent 45%),var(--cream);padding-bottom:55px}.about-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;position:relative;z-index:2}.about-intro h2{font-size:clamp(48px,5.1vw,80px)}.about-copy{padding-top:45px;padding-right:10%;font-size:16px}.about-copy p+p{font-size:14px;color:#6c5a51}.about-film{margin-top:25px;gap:15px;font-size:15px;text-align:left;padding:10px 18px}.about-film small{display:none}.film-play{order:2;border-radius:50%;background:var(--ruby);color:white;width:36px;height:36px;display:grid;place-items:center}.about-film>span:last-child{display:none}.about-champagne{right:-100px;top:-20px;width:330px;opacity:.8}.about-promises{display:grid;grid-template-columns:230px 1fr 1fr;gap:40px;align-items:center;margin:35px 0}.about-years{display:flex;gap:10px;align-items:flex-end;color:var(--ruby)}.about-years strong{font:500 130px/.8 var(--serif);letter-spacing:-.08em}.about-years strong span{font-size:60px}.about-years p{font-size:12px;line-height:1.3}.about-promises>div:not(:first-child){border-left:1px solid var(--line);padding-left:25px}.about-promises h3{font-size:26px;letter-spacing:-.025em}.about-promises p{font-size:13px;margin:10px 0}.about-promises a{font-size:13px;color:var(--ruby)}.archive-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.archive-heading h3{font-size:42px}.archive-heading .eyebrow{display:none}.archive-album{font-size:14px;color:var(--ruby);border-bottom:1px solid var(--line);padding:12px 0}.archive-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin:20px 0}.archive-toolbar>span{display:none}.archive-years{display:flex;gap:20px;overflow:auto;scrollbar-width:thin}.archive-years button{padding:8px;min-width:42px;font-size:14px;border-bottom:2px solid transparent}.archive-years button[aria-pressed=true]{border-color:var(--ruby);color:var(--ruby);font-weight:700}.archive-photos{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.archive-photo{flex:0 0 calc(50% - 8px);height:370px;border-radius:19px;overflow:hidden;padding:0;position:relative;color:white;scroll-snap-align:start;text-align:left}.archive-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.archive-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#26090799);pointer-events:none}.archive-year-badge{position:absolute;bottom:24px;left:24px;font-size:20px;z-index:1}.archive-photo-label{position:absolute;right:20px;bottom:18px;font-size:0;z-index:1}.archive-photo-label i{display:grid;place-items:center;width:45px;height:45px;border:1px solid white;border-radius:50%;font-size:22px;font-style:normal}.archive-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px}.archive-bottom p{font-size:12px;color:#8c6c53}.archive-paging{display:flex;align-items:center;gap:18px;font-size:12px}.archive-paging button{border:1px solid var(--line);border-radius:50%;width:38px;height:38px}.venue{min-height:780px;background:var(--cream);color:var(--ink);padding-top:100px}.venue-grid{padding:0;min-height:680px;max-width:none;display:grid;grid-template-columns:52% 48%;position:relative;overflow:hidden}.venue-image{position:absolute;inset:0 26% 0 0;z-index:-2}.venue-image img{height:100%;width:100%;object-fit:cover}.venue-image button{position:absolute;left:30%;bottom:30px;background:var(--cream);color:var(--ruby);border-radius:40px;padding:10px 20px}.venue-copy{grid-column:2;background:var(--cream);border-radius:65% 0 0 0;padding:130px var(--gutter) 60px 60px;box-shadow:-2px -1px var(--line)}.venue-copy h2{color:var(--ruby);font-size:clamp(46px,4.5vw,72px)}.venue-copy>p{font-size:14px;margin:25px 0 20px}.venue-facts{margin:24px 0}.venue-facts>div{border-top:1px solid var(--line);padding:15px 0}.venue-facts dt{font-size:11px;color:var(--gold);letter-spacing:.15em}.venue-facts dd{margin:3px 0 0;font-size:14px}.venue-actions{display:flex;gap:12px;flex-wrap:wrap}.venue .eyebrow{color:var(--ruby)}.venue .ghost{background:var(--cream);color:var(--ruby);border-color:var(--ruby)}.venue-bauble{bottom:0;left:-50px;width:330px;z-index:0}.section-ribbon{top:-90px;left:-3%;width:106%;height:220px;object-fit:fill;z-index:3}
/* Programme — equal editorial portraits, information immediately visible */
.program{max-width:none;background:var(--cream) url('/assets/programme-background-v3.webp') center/100% 100% no-repeat;padding-top:100px;padding-bottom:100px}.program>.section-heading,.program-line,.program-grid{max-width:1450px;margin-left:auto;margin-right:auto}.program .section-heading{align-items:center}.program .section-heading>p{color:var(--ink);font-size:15px}.program-line{display:flex;justify-content:space-between;border-bottom:1px solid #b7794540;font-size:12px;padding-bottom:12px;margin-bottom:24px;letter-spacing:.08em;color:var(--ruby)}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.program-card{display:grid;grid-template-columns:46% 54%;background:linear-gradient(130deg,#fffdf7,#fff8ec);border:1px solid #edd3b7;border-radius:24px;padding:14px;box-shadow:0 10px 30px #74001916;overflow:hidden;min-width:0;transition:box-shadow .4s}.program-card:last-child{grid-column:1/-1;width:calc(50% - 12px);justify-self:center}.card-gallery{position:relative;min-width:0;border-radius:18px;overflow:hidden;background:#f0e2d3}.card-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:100%;overscroll-behavior-x:contain}.card-photos img{flex:0 0 100%;width:100%;min-width:0;height:100%;aspect-ratio:1;object-fit:cover;object-position:center;scroll-snap-align:start;transition:filter .4s}.photo-controls{position:absolute;bottom:12px;left:8%;width:84%;border-radius:40px;display:flex;align-items:center;justify-content:space-between;background:#fff9eef2;color:var(--ruby);padding:5px;font-size:11px;box-shadow:0 3px 12px #64051525}.photo-controls button{width:34px;height:34px;background:var(--ruby);color:white;border-radius:50%;font-size:19px}.program-copy{padding:18px 16px 16px 24px;align-self:center}.program-copy .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:12px}.program-copy h3{font-size:clamp(28px,2.55vw,42px);line-height:.9;overflow-wrap:anywhere}.program-copy p{font-size:14px;line-height:1.55;color:#654c45}.program-copy .text-link{font-size:12px;padding:10px 0 3px;margin-top:12px}.countdown-band{overflow:hidden;background:var(--ruby) url('/assets/hero-environment-v3.webp') left bottom/cover}.countdown-layout{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-top:45px;padding-bottom:45px}.countdown-layout h2{font-size:46px}.countdown-layout .eyebrow{font-size:11px;margin-bottom:10px}.countdown{display:flex;gap:24px;text-align:center;position:relative;z-index:2}.countdown b{display:block;font:600 54px/.85 var(--serif);font-variant-numeric:tabular-nums;min-width:60px}.countdown span{font-size:10px}.countdown-clock{position:absolute;right:-70px;top:-90px;width:310px;opacity:.8;z-index:-1}.countdown-purchase{position:relative;z-index:2}
/* Dinner */
.menu-section{max-width:1600px;padding-bottom:100px;overflow:clip}.menu-section .section-heading{display:block;margin-bottom:15px}.menu-section h2 br{display:none}.menu-section .section-heading>div+div{display:flex;max-width:none;align-items:center;justify-content:flex-end;gap:45px;margin-top:25px}.menu-section .section-heading p{max-width:500px;font-size:16px;order:2}.pill{display:inline-block;border-radius:40px;padding:8px 23px;background:var(--ruby);color:var(--cream);white-space:nowrap;font-size:15px}.dinner-layout{display:grid;grid-template-columns:58% 42%;gap:15px;align-items:center}.dinner-art{margin-left:calc(-1 * var(--gutter));overflow:hidden}.dinner-art img{width:100%;mix-blend-mode:multiply}.banquet-chapter{border-bottom:1px solid var(--line);padding:20px 0}.banquet-chapter:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.banquet-chapter summary{display:flex;gap:15px;align-items:center;justify-content:space-between;min-height:84px}.banquet-thumb,.banquet-kicker{display:none}.banquet-heading h3{font-size:42px;line-height:1}.banquet-subtitle{display:block;font-size:13px;margin-top:8px}.banquet-toggle{width:42px;height:42px;border:1px solid var(--ruby);border-radius:50%;color:var(--ruby);display:grid;place-items:center;flex-shrink:0}.banquet-content{padding:15px 5px;font-size:14px}.banquet-content h4{font-size:17px;color:var(--ruby);margin-top:15px}.banquet-list{padding-left:19px;line-height:1.7}.banquet-list li+li{margin-top:4px}.banquet-note{font-size:12px;color:#755b4d;margin-top:25px;max-width:75%}.dinner-bauble{bottom:5px;right:-15px;width:115px}.banquet-chapter[open] .banquet-toggle svg{transform:rotate(45deg)}
/* Invitations */
.tickets-section{background:var(--cream);color:var(--ink);overflow:clip}.tickets-section>.section{padding:35px 28px 55px;max-width:1600px}.ticket-composition{display:grid;grid-template-columns:35% 65%;gap:0}.ticket-introduction{position:relative;padding:0 28px 0 25px;min-width:0;overflow:hidden;isolation:isolate}.ticket-introduction .eyebrow{margin-top:20px;color:var(--ruby)}.ticket-introduction h2{font-size:clamp(50px,5.3vw,85px);color:var(--ruby);position:relative;z-index:2}.ticket-introduction>p{display:none}.invitation-art{position:absolute;inset:180px 0 0;z-index:-1}.invitation-art>img{width:100%;height:100%;object-fit:cover;object-position:top}.invitation-letter{position:absolute;top:24%;left:26%;width:51%;text-align:center;transform:rotate(-7deg);font-family:var(--serif);color:var(--ruby);line-height:1}.invitation-letter>span{display:block;color:#936027;font-size:26px;margin-bottom:28px}.invitation-letter strong{display:block;font-size:90px;font-weight:500}.invitation-letter b{display:block;font-size:35px;font-weight:500;color:#99652c}.invitation-letter small{display:block;font-size:17px;margin-top:25px}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:12px}.ticket{border:1px solid #d6a162;border-radius:23px;padding:22px 24px 14px;background:linear-gradient(135deg,#fffef9,#f9f0e0);box-shadow:0 7px 16px #9b651221,inset 0 0 0 3px #fffaf0;align-self:start;min-width:0}.ticket-top{text-align:center;position:relative}.ticket-top h3{font-size:37px}.ticket-top>p,.ticket-symbol{display:none}.price{font:500 74px/1 var(--serif);color:var(--ruby);margin-top:5px;white-space:nowrap;letter-spacing:-.055em}.price small{font-size:28px;margin-right:5px}.price span{font-size:65px;margin-left:8px}.price-unit{font-size:15px;color:#98602b;display:block;margin-bottom:14px}.ticket-bottom>ul{list-style:none;border-top:1px solid var(--line);margin:12px 0 15px;padding:16px 0 0;font-size:14px;line-height:1.6}.ticket-bottom>ul li{padding-left:20px;position:relative;margin:8px 0}.ticket-bottom>ul li:before{content:'✓';position:absolute;left:0;color:var(--gold)}.ticket .button{width:100%;font-size:16px;min-height:50px;padding-left:18px;gap:6px}.ticket .button>span{width:34px;height:34px;font-size:23px}.standard-tiers{font-size:11px;border-top:1px solid var(--line);padding-top:8px;margin-bottom:12px}.ticket-details summary{padding:14px 0 0;display:flex;justify-content:center;gap:12px;color:var(--ruby);font-size:13px}.ticket-inclusions{font-size:14px;line-height:1.7;padding-top:20px}.ticket-inclusions h4{font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.1;margin:20px 0 10px}.ticket-inclusions ul{padding-left:18px}.ticket-inclusions li{margin:7px 0}.ticket-inclusion-note{font-size:12px;padding-top:15px;border-top:1px solid var(--line)}.ticket.featured{background:linear-gradient(140deg,#ed0628,#ba001a 65%,#d70025);color:var(--cream);border:2px solid #c69755;box-shadow:0 8px 24px #af001c28,inset 0 0 0 3px #fff1bd80}.ticket.featured h3,.ticket.featured .price,.ticket.featured .price-unit,.ticket.featured summary{color:var(--cream)}.ticket.featured .ticket-bottom>ul li:before{color:#ffdaa2}.ticket-3{background:linear-gradient(140deg,#fff3e8,#fbe2db);border-color:#d96d4c}.offer-label{display:inline-block;font-size:10px;color:#835119;border:1px solid #c99b63;border-radius:20px;padding:2px 10px;margin-bottom:10px}.ticket-3 .offer-label{color:white;background:linear-gradient(#dfb477,#ab6019)}.ticket-common{text-align:center;padding:28px 20px 8px}.ticket-common h3{font-size:40px}.ticket-common>div{display:grid;grid-template-columns:repeat(4,1fr);margin:25px 0;align-items:center}.ticket-common>div span{padding:0 18px;border-right:1px solid var(--line);font-size:14px;color:var(--ruby)}.ticket-common>div span:last-child{border:0}.ticket-common>p{font-size:14px;color:var(--ruby)}.ticket-footnote{text-align:center;font-size:12px;color:#875935;margin-top:20px}
/* Hotel */
.hotel-section{display:grid;grid-template-columns:57% 43%;gap:40px;padding-top:90px;padding-bottom:100px;overflow:clip}.hotel-image{position:relative;min-width:0;align-self:start}.hotel-photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:1px solid #bb864d;border-radius:28px}.hotel-photo-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0}.hotel-photo-slide img{width:100%;height:540px;object-fit:cover}.hotel-badge{position:absolute;top:20px;left:25px;background:#fff9efee;padding:10px 15px;border-radius:12px;color:#8e622d;font-size:14px;line-height:1.3}.hotel-gallery-controls{position:absolute;bottom:24px;left:24px;display:flex;align-items:center;gap:15px;padding:5px 8px;background:var(--cream);border:1px solid var(--line);border-radius:40px;font-size:13px;z-index:2}.hotel-gallery-controls>button{width:36px;height:36px;color:var(--ruby);font-size:20px}.hotel-photo-dots{display:none}.hotel-inset{position:absolute;right:-25px;bottom:-25px;width:40%;padding:0;border:2px solid var(--gold);border-radius:20px;overflow:hidden;box-shadow:0 5px 25px #47301a22}.hotel-inset img{width:100%;aspect-ratio:1.5;object-fit:cover}.hotel-copy{padding:0 0 0 10px;position:relative;z-index:2}.hotel-copy h2{font-size:clamp(50px,6vw,88px)}.hotel-copy>p{margin-top:22px;font-size:16px}.hotel-facts{margin-top:20px;display:grid;gap:14px}.hotel-facts>div{display:flex;gap:18px;align-items:center;border-bottom:1px solid #daba943f;padding-bottom:12px;font-size:14px}.hotel-facts svg{color:var(--gold)}.hotel-facts small{display:block;color:#7c6756;font-size:12px}.hotel-plans{grid-column:1/-1;border:1px solid var(--gold);border-radius:24px;background:#fffaf0f5;padding:20px 25px;box-shadow:0 5px 25px #47301a11;z-index:2}.hotel-plans>summary,.hotel-transfer,.hotel-choice-intro{display:none}.hotel-offers{display:grid;gap:10px}.hotel-offer{display:grid;grid-template-columns:1.15fr .7fr 1.4fr .9fr;gap:22px;align-items:center;padding:20px 12px;border-bottom:1px solid var(--line)}.hotel-offer:last-child{border:0}.hotel-offer h4{font:600 32px/1 var(--serif);color:var(--ruby);letter-spacing:-.04em}.hotel-offer p{font-size:13px}.hotel-offer .button{font-size:16px;min-height:50px}.hotel-offer>span{font-size:13px}.hotel-offer-vip{background:#fce6de;border-radius:17px;outline:1px solid #dc9770}.hotel-offer-vip .offer-tag{display:none}.hotel-ribbon{bottom:0;left:-3%;width:106%;height:180px;object-fit:fill;z-index:0}.hotel-offer .hotel-offer-price{font:500 48px/1 var(--serif);color:var(--ruby)}
/* Journal and calm FAQ */
.journal-section{background:var(--cream);overflow:hidden}.journal-section>.section{padding-top:70px;padding-bottom:65px}.journal-intro{font-size:15px;max-width:600px;margin-top:22px}.journal-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:26px 40px}.journal-card:first-child{grid-row:span 2}.journal-card img{border-radius:20px;width:100%;object-fit:cover;aspect-ratio:1.65}.journal-card:not(:first-child) .journal-article-link{display:grid;grid-template-columns:42% 58%;gap:22px}.journal-card:not(:first-child) img{height:100%;aspect-ratio:1;min-height:210px}.journal-card-copy{padding-top:18px}.journal-card:not(:first-child) .journal-card-copy{padding:0 20px 0 0}.journal-meta{display:flex;gap:15px;font-size:10px;letter-spacing:.05em;color:#946839;margin-bottom:14px}.journal-card h3{font-size:29px;line-height:1.02}.journal-card:first-child h3{font-size:40px}.journal-card p{font-size:13px;margin-top:12px;color:#775f4f}.journal-read{display:inline-flex;gap:18px;font-size:13px;color:var(--ruby);border-bottom:1px solid var(--line);margin-top:20px}.journal-mobile-hint{display:none}.faq-section{display:grid;grid-template-columns:40% 60%;gap:50px;padding-top:60px;padding-bottom:80px}.faq-title p{max-width:320px;font-size:15px;margin:22px 0}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px;color:var(--ruby);min-height:35px}.plus{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--ruby);border-radius:50%;font-size:20px}.faq-list p{font-size:14px;padding:15px 35px 5px 0}.faq-list details[open] .plus{transform:rotate(45deg)}
/* Compact reviews */
.guest-stories>.section{padding-top:55px;padding-bottom:60px}.guest-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}.guest-heading h2{font-size:60px}.guest-rating{font-size:14px;display:flex;gap:16px;align-items:center;color:var(--ruby)}.guest-rating strong{font:600 44px/1 var(--serif)}.guest-rating svg{width:18px;height:18px}.guest-rating-copy{font-size:12px}.guest-rail{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.guest-card{flex:0 0 calc((100% - 40px)/3);padding:24px 26px;border:1px solid var(--line);border-radius:21px;background:#fffdf7;scroll-snap-align:start;display:flex;flex-direction:column;min-height:270px}.guest-card-top{display:flex;justify-content:space-between}.guest-stars{display:flex;gap:3px;color:#bf822b}.guest-stars svg{width:15px;height:15px;fill:currentColor;stroke:none}.guest-quote-mark{font:500 45px/.8 var(--serif);color:var(--ruby)}.guest-topic{font-size:10px;text-transform:uppercase;color:#926c43;letter-spacing:.08em;margin:12px 0}.guest-card blockquote{font-size:15px;line-height:1.55;margin:0 0 18px}.guest-card figcaption{display:flex;align-items:center;gap:12px;margin-top:auto}.guest-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#efddc3;color:#93612b;font-size:12px}.guest-author{display:grid;font-size:12px;line-height:1.4}.guest-author span{font-size:10px;color:#7f7063}.guest-source{margin-left:auto;color:var(--ruby)}.guest-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;font-size:12px}.guest-controls{display:flex;gap:10px;align-items:center}.guest-controls button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--ruby)}.guest-source-note{font-size:11px;color:#7e6250}.guest-google-link{font-size:13px;color:var(--ruby)}
/* Closing scene and forms */
.contact-section{overflow:hidden;border-radius:50% 50% 0 0 / 50px 50px 0 0}.contact-scenery{position:absolute;inset:-30px;z-index:-2;background:linear-gradient(90deg,#a40016a0,#ba001aae),url('/assets/hero-environment-v3.webp') center/cover}.contact-layout{display:grid;grid-template-columns:1fr .85fr;gap:9%;padding-top:95px;padding-bottom:95px}.contact-copy{align-self:center}.contact-copy h2{font-size:clamp(55px,6vw,90px)}.contact-copy>p{margin:25px 0;font-size:16px}.contact-links{display:flex;flex-direction:column;gap:10px;font-size:15px;margin-top:30px}.contact-card{border-radius:25px;padding:35px 40px;background:var(--cream);color:var(--ink)}.contact-card h3{font-size:38px}.contact-card .eyebrow{color:var(--ruby);font-size:11px}.contact-card form{display:grid;margin-top:25px;gap:7px}.contact-card label{font-size:12px;margin-top:10px;color:var(--ruby)}.contact-card input,.contact-card textarea{background:none;border:0;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px;border-radius:0;color:var(--ink);width:100%}.contact-card textarea{resize:vertical}.contact-card .button{margin-top:14px;position:relative;z-index:2}.form-note,.contact-privacy,#form-status{font-size:11px;color:#766250}.contact-privacy{margin-top:10px}.contact-privacy a{text-decoration:underline}footer{padding:40px var(--gutter);display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:11px;flex-wrap:wrap}footer .brand{font-size:23px;color:var(--ruby)}.footer-legal,.footer-social{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.footer-legal button{font-size:11px;padding:0}.footer-social svg{width:18px;height:18px}.mobile-book{display:none}.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:#d8b67d;transform:scaleX(0);transform-origin:left;z-index:50}
/* Shared galleries and artist detail */
dialog{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:25px;padding:28px;max-width:min(1180px,94vw);max-height:90dvh;box-shadow:0 30px 100px #35000d70}dialog::backdrop{background:#3e001ac7}.dialog-close,.archive-close{position:absolute;right:15px;top:15px;z-index:4;border:1px solid var(--ruby);background:var(--cream);color:var(--ruby);border-radius:50%;width:42px;height:42px;font-size:29px}.artist-profile{display:grid;grid-template-columns:1fr 1fr;gap:40px}.profile-gallery{min-width:0}.profile-photo-stage{position:relative;aspect-ratio:.85;border-radius:20px;overflow:hidden}.profile-photo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.profile-photo-stage img.is-current{display:block}.profile-gallery-bar{display:flex;gap:15px;align-items:center;margin-top:15px;font-size:12px}.profile-thumbnails{display:flex;gap:10px}.profile-thumbnails button{width:54px;padding:2px;border:1px solid transparent;border-radius:8px}.profile-thumbnails button[aria-pressed=true]{border-color:var(--ruby)}.profile-thumbnails img{width:100%;height:52px;object-fit:cover;border-radius:5px}.profile-photo-arrows{display:flex;gap:10px;margin-left:auto}.profile-photo-arrows button{border:1px solid var(--ruby);border-radius:50%;width:38px;height:38px;color:var(--ruby)}.profile-copy{padding:45px 12px 20px 0}.profile-copy h2{font-size:clamp(40px,5vw,76px);overflow-wrap:anywhere}.profile-description{font-size:18px;color:var(--ruby);margin-top:25px}.profile-appearance{margin:25px 0;font-size:14px}.profile-appearance span,.profile-appearance strong{display:block}.profile-appearance span{font-size:11px;color:var(--gold)}.profile-back{display:block;margin-top:18px;font-size:13px;color:var(--ruby)}.archive-large{max-height:73dvh;max-width:85vw;margin:auto;object-fit:contain}.archive-dialog-bar,.gallery-controls{display:flex;justify-content:center;align-items:center;gap:20px;padding:15px 0 0;font-size:14px}.archive-dialog-bar button,.gallery-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%}.dialog-gallery img{max-height:70dvh;object-fit:contain}.video-frame{width:80vw;max-width:1000px;aspect-ratio:16/9;border:0}.video-note{font-size:13px;padding-top:10px}
@media(hover:hover) and (pointer:fine){.button:hover,.about-film:hover{box-shadow:inset 0 1px 3px white,0 9px 22px #73091728}.button:hover>span:last-child{transform:rotate(-6deg) translate(2px,-1px)}.artist:hover img,.archive-photo:hover img{transform:scale(1.035)}.program-card:hover{box-shadow:0 15px 32px #70001832}.program-card:hover .card-photos img{filter:brightness(1.04)}.text-link:hover{color:var(--red)}.ticket:hover{box-shadow:0 10px 28px #800e2323}}
@media(min-width:1700px){.hero-background{background-size:100% auto}.hero-content{padding-top:25px}.hero-artists{margin-top:55px}}
@media(max-width:1100px){.header nav{display:none;position:absolute;top:75px;left:20px;right:20px;background:var(--cream);color:var(--ruby);border:1px solid var(--line);border-radius:22px;padding:25px;box-shadow:0 10px 40px #5d091730;max-height:80dvh;overflow:auto}.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:10px}.header nav>a{padding:8px}.nav-more{grid-column:1/-1}.nav-more-toggle{display:none}.more-links{position:static;box-shadow:none;display:flex;flex-wrap:wrap;padding:5px 8px;font-size:13px}.header-actions{margin-left:auto}.mobile-toggle{display:block;font-size:24px;min-width:40px;min-height:40px}.hero-event-info{gap:10px}.hero-event-info>div{gap:8px;padding-right:8px}.hero-event-info strong{font-size:14px}.hero-event-info p{font-size:11px}.hero-buttons .button{min-width:215px;font-size:15px}.benefit-set{justify-content:flex-start;overflow:auto}.about-promises{grid-template-columns:200px 1fr}.about-promises>div:last-child{display:none}.program-card{padding:10px;grid-template-columns:43% 57%}.program-copy{padding:15px}.program-copy h3{font-size:30px}.program-copy p{font-size:13px}.photo-controls{left:5%;width:90%;font-size:10px}.photo-controls button{width:28px;height:28px}.venue-copy{padding-left:40px}.venue{min-height:700px}.countdown-layout{flex-wrap:wrap;gap:24px}.countdown-clock{right:-120px}.countdown-layout h2{font-size:40px}.countdown b{font-size:46px}.dinner-layout{grid-template-columns:50% 50%}.banquet-heading h3{font-size:35px}.ticket-composition{grid-template-columns:30% 70%}.ticket-introduction{padding:0 15px}.ticket-introduction h2{font-size:52px}.ticket-grid{gap:14px}.ticket{padding:18px 16px 12px}.ticket-top h3{font-size:32px}.invitation-letter>span{font-size:20px}.invitation-letter strong{font-size:65px}.hotel-section{gap:30px;grid-template-columns:53% 47%}.hotel-photo-slide img{height:470px}.hotel-copy h2{font-size:64px}.hotel-offer{grid-template-columns:1.1fr .7fr 1.1fr .9fr;gap:15px}.hotel-offer h4{font-size:27px}.hotel-offer .button{font-size:13px;padding-left:13px}.journal-card h3{font-size:25px}.journal-card:first-child h3{font-size:32px}.faq-section{gap:30px}.guest-card{padding:20px;flex-basis:calc((100% - 20px)/2)}.contact-layout{gap:5%}.contact-card{padding:28px}.contact-copy h2{font-size:67px}}
@media(max-width:760px){:root{--gutter:20px}html{scroll-padding-top:20px}body{font-size:16px}.section{padding:65px 20px}h2{font-size:50px}.eyebrow{font-size:11px;letter-spacing:.11em;margin-bottom:15px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.button{min-height:55px;font-size:16px;padding-left:22px}.header{padding:17px 20px;gap:15px}.brand{font-size:24px}.brand-star{font-size:33px}.hero{padding-top:95px}.hero-background{inset:0;background-image:linear-gradient(180deg,#c500171a 0%,#c5001700 48%,#b50016 88%),url('/assets/hero-mobile-v3.webp');background-size:auto 750px;background-position:65% top;background-repeat:no-repeat}.hero-content{padding:0 20px 25px}.hero-mark{width:100%;max-width:560px;margin:12px 0 15px}.hero-tagline{width:100%;font-size:57px;line-height:.9;margin-top:10px;text-shadow:0 2px 12px #90001644}.hero-tagline em{font-size:1.13em}.hero-event-info{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0 22px;background:#c1001940;max-width:420px}.hero-event-info>div{border:0}.hero-event-info>div:last-child{grid-column:1/-1}.hero-event-info svg{width:23px;height:23px}.hero-event-info strong{font-size:15px}.hero-event-info p{font-size:12px}.hero-buttons{flex-direction:column;gap:12px;max-width:420px}.hero-buttons .button{width:100%;justify-content:space-between;font-size:17px;min-height:58px}.hero-buttons .button>svg{display:none}.hero-glass{display:none}.snow-toggle{right:15px;top:-10px;width:30px;height:30px;opacity:.75}.hero-artists{margin-top:35px}.line-label{gap:12px}.line-label>span{font-size:10px}.line-label>a{display:none}.rail-controls button{width:32px;height:32px}.artist-grid{margin-right:-20px;padding-right:20px;gap:10px}.artist{flex:0 0 43%;border-radius:12px}.artist img{aspect-ratio:1.2}.artist b{font-size:18px}.occasion-strip{padding:18px 20px}.benefit-set{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:11px;white-space:normal}.benefit-item i{font-size:14px;padding-right:6px}.about-intro{grid-template-columns:1fr;gap:22px}.about-intro h2{font-size:49px}.about-copy{padding:0;font-size:16px}.about-copy p+p{font-size:14px}.about-champagne{width:190px;right:-110px;top:45px;opacity:.4}.about-film{width:100%;font-size:15px}.about-promises{display:block;margin:32px 0}.about-years strong{font-size:104px}.about-years p{font-size:13px}.about-promises>div:not(:first-child){display:none}.archive-heading{display:block}.archive-heading h3{font-size:38px}.archive-album{display:none}.archive-toolbar{justify-content:flex-start}.archive-years{gap:10px;margin-right:-20px}.archive-years button{min-width:46px;padding:10px 5px}.archive-photo{flex-basis:88%;height:300px}.archive-bottom p{max-width:55%;font-size:11px}.archive-bottom p span{display:none}.archive-paging{gap:9px}.archive-paging button{width:32px;height:32px}.venue{padding-top:50px;min-height:0}.section-ribbon{height:110px;top:-30px}.venue-grid{display:flex;flex-direction:column;min-height:0;padding:0}.venue-image{position:relative;inset:auto;height:360px;order:0;z-index:0}.venue-image img{width:100%;height:100%;object-fit:cover}.venue-image button{left:20px;bottom:35px;font-size:13px}.venue-copy{order:1;padding:44px 20px 50px;border-radius:60px 60px 0 0;margin-top:-30px;z-index:1;box-shadow:0 -1px var(--line)}.venue-copy h2{font-size:49px}.venue-copy>p{font-size:15px}.venue-facts dd{font-size:14px}.venue-actions{display:grid;grid-template-columns:1fr}.venue-bauble{top:230px;bottom:auto;left:-55px;width:150px;z-index:2}.program{padding:65px 20px;background-size:auto 100%;background-position:center}.program .section-heading h2{font-size:50px}.program .section-heading>p{font-size:15px;margin-top:25px}.program-line{font-size:10px;gap:10px}.program-line>span:last-child{display:none}.program-grid{grid-template-columns:1fr;gap:24px}.program-card,.program-card:last-child{width:100%;grid-column:auto;display:block;padding:12px;border-radius:25px}.card-gallery{border-radius:19px}.card-photos{height:330px}.card-photos img{aspect-ratio:auto;height:330px;object-fit:cover}.photo-controls{left:16%;width:68%;bottom:14px;font-size:12px}.photo-controls button{width:38px;height:38px}.program-copy{padding:22px 15px 20px}.program-copy .eyebrow{font-size:11px;margin-bottom:10px}.program-copy h3{font-size:40px;overflow-wrap:normal}.program-copy p{font-size:16px;line-height:1.55}.program-copy .text-link{font-size:14px;margin-top:10px}.gold-rule{margin:16px 0}.countdown-layout{display:grid;grid-template-columns:1fr;gap:26px;text-align:center;padding:45px 20px}.countdown-layout h2{font-size:42px}.countdown{justify-content:center;gap:16px}.countdown b{font-size:49px;min-width:55px}.countdown span{font-size:10px}.countdown-clock{width:250px;right:-130px;top:-40px;opacity:.35}.countdown-purchase .button{max-width:340px;width:100%}.menu-section .section-heading h2{font-size:50px}.menu-section .section-heading h2 em{display:block}.menu-section .section-heading>div+div{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.menu-section .section-heading p{font-size:15px}.pill{font-size:13px;padding:8px 16px}.dinner-layout{display:flex;flex-direction:column;gap:15px}.dinner-art{margin:0 -20px;width:calc(100% + 40px)}.dinner-art img{max-height:480px;object-fit:cover}.banquet-menu{width:100%}.banquet-chapter{padding:15px 0}.banquet-heading h3{font-size:36px}.banquet-subtitle{font-size:12px}.banquet-content{font-size:15px}.banquet-note{font-size:12px;max-width:85%}.dinner-bauble{width:85px;right:-25px;bottom:0}.tickets-section>.section{padding:45px 20px}.ticket-composition{display:block}.ticket-introduction{height:530px;padding:0}.ticket-introduction h2{font-size:58px;position:relative;z-index:2}.ticket-introduction h2 br{display:none}.ticket-introduction h2 em{display:block}.ticket-introduction .eyebrow{margin-top:0}.invitation-art{inset:110px -20px -30px}.invitation-art img{object-fit:cover;object-position:center 44%}.invitation-letter{top:27%;left:33%;width:43%}.invitation-letter>span{font-size:22px;margin-bottom:16px}.invitation-letter strong{font-size:76px}.invitation-letter b{font-size:27px}.invitation-letter small{font-size:14px;margin-top:15px}.ticket-grid{grid-template-columns:1fr;padding:25px 0 0;gap:24px;position:relative;z-index:2}.ticket{padding:25px 24px 18px}.ticket-top h3{font-size:40px}.price{font-size:84px}.price span{font-size:72px}.price-unit{font-size:16px}.ticket-bottom>ul{font-size:16px;line-height:1.6}.ticket .button{min-height:56px;font-size:17px}.ticket-details summary{padding:20px 0 0;font-size:14px}.ticket-inclusions{font-size:15px}.standard-tiers{font-size:13px}.offer-label{font-size:11px}.ticket-common{padding:30px 0 10px}.ticket-common h3{font-size:35px}.ticket-common>div{grid-template-columns:1fr 1fr;gap:20px 0}.ticket-common>div span{font-size:13px;padding:0 12px}.ticket-common>div span:nth-child(2){border:0}.ticket-common>p{font-size:13px}.hotel-section{display:flex;flex-direction:column;padding:55px 20px 80px;gap:40px}.hotel-copy{order:-1;padding:0}.hotel-copy h2{font-size:58px}.hotel-copy>p{font-size:16px}.hotel-facts{gap:10px}.hotel-facts>div{font-size:14px}.hotel-image{width:100%;margin-bottom:20px}.hotel-photo-slide img{height:360px}.hotel-inset{right:-5px;bottom:-20px;width:43%;border-radius:13px}.hotel-gallery-controls{left:10px;bottom:15px;gap:8px;font-size:11px}.hotel-gallery-controls>button{width:28px;height:28px}.hotel-badge{font-size:12px;left:15px;top:15px}.hotel-plans{padding:12px;width:100%;border-radius:20px}.hotel-offer{grid-template-columns:1fr 1fr;padding:22px 12px;gap:15px}.hotel-offer h4{font-size:30px}.hotel-offer p{font-size:14px}.hotel-offer .button{font-size:15px;min-height:52px}.hotel-offer-price{font-size:42px}.hotel-ribbon{height:120px}.journal-section>.section{padding:65px 20px 40px}.journal-section h2{font-size:50px}.journal-grid{display:block}.journal-card+.journal-card{margin-top:30px}.journal-card:not(:first-child) .journal-article-link{display:block}.journal-card:not(:first-child) img{height:200px;aspect-ratio:auto}.journal-card:not(:first-child) .journal-card-copy{padding:18px 0 0}.journal-card:first-child h3,.journal-card h3{font-size:32px}.journal-meta{font-size:11px}.journal-card p{font-size:14px}.journal-intro{font-size:15px}.faq-section{display:block;padding:40px 20px 50px}.faq-title h2{font-size:50px}.faq-title p{font-size:15px}.faq-list{margin-top:30px}.faq-list summary{font-size:15px}.faq-list p{font-size:15px;padding-right:5px}.guest-stories>.section{padding:40px 20px 55px}.guest-heading{display:block}.guest-heading h2{font-size:45px}.guest-rating{margin-top:20px}.guest-rail{gap:16px;margin-right:-20px;padding-right:20px}.guest-card{flex-basis:92%;padding:23px;min-height:300px}.guest-card blockquote{font-size:16px}.guest-footer{flex-wrap:wrap}.guest-source-note{font-size:10px}.contact-section{border-radius:45% 45% 0 0 / 25px 25px 0 0}.contact-layout{display:block;padding:70px 20px 50px}.contact-copy h2{font-size:58px}.contact-copy>p{font-size:15px}.contact-links{font-size:14px;gap:12px}.contact-card{margin-top:38px;padding:28px 22px;border-radius:24px}.contact-card h3{font-size:37px}.contact-card input,.contact-card textarea{font-size:16px}.contact-card label{font-size:13px}.form-note,.contact-privacy{font-size:12px}footer{padding:35px 20px 105px;display:grid;gap:24px}.footer-legal{font-size:12px;gap:13px}.footer-legal button{font-size:12px}.mobile-book{position:fixed;left:12px;right:12px;bottom:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:20;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:var(--cream);color:var(--ruby);box-shadow:0 8px 40px #61001433;border:1px solid var(--line);border-radius:40px;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,transform .3s;font-size:12px}.mobile-book.visible{opacity:1;visibility:visible;transform:none}.mobile-book small{display:block;font-size:10px}.mobile-book b{font-size:15px}dialog{padding:15px;border-radius:22px;max-width:95vw;width:95vw}.artist-profile{display:block}.profile-photo-stage{aspect-ratio:1;height:350px}.profile-copy{padding:25px 10px 15px}.profile-copy h2{font-size:45px}.profile-description{font-size:17px}.profile-gallery-bar{gap:10px}.archive-large{max-width:100%;max-height:70dvh}.archive-dialog-bar{font-size:11px;gap:10px}.video-frame{width:100%}.consent-banner{bottom:0}.contact-snow{opacity:.6}}
@media(max-width:360px){.hero-tagline{font-size:47px}.hero-event-info strong{font-size:13px}.hero-event-info span{font-size:11px}.program-copy h3{font-size:35px}.card-photos,.card-photos img{height:280px}.ticket{padding:22px 18px}.hotel-offer{gap:10px}.hotel-offer .button{grid-column:1/-1}.invitation-letter strong{font-size:60px}.guest-heading h2{font-size:40px}.contact-copy h2{font-size:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-snow,.contact-snow{display:none!important}}
html.motion-paused{scroll-behavior:auto}html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition:none!important}
/* Actual source offer markup: a single readable row, with price separated from details. */
.hotel-offer{position:relative;grid-template-columns:1.15fr .72fr 1.4fr .95fr}
.hotel-offer>.offer-kicker{display:none}.hotel-offer h3{font-size:33px;line-height:.98}.hotel-offer .offer-price{font:500 53px/1 var(--serif);color:var(--ruby);white-space:nowrap;letter-spacing:-.04em}.offer-price small{display:block;font:14px/1.4 var(--sans);color:#8f5b31;letter-spacing:0}.hotel-offer>ul{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.hotel-offer .offer-note{grid-column:3;grid-row:2;color:var(--ruby);margin-top:-15px}.hotel-offer .button{grid-column:4;grid-row:1}.hotel-offer.hotel-only{padding-bottom:10px}.guest-rating-compact{display:flex;align-items:center;gap:15px;color:var(--ruby)}.guest-rating-compact>strong{font:600 47px/1 var(--serif)}.guest-rating-compact>strong>span{font-size:24px}.guest-rating-meta{display:grid;font-size:12px;gap:3px}.guest-rating-label{font-size:14px}.guest-rating-label>span{color:#bd832f}.guest-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:11px;color:#8c7159}.venue-image figcaption{position:absolute;bottom:30px;left:30px;display:grid;color:white;font-size:13px}.venue-image figcaption small{font-size:10px}.button-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hotel-copy:after{content:'Трансфер на бал и обратно · около 10 минут';display:block;margin-top:18px;font-size:14px;color:#855b35}.hotel-plans:not([open])>.hotel-plan-content{display:block}.hotel-plans>summary{display:flex;font-size:14px;color:var(--ruby);padding:0 8px 12px;justify-content:space-between}.hotel-details-toggle{display:none}.consent-banner,.consent-dialog{font-family:var(--sans)}.consent-banner h2,.consent-dialog h2{font-family:var(--serif);color:var(--ruby);font-size:30px}.consent-actions button,.consent-dialog-actions button{font-family:var(--sans);border-color:#c29863;color:var(--ruby)}
@media(max-width:1100px){.hotel-offer h3{font-size:29px}.hotel-offer .offer-price{font-size:46px}.hotel-offer .button{font-size:13px}.hotel-offer>ul{font-size:12px}}
@media(max-width:760px){.hotel-offer{grid-template-columns:1fr 1fr;gap:17px}.hotel-offer h3{font-size:33px}.hotel-offer .offer-price{font-size:50px;text-align:right}.hotel-offer>ul{grid-column:1/-1;font-size:15px}.hotel-offer .offer-note{grid-column:1/-1;grid-row:auto;font-size:13px;margin:0}.hotel-offer .button{grid-column:1/-1;grid-row:auto;font-size:16px}.guest-rating-compact{margin-top:23px}.guest-bottom{gap:15px;align-items:flex-start}.guest-bottom>p{max-width:150px}.venue-image figcaption{left:auto;right:20px;bottom:30px}.button-row{display:grid}.hotel-plans>summary{font-size:13px;min-height:44px}.program-card:last-child .card-photos img{object-position:50% 25%}}
.price,.offer-price,.countdown b,.invitation-letter strong,.invitation-letter b{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:'lnum' 1,'tnum' 1}.program-copy p{font-size:16px}.program-copy .eyebrow{font-size:12px}.program-copy .text-link{font-size:14px}.ticket-bottom>ul{font-size:16px}.ticket-details summary{font-size:14px}.ticket-introduction h2{font-size:clamp(50px,5.2vw,80px);line-height:.9}.invitation-art{top:260px}.ticket-top h3{min-height:40px}.ticket-grid{align-items:start}.ticket-0,.ticket-1{min-height:470px}.ticket-2,.ticket-3{min-height:475px}.ticket.featured{background-image:linear-gradient(130deg,#e1001dcc,#b9001cbb),url('/assets/hero-environment-v3.webp');background-size:cover;background-position:left bottom}.program>.section-heading{background:radial-gradient(ellipse,#fff9eff0 0%,#fff9ef80 55%,transparent 75%);padding:20px 0}.program-line{color:#920016}.guest-card blockquote{font-size:16px}.hotel-offer ul strong{font-weight:500}.hotel-offer-vip ul li:nth-child(3){color:var(--ruby)}
@media(max-width:1100px){.program-copy p{font-size:14px}.ticket-bottom>ul{font-size:14px}.invitation-art{top:245px}.ticket-0,.ticket-1{min-height:450px}.ticket-2,.ticket-3{min-height:460px}}
@media(max-width:760px){.program-copy p{font-size:16px}.ticket-bottom>ul{font-size:16px}.ticket-introduction h2{font-size:58px;line-height:.93}.invitation-art{top:115px}.ticket-0,.ticket-1,.ticket-2,.ticket-3{min-height:0}.program>.section-heading{padding:0;background:linear-gradient(90deg,#fff9efe0,#fff9ef9c);border-radius:22px;padding:22px 16px;margin:0 -4px 30px}.program>.section-heading h2{font-size:45px}.program-line{color:var(--cream);text-shadow:0 1px 5px #7d0018}}

@media(min-width:761px){.menu-section h2 em{margin-left:.13em}}
.faq-section{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.faq-list summary{padding-right:8px}.hotel-section{grid-template-columns:minmax(0,1.32fr) minmax(0,1fr)}.dinner-layout{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr)}.journal-card:not(:first-child) .journal-article-link{grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}
@media(max-width:1100px){.hotel-section{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.dinner-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.hotel-copy .hotel-name{font:600 32px/1.1 var(--serif);color:var(--ruby);margin:22px 0 15px}.hotel-name span{font-size:22px;color:var(--gold);letter-spacing:.08em}
/* A single light sweep across the original gold mark; no replacement lettering. */
.logo-sheen{display:block;position:absolute;inset:0;pointer-events:none;overflow:hidden;mask:url('/assets/gala-gold-logo.webp') center/contain no-repeat;-webkit-mask:url('/assets/gala-gold-logo.webp') center/contain no-repeat}.logo-sheen:after{content:'';position:absolute;inset:-20% auto -20% -30%;width:25%;background:linear-gradient(90deg,transparent,#fffad58c,transparent);transform:translateX(0) rotate(18deg);animation:gold-mark-light 1.8s 1.2s both}@keyframes gold-mark-light{from{transform:translateX(0) rotate(18deg);opacity:0}20%{opacity:.7}80%{opacity:.7}to{transform:translateX(620%) rotate(18deg);opacity:0}}@media(hover:hover) and (pointer:fine){.hero-mark:hover .logo-sheen:after{animation:gold-mark-hover 1.5s both}}@keyframes gold-mark-hover{from{transform:translateX(0) rotate(18deg);opacity:0}20%{opacity:.65}80%{opacity:.65}to{transform:translateX(620%) rotate(18deg);opacity:0}}@media(prefers-reduced-motion:reduce){.logo-sheen{display:none}}.motion-paused .logo-sheen{display:none}
