/* Seven invitation experiences. Shared tokens keep controls and text coherent,
   while each theme owns its composition, material and visual rhythm. */
.interactive-shell.invite-v2 {
  --iv-paper:#f8f4ec; --iv-surface:#fffcf6; --iv-ink:#292c2b; --iv-muted:#66685f;
  --iv-accent:#91714b; --iv-line:#d9d1c4; --iv-hero-ink:#fff9ee;
  --iv-display:"Cormorant Garamond",Georgia,serif; --iv-body:"Manrope","Segoe UI",sans-serif;
  --shell-background:var(--iv-paper); --shell-text:var(--iv-ink); --shell-muted:var(--iv-muted);
  --invite-heading-font:var(--iv-display); --invite-body-font:var(--iv-body);
  --caption-bg:var(--iv-surface); --caption-border:var(--iv-line);
  --caption-label:var(--iv-muted); --caption-strong:var(--iv-ink);
  --desktop-panel-bg:var(--iv-surface); --desktop-panel-border:var(--iv-line);
  --sheet-bg:var(--iv-surface); --sheet-border:var(--iv-line);
  --field-bg:var(--iv-paper); --field-border:var(--iv-line);
  --cta-primary-bg:var(--iv-ink); --cta-primary-text:var(--iv-paper); --cta-primary-border:var(--iv-ink);
  --cta-secondary-bg:transparent; --cta-secondary-text:var(--iv-ink); --cta-secondary-border:var(--iv-line);
  --cta-light-bg:var(--iv-paper); --cta-light-text:var(--iv-ink);
  --fab-bg:var(--iv-surface); --fab-border:var(--iv-line); --fab-text:var(--iv-ink);
  color:var(--iv-ink); background:var(--iv-paper); font-family:var(--iv-body);
  padding:5rem 0 10rem; min-height:100svh; overflow-x:clip;
}
.invite-v2 *, .invite-v2 *::before, .invite-v2 *::after { box-sizing:border-box; }
.interactive-shell.invite-v2[data-theme][data-color-scheme] {
  --invite-heading-font:var(--iv-display); --invite-body-font:var(--iv-body);
  --shell-text:var(--iv-ink); --shell-muted:var(--iv-muted); --shell-background:var(--iv-paper);
  --desktop-panel-bg:var(--iv-surface); --desktop-panel-border:var(--iv-line);
  --sheet-bg:var(--iv-surface); --sheet-border:var(--iv-line);
  --field-bg:var(--iv-paper); --field-border:var(--iv-line);
  --cta-primary-bg:var(--iv-ink); --cta-primary-text:var(--iv-paper); --cta-primary-border:var(--iv-ink);
  --cta-secondary-bg:transparent; --cta-secondary-text:var(--iv-ink); --cta-secondary-border:var(--iv-line);
  --cta-light-bg:var(--iv-paper); --cta-light-text:var(--iv-ink);
}
.invite-rsvp-sheet.invite-v2-sheet[aria-hidden='true'] { visibility:hidden; }
.invite-rsvp-sheet.invite-v2-sheet:not(.is-open) { visibility:hidden; }
.invite-rsvp-sheet.invite-v2-sheet { color:var(--iv-ink); background:var(--iv-surface); border-color:var(--iv-line); max-height:85svh; overflow-y:auto; }
.invite-rsvp-sheet.invite-v2-sheet[data-accent-color='accent-merlot-moss'] {
  --iv-paper:#f0ebd9; --iv-surface:#fffdf6; --iv-ink:#2f3122; --iv-muted:#464330; --iv-line:#c6c7ae; --iv-accent:#5c6246;
  background:var(--sheet-bg); color:var(--shell-text); border-color:var(--sheet-border);
}
.invite-rsvp-sheet.invite-v2-sheet .rz-textarea,.invite-rsvp-sheet.invite-v2-sheet .rz-textarea:hover,.invite-rsvp-sheet.invite-v2-sheet .rz-textarea:focus { background:var(--iv-paper)!important; color:var(--iv-ink)!important; border-color:var(--iv-line)!important; font-size:16px; }
.invite-rsvp-sheet.invite-v2-sheet .rz-textarea::placeholder { color:var(--iv-muted); }
.invite-v2 img[hidden],.invite-v2 video[hidden] { display:none; }
.invite-v2 .iv-story-image.has-unavailable-media { display:none; }
.invite-v2 :focus-visible { outline:2px solid var(--iv-accent); outline-offset:5px; }
.invite-v2 .iv-experience { width:min(900px,100%); margin:auto; }
.invite-v2 .iv-chapter { position:relative; scroll-margin-top:5rem; margin:0 24px; padding:64px 38px; min-width:0; }
.invite-v2 .iv-chapter:not(.iv-hero) { border-bottom:1px solid var(--iv-line); }
.invite-v2 h1,.invite-v2 h2,.invite-v2 h3 { font-family:var(--iv-display); font-weight:500; }
.invite-v2 .iv-hero { min-height:min(830px,84svh); padding:70px 36px; display:flex; align-items:flex-end; justify-content:center; border-radius:6px; overflow:hidden; isolation:isolate; background:var(--iv-ink); }
.invite-v2 .iv-hero-photo,.invite-v2 .iv-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-3; border:0; }
.invite-v2 .iv-hero-video { z-index:-2; }
.invite-v2 .iv-hero-scrim { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#12171508 20%,#12171535 48%,#121715c9 100%); }
.invite-v2 .iv-hero-content { text-align:center; width:100%; max-width:680px; color:var(--iv-hero-ink); transition:opacity .9s ease; }
.invite-v2 .iv-hero h1 { font-size:clamp(3.1rem,7vw,5.6rem); line-height:1.02; letter-spacing:-.035em; margin:20px 0; overflow-wrap:anywhere; text-wrap:balance; }
.invite-v2 .iv-kicker { color:var(--iv-accent); font-family:var(--iv-body); font-size:.68rem; line-height:1.6; letter-spacing:.16em; text-transform:uppercase; margin:0 0 16px; }
.invite-v2 .iv-hero .iv-kicker { color:var(--iv-hero-ink); opacity:.85; }
.invite-v2 .iv-hero-rule { width:44px; height:1px; margin:24px auto; background:currentColor; opacity:.5; }
.invite-v2 .iv-hero-subtitle { font-size:.88rem; line-height:1.75; letter-spacing:.015em; margin:0; }
.invite-v2 .iv-hero-date { font-size:.64rem; text-transform:uppercase; letter-spacing:.15em; margin-top:22px; }
.invite-v2 .iv-scroll-cue { position:absolute; bottom:17px; left:50%; transform:translateX(-50%); color:var(--iv-hero-ink); font-size:.62rem; letter-spacing:.12em; text-decoration:none; white-space:nowrap; }
.invite-v2 h2 { font-size:clamp(2.2rem,5.5vw,3.5rem); line-height:1.1; letter-spacing:-.025em; margin:0 0 22px; text-wrap:balance; overflow-wrap:anywhere; }
.invite-v2 .iv-copy { font-size:.95rem; line-height:1.9; color:var(--iv-muted); overflow-wrap:anywhere; margin:0; }
.invite-v2 .iv-invitation article { max-width:580px; margin:auto; text-align:center; }
.invite-v2 .iv-section-number { font-size:.7rem; letter-spacing:.14em; margin-bottom:26px; text-align:center; color:var(--iv-accent); }
.invite-v2 .iv-guest-allocation { display:flex; justify-content:center; align-items:center; gap:12px; margin:28px 0 0; font-size:.8rem; color:var(--iv-muted); }
.invite-v2 .iv-guest-allocation strong { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--iv-line); border-radius:50%; color:var(--iv-ink); font-size:1rem; }
.invite-v2 .iv-story { display:grid; gap:38px; }
.invite-v2 .iv-story-image { overflow:hidden; border-radius:4px; }
.invite-v2 .iv-story-image img { display:block; width:100%; max-height:480px; aspect-ratio:4/3; object-fit:cover; }
.invite-v2 .iv-highlights { display:grid; margin-top:30px; }
.invite-v2 .iv-highlights>div { display:flex; gap:18px; padding:20px 0; border-top:1px solid var(--iv-line); }
.invite-v2 .iv-highlight-mark { font-size:1.4rem; line-height:1.2; color:var(--iv-accent); }
.invite-v2 .iv-highlights h3 { margin:0 0 7px; font-size:1.5rem; line-height:1.25; }
.invite-v2 .iv-highlights p { margin:0; line-height:1.7; color:var(--iv-muted); font-size:.86rem; overflow-wrap:anywhere; }
.invite-v2 .iv-details article { max-width:650px; margin:auto; }
.invite-v2 .iv-detail-list { margin:30px 0; }
.invite-v2 .iv-detail-list>div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:20px; padding:20px 0; border-top:1px solid var(--iv-line); }
.invite-v2 .iv-detail-list dt { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--iv-muted); padding-top:6px; }
.invite-v2 .iv-detail-list dd { margin:0; font-family:var(--iv-display); font-size:1.5rem; line-height:1.35; overflow-wrap:anywhere; }
.invite-v2 .iv-countdown { display:flex; gap:30px; padding:24px 0 0; border-top:1px solid var(--iv-line); justify-content:center; }
.invite-v2 .iv-countdown>div { display:grid; text-align:center; gap:6px; }
.invite-v2 .iv-countdown strong { font-family:var(--iv-display); font-size:2.2rem; font-weight:500; }
.invite-v2 .iv-countdown small { font-size:.58rem; text-transform:uppercase; letter-spacing:.15em; color:var(--iv-muted); }
.invite-v2 .iv-reveal { text-align:center; overflow:hidden; }
.invite-v2 .iv-scratch-card { position:relative; min-height:210px; margin-top:30px; border:1px solid var(--iv-line); border-radius:5px; background:var(--iv-surface); }
.invite-v2 .iv-scratch-content { padding:42px 26px; font-family:var(--iv-display); font-size:1.8rem; line-height:1.35; }
.invite-v2 .iv-scratch-content p { margin:0; }
.invite-v2 .iv-scratch-cue { position:absolute; z-index:5; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; pointer-events:none; color:#473721; }
.invite-v2 .iv-scratch-cue>span { font-size:2rem; }
.invite-v2 .iv-scratch-cue strong { font-family:var(--iv-display); font-size:1.5rem; font-weight:500; }
.invite-v2 .iv-scratch-cue small { font-size:.7rem; }
.invite-v2 .iv-scratch-card.is-revealed .iv-scratch-cue { display:none; }
.invite-v2 .iv-scratch-card:not(.is-scratch-ready) .iv-scratch-cue { display:none; }
.invite-v2 .iv-scratch-fallback { min-height:44px; margin:10px 0 0; padding:8px 12px; color:var(--iv-muted); background:none; border:0; text-decoration:underline; font:inherit; font-size:.73rem; cursor:pointer; }
.invite-v2 .iv-finale { padding-bottom:70px; text-align:center; }
.invite-v2 .iv-finale>img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; margin-bottom:36px; }
.invite-v2 .iv-rsvp-deadline { display:grid; gap:5px; margin:28px 0 0; color:var(--iv-muted); font-size:.78rem; }
.invite-v2 .iv-rsvp-deadline span { letter-spacing:.12em; text-transform:uppercase; }
.invite-v2 .iv-rsvp-deadline strong { color:var(--iv-ink); font-family:var(--iv-display); font-size:1.05rem; font-weight:600; }
.invite-v2 .iv-finale-mark { display:block; margin-top:30px; font-size:2rem; color:var(--iv-accent); }
.invite-v2 .iv-opening-panels,.invite-v2 .iv-open-button,.invite-v2 .iv-replay-button { display:none; }
.invite-v2 .iv-opening.is-enhanced .iv-opening-panels { display:block; position:absolute; inset:0; z-index:3; pointer-events:none; }
.invite-v2 .iv-opening.is-enhanced .iv-panel-left,.invite-v2 .iv-opening.is-enhanced .iv-panel-right { position:absolute; inset:0 50% 0 0; background:repeating-linear-gradient(90deg,#ffffff05 0px,#00000012 18px,#ffffff08 36px),linear-gradient(90deg,#18100f,#5a3430 70%,#251715); box-shadow:10px 0 50px #0005; transition:transform 1.35s cubic-bezier(.22,.68,.2,1); transform-origin:left top; }
.invite-v2 .iv-opening.is-enhanced .iv-panel-right { inset:0 0 0 50%; background:repeating-linear-gradient(90deg,#ffffff05 0px,#00000012 18px,#ffffff08 36px),linear-gradient(90deg,#251715,#5a3430 30%,#18100f); transform-origin:right top; }
.invite-v2 .iv-opening.is-open .iv-panel-left { transform:translateX(-104%); }
.invite-v2 .iv-opening.is-open .iv-panel-right { transform:translateX(104%); }
.invite-v2 .iv-seal { position:absolute; top:44%; left:50%; transform:translate(-50%,-50%); width:65px; height:65px; display:grid; place-items:center; border:1px solid #dac9a280; border-radius:50%; font:2rem Georgia,serif; color:#dac9a2; transition:opacity .3s; }
.invite-v2 .iv-opening.is-open .iv-seal { opacity:0; }
.invite-v2 .iv-opening.is-enhanced:not(.is-open) .iv-hero-content { opacity:0; }
.invite-v2 .iv-opening.is-enhanced:not(.is-open) .iv-open-button { display:flex; position:absolute; z-index:4; bottom:20%; left:50%; transform:translateX(-50%); gap:20px; min-height:48px; padding:14px 22px; border:1px solid #dac9a280; background:#20151380; color:#fff5e5; font: .75rem var(--iv-body); cursor:pointer; white-space:nowrap; }
.invite-v2 .iv-opening.is-open .iv-replay-button:not([hidden]) { display:block; position:absolute; right:16px; top:16px; z-index:4; min-height:44px; padding:10px 14px; border:1px solid #fff5; border-radius:30px; background:#10101070; color:white; font:.65rem var(--iv-body); cursor:pointer; }
.invite-v2 .iv-celestial-orbit { display:none; }
.invite-v2 .iv-gallery-secondary { margin:0; }
.invite-v2 .iv-gallery-secondary img { width:65%; aspect-ratio:4/5; object-fit:cover; display:block; margin-left:auto; }

/* Editorial: uncoated paper, generous space, a magazine-like rhythm. */
.invite-v2[data-theme='editorialscroll'] .iv-hero { border-radius:3px; }
.invite-v2[data-theme='editorialscroll'][data-color-scheme='editorial-sage'] { --iv-paper:#e9e6dc; --iv-surface:#f7f5ed; --iv-ink:#283a31; --iv-muted:#546158; --iv-accent:#687758; --iv-line:#cbcdbd; }
.invite-v2[data-theme='editorialscroll'][data-color-scheme='editorial-onyx'] { --iv-paper:#202322; --iv-surface:#2c302d; --iv-ink:#f2efe5; --iv-muted:#b9bdb4; --iv-accent:#c4aa7e; --iv-line:#454a44; }
.invite-v2[data-theme='editorialscroll'][data-color-scheme='editorial-cobalt'] { --iv-paper:#182633; --iv-surface:#253644; --iv-ink:#f2eee6; --iv-muted:#b7c1c8; --iv-accent:#c9b797; --iv-line:#415461; }
.interactive-shell.invite-v2[data-theme='editorialscroll'][data-color-scheme='editorial-merlot-moss'] {
  --iv-paper:#f8f6f0; --iv-surface:#faf6ee; --iv-ink:#2f2a24; --iv-muted:#70685b; --iv-accent:#72262c; --iv-line:#d8d1bd;
  --cta-primary-bg:linear-gradient(135deg,#6c7252,#4b5139); --cta-primary-text:#fdf8ef; --cta-primary-border:#5c6246;
  --cta-secondary-bg:linear-gradient(135deg,#872d34,#5d1f24); --cta-secondary-text:#fdf8ef; --cta-secondary-border:#5d242e;
}

/* Curtain: velvet, gilded edges and an actual opening/replay interaction. */
.invite-v2[data-theme='romanticcurtain'] { --iv-paper:#211a19; --iv-surface:#302625; --iv-ink:#f4eee2; --iv-muted:#c2b5a6; --iv-accent:#c6a476; --iv-line:#5a453b; }
.invite-v2[data-theme='romanticcurtain'] { --iv-display:Georgia,serif; }
.invite-v2[data-theme='romanticcurtain'] .iv-hero h1 { font-style:italic; font-size:clamp(2.7rem,6vw,4.6rem); }
.invite-v2[data-theme='romanticcurtain'] .iv-chapter:not(.iv-hero) { margin-top:26px; border:1px solid var(--iv-line); outline:1px solid var(--iv-line); outline-offset:-8px; background:var(--iv-surface); }
.invite-v2[data-theme='romanticcurtain'] .iv-story-image { aspect-ratio:1; border-radius:50% 50% 0 0; width:80%; margin:auto; }
.invite-v2[data-theme='romanticcurtain'] .iv-story-image img { height:100%; }
.invite-v2[data-theme='romanticcurtain'] .iv-story article { text-align:center; }
.invite-v2[data-theme='romanticcurtain'][data-color-scheme='romantic-blush'] { --iv-paper:#f1e6df; --iv-surface:#fcf4ee; --iv-ink:#493630; --iv-muted:#786458; --iv-accent:#96775b; --iv-line:#d4bdad; }
.invite-v2[data-theme='romanticcurtain'][data-color-scheme='romantic-emerald'] { --iv-paper:#152a24; --iv-surface:#20372e; --iv-ink:#f3eddf; --iv-muted:#bcc6b9; --iv-accent:#c4ac77; --iv-line:#43594a; }
.invite-v2[data-theme='romanticcurtain'][data-color-scheme='romantic-ivory'] { --iv-paper:#ede7dc; --iv-surface:#faf6ec; --iv-ink:#39342a; --iv-muted:#746957; --iv-accent:#9b8052; --iv-line:#d5c8b2; }

/* Gallery: cinematic photography, offset frames and restrained inky surfaces. */
.invite-v2[data-theme='galleryreveal'] { --iv-paper:#18202a; --iv-surface:#26313d; --iv-ink:#f4f1e8; --iv-muted:#bac3c9; --iv-accent:#c5ae87; --iv-line:#465360; }
.invite-v2[data-theme='galleryreveal'] { --iv-display:"Sora","Segoe UI",sans-serif; }
.invite-v2[data-theme='galleryreveal'] .iv-hero h1 { font-weight:400; font-size:clamp(2.4rem,6vw,4.2rem); letter-spacing:-.055em; }
.invite-v2[data-theme='galleryreveal'] .iv-hero { border-radius:0; min-height:85svh; padding:32px 24px; background:var(--iv-surface); }
.invite-v2[data-theme='galleryreveal'] .iv-story { padding-left:0; padding-right:0; }
.invite-v2[data-theme='galleryreveal'] .iv-story article { padding:0 32px; }
.invite-v2[data-theme='galleryreveal'] .iv-story-image { margin-right:15%; transform:rotate(-2deg); padding:10px; background:var(--iv-surface); }
.invite-v2[data-theme='galleryreveal'] .iv-gallery-secondary { transform:rotate(3deg); }
.invite-v2[data-theme='galleryreveal'][data-color-scheme='gallery-sunset'] { --iv-paper:#3a2b25; --iv-surface:#49392f; --iv-muted:#cebeaa; --iv-accent:#d9b88c; --iv-line:#705748; }
.invite-v2[data-theme='galleryreveal'][data-color-scheme='gallery-mint'] { --iv-paper:#1d302c; --iv-surface:#2b4038; --iv-muted:#b8c6ba; --iv-accent:#c5b98c; --iv-line:#4a6253; }
.invite-v2[data-theme='galleryreveal'][data-color-scheme='gallery-rose'] { --iv-paper:#32292f; --iv-surface:#46383e; --iv-muted:#ccb8c1; --iv-accent:#d8b49f; --iv-line:#65515b; }

/* Heirloom: folded stationery, a wax seal, letterpress and parchment. */
.invite-v2[data-theme='heirloomenvelope'] { --iv-paper:#e8dfce; --iv-surface:#f8f0df; --iv-ink:#42392c; --iv-muted:#756754; --iv-accent:#967445; --iv-line:#cbbca2; }
.invite-v2[data-theme='heirloomenvelope'] { --iv-display:"Palatino Linotype",Palatino,Georgia,serif; }
.invite-v2[data-theme='heirloomenvelope'] .iv-hero h1 { font-size:clamp(2.6rem,6vw,4.6rem); font-weight:400; }
.invite-v2[data-theme='heirloomenvelope'] .iv-chapter { background:var(--iv-surface); margin-top:24px; border:1px solid var(--iv-line); box-shadow:0 15px 30px #38290c09; }
.invite-v2[data-theme='heirloomenvelope'] .iv-chapter:not(.iv-hero)::before { content:''; position:absolute; inset:12px; border:1px solid var(--iv-line); pointer-events:none; }
.invite-v2[data-theme='heirloomenvelope'] .iv-hero { align-items:center; }
.invite-v2[data-theme='heirloomenvelope'] .iv-hero-photo { opacity:.28; }
.invite-v2[data-theme='heirloomenvelope'] .iv-hero-scrim { background:#332615b0; }
.invite-v2[data-theme='heirloomenvelope'] .iv-panel-left,.invite-v2[data-theme='heirloomenvelope'] .iv-panel-right { background:linear-gradient(125deg,#e6d5b7,#c6ad83)!important; }
.invite-v2[data-theme='heirloomenvelope'] .iv-panel-left { clip-path:polygon(0 0,100% 12%,100% 88%,0 100%); }
.invite-v2[data-theme='heirloomenvelope'] .iv-panel-right { clip-path:polygon(0 12%,100% 0,100% 100%,0 88%); }
.invite-v2[data-theme='heirloomenvelope'] .iv-seal { background:#754137; color:#e5cfa8; border-color:#9e6952; box-shadow:2px 7px 12px #42230f55,inset 0 0 0 5px #0001; }
.invite-v2[data-theme='heirloomenvelope'] .iv-open-button { background:#5e4733; }
.invite-v2[data-theme='heirloomenvelope'] .iv-story-image { padding:10px; background:#fffbf2; border:1px solid var(--iv-line); }
.invite-v2[data-theme='heirloomenvelope'][data-color-scheme='heirloom-burgundy'] { --iv-paper:#38292b; --iv-surface:#493639; --iv-ink:#f2e7d6; --iv-muted:#c9b5ac; --iv-accent:#d0ad7e; --iv-line:#70564f; }
.invite-v2[data-theme='heirloomenvelope'][data-color-scheme='heirloom-obsidian'] { --iv-paper:#262522; --iv-surface:#33322d; --iv-ink:#ede5d4; --iv-muted:#bdb6a5; --iv-accent:#c0a97d; --iv-line:#595548; }

/* Atelier: sculptural type, asymmetry and a terracotta disc. */
.invite-v2[data-theme='atelier'] { --iv-paper:#f0e9de; --iv-surface:#fcf7ee; --iv-ink:#282722; --iv-muted:#71685c; --iv-accent:#a35e43; --iv-line:#d4c7b5; --iv-display:"Sora","Segoe UI",sans-serif; }
.invite-v2[data-theme='atelier'] .iv-hero { border-radius:0; background:var(--iv-paper); justify-content:flex-start; align-items:center; }
.invite-v2[data-theme='atelier'] .iv-hero-content { text-align:left; position:relative; color:var(--iv-ink); max-width:530px; }
.invite-v2[data-theme='atelier'] .iv-hero h1 { font-size:clamp(2.6rem,6vw,4.7rem); font-weight:500; letter-spacing:-.065em; }
.invite-v2[data-theme='atelier'] .iv-hero-photo { width:52%; height:68%; inset:16% 0 auto auto; border-radius:50% 0 0 50%; opacity:.25; z-index:-1; }
.invite-v2[data-theme='atelier'] .iv-hero-video { width:52%; height:68%; inset:16% 0 auto auto; border-radius:50% 0 0 50%; opacity:.25; z-index:-1; }
.invite-v2[data-theme='atelier'] .iv-hero-scrim { background:none; width:130px; height:130px; inset:70% -45px auto auto; border-radius:50%; background:var(--iv-accent); opacity:.5; }
.invite-v2[data-theme='atelier'] .iv-hero .iv-kicker,.invite-v2[data-theme='atelier'] .iv-scroll-cue { color:var(--iv-ink); }
.invite-v2[data-theme='atelier'] .iv-hero-rule { margin-left:0; }
.invite-v2[data-theme='atelier'] .iv-invitation article { text-align:left; margin-left:0; }
.invite-v2[data-theme='atelier'] .iv-section-number { text-align:left; font-size:2rem; color:var(--iv-accent); }
.invite-v2[data-theme='atelier'] .iv-guest-allocation { justify-content:flex-start; }
.invite-v2[data-theme='atelier'] .iv-story-image { border-radius:50% 50% 0 0; max-width:70%; margin-left:auto; }
.invite-v2[data-theme='atelier'] .iv-highlights h3 { font-size:1.05rem; font-weight:500; }
.invite-v2[data-theme='atelier'][data-color-scheme='atelier-clay'] { --iv-paper:#e7c7b3; --iv-surface:#f5e2d6; --iv-ink:#402d25; --iv-muted:#775748; --iv-accent:#8c4b34; --iv-line:#c7a18a; }
.invite-v2[data-theme='atelier'][data-color-scheme='atelier-carbon'] { --iv-paper:#272723; --iv-surface:#35352e; --iv-ink:#f3ecda; --iv-muted:#c0bcac; --iv-accent:#cfab7e; --iv-line:#56564a; }

/* Celestial: fine constellation lines, a moon halo and luminous serif type. */
.invite-v2[data-theme='celestial'] { --iv-paper:#111c2b; --iv-surface:#1b2a3c; --iv-ink:#f3efe4; --iv-muted:#b0bdcd; --iv-accent:#d1bf93; --iv-line:#3d5068; }
.invite-v2[data-theme='celestial'] .iv-hero h1 { font-style:italic; letter-spacing:-.015em; }
.invite-v2[data-theme='celestial'] .iv-hero { align-items:center; background:radial-gradient(ellipse at 50% 35%,#41537588,transparent 60%),var(--iv-paper); border:1px solid var(--iv-line); border-radius:180px 180px 3px 3px; }
.invite-v2[data-theme='celestial'] .iv-hero-photo { opacity:.15; }
.invite-v2[data-theme='celestial'] .iv-hero-scrim { background:radial-gradient(ellipse,#14203388,#111c2b); }
.invite-v2[data-theme='celestial'] .iv-hero-content { padding-top:150px; }
.invite-v2[data-theme='celestial'] .iv-celestial-orbit { display:block; position:absolute; top:10%; left:50%; width:170px; height:170px; transform:translateX(-50%); border:1px solid #d1bf9340; border-radius:50%; }
.invite-v2[data-theme='celestial'] .iv-celestial-orbit i { position:absolute; inset:18px; border-radius:50%; border:1px solid #d1bf9330; transform:rotate(-30deg) scaleX(.55); }
.invite-v2[data-theme='celestial'] .iv-celestial-orbit i+i { transform:rotate(30deg) scaleX(.55); }
.invite-v2[data-theme='celestial'] .iv-celestial-orbit span { display:block; text-align:center; margin-top:52px; font-size:2.5rem; color:var(--iv-accent); text-shadow:0 0 25px #d1bf9350; }
.invite-v2[data-theme='celestial'] .iv-invitation article,.invite-v2[data-theme='celestial'] .iv-story article,.invite-v2[data-theme='celestial'] .iv-details article { text-align:center; }
.invite-v2[data-theme='celestial'] .iv-story-image { border-radius:50% 50% 4px 4px; }
.invite-v2[data-theme='celestial'] .iv-highlights>div { justify-content:center; }
.invite-v2[data-theme='celestial'][data-color-scheme='celestial-eclipse'] { --iv-paper:#211b29; --iv-surface:#32273d; --iv-muted:#c2b4cc; --iv-line:#544563; --iv-accent:#d1b3aa; }
.invite-v2[data-theme='celestial'][data-color-scheme='celestial-dawn'] { --iv-paper:#e9e5e1; --iv-surface:#f7f3ed; --iv-ink:#2d3743; --iv-muted:#68727b; --iv-line:#c5c4c6; --iv-accent:#857362; }

/* Rose keeps the drawing/animation engine, with a quieter surrounding experience. */
.invite-v2[data-theme='rosebloom'] { padding:0 0 8rem; --iv-paper:#120f12; --iv-surface:#251e25; --iv-ink:#f8f1e9; --iv-muted:#c4b9bf; --iv-accent:#d8b8a4; --iv-line:#51424b; }
.invite-v2 .rose-bloom-experience { min-height:100svh; background:radial-gradient(circle at 50% 32%,#382532,#120f12 68%); }
.invite-v2 .rose-bloom-experience h1 { font-family:var(--iv-display); font-size:clamp(2.5rem,7vw,4rem); line-height:1.1; letter-spacing:-.02em; }
.invite-v2 .rose-bloom-experience .birthday-note { color:#d3c5cb; font-size:.9rem; line-height:1.8; max-width:430px; margin:20px auto; padding:0 20px; }
.invite-v2 .rose-bloom-experience .start-button { min-height:48px; border-radius:40px; letter-spacing:.08em; }
.invite-v2 .rose-bloom-experience { height:auto; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:340px 24px 120px; }
.invite-v2 .rose-bloom-experience .rose-wrap { top:7%; width:min(80vw,360px); height:310px; transform:translateX(-50%); }
.invite-v2 .rose-bloom-experience .wish { position:relative; left:auto; bottom:auto; transform:none; width:100%; opacity:1; animation:none; }
.invite-v2 .rose-bloom-experience .rose-subtitle { font: .86rem/1.7 var(--iv-body); color:#e1d3d8; margin:20px auto 0; max-width:420px; }
.invite-v2 .rose-bloom-experience .start-button { position:relative; bottom:auto; left:auto; transform:none; width:fit-content; min-width:0; margin:24px auto 0; box-shadow:none; }
.invite-v2 .rose-bloom-experience.is-started .start-button { transform:none; }
.invite-v2 .rose-bloom-experience:not(.is-started) .rose-line { stroke-dashoffset:0; opacity:.2; }
.invite-v2[data-theme='rosebloom'][data-color-scheme='rose-scarlet-neon'] { --iv-paper:#211516; --iv-surface:#382628; --iv-accent:#c49583; }
.invite-v2[data-theme='rosebloom'][data-color-scheme='rose-dark-pink'] { --iv-paper:#1d121b; --iv-surface:#332132; --iv-accent:#c99cad; }
.invite-v2[data-theme='rosebloom'][data-color-scheme='rose-violet-sapphire'] { --iv-paper:#141725; --iv-surface:#262940; --iv-accent:#aaa4cb; }
.invite-v2[data-theme='rosebloom'][data-color-scheme='rose-champagne-gold'] { --iv-paper:#1a1611; --iv-surface:#30291e; --iv-accent:#d1b88b; }
.invite-v2[data-theme='rosebloom'][data-color-scheme='rose-moonlit-white'] { --iv-paper:#191c20; --iv-surface:#2c3339; --iv-accent:#d2d7d8; }
.invite-v2[data-theme='rosebloom'] .rose-bloom-experience { background:radial-gradient(circle at 50% 32%,var(--iv-surface),var(--iv-paper) 70%); }
.invite-v2[data-typography='modern'] { --iv-display:"Sora","Segoe UI",sans-serif; }
.invite-v2[data-typography='modern'] h1 { letter-spacing:-.055em; }
.invite-v2[data-typography='romantic'] { --iv-display:"Cormorant Garamond",Georgia,serif; }
.invite-v2[data-typography='romantic'] .iv-hero h1 { font-style:italic; }
.invite-v2 .invite-fab { width:44px; height:44px; box-shadow:0 4px 12px #0000000d; border:1px solid var(--iv-line); color:var(--iv-ink); background:var(--iv-surface); }
.invite-v2 .interactive-progress-caption { box-shadow:none; border-radius:30px; font-size:.65rem; color:var(--iv-ink); background:var(--iv-surface); border-color:var(--iv-line); }
.invite-v2 .invite-desktop-actions { box-shadow:0 10px 40px #00000016; border-radius:14px; max-width:350px; }
.invite-v2 .invite-desktop-actions p { line-height:1.6; }
.invite-v2 .invite-rsvp-sheet { border-radius:24px 24px 0 0; padding:24px; color:var(--iv-ink); background:var(--iv-surface); }
.invite-v2 .invite-rsvp-sheet .rz-textarea::placeholder { color:var(--iv-muted); }
.invite-v2 .invite-rsvp-sheet .rz-textarea:hover,.invite-v2 .invite-rsvp-sheet .rz-textarea:focus { background:var(--iv-paper)!important; }
.invite-v2 .invite-mobile-actions .rz-button,.invite-v2 .invite-desktop-actions .rz-button { border-radius:10px; min-height:48px; font-size:.75rem; letter-spacing:.03em; box-shadow:none!important; }
.invite-v2 .invite-feature-dock { border-radius:12px; font-size:.75rem; box-shadow:0 6px 20px #0000000a; }
.invite-v2 .invite-feature-status { min-height:44px; }
.invite-v2 .invite-registry-section,.invite-v2 .invite-seating-section { margin:24px; color:var(--iv-ink); }
.invite-v2 .invite-gift-registry { --igr-bg:var(--iv-surface); --igr-border:var(--iv-line); --igr-color:var(--iv-ink); --igr-muted:var(--iv-muted); --igr-icon-color:var(--iv-accent); --igr-shadow:none; }
.invite-v2 .invite-seating { --is-bg:var(--iv-surface); --is-border:var(--iv-line); --is-color:var(--iv-ink); --is-muted:var(--iv-muted); --is-accent:var(--iv-accent); --is-icon-color:var(--iv-accent); --is-shadow:none; }
.invite-v2 .gr-confetti-piece { position:absolute; width:5px; height:10px; background:var(--iv-accent); top:10px; animation:iv-confetti 1.3s ease-out forwards; }
@keyframes iv-confetti { to { transform:translateY(200px) rotate(250deg); opacity:0; } }
@media(min-width:900px) {
  .invite-v2[data-theme='editorialscroll'] .iv-story { grid-template-columns:1fr 1.1fr; align-items:center; gap:48px; }
  .invite-v2[data-theme='atelier'] .iv-details article { margin-left:0; }
}
@media(max-width:767px) {
  .interactive-shell.invite-v2 { padding-top:4.4rem; padding-bottom:10rem; }
  .invite-v2 .iv-chapter { margin:0 16px; padding:42px 22px; scroll-margin-top:4.2rem; }
  .invite-v2 .iv-hero { min-height:78svh; padding:58px 24px; }
  .invite-v2 .iv-hero h1 { font-size:clamp(2.7rem,10.5vw,4rem); }
  .invite-v2 .iv-hero-subtitle { font-size:.82rem; line-height:1.7; }
  .invite-v2 h2 { font-size:clamp(2rem,8vw,2.8rem); }
  .invite-v2 .iv-copy { font-size:.88rem; line-height:1.85; }
  .invite-v2 .iv-story { gap:28px; }
  .invite-v2 .iv-story-image img { max-height:380px; }
  .invite-v2 .iv-detail-list dd { font-size:1.3rem; }
  .invite-v2 .iv-detail-list>div { grid-template-columns:60px minmax(0,1fr); gap:14px; }
  .invite-v2 .iv-countdown { gap:28px; }
  .invite-v2 .iv-scratch-content { font-size:1.55rem; }
  .invite-v2 .iv-finale>img { aspect-ratio:4/3; }
  .invite-v2 .invite-fab-back,.invite-v2 .invite-fab-audio { top:calc(env(safe-area-inset-top) + .65rem); }
  .invite-v2 .interactive-progress-caption { width:calc(100% - 8rem); padding:.6rem .85rem; min-height:38px; justify-content:center; }
  .invite-v2 .interactive-progress-caption strong { display:none; }
  .invite-v2 .invite-mobile-actions { padding:.7rem 1rem calc(env(safe-area-inset-bottom) + .7rem); border-top:1px solid var(--iv-line); background:var(--iv-surface); backdrop-filter:blur(14px); }
  .invite-v2 .invite-rsvp-sheet { max-height:85svh; overflow-y:auto; padding-bottom:calc(env(safe-area-inset-bottom) + 24px); }
  .invite-v2 .invite-feature-dock { width:calc(100% - 32px); bottom:calc(env(safe-area-inset-bottom) + 5.4rem); }
  .invite-v2[data-theme='galleryreveal'] .iv-story article { padding:0 22px; }
  .invite-v2[data-theme='atelier'] .iv-hero h1 { font-size:clamp(2.4rem,9.5vw,3.6rem); }
  .invite-v2[data-theme='celestial'] .iv-celestial-orbit { width:130px; height:130px; }
  .invite-v2[data-theme='celestial'] .iv-celestial-orbit span { margin-top:35px; font-size:2rem; }
  .invite-v2[data-theme='celestial'] .iv-hero-content { padding-top:110px; }
  .invite-v2[data-theme='rosebloom'] { padding-top:0; }
}
@media(prefers-reduced-motion:reduce) {
  .invite-v2 *, .invite-v2 *::before,.invite-v2 *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Hide instructions on the first stroke, before any underlying copy is exposed. */
.invite-v2 .iv-scratch-card.is-scratching .iv-scratch-cue { display:none; }
.interactive-shell[data-audio-start-on-open='1']:not([data-invite-opened='1']) .invite-fab-audio { display:none; }

/* Journal: serif folios, an italic dedication and a ruled programme. */
.invite-v2[data-theme='editorialscroll'] .iv-invitation { padding-block:80px; }
.invite-v2[data-theme='editorialscroll'] .iv-invitation h2 { font-size:clamp(2.5rem,6vw,4.1rem); font-style:italic; }
.invite-v2[data-theme='editorialscroll'] .iv-section-number { width:36px; margin:0 auto 28px; border-block:1px solid var(--iv-line); padding:10px 0; }
.invite-v2[data-theme='editorialscroll'] .iv-highlights>div { border-top:0; border-left:1px solid var(--iv-line); padding:12px 0 22px 22px; }
.invite-v2[data-theme='editorialscroll'] .iv-highlight-mark { font-size:1rem; }
.invite-v2[data-theme='editorialscroll'] .iv-details article { padding:24px; border-block:3px double var(--iv-line); }

/* Gallery: a photographic contact sheet and contrasting exhibition labels. */
.invite-v2[data-theme='galleryreveal'] .iv-hero-photo,.invite-v2[data-theme='galleryreveal'] .iv-hero-video { height:72%; }
.invite-v2[data-theme='galleryreveal'] .iv-hero-scrim { background:linear-gradient(180deg,transparent 35%,var(--iv-surface) 85%); }
.invite-v2[data-theme='galleryreveal'] .iv-hero-content { text-align:left; color:var(--iv-ink); background:var(--iv-surface); padding:24px; border-left:4px solid var(--iv-accent); }
.invite-v2[data-theme='galleryreveal'] .iv-hero .iv-kicker { color:var(--iv-accent); }
.invite-v2[data-theme='galleryreveal'] .iv-hero-rule { margin-left:0; }
.invite-v2[data-theme='galleryreveal'] .iv-gallery-strip { position:absolute; top:8%; right:5%; display:flex; gap:12px; width:46%; transform:rotate(6deg); }
.invite-v2[data-theme='galleryreveal'] .iv-gallery-strip img { width:calc(50% - 6px); aspect-ratio:3/4; object-fit:cover; border:7px solid var(--iv-surface); box-shadow:0 10px 28px #0005; }
.invite-v2[data-theme='galleryreveal'] .iv-invitation { border:0; background:var(--iv-ink); color:var(--iv-paper); margin-block:28px; }
.invite-v2[data-theme='galleryreveal'] .iv-invitation .iv-copy,.invite-v2[data-theme='galleryreveal'] .iv-invitation .iv-guest-allocation { color:var(--iv-paper); }
.invite-v2[data-theme='galleryreveal'] .iv-invitation .iv-guest-allocation strong { color:var(--iv-paper); border-color:currentColor; }
.invite-v2[data-theme='galleryreveal'] .iv-invitation .iv-kicker,.invite-v2[data-theme='galleryreveal'] .iv-section-number { color:var(--iv-paper); }
.invite-v2[data-theme='galleryreveal'] .iv-details .iv-detail-list dd { font-family:var(--iv-body); font-size:1.2rem; }

/* Heirloom: a hinged envelope flap and folded pocket, rather than curtains. */
.invite-v2[data-theme='heirloomenvelope'] .iv-opening-panels { background:linear-gradient(145deg,var(--iv-surface),var(--iv-paper)); perspective:1000px; transition:background 1s; }
.invite-v2[data-theme='heirloomenvelope'] .iv-opening.is-open .iv-opening-panels { background:transparent; }
.invite-v2[data-theme='heirloomenvelope'] .iv-envelope-pocket { position:absolute; inset:24% 0 0; background:linear-gradient(145deg,#decca9,#f0e4cf 50%,#d4bd98); clip-path:polygon(0 0,50% 38%,100% 0,100% 100%,0 100%); filter:drop-shadow(0 -8px 12px #35231030); transition:transform 1.2s cubic-bezier(.22,.68,.2,1); }
.invite-v2[data-theme='heirloomenvelope'] .iv-envelope-flap { position:absolute; inset:0 0 40%; background:linear-gradient(180deg,#f1e6d1,#c7b08a); clip-path:polygon(0 0,100% 0,50% 100%); transform-origin:top center; transition:transform 1.2s cubic-bezier(.22,.68,.2,1),opacity .8s; }
.invite-v2[data-theme='heirloomenvelope'] .iv-opening.is-open .iv-envelope-flap { transform:rotateX(-165deg); opacity:0; }
.invite-v2[data-theme='heirloomenvelope'] .iv-opening.is-open .iv-envelope-pocket { transform:translateY(110%); }
.invite-v2[data-theme='heirloomenvelope'] .iv-highlights h3 { font-style:italic; }
.invite-v2[data-theme='heirloomenvelope'] .iv-detail-list { border-bottom:1px solid var(--iv-line); }

/* Atelier: a graphic poster, geometric artwork and a modern information grid. */
.invite-v2[data-theme='atelier'] .iv-hero { align-items:flex-start; min-height:850px; padding:44px 32px 300px; border-top:5px solid var(--iv-accent); }
.invite-v2[data-theme='atelier'] .iv-hero-content { max-width:100%; }
.invite-v2[data-theme='atelier'] .iv-hero h1 { text-transform:uppercase; font-size:clamp(2.5rem,6vw,4.5rem); line-height:1.08; font-weight:500; }
.invite-v2[data-theme='atelier'] .iv-hero-subtitle { max-width:400px; }
.invite-v2[data-theme='atelier'] .iv-hero-date { border-top:1px solid var(--iv-line); padding-top:14px; width:fit-content; }
.invite-v2[data-theme='atelier'] .iv-hero-photo,.invite-v2[data-theme='atelier'] .iv-hero-video { inset:auto 6% 6% auto; width:55%; height:250px; border-radius:140px 140px 0 0; opacity:1; z-index:0; }
.invite-v2[data-theme='atelier'] .iv-hero-scrim { display:none; }
.invite-v2[data-theme='atelier'] .iv-atelier-art { position:absolute; left:7%; bottom:7%; width:26%; height:220px; color:var(--iv-accent); }
.invite-v2[data-theme='atelier'] .iv-atelier-art i { display:block; width:100%; height:50%; border-radius:50%; border:1px solid currentColor; }
.invite-v2[data-theme='atelier'] .iv-atelier-art i+i { background:currentColor; border-radius:0; }
.invite-v2[data-theme='atelier'] .iv-atelier-art span { position:absolute; inset:15% 0 auto; text-align:center; font-size:3rem; }
.invite-v2[data-theme='atelier'] .iv-invitation { border-block:1px solid var(--iv-line); background:var(--iv-surface); margin-block:32px; }
.invite-v2[data-theme='atelier'] .iv-invitation h2 { font-size:clamp(1.9rem,4vw,2.7rem); }
.invite-v2[data-theme='atelier'] .iv-section-number { font-size:3.5rem; line-height:1; font-weight:300; border-left:4px solid var(--iv-accent); padding-left:18px; }
.invite-v2[data-theme='atelier'] .iv-highlights { gap:12px; }
.invite-v2[data-theme='atelier'] .iv-highlights>div { border:1px solid var(--iv-line); padding:20px; background:var(--iv-surface); }
.invite-v2[data-theme='atelier'] .iv-story-image { border-radius:0; max-width:100%; margin:0; }
.invite-v2[data-theme='atelier'] .iv-detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.invite-v2[data-theme='atelier'] .iv-detail-list>div { display:flex; flex-direction:column; border:1px solid var(--iv-line); gap:12px; padding:20px; }
.invite-v2[data-theme='atelier'] .iv-detail-list>div:last-child { grid-column:1/-1; }
.invite-v2[data-theme='atelier'] .iv-detail-list dd { font-family:var(--iv-body); font-size:1.2rem; }
.invite-v2[data-theme='atelier'] .iv-reveal { text-align:left; }
.invite-v2[data-theme='atelier'] .iv-scratch-card { border-radius:0; border-width:2px; }
@media (min-width:900px) {
  .invite-v2[data-theme='atelier'] .iv-story { grid-template-columns:1.15fr 1fr; gap:40px; align-items:start; }
  .invite-v2[data-theme='atelier'] .iv-story-image { order:2; position:sticky; top:100px; }
  .invite-v2[data-theme='atelier'] .iv-story article { order:1; }
}
@media (max-width:600px) {
  .invite-v2[data-theme='atelier'] .iv-hero { padding:30px 22px 280px; min-height:760px; }
  .invite-v2[data-theme='atelier'] .iv-hero h1 { font-size:clamp(2.15rem,8vw,3.1rem); }
  .invite-v2[data-theme='atelier'] .iv-detail-list { grid-template-columns:1fr; }
  .invite-v2[data-theme='galleryreveal'] .iv-hero-content { padding:22px 16px; }
}
