:root{
  --navy:#0b2530;
  --deep:#07191f;
  --cream:#f7f2e8;
  --paper:#fffdf8;
  --gold:#b78a3a;
  --gold-light:#d8b66b;
  --ink:#2b2b2b;
  --muted:#6a6a66;
  --line:rgba(183,138,58,.28);
  --shadow:0 24px 60px rgba(0,0,0,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,.script,.brand-mark,.attire-monogram,.footer-monogram{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.site-header{position:fixed;z-index:30;left:0;right:0;top:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);background:rgba(7,25,31,.72);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12);color:#fff}
.brand{text-decoration:none;display:flex;align-items:center;gap:14px}.brand-mark{font-size:28px;letter-spacing:2px}.brand-mark span{color:var(--gold-light);font-style:italic}.brand-date{font-size:12px;letter-spacing:3px;color:#eee}
.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{text-decoration:none;font-size:13px;letter-spacing:1.3px;text-transform:uppercase}.nav-rsvp{border:1px solid var(--gold-light);padding:10px 15px}.nav-toggle{display:none;background:none;border:0;color:white;font-size:26px}
.hero{height:100svh;min-height:680px;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,24,.76),rgba(4,18,24,.2) 54%,rgba(4,18,24,.3)),linear-gradient(0deg,rgba(4,18,24,.6),transparent 55%)}
.hero-content{position:relative;z-index:2;width:min(1180px,88vw);padding-top:80px;text-align:left}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:4px;font-size:12px;font-weight:700;color:var(--gold)}.hero .eyebrow{color:#f0ce87}.hero h1{font-size:clamp(64px,10vw,146px);line-height:.9;margin:12px 0 20px;max-width:900px;text-shadow:0 3px 30px rgba(0,0,0,.3)}.hero h1 span{color:var(--gold-light);font-style:italic}.hero-subtitle{font-family:Georgia,serif;font-style:italic;font-size:clamp(22px,3vw,36px);margin:0 0 4px}.hero-date{text-transform:uppercase;letter-spacing:3px;font-size:13px;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;text-decoration:none;text-transform:uppercase;letter-spacing:2px;font-size:12px;border:1px solid transparent;cursor:pointer}.button-gold{background:var(--gold);color:white}.button-outline{border-color:var(--gold);color:var(--gold);background:transparent}.button.full{width:100%}.scroll-cue{position:absolute;bottom:24px;left:50%;font-size:24px;animation:bob 2s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.countdown-section{background:var(--deep);color:white;text-align:center;padding:38px 20px 42px}.script{font-style:italic;color:var(--gold-light);font-size:22px;margin:0 0 14px}.countdown{display:flex;justify-content:center;gap:clamp(22px,7vw,90px)}.countdown div{display:grid}.countdown strong{font-family:Georgia,serif;font-size:clamp(32px,5vw,56px);font-weight:400}.countdown span{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:#cfcfcf}
.section{padding:clamp(72px,9vw,120px) clamp(20px,6vw,90px)}.section-heading{max-width:760px;margin:0 auto 52px;text-align:center}.section-heading h2{font-size:clamp(40px,6vw,72px);line-height:1.05;margin:10px 0 20px;color:var(--navy)}.section-heading p{font-size:17px;color:var(--muted)}.section-heading.light h2,.section-heading.light p{color:#fff}.section-heading.light .kicker{color:var(--gold-light)}
.story-section{background:var(--cream)}.split-card{display:grid;grid-template-columns:1fr 1.15fr;max-width:1180px;margin:auto;background:#fff;box-shadow:var(--shadow)}.split-copy{padding:clamp(38px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.split-copy h3{font-size:clamp(34px,4vw,54px);line-height:1.08;color:var(--navy);margin:6px 0 10px}.big-detail{font-family:Georgia,serif;font-size:32px;color:var(--gold);margin:6px 0}.note{font-size:13px;color:var(--muted)}.split-image-wrap img{width:100%;height:100%;object-fit:cover;min-height:560px}
.schedule-section{background:var(--navy)}.schedule-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.event-card{position:relative;background:#fff;padding:40px 28px 34px;min-height:360px;display:flex;flex-direction:column;align-items:flex-start}.event-card.featured{background:var(--cream);transform:translateY(-18px)}.event-number{position:absolute;top:14px;right:18px;font-family:Georgia,serif;font-size:42px;color:rgba(183,138,58,.28)}.event-time{text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-size:12px;margin-top:32px}.event-card h3{font-size:30px;line-height:1.1;color:var(--navy);margin:10px 0}.event-card p{color:var(--muted)}.event-icon{margin-top:auto;font-size:28px;color:var(--gold)}
.attire-section{background:#fff}.attire-card{max-width:1050px;margin:auto;border:1px solid var(--line);padding:clamp(38px,5vw,70px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;background:linear-gradient(135deg,#fff,#faf5e9)}.attire-card h2{font-size:clamp(42px,6vw,70px);color:var(--navy);margin:8px 0 16px}.attire-card p{max-width:650px}.attire-monogram{font-size:76px;color:var(--gold);border:1px solid var(--gold);width:160px;height:160px;border-radius:50%;display:grid;place-items:center}.attire-monogram span{font-size:38px;font-style:italic}
.travel-section{background:var(--cream)}.info-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card{background:white;padding:36px 30px;min-height:260px;border-top:3px solid var(--gold)}.info-card>span{font-size:28px}.info-card h3{font-size:28px;color:var(--navy);margin:14px 0 10px}.info-card p{color:var(--muted);margin:0 0 12px}.info-card p:last-child{margin-bottom:0}.info-card a{color:var(--gold);text-decoration:underline}
.party-section{background:linear-gradient(rgba(7,25,31,.92),rgba(7,25,31,.92)),url("images/ceremony.webp") center/cover fixed;color:white}.party-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.party-person{text-align:center;border:1px solid rgba(216,182,107,.55);padding:34px 20px;background:rgba(255,255,255,.04);backdrop-filter:blur(5px)}.party-role{color:var(--gold-light);text-transform:uppercase;letter-spacing:2px;font-size:11px}.party-person h3{font-size:28px;margin:8px 0}
.rsvp-section{background:#fff}.rsvp-wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.rsvp-copy{position:sticky;top:110px}.rsvp-copy h2{font-size:70px;color:var(--navy);margin:4px 0 18px}.rsvp-photo-frame{position:relative;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.rsvp-photo-frame img{width:100%;height:auto;display:block}.rsvp-photo-overlay{position:absolute;left:0;right:0;bottom:0;padding:40px 28px 26px;background:linear-gradient(to top,rgba(10,22,42,.88),rgba(10,22,42,.35) 60%,rgba(10,22,42,0))}.rsvp-photo-overlay .kicker{color:var(--gold-light)}.rsvp-photo-overlay h2{color:#fff;font-size:52px;margin:4px 0 10px}.rsvp-photo-overlay p{color:#fff;font-size:15px;line-height:1.5;margin:0}.rsvp-footnote{max-width:1120px;margin:36px auto 0;text-align:center}.rsvp-form{background:var(--cream);padding:clamp(28px,4vw,52px)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rsvp-form label,.rsvp-form legend{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#5d5549}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{display:block;width:100%;margin-top:8px;margin-bottom:18px;border:0;border-bottom:1px solid #bcae96;background:transparent;padding:10px 2px;font:inherit;color:var(--ink);outline:none}.rsvp-form textarea{border:1px solid #cbbca5;padding:12px}.rsvp-form fieldset{border:0;padding:0;margin:10px 0 18px}.address-fields legend{margin-bottom:12px}.radio{display:inline-flex!important;align-items:center;gap:8px;margin-right:20px}.radio input{width:auto!important;margin:0!important}.hidden{position:absolute;left:-9999px}.form-status{font-size:13px;color:var(--muted);text-align:center}.form-status.is-success{color:var(--gold);font-weight:700}.form-status.is-error{color:#a3352b;font-weight:700}.rsvp-form button[disabled]{opacity:.75;cursor:default}
.registry-section{background:var(--cream)}.registry-grid{max-width:900px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.registry-card{background:white;border:1px solid var(--line);padding:36px;text-align:center}.registry-card>span{font-size:32px;color:var(--gold)}.registry-card h3{font-size:28px;color:var(--navy);margin:12px 0}.registry-card p{color:var(--muted)}.registry-card a{margin-top:12px}.registry-card code{font-size:12px}
.invitation-section{display:grid;grid-template-columns:.9fr 1fr;gap:60px;align-items:center;max-width:1200px;margin:auto}.invitation-frame{box-shadow:var(--shadow);background:#fff;padding:12px}.invitation-copy h2{font-size:72px;color:var(--navy);margin:8px 0}.invitation-copy p{font-size:18px;color:var(--muted);max-width:500px;margin-bottom:28px}
footer{background:var(--deep);color:#fff;text-align:center;padding:60px 20px}.footer-monogram{color:var(--gold-light);font-size:48px}.footer-monogram span{font-size:26px;font-style:italic}footer p{margin:4px 0;color:#d8d8d8;font-size:13px;letter-spacing:1px}footer a{display:inline-block;margin-top:18px;color:var(--gold-light);text-transform:uppercase;letter-spacing:2px;font-size:11px;text-decoration:none}
@media (max-width:900px){
  .main-nav{display:none;position:absolute;left:0;right:0;top:76px;background:rgba(7,25,31,.98);padding:24px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.nav-toggle{display:block}.main-nav a{text-align:center;padding:10px}
  .split-card,.rsvp-wrap,.invitation-section{grid-template-columns:1fr}.split-image-wrap img{min-height:420px}.rsvp-copy{position:static}.schedule-grid,.info-grid,.party-grid{grid-template-columns:1fr}.event-card.featured{transform:none}.attire-card{grid-template-columns:1fr;text-align:center}.attire-monogram{margin:auto}.invitation-section{padding-left:20px;padding-right:20px}.invitation-copy{text-align:center}
}
@media (max-width:600px){
  .site-header{height:68px}.brand-date{display:none}.hero{min-height:620px}.hero-content{text-align:center;width:90vw}.hero h1{font-size:64px}.hero-image{object-position:56% center}.countdown{gap:20px}.countdown strong{font-size:34px}.section{padding:70px 18px}.field-row{grid-template-columns:1fr}.split-copy{padding:36px 26px}.split-image-wrap img{min-height:360px}.attire-card{padding:36px 24px}.rsvp-form{padding:28px 20px}.rsvp-photo-frame img{width:100%}.invitation-copy h2,.rsvp-copy h2{font-size:54px}.rsvp-photo-overlay{padding:30px 20px 20px}
}

.thanks-main{min-height:calc(100svh - 260px);display:grid;place-items:center;padding:150px 20px 90px;background:var(--cream)}
.thanks-card{max-width:640px;text-align:center;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(34px,5vw,64px)}
.thanks-monogram{font-family:Georgia,"Times New Roman",serif;font-size:44px;color:var(--gold);letter-spacing:2px}
.thanks-monogram span{color:var(--gold-light);font-style:italic}
.thanks-card h1{font-size:clamp(48px,8vw,72px);color:var(--navy);margin:6px 0 18px}
.thanks-card p{color:var(--muted)}
.thanks-detail{font-family:Georgia,"Times New Roman",serif;font-size:20px;color:var(--navy)!important;margin:24px 0}
.thanks-card .button{margin-top:26px}
.thanks-back{text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:1.3px;color:#fff;border:1px solid var(--gold-light);padding:10px 15px}
