@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2)format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2)format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff)format("woff")}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-400-normal-q5-78SH_.woff2)format("woff2"),url(/assets/great-vibes-latin-400-normal-BAZ173uY.woff)format("woff")}:root{--paper:#f5efe5;--paper-soft:#faf6ef;--paper-deep:#e8ddcc;--ink:#4c503d;--ink-soft:#69695f;--olive:#4c513b;--brown:#796a50;--red:#bd3d48;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Montserrat", Arial, sans-serif;--font-script:"Great Vibes", cursive;--page-max-width:820px;--content-width:34rem}*,:before,:after{box-sizing:border-box}html{color:var(--ink);scroll-behavior:smooth;background:#ddd4c6;overflow-x:clip}body{min-width:320px;min-height:100vh;font-family:var(--font-body);text-rendering:optimizelegibility;background:#ddd4c6;margin:0;overflow-x:clip}button,a{font:inherit}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.invitation-intro{z-index:100;padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));background:var(--paper) url(/assets/backgrounds/paper.webp) center top / min(100%, 1080px) auto repeat-y;place-items:center;display:none;position:fixed;inset:0;overflow:hidden}.intro-ready .invitation-intro{display:grid}.invitation-intro__frame{opacity:.42;background:url(/assets/hero/arch.webp) 50% 15%/auto min(94vh,1000px) no-repeat;position:absolute;inset:0}.invitation-intro__stage{perspective:1000px;place-items:center;width:min(500px,92vw);min-height:min(620px,86svh);display:grid;position:relative}.envelope{aspect-ratio:1.46;filter:drop-shadow(0 24px 28px #42342329);width:min(390px,80vw);transform-style:preserve-3d;position:absolute;top:clamp(72px,13svh,125px)}.envelope__back,.envelope__front,.envelope__flap,.envelope__card{position:absolute;inset:0}.envelope__back{z-index:1;background:#e9decc;border:1px solid #d8cbb7;border-radius:3px}.envelope__card{z-index:2;text-align:center;background:#fbf7ef url(/assets/backgrounds/paper-front.webp) 50%/cover;border:1px solid #d8cebd;align-content:center;justify-items:center;padding:16px;display:grid;inset:8% 5% 4%}.envelope__eyebrow{font:italic .9rem/1.2 var(--font-display);letter-spacing:.04em;margin:0}.envelope__names{width:74%;margin-top:9px}.envelope__front{z-index:4;clip-path:polygon(0 0,50% 49%,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,#efe5d4 0 49.5%,#e5d8c3 50% 100%);border-radius:3px}.envelope__flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;backface-visibility:hidden;background:linear-gradient(#f1e8d9,#e2d4be);height:58%}.envelope__seal{z-index:6;aspect-ratio:1;color:#f7dfd1;width:58px;font:.86rem/1 var(--font-display);background:radial-gradient(circle at 35% 30%,#cf6570,#a72f3b 72%);border:3px double #ffe8dc73;border-radius:50%;place-items:center;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-7deg);box-shadow:0 5px 12px #4f202133}.invitation-intro__content{z-index:8;text-align:center;width:min(410px,88vw);position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.eyebrow{font:italic clamp(1rem, 3.2vw, 1.2rem)/1.3 var(--font-display);letter-spacing:.025em;margin:0 0 10px}.invitation-intro__names{width:min(300px,66vw);margin:0 auto 18px}.open-button,.ornate-button{outline-offset:-5px;background:var(--olive);color:#f8f3ea;min-height:48px;font:600 clamp(.76rem, 1.8cqi, .92rem)/1 var(--font-display);letter-spacing:.09em;text-align:center;text-transform:uppercase;cursor:pointer;border:1px solid #807258;outline:1px solid #b6a78e;padding:15px 27px 13px;text-decoration:none;transition:transform .2s,background-color .2s}.open-button:hover,.ornate-button:hover{background:#3f4430;transform:translateY(-2px)}.open-button:disabled{cursor:wait}.open-button:focus-visible,.ornate-button:focus-visible,.music-control:focus-visible{outline:3px solid var(--red);outline-offset:4px}.wedding-page{width:min(100%, var(--page-max-width));background:var(--paper) url(/assets/backgrounds/paper.webp) center top / 100% auto repeat-y;margin:0 auto;position:relative;overflow:clip;box-shadow:0 0 50px #4c3d2b1c;container-type:inline-size}.wedding-page:before{content:"";z-index:20;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background:url(/assets/backgrounds/paper-front.webp) top/100% repeat-y;position:absolute;inset:0}.hero{z-index:1;aspect-ratio:1080/1759;min-height:0;position:relative;overflow:hidden}.hero__art,.hero__art img{position:absolute}.hero__art{inset:0}.hero__arch{z-index:1;width:100%;height:auto;inset:0}.hero__curtain{opacity:.9;width:80%;height:auto;inset:3.8% auto auto 10%}.hero__flowers{z-index:2;width:100%;height:auto;inset:9.6% auto auto 0}.hero__content{z-index:3;text-align:center;flex-direction:column;align-items:center;padding-top:24.5%;display:flex;position:absolute;inset:0}.hero__invitation{font:italic clamp(.9rem, 2.6cqi, 1.35rem)/1.18 var(--font-display);letter-spacing:.015em;margin:0}.hero__names{width:54%;margin-top:8.5%}.paper-section{z-index:1;background:#f5efe594;position:relative}.section-copy{width:min(calc(100% - 44px), var(--content-width));text-align:center;margin:0 auto}.section-copy--narrow{max-width:30rem}.section-copy p,.location-intro p{color:var(--ink-soft);letter-spacing:.005em;text-wrap:pretty;margin:1.5rem auto 0;font-size:clamp(.88rem,2.15cqi,1.08rem);line-height:1.58}.display-heading{font:400 clamp(1.8rem, 5.3cqi, 2.85rem)/1 var(--font-display);letter-spacing:.025em;margin:0}.welcome-calendar{padding-top:clamp(64px,11cqi,100px)}.botanical-divider{width:min(44%,300px);margin:clamp(28px,5cqi,46px) auto clamp(22px,4cqi,40px);transform:rotate(2deg)}.calendar{width:min(86%,510px);font-family:var(--font-display);margin:0 auto;padding:0 1.5%}.calendar__header{color:var(--red);justify-content:space-between;margin-bottom:clamp(15px,3cqi,25px);font-size:clamp(.92rem,2.2cqi,1.12rem);font-weight:600;display:flex}.calendar__weekdays,.calendar__days{text-align:center;grid-template-columns:repeat(7,1fr);align-items:center;display:grid}.calendar__weekdays{margin-bottom:4px;font-size:clamp(.72rem,1.8cqi,.92rem);font-weight:600}.calendar__day{aspect-ratio:1.35;color:#696a60;place-items:center;font-size:clamp(.72rem,1.75cqi,.92rem);display:grid;position:relative}.calendar__day.is-wedding-day{z-index:1;color:var(--ink);font-weight:600}.calendar__day.is-wedding-day:before{content:"♡";z-index:-1;color:var(--red);font:600 clamp(2rem, 5.4cqi, 2.9rem)/1 var(--font-display);position:absolute;top:50%;left:50%;transform:translate(-50%,-49%)rotate(-7deg)}.location-intro{text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;min-height:clamp(250px,40cqi,355px);padding:clamp(82px,17cqi,150px) 24px clamp(36px,6cqi,56px);display:flex;position:relative}.location-intro__bouquet{filter:drop-shadow(0 9px 9px #453b2814);width:min(26%,210px);position:absolute;top:1%;right:4%}.location-intro p{margin-top:.65rem}.venue-section{z-index:1;background:var(--brown);position:relative}.venue-section__house{width:100%;margin-top:-1px}.venue-section__action{background:var(--brown);align-content:center;place-items:start center;gap:8px;min-height:clamp(108px,17cqi,148px);padding:18px 24px 22px;display:grid}.ornate-button{justify-content:center;align-items:center;display:inline-flex}.ornate-button--light{background:var(--paper-soft);color:#786d5d;min-width:min(74%,390px)}.ornate-button--light:hover{background:#fffaf2}.link-notice{min-height:1rem;color:inherit;text-align:center;margin:0;font-size:.73rem;line-height:1.35}.venue-section .link-notice{color:#f5eadc}.love-section{text-align:center;padding:clamp(62px,10cqi,100px) 0 clamp(52px,8cqi,80px)}.love-section__flowers{width:min(72%,590px);margin:0 auto clamp(38px,7cqi,68px)}.love-section__rings{filter:drop-shadow(0 8px 8px #4638251a);width:min(42%,310px);margin:clamp(38px,7cqi,66px) auto clamp(22px,4cqi,36px)}.love-title{font:400 clamp(1.65rem, 4.6cqi, 2.5rem)/1 var(--font-display);letter-spacing:.05em;margin:0}.love-title span[aria-hidden]{color:var(--olive);font-size:.85em;display:inline-block;transform:translateY(-.03em)rotate(-6deg)}.love-section__signature{width:min(70%,500px);margin:clamp(25px,4cqi,40px) auto 8px}.fine-ornament{color:var(--olive);justify-content:center;align-items:center;gap:9px;font-size:1rem;display:flex}.fine-ornament:before,.fine-ornament:after{content:"";opacity:.6;background:currentColor;width:clamp(55px,11cqi,95px);height:1px}.wishes-section{text-align:center;padding:clamp(50px,8cqi,74px) 0 clamp(44px,7cqi,68px)}.wishes-section>.ornate-button{margin-top:clamp(28px,5cqi,46px)}.wishes-section>.link-notice{color:var(--ink-soft);margin:8px auto 0}.countdown{width:min(88%,590px);margin:clamp(52px,9cqi,84px) auto 0}.countdown__title{font:600 clamp(.76rem, 2.1cqi, 1rem)/1.3 var(--font-display);letter-spacing:.035em;margin:0 0 clamp(14px,2.8cqi,22px)}.countdown__grid{background:#fffbf557;border:1px solid #d6cbbb;grid-template-columns:repeat(4,1fr);display:grid}.countdown__cell{min-width:0;padding:clamp(11px,2.5cqi,19px) 3px clamp(10px,2cqi,16px);position:relative}.countdown__cell+.countdown__cell:before{content:"";background:#d6cbbb;width:1px;position:absolute;top:19%;bottom:19%;left:0}.countdown__cell strong{font:400 clamp(1.5rem, 4.7cqi, 2.65rem)/1 var(--font-display);display:block}.countdown__cell span{color:var(--ink-soft);font:500 clamp(.48rem, 1.3cqi, .68rem)/1 var(--font-body);text-transform:uppercase;margin-top:6px;display:block}.countdown__complete{font:italic clamp(1.35rem, 3.5cqi, 2rem)/1.3 var(--font-display);margin:0}.closing-sprig{width:min(66%,440px);margin:clamp(44px,8cqi,72px) auto 0}.music-control{z-index:50;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));color:#fff9ef;cursor:pointer;background:#4c513beb;border:1px solid #786b54;border-radius:50%;width:48px;height:48px;position:fixed;box-shadow:0 5px 18px #322b2026}.music-control.is-playing{animation:3s ease-in-out infinite music-pulse}.organic-motion{transform-origin:52% 58%;animation:7s ease-in-out infinite alternate organic-drift}@keyframes organic-drift{to{transform:translateY(3px)rotate(.6deg)}}@keyframes music-pulse{50%{transform:scale(1.06)}}@media (width<=560px){.section-copy p{text-align:left}.location-intro p{text-align:center}.calendar{width:89%}.location-intro__bouquet{width:29%;right:-1%}.ornate-button--light{min-width:80%}.invitation-intro__stage{min-height:min(590px,88svh)}.envelope{top:clamp(58px,10svh,90px)}}@media (width>=721px){.hero__content{padding-top:23.5%}.location-intro__bouquet{right:8%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
