/* ============================================================
   Haldi Sunrise — Haldi
   Sun-rise intro over a marigold field · giant sun disc hero ·
   bright morning narrative · sun-arc events · square tiles with
   thick yellow borders · sun-ray dial countdown (one row) ·
   bright static RSVP card with a sun header
   ============================================================ */
@font-face{font-family:'Cormorant Garamond';src:url('../../fonts/cormorant-garamond-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('../../fonts/cormorant-garamond-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('../../fonts/cormorant-garamond-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('../../fonts/cormorant-garamond-italic-500.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Great Vibes';src:url('../../fonts/great-vibes-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('../../fonts/jost-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('../../fonts/jost-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('../../fonts/jost-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Mukta';src:url('../../fonts/mukta-devanagari-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Mukta';src:url('../../fonts/mukta-devanagari-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Mukta';src:url('../../fonts/mukta-devanagari-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  --sun:#f6b73c; --sun-deep:#e8940f; --marigold:#f08c00; --turmeric:#d99a06;
  --yellow:#ffd94d; --yellow-soft:#fff3c4; --cream:#fffaf0; --paper:#fffdf6;
  --ink:#5b3a08; --ink-deep:#3d2703; --ink-soft:#8a6a2f; --leaf:#7a9a3d;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.hsr-locked{overflow:hidden}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
.dev{font-family:'Mukta',sans-serif}
.hsr-script{font-family:'Great Vibes',cursive;font-size:2.1rem;color:var(--sun-deep);line-height:1.15}
.hsr-body-serif{font-family:'Cormorant Garamond',serif;font-size:1.22rem;line-height:1.65;color:var(--ink)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.hsr-arc-card.reveal{transform:translateY(calc(var(--arc-y,0px) + 22px))}
.hsr-arc-card.reveal.in{transform:translateY(var(--arc-y,0px))}
@media (prefers-reduced-motion: reduce){.reveal{transition:none;opacity:1;transform:none}.hsr-arc-card.reveal{transform:translateY(var(--arc-y,0px))}html{scroll-behavior:auto}}

/* Music */
.floating-music{position:fixed;right:16px;bottom:16px;z-index:60;width:48px;height:48px;border-radius:50%;border:1px solid var(--sun-deep);background:#fff8e1;color:var(--sun-deep);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(61,39,3,.28)}
.floating-music svg{width:22px;height:22px}
.floating-music.playing{color:#fff;background:var(--sun-deep)}

/* ---------- INTRO — SUNRISE STAGE ---------- */
.hsr-intro{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fdeec2}
.hsr-intro-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hsr-intro-shade{position:absolute;inset:0;background:linear-gradient(rgba(255,246,214,.35),rgba(255,236,178,.72))}
.hsr-intro-inner{position:relative;z-index:2;text-align:center;padding:clamp(36px,6vw,64px) 20px;max-width:640px;width:100%}
.hsr-invoke{color:var(--ink-deep);font-size:1.1rem;letter-spacing:.1em;margin-bottom:20px;text-shadow:0 1px 8px rgba(255,255,255,.7)}
.hsr-sunrise-stage{position:relative;height:308px;max-width:520px;margin:0 auto;overflow:hidden;border-radius:18px;background:linear-gradient(#ffe9a8,#ffd873 58%,#f7b733 59%,#e8940f);box-shadow:inset 0 0 0 2px rgba(232,148,15,.5),0 16px 36px rgba(61,39,3,.22)}
.hsr-sun{position:absolute;left:50%;top:58%;width:172px;height:172px;margin-left:-86px;cursor:pointer;transition:top 1.6s cubic-bezier(.3,.7,.3,1);z-index:2}
.hsr-sun::before{content:'';position:absolute;inset:-34px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,176,32,.85) 0deg 7deg,transparent 7deg 30deg);-webkit-mask:radial-gradient(circle,transparent 56%,#000 57%);mask:radial-gradient(circle,transparent 56%,#000 57%);opacity:.35;transition:opacity 1s ease .5s}
.hsr-intro.risen .hsr-sun{top:5%}
.hsr-intro.risen .hsr-sun::before{opacity:1}
.hsr-sun-core{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff3b0,#ffd94d 45%,#f6b73c 78%,#e8940f);box-shadow:0 0 44px rgba(255,183,28,.75),inset 0 0 0 3px rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center}
.hsr-sun-mono{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:2rem;color:var(--ink-deep)}
.hsr-sun-mono i{font-family:'Great Vibes',cursive;font-style:normal;font-size:1.45rem;color:#a35c00;margin:0 3px}
.hsr-field-strip{position:absolute;left:0;right:0;bottom:0;height:64px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;padding:0 10px 8px;background:linear-gradient(transparent,#c96a00 30%)}
.hsr-bloom{width:17px;height:17px;border-radius:50% 50% 50% 4px;transform:rotate(45deg);flex:none}
.hsr-bloom.b0{background:#ffcf3f}.hsr-bloom.b1{background:#ff9d1c}.hsr-bloom.b2{background:#ffe066}
.hsr-bloom:nth-child(even){margin-bottom:12px}
.hsr-bloom:nth-child(3n){margin-bottom:22px}
.hsr-rise-btn{margin-top:26px;background:var(--sun-deep);color:#fff;border:none;padding:13px 34px;border-radius:999px;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;box-shadow:0 8px 22px rgba(61,39,3,.3)}
.hsr-rise-btn:hover{background:var(--marigold)}
.hsr-intro.risen .hsr-rise-btn{display:none}
.hsr-reveal-names{opacity:0;transition:opacity .8s ease .5s;margin-top:24px}
.hsr-intro.risen .hsr-reveal-names{opacity:1}
.hsr-eyebrow{color:#a35c00;letter-spacing:.34em;font-size:.72rem;margin-bottom:8px}
.hsr-names-line{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,5.4vw,2.5rem);color:var(--ink-deep);font-weight:700}
.hsr-names-line span{font-family:'Great Vibes',cursive;color:var(--sun-deep);font-weight:400}
.hsr-scroll{display:none;margin:20px auto 0;color:var(--ink-deep);text-decoration:none;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:6px;justify-content:center}
.hsr-scroll svg{width:16px;height:16px}
.hsr-intro.risen .hsr-scroll{display:inline-flex}

/* ---------- HERO — GIANT SUN DISC ---------- */
.hsr-hero{position:relative;text-align:center;padding:clamp(48px,8vw,92px) 20px clamp(40px,7vw,76px);background:linear-gradient(#fff6d8,var(--cream));overflow:hidden}
.hsr-hero-sun{position:absolute;left:50%;top:44%;width:min(560px,118vw);aspect-ratio:1;transform:translate(-50%,-50%);z-index:0;pointer-events:none}
.hsr-hero-sun::before{content:'';position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(246,183,60,.5) 0deg 6deg,transparent 6deg 24deg);-webkit-mask:radial-gradient(circle,transparent 55%,#000 56%);mask:radial-gradient(circle,transparent 55%,#000 56%)}
.hsr-hero-sun-core{position:absolute;inset:19%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff6bd,#ffe066 48%,#f6b73c 82%,#eda117);box-shadow:0 0 60px rgba(246,183,60,.55)}
.hsr-hero-inner{position:relative;z-index:1;max-width:760px;margin:0 auto}
.hsr-hero-eyebrow{letter-spacing:.32em;font-size:.74rem;color:#a35c00;text-transform:uppercase}
.hsr-hero-kicker{font-family:'Great Vibes',cursive;font-size:clamp(1.4rem,4vw,1.9rem);color:var(--sun-deep);margin-top:14px}
.hsr-hero-names{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(2.2rem,7.4vw,3.6rem);color:var(--ink-deep);line-height:1.1;display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:8px;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.hsr-amp{font-family:'Great Vibes',cursive;font-weight:400;font-size:.7em;color:#b96e00}
.hsr-hero-parents{margin-top:16px;color:var(--ink);font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic}
.hsr-hero-date{margin-top:16px;letter-spacing:.22em;color:#a35c00;font-weight:500}
.hsr-hero-venue{margin-top:6px;color:var(--ink);letter-spacing:.05em}
.hsr-hero-photo{margin:28px auto 0;width:min(430px,86vw);border:6px solid var(--yellow);border-radius:16px;overflow:hidden;box-shadow:0 14px 32px rgba(61,39,3,.22);background:#fff}
.hsr-hero-photo img{width:100%;height:250px;object-fit:cover}

/* ---------- SCRATCH ---------- */
.hsr-scratch{text-align:center;padding:clamp(40px,7vw,76px) 20px}
.hsr-scratch-sub{letter-spacing:.3em;font-size:.72rem;text-transform:uppercase;color:var(--sun-deep);margin:6px 0 20px}
.hsr-scratch-wrap{position:relative;width:min(340px,90vw);height:200px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(61,39,3,.22);border:2px solid var(--sun);background:var(--paper)}
.hsr-scratch-under{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px}
.hsr-scratch-label{letter-spacing:.3em;font-size:.68rem;text-transform:uppercase;color:var(--marigold)}
.hsr-scratch-date{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:700;color:var(--ink-deep);text-align:center}
.hsr-scratch-venue{color:var(--ink-soft)}
.hsr-scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .6s ease}
.hsr-scratch-canvas.cleared{opacity:0;pointer-events:none}
.hsr-scratch-hint{margin-top:14px;color:var(--ink-soft);font-size:.85rem}

/* ---------- CHAPTERS ---------- */
.hsr-chapter{padding:clamp(40px,7vw,76px) 20px;max-width:1060px;margin:0 auto}
.hsr-ch-head{text-align:center;margin-bottom:30px}
.hsr-ch-num{letter-spacing:.3em;font-size:.7rem;text-transform:uppercase;color:var(--marigold)}
.hsr-ch-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,5.6vw,2.7rem);font-weight:700;color:var(--ink-deep);margin:6px 0 2px}
.hsr-ch-dev{color:var(--turmeric);font-size:1rem}
.hsr-welcome{max-width:680px;margin:0 auto;text-align:center}
.hsr-thali-fig{margin-top:24px;border-radius:18px;overflow:hidden;border:5px solid var(--yellow);box-shadow:0 12px 30px rgba(61,39,3,.18)}
.hsr-thali-fig img{width:100%;height:auto}

/* Countdown — sun-ray dials, ONE row */
.hsr-dials{display:flex;flex-wrap:nowrap;gap:clamp(8px,2.4vw,20px);justify-content:center;max-width:580px;margin:38px auto 0}
.hsr-dial-unit{flex:1 1 0;max-width:128px;text-align:center}
.hsr-dial{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,104px);aspect-ratio:1;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 40% 34%,#fff3b0,#ffd94d 52%,#f0a51a);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),0 8px 18px rgba(61,39,3,.16)}
.hsr-dial::before{content:'';position:absolute;inset:-11px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(232,148,15,.9) 0deg 8deg,transparent 8deg 45deg);-webkit-mask:radial-gradient(circle,transparent 63%,#000 64%);mask:radial-gradient(circle,transparent 63%,#000 64%);z-index:-1}
.hsr-dial-unit{position:relative;z-index:0}
.hsr-dial-num{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(1.3rem,5.6vw,2rem);color:var(--ink-deep);line-height:1}
.hsr-dial-lab{display:block;font-size:clamp(.56rem,2.4vw,.72rem);letter-spacing:.18em;text-transform:uppercase;color:#a35c00;margin-top:12px;font-weight:500}
.hsr-count-note{text-align:center;margin-top:14px;font-family:'Great Vibes',cursive;font-size:1.35rem;color:var(--sun-deep)}

/* ---------- SUN-ARC EVENTS ---------- */
.hsr-chapter-arc{max-width:none;background:linear-gradient(#fff3c4,var(--cream))}
.hsr-chapter-arc>*{max-width:1060px;margin-left:auto;margin-right:auto}
.hsr-arc-group{text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.22rem;color:#a35c00;margin:28px 0 6px}
.hsr-arc-wrap{position:relative;padding:52px 4px 54px}
.hsr-arc-line{position:absolute;top:2px;left:2%;width:96%;height:64px;color:var(--sun-deep);opacity:.65;z-index:0}
.hsr-arc{position:relative;z-index:1;display:flex;gap:16px;align-items:flex-start}
.hsr-arc-card{flex:1 1 0;min-width:0;background:var(--paper);border:2px solid var(--yellow);border-top:6px solid var(--sun);border-radius:14px;padding:16px 16px 18px;box-shadow:0 10px 22px rgba(61,39,3,.12);transform:translateY(var(--arc-y,0px))}
.hsr-arc-sun-dot{display:block;width:16px;height:16px;margin-bottom:10px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff3b0,#f6b73c 70%,#e8940f);box-shadow:0 0 0 4px var(--yellow-soft)}
.hsr-arc-card h4{font-family:'Cormorant Garamond',serif;font-size:1.28rem;font-weight:700;color:var(--ink-deep);overflow-wrap:break-word}
.hsr-card-when{color:#a35c00;font-weight:500;letter-spacing:.04em;margin-top:4px}
.hsr-card-loc{color:var(--ink-soft);margin-top:2px}
.hsr-card-desc{color:var(--ink-soft);margin-top:6px;line-height:1.55;font-size:.94rem}
@media (max-width:860px){
  .hsr-arc{flex-direction:column}
  .hsr-arc-card{width:100%;transform:none}
  .hsr-arc-card.reveal{transform:none}
  .hsr-arc-line{display:none}
  .hsr-arc-wrap{padding:12px 0 8px}
}

/* ---------- NOTES ---------- */
.hsr-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:900px;margin:0 auto}
.hsr-note{background:var(--paper);border:1px solid #f0d488;border-top:5px solid var(--sun);border-radius:12px;padding:22px}
.hsr-note h4{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--ink-deep);margin-bottom:10px}
.hsr-note p{color:var(--ink-soft);line-height:1.6;margin-bottom:8px}
.hsr-marigold-band{margin:28px auto 0;max-width:900px;border-radius:16px;overflow:hidden;border:5px solid var(--yellow)}
.hsr-marigold-band img{width:100%;height:auto}

/* ---------- GALLERY — SQUARE TILES ---------- */
.hsr-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:20px;max-width:960px;margin:0 auto}
.hsr-tile{background:#fff;border:6px solid var(--yellow);box-shadow:0 10px 22px rgba(61,39,3,.13);overflow:hidden}
.hsr-tile img{width:100%;aspect-ratio:1;object-fit:cover}
.hsr-tile figcaption{display:flex;flex-direction:column;gap:1px;background:var(--yellow);color:var(--ink-deep);padding:8px 12px 10px;font-weight:500;letter-spacing:.05em}
.hsr-tile-names{font-family:'Great Vibes',cursive;font-weight:400;font-size:1.05rem;letter-spacing:0;color:#7c4d00}

/* ---------- VENUE ---------- */
.hsr-venue{position:relative;padding:clamp(40px,7vw,76px) 20px;overflow:hidden;background:#ffe9a8}
.hsr-venue-media{position:absolute;inset:0}
.hsr-venue-media img,.hsr-venue-media iframe{width:100%;height:100%;object-fit:cover;border:0}
.hsr-venue-shade{position:absolute;inset:0;background:linear-gradient(rgba(255,244,200,.88),rgba(255,233,168,.78))}
.hsr-venue-inner{position:relative;z-index:1;text-align:center;color:var(--ink-deep);max-width:640px;margin:0 auto}
.hsr-venue-eyebrow{letter-spacing:.26em;font-size:.72rem;text-transform:uppercase;color:#a35c00}
.hsr-venue-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,6vw,2.8rem);font-weight:700;margin-top:10px}
.hsr-venue-addr{margin-top:8px;line-height:1.6;color:var(--ink)}
.hsr-venue-when{margin-top:8px;color:#a35c00;letter-spacing:.1em;font-weight:500}
.hsr-btn-map{display:inline-block;margin-top:18px;background:var(--sun-deep);color:#fff;text-decoration:none;padding:12px 28px;border-radius:999px;font-weight:500;letter-spacing:.1em}
.hsr-venue-card{margin:26px auto 0;width:min(320px,80vw);background:#fff;padding:10px 10px 8px;transform:rotate(-2deg);box-shadow:0 16px 34px rgba(61,39,3,.25);border:3px solid var(--yellow)}
.hsr-venue-card img{width:100%;height:190px;object-fit:cover}
.hsr-venue-card figcaption{color:var(--ink-deep);font-family:'Great Vibes',cursive;font-size:1.25rem;padding-top:6px}

/* ---------- RSVP — BRIGHT CARD, SUN HEADER ---------- */
.hsr-rsvp{padding:clamp(40px,7vw,76px) 20px;background:linear-gradient(var(--cream),#ffedb5)}
.hsr-rsvp-card{max-width:540px;margin:0 auto;background:#fffef8;border:3px solid var(--sun);border-radius:20px;overflow:hidden;box-shadow:0 18px 38px rgba(61,39,3,.17);text-align:center}
.hsr-rsvp-sun-header{background:linear-gradient(135deg,#ffd94d,#f6b73c 55%,#f08c00);padding:26px 22px 20px;color:var(--ink-deep)}
.hsr-rsvp-sun-icon{width:46px;height:46px;color:#7c4d00;margin:0 auto}
.hsr-rsvp-title{font-family:'Cormorant Garamond',serif;font-size:1.85rem;font-weight:700;margin-top:8px}
.hsr-rsvp-sub{color:#6b4400;margin-top:4px;letter-spacing:.04em}
.hsr-rsvp-form{text-align:left;padding:24px 26px 28px;display:flex;flex-direction:column;gap:13px}
.hsr-rsvp-form label{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-deep);display:flex;flex-direction:column;gap:5px;font-weight:500}
.hsr-rsvp-form .opt{text-transform:none;letter-spacing:0;color:var(--ink-soft);font-weight:400}
.hsr-rsvp-form input,.hsr-rsvp-form select,.hsr-rsvp-form textarea{font-family:'Jost',sans-serif;font-size:1rem;padding:11px 12px;border:1px solid #e8c96a;border-radius:8px;background:#fffdf2;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:400}
.hsr-btn-submit{background:var(--sun-deep);color:#fff;border:none;padding:14px;border-radius:999px;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin-top:4px}
.hsr-btn-submit:hover{background:var(--marigold)}
.hsr-rsvp-thanks{padding:6px 26px 28px}

/* ---------- COLOPHON ---------- */
.hsr-colophon{text-align:center;padding:clamp(40px,7vw,64px) 20px;background:linear-gradient(#ffe9a8,#ffd873);color:var(--ink)}
.hsr-foot-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;max-width:560px;margin:0 auto 18px;color:var(--ink-deep)}
.hsr-foot-fig{width:min(300px,72vw);margin:0 auto 16px;border-radius:14px;overflow:hidden;border:4px solid #fff;box-shadow:0 10px 24px rgba(61,39,3,.2)}
.hsr-foot-fig img{width:100%;height:170px;object-fit:cover}
.hsr-foot-mono{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:#a35c00}
.hsr-foot-names{font-family:'Cormorant Garamond',serif;font-size:1.3rem;margin-top:6px;color:var(--ink-deep);font-weight:600}
.hsr-foot-date{letter-spacing:.22em;color:#a35c00;margin-top:6px;font-size:.9rem}
.credit{margin-top:20px;font-size:.8rem;color:var(--ink-soft)}
.credit .heart{width:13px;height:13px;display:inline;vertical-align:-2px;color:var(--marigold)}
