*{box-sizing:border-box}html{background:#f8f5ed;color:#203e32}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#ecdbb540,transparent 65%);min-height:100vh}a{color:inherit;text-underline-offset:4px}header{max-width:1040px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8c9a8}.brand{text-decoration:none;font-size:25px;font-weight:700}.back{font-size:14px;padding:12px 0}main{max-width:660px;margin:auto;padding:48px 24px 56px}.intro{text-align:center}.eyebrow{font-size:14px;color:#7a612f;letter-spacing:.08em;margin:0 0 16px}h1{font-size:clamp(28px,6vw,40px);line-height:1.4;margin:0 0 14px;word-break:keep-all}.subtitle{font-size:17px;line-height:1.7;margin:0;color:#655638}.ornament{display:flex;align-items:center;gap:18px;color:#a48036;margin:24px auto 30px;max-width:250px}.ornament:before,.ornament:after{content:'';height:1px;background:#c3a568;flex:1}.event-list{display:grid;gap:16px}.event-card{display:flex;align-items:center;gap:18px;width:100%;min-height:94px;padding:20px 24px;border:1px solid #c4ab73;border-radius:12px;background:linear-gradient(125deg,#fffdf7,#f1e6cd);color:#203e32;font:inherit;opacity:1;text-align:left;box-shadow:inset 0 1px 0 #fff,0 3px 0 #bda77955,0 7px 16px #4336190e;cursor:default}.number{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #baa16a;border-radius:50%;font-size:16px;color:#806026}.event-name{font-weight:700;font-size:21px}.status{margin-left:auto;flex:none;font-size:12px;color:#776342;border:1px solid #d7c6a4;border-radius:20px;padding:5px 10px;background:#fff8e8}.notice{text-align:center;font-size:14px;color:#716957;line-height:1.7;margin:28px 0 0}footer{text-align:center;font-size:14px;padding:0 20px 28px;color:#6d7668}a:focus-visible{outline:3px solid #a47a30;outline-offset:4px}@media(max-width:600px){header{padding:16px 20px}main{padding:32px 18px 40px}.event-card{min-height:86px;padding:18px 16px;gap:12px}.event-name{font-size:19px}.number{width:36px;height:36px}.subtitle{font-size:16px}}
/* Stable viewport background, with a dedicated portrait composition. */
html{background:#211d16}body{position:relative;isolation:isolate;background:none}
.ballroom-background,.ballroom-shade{position:fixed;inset:0;width:100%;height:100vh;height:100svh;pointer-events:none}
.ballroom-background{z-index:-2}.ballroom-background img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ballroom-shade{z-index:-1;background:linear-gradient(180deg,#15130e45,#15130e18 35%,#15130e65)}
header{color:#fff0cc;border-color:#e7cb864d;text-shadow:0 2px 4px #130f08;background:#211b1233}
.intro h1{color:#fff4d7;text-shadow:0 2px 5px #140e08,0 0 18px #140e08aa}.eyebrow,.subtitle{color:#ffe5ac;text-shadow:0 2px 4px #140e08}.ornament{color:#ffe3a1}.ornament:before,.ornament:after{background:#e2be72}
.notice,footer{color:#fff0d1;text-shadow:0 2px 4px #140e08}.event-card{box-shadow:inset 0 1px 0 #fff,0 3px 0 #6a4c2d88,0 8px 20px #100d0866}
@media(max-width:600px){main{padding-top:24px}.intro .eyebrow{margin-bottom:8px}.intro h1{margin-bottom:10px;line-height:1.3}.intro .subtitle{font-size:15px;line-height:1.5}.intro .ornament{margin:12px auto 24px;line-height:1}.ballroom-background img{object-position:center top}}
@media(prefers-contrast:more){.intro,.notice{background:#211b16;padding:16px;border-radius:8px}}

.event-card:nth-child(1){--light:#e34e50;--base:#a91f32;--edge:#701624;--spark:#ff5267;--ink:#fff}
.event-card:nth-child(2){--light:#ffbc68;--base:#ee872d;--edge:#98501d;--spark:#ff932f;--ink:#482609}
.event-card:nth-child(3){--light:#fff098;--base:#eec844;--edge:#957019;--spark:#ffda48;--ink:#493909}
.event-card:nth-child(4){--light:#358c64;--base:#145338;--edge:#0c3828;--spark:#51eaa0;--ink:#fff}
.event-card:nth-child(5){--light:#3c7bcb;--base:#214c92;--edge:#133066;--spark:#67baff;--ink:#fff}
.event-card{background:linear-gradient(130deg,var(--light),var(--base));color:var(--ink);border-color:var(--edge);box-shadow:inset 0 2px 0 #ffffff66,inset 0 -2px 0 #0000001f,0 4px 0 var(--edge),0 10px 20px #08060470;transition:translate .2s,box-shadow .2s;touch-action:manipulation}
.event-card .number{color:inherit;border-color:currentColor;background:#ffffff0d}.event-card .status{color:inherit;border-color:currentColor;background:#ffffff14}
.event-card:focus-visible{outline:3px solid #fff2cc;outline-offset:6px}
@media(hover:hover){.event-card:hover{translate:0 -3px;box-shadow:inset 0 2px 0 #ffffff80,inset 0 -2px 0 #00000020,0 6px 0 var(--edge),0 15px 26px #08060485}}
.event-card:active{translate:0 2px}
.event-color-particles{position:fixed;inset:0;width:100%;height:100%;z-index:10;pointer-events:none}
@media(prefers-reduced-motion:reduce){.event-card{transition:none}.event-card:hover,.event-card:active{translate:none}}

#priceDialog{width:calc(100vw - 24px);max-width:1040px;height:calc(100dvh - 24px);max-height:96vh;padding:0;border:0;border-radius:12px;background:#f5f3ee;color:#203b32;overflow:hidden}
#priceDialog[open]{display:flex;flex-direction:column}
#priceDialog::backdrop{background:#14281fbd}
.price-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #d4ded4;flex:none;flex-wrap:wrap}
.price-toolbar h2{margin:0;font-size:18px;line-height:1.5}.price-toolbar h2 span{display:block;font-size:13px;font-weight:500;color:#526356}
.price-actions{display:flex;gap:8px}.price-actions button{min-height:44px;padding:10px 14px;background:#203e32;color:#fff;border:0;border-radius:7px;font:inherit;font-size:14px;cursor:pointer}
.price-image-area{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:12px}
.price-image-area img{display:block;width:100%;max-width:966px;height:auto;margin:0 auto}
.price-image-area.enlarged img{width:1932px;max-width:none;margin:0}
#priceDialog button:focus-visible,#openPrice:focus-visible,.price-image-area:focus-visible{outline:3px solid #b2802e;outline-offset:3px}
@media(max-width:520px){.price-toolbar{padding:10px}.price-image-area{padding:0}.price-actions button{padding:10px}.price-toolbar h2{font-size:16px}}

.event-floating{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;z-index:20}
.event-floating a,.event-floating button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border:1px solid #b98828;border-radius:9px;font:inherit;font-size:15px;font-weight:700;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff66,0 3px 0 #00000033,0 6px 14px #00000040;cursor:pointer}
.event-floating #openPrice{background:#ffdf91;color:#34290e}.event-floating .contact-floating{border-color:#b32670;background:linear-gradient(115deg,#6535b5,#ad236a 55%,#ad461c);color:#fff}.event-floating .top{background:#203e32;color:#fff;border-color:#516a54}.event-floating a:hover,.event-floating button:hover{filter:brightness(1.08)}footer{padding-bottom:230px}
@media(max-width:600px){.event-floating{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:6px;padding:6px;background:#f5f3eef5;border:1px solid #d7ded5;border-radius:12px}.event-floating a,.event-floating button{min-width:0;min-height:48px;padding:10px 6px;font-size:14px;white-space:nowrap}footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}}
/* Jewel-toned enamel with champagne reflections, matching the ballroom. */
.event-card:nth-child(1){--light:#bf5267;--base:#782039;--edge:#491427;--spark:#ff8192;--ink:#fff4e6;--deep:#45172e;--sheen:#edab8166}
.event-card:nth-child(2){--light:#efb271;--base:#b56830;--edge:#693820;--spark:#ffc17b;--ink:#301a0c;--deep:#88502f;--sheen:#ffe9bda3}
.event-card:nth-child(3){--light:#fff0b3;--base:#c9a64a;--edge:#796029;--spark:#ffe79a;--ink:#34270c;--deep:#aa8237;--sheen:#fff9d6b3}
.event-card:nth-child(4){--light:#398b76;--base:#17564d;--edge:#103a35;--spark:#7ff0c1;--ink:#fff6df;--deep:#102f39;--sheen:#e1cc8d66}
.event-card:nth-child(5){--light:#577eae;--base:#304d82;--edge:#263454;--spark:#a4d0ff;--ink:#fff4e3;--deep:#322e59;--sheen:#d4d9ed66}
.event-card{position:relative;isolation:isolate;border:1px solid #d8bd7d99;border-top-color:#ffedb9bb;border-bottom-color:var(--edge);background:radial-gradient(ellipse at 8% 0%,var(--sheen),transparent 58%),linear-gradient(114deg,var(--deep) -24%,var(--light) 14%,var(--base) 52%,var(--deep) 100%);box-shadow:inset 0 1px 0 #fff4cc88,inset 0 0 0 3px #ebcc8620,inset 0 -12px 20px #0d09191f,0 4px 0 var(--edge),0 12px 24px #08060480}
.event-card:before{content:'';position:absolute;inset:4px;border-radius:8px;border:1px solid #f7dd9d30;pointer-events:none;z-index:-1;background:linear-gradient(112deg,transparent 26%,#fff5d30d 37%,#fff5d324 40%,transparent 51%)}
.event-card .number{border-color:#f5d9948c;background:linear-gradient(145deg,#ffeac52b,#160d1d26);box-shadow:inset 0 1px 2px #fff1c42b,0 2px 4px #160d1d26}
.event-card .status{border-color:currentColor;background:#fff4dc12}.event-card .event-name{text-shadow:0 1px 1px #00000014}
@media(hover:hover){.event-card:hover{box-shadow:inset 0 1px 0 #fff6d5aa,inset 0 0 0 3px #ebcc8630,inset 0 -12px 20px #0d09191f,0 6px 0 var(--edge),0 16px 28px #08060490}}
/* Translucent button surfaces; labels and borders remain fully opaque. */
.event-card{background:none}
.event-card:after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-2;pointer-events:none;opacity:.86;background:radial-gradient(ellipse at 8% 0%,var(--sheen),transparent 58%),linear-gradient(114deg,var(--deep) -24%,var(--light) 14%,var(--base) 52%,var(--deep) 100%)}
@media(prefers-contrast:more){.event-card:after{opacity:1}}

/* Soft tinted glass for the informal Art Deco lounge. */
.event-card{border-color:#ffecd45c;border-top-color:#fff2d98c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:inset 0 1px 0 #fff7e35c,inset 0 -1px 0 #00000026,0 3px 0 #15101845,0 9px 20px #100c164d}
.event-card:after{opacity:.80;background:radial-gradient(ellipse at 12% 0%,var(--sheen),transparent 70%),linear-gradient(120deg,var(--light),var(--base) 65%,var(--deep))}
.event-card:before{inset:0;border:0;border-radius:inherit;background:linear-gradient(155deg,#fff8e521,transparent 40%,#ffffff06);}
.event-card .number{background:#ffffff0d;box-shadow:none;border-color:#ffecd459}
@media(hover:hover){.event-card:hover{box-shadow:inset 0 1px 0 #fff7e380,0 5px 0 #15101845,0 13px 24px #100c1666}}
@media(prefers-contrast:more){.event-card:after{opacity:1}}
.ballroom-background{z-index:-3}.ballroom-shade{z-index:-2}
.lounge-atmosphere{position:fixed;inset:0 auto auto 0;width:100%;height:100vh;height:100svh;z-index:-1;pointer-events:none;contain:paint;overflow:hidden}
.lounge-atmosphere canvas{display:block;width:100%;height:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.lounge-atmosphere{display:none}}

.event-card:nth-child(6){--light:#535e96;--base:#292e61;--edge:#191d40;--spark:#a4b4ff;--ink:#fff4e6;--deep:#171d3e;--sheen:#b5c7f866}
.event-card:nth-child(7){--light:#a076bc;--base:#694080;--edge:#40264f;--spark:#dfacff;--ink:#fff4ee;--deep:#432953;--sheen:#f0c8ef66}
/* Raised glass buttons with a distinct lower edge and soft reflected light. */
.event-card{border-top-color:#fff4d5cc;border-left-color:#f9dfb08c;border-right-color:var(--edge);border-bottom-color:var(--edge);box-shadow:inset 0 2px 1px #fff5dd88,inset 2px 0 3px #ffffff1a,inset 0 -4px 5px #100c242e,0 2px 0 var(--edge),0 5px 0 var(--edge),0 7px 2px #0c091b66,0 13px 22px #09061070;transition:translate .18s ease,box-shadow .18s ease}
.event-card:before{background:linear-gradient(180deg,#fff9e633,transparent 24%,transparent 72%,#0d09251a),linear-gradient(120deg,transparent 22%,#ffffff12 40%,transparent 60%);border-top:1px solid #fff7e65c}
@media(hover:hover){.event-card:hover{translate:0 -3px;box-shadow:inset 0 2px 1px #fff5dda6,inset 2px 0 3px #ffffff26,inset 0 -4px 5px #100c242e,0 3px 0 var(--edge),0 7px 0 var(--edge),0 9px 3px #0c091b66,0 18px 28px #09061080}}
.event-card:active{translate:0 3px;box-shadow:inset 0 1px 2px #fff5dd66,inset 0 -2px 3px #100c242e,0 2px 0 var(--edge),0 5px 10px #09061066}
@media(prefers-reduced-motion:reduce){.event-card{transition:none}.event-card:hover,.event-card:active{translate:none}}
/* Compact event cards: two-thirds of the original card dimensions. */
.event-list{position:relative;isolation:isolate}
.event-list::before{content:'';position:absolute;inset:-24px -24px -26px;z-index:-1;pointer-events:none;border:1px solid #fff9;border-radius:18px;background:rgba(251,250,245,.18);box-shadow:0 12px 42px #1d2c251a}
@media(max-width:600px){.event-list::before{inset:-18px -16px -22px;border-radius:14px}}
.event-list{width:66.6667%;margin-inline:auto;gap:14px}
.event-card{min-height:63px;padding:13px 16px;gap:12px;border-radius:9px}
.event-card .number{width:28px;height:28px;font-size:12px}
.event-card .event-name{font-size:17px}
.event-card .status{font-size:11px;padding:3px 7px}
@media(max-width:600px){.event-card{min-height:58px;padding:12px 10px;gap:8px}.event-card .number{width:24px;height:24px;font-size:11px}.event-card .event-name{font-size:15px}.event-card .status{font-size:10px;padding:3px 5px}}
@media(max-width:359px){.event-card{padding-inline:8px;gap:6px}.event-card .event-name{font-size:14px}.event-card .status{padding-inline:4px}}
/* Art Deco enamelled metal nameplates: brushed faces and machined brass edges. */
.event-card{border:2px solid #b99758;border-top-color:#f4db9e;border-left-color:#d9b879;border-right-color:#80612f;border-bottom-color:#6e5029;border-radius:4px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 0 #fff0bd9c,inset 0 -2px 0 #130d1f66,0 3px 0 #604322,0 5px 0 #291c18,0 10px 16px #08061280}
.event-card:after{border-radius:2px;opacity:.92;background:repeating-linear-gradient(0deg,#fff5cc12 0px,#fff5cc12 1px,#0a071912 1px,#0a071912 2px,transparent 2px,transparent 4px),linear-gradient(118deg,#fff0bb45 0%,transparent 22%,#fff4cf50 35%,transparent 46%,#07091433 69%,#fff0b126 85%,transparent 100%),linear-gradient(100deg,var(--deep),var(--light) 21%,var(--base) 60%,var(--deep))}
.event-card:before{inset:4px;border:1px solid #e8c27a8c;border-radius:0;box-shadow:inset 0 0 0 1px #20172944;background:radial-gradient(circle at 3px 3px,#fff0b9 0 1px,#98713b 1.2px 2.2px,transparent 2.6px),radial-gradient(circle at calc(100% - 3px) 3px,#fff0b9 0 1px,#98713b 1.2px 2.2px,transparent 2.6px),radial-gradient(circle at 3px calc(100% - 3px),#dfba73 0 1px,#674822 1.2px 2.2px,transparent 2.6px),radial-gradient(circle at calc(100% - 3px) calc(100% - 3px),#dfba73 0 1px,#674822 1.2px 2.2px,transparent 2.6px)}
.event-card .number{border:1px solid #e3bc72;border-radius:2px;background:linear-gradient(135deg,#ead296,#b99550 48%,#dfc181 53%,#9c783e);color:#372917;box-shadow:inset 0 1px 0 #fff2c5,inset 0 -1px 1px #604626;letter-spacing:.04em;text-shadow:0 1px 0 #ffecc699}
.event-card .event-name{letter-spacing:.045em;text-shadow:0 -1px 1px #140b2599,0 1px 0 #fff5db26}
.event-card:nth-child(2) .event-name,.event-card:nth-child(3) .event-name{text-shadow:0 1px 0 #fff1c780}
.event-card .status{border-radius:2px;border-color:#e4c58e70;background:#120b2029;box-shadow:inset 0 1px 2px #00000033;color:var(--ink)}
@media(hover:hover){.event-card:hover{box-shadow:inset 0 1px 0 #fff2cacc,inset 0 -2px 0 #130d1f66,0 4px 0 #705027,0 7px 0 #291c18,0 15px 22px #0806128c}}
.event-card:active{box-shadow:inset 0 1px 3px #140b244d,0 2px 0 #604322,0 5px 10px #08061270}
@media(prefers-contrast:more){.event-card:after{opacity:1}}
