/* SECTIONS — hero, names/dates, venue cards, countdown, blessing, story, footer */

section{padding:112px 24px;min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;content-visibility:auto;contain-intrinsic-size:auto 800px}
#home{min-height:100vh;padding-top:150px;content-visibility:visible}
.kicker,.section-title{font-size:18px;font-weight:700;color:var(--gold);letter-spacing:.2em;text-transform:uppercase}
.section-heading{font:clamp(30px,5vw,52px) var(--font-display);margin:22px 0;color:var(--ink)}
.lead{max-width:860px;color:var(--soft);font-size:27px;line-height:1.55;margin:0}

/* ----- Names (pink gradient; colors in theme.css) ----- */
.names{font:var(--names-size)/1.12 var(--font-names);margin:28px 0 0;max-width:1100px}
.names.pink{background:linear-gradient(105deg,var(--pk-deep) 0%,var(--pk) 24%,var(--pk-light) 39%,var(--pk) 52%,var(--pk-light) 66%,var(--pk-deep) 82%,var(--pk) 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:var(--pk-outline-width) var(--pk-outline)}  /* outline keeps light pinks readable */
.pink .amp{color:inherit}
.amp{font:clamp(48px,7vw,78px) var(--font-script);color:var(--gold);margin:12px 0}
.amp.pink-amp{color:var(--pk-outline)}

/* ----- Shimmer: only runs while on screen (.live set by js/reveal.js) ----- */
.shine{animation:shimmer 6s linear infinite;animation-play-state:paused}
.shine.live{animation-play-state:running}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-100% 0}}

/* ----- Gold date + twinkling stars ----- */
.date{position:relative;width:max-content;max-width:92vw;margin:38px auto 0;font:600 clamp(34px,5.2vw,48px)/1.2 var(--font-display);letter-spacing:.06em;background:linear-gradient(110deg,#6f4a10 0%,#a8761e 25%,#d19a2e 40%,#8a5f17 55%,#c08a25 70%,#6f4a10 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#8a5f17;animation-duration:12s}
.date.sm{font-size:29px;margin-top:30px}
.star::before,.star::after{position:absolute;content:"✦";font-family:serif;-webkit-text-fill-color:#e7c56f;color:#e7c56f;line-height:1;pointer-events:none;animation:twinkle 3.6s ease-in-out infinite}
.star::before{font-size:23px;left:-25px;top:-7px}
.star::after{content:"✧";font-size:28px;right:-29px;bottom:-6px;animation-delay:1.8s}
@keyframes twinkle{0%,100%{opacity:.18;transform:scale(.6) rotate(0)}45%{opacity:1;transform:scale(1.2) rotate(18deg)}65%{opacity:.65;transform:scale(.9) rotate(-8deg)}}

/* ----- Reception notice (hero) ----- */
.reception-notice{display:inline-flex;flex-direction:column;gap:7px;margin:24px auto 0;padding:20px 30px;border:1px solid rgba(133,96,31,.5);border-radius:18px;background:var(--card);max-width:min(94vw,520px)}
.reception-notice strong{font:700 17px/1.4 var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.reception-notice span{font-size:21px;font-weight:600;letter-spacing:.05em;color:var(--ink)}
.reception-date{position:relative;display:block;margin-top:2px;font:600 clamp(27px,4.2vw,36px)/1.25 var(--font-display);letter-spacing:.07em;background:linear-gradient(100deg,#5b3f78 0%,#8a63ad 30%,#a77fc6 50%,#6e4a8f 75%,#5b3f78 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation-duration:12s}
.reception-date.star::before,.reception-date.star::after{color:#b99ad5;-webkit-text-fill-color:#b99ad5}
.reception-date.star::before{font-size:20px;left:-21px;top:0}
.reception-date.star::after{font-size:27px;right:-24px;bottom:0}
.tagline{margin-top:22px;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.scroll{margin-top:60px;color:var(--ink);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}
.scroll span{display:block;width:1px;height:42px;background:linear-gradient(var(--gold),transparent);margin:8px auto 0;animation:pulse 1.8s infinite}
@keyframes pulse{50%{opacity:.45}}

/* ----- Venue cards ----- */
.venue{max-width:680px;padding:48px 34px;border:1px solid var(--line);border-radius:32px;background:var(--card);margin-top:22px}
.venue h3{font:34px var(--font-display);margin:0}
.vdate{margin-top:12px;color:var(--soft);font-size:21px;font-weight:600;letter-spacing:.08em;line-height:1.6}
.vdate.g{font-weight:600;color:var(--gold)}
.pin{width:58px;height:58px;border-radius:50%;margin:0 auto 28px;display:grid;place-items:center;background:linear-gradient(135deg,var(--champagne),var(--gold));color:var(--ivory);position:relative}
.pin::before,.pin::after{content:"";position:absolute;inset:-9px;border:1px solid rgba(169,128,63,.35);border-radius:50%;animation:ring 2.6s ease-out infinite}
.pin::after{animation-delay:1.3s}
@keyframes ring{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.6);opacity:0}}
.mapbtn{display:inline-flex;margin-top:25px;padding:13px 26px;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#fff;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:18px}

/* ----- Countdown ----- */
.countdown{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:42px}
.timebox{width:132px;height:132px;border:1px solid var(--line);border-radius:18px;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center}
.timebox strong{font:54px var(--font-display);font-variant-numeric:tabular-nums}
.timebox span{font-size:17px;font-weight:700;color:var(--soft);letter-spacing:.14em;text-transform:uppercase;margin-top:7px}
.today{font:clamp(30px,5vw,52px) var(--font-display);color:var(--gold)}

/* ----- Blessing ----- */
.card{max-width:900px;padding:48px 30px;border:1px solid var(--line);background:var(--card);border-radius:32px}
.quote{max-width:760px;margin:28px auto 0;font-size:27px;font-style:italic;line-height:1.7;color:var(--soft)}
.verse{margin-top:20px;color:var(--gold);font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}

/* ----- Story ----- */
.story{width:100%;max-width:1100px;margin-top:75px;display:flex;flex-direction:column;gap:75px}
.chapter{max-width:880px;text-align:left;padding:30px 32px;border:1px solid var(--line);border-radius:28px;background:var(--card)}
.chapter.right{margin-left:auto;text-align:right}
.chapter .label{color:var(--gold);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.22em}
.chapter h3{font:36px var(--font-display);margin:10px 0}
.chapter .line{width:95px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:18px 0}
.chapter.right .line{margin-left:auto;transform:rotate(180deg)}
.chapter p{color:var(--ink);font-size:24px;line-height:1.7;margin:0;white-space:pre-line}

/* ----- Footer ----- */
footer{padding:80px 24px 110px;text-align:center;content-visibility:auto;contain-intrinsic-size:auto 400px}
.footer-names{font:var(--names-size-small) var(--font-names);margin-top:30px}
.footer-note{margin-top:20px;color:var(--soft);font-size:24px;max-width:560px;margin-inline:auto}
.footer-sign{font:43px var(--font-script);margin-top:28px}
