/* Brass Uruli */
:root {
  --water: #0d2b2f; --water-2: #1c4b4f; --brass: #c99b3f; --brass-hi: #f3d68a; --brass-dk: #7a5517; --rose: #f3c1c6; --sand: #f6efe4;
  --bg: var(--water); --ink: #f3ece0; --muted: rgba(243, 236, 224, .7); --accent: var(--brass-hi); --accent-ink: #2a1c05;
  --card: rgba(255, 255, 255, .05); --line: rgba(243, 214, 138, .25);
  --font-display: "Gilda Display", Georgia, serif; --font-body: "Mulish", system-ui, sans-serif; --font-script: "Gilda Display", serif;
  --font-label: "Mulish", system-ui, sans-serif; --font-ta: "Noto Sans Tamil", sans-serif; --radius: 999px;
  --brass-ring: conic-gradient(from 20deg, var(--brass-dk), var(--brass-hi), var(--brass), var(--brass-dk), var(--brass-hi), var(--brass), var(--brass-dk));
}
body { font-size: 17px; }
.sec h2 { color: var(--brass-hi); }
.sec h2 [lang="ta"] { font-family: var(--font-ta); font-weight: 600; font-size: .66em; }

/* ---------- floating things ---------- */
.ur-float { position: absolute; width: calc(64px * var(--s, 1)); height: auto; filter: drop-shadow(0 8px 6px rgba(0,0,0,.35)); animation: ur-drift var(--t, 15s) ease-in-out infinite alternate; transition: transform 1.8s cubic-bezier(.5, 0, .3, 1), opacity 1.4s; }
@keyframes ur-drift { 0% { rotate: -8deg; translate: 0 0; } 50% { translate: 10px -8px; } 100% { rotate: 12deg; translate: -8px 6px; } }
.ur-flame { transform-box: fill-box; transform-origin: 50% 100%; animation: flick 1.4s ease-in-out infinite; }
.ur-glow { animation: glow 2.4s ease-in-out infinite; }
@keyframes flick { 50% { transform: scale(.9, 1.1) skewX(4deg); } }
@keyframes glow { 50% { opacity: .6; } }

