/* Interior-only styling. The four approved opening sequences remain unchanged. */
.new-invitation .stationery{max-width:760px}
.new-invitation .interior-hero{height:auto;min-height:820px;background:none;padding:115px 8% 80px;text-align:center;position:relative}
.interior-hero>*{position:relative;z-index:1}
.new-invitation .interior-names{font:clamp(64px,13vw,100px)/.92 var(--serif);letter-spacing:-2px;font-weight:400;margin:25px 0;display:flex;align-items:center;justify-content:center;gap:17px;flex-wrap:wrap}
.interior-names em{font:30px var(--script);letter-spacing:0}
.interior-subtitle{font:17px/1.5 var(--script);margin-top:20px}
.interior-countdown{position:relative;margin:26px auto 0;max-width:340px;z-index:2}
.interior-countdown>p{font:15px var(--script)}
.interior-countdown .countdown{gap:19px;margin-top:13px}
.interior-countdown .countdown strong{font:32px/1 var(--serif)}
.interior-countdown .countdown span{font-size:7px;letter-spacing:1.2px}
.interior-countdown .countdown div{min-width:40px;gap:7px}
.interior-countdown small{font:11px var(--serif);display:block;margin-top:16px;opacity:.72}
.new-invitation .interior-hero .scroll-cue{position:absolute;bottom:21px;z-index:3}
.new-invitation .interior-hero .bismillah{width:150px;height:38px;margin:0 auto 14px}
.new-invitation .masthead{color:var(--ink);font-size:12px}
.new-invitation .music-button{right:max(14px,calc((100vw - 760px)/2 + 14px))}
.new-invitation h2{font:46px/1.03 var(--serif);font-weight:400}
.parent-faiz h3,.parent-sidra h3{font:41px var(--script);margin:12px 0 6px;font-weight:400}
.parent-faiz p,.parent-sidra p{font:15px/1.4 var(--serif)}
.parent-faiz strong,.parent-sidra strong{font-weight:400;display:block;font-size:17px;margin-top:5px}
.family-dua{font:19px/1.4 var(--script);text-align:center}
.venue-details .full-event-date{font:19px var(--serif);margin-top:25px}
.venue-details .event-hour{font:17px/1.4 var(--serif);margin:4px 0 22px}
.venue-details h4{font:27px/1.1 var(--serif);font-weight:400;max-width:400px;margin:0 auto 8px}
.venue-details .venue-area{font:16px var(--serif)}
.interior-actions{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:24px}
.interior-actions a{font:14px var(--serif);padding:12px 17px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);min-height:44px;display:inline-flex;align-items:center}
.interior-actions button{font:13px var(--serif);min-height:44px;padding:10px 4px}
.event-poem{font:16px var(--script);opacity:.8}
.event-sketch{display:block;width:100%;height:145px;max-width:360px;margin:12px auto;color:var(--accent)}
.new-invitation .interior-keepsake{padding:65px 8%;text-align:center}
.interior-keepsake h2{margin-top:18px}
.interior-keepsake .scratch-shell{height:224px;transform:none;background:var(--paper);border:1px solid var(--line)}
.interior-keepsake .date-inside{background:var(--paper);color:var(--ink)}
.interior-keepsake .date-inside strong{font:62px var(--serif)}
.new-invitation .interior-closing{padding:65px 8% 70px;border:0}
.interior-closing h2{margin:18px 0 25px}
.interior-closing>p:not(.eyebrow){font-size:17px}
.interior-closing .interior-signature{font:49px var(--script)!important;margin:24px 0 0}
.interior-signature em{font-size:27px}
.interior-closing .share-button{font:15px var(--serif);margin-top:26px}
.new-invitation .interior-keepsake.reveal,.new-invitation .interior-closing.reveal{clip-path:none}
/* NOOR — moonlit architecture, constellations and a continuous trail of light. */
.design-noor .stationery{background:#102338}
.design-noor .interior-hero{background:radial-gradient(ellipse at 60% 8%,#284259,#0b1b2e 64%);min-height:980px;padding:118px 8% 270px;isolation:isolate}
.night-stars{position:absolute!important;inset:0;z-index:0;background-image:radial-gradient(circle,#e4d6b1 1px,transparent 1.6px),radial-gradient(circle,#e4d6b188 .6px,transparent 1px);background-size:139px 167px,71px 109px;background-position:23px 20px,37px 78px;opacity:.35;pointer-events:none}
.night-hero .bismillah{filter:sepia(1) brightness(2.5);mix-blend-mode:screen}
.night-kicker{font:35px var(--script);margin:37px 0 25px}
.night-hero .interior-names{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px 16px;font-size:108px;max-width:385px;margin:0 auto;text-align:left}
.night-hero .interior-names span:last-child{grid-column:1/-1;justify-self:end}
.night-hero .interior-names em{font-size:38px;color:#c6b27d;align-self:end;padding-bottom:15px}
.night-hero .interior-subtitle{margin-top:25px}
.night-date{margin:26px 0 0}
.night-date>span{font:32px var(--serif);letter-spacing:2px}
.night-date p{font:8px Arial,sans-serif;letter-spacing:2px;margin-top:8px}
.night-hero .interior-countdown{padding-top:18px;border-top:1px solid #b8a77444;margin-top:24px}
.night-horizon{position:absolute!important;inset:auto 0 0;height:330px;z-index:0;color:#a9946a;pointer-events:none;transform:translateY(var(--horizon-shift,0px))}
.night-horizon svg{width:100%;height:100%;position:absolute;bottom:0}
.horizon-moon{position:absolute;top:6%;left:calc(50% - 30px);width:60px;height:60px;border-radius:50%;box-shadow:-12px 5px 0 -2px #d5c596;transform:rotate(-20deg);filter:drop-shadow(0 0 30px #ecdda555)}
.night-hero .scroll-cue{color:#e8d7a8}
.night-family{padding:70px 8% 50px;text-align:center;background:linear-gradient(#11243a,#152c40)}
.night-family h2{margin:22px 0 24px}
.night-family>p:not(.eyebrow):not(.family-dua){font-size:17px;line-height:1.5}
.night-family-line{display:flex;align-items:center;justify-content:center;gap:15px;margin:38px 0;color:#bcaa78;font-size:22px}
.night-family-line span{height:1px;width:65px;background:#bcaa7855;transform:rotate(-8deg)}
.night-family-line span:last-of-type{transform:rotate(8deg)}
.night-parent-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;text-align:left;margin:20px 0 36px}
.night-parent-pair .parent-sidra{text-align:right;padding-top:80px}
.night-parent-pair .eyebrow{color:#b3a178}
.night-parent-pair strong{max-width:220px}
.night-journey{padding:40px 8% 60px;background:linear-gradient(#152c40,#0d2033)}
.night-journey-heading{text-align:center;margin-bottom:45px}
.night-journey-heading h2{margin:20px 0}
.night-jump{display:flex;justify-content:center;gap:15px;margin-top:25px}
.night-jump a{font:14px var(--serif);padding:12px 0;border-bottom:1px solid #a3946955;min-height:44px}
.night-chapters{position:relative;padding-left:30px}
.night-trail{position:absolute;top:18px;bottom:40px;width:1px;left:0;background:#b09a6644}
.night-trail i{position:absolute;top:0;left:0;width:1px;height:calc(var(--journey-progress,0) * 100%);background:#ead3a0;box-shadow:0 0 10px #ead3a0}
.night-chapter{position:relative;margin:0 0 45px;padding:18px 0 38px;border-bottom:1px solid #9b896140;text-align:center}
.night-waypoint{position:absolute;left:-41px;top:6px;background:#13283c;padding:2px 3px;color:#8b815f;font:21px Georgia,serif;transition:color 1s,text-shadow 1s}
.night-chapter.visible .night-waypoint{color:#f0d69d;text-shadow:0 0 16px #ead3a0}
.night-chapter-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c6b786}
.night-chapter-top>span{font:26px var(--serif)}
.night-chapter .event-sketch{height:155px;opacity:.85;margin:18px auto 10px}
.night-chapter h3{font:43px var(--script);margin:5px 0 8px;font-weight:400}
.night-chapter .interior-actions a{background:transparent;color:#ead8af;border-color:#b19b70}
.design-noor .keepsake-noor{background:#0d2033}
.keepsake-noor .scratch-shell{border-radius:150px 150px 5px 5px;box-shadow:0 0 60px #cdb16d14;border:3px double #a49262}
.closing-noor{background:radial-gradient(ellipse at 50% 25%,#263f53,#0b1b2c)!important;position:relative}
.closing-noor:before{content:'☾';font:84px Georgia,serif;color:#d9c894;display:block;margin-bottom:25px}
.js .design-noor [data-interior] .reveal{filter:none}
.design-noor .night-chapter.reveal{transition:opacity 1.1s,transform 1.1s;filter:none}
/* MEHRAAB — a courtyard, paired family plaques and doors into each celebration. */
.design-jali .interior-hero{background:#164639;min-height:1000px;padding:150px 9% 125px;color:#ecdcbc;isolation:isolate}
.design-jali .masthead{color:#f2dfb3}
.court-ceiling{position:absolute!important;inset:0 0 auto;height:220px;z-index:0;background:url('assets/jali-pattern.svg') repeat;background-size:78px;opacity:.25}
.court-side{position:absolute!important;top:105px;bottom:190px;width:12%;z-index:0;border:1px solid #bf9f6466;background:linear-gradient(90deg,#0c3029,#235440)}
.court-side-left{left:-4%;transform:skewY(-8deg);border-radius:90px 90px 0 0}
.court-side-right{right:-4%;transform:skewY(8deg);border-radius:90px 90px 0 0}
.court-side:after{content:'';position:absolute;inset:13px;border:1px solid #c9b07644;border-radius:inherit}
.court-invitation{padding:95px 8% 40px;background:linear-gradient(120deg,#dfd1ad,#f6f0de 45%,#e0d1ad);color:#1a4737;border-radius:50% 50% 0 0 / 25% 25% 0 0;border:1px solid #cfb67e;box-shadow:0 0 0 9px #d1b97716,0 16px 35px #08261e88}
.court-invitation:before{content:'';position:absolute;inset:12px;border:1px solid #b2996399;border-radius:inherit;pointer-events:none}
.court-invitation .bismillah{width:140px!important;height:35px!important}
.court-kicker{font:25px var(--script);margin:23px 0 10px}
.court-invitation .interior-names{font-size:71px;display:grid;gap:10px;margin:18px 0}
.court-invitation .interior-names em{font-size:25px;color:#9d8655}
.court-invitation .interior-subtitle{font-size:16px;margin-top:26px}
.court-date{margin-top:25px;display:grid;gap:6px}
.court-date strong{font:36px var(--serif);letter-spacing:3px}
.court-date>span,.court-date p{font:8px Arial,sans-serif;letter-spacing:2px}
.court-date p{margin-top:8px}
.court-pool{height:38px;margin:0 10% 0;background:repeating-linear-gradient(0deg,#50746b55 0 1px,transparent 1px 7px),linear-gradient(#264e46,#285d54);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);opacity:.9}
.courtyard-hero .interior-countdown{margin-top:18px}
.courtyard-hero .interior-countdown small{color:#decd9b}
.courtyard-hero .scroll-cue{color:#e6d2a7}
.courtyard-family{padding:0 8% 60px;background:#f4eddb;color:#1b4938;text-align:center}
.court-colonnade{display:flex;gap:13px;height:150px;margin:0 -10% 45px;background:#1a493a;padding:0 22px;color:#cdb984;border-bottom:7px double #baa36c}
.court-colonnade i{flex:1;border:1px solid #bdab77;border-bottom:0;border-radius:70px 70px 0 0;background:linear-gradient(#315b46,#184233);margin-top:25px;position:relative}
.court-colonnade i:after{content:'';position:absolute;inset:9px;border:1px solid #bdab7744;border-radius:inherit}
.court-family-heading h2{margin:22px 0 24px}
.court-family-heading>p:last-child{font-size:17px;line-height:1.5}
.courtyard-parents{display:grid;grid-template-columns:1fr 1fr;position:relative;gap:12px;margin:40px 0 30px}
.courtyard-parents>div:not(.court-family-rosette){background:#e9dec4;padding:43px 15px 30px;border-radius:110px 110px 0 0;border:1px solid #b7a172}
.courtyard-parents strong{font-size:16px;line-height:1.35}
.court-family-rosette{position:absolute;left:calc(50% - 20px);top:115px;background:#f2e8d1;width:40px;height:40px;border-radius:50%;border:1px solid #b7a172;font:30px Georgia,serif;display:grid;place-items:center;color:#91804b}
.courtyard-celebrations{padding:70px 7%;background:#143e32;color:#f1e4c9}
.court-events-heading{text-align:center;margin-bottom:38px}
.court-events-heading h2{margin:20px 0}
.court-events-heading>p:last-child{font-size:15px}
.courtyard-gate{margin:21px 0;border:1px solid #b5a170;background:#1d4b3c;overflow:hidden;border-radius:3px}
.courtyard-gate summary{display:flex;align-items:center;gap:16px;cursor:pointer;min-height:145px;padding:20px 18px;list-style:none;position:relative;background:linear-gradient(110deg,#264f3c,#174132);-webkit-tap-highlight-color:transparent}
.courtyard-gate summary::-webkit-details-marker{display:none}
.courtyard-gate summary:focus-visible{outline:2px solid #e4cd9b;outline-offset:-5px}
.gate-date{flex:0 0 58px;text-align:center;border:1px solid #b5a17077;border-radius:40px 40px 0 0;padding:14px 0 8px;display:grid;gap:4px}
.gate-date strong{font:38px/1 var(--serif);font-weight:400}
.gate-date small{font:7px Arial,sans-serif;letter-spacing:2px}
.gate-title{display:grid;gap:6px;flex:1;min-width:0}
.gate-title>span:not(.eyebrow){font:29px/1.05 var(--script)}
.gate-title>small{font:13px/1.4 var(--serif)}
.gate-plus{font:25px var(--serif);flex:none;transition:transform .5s}
.courtyard-gate[open] .gate-plus{transform:rotate(45deg)}
.gate-inner{padding:15px 22px 35px;text-align:center;background:#efe5ce;color:#183f30;border-top:5px double #ae945f;animation:court-unveil .65s both}
.gate-inner .event-sketch{color:#857444;max-width:310px;height:150px}
.gate-inner .venue-details .full-event-date{margin-top:19px}
.gate-inner .interior-actions a{background:#1d4b3c;color:#f0e5ca}
.design-jali .keepsake-jali{background:#f3ead6;color:#234737}
.keepsake-jali .scratch-shell{border:5px double #a08b58;border-radius:0;box-shadow:9px 9px 0 #d9c69d;max-width:320px}
.closing-jali{background:#1a493a!important;color:#f0e4c9;overflow:hidden}
.closing-jali:before{content:'';display:block;width:60px;height:60px;margin:0 auto 36px;background:url('assets/jali-pattern.svg');background-size:60px;border:1px solid #c1ab76;transform:rotate(45deg)}
.closing-jali .share-button{background:#dac391;color:#193e30}
.js .design-jali .courtyard-gate.reveal:not(.visible){clip-path:none;transform:translateY(25px);opacity:0}
.design-jali .courtyard-gate.reveal{transition:opacity .9s,transform .9s}
/* SAFA — a long personal letter, marginalia, folded paper and perforated date tickets. */
.design-safa .stationery{max-width:700px;background:#f7f3e9}
.design-safa .music-button{right:max(14px,calc((100vw - 700px)/2 + 14px))}
.design-safa .interior-hero{min-height:850px;padding:99px 9% 100px;text-align:left;background:linear-gradient(95deg,#ece5d8,#faf6ed 4%,#f7f2e7 96%,#e5dbc8);overflow:hidden}
.letter-margin{position:absolute!important;left:14px;top:125px;writing-mode:vertical-rl;transform:rotate(180deg);font:7px Arial,sans-serif;letter-spacing:2.5px;color:#94856c}
.letter-mast{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #b9ad8e;padding-bottom:15px;margin-bottom:37px}
.letter-mast>span:last-child{font:12px var(--script);text-align:right}
.letter-hero .bismillah{margin-left:0!important;margin-bottom:16px!important;width:130px!important}
.letter-headline{font:55px/1.02 var(--serif);letter-spacing:-1.7px;margin:36px 0 24px;color:#43543b}
.letter-hero .interior-names{font:58px/1 var(--script);justify-content:flex-start;gap:12px;letter-spacing:-1px;margin:29px 0 10px}
.letter-hero .interior-names em{font-size:25px}
.letter-hero .interior-subtitle{font-size:16px}
.letter-date{border-left:2px solid #b4a275;padding-left:15px;margin-top:32px}
.letter-date>span{font-size:22px}
.letter-date p{font:7px Arial,sans-serif;letter-spacing:2px;margin-top:9px}
.letter-hero .interior-countdown{margin:30px 0 0;padding-top:22px;border-top:1px solid #baae8e;max-width:310px;text-align:left}
.letter-hero .countdown{justify-content:flex-start;gap:18px}
.paper-fold{position:absolute!important;right:0;bottom:0;width:74px;height:74px;background:linear-gradient(135deg,#c9bfa7 0,#e4d8c3 48%,#e4d8c3 49%,#d2c8b9 50%,#f7f3e9 52%);clip-path:polygon(100% 0,100% 100%,0 100%);filter:drop-shadow(-4px -4px 6px #6a634022)}
.personal-letter{background:#faf7ef;padding:53px 9% 62px;position:relative;border-top:1px solid #d2c5ab;margin:0 5%;box-shadow:0 12px 30px #675c3c0c;transform:rotate(-.4deg)}
.personal-letter:before{content:'';position:absolute;top:18px;left:9%;right:9%;height:1px;background:#b8aa8899}
.personal-letter>p{font:21px/1.6 var(--serif);margin:22px 0}
.personal-letter .letter-salutation{font:31px var(--script);margin:8px 0 29px}
.letter-parent-pair{display:grid;gap:20px;margin:35px 0;padding:27px 0;border-top:1px solid #c5b89b;border-bottom:1px solid #c5b89b}
.letter-parent-pair>div{display:grid;grid-template-columns:70px 1fr;gap:0 15px;align-items:center}
.letter-parent-pair .eyebrow{grid-column:2;font-size:7px}
.letter-parent-pair h3{grid-row:1/3;font-size:36px;margin:0}
.letter-parent-pair p{font-size:13px}
.letter-parent-pair strong{font-size:16px}
.personal-letter .letter-signoff{font:22px var(--serif);margin:35px 0 40px}
.letter-signoff>span{font:42px var(--script);display:block;margin-top:10px}
.letter-page-number{font:7px Arial,sans-serif;letter-spacing:1.5px;color:#968568}
.letter-itinerary{padding:64px 7% 52px;background:#efeadd}
.letter-itinerary-heading{text-align:left;margin:0 2% 37px}
.letter-itinerary-heading h2{margin:17px 0}
.letter-ticket{display:grid;grid-template-columns:76px minmax(0,1fr);margin:27px 0;background:#faf7ee;border:1px solid #bfb193;box-shadow:5px 5px 0 #cfc4aa44;position:relative;transform:rotate(.8deg)}
.letter-ticket:nth-of-type(2){transform:rotate(-.8deg)}
.ticket-stub{border-right:1px dashed #ae9f7e;background:#e4e5d6;display:flex;flex-direction:column;align-items:center;padding:26px 0;position:relative;gap:12px;color:#536047}
.ticket-stub:before,.ticket-stub:after{content:'';position:absolute;right:-8px;width:15px;height:15px;background:#efeadd;border:1px solid #bfb193;border-radius:50%;top:-8px;z-index:2}
.ticket-stub:after{top:auto;bottom:-8px}
.ticket-stub>span{font:7px Arial,sans-serif;letter-spacing:1.5px}
.ticket-stub strong{font:50px/1 var(--serif);font-weight:400}
.ticket-stub>small{font:12px var(--serif)}
.ticket-stub>i{writing-mode:vertical-rl;font:20px var(--script);margin-top:35px}
.ticket-content{padding:25px 20px 27px;text-align:left;min-width:0}
.ticket-content h3{font:34px/1.02 var(--serif);font-weight:400;margin:11px 0 10px}
.ticket-content .event-poem{font-size:14px;line-height:1.45}
.ticket-content .venue-details .full-event-date{font-size:17px;margin-top:24px}
.ticket-content .venue-details .event-hour{font-size:15px;margin:4px 0 20px}
.ticket-content .venue-details h4{font-size:24px;margin-left:0}
.ticket-content .venue-details .venue-area{font-size:14px}
.ticket-content .interior-actions{display:grid;gap:8px;justify-content:start;margin-top:24px}
.ticket-content .interior-actions a{font-size:13px;padding:11px 13px}
.ticket-content .calendar-button{padding:8px 0;justify-self:start}
.keepsake-safa{background:#f4efe3;position:relative;border-top:1px dashed #b7ab8a}
.keepsake-safa .scratch-shell{transform:rotate(-2deg);border-radius:0;border:1px solid #b29f78;box-shadow:8px 8px 0 #dfd3bb}
.closing-safa{background:#faf7ef!important;text-align:left!important;border-top:1px solid #c7baa0!important}
.closing-safa .interior-signature{font-size:45px!important}
.closing-safa .eyebrow{font-size:8px}
.closing-safa:after{content:'';position:absolute;right:6%;top:40px;width:80px;height:150px;background:url('assets/interior-olive.svg') center / contain no-repeat;opacity:.5;pointer-events:none}
/* GUL — an asymmetrical floral cover and illustrated, layered folio spreads. */
.design-gul .stationery{max-width:680px;background:#f4e4df}
.design-gul .music-button{right:max(14px,calc((100vw - 680px)/2 + 14px))}
.design-gul .interior-hero{min-height:930px;padding:105px 8% 100px;background:radial-gradient(ellipse at 0 55%,#d9afb566,transparent 60%),#f3e2dd;isolation:isolate;overflow:hidden}
.floral-ghost{position:absolute!important;top:4%;left:-30px;font:260px/.85 var(--script);color:#a3637010;text-align:left;transform:rotate(-12deg);pointer-events:none;z-index:0}
.floral-cover{background:#fcf3eb;padding:35px 9% 42px;transform:rotate(-2deg);border-radius:45% 45% 0 0 / 15% 15% 0 0;border:1px solid #ba9291;box-shadow:12px 12px 0 #d8b5b166,12px 12px 0 1px #c4a1a055;position:relative;margin-top:28px}
.floral-cover:before,.floral-cover:after{content:'';width:95px;height:150px;position:absolute;pointer-events:none;background:url('assets/interior-rose.svg') center / contain no-repeat;opacity:.85;left:-35px;top:95px;transform:rotate(-12deg)}
.floral-cover:after{left:auto;right:-36px;top:auto;bottom:25px;transform:rotate(160deg)}
.floral-cover>.eyebrow:first-child{margin:12px 0 28px;font-size:7px;letter-spacing:1.5px}
.floral-cover .bismillah{width:135px!important;height:32px!important;position:relative;z-index:1}
.floral-kicker{font:41px/1.05 var(--script);margin:28px 0 25px}
.floral-cover .interior-names{font:68px/.95 var(--serif);display:grid;gap:8px;margin:18px 0 22px;letter-spacing:-1px}
.floral-cover .interior-names em{font-size:24px;color:#aa797e}
.floral-cover .interior-subtitle{font-size:15px;margin:20px 0 25px}
.floral-date{border-top:1px solid #c7aaa0;padding-top:22px;display:grid;gap:9px}
.floral-date strong{font:29px var(--serif);font-weight:400}
.floral-date>span{font:7px Arial,sans-serif;letter-spacing:1.2px}
.floral-hero .interior-countdown{margin-top:42px;text-align:left;max-width:285px;transform:rotate(1deg)}
.floral-hero .countdown{justify-content:flex-start;gap:19px}
.floral-family{padding:60px 9%;background:#ead0cd;text-align:left;position:relative;overflow:hidden}
.floral-family-title{position:relative;margin-bottom:26px}
.floral-family-title h2{font:60px/.98 var(--script);margin-top:23px}
.family-flower{position:absolute;right:-10px;top:38px;font:120px Georgia,serif;color:#b7848c55;transform:rotate(-20deg)}
.floral-family>p:not(.family-dua){font-size:17px;line-height:1.5}
.floral-parent-pair{display:grid;gap:25px;margin:32px 0}
.floral-parent-pair>div{background:#f8ebe1;padding:25px 23px 26px;max-width:85%;box-shadow:5px 5px 0 #c89c9c33;border:1px solid #ba9691;border-radius:60px 0 0 0}
.floral-parent-pair .parent-sidra{justify-self:end;border-radius:0 0 60px 0;text-align:right;background:#f2e1d9}
.floral-parent-pair .eyebrow{font-size:7px}
.floral-parent-pair h3{margin:8px 0}
.floral-family .family-dua{text-align:left;font-size:22px;margin-top:40px}
.floral-celebrations{padding:65px 7%;background:#f4e4dc}
.floral-heading{text-align:left;margin:0 2% 37px}
.floral-heading h2{margin:21px 0}
.floral-heading>p:last-child{font:17px var(--script)}
.floral-folio{background:#fcf4eb;border-color:#b98786;box-shadow:7px 7px 0 #e0c3bb,7px 7px 0 1px #b98786,14px 14px 0 #ead1c8,14px 14px 0 1px #c5a09a;margin-right:13px;perspective:1300px}
.floral-folio .folio-tabs button{font-size:13px;padding:12px 3px;min-height:50px}
.floral-folio .petal-page{padding:25px 22px 34px;background:radial-gradient(ellipse at 90% 10%,#eac6c144,transparent 50%),#fcf4eb;min-height:580px;text-align:center}
.petal-page-top{display:flex;justify-content:space-between;align-items:center;gap:14px}
.folio-page-number{font:22px var(--script);opacity:.55}
.folio-date-art{position:relative;height:155px;margin:18px 0 9px;isolation:isolate;display:flex;justify-content:center;align-items:center}
.folio-date-art>strong{font:137px/.9 var(--serif);font-weight:400;color:#b9788533;position:absolute;top:-8px;right:0;left:0;z-index:-1}
.folio-date-art .event-sketch{height:130px;width:100%;position:relative;align-self:end;max-width:290px;color:#9e6572;margin:0;stroke-width:1.4}
.petal-page h3{font:39px/1.04 var(--script);font-weight:400;margin:15px 0 11px}
.petal-page .venue-details h4{font-size:28px}
.floral-folio .folio-navigation{padding:13px 12px;background:#f4e7dd}
.floral-folio .folio-navigation p{font-size:11px}
.keepsake-gul{background:#edcfc8;text-align:center}
.keepsake-gul .scratch-shell{border-radius:120px 8px 120px 8px;max-width:320px;border:4px double #ae7780;background:#f7e9df;box-shadow:10px 10px 0 #c7969822}
.keepsake-gul .date-inside{background:#f7e9df}
.closing-gul{background:radial-gradient(ellipse at 15% 20%,#d5a4ac66,transparent 60%),#f6e9e0!important}
.closing-gul:before{content:'✿';font:77px Georgia,serif;color:#a26b7b;display:block;margin-bottom:28px}
.design-gul .petal-page.page-enter{animation:petal-page-turn .8s both;transform-origin:left center}
@keyframes court-unveil{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes petal-page-turn{from{opacity:.2;transform:perspective(1100px) rotateY(calc(var(--page-direction,1) * 24deg))}to{opacity:1;transform:none}}
@media(min-width:600px){.night-hero .interior-names{font-size:128px;max-width:500px}.night-kicker{font-size:43px}.night-parent-pair{gap:65px;padding:0 10%}.night-chapters{padding-left:50px}.night-waypoint{left:-61px}.night-chapter .venue-details{max-width:460px;margin:auto}.court-invitation{max-width:510px;margin:auto;padding-top:100px}.court-invitation .interior-names{font-size:90px}.court-colonnade{height:190px}.courtyard-parents{gap:20px}.courtyard-parents strong{font-size:20px}.courtyard-gate summary{padding:24px 30px;gap:25px}.gate-title>span:not(.eyebrow){font-size:38px}.gate-date{flex-basis:80px;padding-top:20px}.gate-date strong{font-size:49px}.letter-headline{font-size:78px}.letter-hero .interior-names{font-size:76px}.letter-parent-pair{grid-template-columns:1fr 1fr;gap:35px}.letter-parent-pair>div{display:block}.letter-parent-pair .eyebrow{font-size:8px}.letter-parent-pair h3{margin:15px 0}.letter-ticket{grid-template-columns:98px minmax(0,1fr)}.ticket-content{padding:35px}.ticket-stub strong{font-size:65px}.ticket-content h3{font-size:43px}.ticket-content .interior-actions{display:flex;justify-content:start}.floral-cover{max-width:490px;margin:30px auto 0;padding-top:40px}.floral-cover .interior-names{font-size:84px}.floral-parent-pair{grid-template-columns:1fr 1fr;gap:15px}.floral-parent-pair>div{max-width:100%;padding-top:40px}.floral-parent-pair .parent-sidra{margin-top:55px}.family-flower{right:25px;font-size:170px}.floral-folio .petal-page{padding:30px 45px 40px}}
@media(max-width:380px){.new-invitation .interior-hero{padding-left:8%;padding-right:8%}.new-invitation h2{font-size:39px}.new-invitation .eyebrow{font-size:7px;letter-spacing:1.6px}.interior-countdown .countdown{gap:14px}.interior-countdown .countdown strong{font-size:29px}.interior-countdown .countdown div{min-width:35px}.night-kicker{font-size:30px}.night-hero .interior-names{font-size:86px;gap:7px 14px}.night-hero .interior-names em{font-size:32px}.design-noor .interior-hero{min-height:945px;padding-top:115px;padding-bottom:270px}.night-date>span{font-size:28px}.night-parent-pair{gap:17px}.night-parent-pair strong{font-size:16px}.night-chapters{padding-left:25px}.night-waypoint{left:-36px}.night-chapter h3{font-size:37px}.night-chapter .event-sketch{height:128px}.venue-details h4{font-size:25px}.night-chapter-top .eyebrow{letter-spacing:1.3px;font-size:7px}.design-jali .interior-hero{padding-top:135px;min-height:950px}.court-invitation{padding:90px 8% 33px}.court-invitation .interior-names{font-size:65px}.court-invitation .interior-subtitle{font-size:14px}.court-colonnade{height:120px;gap:9px;padding:0 15px}.courtyard-parents>div:not(.court-family-rosette){padding:35px 10px 25px}.courtyard-parents strong{font-size:15px}.courtyard-parents h3{font-size:35px}.court-family-rosette{top:104px}.courtyard-gate summary{padding:18px 12px;gap:11px}.gate-date{flex-basis:46px}.gate-date strong{font-size:33px}.gate-title>span:not(.eyebrow){font-size:25px}.gate-title>small{font-size:12px}.gate-plus{font-size:22px}.gate-inner{padding-left:16px;padding-right:16px}.design-safa .interior-hero{padding-top:97px;min-height:845px}.letter-mast{gap:12px}.letter-mast .eyebrow{font-size:6px;letter-spacing:1px}.letter-mast>span:last-child{font-size:11px}.letter-headline{font-size:46px}.letter-hero .interior-names{font-size:50px;gap:8px}.letter-hero .interior-names em{font-size:21px}.letter-date>span{font-size:19px}.letter-hero .interior-subtitle{font-size:15px}.letter-parent-pair>div{grid-template-columns:54px 1fr;gap:0 11px}.letter-parent-pair h3{font-size:31px}.letter-parent-pair strong{font-size:15px}.personal-letter>p{font-size:19px}.letter-ticket{grid-template-columns:56px minmax(0,1fr)}.ticket-stub>span{font-size:6px;letter-spacing:.5px}.ticket-stub strong{font-size:43px}.ticket-content{padding:22px 14px}.ticket-content h3{font-size:29px}.ticket-content .venue-details h4{font-size:22px}.ticket-content .venue-details .full-event-date{font-size:16px}.ticket-content .event-poem{font-size:13px}.design-gul .interior-hero{padding:100px 9% 100px;min-height:935px}.floral-cover{padding:33px 9% 37px}.floral-cover .interior-names{font-size:61px}.floral-kicker{font-size:36px}.floral-cover:before,.floral-cover:after{width:75px;left:-29px;background-size:contain}.floral-cover:after{left:auto;right:-28px}.floral-cover .interior-subtitle{font-size:13px}.floral-date strong{font-size:27px}.floral-date>span{font-size:6px;letter-spacing:1px}.floral-family-title h2{font-size:52px}.family-flower{font-size:98px;right:-17px;top:48px}.floral-folio .folio-tabs button{font-size:11px}.floral-folio .petal-page{padding:20px 15px 30px}.petal-page h3{font-size:35px}.petal-page .venue-details h4{font-size:25px}.folio-date-art{height:140px}.folio-date-art>strong{font-size:123px}.folio-date-art .event-sketch{height:118px}.floral-folio .folio-navigation p{font-size:10px}.keepsake-gul .date-inside strong{font-size:54px}}
@media(prefers-reduced-motion:reduce){.new-invitation .interior-hero *,.new-invitation .night-chapters *,.new-invitation .court-colonnade *{transform:none!important}.night-trail i{height:100%}.new-invitation .reveal{opacity:1!important;clip-path:none!important;filter:none!important;transform:none!important}}

.interior-names:focus{outline:none}

/* Keep reveal geometry measurable by IntersectionObserver inside phone frames. */
.js .design-jali .stationery .reveal{clip-path:none!important}
.js .design-jali .stationery .reveal:not(.visible){transform:translateY(24px)}
.design-jali .stationery .reveal.visible{transform:none}
