/* Kanjeevaram Silk */
:root {
  --magenta: #a3195b; --wine: #4a0a2f; --peacock: #0f5c63; --zari: #e8b64c; --zari-dk: #a8781f; --ivory-silk: #fbf2e4;
  --bg: var(--wine); --ink: #fbeedd; --muted: rgba(251, 238, 221, .72); --accent: var(--zari); --accent-ink: #3a0724;
  --card: rgba(255, 255, 255, .04); --line: rgba(232, 182, 76, .35);
  --font-display: "Yeseva One", Georgia, serif; --font-body: "Lora", Georgia, serif; --font-script: "Yeseva One", serif;
  --font-label: "Tenor Sans", system-ui, sans-serif; --font-ta: "Noto Serif Tamil", serif; --radius: 4px;
  --silk: linear-gradient(100deg, #7a0f45 0%, #b21d66 22%, #8c1350 40%, #c42a73 58%, #8c1350 78%, #6d0c3e 100%);
  --teeth: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='12'%3E%3Cpath d='M0 12L11 0l11 12z' fill='%23e8b64c'/%3E%3Cpath d='M5 12l6-6.5 6 6.5z' fill='%230f5c63'/%3E%3C/svg%3E");
}
body { font-size: 18px; }

/* zari band: teeth / gold weave / mangai / gold weave / teeth */
.kj-band { position: relative; background: var(--peacock); padding: 0; }
.kj-band > * { display: block; }
.kj-teeth { height: 12px; background: var(--teeth) repeat-x; background-size: 22px 12px; }
.kj-teeth.kj-down { transform: scaleY(-1); }
.kj-zari { height: 6px; background: repeating-linear-gradient(90deg, var(--zari) 0 3px, var(--zari-dk) 3px 4px, #fff3c8 4px 5px); }
.kj-mangai { width: 100%; height: 30px; background: var(--peacock); }

/* ---------- intro: pleats fold away ---------- */
.kj-intro { background: var(--wine); perspective: 1600px; overflow: hidden; transition: opacity .8s ease 1.4s, visibility 0s linear 2.3s; }
.kj-pleats { position: absolute; inset: 0; display: flex; }
.kj-pleat { flex: 1; background: var(--silk); background-size: 100% 100%; box-shadow: inset -14px 0 24px -12px rgba(0,0,0,.45), inset 10px 0 18px -14px rgba(255,255,255,.25);
  transform-origin: center; transition: transform 1.2s cubic-bezier(.7, 0, .3, 1) calc(var(--i) * 90ms), opacity 1s ease calc(.3s + var(--i) * 90ms); }
.kj-pleat:nth-child(odd) { filter: brightness(.9); }
.kj-pleat::after { content: ""; display: block; height: 100%; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.18) 48%, transparent 62%); background-size: 300% 100%; animation: sheen 5s ease-in-out infinite; }
@keyframes sheen { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
.kj-cover-band { position: absolute; left: 0; right: 0; z-index: 2; transition: transform 1.2s cubic-bezier(.7, 0, .3, 1); }
.kj-top { top: 0; } .kj-bottom { bottom: 0; }
.kj-cover { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; transition: opacity .6s, transform .8s; }
.kj-medallion { width: 150px; height: 150px; border-radius: 50%; display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 22px;
  background: radial-gradient(circle, var(--wine) 54%, transparent 55%), repeating-conic-gradient(var(--zari) 0 6deg, var(--zari-dk) 6deg 12deg);
  box-shadow: 0 0 0 4px var(--peacock), 0 0 0 6px var(--zari), 0 20px 40px rgba(0,0,0,.5);
  font-family: var(--font-display); font-size: 38px; color: var(--zari); }
.kj-medallion i { width: 1px; height: 40px; background: var(--zari); transform: rotate(18deg); }
.kj-kicker { font-family: var(--font-label); font-size: 13px; letter-spacing: .3em; text-transform: uppercase; color: #fbe3b0; }
.kj-kicker [lang="ta"], .kj-title [lang="ta"] { letter-spacing: 0; }
.kj-title { font-family: var(--font-display); font-size: clamp(42px, 9vw, 76px); line-height: 1.05; margin: 8px 0 26px; color: #fff4dc; text-shadow: 0 3px 24px rgba(0,0,0,.4); }
.kj-title [lang="ta"] { font-size: .55em; line-height: 1.5; }
.kj-cta { background: linear-gradient(180deg, #f7d983, var(--zari) 50%, var(--zari-dk)); color: var(--accent-ink); font-weight: 600; box-shadow: 0 0 0 1px #fff3c8 inset, 0 14px 28px -12px rgba(0,0,0,.6); }
.kj-lang { margin-top: 16px; background: rgba(0,0,0,.25); border: 1px solid var(--line); color: #fbe3b0; border-radius: 999px; padding: 7px 14px; font-size: 14px; }
html.intro-opening .kj-cover { opacity: 0; transform: scale(.94); }
html.intro-opening .kj-pleat { transform: rotateY(90deg) scaleY(1.1); opacity: 0; }
html.intro-opening .kj-top { transform: translateY(-100%); }
html.intro-opening .kj-bottom { transform: translateY(100%); }
html.intro-opening .kj-intro { opacity: 0; visibility: hidden; }

/* ---------- hero ---------- */
.kj-hero { min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; background: var(--silk); background-size: 220% 100%; animation: sheen 14s ease-in-out infinite; }
.kj-hero-body { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 64px var(--gutter); }
.kj-hero .eyebrow { color: #fbe3b0; }
.kj-lead { font-style: italic; color: rgba(255, 240, 220, .85); max-width: 520px; margin: 14px auto 34px; }
.kj-hero .name { font-size: clamp(56px, 13vw, 112px); background: linear-gradient(180deg, #fff3c8, var(--zari) 55%, var(--zari-dk)); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 3px 10px rgba(0,0,0,.35)); }
.kj-hero .name [lang="ta"] { font-family: var(--font-ta); font-weight: 600; font-size: .5em; line-height: 1.7; display: inline-block; }
.kj-hero .parents { color: rgba(255, 240, 220, .8); }
.kj-hero .weds { font-family: var(--font-label); text-transform: uppercase; letter-spacing: .5em; font-size: 13px; color: #fbe3b0; margin: 14px 0; }
.kj-hero .weds [lang="ta"] { letter-spacing: .1em; font-size: 15px; }
.kj-date { margin-top: 30px; font-family: var(--font-label); letter-spacing: .3em; text-transform: uppercase; color: #fff4dc; padding: 10px 22px; border: 1px solid var(--zari); outline: 1px solid var(--zari); outline-offset: 4px; }
.kj-date [lang="ta"] { letter-spacing: .02em; }

/* ---------- panels ---------- */
.kj-panel { position: relative; }
.kj-wine { background: radial-gradient(ellipse at 50% 0%, #6a1042, var(--wine) 70%); }
.kj-ivory { --ink: #3a0724; --muted: #7a4a5c; --card: #fffaf1; --line: rgba(163, 25, 91, .22); --accent: var(--magenta); --accent-ink: #fff;
  color: var(--ink); background: var(--ivory-silk) repeating-linear-gradient(90deg, transparent 0 3px, rgba(163, 25, 91, .025) 3px 4px); }
.kj-ivory .sec h2 { color: var(--magenta); }
.kj-wine .sec h2 { color: #fbe3b0; }
.scratch { --foil-1: #a8781f; --foil-2: #f7d983; --foil-3: #8a5f12; --burst: #e8b64c, #a3195b, #0f5c63, #fff3c8; background: #fffaf1; border: 3px double var(--magenta); }
.kj-ivory .event { background: var(--card); border-left: 4px solid var(--magenta); border-radius: 2px; padding: 20px 22px; box-shadow: 0 16px 30px -24px rgba(74, 10, 47, .6); }
.kj-ivory .event.is-main { border-left-color: var(--peacock); }
.event-date b { color: var(--accent); }
.kj-wine .event { border: 1px solid var(--line); padding: 20px; }
.cd-cell { border: 1px solid var(--zari); background: rgba(0,0,0,.18); border-radius: 0; box-shadow: inset 0 0 0 4px rgba(232,182,76,.15); }
.cd-cell b { color: #fbe3b0; }
.venue { background: var(--card); padding: 34px 20px; border-top: 6px solid var(--peacock); }
.note { border: 1px solid var(--line); padding: clamp(28px, 6vw, 52px); background: var(--card); }
.signature { font-family: var(--font-display); color: var(--accent); }
.foot-names { color: var(--zari); }
.muhurtham, .mh-item { --card: transparent; }
.kj-wine .mh-item { background: rgba(0,0,0,.18); }

@media (max-width: 560px) {
  .event { grid-template-columns: 1fr; text-align: center; }
  .event-date { display: flex; gap: 10px; justify-content: center; align-items: baseline; }
  .kj-medallion { width: 120px; height: 120px; font-size: 30px; }
}

.scratch { color: #3a0724; --muted: #7a4a5c; }
.scratch .dcell b { color: var(--magenta); }
