:root{--ink:#201d19;--muted:#655e55;--paper:#f7f1e8;--white:#fffdf9;--sand:#e7d8c4;--gold:#b78a55;--line:#d8c9b7;--serif:Georgia,"Times New Roman",serif;--sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 90% 5%,rgba(183,138,85,.14),transparent 28%),radial-gradient(circle at 2% 46%,rgba(216,194,160,.25),transparent 22%),url("../assets/botanical-line-art-background.png") center top/min(760px,124vw) auto repeat;opacity:.11;mix-blend-mode:multiply}
body>*{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
.site-header{height:86px;max-width:1200px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem}
.brand img{width:38px;height:38px;border-radius:50%}.brand strong{display:block;font-family:var(--serif);font-size:1rem;letter-spacing:.08em}
.header-cta{border-bottom:1px solid var(--ink);padding:8px 0;font-size:.85rem;font-weight:700}
.hero{max-width:1200px;margin:auto;padding:72px 32px 110px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.7fr);gap:10vw;align-items:center;position:relative}
.hero-copy{position:relative}.hero-copy>*:not(.wedding-art){position:relative;z-index:2}.eyebrow{margin:0 0 18px;color:#86633d;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;color:var(--ink)}
h1{max-width:760px;font-size:clamp(3.3rem,6.6vw,6.6rem);line-height:.94;letter-spacing:-.045em}
h2{font-size:clamp(2.4rem,4vw,4.4rem);line-height:1}
h3{font-size:1.55rem;line-height:1.2}
p{color:var(--muted);line-height:1.65}
.lede{max-width:660px;font-size:1.2rem;margin:30px 0}.lede strong{color:var(--ink)}.wedding-art{width:min(430px,82%);height:auto;margin:28px 0 -72px -18px;filter:drop-shadow(0 18px 18px rgba(32,29,25,.1));position:relative;z-index:1}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;justify-content:center;border:0;border-radius:3px;padding:16px 25px;font:800 .78rem var(--sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.primary{background:var(--ink);color:var(--white);box-shadow:0 12px 30px rgba(32,29,25,.14)}.primary:hover{background:#7b6240}.text-link{font-weight:700;border-bottom:1px solid var(--line);padding:12px 0}.microcopy{font-size:.78rem;margin-top:14px}
.event-card{background:var(--white);padding:38px;border:1px solid var(--line);box-shadow:20px 20px 0 var(--sand);position:relative}.event-card:before{content:"";position:absolute;inset:12px;border:1px solid rgba(183,138,85,.25);pointer-events:none}.card-label{text-align:center;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:800}.date-lockup{display:flex;justify-content:center;align-items:center;gap:18px;padding:22px 0;border-block:1px solid var(--line)}.date-lockup>span{font:500 4.8rem/1 var(--serif);color:var(--ink)}.date-lockup strong,.date-lockup small{display:block}.date-lockup strong{font:500 1.7rem var(--serif)}.date-lockup small{margin-top:5px;color:var(--muted)}dl{margin:18px 0}dl div{display:flex;justify-content:space-between;padding:10px 0}dt{color:var(--muted)}dd{margin:0;font-weight:700}.gift-note{display:flex;align-items:center;gap:14px;background:var(--paper);padding:15px}.gift-note>span{font-size:1.4rem;color:var(--gold)}.gift-note p{margin:0;font-size:.88rem}.gift-note strong{color:var(--ink)}
.details{background:var(--ink);color:var(--white);padding:110px max(32px,calc((100vw - 1136px)/2))}.details h2,.details h3{color:var(--white)}.details p{color:#d5cec4}.details .eyebrow{color:#d8c2a0}.section-heading{display:grid;grid-template-columns:1fr 1.7fr;gap:50px}.section-heading .eyebrow{grid-column:1/-1;margin:0}.section-heading>p:last-child{font-size:1.05rem;margin:0}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:70px}.benefit-grid article{border-top:1px solid #756858;padding:28px 8px}.benefit-grid span{display:block;color:#d8c2a0;font-size:.72rem;margin-bottom:34px}.benefit-grid p{font-size:.93rem}
.fit-section{max-width:1100px;margin:auto;padding:110px 32px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.check-list{list-style:none;margin:0;padding:0}.check-list li{padding:20px 0 20px 42px;border-bottom:1px solid var(--line);position:relative;line-height:1.4}.check-list li:before{content:"✓";position:absolute;left:5px;color:#8b673f;font-weight:900}
.signup{background:rgba(234,223,206,.82);padding:110px max(32px,calc((100vw - 1100px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;isolation:isolate}.signup-copy{position:relative;z-index:1}.signup-copy>p{font-size:1.05rem}.signup-copy a{text-decoration:underline;text-underline-offset:3px}.privacy-note{margin-top:38px;padding:22px;border-left:3px solid var(--gold);background:rgba(255,255,255,.58)}.privacy-note p{margin:5px 0 0;font-size:.9rem}.interest-form{position:relative;z-index:2;background:var(--white);padding:42px;box-shadow:0 22px 55px rgba(32,29,25,.16)}.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}label,legend{font-size:.78rem;font-weight:800;letter-spacing:.04em}input,select,textarea{display:block;width:100%;margin-top:8px;padding:13px 12px;border:1px solid var(--line);background:#fff;font:1rem var(--sans);color:var(--ink);border-radius:2px}textarea{resize:vertical;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.interest-form>label,.interest-form fieldset{display:block;margin-bottom:22px}fieldset{border:0;padding:0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.choice{display:inline-flex;align-items:center;gap:8px;margin:10px 24px 0 0;font-weight:500}.choice input,.agreement input{width:auto;margin:0;accent-color:var(--ink)}.agreement{display:flex!important;align-items:flex-start;gap:12px;padding:18px;background:var(--paper);font-weight:400;line-height:1.5}.agreement input{margin-top:4px}.agreement strong{font-weight:800}.interest-form .button{width:100%}.privacy-statement{margin:16px 0 0;padding:14px 16px;background:var(--paper);color:var(--muted);font-size:.75rem;line-height:1.55}.privacy-statement strong{color:var(--ink)}.form-note{text-align:center;font-size:.75rem;margin:12px 0 0}
footer{max-width:1200px;margin:auto;padding:42px 32px;display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center;font-size:.76rem}footer p{margin:0}.footer-brand img{width:32px;height:32px}
@media(min-width:801px){.wedding-art{position:absolute;width:430px;left:44%;top:42px;margin:0;z-index:1;pointer-events:none;transform:rotate(-5deg);opacity:.88}.hero-copy h1{max-width:690px;text-shadow:0 1px 0 rgba(247,241,232,.42)}}
@media(max-width:800px){.site-header{height:72px;padding:0 20px}.header-cta{font-size:.75rem}.hero{padding:52px 22px 85px;grid-template-columns:1fr;gap:65px}.wedding-art{margin-bottom:-35px}.event-card{box-shadow:12px 12px 0 var(--sand)}.section-heading,.fit-section,.signup{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr;gap:0}.details,.fit-section,.signup{padding-top:80px;padding-bottom:80px}.fit-section,.signup{gap:45px}.interest-form{padding:28px 20px}.field-row,.choice-grid{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}footer{grid-template-columns:1fr;gap:15px}.brand span{font-size:.65rem}}
@media(max-width:430px){h1{font-size:3.15rem}.brand span{display:none}.date-lockup>span{font-size:4rem}.event-card{padding:30px 24px}}
@media(prefers-reduced-motion:no-preference){.button,.header-cta{transition:.2s ease}.button:hover{transform:translateY(-2px)}}
