/* Lotus Pond */
:root {
  --blush: #fdf1f2; --petal: #d9718a; --petal-dk: #b4475f; --sage: #5b8c7a; --slate: #2f3e46; --pollen: #f2c94c;
  --bg: var(--blush); --ink: var(--slate); --muted: #6b7b80; --accent: var(--petal-dk); --accent-ink: #fff;
  --card: #fffafa; --line: rgba(180, 71, 95, .18);
  --font-display: "Italiana", Georgia, serif; --font-body: "Quattrocento Sans", system-ui, sans-serif; --font-script: "Italiana", serif;
  --font-label: "Quattrocento Sans", system-ui, sans-serif; --font-ta: "Pavanam", sans-serif; --radius: 24px;
}
body { font-size: 17.5px; background: linear-gradient(180deg, var(--blush), #f7e8ea 60%, #eef4f0); background-attachment: fixed; }
.sec h2 { color: var(--petal-dk); letter-spacing: .02em; }
.sec h2 [lang="ta"] { font-family: var(--font-ta); font-size: .66em; }
.eyebrow { color: var(--sage); letter-spacing: .3em; }

/* ---------- lotus petals ---------- */
.lt-petal { transform-box: fill-box; transform-origin: 50% 100%; transform: rotate(var(--o)); }
.lt-bud .lt-petal { transform: rotate(var(--c)) scaleX(.82); transition: transform 1.3s cubic-bezier(.3, .7, .2, 1) var(--d); }
.lt-heart { transition: opacity .8s ease .9s; }
.lt-bud .lt-heart { opacity: 0; }
html.intro-opening .lt-bud .lt-petal { transform: rotate(var(--o)); }
html.intro-opening .lt-bud .lt-heart { opacity: 1; }

/* ---------- intro: the pond ---------- */
.lt-intro { background: linear-gradient(180deg, #fbe9ec 0%, #f6dfe3 45%, #cfe2d9 46%, #b7d3c6 100%); overflow: hidden; transition: opacity .9s ease 1.7s, visibility 0s linear 2.6s; }
.lt-pond { position: absolute; inset: 0; }
.lt-pond::before { content: ""; position: absolute; left: 0; right: 0; top: 46%; bottom: 0; background: repeating-linear-gradient(0deg, transparent 0 14px, rgba(255,255,255,.25) 14px 15px); animation: lt-shimmer 6s ease-in-out infinite; }
@keyframes lt-shimmer { 50% { opacity: .5; transform: translateY(3px); } }
.lt-pad { position: absolute; max-width: none; opacity: .9; transform: rotate(var(--r)); filter: drop-shadow(0 4px 4px rgba(47,62,70,.2)); animation: lt-bob 7s ease-in-out infinite; }
@keyframes lt-bob { 50% { translate: 0 4px; } }
.lt-bud { position: absolute; left: 50%; top: 46%; width: min(96vw, 480px); transform: translate(-50%, -78%); filter: drop-shadow(0 10px 18px rgba(180,71,95,.25)); transition: transform 1.4s ease 1s, opacity .8s ease 1.4s; }
.lt-cover { position: absolute; left: 0; right: 0; bottom: 0; text-align: center; padding: 0 24px max(6vh, 36px); transition: opacity .5s; }
.lt-kicker { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--sage); }
.lt-kicker [lang="ta"] { font-family: var(--font-ta); letter-spacing: 0; font-size: 14px; }
.lt-title { font-family: var(--font-display); font-size: clamp(44px, 11vw, 74px); color: var(--slate); line-height: 1.05; margin: 6px 0; }
.lt-title [lang="ta"] { font-family: var(--font-ta); font-size: .55em; line-height: 1.5; }
.lt-names { font-family: var(--font-display); font-size: 24px; color: var(--petal-dk); margin-bottom: 20px; }
.lt-cta { background: var(--petal-dk); color: #fff; }
.lt-lang { margin-top: 12px; background: rgba(255,255,255,.6); color: var(--slate); border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px; font-size: 14px; }
html.intro-opening .lt-cover { opacity: 0; }
html.intro-opening .lt-bud { transform: translate(-50%, -78%) scale(1.25); }
html.intro-opening .lt-intro { opacity: 0; visibility: hidden; }

/* ---------- hero ---------- */
.lt-hero { min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px var(--gutter) 70px; }
.lt-open { width: min(78vw, 320px); margin-bottom: 18px; }
.lt-lead { color: var(--muted); max-width: 460px; margin: 12px auto 30px; }
.lt-hero .name { font-size: clamp(58px, 14vw, 116px); color: var(--slate); letter-spacing: .02em; }
.lt-hero .name [lang="ta"] { font-family: var(--font-ta); font-size: .5em; line-height: 1.7; display: inline-block; }
.lt-hero .weds { font-family: var(--font-display); color: var(--petal-dk); font-size: 30px; }
.lt-hero .weds [lang="ta"] { font-family: var(--font-ta); font-size: 17px; }
.lt-date { margin-top: 26px; letter-spacing: .22em; text-transform: uppercase; font-size: 14px; color: var(--sage); }
.lt-date [lang="ta"] { letter-spacing: 0; }

/* ---------- sections ---------- */
.sec-head::after { content: ""; display: block; width: 36px; height: 18px; margin: 14px auto 0; background: radial-gradient(ellipse at 50% 100%, var(--petal) 0 40%, transparent 42%), radial-gradient(ellipse at 20% 100%, #f0a8b8 0 30%, transparent 32%), radial-gradient(ellipse at 80% 100%, #f0a8b8 0 30%, transparent 32%); }
.scratch { --foil-1: #e3a1b1; --foil-2: #fde3e8; --foil-3: #c97b8f; --foil-label: "Brush the petals"; --burst: #d9718a, #f0a8b8, #f2c94c, #5b8c7a; background: var(--card); border-radius: 30px; box-shadow: 0 24px 50px -30px rgba(180,71,95,.5); }
.event { background: var(--card); border-radius: 26px; padding: 22px; box-shadow: 0 18px 36px -28px rgba(47,62,70,.45); }
.event-date b { color: var(--petal-dk); font-family: var(--font-display); }
.lt-water { background: linear-gradient(180deg, #cfe2d9, #b7d3c6); }
.cd-cell { background: conic-gradient(from 80deg, transparent 0 14deg, #4c7c68 14deg); border-radius: 50%; aspect-ratio: 1; display: grid; place-content: center; padding: 0; box-shadow: 0 6px 10px -6px rgba(47,62,70,.4); }
.cd-cell b { color: #fff; font-family: var(--font-display); font-size: clamp(30px, 8vw, 54px); }
.cd-cell small { color: #eaf3ee; font-size: 9.5px; }
.venue, .note { background: var(--card); border-radius: 30px; padding: clamp(28px, 6vw, 48px) 20px; box-shadow: 0 24px 50px -36px rgba(180,71,95,.5); }
.signature { font-family: var(--font-display); color: var(--petal-dk); }
.foot-names { font-family: var(--font-display); color: var(--petal-dk); }
@media (max-width: 560px) {
  .event { grid-template-columns: 1fr; text-align: center; }
  .event-date { display: flex; gap: 10px; justify-content: center; align-items: baseline; }
}
