@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;500;600&display=swap");
*{box-sizing:border-box}
:root{
  --green:#123f36;--green-2:#0a2c27;--cream:#fff9ed;--paper:#f7ecd7;
  --gold:#b98a2e;--gold-2:#e1c57f;--red:#9e2424;--ink:#27211b;--muted:#746a5c;
  --shadow:0 18px 60px rgba(29,24,18,.14);
}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Georgia,"Times New Roman",serif;overflow-x:hidden}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{font:inherit}

.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,54px);color:#fff;background:linear-gradient(to bottom,rgba(5,28,24,.78),rgba(5,28,24,.12));backdrop-filter:blur(8px)}
.brand{font-size:1.2rem;letter-spacing:.22em;font-weight:bold}.nav{display:flex;gap:26px;font:600 .82rem/1.2 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.nav a{opacity:.88}.nav a:hover{opacity:1;color:#f3d58f}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.5rem}

.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(rgba(3,20,18,.24),rgba(3,20,18,.58)),url("assets/hero.jpg") center 38%/cover no-repeat;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,44,39,.72),transparent 50%)}
.hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,225,159,.14),transparent 45%)}
.hero-copy{position:relative;z-index:2;width:min(960px,92%);padding:120px 0 80px}
.eyebrow,.kicker{font:700 .75rem/1.2 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase}
.hero h1{margin:12px 0 8px;font-size:clamp(3rem,8.8vw,7.4rem);line-height:.9;font-weight:400;text-shadow:0 8px 30px rgba(0,0,0,.28)}
.hero h1 span{display:block}.hero h1 b{display:block;font-size:.4em;color:#f4d48b;margin:.15em 0;font-weight:400}
.marry{letter-spacing:.45em;font:600 clamp(.7rem,1.4vw,1rem)/1.2 Arial,sans-serif}.hero-date{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.3em;color:#f6dc9f;margin:18px 0 28px}
.scroll-cue{position:absolute;z-index:3;bottom:22px;font-size:1.5rem;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.sparkles i{position:absolute;z-index:1;width:5px;height:5px;border-radius:50%;background:#f7da91;box-shadow:0 0 18px #ffd870;animation:glowfloat 8s ease-in-out infinite}
.sparkles i:nth-child(1){left:13%;top:27%;animation-delay:-2s}.sparkles i:nth-child(2){left:26%;top:72%;animation-delay:-5s}.sparkles i:nth-child(3){left:45%;top:20%;animation-delay:-1s}.sparkles i:nth-child(4){left:63%;top:69%;animation-delay:-6s}.sparkles i:nth-child(5){left:78%;top:30%;animation-delay:-3s}.sparkles i:nth-child(6){left:88%;top:62%;animation-delay:-7s}
@keyframes glowfloat{0%,100%{transform:translateY(0) scale(.8);opacity:.25}50%{transform:translateY(-32px) scale(1.2);opacity:.9}}

.section{padding:clamp(72px,9vw,128px) 0}.section-inner{width:min(1180px,90%);margin:auto}.narrow{width:min(790px,90%);text-align:center}.kicker{color:var(--gold)}.lead{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.8;color:var(--muted)}
.story{position:relative;background:linear-gradient(180deg,#f5ead8,#fffaf0);overflow:hidden}.story-title{text-align:center;max-width:820px;margin:0 auto 45px}.story-title h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.05;margin:.25em 0 .35em;font-weight:400}.story-title em{color:#7d5a1d;font-weight:400}
.timeline{display:grid;gap:34px;position:relative;z-index:2}.story-card{display:grid;grid-template-columns:1.1fr .9fr;min-height:390px;background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(185,138,46,.18);transition:.35s ease}.story-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(29,24,18,.17)}.story-card.reverse{grid-template-columns:.9fr 1.1fr}.story-card.reverse .story-media{order:2}.story-media{min-height:320px;overflow:hidden;background:#eee}.story-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}.story-card:hover .story-media img{transform:scale(1.035)}
.story-copy{padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.story-date{font:800 .75rem/1 Arial,sans-serif;letter-spacing:.17em;color:var(--red)}.story-copy h3{font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.05;margin:.35em 0}.story-copy p{font-size:1.05rem;line-height:1.75;color:var(--muted);margin:.35em 0}.story-copy blockquote{font-size:clamp(1.4rem,3vw,2rem);font-style:italic;color:var(--green);margin:18px 0}.featured-story{outline:2px solid rgba(185,138,46,.28)}

.butterflies{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.bf{position:absolute;left:-12%;filter:drop-shadow(0 4px 7px rgba(0,0,0,.15));opacity:.72;animation:butterflyFly linear infinite}.bf1{top:10%;font-size:26px;animation-duration:11s}.bf2{top:27%;font-size:20px;animation-duration:14s;animation-delay:-4s}.bf3{top:43%;font-size:30px;animation-duration:16s;animation-delay:-8s}.bf4{top:58%;font-size:22px;animation-duration:13s;animation-delay:-6s}.bf5{top:72%;font-size:27px;animation-duration:15s;animation-delay:-10s}.bf6{top:84%;font-size:19px;animation-duration:12s;animation-delay:-2s}.bf7{top:35%;font-size:24px;animation-duration:18s;animation-delay:-12s}
@keyframes butterflyFly{0%{transform:translateX(0) translateY(12px) rotate(-8deg) scale(.85);opacity:0}8%{opacity:.75}25%{transform:translateX(30vw) translateY(-35px) rotate(9deg) scale(1.02)}50%{transform:translateX(60vw) translateY(20px) rotate(-8deg) scale(.93)}75%{transform:translateX(90vw) translateY(-42px) rotate(11deg) scale(1.04)}100%{transform:translateX(125vw) translateY(10px) rotate(-5deg) scale(.9);opacity:0}}

.names-band{padding:80px 0;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(225,197,127,.22),transparent 45%),#fffaf0;border-top:1px solid rgba(185,138,46,.25);border-bottom:1px solid rgba(185,138,46,.25)}.names-band p{text-transform:uppercase;letter-spacing:.22em;font:.72rem/1.4 Arial,sans-serif}.names-band h2{font-weight:400;color:#7a5415;font-size:clamp(3rem,8vw,6.8rem);line-height:.95;margin:.25em 0}.names-band h2 span{color:var(--green)}.marry-badge{display:inline-block;padding:13px 26px;border:1px solid var(--gold-2);border-radius:999px;color:var(--green);font:700 .78rem/1 Arial,sans-serif;letter-spacing:.27em}

.anchor-marker{display:block;position:relative;top:-70px;visibility:hidden}.events{background:#fff}.section-heading{text-align:center;max-width:780px;margin:0 auto 50px}.section-heading h2,.invite-copy h2,.countdown-section h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.05;margin:.25em 0 .35em;font-weight:400}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card{position:relative;padding:34px 30px;border-radius:24px;background:#fffaf0;border:1px solid rgba(185,138,46,.22);box-shadow:0 14px 40px rgba(29,24,18,.08);transition:.3s ease}.event-card:hover{transform:translateY(-5px)}.event-card-featured{transform:translateY(-16px);border-color:rgba(185,138,46,.55);box-shadow:0 22px 55px rgba(29,24,18,.13)}.event-card-featured:hover{transform:translateY(-20px)}.event-icon{font-size:2rem}.event-label{font:800 .74rem/1 Arial,sans-serif;letter-spacing:.2em;color:var(--red);margin:18px 0 8px}.event-card h3{font-size:1.55rem;line-height:1.18;margin:0}.event-time{color:var(--green);font-weight:bold;font-size:1.1rem}.divider{height:1px;background:linear-gradient(to right,transparent,var(--gold-2),transparent);margin:22px 0}.event-card h4{font-size:1.45rem;color:var(--red);margin:0 0 8px}.event-card p{line-height:1.55}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font:700 .78rem/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.btn.primary{background:var(--green);color:#fff;border:1px solid rgba(255,255,255,.08)}.btn.primary:hover{transform:translateY(-2px);background:#185246}.btn.full{width:100%;margin-top:16px;border-radius:12px}

.countdown-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#0a2c27,#123f36 55%,#174d42);color:#fff}.countdown-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,rgba(241,213,141,.18),transparent 42%)}.countdown-section .section-inner{position:relative;z-index:2}.countdown-section .kicker{color:#f1d58d}.countdown-note{margin-top:-10px;color:#e9dfd0;font-size:1.05rem;font-style:italic}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}.countdown div{padding:25px 10px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:.3s}.countdown div:hover{transform:translateY(-4px);background:rgba(255,255,255,.09)}.countdown strong{display:block;font:400 clamp(2.2rem,5vw,4.2rem)/1 Georgia,serif;color:#f7d992}.countdown span{display:block;margin-top:8px;font:700 .7rem/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}

.invite{background:#fffaf0}.invite-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.invite-copy p{font-size:1.08rem;line-height:1.8;color:var(--muted)}.signature{font-size:2rem!important;color:#7a5415!important;font-style:italic}.poster-wrap{border:0;background:none;padding:0;cursor:pointer;position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);transition:.35s}.poster-wrap:hover{transform:translateY(-4px)}.poster-wrap img{width:100%}.poster-wrap span{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);white-space:nowrap;background:rgba(10,44,39,.9);color:#fff;border-radius:999px;padding:11px 18px;font:700 .72rem/1 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}

.closing{min-height:70svh;position:relative;display:grid;place-items:center;text-align:center;color:#fff;background:url("assets/hero.jpg") center/cover no-repeat}.closing-overlay{position:absolute;inset:0;background:rgba(8,40,35,.55)}.closing-copy{position:relative;z-index:1;width:min(820px,90%)}.closing-copy p{font:700 .75rem/1.3 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#f1d58d}.closing-copy h2{font-size:clamp(2.4rem,6vw,5.4rem);font-weight:400;margin:.2em 0}
footer{display:flex;justify-content:space-between;gap:20px;padding:26px clamp(18px,4vw,54px);background:#092a25;color:#fff;font:600 .76rem/1.4 Arial,sans-serif}footer p{margin:0;opacity:.8}footer a{color:#f1d58d}

dialog{border:0;padding:0;background:transparent;max-width:min(900px,94vw);max-height:94vh}dialog::backdrop{background:rgba(0,0,0,.86)}dialog img{max-height:90vh;width:auto;margin:auto;border-radius:14px}dialog button{position:fixed;right:24px;top:18px;border:0;background:#fff;color:#111;border-radius:50%;width:44px;height:44px;font-size:1.7rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .event-grid{grid-template-columns:1fr}.event-card-featured,.event-card-featured:hover{transform:none}
  .invite-layout{grid-template-columns:1fr}.story-card,.story-card.reverse{grid-template-columns:1fr}.story-card.reverse .story-media{order:0}.countdown{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .topbar{background:rgba(6,35,30,.86)}.menu-btn{display:block}.nav{position:absolute;top:100%;left:14px;right:14px;display:none;flex-direction:column;gap:0;background:#0c352f;border-radius:16px;padding:10px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:14px;border-bottom:1px solid rgba(255,255,255,.08)}.nav a:last-child{border-bottom:0}
  .hero{background-position:center}.hero h1{font-size:clamp(3.2rem,16vw,5.3rem)}.section{padding:72px 0}.story-card{border-radius:20px}.story-media{min-height:260px}.names-band h2{font-size:clamp(3rem,13vw,5rem)}.countdown div{padding:18px 8px}footer{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* ===== FINAL POLISH: moving story reel, joyful names, refined event icons ===== */
.story{position:relative;overflow:hidden;padding-bottom:86px}
.story-glow{position:absolute;inset:0;background:
  radial-gradient(circle at 16% 20%,rgba(225,197,127,.18),transparent 28%),
  radial-gradient(circle at 86% 72%,rgba(84,126,102,.12),transparent 30%);
  pointer-events:none
}
.story-reel{
  display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,840px);gap:24px;
  overflow-x:auto;scroll-snap-type:x mandatory;padding:8px max(5vw,calc((100vw - 1180px)/2)) 42px;
  scrollbar-width:none;position:relative;z-index:2
}
.story-reel::-webkit-scrollbar{display:none}
.story-panel{
  scroll-snap-align:center;display:grid;grid-template-columns:1.06fr .94fr;min-height:430px;
  background:#fff;border-radius:26px;overflow:hidden;border:1px solid rgba(185,138,46,.18);
  box-shadow:var(--shadow);transform:scale(.965);opacity:.82;transition:transform .55s ease,opacity .55s ease,box-shadow .55s ease
}
.story-panel.active{transform:scale(1);opacity:1;box-shadow:0 28px 78px rgba(29,24,18,.18)}
.story-panel:nth-child(even){grid-template-columns:.94fr 1.06fr}
.story-panel:nth-child(even) .story-media{order:2}
.story-panel .story-media{min-height:330px}
.story-panel .story-media img{transition:transform 1.2s ease}
.story-panel.active .story-media img{transform:scale(1.035)}
.story-panel.featured-story{outline:2px solid rgba(185,138,46,.3)}
.story-controls{display:flex;justify-content:center;align-items:center;gap:16px;position:relative;z-index:4}
.story-controls>button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(18,63,54,.22);background:#fff;color:var(--green);cursor:pointer;transition:.25s}
.story-controls>button:hover{background:var(--green);color:#fff;transform:translateY(-2px)}
.story-dots{display:flex;gap:7px;align-items:center}
.story-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#c8baa6;cursor:pointer;transition:.3s}
.story-dots button.active{width:30px;border-radius:999px;background:var(--green)}
.bf8{top:18%;font-size:18px;animation-duration:17s;animation-delay:-9s}
.bf9{top:66%;font-size:23px;animation-duration:19s;animation-delay:-13s}
.bf10{top:90%;font-size:21px;animation-duration:16s;animation-delay:-11s}

.names-band{
  position:relative;overflow:hidden;padding:98px 0;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,230,172,.26),transparent 33%),
    linear-gradient(135deg,#fffaf0 0%,#f8edda 48%,#fffaf0 100%);
}
.names-band::before,.names-band::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;filter:blur(4px);opacity:.26}
.names-band::before{left:-120px;top:-100px;background:radial-gradient(circle,#e6ca8e,transparent 68%)}
.names-band::after{right:-140px;bottom:-120px;background:radial-gradient(circle,#a7c0ad,transparent 68%)}
.names-band .section-inner{position:relative;z-index:3}
.names-lockup{margin:18px auto 16px;position:relative}
.names-lockup h2{margin:.1em 0;display:flex;flex-direction:column;align-items:center;gap:.03em}
.names-lockup .name-line{display:block;position:relative;animation:nameGlow 4s ease-in-out infinite}
.names-lockup b{font-size:.48em;font-weight:400;color:var(--green);margin:.08em 0;animation:heartPulse 2.2s ease-in-out infinite}
@keyframes nameGlow{0%,100%{text-shadow:0 0 0 rgba(185,138,46,0)}50%{text-shadow:0 8px 24px rgba(185,138,46,.18)}}
@keyframes heartPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.joy-badge{background:rgba(255,255,255,.5);box-shadow:0 8px 30px rgba(185,138,46,.08);animation:badgeShimmer 4.5s ease-in-out infinite}
@keyframes badgeShimmer{0%,100%{box-shadow:0 8px 30px rgba(185,138,46,.08)}50%{box-shadow:0 8px 34px rgba(185,138,46,.22)}}
.joy-line{margin-top:22px;display:flex;justify-content:center;align-items:center;gap:13px;color:#78603a;font-style:italic;font-size:1.05rem}
.joy-line i{font-style:normal;color:var(--wine);animation:heartPulse 2s infinite}
.celebration-bursts .burst{position:absolute;z-index:2;color:#c9a54f;opacity:.65;animation:twinkle 2.8s ease-in-out infinite}
.burst1{left:9%;top:22%;font-size:22px}.burst2{left:18%;bottom:20%;font-size:14px;animation-delay:-1s}.burst3{right:12%;top:18%;font-size:20px;animation-delay:-.6s}.burst4{right:22%;bottom:24%;font-size:15px;animation-delay:-1.4s}.burst5{left:48%;top:9%;font-size:13px;animation-delay:-2s}.burst6{right:47%;bottom:10%;font-size:18px;animation-delay:-.8s}
@keyframes twinkle{0%,100%{transform:scale(.8) rotate(0);opacity:.25}50%{transform:scale(1.25) rotate(18deg);opacity:.85}}
.petal-rain i{position:absolute;z-index:1;top:-30px;width:10px;height:16px;border-radius:80% 20% 80% 20%;background:#e8c2be;opacity:.5;animation:petalfall 8s linear infinite}
.petal-rain i:nth-child(1){left:8%;animation-delay:-1s}.petal-rain i:nth-child(2){left:20%;animation-delay:-5s}.petal-rain i:nth-child(3){left:34%;animation-delay:-3s}.petal-rain i:nth-child(4){left:49%;animation-delay:-7s}.petal-rain i:nth-child(5){left:63%;animation-delay:-2s}.petal-rain i:nth-child(6){left:75%;animation-delay:-6s}.petal-rain i:nth-child(7){left:87%;animation-delay:-4s}.petal-rain i:nth-child(8){left:95%;animation-delay:-.5s}
@keyframes petalfall{0%{transform:translate(0,-20px) rotate(0);opacity:0}10%{opacity:.55}100%{transform:translate(55px,460px) rotate(420deg);opacity:0}}

.event-icon.line-icon{
  width:56px;height:56px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(145deg,#fffdf8,#f5ead6);
  border:1px solid rgba(185,138,46,.28);
  box-shadow:0 9px 24px rgba(68,47,20,.08);
  margin-bottom:6px
}
.line-icon svg{width:34px;height:34px;fill:none;stroke:#9e2424;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.event-card::before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(130deg,rgba(225,197,127,.65),transparent 35%,transparent 65%,rgba(18,63,54,.25));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.event-card:hover .line-icon{transform:translateY(-3px) rotate(-2deg);transition:.25s}
.event-card-featured .line-icon{background:linear-gradient(145deg,#fff9ed,#f2dfb7)}
.event-card .btn.full{position:relative;overflow:hidden}
.event-card .btn.full::after{content:"";position:absolute;top:0;left:-35%;width:25%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);animation:buttonSweep 4.5s infinite}
@keyframes buttonSweep{0%,62%{left:-35%}100%{left:125%}}

@media(max-width:900px){
  .story-reel{grid-auto-columns:88vw}
  .story-panel,.story-panel:nth-child(even){grid-template-columns:1fr}
  .story-panel:nth-child(even) .story-media{order:0}
}
@media(max-width:600px){
  .story-reel{grid-auto-columns:91vw;gap:14px;padding-left:4.5vw;padding-right:4.5vw}
  .story-panel{border-radius:20px}.story-panel .story-media{min-height:285px}
  .names-band{padding:82px 0}.joy-line{font-size:.95rem;gap:9px;flex-wrap:wrap}
}


/* ===== WhatsApp / mobile publishing polish ===== */
html,body{max-width:100%;overscroll-behavior-x:none}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.story-reel{-webkit-overflow-scrolling:touch;touch-action:auto;scroll-padding-inline:4.5vw}
.story-panel{will-change:transform}
.map-btn,.btn,a,button{-webkit-tap-highlight-color:transparent}
@media(max-width:700px){
  .hero-copy{width:min(94%,560px);padding-top:118px;padding-bottom:90px}
  .eyebrow{font-size:.64rem;line-height:1.55;letter-spacing:.2em}
  .marry{font-size:.68rem;letter-spacing:.31em;line-height:1.5}
  .hero-date{font-size:1.28rem;letter-spacing:.22em}
  .story-title{width:92%;margin-bottom:30px}
  .story-title h2{font-size:clamp(2rem,10vw,3.1rem)}
  .story-reel{grid-auto-columns:92vw;padding-left:4vw;padding-right:4vw;gap:12px}
  .story-panel{min-height:0}
  .story-panel .story-media{min-height:250px;max-height:330px}
  .story-copy h3{font-size:clamp(1.75rem,8.5vw,2.45rem)}
  .story-copy p{font-size:1rem;line-height:1.68}
  .story-copy blockquote{font-size:1.45rem;line-height:1.35}
  .story-controls{margin-top:-4px}
  .names-band{padding:74px 0}
  .names-lockup h2{font-size:clamp(3rem,14vw,4.9rem)}
  .marry-badge{max-width:92%;letter-spacing:.2em;line-height:1.45}
  .event-card{padding:30px 24px}
  .event-card h3{font-size:1.4rem}
  .btn.full{min-height:52px}
  .countdown{gap:9px}
  .countdown strong{font-size:2.25rem}
  .invite-layout{gap:34px}
  .poster-wrap{border-radius:18px}
  .closing{min-height:64svh}
  .closing-copy h2{font-size:clamp(2.35rem,11vw,4rem)}
}
@media(max-width:390px){
  .nav a{padding:13px 12px}
  .hero h1{font-size:clamp(3rem,15.2vw,4.6rem)}
  .story-panel .story-media{min-height:230px}
  .story-copy{padding:24px 21px 28px}
  .event-card{padding:28px 21px}
}


/* ===== Invitation gallery ===== */
.invitation-gallery{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px;align-items:center}
.invitation-card img{width:100%;height:auto;object-fit:contain;background:#f5ead6}
.invitation-wide{border-radius:18px}

/* ===== Mobile story: vertical, no horizontal swipe trap ===== */
@media(max-width:700px){
  .story-reel{
    display:flex;flex-direction:column;gap:22px;overflow:visible;
    padding:8px 4vw 24px;scroll-snap-type:none;touch-action:auto;
  }
  .story-panel,.story-panel:nth-child(even){
    width:100%;display:grid;grid-template-columns:1fr;transform:none;opacity:1;
    scroll-snap-align:none;min-height:0;
  }
  .story-panel:nth-child(even) .story-media{order:0}
  .story-panel .story-media{min-height:0;aspect-ratio:4/3}
  .story-panel .story-media img{width:100%;height:100%;object-fit:cover}
  .story-controls{display:none}
  .invitation-gallery{grid-template-columns:1fr;gap:20px}
  .invitation-gallery .poster-wrap{width:100%}
  .invitation-gallery .poster-wrap img{max-height:none}
}

/* ===== Elegant story + celebration polish ===== */
.hero-alias{display:block!important;margin:.18em auto 0;color:#fff;font-style:italic;font-weight:400;
  font-size:.52em;line-height:1;font-family:"Palatino Linotype",Palatino,Georgia,serif;letter-spacing:.04em}
.hero-alias::before,.hero-alias::after{content:"";display:inline-block;width:42px;height:1px;background:#e8c879;vertical-align:middle;margin:0 13px}

.chapter-story{position:relative;padding:clamp(80px,9vw,120px) 0;background:
 radial-gradient(circle at 10% 15%,rgba(225,197,127,.16),transparent 24%),
 linear-gradient(180deg,#f4ead8,#fffaf0);overflow:hidden}
.chapter-story .story-title{position:relative;z-index:2}
.chapter-grid{position:relative;z-index:2;width:min(1180px,91%);margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.chapter-card{position:relative;min-height:560px;border-radius:28px;overflow:hidden;background:#082f2a;box-shadow:0 18px 55px rgba(22,34,29,.16);
 border:1px solid rgba(195,153,67,.32);isolation:isolate;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease}
.chapter-image{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,35,31,.96) 2%,rgba(5,35,31,.52) 48%,rgba(5,35,31,.05) 78%),var(--story-img) center/cover no-repeat;
 transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.chapter-text{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:42px;color:#fff;transform:translateY(8px);transition:transform .5s ease}
.chapter-text span{font:800 .7rem/1.3 Arial,sans-serif;letter-spacing:.2em;color:#efd188}
.chapter-text h3{font-size:clamp(2rem,3.6vw,3.35rem);font-weight:400;line-height:1.02;margin:.28em 0}
.chapter-text p{max-width:620px;color:#eee4d6;line-height:1.65;margin:.4em 0}.chapter-text blockquote{color:#ffe2a0;font-size:clamp(1.45rem,2.5vw,2.2rem);font-style:italic;margin:15px 0}
.chapter-card:hover{transform:translateY(-9px);box-shadow:0 32px 85px rgba(18,42,35,.25)}.chapter-card:hover .chapter-image{transform:scale(1.055);filter:saturate(1.08)}
.chapter-card:hover .chapter-text{transform:none}.chapter-card::after{content:"";position:absolute;z-index:3;inset:10px;border:1px solid rgba(239,209,136,.0);border-radius:21px;transition:.5s}
.chapter-card:hover::after{inset:16px;border-color:rgba(239,209,136,.52)}
.chapter-featured{grid-column:1/-1;min-height:72svh}.chapter-featured .chapter-text{max-width:850px}
.story-ornament{text-align:center;color:#b98a2e;letter-spacing:.8em;margin-bottom:-45px}
.story-butterflies i{position:absolute;z-index:3;font-style:normal;filter:drop-shadow(0 5px 8px #0002);animation:storyFly 14s linear infinite;opacity:0}
.story-butterflies i:nth-child(1){top:14%;left:-5%;animation-delay:-2s}.story-butterflies i:nth-child(2){top:30%;left:-8%;animation-delay:-8s;animation-duration:17s}.story-butterflies i:nth-child(3){top:47%;left:-6%;animation-delay:-5s;animation-duration:19s}.story-butterflies i:nth-child(4){top:62%;left:-9%;animation-delay:-11s}.story-butterflies i:nth-child(5){top:78%;left:-5%;animation-delay:-4s;animation-duration:18s}.story-butterflies i:nth-child(6){top:90%;left:-8%;animation-delay:-13s;animation-duration:20s}
@keyframes storyFly{0%{transform:translate(-5vw,20px) rotate(-8deg);opacity:0}8%{opacity:.8}30%{transform:translate(35vw,-30px) rotate(10deg)}60%{transform:translate(70vw,30px) rotate(-9deg)}92%{opacity:.75}100%{transform:translate(112vw,-15px) rotate(8deg);opacity:0}}

.celebration-events{position:relative;overflow:hidden;background:
 radial-gradient(circle at 8% 10%,rgba(225,197,127,.17),transparent 20%),
 radial-gradient(circle at 92% 82%,rgba(185,138,46,.13),transparent 24%),#fffaf0}
.celebration-events .section-inner{position:relative;z-index:2}.celebration-events .event-card{background:linear-gradient(145deg,#fffdf8,#f8ecd7);
 border:1px solid rgba(185,138,46,.38);box-shadow:0 16px 45px rgba(75,55,24,.11)}
.celebration-events .event-card::after{content:"✦";position:absolute;right:18px;top:15px;color:#c69c48;font-size:14px}
.royal-icon{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fffdf8 25%,#f0dcae);
 border:1px solid #c7a157;box-shadow:0 8px 24px rgba(135,93,24,.14),inset 0 0 0 5px #fff8e8}
.royal-icon svg{width:43px;height:43px;fill:none;stroke:#9c7022;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.event-card:hover .royal-icon{transform:rotate(-4deg) scale(1.06);box-shadow:0 12px 30px rgba(135,93,24,.22),inset 0 0 0 5px #fff8e8;transition:.35s}
.event-sparkles i{position:absolute;color:#d3aa52;font-style:normal;z-index:1;animation:eventTwinkle 2.6s ease-in-out infinite}
.event-sparkles i:nth-child(1){left:4%;top:10%}.event-sparkles i:nth-child(2){left:13%;top:75%;animation-delay:-1s}.event-sparkles i:nth-child(3){left:28%;top:18%;animation-delay:-1.8s}.event-sparkles i:nth-child(4){left:42%;top:84%;animation-delay:-.6s}.event-sparkles i:nth-child(5){left:53%;top:12%;animation-delay:-2s}.event-sparkles i:nth-child(6){left:66%;top:78%;animation-delay:-1.3s}.event-sparkles i:nth-child(7){left:77%;top:22%;animation-delay:-.3s}.event-sparkles i:nth-child(8){left:91%;top:72%;animation-delay:-1.6s}.event-sparkles i:nth-child(9){left:95%;top:13%;animation-delay:-.9s}.event-sparkles i:nth-child(10){left:7%;top:48%;animation-delay:-2.2s}
@keyframes eventTwinkle{0%,100%{opacity:.15;transform:scale(.65) rotate(0)}50%{opacity:.9;transform:scale(1.35) rotate(35deg)}}

@media(max-width:700px){
 .hero-alias{font-size:.58em}.hero-alias::before,.hero-alias::after{width:25px;margin:0 8px}
 .chapter-grid{grid-template-columns:1fr;gap:18px;width:92%}.chapter-card,.chapter-featured{grid-column:auto;min-height:72svh;border-radius:22px}
 .chapter-text{padding:28px 24px}.chapter-card:hover{transform:none}.chapter-card:active .chapter-image{transform:scale(1.035)}
 .story-butterflies i{font-size:18px}
}

/* FINAL DISCUSSED CHANGES */
.hero-names{font-family:"Snell Roundhand","Segoe Script","URW Chancery L","Apple Chancery",cursive!important;letter-spacing:.01em;font-weight:400!important}
.hero-names span{font-style:italic;text-shadow:0 8px 30px #0006}.hero-names b{font-family:Georgia,serif!important}
.hero-quote{margin:18px auto 0;color:#f9e9bd;font-size:clamp(1.05rem,2.1vw,1.55rem);font-style:italic;letter-spacing:.035em;text-shadow:0 3px 16px #0007}

/* Full-screen cinematic chapters on both desktop and mobile */
.chapter-story{padding:0!important;background:#082943}.chapter-story .story-ornament{display:none}
.chapter-story .story-title{min-height:72svh;max-width:none;margin:0;padding:110px 7vw 70px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;background:radial-gradient(circle at 50% 15%,#24537e 0,#143d66 40%,#082943 72%,#061d31 100%)}
.chapter-story .story-title .kicker{color:#efd188}.chapter-story .story-title h2{color:#fff}.chapter-story .story-title h2 em{color:#f4d991}.chapter-story .story-title .lead{color:#dce9f3}
.chapter-grid{width:100%!important;display:block!important;margin:0!important}
.chapter-card,.chapter-featured{min-height:100svh!important;width:100%!important;border:0!important;border-radius:0!important;box-shadow:none!important;scroll-snap-align:start}
.chapter-image{background:linear-gradient(90deg,#031d1bdd 0,#031d1b88 42%,#031d1b1f 75%),var(--story-img) center/cover no-repeat!important}
.chapter-text{top:0!important;bottom:0!important;left:9vw!important;right:auto!important;width:min(650px,78vw);padding:0!important;display:flex;flex-direction:column;justify-content:center;transform:none!important}
.chapter-text h3{font-size:clamp(3rem,6vw,6rem)}.chapter-card::after{inset:22px!important;border-radius:0!important;border-color:#efd18838!important}
@media(hover:hover) and (pointer:fine){.chapter-card:hover{transform:none!important}.chapter-card:hover .chapter-image{transform:scale(1.075)!important;filter:saturate(1.12)}.chapter-card:hover::after{inset:34px!important;border-color:#efd188aa!important}}
.story-butterflies{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.story-butterflies i{left:-10%!important;font-size:clamp(18px,2.3vw,34px);animation:butterflyJourney 15s linear infinite!important;opacity:0}
.story-butterflies i:nth-child(2n){animation-duration:19s!important}.story-butterflies i:nth-child(3n){animation-duration:12s!important}.story-butterflies i:nth-child(1){top:7%;animation-delay:-2s!important}.story-butterflies i:nth-child(2){top:14%;animation-delay:-10s!important}.story-butterflies i:nth-child(3){top:21%;animation-delay:-5s!important}.story-butterflies i:nth-child(4){top:29%;animation-delay:-14s!important}.story-butterflies i:nth-child(5){top:36%;animation-delay:-8s!important}.story-butterflies i:nth-child(6){top:43%;animation-delay:-3s!important}.story-butterflies i:nth-child(7){top:51%;animation-delay:-12s!important}.story-butterflies i:nth-child(8){top:59%;animation-delay:-6s!important}.story-butterflies i:nth-child(9){top:66%;animation-delay:-1s!important}.story-butterflies i:nth-child(10){top:73%;animation-delay:-11s!important}.story-butterflies i:nth-child(11){top:80%;animation-delay:-7s!important}.story-butterflies i:nth-child(12){top:87%;animation-delay:-15s!important}.story-butterflies i:nth-child(13){top:92%;animation-delay:-4s!important}.story-butterflies i:nth-child(14){top:96%;animation-delay:-9s!important}
@keyframes butterflyJourney{0%{transform:translate(-8vw,18px) rotate(-12deg);opacity:0}8%{opacity:.85}25%{transform:translate(30vw,-28px) rotate(9deg)}50%{transform:translate(58vw,30px) rotate(-8deg)}75%{transform:translate(86vw,-22px) rotate(12deg)}92%{opacity:.8}100%{transform:translate(120vw,12px) rotate(-5deg);opacity:0}}

/* Recognizable celebration scenes */
.event-scene{height:150px;margin:-10px -8px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#fffdf7 0,#f5e6c8 72%,transparent 73%);border-radius:50% 50% 18px 18px}
.event-scene svg{width:min(220px,92%);height:118px;fill:none;stroke:#31594e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:.45s}.event-scene .gold,.event-scene .garland{stroke:#a77721;stroke-width:2.3}.event-scene .spark{stroke:#c59b45}
.event-scene span{margin-top:-6px;font:700 .62rem/1 Arial,sans-serif;letter-spacing:.22em;color:#9b6b1c}
.event-card-featured .event-scene{background:radial-gradient(circle at 50% 45%,#fffdf7 0,#f0dba8 72%,transparent 73%)}
@media(hover:hover) and (pointer:fine){.event-card:hover .event-scene svg{transform:scale(1.05)}}
.event-sparkles i:nth-child(n+11){font-size:16px}.event-sparkles i:nth-child(11){left:19%;top:9%}.event-sparkles i:nth-child(12){left:35%;top:69%}.event-sparkles i:nth-child(13){left:47%;top:28%}.event-sparkles i:nth-child(14){left:59%;top:90%}.event-sparkles i:nth-child(15){left:72%;top:9%}.event-sparkles i:nth-child(16){left:84%;top:57%}.event-sparkles i:nth-child(17){left:97%;top:38%}.event-sparkles i:nth-child(18){left:2%;top:88%}

/* Invitation typography */
.invite-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.15rem,4.7vw,4.25rem)}.invite-copy h2 em{font-weight:400;color:#815d22}.invite-flourish{font-size:2rem;color:#b98a2e;margin:18px 0}.invite-closing-line{font-style:italic;color:#4d453b!important}
@media(max-width:700px){
.hero-names{font-size:clamp(3rem,14vw,5.2rem)!important;line-height:.92!important}.hero-quote{width:88%;font-size:1.06rem}
.chapter-story .story-title{min-height:68svh;padding:90px 7vw 55px}.chapter-card,.chapter-featured{min-height:100svh!important}
.chapter-image{background:linear-gradient(0deg,#031d1bf0 0,#031d1b94 48%,#031d1b14 78%),var(--story-img) center/cover no-repeat!important}
.chapter-text{left:7vw!important;right:7vw!important;top:auto!important;bottom:9vh!important;width:auto!important;height:auto!important;display:block}.chapter-text h3{font-size:clamp(2.7rem,12vw,4.3rem)}.chapter-card::after{inset:12px!important}
.invite-copy{text-align:center}.invite-copy h2{font-size:clamp(2.15rem,10vw,3.25rem);line-height:1.08}.invitation-gallery{grid-template-columns:1fr!important}.invitation-card{width:min(100%,520px);margin-inline:auto}
}

/* ===== V2: requested CHAPTERS_FINAL-inspired story ===== */
.chapter-story{background:#071f1c!important;color:#fff!important;padding:0!important;overflow:clip}
.chapter-story .story-title{
  min-height:58svh!important;padding:90px 7vw 64px!important;
  background:radial-gradient(circle at 50% 5%,#285b88 0,#17466f 37%,#0b3153 72%,#071f37 100%)!important;
}
.chapter-story .story-title .kicker{
  font-family:Georgia,"Times New Roman",serif!important;font-size:.72rem!important;
  letter-spacing:.3em!important;color:#e9cb7c!important;margin-bottom:18px
}
.chapter-story .story-title h2{
  font-family:"Snell Roundhand","Segoe Script","URW Chancery L","Apple Chancery",Georgia,serif!important;
  font-size:clamp(2.5rem,5.2vw,5rem)!important;line-height:1.04!important;font-weight:400!important;
  letter-spacing:.01em!important;text-shadow:0 8px 32px rgba(0,0,0,.25)
}
.chapter-story .story-title h2 em{font-family:Georgia,"Times New Roman",serif!important;font-size:.42em!important;letter-spacing:.04em!important;display:block;margin-top:16px}
.story-chapters{background:#071f1c;color:#fff;padding:0;overflow:clip}
.story-chapter{
  min-height:92svh;position:relative;display:grid;align-items:end;padding:8vw;
  background:linear-gradient(0deg,rgba(4,29,25,.94) 3%,rgba(4,29,25,.62) 48%,rgba(4,29,25,.12) 78%),
  var(--chapter-bg) center/cover no-repeat;
  background-attachment:fixed;
}
.story-chapter::after{content:"";position:absolute;inset:22px;border:1px solid rgba(225,197,127,.24);pointer-events:none;transition:.45s ease}
.chapter-copy{position:relative;z-index:2;max-width:760px;color:#fff}
.chapter-copy span{font:700 .7rem/1.3 Arial,sans-serif;letter-spacing:.22em;color:#efd188}
.chapter-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,5.5vw,5.5rem);font-weight:400;line-height:.98;margin:.22em 0}
.chapter-copy p{font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65;color:#f0e7da;max-width:620px}
.chapter-copy blockquote{font-size:clamp(1.7rem,3vw,2.8rem);font-style:italic;color:#ffe1a0;margin:16px 0}
@media(hover:hover) and (pointer:fine){
 .story-chapter{transition:filter .5s ease}
 .story-chapter:hover{filter:saturate(1.08) brightness(1.03)}
 .story-chapter:hover::after{inset:32px;border-color:rgba(225,197,127,.7)}
 .story-chapter:hover .chapter-copy h3{text-shadow:0 8px 30px rgba(0,0,0,.4)}
}
/* Butterflies remain continuously flying over the whole love story */
.story-butterflies{position:absolute!important;inset:0!important;z-index:7!important;pointer-events:none!important;overflow:hidden!important}
.story-butterflies i{position:absolute!important;left:-10%!important;animation:butterflyJourney 15s linear infinite!important}

/* Clear event symbols */
.event-symbol{height:155px;margin:-8px -6px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;
 background:radial-gradient(circle,#fffdf7 0,#f4e2bc 68%,transparent 69%);border-radius:50% 50% 20px 20px}
.event-symbol svg{width:190px;max-width:92%;height:118px;fill:none;stroke:#245449;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.event-symbol .gold,.event-symbol .garland{stroke:#a87318;stroke-width:2.7}.event-symbol .shine{stroke:#c69637}
.event-symbol span{font:700 .62rem/1 Arial,sans-serif;letter-spacing:.19em;color:#94691e;margin-top:-7px}
@media(hover:hover) and (pointer:fine){.event-card:hover .event-symbol svg{transform:scale(1.055);transition:.4s ease}}

/* Invitation requested copy */
.invite-copy h2{font-family:"Snell Roundhand","Segoe Script","URW Chancery L","Apple Chancery",Georgia,serif!important;font-weight:400!important}
.invite-copy .invite-closing-line{max-width:760px;margin:14px auto 0;font-style:italic}

/* Mobile: preserve the CHAPTERS_FINAL visual without fixed-background browser bugs */
@media(max-width:700px){
 .chapter-story .story-title{min-height:54svh!important;padding:82px 7vw 52px!important}
 .chapter-story .story-title h2{font-size:clamp(2.45rem,12vw,3.8rem)!important}
 .story-chapter{
   min-height:92svh!important;padding:8vw 7vw 10vh!important;align-items:end!important;
   background-attachment:scroll!important;background-position:center center!important;background-size:cover!important;
 }
 .story-chapter::after{inset:12px}
 .chapter-copy{max-width:94%}.chapter-copy h3{font-size:clamp(2.65rem,12vw,4rem)}
 .chapter-copy p{font-size:1rem;line-height:1.6}
 .event-symbol{height:145px}
}

/* ===== V3 POLISH: mobile parity + green story intro + classic event icons ===== */

/* Love-story intro: green only, restrained typography */
.chapter-story .story-title{
  min-height:46svh!important;
  padding:82px 7vw 54px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(43,100,83,.62),transparent 52%),
    linear-gradient(180deg,#123f36 0%,#0a2c27 100%)!important;
}
.chapter-story .story-title .kicker{
  font-size:.64rem!important;
  letter-spacing:.28em!important;
  margin-bottom:14px!important;
}
.chapter-story .story-title h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2rem,3.8vw,3.55rem)!important;
  line-height:1.08!important;
  font-weight:400!important;
  letter-spacing:.015em!important;
}
.chapter-story .story-title h2 em{
  font-family:"Snell Roundhand","Segoe Script","URW Chancery L","Apple Chancery",Georgia,serif!important;
  font-size:.72em!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  margin-top:10px!important;
  color:#e5c879!important;
}

/* Desktop/mobile parity: same cinematic composition; only dimensions adapt */
.story-chapter{
  min-height:92svh!important;
  padding:clamp(34px,8vw,110px)!important;
  display:grid!important;
  align-items:end!important;
  background:
    linear-gradient(0deg,rgba(4,29,25,.94) 3%,rgba(4,29,25,.62) 48%,rgba(4,29,25,.12) 78%),
    var(--chapter-bg) center center/cover no-repeat!important;
}
.chapter-copy{max-width:720px!important}
.chapter-copy h3{font-size:clamp(2.45rem,5.1vw,5.1rem)!important}
.chapter-copy p{font-size:clamp(.98rem,1.3vw,1.14rem)!important}

/* subtle cinematic reveal */
.story-chapter.reveal.visible .chapter-copy{
  animation:chapterCopyIn .9s cubic-bezier(.2,.7,.2,1) both;
}
.story-chapter.reveal.visible::after{animation:chapterFrameIn 1.15s ease both}
@keyframes chapterCopyIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes chapterFrameIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}

/* Simple event icons — intentionally no illustration scene/card */
.classic-event-icon{
  width:92px;height:92px;margin:2px auto 24px;
  display:grid;place-items:center;
  border:1px solid rgba(185,138,46,.38);
  border-radius:50%;
  background:rgba(255,249,237,.64);
  box-shadow:0 9px 28px rgba(64,48,26,.08);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.classic-event-icon svg{
  width:62px;height:62px;fill:none;stroke:#174a3e;stroke-width:2.25;
  stroke-linecap:round;stroke-linejoin:round;
}
.event-card-featured .classic-event-icon{border-color:rgba(185,138,46,.62)}
@media(hover:hover) and (pointer:fine){
 .event-card:hover .classic-event-icon{
   transform:translateY(-5px) scale(1.04);
   border-color:#b98a2e;
   box-shadow:0 14px 34px rgba(64,48,26,.13)
 }
}

/* Invitation: elegant colour hierarchy */
.invite-copy .kicker{color:#a77721!important}
.invite-copy h2{color:#123f36!important}
.invite-gold{color:#a77721}
.invite-emphasis{color:#123f36;font-weight:700}
.invite-gold-text{color:#9a6c1e;font-style:italic}
.invite-copy p{color:#625749}
.invite-copy .invite-closing-line{color:#4d453b!important}

/* soft glints, not noisy */
.invitation-card{transition:transform .45s ease,box-shadow .45s ease}
@media(hover:hover) and (pointer:fine){
 .invitation-card:hover{transform:translateY(-6px);box-shadow:0 24px 65px rgba(29,24,18,.18)}
}

/* Mobile intentionally mirrors desktop story instead of becoming a different layout */
@media(max-width:700px){
 .chapter-story .story-title{
   min-height:42svh!important;
   padding:74px 7vw 44px!important;
 }
 .chapter-story .story-title .kicker{font-size:.58rem!important}
 .chapter-story .story-title h2{
   font-size:clamp(1.9rem,8.5vw,2.75rem)!important;
   max-width:92%!important;
 }
 .story-chapter{
   min-height:92svh!important;
   padding:0 7vw 9vh!important;
   align-items:end!important;
   background:
     linear-gradient(0deg,rgba(4,29,25,.94) 3%,rgba(4,29,25,.62) 48%,rgba(4,29,25,.12) 78%),
     var(--chapter-bg) center center/cover no-repeat!important;
   background-attachment:scroll!important;
 }
 .story-chapter::after{inset:12px!important}
 .chapter-copy{max-width:94%!important}
 .chapter-copy h3{font-size:clamp(2.35rem,11vw,3.65rem)!important;line-height:.98!important}
 .chapter-copy p{font-size:.98rem!important;line-height:1.58!important}
 .chapter-copy blockquote{font-size:clamp(1.65rem,8vw,2.4rem)!important}
 .classic-event-icon{width:84px;height:84px;margin-bottom:20px}
 .classic-event-icon svg{width:56px;height:56px}
}

/* Respect reduced-motion users */
@media(prefers-reduced-motion:reduce){
 .story-butterflies i,.story-chapter.reveal.visible .chapter-copy,.story-chapter.reveal.visible::after{animation:none!important}
}


/* =========================================================
   FINAL CLASSY / MOBILE-FIRST POLISH
   ========================================================= */

/* Professional type system for the sections being refined.
   Hero is intentionally untouched. */
.chapter-story,
.celebration-events,
.invite{
  --editorial:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --clean:"Inter", "Segoe UI", Arial, sans-serif;
}

/* ---------- LOVE STORY INTRO ---------- */
.chapter-story{
  width:100%;
  max-width:100%;
  overflow:hidden!important;
  background:#071f1c!important;
}
.chapter-story .story-title{
  width:100%!important;
  max-width:100%!important;
  min-height:auto!important;
  margin:0!important;
  padding:clamp(64px,8vw,92px) 24px clamp(56px,7vw,82px)!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:
    radial-gradient(circle at 50% -10%,rgba(57,116,95,.36),transparent 48%),
    linear-gradient(180deg,#123f36 0%,#082d27 100%)!important;
}
.chapter-story .story-title .kicker{
  margin:0 0 15px!important;
  font-family:var(--clean)!important;
  font-size:clamp(.62rem,1.1vw,.74rem)!important;
  font-weight:600!important;
  letter-spacing:.24em!important;
  color:#d7b663!important;
}
.chapter-story .story-title h2{
  max-width:760px!important;
  margin:0 auto!important;
  font-family:var(--editorial)!important;
  font-size:clamp(2.15rem,4.7vw,4rem)!important;
  line-height:.98!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
  color:#fffaf0!important;
  text-shadow:none!important;
}
.chapter-story .story-title h2 em{
  display:block!important;
  margin-top:14px!important;
  font-family:var(--editorial)!important;
  font-size:.72em!important;
  line-height:1.05!important;
  font-weight:400!important;
  font-style:italic!important;
  letter-spacing:0!important;
  color:#e0bd67!important;
}

/* ---------- HORIZONTAL STORY EXPERIENCE ---------- */
.story-nav{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:28px 0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#d9cba8;
  font-family:var(--clean);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.story-nav-actions{display:flex;gap:9px}
.story-arrow{
  width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(225,197,127,.34);
  background:rgba(255,255,255,.04);
  color:#f0d68d;
  font:400 1.1rem/1 var(--clean);
  cursor:pointer;
  transition:background .25s ease,transform .25s ease,border-color .25s ease;
}
.story-arrow:hover{background:#b98a2e;color:#fff;border-color:#b98a2e;transform:translateY(-2px)}

.story-chapters{
  width:100%!important;
  padding:0 max(24px,calc((100vw - 1180px)/2)) 22px!important;
  display:flex!important;
  gap:20px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
}
.story-chapters::-webkit-scrollbar{display:none}

.story-chapter{
  flex:0 0 min(78vw,900px)!important;
  width:min(78vw,900px)!important;
  min-height:0!important;
  height:clamp(500px,72svh,720px)!important;
  padding:clamp(32px,5vw,70px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  align-items:end!important;
  scroll-snap-align:center!important;
  scroll-snap-stop:always;
  border-radius:24px!important;
  overflow:hidden!important;
  background:
    linear-gradient(0deg,rgba(4,29,25,.94) 2%,rgba(4,29,25,.56) 48%,rgba(4,29,25,.08) 78%),
    var(--chapter-bg) center/cover no-repeat!important;
  background-attachment:scroll!important;
  box-shadow:0 22px 70px rgba(0,0,0,.28)!important;
  transform:translateZ(0);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease!important;
}
.story-chapter::after{
  inset:14px!important;
  border-radius:16px!important;
  border:1px solid rgba(229,200,124,.28)!important;
}
.chapter-copy{
  width:min(680px,100%)!important;
  max-width:680px!important;
  position:relative!important;
  z-index:2!important;
}
.chapter-copy span{
  display:block;
  margin-bottom:12px;
  font-family:var(--clean)!important;
  font-size:clamp(.6rem,.9vw,.72rem)!important;
  font-weight:600!important;
  letter-spacing:.19em!important;
  color:#e1c57f!important;
}
.chapter-copy h3{
  margin:0 0 14px!important;
  font-family:var(--editorial)!important;
  font-size:clamp(2.6rem,5vw,4.9rem)!important;
  line-height:.94!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
  color:#fff!important;
}
.chapter-copy p{
  margin:0!important;
  max-width:590px!important;
  font-family:var(--clean)!important;
  font-size:clamp(.92rem,1.15vw,1.05rem)!important;
  line-height:1.65!important;
  color:rgba(255,255,255,.88)!important;
}
.chapter-copy p + p{margin-top:10px!important}
.chapter-copy blockquote{
  margin:14px 0!important;
  font-family:var(--editorial)!important;
  font-size:clamp(1.75rem,3.2vw,2.8rem)!important;
  line-height:1.08!important;
  font-weight:500!important;
  font-style:italic!important;
  color:#f1d98f!important;
}
@media(hover:hover) and (pointer:fine){
  .story-chapter:hover{
    transform:translateY(-6px) scale(1.006)!important;
    box-shadow:0 30px 85px rgba(0,0,0,.36)!important;
  }
}
.story-progress{
  display:flex;
  justify-content:center;
  gap:7px;
  padding:5px 0 34px;
}
.story-progress i{
  width:6px;height:6px;border-radius:999px;
  background:rgba(225,197,127,.28);
  transition:width .3s ease,background .3s ease;
}
.story-progress i.active{width:24px;background:#d6b55f}

/* Butterflies: fewer, softer, and premium rather than noisy */
.story-butterflies{opacity:.72!important}
.story-butterflies i:nth-child(n+9){display:none!important}
.story-butterflies i{filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));font-size:clamp(16px,1.8vw,26px)!important}

/* ---------- CLASSY EVENT ICONS ---------- */
.lux-event-icon{
  width:96px;
  height:96px;
  margin:0 auto 22px;
  display:grid;
  place-items:center;
  position:relative;
}
.lux-event-icon::before{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(185,138,46,.30);
  border-radius:50%;
  transform:rotate(45deg);
  transition:transform .45s ease,border-color .45s ease;
}
.lux-event-icon svg{
  width:68px;
  height:68px;
  position:relative;
  z-index:1;
  fill:none;
  stroke:#a77721;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .45s ease;
}
.lux-event-icon .spark{stroke:#d2ad55}
.event-card:hover .lux-event-icon::before{transform:rotate(90deg);border-color:rgba(185,138,46,.68)}
.event-card:hover .lux-event-icon svg{transform:scale(1.055)}
.event-label{
  font-family:var(--clean)!important;
  font-size:.68rem!important;
  letter-spacing:.22em!important;
}
.event-card h3,.event-card h4{
  font-family:var(--editorial)!important;
}
.event-card h3{font-size:clamp(1.6rem,2vw,2rem)!important}
.event-card h4{font-size:1.35rem!important}
.event-card>p:not(.event-label):not(.event-time){
  font-family:var(--clean)!important;
  font-size:.9rem!important;
  line-height:1.7!important;
}
.event-time{font-family:var(--clean)!important}

/* ---------- INVITATION TYPOGRAPHY ---------- */
.invite-copy{
  max-width:790px!important;
  margin-inline:auto!important;
}
.invite-copy .kicker{
  font-family:var(--clean)!important;
  font-size:.68rem!important;
  font-weight:600!important;
  letter-spacing:.24em!important;
  color:#a77721!important;
}
.invite-copy h2{
  margin:12px 0 18px!important;
  font-family:var(--editorial)!important;
  font-size:clamp(2.6rem,5vw,4.7rem)!important;
  line-height:.95!important;
  font-weight:500!important;
  font-style:normal!important;
  letter-spacing:-.025em!important;
  color:#123f36!important;
}
.invite-copy h2 .invite-gold{color:#a77721!important}
.invite-copy p{
  font-family:var(--clean)!important;
  font-size:clamp(.98rem,1.3vw,1.08rem)!important;
  line-height:1.75!important;
  color:#62584c!important;
}
.invite-copy .invite-emphasis{
  color:#123f36!important;
  font-weight:600!important;
}
.invite-copy .invite-gold-text{
  color:#9b6d1f!important;
  font-family:var(--editorial)!important;
  font-size:1.12em;
  font-style:italic!important;
}
.invite-copy .invite-closing-line{
  max-width:700px!important;
  margin:12px auto 0!important;
  font-style:normal!important;
}

/* ---------- MOBILE ---------- */
@media(max-width:700px){
  .chapter-story .story-title{
    width:100vw!important;
    max-width:100vw!important;
    padding:58px 22px 52px!important;
    min-height:auto!important;
  }
  .chapter-story .story-title .kicker{
    font-size:.57rem!important;
    letter-spacing:.19em!important;
    margin-bottom:13px!important;
  }
  .chapter-story .story-title h2{
    width:100%!important;
    max-width:330px!important;
    font-size:clamp(2rem,10vw,2.75rem)!important;
    line-height:.98!important;
  }
  .chapter-story .story-title h2 em{
    margin-top:12px!important;
    font-size:.70em!important;
    line-height:1.05!important;
  }

  .story-nav{
    width:calc(100% - 36px)!important;
    padding:22px 0 13px!important;
    font-size:.58rem!important;
    letter-spacing:.13em!important;
  }
  .story-arrow{width:38px;height:38px}
  .story-chapters{
    padding:0 18px 18px!important;
    gap:12px!important;
    scroll-padding-inline:18px;
  }
  .story-chapter{
    flex:0 0 calc(100vw - 44px)!important;
    width:calc(100vw - 44px)!important;
    height:min(72svh,610px)!important;
    min-height:500px!important;
    padding:0 25px 42px!important;
    border-radius:20px!important;
    scroll-snap-align:center!important;
    background:
      linear-gradient(0deg,rgba(4,29,25,.95) 2%,rgba(4,29,25,.56) 48%,rgba(4,29,25,.06) 78%),
      var(--chapter-bg) center/cover no-repeat!important;
  }
  .story-chapter::after{inset:10px!important;border-radius:13px!important}
  .chapter-copy{max-width:100%!important}
  .chapter-copy span{font-size:.57rem!important;letter-spacing:.15em!important;margin-bottom:9px}
  .chapter-copy h3{
    font-size:clamp(2.2rem,10.5vw,3.2rem)!important;
    line-height:.95!important;
    margin-bottom:10px!important;
  }
  .chapter-copy p{font-size:.88rem!important;line-height:1.55!important}
  .chapter-copy blockquote{font-size:clamp(1.6rem,7.7vw,2.15rem)!important}
  .story-progress{padding-bottom:28px}
  .story-butterflies i:nth-child(n+6){display:none!important}

  .lux-event-icon{width:82px;height:82px;margin-bottom:18px}
  .lux-event-icon svg{width:58px;height:58px}

  .invite-copy h2{
    font-size:clamp(2.45rem,12vw,3.5rem)!important;
    line-height:.95!important;
  }
  .invite-copy p{
    font-size:.94rem!important;
    line-height:1.7!important;
  }
}

/* Keep motion elegant and accessible */
@media(prefers-reduced-motion:reduce){
  .story-chapters{scroll-behavior:auto!important}
  .story-chapter,.story-arrow,.lux-event-icon svg,.lux-event-icon::before{transition:none!important}
}


/* ==========================================================
   FINAL CLASSY — USER-APPROVED REFINEMENTS ONLY
   ========================================================== */

/* First slide: highlighted, professional luxury wedding typography */
.luxury-name-lockup{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;
  font-weight:600!important;
  font-style:normal!important;
  line-height:.86!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
}
.luxury-name-lockup span{
  display:block!important;
  color:#fffaf0!important;
  font-style:normal!important;
  text-shadow:0 2px 0 rgba(255,255,255,.09),0 10px 32px rgba(0,0,0,.38),0 0 26px rgba(225,195,112,.12)!important;
}
.luxury-name-lockup b{
  display:block!important;
  margin:.06em 0 .025em!important;
  color:#e5c36d!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:.56em!important;
  font-weight:400!important;
  font-style:italic!important;
  line-height:.8!important;
}

/* Chapters content living inside the original FINAL CLASSY story format */
.story-panel.chapter-panel .story-label{
  color:#b78931!important;
  font-family:"Inter","Segoe UI",sans-serif!important;
  font-size:.66rem!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  margin:0 0 12px!important;
}
.story-panel.chapter-panel .story-copy h3{
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(2.25rem,4vw,4rem)!important;
  line-height:.95!important;
  letter-spacing:-.025em!important;
  font-weight:500!important;
  margin:0 0 18px!important;
}
.story-panel.chapter-panel .story-copy blockquote{
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(1.8rem,3vw,2.8rem)!important;
  line-height:1.05!important;
  font-style:italic!important;
  color:#9b6c1e!important;
  margin:18px 0!important;
}

/* Event motion symbols — animations rather than static outline icons */
.wedding-motion-symbol{
  width:176px;height:128px;position:relative;margin:-2px auto 18px;
  isolation:isolate;
}
.motion-ring{
  position:absolute;top:47px;width:57px;height:57px;border:3px solid #b8872e;border-radius:50%;
  box-shadow:inset 0 0 0 1px #f0d58c,0 9px 22px rgba(110,75,18,.15);
}
.motion-ring i{position:absolute;left:16px;top:-25px;color:#d5b24e;font:normal 26px/1 Georgia,serif;filter:drop-shadow(0 2px 3px #76551655)}
.ring-left{left:34px;animation:ringMeetLeft 2.8s ease-in-out infinite}
.ring-right{right:34px;animation:ringMeetRight 2.8s ease-in-out infinite}
.motion-glow{position:absolute;left:65px;top:48px;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle,#e9cb7370,transparent 68%);animation:ringGlow 1.4s ease-in-out infinite alternate}
.motion-spark,.celebrate-star{position:absolute;color:#d5ad48;font-size:20px;animation:symbolSpark 1.3s ease-in-out infinite alternate}
.sp1{left:18px;top:20px}.sp2{right:17px;top:14px;animation-delay:.5s}

.wedding-blessing .wedding-pair{
  position:absolute;left:38px;right:38px;bottom:26px;display:flex;align-items:center;justify-content:center;gap:13px;
  color:#31594e;font:normal 28px/1 Georgia,serif;animation:pairFloat 3s ease-in-out infinite
}
.wedding-pair b{color:#b8772d;font-size:17px;animation:heartPulse 1.35s ease-in-out infinite}
.wedding-blessing .garland{position:absolute;top:20px;color:#b88a35;font:normal 72px/.5 Georgia,serif}
.garland-left{left:28px;transform:rotate(16deg)}.garland-right{right:28px;transform:scaleX(-1) rotate(16deg)}
.petal{position:absolute;top:12px;color:#d7ad4a;font-size:16px;animation:petalDrift 2.4s ease-in-out infinite}
.p1{left:35px}.p2{left:80px;animation-delay:.7s}.p3{right:32px;animation-delay:1.2s}
.lamp{position:absolute;bottom:13px;color:#d5ad48;animation:symbolSpark 1.3s ease-in-out infinite alternate}
.lamp-left{left:22px}.lamp-right{right:22px;animation-delay:.5s}

.dancing-pair{
  position:absolute;left:20px;right:20px;top:46px;display:flex;justify-content:center;align-items:center;gap:10px;
  color:#31594e;font:600 28px/1 Georgia,serif
}
.dancing-pair i:first-child{animation:danceOne 2s ease-in-out infinite}
.dancing-pair i:last-child{animation:danceTwo 2s ease-in-out infinite}
.dancing-pair b{color:#b8772d;font-size:18px;animation:heartPulse 1.3s ease-in-out infinite}
.cs1{left:23px;top:15px}.cs2{right:25px;top:23px;animation-delay:.5s}.cs3{left:80px;top:6px;animation-delay:.9s}
.celebrate-line{position:absolute;left:48px;right:48px;bottom:23px;height:1px;background:linear-gradient(90deg,transparent,#c79b3f,transparent);animation:celebrateGlow 1.8s ease-in-out infinite alternate}

@keyframes ringMeetLeft{0%,100%{transform:translate(-8px,2px) rotate(-7deg)}50%{transform:translate(7px,-3px) rotate(2deg)}}
@keyframes ringMeetRight{0%,100%{transform:translate(8px,2px) rotate(7deg)}50%{transform:translate(-7px,-3px) rotate(-2deg)}}
@keyframes ringGlow{to{transform:scale(1.3);opacity:.25}}
@keyframes symbolSpark{to{opacity:.2;transform:scale(.65) rotate(25deg)}}
@keyframes pairFloat{50%{transform:translateY(-4px)}}
@keyframes heartPulse{50%{transform:scale(1.28)}}
@keyframes petalDrift{50%{transform:translateY(13px) rotate(25deg);opacity:.45}}
@keyframes danceOne{50%{transform:translate(-4px,-6px) rotate(-6deg)}}
@keyframes danceTwo{50%{transform:translate(4px,-6px) rotate(6deg)}}
@keyframes celebrateGlow{to{filter:drop-shadow(0 0 7px #d7ad4a);opacity:.35}}

/* Countdown: four circles; mobile stays a single row */
.countdown{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(9px,2vw,22px)!important;
}
.countdown>div{
  box-sizing:border-box!important;
  flex:0 0 clamp(92px,11vw,120px)!important;
  width:clamp(92px,11vw,120px)!important;
  height:clamp(92px,11vw,120px)!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
}

/* Invitation: warmer, guest-facing copy */
.warm-invite-copy,.warm-invite-highlight,.warm-invite-signoff{max-width:720px;margin-left:auto!important;margin-right:auto!important}
.warm-invite-copy{margin-top:14px!important}
.warm-invite-highlight{
  margin-top:14px!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(1.22rem,2vw,1.52rem)!important;
  line-height:1.45!important;
  color:#31594e!important;
}
.warm-invite-signoff{
  margin-top:13px!important;
  color:#9a6d20!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(1.12rem,1.8vw,1.35rem)!important;
  line-height:1.4!important;
  font-style:italic!important;
}

@media(max-width:700px){
  .luxury-name-lockup{font-size:clamp(3rem,14vw,4.8rem)!important}
  .countdown{gap:6px!important;width:100%!important}
  .countdown>div{
    flex:0 0 min(21vw,78px)!important;
    width:min(21vw,78px)!important;
    height:min(21vw,78px)!important;
    min-width:0!important;
  }
  .countdown>div strong{font-size:clamp(1.15rem,5vw,1.65rem)!important;line-height:1!important}
  .countdown>div span{font-size:clamp(.46rem,1.7vw,.6rem)!important;letter-spacing:.05em!important}
  .wedding-motion-symbol{width:156px;height:118px}
}
@media(prefers-reduced-motion:reduce){
  .wedding-motion-symbol *{animation:none!important}
}