/* ---------- intro: the bowl ---------- */
.ur-intro { background: radial-gradient(circle at 50% 45%, #1b1206, #060504 70%); overflow: hidden; transition: opacity .9s ease 1.5s, visibility 0s linear 2.4s; }
.ur-bowl { position: absolute; left: 50%; top: 50%; width: min(150vw, 150vh); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: var(--brass-ring); padding: 3.2%;
  box-shadow: 0 0 0 6px #3a2508, 0 40px 120px rgba(0,0,0,.8); }
.ur-water { position: relative; width: 100%; height: 100%; border-radius: 50%; overflow: hidden;
  background: radial-gradient(circle at 40% 35%, #2f6f72, var(--water-2) 40%, var(--water) 75%); box-shadow: inset 0 0 60px rgba(0,0,0,.6), inset 0 0 0 10px rgba(122,85,23,.6); }
.ur-ripple { position: absolute; left: 50%; top: 50%; width: 20%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); transform: translate(-50%, -50%) scale(.2); animation: ripple 6s ease-out infinite; }
.ur-ripple.r2 { animation-delay: 2s; } .ur-ripple.r3 { animation-delay: 4s; }
@keyframes ripple { to { transform: translate(-50%, -50%) scale(5); opacity: 0; } }
.ur-bowl .ur-float { position: absolute; }
.ur-cover { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; transition: opacity .6s; }
.ur-kicker { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--brass-hi); }
.ur-kicker [lang="ta"] { font-size: 14px; letter-spacing: 0; }
.ur-title { font-family: var(--font-display); font-size: clamp(44px, 10vw, 76px); line-height: 1.05; margin: 8px 0; text-shadow: 0 4px 24px rgba(0,0,0,.6); }
.ur-title [lang="ta"] { font-family: var(--font-ta); font-weight: 600; font-size: .55em; line-height: 1.5; }
.ur-names { color: var(--rose); font-size: 20px; margin-bottom: 24px; }
.ur-cta { background: var(--brass-ring); color: var(--accent-ink); font-weight: 700; box-shadow: 0 0 0 1px var(--brass-hi) inset, 0 14px 30px -12px rgba(0,0,0,.7); }
.ur-lang { margin-top: 12px; background: rgba(0,0,0,.35); color: var(--brass-hi); border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px; font-size: 14px; }
html.intro-opening .ur-cover { opacity: 0; }
html.intro-opening .ur-bowl .ur-float { transform: translate(var(--dx), var(--dy)); opacity: 0; }
html.intro-opening .ur-ripple { animation: ripple 1.6s ease-out forwards; }
html.intro-opening .ur-intro { opacity: 0; visibility: hidden; }

/* ---------- hero ---------- */
.ur-hero { position: relative; min-height: 100svh; display: grid; place-items: center; overflow: hidden;
  background: radial-gradient(ellipse 60% 40% at 30% 30%, rgba(80,160,160,.25), transparent 70%), radial-gradient(ellipse 50% 40% at 75% 70%, rgba(80,160,160,.18), transparent 70%), var(--water);
  background-size: 160% 160%, 140% 140%, auto; animation: caustic 18s ease-in-out infinite alternate; }
@keyframes caustic { to { background-position: 100% 60%, 0% 30%, 0 0; } }
.ur-hero .ur-float { position: absolute; opacity: .9; }
.ur-hero-body { position: relative; text-align: center; padding: 80px var(--gutter); max-width: 760px; }
.ur-hero .eyebrow { color: var(--brass-hi); }
.ur-lead { color: var(--muted); max-width: 460px; margin: 12px auto 34px; }
.ur-hero .name { font-size: clamp(56px, 13vw, 108px); background: linear-gradient(180deg, var(--brass-hi), var(--brass) 60%, var(--brass-dk)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ur-hero .name [lang="ta"] { font-family: var(--font-ta); font-weight: 600; font-size: .5em; line-height: 1.7; display: inline-block; }
.ur-hero .weds { color: var(--rose); font-family: var(--font-display); font-size: 26px; font-style: italic; margin: 8px 0; }
.ur-hero .weds [lang="ta"] { font-family: var(--font-ta); font-size: 16px; font-style: normal; }
.ur-date { margin-top: 30px; padding: 12px 26px; border-radius: 999px; border: 1px solid var(--brass); color: var(--brass-hi); letter-spacing: .14em; text-transform: uppercase; font-size: 15px; }
.ur-date [lang="ta"] { letter-spacing: 0; }

/* ---------- sections ---------- */
.ur-deep { background: var(--water); }
.ur-light { background: var(--sand); color: #23302f; --ink: #23302f; --muted: #5f6d6a; --accent: #8a5a17; --accent-ink: #fff; --line: rgba(122,85,23,.2); --card: #fffaf2; }
.ur-light .sec h2 { color: #6a4610; }
.scratch { --foil-1: #7a5517; --foil-2: #f3d68a; --foil-3: #a07a2c; --burst: #f3c1c6, #f6b23c, #c99b3f, #fff; border-radius: 30px; background: var(--card); border: 1px solid var(--line); }
.event { background: var(--card); border-radius: 28px; padding: 22px; border: 1px solid var(--line); }
.event-date { width: 86px; height: 86px; border-radius: 50%; background: var(--brass-ring); padding: 5px; }
.event-date > span, .event-date > small { display: none; }
.event-date b { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: var(--water); color: var(--brass-hi); font-size: 34px; }
.ur-light .event-date b { background: var(--sand); color: #6a4610; }
.cd-cell { border-radius: 50%; aspect-ratio: 1; display: grid; place-content: center; padding: 0; background: radial-gradient(circle, var(--water-2) 58%, transparent 60%), var(--brass-ring); }
.cd-cell b { color: var(--brass-hi); font-size: clamp(26px, 7vw, 46px); }
.cd-cell small { color: var(--rose); font-size: 9.5px; margin-top: 4px; }
.venue, .note { background: var(--card); border-radius: 30px; border: 1px solid var(--line); padding: clamp(28px, 6vw, 48px) 20px; }
.signature { font-family: var(--font-display); color: var(--accent); font-style: italic; }
.foot-names { color: var(--brass-hi); }
@media (max-width: 560px) {
  .event { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}
