/* The invitation unfolds as places in one luminous garden, never framed cards. */
#invitation-page[data-chapters="garden-v37"]{--chapter-ink:#234c68;--chapter-muted:#506971;--chapter-paper:#faf4e8;--chapter-sage:#e4ebdd;--chapter-blue:#dfebec;--chapter-rose:#f0dfdd}
[data-chapter-type]{scroll-margin-top:18px}
[data-chapter-type] img{max-width:100%}

/* A porcelain pool joins the two families on a single, open surface. */
.invitation-chapter[data-chapter-type="invitation"]{padding:70px 0 64px;overflow:hidden;color:var(--chapter-ink);background:linear-gradient(var(--chapter-paper),#f4f3e9 36%,#edf0e7 70%,var(--chapter-paper))}
.invitation-introduction{position:relative;z-index:2;text-align:center;padding:0 24px}
.invitation-introduction h2{font-family:var(--font-display);font-size:clamp(34px,5vw,54px);font-weight:400;line-height:1.06;margin:0;color:var(--chapter-ink)}
.invitation-introduction h2 em{font-weight:400}
.invitation-waters{position:relative;width:min(760px,100%);height:clamp(220px,33vw,370px);margin:-4px auto -6px;isolation:isolate}
.invitation-waters>img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transform-origin:50% 65%;transition:transform 1900ms cubic-bezier(.18,.7,.2,1),opacity 1400ms ease;mask-image:radial-gradient(ellipse 64% 60%,#000 50%,transparent 98%)}
.invitation-ripple{position:absolute;z-index:-1;width:68%;height:24%;left:16%;top:65%;border:1px solid #739c9c40;border-radius:50%;box-shadow:0 0 0 15px #a7c7c514,0 0 0 33px #a7c7c50a;transform:scale(.8);opacity:0;transition:transform 2300ms cubic-bezier(.16,.7,.2,1),opacity 1700ms ease}
[data-chapter-type="invitation"][data-chapter-state="open"] .invitation-ripple{transform:scale(1.24);opacity:1}
[data-chapter-type="invitation"][data-chapter-state="closed"] .invitation-waters>img{transform:perspective(1000px) rotateX(9deg) scale(.94);opacity:.45}
[data-chapter-type="invitation"] .family-folio{container-type:normal;max-width:830px;width:100%;padding:0 28px;margin:0 auto;filter:none}
[data-chapter-type="invitation"] .family-folio::before{content:none}
[data-chapter-type="invitation"] .family-letter{min-height:0;padding:0;text-align:center}
[data-chapter-type="invitation"] .letter-blessing{font-size:17px;font-style:italic;line-height:1.5;max-width:480px;margin:0 auto 12px;color:#577263}
[data-chapter-type="invitation"] .letter-request{font-size:16px;line-height:1.55;margin:0 0 26px}
.family-pair{display:grid;grid-template-columns:minmax(0,1fr) 35px minmax(0,1fr);align-items:start;gap:8px}
.family-person{min-width:0}
[data-chapter-type="invitation"] .letter-name{font-family:var(--font-script);font-size:clamp(36px,5.5vw,57px);font-style:normal;font-weight:400;line-height:1.22;margin:0 0 11px;color:var(--chapter-ink);overflow-wrap:anywhere}
[data-chapter-type="invitation"] .letter-parents{font-size:16px;max-width:270px}
[data-chapter-type="invitation"] .letter-parents>span{font-size:13px;color:#58695f;margin-bottom:6px}
[data-chapter-type="invitation"] .letter-parents p{font-size:16px;line-height:1.55;color:var(--chapter-muted)}
[data-chapter-type="invitation"] .letter-ampersand{font-family:var(--font-display);font-size:32px;font-style:italic;color:#a08347;margin:9px 0 0}
.letter-occasion{position:relative;max-width:440px;margin:29px auto 0;padding:24px 0 0}
.letter-occasion::before{content:'';position:absolute;top:0;left:calc(50% - 43px);width:86px;height:1px;background:#a2b5a783}
[data-chapter-type="invitation"] .letter-date{font-size:19px;margin:0 0 5px;letter-spacing:.015em}
[data-chapter-type="invitation"] .letter-venue{font-size:16px;line-height:1.5;max-width:350px;color:var(--chapter-muted)}

/* Each celebration has its own lighting, composition and arrival gesture. */
#invitation-page[data-chapters="garden-v37"] .celebrations{background:var(--chapter-paper);padding:0;overflow:hidden}
#invitation-page[data-chapters="garden-v37"] .celebration-heading{max-width:650px;padding:36px 24px 20px}
#invitation-page[data-chapters="garden-v37"] .celebration-heading h2{font-size:clamp(34px,5vw,48px);color:var(--chapter-ink)}
#invitation-page[data-chapters="garden-v37"] .celebration-heading p{max-width:none;font-size:16px;font-style:italic;color:var(--chapter-muted);margin:10px auto 0}
#invitation-page[data-chapters="garden-v37"] .celebration-heading::after{content:none}
#invitation-page[data-chapters="garden-v37"] #events-list{display:block;max-width:none;padding:0;margin:0;gap:0}
.ceremony[data-chapter-type]{--scene-tint:#e4ebdd;--scene-accent:#526844;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(15px,4vw,60px);width:100%;max-width:none;min-height:560px;padding:75px max(32px,calc((100% - 1160px)/2));margin:0;container-type:normal;background:linear-gradient(var(--chapter-paper),var(--scene-tint) 45%,var(--chapter-paper));color:var(--chapter-ink);filter:none;transform:none;opacity:1;transition:none;overflow:hidden}
.ceremony[data-chapter-type]::before{content:'';position:absolute;z-index:-1;inset:8% 0 12%;background:radial-gradient(ellipse at 30% 50%,#fffdf56b,transparent 62%);pointer-events:none}
.ceremony[data-chapter-type] .event-card-frame,.ceremony[data-chapter-type] .event-card-tassels{display:none}
.chapter-scene{position:relative;min-width:0;width:100%;display:grid;place-items:center;isolation:isolate;perspective:1100px}
.ceremony[data-chapter-type] .ceremony-art{position:relative;z-index:1;display:block;flex:none;width:100%;height:auto;aspect-ratio:3/2;max-width:640px;margin:0;overflow:visible;background:none;border:0;transform:none;transition:transform 1700ms cubic-bezier(.16,.7,.2,1),opacity 1400ms ease,clip-path 1600ms cubic-bezier(.16,.7,.2,1);transform-origin:50% 80%}
.ceremony[data-chapter-type] .ceremony-art img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;mix-blend-mode:multiply;mask-image:none;filter:drop-shadow(0 12px 16px #4b534317)}
.ceremony:is([data-chapter-type="mehendi"],[data-chapter-type="haldi"]) .ceremony-art img{filter:none;mask-image:radial-gradient(ellipse 69% 69%,#000 35%,#000b 64%,transparent 89%)}
.chapter-content{position:relative;z-index:2;min-width:0;max-width:450px;margin-inline:auto;width:100%}
.ceremony[data-chapter-type] .ceremony-copy{display:block;min-height:0;padding:0;width:100%;text-align:center}
.ceremony[data-chapter-type] .ceremony-copy h3{font-family:var(--font-script);font-size:clamp(44px,5.2vw,64px);line-height:1.17;font-weight:400;color:var(--chapter-ink);margin:0 0 8px;overflow-wrap:anywhere}
.chapter-lead{font-family:var(--font-display);font-size:20px;font-style:italic;line-height:1.35;color:var(--scene-accent);margin:0 auto 23px;max-width:330px;text-wrap:balance}
.ceremony[data-chapter-type] .ceremony-date,.ceremony[data-chapter-type] .ceremony-time{display:inline-block;font-size:16px;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--chapter-ink);margin:0 0 10px}
.ceremony[data-chapter-type] .ceremony-time::before{content:'·';display:inline-block;margin:0 9px;color:var(--scene-accent)}
.ceremony[data-chapter-type] .ceremony-venue{font-size:20px;font-style:normal;max-width:none;line-height:1.35;margin:0 auto 15px;color:var(--chapter-ink)}
.ceremony[data-chapter-type] .ceremony-description{font-size:16px;line-height:1.6;max-width:340px;margin:0 auto 15px;color:var(--chapter-muted)}
.ceremony[data-chapter-type] .ceremony-attire{font-size:15px;line-height:1.5;max-width:340px;margin:0 auto 6px;color:var(--chapter-muted)}
.ceremony[data-chapter-type] .ceremony-attire .label{display:inline;font-size:inherit;font-style:italic;letter-spacing:0;text-transform:none}
.ceremony[data-chapter-type] .ceremony-map{font-size:14px;line-height:1.4;letter-spacing:0;text-transform:none;min-height:44px;color:var(--scene-accent);text-decoration-thickness:1px;text-underline-offset:5px;padding:8px 12px}
.ceremony[data-chapter-type][data-custom-art="true"] .ceremony-art{width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;border:0;border-radius:3px}
.ceremony[data-chapter-type][data-custom-art="true"] .ceremony-art img{object-fit:cover;mask-image:none;mix-blend-mode:normal;filter:none}
.ceremony[data-chapter-type] .ceremony-time[hidden],.ceremony[data-chapter-type] .ceremony-art[hidden]{display:none}

/* Mehendi grows sideways like a leaf opening toward the light. */
[data-chapter-type="mehendi"] .ceremony-art{clip-path:inset(0 round 0)}
[data-chapter-type="mehendi"][data-chapter-state="closed"] .ceremony-art{clip-path:inset(2% 48% 2% 2% round 42%);transform:rotate(-3deg) scale(.98);opacity:.2}
[data-chapter-type="mehendi"] .chapter-scene::after{content:'';position:absolute;width:62%;height:25%;left:19%;bottom:5%;border-bottom:1px solid #889e6955;border-radius:50%;transform:rotate(-8deg)}

/* The haldi urli opens in a circular pool of marigold sunlight. */
.ceremony[data-chapter-type="haldi"]{--scene-tint:#f5e7be;--scene-accent:#806028;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
[data-chapter-type="haldi"] .chapter-scene{grid-column:2;grid-row:1}
[data-chapter-type="haldi"] .chapter-content{grid-column:1;grid-row:1}
[data-chapter-type="haldi"] .ceremony-art{clip-path:circle(76% at 50% 50%)}
[data-chapter-type="haldi"][data-chapter-state="closed"] .ceremony-art{clip-path:circle(12% at 50% 50%);transform:rotate(-8deg) scale(.93);opacity:.25}
[data-chapter-type="haldi"] .chapter-scene::before{content:'';position:absolute;inset:7% 18%;border:1px solid #c3a34d44;border-radius:50%;box-shadow:0 0 0 18px #d7b95f0b;transform:rotateX(20deg) scale(.9);transition:transform 2200ms ease,opacity 1700ms ease}
[data-chapter-type="haldi"][data-chapter-state="closed"] .chapter-scene::before{transform:scale(.35);opacity:0}

/* Instruments and a moving glint, like the first note of an evening. */
.ceremony[data-chapter-type="sangeet"]{--scene-tint:#e2e7ef;--scene-accent:#665779;grid-template-columns:1fr;gap:5px;text-align:center;padding-block:60px}
[data-chapter-type="sangeet"] .chapter-scene{width:min(340px,72vw);margin:auto}
.ceremony[data-chapter-type="sangeet"] .ceremony-art{aspect-ratio:1;max-height:320px}
[data-chapter-type="sangeet"] .chapter-content{max-width:540px}
[data-chapter-type="sangeet"] .chapter-scene::before{content:'';position:absolute;inset:-9% -15%;border:1px solid #adb5cb45;border-radius:50%;transform:rotate(-19deg) scaleY(.52)}
[data-chapter-type="sangeet"] .chapter-scene::after{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(110deg,transparent 20%,#fff8df70 49%,transparent 65%);mix-blend-mode:soft-light;opacity:0;pointer-events:none}
[data-chapter-type="sangeet"][data-chapter-state="closed"] .ceremony-art{transform:perspective(900px) rotateY(-12deg) scale(.88);opacity:.2}
[data-chapter-type="sangeet"][data-chapter-state="open"] .chapter-scene::after{animation:chapter-glint 1700ms ease 150ms both}

/* The wedding flame rises into the open porcelain-blue space. */
.ceremony[data-chapter-type="wedding"]{--scene-tint:#e2eeea;--scene-accent:#586c5d;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
[data-chapter-type="wedding"] .chapter-scene{grid-column:2;grid-row:1;max-width:420px;margin:auto}
[data-chapter-type="wedding"] .chapter-content{grid-column:1;grid-row:1}
.ceremony[data-chapter-type="wedding"] .ceremony-art{aspect-ratio:1}
[data-chapter-type="wedding"][data-chapter-state="closed"] .ceremony-art{clip-path:inset(65% 0 0);transform:translateY(18px);opacity:.25}
[data-chapter-type="wedding"][data-chapter-state="open"] .ceremony-art{clip-path:inset(0)}
[data-chapter-type="wedding"] .chapter-content::before{content:'';display:block;width:24px;height:46px;border:1px solid #9cad8e88;border-radius:50%;transform:rotate(35deg);margin:0 auto 23px}

/* Rose light crosses the reception; the farewell drifts gently away. */
.ceremony[data-chapter-type="reception"]{--scene-tint:#f1e0dc;--scene-accent:#80555c}
[data-chapter-type="reception"] .chapter-scene{max-width:430px;margin:auto}
.ceremony[data-chapter-type="reception"] .ceremony-art{aspect-ratio:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
[data-chapter-type="reception"][data-chapter-state="closed"] .ceremony-art{clip-path:polygon(0 0,0 0,35% 100%,0 100%);transform:scale(.95);opacity:.25}
[data-chapter-type="reception"] .chapter-scene::before{content:'';position:absolute;inset:2% -3%;border-radius:50%;background:radial-gradient(ellipse,#fff7e099,transparent 67%);transform:scaleX(1.15)}
.ceremony[data-chapter-type="vidaai"]{--scene-tint:#edf0df;--scene-accent:#626b4c;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:500px}
[data-chapter-type="vidaai"] .chapter-scene{grid-column:2;grid-row:1;width:min(370px,100%);margin:auto}
[data-chapter-type="vidaai"] .chapter-content{grid-column:1;grid-row:1}
.ceremony[data-chapter-type="vidaai"] .ceremony-art{aspect-ratio:1;transform:rotate(-3deg);transition-duration:2100ms}
[data-chapter-type="vidaai"][data-chapter-state="closed"] .ceremony-art{transform:translateX(40px) rotate(7deg);opacity:.1}

/* A quiet place for two. Real couple photography remains optional. */
.story-chapter[data-chapter-type="couple"]{padding:72px 24px 80px;background:linear-gradient(var(--chapter-paper),#e9eeeb 46%,var(--chapter-paper));color:var(--chapter-ink);overflow:hidden}
[data-chapter-type="couple"] .story-folio{container-type:normal;max-width:1120px;width:100%;margin:auto;filter:none;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
[data-chapter-type="couple"] .story-folio::before{content:none}
.story-garden{position:relative;min-width:0;perspective:1100px;align-self:center}
.story-garden img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 65% 64%,#000 48%,transparent 98%);transition:transform 2100ms cubic-bezier(.16,.7,.2,1),opacity 1700ms ease}
[data-chapter-type="couple"][data-chapter-state="closed"] .story-garden img{transform:scale(1.06) translateY(12px);opacity:.2}
[data-chapter-type="couple"] .story-copy{min-height:0;padding:0;text-align:left;max-width:440px}
[data-chapter-type="couple"] .story-copy h2{font-family:var(--font-display);font-size:clamp(35px,4.5vw,49px);line-height:1.1;font-weight:400;margin:0 0 24px;color:var(--chapter-ink)}
[data-chapter-type="couple"] .story-copy>p[data-bind="story.text"]{font-size:18px;line-height:1.65;margin:0 0 23px;color:var(--chapter-muted);text-wrap:pretty}
[data-chapter-type="couple"] #story-tags{justify-content:flex-start;gap:7px 20px;font-size:15px;line-height:1.45;color:#636843;margin:0 0 24px}
[data-chapter-type="couple"] #story-tags>span{max-width:100%}
[data-chapter-type="couple"] .story-signature{font-family:var(--font-script);font-size:37px;font-style:normal;line-height:1.25;color:var(--chapter-ink);margin:25px 0 9px;overflow-wrap:anywhere}
[data-chapter-type="couple"] .story-signature em{font-family:var(--font-display);font-size:.6em;margin:0 7px}
[data-chapter-type="couple"] .story-hashtag{font-size:14px;line-height:1.5;color:#526d66}
[data-chapter-type="couple"] .story-art{width:100%;max-width:430px;margin:0 0 24px;border:0;overflow:hidden;border-radius:2px}
[data-chapter-type="couple"] .story-art img{display:block;width:100%;height:auto;max-height:400px;object-fit:contain;transform:none;transition:none}

@keyframes chapter-glint{0%{transform:translateX(-35%);opacity:0}40%{opacity:.6}100%{transform:translateX(45%);opacity:0}}
[data-chapter-motion="paused"] .chapter-scene::after{animation-play-state:paused!important}

@media(max-width:759px){
  .invitation-chapter[data-chapter-type="invitation"]{padding:55px 0 52px}
  .invitation-waters{height:250px;margin:0 auto -9px;width:min(540px,112%);left:50%;transform:translateX(-50%)}
  [data-chapter-type="invitation"] .family-folio{padding-inline:23px}
  [data-chapter-type="invitation"] .letter-blessing{font-size:16px;max-width:320px}
  [data-chapter-type="invitation"] .letter-request{font-size:15px;margin-bottom:24px}
  .family-pair{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:7px}
  [data-chapter-type="invitation"] .letter-name{font-size:36px;line-height:1.2}
  [data-chapter-type="invitation"] .letter-parents p{font-size:14px;line-height:1.5}
  [data-chapter-type="invitation"] .letter-parents>span{font-size:12px}
  [data-chapter-type="invitation"] .letter-ampersand{font-size:26px;margin-top:6px}
  [data-chapter-type="invitation"] .letter-date{font-size:18px}
  .ceremony[data-chapter-type]{display:flex;flex-direction:column;gap:5px;min-height:0;padding:33px 24px 54px}
  .chapter-scene{width:min(500px,calc(100% + 32px));flex:none;margin:0 -16px}
  .chapter-content{max-width:420px}
  .ceremony[data-chapter-type] .ceremony-copy h3{font-size:46px;margin-bottom:6px}
  .chapter-lead{font-size:19px;margin-bottom:18px}
  .ceremony[data-chapter-type] .ceremony-date,.ceremony[data-chapter-type] .ceremony-time{font-size:15px;margin-bottom:9px}
  .ceremony[data-chapter-type] .ceremony-venue{font-size:19px;margin-bottom:13px}
  .ceremony[data-chapter-type] .ceremony-attire{font-size:15px;max-width:300px}
  .ceremony[data-chapter-type] .ceremony-description{font-size:16px;max-width:320px}
  [data-chapter-type="sangeet"] .chapter-scene{width:min(265px,68vw);margin:0 auto 15px}
  [data-chapter-type="wedding"] .chapter-scene,[data-chapter-type="reception"] .chapter-scene{width:min(275px,72vw);margin:0 auto 16px}
  [data-chapter-type="wedding"] .chapter-content::before{display:none}
  [data-chapter-type="vidaai"] .chapter-scene{width:min(260px,68vw);margin:0 auto 14px}
  .ceremony:is([data-chapter-type="sangeet"],[data-chapter-type="reception"]){padding-top:48px}
  .story-chapter[data-chapter-type="couple"]{padding:46px 24px 60px}
  [data-chapter-type="couple"] .story-folio{display:flex;flex-direction:column;gap:18px}
  .story-garden{width:min(560px,calc(100% + 50px));margin-inline:-25px;order:0}
  [data-chapter-type="couple"] .story-copy{text-align:center;max-width:410px;width:100%}
  [data-chapter-type="couple"] .story-copy h2{font-size:35px;margin-bottom:20px}
  [data-chapter-type="couple"] .story-copy>p[data-bind="story.text"]{font-size:17px;line-height:1.65}
  [data-chapter-type="couple"] #story-tags{justify-content:center;font-size:14px;gap:6px 15px}
  [data-chapter-type="couple"] .story-signature{font-size:35px}
  [data-chapter-type="couple"] .story-art{margin-inline:auto}
}
@media(max-width:359px){
  [data-chapter-type="invitation"] .family-folio{padding-inline:17px}
  [data-chapter-type="invitation"] .letter-name{font-size:32px}
  .ceremony[data-chapter-type]{padding-inline:21px}
  .ceremony[data-chapter-type] .ceremony-copy h3{font-size:41px}
  .ceremony[data-chapter-type] .ceremony-date,.ceremony[data-chapter-type] .ceremony-time{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  [data-chapter-type] *,[data-chapter-type] *::before,[data-chapter-type] *::after{animation:none!important;transition:none!important}
  [data-chapter-type] .ceremony-art,[data-chapter-type] .invitation-waters>img,[data-chapter-type] .story-garden img{transform:none!important;opacity:1!important;clip-path:none!important}
}
