@charset "UTF-8";
@font-face{font-family:NefinSymbols;src:url('/assets/symbols.ttf') format('truetype');font-display:swap;unicode-range:U+2190-21FF,U+2710-2740,U+FF0B}
body{font-family:NefinSymbols,Arial,Helvetica,sans-serif}
:root{--wine:#7A202C;--pink:#D6BABB;--gold:#D7B56D;--line:rgba(215,181,109,.3);--muted:#d6babbcc;--serif:Georgia,'Times New Roman',serif;--sans:NefinSymbols,Arial,Helvetica,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--wine);color:var(--pink);font:15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}a,button,input{touch-action:manipulation}button,a,input{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--wine)}.invitation{max-width:1440px;margin:auto;padding:0 6%}.topbar{height:120px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;color:var(--gold);font:42px/1 var(--serif);letter-spacing:3px;display:inline-block}.wordmark span{font-style:italic;letter-spacing:0}.wordmark small{display:block;font:8px/1.8 var(--sans);letter-spacing:4px;text-align:center;margin-top:8px}.top-link{font-size:10px;letter-spacing:2px;text-decoration:none}.top-link span{color:var(--gold);margin-left:24px;font-size:20px}.hero{text-align:center;position:relative;padding:64px 20px 38px;margin:30px 0 0;isolation:isolate}.hero-frame{position:absolute;inset:50px 12% 106px;border:1px solid var(--line);border-radius:48% 48% 0 0;z-index:-1;opacity:.6}.hero-frame:after{content:'';position:absolute;inset:12px;border:1px solid var(--line);border-radius:inherit;opacity:.5}.edition{font-size:9px;letter-spacing:3px;display:flex;justify-content:center;align-items:center;gap:16px}.edition span{height:1px;width:35px;background:var(--gold)}.leaf-mark{margin:43px 0 18px;width:90px;height:100px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:400}.hero h1{font:clamp(48px,6.3vw,88px)/1.1 var(--serif);font-weight:400;letter-spacing:-3px;margin:24px 0;color:var(--pink)}h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-copy{font-size:14px;line-height:1.9;color:var(--muted)}.ornament{font-size:31px;color:var(--gold);margin:26px 0 13px}.opening{font-size:9px;letter-spacing:3px}.event-date{display:flex;gap:18px;align-items:center;justify-content:center;margin:20px 0 32px}.event-date>span{font:72px/.9 var(--serif);color:var(--gold)}.event-date>div{text-align:left;border-left:1px solid var(--line);padding-left:18px}.event-date strong{font-size:11px;letter-spacing:3px;font-weight:400}.event-date p{font-size:12px;margin:6px 0 0}.event-date b{padding:0 8px;font-weight:400;color:var(--gold)}.button{border:1px solid var(--gold);display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:54px;padding:15px 24px;text-decoration:none;cursor:pointer;font-size:12px;transition:background .2s,transform .2s}.button.gold{background:var(--gold);color:var(--wine)}.button:hover{background:#e6c887;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.calendar-link{display:block;width:fit-content;margin:18px auto 0;font-size:11px;text-underline-offset:5px}.calendar-link span{margin-left:12px;color:var(--gold)}.hero-bottom{margin-top:66px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:var(--muted)}.details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:12px;padding:72px 5%;display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font:48px/1.15 var(--serif);font-weight:400;letter-spacing:-1px;margin:16px 0 20px}.muted{color:var(--muted);font-size:13px}.location-card{align-self:center;border-left:1px solid var(--line);padding:12px 0 12px 38px}.tiny-label,.section-number{font-size:9px;letter-spacing:2px;color:var(--gold)}h3{font:26px/1.3 var(--serif);color:var(--pink);font-weight:400;margin:17px 0 12px}address{font-style:normal;color:var(--muted);font-size:13px}.text-link{display:flex;justify-content:space-between;color:var(--gold);font-size:12px;text-decoration:none;max-width:260px;border-bottom:1px solid var(--line);padding:18px 0 12px}.contact-line{display:flex;gap:24px;margin-top:18px;font-size:11px}.contact-line a{text-decoration:none}.rsvp{padding:82px 5%;display:grid;grid-template-columns:1fr 1fr;gap:10%;scroll-margin:24px}.rsvp-intro>p{font-size:13px;color:var(--muted)}.rsvp-intro h2{font-size:58px;margin-top:26px}.small-flower{display:inline-block;font:64px/1 var(--serif);color:var(--gold);margin-top:35px}.form-wrap{padding-top:8px}.field-label{display:block;font-size:9px;letter-spacing:2px;margin-bottom:13px;color:var(--gold)}.name-input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;color:var(--pink);font-family:var(--serif);font-size:22px;border-radius:0}.name-input::placeholder{color:#d6babb88}fieldset{border:0;padding:0;margin:30px 0 0;min-width:0}legend{padding:0}.attendance-options{display:grid;gap:10px}.attendance-option{border:1px solid var(--line);padding:13px 16px;display:flex;gap:13px;align-items:center;cursor:pointer;font-size:12px;position:relative;transition:background .2s}.attendance-option input{position:absolute;opacity:0;width:20px;height:20px;left:14px}.radio-circle{width:15px;height:15px;flex:0 0 15px;border:1px solid #d6babb88;border-radius:50%}.attendance-option:has(input:checked){background:#d7b56d14;border-color:var(--gold);color:var(--gold)}input:checked+.radio-circle{border:4px solid var(--gold)}.attendance-option:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}.option-symbol{margin-left:auto;color:var(--gold)}.privacy-note{font-size:10px;line-height:1.8;color:var(--muted);margin:20px 0}.privacy-note a{text-underline-offset:3px}.submit-button{width:100%}.button:disabled{opacity:.65;cursor:wait;transform:none}.form-footnote{text-align:center;font:italic 13px var(--serif);color:var(--muted);margin-top:18px}.notice{padding:18px 20px;border:1px solid var(--gold);font-size:12px;margin-bottom:24px;background:#d7b56d0a}.notice p{margin:7px 0 0}.notice.error{border-color:var(--pink)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}footer{border-top:1px solid var(--line);padding:36px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{font-size:32px}.footer-brand small{font-size:6px;letter-spacing:3px}footer p{font:16px/1.7 var(--serif);text-align:center}footer p span{font-style:italic;color:var(--gold)}.share-link{font-size:11px;text-underline-offset:5px}.utility{max-width:1040px;margin:auto;padding:48px 24px}.utility h1{font:40px var(--serif);color:var(--gold)}.utility h2{font-size:25px;letter-spacing:0}.utility input,.utility select{background:#641b25;color:var(--pink);border:1px solid var(--line);padding:12px;max-width:100%}.utility label{display:block;margin:16px 0 7px}.utility .button{margin-top:20px}.utility .login{max-width:430px;margin:55px auto}.utility .login input{width:100%}.utility .login .button{width:100%}.admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-heading form button{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:32px 0}.stat{padding:20px;border:1px solid var(--line)}.stat strong{display:block;color:var(--gold);font:36px var(--serif)}.stat span{font-size:11px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{margin:0}.filters button,.filters .button{margin:0}.table-wrap{overflow:auto;margin-top:26px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;font-weight:400;letter-spacing:1px;color:var(--gold)}th,td{padding:16px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td:first-child{white-space:normal;min-width:180px}.pagination{display:flex;gap:20px;margin-top:25px;font-size:12px}.empty{padding:40px;text-align:center}.utility-footer{font-size:11px;margin-top:45px;color:var(--muted)}.privacy-page{max-width:720px}.privacy-page p{font-size:14px}.privacy-page h2{margin-top:30px}
@media(min-width:1400px){.hero-frame{inset:50px 17% 106px}}@media(max-width:700px){.invitation{padding:0 7%}.topbar{height:95px}.wordmark{font-size:33px}.wordmark small{font-size:6px;letter-spacing:3px}.top-link{font-size:8px;letter-spacing:1px}.top-link span{margin-left:10px}.hero{padding:38px 0 22px;margin-top:20px}.hero-frame{inset:42px -3% 100px;border-radius:48% 48% 0 0}.hero-frame:after{inset:8px}.edition{font-size:7px;letter-spacing:2px;gap:10px}.edition span{width:20px}.leaf-mark{width:74px;height:84px;margin:40px 0 18px}.hero h1{font-size:clamp(43px,11vw,68px);letter-spacing:-1.5px;line-height:1.12;margin:24px -5px}.hero-copy{font-size:12px}.eyebrow{font-size:8px;letter-spacing:2px}.opening{font-size:8px;letter-spacing:2px}.ornament{margin-top:24px}.event-date>span{font-size:65px}.event-date{margin-bottom:28px}.button{font-size:11px;padding:14px 20px;gap:22px}.hero-bottom{margin-top:50px;font-size:7px;letter-spacing:1px}.hero-bottom span:last-child{max-width:115px;text-align:right}.details{padding:48px 0;grid-template-columns:1fr;gap:28px}.details h2{font-size:44px}.location-card{padding:4px 0 4px 24px;margin-top:6px}.text-link{max-width:100%}.contact-line{justify-content:space-between}.rsvp{grid-template-columns:1fr;padding:48px 0;gap:25px}.rsvp-intro h2{font-size:50px;margin-top:19px}.rsvp-intro>p br{display:none}.small-flower{display:none}footer{flex-wrap:wrap;justify-content:space-between;padding:30px 0}footer p{order:3;width:100%;text-align:left;font-size:14px;margin:0}.footer-brand{font-size:30px}.stats{grid-template-columns:repeat(2,1fr)}.admin-heading{align-items:start}.utility h1{font-size:30px}.admin-heading .button{padding:8px 12px;min-height:40px}.filters select{width:100%}.filters label{flex:1}.utility{padding:30px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* PDF invitation: mobile only; retain the established desktop layout. */
.mobile-invitation{display:none}
.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}
@media(max-width:700px){
 .invitation{padding:0}
 .topbar,.hero,.details,.invitation>footer,.rsvp-intro{display:none}
 .mobile-invitation{display:block;position:relative;width:100%;max-width:480px;margin:0 auto}
 .pdf-invitation{display:block;width:100%;height:auto}
 .pdf-map-link{position:absolute;left:32%;top:86.5%;width:36%;height:3.8%;min-height:44px}
 .pdf-map-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
 .rsvp{display:block;max-width:480px;margin:0 auto;padding:0 24px 36px;scroll-margin-top:16px}
 .form-wrap{padding:0}
 .form-footnote{display:none}
}
