:root{--ink:#0e121b;--surface:#17222c;--ice:#d5e5ea;--accent:#b5d3d7;--muted:#aebfc8;--line:#35434e;--dark-muted:#405c68;--serif:"the-seasons",Georgia,serif;--sans:Inter,Arial,sans-serif;color-scheme:dark;font-family:var(--sans);color:var(--ice);background:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-underline-offset:.3em}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance}h1{font-size:clamp(3.7rem,7.2vw,7.5rem);line-height:1.02;letter-spacing:-.035em}h2{font-size:clamp(2.5rem,4.2vw,4.6rem);line-height:1.12;letter-spacing:-.025em}h3{font-size:1.8rem;line-height:1.2}em{font-weight:400}p{line-height:1.7;text-wrap:pretty}p+p{margin-top:1rem}.wrap{width:min(100% - 7rem,1280px);margin-inline:auto}.section{padding-block:7rem}.eyebrow{font-size:.69rem;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--accent);margin-bottom:1.5rem}.muted{color:var(--muted)}.small{font-size:.8rem}.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:1.8rem;position:relative;z-index:1}.monogram{font-family:var(--serif);font-size:2.3rem;letter-spacing:-.15em;text-decoration:none;font-style:italic;color:var(--accent);padding-right:.4rem}.monogram span{position:relative;top:.15rem}nav{display:flex;align-items:center;gap:2.4rem;font-size:.8rem}nav a{text-decoration:none}nav .nav-rsvp{border-bottom:1px solid var(--accent);padding-block:.6rem}.nav-rsvp span{margin-left:.8rem}.hero{padding-block:4rem 3.5rem;position:relative;isolation:isolate}.botanical{position:absolute;width:45%;right:-3.2rem;top:-2rem;z-index:-1;opacity:.88}.hero h1{max-width:950px}.hero h1 em{color:var(--accent)}.hero-intro{color:var(--muted);margin-top:2rem;font-size:.95rem}.hero-bottom{display:flex;gap:3rem;align-items:center;margin-top:2.8rem}.hero-date{font-family:var(--serif);font-size:2rem}.hero-date span{font-family:var(--sans);font-size:.75rem;display:block;line-height:1.8;color:var(--muted)}.button{border:1px solid var(--accent);background:transparent;color:var(--ice);text-decoration:none;padding:.95rem 1.3rem;display:inline-flex;gap:1.5rem;justify-content:center;align-items:center;font-size:.8rem;font-weight:500;min-height:48px}.button.light{background:var(--accent);color:var(--ink)}.button:disabled{opacity:.6;cursor:wait}.verse{border-top:1px solid var(--line);padding-top:1.7rem;margin-top:4rem;max-width:600px;font-family:var(--serif);font-size:1.1rem;color:var(--muted)}.verse cite{font-family:var(--sans);font-size:.65rem;font-style:normal;display:block;margin-top:.7rem;letter-spacing:.08em}.light-section{background:var(--ice);color:var(--ink);color-scheme:light}.light-section .eyebrow{color:var(--dark-muted)}.faith{text-align:center;padding-block:6rem}.faith h2{font-size:clamp(2.5rem,4.7vw,5rem);max-width:1000px;margin-inline:auto}.faith p:last-child{color:var(--dark-muted);margin-top:2rem;font-size:.9rem}.day{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.day h2+p{margin-top:2rem}.day strong{font-weight:500}.text-link{display:inline-block;margin-top:1.5rem;font-size:.85rem}.countdown-block{padding-top:2rem}.countdown-block>p:first-child{font-family:var(--serif);font-size:1.7rem}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-block:1.5rem 2.5rem}.countdown strong{font-family:var(--serif);font-size:clamp(2rem,4.2vw,4.5rem);font-variant-numeric:tabular-nums;display:block;line-height:1.2}.countdown span{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.location-note{border-top:1px solid var(--line);padding-top:1.5rem;color:var(--muted);font-size:.85rem}.attire{border-top:1px solid var(--line)}.section-top{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:5rem;margin-bottom:3rem}.section-top>p{font-size:.9rem;color:var(--muted);max-width:45ch}.attire-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.illustration{background:var(--surface);display:grid;place-items:center;padding:2rem 1rem}.illustration img{height:290px;width:auto;object-fit:contain}.attire figcaption{padding-block:1.5rem}.attire figcaption .eyebrow{display:block;margin-bottom:.7rem;font-size:.63rem}.attire h3{font-size:1.65rem;margin-bottom:.7rem}.attire figcaption p{font-size:.85rem;color:var(--muted)}.attire-note{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted);max-width:90ch}.gifts-inner{display:grid;grid-template-columns:.6fr 1.4fr;gap:5rem;align-items:center}.gifts-inner>img{justify-self:center;width:180px}.gifts h2{margin-bottom:1.7rem}.gift-lead{font-family:var(--serif);font-size:1.75rem;line-height:1.3}.gifts p:not(.eyebrow):not(.gift-lead){color:var(--dark-muted);font-size:.9rem}.gifts .gift-note{color:#324c59!important;font-size:.8rem!important;max-width:55ch;margin-top:1.7rem}.rsvp{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem;align-items:start}.rsvp h2+p{margin-top:2rem;font-size:.9rem;color:var(--muted)}.deadline{margin-top:2rem;font-size:.85rem}.deadline strong{font-weight:500;color:var(--accent)}.rsvp-panel{background:var(--surface);padding:2rem}.rsvp-panel h3{margin-bottom:1rem}.rsvp-panel p{font-size:.85rem;color:var(--muted)}.status:empty{display:none}.status{margin-top:1rem!important;padding-block:.5rem;color:var(--accent)!important}.guest{border:0;border-bottom:1px solid var(--line);padding:1.25rem 0;margin:0}.guest legend{font-size:.95rem;float:left;width:100%;margin-bottom:1rem;overflow-wrap:anywhere}.choices{clear:both;display:flex;gap:.75rem;flex-wrap:wrap}.choices label{display:flex;gap:.5rem;align-items:center;font-size:.8rem;padding:.5rem .7rem;border:1px solid var(--line);min-height:44px;cursor:pointer}.choices label:has(input:checked){border-color:var(--accent);background:#243c48}.choices input{accent-color:var(--accent);width:18px;height:18px;margin:0}.rsvp form>.button{width:100%;margin-top:1.5rem}.demo-banner{font-size:.75rem!important;padding:.8rem;border:1px dashed var(--accent);margin-bottom:1.5rem!important}.summary-list{padding-left:1.1rem;line-height:1.8;font-size:.9rem}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:3rem}.footer p:not(.footer-names),.footer a{font-size:.75rem;color:var(--muted)}.footer-names{font-family:var(--serif);font-size:2rem}.skip{position:fixed;top:-100px;left:1rem;background:var(--ice);color:var(--ink);padding:1rem;z-index:20}.skip:focus{top:1rem}:focus-visible{outline:2px solid #b5d3d7;outline-offset:5px}.light-section :focus-visible{outline-color:#324c59}button:not(:disabled),a{transition:background-color .15s,color .15s}@media(hover:hover){nav a:hover,.text-link:hover{color:var(--accent)}.button:hover{background:#28414b}.button.light:hover{background:var(--ice)}}
@media(max-width:900px){.wrap{width:calc(100% - 3rem)}.section{padding-block:5rem}.hero{padding-top:4rem}.botanical{right:-1.5rem;top:0;width:48%;opacity:.55}nav{gap:1.3rem}.day,.rsvp{gap:2rem}.section-top{gap:2rem}.attire-grid{gap:1rem}.illustration img{height:230px}.gifts-inner{gap:2rem}}
@media(max-width:650px){.wrap{width:calc(100% - 2.5rem)}.site-header{padding-block:1.2rem}nav a:not(.nav-rsvp){display:none}nav{font-size:.72rem}.hero{padding-block:3.5rem 2.5rem}.hero h1{font-size:clamp(3.25rem,12.5vw,5rem)}.hero>.eyebrow{font-size:.6rem;max-width:55%}.botanical{width:58%;top:.1rem;right:-1.25rem;opacity:.5}.hero-intro{font-size:.85rem}.hero-bottom{align-items:start;gap:1.2rem;flex-direction:column}.hero-date{font-size:1.8rem}.hero-bottom .button{width:100%}.verse{margin-top:2.5rem;font-size:1rem;max-width:100%}.faith{padding-block:4rem}.faith h2{font-size:2.5rem}.faith br{display:none}.day,.rsvp,.section-top,.gifts-inner{grid-template-columns:1fr}.day,.rsvp{gap:2.5rem}.section{padding-block:4rem}.section-top{gap:1.5rem}.countdown-block{padding-top:0}.countdown strong{font-size:2.8rem}.attire-grid{grid-template-columns:1fr;gap:1.5rem}.attire figure{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:1.3rem}.illustration{padding:1rem .5rem}.illustration img{height:210px}.attire figcaption .eyebrow{font-size:.57rem;letter-spacing:.1em}.attire h3{font-size:1.5rem}.attire figcaption p{font-size:.8rem}.gifts-inner{gap:2rem}.gifts-inner>img{width:110px;justify-self:start;height:110px}.gifts .gift-lead{font-size:1.7rem}.rsvp-panel{padding:1.4rem}.footer{flex-wrap:wrap;padding-block:2.5rem}.footer-names{width:100%}.choices{gap:.5rem}.choices label{font-size:.75rem}.eyebrow{margin-bottom:1rem}}
[hidden]{display:none!important}
.botanical{height:auto}
.calendar{width:100%;max-width:450px;justify-self:end;background:var(--ice);color:var(--ink);padding:2.3rem 2.5rem 2rem;transform:rotate(-1deg);border-radius:1px 7px 3px 1px;box-shadow:5px 7px 0 #24323c}.calendar-heading{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--serif);font-size:2.4rem;margin-bottom:1.5rem}.calendar-heading span:last-child{font-size:1.2rem;color:var(--dark-muted);font-style:italic}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:.45rem .25rem}.calendar-week{font-size:.65rem;color:var(--dark-muted);margin-bottom:.9rem}.calendar-days{font-family:var(--serif);font-size:1.4rem}.calendar-days>span{position:relative;display:grid;place-items:center;aspect-ratio:1}.wedding-day{font-style:italic;font-size:1.8rem;color:#203e4d}.wedding-day svg{position:absolute;inset:-12%;height:124%;width:124%;stroke:#496d7b;stroke-width:1.4;transform:rotate(-12deg)}.calendar-caption{margin-top:1.7rem!important;font-size:.7rem;color:var(--dark-muted);display:flex;justify-content:center;align-items:center;gap:.5rem}.hand-line{display:inline-block;width:18px;height:14px;border:1px solid #496d7b;border-radius:45% 55% 47% 53%;transform:rotate(-14deg)}.location{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;align-items:center;border-top:1px solid var(--line)}.location>div:last-child>p:first-child{color:var(--muted);font-size:.9rem;max-width:40ch}.location .button{margin-top:1.8rem}.map-note{font-size:.7rem;color:var(--muted);margin-top:.8rem}.day .countdown-block{margin-top:2rem}.day .countdown-block>p:first-child{font-size:1rem;color:var(--muted)}.day .countdown strong{font-size:clamp(2.6rem,4vw,3.6rem)}.day .countdown{max-width:460px;margin-bottom:0}@media(max-width:650px){.calendar{justify-self:center;max-width:370px;padding:1.8rem 1.5rem}.calendar-heading{font-size:2.2rem}.location{grid-template-columns:1fr;gap:1.5rem}.calendar-days{font-size:1.35rem}.wedding-day{font-size:1.7rem}.day .countdown-block{margin-top:2rem}.day .countdown strong{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
