:root{--black: #070503;--espresso: #120a06;--espresso-2: #21110a;--gold: #d79a2b;--gold-soft: #f5d084;--orange: #c95713;--teal: #1d766d;--magenta: #b83255;--pink: #d87975;--cream: #f3dfbd;--muted: #c9aa75;--line: rgba(215, 154, 43, .72);--shadow: 0 18px 60px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 14% 10%,rgba(215,154,43,.14),transparent 18rem),radial-gradient(circle at 85% 35%,rgba(184,50,85,.12),transparent 16rem),linear-gradient(180deg,var(--black),var(--espresso) 48%,var(--black));color:var(--cream);font-family:Space Grotesk,system-ui,sans-serif;line-height:1.5;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(245,208,132,.55) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(245,208,132,.18) 0 1px,transparent 1.5px);background-size:74px 74px,29px 29px;opacity:.23;mix-blend-mode:screen}a{color:inherit}img{display:block;max-width:100%}.sr-only,.hidden-field{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100% - 1rem,1120px);margin:.5rem auto 0;padding:.6rem .7rem;border:2px solid var(--line);border-radius:999px;background:#070503db;backdrop-filter:blur(14px);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:.65rem;min-width:0;color:var(--gold-soft);font-family:Rye,Georgia,serif;font-size:clamp(.92rem,4vw,1.25rem);text-decoration:none;line-height:1.05}.brand strong{display:block;color:var(--orange);font-family:Shrikhand,Georgia,serif;font-size:.78em;letter-spacing:.03em;text-transform:uppercase}.disco-mark,.disco-small{width:2.65rem;aspect-ratio:1;flex:0 0 auto;border-radius:50%;border:1px solid rgba(245,208,132,.75);background:linear-gradient(90deg,transparent 46%,rgba(7,5,3,.38) 47% 53%,transparent 54%),linear-gradient(0deg,transparent 46%,rgba(7,5,3,.38) 47% 53%,transparent 54%),radial-gradient(circle at 35% 28%,#fff3bd 0 6%,#d79a2b 7% 21%,#72420f 22% 100%);box-shadow:0 0 22px #d79a2b80}.header-rsvp{flex:0 0 auto;padding:.55rem .9rem;border:1px solid var(--gold);border-radius:999px;color:var(--gold-soft);font-weight:800;text-decoration:none;text-transform:uppercase}main{position:relative;z-index:1}.section-band,.form-section,.action-section,.carousel-section,.countdown-wrap{width:min(100% - 1.1rem,980px);margin:1rem auto;border:2px solid var(--line);border-radius:1.6rem;background:linear-gradient(145deg,#120a06f0,#070503eb);box-shadow:var(--shadow)}.hero{position:relative;display:grid;gap:1.5rem;padding:1.5rem 1rem 1rem;overflow:hidden}.hero:after,.schedule:after,.hotel-section:after{content:"";position:absolute;right:-2rem;bottom:-2rem;width:12rem;aspect-ratio:1;border:1.1rem solid transparent;border-top-color:var(--orange);border-left-color:var(--magenta);border-radius:50%;transform:rotate(-28deg);opacity:.42}.eyebrow{margin:0 0 .4rem;color:var(--orange);font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--gold-soft);font-family:Rye,Georgia,serif;line-height:1.02;text-wrap:balance}h1{margin-bottom:1rem;font-size:clamp(3rem,15vw,7.4rem);text-shadow:0 3px 0 rgba(112,58,15,.8)}h1 span{display:block;color:var(--teal);font-family:Shrikhand,Georgia,serif;text-transform:uppercase}h2{margin-bottom:.7rem;font-size:clamp(2.35rem,10vw,4.5rem)}.event-pills{display:grid;gap:.65rem;margin:1rem 0}.event-pills p{margin:0;padding:.75rem .85rem;border:1px solid var(--line);border-radius:1rem;color:var(--cream);font-weight:800;text-transform:uppercase}.event-pills span{display:block;color:var(--gold);font-size:.78rem}.hero-actions,.hotel-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.35rem;padding:.82rem 1rem;border:2px solid rgba(245,208,132,.6);border-radius:999px;color:#fff2d0;font-weight:900;letter-spacing:.08em;text-align:center;text-decoration:none;text-transform:uppercase;box-shadow:inset 0 1px #ffffff38,0 8px 24px #00000052;cursor:pointer}.button-gold{background:linear-gradient(180deg,#dc8a18,#a84d0e)}.button-pink{background:linear-gradient(180deg,#c84564,#8f1f3d)}.button-teal{background:linear-gradient(180deg,#207d76,#11534e)}.hero-photo{position:relative;margin:0;border:2px solid var(--gold);border-radius:1.3rem;overflow:hidden;box-shadow:0 18px 44px #00000073}.hero-photo img{width:100%;height:min(78vw,28rem);object-fit:cover;object-position:50% 36%}.countdown-wrap{padding:1rem;text-align:center}.countdown-wrap h2{font-family:Space Grotesk,system-ui,sans-serif;font-size:clamp(1.3rem,5vw,2.1rem);letter-spacing:.07em;text-transform:uppercase}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.countdown span{min-width:0;padding:.6rem .25rem;border:1px solid var(--line);border-radius:.8rem;color:var(--gold);font-size:clamp(.62rem,2.7vw,.86rem);font-weight:800;text-transform:uppercase}.countdown strong{display:block;color:var(--gold-soft);font-size:clamp(1.35rem,8vw,3rem);line-height:1}.carousel-section{position:relative;padding:.8rem;border-color:#b83255d9;overflow:hidden}.carousel-track{display:flex;gap:.65rem;transition:transform .52s ease;will-change:transform}.carousel-track img{flex:0 0 72%;width:72%;aspect-ratio:4 / 5;object-fit:cover;border:2px solid var(--gold);border-radius:1rem}.carousel-button{position:absolute;top:45%;z-index:2;width:3rem;aspect-ratio:1;border:2px solid var(--gold);border-radius:50%;background:var(--teal);color:var(--gold-soft);font-size:2.4rem;line-height:1;box-shadow:var(--shadow)}.carousel-button.previous{left:.25rem}.carousel-button.next{right:.25rem}.carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:.85rem}.carousel-dots button{width:.7rem;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:#d79a2b7a}.carousel-dots button[aria-current=true]{background:var(--orange)}.schedule,.hotel-section{position:relative;padding:1.35rem 1rem;overflow:hidden}.schedule-list{display:grid;gap:.85rem}.schedule-list article{display:grid;grid-template-columns:4.5rem 1fr;gap:.6rem .9rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:1.25rem}.schedule-icon{grid-row:span 2;display:grid;place-items:center;width:3.8rem;aspect-ratio:1;border:1px solid var(--gold);border-radius:50%;color:var(--magenta);font-size:2.6rem;font-weight:900}.schedule time{color:var(--orange);font-family:Shrikhand,Georgia,serif;font-size:2.3rem;line-height:1}.schedule article:nth-child(2) time{color:var(--teal)}.schedule h3{margin:0;color:var(--cream);font-family:Rye,Georgia,serif;font-size:clamp(1.6rem,7vw,2.9rem);line-height:1.08}.welcome-note{margin:1rem 0 0;padding:1rem;border-radius:1rem;background:linear-gradient(90deg,#b83255f2,#b83255b3);color:var(--gold-soft);font-size:1.2rem;font-weight:900;letter-spacing:.05em;text-align:center;text-transform:uppercase}.form-section,.action-section{padding:1.35rem 1rem}.rsvp-section{border-color:var(--gold);background:radial-gradient(circle at 80% 8%,rgba(215,154,43,.18),transparent 14rem),linear-gradient(145deg,#1c0d06fa,#070503f2)}.section-intro{max-width:44rem}.section-intro p:not(.eyebrow),.helper{color:#ead6b5;font-size:1.05rem}form{display:grid;gap:.95rem;margin-top:1rem}label,legend{color:var(--gold-soft);font-weight:800}input,textarea,select{width:100%;margin-top:.35rem;padding:.92rem .9rem;border:1px solid rgba(215,154,43,.75);border-radius:.8rem;background:#0000006b;color:var(--cream);font:inherit}textarea{resize:vertical}fieldset{display:grid;gap:.55rem;margin:0;padding:.85rem;border:1px solid rgba(215,154,43,.75);border-radius:.9rem}fieldset label,.checkbox-line{display:flex;align-items:center;gap:.6rem;color:var(--cream)}input[type=radio],input[type=checkbox]{width:1.1rem;height:1.1rem;margin:0;accent-color:var(--gold)}.action-section .button{width:100%;margin-top:.6rem}.hotel-details{display:grid;gap:1rem;margin:1rem 0}.hotel-room{position:relative;z-index:1;margin:1rem 0;border:2px solid var(--gold);border-radius:1.25rem;overflow:hidden;box-shadow:0 16px 38px #0000006b}.hotel-room img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.discount{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:1rem}.discount strong{color:var(--orange);font-family:Shrikhand,Georgia,serif;font-size:clamp(3.1rem,17vw,5.5rem);line-height:.9}.discount span{color:var(--gold-soft);font-weight:900;letter-spacing:.08em;text-transform:uppercase}dl{display:grid;gap:.75rem;margin:0}dl div{padding-bottom:.75rem;border-bottom:1px dashed rgba(215,154,43,.55)}dt{color:var(--gold);font-weight:900;letter-spacing:.08em;text-transform:uppercase}dd{margin:.15rem 0 0;color:var(--cream);overflow-wrap:anywhere}footer{position:relative;z-index:1;padding:2rem 1rem 3rem;color:var(--muted);text-align:center}.thanks-page{min-height:100svh;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1.35rem,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 8%,rgba(245,208,132,.2),transparent 15rem),radial-gradient(circle at 12% 26%,rgba(184,50,85,.16),transparent 13rem),radial-gradient(circle at 88% 72%,rgba(29,118,109,.16),transparent 14rem),url(/images/assets/textures/dark-glitter-texture.png) center / 520px auto repeat,linear-gradient(180deg,#040201,#170805 54%,#050201)}.thanks-card{position:relative;isolation:isolate;width:min(100%,26rem);padding:2.15rem 1.05rem 1.05rem;overflow:hidden;border:1px solid rgba(245,208,132,.46);border-radius:1.55rem;background:linear-gradient(#05020147,#050201c7),url(/images/assets/textures/dark-glitter-texture.png) center / 420px auto repeat,linear-gradient(145deg,#21110af5,#070503f5);text-align:center;box-shadow:inset 0 0 0 1px #ffe29e1f,0 24px 70px #0009,0 0 34px #d79a2b1f}.thanks-card:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/images/assets-clean/textures/gold-frame-corners.png) center / 100% 100% no-repeat;opacity:.5;pointer-events:none}.thanks-card:after{content:"";position:absolute;right:-4.8rem;top:-3.2rem;z-index:-1;width:13.5rem;aspect-ratio:1;background:url(/images/assets-clean/decor/halftone-dots-gold.png) center / contain no-repeat;opacity:.13;pointer-events:none}.thanks-card__disco{width:4.15rem;height:auto;margin:0 auto .65rem;filter:drop-shadow(0 0 18px rgba(215,154,43,.42)) drop-shadow(0 10px 24px rgba(0,0,0,.5))}.thanks-card .eyebrow{margin-bottom:.55rem;letter-spacing:.14em}.thanks-card h1{max-width:18rem;margin:0 auto .9rem;color:var(--gold-soft);font-family:Rye,Georgia,serif;font-size:clamp(2.55rem,12vw,4.7rem);line-height:.98;text-shadow:0 3px 0 rgba(112,58,15,.68),0 0 18px rgba(215,154,43,.14)}.thanks-card p:not(.eyebrow){max-width:21rem;margin:0 auto 1.25rem;color:#f1ddba;font-size:1rem;line-height:1.55}.thanks-actions{display:grid;gap:.72rem;width:min(100%,20.8rem);margin:0 auto}.thanks-actions .button{width:100%;min-height:3.25rem;border-width:1px;font-size:.82rem;box-shadow:inset 0 1px #fff3,0 10px 22px #00000057}@media(min-width:760px){.site-header{margin-top:1rem;padding:.8rem 1rem}.section-band,.form-section,.action-section,.carousel-section,.countdown-wrap{margin-top:1.35rem;border-radius:2rem}.hero{grid-template-columns:1.05fr .95fr;align-items:center;padding:2.1rem}.hero-photo img{height:36rem}.event-pills,.schedule-list,.hotel-details{grid-template-columns:1fr 1fr}.hotel-section{display:grid;grid-template-columns:1fr .92fr;gap:0 1.4rem;align-items:start}.hotel-section .section-intro,.hotel-section .hotel-details,.hotel-section .hotel-actions{grid-column:1}.hotel-room{grid-column:2;grid-row:1 / span 3;margin:0;align-self:stretch}.hotel-room img{height:100%;aspect-ratio:auto}.carousel-track{gap:.8rem}.carousel-track img{flex-basis:31%;width:31%}.form-section,.action-section,.schedule,.hotel-section,.countdown-wrap{padding:2rem}form{grid-template-columns:1fr 1fr}form label:has(textarea),form fieldset,form .checkbox-line,form button{grid-column:1 / -1}.rsvp-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem;align-items:start}.rsvp-section form{margin-top:0}}
