:root{
  --paper:#F7EAE7; --bg:#F7EAE7; --band:#FFF8F4; --card:#FFFDFB; --ink:#12363A; --muted:#5E6F70; --line:#E2CFC3;
  --teal:#0B6E73; --teal-deep:#083F44; --orange:#F29B1D; --gold:#C9993A; --gold-lt:#EBCB82; --live:#C62828;
  --serif:"Cormorant Garamond",Georgia,serif; --telugu:"Noto Serif Telugu","Cormorant Garamond",serif;
  --body:"Mukta",system-ui,-apple-system,"Segoe UI",sans-serif;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0D2528;--band:#112E32;--card:#163A3F;--ink:#F3E7DA;--muted:#A9C0BF;--line:#2C5256;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0D2528;--band:#112E32;--card:#163A3F;--ink:#F3E7DA;--muted:#A9C0BF;--line:#2C5256;color-scheme:dark}
*{box-sizing:border-box}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--body);text-align:center}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.15}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:820px;margin:0 auto;padding:0 22px}

/* ---- hero built from the PSD ---- */
.hero{background:var(--paper);color:#12363A}
.art-wrap{container-type:inline-size;background:var(--paper)}
.art{position:relative;overflow:hidden;height:max(70.27vw,506px);height:max(70.27cqw,506px)}
.stage{--sw:max(100cqw,720px);position:absolute;top:0;left:50%;width:var(--sw);aspect-ratio:3700/2600;transform:translateX(-50%)}
.stage img{display:block;width:100%;height:100%}
.stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9%;background:linear-gradient(rgba(247,234,231,0),var(--paper))}
.blessing{position:absolute;z-index:2;left:53%;top:18.6%;transform:translateX(-50%);white-space:nowrap;
  font:700 calc(var(--sw)*.0165)/1.4 var(--telugu);color:#fff;text-shadow:0 1px 8px rgba(5,60,64,.55);margin:0}
.intro{padding:6px 22px 64px;max-width:820px;margin:0 auto;position:relative}
.shubha{font:700 clamp(1.4rem,4.6vw,2rem) var(--telugu);color:var(--teal);margin:0}
.invite{font:italic 500 1.25rem var(--serif);color:var(--muted);margin:6px 0 0}
.names{font:italic 500 clamp(2.8rem,10vw,5.2rem) var(--serif);color:var(--teal-deep);margin:4px 0 8px}
.names em{color:var(--orange);font-style:italic;padding:0 .08em}
.when{font:600 1.6rem var(--serif);color:var(--teal)}
.venue{margin:4px 0 0;color:#3E5558}
.cd-label{font:italic 500 1.15rem var(--serif);color:var(--muted);margin:34px 0 10px}
.count{display:flex;justify-content:center;max-width:460px;margin:0 auto}
.count div{flex:1;padding:4px 0;border-left:1px solid var(--gold)}
.count div:first-child{border-left:0}
.count strong{display:block;font:600 2.7rem/1 var(--serif);color:var(--teal-deep)}
.count small{color:#3E5558}

section{padding:58px 0 50px}
section.alt{background:var(--band)}
section h2{font:italic 600 clamp(2rem,6vw,2.8rem) var(--serif);color:var(--teal)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) section h2{color:var(--gold-lt)}}
.sub{color:var(--muted);margin:6px 0 26px;min-height:1px}
.orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px auto 0;max-width:260px}
.orn::before,.orn::after{content:"";flex:1;height:5px;background:radial-gradient(circle,var(--gold) 0 1.6px,transparent 2px) 0 50%/10px 5px repeat-x}
.orn svg{width:20px;height:20px;fill:var(--orange)}

.arch{position:relative;aspect-ratio:16/9;max-width:760px;margin:0 auto;border-radius:200px 200px 14px 14px / 120px 120px 14px 14px;
  border:2px solid var(--gold);outline:1px solid var(--gold);outline-offset:6px;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 120%,#0E7F7A,var(--teal-deep) 68%)}
.arch::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(242,155,29,.35),transparent 55%);pointer-events:none}
.play{position:relative;z-index:2;width:76px;height:76px;border-radius:50%;border:2px solid #fff;background:var(--orange);cursor:pointer;display:grid;place-items:center}
.play svg{width:28px;height:28px;fill:#fff;margin-left:4px}
.status{position:absolute;z-index:3;top:12%;left:50%;transform:translateX(-50%);padding:2px 16px;border-radius:999px;font:600 .95rem var(--body);color:#fff;background:#6B7B7C;white-space:nowrap}
.status.live{background:var(--live)}
.status.live::before{content:"● "}
.status.upcoming{background:var(--teal)}
.caption{font:italic 600 1.8rem var(--serif);margin:26px 0 14px}
.btn{display:inline-block;border:0;cursor:pointer;font:600 1rem var(--body);padding:12px 30px;border-radius:999px;background:var(--orange);color:#2A1500;text-decoration:none}
.btn:hover{filter:brightness(1.06)}
.btn.alt{background:transparent;border:2px solid var(--teal);color:var(--teal)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.alt{border-color:var(--gold-lt);color:var(--gold-lt)}}

.wishes form{display:grid;gap:12px;max-width:500px;margin:0 auto 28px}
.wishes input,.wishes textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.wishes textarea{min-height:96px;resize:vertical}
.wall{display:grid;gap:14px;text-align:left;max-width:600px;margin:0 auto}
.wish{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:10px;padding:14px 20px}
.wish b{font:italic 600 1.3rem var(--serif);color:var(--teal)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wish b{color:var(--gold-lt)}}
.wish p{margin:2px 0 0}
.note{font-size:.9rem;color:var(--muted);margin-top:12px}
.venue-card{max-width:520px;margin:0 auto;background:var(--card);border:1px solid var(--line);outline:1px solid var(--line);outline-offset:5px;border-radius:12px;padding:30px 20px}
.venue-card p{margin:0 0 18px;font-size:1.1rem}
footer{background:var(--teal-deep);color:#F3E7DA;padding:30px 0 28px}
footer h3{font:italic 600 1.8rem var(--serif);color:var(--gold-lt)}
footer p{margin:2px 0}
footer small{opacity:.75}
@media (max-width:520px){.count strong{font-size:2.1rem}.arch{border-radius:120px 120px 12px 12px/80px 80px 12px 12px}}

.blessing-line{font:700 1.1rem var(--telugu);color:var(--teal);margin:0 0 4px}
.arch.playing{border-radius:14px;outline-offset:5px;background:#000}
.arch.playing::after{display:none}
.arch iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.soon{position:relative;z-index:2;color:#fff;font:italic 600 1.5rem var(--serif)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.msg{margin:0;min-height:1.4em;color:var(--teal);font-weight:600}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .msg{color:var(--gold-lt)}}
footer a{color:inherit}
a.play{text-decoration:none}

.hgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 28px;margin-top:30px}
.holder{margin:0;width:170px}
.hph{aspect-ratio:3/4;border-radius:999px 999px 12px 12px;border:2px solid var(--gold);outline:1px solid var(--gold);outline-offset:5px;overflow:hidden;background:linear-gradient(var(--teal),var(--teal-deep));display:grid;place-items:center}
.hph img{width:100%;height:100%;object-fit:cover;display:block}
.hph span{font:italic 600 3rem var(--serif);color:var(--gold-lt)}
.holder figcaption{margin-top:16px;line-height:1.3}
.holder b{display:block;font:italic 600 1.35rem var(--serif);color:var(--teal)}
.holder figcaption span{display:block;color:var(--muted);font-size:.95rem;margin-top:2px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .holder b{color:var(--gold-lt)}}
@media (max-width:520px){.holder{width:140px}}
