:root{--ink:#171717;--paper:#d6c5af;--paper2:#e8dfd1;--white:#faf7ef;--muted:#5b544b;--err:#8e3025;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--sans)}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.section-black{background:var(--ink);color:var(--white)}.section-paper{background:var(--paper)}.eyebrow{margin:0;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.eyebrow.light{color:#d8d0c3}.btn{display:inline-block;margin-top:22px;padding:17px 30px;border:1px solid var(--ink);background:var(--ink);color:var(--white);cursor:pointer;font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.btn:hover,.btn:focus-visible{background:transparent;color:var(--ink)}.btn:disabled{opacity:.5;cursor:default}.btn.light{background:var(--white);color:var(--ink);border-color:var(--white)}.btn.light:hover,.btn.light:focus-visible{background:transparent;color:var(--white)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--white)}.hero{min-height:min(72svh,640px);display:grid;align-content:center;justify-items:center;gap:6px;padding:64px 22px 48px;text-align:center;position:relative}.hero:before{content:"✦  ○  ✦  ○  ✦  ○  ✦";position:absolute;top:26px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.6rem;letter-spacing:.35em;color:#9c958b}.hero h1{margin:18px 0 10px;font:italic 400 clamp(3.6rem,12vw,8.5rem)/.9 var(--serif);letter-spacing:-.05em}.hero h1 em{font-size:.6em;font-style:normal}.hero-when{margin:6px 0 0;font:400 clamp(1.05rem,2.4vw,1.4rem)/1.4 var(--serif)}.hero-stay{margin:4px 0 22px;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c4beb5}.countdown{display:flex;gap:clamp(14px,4vw,36px);justify-content:center;padding:22px clamp(18px,4vw,40px);border-block:1px solid #5d5850}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:56px}.countdown-unit b{font:400 clamp(2.3rem,8vw,4.4rem)/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.countdown-unit span{margin-top:8px;font-size:.56rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#c4beb5}.countdown-static,.countdown-done{font:italic 400 2rem var(--serif);margin:22px 0}.steps{padding:clamp(28px,6vw,80px) max(18px,calc((100vw - 1100px)/2));text-align:center}.step-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px;text-align:left}.step-list li{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;padding:24px;border:1px solid var(--ink);background:var(--paper2)}.step-num{display:grid;place-content:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--white);font:italic 400 1.5rem var(--serif)}.step-list h3{margin:4px 0 6px;font:400 clamp(1.3rem,2.6vw,1.75rem)/1.15 var(--serif)}.step-list p{margin:0;line-height:1.55}.step-list .btn{margin-top:16px}.cal-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.cal-buttons a{padding:11px 16px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cal-buttons a:hover,.cal-buttons a:focus-visible{background:var(--ink);color:var(--white)}.rsvp-done .cal-buttons{justify-content:center}.details{padding:clamp(60px,8vw,110px) max(22px,calc((100vw - 900px)/2));border-top:1px solid rgba(23,23,23,.35);text-align:center}.details h2{margin:20px 0 40px;font:400 clamp(3rem,7vw,6rem)/.88 var(--serif);letter-spacing:-.05em}.details h2 em{font-weight:400}.details details{border-top:1px solid var(--ink);text-align:left}.details details:last-of-type{border-bottom:1px solid var(--ink)}.details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:22px 4px;font:400 clamp(1.4rem,3vw,2rem) var(--serif)}.details summary::-webkit-details-marker{display:none}.details summary:after{content:"+";font:300 1.8rem var(--sans);transition:transform .2s}.details details[open] summary:after{transform:rotate(45deg)}.details details>*:not(summary){margin-inline:4px}.details details>:last-child{margin-bottom:26px}.details ul{margin-top:0;padding-left:20px;line-height:1.65}.details li{margin:6px 0}.details p{line-height:1.65}.faq dt{margin-top:14px;font:italic 400 1.15rem var(--serif)}.faq dd{margin:4px 0 0}.schedule-list{border-top:1px solid var(--ink)}.schedule-list article{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:30px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--ink)}.schedule-date{margin:0;font:400 clamp(1.3rem,2.6vw,1.9rem)/1 var(--serif)}.schedule-date span{display:block;margin-bottom:8px;font:700 .58rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}.schedule-list article>div{font:italic 400 clamp(1.15rem,2.2vw,1.55rem)/1.3 var(--serif)}.schedule-list article>div p{margin:6px 0}.schedule-list article>div .small{font:400 .95rem/1.55 var(--sans)}.schedule-list b{display:inline-block;min-width:80px;font:700 .57rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase}.wedding-day{background:var(--ink);color:var(--white);padding-inline:22px!important}.note{font-size:.8rem}.venue{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:clamp(28px,6vw,80px);align-items:center;padding:clamp(60px,9vw,110px) max(22px,calc((100vw - 1100px)/2));border-top:1px solid rgba(23,23,23,.35)}.venue-copy h2{margin:22px 0 26px;font:400 clamp(2.8rem,6vw,5.4rem)/.88 var(--serif);letter-spacing:-.045em}.venue-copy h2 em{font-weight:400}.venue-copy>p:not(.eyebrow){max-width:440px;font-size:1.05rem;line-height:1.6}.map-link{display:inline-block;margin-top:18px;padding:13px 0;border-bottom:1px solid;color:inherit;text-decoration:none;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.map-frame{border:1px solid var(--ink);padding:10px;background:var(--paper2);box-shadow:12px 12px #17171717}.map-frame iframe{display:block;width:100%;height:338px;border:0;filter:grayscale(1) sepia(.18) contrast(.9)}.photo{display:grid;place-content:center;padding:70px 22px}.lace-wrap{width:min(520px,86vw);padding:22px;border:1px solid var(--white);position:relative}.lace-wrap:before{content:"✦  ○  ✦  ○  ✦  ○  ✦";position:absolute;top:-10px;left:50%;transform:translate(-50%);white-space:nowrap;background:var(--ink);padding:0 10px;font-size:.6rem;letter-spacing:.35em}.lace-wrap img{display:block;width:100%;height:auto}footer{padding:70px 25px 90px;text-align:center}footer p{margin:0 0 18px;font:italic 400 clamp(3.4rem,9vw,6.5rem)/.85 var(--serif)}footer span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.rsvp-sheet{position:fixed;inset:0;z-index:20;overflow-y:auto;animation:sheetIn .3s ease}@keyframes sheetIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.rsvp-inner{position:relative;max-width:760px;margin:0 auto;padding:56px 20px 80px;text-align:center}.rsvp-inner h2{margin:16px 0 10px;font:italic 400 clamp(3rem,9vw,5.5rem)/.9 var(--serif);letter-spacing:-.05em}.rsvp-intro{max-width:520px;margin:0 auto 34px;line-height:1.55}.close{position:fixed;top:12px;right:14px;width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);font-size:1.6rem;line-height:1;cursor:pointer;z-index:2}form{text-align:left}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:block;margin:0 0 26px}.field>span{display:block;margin-bottom:6px;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.field em{font-style:normal;font-weight:400;letter-spacing:.05em;text-transform:none}.field input,.field textarea{width:100%;padding:12px 2px;border:0;border-bottom:1px solid;background:transparent;border-radius:0;font:1.15rem var(--serif);outline:none}.field input:focus,.field textarea:focus{border-bottom-width:2px}fieldset{margin:0 0 24px;padding:0;border:0;min-width:0}legend{padding:0;margin-bottom:12px;font:400 clamp(1.1rem,2.2vw,1.35rem) var(--serif)}.pills{display:flex;flex-wrap:wrap;gap:8px}.pills legend{width:100%}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:block;padding:13px 18px;border:1px solid var(--ink);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.choice.num span{min-width:48px;text-align:center}.pills.big .choice span{padding:16px 22px}.choice input:checked+span{background:var(--ink);color:var(--white)}.choice input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.choice span:hover{background:#17171714}.choice input:checked+span:hover{background:var(--ink)}.guest-card{padding:20px;border:1px solid #7b746a;background:var(--paper2)}.guest-card legend{float:left;width:100%;margin-bottom:14px;font-style:italic}.guest-card>*:not(legend){clear:both}.mini-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.select{display:flex;flex-direction:column;flex:1 1 150px}.select.small{flex:0 1 90px}.select.grow{flex:2 1 220px}.select span{margin-bottom:5px;font-size:.56rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.select select,.select input{width:100%;padding:11px 10px;border:1px solid var(--ink);border-radius:0;background:var(--white);font-size:.95rem}.days{display:flex;gap:8px;margin-bottom:12px}.tick{position:relative;cursor:pointer}.tick input{position:absolute;opacity:0}.tick span{display:block;padding:10px 14px;border:1px dashed var(--ink);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tick input:checked+span{border-style:solid;background:var(--ink);color:var(--white)}.tick input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.hint{margin:-6px 0 26px;font-size:.82rem;line-height:1.5;color:var(--muted)}.room-hint{margin:0 0 18px;padding:14px 16px;border-left:3px solid var(--ink);background:var(--paper2)}.room-hint p{margin:4px 0;font-size:.9rem}.form-error{margin:0 0 22px;padding:14px 16px;border:1px solid var(--err);color:var(--err);background:#f1e3dc}.form-error p{margin:4px 0}form .btn{width:100%;margin-top:8px}.rsvp-done{padding:40px 10px}.rsvp-done h2{font-size:clamp(2.6rem,7vw,4.2rem)}.rsvp-done .spark{font-size:1.6rem}.muted{color:var(--muted)}.next-step{max-width:520px;margin:24px auto;padding:22px;background:var(--ink);color:var(--white);text-align:left}.next-step b{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}.next-step p{margin:8px 0 0;line-height:1.55}.cal-label{margin:28px 0 0;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}@media(min-width:900px){.step-list{grid-template-columns:repeat(3,1fr)}.step-list li{grid-template-columns:1fr;gap:12px}}@media(max-width:760px){.venue{grid-template-columns:1fr}.map-frame iframe{height:278px}}@media(max-width:600px){.hero{min-height:0;padding:54px 18px 34px}.hero:before{top:18px}.hero-stay{margin-bottom:16px}.countdown{padding:16px 12px}.hero .btn{margin-top:18px}.field-row{grid-template-columns:1fr;gap:0}.step-list li{grid-template-columns:40px 1fr;gap:14px;padding:18px}.step-num{width:36px;height:36px;font-size:1.1rem}.step-list h3{margin-top:2px}.schedule-list article{grid-template-columns:1fr;gap:10px}.countdown-unit{min-width:44px}.guest-card{padding:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rsvp-sheet{animation:none}}
