/* FAMILY ALBUM. Stage is 1080×1920 (scaled to the phone). Position things in px. */
body.theme-family-album{--ink:#3d2412;--sepia:#6b4423;--maroon:#7c2414;--gold:#d9a94e;
  --f-script:"Dancing Script",cursive;--f-hand:"Kalam",cursive;--f-serif:"Cormorant Garamond",Georgia,serif}
.theme-family-album #gate{background:#2a160b}
.theme-family-album .gTitle{font:700 46px/1 var(--f-script);color:#f3d58c}
.theme-family-album .gKick{color:#e8c278}

/* album prints */
.fa-ph{position:absolute;padding:14px;background:#f4ead4;box-shadow:0 22px 34px -10px rgba(40,18,4,.55),0 3px 8px rgba(40,18,4,.35);z-index:5}
.fa-ph .ph-i,.fa-polPh .ph-i,.fa-ring .ph-i{display:block;width:100%;height:100%;object-fit:cover}
.fa-cn{position:absolute;width:76px;height:76px;pointer-events:none;z-index:3}
.fa-cn.tl{left:-12px;top:-12px}
.fa-cn.tr{right:-12px;top:-12px;transform:rotate(90deg)}
.fa-cn.br{right:-12px;bottom:-12px;transform:rotate(180deg)}
.fa-cn.bl{left:-12px;bottom:-12px;transform:rotate(270deg)}
.fa-mala{z-index:4;filter:drop-shadow(0 6px 6px rgba(40,18,4,.4))}
.fa-tissue{left:-140px;top:-140px;width:1360px;height:2200px;z-index:25;object-fit:fill}
.fa-mari{z-index:12}
.fa-mari.tr{right:-70px;top:-70px;width:360px}
.fa-mari.bl{left:-90px;bottom:-80px;width:330px}
.fa-mari.br{right:-90px;bottom:-80px;width:330px}
.fa-diya{z-index:14}
.fa-glow{position:absolute;border-radius:50%;z-index:15;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(circle,rgba(255,214,120,.85) 0,rgba(255,160,50,.35) 35%,rgba(255,140,40,0) 70%)}
.fa-h{position:absolute;left:0;right:0;top:100px;margin:0;padding:0 40px;text-align:center;font:700 112px/1.1 var(--f-script);color:var(--ink);z-index:16;text-shadow:0 1px 0 rgba(255,245,220,.6)}
.fa-sub{position:absolute;left:0;right:0;top:250px;text-align:center;font:400 46px/1.2 var(--f-hand);color:var(--sepia);z-index:16}
.fa-subF{top:228px;font-size:38px}

/* 1 cover */
.fa-gold{background:linear-gradient(180deg,#fff0bf 0%,#f0c66a 38%,#b07a2c 58%,#f6d98e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 1px rgba(30,10,0,.75)) drop-shadow(0 0 2px rgba(30,10,0,.5))}
.fa-cvFam{position:absolute;left:0;right:0;top:258px;text-align:center;font:600 92px/1.05 var(--f-serif);white-space:nowrap;z-index:6}
.fa-cvFam span{display:block}
.fa-cvShubh{position:absolute;left:0;right:0;top:486px;text-align:center;font:700 96px/1.2 var(--f-script);z-index:6}
.fa-cvPh{background:#efe2c4}
.fa-cvNames{position:absolute;left:0;right:0;top:1440px;text-align:center;font:600 72px/1.1 var(--f-serif);letter-spacing:4px;text-transform:uppercase;white-space:nowrap;z-index:6}
.fa-cvNames i{font-style:italic;text-transform:none;letter-spacing:0;font-weight:500}
.fa-cvDate{position:absolute;left:0;right:0;top:1548px;text-align:center;font:600 40px/1.2 var(--f-serif);letter-spacing:6px;text-transform:uppercase;z-index:6}
.fa-sheen{position:absolute;top:-200px;left:0;width:280px;height:2400px;transform:rotate(14deg);z-index:7;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(90deg,rgba(255,230,170,0),rgba(255,230,170,.22),rgba(255,230,170,0))}

/* 2 blessing */
.fa-toran{left:0;top:0;width:1080px;height:1760px;z-index:11;transform-origin:50% 0}
.fa-shubh{position:absolute;left:0;right:0;top:250px;margin:0;text-align:center;font:700 124px/1.25 var(--f-hand);color:var(--maroon);z-index:10;text-shadow:0 2px 0 rgba(255,230,180,.7)}
.fa-halo{position:absolute;left:200px;top:330px;width:680px;height:680px;border-radius:50%;z-index:6;
  background:radial-gradient(circle,rgba(255,206,110,.75) 0,rgba(255,190,90,.35) 40%,rgba(255,190,90,0) 70%)}
.fa-ganesh{left:315px;top:415px;width:450px;z-index:7;filter:drop-shadow(0 18px 18px rgba(80,30,0,.35))}
.fa-bless{position:absolute;left:0;right:0;top:948px;text-align:center;font:400 42px/1.2 var(--f-hand);color:var(--sepia);z-index:10}
.fa-gpCap{position:absolute;text-align:center;z-index:10;color:var(--ink)}
.fa-gpCap .k{font:700 36px/1.2 var(--f-hand);color:var(--maroon)}
.fa-gpCap .n{font:400 32px/1.3 var(--f-hand);margin-top:6px}

/* 3 letter */
.fa-letter{position:absolute;left:40px;top:120px;width:1000px;height:1440px;padding:150px 120px 0 125px;z-index:6;color:var(--ink)}
.fa-letterBg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;filter:drop-shadow(0 20px 30px rgba(40,18,4,.45))}
.fa-dear{font:700 92px/1.2 var(--f-script);margin-bottom:30px}
.fa-body{font:400 44px/1.55 var(--f-hand);margin:0 0 34px}
.fa-body .w{display:inline-block}
.fa-sign{margin-top:16px}
.fa-warm{font:700 56px/1.3 var(--f-script)}
.fa-pname{font:400 38px/1.45 var(--f-hand)}
.fa-letterPh{z-index:9}

/* 4 families */
.fa-tree{left:40px;top:250px;width:1000px;height:1500px;object-fit:contain;z-index:2;opacity:.9}
.fa-tCap{position:absolute;width:460px;text-align:center;z-index:8;color:var(--ink);padding:6px 10px;border-radius:18px;background:rgba(238,224,192,.88);box-shadow:0 0 18px 12px rgba(238,224,192,.88)}
.fa-tCap .k{font:700 34px/1.2 var(--f-hand);color:var(--maroon)}
.fa-tCap .n{font:400 31px/1.3 var(--f-hand)}
.fa-tName{position:absolute;width:460px;text-align:center;font:700 86px/1.1 var(--f-script);color:var(--ink);z-index:8;text-shadow:0 0 14px #eee0c0,0 0 6px #eee0c0,0 0 3px #eee0c0}

/* 5 growing up */
.fa-hTwo{top:80px;line-height:1}
.fa-hTwo .a,.fa-hTwo .b{display:block}
.fa-hTwo .a{font-size:100px}
.fa-hTwo .b{font-size:84px;margin-top:4px}
.fa-kCap{position:absolute;text-align:center;font:400 33px/1.25 var(--f-hand);color:var(--ink);z-index:8}

/* 6 functions */
.fa-pol{position:absolute;padding:16px 16px 14px;background:#fbf5e6;box-shadow:0 22px 34px -10px rgba(40,18,4,.55),0 3px 8px rgba(40,18,4,.3);z-index:6;text-align:center;color:var(--ink)}
.fa-polPh{position:relative;overflow:hidden;background:#222}
.fa-pT{font:700 46px/1.15 var(--f-hand);margin-top:12px;color:var(--maroon)}
.fa-pD{font:700 32px/1.25 var(--f-hand)}
.fa-pV{font:400 31px/1.25 var(--f-hand)}
.fa-pX{font:400 30px/1.2 var(--f-hand);color:var(--sepia);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fa-pV{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 7 ceremony */
.fa-hMain{top:90px;white-space:nowrap}
.fa-mPh{background:#f1e6cc}
.fa-mInfo{position:absolute;left:60px;right:60px;top:1450px;text-align:center;z-index:16;color:var(--ink)}
.fa-mV{font:700 56px/1.2 var(--f-script)}
.fa-mD{font:700 42px/1.3 var(--f-hand);margin-top:8px}
.fa-mL{font:400 33px/1.35 var(--f-hand);color:var(--sepia);margin-top:4px}

/* 8 RSVP */
.fa-ring{position:absolute;left:375px;top:90px;width:330px;height:330px;border-radius:50%;overflow:hidden;z-index:6;
  border:10px solid #f4ead4;box-shadow:0 0 0 5px #a8742a,0 18px 34px rgba(40,18,4,.45)}
.fa-hR{top:440px;white-space:nowrap}
.fa-by{position:absolute;left:0;right:0;top:585px;text-align:center;font:400 40px/1.2 var(--f-hand);color:var(--sepia);z-index:8}
.fa-rsvp{position:absolute;left:60px;right:60px;top:680px;z-index:20;display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.fa-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px dashed rgba(107,68,35,.35)}
.fa-rT{flex:1;min-width:0;font:700 38px/1.1 var(--f-hand);color:var(--maroon)}
.fa-rT span{display:block;font:400 30px/1.2 var(--f-hand);color:var(--sepia)}
.fa-chips{display:flex;gap:12px;flex-wrap:wrap}
.fa-chip{appearance:none;border:2px solid #8a5a2e;background:rgba(255,250,238,.85);color:var(--ink);font:700 32px/1 var(--f-hand);padding:16px 22px;border-radius:12px;cursor:pointer;min-width:118px}
.fa-chip.on{background:var(--maroon);border-color:var(--maroon);color:#fff6e4}
.fa-diet{margin-top:12px}
.fa-diet .fa-chip{min-width:0;font-size:30px;padding:14px 20px}
.fa-lbl{font:700 36px/1.2 var(--f-hand);color:var(--maroon);margin-bottom:10px}
.fa-noteBox{position:relative;margin-top:10px;background:rgba(255,250,238,.9);border:2px solid #b08a5c}
.fa-note{display:block;width:100%;border:0;background:transparent;resize:none;padding:20px 26px;font:400 33px/1.3 var(--f-hand);color:var(--ink);outline:none}
.fa-send{position:relative;margin-top:14px;appearance:none;border:0;background:var(--maroon);color:#fff3dc;font:700 54px/1 var(--f-script);padding:24px 0 26px;cursor:pointer;box-shadow:0 10px 20px rgba(60,20,5,.35)}
.fa-send .fa-cn,.fa-noteBox .fa-cn{width:54px;height:54px}
.fa-thanks{position:absolute;left:80px;right:80px;top:760px;text-align:center;z-index:21;opacity:0;pointer-events:none;color:var(--ink)}
.fa-thanks .t1{font:700 120px/1.1 var(--f-script);color:var(--maroon)}
.fa-thanks .t2{font:400 42px/1.4 var(--f-hand);margin-top:30px}
.fa-thanks .t3{font:700 40px/1.4 var(--f-hand);margin-top:30px;color:var(--sepia)}
.fa-ring.sm{left:420px;top:60px;width:240px;height:240px}
.fa-hR.sm{top:315px}
.fa-by.sm{top:450px}
/* petals only drift where there is no text: over the ceremony photo, and around the RSVP portrait */
.fa-fallPhoto{-webkit-mask-image:linear-gradient(180deg,transparent 330px,#000 440px,#000 1290px,transparent 1400px);mask-image:linear-gradient(180deg,transparent 330px,#000 440px,#000 1290px,transparent 1400px)}
.fa-fallTop{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 380px,transparent 470px);mask-image:linear-gradient(180deg,#000 0,#000 380px,transparent 470px)}

/* ================= v2: full format (2026-10-08) =================
   Pages as tall as the phone (--dH over 1920); body text ≥ 36px. */
body.theme-family-album{--f-hand:"Kalam",var(--fx-head),cursive;--f-serif:"Cormorant Garamond",var(--fx-head),Georgia,serif}
/* Dancing Script has no Devanagari: handwriting turns to Kalam (which has it) for Indic pages */
.lang-nonlatin body.theme-family-album{--f-script:"Kalam",var(--fx-head),cursive}
.fa-cvNames{top:calc(1440px + var(--dH,0px) * .5)}.fa-cvDate{top:calc(1548px + var(--dH,0px) * .5)}
.fa-invL{position:absolute;left:0;right:0;top:900px;text-align:center;font:600 40px/1.2 Georgia,"Noto Serif Devanagari",serif;color:var(--maroon);z-index:10}
.fa-bless{top:975px}
.fa-body{font-size:46px}
.fa-gpCap .n{font-size:34px}.fa-tCap .n{font-size:34px}
.fa-pD{font-size:34px}.fa-pV{font-size:33px}
.fa-mInfo{top:calc(1450px + var(--dH,0px) * .6)}
.fa-mL{font-size:36px}
/* map + add to calendar on each print */
.faActs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.faCal{display:contents}
#stage .faActs .mzBtn,#stage .faActs .fx-lnk{min-height:58px;padding:0 18px;border:2px solid #8a5a2e;border-radius:12px;background:rgba(255,250,238,.9);color:var(--maroon);font:700 26px/1 var(--f-hand);letter-spacing:0;text-transform:none;margin:0;box-shadow:none}
/* RSVP: the functions and one album button to the real reply */
.fa-row{padding:20px 0}
.fa-rT{font-size:44px}
.fa-rD{font:400 32px/1.2 var(--f-hand);color:var(--sepia);white-space:nowrap}
.mzBtn.fa-send{display:flex;width:100%;min-height:120px;margin-top:40px;border:0;border-radius:0;background:var(--maroon);color:#fff3dc;font:700 56px/1 var(--f-script);letter-spacing:0;text-transform:none}
.fa-thanks .t3{font-size:44px}
/* the shared pages as parchment album leaves */
.faXH{top:110px}
.faX .xKickOnly{position:absolute;left:60px;right:60px;top:265px;text-align:center;font:400 44px/1.2 var(--f-hand);letter-spacing:0;text-transform:none;color:var(--sepia);z-index:16}
.faX .xCol{top:420px;left:110px;right:110px;z-index:16}
.faX .xNote{border-top:2px dashed rgba(107,68,35,.35);padding:26px 0}
.faX .xNote:first-child{border-top:0}
.faX .xNote b{font:700 62px/1.1 var(--f-script);color:var(--maroon);font-style:normal}
.faX .xNote p{font:400 40px/1.4 var(--f-hand);color:var(--ink)}
.faX .xNote small{font:700 34px/1.1 var(--f-hand);letter-spacing:0;color:var(--maroon);text-transform:none}
.faX .xNum em{font:700 96px/.9 var(--f-script);color:var(--maroon);font-style:normal}
.faX .xSub{font:700 36px/1 var(--f-hand);letter-spacing:0;color:var(--maroon);text-transform:none}
.faX .xWish{font:400 54px/1.3 var(--f-hand);color:var(--ink);background:transparent}
.faX .xWish span{color:var(--gold)}
.faX .xWish cite{font:700 32px/1 var(--f-hand);color:var(--maroon);text-transform:none;letter-spacing:0}
.faX .xInv p{font:400 40px/1.35 var(--f-hand);color:var(--ink)}
.faX .mzBtn{border:2px solid #8a5a2e;border-radius:12px;background:rgba(255,250,238,.9);color:var(--maroon);font:700 30px/1 var(--f-hand);letter-spacing:0;text-transform:none}
.faX .syRow{z-index:16}
.faX .syN{font:700 80px/1 var(--f-script);color:var(--maroon);font-style:normal}
.faX .syD{font:400 38px/1.3 var(--f-hand);color:var(--ink)}
.faX .syRow figure,.faX .xPrint{background:#fbf5e6;box-shadow:0 22px 34px -10px rgba(40,18,4,.55),0 3px 8px rgba(40,18,4,.3);z-index:16}
.faX .xCap{font:700 70px/1.05 var(--f-script);color:var(--maroon);z-index:16}
.faX .xFilm{top:420px;border:16px solid #fbf5e6;box-shadow:0 22px 34px -10px rgba(40,18,4,.55);z-index:16;max-height:calc(var(--H,1920px) - 600px)}
.faX .xPlay span{border-color:transparent transparent transparent var(--maroon)}
/* reply / wishes sheet on cream */
.theme-family-album{--fx-ink:#3d2412;--fx-muted:#6b4423;--fx-accent:#7c2414;--fx-accent-2:#d9a94e;--fx-soft:#7c2414;--fx-card:#f6ecd6;--fx-card-solid:#f6ecd6;
  --fx-btn:#7c2414;--fx-btn-ink:#fff3dc;--fx-on:#7c2414;--fx-on-ink:#fff3dc;--fx-on-line:#7c2414;--fx-line:rgba(107,68,35,.4);--fx-field:#fffaf0;--cream:#f6ecd6;--maroon:#7c2414}
.theme-family-album #sheet{background:#f6ecd6 url(art/cream.jpg) center/cover}
.theme-family-album .shH{font:700 60px/1.05 "Dancing Script",var(--fx-head),cursive;font-style:normal;color:#7c2414}
.fa-invL{z-index:12}
.fa-ganesh{width:390px;left:345px}
.fa-invL{top:905px}
.fa-bless{top:968px}
