@font-face{font-family:Romochka;src:url(/assets/Romochka-DK0N5WrP.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{--app-height: 100dvh;--paper: #f0eadc;--ink: #171715;--red: #e83f42;--blue: #4c9ae8;--yellow: #f1c84b;--green: #73a96c;--pink: #f2a7b5;--hand: "Romochka", cursive;--caps: "Romochka", cursive}*{box-sizing:border-box}html{height:100%;overflow:hidden;scroll-behavior:smooth}body{height:100%;margin:0;overflow:hidden;color:var(--ink);background:#d9d1c0;font-family:var(--hand);-webkit-font-smoothing:antialiased}main{width:min(100%,720px);height:var(--app-height);margin:0 auto;overflow-x:hidden;overflow-y:auto;background:var(--paper);box-shadow:0 0 80px #31281b2e;scroll-behavior:smooth;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;touch-action:pan-y;transition:opacity .35s ease}main.site-loading{visibility:hidden;opacity:0}main.site-ready{visibility:visible;opacity:1}main::-webkit-scrollbar{display:none}main>section,main>footer{scroll-snap-align:start;scroll-snap-stop:always}.hero,.dress-code,.intro-paper,.sticker-wall,.date-break,footer{position:relative}.hero,.dress-code,.intro-paper,.date-break{background:linear-gradient(#f0eadcdb,#f0eadcdb),url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.46' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.hero{display:flex;flex-direction:column;width:100%;height:var(--app-height);min-height:var(--app-height);padding:clamp(14px,2.2svh,24px) 20px 0;overflow:hidden;text-align:center;border:0;border-radius:0}.hero__bottom{position:relative;z-index:3;display:flex;flex:1;flex-direction:column;width:100%;min-height:0;margin-top:0;padding-top:clamp(2px,.5svh,5px)}.wedding-banner,.hero__names{position:relative;z-index:3}.hero:after,.intro-paper:after,.date-break:after{content:"";position:absolute;pointer-events:none;top:9px;right:9px;bottom:9px;left:9px;border:2px solid var(--ink);border-radius:22px 31px 18px 28px;transform:rotate(-.2deg)}.hero:after{content:none}.hero:before{content:none}.wedding-banner{display:block;min-height:126px;animation:title-in .9s cubic-bezier(.2,.8,.2,1) both}.wedding-banner__string{position:absolute;z-index:1;top:0;left:0;width:100%;height:96px;overflow:visible;fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.wedding-banner__bow{stroke-width:2.4}.wedding-banner__word{position:absolute;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-around}.wedding-banner__word--left{left:10%;width:32%;padding:0 3%}.wedding-banner__word--right{right:3%;width:47%;padding:0 2% 0 3%}.wedding-banner__word span{position:relative;display:grid;width:clamp(27px,6.8vw,42px);aspect-ratio:.84;place-items:center;border:2px solid currentColor;border-radius:2px 1px 3px;color:var(--red);background:#f0eadcf5;font:400 clamp(25px,6.8vw,42px)/1 var(--caps);box-shadow:1px 2px #17171517;transform-origin:50% -8px}.wedding-banner__word span:before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:8px;background:var(--ink);transform:translate(-50%) rotate(2deg)}.wedding-banner__word--left span:nth-child(1){width:clamp(29px,7.1vw,44px);color:var(--blue);transform:translateY(58px) rotate(-7deg)}.wedding-banner__word--left span:nth-child(2){color:var(--red);transform:translateY(40px) rotate(3deg)}.wedding-banner__word--left span:nth-child(3){width:clamp(25px,6.4vw,40px);color:var(--green);transform:translateY(39px) rotate(-5deg)}.wedding-banner__word--left span:nth-child(4){color:#d49324;transform:translateY(25px) rotate(4deg)}.wedding-banner__word--right span:nth-child(1){width:clamp(26px,6.5vw,40px);color:#9d72cf;transform:translateY(24px) rotate(-5deg)}.wedding-banner__word--right span:nth-child(2){color:var(--green);transform:translateY(29px) rotate(2deg)}.wedding-banner__word--right span:nth-child(3){width:clamp(29px,7vw,43px);color:var(--red);transform:translateY(37px) rotate(-2deg)}.wedding-banner__word--right span:nth-child(4){color:#d49324;transform:translateY(47px) rotate(5deg)}.wedding-banner__word--right span:nth-child(5){width:clamp(25px,6.4vw,40px);color:var(--blue);transform:translateY(56px) rotate(-4deg)}.wedding-banner__word--right span:nth-child(6){color:#9d72cf;transform:translateY(66px) rotate(3deg)}.wedding-banner__word--right span:nth-child(7){width:clamp(29px,7vw,43px);color:var(--red);transform:translateY(76px) rotate(-5deg)}.heart-confetti span{position:absolute;z-index:2;color:var(--red);font-size:clamp(12px,3.5vw,24px);line-height:1;opacity:.94}.heart-confetti span:nth-child(1){top:8%;left:6%;transform:rotate(-13deg) scale(.9)}.heart-confetti span:nth-child(2){top:12%;left:67%;transform:rotate(9deg) scale(.55)}.heart-confetti span:nth-child(3){top:19%;left:27%;transform:rotate(12deg) scale(.64)}.heart-confetti span:nth-child(4){top:25%;right:8%;transform:rotate(-8deg) scale(1.05)}.heart-confetti span:nth-child(5){top:34%;left:48%;transform:rotate(7deg) scale(.55)}.heart-confetti span:nth-child(6){top:41%;left:8%;transform:rotate(-11deg) scale(.78)}.heart-confetti span:nth-child(7){top:49%;right:27%;transform:rotate(-7deg) scale(.62)}.heart-confetti span:nth-child(8){top:59%;right:7%;transform:rotate(12deg) scale(.88)}.heart-confetti span:nth-child(9){top:68%;left:19%;transform:rotate(8deg) scale(.58)}.heart-confetti span:nth-child(10){top:76%;left:61%;transform:rotate(-12deg) scale(.82)}.heart-confetti span:nth-child(11){top:85%;left:9%;transform:rotate(-5deg) scale(.7)}.heart-confetti span:nth-child(12){top:91%;right:24%;transform:rotate(10deg) scale(.56)}.heart-confetti span:nth-child(13){top:15%;left:45%;transform:rotate(-9deg) scale(.7)}.heart-confetti span:nth-child(14){top:27%;left:18%;transform:rotate(13deg) scale(.52)}.heart-confetti span:nth-child(15){top:32%;right:28%;transform:rotate(-6deg) scale(.8)}.heart-confetti span:nth-child(16){top:44%;left:32%;transform:rotate(8deg) scale(.58)}.heart-confetti span:nth-child(17){top:52%;right:13%;transform:rotate(-12deg) scale(.92)}.heart-confetti span:nth-child(18){top:61%;left:41%;transform:rotate(6deg) scale(.55)}.heart-confetti span:nth-child(19){top:69%;right:34%;transform:rotate(-7deg) scale(.74)}.heart-confetti span:nth-child(20){top:77%;left:6%;transform:rotate(12deg) scale(.86)}.heart-confetti span:nth-child(21){top:83%;right:8%;transform:rotate(-4deg) scale(.62)}.heart-confetti span:nth-child(22){top:89%;left:48%;transform:rotate(9deg) scale(.76)}.hero__names{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font:400 clamp(38px,10vw,60px)/.92 var(--caps);text-shadow:.35px 0 currentColor,0 .35px currentColor}.hero__names span:first-child{color:var(--blue);transform:rotate(-3deg)}.hero__names span:last-child{color:var(--green);transform:rotate(3deg)}.hero__names i{color:var(--red);font-style:normal}.hero__invitation{position:relative;z-index:3;max-width:660px;margin:12px auto 0}.hero__invitation p{margin:0 0 10px;color:var(--red);font-size:clamp(36px,7.4vw,52px);line-height:1;text-shadow:.3px 0 currentColor,0 .3px currentColor}.hero__invitation-rainbow{display:flex;flex-direction:column;justify-content:center;gap:6px;font-size:clamp(28px,5.8vw,40px);line-height:1.04;letter-spacing:.025em}.hero__invitation-rainbow span{color:transparent;background:linear-gradient(90deg,var(--blue) 0 12%,#d49324 12% 24%,#9d72cf 24% 36%,var(--green) 36% 49%,var(--red) 49% 62%,var(--blue) 62% 75%,#d49324 75% 87%,#9d72cf 87% 100%);-webkit-background-clip:text;background-clip:text}.kid-pair{position:relative;z-index:3;height:260px;max-width:470px;width:100%;margin:auto auto 0}.kid-cutout{position:absolute;bottom:0;width:53%}.kid-cutout--anna{left:1%;transform:rotate(-6deg)}.kid-cutout--egor{right:0;transform:rotate(5deg)}.portrait-placeholder{position:relative;height:220px;overflow:visible;border:0;background:transparent;filter:drop-shadow(6px 7px 0 rgba(23,23,21,.14))}.kid-cutout--egor .portrait-placeholder{background:transparent}.portrait-placeholder__head{position:absolute;z-index:2;top:10px;left:50%;width:98px;height:108px;border:3px solid var(--ink);border-radius:47% 53% 45% 55%/42% 45% 55% 58%;background:#f2b2bd;transform:translate(-50%)}.kid-cutout--egor .portrait-placeholder__head{border-radius:52% 48% 50% 50%/45% 40% 60% 55%;background:#9bc7e6}.portrait-placeholder__head:before,.portrait-placeholder__head:after{content:"";position:absolute;top:45px;width:5px;height:5px;border-radius:50%;background:var(--ink)}.portrait-placeholder__head:before{left:25px}.portrait-placeholder__head:after{right:25px}.portrait-placeholder__body{position:absolute;left:50%;bottom:0;width:190px;height:132px;border:3px solid var(--ink);border-radius:48% 52% 12% 9%/38% 42% 8% 8%;background:#f2b2bd;transform:translate(-50%)}.kid-cutout--egor .portrait-placeholder__body{border-radius:52% 48% 9% 13%/42% 38% 8% 8%;background:#9bc7e6}.portrait-placeholder small{position:absolute;z-index:2;left:0;right:0;bottom:32px;font:400 21px/1 var(--caps)}.kid-cutout b{display:inline-block;margin-top:-2px;padding:5px 8px;color:#fff;background:var(--ink);font-size:14px;font-weight:400}.tape{display:none}.hero__countdown{position:relative;z-index:3;width:min(100%,470px);margin:0 auto}.hero__countdown>p{margin:0 0 6px;color:var(--red);font-size:clamp(20px,4vw,25px);line-height:1}.timer{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.timer div{position:relative}.timer div+div:before{content:"";position:absolute;top:3px;bottom:3px;left:-3px;width:2px;background:var(--ink);transform:rotate(2deg)}.timer strong{display:block;font:400 clamp(42px,9.5vw,58px)/.78 var(--caps);font-variant-numeric:tabular-nums;text-shadow:.45px 0 currentColor,0 .45px currentColor}.timer div:nth-child(1) strong{color:var(--red)}.timer div:nth-child(2) strong{color:var(--blue)}.timer div:nth-child(3) strong{color:var(--green)}.timer div:nth-child(4) strong{color:#d49324}.timer span{display:block;margin-top:4px;font-size:clamp(16px,3.2vw,20px);line-height:1}.kid-cutout>img{display:block;width:100%;height:225px;object-fit:contain;object-position:bottom;filter:drop-shadow(2px 0 0 var(--ink)) drop-shadow(-2px 0 0 var(--ink)) drop-shadow(0 2px 0 var(--ink)) drop-shadow(0 -2px 0 var(--ink))}.photo-pile{position:relative;isolation:isolate;container-type:size;flex:0 1 370px;width:calc(100% + 16px);height:370px;min-height:0;margin:auto -8px 0;overflow:visible}.photo-cutout{--cutout-color: var(--pink);position:absolute;bottom:-15%;width:34%;height:76%;pointer-events:none;transform-origin:50% 100%}.photo-cutout i,.photo-cutout b{position:absolute;left:50%;display:block;border:3px solid var(--ink);background:var(--cutout-color);transform:translate(-50%)}.photo-cutout i{z-index:2;top:2%;width:45%;aspect-ratio:.88;border-radius:47% 53% 45% 55%/42% 44% 56% 58%}.photo-cutout i:before,.photo-cutout i:after{content:"";position:absolute;top:47%;width:4px;height:4px;border-radius:50%;background:var(--ink)}.photo-cutout i:before{left:28%}.photo-cutout i:after{right:28%}.photo-cutout b{bottom:0;width:94%;height:66%;border-radius:48% 52% 9% 12%/36% 39% 8% 8%}.photo-cutout small{position:absolute;z-index:3;right:0;bottom:25%;left:0;font:400 clamp(13px,3vw,20px)/1 var(--caps)}.photo-cutout--groom{z-index:3;right:8%;bottom:-12%;width:42%;height:112%;transform:rotate(2deg)}.bride-bomb,.groom-bomb{position:absolute;z-index:auto;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.bride-bomb{left:0}.groom-bomb{right:0}.bride-sticker,.groom-sticker{position:absolute;aspect-ratio:1;margin:0;overflow:hidden;border:4px solid var(--paper);border-radius:3px 6px 4px 2px;outline:1.5px solid var(--ink);background:var(--paper);box-shadow:5px 6px #17171529;transform-origin:50% 90%}.bride-sticker img,.groom-sticker img{display:block;width:100%;height:100%;object-fit:cover}.photo-sticker__button{display:block;width:100%;height:100%;padding:0;overflow:hidden;border:0;border-radius:inherit;background:transparent;cursor:zoom-in;touch-action:manipulation}.photo-sticker__button:focus-visible{outline:3px solid var(--blue);outline-offset:-5px}.photo-sticker__button img{transition:filter .18s ease}.photo-sticker__button:hover img,.photo-sticker__button:focus-visible img{filter:saturate(1.08) contrast(1.03)}.groom-sticker--outdoor{z-index:7;top:auto;right:0;bottom:66%;width:19%;height:auto;transform:rotate(6deg)}.groom-sticker--outdoor img{object-position:53% 45%}.groom-sticker--birthday{z-index:9;top:auto;right:2%;bottom:44%;left:auto;width:18%;height:auto;transform:rotate(-8deg)}.groom-sticker--birthday img{object-position:50% 35%}.groom-sticker--portrait{z-index:10;top:auto;right:18%;bottom:42%;width:18%;height:auto;transform:rotate(8deg)}.groom-sticker--portrait img{object-position:50% 27%}.groom-sticker--standing{z-index:14;right:19%;bottom:5%;width:18%;height:auto;transform:rotate(-5deg)}.groom-sticker--standing img{object-position:50% 36%}.groom-sticker--formal{z-index:8;top:auto;right:17%;bottom:63%;left:auto;width:17%;height:auto;transform:rotate(4deg)}.groom-sticker--formal img{object-position:50% 29%}.groom-sticker--motorcycle{z-index:11;top:auto;right:0;bottom:23%;left:auto;width:18%;height:auto;transform:rotate(-12deg)}.groom-sticker--motorcycle img{object-position:50% 50%;transform:rotate(-90deg) scale(1.42)}.groom-sticker--lizard{z-index:12;top:auto;right:18%;bottom:21%;width:17%;height:auto;transform:rotate(12deg)}.groom-sticker--lizard img{object-position:50% 48%;transform:rotate(90deg) scale(1.42)}.groom-sticker--toy{z-index:13;top:auto;right:2%;bottom:3%;left:auto;width:18%;height:auto;transform:rotate(-7deg)}.groom-sticker--toy img{object-position:53% 33%}.bride-sticker--beach{z-index:7;top:auto;left:0;bottom:66%;width:19%;transform:rotate(-6deg)}.bride-sticker--beach img{object-position:50% 42%}.bride-sticker--baby{z-index:9;top:auto;bottom:44%;left:2%;width:18%;transform:rotate(8deg)}.bride-sticker--baby img{object-position:50% 38%}.bride-sticker--hat{z-index:10;top:auto;bottom:42%;left:18%;width:18%;transform:rotate(-8deg)}.bride-sticker--hat img{object-position:50% 32%}.bride-sticker--road{z-index:14;bottom:5%;left:19%;width:18%;transform:rotate(5deg)}.bride-sticker--road img{object-position:50% 50%}.bride-sticker--cat{z-index:8;top:auto;bottom:63%;left:17%;width:17%;transform:rotate(-4deg)}.bride-sticker--cat img{object-position:50% 36%}.bride-sticker--blanket{z-index:11;top:auto;bottom:23%;left:0;width:18%;transform:rotate(12deg)}.bride-sticker--blanket img{object-position:50% 45%}.bride-sticker--park{z-index:12;top:auto;bottom:21%;left:18%;width:17%;transform:rotate(-12deg)}.bride-sticker--park img{object-position:50% 48%}.bride-sticker--winter{z-index:13;top:auto;bottom:3%;left:2%;width:18%;transform:rotate(7deg)}.bride-sticker--winter img{object-position:50% 44%}.bride-bomb .bride-bomb__hero{z-index:20;right:auto;bottom:-1%;left:50%;display:flex;width:50%;height:min(88%,62cqw);align-items:flex-end;justify-content:center;transform:translate(-76.5%) rotate(-1.5deg)}.groom-bomb .groom-bomb__hero{z-index:20;right:auto;bottom:-1%;left:50%;display:flex;width:50%;height:min(88%,62cqw);align-items:flex-end;justify-content:center;transform:translate(-28.5%) rotate(1.5deg)}.bride-bomb .bride-bomb__hero>img,.groom-bomb .groom-bomb__hero>img{width:auto;max-width:none;height:100%;transform:none;transform-origin:50% 100%}.photo-cutout>img{display:block;width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(6px 0 0 var(--paper)) drop-shadow(-6px 0 0 var(--paper)) drop-shadow(0 6px 0 var(--paper)) drop-shadow(0 -6px 0 var(--paper)) drop-shadow(1.5px 0 0 var(--ink)) drop-shadow(-1.5px 0 0 var(--ink)) drop-shadow(0 1.5px 0 var(--ink)) drop-shadow(0 -1.5px 0 var(--ink)) drop-shadow(6px 7px 0 rgba(23,23,21,.14))}.photo-lightbox{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:64px 20px 28px;background:#171715db;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:lightbox-backdrop-in .2s ease-out both}.photo-lightbox__figure{position:relative;max-width:min(92vw,720px);margin:0;padding:9px;border:2px solid var(--ink);border-radius:5px 8px 4px 7px;background:var(--paper);box-shadow:12px 14px #00000047;text-align:center;transform:rotate(-1deg);animation:lightbox-photo-in .28s cubic-bezier(.2,.8,.2,1) both}.photo-lightbox__image{display:block;width:auto;max-width:100%;height:auto;max-height:calc(var(--app-height) - 154px);margin:0 auto;object-fit:contain;border:1.5px solid var(--ink);background:#d8d0c0}.photo-lightbox__close{position:fixed;z-index:2;top:max(12px,env(safe-area-inset-top));right:14px;display:grid;width:48px;height:48px;place-items:center;padding:0 0 5px;border:2px solid var(--ink);border-radius:48% 52% 45% 55%;color:var(--ink);background:var(--paper);box-shadow:4px 5px #00000040;font:400 42px/.8 var(--hand);cursor:pointer;transform:rotate(4deg)}.photo-lightbox__close:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@keyframes lightbox-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-photo-in{0%{opacity:0;transform:translateY(20px) rotate(-4deg) scale(.92)}to{opacity:1;transform:translateY(0) rotate(-1deg) scale(1)}}.photo-role{position:absolute;z-index:5;display:block;white-space:nowrap;font:400 clamp(17px,3.4vw,25px)/1 var(--caps);letter-spacing:.02em}.photo-role--bride{top:42%;left:22%;color:#ef8fb0;transform:rotate(-76deg);transform-origin:0 50%}.photo-role--groom{top:34%;right:40%;color:var(--blue);transform:rotate(80deg);transform-origin:100% 50%}.scroll-mark{position:absolute;z-index:14;right:15px;bottom:18px;color:var(--ink);font-size:24px;text-decoration:none}.doodle{position:absolute;z-index:4;color:var(--red)}.doodle--heart{top:54px;left:38px;font-size:22px;transform:rotate(-12deg)}.doodle--star{top:110px;right:34px;color:var(--blue);font-size:28px}.dress-code{position:relative;display:flex;flex-direction:column;width:100%;height:var(--app-height);min-height:var(--app-height);padding:clamp(18px,2.6svh,32px) 24px 0;overflow:hidden;text-align:center;border:0;border-radius:0}.dress-code__header,.dress-code__ceremony,.dress-code__content,.dress-code__gift{position:relative;z-index:3}.dress-code__header{margin:0 auto clamp(14px,2.5svh,24px)}.dress-code__header h2{position:relative;isolation:isolate;width:fit-content;margin:0 auto;font-weight:400}.dress-code__header h2 span{position:relative;z-index:1;display:block;color:var(--red);font:400 clamp(68px,18vw,104px)/.72 var(--caps);letter-spacing:.045em;transform:rotate(-2deg)}.dress-code__ceremony{display:grid;justify-items:center;margin:clamp(16px,2.4svh,24px) auto 0}.dress-code__ceremony p{margin:0;font:400 clamp(35px,8.5vw,52px)/.92 var(--caps)}.dress-code__ceremony strong{margin-top:5px;color:var(--blue);font:400 clamp(48px,11vw,64px)/.8 var(--caps);font-weight:400}.dress-code__ceremony span{position:relative;margin-top:8px;padding:0 18px 10px;font:400 clamp(28px,6vw,35px)/1.08 var(--hand)}.dress-code__ceremony span:after{content:"";position:absolute;right:8%;bottom:0;left:8%;height:2px;border-radius:50%;background:var(--green);transform:rotate(-1deg)}.dress-code__content{max-width:610px;margin:0 auto}.dress-code__content h3{position:relative;display:inline-block;margin:0 0 clamp(16px,2.6svh,24px);font:400 clamp(40px,10vw,58px)/.82 var(--caps)}.dress-code__content h3:after{content:"";position:absolute;right:4%;bottom:-9px;left:4%;height:3px;border-radius:50%;background:var(--red);transform:rotate(-1.5deg)}.dress-code__content h3:before{content:"///";position:absolute;top:-18px;right:-48px;color:#d1ad70;font-size:26px;letter-spacing:-7px;transform:rotate(-22deg)}.dress-code__content>p:first-of-type{position:relative;isolation:isolate;max-width:570px;margin:0 auto;font:400 clamp(30px,6.4vw,38px)/1.08 var(--hand)}.dress-code__palette{display:flex;align-items:center;justify-content:center;gap:clamp(16px,5vw,30px);margin:clamp(18px,2.5svh,26px) auto clamp(16px,2.2svh,24px)}.dress-code__palette span{display:block;width:clamp(68px,19vw,96px);aspect-ratio:1;border:2px dashed var(--ink);border-radius:48% 52% 46% 54%/52% 45% 55% 48%;box-shadow:inset 0 0 0 4px #f0eadc59}.dress-code__palette span:nth-child(1){background:#748168;transform:rotate(-5deg)}.dress-code__palette span:nth-child(2){background:#d5bda0;transform:translateY(4px) rotate(4deg)}.dress-code__palette span:nth-child(3){background:#969a98;transform:rotate(-3deg)}.dress-code__note{position:relative;isolation:isolate;max-width:550px;margin:0 auto;color:#4f7f4a;font:400 clamp(28px,5.8vw,34px)/1.08 var(--hand);transform:rotate(-1deg)}.dress-code__gift{display:block;width:min(100%,590px);margin:clamp(10px,1.8svh,16px) auto 0;padding:0 10px;text-align:center}.dress-code__gift>span{position:absolute;top:0;left:-4px;color:#c7a468;font-size:clamp(21px,4.8vw,28px);line-height:1;transform:rotate(-10deg)}.dress-code__gift p{position:relative;isolation:isolate;margin:0;font:400 clamp(27px,5.6vw,33px)/1.1 var(--hand)}.dress-code__content>p:first-of-type:before,.dress-code__note:before,.dress-code__gift p:before{content:"";position:absolute;z-index:-1;top:-5px;right:-8px;bottom:-5px;left:-8px;border-radius:44% 56% 48% 52%/38% 45% 55% 62%;background:#f8f4e9ad;box-shadow:0 0 16px 12px #f8f4e98c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.cat-cutout-field{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.cat-cutout{position:absolute;display:block;height:auto;max-height:24%;opacity:.96;filter:drop-shadow(4px 7px 2px rgba(23,23,21,.15));transform-origin:50% 50%}.cat-cutout--sleeping{top:72%;left:3%;width:clamp(92px,24vw,130px);transform:rotate(-6deg)}.cat-cutout--stretched{top:2%;right:3%;width:clamp(72px,19vw,102px);transform:rotate(6deg)}.cat-cutout--loaf{top:24%;left:3%;width:clamp(78px,21vw,112px);transform:rotate(-5deg)}.cat-cutout--long{right:10%;bottom:1%;width:clamp(78px,20vw,108px);transform:rotate(5deg)}.dress-code__hearts span{position:absolute;z-index:2;color:var(--red);font-size:clamp(14px,4vw,25px);line-height:1}.dress-code__hearts span:nth-child(1){top:5%;left:8%;transform:rotate(-9deg)}.dress-code__hearts span:nth-child(2){top:10%;right:8%;transform:rotate(10deg) scale(.72)}.dress-code__hearts span:nth-child(3){top:25%;left:12%;transform:rotate(7deg) scale(.62)}.dress-code__hearts span:nth-child(4){top:29%;right:13%;transform:rotate(-8deg)}.dress-code__hearts span:nth-child(5){top:48%;left:5%;transform:rotate(-12deg) scale(.76)}.dress-code__hearts span:nth-child(6){top:54%;right:7%;transform:rotate(6deg) scale(.6)}.dress-code__hearts span:nth-child(7){top:71%;left:13%;transform:rotate(11deg)}.dress-code__hearts span:nth-child(8){top:78%;right:14%;transform:rotate(-9deg) scale(.76)}.dress-code__hearts span:nth-child(9){bottom:7%;left:46%;transform:rotate(5deg)}.dress-code__hearts span:nth-child(10){top:39%;left:56%;transform:rotate(-5deg) scale(.58)}.page-loader{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;display:grid;height:var(--app-height);place-content:center;gap:16px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));color:var(--red);background:linear-gradient(#f0eadce6,#f0eadce6),url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.46' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");text-align:center;opacity:1;transition:opacity .35s ease,visibility .35s step-end}.page-loader--complete{visibility:hidden;pointer-events:none;opacity:0}.page-loader__hearts{display:flex;align-items:flex-end;justify-content:center;gap:10px;height:42px}.page-loader__hearts span{display:block;font-size:30px;line-height:1;animation:loader-heart 1s ease-in-out infinite}.page-loader__hearts span:nth-child(2){color:var(--blue);animation-delay:.14s}.page-loader__hearts span:nth-child(3){color:var(--green);animation-delay:.28s}.page-loader p{margin:0;font:400 clamp(27px,7vw,40px)/1 var(--hand)}@keyframes loader-heart{0%,55%,to{translate:0 0;rotate:-4deg}28%{translate:0 -12px;rotate:5deg}}.intro-paper{padding:90px 28px 96px;text-align:center}.intro-paper>*{position:relative;z-index:2}.intro-paper p{margin:0 0 10px;font-size:25px}.intro-paper strong{display:block;margin-top:13px;color:var(--red);font:400 clamp(35px,10vw,57px)/.95 var(--hand);transform:rotate(-2deg)}.intro-paper h2{display:flex;justify-content:center;gap:1px;margin:4px 0 20px;font:400 clamp(51px,14vw,79px)/.9 var(--caps)}.intro-paper h2 span:nth-child(5n+1){color:var(--red);transform:rotate(-5deg)}.intro-paper h2 span:nth-child(5n+2){color:var(--blue);transform:translateY(5px) rotate(3deg)}.intro-paper h2 span:nth-child(5n+3){color:var(--green);transform:rotate(-2deg)}.intro-paper h2 span:nth-child(5n+4){color:#d49324;transform:translateY(-4px) rotate(4deg)}.intro-paper h2 span:nth-child(5n){color:#9d72cf;transform:rotate(2deg)}.sticker-wall{min-height:2250px;background:linear-gradient(#ded5c3c7,#ded5c3c7),url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.3' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.wall-title{position:absolute;top:70px;left:25px;color:var(--red);font:400 78px/.7 var(--caps);transform:rotate(-5deg)}.wall-title--right{right:28px;left:auto;text-align:right;transform:rotate(4deg)}.sticker{position:absolute;z-index:2;margin:0;padding:9px 9px 30px;border:2px solid var(--ink);background:#f7f1e4;box-shadow:8px 9px #17171526}.sticker:before{content:"";position:absolute;z-index:4;top:-14px;left:50%;width:62px;height:25px;background:#f1c84bb8;transform:translate(-50%) rotate(-4deg)}.sticker img,.photo-placeholder{display:block;width:100%;height:100%;min-height:180px;object-fit:cover;border:1px solid var(--ink)}.photo-placeholder{display:grid;place-content:center;text-align:center}.photo-placeholder span{font:400 clamp(37px,11vw,61px)/.85 var(--caps)}.photo-placeholder small{margin-top:8px;font-size:17px}.photo-placeholder.pink{background:#f3b0bd}.photo-placeholder.blue{background:#9ac8e7}.photo-placeholder.yellow{background:#efd681}.photo-placeholder.green{background:#a8c59c}.photo-placeholder.coral{background:#e89379}.photo-placeholder.lilac{background:#c9afe4}.sticker figcaption{position:absolute;right:6px;bottom:6px;left:6px;font-size:16px;text-align:center}.sticker--1{top:250px;left:-22px;width:62%;height:360px;transform:rotate(-7deg)}.sticker--2{top:470px;right:-28px;width:54%;height:390px;transform:rotate(8deg)}.sticker--3{top:760px;left:18px;width:51%;height:330px;transform:rotate(4deg)}.sticker--4{top:1005px;right:-18px;width:57%;height:360px;transform:rotate(-6deg)}.sticker--5{top:1300px;left:-34px;width:73%;height:380px;transform:rotate(6deg)}.sticker--5 img{object-position:62% center}.sticker--6{top:1580px;right:12px;width:52%;height:340px;transform:rotate(-4deg)}.sticker--7{top:1820px;left:-18px;width:48%;height:310px;transform:rotate(-9deg)}.sticker--8{top:1910px;right:-25px;width:50%;height:300px;transform:rotate(8deg)}.sticker--9{display:none}.scribble{position:absolute;z-index:5;font:400 31px/1 var(--caps)}.scribble--one{top:630px;left:46%;color:var(--red);font-size:38px;transform:rotate(-15deg)}.scribble--two{top:1160px;left:22px;color:var(--blue);transform:rotate(-8deg)}.scribble--three{top:1760px;right:25px;color:var(--red);font-size:42px}.date-break{padding:100px 25px 105px;text-align:center}.date-break>*{position:relative;z-index:2}.date-break .pin{color:var(--blue);font-size:36px}.date-break p{margin:8px 0 14px;font-size:23px}.date-break h2{margin:0;color:var(--red);font:400 clamp(78px,22vw,120px)/.68 var(--caps);text-shadow:.6px 0 currentColor,0 .6px currentColor;transform:rotate(-2deg)}.date-break h2 b{color:var(--ink);font-weight:400}.location-tag{display:inline-block;margin-top:32px;padding:9px 20px;border:2px solid var(--ink);border-radius:50%;color:var(--green);font:400 38px/.8 var(--caps);transform:rotate(3deg)}.mini-countdown{margin-top:35px;font-size:22px}.mini-countdown strong{margin:0 8px;color:var(--blue);font:400 72px/.8 var(--caps)}.sticker-wall--second{min-height:1700px}.sticker--10{top:250px;right:-30px;width:66%;height:370px;transform:rotate(7deg)}.sticker--11{top:540px;left:-30px;width:72%;height:360px;transform:rotate(-5deg)}.sticker--11 img{object-position:65% center}.sticker--12{top:820px;right:15px;width:52%;height:330px;transform:rotate(-3deg)}.sticker--13{top:1080px;left:-20px;width:55%;height:340px;transform:rotate(8deg)}.sticker--14{top:1280px;right:-25px;width:57%;height:330px;transform:rotate(-8deg)}.sticker--15{display:none}.scribble--four{top:700px;right:15px;color:var(--red);transform:rotate(11deg)}.scribble--five{top:1500px;left:30px;color:var(--red)}footer{padding:95px 24px 80px;color:var(--ink);background:#f3b0bd;text-align:center;border:3px solid var(--ink);border-radius:24px 30px 0 0}footer p{margin:0;font-size:25px}footer h2{margin:0;color:var(--red);font:400 clamp(72px,20vw,118px)/.9 var(--hand);transform:rotate(-4deg)}footer strong{display:block;margin:28px 0 9px;font:400 41px/.8 var(--caps)}footer span{font-size:19px}.footer-hearts{margin-top:34px;color:var(--red);font-size:30px}.reveal{opacity:0;translate:0 24px;transition:opacity .7s ease,translate .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;translate:0 0}@keyframes title-in{0%{opacity:0;transform:translateY(-14px) rotate(-7deg) scale(.9)}to{opacity:1;transform:translateY(0) rotate(-2deg) scale(1)}}@media(max-width:540px){html[data-viewport=short] .hero,html[data-viewport=compact] .hero{padding:8px 14px 0}html[data-viewport=short] .wedding-banner,html[data-viewport=compact] .wedding-banner{min-height:108px}html[data-viewport=short] .wedding-banner__string,html[data-viewport=compact] .wedding-banner__string{height:84px}html[data-viewport=short] .wedding-banner__word span,html[data-viewport=compact] .wedding-banner__word span{width:clamp(25px,6.6vw,34px);font-size:clamp(23px,6.5vw,33px)}html[data-viewport=short] .hero__names,html[data-viewport=compact] .hero__names{gap:8px;margin-top:2px;font-size:clamp(33px,9vw,42px)}html[data-viewport=short] .hero__invitation,html[data-viewport=compact] .hero__invitation{margin-top:7px}html[data-viewport=short] .hero__invitation p,html[data-viewport=compact] .hero__invitation p{margin-bottom:7px;font-size:clamp(30px,7vw,36px)}html[data-viewport=short] .hero__invitation-rainbow,html[data-viewport=compact] .hero__invitation-rainbow{gap:2px;font-size:clamp(23px,5.5vw,29px);line-height:1}html[data-viewport=short] .hero__bottom,html[data-viewport=compact] .hero__bottom{padding-top:1px}html[data-viewport=short] .hero__countdown>p,html[data-viewport=compact] .hero__countdown>p{margin-bottom:4px;font-size:18px}html[data-viewport=short] .timer strong,html[data-viewport=compact] .timer strong{font-size:clamp(38px,9vw,45px)}html[data-viewport=short] .timer span,html[data-viewport=compact] .timer span{margin-top:2px;font-size:14px}html[data-viewport=short] .photo-pile,html[data-viewport=compact] .photo-pile{flex-basis:320px;margin-top:6px}html[data-viewport=short] .heart-confetti span:nth-child(n+14),html[data-viewport=compact] .heart-confetti span:nth-child(n+11){display:none}html[data-viewport=short] .heart-confetti span:nth-child(3),html[data-viewport=short] .heart-confetti span:nth-child(5),html[data-viewport=short] .heart-confetti span:nth-child(7),html[data-viewport=short] .heart-confetti span:nth-child(9),html[data-viewport=short] .heart-confetti span:nth-child(13),html[data-viewport=compact] .heart-confetti span:nth-child(3),html[data-viewport=compact] .heart-confetti span:nth-child(5),html[data-viewport=compact] .heart-confetti span:nth-child(7),html[data-viewport=compact] .heart-confetti span:nth-child(9){display:none}html[data-viewport=short] .dress-code,html[data-viewport=compact] .dress-code{padding:10px 20px 0}html[data-viewport=short] .dress-code__header,html[data-viewport=compact] .dress-code__header{margin-bottom:8px}html[data-viewport=short] .dress-code__header h2 span,html[data-viewport=compact] .dress-code__header h2 span{font-size:66px}html[data-viewport=short] .dress-code__content h3,html[data-viewport=compact] .dress-code__content h3{margin-bottom:12px;font-size:40px}html[data-viewport=short] .dress-code__content h3:before,html[data-viewport=compact] .dress-code__content h3:before{top:-12px;right:-40px;font-size:22px}html[data-viewport=short] .dress-code__content>p:first-of-type,html[data-viewport=compact] .dress-code__content>p:first-of-type{font-size:30px;line-height:1.02}html[data-viewport=short] .dress-code__palette,html[data-viewport=compact] .dress-code__palette{gap:18px;margin:12px auto}html[data-viewport=short] .dress-code__palette span,html[data-viewport=compact] .dress-code__palette span{width:72px}html[data-viewport=short] .dress-code__note,html[data-viewport=compact] .dress-code__note{font-size:28px;line-height:1.02}html[data-viewport=short] .dress-code__ceremony,html[data-viewport=compact] .dress-code__ceremony{margin-top:10px}html[data-viewport=short] .dress-code__ceremony p,html[data-viewport=compact] .dress-code__ceremony p{font-size:34px}html[data-viewport=short] .dress-code__ceremony strong,html[data-viewport=compact] .dress-code__ceremony strong{margin-top:3px;font-size:48px}html[data-viewport=short] .dress-code__ceremony span,html[data-viewport=compact] .dress-code__ceremony span{margin-top:4px;padding-bottom:7px;font-size:26px;line-height:1}html[data-viewport=short] .dress-code__gift,html[data-viewport=compact] .dress-code__gift{margin-top:7px;padding:0 8px}html[data-viewport=short] .dress-code__gift p,html[data-viewport=compact] .dress-code__gift p{font-size:25px;line-height:1.04}html[data-viewport=short] .dress-code__gift>span,html[data-viewport=compact] .dress-code__gift>span{left:-1px;font-size:20px}html[data-viewport=short] .cat-cutout--sleeping,html[data-viewport=compact] .cat-cutout--sleeping{left:2%;width:clamp(76px,21vw,94px)}html[data-viewport=short] .cat-cutout--stretched,html[data-viewport=compact] .cat-cutout--stretched{top:2%;right:3%;width:clamp(61px,16.5vw,74px)}html[data-viewport=short] .cat-cutout--loaf,html[data-viewport=compact] .cat-cutout--loaf{left:2%;width:clamp(66px,18vw,82px)}html[data-viewport=short] .cat-cutout--loaf{top:25%}html[data-viewport=compact] .cat-cutout--loaf{top:27%}html[data-viewport=compact] .cat-cutout--sleeping{top:82%;bottom:auto}html[data-viewport=compact] .cat-cutout--long{right:12%;bottom:1%}html[data-viewport=short] .cat-cutout--long,html[data-viewport=compact] .cat-cutout--long{width:clamp(64px,17vw,78px)}html[data-viewport=short] .dress-code__hearts span:nth-child(10),html[data-viewport=compact] .dress-code__hearts span:nth-child(3),html[data-viewport=compact] .dress-code__hearts span:nth-child(6),html[data-viewport=compact] .dress-code__hearts span:nth-child(10){display:none}html[data-viewport=short] .dress-code__hearts span,html[data-viewport=compact] .dress-code__hearts span{opacity:.82}html[data-viewport=short] .dress-code__hearts span:nth-child(odd),html[data-viewport=compact] .dress-code__hearts span:nth-child(odd){left:2%}html[data-viewport=short] .dress-code__hearts span:nth-child(2n),html[data-viewport=compact] .dress-code__hearts span:nth-child(2n){right:2%;left:auto}html[data-viewport=compact] .dress-code{padding-top:8px}html[data-viewport=compact] .dress-code__header{margin-bottom:4px}html[data-viewport=compact] .dress-code__header h2 span{font-size:60px}html[data-viewport=compact] .dress-code__content h3{margin-bottom:8px;font-size:37px}html[data-viewport=compact] .dress-code__content>p:first-of-type{font-size:27px;line-height:1}html[data-viewport=compact] .dress-code__palette{margin:8px auto}html[data-viewport=compact] .dress-code__palette span{width:62px}html[data-viewport=compact] .dress-code__note{font-size:25px;line-height:1}html[data-viewport=compact] .dress-code__ceremony{margin-top:6px}html[data-viewport=compact] .dress-code__ceremony p{font-size:31px}html[data-viewport=compact] .dress-code__ceremony strong{font-size:43px}html[data-viewport=compact] .dress-code__ceremony span{margin-top:2px;padding-bottom:5px;font-size:23px}html[data-viewport=compact] .dress-code__gift{margin-top:4px}html[data-viewport=compact] .dress-code__gift p{font-size:22px;line-height:1}}@media(max-width:600px)and (max-height:600px){html[data-viewport=compact] .dress-code{padding-top:5px}html[data-viewport=compact] .dress-code__header{margin-bottom:2px}html[data-viewport=compact] .dress-code__header h2 span{font-size:52px}html[data-viewport=compact] .dress-code__content h3{margin-bottom:4px;font-size:32px}html[data-viewport=compact] .dress-code__content>p:first-of-type{font-size:23px;line-height:.96}html[data-viewport=compact] .dress-code__palette{gap:12px;margin:5px auto}html[data-viewport=compact] .dress-code__palette span{width:48px}html[data-viewport=compact] .dress-code__note{font-size:22px;line-height:.96}html[data-viewport=compact] .dress-code__ceremony{margin-top:3px}html[data-viewport=compact] .dress-code__ceremony p{font-size:27px}html[data-viewport=compact] .dress-code__ceremony strong{margin-top:1px;font-size:38px}html[data-viewport=compact] .dress-code__ceremony span{margin-top:1px;padding-bottom:3px;font-size:19px}html[data-viewport=compact] .dress-code__gift{margin-top:2px}html[data-viewport=compact] .dress-code__gift p{font-size:19px;line-height:.98}html[data-viewport=compact] .dress-code__gift>span{font-size:17px}html[data-viewport=compact] .cat-cutout--sleeping{top:auto;bottom:1.5%}html[data-viewport=compact] .cat-cutout--stretched{top:2%}html[data-viewport=compact] .cat-cutout--long{right:12%;bottom:1%}}@media(min-width:721px){body{padding:0}main{border-radius:32px}.hero{border-radius:32px}.sticker--9{display:block;top:1440px;right:-22px;width:37%;height:250px;transform:rotate(-9deg)}.sticker--15{display:block;top:1230px;left:36%;width:33%;height:280px;transform:rotate(3deg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
