@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Caveat:wght@400;500;600&display=swap";:root{--cream:#faf7f0;--ink:#403c39;--coral:#d66d59;--lavender:#b6a0d1;--yellow:#edc34b;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:6px}header{height:104px;display:flex;align-items:center;justify-content:space-between;max-width:1440px;padding:0 5%;margin:auto;border-bottom:1px solid #403c3914;gap:20px}.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:600;letter-spacing:-.5px}.brand>span:first-child{color:var(--coral);font-size:32px}nav{display:flex;gap:34px;font-size:12px}nav a{transition:color .2s}nav a:hover{color:var(--coral)}nav span{color:var(--coral)}.made{font-size:9px;letter-spacing:1.6px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;line-height:1.7;text-transform:uppercase}.hand{font-family:Caveat,cursive;font-size:32px;font-weight:500}.hero,.gate-scene{position:relative;isolation:isolate;overflow:hidden;min-height:690px;display:flex;align-items:center;justify-content:center;padding:80px 20px 110px;background:radial-gradient(ellipse at 40% 90%,#f6ddd452,transparent 50%),radial-gradient(ellipse at 85% 40%,#e3daf442,transparent 40%)}.hero-copy{text-align:center;max-width:640px;z-index:2}.hello{color:var(--coral);margin:21px 0 15px;font-size:34px}h1,h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-2.5px;line-height:1.08;margin:0}h1{font-size:clamp(48px,5.2vw,76px)}h2{font-size:clamp(38px,4vw,55px);letter-spacing:-1.5px}em{color:var(--coral);font-weight:400}.intro{font-size:14px;line-height:1.9;max-width:370px;margin:25px auto 28px;color:#716c67}.primary{border:0;border-radius:100px;background:var(--ink);color:var(--cream);display:inline-flex;align-items:center;justify-content:center;gap:27px;padding:18px 25px;font-size:12px;transition:transform .25s,background .25s,box-shadow .25s}.primary:hover{transform:translateY(-3px);background:#5d4c61;box-shadow:0 8px 20px #403c3918}.primary span{font-size:19px;color:var(--yellow)}.micro{font-size:8px;letter-spacing:1.5px;margin-top:19px;color:#7a746f}.hero-photo{position:absolute;z-index:1;width:218px;top:175px}.hero-photo.left{left:4%;transform:rotate(-12deg)}.hero-photo.right{right:4%;top:160px;transform:rotate(11deg)}.polaroid{background:#fffefa;border:1px solid #ede9df;padding:11px 11px 13px;box-shadow:0 9px 24px #44352512;display:block;width:100%;text-align:left;transition:transform .4s,box-shadow .4s;position:relative}.polaroid:hover{transform:translateY(-9px) rotate(2deg);box-shadow:0 16px 35px #44352520}.polaroid img{width:100%;height:240px;display:block;object-fit:cover;background:#e2ddd5}.polaroid>span{font-family:Caveat,cursive;display:block;font-size:21px;margin:13px 2px 8px;line-height:1.15}.polaroid small{display:block;font-size:7px;letter-spacing:1.7px;color:#9b938a;margin:2px}.hero-photo .polaroid img{height:240px}.annotation{display:block;text-align:center;font-size:25px;margin-top:20px;color:#77715f}.sticker{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;bottom:-40px;right:-15px;background:var(--yellow);height:116px;width:116px;clip-path:polygon(50% 0,59% 9%,72% 5%,77% 18%,91% 20%,90% 34%,100% 43%,92% 54%,98% 67%,85% 74%,82% 88%,68% 88%,58% 100%,47% 92%,33% 98%,26% 86%,12% 83%,13% 69%,1% 59%,9% 47%,3% 34%,16% 27%,20% 12%,34% 13%);font-size:10px;line-height:1.35;text-align:center;transform:rotate(-20deg)}.sticker b{font-size:13px}.orbit{position:absolute;z-index:-1;border:1px solid #b6a0d126;border-radius:50%;width:1050px;height:490px;transform:rotate(-18deg);pointer-events:none;animation:float 12s ease-in-out infinite}.orbit-two{transform:rotate(20deg);width:900px;height:600px;border-color:#d9bca52b;animation-delay:-6s}.scene-star{position:absolute;line-height:1;animation:float 7s ease-in-out infinite;pointer-events:none}.s1{top:80px;left:24%;font-size:55px;color:var(--lavender)}.s2{bottom:120px;right:26%;font-size:36px;color:var(--coral)}.s3{top:75px;right:17%;font-size:42px;color:var(--yellow)}.scroll-note{position:absolute;bottom:28px;font-size:10px;color:#8a817a;text-align:center}.scroll-note span{display:block;font-size:20px;margin-top:10px}.ribbon{display:flex;gap:45px;justify-content:center;align-items:center;white-space:nowrap;overflow:hidden;background:#e4e8d9;padding:19px 0;font-size:27px;color:#77846b}.ribbon span{font-family:"DM Serif Display",serif;font-style:italic;font-size:22px;color:#525e47}.section{max-width:1200px;margin:auto;padding:100px 55px}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:flex-end}.section-heading>p{font-size:12px;line-height:1.9;color:#82766b;padding-bottom:8px}.photo-help{display:block;font-family:Caveat;font-size:22px;color:var(--coral);margin-top:12px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:65px 0 35px;align-items:start}.gallery .polaroid:nth-child(4n+1){rotate:-5deg;margin-top:20px}.gallery .polaroid:nth-child(4n+2){rotate:3deg}.gallery .polaroid:nth-child(4n+3){rotate:-3deg;margin-top:28px}.gallery .polaroid:nth-child(4n){rotate:5deg;margin-top:5px}.gallery .polaroid img{height:255px}.example-note{font-size:10px;color:#8d8178;text-align:center;margin-top:45px}.letter-section{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center;padding-top:90px;padding-bottom:110px}.letter-intro>.hand{display:block;color:var(--coral);margin:22px 0}.flower{font-size:180px;color:var(--lavender);line-height:1.3;transform:rotate(-10deg)}.letter{background:#fffdf8;box-shadow:0 15px 50px #53412d0d;border:1px solid #e8e1d5;padding:48px 44px;rotate:2deg;position:relative}.letter:before{content:"";position:absolute;top:-16px;left:40%;width:100px;height:30px;background:#c6b5d377;transform:rotate(-7deg)}.letter-stamp{position:absolute;top:25px;right:25px;border:1px dashed var(--coral);padding:9px;color:var(--coral);font-size:9px;line-height:1.5;transform:rotate(10deg);text-align:center}.salutation{font-size:29px;margin-top:30px}.letter-text p{font-size:13px;line-height:1.95;margin:20px 0}.letter-text p:first-child{font-size:10px;color:#9b8070}.signature{font-size:29px;color:var(--coral);line-height:1.2;margin-top:30px}.letter-bottom{font-size:7px;letter-spacing:1.5px;color:#a59b8f;display:block;margin-top:35px}.final{max-width:none;text-align:center;background:#eee8f3;position:relative;overflow:hidden;padding:75px 20px 85px}.final-star{display:block;color:var(--coral);font-size:43px;margin:25px}.final h2{font-size:64px}.final>p:not(.eyebrow):not(.hand){font-size:13px;line-height:1.9;color:#7c6c84;margin:25px}.final>.hand{font-size:30px;color:#826098}.video-slot{min-height:75px;margin-top:32px}.video-slot .primary{animation:arrive 1s both}footer{display:flex;align-items:center;justify-content:space-between;padding:45px 5% 120px;gap:20px}footer>p,footer>button{font-size:10px;color:#8a8077}footer>button{border:0;background:none;text-decoration:underline;text-underline-offset:4px}.music-bar{position:fixed;bottom:22px;left:28px;z-index:8;display:flex;align-items:center;gap:12px;padding:10px 15px 10px 10px;border-radius:100px;background:#fffdf6ed;box-shadow:0 4px 25px #403c3912;border:1px solid #e9e0d7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.record{border-radius:50%;background:var(--ink);color:#efe1cc;width:38px;height:38px;display:grid;place-items:center}.spinning{animation:spin 6s linear infinite}.music-label{display:block;font-size:10px;font-weight:600}.music-bar #music-status{font-size:8px;color:#8d8178}.music-bar button{background:none;border:0;font-size:22px;padding:5px}.volume-label{font-size:0}.volume-label input{width:55px;accent-color:var(--coral);vertical-align:middle}.gate-scene{min-height:calc(100svh - 104px);text-align:center;display:block;padding-top:95px}.gate-hand{color:var(--coral);margin:24px 0 15px;font-size:36px}.gate-scene h1{font-size:clamp(48px,6.3vw,85px)}.gate-scene .intro{margin-top:24px}.countdown{display:flex;justify-content:center;gap:30px;margin:35px 0}.countdown>div{min-width:70px}.countdown b{display:block;font-family:"DM Serif Display";font-size:46px;font-weight:400;font-variant-numeric:tabular-nums}.countdown span{font-size:8px;letter-spacing:2px}.gate-bottom{margin-top:50px;font-size:8px;letter-spacing:2px}.gate-bottom span{display:block;font-size:28px;color:var(--coral);margin-top:12px}.dev-panel{position:fixed;bottom:8px;right:12px;z-index:10;display:flex;gap:12px;flex-wrap:wrap;align-items:center;max-width:430px;background:#fffdf4f5;border:1px solid #ded4c8;border-radius:9px;padding:9px 12px;font-size:9px;box-shadow:0 3px 10px #403c3910}.dev-panel span{font-size:7px;letter-spacing:1px;width:100%;color:#9c6b58}.dev-panel a:hover{text-decoration:underline}dialog{border:1px solid #e4d9cf;border-radius:12px;background:var(--cream);color:var(--ink);padding:45px 30px 25px;max-width:min(900px,94vw);max-height:90svh;box-shadow:0 15px 80px #0003}dialog::backdrop{background:#302b32d6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}dialog .close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:29px;z-index:2;width:35px;height:35px}#lightbox[open]{display:flex;align-items:center;gap:15px}#lightbox figure{margin:0;text-align:center}#lightbox img{display:block;max-width:100%;max-height:70svh;object-fit:contain}#light-caption{font-family:Caveat;font-size:24px;margin-top:15px}.arrow{background:transparent;border:0;font-size:26px;padding:10px}#video-dialog{width:800px;text-align:center}video{display:block;max-height:65svh;max-width:100%;margin:auto;object-fit:contain;background:#201d22}.video-note{font-size:11px;color:#857583}.video-placeholder{background:#e9dfed;padding:60px 20px;border-radius:6px}.video-placeholder>span{font-size:45px}.video-placeholder h3{font-family:"DM Serif Display";font-weight:400;font-size:30px}.video-placeholder p{font-size:12px;line-height:1.9}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:translateY(0)}.gift-open .hero-copy{animation:arrive 1s both}#confetti{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}#confetti i{position:absolute;left:var(--x);top:-20px;width:9px;height:15px;animation:fall 3.3s var(--delay) ease-in both}@keyframes fall{to{transform:translateY(105vh) rotate(var(--rotate));opacity:0}}@keyframes arrive{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{50%{translate:0 -12px}}@keyframes spin{to{rotate:360deg}}@media(min-width:1500px){.hero-photo.left{left:10%}.hero-photo.right{right:10%}}@media(max-width:1100px){.hero-photo{width:165px}.hero-photo.left{left:2%}.hero-photo.right{right:2%}.hero-photo .polaroid img{height:190px}.hero-copy{max-width:500px}h1{font-size:58px}.hero-photo .polaroid>span{font-size:18px}.gallery{gap:15px}.gallery .polaroid img{height:200px}.section{padding-left:35px;padding-right:35px}.letter-section{gap:35px}.letter{padding:35px 28px}.sticker{width:90px;height:90px;font-size:8px}.sticker b{font-size:10px}}@media(max-width:760px){header{height:78px;padding:0 6%}.brand{font-size:15px}.brand>span:first-child{font-size:27px}nav{gap:16px}nav a{font-size:10px}nav a:last-child,.made{display:none}.hero{min-height:890px;align-items:flex-start;padding:65px 24px 390px}.hero-copy{max-width:500px}.hero .eyebrow{font-size:8px}.hello{font-size:29px;margin-top:20px}h1{font-size:53px;letter-spacing:-2px}.intro{font-size:13px;max-width:310px;line-height:1.8}.hero-photo{top:auto!important;bottom:95px;width:158px}.hero-photo.left{left:calc(50% - 166px);rotate:3deg}.hero-photo.right{right:calc(50% - 166px);rotate:-4deg;bottom:110px}.hero-photo .polaroid img{height:175px}.hero-photo .polaroid>span{font-size:17px}.hero-photo small{font-size:6px}.annotation{font-size:20px;margin-top:9px}.sticker{bottom:-30px;right:-5px}.s1{left:7%;top:220px;font-size:30px}.s3{top:30px;right:8%;font-size:30px}.s2{right:7%;bottom:375px;font-size:26px}.scroll-note{bottom:18px;font-size:9px}.ribbon{gap:25px;padding:15px 0}.ribbon span{font-size:20px}.section{padding:65px 24px}.section-heading{display:block}.section-heading>p{margin-top:23px;font-size:12px}h2{font-size:40px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 15px;margin:35px 0 20px}.gallery .polaroid{padding:8px}.gallery .polaroid img{height:190px}.gallery .polaroid>span{font-size:19px}.gallery .polaroid:nth-child(4n+3){margin-top:10px}.gallery .polaroid:nth-child(4n){margin-top:30px}.example-note{font-size:9px;line-height:1.7}.letter-section{display:block;padding-top:25px}.letter-intro{position:relative;margin-bottom:45px}.letter-intro>.hand{font-size:28px}.flower{position:absolute;right:0;bottom:-10px;font-size:100px;opacity:.55}.letter{padding:40px 25px;rotate:1deg}.letter-text p{font-size:13px;line-height:1.95}.final{padding:60px 20px 75px}.final h2{font-size:50px}.final .primary{font-size:11px;padding:18px 22px}footer{display:block;text-align:center;padding-bottom:160px}footer .brand{justify-content:center}footer>p{margin:20px}.music-bar{bottom:58px;left:12px;padding:7px 12px 7px 7px;gap:9px}.dev-panel{font-size:8px;left:12px;right:12px;bottom:6px;max-width:none;justify-content:space-between;gap:6px;padding:7px 10px}.dev-panel span{width:auto;font-size:6px}.gate-scene{min-height:calc(100svh - 78px);padding:65px 20px}.gate-scene h1{font-size:49px}.gate-scene>.eyebrow{font-size:8px}.gate-hand{font-size:31px}.countdown{gap:13px}.countdown>div{min-width:60px}.countdown b{font-size:40px}.gate-scene .s1{top:30px;left:7%;font-size:23px}.gate-scene .s2{bottom:90px}.gate-bottom{font-size:7px}.arrow{padding:2px;font-size:22px}#lightbox[open]{padding:45px 12px 20px;gap:8px}#light-caption{font-size:20px}dialog{padding:45px 16px 20px}.video-placeholder{padding:35px 15px}.video-placeholder h3{font-size:26px}}@media(max-width:360px){h1{font-size:45px}.hero-photo{width:140px}.hero-photo.left{left:calc(50% - 147px)}.hero-photo.right{right:calc(50% - 147px)}.gallery .polaroid img{height:160px}nav{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}::view-transition-old(root){animation:gift-out .45s ease both}::view-transition-new(root){animation:gift-in .7s cubic-bezier(.16,1,.3,1) both}@keyframes gift-out{to{opacity:0;transform:scale(.97)}}@keyframes gift-in{0%{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}#video-title:focus{outline:none}.photo-card{perspective:1200px}.photo-flip{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.photo-turn{position:relative;display:grid;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.photo-flip[aria-pressed=true] .photo-turn{transform:rotateY(180deg)}.photo-front,.photo-back{grid-area:1/1;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.photo-front{display:block}.photo-back{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transform:rotateY(180deg);background:repeating-linear-gradient(transparent 0 29px,#cfb3be30 29px 30px),#fff8ef;border:1px dashed #dcb7c7;border-radius:3px;padding:20px 12px;text-align:center}.photo-caption{font-family:Caveat,cursive;display:block;font-size:21px;margin:13px 2px 8px;line-height:1.15}.photo-note{font-family:Caveat,cursive;font-size:27px;line-height:1.25;white-space:pre-line;overflow-wrap:anywhere}.back-label{font-family:DM Sans,sans-serif;font-size:8px;line-height:1.7;letter-spacing:1.4px;color:var(--coral)}.back-return{font-family:DM Sans,sans-serif;font-size:9px;color:#9b7185}.flip-hint{display:block;text-align:center;font-size:9px;color:var(--coral);margin-top:14px;line-height:1.6;letter-spacing:.2px}.photo-enlarge{display:block;border:0;border-top:1px solid #c7a3b32b;background:none;width:100%;padding:9px 0 1px;margin-top:8px;font-size:9px;color:#987585;text-align:center}.photo-enlarge:hover{color:var(--coral)}.light-flip{display:block;background:none;border:0;padding:0;max-width:100%;perspective:1400px;margin:auto;text-align:center}.light-turn{display:grid;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.light-flip[aria-pressed=true] .light-turn{transform:rotateY(180deg)}.light-front,.light-back{grid-area:1/1;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.light-front{display:block}.light-back{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;transform:rotateY(180deg);background:repeating-linear-gradient(transparent 0 35px,#dbbfc933 35px 36px),#fff7ed;border:1px dashed #d9aebe;border-radius:4px;padding:30px}#light-note{font-family:Caveat,cursive;font-size:clamp(25px,4vw,44px);line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}.light-hint{font-size:10px;color:var(--coral);margin:14px 0 0}#lightbox img{max-height:60svh}#light-caption:focus{outline:none}.kitty .photo-caption{color:#8e4d69;font-size:23px}.kitty .photo-back,.kitty .light-back{background-color:#fff3f8;border-color:#e1b1c8;color:#8d4868}.kitty .photo-enlarge{color:#aa6887}@media(max-width:1100px){.hero-photo .photo-caption{font-size:18px}}@media(max-width:760px){.hero-photo .photo-caption{font-size:17px}.gallery .photo-caption{font-size:19px}.kitty .photo-caption{font-size:20px}.kitty .hero-photo .photo-caption{font-size:19px}.photo-back{padding:15px 8px;gap:15px}.photo-note{font-size:24px}.flip-hint{font-size:8px;margin-top:10px}.back-label{font-size:7px}.light-back{padding:20px 12px;gap:18px}}@media(prefers-reduced-motion:reduce){.photo-turn,.light-turn{transition:none}}#lightbox[open]{width:fit-content;justify-content:center}#lightbox figure{min-width:0;flex:0 1 auto}#lightbox .arrow{flex:0 0 auto}#lightbox .light-flip{width:fit-content;max-width:100%}#lightbox .light-turn{display:block;position:relative;width:fit-content;max-width:100%}#lightbox .light-front{width:fit-content;max-width:100%}#lightbox .light-back{position:absolute;inset:0;overflow:auto}#lightbox #light-img{width:auto;height:auto;max-width:100%;max-height:60svh;margin:auto}#lightbox #light-caption{overflow-wrap:anywhere}.dev-panel>button{border:1px solid #dcb2c5;border-radius:5px;padding:5px 7px;background:#fff7fb;font:inherit;color:#a53d69}.dev-panel>button:hover{background:#f6e0ec}.kitty{--cream:#fff9fb!important;--ink:#603b4c!important;--coral:#bd3d70!important;--lavender:#eab4ca!important;--yellow:#e7abbb!important;background:#fff9fb}.kitty body{background:var(--cream)}.kitty header{max-width:none;background:#fffdfd;border-bottom:1px solid #efcfdb;height:90px}.kitty .brand{color:#8c4261;font-weight:500;letter-spacing:0}.kitty .brand>span:first-child{font-size:0;background:url(../decor/bow.svg) center/contain no-repeat;width:38px;height:32px}.kitty nav{color:#8a536a}.kitty .made{color:#a76e85}.kitty .hero,.kitty .gate-scene{background:radial-gradient(ellipse at 50% 40%,#fffdf9 0%,#fff9fa 45%,transparent 75%),repeating-linear-gradient(0deg,#f5dce555 0 15px,transparent 15px 30px),repeating-linear-gradient(90deg,#f5dce555 0 15px,#fff7fa 15px 30px);border-bottom:1px solid #efcfdb}.kitty .hero{min-height:760px;padding-top:105px;padding-bottom:110px}.kitty .hero-copy{max-width:660px}.kitty .hero-copy>.eyebrow{letter-spacing:2.5px;color:#9b5f79;font-size:9px}.kitty .hello{margin:20px 0;color:#be4c79;font-size:34px}.kitty h1{font-size:clamp(48px,5.1vw,74px);color:#714155;line-height:1.08;letter-spacing:-2.5px}.kitty h2{color:#744458}.kitty em{color:#bc4778}.kitty .intro{color:#8d6676}.kitty .primary{background:#b94173;border:1px solid #a53262;box-shadow:0 4px #94345d1a;color:#fff9fc;padding:18px 28px}.kitty .primary:hover{background:#9f325f;box-shadow:0 7px 20px #c25d8726}.kitty .primary span{color:#ffd8e8}.kitty .orbit{border-color:#e3b5c94a;width:1000px;height:650px}.kitty .orbit-two{width:840px;height:640px;border-style:dashed;border-color:#deb0c14a}.kitty .kitty-mascot{position:absolute;width:107px;height:88px;top:18px;left:calc(50% - 53px);filter:drop-shadow(0 5px 1px #d88ca917);animation:float 8s ease-in-out infinite;pointer-events:none}.kitty .gate-scene>.kitty-mascot{position:relative;display:block;top:auto;left:auto;margin:0 auto 22px;width:120px;height:98px}.kitty .gate-scene{padding-top:40px}.kitty .gate-scene h1{font-size:clamp(48px,6vw,78px)}.kitty .gate-hand{margin:12px 0 15px}.kitty .gate-scene>.eyebrow{font-size:9px}.kitty .hero-photo{top:210px;width:210px}.kitty .hero-photo.left{left:4%;transform:rotate(-9deg)}.kitty .hero-photo.right{right:4%;top:220px;transform:rotate(8deg)}.kitty .polaroid{border:1px solid #ecc8d5;border-radius:5px;background:#fffefd;padding:12px 12px 16px;box-shadow:0 10px 25px #7e3e5812}.kitty .polaroid:before{content:"";position:absolute;width:65px;height:43px;top:-25px;left:calc(50% - 32px);background:url(../decor/bow.svg) center/contain no-repeat;z-index:1;rotate:5deg}.kitty .polaroid>span{color:#8e4d69;font-size:23px}.kitty .polaroid small{color:#b17c94}.kitty .hero-photo .polaroid img{height:235px;border-radius:2px}.kitty .annotation{color:#b46b8a}.kitty .scene-star{color:#d98ba9;opacity:.7}.kitty .s1{font-size:38px}.kitty .s2{font-size:28px}.kitty .s3{font-size:30px}.kitty .ribbon{background:#f7e0e9;border-block:1px solid #edbfd1;gap:38px;color:#bd6b8c}.kitty .ribbon span{color:#985b76;font-size:21px}.kitty .memories{padding-top:95px}.kitty .eyebrow{color:#9a637c}.kitty .gallery{gap:28px;margin-top:75px}.kitty .gallery .polaroid img{border-radius:2px}.kitty .gallery .polaroid{padding-bottom:18px}.kitty .section-heading>p{color:#916e7e}.kitty .photo-help{color:#b35d83}.kitty .example-note{color:#a8768c}.kitty .letter-section{position:relative}.kitty .letter{background:#fffdfb;border:1px solid #e6c4d2;border-radius:6px;box-shadow:0 12px 35px #93506c0d;padding-top:58px;rotate:1deg}.kitty .letter:before{background:url(../decor/bow.svg) center/contain no-repeat;width:100px;height:65px;top:-34px;left:calc(50% - 50px);transform:rotate(-5deg)}.kitty .letter-stamp{border-color:#d087a4;border-radius:50%;padding:12px;color:#b7698b}.kitty .letter-text p:first-child{font-size:13px;color:var(--ink)}.kitty .letter-text p{line-height:2;color:#775362}.kitty .salutation{color:#8e4d69}.kitty .signature{color:#b44c7a}.kitty .flower{font-size:0;width:155px;height:128px;background:none;margin-top:42px;transform:rotate(-8deg)}.kitty .final{background:#f8e5ed;border-top:1px solid #edc3d4;padding-top:80px;padding-bottom:85px}.kitty .final:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#dc9cba55 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000);mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000)}.kitty .final-star{font-size:0;display:block;width:105px;height:70px;margin:25px auto;background:url(../decor/bow.svg) center/contain no-repeat}.kitty .final>p:not(.eyebrow):not(.hand){color:#916578}.kitty .final>.hand{color:#b25b81}.kitty footer{background:#fffafb;border-top:1px dashed #e8bfce}.kitty .music-bar{background:#fffafdf5;border-color:#edc5d6;box-shadow:0 4px 20px #a34a7412}.kitty .record{background:#bd5b84;color:#fff}.kitty .music-label{color:#8c4b68}.kitty .music-bar #music-status{color:#a57c8f}.kitty dialog{background:#fffbfd;border:1px solid #e4b7ca;box-shadow:0 20px 80px #5d2a4333}.kitty dialog::backdrop{background:#533044ba}.kitty .video-placeholder{background:#f7e3ed}.kitty .video-note{color:#a06e88}.kitty .dev-panel{border-color:#ebc6d6;background:#fffafff7}.kitty .countdown{gap:15px}.kitty .countdown>div{width:90px;padding:14px 6px 16px;border:1px solid #edc5d6;background:#fffdfbd9;border-radius:12px;box-shadow:0 5px #efcbd822}.kitty .countdown b{font-size:43px;color:#a3476f}.kitty .countdown span{font-size:8px;color:#ac718c}.kitty .gate-bottom{color:#ac718c}@media(min-width:1500px){.kitty .hero-photo.left{left:9%}.kitty .hero-photo.right{right:9%}}@media(max-width:1100px){.kitty .hero-photo{width:165px}.kitty .hero-photo.left{left:2%}.kitty .hero-photo.right{right:2%}.kitty .hero-photo .polaroid img{height:190px}.kitty .hero-copy{max-width:500px}.kitty h1{font-size:58px}.kitty .gallery{gap:20px}}@media(max-width:760px){.kitty header{height:78px}.kitty .brand{font-size:14px}.kitty .brand>span:first-child{width:30px;height:28px}.kitty .hero{min-height:1000px;padding:140px 22px 390px}.kitty .kitty-mascot{width:100px;height:82px;top:32px;left:calc(50% - 50px)}.kitty h1{font-size:51px}.kitty .hero-copy>.eyebrow{font-size:7px;letter-spacing:1.8px}.kitty .hello{font-size:28px;margin:20px 0}.kitty .hero-photo{width:155px;bottom:103px}.kitty .hero-photo.left{left:calc(50% - 163px);transform:rotate(-8deg)}.kitty .hero-photo.right{right:calc(50% - 163px);bottom:118px;transform:rotate(7deg)}.kitty .hero-photo .polaroid img{height:172px}.kitty .hero-photo .polaroid>span{font-size:19px}.kitty .polaroid:before{width:52px;height:34px;left:calc(50% - 26px);top:-21px}.kitty .s1{top:205px;left:4%;font-size:22px}.kitty .s3{top:130px;right:6%;font-size:24px}.kitty .s2{bottom:380px;right:6%;font-size:25px}.kitty .memories{padding-top:65px}.kitty .gallery{gap:35px 15px;margin-top:50px}.kitty .gallery .polaroid>span{font-size:20px}.kitty .flower{width:100px;height:85px;margin-top:0;opacity:.9}.kitty .letter{padding:48px 25px 30px}.kitty .letter:before{width:80px;height:52px;top:-26px;left:calc(50% - 40px)}.kitty .final{padding:55px 20px 70px}.kitty .final h2{font-size:49px}.kitty .countdown{gap:10px}.kitty .countdown>div{min-width:0;width:70px;padding:10px 4px 14px}.kitty .countdown b{font-size:37px}.kitty .gate-scene{padding-top:30px;padding-bottom:75px}.kitty .gate-scene h1{font-size:48px}.kitty .gate-scene>.kitty-mascot{width:105px;height:86px}.kitty .gate-scene .s1{top:170px}.kitty .gate-scene .s3{top:140px}.kitty .gate-scene .s2{bottom:80px}}@media(max-width:360px){.kitty h1{font-size:45px}.kitty .hero-photo{width:137px}.kitty .hero-photo.left{left:calc(50% - 145px)}.kitty .hero-photo.right{right:calc(50% - 145px)}.kitty .countdown>div{width:61px}.kitty .brand{font-size:12px}}@media(prefers-reduced-motion:reduce){.kitty .kitty-mascot{animation:none}}.kitty .kitty-mascot{object-fit:contain;width:125px;height:100px;left:calc(50% - 62px);top:10px}.kitty .gate-scene>.kitty-mascot{width:120px;height:110px;left:auto;top:auto}.kitty .sanrio-friends{display:flex;align-items:center;justify-content:center;gap:20px;margin:40px 0 0;padding:20px 16px 18px;border-block:1px dashed #e6bfd0;background:linear-gradient(90deg,transparent,#fcebf2aa,transparent)}.kitty .sanrio-friends img{width:85px;height:85px;object-fit:contain;transition:transform .3s;filter:drop-shadow(0 3px 1px #98506c0b)}.kitty .sanrio-friends img:hover{transform:translateY(-5px) rotate(-4deg)}.kitty .gallery{margin-top:65px}.kitty .flower{display:flex;align-items:flex-end;gap:12px;width:270px;height:150px;transform:rotate(-5deg)}.kitty .flower img{width:125px;height:130px;object-fit:contain;display:block}.kitty .flower img:last-child{width:130px;transform:rotate(10deg);translate:0 10px}.sanrio-credit{display:block;font-size:8px;margin-top:9px;color:#b18196}@media(max-width:1100px){.kitty .sanrio-friends{gap:12px}.kitty .sanrio-friends img{width:70px;height:70px}}@media(max-width:760px){.kitty .kitty-mascot{top:23px;width:110px;height:100px;left:calc(50% - 55px)}.kitty .gate-scene>.kitty-mascot{left:auto;top:auto}.kitty .sanrio-friends{flex-wrap:wrap;gap:8px 12px;padding:18px 5px;margin-top:25px}.kitty .sanrio-friends img{width:calc((100% - 48px)/5);max-width:65px;height:65px}.kitty .gallery{margin-top:45px}.kitty .flower{width:132px;height:88px;right:-2px;bottom:-2px;gap:0;opacity:1}.kitty .flower img{width:65px;height:85px}.kitty .flower img:last-child{width:70px;height:70px}}@media(prefers-reduced-motion:reduce){.kitty .sanrio-friends img{transition:none}}.kitty .memories{padding-bottom:25px}.kitty .example-note:empty{display:none}.kitty .letter-bridge{display:flex;justify-content:center;align-items:center;gap:22px;max-width:780px;margin:10px auto 35px;padding:0 28px;height:110px}.kitty .letter-bridge img{width:90px;height:95px;object-fit:contain;transform:rotate(-7deg)}.kitty .letter-bridge img:nth-of-type(2){width:105px;height:110px;transform:translateY(-6px)}.kitty .letter-bridge img:nth-of-type(3){transform:rotate(8deg)}.kitty .letter-bridge>span{flex:1;border-top:1px dashed #d9a5bc;min-width:20px}.kitty .letter-section{align-items:start;padding-top:35px;padding-bottom:80px}.kitty .letter-intro{padding-top:45px}.kitty .letter-intro .flower{margin-top:55px;width:330px;height:200px;gap:16px}.kitty .letter-intro .flower img{width:150px;height:180px}.kitty .letter-intro .flower img:last-child{width:155px;height:160px}.kitty .final{isolation:isolate}.kitty .final-cast{position:absolute;inset:0;pointer-events:none;z-index:-1;max-width:1440px;margin:auto}.kitty .final-cast img{position:absolute;width:145px;height:155px;object-fit:contain;filter:drop-shadow(0 8px 6px #ac64841a)}.kitty .cast-1{left:8%;top:90px;transform:rotate(-10deg)}.kitty .cast-2{right:8%;top:90px;transform:rotate(10deg)}.kitty .cast-3{left:12%;bottom:75px;transform:rotate(8deg)}.kitty .cast-4{right:10%;bottom:75px;transform:rotate(-8deg)}@media(max-width:1100px)and (min-width:1001px){.kitty .final-cast img{width:115px;height:130px}.kitty .cast-1{left:3%}.kitty .cast-2{right:3%}.kitty .cast-3{left:5%}.kitty .cast-4{right:4%}}@media(max-width:1000px){.kitty .final-cast{position:relative;inset:auto;display:flex;justify-content:center;gap:22px;align-items:center;margin:22px auto 0;z-index:auto}.kitty .final-cast img{position:static;width:90px;height:95px}.kitty .final{padding-bottom:50px}}@media(max-width:760px){.kitty .memories{padding-bottom:15px}.kitty .letter-bridge{margin:5px auto 25px;height:85px;gap:12px;padding:0 24px}.kitty .letter-bridge img{width:55px;height:65px}.kitty .letter-bridge img:nth-of-type(2){width:75px;height:80px}.kitty .letter-section{padding-top:15px;padding-bottom:65px}.kitty .letter-intro{padding-top:0;margin-bottom:50px}.kitty .letter-intro .flower{width:132px;height:88px;margin-top:0;gap:0}.kitty .letter-intro .flower img{width:65px;height:85px}.kitty .letter-intro .flower img:last-child{width:70px;height:70px}.kitty .final-cast{gap:12px;margin-top:12px}.kitty .final-cast img{width:65px;height:75px}}@media(max-width:360px){.kitty .final-cast{gap:7px}.kitty .final-cast img{width:58px;height:65px}}@media(max-width:760px){.kitty .letter-bridge{gap:10px;padding-inline:20px}.kitty .letter-bridge img{min-width:0;flex-shrink:1}.kitty .letter-bridge>span{min-width:12px}}.kitty .letter-section,.kitty .memories{overflow-x:clip}
