/* Local original Google Fonts WOFF2 assets; SIL OFL licenses in ../assets/fonts. */
/* Cormorant Garamond: latin, italic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('../assets/fonts/cormorant-garamond-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Cormorant Garamond: latin, normal */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../assets/fonts/cormorant-garamond-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Great Vibes: latin, normal */
@font-face {
  font-family: 'Great Vibes';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/great-vibes-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Manrope: latin, normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../assets/fonts/manrope-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Noto Serif Devanagari: devanagari, normal */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400 500;
  font-stretch: 100%;
  font-display: swap;
  src: url('../assets/fonts/noto-serif-devanagari-normal-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

/* Noto Serif Devanagari: latin, normal */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400 500;
  font-stretch: 100%;
  font-display: swap;
  src: url('../assets/fonts/noto-serif-devanagari-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--wine:#641c32;--wine-dark:#401020;--gold:#a07a38;--gold-light:#d8bf86;--ink:#362b27;--muted:#6f635d;--paper:#fcf8ee;--cream:#f3ecdb;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans);overflow-wrap:break-word}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:5px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h2{font-size:clamp(2.75rem,5vw,4rem)}h2 em{color:var(--wine);font-weight:400}h3{font-size:2.2rem}.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold);line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 29px;border:1px solid var(--wine);font-size:.875rem;font-weight:600;line-height:1.4;transition:background .2s,transform .2s;gap:12px;border-radius:2px}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--wine);color:var(--paper)}.button-solid:hover{background:var(--wine-dark)}.button-outline{background:transparent;color:var(--wine)}.button-outline:hover{background:#641c3209}.button-small{min-height:42px;padding:10px 24px;font-size:.8rem}.text-button{border:0;border-bottom:1px solid var(--gold-light);background:transparent;padding:5px 0;color:var(--wine);font-size:.875rem;font-weight:600}.text-button span{padding-left:9px}.skip-link{position:fixed;z-index:100;left:16px;top:10px;transform:translateY(-150%);background:var(--paper);padding:12px}.skip-link:focus{transform:none}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #a07a3824;background:var(--paper);position:relative;z-index:20}.monogram{font-family:var(--serif);font-size:2.1rem;color:var(--wine);line-height:1;letter-spacing:-.07em}.monogram span{font-style:italic;font-size:1.4rem;color:var(--gold);padding:0 6px}.site-header nav{display:flex;gap:35px;font-size:.8rem}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}.site-header nav a:hover:after{width:100%}.menu-button{display:none;background:transparent;border:0;width:44px;height:44px;padding:10px}.menu-button span{display:block;height:1px;background:var(--wine);margin:7px 0}.mobile-nav{position:absolute;top:76px;left:0;right:0;background:var(--paper);z-index:30;padding:24px;box-shadow:0 14px 25px #362b2714}.mobile-nav a{display:block;padding:12px}.hero{position:relative;min-height:780px;background:var(--paper);isolation:isolate;display:flex;align-items:flex-start;justify-content:center;text-align:center;padding:70px 30px 100px}.hero:before{content:'';position:absolute;inset:0;background-image:var(--hero-art,none);background-size:cover;background-position:center 58%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fcf8ee33 0%,transparent 55%,#fcf8ee11 80%,#fcf8ee99 100%);z-index:-1}.hero-frame{position:absolute;inset:24px 24px 25px;border:1px solid #a07a3860;pointer-events:none}.hero-frame:before{content:'';position:absolute;inset:6px;border:1px solid #a07a3828}.hero-copy{max-width:900px}.hero .eyebrow{color:var(--wine);letter-spacing:.25em;font-size:.75rem}.hero h1{font-size:clamp(5rem,8.1vw,8.2rem);color:var(--wine);display:flex;align-items:center;justify-content:center;gap:30px;margin:15px 0 10px;line-height:1.03}.hero h1 em{font-size:.58em;color:var(--gold);font-weight:400}.hero-invitation{font-family:var(--serif);font-size:1.5rem;line-height:1.4}.hero-date{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:27px;font-size:.95rem}.line{height:1px;width:42px;background:var(--gold-light)}.hero-place{margin:7px 0 23px;font-size:.68rem;font-weight:600;letter-spacing:.08em}.hero .button{font-size:.8rem;min-height:46px;padding:12px 25px}.hero-bottom{position:absolute;bottom:47px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:500;color:var(--wine-dark)}.hero-bottom a span{font-size:20px;padding-left:7px}.section-wrap{max-width:1200px;margin:0 auto;padding:95px 48px}.welcome{text-align:center;max-width:780px;padding-top:88px;padding-bottom:82px}.welcome h2{margin:18px 0 25px}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy){max-width:640px;margin:auto;color:var(--muted);font-size:.94rem;line-height:1.9}.signature{font-family:var(--serif);font-size:1.4rem;margin-top:22px;color:var(--wine)}.ornament{display:flex;gap:15px;align-items:center;justify-content:center;margin:32px auto;color:var(--gold);font-size:1.3rem}.ornament span{width:55px;height:1px;background:var(--gold-light)}.countdown{display:flex;align-items:flex-start;justify-content:center;gap:20px}.countdown div{min-width:68px;display:flex;flex-direction:column}.countdown strong{font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--wine);font-weight:500;font-variant-numeric:tabular-nums}.countdown span{text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;margin-top:10px;color:var(--muted)}.countdown i{font-style:normal;font-family:var(--serif);color:var(--gold-light);font-size:2rem;line-height:1.2}.small-copy{font-size:.75rem;color:var(--muted);margin-top:16px}.celebrations{max-width:none;background:var(--cream);padding-left:max(6%,calc((100vw - 1104px)/2));padding-right:max(6%,calc((100vw - 1104px)/2))}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading h2{margin-top:12px}.section-heading>p{font-size:.875rem;color:var(--muted);max-width:390px;line-height:1.8}.day-tabs{display:flex;border-bottom:1px solid #a07a3850;gap:36px;margin-bottom:32px}.day-tab{border:0;border-bottom:2px solid transparent;background:none;padding:12px 22px 19px;text-align:left;min-width:230px;position:relative;bottom:-1px}.day-tab.active{border-bottom-color:var(--wine)}.day-tab span{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;color:var(--gold);font-weight:600}.day-tab strong{display:block;font-family:var(--serif);font-size:1.8rem;font-weight:500;color:var(--muted);line-height:1.2;margin:7px 0}.day-tab.active strong{color:var(--wine)}.day-tab small{display:block;font-size:.75rem;color:var(--muted)}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.event-card{border:1px solid #a07a383d;background:var(--paper);padding:31px 27px;position:relative;display:flex;flex-direction:column;min-height:420px}.event-meta{font-size:.68rem;letter-spacing:.12em;color:var(--gold);font-weight:600;margin-bottom:32px}.event-card h3{font-size:2.25rem;color:var(--wine);margin-bottom:15px}.event-card>p:not(.event-meta){color:var(--muted);font-size:.875rem;margin-bottom:24px}.schedule-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px;font-size:.75rem;color:var(--muted)}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--wine);color:white;padding:13px 22px;font-size:.875rem;z-index:80;box-shadow:0 10px 30px #0002;border-radius:3px;max-width:calc(100% - 32px)}
@media(min-width:1600px){.hero{min-height:900px}}@media(max-width:900px){.site-header{padding:0 5%;height:76px}.site-header nav{gap:18px}.hero{min-height:720px;padding-top:62px}.hero h1{gap:20px}.section-wrap{padding:74px 32px}.event-grid{gap:15px}.event-card{padding:25px 20px}.event-card h3{font-size:1.9rem}.section-heading>p{max-width:300px}}@media(max-width:680px){html{scroll-padding-top:85px}.site-header{position:sticky;top:0;height:70px}.site-header nav{display:none}.site-header>.button{margin-left:auto;margin-right:12px;min-height:38px;padding:9px 16px}.menu-button{display:block}.mobile-nav{position:fixed;top:70px}.monogram{font-size:1.9rem}.hero{min-height:760px;padding:55px 20px 85px}.hero:before{background-size:auto 100%;background-position:center bottom}.hero-frame{inset:14px}.hero .eyebrow{font-size:.65rem;letter-spacing:.18em}.hero h1{flex-wrap:wrap;column-gap:12px;font-size:clamp(3.7rem,13.7vw,5.5rem);margin:20px 0 17px}.hero h1 em{font-size:.62em}.hero-invitation{font-size:1.3rem}.hero-date{gap:12px;font-size:.85rem;margin-top:24px}.line{width:26px}.hero-place{font-size:.6rem}.hero-bottom{bottom:34px;left:29px;right:29px;flex-direction:column;gap:9px;font-size:.65rem}.section-wrap{padding:64px 24px}.welcome h2{margin:15px 0 20px}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy){font-size:.94rem}.countdown{gap:10px}.countdown div{min-width:53px}.countdown strong{font-size:2.7rem}.countdown span{font-size:.6rem;letter-spacing:.08em}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:20px}.day-tabs{gap:0}.day-tab{min-width:0;flex:1;padding:12px 10px 18px}.day-tab strong{font-size:1.55rem}.day-tab small{font-size:.7rem}.event-grid{grid-template-columns:1fr;gap:18px}.event-card{min-height:0;padding:28px}.event-meta{margin-bottom:20px}.event-card h3{font-size:2.25rem}.schedule-footer{align-items:flex-start;flex-direction:column;gap:12px}.eyebrow{font-size:.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.event-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.event-symbol{display:flex;align-items:center;justify-content:center;border:1px solid #a07a383d;color:var(--gold);font-size:1.6rem;width:44px;height:44px;border-radius:50%;margin-top:-6px}.event-location{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;margin-top:auto;margin-bottom:11px}.attire{display:flex;align-items:center;gap:9px;font-size:.75rem;color:var(--muted);padding-bottom:26px}.attire>span{width:9px;height:9px;border-radius:50%}.event-link{border:0;border-top:1px solid #a07a3826;background:transparent;padding:16px 0 0;text-align:left;color:var(--wine);font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:space-between}.event-link span{font-size:1.1rem;font-weight:400}.event-card{transition:border-color .2s,transform .2s}.event-card:hover{border-color:#a07a386e;transform:translateY(-3px)}.journey{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-top:108px;padding-bottom:108px}.journey-picture{position:relative;height:560px;border-radius:240px 240px 4px 4px;overflow:hidden;background:var(--cream);border:1px solid #a07a3840}.journey-picture img{width:100%;height:100%;object-fit:cover;object-position:72% center;display:block}.journey-picture:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 48%,#231c0fbb 100%)}.picture-caption{position:absolute;z-index:1;bottom:33px;left:25px;right:25px;text-align:center}.picture-caption .eyebrow{color:#f0dcb0}.picture-caption>p{font-family:var(--serif);font-size:2rem;color:var(--paper);line-height:1.2;margin-top:8px}.journey-copy h2{margin-top:14px}.journey-intro{font-size:.875rem;color:var(--muted);margin-top:24px;line-height:1.9}.venue-box{border-top:1px solid #a07a383d;border-bottom:1px solid #a07a383d;margin-top:27px;padding:23px 0 24px}.venue-box .eyebrow{font-size:.65rem}.venue-box h3{font-size:1.6rem;margin:8px 0 7px}.venue-box>p:not(.eyebrow){font-size:.8rem;color:var(--muted);margin-bottom:13px}.travel-notes{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:24px}.travel-notes h4{font:500 1.25rem/1.2 var(--serif);color:var(--wine);margin:0 0 10px}.travel-notes p{font-size:.8rem;color:var(--muted);line-height:1.8}.details{border-top:1px solid #a07a3826;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;padding-top:80px;padding-bottom:96px}.details h2{font-size:3.2rem;margin-top:15px}.details-heading>p:last-child{color:var(--muted);font-size:.875rem;line-height:1.8;margin-top:22px}.faq-list details{border-bottom:1px solid #a07a383d;padding:0}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.875rem;font-weight:500;cursor:pointer;min-height:71px;padding:18px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--gold);font-size:1.2rem;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:.875rem;line-height:1.8;padding-bottom:23px;color:var(--muted)}.rsvp-section{background:var(--wine);color:var(--paper);padding:30px}.rsvp-inner{border:1px solid #d8bf8660;text-align:center;padding:68px 24px 45px;position:relative}.rsvp-inner:before{content:'';position:absolute;inset:6px;border:1px solid #d8bf8625;pointer-events:none}.rsvp-section .eyebrow{color:var(--gold-light)}.rsvp-section h2{font-size:clamp(3.5rem,5.5vw,4.7rem);margin:19px 0}.rsvp-section h2 em{color:var(--gold-light)}.rsvp-section h2+p{font-size:.875rem;color:#f4e8d5b8}.button-gold{background:var(--gold-light);border-color:var(--gold-light);color:var(--wine-dark);margin-top:25px}.button-gold:hover{background:#e6d09e}.rsvp-deadline{font-size:.72rem;color:#f4e8d5a0;margin-top:14px}.rsvp-rule{width:65px;height:1px;background:#d8bf8660;margin:39px auto 21px}.rsvp-signature{font-family:var(--serif);font-size:2rem}.rsvp-location{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-light);margin-top:8px}.footer{display:flex;align-items:center;justify-content:space-between;padding:26px 6%;gap:20px;font-size:.7rem;color:var(--muted)}.footer .text-button{font-size:.7rem;font-weight:500;color:var(--muted)}.modal{border:1px solid #a07a3850;border-radius:4px;background:var(--paper);color:var(--ink);padding:43px;width:min(570px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 25px 100px #2e0d2050;margin:auto}.modal::backdrop{background:#250d1bbe;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:13px;top:12px;width:42px;height:42px;display:grid;place-items:center;border:0;background:none;color:var(--wine);font-size:1.9rem;line-height:1}.modal .eyebrow{margin-bottom:14px}.modal h2{font-size:3rem;padding-right:18px}.modal-intro{color:var(--muted);margin-top:17px;margin-bottom:23px;font-size:.875rem}.event-detail-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.8rem;color:var(--gold);margin-top:19px}.dress-detail{background:var(--cream);padding:23px;margin:25px 0}.dress-detail h3{font-size:1.7rem;margin:6px 0 14px}.dress-detail p:last-child{font-size:.875rem;color:var(--muted)}.dialog-open{overflow:hidden}.field{margin-bottom:19px}.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:7px}.field label>span{font-weight:400;color:var(--muted);font-size:.75rem}.field input,.field select,.field textarea{width:100%;border:1px solid #a07a3850;border-radius:2px;background:#fffaf2;color:var(--ink);padding:11px 13px;min-height:45px;font-size:1rem;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #a07a3850;border-color:var(--gold);outline-offset:1px}.field textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full-width{width:100%}.form-notice{border-left:2px solid var(--gold);background:var(--cream);padding:13px 16px;color:var(--muted);font-size:.78rem;line-height:1.7;margin-bottom:24px}.attendance,.event-choices{border:0;padding:0;margin:0 0 22px}.attendance legend,.event-choices legend{font-size:.8rem;font-weight:600;margin-bottom:8px}.attendance label{display:block;padding:7px 0;font-size:.875rem}.attendance input,.event-choices input{accent-color:var(--wine);width:17px;height:17px;margin:0 8px 0 0;vertical-align:middle}.event-choices label{display:flex;align-items:flex-start;padding:7px 0;font-size:.8rem;gap:2px}.event-choices input{margin-top:5px;flex-shrink:0}.event-choices small{display:block;color:var(--muted);font-size:.7rem;margin-top:1px}.response-icon{font-size:3rem;color:var(--gold);margin-bottom:7px}.response-actions{display:flex;flex-direction:column;gap:12px}.response-actions .text-button{align-self:center}#rsvp-result h3{font-size:2rem}#response-message{font-size:.875rem;color:var(--muted);margin:14px 0}#response-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--cream);padding:20px;font: .8rem/1.8 var(--sans);max-height:250px;overflow:auto;margin:18px 0 23px}.studio-actions{padding-top:19px;display:flex;flex-direction:column;gap:16px}.studio-actions .text-button{align-self:center}#studio-form>.small-copy{margin-top:0;margin-bottom:20px}.hero-copy{animation:invite-arrive 1.2s ease-out both}@keyframes invite-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.journey{gap:35px}.journey-picture{height:530px}.details{gap:35px}.details h2{font-size:2.6rem}.travel-notes{grid-template-columns:1fr;gap:16px}}
@media(max-width:680px){.journey{grid-template-columns:1fr;gap:35px;padding-top:64px;padding-bottom:64px}.journey-picture{height:400px;width:min(100%,420px);margin:auto;border-radius:210px 210px 4px 4px}.journey-copy h2 br{display:none}.journey-copy h2{font-size:2.9rem}.journey-intro{margin-top:20px}.travel-notes{grid-template-columns:1fr 1fr;gap:20px}.details{grid-template-columns:1fr;gap:28px;padding-top:58px;padding-bottom:64px}.details h2{font-size:2.7rem}.details-heading>p:last-child{margin-top:17px}.faq-list summary{min-height:68px}.rsvp-section{padding:18px}.rsvp-inner{padding:53px 20px 36px}.rsvp-section h2{font-size:3.2rem}.rsvp-section .eyebrow{font-size:.64rem;letter-spacing:.13em}.rsvp-section h2+p{font-size:.8rem}.rsvp-location{font-size:.6rem;letter-spacing:.08em}.footer{padding:24px;flex-direction:column;gap:10px;text-align:center}.modal{padding:38px 23px 28px;max-height:calc(100dvh - 24px)}.modal h2{font-size:2.6rem}.field-row{gap:12px}.field input[type="date"]{min-width:0;padding:11px 8px}.event-card h3{max-width:330px}.hero-copy{width:100%}}
@media(max-width:360px){.hero h1{font-size:3.35rem;gap:9px}.countdown div{min-width:47px}.countdown{gap:7px}.travel-notes{grid-template-columns:1fr}.field-row{grid-template-columns:1fr;gap:0}}
/* Legible type for guest-facing details, including smaller mobile screens. */
:root{--gold:#89632b}.site-header nav{font-size:.875rem}.button-small,.hero .button,.event-link{font-size:.875rem}.hero-place,.hero .eyebrow{font-size:.75rem}.hero-bottom{font-size:.75rem}.hero-bottom>span,.hero-bottom>a{padding:4px 9px;background:#fcf8eec9;border-radius:2px}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy),.event-card>p:not(.event-meta),.journey-intro,.faq-list details p,.modal-intro,.dress-detail p:last-child{font-size:1rem}.section-heading>p,.details-heading>p:last-child,.rsvp-section h2+p{font-size:1rem}.event-meta,.day-tab span,.day-tab small,.eyebrow,.rsvp-location,.countdown span,.small-copy{font-size:.75rem}.event-location,.attire,.venue-box>p:not(.eyebrow),.travel-notes p,.text-button,.rsvp-deadline,.faq-list summary,.field label,.attendance legend,.event-choices legend,.event-choices label,.event-detail-meta{font-size:.875rem}.travel-notes p{line-height:1.85}.footer,.footer .text-button,.schedule-footer{font-size:.75rem}.event-card{min-height:455px}.rsvp-section .eyebrow,.venue-box .eyebrow,.form-notice,.event-choices small,.field label>span{font-size:.75rem}.hero h1 span{min-width:0;overflow-wrap:anywhere}.hero h1.long-names{font-size:clamp(3rem,6vw,5.5rem);flex-direction:column;gap:2px;line-height:1}.hero h1.long-names em{font-size:.5em}.hero h1.long-names span{max-width:100%}.modal h2{overflow-wrap:anywhere}
@media(max-width:680px){.event-card{min-height:0}.hero h1.long-names{font-size:clamp(2.5rem,10vw,3.4rem)}.hero .eyebrow{font-size:.75rem;letter-spacing:.12em}.hero-place{font-size:.75rem;letter-spacing:0}.hero-bottom{font-size:.75rem}.hero-bottom>span,.hero-bottom>a{padding:2px 8px}.countdown span{font-size:.75rem}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy){font-size:1rem}.hero-date{font-size:.875rem}.rsvp-location{font-size:.75rem;letter-spacing:.06em}.field-row{grid-template-columns:1fr;gap:0}}
/* Allow large text to reflow inside cards and keep tablet navigation compact. */
.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-card,.details-heading,.journey-copy,.faq-list{min-width:0}.event-meta{min-width:0}.event-symbol{flex-shrink:0}.event-location svg,.attire>span{flex-shrink:0}.event-link{min-width:0;max-width:100%}.details,.journey{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.site-header nav{display:none}.site-header>.button{margin-left:auto;margin-right:12px}.menu-button{display:block}.mobile-nav{top:76px}}
@media(max-width:680px){.mobile-nav{top:70px}.event-grid,.journey,.details{grid-template-columns:minmax(0,1fr)}.event-card{min-width:0}.event-meta{font-size:.75rem}.day-tab{min-width:0}.day-tab strong{overflow-wrap:anywhere}.countdown div{min-width:0}.countdown span{overflow-wrap:anywhere}.hero h1{max-width:100%}}
/* An illustrated invitation suite: botanical stationery, palace light, and quiet motion. */
:root{--garden:#e6ece5;--calligraphy:'Great Vibes','Cormorant Garamond',Georgia,serif;--ease-out:cubic-bezier(.2,.75,.2,1)}
.site-header{position:sticky;top:0;height:80px;background:#fcf8eeeb;backdrop-filter:blur(16px);border-bottom-color:#a07a3830;transition:box-shadow .4s}
.site-header.scrolled{box-shadow:0 7px 25px #3323100a}.site-header nav a.active{color:var(--wine)}.site-header nav a.active:after{width:100%}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:100;background:var(--gold);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.button{position:relative;overflow:hidden;border-radius:3px;box-shadow:0 5px 17px #641c3207;transition:transform .35s var(--ease-out),box-shadow .35s,background .25s}.button:after{content:'';position:absolute;top:-80%;left:-45%;height:260%;width:26%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:rotate(28deg) translateX(-200%);pointer-events:none}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #641c321b}.button:hover:after{animation:button-gild 1s ease-out}@keyframes button-gild{to{transform:rotate(28deg) translateX(700%)}}
.hero{min-height:830px;overflow:clip;padding-top:82px}.hero:before{inset:-35px -12px;transform:translate3d(0,var(--palace-shift,0px),0) scale(1.035);will-change:transform}.hero:after{background:linear-gradient(180deg,#fcf8ee44 0%,#fcf8ee08 42%,transparent 68%,#fcf8eeaa 100%)}.hero-frame{inset:24px;border-radius:210px 210px 3px 3px;border-color:#a07a386b}.hero-frame:before{border-radius:inherit;inset:7px}.hero-copy{animation:none;max-width:1000px;position:relative;z-index:2}.hero h1{font-family:var(--calligraphy);font-size:clamp(5.5rem,9.5vw,9rem);line-height:1.32;margin-top:12px;margin-bottom:0;gap:29px}.hero h1 em{font-family:var(--serif);font-size:.46em;color:var(--gold);margin:0 3px}.hero h1 span{padding:0 8px}.hero-invitation{font-size:1.55rem}.hero .button{margin-top:4px}.hero-date{margin-top:24px}.hero-place{margin:10px 0 20px;letter-spacing:.16em}.hero-bottom{bottom:44px}.hero-bottom>span,.hero-bottom>a{background:#fcf8eece;backdrop-filter:blur(3px);padding:7px 11px}.hero-bottom a span{display:inline-block;animation:scroll-hint 2.8s ease-in-out infinite}@keyframes scroll-hint{50%{transform:translateY(4px)}}
.invitation-ready .hero-copy>*{animation:unfold-text 1.1s var(--ease-out) both}.invitation-ready .hero-copy>.eyebrow{animation-delay:.08s}.invitation-ready .hero-copy>h1{animation-delay:.22s}.invitation-ready .hero-copy>.hero-invitation{animation-delay:.38s}.invitation-ready .hero-copy>.hero-date{animation-delay:.5s}.invitation-ready .hero-copy>.hero-place{animation-delay:.58s}.invitation-ready .hero-copy>.button{animation-delay:.69s}@keyframes unfold-text{from{opacity:0;transform:translateY(22px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.ambient-glints{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.ambient-glints i{position:absolute;left:var(--x);top:var(--y);font:normal var(--size,14px)/1 var(--serif);color:#b48a44;opacity:0;animation:gold-drift var(--duration,10s) var(--delay,0s) linear infinite;will-change:transform,opacity;text-shadow:0 0 12px #fff9}@keyframes gold-drift{0%{opacity:0;transform:translate3d(0,30px,0) rotate(-12deg)}20%{opacity:.45}75%{opacity:.25}100%{opacity:0;transform:translate3d(22px,-95px,0) rotate(25deg)}}
.welcome{max-width:1120px;position:relative;padding:116px 110px 95px;isolation:isolate}.welcome:before{content:'';position:absolute;inset:35px 0 100px;background:none;opacity:.72;z-index:-1;pointer-events:none}.welcome h2{font-size:clamp(3rem,5vw,4.3rem);margin:23px 0 27px}.welcome h2 em,.section-heading h2 em,.journey-copy h2 em,.details h2 em,.rsvp-section h2 em{font-family:var(--calligraphy);font-size:1.12em;line-height:1.3}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy){max-width:620px}.signature{font-size:1.55rem;margin-top:27px}.countdown-heading{margin-top:36px;margin-bottom:22px!important;max-width:none!important}.countdown{gap:14px}.countdown div{border:1px solid #a07a3838;border-radius:48px 48px 3px 3px;background:#fcf8eea1;min-width:100px;padding:22px 12px 17px;box-shadow:0 8px 30px #5b3e1305}.countdown strong{font-size:3.8rem;font-weight:400}.countdown span{letter-spacing:.12em;margin-top:13px}.countdown i{display:none}.ornament{margin-top:30px;margin-bottom:10px}
.celebrations{position:relative;background:var(--garden);padding-top:100px;padding-bottom:100px;border-top:1px solid #8c927827;border-bottom:1px solid #8c927827;isolation:isolate}.section-heading{margin-bottom:45px}.section-heading h2{font-size:4.4rem}.day-tabs{gap:16px;border-bottom:0;justify-content:center;margin:5px auto 39px;max-width:670px}.day-tab{border:1px solid #a07a3842;border-radius:3px;background:#fcf8ee62;flex:1;padding:21px 29px 23px;transition:background .35s,box-shadow .35s,border-color .35s}.day-tab.active{background:var(--paper);border-color:#a07a3899;box-shadow:0 7px 23px #27392808}.day-tab span{color:var(--gold)}.day-tab strong{font-size:2rem;margin:8px 0}.day-tab.active:after{content:'';position:absolute;bottom:-6px;left:calc(50% - 5px);width:10px;height:10px;background:var(--paper);border-right:1px solid #a07a3899;border-bottom:1px solid #a07a3899;transform:rotate(45deg)}
.event-grid{gap:26px;perspective:1500px}.event-card{border-radius:150px 150px 4px 4px;min-height:545px;text-align:center;padding:55px 29px 25px;border-color:#a07a3848;background:var(--paper);overflow:hidden;isolation:isolate;transform:perspective(1000px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));box-shadow:0 11px 27px #23311805;transition:transform .45s var(--ease-out),box-shadow .45s,border-color .3s;will-change:transform}.event-card:before{content:'';position:absolute;inset:8px;border:1px solid #a07a3829;border-radius:inherit;pointer-events:none}.event-card:after{content:'';position:absolute;inset:0;background:none;opacity:.14;z-index:-1;pointer-events:none}.event-card:hover{transform:perspective(1000px) translateY(-7px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));box-shadow:0 23px 40px #26321813}.event-card[data-kind="haldi"]{background:#fbf4df}.event-card[data-kind="sangeet"]{background:#f7eef0}.event-card[data-kind="wedding"]{background:#f9f2e4}.event-card[data-kind="reception"]{background:#edf2ea}.event-top{flex-direction:column-reverse;align-items:center;gap:23px}.event-symbol{height:59px;width:59px;font-size:1.8rem;background:#fcf8ee98;margin-top:0;border-color:#a07a3857;position:relative}.event-symbol:after{content:'';position:absolute;inset:5px;border-radius:50%;border:1px solid #a07a3825}.event-meta{margin-bottom:20px;font-size:.75rem;letter-spacing:.09em;line-height:1.7}.event-card h3{font-size:2.3rem;margin:0 0 20px;line-height:1.1}.event-card>p:not(.event-meta){font-size:1rem;line-height:1.8;margin-bottom:25px}.event-location{justify-content:center;margin-top:auto;font-size:.875rem;line-height:1.5}.attire{justify-content:center;line-height:1.5;padding-bottom:25px}.event-link{background:transparent;position:relative}.event-ordinal{position:absolute;right:25px;bottom:70px;font:4.5rem/1 var(--serif);opacity:.055;color:var(--wine);z-index:-1}.panel-arriving .event-card{animation:card-arrive .7s var(--ease-out) both}.panel-arriving .event-card:nth-child(2){animation-delay:.09s}.panel-arriving .event-card:nth-child(3){animation-delay:.18s}@keyframes card-arrive{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.journey{padding-top:120px;padding-bottom:120px;gap:85px}.journey-picture{height:590px;border-radius:250px 250px 4px 4px;box-shadow:0 20px 45px #47320e15;transform:rotate(-2deg);transition:transform .8s var(--ease-out)}.journey-picture:hover{transform:rotate(0deg)}.journey-picture:before{content:'';position:absolute;inset:11px;z-index:2;border:1px solid #fcf8ee90;border-radius:inherit;pointer-events:none}.journey-picture img{transform:scale(1.04);transition:transform 1.5s var(--ease-out)}.journey-picture:hover img{transform:scale(1.1)}.picture-caption>p{font-family:var(--calligraphy);font-size:2.4rem}.journey-copy h2{font-size:4.4rem}.venue-box{padding-top:27px;padding-bottom:28px}.venue-box h3{font-size:1.85rem}.travel-notes{gap:30px}.details{padding-top:100px;padding-bottom:105px;gap:90px}.details h2{font-size:3.5rem;line-height:1.12}.faq-list details{transition:background .3s,padding .3s}.faq-list details[open]{background:#f3ecdb70;padding:0 18px;border-color:#a07a3859}.faq-list summary{min-height:77px}.faq-list details[open] p{animation:unfold-text .45s var(--ease-out)}
.rsvp-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#641c32,#4b1428);padding:32px}.rsvp-inner{padding:85px 25px 57px;isolation:isolate;border-radius:190px 190px 4px 4px;border-color:#d8bf8670}.rsvp-inner:before{border-radius:inherit}.rsvp-inner:after{content:'';position:absolute;inset:0;background:none;opacity:.35;z-index:-1;pointer-events:none;filter:sepia(.3) saturate(.85)}.rsvp-section h2{font-size:clamp(3.5rem,6.5vw,5rem);line-height:1.15}.rsvp-section h2 em{color:#e9d1a3}.rsvp-section .button{margin-top:30px}.rsvp-signature{font-family:var(--calligraphy);font-size:2.6rem;line-height:1.5}.rsvp-rule{margin-top:45px}.footer{padding-top:30px;padding-bottom:30px}.footer-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.footer .text-button{min-height:35px}.modal{border-radius:95px 95px 4px 4px;padding:60px 43px 38px;animation:modal-arrive .35s var(--ease-out)}.modal-close{right:32px;top:24px;background:#f3ecdb9e;border-radius:50%;font-size:1.8rem}.modal::backdrop{animation:backdrop-arrive .35s ease-out}.modal h2 em{font-family:var(--calligraphy)}@keyframes modal-arrive{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
.motion-enabled .reveal{opacity:0;transform:translateY(35px);transition:opacity .95s var(--ease-out),transform .95s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.motion-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-enabled .journey-picture.reveal{transform:translateY(35px) rotate(-2deg)}.motion-enabled .journey-picture.reveal.is-visible{transform:translateY(0) rotate(-2deg)}.cover-active{overflow:hidden}
html[data-motion="off"]{scroll-behavior:auto}html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion="off"] .reveal{opacity:1!important;transform:none!important}html[data-motion="off"] .ambient-glints{display:none}html[data-motion="off"] .hero:before{transform:none;will-change:auto}
@media(min-width:1700px){.hero{min-height:920px}}@media(max-width:1100px){.event-grid{gap:18px}.event-card{padding:50px 23px 25px;min-height:570px}.journey{gap:50px}.journey-copy h2{font-size:3.8rem}.details{gap:50px}.welcome{padding-left:75px;padding-right:75px}}
@media(max-width:900px){.hero{min-height:780px;padding-top:80px}.hero h1{font-size:clamp(5rem,10.5vw,7rem)}.section-heading h2{font-size:3.5rem}.event-card{padding:44px 18px 24px;border-radius:120px 120px 4px 4px}.event-card h3{font-size:1.95rem}.event-card>p:not(.event-meta){font-size:1rem}.event-meta{font-size:.75rem}.journey-picture{height:560px}.details h2{font-size:3rem}.modal{padding:55px 32px 35px}.footer{flex-direction:column;gap:12px}.footer-actions{justify-content:center;gap:15px 22px}}
@media(max-width:680px){.site-header{height:70px}.hero{min-height:810px;padding:75px 21px 100px}.hero-frame{inset:17px;border-radius:150px 150px 3px 3px}.hero h1{font-size:clamp(3.8rem,14.8vw,5.7rem);gap:9px;line-height:1.48;flex-wrap:nowrap}.hero h1 span{padding:0 4px}.hero h1 em{font-size:.48em;margin:0}.hero h1.long-names{font-size:3.5rem;flex-direction:column;gap:0;line-height:1.2}.hero-invitation{font-size:1.3rem;line-height:1.5}.hero .eyebrow{font-size:.75rem;letter-spacing:.11em}.hero-place{font-size:.75rem;letter-spacing:.07em}.hero-bottom{bottom:39px;gap:14px;left:25px;right:25px}.hero-bottom>span,.hero-bottom>a{padding:5px 9px;font-size:.75rem}.hero-date{margin-top:23px;font-size:.875rem;gap:13px}.hero-copy>.button{max-width:100%;padding:14px 22px}.welcome{padding:77px 25px 70px}.welcome:before{inset:28px 0 110px;opacity:.55}.welcome h2{font-size:3rem}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy){font-size:1rem;max-width:310px}.countdown{gap:8px}.countdown div{min-width:0;flex:1;padding:19px 7px 16px;border-radius:40px 40px 3px 3px;max-width:90px}.countdown strong{font-size:3rem}.countdown span{font-size:.75rem;letter-spacing:.04em}.countdown-heading{margin-top:31px}.celebrations{padding:76px 24px}.section-heading h2{font-size:3.4rem}.section-heading>p{font-size:1rem}.day-tabs{gap:10px;margin-bottom:32px}.day-tab{padding:17px 14px 19px}.day-tab strong{font-size:1.7rem}.day-tab small{line-height:1.6}.event-grid{grid-template-columns:minmax(0,1fr);gap:23px}.event-card{padding:40px 31px 25px;border-radius:140px 140px 4px 4px;min-height:485px;max-width:440px;width:100%;margin:0 auto}.event-card h3{font-size:2.45rem;max-width:none}.event-top{gap:20px}.event-symbol{width:56px;height:56px}.event-meta{margin-bottom:18px}.event-card>p:not(.event-meta){max-width:280px;margin-left:auto;margin-right:auto}.event-card:hover{transform:none}.event-location{margin-top:auto}.event-ordinal{bottom:75px}.schedule-footer{margin-top:28px}.journey{padding:80px 27px;gap:40px;grid-template-columns:minmax(0,1fr)}.journey-picture{height:445px;width:min(100%,400px);border-radius:230px 230px 4px 4px}.journey-copy h2{font-size:3.3rem}.journey-intro{font-size:1rem}.travel-notes{grid-template-columns:1fr 1fr;gap:24px}.details{grid-template-columns:minmax(0,1fr);gap:29px;padding:74px 27px 80px}.details h2{font-size:3.1rem}.faq-list summary{font-size:.875rem;line-height:1.7}.rsvp-section{padding:20px}.rsvp-inner{padding:72px 22px 46px;border-radius:155px 155px 4px 4px}.rsvp-section h2{font-size:3.3rem}.rsvp-inner:after{opacity:.3}.rsvp-signature{font-size:2.3rem}.rsvp-location{line-height:1.8}.footer{padding:25px 24px}.footer-actions{gap:6px 20px}.footer .text-button{font-size:.75rem}.modal{padding:57px 25px 32px;border-radius:70px 70px 4px 4px}.modal-close{right:21px;top:20px}.modal h2{font-size:2.7rem}.ambient-glints i:nth-child(even){display:none}}
@media(max-width:360px){.hero{padding-left:17px;padding-right:17px;min-height:790px}.hero h1{font-size:3.4rem;gap:4px}.hero .eyebrow{max-width:230px;margin-left:auto;margin-right:auto}.hero-invitation{font-size:1.2rem}.hero-date{gap:9px}.hero-date .line{width:16px}.welcome{padding-left:20px;padding-right:20px}.welcome h2{font-size:2.7rem}.countdown strong{font-size:2.6rem}.countdown span{font-size:.75rem}.event-card{padding-left:25px;padding-right:25px}.event-card h3{font-size:2.3rem}.day-tab{padding-left:11px;padding-right:11px}.day-tab strong{font-size:1.5rem}.travel-notes{grid-template-columns:1fr}.rsvp-section h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.hero:before{transform:none}.ambient-glints{display:none}}
/* Bound calligraphy and flexible layouts so enlarged text never clips. */
.hero h1 span,.letter-names{overflow-wrap:anywhere;min-width:0}.hero h1{max-width:100%}.event-top,.event-card h3,.event-card>p,.event-link,.event-location,.attire{min-width:0}.journey,.details{grid-template-columns:repeat(2,minmax(0,1fr))}.day-tab{min-width:0}.rsvp-inner h2{overflow-wrap:anywhere}
@media(max-width:680px){.journey,.details{grid-template-columns:minmax(0,1fr)}.hero h1{flex-wrap:wrap}.hero h1 span{max-width:100%}.day-tabs{max-width:100%}.day-tab{min-width:0}.countdown div{min-width:0}.countdown span{overflow-wrap:anywhere}.site-header>.button{flex-shrink:1}.footer-actions{max-width:100%}.rsvp-section .eyebrow{max-width:220px;margin:auto}}
#wedding-title:focus{outline:none}.travel-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-notes>div{min-width:0}.countdown div{background:var(--paper)}#countdown-caption{position:relative;display:inline-block;background:var(--paper);padding:0 9px}
@media(max-width:360px){.travel-notes{grid-template-columns:minmax(0,1fr)}}
/* Keep the invitation legible over the venue's wooded hills and detailed facade. */
.hero:after{background:linear-gradient(180deg,#fcf8ee00 0%,#fcf8ee80 22%,#fcf8eed9 35%,#fcf8eec4 49%,#fcf8ee20 62%,#fcf8ee00 75%,#fcf8ee77 100%)}.hero-place{text-transform:uppercase;line-height:1.8;max-width:620px;margin-left:auto;margin-right:auto}.journey-copy h2 br{display:initial}.journey-copy h2 em{display:inline-block;max-width:100%}
/* Jewel colours and a cinematic, illuminated Labh Garh welcome. */
:root{--midnight:#222b45;--plum:#49314f;--peacock:#18595b;--warm-gold:#efca82}
.site-header{background:#222b45f5;border-color:#efca822c;color:#f9eddb;backdrop-filter:blur(16px)}
.site-header.scrolled{background:#222b45f5}.site-header .monogram,.site-header .button-outline{color:#f8e9ca}.site-header .monogram span{color:var(--warm-gold)}.site-header .button-outline{border-color:#efca8280}.site-header .button-outline:hover{background:#efca8214}.site-header nav a:after,.menu-button span{background:var(--warm-gold)}.mobile-nav{background:var(--midnight);color:var(--paper)}.mobile-nav .text-button{color:var(--warm-gold)}
.hero{background:var(--midnight);color:#fff5e4}.hero:before{background-position:center 60%}.hero:after{background:linear-gradient(180deg,#101d3977 0%,#15223c80 15%,#202344ba 33%,#20233d8a 47%,#1b203b17 63%,#161c3422 77%,#161b33a6 100%)}
.hero-frame{border-color:#efca8277}.hero-frame:before{border-color:#efca8233}.hero h1{color:#fff0d0;text-shadow:0 3px 30px #1f173033}.hero h1 em,.hero .eyebrow{color:var(--warm-gold)}.hero .eyebrow{letter-spacing:.18em}.hero-date .line{background:#efca8285}.hero-place{color:#fff2d8}.hero .button{background:#eed0a0;color:#3f2540;border-color:#eed0a0;box-shadow:0 10px 28px #1c173530}.hero .button:hover{background:#ffe5b7}.hero-bottom{color:#fff2d8}.hero-bottom>span,.hero-bottom>a{background:#232a46aa;border:1px solid #efca8235}.ambient-glints i{color:#f5d692;text-shadow:0 0 16px #e5ad50}.invitation-ready .hero:before{animation:palace-awakens 2.8s var(--ease-out) both}@keyframes palace-awakens{from{opacity:.4;transform:translate3d(0,var(--palace-shift,0px),0) scale(1.14)}to{opacity:1;transform:translate3d(0,var(--palace-shift,0px),0) scale(1.035)}}
.hero .ambient-glints .celebration-petal{left:50%;top:45%}.welcome{padding-bottom:85px}.welcome:before{opacity:.85}.countdown div:nth-of-type(1){background:#f7e6d5}.countdown div:nth-of-type(2){background:#e4efe5}.countdown div:nth-of-type(3){background:#f5e2e7}.countdown div:nth-of-type(4){background:#ebe4f3}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.celebration-petal{position:absolute;left:50%;top:50%;width:7px;height:13px;border-radius:65% 15% 65% 15%;background:var(--petal-colour);opacity:0;animation:petal-celebration 1.1s var(--petal-delay) ease-out forwards;pointer-events:none}@keyframes petal-celebration{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}10%{opacity:1}65%{opacity:.9}100%{opacity:0;transform:translate(var(--petal-x),var(--petal-y)) rotate(var(--petal-turn)) scale(.65)}}
/* Distinct colours carry the mood of each celebration. */
.celebrations{background:#f3e8df;transition:background .65s ease}.celebrations[data-day="2"]{background:#ece5f1}.day-tab{background:#fffaf17d;border-radius:6px;padding:22px 27px}.day-tab.active{background:#73334c;color:#fff1dc;border-color:#73334c;box-shadow:0 10px 25px #64314e20}.day-tab.active span,.day-tab.active small{color:#fff0d5}.day-tab.active strong{color:#fff0d5}.day-tab.active:after{background:#73334c;border-color:#73334c}.event-card{border-color:#bd954f70;background:#ddefe3;box-shadow:0 12px 35px #43223b0b}.event-card:before{border-color:#90673d3c}.event-card:after{opacity:.27;background-size:100% 100%}.event-card[data-kind="mehendi"]{background:#dceee2}.event-card[data-kind="haldi"]{background:#ffe1a5}.event-card[data-kind="sangeet"]{background:linear-gradient(150deg,#4a365c,#763b60)}.event-card[data-kind="baraat"]{background:#f5c9bc}.event-card[data-kind="wedding"]{background:#f7e5bf}.event-card[data-kind="reception"]{background:linear-gradient(145deg,#1d6866,#22494f)}.event-card[data-kind="sangeet"] h3,.event-card[data-kind="reception"] h3{color:#fff0d3}.event-card[data-kind="sangeet"]>p,.event-card[data-kind="reception"]>p,.event-card[data-kind="sangeet"] .event-location,.event-card[data-kind="reception"] .event-location,.event-card[data-kind="sangeet"] .attire,.event-card[data-kind="reception"] .attire{color:#fff0e0e8}.event-card[data-kind="sangeet"] .event-meta,.event-card[data-kind="reception"] .event-meta{color:#f7d998}.event-card[data-kind="sangeet"] .event-symbol,.event-card[data-kind="reception"] .event-symbol{color:#f4d393;background:#f8d99512;border-color:#f5d89370}.event-card[data-kind="sangeet"] .event-link,.event-card[data-kind="reception"] .event-link{color:#f7d998;border-color:#f5d89345}.event-card[data-kind="sangeet"]:before,.event-card[data-kind="reception"]:before{border-color:#f5d89345}.event-card[data-kind="sangeet"] .event-ordinal,.event-card[data-kind="reception"] .event-ordinal{color:#fff2d9;opacity:.09}.event-symbol{background:#fffaf0ad}.event-symbol:after{border-color:#a07a3833}.event-symbol{transition:transform .55s var(--ease-out)}.event-card:hover .event-symbol{transform:rotate(12deg)}.panel-arriving .event-card{animation:festivity-arrives .65s var(--ease-out) both}@keyframes festivity-arrives{from{opacity:0;transform:translateY(16px) rotateY(-5deg) scale(.97)}to{opacity:1;transform:translateY(0) rotateY(0) scale(1)}}
.journey-picture img{object-position:52% center}.journey-picture:after{background:linear-gradient(transparent 40%,#151c32d9 100%)}.journey-picture .picture-caption .eyebrow{color:#ffe0a6}.journey-copy h2 em{color:var(--peacock)}.rsvp-section{background:radial-gradient(ellipse at 5% 5%,#386b7060,transparent 60%),linear-gradient(125deg,#28364e,#6d3052)}.rsvp-inner:after{opacity:.55;filter:none}.rsvp-inner>p,.rsvp-inner>h2,.rsvp-inner>button{position:relative;z-index:1}.rsvp-inner>h2+p{color:#fff0dee0}.rsvp-deadline{color:#fff0dede}.rsvp-signature{color:#fff1db}.motion-enabled .reveal{transform:translateY(18px);transition-duration:.65s}.motion-enabled .reveal.is-visible{transform:translateY(0)}
/* Ceremonial opening: envelope, letter, illuminated palace. */
.invite-cover{background:radial-gradient(ellipse at 50% 55%,#69404d 0,#34405c 52%,#202a43 100%);color:#fff0d7;isolation:isolate}
@media(max-width:680px){.hero{padding-top:66px;min-height:810px}.hero:before{background-position:center bottom}.hero:after{background:linear-gradient(180deg,#16234077 0%,#202443a6 23%,#292341a1 42%,#22243d25 60%,#1b203b17 72%,#161b33aa 100%)}.hero h1{font-size:clamp(3.8rem,14.8vw,5.7rem)}.hero h1.long-names{font-size:3.5rem}.hero .eyebrow{letter-spacing:.11em}.welcome{padding-bottom:75px}.welcome:before{opacity:.68}.celebrations{padding-top:68px;padding-bottom:68px}.event-card{min-height:440px;padding:35px 28px 25px}.event-top{gap:17px}.event-card h3{font-size:2.4rem}.day-tab{padding:19px 14px}.journey-picture{transform:none}.motion-enabled .journey-picture.reveal,.motion-enabled .journey-picture.reveal.is-visible{transform:none}.rsvp-inner:after{opacity:.42}}
@media(max-width:360px){.hero h1{font-size:3.4rem}.event-card h3{font-size:2.25rem}.day-tab{padding-left:10px;padding-right:10px}}
html[data-motion="off"] .celebration-petal{display:none}
/* Smooth chapter changes, with the same instant interaction when motion is paused. */
html{view-transition-name:none}.day-switching .event-grid:not([hidden]){view-transition-name:celebration-events}
::view-transition-group(celebration-events){animation-duration:.6s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(celebration-events){animation:chapter-leaves .38s ease-out both;mix-blend-mode:normal}
::view-transition-new(celebration-events){animation:chapter-enters .6s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:normal}
@keyframes chapter-leaves{to{opacity:0;transform:translateX(-24px) scale(.985)}}
@keyframes chapter-enters{from{opacity:0;transform:translateX(35px) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
html[data-motion="off"]::view-transition-group(*),html[data-motion="off"]::view-transition-old(*),html[data-motion="off"]::view-transition-new(*){animation:none!important}
.site-header nav a.active{color:var(--warm-gold)}.site-header nav a.active:after{background:var(--warm-gold)}.site-header a:focus-visible,.site-header button:focus-visible,.mobile-nav a:focus-visible,.invite-cover button:focus-visible{outline-color:var(--warm-gold)}
/* A painted love letter: the couple leads, the venue belongs to the journey. */
:root{--rose:#d598a0;--romance-paper:#fff8ed;--soft-rose:#f4d9d6}
.romantic-invitation{background:var(--romance-paper)}
.site-header,.site-header.scrolled{background:#fff8edf0;color:var(--wine);border-color:#b9955a30;backdrop-filter:blur(16px)}.site-header .monogram,.site-header .button-outline{color:var(--wine)}.site-header .monogram span{color:var(--gold)}.site-header .button-outline{border-color:#641c3255}.site-header .button-outline:hover{background:#641c3209}.site-header nav a.active{color:var(--wine)}.site-header nav a:after,.site-header nav a.active:after,.menu-button span{background:var(--wine)}.mobile-nav{background:var(--romance-paper);color:var(--wine)}.mobile-nav .text-button{color:var(--wine)}.site-header a:focus-visible,.site-header button:focus-visible,.mobile-nav a:focus-visible{outline-color:var(--wine)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:15px;min-height:810px;padding:34px max(5%,calc((100vw - 1270px)/2)) 70px;background:radial-gradient(ellipse at 82% 35%,#f1d7cf99,transparent 48%),linear-gradient(110deg,#fff8ed,#fff5e9);color:var(--ink);text-align:center;overflow:hidden}.hero:before,.hero:after{display:none!important}.hero-frame{inset:19px;border-radius:4px;border-color:#b9955a44}.hero-frame:before{inset:6px;border-color:#b9955a20}.hero-copy{width:100%;max-width:600px;position:relative;z-index:2;justify-self:center;padding:30px 20px}.hero .eyebrow{color:var(--wine);letter-spacing:.18em;font-size:.75rem}.hero h1{display:flex;flex-direction:column;gap:0;font-family:var(--calligraphy);font-size:clamp(5.8rem,7.5vw,7.8rem);color:var(--wine);text-shadow:none;line-height:1.14;margin:23px 0 28px}.hero h1 span{max-width:100%;padding:0 10px}.hero h1 em{font-family:var(--serif);color:var(--gold);font-size:.36em;line-height:.8;margin:6px 0 8px}.hero-invitation{font-size:1.55rem;line-height:1.5}.hero-date{margin-top:25px;font-size:.9375rem;gap:15px}.hero-date .line{background:#b9955a6e}.hero-place{color:#756158;font-size:.75rem;letter-spacing:.14em;margin:11px auto 24px;max-width:100%}.hero .button{background:var(--wine);border-color:var(--wine);color:#fff2dc;padding:15px 30px;font-size:.875rem;box-shadow:0 10px 25px #641c3212}.hero .button:hover{background:#4b1328}.hero-bottom{position:absolute;bottom:26px;left:6%;right:6%;color:#745447;z-index:3}.hero-bottom>span,.hero-bottom>a{background:transparent;border:0;backdrop-filter:none;padding:5px 0;font-size:.75rem}.hero .ambient-glints{z-index:1}.ambient-glints i{color:#af8354;text-shadow:none}.hero .ambient-glints .celebration-petal{left:55%;top:45%}
.couple-portrait{margin:0;max-width:100%;position:relative;z-index:2;justify-self:center;transform:translate3d(0,var(--portrait-shift,0px),0);width:min(100%,505px);will-change:transform}.portrait-art{width:100%;transform-origin:50% 90%}.portrait-art img{display:block;width:100%;height:auto;max-height:710px;object-fit:contain;filter:drop-shadow(0 18px 20px #9b736e0a)}.couple-portrait figcaption{font:italic 1.2rem/1.4 var(--serif);color:#886251;text-align:center;margin-top:-1px}.invitation-ready .couple-portrait{animation:portrait-unfold 1.7s var(--ease-out) both}.invitation-ready .portrait-art{animation:portrait-sway 9s 1.7s ease-in-out infinite}@keyframes portrait-unfold{from{opacity:0;transform:translate3d(0,22px,0) scale(.965)}to{opacity:1;transform:translate3d(0,var(--portrait-shift,0px),0) scale(1)}}@keyframes portrait-sway{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-5px) rotate(.3deg)}}
.welcome{max-width:1120px;padding-top:94px;padding-bottom:89px}.welcome:before{inset:20px 0 110px;opacity:.4}.welcome h2{font-size:clamp(3rem,4.8vw,4.4rem);line-height:1.15;margin-top:20px}.welcome h2 em{font-size:1.2em}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy){color:#6f5f58;max-width:600px;font-size:1rem;line-height:1.95}.signature{font-family:var(--serif);font-size:1.6rem}.signature [data-couple]{font-family:var(--calligraphy);font-size:1.5em;padding-left:8px}.countdown{margin-top:8px}.countdown div{border-radius:48px 48px 4px 4px;box-shadow:none;border-color:#ad815638}.countdown strong{font-size:3.4rem}.countdown-heading{margin-top:32px}.celebrations{background:#f5e8e0}.celebrations[data-day="2"]{background:#efe6ed}.section-heading h2{font-size:4rem}.event-card:after{opacity:.2}.event-card h3{font-size:2.2rem}.journey{padding-top:105px;padding-bottom:100px;gap:65px;max-width:1180px}.journey-picture{height:505px;border-radius:210px 210px 4px 4px}.journey-copy h2{font-size:3.55rem;line-height:1.1}.journey-copy h2 em{color:var(--wine);font-size:1.1em}.journey-intro{margin-top:21px}.venue-box h3{font-size:1.7rem}.picture-caption>p{font-size:2.2rem}.rsvp-section{background:linear-gradient(130deg,#5d2439,#79354e)}.rsvp-inner:after{opacity:.48}.rsvp-inner h2{font-size:clamp(3.3rem,5.5vw,4.7rem)}
@media(max-width:1100px){.hero{column-gap:0;padding-left:4%;padding-right:4%;min-height:790px}.hero-copy{padding-left:12px;padding-right:12px}.hero h1{font-size:6.5rem}.couple-portrait{width:min(100%,450px)}.portrait-art img{max-height:650px}.journey{gap:45px}.journey-copy h2{font-size:3.15rem}}
@media(max-width:900px){.hero h1{font-size:5.7rem}.hero-invitation{font-size:1.4rem}.hero{min-height:755px}.hero-place{letter-spacing:.08em}.portrait-art img{max-height:590px}.hero-date{font-size:.875rem}.hero-date .line{width:25px}.hero h1.long-names{font-size:5.2rem}.couple-portrait figcaption{font-size:1.1rem}.journey-picture{height:495px}.journey-copy h2{font-size:2.85rem}.welcome{padding-top:85px}}
@media(max-width:680px){.hero{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(8,auto);row-gap:0;min-height:0;padding:34px 25px 26px;align-items:center}.hero-frame{inset:13px;border-radius:4px}.hero-copy{display:contents}.hero .eyebrow{grid-row:1;font-size:.75rem;letter-spacing:.13em;max-width:100%;padding:0 5px}.hero h1{grid-row:2;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;font-size:clamp(3.3rem,13.2vw,5.4rem);line-height:1.35;margin:8px 0 1px;gap:5px}.hero h1 em{font-size:.42em;line-height:1.1;margin:0}.hero h1 span{padding:0 3px;min-width:0}.hero h1.long-names{font-size:3.2rem;flex-direction:column;gap:0;line-height:1.18;margin-top:16px;margin-bottom:10px}.couple-portrait{grid-row:3;width:auto;height:358px;max-width:100%;margin:0 auto 13px}.portrait-art{height:100%;width:100%}.portrait-art img{width:auto;height:100%;max-height:none;max-width:100%;object-fit:contain}.couple-portrait figcaption{display:none}.hero-invitation{grid-row:4;font-size:1.25rem;line-height:1.4;position:relative;z-index:2;padding:0 4px}.hero-date{grid-row:5;font-size:.875rem;margin-top:18px;gap:12px;position:relative;z-index:2}.hero-place{grid-row:6;font-size:.75rem;letter-spacing:.07em;margin:7px 0 17px;position:relative;z-index:2}.hero-copy>.button{grid-row:7;justify-self:center;font-size:.875rem;padding:13px 26px;min-height:49px;max-width:100%;position:relative;z-index:2;margin:0}.hero-bottom{grid-row:8;position:static;display:block;z-index:2;margin:16px 0 0;padding:0}.hero-bottom>span{display:none}.hero-bottom>a{font-size:.75rem;display:inline-block;padding:3px 10px}.hero-bottom a span{font-size:18px}.hero .ambient-glints .celebration-petal{top:45%;left:50%}.welcome{padding:74px 27px 70px}.welcome:before{inset:30px 0 100px;opacity:.32}.welcome h2{font-size:2.95rem;line-height:1.18;margin-top:20px}.welcome h2 em{font-size:1.18em}.welcome>p:not(.eyebrow):not(.signature):not(.small-copy){max-width:100%;line-height:1.9}.signature{font-size:1.4rem;line-height:1.65;margin-top:23px}.signature [data-couple]{display:block;font-size:1.75em;padding-left:0}.countdown strong{font-size:2.8rem}.countdown div{padding:18px 7px 15px}.countdown span{font-size:.75rem;letter-spacing:.035em}.section-heading h2{font-size:3.3rem}.event-card h3{font-size:2.3rem}.journey{padding:77px 27px;gap:37px}.journey-picture{height:410px;width:min(100%,380px)}.journey-copy h2{font-size:3rem}.journey-copy h2 em{display:block;font-size:1.12em}.journey-copy h2 br{display:none}.rsvp-inner h2{font-size:3.25rem}}
@media(max-width:360px){.hero{padding-left:20px;padding-right:20px;padding-top:30px}.hero h1{font-size:3.1rem;gap:3px}.couple-portrait{height:335px}.hero-invitation{font-size:1.15rem}.hero-date{gap:8px;font-size:.875rem}.hero-date .line{width:16px}.hero h1.long-names{font-size:2.85rem}.welcome h2{font-size:2.65rem}.countdown strong{font-size:2.5rem}.journey-copy h2{font-size:2.7rem}}
html[data-motion="off"] .couple-portrait{transform:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.couple-portrait{transform:none;will-change:auto}}
/* Prologue: the envelope opens into an auspicious blessing. */
:root{--devanagari:'Noto Serif Devanagari','Kohinoor Devanagari',serif}@keyframes ganesh-enter{from{opacity:0;transform:translateY(13px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes blessing-radiance{0%{opacity:0;transform:scale(.8)}45%{opacity:1;transform:scale(1.08)}100%{opacity:.65;transform:scale(1)}}@keyframes blessing-words{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
/* Chapter pages, as a keepsake letter rather than a timeline of invented memories. */
.our-story{padding:90px 48px 96px;max-width:1180px;position:relative}.story-heading{text-align:center;margin-bottom:42px}.story-heading h2{margin-top:18px;font-size:3.8rem;line-height:1.12}.story-heading h2 em{font-family:var(--calligraphy);font-size:1.2em;color:var(--wine);line-height:1.3}.story-book{display:grid;grid-template-columns:.85fr 1.15fr;position:relative;min-height:475px;border:1px solid #b9955a55;border-radius:5px;background:#fffaf1;box-shadow:0 19px 55px #79554c0b;overflow:hidden;isolation:isolate}.story-spine{position:absolute;left:42.5%;top:0;bottom:0;width:15px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#926d4220,transparent);z-index:2;pointer-events:none}.story-keepsake{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 25px;position:relative;background:linear-gradient(135deg,#f6dfd67d,#f9eedd6b);isolation:isolate;border-right:1px solid #b9955a30;min-width:0}.story-keepsake:before{content:'';position:absolute;inset:11px;border:1px solid #b9955a35;pointer-events:none}.story-keepsake:after{content:'';position:absolute;inset:0;background:none;opacity:.22;z-index:-1;pointer-events:none}.story-keepsake .eyebrow{font-size:.75rem;letter-spacing:.12em}.story-monogram{font:3.2rem/1.3 var(--calligraphy);color:var(--wine);border:1px solid #b9955a50;border-radius:50%;width:104px;height:104px;display:flex;align-items:center;justify-content:center;margin:21px 0 23px;background:#fff5e788}.story-keepsake>p{font:1.75rem/1.2 var(--serif);color:#73513f}.story-keepsake>p em{font-family:var(--calligraphy);font-size:1.4em;line-height:1.4;color:var(--wine)}.keepsake-date{font-size:.75rem;color:#80624d;margin-top:25px;line-height:1.6}.story-pages{display:flex;flex-direction:column;padding:50px 46px 30px;min-width:0;perspective:1200px;position:relative;z-index:3}.story-page{flex:1;transform-origin:left center;min-height:275px;min-width:0}.story-folio{font-size:.75rem;color:#8a602b;letter-spacing:.13em;text-transform:uppercase;line-height:1.8;margin-bottom:25px}.story-page h3{font:2.7rem/1.08 var(--serif);color:var(--wine);margin-bottom:22px;overflow-wrap:anywhere}.story-body{font:1rem/1.95 var(--sans);color:#6b5a50;white-space:pre-line}.story-signoff{font:1.25rem/1.6 var(--serif);color:#795646;margin-top:21px}.story-signoff span{font-family:var(--calligraphy);font-size:1.5em;padding-left:5px;display:inline-block}.story-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;border-top:1px solid #b9955a35;margin-top:25px;padding-top:13px}.story-page-tabs{display:flex;gap:0;align-items:center}.story-page-tab{border:0;background:none;position:relative;width:44px;height:44px;padding:0;display:grid;place-items:center}.story-page-tab:before{content:'';width:8px;height:8px;border-radius:50%;background:#b9955a55;transition:background .25s,transform .25s}.story-page-tab.active:before{background:var(--wine);transform:scale(1.2)}.story-page-buttons{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.story-page-buttons .text-button{min-height:44px;font-size:.875rem}.story-page-buttons .text-button:disabled{opacity:.3}.story-page.page-turning{animation:story-turn .65s var(--ease-out) both}@keyframes story-turn{from{opacity:0;transform:rotateY(-9deg) translateX(9px)}to{opacity:1;transform:rotateY(0) translateX(0)}}.studio-story-fields{padding-top:25px;border-top:1px solid #b9955a40;margin-top:24px}.studio-story-fields>.small-copy{margin-bottom:20px;font-size:.8125rem}.studio-story-fields>.eyebrow{margin-bottom:10px}
.event-top{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:0}.event-symbol{grid-row:1}.event-hindi{grid-row:2;font:1.125rem/1.8 var(--devanagari);color:#835622;margin:12px 0 14px}.event-meta{grid-row:3}.event-card[data-kind="sangeet"] .event-hindi,.event-card[data-kind="reception"] .event-hindi{color:#f7d998}.section-heading h2{line-height:1.08}.section-heading h2 em{display:inline-block;margin-top:3px;font-size:1.06em}.site-header nav{gap:25px}.welcome>.eyebrow{letter-spacing:.12em;line-height:1.8}.hero .eyebrow{letter-spacing:.14em}
@media(max-width:1100px){.story-pages{padding:43px 32px 28px}.story-page h3{font-size:2.5rem}.story-page-buttons{gap:12px}.our-story{padding-left:35px;padding-right:35px}.story-heading h2{font-size:3.5rem}}
@media(max-width:980px){.site-header nav{display:none}.menu-button{display:block}.site-header>.button{margin-left:auto;margin-right:12px}.mobile-nav{position:fixed;top:76px}.site-header{position:sticky;top:0}.story-book{grid-template-columns:.72fr 1.28fr}.story-spine{left:36%}.story-keepsake{padding:35px 22px}.story-pages{padding:38px 28px 26px}.story-page h3{font-size:2.3rem}}
@media(max-width:680px){.mobile-nav{top:70px}.our-story{padding:66px 24px 73px}.story-heading{margin-bottom:31px}.story-heading h2{font-size:2.9rem;margin-top:15px}.story-book{grid-template-columns:minmax(0,1fr);min-height:0}.story-spine{display:none}.story-keepsake{padding:27px 24px 26px;border-right:0;border-bottom:1px solid #b9955a40;display:grid;grid-template-columns:auto 1fr;gap:11px 18px;text-align:left;justify-content:start}.story-keepsake .eyebrow{grid-column:1/-1;text-align:center;font-size:.75rem;letter-spacing:.08em;position:relative;z-index:1}.story-monogram{grid-column:1;grid-row:2;margin:0;width:78px;height:78px;font-size:2.35rem;position:relative;z-index:1}.story-keepsake>p{grid-column:2;grid-row:2;font-size:1.45rem;line-height:1.12;position:relative;z-index:1}.story-keepsake>p br{display:none}.story-keepsake>p em{font-size:1.3em;display:block;line-height:1.3}.keepsake-date{grid-column:1/-1;text-align:center;margin-top:0;font-size:.75rem;position:relative;z-index:1}.story-keepsake:after{opacity:.16}.story-pages{padding:31px 26px 22px}.story-page{min-height:275px}.story-folio{margin-bottom:19px;font-size:.75rem;letter-spacing:.11em}.story-page h3{font-size:2.5rem;margin-bottom:21px}.story-body{font-size:1rem;line-height:1.85}.story-pagination{justify-content:center;gap:3px 10px;padding-top:12px;margin-top:25px}.story-page-tabs{width:100%;justify-content:center}.story-page-buttons{justify-content:center;gap:20px}.story-signoff{font-size:1.2rem}.section-heading h2{font-size:3.1rem}.section-heading h2 em{font-size:1.06em}.day-tab small{line-height:1.6}.hero .eyebrow{font-size:.75rem;letter-spacing:.13em}.welcome>.eyebrow{max-width:270px;margin:auto}}
@media(max-width:360px){.story-heading h2{font-size:2.65rem}.story-pages{padding-left:23px;padding-right:23px}.story-page h3{font-size:2.25rem}.story-keepsake{padding-left:21px;padding-right:21px;gap:11px 14px}.story-monogram{width:70px;height:70px;font-size:2.1rem}.story-keepsake>p{font-size:1.35rem}.section-heading h2{font-size:2.85rem}}.story-monogram{white-space:nowrap;font-size:42px}
@media(max-width:680px){.story-monogram{font-size:30px}}
@media(max-width:360px){.story-monogram{font-size:28px}}
@media(max-height:650px){}
@media(max-height:450px){}

/* The family invitation, styled as a keepsake wedding card. */
.welcome{padding-left:55px;padding-right:55px}.welcome:before{opacity:.26}.welcome h2{font-size:clamp(2.8rem,4.7vw,4rem);line-height:1.15;margin-bottom:37px}.welcome h2 em{display:inline-block;max-width:100%;line-height:1.4}.family-card{position:relative;isolation:isolate;padding:44px 44px 35px;border:1px solid #b9955a65;border-radius:180px 180px 5px 5px;background:linear-gradient(135deg,#fffaf2,#f8ecdf);box-shadow:0 18px 50px #79554c0b;overflow:hidden;min-width:0}.family-card:before{content:'';position:absolute;inset:10px;border:1px solid #b9955a40;border-radius:inherit;pointer-events:none}.family-card:after{content:'';position:absolute;inset:0;background:none;opacity:.13;z-index:-1;pointer-events:none}.family-invocation{font:1.5rem/1.8 var(--devanagari);color:var(--wine);margin:6px 0 17px}.family-hosts{font:500 1.55rem/1.4 var(--serif);color:var(--wine);max-width:650px;margin:0 auto 13px;white-space:pre-line}.family-invitation{font:.875rem/1.9 var(--sans);color:#6b5a50;max-width:490px;margin:auto;white-space:pre-line}.family-couple{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:25px;align-items:start;margin:34px 0 30px}.family-person{min-width:0}.family-person h3{font:clamp(3.6rem,5vw,4.5rem)/1.5 var(--calligraphy);color:var(--wine);margin-bottom:8px;overflow-wrap:anywhere;padding:0 4px}.family-relation{font:.75rem/1.8 var(--sans);letter-spacing:.045em;color:#80624f;margin-bottom:5px}.family-parents{font:500 1.25rem/1.5 var(--serif);color:#594434;white-space:pre-line}.family-grandparentage{margin-top:18px}.family-grandparents{font:.875rem/1.8 var(--sans);color:#6b5a50;white-space:pre-line}.family-union{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:33px}.family-union p{font:2.4rem/1.25 var(--calligraphy);color:var(--gold)}.family-union span{height:27px;width:1px;background:#b9955a60}.family-card-date{border-top:1px solid #b9955a35;border-bottom:1px solid #b9955a35;padding:17px 15px;max-width:560px;margin:0 auto 24px}.family-card-date p:first-child{font:500 1.4rem/1.5 var(--serif);color:var(--wine)}.family-card-date p:last-child{font:.75rem/1.8 var(--sans);color:#80624f;margin-top:5px}.family-closing{font:italic 1.25rem/1.55 var(--serif);color:#795646;max-width:560px;margin:auto;white-space:pre-line}.family-regards{font:.75rem/1.8 var(--sans);color:#80624f;margin-top:20px}.family-regards span{font:500 1.15rem/1.6 var(--serif);color:var(--wine);display:inline-block;margin-top:4px;white-space:pre-line}.studio-family-fields{padding-top:25px;border-top:1px solid #b9955a40;margin-top:24px}.studio-family-fields>.small-copy{margin-bottom:20px;font-size:.8125rem}.studio-family-fields>.eyebrow{margin-bottom:10px}
@media(max-width:900px){.family-card{padding-left:28px;padding-right:28px}.family-couple{gap:16px}.family-person h3{font-size:3.6rem}.welcome{padding-left:32px;padding-right:32px}}
@media(max-width:680px){.welcome{padding:70px 24px 65px}.welcome h2{font-size:2.75rem;margin-bottom:30px}.welcome h2 em{font-size:1.12em}.family-card{border-radius:135px 135px 4px 4px;padding:43px 25px 31px}.family-card:before{inset:8px}.family-hosts{font-size:1.4rem}.family-invocation{font-size:1.375rem}.family-invitation{font-size:.875rem;line-height:1.9}.family-couple{grid-template-columns:minmax(0,1fr);gap:0;margin:26px 0}.family-person h3{font-size:3.9rem;line-height:1.45;margin-bottom:8px}.family-parents{font-size:1.3rem}.family-grandparentage{margin-top:15px}.family-grandparents{font-size:.875rem;line-height:1.85}.family-union{flex-direction:row;justify-content:center;gap:15px;padding:20px 0 12px}.family-union span{height:1px;width:32px}.family-union p{font-size:2.4rem}.family-card-date{padding:16px 0;margin-bottom:22px}.family-card-date p:first-child{font-size:1.35rem}.family-closing{font-size:1.25rem}.family-regards{margin-top:19px}}
@media(max-width:360px){.welcome{padding-left:20px;padding-right:20px}.welcome h2{font-size:2.45rem}.family-card{padding-left:22px;padding-right:22px;border-radius:120px 120px 4px 4px}.family-person h3{font-size:3.6rem}}

/* One motion rhythm: layered ambience, overlapping scenes, and quiet settling. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.hero-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;isolation:isolate}.hero-light{position:absolute;width:75%;height:85%;border-radius:50%;opacity:.65;animation:light-wander 18s ease-in-out infinite}.hero-light-rose{right:-15%;top:-10%;background:radial-gradient(ellipse,#e6b5b34d,transparent 68%)}.hero-light-gold{left:-15%;bottom:-15%;background:radial-gradient(ellipse,#efd2a657,transparent 65%);animation-delay:-9s;animation-duration:22s}.hero-florals{position:absolute;width:370px;height:570px;background:none;opacity:.28;animation:floral-breeze 13s ease-in-out infinite;transform-origin:0 0}.hero-florals-left{left:-185px;top:-30px}.hero-florals-right{right:-220px;bottom:-100px;transform-origin:100% 100%;animation-delay:-6s;animation-duration:17s;opacity:.23}.floating-petals{position:absolute;inset:0}.floating-petals i{position:absolute;left:var(--x);top:-30px;width:var(--petal-size);height:calc(var(--petal-size)*1.5);border-radius:80% 20% 75% 25%;background:linear-gradient(135deg,#fff2df,var(--petal-tone));opacity:0;animation:petal-stream var(--petal-time) var(--petal-delay) linear infinite;box-shadow:inset 1px 0 2px #fff5}.ambient-glints i{animation-duration:var(--duration);opacity:.4}.hero-frame{z-index:1}.invitation-ready .couple-portrait{animation:none;will-change:auto}.invitation-ready .portrait-arrival{animation:portrait-arrive 1.5s .16s var(--ease-out) both}.invitation-ready .portrait-art{animation:portrait-breathe 10s ease-in-out infinite;transform-origin:50% 75%}.portrait-arrival{width:100%;height:100%}.hero-copy{animation:none}.invitation-ready .hero-copy>*{animation-duration:1.35s}.couple-portrait{will-change:auto}.event-card{will-change:auto;transition:transform .55s var(--ease-out),box-shadow .45s,border-color .3s}.event-card:hover{will-change:transform}
@keyframes light-wander{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.55}50%{transform:translate3d(-35px,25px,0) scale(1.1);opacity:.9}}
@keyframes floral-breeze{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(10px,-9px,0) rotate(1.3deg)}}
@keyframes petal-stream{0%{opacity:0;transform:translate3d(0,-10px,0) rotate(0)}8%{opacity:.5}40%{transform:translate3d(var(--petal-wind),calc(var(--petal-fall,950px)*.4),0) rotate(110deg)}70%{opacity:.45;transform:translate3d(calc(var(--petal-wind)*-.5),calc(var(--petal-fall,950px)*.7),0) rotate(185deg)}100%{opacity:0;transform:translate3d(var(--petal-wind),var(--petal-fall,950px),0) rotate(260deg)}}
@keyframes portrait-arrive{from{opacity:0;transform:translate3d(0,18px,0) scale(.975)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes portrait-breathe{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-7px,0) scale(1.008)}}
html[data-hero-active="false"] .hero-light,html[data-hero-active="false"] .hero-florals,html[data-hero-active="false"] .floating-petals i,html[data-hero-active="false"] .ambient-glints i,html[data-hero-active="false"] .portrait-art{animation-play-state:paused!important}
.story-stage{position:relative;flex:1;min-height:275px;min-width:0}.story-stage.scene-transitioning{flex:0 0 auto}.story-page{min-height:275px}.scene-transitioning{position:relative;isolation:isolate;overflow:hidden}.scene-ghost{position:absolute!important;left:0;top:0;width:100%;margin:0!important;pointer-events:none;z-index:2}.story-stage>.story-page:not(.scene-ghost),.celebration-stage>.event-grid:not(.scene-ghost){position:relative;z-index:1}.scene-ghost .reveal{opacity:1!important;transform:none!important}.celebration-stage{position:relative;perspective:1200px;min-width:0}.story-page.page-turning,.panel-arriving .event-card{animation:none}.motion-enabled .reveal{transform:translateY(14px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.motion-enabled .reveal.is-visible{transform:translateY(0)}
@keyframes envelope-breathe{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-6px) rotate(.35deg)}}
@keyframes blessing-breathe{0%,100%{opacity:.45;transform:scale(.94)}50%{opacity:.85;transform:scale(1.06)}}
@keyframes cover-botanicals{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.018) translateY(-4px)}}
.modal{animation:modal-arrive .45s var(--ease-out)}.modal::backdrop{animation:backdrop-arrive .4s ease-out}.modal.modal-closing::backdrop{animation:backdrop-leave .18s ease-out both}@keyframes backdrop-leave{to{opacity:0}}.faq-list details[open]{padding:0}.faq-list details[open] p{animation:none}.faq-list details.faq-animating{overflow:hidden}.faq-list details{transition:background .3s ease}
@media(max-width:680px){.hero-florals{width:270px;height:470px;opacity:.2}.hero-florals-left{left:-176px;top:0}.hero-florals-right{right:-181px;bottom:-55px;opacity:.17}.floating-petals i:nth-child(n+6){display:none}.hero-light{width:125%;height:70%}.hero-light-rose{right:-45%;top:0}.hero-light-gold{left:-50%;bottom:-10%}.story-stage{min-height:275px}.motion-enabled .reveal{transform:translateY(10px)}.motion-enabled .reveal.is-visible{transform:translateY(0)}}
html[data-motion="off"] .floating-petals{display:none}html[data-motion="off"] .hero-light,html[data-motion="off"] .hero-florals,html[data-motion="off"] .portrait-art{transform:none!important}
@media(prefers-reduced-motion:reduce){.floating-petals{display:none}.hero-light,.hero-florals,.portrait-art{transform:none!important}}

/* Full names, with calligraphic first names and quiet surname lettering. */
.hero h1 .hero-person{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.18;padding:0 10px}.hero h1 .hero-person>span{padding:0 7px}.hero h1 .hero-person>small{font:500 .8125rem/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#8a602b;margin-top:0;padding:0 10px}.hero h1{margin-top:18px;margin-bottom:22px}.hero h1 em{margin-top:11px;margin-bottom:14px}
@media(max-width:680px){.hero h1{gap:8px;margin:10px 0 13px}.hero h1 .hero-person{padding:0 0;line-height:1.24}.hero h1 .hero-person>small{font-size:.75rem;letter-spacing:.15em;padding:0 3px}.hero h1 em{margin:0 1px}.hero h1 .hero-person>span{padding:0 3px}}

/* A shared wedding mark across the stationery suite. */
.monogram.wedding-brand{width:70px;height:70px;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0}.wedding-brand img{display:block;width:100%;height:100%;object-fit:contain}.monogram.wedding-brand img{width:68px;height:68px}.monogram.wedding-brand .logo-fallback{font:2rem/1 var(--calligraphy);color:var(--wine);padding:0;letter-spacing:0}.wedding-seal img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(23%) sepia(30%) saturate(1291%) hue-rotate(350deg) brightness(91%) contrast(90%);opacity:.92}.wedding-seal .logo-fallback{font:1.125rem/1 var(--calligraphy);white-space:nowrap}.story-monogram.wedding-brand img{width:87%;height:87%}.studio-logo-fields{border-top:1px solid #b9955a40;margin-top:24px;padding-top:25px}.studio-logo-fields>.eyebrow{margin-bottom:14px}.studio-logo-preview{display:flex;gap:22px;align-items:center;background:#f4e5dc70;padding:15px 18px;margin-bottom:23px;border:1px solid #b9955a30;border-radius:3px}.studio-logo-preview img{width:105px;height:105px;object-fit:contain;flex-shrink:0}.studio-logo-preview .small-copy{margin:0;font-size:.8125rem;line-height:1.8}
@media(max-width:680px){.monogram.wedding-brand{width:55px;height:60px}.monogram.wedding-brand img{width:55px;height:55px}.studio-logo-preview{gap:14px;padding:13px}.studio-logo-preview img{width:82px;height:82px}}

/* The festivities unfold as eight illustrated worlds, with one continuous reading path. */
.celebrations,.celebrations[data-day="2"]{max-width:none;margin:0;padding:0;background:var(--paper);border:0;isolation:auto;transition:none}
.celebrations-intro{text-align:center;padding-top:80px;padding-bottom:48px;max-width:1100px}
.celebrations-intro h2{margin:16px 0 22px;line-height:1.12}
.celebrations-intro>p:last-child{font:1.1rem/1.85 var(--sans);color:var(--muted)}
.celebration-navigation{position:sticky;top:88px;z-index:12;background:#fcf8eef5;backdrop-filter:blur(14px);border-top:1px solid #b9955a35;border-bottom:1px solid #b9955a35;box-shadow:0 8px 25px #39262e08;padding:10px 24px 0}
.celebration-navigation .day-tabs{display:flex;gap:12px;max-width:650px;margin:0 auto;border:0;justify-content:center}
.celebration-navigation .day-tab{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;min-width:0;min-height:44px;padding:8px 22px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--wine);box-shadow:none;transition:background .45s var(--ease-out),border-color .45s}
.celebration-navigation .day-tab span{color:var(--muted);font-size:.75rem;letter-spacing:.1em}
.celebration-navigation .day-tab strong{color:var(--wine);font:500 1.4rem/1.4 var(--serif);margin:0;overflow-wrap:normal}
.celebration-navigation .day-tab.active{background:#f2e4d7;border-color:#b9955a55}
.celebration-navigation .day-tab:after{display:none}
.event-quicknav{display:flex;justify-content:center;gap:20px;max-width:950px;margin:2px auto 0;overflow-x:auto;scrollbar-width:none}
.event-quicknav::-webkit-scrollbar{display:none}
.event-quicknav :is(button,a){position:relative;flex-shrink:0;border:0;background:transparent;color:#785c50;padding:10px 4px 12px;font-size:.875rem;line-height:1.6;min-height:44px;transition:color .3s}
.event-quicknav :is(button,a):after{content:'';position:absolute;left:4px;right:4px;bottom:0;height:2px;background:var(--wine);transform:scaleX(0);transition:transform .5s var(--ease-out)}
.event-quicknav :is(button,a).active{color:var(--wine)}
.event-quicknav :is(button,a).active:after{transform:scaleX(1)}
.celebration-stage{perspective:none}
.event-day,.event-scene{scroll-margin-top:210px}
.event-day-heading{text-align:center;padding:42px 24px 35px;background:#edf1e3}
.event-day-heading h3{font:italic 2.4rem/1.3 var(--serif);color:#34503d;margin-top:10px}
#day-2 .event-day-heading{background:#fae6d7}
#day-2 .event-day-heading h3{color:#813f36}
.event-scene{--scene-bg:#edf1e3;--scene-ink:#234c3d;--scene-text:#415649;--scene-accent:#557b48;--scene-line:#315d3830;position:relative;background:var(--scene-bg);color:var(--scene-ink);overflow:hidden;isolation:isolate}
.scene-haldi{--scene-bg:#fff0c4;--scene-ink:#734716;--scene-text:#705335;--scene-accent:#a66416;--scene-line:#9560133c}
.scene-sangeet{--scene-bg:#24232b;--scene-ink:#fae8c6;--scene-text:#e8d9de;--scene-accent:#e4bc79;--scene-line:#edcd863b}
.scene-baraat{--scene-bg:#f9d9c9;--scene-ink:#813931;--scene-text:#784f40;--scene-accent:#9d473d;--scene-line:#a4513835}
.scene-varmala{--scene-bg:#f9edda;--scene-ink:#6b2035;--scene-text:#6c5145;--scene-accent:#9c7439;--scene-line:#a9793e40}
.scene-dinner{--scene-bg:#153e40;--scene-ink:#fbebcd;--scene-text:#deebe3;--scene-accent:#e7c98b;--scene-line:#dbbe803e}
.scene-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1500px;margin:0 auto;min-height:710px;position:relative}
.scene-inner:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--scene-line);pointer-events:none}
.event-scene:nth-child(even) .scene-visual{order:2}
.scene-visual{position:relative;min-width:0;min-height:710px;margin:0;overflow:hidden;align-self:stretch;background:var(--scene-bg)}
.scene-window{position:absolute;inset:0;overflow:hidden;isolation:isolate}
.scene-window:after{content:'';position:absolute;inset:16px;border:1px solid #ffecc491;box-shadow:0 0 0 5px #ffe9bf19;pointer-events:none;z-index:3}
.scene-camera{position:absolute;inset:-10px;animation:scene-camera-drift 19s ease-in-out infinite}
.scene-camera img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;min-width:0}
.scene-visual figcaption{position:absolute;left:22px;right:22px;bottom:76px;text-align:center;font:1.9rem/1.4 var(--calligraphy);color:#fff7e1;text-shadow:0 1px 12px #2f202ad9;z-index:4;pointer-events:none}
.scene-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#21181980);pointer-events:none;z-index:2}
.scene-flourish{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 55px);width:max-content;border:1px solid #fff0cd99;border-radius:30px;background:#fff9e8ef;color:#6d4934;font-size:.875rem;padding:10px 18px;min-height:44px;display:flex;align-items:center;gap:9px;line-height:1.6;z-index:5;box-shadow:0 4px 20px #1e141a1c;transition:background .4s,box-shadow .4s}
.scene-flourish:hover{background:#fff4d0;box-shadow:0 6px 22px #1e141a30}
.scene-flourish:focus-visible{outline-color:#fff0ca;outline-offset:4px}
.scene-copy{position:relative;min-width:0;align-self:center;isolation:isolate;padding:58px clamp(32px,5vw,80px) 55px;overflow:hidden}
.scene-chapter{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--scene-accent);padding-bottom:20px;border-bottom:1px solid var(--scene-line);margin-bottom:13px}
.scene-chapter>span:first-child{font:.75rem/1.7 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.scene-chapter>span:last-child{font:1.4rem/1.7 var(--devanagari)}
.scene-title{font:clamp(4rem,6.2vw,6.8rem)/1.4 var(--calligraphy);color:var(--scene-ink);margin:0 -3px 0;padding:0 5px;overflow-wrap:normal}
.scene-event-name{font:500 .8125rem/1.7 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--scene-accent);margin:0 0 18px}
.scene-short{font:italic 1.45rem/1.5 var(--serif);color:var(--scene-ink);max-width:430px;margin-bottom:24px}
.scene-when{border-top:1px solid var(--scene-line);border-bottom:1px solid var(--scene-line);padding:15px 0 17px;margin-bottom:22px}
.scene-when>p{font:.875rem/1.7 var(--sans);margin-bottom:4px;color:var(--scene-text)}
.scene-when>strong{font:500 1.7rem/1.4 var(--serif);display:block;color:var(--scene-ink)}
.scene-when>strong span{font:400 .875rem/1.6 var(--sans);display:inline-block;color:var(--scene-text);margin-left:5px}
.scene-description{font:1rem/1.85 var(--sans);color:var(--scene-text);margin-bottom:24px;max-width:500px}
.scene-practical{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin:0 0 26px}
.scene-practical dt{font:.75rem/1.7 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--scene-accent);margin-bottom:5px}
.scene-practical dd{font:500 1.25rem/1.4 var(--serif);color:var(--scene-ink);margin:0}
.scene-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;position:relative;z-index:1}
.scene-actions button{font:.875rem/1.6 var(--sans);min-height:44px;color:var(--scene-ink);transition:background .3s,border-color .3s}
.scene-calendar{padding:10px 17px;border:1px solid var(--scene-line);background:transparent;border-radius:2px}
.scene-calendar:hover{background:var(--scene-line)}
.scene-calendar span{padding-left:10px}
.scene-details{border:0;border-bottom:1px solid var(--scene-line);background:transparent;padding:8px 0}
.scene-actions button:focus-visible{outline-color:var(--scene-accent)}
.scene-number{position:absolute;right:30px;bottom:14px;font:11rem/1 var(--serif);opacity:.045;z-index:-1;pointer-events:none;color:var(--scene-ink)}
.celebrations .schedule-footer{margin:0 auto;padding-top:32px;padding-bottom:35px;max-width:1250px;font-size:.8125rem}
.scene-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.scene-light{position:absolute;border-radius:50%;width:70%;height:70%;background:radial-gradient(ellipse,#ffdea660,transparent 65%);mix-blend-mode:screen;animation:scene-light-breathe 11s ease-in-out infinite;transform-origin:50% 50%;opacity:.4}
.scene-light-one{left:-18%;top:-15%}
.scene-light-two{right:-25%;bottom:-25%;animation-delay:-5s;background:radial-gradient(ellipse,#ffd29755,transparent 68%)}
.scene-beam{display:none}
.scene-botanical{display:none}
.scene-mehendi .scene-botanical,.scene-varmala .scene-botanical{display:block;position:absolute;left:-100px;top:-40px;width:300px;height:480px;background:none;opacity:.4;transform-origin:top left;animation:scene-leaves-sway 12s ease-in-out infinite}
.scene-particles{position:absolute;inset:0}
.scene-particles i{position:absolute;left:var(--particle-x);top:-20px;width:7px;height:11px;border-radius:70% 25% 70% 25%;background:var(--particle-tone);opacity:0;animation:scene-petals-fall var(--particle-duration) var(--particle-delay) linear infinite}
.scene-haldi .scene-particles i{width:8px;height:8px;border-radius:45%;box-shadow:0 0 4px #f8c54666}
.scene-baraat .scene-particles i{width:4px;height:13px;border-radius:1px;animation-duration:calc(var(--particle-duration)*.7)}
.scene-sangeet .scene-beam{display:block;position:absolute;width:160%;height:160%;left:-30%;top:-25%;background:conic-gradient(from 160deg at 50% 0%,transparent 0deg,#f8dd9e16 22deg,transparent 32deg,transparent 73deg,#eaa6d317 84deg,transparent 100deg);mix-blend-mode:screen;transform-origin:50% 0;animation:scene-stage-lights 14s ease-in-out infinite}
.scene-sangeet .scene-particles i,.scene-dinner .scene-particles i{top:var(--particle-y);width:3px;height:3px;border-radius:50%;box-shadow:0 0 8px 2px #ffe4a077;animation:scene-starlight calc(var(--particle-duration)*.45) var(--particle-delay) ease-in-out infinite}
.scene-varmala .scene-light-two{right:19%;bottom:5%;width:56%;height:40%;background:radial-gradient(ellipse,#f7d5ae44,transparent 65%);animation:scene-varmala-glow 12s ease-in-out infinite}
.scene-dinner .scene-light-one{left:16%;top:-14%;width:75%;height:50%;background:radial-gradient(ellipse,#ffe4a45e,transparent 65%);animation-duration:8s}
.scene-dinner .scene-light-two{right:9%;bottom:2%;width:45%;height:40%;animation-duration:6s}
.scene-flourish-layer{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.scene-celebration-piece{position:absolute;top:-18px;left:var(--piece-x);width:9px;height:14px;border-radius:70% 20% 70% 20%;background:var(--piece-tone);opacity:0;animation:scene-flower-shower 2.3s var(--piece-delay) cubic-bezier(.2,.5,.5,1) both}
.scene-sangeet .scene-celebration-piece,.scene-dinner .scene-celebration-piece{width:4px;height:4px;border-radius:50%;box-shadow:0 0 9px 3px #ffe5ab88}
.scene-baraat .scene-celebration-piece{width:5px;height:16px;border-radius:1px}
.scene-celebrating .scene-light{animation:scene-celebrate-glow 2.8s ease-in-out both}
.event-scene[data-scene-active="false"] .scene-camera,.event-scene[data-scene-active="false"] .scene-atmosphere *{animation-play-state:paused!important}
html[data-page-hidden="true"] .scene-camera,html[data-page-hidden="true"] .scene-atmosphere *{animation-play-state:paused!important}
@keyframes scene-camera-drift{0%,100%{transform:scale(1.015) translate3d(-3px,2px,0)}50%{transform:scale(1.035) translate3d(3px,-4px,0)}}
@keyframes scene-light-breathe{0%,100%{opacity:.24;transform:scale(.96) translate3d(0,0,0)}50%{opacity:.7;transform:scale(1.08) translate3d(10px,-5px,0)}}
@keyframes scene-leaves-sway{0%,100%{transform:rotate(-1.2deg) translate3d(0,0,0)}50%{transform:rotate(1.5deg) translate3d(4px,0,0)}}
@keyframes scene-petals-fall{0%{opacity:0;transform:translate3d(0,-10px,0) rotate(0)}8%{opacity:.65}75%{opacity:.55}100%{opacity:0;transform:translate3d(40px,780px,0) rotate(240deg)}}
@keyframes scene-stage-lights{0%,100%{transform:rotate(-9deg);opacity:.6}50%{transform:rotate(9deg);opacity:1}}
@keyframes scene-starlight{0%,100%{opacity:.08;transform:scale(.65)}45%{opacity:.85;transform:scale(1.15)}75%{opacity:.22;transform:scale(.9)}}
@keyframes scene-firelight{0%,100%{opacity:.3;transform:scale(.96)}35%{opacity:.65;transform:scale(1.04)}65%{opacity:.45;transform:scale(.99)}}
@keyframes scene-flower-shower{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--piece-spin))}9%{opacity:.9}80%{opacity:.8}100%{opacity:0;transform:translate3d(var(--piece-wind),850px,0) rotate(calc(var(--piece-spin) + 290deg))}}
@keyframes scene-celebrate-glow{0%,100%{opacity:.3;transform:scale(1)}40%{opacity:1;transform:scale(1.2)}}
@media(min-width:1501px){.scene-inner{min-height:740px}.scene-visual{min-height:740px}.event-scene:before{content:'';position:absolute;inset:0;background:var(--scene-line);opacity:.25;z-index:-1}}
@media(max-width:1100px){.scene-copy{padding:42px 32px}.scene-visual,.scene-inner{min-height:700px}.scene-title{font-size:5rem}.scene-short{font-size:1.35rem}.scene-practical{gap:18px}.scene-actions{gap:8px 17px}.scene-visual figcaption{font-size:1.75rem}}
@media(max-width:980px){.celebration-navigation{top:76px}.scene-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.scene-copy{padding:35px 28px}.scene-title{font-size:4.6rem}.scene-practical{grid-template-columns:minmax(0,1fr);gap:14px}.scene-description{font-size:1rem}.scene-visual,.scene-inner{min-height:790px}}
@media(max-width:680px){
 .celebrations-intro{padding:65px 24px 34px}.celebrations-intro h2{font-size:2.8rem;margin:16px 0 20px}.celebrations-intro>p:last-child{font-size:1rem}
 .celebration-navigation{top:70px;padding:7px 12px 0}.celebration-navigation .day-tabs{gap:6px}.celebration-navigation .day-tab{padding:6px 10px;gap:8px}.celebration-navigation .day-tab span{font-size:.75rem;letter-spacing:0;text-transform:none}.celebration-navigation .day-tab strong{font-size:1.2rem}
 .event-quicknav{justify-content:flex-start;gap:20px;padding:0 5px}.event-quicknav :is(button,a){font-size:.875rem;padding-top:8px;padding-bottom:10px}
 .event-day,.event-scene{scroll-margin-top:180px}.event-day-heading{padding:27px 24px 24px}.event-day-heading h3{font-size:1.95rem;margin-top:8px}
 .scene-inner{display:flex;flex-direction:column;min-height:0}.scene-visual,.event-scene:nth-child(even) .scene-visual{order:0;width:100%;min-height:0;aspect-ratio:4/5}.scene-copy{padding:30px 29px 39px;order:1;width:100%}.scene-window:after{inset:13px}.scene-camera{inset:-7px}.scene-visual figcaption{bottom:73px;font-size:1.8rem;left:24px;right:24px}.scene-flourish{bottom:23px;max-width:calc(100% - 54px);padding:9px 17px;font-size:.875rem}
 .scene-chapter{padding-bottom:13px;margin-bottom:12px}.scene-chapter>span:first-child{font-size:.75rem}.scene-chapter>span:last-child{font-size:1.25rem}.scene-title{font-size:4.5rem;line-height:1.35}.scene-event-name{font-size:.8125rem;letter-spacing:.055em;margin-bottom:15px}.scene-short{font-size:1.4rem;margin-bottom:20px}.scene-when{margin-bottom:19px;padding:13px 0 15px}.scene-when>strong{font-size:1.7rem}.scene-when>p{font-size:.875rem}.scene-when>strong span{font-size:.875rem}.scene-description{font-size:1rem;line-height:1.85;margin-bottom:22px}.scene-practical{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;margin-bottom:25px}.scene-practical dd{font-size:1.2rem}.scene-actions{gap:10px 18px}.scene-number{font-size:8rem;right:20px;bottom:19px}.celebrations .schedule-footer{padding:26px 24px 32px;gap:15px;font-size:.8125rem}.scene-botanical{max-width:240px;max-height:390px}.scene-particles i:nth-child(n+7){display:none}
 .family-relation{font-size:.8125rem}.family-grandparents{font-size:.9375rem;line-height:1.8}.family-grandparentage{margin-top:19px}
}
@media(max-width:360px){.celebrations-intro h2{font-size:2.55rem}.celebration-navigation .day-tab{gap:5px;padding:6px 5px}.celebration-navigation .day-tab strong{font-size:1.12rem}.scene-copy{padding:28px 24px 35px}.scene-title{font-size:4rem}.scene-practical{grid-template-columns:minmax(0,1fr);gap:14px}.scene-flourish{font-size:.8125rem;padding:9px 13px}.scene-visual figcaption{font-size:1.55rem}}
html[data-motion="off"] .scene-camera{transform:none!important}
html[data-motion="off"] .scene-particles,html[data-motion="off"] .scene-flourish-layer{display:none}
@media(prefers-reduced-motion:reduce){.scene-camera{transform:none!important}.scene-particles,.scene-flourish-layer{display:none}}
.celebration-navigation .day-tab{flex-wrap:wrap}
.celebration-navigation .day-tab strong{min-width:0;overflow-wrap:anywhere}
.event-day,.event-scene{scroll-margin-top:var(--scene-nav-offset,210px)}
.celebration-navigation{top:var(--scene-header-height,80px)}
.scene-title{overflow-wrap:anywhere}
/* Safe centering keeps the first ceremony reachable when enlarged labels overflow. */
.event-quicknav{justify-content:flex-start;justify-content:safe center}
.scene-baraat .scene-camera img{object-position:50% 35%}

/* The full story crest pairs with the clear PT centre on small stationery. */
.has-personal-crest .story-keepsake{padding:34px 25px 30px}
.has-personal-crest .story-keepsake:after{display:none}
.has-personal-crest .story-monogram.wedding-brand{width:min(100%,310px);height:auto;aspect-ratio:1;border:0;border-radius:0;background:transparent;margin:12px 0 17px;flex-shrink:0}
.has-personal-crest .story-monogram.wedding-brand img{width:100%;height:100%}
.has-personal-crest .story-keepsake>p{font-size:1.5rem;line-height:1.35}
.has-personal-crest .story-keepsake>p br{display:none}
.has-personal-crest .story-keepsake>p em{display:block;font-size:1.5em;line-height:1.4}
.has-personal-crest .keepsake-date{margin-top:15px}



.has-personal-crest .studio-logo-preview img{width:155px;height:155px}
@media(max-width:980px){.has-personal-crest .story-monogram.wedding-brand{width:min(100%,270px)}}
@media(max-width:680px){
 .has-personal-crest .story-keepsake{display:flex;align-items:center;text-align:center;padding:26px 22px 27px;gap:0}
 .has-personal-crest .story-keepsake .eyebrow{max-width:250px;letter-spacing:.06em}
 .has-personal-crest .story-monogram.wedding-brand{width:min(100%,270px);height:auto;aspect-ratio:1;margin:13px 0 15px}
 .has-personal-crest .story-keepsake>p{font-size:1.3rem;line-height:1.5;max-width:250px}
 .has-personal-crest .keepsake-date{margin-top:10px}
 
 .has-personal-crest .studio-logo-preview{flex-direction:column;align-items:center;text-align:center}
 .has-personal-crest .studio-logo-preview img{width:175px;height:175px}
}
@media(max-width:360px){.has-personal-crest .story-keepsake{padding-left:18px;padding-right:18px}.has-personal-crest .story-monogram.wedding-brand{width:min(100%,250px)}}
@media(min-width:681px) and (max-width:980px){.has-personal-crest .story-book{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.has-personal-crest .story-spine{left:50%}}

/* Palace doors reveal the actual landing scene beneath them. Keep the 3D
   stage free of opacity/filter effects, which flatten perspective in WebKit. */
.invite-cover{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--wine);overflow:hidden;text-align:center;z-index:200;isolation:isolate;transition:none}
.invite-cover::backdrop{background:transparent}
/* One veil reveals the fully decoded closed-door composition as a single image.
   It is a sibling of the 3D stage, so it never flattens the solid door leaves. */
.door-arrival-veil{position:absolute;inset:0;z-index:40;background:#f3e4cd;opacity:0;pointer-events:none;transition:opacity .55s cubic-bezier(.4,0,.2,1)}
.invite-cover.cover-arriving .door-arrival-veil{opacity:1;transition:none}
@media(prefers-reduced-motion:reduce){.door-arrival-veil{transition:none}}

.invite-cover:before,.invite-cover:after{content:none}
.cover-open{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;padding:0;background:transparent;cursor:pointer;z-index:20}
.cover-open:disabled{pointer-events:none;cursor:default}
.cover-open:focus-visible{outline:none}
.cover-open:focus-visible~.door-greeting .door-welcome span{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9e784f80}
.cover-skip{position:absolute;right:20px;top:15px;min-height:44px;padding:8px 12px;font-size:.8125rem;color:var(--wine);z-index:30;opacity:0;pointer-events:none}
.cover-skip:focus-visible{opacity:1;pointer-events:auto;background:#fff8ed}
/* Each leaf is a rigid six-sided slab. Only its front clips the painting;
   clipping or fading the rotating wrapper would flatten its physical edges. */
.palace-door-scene{--door-depth:clamp(14px,1.8vw,28px);position:absolute;inset:0;perspective:1800px;perspective-origin:50% 50%;pointer-events:none;transform-style:preserve-3d}
.palace-door{position:absolute;top:0;bottom:0;width:50%;overflow:visible;background:transparent;transform-style:preserve-3d;backface-visibility:visible;-webkit-backface-visibility:visible;transform:rotateY(0);transition:transform 3.2s .12s cubic-bezier(.42,0,.3,1)}
.palace-door-left{left:0;transform-origin:0 50%}
.palace-door-right{right:0;transform-origin:100% 50%}
.door-front,.door-back,.door-edge,.door-cap{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:opacity .45s ease;opacity:1}
.door-front{inset:0;overflow:hidden;background:#ead8bb;transform:translateZ(.1px);box-shadow:inset 0 0 0 1px #a07b4c70,0 0 18px #38231024}
.palace-door img{position:absolute;top:0;width:200%;max-width:none;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.palace-door-left img{left:0}.palace-door-right img{right:0}
.door-front:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#28170926,#281709b3);opacity:var(--door-shade,0);pointer-events:none}
.palace-door-right .door-front:after{background:linear-gradient(270deg,#28170926,#281709b3)}
.door-back{inset:0;background:linear-gradient(90deg,#bda077,#e0c79d 12%,#d2b58b 50%,#e4cda6 88%,#ad875a);border:2px solid #a48053;box-shadow:inset 0 0 0 7px #e6cda1,inset 0 0 0 9px #9c7547,inset 0 0 35px #4e351f45;transform:translateZ(calc(-1 * var(--door-depth))) rotateY(180deg)}
.door-back:after{content:'';position:absolute;inset:7% 12%;border:2px solid #b18c5c;border-radius:32% 32% 0 0 / 18% 18% 0 0;box-shadow:inset 3px 2px 8px #6b4a2633,1px 1px 0 #f3e2bf}
.door-edge{top:0;bottom:0;width:var(--door-depth);background:linear-gradient(90deg,#eed5a3 0%,#b08a57 10%,#896039 23%,#b9915c 52%,#9b7447 78%,#d2b17e 94%,#f5dfb7 100%);box-shadow:inset 0 0 0 1px #7d592a5c}
.door-edge-right{left:100%;transform-origin:0 50%;transform:rotateY(90deg)}
.door-edge-left{right:100%;transform-origin:100% 50%;transform:rotateY(-90deg)}
.palace-door-left .door-edge-right:after,.palace-door-right .door-edge-left:after{content:'';position:absolute;top:49%;left:28%;width:44%;height:7%;border:1px solid #765526;border-radius:2px;background:linear-gradient(90deg,#8f652b,#d4b477 45%,#9d7134);box-shadow:0 1px 3px #45301460}
.door-cap{left:0;right:0;height:var(--door-depth);background:linear-gradient(#e6c894,#9a7045);box-shadow:inset 0 0 0 1px #b89a67}
.door-cap-top{bottom:100%;transform-origin:50% 100%;transform:rotateX(90deg)}
.door-cap-bottom{top:100%;transform-origin:50% 0;transform:rotateX(-90deg)}
/* The stationary jamb gives the hinge side a fixed architectural anchor. */
.door-jamb{position:absolute;top:0;bottom:0;width:clamp(5px,.6vw,9px);background:linear-gradient(90deg,#9a7544,#e9cfa2 45%,#b18c59 75%,#755231);transform:translateZ(.3px);box-shadow:0 0 14px #47321d45;transition:opacity .45s ease}
.door-jamb-left{left:0}.door-jamb-right{right:0;transform:translateZ(.3px) scaleX(-1)}
.invite-cover.opening .palace-door{will-change:transform}
.invite-cover.opening .palace-door-left{transform:rotateY(var(--door-open-angle,125deg))}
.invite-cover.opening .palace-door-right{transform:rotateY(calc(-1 * var(--door-open-angle,125deg)))}
/* Fade only the remaining edge surfaces once the fronts are offscreen. */
.invite-cover.doors-clear .door-front,.invite-cover.doors-clear .door-back,.invite-cover.doors-clear .door-edge,.invite-cover.doors-clear .door-cap,.invite-cover.doors-clear .door-jamb{opacity:0}
html[data-door-direction="outward"] .palace-door-scene{perspective:max(1800px,170vw)}
html[data-door-direction="outward"] .invite-cover.opening .palace-door-left{transform:rotateY(calc(-1 * var(--door-open-angle,95deg)))}
html[data-door-direction="outward"] .invite-cover.opening .palace-door-right{transform:rotateY(var(--door-open-angle,95deg))}
@media(max-width:680px){html[data-door-direction="outward"] .palace-door-scene{perspective:max(1100px,170vw)}}

/* Keep the blessing and welcome together, on a soft wash of the door's ivory. */
.door-greeting{position:absolute;bottom:clamp(30px,7.5dvh,82px);left:20px;right:20px;max-width:640px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:13px;pointer-events:none;isolation:isolate;transition:opacity .65s ease,transform 1s var(--ease-out)}
.door-greeting:before{content:'';position:absolute;inset:-34px -48px;background:radial-gradient(ellipse closest-side,#fff5e6fa 0%,#fff5e6ef 46%,#fff5e6b8 72%,#fff5e600 100%);z-index:-1;pointer-events:none}
.door-blessing{display:flex;flex-direction:column;align-items:center;gap:5px}
.door-blessing .cover-ganesh{display:block;width:clamp(68px,11dvh,104px);height:clamp(68px,11dvh,104px);object-fit:contain;filter:drop-shadow(0 2px 5px #82521e24)}
.cover-invocation{font:600 1.05rem/1.65 var(--devanagari);color:#733329;margin:0;text-shadow:0 1px 3px #fff8ec}
.door-welcome{color:#532b27;text-shadow:0 1px 3px #fff8ec}
.door-welcome p{font:italic 500 clamp(26px,2.65vw,38px)/1.3 var(--serif);margin:0 0 12px}
.door-welcome span{font:600 11.5px/1.8 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#583b25}
.door-welcome i{display:block;width:32px;height:1px;background:#9e784fa6;margin:13px auto 0}
.invite-cover.opening .door-greeting{opacity:0;transform:translateY(8px)}
.cover-active{overflow:hidden}
.has-personal-crest .site-header .monogram.wedding-brand{width:80px;height:76px}
.has-personal-crest .site-header .monogram.wedding-brand img{width:76px;height:76px}
@media(max-width:680px){
 .palace-door-scene{perspective:1100px}
 .door-greeting{left:22px;right:22px;gap:11px}.door-greeting:before{inset:-26px -30px}.door-welcome span{font-size:11px;letter-spacing:.12em}
 .has-personal-crest .site-header .monogram.wedding-brand{width:64px;height:64px}.has-personal-crest .site-header .monogram.wedding-brand img{width:64px;height:64px}
}
@media(max-height:450px){.door-greeting{bottom:22px;flex-direction:row;justify-content:center;gap:24px;max-width:570px}.door-greeting:before{inset:-20px -34px}.door-blessing .cover-ganesh{width:62px;height:62px}.cover-invocation{font-size:.85rem}.door-welcome p{font-size:27px;margin-bottom:7px}.door-welcome span{font-size:10px}.door-welcome i{display:none}}

/* The header grows with enlarged text; navigation follows its actual height. */
.site-header{height:auto;min-height:80px;padding-top:3px;padding-bottom:3px}
.mobile-nav{top:var(--scene-header-height,80px)}
html{scroll-padding-top:calc(var(--scene-header-height,80px) + 15px)}
.menu-button{flex-shrink:0}
@media(max-width:980px){.site-header{min-height:76px}}
@media(max-width:680px){.site-header{min-height:70px}}

/* Separate guest guidance from the couple’s confirmed outfits. */
.scene-couple-style{grid-column:1/-1;border-top:1px solid var(--scene-line);padding-top:16px}
.scene-couple-style dd{font-size:1.05rem;line-height:1.7}

/* A single painted garden: responsive art direction, rooted illustration, continuous ivory paper. */
.romantic-invitation main{background:var(--romance-paper)}
.hero{min-height:850px;padding:46px max(5%,calc((100vw - 1270px)/2)) 88px;column-gap:30px;background:var(--romance-paper);overflow:hidden}
.hero-garden{position:absolute;inset:0;z-index:0;pointer-events:none;display:block;mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 81%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 81%,transparent 100%)}
.hero-garden img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.hero-atmosphere{z-index:1}.hero-light{opacity:.28}.hero-light-rose{width:55%;height:60%;right:0;top:8%}.hero-light-gold{width:55%;height:65%;left:-22%;bottom:0}
.hero .ambient-glints>i{display:none}.floating-petals i{box-shadow:none}.floating-petals i:nth-child(n+5){display:none}
.hero-copy{padding:12px 22px;z-index:3;max-width:550px}.hero .eyebrow{font-size:.6875rem;letter-spacing:.2em;color:#846a4f}.hero h1{font-size:clamp(5.4rem,7.4vw,7.5rem);margin:19px 0 21px}.hero h1 .hero-person>small{font-size:.75rem;letter-spacing:.25em}.hero h1 em{font-size:.3em;margin:8px 0 11px}.hero-invitation{font-size:1.5rem;color:#6f5046}.hero-date{margin-top:25px}.hero-date .line{width:27px}.hero-place{font-size:.6875rem;letter-spacing:.12em;margin-bottom:25px}.hero .button{border-radius:30px;padding:14px 29px;box-shadow:0 8px 22px #641c3212}.hero-bottom{bottom:29px;color:#806b57}.hero-bottom>a{border-bottom:1px solid #b9955a40}
.couple-portrait{width:min(100%,520px);transform:none!important;z-index:2;margin:0;align-self:center;isolation:isolate}.couple-portrait:before{content:'';position:absolute;left:11%;bottom:6.5%;width:82%;height:4%;background:radial-gradient(ellipse,#70584630,transparent 68%);border-radius:50%;z-index:-1;pointer-events:none}.portrait-arrival{height:auto}.portrait-art,.invitation-ready .portrait-art{animation:none!important;transform:none!important}.portrait-art img{width:100%;height:auto;max-height:720px;object-fit:contain;filter:none}.couple-portrait figcaption{position:absolute;bottom:-9px;left:0;right:0;font-size:1.0625rem;color:#836b55}.invitation-ready .portrait-arrival{animation:portrait-arrive 1.35s .1s var(--ease-out) both}
.our-story{padding-top:67px;padding-bottom:85px;isolation:isolate}.story-heading h2{font-size:3.7rem}.story-book{border-color:#b9955a35;border-radius:7px;background:#fffaf3;box-shadow:0 14px 40px #765d4908}.story-keepsake{background:linear-gradient(130deg,#f3e4d778,#fff4e566);border-color:#b9955a20}.story-keepsake:before,.story-keepsake:after{display:none!important}.story-spine{width:9px;opacity:.7}.story-pages{background:linear-gradient(110deg,#fffaf300,#fffaf399)}
.garden-sprig{position:absolute;width:165px;height:275px;pointer-events:none;z-index:-1;opacity:.45;overflow:visible}.garden-sprig-story{left:-62px;bottom:26px}.garden-sprig-family{right:-40px;bottom:90px;transform:scaleX(-1);opacity:.32}
.welcome{isolation:isolate;padding-top:54px;padding-bottom:86px}.welcome:before{display:none!important}.family-card{background:radial-gradient(ellipse at 50% 0%,#f8ebd780,transparent 65%),#fffaf3;border-color:#b9955a55;box-shadow:0 13px 40px #765d4906}.family-card:before{border-color:#b9955a24}.family-card:after{display:none!important}.family-invocation{color:#926830}.family-card-date{border-color:#b9955a24}.countdown div{background:#fffaf370;border-color:#b9955a2e}.countdown-heading{margin-top:37px}.celebrations-intro{background:linear-gradient(to bottom,var(--romance-paper),#faf3e8)}
@media(min-width:1500px){.hero-garden img{object-position:center 64%}.hero{min-height:900px}.couple-portrait{width:560px}.portrait-art img{max-height:775px}}
@media(min-width:681px) and (max-width:1100px){.hero{min-height:785px;column-gap:9px;padding:42px 4% 85px}.hero-copy{padding:16px 5px}.hero h1{font-size:5.8rem}.hero-invitation{font-size:1.4rem}.couple-portrait{width:min(100%,450px)}.portrait-art img{max-height:640px}.hero-date{font-size:.8125rem;gap:9px}.hero-date .line{width:16px}.hero-place{letter-spacing:.04em}.hero-garden{opacity:.85}.garden-sprig{width:130px;height:217px}.garden-sprig-story{left:-30px}.garden-sprig-family{right:-18px}}
@media(max-width:680px){.hero{min-height:0;padding:35px 24px 33px;column-gap:0;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(8,auto);row-gap:0}.hero-garden{top:142px;bottom:auto;height:470px;left:0;right:0;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 83%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 83%,transparent)}.hero-garden img{object-position:center bottom}.hero-copy{display:contents}.hero .eyebrow{font-size:.625rem;letter-spacing:.14em;grid-row:1}.hero h1{grid-row:2;flex-direction:row;font-size:clamp(3.3rem,13vw,4.5rem);margin:14px 0 0;gap:4px}.hero h1 .hero-person{padding:0;line-height:1.24}.hero h1 .hero-person>small{font-size:.625rem;letter-spacing:.18em}.hero h1 em{font-size:.34em;margin:0 1px}.couple-portrait{grid-row:3;width:100%;height:428px;margin:0 auto 9px;max-width:345px}.portrait-arrival,.portrait-art{height:100%;width:100%}.portrait-art img{height:100%;width:auto;max-width:100%;max-height:none;margin:auto}.couple-portrait:before{bottom:6.8%;left:10%;width:82%;height:4%}.hero-invitation{grid-row:4;font-size:1.3rem;margin-top:4px}.hero-date{grid-row:5;margin-top:20px;font-size:.875rem;gap:12px}.hero-date .line{width:21px}.hero-place{grid-row:6;font-size:.6875rem;letter-spacing:.065em;margin:8px 0 20px}.hero-copy>.button{grid-row:7;font-size:.8125rem;min-height:47px;padding:13px 27px;margin:0}.hero-bottom{grid-row:8;margin-top:18px}.hero-bottom>a{font-size:.6875rem;padding:0 0 4px}.hero-light-rose{right:-25%;width:105%;height:55%}.hero-light-gold{left:-35%;width:100%;height:50%}.floating-petals i:nth-child(n+4){display:none}.our-story{padding:48px 24px 59px}.story-heading h2{font-size:2.85rem;line-height:1.13}.story-heading{margin-bottom:32px}.garden-sprig{width:100px;height:167px;opacity:.22}.garden-sprig-story{left:-32px;bottom:10px}.garden-sprig-family{right:-24px;bottom:59px;opacity:.2}.story-book{border-radius:5px}.story-keepsake{border-bottom-color:#b9955a25}.welcome{padding:44px 24px 70px}.welcome h2{font-size:2.75rem}.family-card{background:radial-gradient(ellipse at 50% 0%,#f8ebd7a0,transparent 44%),#fffaf3}.celebrations-intro{padding-top:61px}}
@media(max-width:360px){.hero{padding:31px 18px 30px}.hero h1{font-size:3.05rem;gap:2px}.hero h1.long-names{font-size:2.85rem}.hero-garden{top:139px;height:410px}.couple-portrait{height:371px}.hero-invitation{font-size:1.2rem}.hero-date{font-size:.8125rem;gap:8px}.hero-date .line{width:15px}.our-story{padding:43px 20px 55px}.story-heading h2{font-size:2.55rem}.welcome{padding-left:20px;padding-right:20px}.welcome h2{font-size:2.45rem}}

/* Clip decorative page-edge stems while retaining the content's natural width. */
.romantic-invitation main{overflow-x:clip}
@media(min-width:681px) and (max-width:1100px){.couple-portrait{align-self:end;margin-bottom:12px}.couple-portrait figcaption{display:none}}

@media(min-width:1500px){.couple-portrait{top:45px}}

/* The family's opening rites and maternal-family gathering, before the existing celebrations. */
.scene-muhurat{--scene-bg:#fbf1dc;--scene-ink:#754422;--scene-text:#74563c;--scene-accent:#a27739;--scene-line:#a2773940}
.scene-mayara{--scene-bg:#f8ebe5;--scene-ink:#7a3a43;--scene-text:#74554f;--scene-accent:#ac7962;--scene-line:#ac796238}
.scene-muhurat .scene-window{background:radial-gradient(ellipse at 50% 43%,#fff8e8 10%,#f1d7a847 63%,#f8eacb 100%)}
.scene-muhurat .scene-camera{inset:54px 35px;animation:none}
.scene-muhurat .scene-camera img{object-fit:contain;filter:drop-shadow(0 13px 19px #ad82552b)}
.scene-muhurat .scene-botanical,.scene-mayara .scene-beam{display:none}
.scene-muhurat .scene-light-one{background:radial-gradient(ellipse,#ffe6a45c,transparent 65%)}
.scene-muhurat .scene-particles i{border-radius:50%;width:4px;height:4px}
.scene-mayara .scene-light-one{background:radial-gradient(ellipse,#f2c3ba44,transparent 67%)}
@media(max-width:680px){.scene-muhurat .scene-camera{inset:25px 25px}.scene-muhurat .scene-visual{min-height:440px}}

@keyframes scene-varmala-glow{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.6;transform:scale(1.04)}}

.scene-mayara .scene-camera img{object-position:50% 15%}


/* Complete painted chapters with a soft ivory reading field.
   This layer leaves the stationery opening and its timing unchanged. */
.romantic-invitation{--reading-wash:radial-gradient(ellipse at 50% 48%,#fff5e5fa 0%,#fff5e5ef 43%,#fff5e5c7 68%,#fff5e56b 90%,#fff5e500 100%)}
.romantic-invitation .painted-reading{position:relative;isolation:isolate;z-index:2;background:none;border:0;box-shadow:none;overflow:visible}
.romantic-invitation .painted-reading:before,.romantic-invitation .scene-copy:before{content:'';display:block;position:absolute;inset:-24px -22px -20px;z-index:-1;pointer-events:none;border:0;border-radius:34% 34% 8% 8% / 12% 12% 3% 3%;background:var(--reading-wash);filter:blur(11px);opacity:1}
.romantic-invitation .painted-section{position:relative;isolation:isolate;max-width:none;margin:0;overflow:hidden;background:#eee0c9}
.romantic-invitation .painted-section-art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}
.romantic-invitation .painted-section-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.romantic-invitation .painted-section-art.reveal{opacity:1!important;transform:none!important;transition:none}
.romantic-invitation .garden-sprig{display:none}

/* The couple belongs to the hero painting, rather than a separate floating cutout. */
.romantic-invitation .painted-hero{display:block;position:relative;aspect-ratio:8/5;width:100%;min-height:0;padding:0;background:#edd9bd;container-type:inline-size}
.romantic-invitation .painted-hero .hero-garden{inset:0;height:100%;width:100%;opacity:1;mask-image:none;-webkit-mask-image:none;z-index:0}
.romantic-invitation .painted-hero .hero-garden img{object-fit:cover;object-position:center}
.romantic-invitation .painted-hero .hero-copy{display:block;position:absolute;left:59.5%;top:10.5%;width:32%;max-width:none;padding:0;color:#5a2535;text-align:center}
.romantic-invitation .painted-hero .eyebrow{font-size:clamp(10px,.82cqw,13px);line-height:1.65;letter-spacing:.12em;color:#805c35;padding:0}
.romantic-invitation .painted-hero h1{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:0;font:clamp(55px,7.25cqw,108px)/1.04 var(--calligraphy);margin:16px 0 18px;color:#602638}
.romantic-invitation .painted-hero h1 .hero-person{line-height:1.13;padding:0 8px;gap:0}
.romantic-invitation .painted-hero h1 .hero-person>span{padding:0 8px}
.romantic-invitation .painted-hero h1 .hero-person>small{font:600 clamp(9px,.78cqw,12px)/1.5 var(--sans);color:#765536;letter-spacing:.2em;padding:0;margin-top:1px}
.romantic-invitation .painted-hero h1 em{font:italic .27em/1 var(--serif);margin:8px 0;color:#967036}
.romantic-invitation .painted-hero h1.long-names{font-size:clamp(42px,5.8cqw,85px)}
.romantic-invitation .painted-hero .hero-invitation{font:500 clamp(18px,1.75cqw,27px)/1.3 var(--serif);color:#654638}
.romantic-invitation .painted-hero .hero-date{font:600 clamp(11px,.99cqw,15px)/1.5 var(--sans);gap:10px;margin-top:18px;color:#583b30}
.romantic-invitation .painted-hero .hero-date .line{width:22px;background:#9c783765}
.romantic-invitation .painted-hero .hero-place{font-size:clamp(9px,.76cqw,12px);letter-spacing:.08em;line-height:1.6;margin:6px 0 18px;color:#6c4c3e}
.romantic-invitation .painted-hero .hero-copy>.button{font-size:clamp(11px,.86cqw,14px);padding:12px 24px;min-height:44px;box-shadow:none;border-radius:26px}
.romantic-invitation .painted-hero .hero-bottom{position:absolute;display:flex;left:6%;right:6%;bottom:2.5%;margin:0;gap:12px;align-items:center;justify-content:space-between;z-index:3;color:#5e4638}
.romantic-invitation .painted-hero .hero-bottom>span,.romantic-invitation .painted-hero .hero-bottom>a{padding:5px 12px;font-size:clamp(10px,.76cqw,13px);background:#fff4d9d9;border:0;border-radius:20px;backdrop-filter:blur(4px)}
.romantic-invitation .painted-hero .hero-atmosphere{z-index:1}
.romantic-invitation .painted-hero .hero-light{opacity:.15}

/* Personal objects and palace decoration continue behind the live storybook. */
.romantic-invitation .our-story{padding:90px max(10%,calc((100vw - 1180px)/2)) 100px}
.romantic-invitation .story-heading{max-width:680px;margin:0 auto 48px;text-align:center}
.romantic-invitation .story-heading h2{font-size:clamp(38px,4.3vw,62px);line-height:1.12;color:#4a3730}
.romantic-invitation .story-heading h2 em{color:#602638}
.romantic-invitation .story-book{display:grid;grid-template-columns:.9fr 1.1fr;max-width:1060px;margin:auto;min-height:450px;border-radius:0;overflow:visible}
.romantic-invitation .story-book:before{inset:-35px -35px -25px;filter:blur(18px)}
.romantic-invitation .story-spine{display:none}
.romantic-invitation .story-keepsake{background:none;border:0;padding:36px 25px}
.romantic-invitation .story-pages{background:none;padding:42px 40px 25px}
.romantic-invitation .story-page h3{font-size:clamp(30px,2.9vw,42px);color:#602638;line-height:1.16}
.romantic-invitation .story-body{color:#544237;font-size:15px;line-height:1.9}
.romantic-invitation .story-keepsake>p{color:#694737}
.romantic-invitation .story-keepsake .eyebrow,.romantic-invitation .story-folio{color:#805b31}
.romantic-invitation .story-monogram.wedding-brand{background:none;border:0;box-shadow:none;width:min(100%,245px);height:auto;aspect-ratio:1;margin:14px 0}
.romantic-invitation .story-monogram.wedding-brand img{width:100%;height:100%;object-fit:contain}
.romantic-invitation .story-pagination{border-color:#986e3d55}

/* The full family wording determines the reading area's height. */
.romantic-invitation .welcome{padding:90px max(11%,calc((100vw - 1130px)/2)) 90px;text-align:center}
/* Centre the painted arch (desktop) and hanging floral ornament (mobile),
   rather than the bitmap edges. A small width reserve prevents exposed edges. */
.romantic-invitation .welcome>.painted-section-art{container-type:size}
.romantic-invitation .welcome>.painted-section-art img{position:absolute;left:50%;top:50%;width:max(104%,159.88cqh);height:auto;max-width:none;translate:-48.2% -50%;transform-origin:48.2% 50%}
@media(max-width:820px){
 .romantic-invitation .welcome>.painted-section-art img{width:max(107%,44.98cqh);translate:-47% -50%;transform-origin:47% 50%}
}
.romantic-invitation .family-heading{max-width:840px;margin:0 auto 42px}
.romantic-invitation .family-heading h2{font-size:clamp(36px,4.1vw,59px);line-height:1.14;color:#4d3830;margin:14px 0 0}
.romantic-invitation .family-heading h2 em{color:#602638;font-size:1.1em}
.romantic-invitation .family-card{max-width:1000px;margin:auto;padding:40px 36px;border-radius:0;background:none;min-height:0}
.romantic-invitation .family-card:before{inset:-22px -25px;filter:blur(18px);border-radius:25% 25% 7% 7%}
.romantic-invitation .family-card:after{display:none}
.romantic-invitation .family-hosts{font-size:26px;color:#602638}
.romantic-invitation .family-invitation{font-size:14px;color:#594537;line-height:1.85}
.romantic-invitation .family-person h3{font-size:clamp(48px,4.5vw,68px);line-height:1.25;color:#602638;margin-bottom:14px}
.romantic-invitation .family-couple{gap:24px;margin:30px 0}
.romantic-invitation .family-parents{font-size:22px;color:#49362d;line-height:1.45}
.romantic-invitation .family-relation{color:#785430;font-size:11px;letter-spacing:.04em}
.romantic-invitation .family-grandparents{color:#594537;font-size:13px;line-height:1.85}
.romantic-invitation .family-card-date{border-color:#946b3d45;margin:0 auto 20px}
.romantic-invitation .family-card-date p:first-child{color:#602638}
.romantic-invitation .family-card-date p:last-child{color:#654733}
.romantic-invitation .family-closing{color:#654535}
.romantic-invitation .family-regards{color:#785430}
.romantic-invitation .family-countdown{width:min(100%,580px);margin:50px auto 0;padding:15px 20px 22px}
.romantic-invitation .family-countdown .ornament{margin:0 auto 15px}
.romantic-invitation .family-countdown .countdown-heading{margin-top:0;margin-bottom:14px}
.romantic-invitation .family-countdown .countdown div{border:0;background:none;padding:12px 6px;box-shadow:none;min-width:65px}
.romantic-invitation .family-countdown .countdown strong{font-size:48px;color:#602638}
.romantic-invitation .family-countdown .countdown span{color:#664c36}
.romantic-invitation .family-countdown .small-copy{color:#664c36;margin-top:8px}

/* Each ceremony is a distinct edge-to-edge painting, with details below it. */
.romantic-invitation .celebrations{background:#efe0c9}
.romantic-invitation .celebrations-intro{position:relative;max-width:none;padding:76px 13% 65px;background:linear-gradient(#fff5e5b8,#fff5e5e0),url('../assets/scene-family-wide.webp') center/cover;color:#51382f}
.romantic-invitation .celebrations-intro h2{font-size:clamp(38px,4.5vw,65px);color:#51382f;margin:14px 0 18px}
.romantic-invitation .celebrations-intro h2 em{color:#602638}
.romantic-invitation .celebrations-intro>p:last-child{color:#654638;font-size:15px;line-height:1.8}
.romantic-invitation .event-day-heading,.romantic-invitation #day-2 .event-day-heading{background:linear-gradient(#fff5e5e8,#fff5e5ca),url('../assets/scene-family-wide.webp') center 54%/cover;padding:35px 24px 31px;color:#67482f}
.romantic-invitation .event-day-heading h3,.romantic-invitation #day-2 .event-day-heading h3{color:#602638;font-size:clamp(27px,2.7vw,40px)}
.romantic-invitation .scene-full-art{width:100%;border:0;box-shadow:none;--scene-ink:#234c3d;--scene-text:#3c503e;--scene-accent:#75602d;--scene-line:#81714045}
.romantic-invitation .scene-muhurat{--scene-ink:#754422;--scene-text:#60482f;--scene-accent:#94702f}
.romantic-invitation .scene-mayara{--scene-ink:#7a3a43;--scene-text:#614238;--scene-accent:#956440}
.romantic-invitation .scene-haldi{--scene-ink:#734716;--scene-text:#63462e;--scene-accent:#976321}
.romantic-invitation .scene-sangeet{--scene-ink:#552c50;--scene-text:#57403f;--scene-accent:#81602f;--scene-line:#8d703b55}
.romantic-invitation .scene-baraat{--scene-ink:#813931;--scene-text:#62452f;--scene-accent:#92512f}
.romantic-invitation .scene-varmala{--scene-ink:#6b2035;--scene-text:#624335;--scene-accent:#92703b}
.romantic-invitation .scene-dinner{--scene-ink:#21484a;--scene-text:#3d4d42;--scene-accent:#806332;--scene-line:#85704450}
.romantic-invitation .scene-full-art:before,.romantic-invitation .scene-inner:after,.romantic-invitation .scene-window:after,.romantic-invitation .scene-visual:after{display:none}
.romantic-invitation .scene-inner{display:block;position:relative;max-width:none;width:100%;margin:0;aspect-ratio:8/5;min-height:0;height:auto;container-type:inline-size;overflow:hidden;isolation:isolate}
.romantic-invitation .scene-visual,.romantic-invitation .event-scene:nth-child(even) .scene-visual{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;min-height:0;margin:0;order:0;align-self:auto;background:none;border:0;box-shadow:none}
.romantic-invitation .scene-window{inset:0;background:none}
.romantic-invitation .scene-camera{inset:0;animation:none;transform:none!important}
.romantic-invitation .scene-camera picture{display:block;width:100%;height:100%}
.romantic-invitation .scene-camera img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.romantic-invitation .scene-artwork-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:0;left:0;right:auto;bottom:auto}
.romantic-invitation .scene-copy{position:absolute;top:12.5%;left:59.5%;width:32%;padding:0;align-self:auto;order:0;overflow:visible;text-align:center;z-index:3;color:var(--scene-ink)}
.romantic-invitation .scene-copy:before{inset:-21px -18px -16px}
.romantic-invitation .scene-chapter{display:flex;justify-content:center;align-items:center;gap:14px;border:0;padding:0;margin:0 0 14px;color:var(--scene-accent)}
.romantic-invitation .scene-chapter>span:first-child{font:600 clamp(9px,.78cqw,12px)/1.5 var(--sans);letter-spacing:.07em}
.romantic-invitation .scene-chapter>span:last-child{font:500 clamp(14px,1.45cqw,21px)/1.5 var(--devanagari)}
.romantic-invitation .scene-title{font:400 clamp(51px,6.55cqw,98px)/1.15 var(--calligraphy);color:var(--scene-ink);padding:0 5px;margin:0;overflow-wrap:normal}
.romantic-invitation .scene-event-name{font:500 clamp(18px,1.8cqw,29px)/1.2 var(--serif);font-style:italic;letter-spacing:0;text-transform:none;color:var(--scene-ink);margin:2px 0 0}
.romantic-invitation .scene-short{font:500 italic clamp(16px,1.45cqw,23px)/1.35 var(--serif);color:var(--scene-text);max-width:none;margin:18px 0 0}
.romantic-invitation .scene-when{border:0;padding:0;margin:20px 0 0}
.romantic-invitation .scene-when>p{font:600 clamp(11px,.98cqw,15px)/1.5 var(--sans);letter-spacing:.01em;color:var(--scene-text);margin:0 0 3px}
.romantic-invitation .scene-when>strong{font:600 clamp(23px,2.35cqw,36px)/1.2 var(--serif);color:var(--scene-ink)}
.romantic-invitation .scene-when>strong span{font:500 .42em/1.5 var(--sans);letter-spacing:.05em;color:var(--scene-text);margin-left:4px;vertical-align:middle}
.romantic-invitation .scene-venue{font:600 clamp(19px,1.95cqw,30px)/1.25 var(--serif);margin-top:17px;color:var(--scene-ink)}
.romantic-invitation .scene-venue>span{display:block;font:600 clamp(9px,.76cqw,12px)/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--scene-text);margin-top:4px}
.romantic-invitation .scene-attire{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:18px 0 0;color:var(--scene-ink)}
.romantic-invitation .scene-attire-label{font:500 clamp(9px,.72cqw,11px)/1.3 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--scene-accent)}
.romantic-invitation .scene-attire strong{font:600 clamp(11px,.88cqw,14px)/1.4 var(--sans);display:block;padding:6px 13px;background:#fff4dfe8;border:1px solid var(--scene-line);border-radius:24px;color:var(--scene-ink)}
.romantic-invitation .scene-actions{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:18px 24px 22px;min-height:82px;background:linear-gradient(135deg,#fff5e5,var(--scene-bg));border-top:1px solid #9b774530}
.romantic-invitation .scene-actions button{font:600 12px/1.4 var(--sans);position:static;transform:none;max-width:none;width:auto;min-height:44px;color:var(--scene-ink);padding:10px 18px;border-radius:25px;border:1px solid var(--scene-line);background:#fff8ecbb;box-shadow:none;gap:8px;display:inline-flex;align-items:center;justify-content:center}
.romantic-invitation .scene-actions .scene-calendar{background:var(--scene-ink);border-color:var(--scene-ink);color:#fff8ec}
.romantic-invitation .scene-actions button:hover{background:#f3e3c9;color:var(--scene-ink)}
.romantic-invitation .scene-actions .scene-calendar:hover{background:var(--scene-text);color:#fff8ec}
.romantic-invitation .scene-actions button:focus-visible{outline:2px solid var(--scene-ink);outline-offset:4px}
.romantic-invitation .scene-light{opacity:.15}
.romantic-invitation .scene-beam{opacity:.25}
.romantic-invitation .scene-particles i{width:4px;height:7px}
.romantic-invitation .scene-particles i:nth-child(n+6){display:none}
.romantic-invitation .celebrations .schedule-footer{max-width:none;padding:28px 8%;margin:0;background:linear-gradient(#fff5e5e8,#fff5e5c4),url('../assets/scene-family-wide.webp') center 65%/cover;color:#694936}

/* Travel and practical information sit in painted settings too. */
.romantic-invitation .journey{display:block;padding:100px 9%;min-height:850px;color:#583f31}
.romantic-invitation .journey-picture{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;border-radius:0;margin:0;transform:none;z-index:0;overflow:hidden}
.romantic-invitation .journey-picture img{object-fit:cover;object-position:center}
.romantic-invitation .journey-picture:after{background:linear-gradient(90deg,transparent,#fff5e547);inset:0}
.romantic-invitation .journey-picture .picture-caption{bottom:7%;left:7%;right:auto;width:32%;padding:18px 16px;background:#fff5e5de;backdrop-filter:blur(4px);border-radius:50% 50% 10% 10%}
.romantic-invitation .journey-picture .picture-caption .eyebrow{color:#805b31}
.romantic-invitation .journey-picture .picture-caption>p{color:#602638;font-size:30px}
.romantic-invitation .journey-copy{width:43%;margin-left:auto;padding:22px 10px}
.romantic-invitation .journey-copy:before{inset:-30px -30px;filter:blur(20px)}
.romantic-invitation .journey-copy h2{font-size:clamp(34px,3.7vw,55px);color:#4e382f;line-height:1.12}
.romantic-invitation .journey-copy h2 em{color:#602638;font-size:1.04em}
.romantic-invitation .journey-intro,.romantic-invitation .venue-box>p:not(.eyebrow),.romantic-invitation .travel-notes p{color:#594638}
.romantic-invitation .journey-intro{font-size:14px;line-height:1.8}
.romantic-invitation .venue-box{border-color:#926e3a50}
.romantic-invitation .venue-box h3{font-size:26px;color:#602638}
.romantic-invitation .travel-notes{gap:22px}
.romantic-invitation .details{display:block;max-width:none;border:0;padding:90px 10% 100px}
.romantic-invitation .details-reading{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:1100px;margin:0 auto;padding:30px 25px}
.romantic-invitation .details-reading:before{inset:-35px;filter:blur(20px)}
.romantic-invitation .details-heading h2{color:#4e382f;font-size:clamp(34px,3.5vw,50px);line-height:1.13}
.romantic-invitation .details-heading h2 em{color:#602638}
.romantic-invitation .details-heading>p:last-child,.romantic-invitation .faq-list details p{color:#594638}
.romantic-invitation .faq-list summary{color:#543b30;font-weight:600}
.romantic-invitation .faq-list details{border-color:#936d3e50}
.romantic-invitation .rsvp-section{padding:80px 14%;background:#edddc7;color:#54392e}
.romantic-invitation .rsvp-inner{max-width:850px;margin:auto;border-radius:0;padding:35px 25px 30px;border:0}
.romantic-invitation .rsvp-inner:before{inset:-30px;filter:blur(18px)}
.romantic-invitation .rsvp-inner:after{display:none}
.romantic-invitation .rsvp-section .eyebrow{color:#805b31}
.romantic-invitation .rsvp-section h2{font-size:clamp(42px,4.6vw,66px);color:#50372e;line-height:1.14}
.romantic-invitation .rsvp-section h2 em{color:#602638}
.romantic-invitation .rsvp-section h2+p,.romantic-invitation .rsvp-deadline{color:#654633}
.romantic-invitation .rsvp-signature{color:#602638;font:48px/1.3 var(--calligraphy)}
.romantic-invitation .rsvp-location{color:#785630;letter-spacing:.08em}
.romantic-invitation .rsvp-section .button-gold{background:#602638;border-color:#602638;color:#fff5e5;border-radius:26px}
.romantic-invitation .rsvp-rule{background:#9e773e65}
.romantic-invitation .footer{background:#f7eddc}

@media(min-width:821px) and (max-width:1100px){
 .romantic-invitation .painted-hero .hero-copy{top:9.5%;width:33%;left:59%}
 .romantic-invitation .painted-hero h1{font-size:clamp(55px,7.1cqw,79px);margin:12px 0 13px}
 .romantic-invitation .painted-hero .hero-invitation{font-size:19px}
 .romantic-invitation .painted-hero .hero-date{margin-top:12px;font-size:11px;gap:7px}
 .romantic-invitation .painted-hero .hero-date .line{width:13px}
 .romantic-invitation .painted-hero .hero-place{margin-bottom:12px;font-size:9px}
 .romantic-invitation .painted-hero .hero-copy>.button{padding:10px 18px;font-size:11px}
 .romantic-invitation .story-book{grid-template-columns:.85fr 1.15fr}
 .romantic-invitation .story-pages{padding:32px 28px 25px}
 .romantic-invitation .journey{padding:80px 8%}
 .romantic-invitation .journey-copy{width:48%}
 .romantic-invitation .details-reading{gap:35px}
}
/* Event-only breakpoints keep tablet paintings compact without changing the hero. */
@media(min-width:720px) and (max-width:1100px){
 .romantic-invitation .scene-copy{top:11.5%}
 .romantic-invitation .scene-chapter{gap:8px;margin-bottom:10px}
 .romantic-invitation .scene-short{margin-top:12px}
 .romantic-invitation .scene-when{margin-top:14px}
 .romantic-invitation .scene-venue{margin-top:13px}
 .romantic-invitation .scene-attire{margin-top:13px}
}
@media(max-width:719px){
 /* Keep the artwork at its natural portrait scale. The text sets the height;
    each protected subject anchor removes only surplus space above the people. */
 .romantic-invitation .scene-inner{--portrait-start:.51;aspect-ratio:auto;min-height:0;display:block;padding-top:clamp(24px,7cqw,42px);padding-bottom:calc(222.22cqw * (1 - var(--portrait-start)) + 24px)}
 .romantic-invitation .scene-mehendi .scene-inner{--portrait-start:.47}
 .romantic-invitation .scene-mayara .scene-inner{--portrait-start:.49}
 .romantic-invitation .scene-sangeet .scene-inner{--portrait-start:.55}
 .romantic-invitation .scene-haldi .scene-inner{--portrait-start:.48}
 .romantic-invitation .scene-baraat .scene-inner{--portrait-start:.49}
 .romantic-invitation .scene-varmala .scene-inner{--portrait-start:.53}
 .romantic-invitation .scene-dinner .scene-inner{--portrait-start:.60}
 .romantic-invitation .scene-camera img{position:absolute;bottom:0;left:0;width:100%;height:222.22cqw;object-fit:cover;object-position:center bottom;transform-origin:50% 100%}
 .romantic-invitation .scene-visual,.romantic-invitation .event-scene:nth-child(even) .scene-visual{min-height:0;aspect-ratio:auto;position:absolute;inset:0;height:100%;width:100%}
 .romantic-invitation .scene-copy{position:relative;left:auto;top:auto;width:68%;margin-inline:auto;padding:0;text-align:center;overflow:visible}
 .romantic-invitation .scene-copy:before{inset:-13px -10px -10px;filter:blur(8px)}
 .romantic-invitation .scene-chapter{display:flex;justify-content:center;align-items:center;gap:7px;margin:0 0 10px;border:0;padding:0}
 .romantic-invitation .scene-chapter>span:first-child{font-size:clamp(9px,2.45cqw,13px);line-height:1.45;letter-spacing:.035em}
 .romantic-invitation .scene-chapter>span:last-child{font-size:clamp(14px,3.8cqw,21px);line-height:1.45}
 .romantic-invitation .scene-title{font-size:clamp(45px,14.3cqw,85px);line-height:1.13;padding:0 3px;margin:0}
 .romantic-invitation .scene-event-name{font-size:clamp(19px,5.2cqw,30px);line-height:1.2;font-style:italic;margin-top:2px;letter-spacing:0}
 .romantic-invitation .scene-short{display:none}
 .romantic-invitation .scene-when{margin:16px 0 0;padding:0;border:0}
 .romantic-invitation .scene-when>p{font-size:clamp(11px,2.95cqw,15px);line-height:1.5;letter-spacing:0;margin-bottom:3px}
 .romantic-invitation .scene-when>strong{font-size:clamp(25px,6.8cqw,38px);line-height:1.18}
 .romantic-invitation .scene-venue{font-size:clamp(20px,5.2cqw,29px);line-height:1.2;margin-top:12px}
 .romantic-invitation .scene-venue>span{font-size:clamp(9px,2.45cqw,13px);letter-spacing:.07em;margin-top:4px;line-height:1.5}
 .romantic-invitation .scene-attire{gap:4px;margin-top:13px;max-width:100%}
 .romantic-invitation .scene-attire-label{font-size:clamp(9px,2.4cqw,12px);line-height:1.3;letter-spacing:.06em}
 .romantic-invitation .scene-attire strong{font-size:clamp(11px,2.95cqw,15px);line-height:1.35;padding:5px 11px;max-width:100%}
 .romantic-invitation .scene-actions{gap:6px 10px;min-height:0;padding:12px 18px 14px}
 .romantic-invitation .scene-actions button{font-size:11px;padding:10px 14px;min-height:44px}
 .romantic-invitation .scene-actions .scene-flourish{background:none;border:0;padding:7px 15px;font-size:11px}
 .romantic-invitation .scene-particles i:nth-child(n+4){display:none}
}
@media(max-width:820px){
 .romantic-invitation .painted-reading:before{inset:-15px -12px -13px;filter:blur(8px)}
 .romantic-invitation .painted-hero{aspect-ratio:9/20;min-height:0;padding:0;display:block}
 .romantic-invitation .painted-hero .hero-copy{display:block;position:absolute;top:8.8%;left:13%;width:74%;max-width:none;padding:0}
 .romantic-invitation .painted-hero .hero-garden{inset:0;width:100%;height:100%;mask-image:none;-webkit-mask-image:none}
 .romantic-invitation .painted-hero .eyebrow{font-size:clamp(9px,2.4cqw,12px);letter-spacing:.09em;line-height:1.5;max-width:none}
 .romantic-invitation .painted-hero h1{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:7px;font-size:clamp(38px,11.3cqw,70px);margin:12px 0 13px;line-height:1.18}
 .romantic-invitation .painted-hero h1 .hero-person{line-height:1.17;padding:0;flex:0 1 auto}
 .romantic-invitation .painted-hero h1 .hero-person>span{padding:0 2px}
 .romantic-invitation .painted-hero h1 .hero-person>small{font-size:clamp(9px,2.5cqw,13px);line-height:1.4;letter-spacing:.12em;padding:0;margin-top:3px}
 .romantic-invitation .painted-hero h1 em{font-size:.42em;line-height:1.1;margin:0 0 11px}
 .romantic-invitation .painted-hero h1.long-names{font-size:clamp(30px,8.5cqw,50px)}
 .romantic-invitation .painted-hero .hero-invitation{font-size:clamp(18px,4.6cqw,28px);line-height:1.28;padding:0;margin:0}
 .romantic-invitation .painted-hero .hero-date{font-size:clamp(11px,2.95cqw,16px);gap:8px;margin-top:12px;line-height:1.5}
 .romantic-invitation .painted-hero .hero-date .line{width:18px}
 .romantic-invitation .painted-hero .hero-place{font-size:clamp(9px,2.45cqw,13px);letter-spacing:.025em;margin:4px 0 12px;line-height:1.5}
 .romantic-invitation .painted-hero .hero-copy>.button{font-size:clamp(11px,2.9cqw,14px);min-height:44px;padding:10px 21px;max-width:100%;margin:0}
 .romantic-invitation .painted-hero .hero-bottom{position:absolute;left:12%;right:12%;bottom:2.5%;margin:0;display:flex;justify-content:center;padding:0}
 .romantic-invitation .painted-hero .hero-bottom>span{display:none}
 .romantic-invitation .painted-hero .hero-bottom>a{font-size:11px;min-height:38px;display:inline-flex;align-items:center;padding:5px 15px;border:0}
 .romantic-invitation .our-story{padding:70px 10% 80px}
 .romantic-invitation .story-heading{margin-bottom:34px}
 .romantic-invitation .story-heading h2{font-size:clamp(33px,7.5vw,48px);margin-top:13px;line-height:1.12}
 .romantic-invitation .story-book{grid-template-columns:1fr;min-height:0;max-width:550px;gap:0}
 .romantic-invitation .story-book:before{inset:-25px -15px}
 .romantic-invitation .story-keepsake{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 15px 25px;gap:0;border:0}
 .romantic-invitation .story-keepsake .eyebrow{font-size:10px;letter-spacing:.07em;max-width:300px;text-align:center}
 .romantic-invitation .story-monogram.wedding-brand{width:min(100%,210px);height:auto;margin:10px 0 8px}
 .romantic-invitation .story-keepsake>p{font-size:22px;line-height:1.3;max-width:300px;text-align:center}
 .romantic-invitation .story-keepsake>p br{display:none}
 .romantic-invitation .story-keepsake>p em{font-size:1.3em;line-height:1.35}
 .romantic-invitation .keepsake-date{font-size:11px;margin-top:9px}
 .romantic-invitation .story-pages{padding:25px 18px 24px}
 .romantic-invitation .story-page h3{font-size:clamp(31px,7.1vw,42px);line-height:1.15;margin-bottom:18px}
 .romantic-invitation .story-body{font-size:14px;line-height:1.85}
 .romantic-invitation .story-folio{font-size:10px;margin-bottom:15px;letter-spacing:.07em}
 .romantic-invitation .story-pagination{justify-content:center;gap:2px 10px;margin-top:22px}
 .romantic-invitation .story-page-tabs{width:100%;justify-content:center}
 .romantic-invitation .story-page-buttons{justify-content:center;gap:15px}
 .romantic-invitation .story-page-buttons .text-button{font-size:12px}
 .romantic-invitation .welcome{padding:65px 10% 70px}
 .romantic-invitation .family-heading{margin-bottom:28px}
 .romantic-invitation .family-heading>.eyebrow{font-size:10px;letter-spacing:.09em}
 .romantic-invitation .family-heading h2{font-size:clamp(32px,7.5vw,48px);line-height:1.15}
 .romantic-invitation .family-card{padding:26px 10px 30px;max-width:550px}
 .romantic-invitation .family-card:before{inset:-18px -18px;filter:blur(12px)}
 .romantic-invitation .family-hosts{font-size:24px;line-height:1.35}
 .romantic-invitation .family-invitation{font-size:13px;line-height:1.8}
 .romantic-invitation .family-couple{grid-template-columns:1fr;gap:0;margin:27px 0}
 .romantic-invitation .family-person h3{font-size:clamp(45px,10.7vw,62px);line-height:1.3;margin-bottom:10px}
 .romantic-invitation .family-parents{font-size:22px;line-height:1.45}
 .romantic-invitation .family-grandparents{font-size:13px;line-height:1.8}
 .romantic-invitation .family-grandparentage{margin-top:14px}
 .romantic-invitation .family-union{flex-direction:row;justify-content:center;gap:16px;padding:20px 0 16px}
 .romantic-invitation .family-union span{height:1px;width:28px}
 .romantic-invitation .family-card-date{padding:16px 0;margin-bottom:18px}
 .romantic-invitation .family-card-date p:first-child{font-size:22px}
 .romantic-invitation .family-card-date p:last-child{font-size:10px}
 .romantic-invitation .family-closing{font-size:20px;line-height:1.5}
 .romantic-invitation .family-regards{font-size:11px;line-height:1.7}
 .romantic-invitation .family-countdown{padding:13px 0 20px;margin-top:38px}
 .romantic-invitation .family-countdown .countdown{gap:5px}
 .romantic-invitation .family-countdown .countdown div{min-width:47px;padding:10px 0}
 .romantic-invitation .family-countdown .countdown strong{font-size:37px}
 .romantic-invitation .family-countdown .countdown span{font-size:9px;letter-spacing:.055em;margin-top:6px}
 .romantic-invitation .family-countdown .countdown i{font-size:25px}
 .romantic-invitation .family-countdown .countdown-heading{font-size:10px}
 .romantic-invitation .family-countdown .small-copy{font-size:11px}
 .romantic-invitation .celebrations-intro{padding:60px 12% 48px;background-image:linear-gradient(#fff5e5b8,#fff5e5e0),url('../assets/scene-family-mobile.webp')}
 .romantic-invitation .celebrations-intro h2{font-size:clamp(32px,7.8vw,46px);line-height:1.15}
 .romantic-invitation .celebrations-intro>p:last-child{font-size:13px;line-height:1.8}
 .romantic-invitation .event-day-heading,.romantic-invitation #day-2 .event-day-heading{padding:27px 10% 25px;background-image:linear-gradient(#fff5e5e8,#fff5e5ca),url('../assets/scene-family-mobile.webp')}
 .romantic-invitation .event-day-heading h3,.romantic-invitation #day-2 .event-day-heading h3{font-size:clamp(25px,6vw,36px);line-height:1.25}
 .romantic-invitation .celebrations .schedule-footer{padding:26px 10%;font-size:11px;line-height:1.75;background-image:linear-gradient(#fff5e5e8,#fff5e5c4),url('../assets/scene-family-mobile.webp')}
 .romantic-invitation .journey{padding:65px 12% 80px;min-height:0}
 .romantic-invitation .journey-picture{inset:0;width:100%;height:100%;border-radius:0}
 .romantic-invitation .journey-picture img{object-position:45% center}
 .romantic-invitation .journey-picture .picture-caption{display:none}
 .romantic-invitation .journey-copy{width:100%;margin:0;padding:15px 0;max-width:550px}
 .romantic-invitation .journey-copy:before{inset:-22px -18px;filter:blur(13px)}
 .romantic-invitation .journey-copy h2{font-size:clamp(32px,7.5vw,48px);line-height:1.15;margin-top:13px}
 .romantic-invitation .journey-copy h2 em{display:inline;font-size:1.05em}
 .romantic-invitation .journey-copy h2 br{display:block}
 .romantic-invitation .journey-intro{font-size:13px;line-height:1.85;margin-top:18px}
 .romantic-invitation .venue-box{margin-top:22px;padding:20px 0}
 .romantic-invitation .venue-box h3{font-size:25px;line-height:1.2}
 .romantic-invitation .venue-box>p:not(.eyebrow){font-size:12px;line-height:1.8}
 .romantic-invitation .venue-box .text-button{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
 .romantic-invitation .travel-notes{grid-template-columns:1fr;gap:22px;margin-top:23px}
 .romantic-invitation .travel-notes p{font-size:12px;line-height:1.85}
 .romantic-invitation .details{padding:65px 11% 80px}
 .romantic-invitation .details-reading{grid-template-columns:1fr;gap:30px;padding:15px 0;max-width:550px}
 .romantic-invitation .details-reading:before{inset:-25px -18px;filter:blur(12px)}
 .romantic-invitation .details-heading h2{font-size:clamp(32px,7.5vw,45px);line-height:1.15}
 .romantic-invitation .details-heading>p:last-child{font-size:13px;line-height:1.8;margin-top:18px}
 .romantic-invitation .faq-list summary{font-size:13px;min-height:65px}
 .romantic-invitation .faq-list details p{font-size:13px;line-height:1.85}
 .romantic-invitation .rsvp-section{padding:65px 12% 75px}
 .romantic-invitation .rsvp-inner{padding:15px 0 20px;max-width:550px}
 .romantic-invitation .rsvp-inner:before{inset:-25px -18px;filter:blur(12px)}
 .romantic-invitation .rsvp-section .eyebrow{font-size:10px;letter-spacing:.1em}
 .romantic-invitation .rsvp-section h2{font-size:clamp(37px,9vw,55px);line-height:1.15;margin:17px 0}
 .romantic-invitation .rsvp-section h2+p{font-size:13px;line-height:1.8}
 .romantic-invitation .rsvp-signature{font-size:40px}
 .romantic-invitation .rsvp-location{font-size:10px;line-height:1.8}
 .romantic-invitation .footer{padding:23px 8%;font-size:10px}
}
@media(max-width:360px){
 .romantic-invitation .painted-hero .hero-copy{top:8.5%;left:12%;width:76%}
 .romantic-invitation .painted-hero h1{font-size:38px;gap:4px;margin:10px 0 11px}
 .romantic-invitation .painted-hero .hero-invitation{font-size:18px}
 .romantic-invitation .painted-hero .hero-date{font-size:11px;gap:6px}
 .romantic-invitation .painted-hero .hero-place{font-size:9px;margin-bottom:10px}
 .romantic-invitation .scene-chapter{gap:6px;margin-bottom:8px}
 .romantic-invitation .scene-title{font-size:45px}
 .romantic-invitation .scene-event-name{font-size:19px}
 .romantic-invitation .scene-when{margin-top:13px}
 .romantic-invitation .scene-venue{margin-top:10px}
 .romantic-invitation .scene-attire{margin-top:11px}
 .romantic-invitation .scene-attire strong{font-size:10px;padding:5px 10px}
 .romantic-invitation .scene-actions{padding-left:12px;padding-right:12px;gap:6px 8px}
 .romantic-invitation .scene-actions button{font-size:10px;padding:10px 12px}
 .romantic-invitation .our-story,.romantic-invitation .welcome{padding-left:9%;padding-right:9%}
 .romantic-invitation .story-pages{padding-left:12px;padding-right:12px}
 .romantic-invitation .family-person h3{font-size:44px}
 .romantic-invitation .family-countdown .countdown div{min-width:44px}
}

@media(min-width:821px) and (max-width:900px){
 .romantic-invitation .painted-hero .hero-copy{top:8%}
 .romantic-invitation .painted-hero h1{font-size:54px;margin:10px 0 12px}
 .romantic-invitation .painted-hero .hero-invitation{font-size:18px}
 .romantic-invitation .painted-hero .hero-date{margin-top:10px}
 .romantic-invitation .painted-hero .hero-place{margin-bottom:10px}
}
.romantic-invitation .scene-sangeet{--scene-bg:#eadde7}
.romantic-invitation .scene-dinner{--scene-bg:#deeadf}
@media(max-width:360px){.romantic-invitation .scene-muhurat .scene-event-name{font-size:16px;line-height:1.2}}

/* Keep the mobile hero lettering entirely above the painted couple. */
@media(max-width:500px){
 .romantic-invitation .painted-hero .hero-copy{top:6.2%;left:12%;width:76%}
 .romantic-invitation .painted-hero .hero-copy>.eyebrow{display:none}
 .romantic-invitation .painted-hero h1{font-size:clamp(38px,11cqw,52px);margin:6px 0 8px;gap:5px}
 .romantic-invitation .painted-hero h1 .hero-person>small{font-size:clamp(9px,2.4cqw,12px);line-height:1.4;margin-top:2px}
 .romantic-invitation .painted-hero h1 em{margin-bottom:10px}
 .romantic-invitation .painted-hero .hero-invitation{font-size:clamp(16px,4.2cqw,21px);line-height:1.25}
 .romantic-invitation .painted-hero .hero-date{font-size:clamp(11px,2.95cqw,14px);line-height:1.45;margin-top:8px;gap:7px}
 .romantic-invitation .painted-hero .hero-date .line{width:12px}
 .romantic-invitation .painted-hero .hero-place{font-size:clamp(9px,2.45cqw,12px);line-height:1.4;margin:3px 0 9px}
 .romantic-invitation .painted-hero .hero-copy>.button{min-height:44px;padding:10px 21px;font-size:11px}
}

/* Shared center lines and a quiet, consistent rhythm through the painted chapters. */
@media(min-width:1001px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .site-header nav{justify-self:center}
 .site-header>.button{justify-self:end}
}
.romantic-invitation .story-book{max-width:960px}
.romantic-invitation .story-pages{padding-left:30px;padding-right:30px}
.romantic-invitation .story-heading h2,.romantic-invitation .family-heading h2,
.romantic-invitation .celebrations-intro h2,.romantic-invitation .event-day-heading h3,
.romantic-invitation .scene-event-name,.romantic-invitation .details-heading h2,
.romantic-invitation .rsvp-section h2{text-wrap:balance}
.romantic-invitation .scene-actions{column-gap:14px}
@media(max-width:820px){
 .romantic-invitation .story-pages{padding-left:18px;padding-right:18px;text-align:center}
 .romantic-invitation .story-body{max-width:36ch;margin-inline:auto;text-wrap:pretty}
 .romantic-invitation .story-folio,.romantic-invitation .story-page h3,.romantic-invitation .story-signoff{text-align:center}
 .romantic-invitation .journey-copy{margin-inline:auto}
 .romantic-invitation .details-heading{text-align:center}
 .romantic-invitation .schedule-footer{align-items:center;text-align:center}
}
@media(max-width:360px){.romantic-invitation .story-pages{padding-left:12px;padding-right:12px}}

/* One reveal language: a short upward glide, a soft fade, then still, readable type. */
.motion-enabled .reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-enabled .reveal:focus-within{opacity:1;transform:none;transition:none}
.romantic-invitation .scene-copy>.reveal{transition-duration:.75s,.95s}
.romantic-invitation .paint-scroll-art{transform:translate3d(0,var(--paint-shift,0px),0) scale(var(--paint-scale,1));transform-origin:50% 50%;transition:none;backface-visibility:hidden}
.romantic-invitation .paint-in-view .paint-scroll-art{will-change:transform}
@media(max-width:820px){.motion-enabled .reveal{transform:translate3d(0,16px,0)}.motion-enabled .reveal.is-visible{transform:translate3d(0,0,0)}}
html[data-motion="off"] .paint-scroll-art{transform:none!important;will-change:auto!important}
@media(prefers-reduced-motion:reduce){.paint-scroll-art{transform:none!important;will-change:auto!important}.motion-enabled .reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* Sangeet: champagne, mirrorwork and crystal sparkle throughout. */
.romantic-invitation .scene-sangeet{--scene-bg:#eadfc9;--scene-ink:#493522;--scene-text:#594530;--scene-accent:#8c682f;--scene-line:#9d7b414d}
.romantic-invitation .scene-sangeet .scene-beam{background:conic-gradient(from 160deg at 50% 0%,transparent 0deg,#fff3d426 22deg,transparent 32deg,transparent 73deg,#f7e2ad24 84deg,transparent 100deg)}
.romantic-invitation .scene-sangeet .scene-particles i,.romantic-invitation .scene-sangeet .scene-celebration-piece{width:5px;height:5px;border-radius:0;clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);background:#fff2cf;box-shadow:none}


/* A few champagne/crystal reflections belong to the painting, not the text.
   The plane shares the photo's crop and scroll transform at both breakpoints. */
.romantic-invitation .scene-sangeet .scene-beam,
.romantic-invitation .scene-sangeet .scene-light,
.romantic-invitation .scene-sangeet .scene-particles{display:none}
.sangeet-sparkles{position:absolute;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.78;transform:translate3d(0,var(--paint-shift,0px),0) scale(var(--paint-scale,1));transform-origin:50% 50%;transition:opacity .7s ease}
.sangeet-sparkles i{position:absolute;left:var(--glint-x);top:var(--glint-y);display:block;width:var(--glint-size);height:var(--glint-size);margin:calc(var(--glint-size) / -2);border-radius:50%;background:radial-gradient(circle,#fffbedb3 0%,#ffe4b43d 24%,#ffdda51a 43%,transparent 70%);opacity:0;animation:sangeet-crystal-glint var(--glint-duration) var(--glint-delay) ease-in-out infinite}
.sangeet-sparkles i:before{content:'';position:absolute;inset:28%;background:#fff9e7;clip-path:polygon(50% 0,58% 41%,100% 50%,58% 59%,50% 100%,42% 59%,0 50%,42% 41%)}
.scene-sangeet.scene-celebrating .sangeet-sparkles{opacity:1}
@keyframes sangeet-crystal-glint{0%,10%,52%,100%{opacity:0;transform:scale(.7) rotate(-8deg)}26%{opacity:.78;transform:scale(1.08) rotate(0)}38%{opacity:.26;transform:scale(.9) rotate(5deg)}}
@media(max-width:719px){.sangeet-sparkles{height:222.22cqw;transform-origin:50% 100%}.sangeet-sparkles i{left:var(--glint-mobile-x);top:var(--glint-mobile-y)}}
html[data-motion="off"] .sangeet-sparkles{display:none}
@media(prefers-reduced-motion:reduce){.sangeet-sparkles{display:none}}

/* The clean garden and couple painting share one scroll transform and geometry.
   Only opacity changes; the landing page never swaps to a differently sized card. */
.hero-layer-stack,.hero-layer-stack>picture{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-layer-stack>picture>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-couple-layer{opacity:1;transition:opacity 1.4s cubic-bezier(.4,0,.2,1)}
.intro-pending:not(.intro-couple) .hero-couple-layer{opacity:0;transition:none}
.site-header,.painted-hero .hero-copy,.painted-hero .hero-bottom{transition:opacity 1.3s ease}
.intro-pending:not(.invitation-ready) .site-header,
.intro-pending:not(.invitation-ready) .painted-hero .hero-copy,
.intro-pending:not(.invitation-ready) .painted-hero .hero-bottom{opacity:0;pointer-events:none;transition:none}
.intro-pending .hero-atmosphere,.intro-pending .ambient-glints{opacity:0}
.intro-pending .hero-layer-stack{will-change:transform}
@media(prefers-reduced-motion:reduce){.palace-door,.hero-couple-layer,.door-greeting{transition:none!important}}

/* A relaxed entrance with less travel keeps the lettering clear as it appears. */
.invitation-ready .painted-hero .hero-copy>*{animation-name:palace-lettering;animation-duration:1.8s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
@keyframes palace-lettering{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.painted-hero .hero-atmosphere,.painted-hero .ambient-glints{transition:opacity 1.5s ease}

/* The doors and first chapter share one screen. Keep the reading area tied
   to the visible painting, and let the next chapter begin below the fold. */
.romantic-invitation .painted-hero{aspect-ratio:auto;margin-top:calc(-1 * var(--scene-header-height,82px));height:max(100dvh,calc(var(--scene-header-height,82px) + 460px));min-height:0;isolation:isolate}
.hero-composition{position:absolute;inset:var(--scene-header-height,82px) 0 0;container-type:inline-size;isolation:isolate;z-index:1}
.romantic-invitation .painted-hero .hero-garden{inset:calc(-1 * var(--scene-header-height,82px)) 0 0;height:calc(100% + var(--scene-header-height,82px));overflow:hidden;mask-image:none;-webkit-mask-image:none}
.romantic-invitation .painted-hero .hero-bottom{bottom:12px;left:4%;right:4%}
@media(max-width:820px) and (orientation:portrait), (min-width:821px) and (max-width:1100px) and (max-aspect-ratio:9/10){
 .romantic-invitation .painted-hero .hero-copy{top:6.2%;left:12%;width:76%}
 .romantic-invitation .painted-hero .hero-copy>.eyebrow{display:none}
 .romantic-invitation .painted-hero h1{flex-direction:row;justify-content:center;align-items:center;font-size:clamp(38px,11cqw,62px);gap:5px;margin:6px 0 8px}
 .romantic-invitation .painted-hero h1 .hero-person{padding:0;line-height:1.17}
 .romantic-invitation .painted-hero h1 em{font-size:.42em;line-height:1.1;margin:0 0 11px}
 .romantic-invitation .painted-hero h1 .hero-person>small{font-size:clamp(9px,2.4cqw,12px);line-height:1.4;margin-top:2px}
 .romantic-invitation .painted-hero .hero-invitation{font-size:clamp(16px,4.2cqw,23px);line-height:1.25}
 .romantic-invitation .painted-hero .hero-date{font-size:clamp(11px,2.95cqw,15px);margin-top:8px;gap:7px}
 .romantic-invitation .painted-hero .hero-place{font-size:clamp(9px,2.45cqw,12px);line-height:1.4;margin:3px 0 9px}
 .romantic-invitation .painted-hero .hero-copy>.button{font-size:11px;min-height:44px;padding:10px 21px}
 .romantic-invitation .painted-hero .hero-bottom{bottom:9px;justify-content:center}
 .romantic-invitation .painted-hero .hero-bottom>span{display:none}
}
/* Short landscape windows keep the date and action visible beside the couple. */
@media(orientation:landscape) and (max-height:650px){
 .romantic-invitation .painted-hero{height:max(100dvh,calc(var(--scene-header-height,82px) + 300px))}
 .romantic-invitation .painted-hero .hero-copy{top:6%;left:56%;width:38%}
 .romantic-invitation .painted-hero .hero-copy>.eyebrow{display:none}
 .romantic-invitation .painted-hero h1{flex-direction:row;font-size:clamp(34px,4.5cqw,54px);gap:5px;margin:0 0 8px;line-height:1.15}
 .romantic-invitation .painted-hero h1 .hero-person{padding:0;line-height:1.18}
 .romantic-invitation .painted-hero h1 .hero-person>span{padding:0}
 .romantic-invitation .painted-hero h1 .hero-person>small{font-size:9px;letter-spacing:.12em}
 .romantic-invitation .painted-hero h1 em{font-size:.35em;margin:0 0 12px}
 .romantic-invitation .painted-hero .hero-invitation{font-size:16px;line-height:1.2}
 .romantic-invitation .painted-hero .hero-date{font-size:11px;margin-top:10px;gap:6px}
 .romantic-invitation .painted-hero .hero-place{font-size:9px;line-height:1.4;margin:3px 0 9px}
 .romantic-invitation .painted-hero .hero-copy>.button{font-size:11px;padding:10px 19px;min-height:44px}
 .romantic-invitation .painted-hero .hero-bottom>span{display:none}
 .romantic-invitation .painted-hero .hero-bottom{flex-direction:row;justify-content:flex-end}
 .romantic-invitation .painted-hero .hero-bottom>a{padding:4px 12px;font-size:10px}
}

@media(min-width:821px) and (min-aspect-ratio:9/10) and (max-aspect-ratio:4/3){
 .romantic-invitation .painted-hero .hero-garden img{object-position:35% center}
 .romantic-invitation .painted-hero .hero-copy{left:62%;width:35%}
}
@media(max-width:820px) and (orientation:portrait) and (max-height:650px){
 .romantic-invitation .painted-hero .hero-copy{top:3.8%}
 .romantic-invitation .painted-hero .hero-garden img{object-position:center 25%}
 .romantic-invitation .painted-hero h1{font-size:36px}
 .romantic-invitation .painted-hero .hero-invitation{font-size:15px;line-height:1.2}
}

/* Bride-side rituals share the approved painted settings and quiet ivory text wash. */
.romantic-invitation .scene-haldi-ritual{--scene-bg:#fff0c4;--scene-ink:#734716;--scene-text:#63462e;--scene-accent:#976321}
.romantic-invitation .scene-mandapachadan,.romantic-invitation .scene-ghritdhari{--scene-bg:#fbf1dc;--scene-ink:#754422;--scene-text:#60482f;--scene-accent:#94702f}
.romantic-invitation .scene-mandapachadan .scene-title{font-size:clamp(32px,4.5cqw,68px);text-wrap:balance}
.romantic-invitation .scene-mandapachadan .scene-chapter{flex-wrap:wrap;gap:4px 14px}
.romantic-invitation .scene-haldi .scene-title,.romantic-invitation .scene-haldi-ritual .scene-title{font-size:clamp(36px,4.9cqw,74px);text-wrap:balance}
@media(min-width:720px){
 .romantic-invitation .scene-mandapachadan .scene-copy{left:26%;width:40%;top:19%}
}
@media(max-width:719px){
 .romantic-invitation .scene-haldi-ritual .scene-inner{--portrait-start:.48;padding-bottom:calc(237.22cqw * (1 - var(--portrait-start)) + 24px)}
 .romantic-invitation .scene-haldi-ritual .scene-camera img{height:237.22cqw}
 .romantic-invitation .scene-mandapachadan .scene-inner{--portrait-start:.68}
 .romantic-invitation .scene-ghritdhari .scene-inner{--portrait-start:.51}
 .romantic-invitation .scene-mandapachadan .scene-title{font-size:clamp(30px,10.3cqw,62px)}
 .romantic-invitation .scene-haldi .scene-title,.romantic-invitation .scene-haldi-ritual .scene-title{font-size:clamp(34px,11.8cqw,70px)}
}

/* The landing action retains a little breathing room after the subtitle is removed. */
.romantic-invitation .painted-hero .hero-date + .button{margin-top:16px}

/* One continuous invitation letter, held within the existing painted arch. */
.romantic-invitation .our-story.story-letter{padding:clamp(100px,8.5vw,150px) 0 clamp(150px,13vw,210px);min-height:62.5vw;container-type:inline-size}
.romantic-invitation .story-letter-content{width:min(580px,45%);margin-inline:auto;text-align:center}
.romantic-invitation .story-letter-content:before{inset:-26px -28px -25px;background:radial-gradient(ellipse,#fff5e5ed 0%,#fff5e5b3 62%,#fff5e500 100%);filter:blur(14px)}
.story-letter-heading>.eyebrow{font-size:10px;letter-spacing:.16em;color:#886336;margin-bottom:17px}
.story-letter-heading h2{font:400 clamp(34px,3.15vw,48px)/1.15 var(--serif);color:#654832;text-wrap:balance}
.story-letter-heading h2 em{display:inline-block;font:400 1.25em/1.3 var(--calligraphy);color:var(--wine)}
.story-letter-flourish{display:flex;align-items:center;justify-content:center;gap:15px;margin:23px auto;color:#a07a38;font-size:13px;line-height:1}
.story-letter-flourish span{height:1px;width:50px;background:linear-gradient(90deg,transparent,#a07a3866)}
.story-letter-flourish span:last-child{transform:rotate(180deg)}
.story-letter-copy{font:500 clamp(18px,1.48vw,21px)/1.62 var(--serif);color:#513b30;text-wrap:pretty}
.story-letter-copy>p+p{margin-top:18px}
.story-letter-signoff{margin-top:24px;font:italic 18px/1.5 var(--serif);color:#77563d}
.story-letter-signoff>span{display:block;margin-top:5px;font:400 clamp(31px,2.6vw,40px)/1.3 var(--calligraphy);color:var(--wine)}
@media(min-width:821px) and (max-width:1100px){
 .romantic-invitation .our-story.story-letter{padding-top:90px;padding-bottom:130px}
 .romantic-invitation .story-letter-content{width:52%}
 .story-letter-copy{font-size:18px;line-height:1.55}
}
@media(max-width:820px){
 .romantic-invitation .our-story.story-letter{padding:clamp(83px,16vw,135px) 0 clamp(175px,40vw,290px);min-height:222.22cqw}
 .romantic-invitation .story-letter-content{width:70%;max-width:430px}
 .story-letter-heading>.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:12px}
 .story-letter-heading h2{font-size:clamp(29px,6.6vw,42px);line-height:1.15}
 .story-letter-heading h2 em{font-size:1.22em;line-height:1.3}
 .story-letter-flourish{margin:20px auto;gap:12px}
 .story-letter-flourish span{width:35px}
 .story-letter-copy{font-size:clamp(17px,4.35vw,21px);line-height:1.52}
 .story-letter-copy>p+p{margin-top:17px}
 .story-letter-signoff{margin-top:22px;font-size:17px}
 .story-letter-signoff>span{font-size:clamp(30px,7.6vw,40px)}
 .romantic-invitation .story-letter-content:before{inset:-20px -20px;background:radial-gradient(ellipse,#fff5e5ef 0%,#fff5e5c9 65%,#fff5e500 100%)}
}
@media(max-width:360px){
 .romantic-invitation .story-letter-content{width:74%}
 .story-letter-heading h2{font-size:28px}
 .story-letter-copy{font-size:17px;line-height:1.5}
}
/* Keep the portrait painting compact on tablets while retaining its personal objects. */
@media(min-width:600px) and (max-width:820px){
 .romantic-invitation .our-story.story-letter{min-height:0;padding:90px 0 56vw}
 .romantic-invitation .story-letter-content{width:66%;max-width:520px}
 .romantic-invitation .story-letter .painted-section-art img{object-position:center bottom}
 .story-letter-heading h2{font-size:40px}
}

/* Readable document previews, including viewers that remove script elements. */
.static-event-details{padding:24px max(7%,calc((100% - 680px)/2)) 32px;text-align:center;background:linear-gradient(135deg,#fff5e5,var(--scene-bg));color:var(--scene-ink);font:500 19px/1.6 var(--serif)}
.static-event-details p+p{margin-top:14px}
.invite-interactive .static-event-details{display:none}
html:not(.invite-interactive) .family-countdown,
html:not(.invite-interactive) .scene-actions,
html:not(.invite-interactive) [data-open-rsvp],
html:not(.invite-interactive) .menu-button,
html:not(.invite-interactive) .footer-actions,
html:not(.invite-interactive) #calendar-all{display:none!important}
@media(max-width:719px){.static-event-details{font-size:18px;padding:22px 8% 28px}}

/* Keep the longer ceremony name whole in the phone-sized details dialog. */
@media(max-width:480px){
 #event-dialog-title.event-title-long{font-size:clamp(25px,7.4vw,34px);line-height:1.18;overflow-wrap:normal;text-wrap:balance}
}
