:root{--field: #712123;--oxblood: #822729;--mahogany: #2b1114;--wine: #4a1519;--ivory: #fbf7f2;--champagne: #efe1d4;--blush: #d8a7a0;--font-display: Georgia, "Times New Roman", Times, serif;--font-body: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--measure: 38rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--field);color:var(--champagne);font-family:var(--font-body);font-size:1.1875rem;line-height:1.65;font-weight:300;letter-spacing:.01em;-webkit-font-smoothing:antialiased}.room{position:relative;min-height:100vh;background:radial-gradient(ellipse 55% 40% at 82% 98%,rgba(43,17,20,.55),transparent 72%),radial-gradient(ellipse 60% 30% at 12% 3%,rgba(239,225,212,.06),transparent 70%),var(--field)}main{max-width:var(--measure);margin:0 auto;padding:0 1.5rem}::selection{background:var(--champagne);color:var(--oxblood)}h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--ivory);line-height:1.15;margin:0}h2{font-size:clamp(2.25rem,5.5vw,3.25rem);margin-bottom:2rem}h2 em,.accent-i{font-style:italic;color:var(--blush)}p{margin:0 0 1.25rem}p:last-child{margin-bottom:0}a{color:var(--blush);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .16s ease}a:hover{color:var(--champagne)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blush);outline-offset:3px;border-radius:2px}.eyebrow{font-size:.6875rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--blush);margin-bottom:1.5rem}.hero{min-height:92vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:6rem 0 4rem}.wordmark{margin:0;line-height:0;width:clamp(17rem,62vw,36rem);color:var(--ivory)}.wordmark svg{display:block;width:100%;height:auto}.hero-tagline{font-family:var(--font-display);font-style:italic;font-size:clamp(1.125rem,2.6vw,1.4rem);color:var(--blush);max-width:30rem;margin:1.75rem 0 0;line-height:1.5}.hero-date{margin-top:2.75rem;font-size:.8125rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne)}.hero-date span{display:block;margin-top:.6rem;color:var(--blush);font-size:.6875rem;letter-spacing:.28em}.hero-motto{font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,3.5vw,2rem);color:var(--blush);margin:2.25rem 0 0}.hero-cta{margin-top:3rem;display:flex;flex-direction:column;gap:1.5rem;align-items:center}.btn{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;color:var(--oxblood);background:var(--ivory);border:1px solid var(--ivory);padding:1rem 2.25rem;transition:background .2s ease,border-color .2s ease,color .2s ease}.btn:hover{background:transparent;border-color:var(--ivory);color:var(--ivory)}.link-quiet{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:none}section{padding:5.5rem 0;border-top:1px solid rgba(251,247,242,.16)}section.no-rule{border-top:none}.signature{font-family:var(--font-display);font-style:italic;font-size:1.6rem;color:var(--blush);margin-top:2rem}.playlist-frame{border:6px solid #140a0b;width:100%;height:364px;border-radius:12px}.playlist-placeholder{border:1px dashed rgba(216,167,160,.4);padding:3rem 2rem;text-align:center;font-style:italic;color:var(--blush)}.respect{text-align:center}.respect h2{margin-bottom:1.5rem}.respect .creed{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--blush);margin-top:2rem}.faq details{border-top:1px solid rgba(251,247,242,.16)}.faq details:last-of-type{border-bottom:1px solid rgba(251,247,242,.16)}.faq summary{font-family:var(--font-display);font-size:1.2rem;padding:1.4rem 2.25rem 1.4rem .25rem;cursor:pointer;list-style:none;position:relative;transition:color .16s ease}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-family:var(--font-body);font-weight:300;font-size:1.4rem;color:var(--blush);transition:transform .2s ease}.faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq summary:hover{color:var(--blush)}.faq .answer{padding:0 .25rem 1.6rem;color:#efe1d4d9;font-size:.9875rem}.finale{text-align:center;padding:6.5rem 0 5rem}.finale .motto{font-family:var(--font-display);font-style:italic;font-size:clamp(1.6rem,4.5vw,2.4rem);color:var(--blush);margin-bottom:2.75rem}footer{border-top:1px solid rgba(251,247,242,.16);padding:2.25rem 1.5rem 3rem;text-align:center;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#d8a7a0b8}footer a{color:inherit}footer .sep{margin:0 .75rem;opacity:.5}.home-mark{display:block;width:8rem;color:var(--ivory);margin:2.5rem 0 3.5rem}.home-mark svg{display:block;width:100%;height:auto}.home-mark:hover{color:var(--blush)}.page{padding:1rem 0 5rem}.page .btn{display:inline-block}.tickets{display:grid;gap:1.25rem;margin:2.5rem 0 1rem}.ticket{padding:2.75rem 2rem;border:1px solid rgba(251,247,242,.18);text-align:center}.ticket-tier{font-size:.6875rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--blush);margin:0 0 1rem}.ticket-price{font-family:var(--font-display);font-size:clamp(3rem,11vw,4.5rem);line-height:1;color:var(--ivory);margin:0}.ticket-note{color:var(--blush);font-size:.9375rem;margin:.9rem 0 0}.ticket-solo-note{color:var(--champagne);font-size:.9375rem;line-height:1.5;margin:1.75rem 0 0}.ticket .btn{margin-top:1.9rem}.lead-in{color:var(--blush);font-weight:500}.page-back{margin-top:3rem}.rsvp{margin-top:3.5rem;text-align:left}.rsvp-title{font-family:var(--font-display);font-size:1.6rem;color:var(--ivory);margin:0 0 .4rem}.rsvp-sub{font-family:var(--font-display);font-style:italic;color:var(--blush);margin:0 0 2.25rem}.rsvp-q{border:0;padding:0;margin:0 0 2.25rem;min-width:0}.rsvp-q legend,.rsvp-label{display:block;font-weight:500;color:var(--ivory);padding:0;margin-bottom:.5rem}.rsvp-hint{font-size:.875rem;color:var(--blush);margin:0 0 .85rem}.rsvp .opt{display:flex;align-items:flex-start;gap:.65rem;padding:.35rem 0;color:var(--champagne);cursor:pointer}.rsvp .opt input{accent-color:var(--blush);width:1.05rem;height:1.05rem;margin:.2rem 0 0;flex:none}.rsvp textarea{width:100%;background:#2b111466;border:1px solid rgba(251,247,242,.2);color:var(--champagne);font-family:var(--font-body);font-size:1rem;line-height:1.5;padding:.85rem 1rem;resize:vertical}.rsvp textarea:focus-visible{outline:2px solid var(--blush);outline-offset:2px}.rsvp input[type=number],.rsvp input[type=text]{background:#2b111466;border:1px solid rgba(251,247,242,.2);color:var(--champagne);font-family:var(--font-body);font-size:1rem;padding:.6rem .85rem}.rsvp input[type=number]{width:7rem}.rsvp-other{width:100%;margin-top:.6rem}.rsvp input:focus-visible{outline:2px solid var(--blush);outline-offset:2px}.rsvp button[type=submit]{margin-top:.5rem;cursor:pointer}.rsvp-thanks{font-family:var(--font-display);font-style:italic;font-size:1.4rem;color:var(--blush)}.rsvp-error{color:var(--blush);margin-top:1rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:480px){section{padding:4rem 0}}
