@font-face{font-family:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2)format("woff2"),url(/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-400-normal-q-RKOgPK.woff2)format("woff2"),url(/assets/jost-latin-400-normal-C7S-3Ky6.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-500-normal-41lBe9I9.woff2)format("woff2"),url(/assets/jost-latin-500-normal-B-AtzreL.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jost-latin-600-normal-C497H-z9.woff2)format("woff2"),url(/assets/jost-latin-600-normal-Bv_M0d15.woff)format("woff")}@font-face{font-family:Sedgwick Ave Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sedgwick-ave-display-latin-400-normal-HnZVIkp6.woff2)format("woff2"),url(/assets/sedgwick-ave-display-latin-400-normal-Bbgl8Gfo.woff)format("woff")}:root{--ink:#0b0907;--ivory:#f4ecdc;--ivory-dim:#f4ecdcb8;--gold:#d9b56c;--serif:"Cormorant Garamond", Georgia, serif;--display:"DM Serif Display", Georgia, serif;--sans:Jost, "Helvetica Neue", Arial, sans-serif;--card:0;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--ink);color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#stage{width:100vw;height:100vh;height:100lvh;display:block;position:fixed;inset:0}.grade{pointer-events:none;mix-blend-mode:normal;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#0000006b 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");height:100lvh;position:fixed;inset:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{z-index:50;background:var(--ivory);color:var(--ink);font:500 14px var(--sans);border-radius:999px;padding:10px 14px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip:focus-visible{transform:none}#loader{z-index:40;background:var(--ink);place-content:center;justify-items:center;gap:22px;transition:opacity .9s,visibility .9s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;visibility:hidden}.loader-mark{font:400 34px/1 var(--display);letter-spacing:.08em;margin:0}.loader-mark em{font-family:var(--serif);color:var(--gold)}.loader-bar{background:#f4ecdc2e;width:120px;height:1px;overflow:hidden}.loader-bar span{background:var(--gold);width:0;height:100%;transition:width .3s;display:block}.start{z-index:25;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(80% 65%,#0c0907c7,#0c0907e6);place-items:center;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0}.start[hidden]{opacity:0;visibility:hidden;pointer-events:none;display:grid}.play{min-height:52px;color:var(--ink);font:500 14px var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;background:#f4ecdceb;border:1px solid #f4ecdc80;border-radius:999px;align-items:center;gap:10px;padding:0 28px 0 22px;transition:transform .2s,background .2s;display:inline-flex;box-shadow:0 10px 40px #00000059}.play:hover{background:var(--ivory);transform:translateY(-1px)}.play:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.sound{top:calc(14px + env(safe-area-inset-top,0px));z-index:30;width:40px;height:40px;color:var(--ivory);-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#0b090759;border:1px solid #f4ecdc47;border-radius:50%;place-items:center;display:grid;position:fixed;right:14px}.sound .on{display:none}.sound[aria-pressed=true] .on{display:inline}.sound[aria-pressed=true] .off{display:none}.sound:focus-visible,.btn:focus-visible,.menu a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.card{z-index:20;height:100svh;padding:24px 22px calc(24px + var(--safe-b));opacity:var(--card);pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(80% 65%,#0c0907c7,#0c0907e6);outline:none;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.card:not(.shown){visibility:hidden}.card.active{pointer-events:auto}.card:focus-visible{pointer-events:auto;opacity:1}.card:has(:focus-visible){pointer-events:auto;opacity:1}.card-inner{text-align:center;max-width:34rem;transform:translateY(calc((1 - var(--card)) * 18px))}.eyebrow{font:500 11px var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}.names{font:400 clamp(44px, 12vw, 88px)/.98 var(--display);letter-spacing:.01em;margin:0}.names em{font:italic 500 .62em/1.25 var(--serif);color:var(--gold);display:block}.date{font:500 clamp(17px, 4.6vw, 22px) var(--sans);letter-spacing:.28em;text-transform:uppercase;margin:22px 0 8px}.venue{font:500 clamp(20px, 5.4vw, 26px)/1.3 var(--serif);margin:0}.venue span{font:400 12px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-dim);margin-top:6px;display:block}.rule{justify-content:center;align-items:center;gap:10px;margin:26px auto 14px;display:flex}.rule i{background:#d9b56c99;width:48px;height:1px}.rule b{border:1px solid var(--gold);width:6px;height:6px;transform:rotate(45deg)}.note{font:italic 500 18px var(--serif);color:var(--ivory-dim);margin:0 0 26px}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn{min-height:44px;color:var(--ivory);font:500 13px var(--sans);letter-spacing:.08em;cursor:pointer;background:#0b09074d;border:1px solid #f4ecdc66;border-radius:999px;padding:0 20px;transition:background .2s,border-color .2s}.btn:hover{border-color:var(--ivory)}.btn.primary{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.btn.ghost{text-underline-offset:4px;border-color:#0000;-webkit-text-decoration:underline #f4ecdc66;text-decoration:underline #f4ecdc66}.cal{position:relative}.menu{background:#14100cf5;border:1px solid #f4ecdc29;border-radius:14px;min-width:200px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 18px 40px #00000073}.menu a{color:var(--ivory);font:400 14px var(--sans);text-align:left;border-radius:9px;padding:12px 14px;text-decoration:none;display:block}.menu a:hover{background:#f4ecdc14}.no-webgl #stage,.no-webgl .grade,.no-webgl .start,.no-webgl .sound,.no-webgl #loader,.no-webgl #replay{display:none}.no-webgl,.no-webgl body{height:auto;overflow:auto}.no-webgl body{background:radial-gradient(at 50% 120%,#c98a4b 0%,#5a3520 38%,#0b0907 78%);min-height:100vh}.no-webgl .card{opacity:1;visibility:visible;pointer-events:auto;background:0 0;min-height:100svh;position:relative}@media (prefers-reduced-motion:reduce){.start,.play{transition:none}.card-inner{transform:none}#loader{transition:none}}
