/* ============================================================
   Haldi Splash Party — Haldi
   Turmeric splash-burst intro (radial blobs) · bold poster type
   with huge outlined names + organic blob photo mask · playful
   staggered flow · blob cards in staggered columns · blob-
   masked gallery · bold block numerals in blob countdown
   badges (one row) · sticky bottom bar → centre modal RSVP
   ============================================================ */
@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{
  --yellow:#ffc400; --yellow-soft:#fff3c4; --turmeric:#e8a00c; --orange:#ff7a1a;
  --pink:#ff4d7e; --rose:#e83e6b; --cream:#fffaf0; --paper:#fffdf6;
  --ink:#4a2c00; --ink-deep:#33200a; --ink-soft:#8a6a2f;
}
*{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;padding-bottom:76px}
body.hsp-locked{overflow:hidden}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
.dev{font-family:'Mukta',sans-serif}
.hsp-script{font-family:'Great Vibes',cursive;font-size:1.9rem;color:var(--rose);line-height:1.2}
.hsp-script-big{font-size:2.3rem}
.hsp-body-serif{font-family:'Cormorant Garamond',serif;font-size:1.22rem;line-height:1.65;color:var(--ink)}
.hsp-kicker{letter-spacing:.3em;font-size:.72rem;text-transform:uppercase;color:var(--turmeric);text-align:center;font-weight:500}
.hsp-kicker-light{color:var(--yellow-soft);text-align:left}
.hsp-title{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.8rem,5.4vw,2.6rem);color:var(--ink-deep);text-align:center;margin:8px 0 28px;letter-spacing:.01em}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.hsp-note.reveal{transition:opacity .7s ease,transform .7s ease}
.hsp-note.note-tilt-l.reveal{transform:rotate(-1.6deg) translateY(22px)}
.hsp-note.note-tilt-l.reveal.in{transform:rotate(-1.6deg)}
.hsp-note.note-tilt-r.reveal{transform:rotate(1.6deg) translateY(22px)}
.hsp-note.note-tilt-r.reveal.in{transform:rotate(1.6deg)}
.hsp-tilt-photo.reveal{transform:rotate(2deg) translateY(22px)}
.hsp-tilt-photo.reveal.in{transform:rotate(2deg)}
@media (prefers-reduced-motion: reduce){.reveal{transition:none;opacity:1;transform:none}html{scroll-behavior:auto}}

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

