:root{--bg:#071512;--bg2:#0b211b;--gold:#c8a56b;--gold2:#f2d9a7;--text:#f5eee2;--muted:#aaa99d;--line:rgba(207,173,111,.25)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:#c8a56b;color:#08130e}.grain{pointer-events:none;position:fixed;inset:0;z-index:99;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")} .progress{position:fixed;top:0;left:0;width:0;height:2px;background:var(--gold);z-index:120}.eyebrow{font-size:10px;letter-spacing:.34em;color:var(--gold2);font-weight:500;line-height:1.9}.intro{position:fixed;inset:0;z-index:110;background:radial-gradient(ellipse at 50% 40%,#204336 0%,#0b1d18 40%,#030908 100%);display:grid;place-items:center;text-align:center;padding:28px;transition:opacity 1s ease,visibility 1s ease}.intro.closed{opacity:0;visibility:hidden}.intro:before,.intro:after{content:'';position:absolute;inset:17px;border:1px solid var(--line);pointer-events:none}.intro:after{inset:24px;border-color:rgba(200,165,107,.1)}.intro-glow{position:absolute;width:min(75vw,600px);height:min(75vw,600px);border:1px solid rgba(200,165,107,.1);border-radius:50%;box-shadow:0 0 0 45px rgba(200,165,107,.025),0 0 0 90px rgba(200,165,107,.018)}.intro-content{position:relative;z-index:2}.crest{width:92px;height:92px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:4px;margin:0 auto 32px;color:var(--gold2);font:32px 'Cormorant Garamond',serif}.crest i{font:12px serif}.intro h1,.hero h1,.statement h2,.section-heading h2,.countdown h2,.rsvp h2,.closing h2{font:500 clamp(58px,9vw,132px)/.9 'Cormorant Garamond',serif;letter-spacing:-.045em;margin:22px 0 30px}.intro h1{font-size:clamp(54px,8vw,116px)}em{font-weight:400;color:var(--gold2)}.rule,.flourish{color:var(--gold);letter-spacing:.2em;font-size:12px}.intro-sub{font-size:10px;letter-spacing:.25em;margin:24px 0 34px;color:#ded4bd}.tiny{font-size:9px;letter-spacing:.25em;color:#a9a596;margin-top:30px}.intro-bottom{position:absolute;bottom:47px;font-size:9px;letter-spacing:.3em;color:#b6a17c}.gold-button{background:linear-gradient(120deg,#b99051,#e5c994,#ae8347);color:#071512;border:0;padding:19px 27px;min-width:250px;font-size:10px;letter-spacing:.19em;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;transition:transform .3s,box-shadow .3s}.gold-button:hover{transform:translateY(-3px);box-shadow:0 12px 40px #b58c4830}.site{opacity:0;transition:opacity .8s}.site.ready{opacity:1}.nav{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,95px);position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid rgba(218,186,130,.13)}.brand{display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:.2em}.brand-mark{font:30px 'Cormorant Garamond',serif;color:var(--gold2)}.brand-mark span{font:11px serif;margin:0 4px}.nav-links{display:flex;gap:38px;font-size:10px;letter-spacing:.18em}.nav-links a:hover,.event-link:hover{color:var(--gold2)}.sound{background:none;border:1px solid var(--line);color:var(--gold2);padding:12px 15px;font-size:10px;letter-spacing:.15em}.hero{min-height:900px;height:100svh;max-height:1300px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 65%,#173a2e 0%,#0a1d18 45%,#04100e 80%)}.hero:before{content:'';position:absolute;inset:5%;border:1px solid rgba(203,163,95,.17);pointer-events:none}.hero:after{content:'✧';position:absolute;top:115px;color:var(--gold);font-size:26px;opacity:.8}.hero-orb{position:absolute;border-radius:50%;border:1px solid rgba(201,162,99,.15);width:600px;height:600px;top:50%;left:50%;transform:translate(-50%,-50%)}.orb-b{width:790px;height:790px;border-color:rgba(201,162,99,.07)}.hero-inner{position:relative;z-index:2;padding:100px 20px 50px}.hero h1{font-size:clamp(68px,10vw,160px);margin:30px 0}.hero-quote{font:italic 22px/1.55 'Cormorant Garamond',serif;color:#d6d1c2}.hero-names{display:flex;align-items:center;justify-content:center;gap:25px;font-size:12px;letter-spacing:.23em;margin:40px 0 28px}.hero-names i{font:italic 20px 'Cormorant Garamond',serif;color:var(--gold)}.hero-names b{color:var(--gold);font-size:13px}.hero-date{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold2);margin-bottom:35px}.hero-date>span{font:60px/.9 'Cormorant Garamond',serif}.hero-date i{font-size:30px;font-style:normal}.hero-date small{text-align:left;letter-spacing:.18em;font-size:10px;line-height:1.7;margin-left:10px}.outline-button{border:1px solid var(--gold);color:var(--gold2);background:transparent;padding:18px 25px;font-size:10px;letter-spacing:.18em;display:inline-flex;gap:35px;align-items:center;justify-content:center;transition:background .3s}.outline-button:hover{background:#c8a56b1c}.hero-scroll{position:absolute;bottom:32px;letter-spacing:.2em;font-size:9px;color:var(--muted)}.hero-scroll span{margin-left:12px}.statement{text-align:center;padding:150px 20px;max-width:900px;margin:auto}.section-symbol{font-size:50px;color:var(--gold);margin-bottom:25px}.statement h2{font-size:clamp(43px,6vw,83px);line-height:1.05;margin:25px 0}.statement>p:not(.eyebrow){font:23px/1.7 'Cormorant Garamond',serif;color:#c7c7b9;max-width:680px;margin:30px auto}.signature{font:italic 32px 'Cormorant Garamond',serif;color:var(--gold2);margin-top:40px}.couples{padding:110px max(24px,7vw) 145px;background:linear-gradient(180deg,#0c211b,#071512)}.section-heading{text-align:center;margin-bottom:65px}.section-heading h2{font-size:clamp(52px,7vw,100px);margin:15px 0}.section-heading>p:last-child{color:var(--muted);font-size:13px}.couple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:1200px;margin:auto}.couple-card{min-height:520px;position:relative;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 40%,#244b39 0%,#0b211b 65%,#06130f 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;overflow:hidden}.couple-card.sister{background:radial-gradient(ellipse at 50% 40%,#353026 0%,#1b211a 65%,#0c1511 100%)}.couple-card:before{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(200,165,107,.16);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.corner{position:absolute;width:40px;height:40px;border-color:var(--gold);opacity:.6}.tl{top:17px;left:17px;border-top:1px solid;border-left:1px solid}.tr{top:17px;right:17px;border-top:1px solid;border-right:1px solid}.bl{bottom:17px;left:17px;border-bottom:1px solid;border-left:1px solid}.br{bottom:17px;right:17px;border-bottom:1px solid;border-right:1px solid}.card-num,.card-foot{position:absolute;font-size:10px;letter-spacing:.22em;color:var(--gold2)}.card-num{top:55px}.card-foot{bottom:48px}.couple-ornament{color:var(--gold);font-size:27px}.couple-card h3{font:500 clamp(57px,6vw,95px)/.9 'Cormorant Garamond',serif;margin:28px 0;position:relative}.couple-card h3 i{font-size:.7em;font-weight:400}.couple-card>p{font-size:10px;letter-spacing:.18em;color:#d3cab7;position:relative}.events{padding:120px max(20px,7vw);max-width:1500px;margin:auto}.day-title{display:flex;align-items:center;gap:24px;margin:60px 0 20px}.day-title>span:first-child{font:64px 'Cormorant Garamond',serif;color:var(--gold)}.day-title small{font-size:10px;letter-spacing:.2em;color:var(--gold2)}.day-title h3{font:36px 'Cormorant Garamond',serif;margin:0}.day-line{height:1px;background:var(--line);flex:1}.event{position:relative;border:1px solid var(--line);background:linear-gradient(130deg,#102c23,#0a1c17);padding:55px;min-height:330px;overflow:hidden}.event-main{display:flex;align-items:center;gap:65px}.event-date{display:flex;flex-direction:column;align-items:center;color:var(--gold2);border-right:1px solid var(--line);padding-right:65px}.event-date span{font:100px/.8 'Cormorant Garamond',serif}.event-date small{letter-spacing:.3em;margin-top:15px}.event-kicker{font-size:10px;letter-spacing:.28em;color:var(--gold2)}.event h3{font:500 64px/.95 'Cormorant Garamond',serif;margin:16px 0}.event-description{font:italic 22px 'Cormorant Garamond',serif;color:#d1c9ba}.event-meta{display:flex;flex-direction:column;gap:12px;color:#e3dfd1;font-size:13px;margin:28px 0}.event-meta small{color:#a9b4a9;line-height:1.7;max-width:430px}.event-link{display:inline-block;color:var(--gold2);font-size:10px;letter-spacing:.2em;border-bottom:1px solid var(--gold);padding-bottom:10px}.event-decor{position:absolute;right:50px;top:45px;color:var(--gold);font-size:60px;opacity:.25}.event-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.event-pair .event{min-height:435px}.event.zainab{background:linear-gradient(130deg,#2d2a22,#131a15)}.coming{display:inline-block;font-size:9px;letter-spacing:.18em;color:var(--gold2);border:1px solid var(--line);padding:13px}.schedule-note{text-align:center;color:var(--muted);font-size:12px;margin-top:35px}.countdown{text-align:center;padding:135px 20px;background:radial-gradient(ellipse at center,#183c2f,#061410 70%)}.countdown h2{font-size:clamp(48px,7vw,94px)}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:800px;margin:65px auto 40px}.count-grid>div{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.count-grid>div:last-child{border:0}.count-grid strong{font:clamp(48px,7vw,100px)/1 'Cormorant Garamond',serif;color:var(--gold2);font-weight:400}.count-grid span{font-size:10px;letter-spacing:.2em}.count-note{font-size:10px;letter-spacing:.25em;color:var(--muted)}.rsvp{padding:130px 20px}.rsvp-frame{max-width:720px;margin:auto;border:1px solid var(--line);outline:1px solid rgba(200,165,107,.09);outline-offset:9px;text-align:center;padding:70px clamp(20px,6vw,85px);background:linear-gradient(135deg,#10271f,#071511)}.rsvp h2{font-size:clamp(50px,7vw,85px);margin:20px 0}.rsvp-frame>p:not(.eyebrow){font:20px/1.5 'Cormorant Garamond',serif;color:#d0c7b8}.rsvp form{display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:45px}.rsvp label{font-size:10px;letter-spacing:.2em;color:var(--gold2);margin-top:12px}.rsvp input,.rsvp select,.rsvp textarea{width:100%;background:#071510;color:var(--text);border:1px solid var(--line);border-radius:0;padding:16px;outline:none}.rsvp input:focus,.rsvp select:focus{border-color:var(--gold)}.rsvp form button{margin-top:22px}.rsvp-result{margin-top:25px;text-align:left}.rsvp-result p{font-size:13px}.rsvp-result textarea{margin:10px 0 15px;resize:vertical}.closing{text-align:center;padding:120px 20px 150px}.closing h2{font-size:clamp(58px,8vw,110px);margin:30px 0}.closing p{font-size:10px;letter-spacing:.3em;color:var(--gold2);margin:30px 0 45px}footer{border-top:1px solid var(--line);padding:35px max(20px,6vw);display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:9px;letter-spacing:.16em;color:var(--muted)}footer a{color:var(--gold2)}.reveal{animation:rise 1.1s both}@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.nav{height:70px}.nav-links{display:none}.brand>span:last-child{font-size:8px}.hero{min-height:720px;max-height:none}.hero:before{inset:13px}.hero h1{font-size:clamp(58px,11vw,100px)}.hero-quote{font-size:19px}.hero-names{font-size:10px;gap:10px;letter-spacing:.07em}.hero-names b{font-size:9px}.couple-grid,.event-pair{grid-template-columns:1fr}.couple-card{min-height:430px}.event-main{display:block}.event-date{display:none}.event{padding:35px 27px}.event h3{font-size:55px}.event-pair .event{min-height:350px}.statement{padding:100px 20px}.statement>p:not(.eyebrow){font-size:21px}.couples,.events{padding-top:90px;padding-bottom:90px}.countdown{padding:95px 10px}.count-grid strong{font-size:50px}.count-grid span{font-size:8px}.rsvp{padding:100px 25px}.rsvp-frame{padding:55px 25px}.intro h1{font-size:clamp(56px,11vw,80px)}.intro-sub{font-size:9px;letter-spacing:.14em}.intro-bottom{font-size:8px}}@media(max-width:400px){.hero-names{flex-direction:column}.hero-names b{display:none}.count-grid strong{font-size:42px}.nav .sound{padding:10px;font-size:9px}.brand{gap:7px}.hero-date>span{font-size:49px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Royal V3 — layered ornament, motion and refined interactions */
:root{--v3-gold:#d6b77a;--v3-bright:#f3e0b2}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{overflow-x:hidden}
::selection{background:#c5a569;color:#09150f}
.floating-sparks{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:4;opacity:.32}
.floating-sparks span{position:absolute;color:#d8bd83;font-size:11px;animation:floatSpark 18s linear infinite}
.floating-sparks span:nth-child(1){left:9%;top:105%;animation-delay:-2s}.floating-sparks span:nth-child(2){left:27%;top:105%;animation-delay:-8s}.floating-sparks span:nth-child(3){left:58%;top:105%;animation-delay:-13s}.floating-sparks span:nth-child(4){left:79%;top:105%;animation-delay:-5s}.floating-sparks span:nth-child(5){left:92%;top:105%;animation-delay:-16s}
@keyframes floatSpark{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:.8}80%{opacity:.65}100%{transform:translateY(-120vh) rotate(180deg);opacity:0}}
.intro-content{isolation:isolate}.invitation-foil{position:absolute;inset:-28px;z-index:-1;pointer-events:none;border:1px solid #bfa16a44;border-radius:180px 180px 16px 16px;box-shadow:inset 0 0 0 7px #d3b4750a,0 0 90px #c59d4812}.invitation-foil:before{content:'✦';position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:21px;color:#dfc88d;background:#0a1813;padding:0 12px}
.hero{isolation:isolate}.hero-border{position:absolute;inset:22px;pointer-events:none;border:1px solid #d4b97829;z-index:1}.hero-border:after,.hero-border:before{content:'✧';position:absolute;color:#d4b978;opacity:.75;font-size:21px}.hero-border:before{top:-15px;left:50%}.hero-border:after{bottom:-15px;left:50%}.hero-mandala{position:absolute;top:13%;left:50%;transform:translateX(-50%);font-size:clamp(280px,55vw,680px);line-height:1;color:#c8a85b08;pointer-events:none;animation:mandalaSpin 100s linear infinite}@keyframes mandalaSpin{to{transform:translateX(-50%) rotate(360deg)}}
.hero h1,.intro h1{filter:drop-shadow(0 8px 25px #0005)}
.couple-card{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease,border-color .4s ease}.couple-card:hover{transform:translateY(-9px);box-shadow:0 28px 65px #0007;border-color:#d7b87888}
.event{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.event:hover{transform:translateY(-4px);border-color:#d7b87877;box-shadow:0 18px 40px #0004}
.events{position:relative;overflow:hidden}.events-ornament{position:absolute;top:40px;right:5%;font-size:200px;color:#d3ae6b09;pointer-events:none}
.event-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.calendar-link{border:1px solid #cbb17d66;background:transparent;color:#e0c48c;padding:13px 16px;font-family:inherit;font-size:10px;letter-spacing:.12em;cursor:pointer;transition:background .2s,color .2s}.calendar-link:hover{background:#d7b978;color:#09150f}
.blessing{padding:110px 20px;text-align:center;background:radial-gradient(ellipse at 50% 45%,#20372b 0%,#0b1712 64%,#07100d 100%)}.blessing-arch{max-width:820px;margin:auto;border:1px solid #c8ad6b44;border-radius:380px 380px 8px 8px;padding:90px 30px 75px;position:relative;box-shadow:inset 0 0 0 9px #b7a27308}.blessing-arch:before{content:'';position:absolute;inset:10px;border:1px solid #c8ad6b1f;border-radius:370px 370px 4px 4px;pointer-events:none}.blessing-star{display:block;font-size:52px;color:#d8bd85;margin:25px auto}.blessing h2{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,6vw,68px);font-weight:400;line-height:1.12;color:#f4e9d5}.blessing h2 em{color:#d9bd85}.blessing-arch>p:last-child{max-width:470px;margin:30px auto 0;color:#bdb4a1;font-size:14px;line-height:1.8}
.reveal{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}.site.ready .reveal{opacity:1;transform:none}
@media(max-width:640px){.hero-border{inset:12px}.blessing{padding:70px 15px}.blessing-arch{padding:80px 18px 60px}.event-actions{align-items:stretch}.calendar-link{width:100%}.floating-sparks{opacity:.2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.floating-sparks,.hero-mandala{display:none}.couple-card,.event,.reveal{transition:none!important}}

/* Royal V4: shared venue day */
.shared-venue-banner{grid-column:1/-1;text-align:center;padding:21px 12px;border:1px solid rgba(210,176,105,.48);background:linear-gradient(110deg,rgba(164,122,52,.17),rgba(9,36,28,.75),rgba(164,122,52,.17));font-family:'Cormorant Garamond',serif;letter-spacing:.15em;color:#e7ce91;font-size:clamp(15px,2.2vw,23px)}
.shared-venue-banner small{display:block;margin-top:8px;font:400 11px/1.6 'DM Sans',sans-serif;letter-spacing:.1em;color:#e6e0cf}

/* GARDEN V5 — complete ivory / floral wedding transformation */
:root{--bg:#fcfaf6;--bg2:#f5f0e8;--gold:#ab8666;--gold2:#83694f;--text:#3c4738;--muted:#797d72;--line:rgba(116,133,100,.23);--rose:#bc8894;--sage:#71856b}
body{background:#fcfaf6;color:var(--text)}
.grain{opacity:.035}.progress{background:linear-gradient(90deg,#a9bd9b,#dba7ae,#bfa17b)}
.eyebrow,.event-kicker,.day-title small{color:#73856d}em,.brand-mark,.brand-mark span,.signature,.hero-date,.hero-names i,.section-symbol,.couple-ornament,.rule,.flourish{color:#ad7c88}
.intro{background:radial-gradient(ellipse at 50% 45%,#fffdfb 0%,#fcf7f1 48%,#eaf0e6 100%);color:#4b5544;overflow:hidden}
.intro:before,.intro:after{border-color:#9caf9b66}.intro-glow{border-color:#c0cba96b;box-shadow:0 0 0 45px #dbe5d125,0 0 0 95px #e9cbd01a}
.intro-content{max-width:750px}.intro h1,.hero h1{color:#485742;filter:none}.intro-sub,.tiny,.intro-bottom{color:#788472}.crest{border-color:#b4a288;color:#a77f84;background:#fffaf8b8}.invitation-foil{border-color:#c7bca0b3;box-shadow:inset 0 0 0 7px #e9e1d343,0 15px 60px #b9a8a722}.invitation-foil:before{background:#fffaf7;color:#a9818b}
.gold-button{background:linear-gradient(110deg,#789078,#a2b29a);color:white;border-radius:100px;box-shadow:0 12px 35px #6d856333}.gold-button:hover{box-shadow:0 15px 40px #6d85634d}
.site{background:#fcfaf6}.nav{background:#fffdf9d9;backdrop-filter:blur(14px);border-bottom-color:#8ca08733}.brand{color:#50634d}.nav-links a{color:#52604f}.nav-links a:hover,.event-link:hover{color:#a87985}.sound{color:#60785d;border-color:#a6b5a466;border-radius:100px}
.hero{background:radial-gradient(ellipse at 50% 45%,#fffefa 0%,#f9f4ec 58%,#e8efe5 100%);color:#435140}.hero:before,.hero-border{border-color:#a8b8a155}.hero:after,.hero-border:before,.hero-border:after{color:#b38e97}.hero-mandala{color:#b0bfa31a}.hero-orb{border-color:#c5cdbf55}.orb-b{border-color:#e4bfc855}.hero-quote{color:#777c70}.hero-names{color:#617359}.hero-names b{color:#ba9099}.hero-date{color:#a47f89}.outline-button{color:#60785d;border-color:#9cab98;border-radius:100px;background:#fffdfab5}.outline-button:hover{background:#e9f0e5}.hero-scroll{color:#7c8c78}
.statement{background:transparent}.statement>p:not(.eyebrow){color:#72796e}.couples{background:linear-gradient(180deg,#f6f1e9,#fdfbf7)}.section-heading>p:last-child{color:#7c8276}.couple-card,.couple-card.sister{background:radial-gradient(ellipse at 50% 35%,#fffdfb,#f9f1ed 65%,#e9eee4);border-color:#d6cdbf;box-shadow:0 15px 45px #798d7417;border-radius:240px 240px 18px 18px}.couple-card.sister{background:radial-gradient(ellipse at 50% 35%,#fffdfb,#f0f4e9 70%,#e5ece0)}.couple-card:before{border-color:#d6b4b97d}.couple-card>p,.card-num,.card-foot{color:#6c7966}.corner{border-color:#a2ae9b}.couple-card h3{color:#51644e}.couple-card:hover{box-shadow:0 28px 65px #6b866329;border-color:#9faf97}
.events{background:#fcfaf6}.day-title>span:first-child{color:#b78d96}.day-line{background:#a7b3a766}.event,.event.zainab{background:linear-gradient(140deg,#fffefa,#f4f2eb);border:1px solid #d9ddd0;box-shadow:0 12px 38px #84968015;border-radius:18px}.event.zainab{background:linear-gradient(140deg,#fffdfb,#f4f0f1)}.event:hover{border-color:#b9a5a4;box-shadow:0 20px 45px #84968029}.event h3{color:#50624d}.event-description,.event-meta{color:#727b6e}.event-meta small{color:#7e8478}.event-date{color:#b98b94}.event-decor{color:#b9a3a1}.event-link{color:#71876b;border-color:#98ab94}.calendar-link{color:#61765c;border-color:#b2c0ac;border-radius:100px}.calendar-link:hover{background:#71876b;color:#fff}.coming{color:#9c737c;border-color:#d9c1c5;border-radius:100px}.shared-venue-banner{background:linear-gradient(110deg,#f2f5ed,#fffdfb,#f8ebed);color:#6b7e65;border-color:#bdcbb7;border-radius:16px}.shared-venue-banner small{color:#777f73}.schedule-note{color:#7a8475}
.countdown{background:linear-gradient(160deg,#f0f4ec,#fff9f6 50%,#f2f0e7)}.count-grid strong{color:#a67f89}.count-grid span,.count-note{color:#758573}
.rsvp{background:#f7f3ec}.rsvp-frame{background:#fffdfa;border:1px solid #d9d8c9;box-shadow:0 25px 80px #84968016}.rsvp-frame>p:not(.eyebrow),.rsvp-result p{color:#737c70}.rsvp label{color:#70816d}.rsvp input,.rsvp select,.rsvp textarea{background:#fcfbf7;color:#455640;border-color:#b8c4b0}.rsvp input::placeholder{color:#a2aa9f}.rsvp input:focus,.rsvp select:focus{outline-color:#9dad98}.rsvp-result{background:#f3f7f0;border-color:#becbb8}
.blessing{background:radial-gradient(ellipse at 50% 45%,#fffefa,#f3f0e9 65%,#eaf0e6)}.blessing-arch{border-color:#b9c9b4;background:#fffdfa99;box-shadow:inset 0 0 0 9px #d9e1d037}.blessing-arch:before{border-color:#d4c4bb}.blessing-star{color:#ba8d99}.blessing h2{color:#52614e}.blessing h2 em{color:#b18793}.blessing-arch>p:last-child{color:#7c8477}.closing{background:#fffdf9;color:#4f614c}.closing p,footer{color:#788574}footer{background:#f1f3ec;border-top-color:#c5d0bf}
.floating-sparks{opacity:.55;z-index:5}.floating-sparks span{color:#b58c9a;font-size:22px;filter:drop-shadow(0 4px 4px #dbbbc0)}
/* Floral botanical ornaments, on every major visual stage */
.intro-flowers,.hero-flowers{position:absolute;inset:0;pointer-events:none;z-index:1;background-image:url('./flower.svg'),url('./flower.svg');background-repeat:no-repeat;background-position:-90px -125px,calc(100% + 95px) calc(100% + 135px);background-size:clamp(280px,37vw,560px),clamp(280px,37vw,560px);opacity:.82;animation:flowerBloom 2.1s cubic-bezier(.15,.8,.2,1) both}
.hero-flowers{background-position:-115px -120px,calc(100% + 100px) calc(100% + 110px);opacity:.68;animation-delay:.1s}.intro-content,.hero-inner{z-index:3}.intro-content{position:relative}
.floral-corner{position:fixed;pointer-events:none;z-index:6;width:220px;height:240px;background:url('./flower.svg') no-repeat center/contain;opacity:.18;filter:saturate(.8)}.floral-tl{left:-95px;top:12%;transform:rotate(-18deg)}.floral-tr{right:-100px;top:21%;transform:scaleX(-1) rotate(-18deg)}.floral-bl{left:-115px;bottom:8%;transform:rotate(15deg)}.floral-br{right:-110px;bottom:8%;transform:scaleX(-1) rotate(15deg)}
.couple-card:after{content:'';position:absolute;inset:auto -45px -60px auto;width:240px;height:260px;background:url('./flower.svg') no-repeat center/contain;opacity:.22;transform:rotate(15deg);pointer-events:none}.couple-card.sister:after{transform:scaleX(-1);left:-45px;right:auto}.statement:before,.closing:before{content:'❀   ❁   ❀';display:block;letter-spacing:1em;color:#c7a1ab;font-size:25px;margin-bottom:22px}.blessing-arch:after{content:'';position:absolute;bottom:-60px;right:-35px;width:230px;height:270px;background:url('./flower.svg') center/contain no-repeat;opacity:.3;pointer-events:none}
@keyframes flowerBloom{from{opacity:0;transform:scale(.78);filter:blur(6px)}to{opacity:.85;transform:scale(1);filter:blur(0)}}
@media(max-width:700px){.intro-flowers,.hero-flowers{background-size:240px,230px;background-position:-125px -70px,calc(100% + 135px) calc(100% + 75px);opacity:.65}.floral-corner{width:140px;height:155px;opacity:.12}.hero{min-height:760px}.hero-inner{padding-top:140px}.intro h1{font-size:clamp(51px,12vw,76px)}.hero h1{font-size:clamp(55px,12vw,82px)}.couple-card{border-radius:190px 190px 14px 14px}.nav{background:#fffdfbe8}.event{border-radius:14px}.shared-venue-banner{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.intro-flowers,.hero-flowers{animation:none}}


/* GARDEN V5 — READABILITY & TYPOGRAPHY UPGRADE */
:root {
  --ink: #263b2d;
  --text: #29342e;
  --muted: #505e52;
}

body {
  color: #29342e;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  color: #263b2d;
  font-weight: 600;
  text-shadow: none;
}

p, li, label, time, small {
  color: #36483a;
}

button, a {
  font-weight: 600;
}

button {
  letter-spacing: 0.045em;
}

@media (max-width: 768px) {
  body {
    font-weight: 500;
  }

  p, li {
    line-height: 1.75;
  }
}
