:root{--ink:#0c1010;--gold:#c5a56a;--paper:#eadfc9;--muted:#b8b4a8;--green:#142c27;--wine:#512b36}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);margin:0;font-family:Georgia,Times New Roman,serif}header{letter-spacing:3px;height:84px;color:var(--gold);border-bottom:1px solid #c5a56a40;justify-content:space-between;align-items:center;margin:0 6%;font:10px Arial,sans-serif;display:flex}.brand{color:var(--gold);font:30px Georgia;text-decoration:none}.brand span{margin:0 5px;font-size:12px}.hero{text-align:center;isolation:isolate;padding:75px 20px 62px;position:relative;overflow:hidden}.rays{z-index:-1;background:repeating-conic-gradient(at 50% 80%,#0000 0deg 14deg,#c5a56a0c 14deg 14.3deg);width:700px;height:480px;position:absolute;top:60px;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.eyebrow,.date,.speakeasy,.preview-label{letter-spacing:3px;color:var(--gold);font:11px Arial,sans-serif}.after{margin:30px 0 5px;font-size:27px;font-style:italic}h1{letter-spacing:10px;color:var(--gold);text-shadow:3px 3px #0c1010,4px 4px #8b7147;margin:0;font-size:clamp(78px,14vw,150px);font-weight:400;line-height:1}.speakeasy{letter-spacing:9px;margin:16px 0 24px;font-size:14px}.rule{color:var(--gold);justify-content:center;align-items:center;gap:18px;font-size:12px;display:flex}.rule:before,.rule:after{content:"";background:var(--gold);width:110px;height:1px}h2{font-size:32px;font-weight:400;line-height:1.2}.hero h2{font-size:26px}.intro{color:var(--muted);font-size:17px;line-height:1.7}.date{margin:28px 0}.button{background:var(--gold);border:1px solid var(--gold);color:#101717;letter-spacing:2px;cursor:pointer;justify-content:space-between;align-items:center;gap:35px;padding:18px 24px;font:10px Arial,sans-serif;text-decoration:none;display:inline-flex}.button:hover{background:#e1c58e}.button span{font-size:18px}.whisper{color:var(--muted);margin-top:22px;font-size:12px;font-style:italic}.entry{background:linear-gradient(135deg,#142c27,#0d1816);border:1px solid #c5a56a50;grid-template-columns:1fr 1fr;gap:80px;margin:0 6%;padding:64px 6%;display:grid}.entry h2{margin:24px 0;font-size:44px}.entry p{color:var(--muted);max-width:380px;line-height:1.7}.entry .eyebrow{color:var(--gold)}form{background:#0c1010;border:1px solid #c5a56a70;align-self:center;padding:32px}h3{margin:12px 0 25px;font-size:29px;font-weight:400}label{color:var(--paper);margin:20px 0 10px;font:12px Arial;display:block}input{width:100%;color:var(--paper);background:#141b19;border:1px solid #536058;padding:14px;font:14px Arial}form .button{width:100%;margin-top:26px}form p#entry-status{margin-bottom:0;font:12px/1.6 Arial}.notice{border-left:2px solid var(--gold);padding-left:12px;font:12px Arial!important}.club{text-align:center;padding:75px 6% 80px}.club h2{font-size:40px}nav{border-bottom:1px solid #c5a56a40;flex-wrap:wrap;justify-content:center;margin-top:35px;display:flex}nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:18px 25px;font:13px Georgia}nav button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}article{text-align:left;background:linear-gradient(110deg,#1b1915,#141a18);border:1px solid #c5a56a40;max-width:780px;min-height:210px;margin:24px auto 0;padding:35px}article h3{color:var(--gold)}article p{color:var(--muted);line-height:1.7}.seal{float:right;color:var(--gold);border:1px solid var(--gold);letter-spacing:2px;padding:14px;font:10px Arial}.preview-label{letter-spacing:2px;color:var(--muted);font-size:9px}footer{color:var(--gold);border-top:1px solid #c5a56a40;justify-content:space-between;margin:0 6%;padding:30px 0;font-size:12px;display:flex}a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #f2d28f}@media (max-width:700px){header{height:65px}.private{display:none}.hero{padding-top:55px}.hero h2{font-size:23px}.entry{grid-template-columns:1fr;gap:25px;padding:30px 22px}.entry h2{font-size:36px}form{padding:24px}.club{padding-top:50px}.club h2{font-size:31px}nav button{padding:15px}article{padding:24px}.seal{float:none;margin-bottom:15px;display:inline-block}footer{gap:20px;font-size:10px}.eyebrow{font-size:9px}}.portal{max-width:1160px;margin:0 auto;padding:48px 6% 80px}.portal-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.portal-top form{background:0 0;border:0;padding:0}.portal-top h2{font-size:36px}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:25px 0;display:grid}.cards article{width:100%;min-height:0;margin:0;padding:28px}.panel{background:#101917;border:1px solid #c5a56a40;margin:28px 0;padding:32px}.panel form{max-width:650px}.panel p{color:var(--muted);line-height:1.7}.prose{white-space:pre-wrap;overflow-wrap:anywhere}article.prose{max-width:none;min-height:0;margin:24px 0}.small{color:var(--muted);font:12px/1.6 Arial}textarea,select{width:100%;color:var(--paper);background:#141b19;border:1px solid #536058;padding:14px;font:14px Arial}textarea{resize:vertical;min-height:130px}.secondary{border:1px solid var(--gold);color:var(--gold);cursor:pointer;background:0 0;padding:12px 18px}.quiet-link{color:var(--gold);margin:16px 0;display:inline-block}nav a{color:var(--muted);border-bottom:2px solid #0000;padding:17px 20px;text-decoration:none;display:block}nav a[aria-current=page]{color:var(--gold);border-color:var(--gold)}button:disabled{opacity:.5;cursor:not-allowed}select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #f2d28f}@media (max-width:700px){.portal{padding:30px 6%}.portal-top{align-items:flex-start}.portal-top h2{font-size:27px}.panel{padding:22px}.panel form{padding:20px}nav a{padding:14px 12px;font-size:13px}.cards{grid-template-columns:1fr}.hero h1{font-size:clamp(72px,14vw,150px)}}header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}header .brand{justify-self:start}header>.private{text-align:right;justify-self:end}header>span:not(.private){text-align:center;white-space:nowrap;grid-column:2}.invitation-nav{flex-wrap:wrap;gap:24px;display:flex}.rsvp-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:32px 0;display:grid}.count-card{color:var(--paper);background:#121d19;border:1px solid #c5a56a50;padding:24px;text-decoration:none}.count-card strong{color:var(--gold);font-size:36px;font-weight:400;display:block}.count-card span{font:12px Arial,sans-serif}.count-card.selected{border-color:var(--gold);background:#1b2b23}.guest-card{max-width:none;min-height:0;margin-bottom:24px;padding:30px;scroll-margin-top:24px}.guest-card:target{border-color:var(--gold)}.guest-card h3{margin:0 0 8px}.guest-card-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.guest-card-heading p{margin:0}.reply-badge{white-space:nowrap;border:1px solid #c5a56a60;padding:8px 12px;font:11px Arial,sans-serif}.reply-yes{color:#bdd5b8;background:#1a3b2d}.reply-no{color:#e3c2c8;background:#452a32}.reply-pending{color:var(--gold)}.share-link{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.share-link input{flex:280px;min-width:0;font:12px monospace}.share-link .small{flex-basis:100%}.role-controls{border-top:1px solid #c5a56a50;margin-top:28px;padding-top:25px}.role-controls form{max-width:650px;margin:16px 0;padding:20px}.role-controls button,.guest-edit button{margin-top:18px}.role-controls select:disabled{opacity:.8}.guest-edit{margin-top:18px}.guest-edit summary{cursor:pointer;color:var(--gold);font-size:13px}.guest-edit form{margin:16px 0}.rsvp-stage{background:radial-gradient(at top,#24352b,#0c1010 65%);padding:60px 20px 90px}.rsvp-envelope{color:#342b21;outline-offset:-16px;text-align:center;background:#eee1c4;outline:1px solid #8e7449;max-width:680px;margin:auto;padding:50px 58px;box-shadow:0 22px 70px #0007}.rsvp-envelope h1{letter-spacing:1px;text-shadow:none;color:#3b3022;overflow-wrap:anywhere;margin:14px 0 28px;font-size:clamp(34px,7vw,58px);font-weight:400;line-height:1.15}.rsvp-envelope h2{font-size:27px;line-height:1.35}.rsvp-envelope .eyebrow,.rsvp-envelope .date{color:#705428}.note-seal{color:#705428;letter-spacing:2px;border:2px solid #8d6f39;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin:0 0 22px;font:22px Georgia;display:inline-flex}.note-addressee{color:#6a5943;font-style:italic}.note-body{font-size:19px;line-height:1.85}.rsvp-envelope .rule{color:#8d6f39}.rsvp-envelope .rule:before,.rsvp-envelope .rule:after{background:#8d6f39;width:75px}.rsvp-choices{background:0 0;border:0;gap:14px;margin:30px 0;padding:0;display:grid}.rsvp-choice{text-align:left;cursor:pointer;color:#f2e3c4;background:#17352b;border:1px solid #17352b;width:100%;padding:23px 18px;display:block}.rsvp-choice strong{margin-bottom:8px;font:22px Georgia;display:block}.rsvp-choice span{font:13px/1.5 Arial,sans-serif}.rsvp-choice:hover{background:#244d3e}.rsvp-decline{color:#564632;background:0 0;border-color:#a28b62}.rsvp-decline:hover{background:#e1d0ac}.rsvp-confirmation{background:#e2d2af;border:1px solid #a28b62;margin:28px 0;padding:20px}.rsvp-confirmation h2{margin:10px 0}.rsvp-confirmation p{line-height:1.6}.rsvp-envelope .small{color:#6a5943}.note-deadline{color:#6a5943;font:12px/1.7 Arial}.note-signature{margin:28px 0;font-size:23px;font-style:italic;line-height:1.7}.rsvp-envelope .notice{color:#51412d;text-align:left;border-color:#8d6f39;line-height:1.7}.guest-add{max-width:650px}@media (max-width:700px){.rsvp-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.count-card{padding:18px}.guest-card-heading{flex-direction:column;gap:12px}.guest-card{padding:23px}.invitation-nav{gap:4px 20px}.rsvp-stage{padding:30px 14px 55px}.rsvp-envelope{outline-offset:-10px;padding:38px 28px}.note-body{font-size:17px}.rsvp-envelope h2{font-size:24px}.share-link .secondary{width:100%}}.code-entry{margin-top:24px}.auth-confirm{max-width:720px;margin:30px auto}.auth-confirm form{max-width:none}.code-entry input[name=code]{letter-spacing:8px;font-size:24px}
