:root{--wine:#802d35;--ink:#542c29;--gold:#ba945a;--ivory:#fcf5e6;--muted:#866d5b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;color:var(--ink);background:var(--ivory);font:20px/1.65 'Cormorant Garamond',Georgia,serif}.locked{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b17b35;outline-offset:6px}h1,h2,h3,p{margin-top:0}h2{font:500 clamp(38px,5vw,64px)/1.1 'Cormorant Garamond',serif;margin-bottom:22px}h2 em{font-weight:400}p{margin-bottom:22px}.eyebrow{font:400 10px/1.9 Jost,Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--wine)}.nav{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;background:linear-gradient(#fbf3e9e8,transparent)}.nav div{display:flex;gap:28px}.nav a{text-decoration:none;font:11px Jost,sans-serif;letter-spacing:1px}.nav .monogram{font:30px 'Cormorant Garamond',serif}.monogram i{color:var(--gold)}.hero{min-height:100svh;background:var(--ivory) url('assets/bengali-punjabi-pavilion.webp') center/cover;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 12% 100px;outline:none}.hero-panel{width:min(530px,100%);padding:24px 18px;background:#fff8e924;border-radius:50%;backdrop-filter:blur(1px)}.ganesh{width:57px;height:57px;object-fit:contain;margin-bottom:20px}.hero h1{display:flex;flex-direction:column;margin:20px 0;color:var(--wine);line-height:1.1}.hero h1 span{font:clamp(64px,7vw,100px)/1.2 'Great Vibes',cursive}.hero h1 small{font-size:18px;letter-spacing:3px;font-weight:400}.hero h1 i{font-size:30px;font-weight:400;color:var(--gold);margin:12px}.invitation-line{font-style:italic;font-size:19px;margin-bottom:15px}.hero-date{font:13px Jost,sans-serif;letter-spacing:3px;margin:18px 0 6px}.hero-venue{font-size:22px}.rule{color:var(--gold)}.scroll{display:inline-flex;flex-direction:column;text-decoration:none;font:9px Jost,sans-serif;letter-spacing:2px;gap:8px;margin-top:15px}.scroll span{font-size:22px}.paper{padding:95px max(24px,8vw);text-align:center;position:relative;background-image:radial-gradient(#b99e6e14 .7px,transparent .7px);background-size:8px 8px}.paper:before{content:'❋';display:block;color:var(--gold);font-size:26px;margin-bottom:24px}.paper>p:not(.eyebrow){color:var(--muted)}.reveal{background-color:#f7eddb}.heart-clip-def{position:absolute}.scratch-card{position:relative;width:min(360px,85vw);height:320px;margin:35px auto 20px;clip-path:url(#heartClip);overflow:hidden;touch-action:none}.date-reveal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#802d35;color:#fff2d4;padding:25px 42px 75px}.date-reveal small{color:#dfc292;font-size:25px}.date-reveal strong{font-size:25px;font-weight:500;line-height:1.1;margin:9px 0}.date-reveal span{font:12px/1.7 Jost,sans-serif;max-width:220px}.date-reveal em{font:italic 17px/1.5 'Cormorant Garamond',serif;margin-top:10px}#scratchCanvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.scratch-card.done canvas{opacity:0;pointer-events:none;transition:opacity .8s}.hint{font-size:16px;font-style:italic;margin:0}.text-button{font:11px/1.7 Jost,sans-serif;letter-spacing:1px;background:none;border:0;border-bottom:1px solid #c9ad85;padding:8px 0;color:var(--wine);text-decoration:none;display:inline-block}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:620px;margin:45px auto 28px}.countdown div{background:#f1e4ca;clip-path:polygon(50% 13%,65% 0,85% 0,100% 20%,100% 45%,50% 100%,0 45%,0 20%,15% 0,35% 0);padding:22px 12px 40px;display:flex;flex-direction:column}.countdown b{font:500 45px/1.1 'Cormorant Garamond',serif;color:var(--wine)}.countdown span{font:9px Jost,sans-serif;letter-spacing:1px;margin-top:4px}.small{font-size:16px}.traditions{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:#822d35;color:#fff1db}.traditions-art{background:url('assets/bengali-punjabi-pavilion.webp') center/cover;margin:40px;min-height:620px}.traditions-copy{align-self:center;padding:70px 14% 70px 5%}.traditions .eyebrow{color:#e2c08a}.traditions p:not(.eyebrow){font-size:21px;color:#eedbc1}.ornament{color:#e2c08a;font-size:30px}.event-layout{border-block:1px solid #c7ac7d;max-width:710px;margin:38px auto 0;padding:36px 0;display:grid;grid-template-columns:1fr 1fr;align-items:center}.date-block{display:flex;flex-direction:column;border-right:1px solid #c7ac7d}.date-block span{font:10px Jost,sans-serif;letter-spacing:2px}.date-block b{font:100px/1.3 'Cormorant Garamond',serif;color:var(--wine)}.event-copy{padding-left:25px}.event-copy h3{font:37px/1.2 'Great Vibes',cursive;color:var(--wine);margin:0 0 10px}.event-copy p{font-size:21px;margin:10px 0}.venue{background-color:#f2e5cf}.venue .city{font:12px Jost,sans-serif;letter-spacing:4px}.venue-rule{color:var(--gold);font-size:36px;margin-bottom:15px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 25px;background:var(--wine);border:1px solid var(--wine);text-decoration:none;color:#fff1d5;font:11px Jost,sans-serif;letter-spacing:2px}.venue .primary{margin-top:10px}.closing{padding:110px 25px;text-align:center;background:linear-gradient(#fcf5e6e8,#fcf5e6d9),url('assets/bengali-punjabi-pavilion.webp') center 75%/cover}.closing strong{display:block;font:54px 'Great Vibes',cursive;color:var(--wine);margin:30px 0}.closing .eyebrow{margin-bottom:25px}footer{text-align:center;padding:22px;font:9px Jost,sans-serif;letter-spacing:1px;color:var(--muted)}.opening{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:url('assets/bengali-punjabi-pavilion.webp') center/cover;overflow:hidden;transition:opacity .6s 1s}.gate{position:absolute;top:0;bottom:0;width:50%;background-color:#802d35;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 34px,#e7c48622 35px,#e7c48622 36px),repeating-linear-gradient(0deg,transparent 0,transparent 34px,#e7c48622 35px,#e7c48622 36px);border:10px double #cbaa75;transition:transform 1.6s ease-in-out}.gate-left{left:0}.gate-right{right:0}.opening-content{z-index:1;text-align:center;color:#fff0d1;padding:30px 20px;transition:opacity .4s}.opening .eyebrow{color:#e4c49b}.seal{border:1px solid #cbaa75;border-radius:50%;width:96px;height:96px;margin:0 auto 35px;display:grid;place-items:center;font-size:32px}.seal i{display:none}.opening h1{font:clamp(49px,7vw,86px)/1.3 'Great Vibes',cursive;margin-bottom:20px}.opening h1 i{font:italic 35px 'Cormorant Garamond',serif;padding:0 10px}.opening-date{font:10px Jost,sans-serif;letter-spacing:3px}.opening .primary{background:#f9ecd3;color:var(--wine);margin:20px 0;border:1px solid #dfba7d}.opening-note{font-size:17px;font-style:italic}.opening-out{opacity:0;pointer-events:none}.opening-out .gate-left{transform:translateX(-100%)}.opening-out .gate-right{transform:translateX(100%)}.opening-out .opening-content{opacity:0}#petals{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:8}.petal{position:absolute;top:-20px;width:8px;height:12px;background:#a7424880;border-radius:80% 10% 70% 25%;animation:fall linear infinite}@keyframes fall{to{transform:translate(70px,110vh) rotate(300deg)}}.confetti-burst{position:fixed;z-index:110;pointer-events:none}.confetti-burst i{position:absolute;width:6px;height:10px;animation:burst 1.5s ease-out forwards}@keyframes burst{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}@media(min-width:900px){.hero{background-size:100% 100%;min-height:1000px}.hero-panel{padding:30px}.hero h1 span{font-size:96px}}@media(max-width:640px){body{font-size:19px}.nav{padding:13px 6%}.nav div{gap:14px}.nav a{font-size:9px;letter-spacing:0}.hero{padding:130px 16% 100px;min-height:100svh;background-size:100% 100%}.hero-panel{padding:0}.ganesh{width:42px;height:42px;margin-bottom:12px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero h1 span{font-size:64px}.hero h1 small{font-size:15px;letter-spacing:2px}.hero h1 i{margin:10px}.invitation-line{font-size:16px}.hero-date{font-size:10px;letter-spacing:2px}.hero-venue{font-size:19px}.paper{padding:70px 22px}.countdown{grid-template-columns:repeat(2,1fr);max-width:290px;gap:16px}.countdown b{font-size:45px}.countdown div{padding-bottom:40px}.traditions{grid-template-columns:1fr}.traditions-art{margin:24px 24px 0;min-height:0;height:440px;background-size:100% 100%}.traditions-copy{padding:45px 32px;text-align:center}.event-layout{grid-template-columns:1fr}.date-block{border:0;border-bottom:1px solid #c7ac7d;padding-bottom:25px}.event-copy{padding:30px 0 0}.opening h1{max-width:330px}.opening h1 i{display:block;margin:10px auto;font-size:29px}.opening-date{font-size:9px}.opening .eyebrow{font-size:9px;letter-spacing:2px}.closing strong{font-size:48px}.scratch-card{width:310px;max-width:88vw;height:300px}.date-reveal{padding:25px 38px 72px}.date-reveal strong{font-size:23px}.date-reveal span{font-size:11px}.date-reveal em{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Uploaded Bengali wedding gate opening screen */
.opening{background:#ead6b3;transition:opacity .8s}.opening-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.opening-video-shade{position:absolute;inset:0;background:linear-gradient(180deg,#321b1020 0%,#321b1005 28%,#321b1060 58%,#321b10a8 100%)}.opening-content{align-self:end;width:100%;padding:30px 20px max(35px,env(safe-area-inset-bottom));text-shadow:0 2px 12px #321b1070}.opening .seal{display:none}.opening h1{margin:0 auto 14px}.opening .eyebrow{margin-bottom:12px}.opening .primary{text-shadow:none;margin:12px 0}.opening-out .opening-video{transition:opacity .8s;opacity:0}@media(max-width:640px){.opening h1{font-size:52px;max-width:none}.opening h1 i{display:inline;margin:0;font-size:30px}.opening .eyebrow{font-size:8px}.opening-note{margin:8px 0 0;font-size:16px}.opening-content{padding-bottom:max(28px,env(safe-area-inset-bottom))}}@media(min-aspect-ratio:1/1){.opening-video{object-fit:contain}.opening{background:#38241a}.opening-video-shade{background:linear-gradient(transparent 25%,#24120d8c 100%)}}

/* Animated backdrop for the couple details slide. */
.hero{position:relative;isolation:isolate;background:#f6e9d1;overflow:hidden}.details-video{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center}.hero-panel{background:#fff7e322;backdrop-filter:blur(1px)}@media(min-width:900px){.details-video{object-fit:contain}}

.transition-video{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;background:#ead6b3}.playing-transition .transition-video{display:block}.playing-transition .opening-content{opacity:0;pointer-events:none}.skip-transition{display:none;position:absolute;z-index:4;right:20px;bottom:max(22px,env(safe-area-inset-bottom));font:11px Jost,sans-serif;letter-spacing:1px;color:#fff8e9;background:#542c29a8;border:1px solid #f9ecd375;border-radius:24px;padding:10px 16px}.playing-transition .skip-transition{display:block}@media(min-aspect-ratio:1/1){.transition-video{object-fit:contain;background:#38241a}}

/* Refined type hierarchy and guest forms */
body{font:16px/1.85 'DM Sans',sans-serif}h2{font-family:'Italiana',Georgia,serif;font-weight:400;letter-spacing:0}h3{font-family:'Italiana',Georgia,serif}.hero h1 span,.opening h1,.closing strong{font-family:'Parisienne',cursive}.hero h1 small{font:14px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:4px}.hero h1 i{font-family:'Italiana',serif}.eyebrow,.nav a,.primary,.text-button,.hero-date,.opening-date,.countdown span,.scroll,.date-reveal span,.city,footer{font-family:'DM Sans',sans-serif}.invitation-line{font-family:'Italiana',serif;font-size:23px}.hero-venue{font-size:17px}.countdown b{font-family:'Italiana',serif}.traditions p:not(.eyebrow){font-size:17px;line-height:1.9}.date-reveal strong{font-family:'Italiana',serif}.date-reveal em{font-family:'DM Sans',sans-serif;font-size:13px}.guest-corner{background:#fcf5e6}.message-corner{background:#f4e8d5}.guest-form{max-width:560px;margin:35px auto 0;text-align:left;display:grid;gap:22px}.guest-form label,.guest-form legend{font:13px/1.7 'DM Sans',sans-serif;color:var(--ink)}.guest-form label>span{color:#816a60}.guest-form input:not([type=radio]),.guest-form select,.guest-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #bfa887;border-radius:4px;background:#fffcf5cf;color:#542c29;padding:13px;font:16px/1.5 'DM Sans',sans-serif}.guest-form textarea{resize:vertical}.guest-form fieldset{margin:0;padding:16px;border:1px solid #cdb795;border-radius:4px}.guest-form .choice{display:flex;align-items:center;gap:9px;margin:8px 0}.guest-form input[type=radio]{accent-color:var(--wine);width:18px;height:18px}.guest-form .primary{justify-self:start;padding:17px 27px}.guest-form button:disabled{opacity:.6;cursor:wait}.form-status{font-size:14px;margin:0;min-height:24px;color:var(--wine)}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:640px){.nav div{gap:12px}.hero h1 span{font-size:62px}.traditions-copy{padding:40px 28px}.guest-form{gap:18px}}

/* Clear name letterforms and family invitation details. */
.hero h1 span,.opening h1,.closing strong{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:0}.hero h1 span{font-size:clamp(48px,6vw,76px);line-height:1.2}.opening h1{font-size:clamp(42px,6vw,70px);line-height:1.35}.opening h1 i{font-family:'Playfair Display',Georgia,serif}.closing strong{font-size:clamp(32px,5vw,48px)}.family-invitation{background:#f7efdf;padding-top:70px;padding-bottom:70px}.family-blessings{font-size:16px;line-height:1.8}.family-invitation h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,4vw,39px);line-height:1.5;margin:28px auto 18px}.family-couple{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(30px,5vw,46px);color:var(--wine)!important;margin:25px 0}.family-couple span{font:14px 'DM Sans',sans-serif;display:block;padding:10px}.groom-parents{font-size:16px;line-height:1.8}.venue-address{max-width:500px;margin:0 auto 24px}.wedding-timings{max-width:380px;margin:28px auto 32px;border-block:1px solid #c7ac7d;padding:12px 0}.wedding-timings p{display:flex;justify-content:space-between;gap:18px;margin:10px 0;font-size:14px}.wedding-timings strong{font-weight:500;white-space:nowrap}@media(max-width:640px){.hero h1 span{font-size:49px}.opening h1{font-size:38px}.opening h1 i{font-size:25px}.hero h1 small{font-size:12px}.family-invitation{padding-inline:22px}.family-invitation h2{font-size:27px}}

.music-toggle{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:120;width:42px;height:42px;border-radius:50%;border:1px solid #cbaa75;background:#fff5e4ed;color:#802d35;font:20px Georgia,serif;box-shadow:0 3px 16px #542c2922;cursor:pointer}.music-toggle[hidden]{display:none}

/* Distinct traditions artwork, real memories and little paws. */
.traditions-art{background:none;min-height:0;align-self:center}.traditions-art img{display:block;width:100%;height:auto;border-radius:160px 160px 8px 8px}.traditions{min-height:0}.date-reveal{padding-bottom:55px}.date-reveal span{font-size:14px;line-height:1.7}.date-reveal strong{margin-bottom:12px}.moments{background:#f8f0e0}.moments-grid{max-width:1050px;margin:35px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.moments-grid figure{margin:0;background:#fff9ef;padding:7px;box-shadow:0 4px 20px #542c2912}.moments-grid img{display:block;width:100%;height:auto}.moments-grid figure:first-child{grid-column:span 2}.closing{background:#fcf5e6;padding-top:55px}.closing-photo{display:block;width:min(470px,100%);height:auto;margin:35px auto 55px;border-radius:180px 180px 4px 4px;box-shadow:0 8px 30px #542c2922}.little-paws{max-width:450px;margin:0 auto 30px;text-align:center;padding:12px 15px 25px}.little-paws p{font:italic 24px/1.6 'Playfair Display',Georgia,serif;color:var(--wine);margin:12px 0 5px}.little-paws span{font:13px/1.8 'DM Sans',sans-serif;color:var(--muted)}.paw-trail{display:flex;justify-content:center;gap:15px;height:70px;align-items:center;color:#b39261}.paw-mark{width:25px;height:25px;fill:currentColor}.paw-mark:nth-child(odd){transform:translateY(12px) rotate(-20deg)}.paw-mark:nth-child(even){transform:translateY(-8px) rotate(12deg)}@media(max-width:640px){.traditions-art{height:auto;margin:24px 24px 0}.traditions-art img{border-radius:120px 120px 6px 6px}.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.closing-photo{border-radius:130px 130px 4px 4px}.date-reveal span{font-size:13px;max-width:200px}.little-paws p{font-size:22px}}

.traditions-copy p{font-size:18px;line-height:1.8}.traditions-art{align-self:start;position:sticky;top:40px}.traditions-art img{aspect-ratio:4/5;object-fit:cover}.couple-hashtag{margin-top:16px;color:var(--wine);letter-spacing:1px}@media(max-width:700px){.traditions-art{position:static}.traditions-copy p{font-size:18px}.wedding-timings p{gap:12px;flex-wrap:wrap}}

/* Bengali celebration and captioned photo memories. */
.traditions{display:block}.traditions-copy{max-width:780px;margin:auto}.traditions-copy strong{font-weight:700}.festivities h3{font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:400}.wedding-art{max-width:620px;margin:42px auto 25px}.wedding-art img{width:100%;display:block;border:1px solid #d7b888;border-radius:22px}.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:900px}.moments-grid figure{grid-column:auto!important;padding:10px 10px 20px;background:#fffdf6;box-shadow:0 7px 24px #542c2915}.moments-grid figure:nth-child(odd){transform:rotate(-1deg)}.moments-grid figure:nth-child(even){transform:rotate(1deg);margin-top:22px}.moments-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.moments-grid figcaption{font:italic 18px/1.5 'Playfair Display',Georgia,serif;color:var(--wine);padding:18px 6px 0;text-align:center}.rsvp-contact a{text-underline-offset:5px;color:var(--wine)}@media(max-width:640px){.moments{padding-inline:17px}.moments-grid{gap:16px}.moments-grid figure{padding:7px 7px 14px}.moments-grid figcaption{font-size:14px;padding-top:12px}.wedding-art{margin-top:28px}.traditions-copy{padding:38px 24px}.festivities h3{font-size:22px}}

.opening{background:#2b1114}.opening-video,.opening-video-shade{display:none}.opening-content{padding:28px;text-align:center}.opening .seal,.opening-date{display:none}.opening h1{font-family:'Playfair Display',Georgia,serif;font-style:normal;font-size:clamp(34px,7vw,56px);color:#fff3d5}.opening h1 i{color:#e6bd68;font-style:italic}.opening-tagline{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#f4e4cf;font-size:19px;margin:18px 0 32px}.opening .primary{background:#f1d48d;color:#542c29;border:0;border-radius:30px;padding:14px 26px}.warm-regards{margin:32px 0!important;font-size:21px}.warm-regards strong{font-size:26px!important}

/* Warm tonal variation with stronger text contrast. */
:root{--ink:#3d211f;--muted:#61473c;--wine:#72202b}body{color:var(--ink)}.paper p,.traditions-copy p{color:#432923}.family-invitation{background:#f1e3cd}.reveal{background:#fff8e8}.countdown-section{background:#ead8c2}.traditions{background:#f6e9dd}.festivities{background:#fff4dc}.venue{background:#eddfca}.moments{background:#f8eadf}.guest-corner{background:#eee4d5}.message-corner{background:#fff5e4}.closing{background:#ecdbc9}.eyebrow{color:#72202b}.paper .eyebrow{color:#72202b}.paper .hint,.paper .form-status,.paper label span{color:#604538}.hero-panel{color:#3d211f}.hero .invitation-line,.hero .scroll{color:#3d211f}.opening-tagline{max-width:440px;margin-inline:auto;line-height:1.65}.family-invitation h2{color:#3d211f}

.family-invitation .family-intro{font:italic 24px/1.5 'Playfair Display',Georgia,serif;margin-bottom:24px}.family-invitation .family-person{font:italic 46px/1.2 'Playfair Display',Georgia,serif;color:#72202b;margin:18px 0 14px}.family-parent-line{font-size:17px;line-height:1.8;max-width:530px;margin:0 auto 18px}.family-with{font:italic 24px/1.5 'Playfair Display',Georgia,serif;margin:20px auto}.family-message{font:italic 19px/1.8 'Playfair Display',Georgia,serif;margin:32px auto 22px}.family-promise{font:italic 20px/1.7 'Playfair Display',Georgia,serif;font-weight:600}.family-invitation .couple-hashtag{font:italic 23px/1.6 'Playfair Display',Georgia,serif;margin-top:24px;color:#72202b}@media(max-width:640px){.family-parent-line{font-size:15px}.family-invitation .family-person{font-size:40px}.family-message{font-size:17px}}

/* Family invitation belongs on the illustrated hero. */
.hero{padding:120px 15% 95px;min-height:max(100svh,1050px)}.hero-panel.family-hero{width:min(560px,100%);border-radius:20px;background:#fff9ed42;padding:24px 14px;backdrop-filter:blur(1px)}.family-hero .ganesh{width:50px;height:auto;margin-bottom:16px}.family-hero .family-intro{font:italic 23px/1.5 'Playfair Display',Georgia,serif;margin:0 0 20px}.hero .family-person{display:block;font:italic 52px/1.15 'Playfair Display',Georgia,serif;color:#72202b;margin:14px 0}.family-hero .family-parent-line{font-size:16px;line-height:1.7;margin:0 0 16px}.family-hero .family-with{margin:12px 0;font-size:23px}.family-hero .family-message{font-size:18px;line-height:1.7;margin:24px 0 20px}.family-hero .family-promise{font-size:18px;line-height:1.6;margin:20px 0}.family-hero .couple-hashtag{font:italic 22px/1.6 'Playfair Display',Georgia,serif;margin:20px 0}.family-hero .scroll{margin-top:24px}@media(max-width:640px){.hero{padding:110px 12% 90px;min-height:max(100svh,1040px)}.hero-panel.family-hero{padding:20px 8px}.hero .family-person{font-size:42px}.family-hero .family-intro{font-size:20px}.family-hero .family-parent-line{font-size:14px;line-height:1.8}.family-hero .family-message{font-size:15px;line-height:1.8}.family-hero .family-promise{font-size:16px}.family-hero .couple-hashtag{font-size:19px}}

/* Bengali family closing, with a clear centre for the message. */
.closing.bengali-closing{position:relative;background:#f3e6cb url('assets/traditions-still-life.webp') center bottom/100% auto no-repeat;padding:45px 24px 300px;min-height:760px;isolation:isolate}.bengali-closing:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#f6ead5 0%,#f6ead5 47%,#f6ead5d9 62%,#f6ead510 100%)}.closing-card{max-width:760px;margin:auto;padding:35px 22px 25px;border:1px solid #b9965790;outline:1px solid #b996573b;outline-offset:7px}.closing-presence{font:600 italic 24px/1.55 'Playfair Display',Georgia,serif;color:#72202b;margin:0 0 20px}.closing-divider{color:#ac853b;font-size:24px;letter-spacing:8px;margin:16px 0 24px}.closing-regards{font:600 italic 21px/1.5 'Playfair Display',Georgia,serif;color:#72202b;margin:0 0 10px}.closing h2.closing-family{font:italic 46px/1.3 'Playfair Display',Georgia,serif;color:#72202b;margin:0 0 22px}.closing-bengali{font-size:22px;line-height:1.6;color:#72202b;text-align:right;margin:20px 0}.bengali-closing .text-button{display:inline-block;margin:10px 0;color:#542c29}@media(min-width:800px){.closing.bengali-closing{background-size:800px auto}}@media(max-width:640px){.closing.bengali-closing{padding:38px 24px 210px;min-height:690px}.closing-card{padding:28px 14px 20px}.closing-presence{font-size:20px}.closing h2.closing-family{font-size:36px}.closing-bengali{font-size:19px}.closing-regards{font-size:19px}}

#celebration.traditions .traditions-copy{color:#3d211f;background:transparent}#celebration.traditions .traditions-copy p,#celebration.traditions .traditions-copy p strong,#celebration.traditions .traditions-copy p em{color:#3d211f!important;opacity:1}#celebration.traditions .traditions-copy h2,#celebration.traditions .traditions-copy .eyebrow{color:#72202b!important;opacity:1}#celebration.traditions .traditions-copy .eyebrow{font-weight:600}

/* Reference gallery: two intimate columns of framed memories. */
#moments{position:relative;background:#fcf3de;padding:70px 24px 80px;overflow:hidden}#moments>.eyebrow{max-width:480px;margin:0 auto 24px;color:#842633;font-size:11px;line-height:1.9;letter-spacing:4px}#moments>h2{font:400 clamp(40px,6vw,66px)/1.05 'Playfair Display',Georgia,serif;color:#791e2d;margin:0 auto 55px;max-width:700px}.gallery-flourishes{position:absolute;top:30px;left:7%;right:7%;display:flex;justify-content:space-between;color:#a15b69;font-size:38px;line-height:1;pointer-events:none}#moments .moments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;max-width:900px;margin:0 auto;padding:8px 3px 18px}#moments .moments-grid figure{margin:0;padding:10px 10px 22px;background:#fffef6;box-shadow:0 8px 26px #70543c16;transform:rotate(-1.3deg)}#moments .moments-grid figure:nth-child(even){transform:rotate(1.2deg);margin-top:0}#moments .moments-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}#moments .moments-grid figure:nth-child(2) img,#moments .moments-grid figure:nth-child(4) img{aspect-ratio:4/5}#moments .moments-grid figcaption{font:italic 20px/1.4 'Playfair Display',Georgia,serif;color:#7c2331;padding:16px 2px 0}#moments .moments-grid figure:nth-child(4){margin-top:-25px}#moments .moments-grid figure:nth-child(6){margin-top:-50px}@media(max-width:640px){#moments{padding:75px 18px 65px}#moments>.eyebrow{font-size:10px;letter-spacing:3px;max-width:300px;margin-bottom:24px}#moments>h2{font-size:clamp(34px,8.7vw,51px);margin-bottom:45px}.gallery-flourishes{top:27px;font-size:30px}#moments .moments-grid{gap:20px 16px}#moments .moments-grid figure{padding:7px 7px 18px}#moments .moments-grid figcaption{font-size:clamp(12px,3.2vw,17px);padding-top:14px}#moments .moments-grid figure:nth-child(4){margin-top:-17px}#moments .moments-grid figure:nth-child(6){margin-top:-34px}}

/* Contrasting maroon, ivory and antique gold countdown palette. */
section.countdown-section.paper{background:radial-gradient(ellipse at top,#822f3d 0%,#641c2a 65%,#521722 100%);color:#fff6e4}section.countdown-section.paper h2{color:#fff6e4}section.countdown-section.paper .eyebrow{color:#f0d29b}section.countdown-section.paper:before{color:#e1ba72}section.countdown-section.paper .countdown div{background:linear-gradient(145deg,#fff9e9,#eddbb9);color:#54202a}section.countdown-section.paper .countdown b{color:#761f31}section.countdown-section.paper .countdown span{color:#54202a;font-weight:500}section.countdown-section.paper .text-button{color:#ffe3a6;border-color:#d5ae68}section.countdown-section.paper .text-button:hover{color:#fff8e9}

#festivities{position:relative;isolation:isolate;overflow:hidden}#festivities .event-fireworks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}#festivities>.eyebrow,#festivities>h2,#festivities>p,#festivities>h3{position:relative;z-index:3}#festivities .wedding-art{position:relative;z-index:1}

/* Soft photographic transition into the couple's story. */
#celebration .story-photo-blend{position:relative;margin:15px -30px 25px;overflow:hidden;isolation:isolate}#celebration .story-photo-blend img{display:block;width:100%;height:auto;filter:blur(1.1px);opacity:.88;mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 78%,transparent 100%)}#celebration .story-photo-blend:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 22px 0 28px #f6e9dd,inset -22px 0 28px #f6e9dd;background:linear-gradient(0deg,#f6e9dd,transparent 25%,transparent 85%,#f6e9dd)}@media(max-width:640px){#celebration .story-photo-blend{margin:8px -24px 20px}#celebration .story-photo-blend img{min-height:260px;object-fit:cover;object-position:center}}

/* Restore the original animated gate behind the invitation opening. */
#opening .opening-video{display:block}#opening .opening-video-shade{display:block;background:linear-gradient(180deg,rgba(43,17,20,.12),rgba(43,17,20,.18) 35%,rgba(43,17,20,.68))}#opening .opening-content{z-index:3}#opening h1,#opening .opening-tagline{text-shadow:0 2px 14px #2b1114aa}

.family-hero .couple-hashtag,.couple-hashtag{font-weight:700!important}

.hero-panel.family-hero .couple-hashtag,.hero-panel.family-hero .couple-hashtag strong{font-family:'DM Sans',Arial,sans-serif!important;font-size:clamp(18px,4.5vw,24px)!important;font-style:normal!important;font-weight:700!important;letter-spacing:.3px;color:#72202b!important}
