/* Composition, ceremonial artwork and responsive optical alignment — review 03. */
:root{--content:1120px;--gutter:clamp(28px,7vw,110px)}@font-face{font-family:Heirloom;src:url(assets/serif.ttf);font-display:swap}@font-face{font-family:Hindi;src:url(assets/TiroDevanagariHindi400.ttf);font-display:swap}@font-face{font-family:Gujarati;src:url(assets/MuktaVaani500.ttf);font-display:swap}
body{font-size:19px}body:before{opacity:.3}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.top{height:76px;padding-inline:clamp(20px,4vw,64px)}.brand{font-size:28px;line-height:1}.brand small{font-size:9px;letter-spacing:2px}.header-tools{gap:20px}.lang button{min-height:38px;min-width:40px;font-size:12px}.motion-toggle{min-height:38px;min-width:38px;justify-content:center}.review{font-size:8px;padding:7px 12px;letter-spacing:1.7px}.eyebrow{font-size:10px;line-height:1.8;letter-spacing:2.5px}.note{font-size:11px;line-height:1.8;letter-spacing:1px}.chapter{padding:116px var(--gutter)}.chapter-inner{max-width:var(--content)}.chapter-index{margin-bottom:32px;gap:18px;min-height:46px}.chapter-index span:last-child{font-size:10px;letter-spacing:1.7px;line-height:1.8}.vow-seal{width:44px;height:44px;flex:none}.chapter h2{font-size:clamp(47px,4.8vw,72px);line-height:1.1;margin:20px 0 26px;letter-spacing:-.8px}.vow{font-size:22px;line-height:1.5;max-width:600px}.body-copy{font-size:20px;line-height:1.8;color:#e8d2ba}.date-line{font-size:10px;letter-spacing:1.7px;line-height:2}.reveal{transition-duration:1.1s}.chapter:after{font-size:150px;top:40px;left:1vw;color:#d6b16e04}.split{gap:clamp(55px,7vw,105px);grid-template-columns:1.1fr 1fr;min-height:550px}.split>div{min-width:0}.portrait{width:calc(100% - 32px);max-width:350px;margin:20px 35px 35px 0}.portrait .floating-memory{right:-45px;bottom:-38px;width:145px;height:180px}.portrait-label{font-size:9px;line-height:1.6;letter-spacing:1.5px;left:20px;right:40px}.portrait-orbit{inset:-32px -25px}.woven-line{z-index:1;opacity:.5}.woven-line svg{stroke-width:1.2}.chapter-inner{z-index:5}.phera-nav{right:18px;gap:11px}.phera-nav a{width:28px;height:28px;font-size:10px;background:#300813df;border-color:#d4b47555}.phera-nav a.active{box-shadow:0 0 0 4px #d5ad6815}.phera-nav a:before{content:attr(data-name);position:absolute;right:39px;padding:5px 11px;background:#300813f0;color:#e4c68e;font:11px Arial;white-space:nowrap;opacity:0;transform:translateX(5px);transition:.2s;pointer-events:none;border:1px solid #d5ad6830}.phera-nav a:hover:before,.phera-nav a:focus-visible:before{opacity:1;transform:none}
/* A centered silk envelope, with seven embroidered orbit beads. */
.opening{padding:90px 24px 40px;justify-content:center}.opening:before,.opening:after{border-width:3px;opacity:.8}.cover-copy{position:relative;margin:0 auto}.cover-theme{font-size:clamp(36px,4vw,50px);line-height:1.2;margin-bottom:18px}.cover-crest{margin-bottom:28px;width:64px;height:64px;font-size:22px}.cover-crest:before{left:24px}.cover-copy h1{font-size:26px;gap:12px;margin:15px 0 5px}.cover-copy .eyebrow{font-size:9px;letter-spacing:2.3px}.cover-promise{position:absolute;left:50%;top:-18px;width:200px;height:140px;transform:translateX(-50%);pointer-events:none;opacity:.45}.cover-promise span{position:absolute;width:21px;height:21px;display:grid;place-items:center;border:1px solid #d5ad6870;border-radius:50%;font:7px Arial;color:var(--gold)}.cover-promise span:nth-child(1){top:10px;left:32px}.cover-promise span:nth-child(2){top:48px;left:5px}.cover-promise span:nth-child(3){top:94px;left:22px}.cover-promise span:nth-child(4){top:116px;left:89px}.cover-promise span:nth-child(5){top:94px;right:22px}.cover-promise span:nth-child(6){top:48px;right:5px}.cover-promise span:nth-child(7){top:10px;right:32px}.ritual{min-height:300px;padding-top:12px;margin:5px auto 0}.ritual .ring{top:15px;width:220px;height:220px}.fabric-pair{height:200px;gap:60px;padding-top:28px}.fabric-label{position:absolute;top:112px;font:8px/1.5 Arial;letter-spacing:2px;color:#e0bb80;opacity:.7}.label-red{left:calc(50% - 180px);writing-mode:vertical-rl;rotate:180deg}.label-ivory{right:calc(50% - 180px);writing-mode:vertical-rl}.tie-btn{min-height:52px;padding:17px 30px;font-size:10px;letter-spacing:1.6px;min-width:280px}.ritual .note{font-size:10px;line-height:1.7;margin-top:18px;max-width:350px}.ritual #open-status{bottom:-10px}.ritual.tied .fabric-label{opacity:0;transition:.3s}.knot-art{top:0;height:235px}.cover-copy,.ritual{transition:opacity .4s}.is-open .opening{transition:opacity 1s .5s,visibility 0s 1.5s}
/* Names sit optically within the mandap opening, never over the foreground. */
.cinema-hero{height:100svh;min-height:780px;max-height:1200px}.hero-copy{margin-top:clamp(130px,16vh,190px);width:90%;max-width:1050px}.hero-copy>.eyebrow{font-size:10px;letter-spacing:3.5px}.hero-copy h1{font-size:clamp(88px,8.7vw,140px);gap:32px;margin:31px 0 22px;line-height:1;letter-spacing:-1px}.hero-copy .hero-amp{font-size:46px;line-height:1}.hero-copy p{font-size:21px;line-height:1.6;margin:16px auto}.hero-date{margin:24px auto 0;padding:10px 18px}.hero-date>div{font-size:10px;line-height:1.9;letter-spacing:2px}.hero-date b{font-size:9px;letter-spacing:1.5px}.hero-date>span{font-size:43px}.hero-orbit{top:86px;width:580px;opacity:.25}.hero-orbit path{stroke-width:.25}.scroll-invite{bottom:55px;gap:13px}.scroll-invite span{font-size:9px;letter-spacing:2.2px}.scene-caption{bottom:55px;left:var(--gutter);font-size:9px;letter-spacing:1.5px}.scene-caption span{font-size:12px}.scroll-invite i{height:39px}.hero-copy h1:focus{outline:none}.scene-shade{background:linear-gradient(180deg,#23050d77,transparent 65%,#280610cc)}
/* Seven tactile promises — custom stitched mandala. */
.vow-prelude{position:relative;padding:110px var(--gutter) 105px;background:radial-gradient(ellipse at 32% 65%,#8b24411f,transparent 65%),#350b15;overflow:hidden}.prelude-heading{text-align:center;position:relative;z-index:3}.prelude-heading .eyebrow{font-size:10px}.prelude-heading h2{font:clamp(45px,4.6vw,68px)/1.1 var(--body);margin:22px 0 25px;letter-spacing:-.5px}.prelude-heading em{font-weight:400;color:#e0bd82}.prelude-heading p{font-size:19px;color:#cfb39a;line-height:1.8;margin:0}.promise-layout{max-width:1020px;margin:65px auto 0;display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;position:relative;z-index:3}.promise-wheel{position:relative;width:100%;max-width:470px;aspect-ratio:1;margin:auto}.mandala{position:absolute;inset:0;fill:none;stroke:#d5ad6870;stroke-width:.6;width:100%;height:100%;animation:mandala-breathe 8s ease-in-out infinite alternate}.mandala g{opacity:.45}.wheel-knot{position:absolute;inset:22% 18%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0}.wheel-knot>span:first-child{font:8px Arial;letter-spacing:2px;color:#d4b075;margin-bottom:-10px}.wheel-knot img{width:100%;max-height:180px;object-fit:contain;filter:drop-shadow(0 12px 20px #13020c);animation:knot-float 8s ease-in-out infinite alternate}.wheel-knot .saptapadi{font:23px Hindi;color:#e3bf7e;margin-top:-8px;letter-spacing:2px}.promise-bead{position:absolute;left:var(--x);top:var(--y);width:44px;height:44px;transform:translate(-50%,-50%);border:1px solid #b68a4f;background:#3c0b1a;color:#e2bd7b;border-radius:50%;font:13px var(--body);display:grid;place-items:center;transition:background .4s,color .4s,box-shadow .4s}.promise-bead[aria-pressed=true]{background:#d6b16e;color:#3b0b18;box-shadow:0 0 0 6px #d5ad6810,0 0 30px #d5ad6829}.promise-bead:hover{box-shadow:0 0 0 6px #d5ad6817}.promise-panel{padding:15px 0}.promise-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #d5ad6833;padding-bottom:20px}.promise-meta .eyebrow{font-size:9px;letter-spacing:2px}.promise-number{font:11px Arial;letter-spacing:2px;color:#b28d55;white-space:nowrap}.promise-copy{min-height:200px;padding:28px 0 15px;display:flex;flex-direction:column;justify-content:center}.promise-copy h3{font:48px/1.2 var(--body);color:#e6c88f;margin:0 0 20px}.promise-copy p{font:italic 24px/1.6 var(--body);margin:0;color:#e0cbb7;max-width:350px}.promise-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #d5ad6833;padding-top:20px}.promise-actions button{width:42px;height:42px;flex:none;display:grid;place-items:center;border:1px solid #d5ad6860;background:transparent;color:#d5ad68;border-radius:50%;font:20px var(--body)}.promise-actions a{font:9px/1.6 Arial;letter-spacing:1.6px;text-underline-offset:7px;text-align:center}.promise-hint{font:11px/1.7 Arial;color:#af9276;margin:22px 0 0}.promise-copy.switching{animation:promise-change .55s both}@keyframes promise-change{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes mandala-breathe{to{opacity:.65;scale:.985}}
/* The four silks hang from fine brass rails. */
.celebration-scene>.chapter-inner{grid-template-columns:1fr 1fr;gap:50px 65px}.celebration-scene .chapter-index{margin-bottom:0}.celebration-scene .chapter-head{top:110px;max-width:480px}.celebration-scene .chapter-head h2{font-size:clamp(46px,4.5vw,67px)}.ritual-still{position:relative;margin:40px 0 0;aspect-ratio:1.18;max-width:430px;padding:9px;border:1px solid #d5ad6844;border-radius:180px 180px 3px 3px}.ritual-still:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -70px 50px #26051199;border-radius:inherit}.ritual-still img{width:100%;height:100%;object-fit:cover;object-position:65% center;display:block;border-radius:170px 170px 0 0}.ritual-still span{position:absolute;bottom:22px;left:20px;right:20px;text-align:center;z-index:2;color:#ebcfa1;font:italic 18px/1.5 var(--body)}.event-grid{gap:45px;padding-top:15px;margin-right:5px}.swatch{padding:42px 32px 32px;min-height:300px;margin-top:8px;overflow:visible;border-top:3px solid #c49657;border-radius:0 0 24px 0;isolation:initial;transform-origin:50% -12px}.swatch:before{inset:10px;pointer-events:none}.swatch:after{width:110px;height:110px;right:20px;bottom:20px;opacity:.07;box-shadow:0 0 0 10px transparent,0 0 0 11px currentColor;z-index:0;pointer-events:none}.swatch>*{position:relative;z-index:2}.swatch h3{font-size:44px;margin:20px 0 13px}.swatch p{font-size:18px;line-height:1.65;margin:7px 0}.swatch p:nth-last-of-type(1){font-size:15px;opacity:.85}.swatch .eyebrow{font-size:10px;letter-spacing:1.3px;max-width:calc(100% - 42px);display:block}.swatch a{font-size:10px;letter-spacing:1.5px;margin-top:20px;min-height:32px}.swatch.haldi{rotate:-1deg;transform:none}.swatch.mehendi{rotate:1deg;transform:none}.swatch.sangeet{rotate:-1deg;transform:none}.swatch.phere{rotate:1deg;transform:none}.swatch:hover{transform:translateY(-4px);rotate:0deg}.event-motif{position:absolute;width:34px;height:45px;right:23px;top:32px}.swatch .swatch-pin{position:absolute;top:-17px;width:12px;height:22px;border:1px solid #cea262;border-radius:5px;background:linear-gradient(90deg,#ae7a39,#efd3a0,#a36d2c);z-index:4}.swatch-pin.left{left:35px}.swatch-pin.right{right:35px}.celebration-scene .note{margin:0;font-size:10px;line-height:1.7}
/* Gallery threads hold stable, generous photo frames. */
.memory-scene{padding-bottom:95px;min-height:0}.memory-scene .chapter-head{max-width:680px}.memory-scene .body-copy{max-width:600px}.hoops{margin-top:75px;height:460px;max-width:930px}.hoop{width:30%;padding:8px;box-shadow:0 5px 0 #6b4528,0 28px 40px #68391524}.hoop:nth-child(2){top:85px}.hoop:after{content:'✦';position:absolute;bottom:-40px;left:50%;color:#ba8c4a;font-size:15px;transform:translateX(-50%)}.hoops:before{height:280px;border-color:#aa804c55}.gallery-caption{font-size:21px;margin-top:10px}.ivory .body-copy{color:#795c5b}.memory-scene .chapter-index{justify-content:center}.sacred-scene{min-height:740px;height:90svh;max-height:1000px}.sacred-copy{max-width:750px}.sacred-copy .eyebrow{font-size:10px}.sacred-copy img{width:250px;height:200px;margin:25px auto -20px}.sacred-copy h2{font-size:clamp(57px,6vw,83px);line-height:1.08}.sacred-copy p{font-size:18px}.family-bloom{width:220px;margin:30px auto -6px}.family-bloom svg{width:100%;fill:none;stroke:#d5ad6877;stroke-width:.8;stroke-linecap:round}.family{margin-top:15px;padding:60px 30px}.family small{font-size:10px;letter-spacing:1.7px}.family h3{font-size:38px}.family p{font-size:19px;line-height:1.7}.guest-details{column-gap:65px;row-gap:15px}.guest-details article{padding:32px 0 24px 45px}.guest-details article:before{top:35px;font-size:17px}.guest-details h3{font-size:28px;line-height:1.3}.guest-details p{font-size:18px;line-height:1.8}.rsvp-layout{align-items:center;gap:75px;grid-template-columns:1fr 1fr}.rsvp-form{padding:80px 35px 30px;border-radius:160px 160px 3px 3px}.rsvp-form label{font-size:10px;line-height:1.7;letter-spacing:1.2px;margin-bottom:23px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{font-size:19px;line-height:1.5;padding:11px 0}.rsvp-form .gold-button{font-size:10px;letter-spacing:1.6px;min-height:52px;padding:15px 20px}.reply-note{font-size:17px;line-height:1.8}.rsvp-layout .note{font-size:10px;letter-spacing:.6px}.thread-replies{min-height:75px;height:auto}.finale{height:880px;min-height:0}.finale h2{font-size:clamp(40px,5vw,67px);line-height:1.2;max-width:850px}.finale-content{max-width:900px}.finale .eyebrow{font-size:10px}.finale p{font-size:20px}.finale #replay{font-size:10px!important;line-height:1.8;min-height:44px;padding:10px 20px;text-align:center}.bottom .note{font-size:10px}
@media(min-width:761px) and (max-width:1100px){.hero-copy h1{font-size:100px}.brand small{display:none}.split{gap:55px}.portrait .floating-memory{width:120px;height:150px;right:-25px}.promise-layout{gap:40px}.promise-copy h3{font-size:39px}.promise-copy p{font-size:21px}.chapter h2{font-size:51px}.celebration-scene>.chapter-inner{gap:40px}.swatch{padding-inline:25px}.swatch .eyebrow{font-size:9px}.swatch h3{font-size:39px}.rsvp-layout{gap:45px}.rsvp-form{padding-inline:25px}.hoops{height:350px}.family h3{font-size:32px}}
@media(max-width:760px){:root{--gutter:30px}.top{height:64px;padding:0 16px}.brand{font-size:24px}.header-tools{gap:5px}.motion-toggle{min-width:34px;min-height:34px;padding:9px}.lang button{min-width:32px;min-height:36px;padding:7px 6px;font-size:11px}.review{font-size:7px;line-height:1.5;letter-spacing:1.1px;padding:6px 8px}.opening{padding:85px 22px 45px}.cover-theme{font-size:36px;margin-bottom:18px}.cover-copy h1{font-size:25px;gap:10px}.cover-copy .eyebrow{font-size:8px;line-height:1.8;letter-spacing:1.8px}.cover-crest{width:58px;height:58px;font-size:21px;margin-bottom:28px}.cover-crest:before{left:21px}.cover-promise{scale:.9;top:-20px;transform-origin:0 0}.ritual{min-height:285px;padding-top:10px;margin-top:8px}.ritual .ring{width:205px;height:205px;top:10px}.fabric-pair{height:180px;gap:55px;padding-top:20px}.strip{height:150px;width:62px}.patka{height:132px}.fabric-label{top:103px;font-size:7px;letter-spacing:1.5px}.label-red{left:calc(50% - 137px)}.label-ivory{right:calc(50% - 137px)}.tie-btn{min-width:0;width:auto;max-width:100%;font-size:9px;padding:17px 24px;letter-spacing:1.2px;min-height:52px}.ritual .note{font-size:10px;max-width:300px;margin-top:16px}.knot-art{height:220px;top:-5px}.chapter{padding:82px var(--gutter)}.chapter-index{gap:14px;margin-bottom:30px;min-height:40px}.chapter-index span:last-child{font-size:9px;letter-spacing:1.2px;line-height:1.8}.vow-seal{width:35px;height:35px;font-size:14px}.chapter h2{font-size:45px;line-height:1.13;letter-spacing:-.5px;margin:20px 0 24px;overflow-wrap:normal}.vow{font-size:20px;line-height:1.6}.body-copy{font-size:18px;line-height:1.85}.date-line{font-size:10px;line-height:1.9;letter-spacing:1px}.note{font-size:10px}.chapter:after{font-size:110px;top:30px;left:8px}.cinema-hero{height:100svh;min-height:780px;max-height:1000px}.hero-copy{margin-top:130px;width:88%}.hero-copy>.eyebrow{font-size:8px;line-height:1.8;letter-spacing:1.8px}.hero-copy h1{font-size:82px;line-height:.95;gap:7px;margin:26px 0 18px}.hero-copy .hero-amp{font-size:30px;line-height:1;margin:0}.hero-copy p{font-size:18px;line-height:1.55;margin:17px auto}.hero-date{margin-top:20px;padding:9px 13px;background:#310712bd}.hero-date>div{font-size:9px;line-height:1.8;letter-spacing:1.3px}.hero-date b{font-size:8px}.hero-date>span{font-size:35px;padding-right:12px}.hero-orbit{top:118px;width:96vw;opacity:.23}.hero-rule{height:8px}.hero-rule span{top:-4px}.scene-caption{left:20px;bottom:62px;font-size:7px;max-width:90px;line-height:1.8}.scene-caption span{font-size:10px}.scroll-invite{bottom:60px;gap:12px}.scroll-invite span{font-size:8px;letter-spacing:1.3px}.scroll-invite i{width:26px;height:36px}.split{grid-template-columns:1fr;gap:55px;min-height:0}.portrait{width:76%;max-width:290px;margin:5px auto 35px;order:0}.portrait .floating-memory{width:108px;height:140px;right:-35px;bottom:-30px;max-width:52%}.portrait-label{font-size:8px;line-height:1.7;left:16px;right:22px;bottom:25px;letter-spacing:.6px}.portrait-orbit{inset:-25px -16px}.phera-nav{top:auto;bottom:29px;left:50%;right:auto;transform:translateX(-50%);width:auto;max-width:calc(100vw - 28px);flex-direction:row;gap:5px;border:1px solid #d5ad6840;background:#2d0711ef;padding:5px 7px;border-radius:30px;backdrop-filter:blur(16px)}.phera-nav a{width:32px;height:32px;min-width:32px;min-height:32px;font-size:10px;border-color:transparent;background:transparent}.phera-nav a.active{box-shadow:none}.phera-nav a:before{display:none}.woven-line{opacity:.3}.moment{min-height:760px;padding-bottom:100px}.moment .chapter-index{max-width:none;justify-content:center}.moment h2{font-size:44px}.moment .chapter-head>p:last-child{font-size:18px}.diyas{gap:10px;margin:55px auto 35px;max-width:360px}.diya strong{font-size:41px;line-height:1.3;margin-top:20px}.diya span{font-size:9px;letter-spacing:.5px}.bowl{width:48px;height:18px}.flame{height:27px;width:11px}.moment .note{font-size:9px;max-width:270px;line-height:1.8}.countdown-orbit{width:500px;top:53%;max-width:none}.countdown-orbit span{display:none}.vow-prelude{padding:85px 25px 90px}.prelude-heading .eyebrow{font-size:8px;letter-spacing:1.7px}.prelude-heading h2{font-size:43px;line-height:1.15;margin:22px auto}.prelude-heading p{font-size:17px;line-height:1.8}.promise-layout{grid-template-columns:1fr;gap:30px;margin-top:50px}.promise-wheel{max-width:335px}.promise-bead{width:39px;height:39px;font-size:12px}.wheel-knot>span:first-child{font-size:6px;letter-spacing:1.5px}.wheel-knot img{max-height:150px}.wheel-knot .saptapadi{font-size:19px;margin-top:-13px}.promise-panel{max-width:360px;margin:auto;width:100%;padding:0 8px}.promise-meta{padding-bottom:17px}.promise-meta .eyebrow{font-size:8px;letter-spacing:1.5px}.promise-number{font-size:9px;letter-spacing:1px}.promise-copy{min-height:165px;padding:25px 0 22px;text-align:center}.promise-copy h3{font-size:37px;margin-bottom:16px}.promise-copy p{font-size:21px;line-height:1.55;max-width:300px;margin:0 auto}.promise-actions{padding-top:18px;gap:15px}.promise-actions a{font-size:8px;letter-spacing:1.1px}.promise-hint{font-size:10px;text-align:center;line-height:1.8;margin-top:18px}.celebration-scene>.chapter-inner{display:block}.celebration-scene .chapter-head{position:static;max-width:none}.celebration-scene .chapter-head h2{font-size:45px}.ritual-still{margin:30px auto 0;width:100%;aspect-ratio:1.1;max-width:340px;padding:7px}.ritual-still span{font-size:17px;bottom:21px}.event-grid{margin:50px 3px 30px;gap:38px;padding-top:5px}.swatch{min-height:290px;padding:38px 25px 27px}.swatch .eyebrow{font-size:9px;letter-spacing:1px;line-height:1.7;max-width:calc(100% - 33px)}.swatch h3{font-size:40px;margin:20px 0 13px}.swatch p{font-size:18px;line-height:1.6}.swatch p:nth-last-of-type(1){font-size:15px}.swatch a{font-size:10px;letter-spacing:1.2px}.event-motif{width:29px;height:40px;right:20px;top:32px}.celebration-scene .note{font-size:9px}.memory-scene{min-height:0;padding:85px 27px 95px}.memory-scene .chapter-index{justify-content:center}.memory-scene .body-copy{font-size:18px;line-height:1.85}.hoops{width:100%;max-width:350px;height:350px;margin:55px auto 0}.hoop{width:46%;left:0;top:5px;padding:6px;border-width:4px}.hoop:nth-child(2){width:48%;left:26%;top:150px;z-index:5}.hoop:nth-child(3){width:46%;right:0;top:0}.hoop:after{bottom:-30px;font-size:12px}.hoop:nth-child(1):after,.hoop:nth-child(3):after{display:none}.hoops:before{height:240px;top:10px}.gallery-caption{font-size:19px;margin-top:35px}.sacred-scene{height:90svh;min-height:730px;max-height:900px}.sacred-copy .eyebrow{font-size:8px;letter-spacing:1.6px}.sacred-copy img{width:220px;height:195px;margin:20px auto -20px}.sacred-copy h2{font-size:55px;line-height:1.12;margin:26px 0 23px}.sacred-copy p{font-size:17px}.family-bloom{width:180px;margin:30px auto 0}.family{padding:42px 10px;margin-top:5px;gap:24px}.family h3{font-size:33px;line-height:1.3;margin:12px 0}.family small{font-size:9px;letter-spacing:1.2px}.family p{font-size:18px;line-height:1.6;margin:12px 0}.family .and{font-size:31px}.guest-details{grid-template-columns:1fr;gap:0;margin-top:30px}.guest-details article{padding:28px 0 25px 39px}.guest-details article:before{top:33px;font-size:15px}.guest-details h3{font-size:27px;line-height:1.3}.guest-details p{font-size:18px;line-height:1.8}.rsvp-layout{grid-template-columns:1fr;gap:45px}.rsvp-form{border-radius:150px 150px 3px 3px;padding:68px 25px 25px;max-width:380px;margin:0 auto;width:100%}.rsvp-form label{font-size:10px;letter-spacing:.8px;line-height:1.8;margin-bottom:22px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{font-size:18px;line-height:1.5;padding:11px 0}.rsvp-form .gold-button{font-size:10px;letter-spacing:1.1px;min-height:52px}.rsvp-layout .note{font-size:10px;line-height:1.8}.reply-note{font-size:17px;line-height:1.8}.finale{height:820px;padding:80px 24px 190px}.finale-content{max-width:100%}.finale h2{font-size:44px;line-height:1.2;max-width:330px;margin:30px auto 22px}.finale .eyebrow{font-size:9px;letter-spacing:2px}.finale p{font-size:18px}.finale #replay{font-size:10px!important}.bottom{padding:30px 20px 110px}.bottom .note{font-size:9px}.bottom .brand{font-size:26px}dialog img{max-width:90vw;max-height:75svh}dialog button{min-height:48px}}
@media(max-width:370px){:root{--gutter:25px}.top{padding:0 12px}.brand{font-size:22px}.lang button{font-size:10px;padding:6px 5px;min-width:29px}.header-tools{gap:3px}.hero-copy h1{font-size:72px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.4px}.hero-copy p{font-size:17px}.chapter h2{font-size:40px}.prelude-heading h2{font-size:39px}.promise-wheel{max-width:290px}.promise-bead{width:36px;height:36px}.promise-panel{padding:0 2px}.ritual .note{font-size:9px}.cover-theme{font-size:33px}.cover-copy h1{font-size:23px}.cover-copy .eyebrow{font-size:7px}.swatch{padding-inline:22px}.swatch p{font-size:17px}.swatch .eyebrow{font-size:8px}.diya strong{font-size:35px}.diya span{font-size:8px}.phera-nav{gap:4px}.phera-nav a{width:30px;height:30px;min-width:30px;min-height:30px}.finale h2{font-size:39px}}
/* Regional scripts need generous leading, not compressed Latin metrics. */
body[data-lang=hi] .hero-copy h1,body[data-lang=gu] .hero-copy h1{line-height:1.25;letter-spacing:0}body[data-lang=hi] .promise-copy h3,body[data-lang=gu] .promise-copy h3{font-size:40px;line-height:1.4}body[data-lang=hi] .promise-copy p,body[data-lang=gu] .promise-copy p{font-style:normal;font-size:20px;line-height:1.85}body[data-lang=hi] .prelude-heading h2,body[data-lang=gu] .prelude-heading h2{line-height:1.45;letter-spacing:0}body[data-lang=hi] .prelude-heading em,body[data-lang=gu] .prelude-heading em{font-style:normal}body[data-lang=hi] .swatch h3,body[data-lang=gu] .swatch h3{line-height:1.5}body[data-lang=hi] .chapter h2,body[data-lang=gu] .chapter h2{line-height:1.5;letter-spacing:0}body[data-lang=hi] .rsvp-form input,body[data-lang=gu] .rsvp-form input{font-style:normal}body[data-lang=hi] .ritual-still span,body[data-lang=gu] .ritual-still span{font-style:normal;font-size:17px;line-height:1.7}
@media(max-width:760px){body[data-lang=hi] .hero-copy h1,body[data-lang=gu] .hero-copy h1{font-size:62px;line-height:1.2;gap:2px;margin-top:25px;margin-bottom:13px}body[data-lang=hi] .hero-copy p,body[data-lang=gu] .hero-copy p{font-size:17px;line-height:1.8}body[data-lang=hi] .chapter h2,body[data-lang=gu] .chapter h2{font-size:35px;line-height:1.55}body[data-lang=hi] .prelude-heading h2,body[data-lang=gu] .prelude-heading h2{font-size:34px}body[data-lang=hi] .promise-copy h3,body[data-lang=gu] .promise-copy h3{font-size:32px;line-height:1.4}body[data-lang=hi] .promise-copy p,body[data-lang=gu] .promise-copy p{font-size:19px;line-height:1.8}body[data-lang=hi] .promise-copy,body[data-lang=gu] .promise-copy{min-height:190px}body[data-lang=hi] .swatch .eyebrow,body[data-lang=gu] .swatch .eyebrow{letter-spacing:0;font-size:10px}body[data-lang=hi] .vow,body[data-lang=gu] .vow{font-style:normal;font-size:18px;line-height:1.9}body[data-lang=hi] .family h3,body[data-lang=gu] .family h3{font-size:29px}body[data-lang=hi] .family p,body[data-lang=gu] .family p{font-size:17px}body[data-lang=hi] .guest-details h3,body[data-lang=gu] .guest-details h3{font-size:24px;line-height:1.6}body[data-lang=hi] .finale h2,body[data-lang=gu] .finale h2{font-size:34px;line-height:1.6}}
@media(max-height:740px) and (max-width:760px){.opening{padding-top:72px;padding-bottom:30px}.cover-crest{width:46px;height:46px;margin-bottom:22px;font-size:18px}.cover-crest:before{left:16px}.cover-promise{display:none}.cover-theme{font-size:31px;margin-bottom:12px}.cover-copy h1{font-size:23px;margin-top:12px}.ritual{min-height:260px}.ritual .ring{width:180px;height:180px}.fabric-pair{height:166px;padding-top:18px}.strip{height:133px;width:55px}.patka{height:115px}.fabric-label{top:90px}.ritual .note{margin-top:13px}.hero-copy{margin-top:115px}}
@media(prefers-reduced-motion:reduce){.mandala,.wheel-knot img,.promise-copy.switching{animation:none!important}.prelude-heading{opacity:1;transform:none}.reveal{opacity:1;transform:none;visibility:visible!important}}
@media print{.vow-prelude,.phera-nav,.review,.top{display:none!important}.ritual-still{display:none}.chapter{padding:35px}.family-bloom{display:none}.hoops{height:300px}.bottom{padding:20px}}
.wheel-knot{inset:21% 20%;gap:9px}.wheel-knot>span:first-child{margin:0}.wheel-knot img{height:155px;flex:none}.wheel-knot .saptapadi{margin-top:-5px}.promise-copy h3{text-transform:capitalize}.promise-copy h3:lang(en){font-variant:normal}.phera-nav.show{opacity:0;pointer-events:none}.promise-wheel{overflow:visible}.scene-caption{max-width:190px}
@media(max-width:760px){.wheel-knot{inset:22% 20%;gap:7px}.wheel-knot img{height:110px}.wheel-knot .saptapadi{margin-top:-5px}.wheel-knot>span:first-child{font-size:7px;letter-spacing:1px}.promise-copy h3{font-size:34px}.scene-caption{max-width:85px}.promise-bead{min-width:40px;min-height:40px}}
@media(max-width:370px){.wheel-knot img{height:96px}.wheel-knot .saptapadi{font-size:18px}.promise-copy h3{font-size:31px}.wheel-knot>span:first-child{font-size:6px}}
.brand{font-family:Heirloom,Georgia,serif}.diya strong{font-family:Heirloom,Georgia,serif}.cover-theme{font-family:Heirloom,Georgia,serif}
@media(min-width:761px){.vow-prelude{padding-top:85px;padding-bottom:80px}.prelude-heading h2{font-size:clamp(48px,4.2vw,59px);margin:18px 0 22px}.prelude-heading p{font-size:18px}.promise-layout{margin-top:44px;max-width:1000px}.promise-wheel{max-width:420px}.promise-copy h3{font-size:44px}.promise-copy{min-height:190px}.promise-panel{padding:5px 0}}
@media(max-width:370px){.celebration-scene .chapter-head h2{font-size:36px}}
@media(min-width:761px){.celebration-scene .chapter-head h2{font-size:clamp(39px,3.55vw,53px);line-height:1.12}.ritual-still{margin-top:30px}.celebration-scene .chapter-head{top:105px}}
.opening{visibility:visible;transition:none}.is-open .opening{transition:opacity 1s .5s,visibility 0s 1.5s}
@media(max-width:760px){.scene-caption{display:none}}
