.route-surprises{background:var(--blue);color:var(--cream)}.intro-music{z-index:30;color:var(--cream);border-color:#fff9e940;position:absolute;top:31px;left:32px}.music-notice{z-index:100;max-width:min(340px,100vw - 48px);color:var(--navy);background:var(--cream);border:1px solid #14213c20;border-radius:18px;padding:14px 18px;font-size:14px;position:fixed;top:85px;right:24px;box-shadow:0 8px 25px #14213c20}.sound-toggle[aria-busy=true]{opacity:.7}.surprise-scene{grid-template-rows:auto auto auto;grid-template-columns:.9fr 1.1fr;align-content:center;gap:22px 70px;min-height:max(740px,100svh - 102px);padding:60px 8% 85px;display:grid}.surprise-heading{grid-area:1/1;align-self:end}.surprise-heading>.eyebrow{color:#fff9e9bd;letter-spacing:.1em;font-size:12px}.surprise-heading h1{letter-spacing:-.055em;margin-top:25px;font-size:clamp(67px,7.4vw,112px);line-height:.95}.surprise-heading h1>.handwritten{color:var(--yellow);letter-spacing:-.04em;margin-top:8px;font-size:1.02em;font-weight:500;display:inline-block;transform:rotate(-4deg)}.wish-message{grid-area:2/1;padding-top:5px}.wish-index{color:#fff9e995;letter-spacing:.1em;font-size:12px}.wish-text{min-height:68px;padding-top:9px}.wish-text p{color:var(--cream);font-family:Caveat,cursive;font-size:42px;line-height:1.15}.wish-actions{flex-wrap:wrap;grid-area:3/1;align-self:start;align-items:center;gap:21px;display:flex}.wish-next{color:var(--cream);gap:11px;font-size:14px}.wish-next:hover{text-underline-offset:6px;text-decoration:underline}.wish-universe{perspective:1000px;grid-area:1/2/span 3;width:100%;max-width:540px;min-height:565px;position:relative}.wish-orbit{border:1px solid #fff9e940;border-radius:50%;width:480px;height:480px;position:absolute;top:25px;left:calc(50% - 240px)}.wish-orbit-two{border-style:dashed;border-color:#fff9e91c;width:560px;height:560px;animation:65s linear infinite star-turn;top:-15px;left:calc(50% - 280px)}.wish-age{letter-spacing:-.08em;color:#0000;-webkit-text-stroke:1.5px #fff9e957;z-index:-1;font-family:Bricolage,sans-serif;font-size:180px;font-weight:800;line-height:1;position:absolute;top:-35px;left:-26px;transform:rotate(-9deg)}.wish-portrait{width:315px;animation:7s ease-in-out infinite photo-float;position:absolute;top:36px;left:calc(50% - 157px);rotate:6deg}.wish-portrait .photo-reveal{background:var(--cream);box-shadow:10px 12px #163cbc,0 25px 45px #14213c30}.wish-portrait .photo-image-wrap{aspect-ratio:.84}.wish-portrait .photo-reveal figcaption{height:54px}.wish-portrait .photo-tape{rotate:4deg}.wish-emoji{z-index:4;background:0 0;min-width:60px;min-height:60px;font-size:47px;line-height:1;animation:4s ease-in-out infinite float;position:absolute}.wish-heart{top:42%;left:-3%;rotate:-13deg}.wish-sparkle{color:var(--yellow);font-size:65px;animation:20s linear infinite star-turn;top:7%;right:1%}.wish-mascot{width:226px;position:absolute;bottom:13px;left:-58px}.wish-pig{width:152px;position:absolute;bottom:25px;right:-3%}.wish-orbit-note{color:#fff9e9bf;white-space:nowrap;font-size:25px;position:absolute;bottom:-10px;left:14%;rotate:-4deg}.route-surprises .desktop-navigation button:after{background:var(--yellow)}.route-surprises .sound-toggle{border-color:#fff9e940}.route-surprises.is-transitioning .wish-portrait{transition:scale .4s;scale:1.25}.transition-to-surprises .iris{background:var(--blue)}.auto-countdown{color:var(--yellow);place-items:center;height:46px;font-family:Bricolage,sans-serif;font-size:42px;font-weight:800;line-height:1;display:grid}.candle-instruction{gap:9px}.candle-progress{display:none}.candle-instruction .small-label{letter-spacing:.08em;font-size:12px}.celebrate-now{color:#fff9e9a8;gap:7px;min-height:35px;padding:5px 0;font-size:12px}.celebrate-now:disabled{opacity:.65}.candle{cursor:default;display:block}.candle-instruction:has(~*){margin-top:5px}.birthday-scene:has(.candle.out):not(:has(.candle.lit)) .cake-composition{animation:.6s ease-out celebration-shake}.birthday-scene:has(.candle.out):not(:has(.candle.lit)):after{content:"";background:var(--yellow);opacity:0;pointer-events:none;z-index:7;animation:.8s ease-out light-burst;position:absolute;inset:0}.finale-copy h1:focus{outline:none}.finale-content{grid-template-rows:auto auto;row-gap:0}.finale-copy{grid-area:1/1;align-self:end}.finale-visual{grid-area:1/2/span 2}.finale-replay{z-index:5;grid-area:2/1;align-self:start;margin-top:8px}.floating-pig{width:85px;font-size:inherit;background:0 0;padding:0}.floating-pig>.mascot{width:100%}.home-pig-sticker{width:155px;bottom:-12px;right:-5%}.memory-pig-sticker{width:74px;top:14%;right:23px}.crew-caption{color:var(--yellow);font-size:33px;position:absolute;top:20px;left:23%;rotate:-6deg}.fun-scene h2{font-size:90px}.comedy-pig{width:180px;bottom:-12px;right:-15px}.fun-mascot{left:calc(50% - 190px)}.brand,.desktop-navigation,.mobile-navigation button{transition:opacity .2s}@media (max-width:1100px) and (min-width:761px){.surprise-scene{gap:30px;padding-left:6%;padding-right:6%}.wish-portrait{width:275px;top:50px;left:calc(50% - 137px)}.wish-universe{min-height:540px}.wish-orbit{width:390px;height:390px;top:80px;left:calc(50% - 195px)}.wish-orbit-two{width:460px;height:460px;top:45px;left:calc(50% - 230px)}.wish-mascot{width:190px;bottom:35px;left:-35px}.wish-pig{width:138px;bottom:50px;right:-13px}.wish-age{font-size:155px;top:4px;left:-5px}.wish-sparkle{font-size:51px;top:6%;right:-13px}.wish-heart{font-size:38px;top:40%;left:-20px}.wish-orbit-note{font-size:23px;left:6%}.surprise-heading h1{font-size:75px}.wish-text p{font-size:37px}}@media (max-width:760px){.intro-music{top:20px;left:24px}.music-notice{max-width:calc(100vw - 32px);top:79px;right:16px}.site-header{height:72px}.scene{min-height:calc(100svh - 72px)}.mobile-navigation{padding-bottom:env(safe-area-inset-bottom);min-height:78px}.mobile-navigation button>span:last-child{font-size:11px}.route-surprises .mobile-navigation{background:#2349c6;border-color:#fff9e926}.route-surprises .mobile-navigation button{color:var(--cream)}.route-surprises .mobile-navigation button.active:before{background:var(--yellow)}.surprise-scene{padding:27px 7% calc(104px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:0;min-height:calc(100svh - 72px);display:flex}.surprise-heading{text-align:left}.surprise-heading>.eyebrow{letter-spacing:.065em;font-size:11px}.surprise-heading h1{margin-top:12px;font-size:clamp(48px,13.8vw,64px);line-height:.98}.surprise-heading h1 br{display:none}.surprise-heading h1>.handwritten{margin-left:8px;font-size:1.05em;display:inline-block}.wish-universe{max-width:365px;min-height:340px;margin:20px auto 0}.wish-portrait{width:224px;top:16px;left:calc(50% - 112px)}.wish-portrait .photo-reveal{padding:8px 8px 0;box-shadow:7px 8px #163cbc,0 17px 25px #14213c25}.wish-portrait .photo-image-wrap{aspect-ratio:.93}.wish-portrait .photo-reveal figcaption{height:41px;padding:0 7px}.wish-portrait figcaption .handwritten{font-size:23px}.wish-orbit{width:310px;height:310px;top:15px;left:calc(50% - 155px)}.wish-orbit-two{width:350px;height:350px;top:-5px;left:calc(50% - 175px)}.wish-age{font-size:111px;top:-12px;left:-2px}.wish-mascot{width:148px;bottom:8px;left:-21px}.wish-pig{width:108px;bottom:18px;right:-9px}.wish-heart{min-width:48px;min-height:48px;font-size:32px;top:37%;left:-17px}.wish-sparkle{min-width:48px;min-height:48px;font-size:41px;top:1%;right:-6px}.wish-orbit-note{display:none}.wish-message{text-align:center;padding-top:0}.wish-index{font-size:11px}.wish-text{min-height:49px;padding-top:3px}.wish-text p{font-size:33px}.wish-actions{justify-content:center;gap:8px 19px;margin-top:11px;display:flex}.wish-actions .primary-button{gap:9px;min-height:49px;padding:13px 19px;font-size:13px}.wish-next{gap:8px;min-height:44px;font-size:13px}.home-scene{min-height:calc(100svh - 72px)}.home-pig-sticker{width:120px;bottom:6px;right:-8px}.memory-pig-sticker{width:57px;top:24%;right:1px}.memory-scene{min-height:0;padding-top:29px;padding-bottom:calc(114px + env(safe-area-inset-bottom))}.memory-copy{display:contents}.memory-copy h1{margin:15px 0 0;font-size:51px}.memory-copy>.primary-button{order:3;align-self:center;min-height:51px;margin-top:25px;position:relative;bottom:auto;left:auto;transform:none!important}.memory-composition{width:72%;margin:43px auto 47px}.memory-scene .scene-footer{display:none}.memory-note{font-size:23px;right:-22px}.memory-scene>.floating-pig{top:210px}.fun-scene h2{font-size:67px}.fun-mascot{width:240px;left:calc(50% - 170px)}.comedy-pig{width:139px;bottom:1px;right:-7px}.crew-caption{font-size:27px;top:14px;left:17%}.birthday-scene{padding-top:27px;padding-bottom:calc(109px + env(safe-area-inset-bottom))}.cake-scene-content h1{font-size:clamp(51px,13.5vw,66px)}.cake-composition{margin-top:18px;margin-bottom:14px}.auto-countdown{height:37px;font-size:34px}.candle-instruction .small-label{letter-spacing:.06em;font-size:11px}.celebrate-now{min-height:38px;font-size:12px}.finale-content{align-items:center;gap:21px;min-height:0;padding-bottom:0;display:flex}.finale-copy{order:0;align-self:auto}.finale-copy h1{font-size:clamp(63px,17vw,80px)}.finale-age{font-size:64px}.finale-age>.handwritten{font-size:25px}.finale-visual{order:1;width:84%;max-width:290px}.finale-visual .photo-image-wrap{aspect-ratio:1.13}.finale-visual figcaption{height:43px}.finale-mascot{width:131px;bottom:-68px;right:-24px}.finale-pig{width:92px;bottom:-63px;left:-21px}.finale-replay{order:2;align-self:center;width:auto;margin-top:64px}.finale-replay .primary-button{min-height:51px;position:relative;bottom:auto;left:auto;transform:none!important}.floating-memories{order:3;gap:13px;margin-top:10px;position:relative;bottom:auto;left:auto;right:auto}.floating-memories>.handwritten{font-size:21px}.rising-balloons span{font-size:36px}}@media (max-width:380px){.surprise-scene{padding-top:23px}.surprise-heading h1{font-size:49px}.wish-universe{min-height:322px;margin-top:16px}.wish-portrait{width:211px;left:calc(50% - 105px)}.wish-mascot{width:139px;bottom:8px;left:-13px}.wish-pig{width:100px;bottom:12px;right:-7px}.wish-orbit{width:285px;height:285px;left:calc(50% - 142px)}.wish-orbit-two{width:320px;height:320px;left:calc(50% - 160px)}.wish-heart{left:-13px}.wish-sparkle{right:-7px}.wish-actions{gap:7px 14px}.wish-actions .primary-button{padding:12px 17px;font-size:12px}.wish-next{font-size:12px}.home-pig-sticker{width:107px}.memory-copy h1{font-size:46px}.finale-copy h1{font-size:65px}.finale-age,.fun-scene h2{font-size:59px}}@media (max-height:740px) and (max-width:760px){.surprise-heading h1{font-size:46px}.wish-universe{min-height:278px}.wish-portrait{width:186px;top:12px;left:calc(50% - 93px)}.wish-orbit{width:250px;height:250px;top:12px;left:calc(50% - 125px)}.wish-orbit-two{width:282px;height:282px;top:-5px;left:calc(50% - 141px)}.wish-mascot{width:122px;bottom:1px;left:-7px}.wish-pig{width:86px;bottom:6px;right:1px}.wish-text p{font-size:30px}.wish-universe{margin-top:15px}.surprise-scene{padding-top:20px}.wish-age{font-size:90px}.wish-heart{font-size:26px}.wish-sparkle{font-size:33px}.home-pig-sticker{width:99px}.birthday-cake{width:300px;height:288px;margin-left:calc(50% - 150px)}.cake-composition{min-height:289px}.cake-mascot{width:133px}.cake-pig{width:96px}.finale-copy h1{font-size:63px}.finale-visual{max-width:255px}.finale-age{font-size:57px}.finale-content{gap:18px}}@media (prefers-reduced-motion:reduce){.wish-orbit-two,.wish-portrait{animation:none}.birthday-scene:after{display:none!important}}
