/* Daawati structural layouts — each occasion owns a composition, not only a palette. */
.layout-atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:4}.layout-atmosphere i{display:none;position:absolute}

/* Wedding: paper journey and full-bleed film chapters */
body.layout-ceremony-map .inv-content-wrap{background-image:linear-gradient(90deg,transparent 49.7%,var(--journey-line) 50%,transparent 50.3%);background-size:100% 100%}
body.layout-ceremony-map .inv-section{width:min(88%,620px);position:relative;box-shadow:0 20px 50px rgba(36,48,46,.08)}
body.layout-ceremony-map .inv-section:nth-child(even){translate:7% 0}body.layout-ceremony-map .inv-section:nth-child(odd){translate:-7% 0}
body.layout-ceremony-map .inv-section::before{content:'';position:absolute;top:50%;width:16px;height:16px;border:4px solid var(--inv-section-bg);border-radius:50%;background:var(--inv-secondary);inset-inline-end:calc(-7% - 10px)}
body.layout-envelope-film .inv-content-wrap{background:#EAF5F7}body.layout-envelope-film .inv-section{width:min(92%,760px);min-height:70vh;display:flex;flex-direction:column;justify-content:center;border:0;box-shadow:0 30px 80px rgba(39,77,91,.12)}
body.layout-envelope-film .inv-section:nth-child(3n+2){width:100%;max-width:none;border-radius:0;background:var(--inv-primary);color:#fff}body.layout-envelope-film .inv-section:nth-child(3n+2) .inv-section-title{color:var(--inv-secondary)}

/* Engagement: editorial split and overlapping paper cards */
body.layout-split-editorial .inv-hero{align-items:flex-start}body.layout-split-editorial .inv-hero-bg{inset-inline-start:46%;width:54%;filter:saturate(.8)}body.layout-split-editorial .inv-hero-overlay{background:linear-gradient(90deg,var(--inv-primary) 0 47%,rgba(0,0,0,.12) 68%)}
[dir=rtl] body.layout-split-editorial .inv-hero-overlay{background:linear-gradient(-90deg,var(--inv-primary) 0 47%,rgba(0,0,0,.12) 68%)}
body.layout-split-editorial .inv-hero-content{max-width:1100px;text-align:start!important;padding-inline-end:56%}body.layout-split-editorial .inv-content-wrap{padding:48px 0;background:#FFF6F8}
body.layout-split-editorial .inv-section{width:min(86%,720px);margin-block:0 26px;border:0;box-shadow:18px 18px 0 color-mix(in srgb,var(--inv-secondary) 34%,transparent)}body.layout-split-editorial .inv-section:nth-child(even){margin-inline-start:auto;transform:rotate(.7deg)}body.layout-split-editorial .inv-section:nth-child(odd){margin-inline-end:auto;transform:rotate(-.7deg)}

/* Birthday: swipeable full-screen slides and rising balloons */
body.layout-balloon-slides{overflow-x:hidden}body.layout-balloon-slides .inv-hero{background:linear-gradient(135deg,#D94F70,#6558C8 55%,#3A98D4)}body.layout-balloon-slides .inv-hero-bg{mix-blend-mode:soft-light;opacity:.65}body.layout-balloon-slides .inv-content-wrap{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;background:#FFF4CC;scrollbar-width:thin}
body.layout-balloon-slides .inv-content-wrap>.inv-section,body.layout-balloon-slides .inv-content-wrap>.inv-photo-chapter{flex:0 0 100vw;width:100vw;max-width:none;min-height:82vh;margin:0;border:0;border-radius:0;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(155deg,#FFF8DE,#FFFFFF);padding-inline:max(7vw,24px)}
body.layout-balloon-slides .inv-content-wrap>.inv-section:nth-child(3n+2){background:linear-gradient(155deg,#FFE8EF,#FFF)}body.layout-balloon-slides .inv-content-wrap>.inv-section:nth-child(3n){background:linear-gradient(155deg,#E9F3FF,#FFF)}
body.layout-balloon-slides .layout-atmosphere i{display:block;bottom:-22vh;width:54px;height:70px;border-radius:50% 50% 48% 52%;background:#FFBD3D;opacity:.78;animation:balloonRise 11s linear infinite}body.layout-balloon-slides .layout-atmosphere i::after{content:'';position:absolute;left:50%;top:69px;width:1px;height:90px;background:rgba(70,55,70,.35)}
body.layout-balloon-slides .layout-atmosphere i:nth-child(2n){background:#EF6685;animation-duration:14s}body.layout-balloon-slides .layout-atmosphere i:nth-child(3n){background:#5EA8E6;animation-duration:17s}body.layout-balloon-slides .layout-atmosphere i:nth-child(1){left:5%}body.layout-balloon-slides .layout-atmosphere i:nth-child(2){left:17%;animation-delay:-5s}body.layout-balloon-slides .layout-atmosphere i:nth-child(3){left:31%;animation-delay:-9s}body.layout-balloon-slides .layout-atmosphere i:nth-child(4){left:48%;animation-delay:-2s}body.layout-balloon-slides .layout-atmosphere i:nth-child(5){left:62%;animation-delay:-7s}body.layout-balloon-slides .layout-atmosphere i:nth-child(6){left:78%;animation-delay:-4s}body.layout-balloon-slides .layout-atmosphere i:nth-child(7){left:91%;animation-delay:-11s}
@keyframes balloonRise{to{transform:translateY(-135vh) rotate(8deg)}}

/* Graduation: theatrical stage and achievement ribbons */
body.layout-star-stage{background:#0D1728}body.layout-star-stage .inv-hero{clip-path:polygon(0 0,100% 0,100% 92%,50% 100%,0 92%)}body.layout-star-stage .inv-hero-overlay{background:radial-gradient(circle at 50% 35%,rgba(224,185,87,.1),rgba(9,18,34,.92) 70%)}body.layout-star-stage .inv-content-wrap{background:#101B2E;padding:72px 0}
body.layout-star-stage .inv-section{width:min(90%,760px);background:#F8F5ED;border:0;border-inline-start:8px solid var(--inv-secondary);border-radius:0;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 50%,calc(100% - 24px) 100%,0 100%);box-shadow:0 24px 60px rgba(0,0,0,.28)}
body.layout-star-stage .layout-atmosphere i{display:block;width:4px;height:4px;border-radius:50%;background:#FFF2B2;box-shadow:0 0 12px #FFF2B2;animation:starPulse 2.8s ease-in-out infinite}body.layout-star-stage .layout-atmosphere i:nth-child(1){left:8%;top:12%}body.layout-star-stage .layout-atmosphere i:nth-child(2){left:22%;top:30%;animation-delay:-1s}body.layout-star-stage .layout-atmosphere i:nth-child(3){left:40%;top:8%;animation-delay:-2s}body.layout-star-stage .layout-atmosphere i:nth-child(4){left:63%;top:22%}body.layout-star-stage .layout-atmosphere i:nth-child(5){left:84%;top:10%;animation-delay:-1.5s}body.layout-star-stage .layout-atmosphere i:nth-child(6){left:92%;top:37%}@keyframes starPulse{50%{transform:scale(2.8);opacity:.25}}

/* Aqiqah: crescent centerpiece and orbital cards */
body.layout-moon-orbit .inv-hero::after{content:'';position:absolute;z-index:2;width:min(44vw,280px);aspect-ratio:1;border-radius:50%;background:var(--inv-secondary);box-shadow:48px -18px 0 3px var(--inv-primary),0 0 60px color-mix(in srgb,var(--inv-secondary) 55%,transparent);inset-inline-end:7%;top:13%;opacity:.88}body.layout-moon-orbit .inv-hero-content{z-index:3}
body.layout-moon-orbit .inv-content-wrap{position:relative;padding:54px 0;background:radial-gradient(circle at center,#FFF 0 2px,transparent 3px),var(--inv-section-bg);background-size:42px 42px}body.layout-moon-orbit .inv-content-wrap::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,var(--inv-secondary),transparent)}
body.layout-moon-orbit .inv-section{width:min(82%,590px);border-radius:34px;box-shadow:0 18px 45px rgba(49,94,75,.1);position:relative}body.layout-moon-orbit .inv-section:nth-child(even){translate:9% 0}body.layout-moon-orbit .inv-section:nth-child(odd){translate:-9% 0}

/* Circumcision: Moroccan arches and vertical parade */
body.layout-zellige-parade .inv-hero{border-radius:0 0 48% 48%/0 0 8% 8%}body.layout-zellige-parade .inv-content-wrap{padding:60px 0;background-color:#F8F3E8;background-image:linear-gradient(30deg,rgba(23,96,78,.07) 12%,transparent 12.5%,transparent 87%,rgba(23,96,78,.07) 87.5%)}
body.layout-zellige-parade .inv-section{width:min(88%,650px);border:2px solid var(--inv-secondary);border-radius:180px 180px 24px 24px/70px 70px 24px 24px;padding-top:86px;position:relative;box-shadow:0 16px 0 color-mix(in srgb,var(--inv-primary) 12%,transparent)}body.layout-zellige-parade .inv-section::after{content:'✦';position:absolute;top:22px;left:50%;transform:translateX(-50%);color:var(--inv-secondary);font-size:28px}

/* Corporate: formal information architecture */
body.layout-corporate-agenda .inv-hero{min-height:620px;align-items:flex-start}body.layout-corporate-agenda .inv-hero-bg{inset-inline-start:52%;width:48%}body.layout-corporate-agenda .inv-hero-overlay{background:linear-gradient(90deg,#143B63 0 54%,rgba(20,59,99,.25) 72%)}[dir=rtl] body.layout-corporate-agenda .inv-hero-overlay{background:linear-gradient(-90deg,#143B63 0 54%,rgba(20,59,99,.25) 72%)}body.layout-corporate-agenda .inv-hero-content{max-width:1180px;text-align:start!important;padding-inline-end:52%}
body.layout-corporate-agenda .inv-content-wrap{counter-reset:agenda;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#CAD8E5;padding:1px}body.layout-corporate-agenda .inv-section{counter-increment:agenda;width:100%;max-width:none;margin:0;border:0;border-radius:0;min-height:340px;position:relative;padding:54px}body.layout-corporate-agenda .inv-section::before{content:counter(agenda,decimal-leading-zero);position:absolute;top:20px;inset-inline-start:22px;font:700 12px/1 Lato,sans-serif;letter-spacing:.14em;color:var(--inv-primary)}body.layout-corporate-agenda .inv-section-title{justify-content:flex-start;text-align:start}
body.layout-corporate-keynote .inv-hero{clip-path:polygon(0 0,100% 0,100% 88%,62% 100%,0 92%)}body.layout-corporate-keynote .inv-content-wrap{padding:68px 0;background:#F5F6F8}body.layout-corporate-keynote .inv-section{width:min(90%,900px);border-radius:2px;border:0;border-top:4px solid var(--inv-secondary);box-shadow:0 24px 60px rgba(16,28,46,.09)}body.layout-corporate-keynote .inv-section:nth-child(even){background:#101C2E;color:#fff}body.layout-corporate-keynote .inv-section:nth-child(even) .inv-section-title{color:var(--inv-secondary)}

/* Baby, Henna, Ramadan */
body.layout-cloud-story .inv-hero{border-radius:0 0 50% 50%/0 0 8% 8%}body.layout-cloud-story .inv-content-wrap{padding:62px 0;background:linear-gradient(#E8F4FF,#FFF8FB)}body.layout-cloud-story .inv-section{width:min(88%,620px);border:0;border-radius:60px 60px 36px 36px;box-shadow:0 20px 55px rgba(109,143,183,.12)}body.layout-cloud-story .inv-section:nth-child(even){border-radius:36px 60px 60px 36px}
body.layout-cloud-story .layout-atmosphere i{display:block;width:110px;height:36px;border-radius:40px;background:rgba(255,255,255,.68);filter:blur(1px);animation:cloudDrift 20s linear infinite}body.layout-cloud-story .layout-atmosphere i::before,body.layout-cloud-story .layout-atmosphere i::after{content:'';position:absolute;border-radius:50%;background:inherit}body.layout-cloud-story .layout-atmosphere i::before{width:54px;height:54px;left:18px;bottom:0}body.layout-cloud-story .layout-atmosphere i::after{width:42px;height:42px;right:18px;bottom:0}body.layout-cloud-story .layout-atmosphere i:nth-child(1){top:14%;left:-120px}body.layout-cloud-story .layout-atmosphere i:nth-child(2){top:38%;left:-120px;animation-delay:-8s}body.layout-cloud-story .layout-atmosphere i:nth-child(3){top:70%;left:-120px;animation-delay:-14s}@keyframes cloudDrift{to{transform:translateX(calc(100vw + 240px))}}
body.layout-lantern-night{background:#28120F}body.layout-lantern-night .inv-hero-overlay{background:radial-gradient(circle at 50% 24%,rgba(211,155,74,.2),rgba(42,16,13,.92) 72%)}body.layout-lantern-night .inv-content-wrap{padding:72px 0;background:#2A100D;background-image:radial-gradient(circle at 50% 0,rgba(211,155,74,.15),transparent 42%)}body.layout-lantern-night .inv-section{width:min(88%,650px);background:#FFF8F0;border:1px solid #D39B4A;border-radius:22px 22px 80px 80px;box-shadow:0 28px 80px rgba(0,0,0,.32)}
body.layout-majlis .inv-hero{border-radius:0 0 50% 50%/0 0 12% 12%}body.layout-majlis .inv-hero-overlay{background:radial-gradient(ellipse at center,rgba(221,187,107,.08),rgba(14,62,51,.9))}body.layout-majlis .inv-content-wrap{padding:70px 0;background:#F4FAF7}body.layout-majlis .inv-section{width:min(90%,700px);border-radius:120px 120px 26px 26px/52px 52px 26px 26px;border:1px solid var(--inv-secondary);box-shadow:inset 0 0 0 7px #fff,0 22px 56px rgba(22,79,66,.1)}

@media(max-width:700px){body.layout-split-editorial .inv-hero-bg,body.layout-corporate-agenda .inv-hero-bg{inset:0;width:100%}body.layout-split-editorial .inv-hero-overlay,body.layout-corporate-agenda .inv-hero-overlay{background:rgba(0,0,0,.48)}body.layout-split-editorial .inv-hero-content,body.layout-corporate-agenda .inv-hero-content{padding-inline:0;text-align:center!important}body.layout-corporate-agenda .inv-content-wrap{grid-template-columns:1fr}body.layout-corporate-agenda .inv-section{min-height:auto;padding:54px 22px}body.layout-ceremony-map .inv-section:nth-child(n),body.layout-moon-orbit .inv-section:nth-child(n){translate:0 0}body.layout-ceremony-map .inv-section::before{display:none}body.layout-moon-orbit .inv-hero::after{width:150px;opacity:.45;top:9%;inset-inline-end:-20px}}
@media(prefers-reduced-motion:reduce){.layout-atmosphere i{animation:none!important}.layout-atmosphere{display:none}body.layout-balloon-slides .inv-content-wrap{scroll-behavior:auto}}