/* ---------- INTRO — SPLASH BURST STAGE ---------- */
.hsp-intro{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#ffeeb0}
.hsp-intro-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.hsp-intro-shade{position:absolute;inset:0;background:linear-gradient(rgba(255,246,214,.5),rgba(255,238,176,.78))}
.hsp-intro-inner{position:relative;z-index:2;text-align:center;padding:clamp(36px,6vw,64px) 20px;max-width:660px;width:100%}
.hsp-invoke{color:var(--ink-deep);font-size:1.15rem;letter-spacing:.08em;margin-bottom:22px}
.hsp-burst-stage{position:relative;height:360px;max-width:560px;margin:0 auto;border-radius:28px;background:radial-gradient(circle at 50% 50%,#fff8dc,#ffe98a 62%,#ffd94d);box-shadow:inset 0 0 0 3px rgba(232,160,12,.45),0 18px 40px rgba(51,32,10,.22);overflow:hidden}
.hsp-blob{position:absolute;left:50%;top:50%;width:var(--bs);height:var(--bs);transform:translate(-50%,-50%) scale(.15);opacity:.55;transition:left 1s cubic-bezier(.2,1.2,.4,1) var(--bd),top 1s cubic-bezier(.2,1.2,.4,1) var(--bd),transform 1s cubic-bezier(.2,1.4,.4,1) var(--bd),opacity .6s ease var(--bd)}
.hsp-blob.b-y{background:var(--yellow);border-radius:58% 42% 55% 45%/52% 56% 44% 48%}
.hsp-blob.b-o{background:var(--orange);border-radius:42% 58% 44% 56%/56% 44% 58% 42%}
.hsp-blob.b-p{background:var(--pink);border-radius:52% 48% 62% 38%/44% 58% 42% 56%}
.hsp-blob.b-r{background:#ffb03a;border-radius:46% 54% 40% 60%/58% 42% 56% 44%}
.hsp-intro.burst .hsp-blob{left:calc(50% + var(--bx));top:calc(50% + var(--by));transform:translate(-50%,-50%) scale(1);opacity:.9}
.hsp-burst-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;opacity:0;transform:scale(.8);transition:opacity .7s ease .45s,transform .7s cubic-bezier(.2,1.3,.4,1) .45s;z-index:3}
.hsp-intro.burst .hsp-burst-title{opacity:1;transform:none}
.hsp-burst-kicker{letter-spacing:.3em;font-size:.7rem;text-transform:uppercase;color:var(--ink-deep);font-weight:500;background:rgba(255,253,246,.75);padding:5px 14px;border-radius:999px}
.hsp-burst-names{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(1.6rem,5.6vw,2.4rem);color:var(--ink-deep);margin-top:14px;background:rgba(255,253,246,.78);padding:8px 20px;border-radius:18px;line-height:1.25}
.hsp-burst-names span{font-family:'Great Vibes',cursive;color:var(--rose);font-weight:400}
.hsp-burst-date{margin-top:12px;letter-spacing:.22em;color:var(--ink-deep);font-weight:500;background:rgba(255,253,246,.75);padding:4px 14px;border-radius:999px}
.hsp-burst-btn{margin-top:26px;background:var(--rose);color:#fff;border:none;padding:14px 36px;border-radius:999px;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;box-shadow:0 10px 24px rgba(51,32,10,.32)}
.hsp-burst-btn:hover{background:var(--pink)}
.hsp-intro.burst .hsp-burst-btn{visibility:hidden}
.hsp-scroll-cue{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;font-weight:500}
.hsp-scroll-cue svg{width:16px;height:16px}
.hsp-intro.burst .hsp-scroll-cue{display:inline-flex}

/* ---------- HERO — POSTER TYPE + BLOB PHOTO ---------- */
.hsp-hero{padding:clamp(44px,7vw,76px) 20px clamp(40px,7vw,72px);max-width:1060px;margin:0 auto;text-align:center}
.hsp-hero-eyebrow{letter-spacing:.32em;font-size:.74rem;color:var(--turmeric);text-transform:uppercase;font-weight:500}
.hsp-poster{margin-top:14px;line-height:.95;display:flex;flex-direction:column;align-items:center}
.poster-line{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(3rem,13.5vw,7.2rem);letter-spacing:.015em;text-transform:uppercase}
.poster-outline{color:transparent;-webkit-text-stroke:2.5px var(--ink-deep);text-stroke:2.5px var(--ink-deep)}
.poster-solid{color:var(--turmeric);text-shadow:4px 4px 0 rgba(255,77,126,.35)}
.poster-amp{font-family:'Great Vibes',cursive;font-size:clamp(2rem,7vw,3.4rem);color:var(--rose);line-height:1;margin:2px 0}
.hsp-hero-fullnames{margin-top:14px;font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-style:italic;color:var(--ink)}
.hsp-hero-cols{display:flex;gap:clamp(24px,5vw,52px);align-items:center;justify-content:center;margin-top:34px;flex-wrap:wrap}
.hsp-blob-photo{width:min(400px,86vw);flex:none}
.hsp-blob-photo img{width:100%;height:340px;object-fit:cover;border-radius:58% 42% 55% 45%/52% 48% 55% 45%;border:6px solid var(--yellow);box-shadow:0 16px 36px rgba(51,32,10,.22)}
.hsp-hero-side{max-width:380px;text-align:left}
.hsp-parents{margin-top:14px;font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:var(--ink);line-height:1.5}
.hsp-hero-date{margin-top:18px;letter-spacing:.16em;font-weight:500;color:var(--ink-deep)}
.hsp-hero-venue{margin-top:5px;color:var(--ink-soft)}
.hsp-btn-pop{display:inline-block;margin-top:20px;background:var(--turmeric);color:#fff;border:none;padding:13px 30px;border-radius:999px;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;box-shadow:0 8px 20px rgba(51,32,10,.25);text-decoration:none}
.hsp-btn-pop:hover{background:var(--orange)}

/* ---------- SECTIONS ---------- */
.hsp-section{padding:clamp(40px,7vw,76px) 20px;max-width:1060px;margin:0 auto}
.hsp-welcome-sec{display:flex;gap:clamp(24px,5vw,52px);align-items:center;flex-wrap:wrap;justify-content:center}
.hsp-welcome{max-width:520px}
.hsp-welcome .hsp-script{margin-bottom:12px}
.hsp-tilt-photo{width:min(360px,84vw);flex:none;background:#fff;padding:10px 10px 8px;border-radius:14px;box-shadow:0 14px 32px rgba(51,32,10,.2)}
.hsp-tilt-photo img{width:100%;height:250px;object-fit:cover;border-radius:8px}
.hsp-tilt-photo figcaption{text-align:center;padding:8px 4px 2px;font-family:'Great Vibes',cursive;font-size:1.25rem;color:var(--turmeric)}

/* Countdown — blob badges, ONE row */
.hsp-count-sec{text-align:center}
.hsp-count{display:flex;flex-wrap:nowrap;gap:clamp(8px,2.6vw,22px);justify-content:center;max-width:600px;margin:6px auto 0}
.hsp-count-unit{flex:1 1 0;max-width:132px;text-align:center}
.hsp-count-badge{display:flex;align-items:center;justify-content:center;width:min(100%,112px);aspect-ratio:1;margin:0 auto;box-shadow:0 10px 22px rgba(51,32,10,.18)}
.hsp-count-badge.cb-y{background:var(--yellow);border-radius:58% 42% 55% 45%/52% 56% 44% 48%}
.hsp-count-badge.cb-o{background:var(--orange);border-radius:42% 58% 44% 56%/56% 44% 58% 42%}
.hsp-count-badge.cb-p{background:var(--pink);border-radius:52% 48% 62% 38%/44% 58% 42% 56%}
.hsp-count-badge.cb-r{background:#ffb03a;border-radius:46% 54% 40% 60%/58% 42% 56% 44%}
.hsp-count-num{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.5rem,6.4vw,2.4rem);color:#fff;line-height:1;text-shadow:0 2px 6px rgba(51,32,10,.3)}
.hsp-count-lab{display:block;margin-top:10px;letter-spacing:.18em;font-size:.72rem;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.hsp-count-date{margin-top:22px;letter-spacing:.2em;color:var(--turmeric);font-weight:500}

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

/* Events — blob cards, staggered columns */
.hsp-group-label{text-align:center;font-family:'Great Vibes',cursive;font-size:1.7rem;color:var(--rose);margin:10px 0 22px}
.hsp-blob-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:880px;margin:0 auto 40px;align-items:start}
.hsp-blob-card{background:#fff;padding:26px 24px 24px;position:relative;box-shadow:0 12px 28px rgba(51,32,10,.13)}
.hsp-blob-card.bc-0{border-radius:44px 18px 40px 20px;background:#fff8dc}
.hsp-blob-card.bc-1{border-radius:18px 44px 20px 40px;background:#ffeef3;margin-top:34px}
.hsp-blob-card.bc-2{border-radius:20px 40px 18px 44px;background:#fff3e0}
.hsp-blob-card.bc-3{border-radius:40px 20px 44px 18px;background:#fff8dc;margin-top:34px}
.hsp-blob-chip{position:absolute;top:-13px;left:22px;width:30px;height:30px}
.bc-0 .hsp-blob-chip{background:var(--yellow);border-radius:58% 42% 55% 45%/52% 56% 44% 48%}
.bc-1 .hsp-blob-chip{background:var(--pink);border-radius:42% 58% 44% 56%/56% 44% 58% 42%}
.bc-2 .hsp-blob-chip{background:var(--orange);border-radius:52% 48% 62% 38%/44% 58% 42% 56%}
.bc-3 .hsp-blob-chip{background:#ffb03a;border-radius:46% 54% 40% 60%/58% 42% 56% 44%}
.hsp-blob-card h4{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:700;color:var(--ink-deep)}
.hsp-card-when{margin-top:6px;letter-spacing:.1em;color:var(--turmeric);font-weight:500;font-size:.92rem}
.hsp-card-loc{margin-top:3px;color:var(--ink)}
.hsp-card-desc{margin-top:8px;color:var(--ink-soft);line-height:1.55}
@media (max-width:640px){.hsp-blob-grid{grid-template-columns:1fr}.hsp-blob-card.bc-1,.hsp-blob-card.bc-3{margin-top:0}}

/* Notes */
.hsp-notes{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;max-width:920px;margin:0 auto}
.hsp-note{background:#fff;border:2px dashed rgba(232,160,12,.55);border-radius:16px;padding:24px;max-width:400px;flex:1 1 280px;box-shadow:0 10px 24px rgba(51,32,10,.1)}
.hsp-note h4{font-family:'Great Vibes',cursive;font-size:1.6rem;color:var(--rose);margin-bottom:10px;font-weight:400}
.hsp-note p{margin-top:8px;line-height:1.55;color:var(--ink)}
.hsp-band-photo{margin:34px auto 0;max-width:760px;border-radius:20px;overflow:hidden;border:5px solid var(--yellow);box-shadow:0 14px 32px rgba(51,32,10,.18)}
.hsp-band-photo img{width:100%;height:auto}

/* Gallery — blob-masked photos */
.hsp-gallery{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;max-width:920px;margin:0 auto}
.hsp-gitem{width:min(250px,42vw);text-align:center}
.hsp-gitem img{width:100%;height:230px;object-fit:cover;border:5px solid #fff;box-shadow:0 12px 26px rgba(51,32,10,.18)}
.hsp-gitem.gm-0 img{border-radius:58% 42% 55% 45%/52% 48% 55% 45%}
.hsp-gitem.gm-1 img{border-radius:42% 58% 44% 56%/56% 44% 58% 42%}
.hsp-gitem.gm-2 img{border-radius:52% 48% 62% 38%/44% 58% 42% 56%}
.hsp-gitem.gm-3 img{border-radius:46% 54% 40% 60%/58% 42% 56% 44%}
.hsp-gitem figcaption{margin-top:10px;font-family:'Great Vibes',cursive;font-size:1.3rem;color:var(--turmeric)}
.hsp-gitem:nth-child(even){margin-top:22px}
@media (max-width:640px){.hsp-gitem:nth-child(even){margin-top:0}}

/* Venue */
.hsp-venue{position:relative;overflow:hidden}
.hsp-venue-media{position:absolute;inset:0}
.hsp-venue-media img,.hsp-venue-media iframe{width:100%;height:100%;object-fit:cover;border:0}
.hsp-venue-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(51,32,10,.82) 30%,rgba(51,32,10,.35))}
.hsp-venue-inner{position:relative;z-index:2;display:flex;gap:clamp(24px,5vw,52px);align-items:center;flex-wrap:wrap;max-width:1060px;margin:0 auto;padding:clamp(44px,7vw,76px) 20px}
.hsp-venue-text{flex:1 1 300px;color:#fff}
.hsp-venue-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,5.4vw,2.8rem);font-weight:700;margin-top:8px}
.hsp-venue-addr{margin-top:10px;line-height:1.6;color:#ffeec2}
.hsp-venue-when{margin-top:10px;letter-spacing:.14em;color:var(--yellow);font-weight:500}
.hsp-btn-map{display:inline-block;margin-top:20px;background:var(--yellow);color:var(--ink-deep);padding:12px 28px;border-radius:999px;text-decoration:none;font-weight:500;letter-spacing:.08em}
.hsp-venue-card{width:min(330px,84vw);flex:none;background:#fff;padding:10px 10px 6px;border-radius:14px;transform:rotate(2.5deg);box-shadow:0 16px 36px rgba(0,0,0,.35)}
.hsp-venue-card img{width:100%;height:210px;object-fit:cover;border-radius:8px}
.hsp-venue-card figcaption{text-align:center;padding:8px 4px 4px;font-family:'Great Vibes',cursive;font-size:1.3rem;color:var(--turmeric)}

/* Colophon */
.hsp-colophon{text-align:center;padding:clamp(40px,7vw,72px) 20px 30px}
.hsp-foot-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--ink);max-width:560px;margin:0 auto 22px;line-height:1.6}
.hsp-foot-img{width:120px;height:120px;object-fit:cover;margin:0 auto;border-radius:58% 42% 55% 45%/52% 48% 55% 45%;border:4px solid var(--yellow)}
.hsp-foot-names{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.5rem;color:var(--ink-deep);margin-top:16px}
.hsp-foot-date{letter-spacing:.22em;color:var(--turmeric);margin-top:6px;font-weight:500}
.hsp-credit{margin-top:14px;color:var(--ink-soft);font-size:.85rem}

/* ---------- RSVP — STICKY BAR + CENTRE MODAL ---------- */
.hsp-rsvp-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;background:rgba(51,32,10,.94);color:#ffeec2;box-shadow:0 -6px 24px rgba(51,32,10,.3)}
.hsp-bar-text{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hsp-bar-btn{flex:none;background:var(--yellow);color:var(--ink-deep);border:none;padding:11px 26px;border-radius:999px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.88rem}
.hsp-bar-btn:hover{background:var(--pink);color:#fff}
.hsp-modal-scrim{position:fixed;inset:0;background:rgba(51,32,10,.6);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:80}
.hsp-modal-scrim.open{opacity:1;pointer-events:auto}
.hsp-rsvp-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.94);width:min(460px,92vw);max-height:88vh;overflow-y:auto;background:var(--paper);border-radius:26px;border:3px solid var(--yellow);padding:30px 28px 26px;z-index:90;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s cubic-bezier(.2,1.2,.4,1);box-shadow:0 30px 70px rgba(0,0,0,.4);text-align:center}
.hsp-rsvp-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.hsp-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:#fff0bd;color:var(--ink-deep);display:flex;align-items:center;justify-content:center}
.hsp-modal-close svg{width:18px;height:18px}
.hsp-modal-sub{color:var(--ink-soft);margin-top:4px}
.hsp-rsvp-form{text-align:left;margin-top:20px;display:flex;flex-direction:column;gap:14px}
.hsp-rsvp-form label{font-size:.88rem;font-weight:500;color:var(--ink-deep);display:flex;flex-direction:column;gap:6px}
.hsp-rsvp-form .opt{color:var(--ink-soft);font-weight:300}
.hsp-rsvp-form input,.hsp-rsvp-form select,.hsp-rsvp-form textarea{font-family:inherit;font-size:1rem;padding:11px 14px;border:2px solid #f0d48a;border-radius:12px;background:#fff;color:var(--ink);width:100%}
.hsp-rsvp-form input:focus,.hsp-rsvp-form select:focus,.hsp-rsvp-form textarea:focus{outline:none;border-color:var(--turmeric)}
.hsp-submit{margin-top:4px;text-align:center}
.hsp-rsvp-thanks{margin-top:22px;color:var(--ink)}
.hsp-rsvp-thanks p{margin-top:8px;line-height:1.6}

@media (max-width:640px){
  .hsp-burst-stage{height:330px}
  .hsp-hero-cols{flex-direction:column}
  .hsp-hero-side{text-align:center}
  .hsp-welcome-sec{flex-direction:column;text-align:center}
  .poster-line{font-size:clamp(2.6rem,15vw,4rem)}
}
