/* ============================================================
   Sangeet Mehfil Night — Sangeet (ghazal / mehfil night)
   A mehfil skeleton: fairy-light bokeh dots fade in over a stage-
   microphone silhouette scene on tap; a deep-indigo bokeh hero with
   italic calligraphic serif names; a mehfil programme narrative
   (adaab, performances, dinner); a printed programme booklet in two
   columns with ornate dividers; oval-framed portraits; fanous
   lantern countdown units in ONE row; a guest-register RSVP.
   Fonts bundled locally — zero external requests.
   ============================================================ */
@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{
  --indigo:#141033; --indigo2:#1d1650; --indigo3:#251a63; --deep:#0d0924;
  --ink:#f2ecff; --ink-dim:rgba(242,236,255,.74);
  --gold:#e8c877; --gold-deep:#c9a24b; --amber:#ffb85c;
  --paper:#f7efdc; --paper-ink:#2c2350; --paper-dim:rgba(44,35,80,.72);
  --card:#1e1760; --line:rgba(232,200,119,.32);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--deep);color:var(--ink);-webkit-font-smoothing:antialiased}
body.smn-locked{overflow:hidden}
img{max-width:100%;display:block}
button{font-family:inherit}
.dev{font-family:'Mukta',sans-serif}
.smn-script{font-family:'Great Vibes',cursive;font-size:clamp(1.7rem,4.5vw,2.2rem);color:var(--gold);line-height:1.15}
.smn-body-serif{font-family:'Cormorant Garamond',serif;font-size:1.16rem;line-height:1.65}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.floating-music{position:fixed;left:16px;bottom:16px;z-index:940;width:48px;height:48px;border-radius:50%;border:1px solid rgba(232,200,119,.55);background:rgba(13,9,36,.88);backdrop-filter:blur(8px);color:var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer}
.floating-music svg{width:22px;height:22px}
.floating-music.playing{color:#241a04;background:var(--gold);border-color:var(--gold)}
.credit .heart{width:13px;height:13px;display:inline-block;vertical-align:-1px;color:var(--gold)}

/* ---------- shared section chrome ---------- */
.smn-section{padding:clamp(40px,7vw,76px) clamp(18px,6vw,84px);background:var(--indigo)}
.smn-section:nth-of-type(even){background:var(--indigo2)}
.smn-head{text-align:center;max-width:720px;margin:0 auto clamp(24px,4vw,38px)}
.smn-prog-tag{font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;color:var(--amber)}
.smn-title{font-family:'Cormorant Garamond',serif;font-weight:700;font-style:italic;font-size:clamp(1.9rem,5vw,2.9rem);color:#fff;line-height:1.1;margin-top:10px}
.smn-head .smn-script{margin-top:8px}
.smn-band{max-width:1060px;margin:clamp(26px,4vw,40px) auto 0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.smn-band img{width:100%;height:clamp(180px,30vw,320px);object-fit:cover}
.smn-band figcaption{padding:10px 16px;font-size:.8rem;letter-spacing:.14em;color:var(--ink-dim);background:rgba(13,9,36,.65);text-align:center;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1rem}

/* ---------- INTRO — bokeh fades in over the stage microphone ---------- */
.smn-intro{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:36px 18px 48px;background:var(--deep)}
.smn-intro-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.smn-intro-shade{position:absolute;inset:0;background:radial-gradient(90% 74% at 50% 42%,rgba(13,9,36,.18) 20%,rgba(10,6,28,.9) 100%)}
.smn-intro-inner{position:relative;text-align:center;width:100%;max-width:640px}
.smn-invoke{color:var(--gold);font-size:1.05rem;letter-spacing:.05em;max-width:460px;margin:0 auto}
.smn-intro-kicker{margin-top:10px;font-size:.7rem;letter-spacing:.42em;text-transform:uppercase;color:var(--amber)}
/* Reserved stage: the mic stands centre, bokeh dots fade in over the
   whole stage (never over the button/text below), glow stays inside. */
.smn-stage{position:relative;margin:24px auto 0;width:min(520px,94vw);height:330px;border:1px solid rgba(232,200,119,.22);border-radius:16px;background:linear-gradient(180deg,rgba(20,16,51,.35),rgba(13,9,36,.72));overflow:hidden}
.smn-stage-glow{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:340px;height:340px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgba(255,196,92,.34),rgba(255,196,92,0) 68%);opacity:.25;transition:opacity 1.2s ease .3s}
.smn-stage.lit .smn-stage-glow{opacity:1}
.smn-bokeh{position:absolute;inset:0;z-index:2;pointer-events:none}
.smn-bokeh i{position:absolute;border-radius:50%;background:radial-gradient(circle at 38% 38%,#fff3cf,#ffc96b 55%,rgba(255,170,60,.15) 100%);box-shadow:0 0 18px 4px rgba(255,196,92,.45);opacity:0;transition:opacity 1s ease}
.smn-stage.lit .smn-bokeh i{opacity:.9;animation:smnDrift 3.4s ease-in-out infinite alternate}
@keyframes smnDrift{from{transform:translateY(0)}to{transform:translateY(-7px)}}
.smn-mic{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);z-index:3;width:110px;cursor:pointer;outline:none}
.smn-mic-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 22px rgba(0,0,0,.6))}
.smn-mic-head{fill:#0a0720;stroke:var(--gold);stroke-width:2}
.smn-mic-cradle{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round}
.smn-mic-stand,.smn-mic-base{stroke:var(--gold-deep);stroke-width:3.4;stroke-linecap:round;fill:none}
.smn-mic-base{fill:#0a0720;stroke:var(--gold)}
.smn-mic:focus-visible{filter:drop-shadow(0 0 14px rgba(232,200,119,.8))}
.smn-mic-ring{position:absolute;left:50%;top:26px;transform:translateX(-50%);width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,220,150,.0);transition:border-color .8s ease .4s,box-shadow .8s ease .4s}
.smn-stage.lit .smn-mic-ring{border-color:rgba(255,220,150,.75);box-shadow:0 0 26px rgba(255,196,92,.55),inset 0 0 18px rgba(255,196,92,.35)}
.smn-stage-line{position:absolute;left:0;right:0;bottom:14px;z-index:3;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.02rem;color:var(--ink-dim)}
@media (prefers-reduced-motion:reduce){.smn-bokeh i{animation:none!important}}
.smn-light-btn{margin-top:24px;background:linear-gradient(145deg,var(--gold),var(--gold-deep));color:#241a04;border:none;font-weight:500;letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;padding:15px 38px;border-radius:999px;cursor:pointer;box-shadow:0 14px 32px rgba(232,200,119,.35);transition:opacity .5s ease,transform .3s ease}
.smn-light-btn:hover{transform:translateY(-2px)}
.smn-stage-wrap-done .smn-light-btn,.smn-intro-inner.lit-done .smn-light-btn{opacity:0;pointer-events:none}
.smn-intro-inner.lit-done .smn-light-btn{opacity:0;pointer-events:none}
.smn-intro-reveal{margin-top:20px;opacity:0;transform:translateY(14px);transition:opacity .8s ease .5s,transform .8s ease .5s;pointer-events:none}
.smn-intro-inner.lit-done .smn-intro-reveal{opacity:1;transform:none;pointer-events:auto}
.smn-reveal-eyebrow{letter-spacing:.5em;font-size:.64rem;color:var(--amber);text-indent:.5em}
.smn-reveal-names{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(1.7rem,6vw,2.4rem);margin-top:8px;color:#fff}
.smn-reveal-names span{font-family:'Great Vibes',cursive;font-style:normal;font-weight:400;color:var(--gold);font-size:.85em}
.smn-reveal-date{margin-top:6px;font-size:.78rem;letter-spacing:.3em;color:var(--ink-dim)}
.smn-scroll{display:inline-flex;flex-direction:column;align-items:center;gap:3px;margin-top:16px;color:var(--ink-dim);text-decoration:none;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;opacity:0;transition:opacity .8s ease .85s;pointer-events:none}
.smn-scroll svg{width:17px;height:17px}
.smn-intro-inner.lit-done .smn-scroll{opacity:1;pointer-events:auto}

/* ---------- HERO — deep indigo bokeh, italic calligraphic names ---------- */
.smn-hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,var(--indigo3) 0%,var(--indigo) 55%,var(--deep) 100%);padding:clamp(44px,7vw,76px) clamp(18px,6vw,84px) 0;text-align:center}
.smn-hero-bokeh{position:absolute;inset:0;pointer-events:none}
.smn-hero-bokeh i{position:absolute;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(255,243,207,.95),rgba(255,201,107,.55) 55%,rgba(255,170,60,0) 100%);filter:blur(1px)}
.smn-hero-bokeh .hb1{width:90px;height:90px;left:6%;top:12%;opacity:.5}
.smn-hero-bokeh .hb2{width:46px;height:46px;left:16%;top:58%;opacity:.65}
.smn-hero-bokeh .hb3{width:120px;height:120px;right:5%;top:20%;opacity:.38}
.smn-hero-bokeh .hb4{width:34px;height:34px;right:20%;top:64%;opacity:.7}
.smn-hero-bokeh .hb5{width:60px;height:60px;left:42%;top:6%;opacity:.3}
.smn-hero-bokeh .hb6{width:26px;height:26px;right:38%;top:38%;opacity:.6}
.smn-hero-inner{position:relative;max-width:840px;margin:0 auto}
.smn-hero-eyebrow{letter-spacing:.42em;font-size:.68rem;color:var(--gold);text-transform:uppercase}
.smn-hero-small{margin-top:14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.18rem;color:var(--ink-dim)}
.smn-hero-names{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;line-height:1.08;color:#fff;font-size:clamp(2.4rem,8vw,4.6rem);margin-top:14px;text-shadow:0 0 36px rgba(255,205,110,.35)}
.smn-hero-names .smn-nm{display:block}
.smn-hero-names .smn-amp{font-family:'Great Vibes',cursive;font-style:normal;font-weight:400;color:var(--gold);font-size:.6em;line-height:1.15;text-shadow:0 0 22px rgba(232,200,119,.6)}
.smn-hero-parents{margin-top:16px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.06rem;color:var(--ink-dim);line-height:1.6}
.smn-hero-meta{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.smn-meta-item{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.smn-meta-item strong{color:#fff;font-weight:500}
.smn-hero-rsvp{display:inline-block;margin-top:24px;background:linear-gradient(145deg,var(--gold),var(--gold-deep));color:#241a04;text-decoration:none;font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-size:.74rem;padding:14px 30px;border-radius:999px;box-shadow:0 12px 28px rgba(232,200,119,.3)}
.smn-hero-floor{width:100%;height:clamp(90px,16vw,150px);object-fit:cover;margin-top:clamp(30px,5vw,48px);opacity:.8;-webkit-mask-image:linear-gradient(180deg,transparent,#000 32%);mask-image:linear-gradient(180deg,transparent,#000 32%)}

/* ---------- ADAAB — welcome + oval couple cards ---------- */
.smn-adaab-grid{display:grid;gap:22px;max-width:1060px;margin:0 auto}
@media(min-width:900px){.smn-adaab-grid{grid-template-columns:1.25fr 1fr 1fr;align-items:stretch}}
.smn-adaab-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 46px rgba(0,0,0,.35);padding:clamp(24px,4vw,40px);color:var(--ink)}
.smn-adaab-date{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.4rem;letter-spacing:.18em;color:var(--gold);margin-top:18px}
.smn-soft{margin-top:8px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(242,236,255,.5)}
.smn-oval-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 18px 20px;text-align:center}
.smn-oval-frame{display:block;width:158px;height:204px;margin:0 auto;border-radius:50%;overflow:hidden;border:3px solid var(--gold);box-shadow:0 0 0 8px rgba(232,200,119,.12),0 0 30px rgba(232,200,119,.28)}
.smn-oval-frame img{width:100%;height:100%;object-fit:cover}
.smn-oval-card figcaption{margin-top:16px;display:flex;flex-direction:column;gap:3px}
.smn-oval-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.3rem;color:#fff}
.smn-oval-role{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--amber)}
.smn-oval-parents{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--ink-dim);font-size:.98rem}

/* ---------- COUNTDOWN — fanous lantern units, ONE row ---------- */
.smn-count-section{background:linear-gradient(180deg,var(--indigo2),var(--indigo))}
.smn-lantern-row{display:flex;flex-wrap:nowrap;gap:clamp(8px,2.5vw,22px);justify-content:center;max-width:760px;margin:0 auto}
.smn-lantern-unit{flex:1 1 0;max-width:160px;display:flex;flex-direction:column;align-items:center}
.smn-lantern-chain{width:2px;height:16px;background:linear-gradient(180deg,rgba(232,200,119,.15),var(--gold-deep))}
.smn-lantern-cap{width:52%;height:12px;background:linear-gradient(180deg,var(--gold),var(--gold-deep));clip-path:polygon(22% 100%,38% 0,62% 0,78% 100%);border-radius:2px}
.smn-lantern-body{width:100%;height:clamp(104px,21vw,142px);display:flex;align-items:center;justify-content:center;background:radial-gradient(80% 70% at 50% 46%,rgba(255,214,130,.5),rgba(120,80,20,.28) 72%,rgba(30,20,60,.4)),repeating-linear-gradient(90deg,rgba(232,200,119,.16) 0 2px,transparent 2px 22%);border:2px solid var(--gold-deep);border-radius:44% 44% 40% 40%/26% 26% 22% 22%;box-shadow:0 0 34px rgba(255,190,90,.3),inset 0 0 26px rgba(255,205,110,.35)}
.smn-lantern-num{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(1.7rem,7vw,2.7rem);color:#fff;text-shadow:0 0 16px rgba(255,225,160,.85);line-height:1}
.smn-lantern-finial{width:14px;height:14px;margin-top:-2px;background:var(--gold-deep);clip-path:polygon(50% 0,100% 55%,50% 100%,0 55%)}
.smn-lantern-lab{margin-top:9px;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.smn-count-date{text-align:center;margin-top:22px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.14rem;color:var(--ink-dim)}

/* ---------- SCRATCH — a sealed verse ---------- */
.smn-scratch{padding:clamp(40px,7vw,76px) 18px;background:var(--deep);text-align:center}
.smn-scratch-sub{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--amber);margin-top:6px}
.smn-scratch-wrap{position:relative;width:min(340px,92vw);height:200px;margin:24px auto 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 22px 44px rgba(0,0,0,.5)}
.smn-scratch-under{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(90% 90% at 50% 40%,var(--indigo3),var(--indigo));padding:18px}
.smn-scratch-label{font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
.smn-scratch-date{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.32rem;color:#fff;text-align:center}
.smn-scratch-venue{display:flex;align-items:center;gap:6px;color:var(--ink-dim);font-size:.92rem}
.smn-scratch-venue svg{width:15px;height:15px;color:var(--gold)}
.smn-scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .7s ease}
.smn-scratch-canvas.cleared{opacity:0;pointer-events:none}
.smn-scratch-hint{margin-top:14px;font-size:.8rem;color:rgba(242,236,255,.55);font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1rem}

/* ---------- PROGRAMME BOOKLET — two columns, ornate dividers ---------- */
.smn-booklet{max-width:980px;margin:0 auto;background:linear-gradient(180deg,#faf3e0,var(--paper));color:var(--paper-ink);border-radius:10px;border:1px solid #d9c48f;outline:3px double rgba(160,124,44,.55);outline-offset:-12px;box-shadow:0 30px 60px rgba(0,0,0,.45);padding:clamp(26px,4.5vw,46px) clamp(20px,4.5vw,48px)}
.smn-booklet-head{text-align:center;font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:.28em;text-transform:uppercase;font-size:.86rem;color:#8a6a25}
.smn-booklet-head span{color:#c39b3a}
.smn-booklet-cols{display:grid;grid-template-columns:1fr;gap:6px;margin-top:22px}
@media(min-width:760px){.smn-booklet-cols{grid-template-columns:1fr auto 1fr;gap:0 26px}}
.smn-col-head{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:700;font-size:1.45rem;color:#241a04;text-align:center}
.smn-col-sub{text-align:center;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#9a7a2e;margin-top:4px}
.smn-prog-item{margin-top:20px;text-align:center}
.smn-prog-item h4{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.22rem;color:#2c2350}
.smn-prog-when{margin-top:3px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#8a6a25}
.smn-prog-loc{margin-top:2px;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--paper-dim)}
.smn-prog-desc{margin-top:5px;font-size:.94rem;line-height:1.55;color:var(--paper-dim)}
.smn-orn-divider{text-align:center;color:#c39b3a;font-size:.8rem;letter-spacing:.5em;margin-top:16px}
.smn-prog-item:last-of-type + .smn-orn-divider{opacity:.45}
.smn-booklet-spine{display:none}
@media(min-width:760px){.smn-booklet-spine{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;color:#c39b3a;font-size:.85rem;border-left:1px solid rgba(160,124,44,.4);border-right:1px solid rgba(160,124,44,.4);padding:0 10px}}
.smn-booklet-foot{text-align:center;margin-top:24px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.02rem;color:#8a6a25}

/* ---------- NOTES ---------- */
.smn-notes-grid{display:grid;gap:20px;max-width:1060px;margin:0 auto}
@media(min-width:820px){.smn-notes-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
.smn-note-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 24px;color:var(--ink)}
.smn-note-card h4{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;color:var(--gold);margin-bottom:12px}
.smn-note-card p{margin-top:10px;font-size:.98rem;line-height:1.6;color:var(--ink-dim)}
.smn-note-card p strong{color:#fff;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}

/* ---------- GALLERY — oval-framed portraits ---------- */
.smn-ovals{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:clamp(18px,3vw,30px);max-width:1060px;margin:0 auto}
.smn-oval-item{text-align:center}
.smn-oval-pic{display:block;aspect-ratio:3/4;border-radius:50%;overflow:hidden;border:3px solid var(--gold);box-shadow:0 0 0 9px rgba(232,200,119,.1),0 18px 36px rgba(0,0,0,.45)}
.smn-oval-pic img{width:100%;height:100%;object-fit:cover}
.smn-oval-item figcaption{margin-top:14px;display:flex;flex-direction:column;gap:3px}
.smn-oval-cap{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.14rem;color:#fff}
.smn-oval-sub{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,236,255,.55)}

/* ---------- VENUE ---------- */
.smn-venue{position:relative;overflow:hidden;background:var(--deep)}
.smn-venue-media{position:absolute;inset:0}
.smn-venue-media img,.smn-venue-media iframe{width:100%;height:100%;object-fit:cover;border:0}
.smn-venue-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,6,28,.92) 30%,rgba(10,6,28,.45))}
.smn-venue-inner{position:relative;display:grid;gap:26px;max-width:1060px;margin:0 auto;padding:clamp(44px,7vw,76px) clamp(18px,6vw,84px);align-items:center}
@media(min-width:860px){.smn-venue-inner{grid-template-columns:1.2fr .8fr}}
.smn-venue-eyebrow{font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold)}
.smn-venue-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:700;font-size:clamp(1.9rem,5vw,2.8rem);color:#fff;margin-top:12px;line-height:1.12}
.smn-venue-addr{margin-top:10px;font-size:1.02rem;line-height:1.6;color:var(--ink-dim)}
.smn-venue-when{margin-top:10px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.14rem;color:var(--gold)}
.smn-btn-map{display:inline-flex;align-items:center;gap:8px;margin-top:20px;background:linear-gradient(145deg,var(--gold),var(--gold-deep));color:#241a04;text-decoration:none;font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:.74rem;padding:13px 26px;border-radius:999px}
.smn-btn-map svg{width:16px;height:16px}
.smn-venue-card{border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 48px rgba(0,0,0,.5);transform:rotate(1.6deg);background:var(--indigo2)}
.smn-venue-card img{width:100%;height:230px;object-fit:cover}
.smn-venue-card figcaption{padding:10px 14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--ink-dim);text-align:center}

/* ---------- RSVP — the guest register ---------- */
.smn-register{max-width:680px;margin:0 auto;background:linear-gradient(180deg,#faf3e0,var(--paper));color:var(--paper-ink);border-radius:10px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.45);border:1px solid #d9c48f}
.smn-register-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(145deg,var(--indigo3),var(--indigo));padding:16px 22px}
.smn-register-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.08rem;color:#fff;letter-spacing:.04em}
.smn-register-mono{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:.95rem}
.smn-register-body{padding:clamp(22px,4vw,34px);background-image:linear-gradient(90deg,transparent 0 34px,rgba(200,80,80,.35) 34px 35px,transparent 35px),repeating-linear-gradient(180deg,transparent 0 35px,rgba(44,35,80,.1) 35px 36px)}
.smn-register-sub{text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.08rem;color:var(--paper-dim);margin-bottom:20px;padding-left:12px}
.smn-register-form{display:grid;gap:16px;padding-left:12px}
.smn-register-form label{display:grid;gap:6px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#8a6a25;font-weight:500}
.smn-register-form .opt{text-transform:none;letter-spacing:.02em;color:var(--paper-dim)}
.smn-register-form input,.smn-register-form select,.smn-register-form textarea{font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:var(--paper-ink);background:transparent;border:none;border-bottom:1.5px solid rgba(138,106,37,.5);border-radius:0;padding:8px 2px;outline:none;width:100%}
.smn-register-form input:focus,.smn-register-form select:focus,.smn-register-form textarea:focus{border-bottom-color:#8a6a25}
.smn-register-form textarea{resize:vertical}
.smn-btn-submit{margin-top:6px;background:linear-gradient(145deg,var(--indigo3),var(--indigo));color:#fff;border:none;font-weight:500;letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;padding:15px 30px;border-radius:999px;cursor:pointer;box-shadow:0 14px 30px rgba(29,22,80,.4)}
.smn-rsvp-thanks{text-align:center;padding:14px 0 6px;padding-left:12px}
.smn-rsvp-thanks p:last-child{margin-top:8px;font-family:'Cormorant Garamond',serif;font-size:1.1rem;line-height:1.6;color:var(--paper-dim)}

/* ---------- COLOPHON ---------- */
.smn-colophon{background:var(--deep);text-align:center;padding:clamp(40px,7vw,70px) 18px 46px;border-top:1px solid var(--line)}
.smn-foot-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:var(--ink-dim);max-width:560px;margin:0 auto;line-height:1.6}
.smn-foot-names{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1.5rem;color:#fff;margin-top:18px}
.smn-foot-date{margin-top:6px;font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.smn-colophon .credit{margin-top:20px;font-size:.8rem;color:rgba(242,236,255,.5)}

@media(max-width:420px){
  .smn-stage{height:300px}
  .smn-booklet{outline-offset:-8px}
  .smn-register-body{background-image:repeating-linear-gradient(180deg,transparent 0 35px,rgba(44,35,80,.1) 35px 36px)}
  .smn-register-sub,.smn-register-form,.smn-rsvp-thanks{padding-left:0}
}
