:root{--ink: #071f16;--ink-2: #0b2b20;--felt: #0e4933;--cream: #fff7df;--gold: #f4c95d;--gold-2: #ffdf87;--red: #e74d3c;--pink: #ff6f91;--blue: #70c7ff;--shadow: 0 24px 70px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--cream);background:radial-gradient(circle at 9% 12%,rgba(244,201,93,.12),transparent 24rem),radial-gradient(circle at 95% 30%,rgba(231,77,60,.1),transparent 22rem),var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}a{color:inherit}.ticker{position:relative;z-index:20;overflow:hidden;border-bottom:2px solid #161105;color:#161105;background:var(--gold);font-weight:950;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.ticker-track{display:inline-flex;gap:2.5rem;min-width:200%;padding:.55rem 0;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translate(-50%)}}.page-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto}.hero{position:relative;min-height:760px;padding:3rem 0 5rem;display:grid;align-items:center;isolation:isolate}.hero:before{content:"";position:absolute;inset:1.5rem 0;z-index:-2;border:1px solid rgba(244,201,93,.38);border-radius:2.2rem;background:linear-gradient(120deg,#061c14c7,#061c146b),repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 2px,transparent 2px 9px),var(--felt);box-shadow:var(--shadow)}.hero:after{content:"♠  ♥  ♣  ♦";position:absolute;right:2rem;top:3rem;z-index:-1;color:#fff7df14;font-family:Georgia,serif;font-size:clamp(4rem,10vw,9rem);letter-spacing:.04em;transform:rotate(-7deg)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.72fr);gap:clamp(2rem,6vw,5.5rem);align-items:center;padding:3.5rem clamp(1.25rem,4vw,4rem)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem .8rem;border:1px solid rgba(244,201,93,.55);border-radius:999px;color:var(--gold-2);background:#061c148c;font-weight:850;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin:1.35rem 0 1.2rem;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(4rem,9.6vw,8.6rem);font-weight:900;line-height:.84;letter-spacing:-.045em;text-transform:uppercase;text-shadow:5px 5px 0 rgba(0,0,0,.22)}h1 .gold{color:var(--gold)}.hero-lede{max-width:690px;margin-bottom:1.6rem;font-family:Georgia,serif;font-size:clamp(1.2rem,2.2vw,1.65rem);color:#fff7dfe6}.facts{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:2rem}.fact{padding:.62rem .85rem;border:1px solid rgba(255,255,255,.15);border-radius:.85rem;background:#00000038;font-weight:750}.button{display:inline-flex;justify-content:center;align-items:center;gap:.6rem;min-height:54px;padding:.8rem 1.15rem;border:0;border-radius:.9rem;color:#171204;background:linear-gradient(180deg,#ffe792,var(--gold));box-shadow:0 8px #9b7220,0 18px 32px #0000003d;font-weight:950;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;transition:transform .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px) rotate(-.4deg);box-shadow:0 10px #9b7220,0 20px 36px #00000047}.button:active{transform:translateY(5px);box-shadow:0 3px #9b7220}.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.poster{position:relative;padding:1rem;transform:rotate(2.2deg);border:5px solid var(--gold);border-radius:1.3rem;color:#1b1609;background:var(--cream);box-shadow:16px 18px #00000040}.poster:before{content:"OFFICIAL\aPARTY NOTICE";white-space:pre;position:absolute;right:-1.1rem;top:-1.5rem;padding:.65rem .8rem;border:3px solid #37120d;color:var(--cream);background:var(--red);font-weight:950;line-height:1;text-align:center;transform:rotate(8deg)}.poster-inner{padding:2.5rem 1.5rem 1.7rem;border:2px dashed #1b1609;border-radius:.65rem;text-align:center}.poster-art{display:block;width:100%;aspect-ratio:4 / 4.4;object-fit:cover;border:2px solid #1b1609;border-radius:.45rem;filter:saturate(.92) contrast(1.03)}.poster h2{margin:1rem 0 .25rem;font-family:Impact,sans-serif;font-size:2.6rem;line-height:.95;text-transform:uppercase}.poster-year{margin:0;color:#9b7220;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2.4rem,5vw,3.4rem);letter-spacing:.12em;line-height:1}.poster.is-wrapped:before{content:attr(data-year) "\a CLOSED"}.poster.is-coming:before{content:attr(data-year) "\aTBA"}.poster .odds{margin:1rem 0;padding:.75rem;border-block:2px solid #1b1609;font-weight:900}.poster small{display:block;font-weight:750;line-height:1.35}.section{padding:clamp(4rem,8vw,7rem) 0}.section-heading{max-width:760px;margin-bottom:2.2rem}.kicker{color:var(--gold);font-weight:900;letter-spacing:.12em;text-transform:uppercase}h2{font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2.7rem,6vw,5.2rem);line-height:.95;letter-spacing:-.02em;text-transform:uppercase}.section-heading p{color:#fff7dfc2;font-size:1.1rem}.lineup{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.event-card{position:relative;display:flex;flex-direction:column;min-height:330px;padding:1.4rem;border:1px solid rgba(255,255,255,.13);border-radius:1.3rem;background:#ffffff0e;overflow:hidden}.event-card.main{border:2px solid var(--gold);color:#181208;background:var(--gold);box-shadow:var(--shadow);transform:translateY(-1rem) rotate(-.7deg)}.event-card .number{color:#ffffff5c;font-family:Impact,sans-serif;font-size:4rem;line-height:1}.event-card.main .number{color:#17120438}.event-card h3{margin:auto 0 .75rem;font-family:Georgia,serif;font-size:1.8rem;line-height:1.08}.event-card p{margin-bottom:0}.event-card .detail{margin-top:.55rem;font-weight:800}.event-card a.detail{color:inherit;text-decoration:underline;text-underline-offset:3px}.event-card .label{display:inline-flex;align-self:flex-start;padding:.35rem .55rem;border-radius:.4rem;color:var(--ink);background:var(--cream);font-weight:900;text-transform:uppercase;font-size:.78rem}.event-card.main .label{color:var(--cream);background:var(--ink)}.forecast{margin-top:1.2rem;padding:1rem 1.2rem;border:1px dashed rgba(244,201,93,.48);border-radius:1rem;text-align:center;color:var(--gold-2);font-family:Georgia,serif;font-size:1.18rem;font-style:italic}.rsvp-section{position:relative;padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(#05150fe6,#05150fe6),repeating-linear-gradient(45deg,transparent 0 20px,rgba(255,255,255,.025) 20px 40px);border-block:1px solid rgba(244,201,93,.25)}.rsvp-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,7vw,6rem);align-items:start}.rules{position:sticky;top:1.5rem}.rules-list{list-style:none;margin:1.5rem 0 0;padding:0}.rules-list li{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.11)}.rules-list strong{color:var(--gold)}.form-card{padding:clamp(1.1rem,3.8vw,2.3rem);border:1px solid rgba(244,201,93,.45);border-radius:1.5rem;background:var(--felt);box-shadow:var(--shadow);scroll-margin-top:1.25rem}.form-card h3{margin-bottom:.25rem;font-family:Georgia,serif;font-size:1.7rem}.form-card>p{color:#fff7dfb3}.field{margin-top:1.25rem}label,legend{display:block;margin-bottom:.5rem;font-weight:850}input,select,textarea{width:100%;min-height:50px;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.22);border-radius:.72rem;color:var(--cream);background:#03110c7a}textarea{min-height:100px;resize:vertical}input::placeholder,textarea::placeholder{color:#fff7df75}fieldset{margin:1.5rem 0 0;padding:0;border:0}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:flex;height:100%;min-height:86px;padding:.85rem;align-items:center;border:2px solid rgba(255,255,255,.14);border-radius:.8rem;background:#00000029;font-weight:800;line-height:1.25;transition:border-color .18s ease,background .18s ease,transform .18s ease}.choice input:checked+span{border-color:var(--gold);color:#191306;background:var(--gold);transform:rotate(-1deg)}.choice input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}.golf-details{display:none;padding:1rem;margin-top:1rem;border-left:4px solid var(--gold);border-radius:.4rem;background:#00000026}.golf-details.visible{display:block}.golf-details fieldset{margin-top:0}.golf-details>label{margin-top:1.25rem}.submit-row{display:flex;gap:1rem;align-items:center;margin-top:1.5rem}.submit-row .button{width:100%}.fine-print{margin-top:1rem;color:#fff7df94;font-size:.86rem;text-align:center}.closing{text-align:center}.closing h2{max-width:900px;margin-inline:auto}.warning{display:inline-block;max-width:760px;margin-top:1rem;padding:1rem 1.2rem;border:3px solid var(--red);color:var(--red);background:#e74d3c12;font-weight:900;text-transform:uppercase;transform:rotate(-1deg)}footer{padding:2rem 1rem 5.5rem;color:#fff7df8c;text-align:center}footer a{color:var(--gold-2);font-weight:800}.share-quiet{max-width:420px;margin:0 auto 1.35rem}.share-quiet p{margin:0 0 .55rem;color:#fff7df6b;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.share-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.share-row a,.share-row button{min-height:34px;padding:.3rem .7rem;border:1px solid rgba(255,255,255,.16);border-radius:.55rem;color:#fff7df9e;background:transparent;font-size:.75rem;font-weight:750;letter-spacing:.04em;text-decoration:none}.share-row a:hover,.share-row button:hover{color:var(--cream);border-color:#f4c95d73}.mobile-rsvp{display:none;position:fixed;right:1rem;bottom:1rem;left:1rem;z-index:50;min-height:52px;transition:opacity .2s ease,transform .2s ease}dialog{width:min(560px,calc(100% - 2rem));padding:0;border:4px solid var(--gold);border-radius:1.4rem;color:var(--cream);background:var(--ink-2);box-shadow:var(--shadow)}dialog::backdrop{background:#000000bf;backdrop-filter:blur(4px)}.success{padding:2rem;text-align:center}.success .icon{font-size:4rem}.success h2{margin:.5rem 0 1rem;font-size:clamp(2.6rem,7vw,4.5rem)}.success-summary{padding:1rem;border-radius:.75rem;color:#171204;background:var(--gold);font-weight:800}.success-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}.secondary-button{min-height:50px;border:1px solid rgba(255,255,255,.25);border-radius:.75rem;color:var(--cream);background:transparent;font-weight:850}.confetti{position:fixed;top:-20px;z-index:90;width:10px;height:16px;border-radius:2px;pointer-events:none;animation:fall 2.8s linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(720deg);opacity:.85}}@media(max-width:880px){.hero{min-height:auto}.hero-grid,.rsvp-wrap{grid-template-columns:1fr}.rsvp-wrap>:last-child{order:-1}.hero-grid{padding-block:4.5rem}.poster{max-width:430px;justify-self:center;transform:rotate(1deg)}.lineup{grid-template-columns:1fr}.event-card,.event-card.main{min-height:245px;transform:none}.rules{position:static}}@media(max-width:600px){.page-shell{width:min(100% - 1.15rem,1180px)}.hero{padding-top:1.5rem}.hero:before{inset:.5rem 0;border-radius:1.3rem}.hero-grid{padding:3.2rem 1rem}h1{font-size:clamp(3.7rem,18vw,5.8rem)}.hero-lede{font-size:1.08rem}.facts{display:grid;grid-template-columns:1fr}.hero-copy>.button{display:none}.home-hero .hero-copy>.button,.archive-hero .hero-copy>.button{display:inline-flex}.poster{width:calc(100% - .8rem)}.choices{grid-template-columns:1fr}.mobile-rsvp{display:inline-flex}.mobile-rsvp.is-away{opacity:0;pointer-events:none;transform:translateY(120%)}.success-actions{grid-template-columns:1fr}footer{padding-bottom:7rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.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}.err{color:var(--gold-2);font-weight:800}.admin-page{padding:3rem 0 5rem}.admin-page h1{max-width:none;margin:0 0 1rem;font-size:clamp(2.6rem,7vw,4.4rem)}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0 1.5rem}.admin-toolbar a,.admin-toolbar button.secondary-button{text-decoration:none}.admin-toolbar .secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:0 .9rem;cursor:pointer}.stat-grid{display:grid;gap:.35rem;margin-top:1rem}.guest-line{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.11);font-weight:750}.admin-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.11)}.admin-row-copy{min-width:0;flex:1}.admin-row p{margin:0 0 .25rem}.admin-remove{flex-shrink:0;margin-top:.1rem;padding:.35rem .55rem;border:0;border-radius:.5rem;background:transparent;color:#fff7df8c;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.admin-remove:hover,.admin-remove:focus-visible{color:var(--gold-2)}.dim{color:#fff7df9e}.admin-login{max-width:460px;margin:4rem auto}option{color:#171204}
