/* The invitation's couture edition: embossed paper, gold foil and a wax seal. */
:root{--gold:#dfc18a;--paper:#faf6ed}body{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.035' filter='url(%23n)'/%3E%3C/svg%3E")}body.gate-open{overflow:hidden}header{background:transparent;border-bottom-color:#dfc18a30}.hero{min-height:900px}.hero-art{opacity:1;background-image:linear-gradient(180deg,#142b3a12,#142b3a00 70%,#10243122),image-set(url('heritage-backdrop.webp') type('image/webp'), url('heritage-backdrop.jpg') type('image/jpeg'))}.hero-frame{position:absolute;inset:112px 5% 45px;border:1px solid #dfc18a73;border-radius:48% 48% 0 0/31% 31% 0 0;pointer-events:none}.hero-frame:after{content:'';position:absolute;inset:9px;border:1px solid #dfc18a30;border-radius:inherit}.hero-frame>span{position:absolute;bottom:-19px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--gold);font-size:26px;padding:0 20px}.hero-inner{padding-top:25px}.hero h1{font-size:clamp(80px,9vw,124px);color:#f8eddb;letter-spacing:-3px}.hero h1 .ampersand{font-size:60px;color:#d8b675;margin:12px 0 9px}.hero .blessing{font-family:var(--serif);font-size:18px;letter-spacing:1px}.hero-intro{margin-top:25px}.hero-date{font-size:11px;letter-spacing:1.8px}.gold{background:linear-gradient(110deg,#c4a064,#f0dca8 45%,#d8b575);box-shadow:0 0 0 4px #142b3a,0 0 0 5px #d4b67b80,0 12px 35px #07151d50;min-width:225px}.scroll-cue{bottom:9px;letter-spacing:1px}.hero-foot{margin-top:32px}.ornament{display:flex;align-items:center;justify-content:center;gap:20px;color:#ac8a4c;font-family:var(--serif);font-size:28px;margin-bottom:28px}.ornament:before,.ornament:after{content:'';width:65px;height:1px;background:linear-gradient(90deg,transparent,#b69760)}.ornament:after{transform:rotate(180deg)}.ornament span{font-size:40px;line-height:1}.ornament span:last-child{transform:scaleX(-1)}.invitation{position:relative}.invitation h2{font-style:italic;font-size:clamp(48px,6vw,74px)}.couple-arch{position:relative;border:1px solid #cbb780;max-width:700px;padding:70px 35px 45px;margin:60px auto 35px;border-radius:49% 49% 0 0/43% 43% 0 0}.couple-arch:before{content:'';position:absolute;inset:8px;border:1px solid #cbb78050;border-radius:inherit;pointer-events:none}.couple h3{font-size:51px}.countdown{border:0;padding-top:20px}.countdown>p{font-family:var(--serif);font-style:italic;font-size:21px;color:#937441}#countdown-values b{font-size:65px}#countdown-values em{font-size:28px}.celebrations{background:#e9ece4}.section-heading h2{font-style:italic}.event{position:relative;border-color:#b2b9a450}.event h3{font-size:64px}.event .kicker{color:#8c6c34}.event-art{filter:drop-shadow(0 2px 0 #ffffff)}.date-block b{font-style:italic;color:#9d7b3f}.blessing-band{position:relative;background:linear-gradient(#142b3aee,#142b3aee),image-set(url('heritage-backdrop.webp') type('image/webp'), url('heritage-backdrop.jpg') type('image/jpeg')) center/cover;padding:85px 40px}.blessing-band:before,.blessing-band:after{content:'';position:absolute;inset:20px;border:1px solid #d4b67b55;pointer-events:none}.blessing-band:after{inset:27px;border-color:#d4b67b20}.blessing-ornament{color:var(--gold);font-size:23px;margin-bottom:15px}.blessing-band blockquote{font-style:italic;font-size:clamp(30px,3.4vw,46px)}.venue{border:0;background:#f0ebe0;box-shadow:0 12px 40px #142b3a07}.venue-illustration{height:250px;background:linear-gradient(#142b3a60,#142b3a20),image-set(url('heritage-backdrop.webp') type('image/webp'), url('heritage-backdrop.jpg') type('image/jpeg')) 12% 85%/180% auto;color:#d4b67b}.venue-illustration>span{color:#ecd9b1;top:30px;font-size:28px}.venue-illustration .building,.venue-illustration .building i,.resort .building:before,.gurdwara .building,.gurdwara .building i,.dome{border-color:#d4b67b}.dome:before{background:#d4b67b}.venue-illustration:before,.venue-illustration:after{border-color:#d4b67b40}.venue-illustration.gurdwara{background-position:88% 85%}.venue-info{padding:35px 40px 40px}.venue-info h3{font-style:italic;font-size:42px}.rsvp{position:relative;background:#e9ece4}.rsvp h2{font-style:italic;font-size:clamp(58px,7vw,88px)}.signature{color:#95703c}.contacts{padding-top:14px}.contact h3{font-style:italic}.contact a{border-bottom:1px solid #142b3a0c}.download{color:#806231}.footer-love{font-family:var(--serif);font-style:italic;font-size:16px}
.invitation-gate[hidden]{display:none}.invitation-gate{position:fixed;inset:0;z-index:30;overflow-y:auto;background:linear-gradient(#10243140,#10243150),image-set(url('heritage-backdrop.webp') type('image/webp'), url('heritage-backdrop.jpg') type('image/jpeg')) center/cover;display:grid;place-items:center;text-align:center;color:#f8eddb;isolation:isolate;transition:opacity .8s ease,visibility .8s}.invitation-gate:before,.invitation-gate:after{content:'';position:fixed;inset:24px;border:1px solid #d4b67b70;pointer-events:none;z-index:-1}.invitation-gate:after{inset:32px;border-color:#d4b67b30}.gate-content{padding:55px 25px 35px;max-width:900px;width:100%;margin:auto}.gate-blessing{font-family:'Noto Sans Gurmukhi';font-size:18px;color:var(--gold)}.gate-prelude{margin-top:24px;font-family:var(--serif);font-style:italic;font-size:22px;color:#ead5ac}.gate-content h2{font-size:clamp(55px,6vw,76px);margin:12px 0 35px}.envelope{position:relative;display:block;margin:0 auto;width:390px;height:240px;max-width:85%;border:1px solid #b3935b;background:#e7d6b4;isolation:isolate;box-shadow:0 30px 70px #0005,0 0 0 5px #d4b67b15;perspective:1000px;padding:0;transform:rotate(-3deg);transition:transform .5s}.envelope:hover{transform:rotate(0) translateY(-4px)}.envelope-back{position:absolute;inset:0;background:linear-gradient(145deg,transparent 49.6%,#c5a56a 50%,#e9d8b5 50.4%) left/50% 100%,linear-gradient(215deg,transparent 49.6%,#c5a56a 50%,#e9d8b5 50.4%) right/50% 100%;background-repeat:no-repeat;z-index:2;pointer-events:none}.envelope:after{content:'';position:absolute;inset:10px;border:1px solid #a4804250;pointer-events:none;z-index:4}.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 62%);background:linear-gradient(165deg,#f8edda,#d5bc88);transform-origin:top;z-index:3;transition:transform .65s;filter:drop-shadow(0 5px 3px #60421440)}.envelope-card{position:absolute;inset:15px 18px 0;background:#fbf5e8;border:1px solid #b89962;padding:35px 14px;z-index:1;transition:transform .9s .35s;display:flex;flex-direction:column;color:var(--ink);font-family:var(--serif);font-size:32px}.envelope-card small{font-family:var(--sans);font-size:9px;letter-spacing:1px;margin-top:14px}.wax-seal{position:absolute;z-index:5;top:47%;left:50%;width:76px;height:76px;transform:translateX(-50%);border-radius:48% 52% 48% 49%;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#ebd099,#b3833c 75%);box-shadow:0 5px 10px #60421450,inset 0 0 0 4px #c49d60,inset 0 0 0 6px #e8ca8c;transition:opacity .3s,transform .4s;color:#755022}.wax-seal>span{font-family:var(--serif);font-size:29px;letter-spacing:-4px;text-shadow:0 1px #f7e3bd}.seal-amp{font-size:20px;margin:0 3px}.gate-hint{margin-top:32px;font-size:10px;letter-spacing:1.6px;color:#e1cda5}.gate-location{margin-top:30px;font-size:9px;color:#bac2c2;letter-spacing:.7px}.gate-location>span{color:var(--gold);margin:0 14px}.invitation-gate.unsealing .envelope-flap{transform:rotateX(180deg);z-index:0}.invitation-gate.unsealing .wax-seal{opacity:0;transform:translateX(-50%) scale(1.25)}.invitation-gate.unsealing .envelope-card{transform:translateY(-85px)}.invitation-gate.leaving{opacity:0;visibility:hidden;pointer-events:none}.invitation-gate.unsealing .gate-hint{opacity:0}.gate-stars{position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(1px 1px at 20% 25%,#e7ce93 100%,transparent),radial-gradient(1px 1px at 80% 35%,#e7ce93 100%,transparent),radial-gradient(2px 2px at 18% 65%,#e7ce9370 100%,transparent),radial-gradient(1px 1px at 75% 75%,#e7ce93 100%,transparent)}
@media(max-width:600px){.hero{min-height:820px}.hero-frame{inset:100px 15px 35px;border-radius:48% 48% 0 0/20% 20% 0 0}.hero h1{font-size:66px;letter-spacing:-2px}.hero h1 .ampersand{font-size:47px}.hero .blessing{font-size:15px;letter-spacing:.3px}.hero-inner{padding-top:0}.hero-intro{margin-top:22px}.hero-date{font-size:10px;letter-spacing:.4px}.hero-foot{margin-top:30px}.hero .ik{margin-bottom:13px}.couple-arch{padding:65px 16px 38px;margin:40px auto 30px;gap:12px}.couple h3{font-size:31px}.couple p{font-size:9px}.couple>span{font-size:27px}.invitation h2{font-size:49px}.event h3{font-size:42px}.blessing-band{padding:65px 32px}.venue-illustration{height:225px}.venue-info{padding:28px}.venue-info h3{font-size:37px}.footer-love{font-size:14px}.gate-content{padding:50px 18px 35px}.gate-content h2{font-size:55px;margin:12px 0 35px}.gate-prelude{font-size:19px;margin-top:22px}.gate-blessing{font-size:15px}.envelope{width:300px;height:190px;max-width:82%}.wax-seal{width:64px;height:64px}.wax-seal>span{font-size:25px}.envelope-card{font-size:24px;padding:25px 10px}.gate-location{font-size:8px;letter-spacing:.2px}.gate-location>span{margin:0 7px}.gate-hint{margin-top:30px}.invitation-gate:before{inset:13px}.invitation-gate:after{inset:20px}}@media(max-height:720px){.gate-content{padding-top:35px}.gate-content h2{font-size:46px;margin-bottom:25px}.gate-prelude{margin-top:12px}.envelope{height:180px;width:300px}.gate-location{margin-top:18px}.gate-hint{margin-top:23px}}@media(prefers-reduced-motion:reduce){.invitation-gate,.envelope,.envelope-flap,.envelope-card,.wax-seal{transition:none!important}}
.envelope-card{opacity:0;transition:transform .9s .35s,opacity .2s .25s}.invitation-gate.unsealing .envelope-card{opacity:1}
/* Personal photographs, presented as keepsake prints. */
.portraits{padding-top:100px;padding-bottom:100px;overflow:hidden}.portrait-heading{text-align:center;margin-bottom:60px}.portrait-heading h2{font-style:italic;font-size:clamp(48px,6vw,76px)}.portrait-heading>p:last-child{font-family:var(--serif);font-size:26px;margin-top:16px;color:#947540}.portrait-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:920px;margin:auto;align-items:start}.portrait-gallery figure{margin:0}.portrait-primary{transform:rotate(-3deg)}.portrait-secondary{transform:rotate(3deg);padding-top:95px}.portrait-mat{padding:12px;background:#fcf8ef;border:1px solid #d9c69b;box-shadow:0 20px 50px #142b3a17;position:relative}.portrait-mat:after{content:'';position:absolute;inset:6px;border:1px solid #c2a66f60;pointer-events:none}.portrait-mat img{display:block;width:100%;height:auto}.portrait-gallery figcaption{text-align:center;font-family:var(--serif);font-size:24px;font-style:italic;color:#8a6c3d;padding-top:20px}.portrait-closing{max-width:480px;margin:65px auto 0;text-align:center;font-family:var(--serif);font-size:25px;color:#5b685f;line-height:1.5}nav .nav-couple{display:inline}@media(max-width:600px){nav{gap:15px}.nav-couple{font-size:10px}.portraits{padding:65px 28px}.portrait-heading{margin-bottom:40px}.portrait-heading h2{font-size:47px}.portrait-gallery{grid-template-columns:1fr;gap:35px;max-width:340px}.portrait-primary{margin-right:20px!important}.portrait-secondary{padding-top:0;margin-left:20px!important}.portrait-mat{padding:9px}.portrait-gallery figcaption{font-size:22px;padding-top:15px}.portrait-closing{margin-top:40px;font-size:24px}}
/* Readability: keep supporting information comfortably legible on phones. */
body{font-size:16px}.hero .blessing{font-size:24px;line-height:1.5}.hero-intro{font-size:16px;line-height:1.7;max-width:540px;margin:24px auto}.hero-date{font-size:18px;letter-spacing:.5px;line-height:1.6;gap:18px}.hero #open-invitation{font-size:18px;min-height:58px;min-width:270px;padding:15px 25px}.hero{min-height:1000px}.hero .scroll-cue{font-size:12px}.hero-foot{font-size:24px}nav{font-size:14px}.kicker{font-size:13px;letter-spacing:.6px}.intro{font-size:16px}.couple p{font-size:14px}.elders{font-size:14px;line-height:1.9}#countdown-values span{font-size:13px;letter-spacing:.3px}.section-heading>p{font-size:15px}.date-block span{font-size:14px}.event-main>p:not(.kicker){font-size:15px}.event-meta{font-size:15px}.text-link,.calendar{font-size:14px;padding:9px 0}.day-timeline b{font-size:15px}.day-timeline span{font-size:13px}.timezone-note{font-size:13px}.blessing-band>span{font-size:13px;letter-spacing:.3px}.venue-info>p:not(.kicker){font-size:15px}.button{font-size:15px}footer>p span{font-size:13px;line-height:1.8}.gate-hint{font-size:14px;letter-spacing:.6px}.gate-location{font-size:13px;letter-spacing:0}.envelope-card small{font-size:12px}.toast{font-size:14px}
@media(max-width:600px){nav{font-size:12px;gap:14px}nav .nav-couple{font-size:12px}.hero{min-height:960px;height:auto;padding:130px 28px 95px}.hero-inner{width:100%}.hero-frame{inset:100px 15px 35px}.hero .blessing{font-size:21px;line-height:1.5;max-width:290px;margin:auto}.hero-intro{font-size:14px;line-height:1.65;letter-spacing:.2px;max-width:290px;margin:22px auto 28px}.hero-date{font-size:16px;line-height:1.6;letter-spacing:0;gap:12px;flex-wrap:wrap;margin:30px auto}.hero #open-invitation{font-size:17px;min-width:250px;max-width:100%;min-height:56px;padding:14px 21px}.hero-foot{font-size:22px;max-width:290px;line-height:1.5;margin-top:32px}.intro{font-size:15px}.couple p{font-size:12px}.elders{font-size:13px}.kicker{font-size:12px}.section-heading>p{font-size:14px}.event{grid-template-columns:70px minmax(0,1fr);gap:18px}.date-block span{font-size:12px}.event-main>p:not(.kicker){font-size:14px}.event-meta{font-size:14px}.text-link,.calendar{font-size:13px}.event-actions{gap:14px}.day-timeline div{align-items:baseline;gap:10px}.day-timeline b{font-size:13px;min-width:63px}.day-timeline span{font-size:12px}.timezone-note{font-size:12px}.blessing-band>span{font-size:12px}.venue-info>p:not(.kicker){font-size:14px}.outline{font-size:14px}.gate-hint{font-size:13px}.gate-location{font-size:11px;max-width:245px;margin:24px auto 0;line-height:1.9}.gate-content{padding-left:28px;padding-right:28px}footer>p span{font-size:12px}}
@media(max-width:380px){.hero-date{flex-direction:column;gap:4px}.hero-date i{display:none}.hero{min-height:1010px}.hero h1{font-size:62px}.couple-arch{flex-direction:column;border-radius:48% 48% 0 0/20% 20% 0 0;padding-top:50px;gap:18px}.couple h3{font-size:38px}.couple p{font-size:13px}nav{gap:11px;font-size:11px}nav .nav-couple{font-size:11px}}
/* Keep the when and where together for each celebration. */
.celebrations .event{background:#faf6ed;padding:42px 35px;margin:0 0 30px;border:1px solid #c7b78f70;grid-template-columns:130px minmax(0,1fr) 130px;gap:35px;scroll-margin-top:25px}.event-place{margin:25px 0}.event-place h4,.wedding-lunch h4{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.2;margin:6px 0}.event-place>p:not(.event-time),.wedding-lunch>div>p:not(.event-time){font-size:14px;color:#5b685f;margin-top:6px}.event-time{font-size:15px;font-weight:500;color:#80602f}.event .date-block{border-color:#c7b78f70}.wedding-lunch{border:1px solid #c7b78f70;padding:22px;margin:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#edece250}.wedding-lunch .text-link{flex-shrink:0}.day-timeline{margin-bottom:24px}.celebrations .timezone-note{border:0;padding:0}.event-actions{flex-wrap:wrap}@media(max-width:900px){.celebrations .event{grid-template-columns:110px minmax(0,1fr);gap:25px;padding:32px 24px}.wedding-lunch{align-items:start;flex-direction:column;gap:12px}}@media(max-width:600px){.celebrations .event{display:block;padding:25px 22px;margin-bottom:24px}.event .date-block{border-right:0;border-bottom:1px solid #c7b78f70;padding:0 0 18px;margin-bottom:24px;flex-direction:row;align-items:baseline;justify-content:start;gap:9px;text-align:left;flex-wrap:wrap}.event .date-block b{font-size:40px;line-height:1}.event .date-block span{font-size:14px}.event .date-block span:first-child{width:100%;font-size:13px}.event h3{font-size:43px}.event .kicker{font-size:12px}.event-place h4,.wedding-lunch h4{font-size:28px}.event-place>p:not(.event-time),.wedding-lunch>div>p:not(.event-time){font-size:14px}.event-time{font-size:15px}.event-place{margin:22px 0}.wedding-lunch{padding:18px;margin:22px 0}.event-actions{gap:12px 22px}.event-actions .text-link,.event-actions .calendar,.wedding-lunch .text-link{font-size:14px}.day-timeline{flex-direction:row;flex-wrap:wrap;gap:12px 25px}.day-timeline div{flex-direction:column;gap:3px}.day-timeline b{font-size:14px}.day-timeline span{font-size:13px}}
.hero h1 .surname{display:block;font-size:.3em;line-height:1.3;letter-spacing:3px;margin-top:14px}.hero h1 .ampersand{margin:17px 0}.couple h3 .surname{display:block;font-size:.6em;line-height:1.3;letter-spacing:1px;margin-top:6px}.hero{min-height:1090px}.envelope-card{font-size:27px;line-height:1.15}.hero-foot{margin-top:28px}@media(max-width:600px){.hero{min-height:1060px}.hero h1 .surname{font-size:24px;letter-spacing:2px;margin-top:10px}.hero h1 .ampersand{margin:17px 0}.envelope-card{font-size:22px}.gate-content h2{margin-bottom:35px}}@media(max-width:380px){.hero{min-height:1100px}}
/* Ceremony artwork sits behind the details, with a quiet ivory reading area. */
.celebrations .event{isolation:isolate;overflow:hidden;grid-template-columns:130px minmax(0,1fr)}.celebrations .event:before{content:'';position:absolute;inset:0;z-index:-1;background-size:auto 100%;background-repeat:no-repeat;background-position:right center;pointer-events:none}.celebrations .event:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf6ed 0%,#faf6edf5 40%,#faf6edc9 62%,#faf6ed38 100%);pointer-events:none}.celebrations .engagement:before{background-image:image-set(url('engagement-rings.webp') type('image/webp'), url('engagement-rings.jpg') type('image/jpeg'))}.celebrations .anand:before{background-image:image-set(url('anand-karaj-laavan.webp') type('image/webp'), url('anand-karaj-laavan.jpg') type('image/jpeg'))}.event-main{max-width:680px}.event-main>p:not(.kicker){max-width:570px}.event .date-block{position:relative}.wedding-lunch{background:#faf6ede8}.event-actions .text-link,.event-actions .calendar{background:#faf6edb8}.celebrations .event .event-main{padding-right:100px}
@media(max-width:900px){.celebrations .event{grid-template-columns:110px minmax(0,1fr)}.celebrations .event .event-main{padding-right:0}.celebrations .event:after{background:linear-gradient(90deg,#faf6edfa,#faf6edef 55%,#faf6eda6)}.celebrations .event:before{background-size:auto 100%;background-position:70% center}}
@media(max-width:600px){.celebrations .event{display:block}.celebrations .event:before{background-size:auto 100%;background-position:65% center}.celebrations .event:after{background:linear-gradient(90deg,#faf6edf2,#faf6ede0)}.event-place h4,.event-time{position:relative}.wedding-lunch{background:#faf6edf2}}
/* A matched pair of illustrated keepsake invitations. */
.celebrations{background:linear-gradient(135deg,#e7e9df,#f1efe5)}.celebrations .section-heading{margin-bottom:44px}.celebrations .section-heading>p{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.45;color:#6b765f}.celebrations .event{display:block;padding:44px 48px 46px;margin-bottom:38px;border:1px solid #bfa16c99;outline:1px solid #d7c49d75;outline-offset:-9px;border-radius:4px;box-shadow:0 16px 45px #3444370d;min-height:515px}.celebrations .event:before{inset:0 0 0 auto;width:65%;background-size:cover;background-position:right center}.celebrations .event:after{background:linear-gradient(90deg,#fbf7ee 0%,#fbf7eef7 37%,#fbf7eedb 52%,#fbf7ee38 78%,#fbf7ee10 100%)}.event .date-block{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:14px;border:0;padding:0;margin:0 0 30px;max-width:62%;color:#7e6537}.event .date-block b{font-size:55px;line-height:1;font-style:normal;order:0}.event .date-block span:first-child{font-family:var(--serif);font-style:italic;font-size:21px;order:-1}.event .date-block span:last-child{font-size:13px;line-height:1.6;border-left:1px solid #c5ab77;padding-left:14px;max-width:102px}.celebrations .event .event-main{width:63%;max-width:680px;padding-right:0}.event .kicker{font-size:12px;letter-spacing:.6px;margin-bottom:10px}.event h3{font-size:66px;letter-spacing:-1px;margin-bottom:16px}.event-main>p:not(.kicker){font-size:15px;line-height:1.8;max-width:480px}.event-place{padding:21px 0 0;margin:22px 0;border-top:1px solid #c8b68b70}.event-place h4{font-size:31px;margin:7px 0 9px}.event-time{font-size:14px;color:#7c6030;letter-spacing:.2px}.event-place>p:not(.event-time){font-size:14px;line-height:1.8}.event-actions{margin-top:24px;gap:15px 25px}.event-actions .text-link{padding:11px 17px;border:1px solid #b99a60;background:#e0c28b;color:#172b36;font-weight:500;font-size:13px}.event-actions .calendar{background:transparent;font-size:13px;border-color:#baa47a;padding:9px 0}.event-actions .text-link:hover{background:#ead3a8}.event .day-timeline{margin:28px 0 20px;padding:18px 0;border-color:#c8b68b70;gap:35px}.event .day-timeline b{font-size:15px}.event .day-timeline span{font-size:13px}.wedding-lunch{padding:22px 24px;margin:22px 0 0;background:#fbf7eef0;border:1px solid #c7b58c88;display:block;max-width:480px}.wedding-lunch h4{font-size:28px}.wedding-lunch .text-link{display:inline-block;margin-top:14px;font-size:13px}.celebrations .event:last-of-type{margin-bottom:0}
@media(max-width:1000px){.celebrations .event{padding:38px 32px}.celebrations .event .event-main{width:74%}.event .date-block{max-width:80%}.celebrations .event:after{background:linear-gradient(90deg,#fbf7ee 0%,#fbf7eef2 45%,#fbf7eea6 75%,#fbf7ee66)}.event h3{font-size:57px}.wedding-lunch{padding:20px}}
@media(max-width:600px){.celebrations .section-heading>p{font-size:23px}.celebrations .event{padding:250px 25px 30px;min-height:0;margin-bottom:30px;outline-offset:-7px}.celebrations .event:before{inset:0 0 auto;width:100%;height:250px;background-size:cover;background-position:right center}.celebrations .engagement:before{background-position:75% center}.celebrations .anand:before{background-position:right center}.celebrations .event:after{background:linear-gradient(180deg,transparent 0,transparent 130px,#fbf7ee88 205px,#fbf7ee 252px)}.event .date-block{max-width:none;gap:12px;margin:0 0 25px;padding:0 0 20px;border-bottom:1px solid #c8b68b70;flex-wrap:nowrap}.event .date-block span:first-child{width:auto;font-size:20px}.event .date-block b{font-size:48px}.event .date-block span:last-child{font-size:12px;padding-left:12px;max-width:94px}.celebrations .event .event-main{width:100%;max-width:none}.event h3{font-size:46px;letter-spacing:-.6px}.event .kicker{font-size:12px}.event-main>p:not(.kicker){font-size:14px;line-height:1.8}.event-place h4{font-size:29px}.event-place{margin:20px 0;padding-top:19px}.event-actions{gap:15px 20px}.event-actions .text-link{font-size:13px;padding:11px 14px}.event-actions .calendar{font-size:13px}.event .day-timeline{flex-direction:row;gap:25px}.event .day-timeline div{flex-direction:column}.wedding-lunch{padding:19px;margin-top:20px}.wedding-lunch h4{font-size:27px}.wedding-lunch>div>p:not(.event-time){font-size:14px}}
@media(max-width:360px){.celebrations .event{padding-left:20px;padding-right:20px}.event .date-block{gap:9px}.event .date-block span:first-child{font-size:18px}.event .date-block b{font-size:43px}.event .date-block span:last-child{font-size:11px;padding-left:9px}.event h3{font-size:41px}}
/* Personal, editorial composition across the invitation. */
:root{--ink:#183342;--deep:#102937;--gold:#d9b979;--paper:#fcf8ef}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:55px;padding:150px 10% 110px;min-height:1000px;height:auto;max-height:none}.hero-inner{width:100%;padding:0}.hero h1{font-size:clamp(74px,7.4vw,112px)}.hero .blessing{font-size:22px;letter-spacing:0}.hero-intro{font-size:15px;line-height:1.8;color:#d6ddd9;margin:22px auto 30px;letter-spacing:.1px}.hero-date{font-size:16px;gap:12px;margin:28px 0}.hero #open-invitation{font-size:16px;min-width:250px}.hero-foot{font-size:23px;line-height:1.5;max-width:400px;margin:30px auto 0}.hero-frame{inset:112px 4% 43px;border-radius:45% 45% 0 0/23% 23% 0 0;border-color:#d9b97955}.hero-portrait{position:relative;z-index:1;margin:0;max-width:370px;width:100%;justify-self:center;align-self:center}.hero-portrait-frame{position:relative;border-radius:49% 49% 3px 3px/31% 31% 3px 3px;padding:9px;border:1px solid #d9b979aa;box-shadow:0 24px 65px #05152180;background:#d9b97912}.hero-portrait-frame:after{content:'';position:absolute;inset:-9px;border:1px solid #d9b97945;border-radius:inherit;pointer-events:none}.hero-portrait img{display:block;width:100%;height:545px;object-fit:cover;object-position:50% 38%;border-radius:inherit;filter:saturate(.88)}.hero-portrait figcaption{color:#e8d6af;font-family:var(--serif);font-size:26px;font-style:italic;margin-top:24px}.hero-art{background-image:linear-gradient(#10293718,#10293718),image-set(url('heritage-backdrop.webp') type('image/webp'), url('heritage-backdrop.jpg') type('image/jpeg'))}.hero .ik{font-size:42px;margin-bottom:17px}.invitation{max-width:1150px}.invitation .intro{font-size:16px;max-width:600px;line-height:1.9}.invitation h2{font-size:clamp(50px,5.4vw,72px);line-height:1.1}.couple-arch{background:linear-gradient(180deg,#f0e9db70,transparent);border-color:#c0a36790;max-width:760px;border-radius:46% 46% 0 0/44% 44% 0 0;padding:75px 45px 45px}.couple h3{font-size:49px}.couple h3 .surname{font-size:25px;letter-spacing:1.5px;color:#957641}.couple p{font-size:13px;line-height:1.9}.elders{font-size:14px;line-height:2.1}.countdown{margin-top:45px}.countdown>p{font-size:24px}#countdown-values{gap:35px;margin-top:22px}#countdown-values span{background:#eee7d650;padding:14px 18px 11px;border-bottom:1px solid #c5ac77;min-width:93px}#countdown-values b{font-size:60px;line-height:1.05;margin-bottom:8px}#countdown-values em{font-size:22px;color:#9e8045}.portraits{background:linear-gradient(180deg,#fcf8ef,#f4eee1);padding-top:95px;padding-bottom:95px}.portrait-heading{margin-bottom:55px}.portrait-heading h2{font-size:clamp(50px,6vw,80px)}.portrait-gallery{gap:40px;max-width:950px;align-items:start}.portrait-primary,.portrait-secondary{transform:none;padding:0}.portrait-mat{padding:9px;border-color:#c8ad75;background:#fbf6eb;box-shadow:0 18px 50px #263c3112;border-radius:46% 46% 0 0/26% 26% 0 0}.portrait-mat:after{border-radius:inherit;border-color:#d8c7a3aa;inset:4px}.portrait-mat img{height:600px;object-fit:cover;object-position:center 35%;border-radius:inherit}.portrait-secondary{padding-top:65px}.portrait-secondary .portrait-mat{border-radius:3px}.portrait-gallery figcaption{font-size:25px;color:#897042;padding-top:23px}.portrait-closing{font-size:27px;margin-top:55px}.blessing-band{background-image:linear-gradient(#102937e6,#102937e6),image-set(url('heritage-backdrop.webp') type('image/webp'), url('heritage-backdrop.jpg') type('image/jpeg'));padding:90px 35px}.blessing-band blockquote{max-width:920px;font-size:clamp(31px,3.5vw,47px);line-height:1.35}.blessing-band>span{font-size:14px;color:#c8ceca}.blessing-band:before{inset:19px}.blessing-band:after{inset:27px}footer{padding:45px 7%;background:#102937}footer>p{font-size:26px}footer>p span{font-size:12px}.footer-love{font-size:18px}.celebrations .section-heading .kicker{font-size:13px}.envelope{border-radius:3px}.gold{box-shadow:0 0 0 4px #183342,0 0 0 5px #d4b67b80,0 12px 35px #07151d50}
@media(max-width:1000px) and (min-width:601px){.hero{padding-left:8%;padding-right:8%;gap:35px}.hero h1{font-size:76px}.hero-portrait img{height:460px}.hero .blessing{font-size:20px}.hero-date{flex-direction:column;gap:3px}.hero-date i{display:none}.hero #open-invitation{min-width:220px;font-size:15px}.hero-portrait figcaption{font-size:23px}.portrait-mat img{height:490px}}
@media(max-width:600px){.hero{display:flex;flex-direction:column;gap:0;padding:128px 28px 92px;min-height:0;height:auto}.hero-inner{display:contents}.hero .ik{order:1;font-size:34px;margin:0 0 13px}.hero .blessing{order:2;font-size:21px;max-width:295px;line-height:1.4}.hero-intro{order:3;font-size:14px;margin:18px 0 29px;line-height:1.6;max-width:290px}.hero-portrait{order:4;width:170px;max-width:170px;margin:0 auto 35px;align-self:center}.hero-portrait-frame{padding:5px}.hero-portrait-frame:after{inset:-6px}.hero-portrait img{height:215px;object-position:center 28%}.hero-portrait figcaption{display:none}.hero h1{order:5;font-size:64px;letter-spacing:-2px;margin:0}.hero h1 .surname{font-size:22px;letter-spacing:2px;line-height:1.2;margin-top:9px}.hero h1 .ampersand{font-size:39px;margin:13px 0}.hero-date{order:6;flex-direction:column;font-size:16px;gap:4px;line-height:1.5;margin:27px 0}.hero-date i{display:none}.hero #open-invitation{order:7;font-size:17px;min-width:250px;max-width:100%;margin:0}.hero-foot{order:8;font-size:22px;max-width:285px;margin:28px 0 0;line-height:1.4}.hero-frame{inset:92px 14px 35px;border-radius:47% 47% 0 0/14% 14% 0 0}.hero .scroll-cue{bottom:8px}.invitation{padding-top:65px;padding-bottom:65px}.invitation h2{font-size:48px}.invitation .intro{font-size:15px;line-height:1.85}.couple-arch{flex-direction:column;gap:20px;padding:52px 22px 35px;border-radius:47% 47% 0 0/22% 22% 0 0}.couple h3{font-size:43px;margin-bottom:10px}.couple h3 .surname{font-size:23px}.couple>span{font-size:31px;line-height:1}.couple p{font-size:13px}.elders{font-size:13px;line-height:1.9}.countdown{margin-top:35px}#countdown-values{gap:12px;margin-top:19px}#countdown-values span{padding:12px 9px;min-width:69px;font-size:12px}#countdown-values b{font-size:46px}#countdown-values em{font-size:17px}.countdown>p{font-size:22px}.portraits{padding:65px 26px}.portrait-heading{margin-bottom:36px}.portrait-gallery{gap:34px;max-width:350px}.portrait-primary,.portrait-secondary{margin:0!important;padding:0}.portrait-mat img{height:auto;max-height:none;object-fit:contain}.portrait-gallery figcaption{font-size:23px;padding-top:17px}.portrait-closing{font-size:25px;margin-top:35px}.blessing-band{padding:65px 35px}.blessing-band blockquote{font-size:32px}.blessing-band>span{font-size:12px;line-height:1.8}.footer-love{font-size:16px}footer>p{font-size:23px}footer>p span{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.invitation-gate:not(.unsealing) .envelope{animation:envelope-arrival 1.2s ease-out both}@keyframes envelope-arrival{from{opacity:0;transform:translateY(18px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}}
@media(min-width:601px) and (max-width:1000px){.hero{display:block;padding:145px 10% 100px}.hero h1{font-size:90px}.hero-portrait{width:290px;max-width:290px;margin:60px auto 0}.hero-portrait img{height:450px}.hero-date{flex-direction:row;gap:15px}.hero-date i{display:block}}
/* Keep decoration behind the content, including mobile display: contents. */
.hero{isolation:isolate}
.hero-art{z-index:-2;pointer-events:none}
.hero-frame{z-index:-1;pointer-events:none}
.hero-inner>*{position:relative;z-index:1}
