/* ROYAL HERITAGE. Stage is 1080×1920 (scaled to the phone). Position things in px. */
body.theme-royal-heritage{
  --rh-maroon:#6d0f1f; --rh-maroon2:#4a0812; --rh-green:#123f2c; --rh-ink:#2b1a10; --rh-ivory:#f7efe0; --rh-gold:#b8862c;
  --f-cin:"Cinzel", Georgia, serif; --f-cor:"Cormorant Garamond", Georgia, serif; --f-scr:"Pinyon Script", cursive;
}
.theme-royal-heritage .gTitle{font:700 40px/1.05 var(--f-cin);letter-spacing:3px;color:#f3d891}
.theme-royal-heritage .gKick{color:#f3d891}
.theme-royal-heritage .gBg{filter:none}
.theme-royal-heritage .gIn{background:linear-gradient(rgba(40,6,12,0),rgba(40,6,12,.9) 45%)}

.rh-cam{position:absolute;inset:0;transform-origin:50% 45%}
.rh-t{position:absolute;left:70px;right:70px;margin:0;text-align:center}
.maroon{color:var(--rh-maroon)} .green{color:var(--rh-green)} .ink{color:var(--rh-ink)}
.gold{background:linear-gradient(180deg,#f7e3a0 0%,#d9a84a 22%,#a8741f 45%,#f3d27e 62%,#b98530 80%,#f7e3a0 100%);background-size:100% 300%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* frame */
.rh-frame{position:absolute;inset:0;pointer-events:none;z-index:4}
.rh-frameImg{position:absolute;width:1px;height:1px;opacity:0}
.rh-frame{border-style:solid;border-width:380px 316px;border-image:url(art/frame.webp) 360 300 fill / 380px 316px stretch}
.rh-frame.onDark{opacity:.9}

/* crest */
.rh-crest{position:absolute;z-index:6}
.rh-crestImg{position:absolute;left:0;top:0;width:100%;height:100%;filter:drop-shadow(0 10px 18px rgba(60,20,0,.28))}
.rh-ini{position:absolute;left:27%;right:27%;top:37%;height:30%;display:flex;align-items:center;justify-content:center;font-family:var(--f-cin);font-weight:700;line-height:1;letter-spacing:-.02em;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}
.rh-ini i{font-family:var(--f-cor);font-style:italic;font-weight:700;font-size:.6em;margin:0 .04em;position:relative;top:.02em}
.rh-crestEl{top:40%;z-index:-1}

/* cover */
.rh-kick{font:600 46px/1 var(--f-cin);letter-spacing:.12em;text-transform:uppercase}
.rh-name{font:700 170px/1.05 var(--f-cin);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;left:0;right:0;padding-bottom:6px}
.rh-amp{font:italic 700 130px/1 var(--f-cor);left:0;right:0}
.rh-city{font:700 54px/1 var(--f-cin);letter-spacing:.12em;text-transform:uppercase}
.rh-coverSky{left:40px;width:1000px;top:1380px;opacity:.9}
.rh-coverEl{width:400px;top:1440px;z-index:3}
.rh-coverEl.l{left:-60px}.rh-coverEl.r{right:-60px}
.rh-coverPk{width:290px;top:1630px;z-index:3}
.rh-coverPk.l{left:150px}.rh-coverPk.r{right:150px}
.rh-coverFl{width:200px;top:1180px;transform-origin:50% 100%;z-index:2}
.rh-coverFl.l{left:20px}.rh-coverFl.r{right:20px}
.rh-glint{z-index:8;mix-blend-mode:screen}

/* ganesh */
.rh-halo{position:absolute;left:340px;top:80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,214,120,.55),rgba(255,214,120,0) 68%);z-index:2}
.rh-ganesh{left:415px;top:110px;width:250px;z-index:3;filter:drop-shadow(0 6px 10px rgba(90,50,0,.3))}
.rh-deva{font:400 50px/1.2 "Tiro Devanagari Hindi", serif;color:var(--rh-maroon)}
.rh-h{font:700 104px/1.05 var(--f-cin);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;left:0;right:0}
.rh-archWrap{position:absolute;left:170px;top:800px;width:740px;height:1110px;z-index:3}
.rh-archWin{position:absolute;left:15%;right:15%;top:22%;bottom:16%;overflow:hidden;background:#123f2c}
.rh-archCouple{position:absolute;left:-16%;top:3%;width:132%;height:auto}
.rh-archImg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 8px 16px rgba(70,40,0,.25))}

/* scroll */
.rh-scroll{position:absolute;z-index:5}
.rh-scrollBody{position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.rh-parch{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rh-scrollIn{position:absolute;inset:0}
.rh-roller{position:absolute;left:-60px;width:calc(100% + 120px);height:auto;z-index:3;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.rh-hear{font:700 112px/1 "Cinzel Decorative", var(--f-cin);left:0;right:0}
.rh-body{font:600 46px/1.28 var(--f-cor);text-transform:none;left:70px;right:70px}
.rh-script{font:400 120px/1.15 var(--f-scr);left:0;right:0;white-space:nowrap}
.rh-date{font:700 34px/1.2 var(--f-cin);letter-spacing:.12em;text-transform:uppercase;left:40px;right:40px}
.rh-scrollCouple{position:absolute;left:150px;width:560px;top:640px;height:640px;object-fit:cover;object-position:50% 15%;mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(ellipse 62% 70% at 50% 42%,#000 66%,transparent 100%);mask-image:radial-gradient(ellipse 62% 70% at 50% 42%,#000 66%,transparent 100%)}
.rh-seal{position:absolute;z-index:9}
.rh-sealImg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.rh-sealIni{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-cin);font-weight:700;color:#e9c070;
  text-shadow:0 -2px 0 rgba(0,0,0,.45),0 2px 0 rgba(255,220,180,.25);letter-spacing:-.02em}
.rh-sealIni i{font-family:var(--f-cor);font-style:italic;font-weight:700;font-size:.6em;margin:0 .04em}

/* dear family */
.rh-dear{font:italic 600 58px/1 var(--f-cor)}
.rh-cord{position:absolute;left:40px;right:40px;top:398px;height:6px;border-radius:3px;background:linear-gradient(#e3c27a,#9b6c22);box-shadow:0 2px 3px rgba(0,0,0,.25)}
.rh-flow{position:absolute;left:56px;right:56px;top:470px;bottom:110px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;text-align:center}
.rh-flow .rh-body{font-size:52px;line-height:1.3}
.rh-flowDiv{width:300px}
.rh-flow p{position:relative;left:auto;right:auto;margin:0}
.rh-flow .rh-script{line-height:1.25}
.rh-sign{font:italic 600 48px/1.2 var(--f-cor)}
.rh-fam{font:700 44px/1.25 var(--f-cin);letter-spacing:.04em;margin-top:-30px!important}

/* royal court */
.rh-the{font:700 58px/1 var(--f-cin);letter-spacing:.1em;text-transform:uppercase}
.rh-courtSky{left:40px;width:1000px;top:610px}
.rh-throne{position:absolute;left:80px;top:290px;width:920px;height:700px;object-fit:cover;object-position:50% 35%;mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(ellipse 72% 75% at 50% 48%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 72% 75% at 50% 48%,#000 70%,transparent 100%)}
.rh-court{position:absolute;left:100px;right:100px;top:990px;bottom:130px;display:flex;flex-direction:column;justify-content:center;gap:10px;text-align:center;z-index:5}
.rh-side{position:relative;padding:0 96px}
.rh-sideDiv{display:block;width:240px;margin:0 auto 10px}
.rh-sideH{font:700 44px/1.1 var(--f-cin);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;color:#a8741f}
.rh-row{margin:6px 0}
.rh-rel{font:italic 600 32px/1.15 var(--f-cor);color:#8a6a3a}
.rh-nm{font:700 42px/1.15 var(--f-cor);color:var(--rh-ink)}
.rh-medal{position:absolute;top:50%;width:100px;height:115px;margin-top:-50px}
.rh-medal.l{left:-14px}.rh-medal.r{right:-14px}
.rh-medalImg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.rh-medalIni{position:absolute;left:0;right:0;top:41%;text-align:center;font:700 34px/1 var(--f-cin);color:var(--rh-maroon)}

/* celebrations */
.rh-card{position:absolute;left:52px;top:52px;right:52px;bottom:52px;overflow:hidden;box-shadow:0 0 0 4px #c99b45,0 0 0 10px rgba(0,0,0,.18),0 0 0 14px #c99b45}
.rh-cardBg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rh-cardRule{position:absolute;inset:16px;border:2px solid #c99b45}
.rh-card .rh-t{left:0;right:0}
.rh-ev{position:absolute;left:40px;right:40px}
.rh-fig{position:absolute;bottom:0;max-width:300px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(60,30,0,.25))}
.rh-ev.l .rh-fig{left:0}.rh-ev.r .rh-fig{right:0}
.rh-evText{position:absolute;top:50%;margin-top:-90px;height:180px;display:flex;flex-direction:column;justify-content:center;text-align:center;width:620px}
.rh-ev.l .rh-evText{right:0;transform-origin:70% 50%}.rh-ev.r .rh-evText{left:0;transform-origin:30% 50%}
.rh-evT{font:700 58px/1.05 var(--f-cin);text-transform:uppercase;white-space:nowrap;margin:0}
.rh-evD{font:700 36px/1.25 var(--f-cin);color:var(--rh-ink);text-transform:uppercase;margin:6px 0 0}
.rh-evV{font:italic 600 34px/1.2 var(--f-cor);color:var(--rh-maroon);margin:2px 0 0}
.rh-evDr{font:500 30px/1.2 var(--f-cor);color:#6a5434;margin:0}
.rh-evLine{position:absolute;left:280px;right:280px;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#c99b45,transparent)}
.rh-div{z-index:5}

/* phere */
.rh-mandap{position:absolute;left:60px;top:300px;width:960px;height:1110px;object-fit:cover;mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(ellipse 70% 72% at 50% 48%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 70% 72% at 50% 48%,#000 72%,transparent 100%)}
.rh-when{font:700 70px/1.1 var(--f-cin);text-transform:uppercase;white-space:nowrap;left:0;right:0}
.rh-venue{font:700 46px/1.15 var(--f-cin);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;left:0;right:0}
.rh-note{font:italic 600 36px/1.35 var(--f-cor)}

/* rsvp */
.rh-rsvpH{font:700 130px/1 var(--f-cin)}
.rh-by{font:700 36px/1 var(--f-cin);letter-spacing:.08em;text-transform:uppercase}
.rh-rsvpCouple{position:absolute;left:0;width:1080px;top:1450px;height:470px;object-fit:cover;object-position:50% 0%;mix-blend-mode:multiply;z-index:1;
  -webkit-mask-image:linear-gradient(transparent,#000 14%);mask-image:linear-gradient(transparent,#000 14%)}
.rh-form{position:absolute;left:90px;right:90px;top:550px;z-index:6;padding:22px 30px 26px;background:rgba(250,243,230,.94);border:2px solid #c99b45;box-shadow:0 0 0 8px rgba(250,243,230,.94),0 0 0 10px #c99b45,0 18px 40px rgba(60,20,0,.18)}
.rh-rsvpRow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(201,155,69,.5)}
.rh-rsvpT{font:700 32px/1.1 var(--f-cin);color:var(--rh-maroon);text-transform:uppercase;margin:0}
.rh-rsvpT span{display:block;font:italic 600 30px/1.15 var(--f-cor);color:#6a5434;text-transform:none}
.rh-yn{display:flex;gap:10px}
.rh-rsvpRows.compact .rh-rsvpT span{display:none}
.rh-rsvpRows.compact .rh-pill{padding:10px 16px}
.rh-pill{font:700 28px/1 var(--f-cin);padding:14px 18px;min-width:104px;border-radius:40px;border:2px solid #c99b45;background:#fffaf0;color:var(--rh-ink);cursor:pointer}
.rh-pill.yes.on{background:var(--rh-green);color:#f6e2a8;border-color:var(--rh-green)}
.rh-pill.no.on{background:var(--rh-maroon);color:#f6e2a8;border-color:var(--rh-maroon)}
.rh-pill.maybe.on{background:#b8862c;color:#fff;border-color:#b8862c}
.rh-lab{font:700 30px/1 var(--f-cin);color:var(--rh-green);text-transform:uppercase;letter-spacing:.06em;margin:22px 0 12px}
.rh-chips{display:flex;flex-wrap:wrap;gap:10px}
.rh-chip{font:600 30px/1 var(--f-cor);padding:12px 22px;border-radius:30px;border:2px solid #c99b45;background:#fffaf0;color:var(--rh-ink);cursor:pointer}
.rh-chip.on{background:var(--rh-maroon);border-color:var(--rh-maroon);color:#f6e2a8}
.rh-note-in{display:block;width:100%;margin-top:18px;font:500 32px/1.25 var(--f-cor);color:var(--rh-ink);padding:14px 18px;border:2px solid #c99b45;background:#fffdf7;resize:none;border-radius:6px}
.rh-send{display:block;width:100%;margin-top:18px;font:700 36px/1 var(--f-cin);letter-spacing:.06em;color:#f6e2a8;background:linear-gradient(#7f1426,#560a17);border:2px solid #c99b45;border-radius:50px;padding:24px 10px;cursor:pointer}
.rh-thanks{position:absolute;left:110px;right:110px;top:600px;z-index:7;visibility:hidden;opacity:0;text-align:center;padding:50px 40px;background:rgba(250,243,230,.96);border:2px solid #c99b45}
.rh-thSeal{position:relative;width:220px;height:220px;margin:0 auto 20px}
.rh-thSeal img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.rh-thSeal span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 66px/1 var(--f-cin);color:#e9c070;text-shadow:0 -2px 0 rgba(0,0,0,.45)}
.rh-thSeal span i{font-family:var(--f-cor);font-style:italic;font-weight:700;font-size:.6em;margin:0 .04em}
.rh-thH{font:700 60px/1.1 var(--f-cin);margin:0 0 16px}
.rh-thB{font:600 42px/1.3 var(--f-cor);color:var(--rh-ink);margin:0}

/* palace doors (page turn) */
.rh-doors{position:absolute;inset:0;z-index:500;pointer-events:none;perspective:2200px}
.rh-leaf{position:absolute;top:0;width:540px;height:1920px;overflow:hidden;backface-visibility:hidden;box-shadow:0 0 40px rgba(0,0,0,.5)}
.rh-leaf.l{left:0;transform-origin:0 50%}
.rh-leaf.r{left:540px;transform-origin:100% 50%}
.rh-doorImg{position:absolute;top:0;width:1080px;height:1920px;object-fit:cover}
.rh-leaf.l .rh-doorImg{left:0}.rh-leaf.r .rh-doorImg{left:-540px}
.rh-seam{position:absolute;left:530px;top:0;width:20px;height:1920px;background:radial-gradient(ellipse at center,rgba(255,220,140,.9),rgba(255,200,100,0) 70%);opacity:0}

/* ================= v2: full format (2026-10-08) =================
   Pages are as tall as the phone (--dH = extra height over 1920). Body text ≥ 36px. */
body.theme-royal-heritage{--f-cin:"Cinzel",var(--fx-head),Georgia,serif;--f-cor:"Cormorant Garamond",var(--fx-head),Georgia,serif}
.lang-nonlatin .theme-royal-heritage,.lang-nonlatin body.theme-royal-heritage{--f-scr:var(--fx-head)}
/* gold gradient text breaks Devanagari shaping in Chrome: solid gold for non-Latin */
.lang-nonlatin .gold{background:none;-webkit-text-fill-color:#b8862c;color:#b8862c}
.lang-nonlatin .rh-script{font-style:italic;font-weight:600}
.rh-frame{border-width:380px 316px}
.rh-coverSky{top:calc(1380px + var(--dH,0px))}.rh-coverEl{top:calc(1440px + var(--dH,0px))}.rh-coverPk{top:calc(1630px + var(--dH,0px))}.rh-coverFl{top:calc(1180px + var(--dH,0px))}
.rh-archWrap{top:calc(800px + var(--dH,0px) * .55);height:calc(1110px + var(--dH,0px) * .45)}
.rh-throne{height:calc(700px + var(--dH,0px) * .4)}
.rh-court{top:calc(990px + var(--dH,0px) * .4)}
.rh-rel{font-size:34px}.rh-nm{font-size:44px}
.rh-mandap{height:calc(1110px + var(--dH,0px) * .6)}
.rh-note{font-size:40px}
.rh-evText{top:0;bottom:0;margin-top:0;height:auto}
.rh-evV{font-size:36px}.rh-evDr{font-size:32px}
/* map + add to calendar, as small gold-edged pills */
.rh-acts{display:flex;gap:12px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.rh-cal{display:contents}
#stage .rh-acts .mzBtn,#stage .rh-acts .fx-lnk{min-height:64px;padding:0 24px;border:2px solid #c99b45;border-radius:40px;background:#fffaf0;color:var(--rh-maroon);font:700 24px/1 var(--f-cin);letter-spacing:.06em;text-transform:uppercase;margin:0;box-shadow:none}
.rh-mainActs{display:flex;justify-content:center}
/* reply card: the family's functions + the sealed button */
.rh-form{display:flex;flex-direction:column;gap:0}
.rh-rsvpRow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0}
.rh-rsvpRow .rh-rsvpT{font-size:40px}
.rh-rsvpRow > span{font:italic 600 34px/1.1 var(--f-cor);color:#6a5434;white-space:nowrap}
.mzBtn.rh-send{display:flex;width:100%;min-height:110px;margin-top:26px;font:700 40px/1 var(--f-cin);letter-spacing:.06em;color:#f6e2a8;background:linear-gradient(#7f1426,#560a17);border:2px solid #c99b45;border-radius:60px}
.rh-rsvpCouple{top:calc(1450px + var(--dH,0px));z-index:1}
.rh-thanks{top:calc(600px + var(--dH,0px) * .3)}
/* the shared pages in ivory, gold and maroon */
.rh-xH{z-index:6}
.xPage .xKickOnly{position:absolute;left:80px;right:80px;top:270px;text-align:center;font:italic 600 42px/1.2 var(--f-cor);letter-spacing:0;text-transform:none;color:var(--rh-green);z-index:6}
.xPage .xCol{top:380px;left:150px;right:150px;z-index:6}
.xPage .xNote{border-top:2px solid rgba(201,155,69,.6);padding:26px 0}
.xPage .xNote:first-child{border-top:0}
.xPage .xNote b{font:700 46px/1.1 var(--f-cin);text-transform:uppercase;color:var(--rh-maroon);font-style:normal}
.xPage .xNote p{font:600 40px/1.3 var(--f-cor);color:var(--rh-ink)}
.xPage .xNote small{font:700 28px/1 var(--f-cin);letter-spacing:.08em;color:var(--rh-green)}
.xPage .xNum em{font:700 90px/.9 var(--f-cin);color:#b8862c;font-style:normal}
.xPage .xSub{font:700 30px/1 var(--f-cin);letter-spacing:.1em;color:var(--rh-green)}
.xPage .xWish{font:italic 600 58px/1.2 var(--f-cor);color:var(--rh-maroon)}
.xPage .xWish span{color:#b8862c}
.xPage .xWish cite{font:700 28px/1 var(--f-cin);color:var(--rh-green)}
.xPage .xInv p{font:italic 600 42px/1.25 var(--f-cor);color:var(--rh-ink)}
.xPage .mzBtn{border:2px solid #c99b45;border-radius:40px;background:#fffaf0;color:var(--rh-maroon);font:700 28px/1 var(--f-cin);letter-spacing:.06em}
.xPage .syRow{left:150px;right:150px;z-index:6}
.xPage .syN{font:700 64px/1.05 var(--f-cin);text-transform:uppercase;color:var(--rh-maroon);font-style:normal}
.xPage .syD{font:italic 600 38px/1.3 var(--f-cor);color:var(--rh-ink)}
.xPage .syRow figure,.xPage .xPrint{background:#fffaf0;border:3px solid #c99b45;box-shadow:0 14px 30px rgba(60,20,0,.22)}
.xPage .xPrint{z-index:6}
.xPage .xCap{font:400 70px/1.05 var(--f-scr);color:var(--rh-maroon);z-index:6}
.xPage .xFilm{top:380px;border:12px solid #c99b45;box-shadow:0 0 0 6px #7f1426,0 24px 50px rgba(0,0,0,.4);z-index:6;max-height:calc(var(--H,1920px) - 620px)}
.xPage .xPlay span{border-color:transparent transparent transparent var(--rh-maroon)}
/* reply / wishes sheet in ivory and maroon */
.theme-royal-heritage{--fx-ink:#2b1a10;--fx-muted:#6a5434;--fx-accent:#6d0f1f;--fx-accent-2:#b8862c;--fx-soft:#6d0f1f;--fx-card:#f7efe0;--fx-card-solid:#f7efe0;
  --fx-btn:#6d0f1f;--fx-btn-ink:#f6e2a8;--fx-on:#123f2c;--fx-on-ink:#f6e2a8;--fx-on-line:#123f2c;--fx-line:rgba(201,155,69,.6);--fx-field:#fffdf7;--cream:#f7efe0;--maroon:#6d0f1f}
.theme-royal-heritage #sheet{background:#f7efe0 url(art/ivory.jpg) center/cover}
.theme-royal-heritage .shH{font:700 44px/1.05 "Cinzel",var(--fx-head),serif;font-style:normal;color:#6d0f1f;text-transform:uppercase}
/* v2 fit-ups: headlines between the gold corners; film page legible on maroon */
.rh-xH{left:250px;right:250px}
.xPage .xKickOnly{top:280px}
.x-film .xKickOnly{color:#f3d891}
.rh-form{top:calc(560px + var(--dH,0px) * .3)}
.rh-thanks{top:calc(600px + var(--dH,0px) * .3)}
