:root{color:#3f4028;font-synthesis:none;background:#3f4028;font-family:Barlow,sans-serif}*{box-sizing:border-box}body{background:#3f4028;min-height:100svh;margin:0}body.showing-back{background:#efe8da}.page,.postcard-section{min-height:100svh}.postcard-section{flex-direction:column;align-items:stretch;display:flex}.card-wrap{flex:1;width:100%;display:flex}.card{width:100%;animation:.5s both arrive;position:relative}.card[hidden],button[hidden]{display:none}.front{min-height:calc(100svh - 64px - env(safe-area-inset-bottom));color:#f4eedf;padding:max(14px,env(safe-area-inset-top)) 14px 0;background:#3f4028}.front-inner{min-height:calc(100svh - 78px - env(safe-area-inset-top) - env(safe-area-inset-bottom));outline-offset:-6px;border:1px solid #f3ecdc80;border-bottom:0;outline:1px solid #f3ecdc35;flex-direction:column;align-items:center;padding:clamp(24px,5vh,48px) clamp(20px,8vw,60px) 0;display:flex;position:relative}.card-kicker{letter-spacing:.32em;text-align:center;flex:none;margin:0 0 clamp(20px,4vh,40px);font:600 12px Cormorant Garamond,serif}.photo-frame{border:1px solid #f3ecdc99;border-radius:999px 999px 0 0;flex:1;width:min(100%,520px);min-height:240px;padding:5px;overflow:hidden}.photo-frame img{object-fit:cover;object-position:center 45%;border-radius:999px 999px 0 0;width:100%;height:100%;min-height:240px;display:block}.photo-script{color:#fff9eb;text-shadow:0 2px 12px #20170e99;font:400 clamp(48px,12vw,78px)/1 Corinthia,cursive;position:absolute;top:15%;left:max(8%,50% - 270px);transform:rotate(-7deg)}.front-bottom{flex-direction:column;flex:none;justify-content:center;align-items:center;width:100%;padding:clamp(20px,4vh,35px) 0;display:flex}.names{white-space:nowrap;letter-spacing:.035em;margin:0;font:400 clamp(25px,7vw,48px)/1 Cormorant Garamond,serif}.names span{color:#d8c69c;font:400 1em Corinthia,cursive}.front-date{letter-spacing:.15em;color:#d8c69c;white-space:nowrap;margin:12px 0 0;font:600 clamp(9px,2.3vw,12px) Cormorant Garamond,serif}.front-date span{padding:0 5px}.back{min-height:calc(100svh - 64px - env(safe-area-inset-bottom));color:#41432b;background:#efe8da;flex-direction:column;display:flex}.back:after{content:"";pointer-events:none;border:1px solid #4a4a2b66;border-bottom:0;position:absolute;inset:14px 14px 0}.back-heading{color:#f4eedf;padding:max(40px,env(safe-area-inset-top)) max(9%,calc((100% - 560px)/2)) 30px;background:#3f4028;justify-content:space-between;align-items:center;gap:24px;display:flex}.back-small{letter-spacing:.16em;font-size:10px}.back-heading h2{text-transform:uppercase;margin:14px 0 0;font:600 clamp(36px,8vw,52px)/.85 Cormorant Garamond,serif}.back-heading h2 em{text-transform:none;font-weight:400}.stamp{color:#41432b;aspect-ratio:.85;letter-spacing:.04em;background:#efe8da;border:5px dotted #3f4028;outline:1px solid #efe8da;flex-direction:column;flex:none;justify-content:space-around;align-items:center;width:clamp(85px,25vw,120px);padding:5px;font:600 10px Cormorant Garamond,serif;animation:.65s .25s both stamp;display:flex;transform:rotate(4deg)}.paw{color:#8b8058;font-size:48px;line-height:1}.letter{flex:1;width:min(100%,620px);margin:auto;padding:32px max(9%,30px) 12px;font:500 clamp(19px,5vw,22px)/1.35 Cormorant Garamond,serif}.letter p{margin:0 0 15px}.letter-note{font-style:italic}.letter .signoff{margin-bottom:0}.letter .signature{margin-bottom:24px;font:400 43px/.95 Corinthia,cursive}.signature span{white-space:nowrap;font-size:.65em}.route{letter-spacing:.1em;color:#8b8058;justify-content:center;align-items:center;gap:7px;font:600 9px Barlow,sans-serif;display:flex}.route-line{letter-spacing:.03em;white-space:nowrap}.letter .see-you{text-align:center;margin:16px 0 8px;font:400 40px/1 Corinthia,cursive;transform:rotate(-3deg)}.calendar{z-index:1;color:#4a4a30;letter-spacing:.1em;justify-content:center;align-items:center;gap:8px;min-height:48px;font:600 10px Barlow,sans-serif;text-decoration:none;display:flex;position:relative}.calendar span{font-size:16px}.calendar:hover{text-decoration:underline}.flip-button{width:calc(100% - 28px);padding:8px 20px max(8px,env(safe-area-inset-bottom));color:#eee6d2;cursor:pointer;letter-spacing:.17em;background:#3f4028;border:1px solid #f3ecdc80;border-top:0;min-height:64px;margin:0 14px;font:600 10px Barlow,sans-serif}.showing-back .flip-button{color:#4b4b33;background:#efe8da;border-color:#4a4a2b66}.flip-icon{vertical-align:middle;margin-right:8px;font-size:22px;display:inline-block}.flip-button:hover .flip-icon{transition:transform .3s;transform:rotate(90deg)}.flip-button:focus-visible,.calendar:focus-visible{outline-offset:-4px;outline:2px solid #b4a673}.no-js{color:#f4eedf;padding:20px;font:18px/1.4 Cormorant Garamond,serif}.no-js a{color:inherit}@keyframes arrive{0%{opacity:0;transform:rotateY(-12deg)}to{opacity:1;transform:none}}@keyframes stamp{0%{opacity:0;transform:rotate(-8deg)scale(1.2)}to{opacity:1;transform:rotate(4deg)scale(1)}}@media (width<=360px){.front-inner{padding-inline:16px}.names{font-size:clamp(21px,7vw,25px)}.front-date{letter-spacing:.08em}.letter{padding-inline:30px}.route{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{max-width:100%;overflow-x:clip}html{overscroll-behavior:none}body.flip-ready{height:100svh;overflow:hidden}.page{width:100%;min-width:0}.postcard-section{perspective:1800px;width:100%;min-width:0;position:relative;overflow-x:clip}.card-wrap{width:100%;min-width:0;display:grid}.card-lift{width:100%;min-width:0;transform-style:preserve-3d}body.show-flip-hint .card-lift{animation:7s ease-in-out 2 flip-hint}@keyframes flip-hint{0%,80%,to{transform:perspective(1400px)rotateY(0)}86%{transform:perspective(1400px)rotateY(-12deg)}92%{transform:perspective(1400px)rotateY(4deg)}96%{transform:perspective(1400px)rotateY(-1.5deg)}}.card{grid-area:1/1}.front{min-height:100svh;padding-bottom:max(14px, env(safe-area-inset-bottom));background-image:linear-gradient(#3f4028 0%,#0000 18% 82%,#3f4028 100%),radial-gradient(80% 60% at 50% 45%,#f3ecdc0d,#0000 70%),radial-gradient(circle,#f3ecdc12 0 .6px,#0000 1px),radial-gradient(circle,#0000001f 0 .6px,#0000 1px),radial-gradient(circle,#f3ecdc0d 0 .8px,#0000 1.2px),radial-gradient(circle,#00000014 0 .9px,#0000 1.3px);background-size:100% 100%,100% 100%,3px 3px,5px 5px,7px 7px,11px 11px}.front-inner{min-height:calc(100svh - max(14px, env(safe-area-inset-top)) - max(14px, env(safe-area-inset-bottom)));border-bottom:1px solid #f3ecdc80}.photo-frame{position:relative}.photo-frame img{width:calc(100% - 10px);height:calc(100% - 10px);min-height:0;position:absolute;inset:5px}.back{min-height:100svh;padding-bottom:24px}.back:after{border-bottom:1px solid #4a4a2b66;bottom:14px}body.flip-ready,body.flip-ready.showing-back{background:#3f4028}.flip-ready .card-wrap{transform-style:preserve-3d;will-change:transform;flex:none;height:100svh}.flip-ready .card{min-width:0;height:100%;min-height:0}.flip-ready .front{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.flip-ready .front-inner{height:100%;min-height:0;padding-top:clamp(16px,4svh,40px)}.flip-ready .front-heading{white-space:nowrap;letter-spacing:.1em;justify-content:center;align-items:center;gap:10px;width:100%;margin:0 0 clamp(14px,3svh,26px);font:400 clamp(20px,6.8vw,29px)/1 Italiana,serif;display:flex}.flip-ready .front-heading:before,.flip-ready .front-heading:after{content:"";background:#e2b93bb3;flex:none;width:clamp(10px,4vw,18px);height:1px}.flip-ready .card-kicker{letter-spacing:.035em;justify-content:center;align-items:center;gap:clamp(7px,2.2vw,12px);margin:clamp(10px,2svh,18px) 0 0;font:400 clamp(22px,6vw,29px)/1 Cormorant Garamond,serif;display:flex;position:relative}.date-dot,.date-ornament{color:#d4b45f}.date-ornament{font-size:.4em;animation:2.4s ease-in-out infinite date-sparkle;display:inline-block}.date-ornament:nth-of-type(7){animation-delay:1.2s}.date-dot{font-size:.8em}@keyframes date-sparkle{0%,to{opacity:.55;transform:scale(.7)rotate(0)}50%{opacity:1;text-shadow:0 0 8px #e2b93be6;transform:scale(1.3)rotate(90deg)}}.date-glint{color:#fff3c4;pointer-events:none;text-shadow:0 0 6px #ffe696e6;opacity:0;line-height:1;animation:3.2s ease-in-out infinite date-glint;position:absolute}.glint-1{font-size:12px;top:-8px;left:18%}.glint-2{font-size:9px;animation-duration:3.6s;animation-delay:1.1s;top:24px;left:47%}.glint-3{font-size:11px;animation-duration:3s;animation-delay:2s;top:-6px;left:74%}.glint-4{font-size:8px;animation-duration:4s;animation-delay:2.6s;top:26px;left:33%}.glint-5{font-size:8px;animation-duration:3.8s;animation-delay:.6s;top:20px;left:88%}@keyframes date-glint{0%,70%,to{opacity:0;transform:scale(0)rotate(0)}80%{opacity:1;transform:scale(1)rotate(45deg)}90%{opacity:.6;transform:scale(.4)rotate(90deg)}}.flip-ready .names span{color:#d4b45f}.flip-ready .photo-script{padding:0 12px;font-size:clamp(50px,12vw,80px)}.flip-ready .photo-frame{min-height:0}.flip-ready .front-bottom{flex:none;padding:clamp(20px,3.8svh,34px) 0 clamp(28px,6svh,52px)}.flip-ready .back{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));display:block;overflow:hidden auto}.flip-ready .back-heading{border:1px solid #f3ecdc80;border-bottom:0;gap:12px;padding:clamp(24px,7vw,40px) clamp(18px,6vw,32px);position:relative}.flip-ready .back-heading>div:first-child{min-width:0}.flip-ready .back-heading h2{overflow-wrap:anywhere;font-size:clamp(25px,7vw,46px)}.flip-ready .letter{border:1px solid #4a4a2b66;border-top:0;width:100%;max-width:none;margin:0;padding:28px clamp(20px,7vw,40px) 30px}.flip-ready .letter p{max-width:540px}.flip-ready .letter .signature{overflow-wrap:anywhere}.flip-ready .calendar span{font-variant-emoji:text;font-family:Barlow,sans-serif}.flip-ready .back{flex-direction:column;display:flex}.flip-ready .back-heading{padding-block:clamp(16px,3svh,28px)}.flip-ready .back-heading h2{margin-top:8px}.flip-ready .stamp{width:clamp(65px,17vw,88px)}.flip-ready .letter{flex-direction:column;flex:1 0 auto;justify-content:center;padding-top:clamp(14px,2.5svh,24px);padding-bottom:clamp(14px,2.5svh,24px);font-size:clamp(17px,2.5svh,20px);line-height:1.25;display:flex}.flip-ready .letter p{margin-bottom:clamp(7px,1.3svh,12px)}.flip-ready .letter .signoff{margin-bottom:0}.flip-ready .letter .signature{margin-bottom:clamp(10px,2svh,18px);font-size:clamp(32px,5svh,40px)}.flip-ready .letter .see-you{margin:clamp(8px,1.5svh,14px) 0 0;font-size:clamp(30px,4.5svh,38px)}.flip-ready .calendar{min-height:44px}.flip-ready .back{padding:0;position:relative}.flip-ready .back:after{content:"";pointer-events:none;z-index:1;border:1px solid #4a4a2b66;display:block;position:absolute;inset:14px}.flip-ready .back-heading{padding:max(30px, env(safe-area-inset-top)) max(8%, env(safe-area-inset-right)) 24px max(8%, env(safe-area-inset-left));border:0}.flip-ready .back-heading:before{content:"";pointer-events:none;border:1px solid #f3ecdc80;border-bottom:0;position:absolute;inset:14px 14px 0}.flip-ready .back-heading:after{content:"";pointer-events:none;background:radial-gradient(circle at 8px 0,#3f4028 7px,#0000 7.5px) 0 0/16px 8px repeat-x;height:8px;position:absolute;bottom:-7px;left:0;right:0}.flip-ready .back-heading h2{margin:0;font-weight:500;line-height:.95}.flip-ready .letter{padding:clamp(22px, 4svh, 34px) max(9%, env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) max(9%, env(safe-area-inset-left));border:0;justify-content:flex-start}.flip-ready .letter .route{margin-top:clamp(12px,3svh,26px);padding-top:0}.flip-ready .route-icon{color:#ae995f;font:20px/1 Cormorant Garamond,serif}.flip-ready .calendar{border:1px solid #aaa48b;align-self:center;margin-top:12px;padding:0 18px}.flip-ready .stamp{background:#efe8da;border:4px solid #efe8da;outline:1px solid #efe8da;flex-direction:column;justify-content:flex-start;gap:4px;padding:4px;display:flex;transform:rotate(3deg);box-shadow:inset 0 0 0 1px #77765a}.flip-ready .stamp-top{letter-spacing:.12em;font:600 9px Cormorant Garamond,serif}.flip-ready .stamp-photo{aspect-ratio:1;background:url(/images/brukne.jpg) 50% 39%/240% no-repeat;width:100%;display:block}.flip-ready .stamp-bottom{letter-spacing:.05em;justify-content:space-between;width:100%;font:600 8px Cormorant Garamond,serif;display:flex}.flip-ready .letter .see-you{margin:0 0 14px}.address-lines{gap:clamp(10px,2svh,18px);padding:0 4%;display:grid}.address-lines span{background:#4a4a2b40;height:1px}.flip-ready .calendar{border:0;margin-top:8px;padding:0 12px}.flip-ready .card{-webkit-backface-visibility:hidden;backface-visibility:hidden;cursor:pointer;animation:none}.flip-button,.showing-back .flip-button{z-index:3;background:0 0;border:0;width:48px;height:48px;min-height:0;margin:0;padding:0;position:absolute;top:14px;right:14px}.flip-button:focus-visible{outline-offset:-4px;outline:2px solid #d8c69c}.flip-ready .photo-script{animation:2.4s cubic-bezier(.45,.1,.35,1) .1s both headline-reveal;-webkit-mask-image:linear-gradient(90deg,#000 33.3%,#0000 40%);mask-image:linear-gradient(90deg,#000 33.3%,#0000 40%);-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes headline-reveal{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}.postcard-section:after{content:"";z-index:0;pointer-events:none;visibility:hidden;background-color:#e6dece;background-image:radial-gradient(75% 50% at 50% 46%,#fffaeeb3,#0000 70%),radial-gradient(circle,#ffffff59 0 .6px,#0000 1px),radial-gradient(circle,#5a4b281f 0 .6px,#0000 1px),radial-gradient(circle,#ffffff40 0 .8px,#0000 1.2px),radial-gradient(circle,#5a4b2814 0 .9px,#0000 1.3px);background-size:100% 100%,3px 3px,5px 5px,7px 7px,11px 11px;position:absolute;inset:0}body.is-turning .postcard-section:after{visibility:visible}.card-lift{z-index:2;position:relative}.postcard-section:before{content:"";filter:blur(24px);opacity:0;z-index:1;pointer-events:none;background:radial-gradient(#3c321959,#0000 70%);border-radius:50%;position:absolute;inset:15% 10% 10%}body.is-turning .postcard-section:before{animation:1.15s ease-in-out both flip-shadow}@keyframes flip-shadow{0%{opacity:0;transform:scale(.7)}45%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}.flip-ready .card-wrap:before,.flip-ready .card-wrap:after{content:"";-webkit-backface-visibility:visible;backface-visibility:visible;background:linear-gradient(90deg,#a89b7f,#f3ead5 32%,#d7cbb1 70%,#97896d);width:12px;position:absolute;top:0;bottom:0;transform:rotateY(90deg)}.flip-ready .card-wrap:before{left:-6px}.flip-ready .card-wrap:after{right:-6px}.flip-ready .front{transform:translateZ(6px)}.flip-ready .back{transform:rotateY(180deg)translateZ(6px)}.flip-ready .wax-calendar{text-align:center;flex-direction:column;gap:10px;margin:auto auto 0;padding:18px 12px}.wax-seal{aspect-ratio:1;background:radial-gradient(circle at 35% 28%,#ca483b,#a3231e 52%,#701411 100%);border-radius:48% 53% 47% 52%;place-items:center;width:clamp(64px,10svh,88px);display:grid;position:relative;transform:rotate(-8deg);box-shadow:0 3px 5px #460d0959,inset 0 2px 3px #e66d5c80,inset 0 -3px 4px #4c090a80}.wax-seal:before{content:"";border:1px solid #5d0f0db3;border-radius:50%;position:absolute;inset:14%;box-shadow:inset 0 3px 5px #40000080,0 1px #ffab9180}.flip-ready .wax-seal span{letter-spacing:0;color:#741612;text-shadow:0 1px #ffa08c80,0 -1px #28000080;font:28px/1 Corinthia,cursive;position:relative}.wax-calendar:hover .wax-seal{transition:transform .25s;transform:rotate(-4deg)scale(1.05)}.flip-ready .postcard-closing{margin-top:0;padding-top:clamp(8px,2svh,18px)}.flip-ready .handwritten-calendar{color:#3b3b22;flex-direction:column;align-self:center;gap:4px;margin:12px auto 0;padding:0 12px;text-decoration:none}.circled-date{white-space:nowrap;padding:8px 20px;position:relative}.flip-ready .handwritten-calendar .circled-date{font:46px/1 Corinthia,cursive}.flip-ready .handwritten-calendar .circled-date>span{font:inherit}.circled-date svg{width:calc(100% + 12px);height:calc(100% + 6px);position:absolute;inset:-3px -6px;overflow:visible}.circled-date path{fill:none;stroke:#a8362b;stroke-width:2.2px;stroke-linecap:round;opacity:.85}.flip-ready .handwritten-calendar .calendar-note{color:#a8362b;white-space:nowrap;align-items:center;gap:8px;margin-left:40px;font:26px/1 Corinthia,cursive;display:flex;transform:rotate(-3deg)}.calendar-note svg{width:30px;height:26px;overflow:visible}.calendar-note path{fill:none;stroke:#a8362b;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.flip-ready .back{background-color:#efe8da;background-image:radial-gradient(120% 90% at 50% 45%,#0000 55%,#785f3221 100%),radial-gradient(circle,#fff6 0 .6px,#0000 1px),radial-gradient(circle,#5a4b281a 0 .6px,#0000 1px),radial-gradient(circle,#5a4b280f 0 .9px,#0000 1.3px),repeating-linear-gradient(17deg,#785f3208 0 1px,#0000 1px 9px),repeating-linear-gradient(-23deg,#ffffff1f 0 1px,#0000 1px 13px);background-size:100% 100%,3px 3px,5px 5px,11px 11px,auto,auto}.flip-ready .back-heading{background-color:#3f4028;background-image:linear-gradient(#3f4028 0%,#0000 18% 82%,#3f4028 100%),radial-gradient(80% 60% at 50% 45%,#f3ecdc0d,#0000 70%),radial-gradient(circle,#f3ecdc12 0 .6px,#0000 1px),radial-gradient(circle,#0000001f 0 .6px,#0000 1px),radial-gradient(circle,#f3ecdc0d 0 .8px,#0000 1.2px),radial-gradient(circle,#00000014 0 .9px,#0000 1.3px);background-size:100% 100%,100% 100%,3px 3px,5px 5px,7px 7px,11px 11px;min-height:150px}.flip-ready .back-heading h2{text-transform:none;font:italic 400 clamp(32px,10vw,42px)/.92 Cormorant Garamond,serif}.flip-ready .letter{text-align:center;color:#33331d;text-wrap:balance;justify-content:flex-start;align-items:center;gap:14px;padding:30px clamp(24px,9.5vw,38px) 36px;font-family:EB Garamond,serif}.flip-ready .letter p{margin:0}.flip-ready .letter .greeting{font:38px/1 Corinthia,cursive}.flip-ready .letter .letter-intro{font:italic 17px/1.5 EB Garamond,serif}.flip-ready .letter-divider{color:#b08a2e;align-items:center;gap:10px;font-size:10px;display:flex}.letter-divider span{opacity:.6;background:currentColor;width:22px;height:1px}.flip-ready .letter .letter-body{font:16px/1.55 EB Garamond,serif}.flip-ready .letter .letter-invitation{letter-spacing:.16em;text-transform:uppercase;margin-top:clamp(24px,5svh,44px);font:600 12.5px/1.6 Cormorant Garamond,serif}.flip-ready .letter .letter-note{color:#6a6446;margin-top:-4px;font:italic 14.5px/1.3 EB Garamond,serif}.flip-ready .letter .signoff{margin:2px 0 -14px;font:15px/1.3 EB Garamond,serif}.flip-ready .letter .signature{white-space:nowrap;margin:0;font:48px/1 Corinthia,cursive}.flip-ready .handwritten-calendar{margin:auto auto 0;padding:20px 12px 0}.flip-ready .handwritten-calendar .circled-date{font-size:42px}.back-date-header{flex-direction:column;gap:10px;display:flex}.back-date-row{align-items:center;gap:12px;display:flex;position:relative}.back-day{font:400 68px/.8 Cormorant Garamond,serif}.back-date-rule{background:#e2b93b99;align-self:stretch;width:1px}.back-month{letter-spacing:.24em;flex-direction:column;gap:4px;font:600 13px Cormorant Garamond,serif;display:flex}.back-year{-webkit-text-fill-color:transparent;background:linear-gradient(105deg,#e2b93b 40%,#fff4c2 48%,#f0cf5a 50%,#fff4c2 52%,#e2b93b 60%) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;animation:4.8s ease-in-out infinite year-shimmer}@keyframes year-shimmer{0%{background-position:100% 0}60%,to{background-position:0 0}}.back-place{color:#d8c69c;white-space:nowrap;letter-spacing:.32em;align-items:center;gap:8px;font:600 9.5px Cormorant Garamond,serif;display:flex}.back-star{color:#e2b93b;font-size:8px;line-height:1;animation:2.6s ease-in-out infinite date-sparkle;display:inline-block}.back-place .back-star:last-child{animation-delay:1.3s}.letter-divider .back-star{font-size:10px;animation-delay:.6s}.back-glint{color:#fff3c4;text-shadow:0 0 6px #ffe696e6;opacity:0;pointer-events:none;line-height:1;animation:3.4s ease-in-out infinite date-glint;position:absolute}.bg1{font-size:12px;top:-10px;left:-14px}.bg2{font-size:9px;animation-duration:3.8s;animation-delay:1.3s;top:-12px;left:52px}.bg3{font-size:10px;animation-duration:3.2s;animation-delay:2.2s;top:58px;left:30px}.bg4{font-size:8px;animation-duration:4.1s;animation-delay:.7s;top:50px;left:-10px}.back-active .signature,.back-active .calendar-note-text{animation:1.8s cubic-bezier(.45,.1,.35,1) .4s both headline-reveal;-webkit-mask-image:linear-gradient(90deg,#000 33.3%,#0000 40%);mask-image:linear-gradient(90deg,#000 33.3%,#0000 40%);-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.flip-ready .handwritten-calendar .calendar-note-text{font:26px/1.1 Corinthia,cursive}.back-active .calendar-note-text{animation-duration:1.1s;animation-delay:.4s}.flip-ready .circled-date path,.flip-ready .calendar-note path{stroke-dasharray:1;stroke-dashoffset:1px}.back-active .circled-date path,.back-active .calendar-note path{animation:1.1s cubic-bezier(.5,.1,.4,1) .4s both pencil-draw}.back-active .calendar-note .arrow-stem{animation-duration:.55s;animation-delay:1.5s}.back-active .calendar-note .arrow-head{animation-duration:.25s;animation-delay:2.05s}@keyframes pencil-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.flip-ready .letter .signoff{margin-top:8px;padding-top:0}.flip-ready .handwritten-calendar{margin-top:auto;position:relative;top:-12px}.flip-ready .signature-block{color:#33331d;flex-direction:column;align-self:flex-end;align-items:flex-end;margin-right:-2px;display:flex;transform:rotate(-4deg)}.flip-ready .letter .signature-block .signoff{margin:0;padding:0;font:28px/1 Corinthia,cursive}.flip-ready .letter .signature-block .signature{margin:0;padding:0 6px;font:46px/1.05 Corinthia,cursive}.flip-ready .back:after{content:none}.flip-ready .letter{border:1px solid #4a4a2b4d;border-top:0;flex:1 0 auto;width:calc(100% - 28px);margin:0 14px 14px;position:relative}.flip-ready .back-heading{min-height:clamp(110px,17svh,150px)}@media (height<=820px){.flip-ready .back-heading{padding-top:18px;padding-bottom:16px}.flip-ready .letter{gap:clamp(7px,1.3svh,11px);padding:clamp(14px,2.5svh,22px) clamp(20px,6vw,32px) 20px}.flip-ready .letter .greeting{font-size:clamp(30px,4.7svh,38px)}.flip-ready .letter .letter-intro{font-size:16px;line-height:1.35}.flip-ready .letter .letter-body{font-size:16px;line-height:1.4}.flip-ready .letter .letter-invitation{line-height:1.4}.flip-ready .letter .signoff{margin-bottom:-10px}.flip-ready .letter .signature{font-size:clamp(36px,5.5svh,48px)}.flip-ready .handwritten-calendar{padding-top:10px}.flip-ready .handwritten-calendar .circled-date{font-size:36px}}@media not all and (width>=900px) and (aspect-ratio>=6/5){body.flip-ready:not(.is-turning):not(.showing-back) .back-year,body.flip-ready:not(.is-turning):not(.showing-back) .back-star,body.flip-ready:not(.is-turning):not(.showing-back) .back-glint,body.flip-ready.showing-back:not(.is-turning) .date-ornament,body.flip-ready.showing-back:not(.is-turning) .date-glint{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){body.show-flip-hint .card-lift,.flip-ready .card-wrap.is-turning{animation:none}.flip-ready .photo-script,.back-active .signature,.back-active .calendar-note-text{animation:none;-webkit-mask-image:none;mask-image:none}.back-active .circled-date path,.back-active .calendar-note path{stroke-dasharray:none;animation:none}.back-year{color:#e2b93b;-webkit-text-fill-color:currentColor;background:0 0;animation:none}.back-star,.back-glint,.date-ornament,.date-glint{animation:none}}.flip-ready .back{background-image:linear-gradient(#efe8da 0%,#0000 18% 82%,#efe8da 100%),radial-gradient(120% 90% at 50% 45%,#0000 55%,#785f3221 100%),radial-gradient(circle,#fff6 0 .6px,#0000 1px),radial-gradient(circle,#5a4b281a 0 .6px,#0000 1px),radial-gradient(circle,#5a4b280f 0 .9px,#0000 1.3px),repeating-linear-gradient(17deg,#785f3208 0 1px,#0000 1px 9px),repeating-linear-gradient(-23deg,#ffffff1f 0 1px,#0000 1px 13px);background-size:100% 100%,100% 100%,3px 3px,5px 5px,11px 11px,auto,auto}.flip-ready .back-heading{background-image:linear-gradient(#3f4028 0%,#0000 100%),radial-gradient(80% 60% at 50% 45%,#f3ecdc0d,#0000 70%),radial-gradient(circle,#f3ecdc12 0 .6px,#0000 1px),radial-gradient(circle,#0000001f 0 .6px,#0000 1px),radial-gradient(circle,#f3ecdc0d 0 .8px,#0000 1.2px),radial-gradient(circle,#00000014 0 .9px,#0000 1.3px);background-size:100% 100%,100% 100%,3px 3px,5px 5px,7px 7px,11px 11px}.flip-ready .back-heading:after{background-color:#3f4028;background-image:radial-gradient(circle,#f3ecdc12 0 .6px,#0000 1px),radial-gradient(circle,#0000001f 0 .6px,#0000 1px),radial-gradient(circle,#f3ecdc0d 0 .8px,#0000 1.2px),radial-gradient(circle,#00000014 0 .9px,#0000 1.3px);background-size:3px 3px,5px 5px,7px 7px,11px 11px;-webkit-mask:radial-gradient(circle at 8px 0,#000 7px,#0000 7.5px) 0 0/16px 8px repeat-x;mask:radial-gradient(circle at 8px 0,#000 7px,#0000 7.5px) 0 0/16px 8px repeat-x}@media (width>=900px) and (aspect-ratio>=6/5){body.flip-ready,body.flip-ready.showing-back{background:#3f4028}.page,.postcard-section{min-height:100vh}.page{container-type:size}.postcard-section{perspective:2600px;justify-content:center;align-items:center;display:flex;overflow:hidden}.card-lift{flex:none;width:100%;height:100vh}.flip-ready .card-wrap{width:100%;height:100%}.flip-ready .card{height:100%}.flip-ready .front{padding:18px}.flip-ready .front-inner{height:100%;padding:0;display:block}.flip-ready .photo-frame{width:40%;height:86%;min-height:0;position:absolute;top:6%;left:5.8%}.flip-ready .front-heading{gap:14px;width:46%;margin:0;font-size:clamp(23px,3.4cqw,38px);position:absolute;top:22%;left:50%}.flip-ready .front-heading:before,.flip-ready .front-heading:after{width:28px}.flip-ready .front-bottom{gap:clamp(15px,3cqh,28px);width:46%;padding:0;position:absolute;top:35%;left:50%}.flip-ready .names{flex-direction:column;align-items:center;gap:2px;font-size:clamp(36px,5.9cqw,66px);display:flex}.flip-ready .names span{font-size:.7em;line-height:1}.flip-ready .front-bottom:after{content:"PLATELIAI · ŽEMAITIJA";color:#d8c69c;white-space:nowrap;letter-spacing:.34em;font:600 clamp(9px,1.1cqw,12px) Cormorant Garamond,serif}.flip-ready .back{overflow-y:auto}.flip-ready .back-heading{flex:none;height:21%;min-height:0;padding:2% 5%}.flip-ready .letter{flex:1 0 0;grid-template-rows:1fr auto auto auto auto auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);place-items:center;gap:clamp(5px,1.5cqh,14px) 0;width:calc(100% - 36px);min-height:0;margin:0 18px 18px;padding:2% 3%;display:grid;position:relative}.flip-ready .letter:before{content:"";background:#4a4a2b40;width:1px;position:absolute;top:8%;bottom:8%;left:50%}.flip-ready .letter .greeting,.flip-ready .letter .letter-intro,.flip-ready .letter .letter-divider,.flip-ready .letter .letter-body{grid-column:1;width:85%}.flip-ready .letter .greeting{grid-row:2;font-size:clamp(30px,4.1cqw,46px)}.flip-ready .letter .letter-intro{grid-row:3;font-size:clamp(14px,1.7cqw,19px)}.flip-ready .letter .letter-divider{grid-row:4;justify-content:center}.flip-ready .letter .letter-body{grid-row:5;font-size:clamp(14px,1.6cqw,18px)}.flip-ready .letter .letter-invitation{grid-area:2/2;margin:0;font-size:clamp(11px,1.25cqw,14px)}.flip-ready .letter .letter-note{grid-area:3/2;font-size:clamp(13px,1.4cqw,16px)}.flip-ready .handwritten-calendar{grid-area:4/2/6;margin:0;padding:10px;top:0}.flip-ready .signature-block{grid-area:7/2;place-self:end;margin:0 5% 0 0}.flip-button,.showing-back .flip-button{top:14px;right:14px}.postcard-section:after{visibility:visible}.flip-ready .card-wrap{animation:1.7s cubic-bezier(.6,.05,.25,1) 2.6s both spread-open;display:block;position:relative;transform:none}.flip-ready .card-wrap:after{display:none}.flip-ready .card-wrap:before{content:"";pointer-events:none;background:#3f4028;width:50%;height:100%;animation:1.7s ease-in-out 2.6s both opening-shadow;display:block;position:absolute;inset:0 auto 0 0;transform:translateZ(-4px);box-shadow:0 5px 12px #32281452,0 30px 75px #3228147a}@keyframes opening-shadow{0%{opacity:1}to{opacity:0}}.flip-ready .card{cursor:default;width:50%;height:100%;position:absolute;top:0}.flip-ready .front{z-index:2;animation:none;left:0;transform:translateZ(1px);box-shadow:0 3px 8px #32281447,0 28px 70px #3228146b}.flip-ready .back{z-index:1;transform-origin:0;animation:1.7s cubic-bezier(.6,.05,.25,1) 2.6s both spread-back;left:50%;transform:rotateY(0)}@keyframes spread-open{0%{transform:translate(25%)}to{transform:translate(0)}}@keyframes spread-back{0%{transform:translateZ(-2px)rotateY(179.5deg)}50%{transform:translateZ(-2px)rotateY(90deg)}to{transform:translateZ(0)rotateY(0)}}.flip-ready .front-inner{padding:clamp(20px,5vh,44px) 8% 0;display:flex}.flip-ready .front-heading{width:100%;margin:0 0 clamp(16px,3vh,28px);font-size:clamp(22px,min(3.36vw,4.1vh),47.6px);position:static}.flip-ready .photo-frame{flex:1;width:65%;height:auto;position:relative;top:auto;left:auto}.flip-ready .photo-script{font-size:clamp(42px,min(4.9vw,7vh),81.2px);top:16%;left:11%}.flip-ready .front-bottom{gap:0;width:100%;padding:clamp(16px,4vh,32px) 0 clamp(24px,6vh,48px);position:static}.flip-ready .names{flex-direction:row;justify-content:center;gap:10px;font-size:clamp(28px,min(3.8vw,5vh),58.8px)}.flip-ready .card-kicker{margin:14px 0 0;font-size:clamp(22px,min(3.22vw,3.7vh),43.4px)}.flip-ready .front-bottom:after{content:none}.flip-ready .back-heading{height:18%;min-height:140px;padding:24px 8%}.flip-ready .back-heading:before{inset:18px 18px 0}.flip-ready .back-heading{background-position:50%,50%,-50vw 0,-50vw 0,-50vw 0,-50vw 0}.flip-ready .back-date-header{flex-direction:column;align-items:flex-start;gap:10px}.flip-ready .back-day{font-size:clamp(68px,8.2vh,95.2px)}.flip-ready .back-month{font-size:clamp(13px,1.56vh,18.2px)}.flip-ready .back-place{font-size:clamp(9.5px,1.14vh,13.3px)}.flip-ready .stamp{width:80px}.flip-ready .letter{flex-direction:column;flex:1 0 auto;justify-content:space-between;align-items:center;gap:clamp(8px,1.3vh,14px);width:calc(100% - 36px);min-height:0;margin:0 18px 18px;padding:26px clamp(26px,4vw,54px) 34px;display:flex}.flip-ready .letter:before{content:none}.flip-ready .letter .greeting,.flip-ready .letter .letter-intro,.flip-ready .letter .letter-divider,.flip-ready .letter .letter-body{width:auto}.flip-ready .letter .greeting{font-size:clamp(42px,min(4.5vw,5vh),58.8px)}.flip-ready .letter .letter-intro{font-size:clamp(17.5px,2.1vh,24.5px)}.flip-ready .letter .letter-body{font-size:clamp(17px,2.04vh,23.8px)}.flip-ready .letter .letter-invitation{margin:0;font-size:clamp(12.5px,1.5vh,17.5px)}.flip-ready .letter .letter-note{font-size:clamp(14.5px,1.74vh,20.3px)}.flip-ready .handwritten-calendar{margin:0;padding:0 12px;top:0}.flip-ready .handwritten-calendar .circled-date{font-size:clamp(44px,5.28vh,61.6px)}.flip-ready .handwritten-calendar .calendar-note-text{font-size:clamp(26px,3.12vh,36.4px)}.flip-ready .letter .signoff{font-size:clamp(28px,3.36vh,39.2px)}.flip-ready .letter .signature{font-size:clamp(46px,5.52vh,64.4px)}.flip-ready .signature-block{align-self:flex-end;margin:0}.flip-button,.showing-back .flip-button{display:none}.back-active .signature,.back-active .circled-date path,.back-active .calendar-note-text{animation-delay:4.3s}.back-active .calendar-note .arrow-stem{animation-delay:5.4s}.back-active .calendar-note .arrow-head{animation-delay:5.95s}@media (prefers-reduced-motion:reduce){.flip-ready .card-wrap,.flip-ready .front,.flip-ready .back{animation:none}.flip-ready .card-wrap:before{display:none}}}
