@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap";:root{--paper:#f4f0e7;--ink:#293b32;--muted:#6b7268;--line:#d5d6ca;--clay:#a05b41;--pale:#e7e7db}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);margin:0;font:15px/1.7 DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,input,summary{touch-action:manipulation}:is(a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible){outline:3px solid var(--clay);outline-offset:5px}h1,h2,h3{margin:0;font-family:Playfair Display,Georgia,serif;font-weight:400;line-height:1.12}h2{letter-spacing:-1.6px;font-size:clamp(36px,4.4vw,62px)}h3{letter-spacing:-.5px;font-size:29px}em{font-weight:400}p{margin:0 0 20px}.brand{letter-spacing:-1.5px;white-space:nowrap;font-size:28px;font-weight:600;line-height:1}.brand span{letter-spacing:0;margin-left:5px;font-family:Playfair Display,serif;font-size:18px;font-style:italic;font-weight:400}.site-header{justify-content:space-between;align-items:center;height:90px;padding:0 5%;display:flex}.site-header nav{align-items:center;gap:30px;font-size:11px;display:flex}.nav-vote{border-bottom:1px solid var(--ink);padding:10px 0}.nav-vote span{margin-left:20px}.hero{height:calc(100svh - 110px);min-height:720px;max-height:950px;color:var(--paper);margin:0 20px;position:relative;overflow:hidden}.hero>img,.hero-overlay{object-fit:cover;object-position:50% 42%;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(#0000 40%,#12251c88),linear-gradient(90deg,#172d2499,#172d241a)}.hero-top,.hero-bottom{letter-spacing:2px;justify-content:space-between;font-size:9px;display:flex;position:absolute;left:4%;right:4%}.hero-top{top:30px}.hero-bottom{bottom:28px}.hero-title{padding:145px 7% 110px;position:relative}.eyebrow{letter-spacing:2px;margin:0 0 24px;font-size:10px;font-weight:600}.hero h1{letter-spacing:-6px;font-size:clamp(80px,12.5vw,190px);line-height:1}.hero h1 em{color:#e1cfb4}.hero-title>p:not(.eyebrow){margin:25px 0 30px;font-size:14px}.button{background:var(--ink);color:var(--paper);cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:30px;max-width:280px;min-height:52px;padding:17px 23px;font-size:12px;transition:background .2s;display:flex}.button:hover{background:#435447}.button:disabled{opacity:.6;cursor:wait}.button-light{background:var(--paper);color:var(--ink);width:230px}.button-light:hover{background:#fff}.section{max-width:1600px;margin:auto;padding:88px 8%}.section-label{letter-spacing:1.8px;border-top:1px solid var(--line);justify-content:space-between;gap:25px;margin-bottom:55px;padding-top:22px;font-size:9px;display:flex}.section-label>span:last-child{color:var(--muted)}.invitation .section-label{border:0;padding-top:0}.letter-grid{grid-template-columns:1fr 1fr;gap:12%;display:grid}.letter-grid h2{max-width:450px}.letter-grid h2 em{color:var(--clay)}.letter{max-width:500px}.letter p{font-size:14px;line-height:1.9}.signature{color:var(--clay);margin-top:30px;font:italic 32px Playfair Display,serif;display:block}.plans{padding-top:12px}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px;display:flex}.section-heading p{color:var(--muted);margin:0;font-size:12px}.highlights{grid-template-columns:1fr 1fr;gap:35px 32px;display:grid}.highlight-photo{height:310px;position:relative;overflow:hidden}.highlight-photo img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.highlights article:hover img{transform:scale(1.025)}.photo-2 img{object-position:center 60%}.highlight-photo>span{background:var(--paper);place-items:center;min-width:34px;height:34px;font-size:10px;display:grid;position:absolute;bottom:15px;left:18px}.highlight-copy{padding:20px 0 0}.highlight-copy h3{margin-bottom:9px;font-size:28px}.highlight-copy p{color:var(--muted);margin:0;font-size:13px}.fine-print{color:var(--muted);font-size:11px;line-height:1.7}.plans>.fine-print{margin:25px 0 0}.availability{background:var(--ink);color:var(--paper);max-width:none;padding-left:max(8%,50vw - 672px);padding-right:max(8%,50vw - 672px)}.availability .section-label{border-color:#ffffff35}.availability .section-label>span:last-child{color:#b9c1b5}.vote-grid{grid-template-columns:1fr 1.2fr;gap:12%;display:grid}.vote-intro{color:#e2e4d8;max-width:330px;margin:28px 0;font-size:13px}.choice-key{max-width:330px;margin:30px 0 0;font-size:12px}.choice-key>div{margin:15px 0}.choice-key dt{font-weight:600}.choice-key dd{color:#bfc6ba;margin:2px 0 0;font-size:11px}.vote-rows fieldset{border:0;border-top:1px solid #ffffff38;min-width:0;margin:0;padding:22px 0 28px}.vote-rows legend{float:left;width:100%;margin-bottom:20px;font-size:17px}.vote-rows legend>span{color:#bfc6ba;margin-right:15px;font-size:10px}.radio-options{clear:both;gap:8px;display:flex}.radio-options label{cursor:pointer;flex:1}.radio-options input{opacity:0;width:1px;height:1px;position:absolute}.radio-options label>span{text-align:center;border:1px solid #ffffff4d;padding:13px 8px;font-size:11px;transition:all .2s;display:block}.radio-options input:checked+span{background:var(--paper);color:var(--ink);border-color:var(--paper);box-shadow:inset 0 -3px #b88d56}.radio-options input:focus-visible+span{outline-offset:4px;outline:3px solid #dfbb82}.radio-options input:disabled+span{opacity:.5;cursor:default}.availability .fine-print{color:#bfc6ba}.vote-deadline{border-top:1px solid #ffffff38;margin-top:25px;padding-top:20px}.vote-deadline span{letter-spacing:1.8px;color:#bfc6ba;font-size:8px;display:block}.vote-deadline strong{font-size:12px;font-weight:400}.closed-message{color:#efd3a6;margin-top:20px;font-size:13px}.logistics-grid{grid-template-columns:1fr 1fr;gap:12%;display:grid}.logistics h3{letter-spacing:0;margin:32px 0 16px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600}.logistics-grid>div>p{font-size:13px}.cost-panel{background:var(--pale);align-self:start;padding:40px}.cost{border-top:1px solid #bdc1b2;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;display:flex}.cost>span{font-size:12px}.cost strong{font:38px Playfair Display,serif}.cost small{text-align:right;margin-top:5px;font:10px DM Sans,sans-serif;display:block}.cost-note{color:var(--muted);margin-top:12px;font-size:10px!important}.cost-other{border-top:1px solid #bdc1b2;margin-top:25px;padding-top:20px;font-size:12px!important}.cost-panel .fine-print{margin:0;font-size:10px!important}.rsvp{padding-top:10px}.rsvp-grid{grid-template-columns:1fr 1.2fr;gap:12%;display:grid}.rsvp-grid>div>p{max-width:330px;margin:25px 0;font-size:13px}.rsvp-deadline{color:var(--muted);font-size:11px!important}label{margin-bottom:8px;font-size:11px;display:block}label>span:not(.consent span){color:inherit}label>span{color:var(--muted);margin-left:6px;font-size:9px}input:not([type=radio]):not([type=checkbox]){width:100%;color:var(--ink);background:0 0;border:1px solid #b9bfb0;border-radius:0;min-height:48px;padding:12px 14px}.field-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.consent{align-items:flex-start;gap:10px;margin:25px 0;font-size:11px;line-height:1.7;display:flex}.consent input{accent-color:var(--ink);flex-shrink:0;width:17px;height:17px;margin:3px 0 0}.consent span{color:var(--ink);margin:0;font-size:11px}#rsvp .button{width:100%;max-width:none}.privacy-note{color:var(--muted);margin:13px 0;font-size:10px}.error{color:#9e3427;margin:14px 0 0;font-size:12px}.confirmation{background:var(--pale);align-self:start;padding:32px}.confirmation h3{font-size:29px;line-height:1.45}.confirmation p{margin:20px 0 0;font-size:13px}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:25px;padding:35px 5%;font-size:10px;display:flex}footer p{margin:0}.footer-links{align-items:start;gap:24px;display:flex}footer details{max-width:280px;position:relative}footer details p{margin-top:15px}footer details p a{text-decoration:underline}summary{cursor:pointer}.gate{grid-template-columns:1.1fr 1fr;min-height:100svh;display:grid}.gate-photo{background:linear-gradient(#172d2422,#172d2455),url(/images/hero-corner.jpg) 50%/cover}.gate-panel{align-self:center;padding:65px 15%}.gate-panel>.brand{margin-bottom:60px;display:block}.gate-panel .eyebrow{font-size:9px}.gate h1{letter-spacing:-3px;margin-bottom:30px;font-size:80px}.gate h1 em{color:var(--clay)}.gate-panel>p:not(.eyebrow){color:var(--muted);font-size:13px}.gate form{margin-top:25px}.gate .button{width:100%;max-width:none;margin-top:15px}.owner-link{color:var(--muted);margin-top:40px;font-size:10px;display:block}.admin-shell{max-width:1280px;margin:auto;padding:50px 6%}.admin-shell h1{margin:30px 0 20px;font-size:56px}.admin-shell h2{margin:40px 0 18px;font-size:32px}.admin-shell>.button{margin:30px 0}.admin-top{justify-content:space-between;margin-bottom:60px;display:flex}.admin-top>span{letter-spacing:2px;font-size:10px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0 50px;display:grid}.summary-grid article{background:var(--pale);padding:25px}.summary-grid p{font-size:13px}.summary-grid strong{font:48px Playfair Display,serif}.summary-grid small{font:11px DM Sans,sans-serif}.summary-grid dl>div{justify-content:space-between;font-size:12px;display:flex}.summary-grid dd{margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 10px}th{font-size:10px}.pill{background:#deded3;padding:5px 8px;font-size:10px}.preferred{background:#d7e1ca}.secondary{background:#e8dbbe}.unavailable{background:#e5d2c8}.empty{padding:30px;font-size:13px}.admin-settings{max-width:650px;margin:50px 0}.admin-settings>p{color:var(--muted);font-size:12px}.admin-controls{background:var(--pale);padding:25px}.admin-controls p{margin:15px 0 0;font-size:12px}@media (max-width:760px){.site-header{height:75px;padding:0 6%}.brand{font-size:24px}.brand span{font-size:16px}.site-header nav>a:not(.nav-vote){display:none}.site-header nav{font-size:11px}.hero{height:calc(100svh - 85px);min-height:700px;max-height:850px;margin:0 10px}.hero-top,.hero-bottom{letter-spacing:1px;font-size:8px;left:6%;right:6%}.hero-top>span:last-child{display:none}.hero-title{padding:140px 7% 110px}.hero h1{letter-spacing:-3px;font-size:clamp(72px,17vw,124px)}.hero h1 em{display:block}.hero-title>p:not(.eyebrow){max-width:210px;font-size:12px}.hero .eyebrow{font-size:9px}.hero-bottom{gap:20px;font-size:7px}.section{padding:55px 7%}.section-label{margin-bottom:32px;padding-top:18px;font-size:8px}.section-label>span:last-child{display:none}.letter-grid,.vote-grid,.logistics-grid,.rsvp-grid{grid-template-columns:1fr;gap:30px}.letter-grid h2{font-size:42px}.letter p{font-size:13px}.signature{margin-top:20px}.plans{padding-top:0}.section-heading{margin-bottom:28px;display:block}.section-heading h2{font-size:38px}.section-heading p{margin-top:20px}.highlights{grid-template-columns:1fr;gap:30px}.highlight-photo{height:270px}.highlight-copy h3{font-size:28px}.highlight-copy p{font-size:12px}.highlight-copy{padding-top:16px}.vote-intro{max-width:none}.choice-key{max-width:none;margin-top:24px}.choice-key>div{margin:10px 0}.radio-options{gap:6px}.radio-options label>span{padding:13px 4px;font-size:10px}.vote-rows legend{font-size:16px}.vote-rows legend>span{margin-right:10px}.availability .section-label{margin-bottom:30px}.vote-rows fieldset{padding-bottom:18px}.logistics h2{font-size:44px}.logistics h3{margin-top:25px}.cost-panel{padding:28px}.rsvp{padding-top:0}.field-grid{grid-template-columns:1fr;gap:18px}.consent{font-size:10px}.rsvp-grid{gap:12px}.rsvp-grid h2{font-size:44px}.rsvp-grid>div>p{max-width:none}footer{flex-wrap:wrap;align-items:start;gap:20px;padding:30px 7%}footer>p{padding-top:5px}.footer-links{justify-content:space-between;width:100%}footer details{max-width:230px}.gate{grid-template-columns:1fr}.gate-photo{height:30svh;min-height:200px}.gate-panel{padding:35px 8%}.gate-panel>.brand{margin-bottom:35px}.gate h1{font-size:64px}.gate h1 br{display:none}.gate-panel>p:not(.eyebrow){max-width:320px}.gate .eyebrow{margin-bottom:22px}.owner-link{margin-top:25px}.admin-shell{padding:35px 6%}.admin-shell h1{font-size:39px}.summary-grid{grid-template-columns:1fr;gap:15px}.admin-top{margin-bottom:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.photo-0 img{object-position:center 85%}.hero{align-items:center;min-height:620px;display:flex}.hero-title{width:100%;padding:90px 7%}.hero-title .button{margin-top:35px}.invitation{padding-top:90px}.logistics-grid>div>h2{margin-bottom:30px}.availability #rsvp{background:var(--paper);color:var(--ink);align-self:start;padding:32px}.availability #rsvp fieldset{border-color:var(--line);padding-top:20px}.availability #rsvp legend{font-size:16px}.availability #rsvp legend>span{display:none}.availability #rsvp .radio-options label>span{color:var(--ink);border-color:#b9bfb0}.availability #rsvp .radio-options input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:none}.availability .confirmation{color:var(--ink)}.anchor-note{margin-top:22px}.photo-1 img,.photo-2 img{object-position:50% 50%}.photo-3 img{object-position:center 55%}.plans{padding-bottom:20px}@media (max-width:760px){.hero{height:calc(100svh - 85px);min-height:580px}.hero-title{padding:70px 7%}.hero>img{object-position:64% center}.invitation{padding-top:60px}.availability #rsvp{padding:24px 18px}.availability #rsvp .field-grid{gap:16px;margin-bottom:30px}.availability #rsvp legend{font-size:15px}.availability .vote-grid{gap:30px}.availability #rsvp .radio-options label>span{font-size:10px}.logistics{padding-top:50px}.gate-photo{background-position:65%}}.choice-key>div{display:block}.choice-key dt,.choice-key dd{font-size:11px;display:inline}.choice-key dt:after{content:": ";white-space:pre}.choice-key dd{margin:0}.availability #rsvp .anchor-note{color:var(--muted);border-top:1px solid var(--line);margin:0 0 24px;padding-top:20px}.availability #rsvp .vote-rows fieldset:first-child{border-top:0;padding-top:0}.availability #rsvp .field-grid{margin-bottom:20px}.vote-rows+.button{margin-top:22px}@media (max-width:760px){.choice-key dt,.choice-key dd{font-size:11px}.hero>img{object-position:52% center}}.comments-field{margin:10px 0 24px}textarea{resize:vertical;width:100%;color:var(--ink);background:0 0;border:1px solid #b9bfb0;border-radius:0;padding:12px 14px;font:13px/1.6 DM Sans,sans-serif}textarea:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.comment-cell{white-space:pre-wrap;overflow-wrap:anywhere;min-width:200px;max-width:340px}.hero>img{object-position:50% 42%}.gate-photo{background-position:50% 42%}.hero .hero-title .eyebrow{letter-spacing:.025em;margin-bottom:22px;font-size:clamp(20px,2.1vw,30px);font-weight:500;line-height:1.35}.visit-notice{color:var(--muted);border-top:1px solid var(--line);margin:0;padding:16px 6%;font-size:10px;line-height:1.6}.analytics{border-top:1px solid var(--line);margin-top:50px;padding-top:40px}.analytics h2{margin-top:0}.analytics .eyebrow{margin-bottom:16px}.analytics-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0;display:grid}.analytics-stats article{background:var(--pale);padding:22px}.analytics-stats span,.analytics-stats small{font-size:11px;line-height:1.6;display:block}.analytics-stats strong{margin:8px 0;font:44px/1.4 Playfair Display,serif;display:block}.analytics-stats small{color:var(--muted);font-size:10px}.analytics .fine-print{color:var(--muted);font-size:11px}.analytics-tables{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin:32px 0;display:grid}.analytics h3{margin-bottom:12px;font-size:25px}.analytics td.analytics-location{white-space:normal;min-width:120px}.analytics th{white-space:normal}@media (max-width:900px){.analytics-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-tables{grid-template-columns:1fr}}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1000px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.summary-grid{grid-template-columns:1fr}}
