/* Local birthday hero: editorial type and floating chrome balloon. */
#home.hero{height:100svh;min-height:650px;isolation:isolate;position:relative;display:flex;align-items:center;justify-content:center;padding:110px 6vw 120px;background:#1c4de8!important;color:#fff;overflow:hidden}
#home .birthday-opening{width:100%;max-width:1500px;position:relative;min-height:500px;display:flex;align-items:center}
#home .birthday-title{position:relative;z-index:2;font:300 clamp(64px,8.1vw,136px)/1.02 'Inter Display',Inter,sans-serif!important;letter-spacing:-.045em!important;margin:0;width:100%;pointer-events:none}
#home .birthday-title span{display:block}
#home .birthday-title span:nth-child(2){padding-left:2.5vw}
#home .birthday-title span:last-child{padding-left:17vw}
#home .birthday-balloon{position:absolute;z-index:1;width:clamp(360px,47vw,760px);height:auto;right:-1vw;top:50%;transform:translateY(-57%);animation:balloon-drift 7s ease-in-out infinite;filter:drop-shadow(0 30px 30px rgb(0 15 100 / .18));pointer-events:none}
#home .birthday-title span:first-child{position:relative;z-index:3}
#home .birthday-kicker{position:absolute;left:6vw;top:112px;font:400 12px/1.4 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
#home .birthday-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:#fff;display:flex;flex-direction:column;align-items:center;gap:14px;font:400 12px/1.4 Inter,sans-serif;text-decoration:none;z-index:4;padding:12px 28px}
#home .birthday-scroll svg{width:26px;height:34px;animation:scroll-invite 1.8s ease-in-out infinite}
@keyframes balloon-drift{0%,100%{transform:translateY(-57%) rotate(-6deg)}50%{transform:translateY(-61%) rotate(5deg)}}
@keyframes scroll-invite{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(9px);opacity:1}}
@media(max-width:700px){#home.hero{min-height:720px;padding:150px 24px 100px;align-items:flex-start}#home .birthday-opening{min-height:470px;align-items:flex-end;padding-bottom:25px}#home .birthday-title{font-size:clamp(44px,10.7vw,72px)!important;line-height:1.04!important;letter-spacing:-.035em!important}#home .birthday-title span:nth-child(2){padding-left:0}#home .birthday-title span:last-child{padding-left:12vw}#home .birthday-balloon{width:88vw;max-width:440px;right:-9vw;top:28%;transform:translateY(-57%)}#home .birthday-kicker{top:105px;left:24px;font-size:10px}#home .birthday-scroll{bottom:20px}}
@media(prefers-reduced-motion:reduce){#home .birthday-balloon,#home .birthday-scroll svg{animation:none}}

/* Review corrections: aligned heading, inverse navigation, rounded base. */
#home.hero{border-radius:0 0 48px 48px}
#home .birthday-title{text-align:left}
#home .birthday-title span:nth-child(2),#home .birthday-title span:last-child{padding-left:0}
body:has(#home .birthday-opening) .site-nav{mix-blend-mode:difference;color:#fff}
body:has(#home .birthday-opening) .site-nav a{color:#fff!important}
body:has(#home .birthday-opening) .site-nav a:not(.active){opacity:.65}
body:has(#home .birthday-opening) .site-nav a.active{opacity:1}
@media(max-width:700px){#home.hero{border-radius:0 0 28px 28px}}

body:has(#home .birthday-opening) .site-nav{mix-blend-mode:normal}
body.hero-in-view .site-nav a{color:#fff!important}
body:has(#home .birthday-opening):not(.hero-in-view) .site-nav a{color:var(--text-default)!important}

/* Centered composition refinement. */
#home .birthday-opening{justify-content:center}
#home .birthday-title{text-align:center;width:100%;font-size:clamp(60px,7.5vw,120px)!important}
#home .birthday-balloon{width:clamp(280px,32vw,500px);right:-1vw;top:25%;opacity:1}
@media(max-width:700px){#home .birthday-title{font-size:clamp(40px,9.3vw,64px)!important}#home .birthday-balloon{width:65vw;max-width:310px;right:0;top:14%}}

#home .birthday-balloon{width:clamp(250px,26vw,410px);top:7%;right:2vw}
@media(max-width:700px){#home .birthday-balloon{width:65vw;max-width:310px;top:14%;right:0}}

/* Keep floating objects safely clear of the title. */
#home .birthday-balloon{width:clamp(230px,23vw,330px);top:-5%;right:3vw;animation:balloon-safe-drift 7s ease-in-out infinite}
@keyframes balloon-safe-drift{0%,100%{transform:translateY(-57%) rotate(-4deg)}50%{transform:translateY(calc(-57% - 12px)) rotate(4deg)}}
#home .birthday-star{position:absolute;left:3vw;top:65%;width:clamp(160px,18vw,250px);height:auto;pointer-events:none;animation:star-drift 8s ease-in-out infinite;filter:drop-shadow(0 15px 20px rgb(0 15 100 / .15))}
@keyframes star-drift{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-16px) rotate(1deg)}}
@media(max-width:700px){#home .birthday-balloon{width:52vw;max-width:250px;top:0;right:0}#home .birthday-star{width:130px;left:-15px;top:72%}}
@media(prefers-reduced-motion:reduce){#home .birthday-balloon,#home .birthday-star{animation:none}}

@font-face{font-family:BirthdayHandwritten;src:url('Caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
#home .birthday-title span:last-child{font-family:BirthdayHandwritten,cursive;font-weight:400;font-size:1.16em;line-height:1.15;letter-spacing:-.025em;padding:0 .1em .15em;transform:rotate(-3deg);margin-top:8px}

/* White balloons travel across open space above and below the heading. */
#home .birthday-script{position:relative;width:fit-content;margin-left:auto;margin-right:auto}
#home .birthday-underline{position:absolute;width:106%;height:32px;left:-3%;bottom:-7px;overflow:visible}
#home .birthday-balloon{position:absolute;width:clamp(180px,19vw,270px);left:72%;top:12%;right:auto;transform:none;animation:balloon-journey 32s linear infinite;filter:drop-shadow(0 18px 25px rgb(0 20 100 / .1))}
#home .birthday-star{width:clamp(130px,14vw,195px);left:5%;top:70%;animation:star-journey 36s linear infinite;filter:drop-shadow(0 15px 22px rgb(0 20 100 / .1))}
@keyframes balloon-journey{0%,100%{left:72%;top:12%;transform:rotate(-9deg)}25%{left:46%;top:9%;transform:rotate(4deg)}50%{left:9%;top:13%;transform:rotate(12deg)}75%{left:39%;top:10%;transform:rotate(-3deg)}}
@keyframes star-journey{0%,100%{left:5%;top:70%;transform:rotate(-15deg)}30%{left:32%;top:72%;transform:rotate(8deg)}60%{left:76%;top:69%;transform:rotate(28deg)}80%{left:43%;top:71%;transform:rotate(3deg)}}
@media(max-width:700px){#home .birthday-balloon{width:160px;animation-name:balloon-journey-mobile}#home .birthday-star{width:100px;animation-name:star-journey-mobile}#home .birthday-underline{height:22px;bottom:-4px}}
@keyframes balloon-journey-mobile{0%,100%{left:52%;top:17%;transform:rotate(-8deg)}50%{left:3%;top:18%;transform:rotate(10deg)}}
@keyframes star-journey-mobile{0%,100%{left:2%;top:76%;transform:rotate(-12deg)}50%{left:70%;top:75%;transform:rotate(15deg)}}
@media(prefers-reduced-motion:reduce){#home .birthday-balloon,#home .birthday-star{animation:none}}

/* Foil confetti framing, replacing the balloon objects. */
#home .hero-foil{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit}
#home .hero-foil img{position:absolute;object-fit:contain;animation:foil-sway 12s ease-in-out infinite alternate}
#home .foil-ribbon-left{width:190px;height:420px;left:1%;top:7%;rotate:-15deg}
#home .foil-ribbon-right{width:170px;height:390px;right:1%;top:-6%;rotate:12deg;animation-delay:-5s!important}
#home .foil-piece-top{width:150px;left:28%;top:14%;rotate:22deg}
#home .foil-piece-right{width:165px;right:18%;top:15%;rotate:-18deg}
#home .foil-piece-left{width:160px;left:-2%;top:53%;rotate:18deg}
#home .foil-piece-bottom{width:145px;right:3%;top:63%;rotate:-22deg}
#home .foil-blur-left{width:250px;left:-9%;bottom:8%;filter:blur(6px);rotate:15deg}
#home .foil-blur-right{width:270px;right:-7%;bottom:-6%;filter:blur(8px);rotate:-18deg}
@keyframes foil-sway{from{transform:translateY(-10px) rotate(-4deg)}to{transform:translateY(12px) rotate(5deg)}}
@media(max-width:700px){#home .foil-ribbon-left{width:90px;height:240px;left:-3%;top:13%}#home .foil-ribbon-right{width:95px;height:240px;right:-3%;top:5%}#home .foil-piece-top{width:85px;left:31%;top:19%}#home .foil-piece-right{width:90px;right:13%;top:25%}#home .foil-piece-left{width:90px;left:-4%;top:62%}#home .foil-piece-bottom{width:90px;right:-3%;top:69%}#home .foil-blur-left{width:150px;left:-19%;bottom:13%}#home .foil-blur-right{width:150px;right:-17%;bottom:0}}
@media(prefers-reduced-motion:reduce){#home .hero-foil img{animation:none}}

/* Centerpiece and falling confetti. */
#home.hero{padding:100px 24px 110px}
#home .birthday-opening{min-height:0;height:100%;max-height:730px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}
#home .birthday-title{font-size:clamp(30px,3.4vw,52px)!important;line-height:1.08!important;flex:none}
#home .birthday-title span:last-child{font-size:1.2em;margin-top:0;padding-bottom:.2em}
#home .birthday-underline{height:18px;bottom:-3px}
#home .birthday-center-number{display:block;height:min(46svh,460px);width:auto;max-width:80vw;object-fit:contain;position:relative;z-index:1;flex:none}
#home .hero-foil{transform:translateY(var(--confetti-scroll,0px));will-change:transform}
#home .hero-foil img{animation:foil-fall 15s linear infinite;top:-45%;bottom:auto}
#home .foil-ribbon-left{animation-duration:22s!important;animation-delay:-9s!important}
#home .foil-ribbon-right{animation-duration:24s!important;animation-delay:-17s!important}
#home .foil-piece-top{animation-delay:-3s!important}
#home .foil-piece-right{animation-delay:-11s!important;animation-duration:18s!important}
#home .foil-piece-left{animation-delay:-8s!important}
#home .foil-piece-bottom{animation-delay:-14s!important;animation-duration:20s!important}
#home .foil-blur-left{animation-delay:-6s!important;animation-duration:17s!important}
#home .foil-blur-right{animation-delay:-13s!important;animation-duration:19s!important}
@keyframes foil-fall{0%{translate:0 -100px;transform:rotate(-12deg)}50%{translate:18px 75svh;transform:rotate(12deg)}100%{translate:-12px 155svh;transform:rotate(36deg)}}
@media(max-width:700px){#home.hero{padding:100px 20px 110px;min-height:680px}#home .birthday-opening{padding:0;gap:18px}#home .birthday-title{font-size:clamp(28px,6.8vw,40px)!important}#home .birthday-center-number{height:auto;width:min(76vw,340px);max-height:42svh}#home .birthday-underline{height:15px}}
@media(prefers-reduced-motion:reduce){#home .hero-foil{transform:none}#home .hero-foil img{animation:none;top:15%}}

#home .birthday-center-number{order:-1}
#home .birthday-opening{gap:24px}
@media(max-width:700px){#home .birthday-opening{gap:18px}}

/* Confetti is driven solely by page scroll. */
#home .hero-foil{transform:none}
#home .hero-foil img{animation:none!important;translate:0 0;transform:translateY(calc(var(--confetti-scroll,0px) * var(--fall-speed,1)));will-change:transform}
#home .foil-ribbon-left{top:7%;--fall-speed:.7}
#home .foil-ribbon-right{top:-6%;--fall-speed:.85}
#home .foil-piece-top{top:14%;--fall-speed:1.1}
#home .foil-piece-right{top:15%;--fall-speed:.9}
#home .foil-piece-left{top:53%;--fall-speed:1.25}
#home .foil-piece-bottom{top:63%;--fall-speed:1}
#home .foil-blur-left{top:auto;bottom:8%;--fall-speed:1.5}
#home .foil-blur-right{top:auto;bottom:-6%;--fall-speed:1.7}
@media(max-width:700px){#home .foil-ribbon-left{top:13%}#home .foil-ribbon-right{top:5%}#home .foil-piece-top{top:19%}#home .foil-piece-right{top:25%}#home .foil-piece-left{top:62%}#home .foil-piece-bottom{top:69%}#home .foil-blur-left{bottom:13%}#home .foil-blur-right{bottom:0}}
@media(prefers-reduced-motion:reduce){#home .hero-foil img{transform:none}}

/* Larger closing headline beneath the anniversary centerpiece. */
#home .birthday-title{font-size:clamp(42px,4.8vw,72px)!important}
#home .birthday-opening{gap:18px;transform:translateY(-28px)}
#home .birthday-center-number{height:min(43svh,430px)}
#home .birthday-underline{height:24px;bottom:-5px}
@media(max-width:700px){#home .birthday-title{font-size:clamp(32px,8.2vw,46px)!important}#home .birthday-opening{transform:translateY(-18px);gap:18px}#home .birthday-center-number{height:auto;max-height:38svh}#home .birthday-underline{height:18px}}

#home .hero-foil .foil-ribbon-left{top:7%}#home .hero-foil .foil-ribbon-right{top:-6%}#home .hero-foil .foil-piece-top{top:14%}#home .hero-foil .foil-piece-right{top:15%}#home .hero-foil .foil-piece-left{top:53%}#home .hero-foil .foil-piece-bottom{top:63%}#home .hero-foil .foil-blur-left{top:auto;bottom:8%}#home .hero-foil .foil-blur-right{top:auto;bottom:-6%}

/* Scroll motion stays vertical regardless of each foil's static angle. */
#home .hero-foil img{animation:none!important;transform:none!important;translate:0 calc(var(--confetti-scroll,0px) * var(--fall-speed,1))!important;will-change:translate}
@media(prefers-reduced-motion:reduce){#home .hero-foil img{translate:none!important}}

#home .birthday-title>span:first-child{font-size:1.13em}
#home .hero-foil img{transition:none}

#home .hero-foil-foreground{z-index:3;pointer-events:none}

#home .birthday-title .birthday-script{-webkit-text-stroke:.4px #1c4de8;-webkit-font-smoothing:antialiased}

#home.hero{height:calc(100svh + 60px);padding-bottom:170px}
@media(max-width:700px){#home.hero{padding-bottom:170px}}

#home .birthday-scroll{top:calc(100svh - 64px);bottom:auto;padding:0 28px;gap:0;height:34px}
#home .birthday-scroll svg{animation:scroll-invite-up 1.8s ease-in-out infinite}
@keyframes scroll-invite-up{0%,100%{transform:translateY(-7px);opacity:.55}50%{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#home .birthday-scroll svg{animation:none}}

body:has(#home .birthday-opening).facts-nav-inverse .site-nav a{color:#fff!important}
body.facts-nav-inverse .site-nav a:not(.active){opacity:.75}
body.facts-nav-inverse .site-nav a.active{opacity:1}

#home .birthday-opening{translate:0 20px}

/* Extra foil fills the side space on landscape desktop displays. */
#home .hero-foil .foil-wide{display:none}
@media(min-width:1000px) and (min-aspect-ratio:3/2){
#home .hero-foil .foil-wide{display:block;height:auto;width:clamp(55px,5.5vw,105px)}
#home .hero-foil .foil-wide-1{left:17%;top:5%;rotate:-32deg;--fall-speed:.85}
#home .hero-foil .foil-wide-2{left:24%;top:35%;width:clamp(42px,4vw,78px);rotate:36deg;--fall-speed:1.2}
#home .hero-foil .foil-wide-3{left:9%;top:43%;rotate:56deg;--fall-speed:.7}
#home .hero-foil .foil-wide-4{left:21%;top:68%;width:clamp(75px,6vw,116px);height:180px;rotate:23deg;--fall-speed:1.1}
#home .hero-foil .foil-wide-5{right:21%;top:4%;rotate:25deg;--fall-speed:1.15}
#home .hero-foil .foil-wide-6{right:7%;top:43%;width:clamp(48px,4.5vw,86px);rotate:-38deg;--fall-speed:.8}
#home .hero-foil .foil-wide-7{right:23%;top:70%;width:clamp(70px,6vw,115px);height:170px;rotate:-25deg;--fall-speed:1.3}
#home .hero-foil .foil-wide-8{left:4%;top:83%;rotate:-16deg;--fall-speed:1.4}
}

/* White page backing beneath the rounded opening cover. */
html body:has(#home .birthday-opening){background:#fff}
