
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,600;0,700;1,400&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#090d0c;--green:#113c30;--gold:#d3b477;--paper:#f4ead8;--muted:#aaa99b;--line:#d3b47738}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:Manrope,sans-serif}body.lock{overflow:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}[hidden]{display:none!important}.wrap{max-width:1060px;margin:auto;padding:0 28px}.serif,h1,h2,h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:400}.tiny{font-size:9px;letter-spacing:3px;text-transform:uppercase;line-height:1.9}.gold{color:var(--gold)}nav{display:flex;align-items:center;justify-content:space-between;height:80px;border-bottom:1px solid var(--line)}.logo{font-size:15px;font-weight:800;letter-spacing:3px}.logo i{color:var(--gold);font-style:normal}nav a{font-size:9px;text-transform:uppercase;letter-spacing:2px;text-decoration:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 50%,#19553c55,transparent 65%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding:65px 0 70px}.hero h1{font-size:clamp(67px,10vw,119px);line-height:.85;letter-spacing:-4px;margin:25px 0}.hero h1 em{display:block;font-size:.56em;color:var(--gold);font-weight:400;letter-spacing:-2px;line-height:1.3}.hero p{font-size:13px;color:#bcbeb2;line-height:1.9;max-width:370px}.btn{padding:17px 22px;background:var(--gold);color:#18231c;border:1px solid var(--gold);display:inline-block;text-decoration:none;font-weight:800;font-size:10px;letter-spacing:1.5px}.hero .btn{margin-top:15px}.btn.outline{background:transparent;color:var(--gold)}.art{height:490px;position:relative;display:grid;place-items:center}.ring{position:absolute;width:380px;height:380px;border:1px solid var(--line);border-radius:50%;outline:1px solid #d3b47715;outline-offset:18px;background:repeating-conic-gradient(from 0deg,#d3b47715 0 1deg,transparent 1deg 10deg);mask-image:radial-gradient(transparent 0 65%,#000 66%)}.playing{width:215px;height:325px;border-radius:13px;background:var(--paper);color:#173c2f;border:1px solid #fff9;position:absolute;box-shadow:0 15px 45px #0005}.playing:before{content:'';position:absolute;inset:12px;border:1px solid #173c2f55;border-radius:7px}.playing.back{transform:rotate(-18deg) translate(-45px,8px);background:repeating-linear-gradient(45deg,#153f30 0 5px,#1c4e3b 5px 7px);border:5px solid var(--paper)}.playing.front{transform:rotate(9deg) translate(20px,-10px);text-align:center;display:grid;place-items:center}.playing .corner{position:absolute;left:20px;top:19px;font-family:Georgia,serif;font-size:22px;line-height:1.1}.playing .corner.bottom{left:auto;top:auto;right:20px;bottom:19px;transform:rotate(180deg)}.playing .age{font:112px/.9 'Bodoni Moda',Georgia,serif}.playing .age small{display:block;font:9px Manrope,sans-serif;letter-spacing:4px;margin-top:15px}.suit{font-size:31px;display:block;margin-bottom:16px}.chip{width:112px;height:112px;border-radius:50%;border:8px dashed #f0d497;background:radial-gradient(circle,#203d2b 0 51%,#c2a15f 52% 54%,#152f23 55%);box-shadow:0 0 0 3px #8c713f,0 12px 30px #0007;display:grid;place-items:center;color:var(--gold);font:27px 'Bodoni Moda',Georgia,serif}.art .chip{position:absolute;right:0;bottom:13px;transform:rotate(-15deg)}.art .spark{position:absolute;color:var(--gold);font-size:40px;right:15px;top:25px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--gold);padding:16px;text-align:center;font-size:9px;letter-spacing:3px;line-height:1.7}.section{padding:70px 0}h2{font-size:clamp(40px,6vw,60px);line-height:1.08;margin:15px 0 25px;letter-spacing:-1px}.intro-row{display:flex;justify-content:space-between;align-items:end;gap:30px}.intro-row p{max-width:290px;color:var(--muted);font-size:12px;line-height:1.9}.vip{border:1px solid var(--gold);display:grid;grid-template-columns:1fr 130px;margin-top:35px;background:linear-gradient(125deg,#193d2e55,transparent)}.vip-main{padding:30px}.vip-name{font:37px 'Bodoni Moda',Georgia,serif;margin:12px 0 25px;overflow-wrap:anywhere}.vip-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:20px}.vip-details small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-bottom:9px}.vip-details b{font-size:12px;font-weight:500}.vip-stub{border-left:1px dashed var(--gold);padding:25px 15px;display:grid;align-content:center;text-align:center;color:var(--gold)}.vip-stub strong{font:50px 'Bodoni Moda',Georgia,serif}.barcode{height:26px;margin-top:20px;background:repeating-linear-gradient(90deg,var(--gold) 0 2px,transparent 2px 4px,var(--gold) 4px 5px,transparent 5px 9px)}.count{display:flex;gap:30px;margin:30px 0}.count strong{font:42px 'Bodoni Moda',Georgia,serif;display:block}.count small{font-size:8px;color:var(--muted);letter-spacing:2px}.game-section{background:radial-gradient(ellipse at center,#1b4e39,#0c281f);text-align:center;border-block:1px solid var(--line)}.game-section p{color:#b7c8b8;font-size:12px;line-height:1.9}.deck{display:flex;justify-content:center;gap:15px;padding:30px 0 10px}.flip{width:130px;height:190px;border:0;padding:0;background:transparent;perspective:800px;color:var(--paper)}.flip-inner{display:block;width:100%;height:100%;position:relative;transition:transform .65s;transform-style:preserve-3d}.flip.revealed .flip-inner{transform:rotateY(180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;border-radius:8px;border:1px solid var(--gold);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px}.face.back{background:repeating-linear-gradient(45deg,#173d2d 0 4px,#25533c 4px 5px);box-shadow:inset 0 0 0 7px #123224,inset 0 0 0 8px #d3b47788}.face.back span{width:65px;height:65px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:32px Georgia,serif}.face.front{transform:rotateY(180deg);background:var(--paper);color:#173a2c}.face.front strong{font:32px 'Bodoni Moda',Georgia,serif}.face.front small{font-size:10px;line-height:1.6;margin-top:10px}.game-msg{min-height:48px;margin-top:20px;font:23px 'Bodoni Moda',Georgia,serif;color:var(--gold)}.program{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.program>div{border-top:1px solid var(--line);padding-top:20px}.program h3{font-size:25px;margin:13px 0}.program p{font-size:12px;line-height:1.8;color:var(--muted)}.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:70px}.rsvp p{font-size:12px;line-height:1.9;color:var(--muted)}form{display:grid;gap:16px}label{font-size:11px;display:grid;gap:9px}input,select,textarea{width:100%;border:1px solid var(--line);padding:14px;background:#ffffff04;color:var(--paper);border-radius:0}select option{background:#152c21}textarea{resize:vertical}.note{font-size:10px!important;color:var(--muted)}.success{border:1px solid var(--gold);padding:20px;margin-top:20px;line-height:1.8;font-size:13px}.footer{padding:35px 25px;text-align:center;border-top:1px solid var(--line)}.footer .serif{font-size:35px}.footer p{font-size:9px;color:var(--muted);line-height:1.9}.footer a{font-size:10px;color:var(--gold);margin:10px;display:inline-block}.cover{position:fixed;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 50%,#153d2a,#070d0a 75%);display:grid;place-items:center;min-height:100svh;padding:25px;text-align:center;overflow:hidden;transition:opacity .75s,visibility .75s}.cover:before{content:'';position:absolute;inset:18px;border:1px solid var(--line);pointer-events:none}.cover.gone{opacity:0;visibility:hidden}.cover-inner{position:relative;width:min(100%,450px)}.cover h2{font-size:clamp(64px,12vw,97px);line-height:.9;margin:25px 0}.cover h2 em{display:block;font-size:.45em;letter-spacing:6px;color:var(--gold);font-style:normal;margin-top:20px}.cover .recipient{font-size:12px;color:#b7c5b8;line-height:1.8}.cover .recipient b{color:var(--paper);font-weight:500}.entry-chip{margin:35px auto 20px;width:135px;height:135px;font-size:40px;transition:transform 1.2s,opacity .8s;animation:float 4s ease-in-out infinite}.entry-chip small{display:block;font:8px Manrope,sans-serif;letter-spacing:2px;margin-top:6px}.cover .hint{font-size:9px;letter-spacing:2px;color:var(--gold);line-height:2}.cover.entering .entry-chip{animation:none;transform:rotateY(720deg) scale(2.5);opacity:0}.cover.entering h2,.cover.entering .hint,.cover.entering .recipient{opacity:0;transition:opacity .5s}.confetti{position:fixed;top:-20px;z-index:30;width:7px;height:12px;pointer-events:none;animation:fall 2.5s ease-in forwards}.replay{background:transparent;color:var(--gold);border:0;border-bottom:1px solid var(--line);padding:10px;font-size:10px;cursor:pointer}@keyframes float{50%{translate:0 -8px;box-shadow:0 0 0 3px #8c713f,0 15px 50px #b1904930}}@keyframes fall{to{transform:translateY(110vh) rotate(500deg);opacity:0}}@media(max-width:650px){.wrap{padding:0 23px}nav{height:65px}.hero-grid{grid-template-columns:1fr;gap:10px;padding:45px 0 30px}.hero h1{font-size:89px}.hero p{max-width:100%}.art{height:365px;max-width:330px;width:100%;margin:auto}.playing{width:170px;height:260px}.playing .age{font-size:88px}.playing .corner{left:15px;top:15px;font-size:18px}.playing .corner.bottom{right:15px;bottom:15px}.ring{width:290px;height:290px}.art .chip{width:85px;height:85px;font-size:22px;bottom:10px}.art .spark{font-size:30px;top:8px}.strip{font-size:8px;letter-spacing:1.5px}.section{padding:50px 0}.intro-row{display:block}.vip{grid-template-columns:1fr 75px}.vip-main{padding:23px 18px}.vip-name{font-size:29px}.vip-details{grid-template-columns:1fr;gap:17px}.vip-details small{margin-bottom:5px}.vip-stub{padding:15px 8px}.vip-stub strong{font-size:32px}.vip-stub .tiny{font-size:7px;letter-spacing:1px}.count{gap:24px}.count strong{font-size:36px}.deck{gap:10px}.flip{width:calc((100vw - 72px)/3);max-width:130px;height:165px}.face.front strong{font-size:24px}.face.front small{font-size:9px}.face.back span{width:50px;height:50px;font-size:26px}.rsvp{grid-template-columns:1fr;gap:25px}.program{grid-template-columns:1fr;gap:15px}.program>div{display:grid;grid-template-columns:65px 1fr;column-gap:15px;align-items:center}.program p{grid-column:2;margin:0}.program h3{margin:0 0 8px}.cover h2{font-size:79px}.cover .tiny{font-size:8px;letter-spacing:2px}}@media(max-height:670px){.entry-chip{margin-top:20px;width:110px;height:110px}.cover h2{margin:18px 0;font-size:65px}.cover .recipient{margin:10px 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.css-arrow{display:inline-block;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);vertical-align:2px;margin-left:5px}.css-arrow-up{transform:rotate(0deg)}.css-arrow-vertical{transform:rotate(-45deg)}.css-arrow-left{transform:rotate(-135deg)}.spark:before{content:"";display:block;width:13px;height:13px;background:currentColor;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.entry-chip>span{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;transform:translateY(-10px)}.entry-chip small{margin:3px 0 0;font:800 8.5px/1.15 Manrope,sans-serif;letter-spacing:1px;white-space:nowrap;text-shadow:0 1px 2px #071b14}
