:root{--cream:#f7f1e8;--paper:#fffdf9;--ink:#24231f;--gold:#c98b4a;--teal:#12bfa3;--teal-dark:#087f70;--muted:#716b62;--line:#e6d9c8;--shadow:0 26px 70px rgba(56,42,26,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Montserrat,sans-serif;overflow-x:hidden}.container{width:min(1120px,calc(100% - 40px));margin:auto}.section{position:relative;padding:110px 0}.demo-badge{position:fixed;z-index:40;right:16px;bottom:16px;padding:10px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:white;background:rgba(18,20,18,.75);backdrop-filter:blur(12px);font-size:.68rem;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('./assets/rings.webp') center/cover no-repeat;transform:scale(1.03)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,8,.48),rgba(11,10,8,.66)),radial-gradient(circle at center,transparent,rgba(0,0,0,.28))}.topbar{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 40px));margin:auto;padding:26px 0}.monogram{color:white;text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:1.8rem;letter-spacing:.08em}.monogram span{color:var(--gold)}.nav-links{display:flex;gap:28px}.nav-links a{color:rgba(255,255,255,.82);text-decoration:none;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.nav-links a:hover{color:#fff}.nav-toggle{display:none;border:0;color:white;background:transparent;font-size:1.5rem}.hero-content{position:relative;z-index:3;text-align:center;padding:130px 20px 70px}.verse{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,2.3vw,1.7rem);font-style:italic;line-height:1.5}.verse-ref{display:block;margin-top:10px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.hero-monogram{margin:35px 0 4px;font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,9vw,6.5rem);line-height:1}.hero-monogram i{color:var(--gold);font-style:normal}.hero-kicker{margin:0 0 18px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em}.hero h1{margin:0;font-family:Sacramento,cursive;font-size:clamp(4rem,10vw,8.2rem);font-weight:400;line-height:.82;text-shadow:0 8px 24px rgba(0,0,0,.18)}.hero h1 span{display:inline-block;margin:0 .2em;color:#efbb7d}.hero-date{margin:34px 0 24px;font-family:'Cormorant Garamond',serif;font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase}.scroll-cue{position:absolute;z-index:4;bottom:22px;color:white;text-decoration:none;font-size:1.4rem;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(7px)}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:999px;text-decoration:none;font-size:.74rem;font-weight:800;letter-spacing:.03em;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-light{color:#27241f;background:white;box-shadow:0 12px 30px rgba(0,0,0,.14)}.btn-teal{color:white;background:linear-gradient(135deg,var(--teal),var(--teal-dark));box-shadow:0 12px 30px rgba(9,139,119,.2)}.full{width:100%}
.split-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.split-grid.reverse{grid-template-columns:1.05fr .95fr}.story{background:linear-gradient(180deg,#fffdf9,#fbf6ee)}.story-photo{position:relative}.story-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:240px 240px 24px 24px;box-shadow:var(--shadow)}.photo-frame{position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--gold);border-radius:240px 240px 24px 24px;z-index:-1}.eyebrow{display:inline-block;margin-bottom:14px;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow.light{color:#b9fff2}.story-copy h2,.section-heading h2,.centered h2,.passes-copy h2,.rsvp h2{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:500;line-height:1}.story-copy>p,.passes-copy>p{color:var(--muted);line-height:1.9}.parents-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:34px 0}.parents-grid div{padding:18px;border-left:2px solid var(--gold);background:rgba(255,255,255,.65)}.parents-grid small{display:block;margin-bottom:9px;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.parents-grid strong{display:block;margin:5px 0;font-family:'Cormorant Garamond',serif;font-size:1.06rem;font-weight:600}.signature{color:var(--gold);font-family:Sacramento,cursive;font-size:3.3rem;line-height:1}.signature.large{font-size:clamp(3.2rem,8vw,6rem)}
.date-section{overflow:hidden;background:white}.centered{text-align:center}.date-lockup{display:flex;align-items:center;justify-content:center;gap:28px;margin:26px auto 18px}.date-lockup span{font-size:.76rem;font-weight:800;line-height:1.5;text-transform:uppercase;letter-spacing:.12em}.date-lockup b{position:relative;font-family:'Cormorant Garamond',serif;font-size:7rem;font-weight:500;line-height:1}.date-lockup b:before,.date-lockup b:after{content:'';position:absolute;top:50%;width:90px;height:1px;background:var(--ink)}.date-lockup b:before{right:calc(100% + 20px)}.date-lockup b:after{left:calc(100% + 20px)}.event-intro{color:var(--muted)}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;text-align:left}.event-card{padding:34px;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:0 16px 50px rgba(71,48,26,.06)}.event-card.featured{color:white;border-color:transparent;background:linear-gradient(145deg,#19c9ac,#068373)}.event-icon{font-size:2rem}.event-card small{display:block;margin-top:22px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.event-card h3{margin:9px 0;font-family:'Cormorant Garamond',serif;font-size:2rem}.event-card p{min-height:66px;color:var(--muted);font-size:.82rem;line-height:1.7}.event-card.featured p{color:rgba(255,255,255,.8)}.event-card.featured .btn-teal{color:var(--teal-dark);background:white}.floral{position:absolute;width:280px;height:420px;opacity:.24;background:radial-gradient(ellipse at 20% 25%,#7a9d83 0 6%,transparent 7%),radial-gradient(ellipse at 55% 45%,#7a9d83 0 8%,transparent 9%),radial-gradient(ellipse at 70% 75%,#9eb39f 0 7%,transparent 8%);filter:blur(.2px)}.floral-left{left:-100px;top:80px;transform:rotate(-15deg)}.floral-right{right:-100px;bottom:20px;transform:rotate(165deg)}
.itinerary{color:white;background:linear-gradient(145deg,#13c7a9,#058674)}.section-heading{text-align:center}.timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:55px}.timeline:before{content:'';position:absolute;top:53px;left:8%;right:8%;height:2px;background:rgba(255,255,255,.35)}.timeline-item{position:relative;text-align:center}.timeline-item>span{display:block;font-family:'Cormorant Garamond',serif;font-size:1.4rem}.timeline-item>i{position:relative;z-index:2;display:grid;place-items:center;width:54px;height:54px;margin:14px auto;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(5,126,108,.72);font-style:normal;font-size:1.3rem}.timeline-item small{font-size:.58rem;text-transform:uppercase}.timeline-item h3{margin:6px 0;font-family:'Cormorant Garamond',serif;font-size:1.35rem}.timeline-item p{margin:0;color:rgba(255,255,255,.72);font-size:.7rem;line-height:1.5}
.passes{background:#fff}.passes-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px 220px 24px 220px;box-shadow:var(--shadow)}.pass-selector{display:flex;gap:10px;margin-top:28px}.pass-selector button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:white;font-weight:800;cursor:pointer}.pass-selector button.active{color:white;border-color:var(--teal);background:var(--teal)}.pass-result{font-size:.8rem!important}.pass-result strong{color:var(--teal-dark)}
.rsvp{padding:100px 0;color:white;background:#191713}.rsvp-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.rsvp p{color:rgba(255,255,255,.7);line-height:1.8}.rsvp form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rsvp label{display:grid;gap:8px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.rsvp label:nth-child(4){grid-column:1/-1}.rsvp input,.rsvp select,.rsvp textarea{width:100%;border:1px solid rgba(255,255,255,.17);border-radius:14px;padding:14px;color:white;background:rgba(255,255,255,.08);font:inherit;outline:none}.rsvp option{color:#111}.rsvp textarea{resize:vertical}.rsvp button,.form-status{grid-column:1/-1}.form-status{min-height:20px;margin:0!important;color:#b9fff2!important;font-size:.75rem}.closing{min-height:72svh;display:grid;place-items:center;color:white;overflow:hidden}.closing-image{position:absolute;inset:0;background:url('./assets/couple-flowers.webp') center/cover no-repeat}.closing-overlay{position:absolute;inset:0;background:linear-gradient(rgba(17,15,12,.5),rgba(17,15,12,.68))}.closing-content{position:relative;z-index:2;text-align:center}.closing-content p{font-family:'Cormorant Garamond',serif;font-size:1.3rem}.closing-content .btn{margin-top:15px}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 5%;color:#7a746c;background:#f5eee4;font-size:.7rem}footer a{color:var(--teal-dark);text-decoration:none;font-weight:800}.reveal{opacity:0;transform:translateY(25px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.nav-links{position:absolute;top:72px;right:0;display:none;flex-direction:column;width:220px;padding:22px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(18,17,14,.88);backdrop-filter:blur(14px)}.nav-links.open{display:flex}.nav-toggle{display:block}.split-grid,.split-grid.reverse,.rsvp-card{grid-template-columns:1fr}.story-photo{max-width:540px;margin:auto}.event-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.timeline:before{top:0;bottom:0;left:27px;right:auto;width:2px;height:auto}.timeline-item{display:grid;grid-template-columns:54px 54px 1fr;align-items:center;text-align:left}.timeline-item>span{font-size:1rem}.timeline-item>i{margin:10px 0}.timeline-item>div{padding-left:18px}.rsvp form{grid-template-columns:1fr}.rsvp label:nth-child(4){grid-column:auto}.date-lockup b:before,.date-lockup b:after{width:45px}.parents-grid{grid-template-columns:1fr}.section{padding:82px 0}}
@media(max-width:540px){.container{width:min(100% - 28px,1120px)}.hero h1 span{display:block}.hero-content{padding-top:135px}.date-lockup{gap:14px}.date-lockup b{font-size:5rem}.date-lockup b:before,.date-lockup b:after{display:none}.event-card{padding:26px}.demo-badge{left:12px;right:auto;bottom:12px}.passes-photo img{border-radius:20px 120px 20px 120px}footer{flex-direction:column}}
