.birthday-page{background:var(--cream);overflow-x:hidden}
.birthday-page .nav-links{gap:22px}.birthday-page .nav-links .active:after{right:0}.birthday-page .nav-cta{white-space:nowrap}

.birthday-hero{position:relative;isolation:isolate;min-height:820px;padding:125px clamp(24px,7vw,110px) 80px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:6vw;overflow:hidden;background:linear-gradient(130deg,var(--blue2),var(--blue) 58%,#188bdd);color:white}
.birthday-dots{position:absolute;z-index:-1;inset:0;background-image:radial-gradient(circle,#ffffff22 1.5px,transparent 1.8px);background-size:30px 30px;animation:birthdayDots 18s linear infinite;mask-image:linear-gradient(90deg,#000,transparent 84%)}
.party-orb{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.party-orb-one{width:430px;height:430px;right:-145px;top:-160px;border:78px solid #ffd83d17;animation:partyDrift 11s ease-in-out infinite}.party-orb-two{width:260px;height:260px;left:40%;bottom:-180px;background:#48b6ff22;animation:partyDrift 14s ease-in-out infinite reverse}
.birthday-hero-copy{position:relative;z-index:2;max-width:730px}.birthday-hero h1{margin:28px 0;font-family:"Baloo 2",sans-serif;font-size:clamp(62px,6.4vw,102px);line-height:.88;letter-spacing:-4px}.birthday-headline-accent{color:var(--yellow)}.birthday-hero h1 em{display:inline-block;color:inherit;font-style:normal;position:relative;isolation:isolate}.birthday-hero h1 em:after{content:"";position:absolute;z-index:-1;left:1%;right:1%;bottom:2px;height:10px;background:var(--red);border-radius:60% 35% 55% 40%;clip-path:polygon(0 35%,12% 10%,30% 30%,48% 8%,66% 28%,84% 10%,100% 28%,98% 76%,80% 88%,60% 70%,42% 94%,20% 72%,2% 88%);transform:rotate(-1.5deg);transform-origin:center}
.birthday-hero-copy>p{max-width:620px;font-size:19px;line-height:1.7;color:#e4f2ff}.birthday-hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.birthday-text-link{color:white;font-weight:900;text-decoration:none;border-bottom:1px solid #ffffff88;padding-bottom:5px}
.birthday-hero-photo{position:relative;margin:0;justify-self:end;width:min(630px,45vw);height:560px;transform:rotate(2deg)}.birthday-hero-photo:before{content:"";position:absolute;inset:-20px;border:2px dashed #ffffff6b;border-radius:48px;animation:photoPulse 4s ease-in-out infinite}.birthday-hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%;border:9px solid white;border-radius:42px;box-shadow:0 35px 80px #001e416e}.photo-sticker{position:absolute;padding:11px 16px;border-radius:12px;font-size:12px;font-weight:1000;letter-spacing:1.2px;box-shadow:0 16px 34px #00265355;animation:float 4s ease-in-out infinite}.sticker-one{left:-38px;top:12%;background:var(--yellow);color:var(--ink);transform:rotate(-8deg)}.sticker-two{right:-28px;bottom:13%;background:var(--red);color:white;transform:rotate(7deg);animation-delay:-1.8s}

.birthday-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.birthday-intro h2{font-size:clamp(52px,5.7vw,85px)}.birthday-intro-text{max-width:680px}.birthday-intro-text p{font-size:17px;line-height:1.78;color:#506174}.birthday-intro-text .birthday-lead{margin-top:0;color:var(--ink);font-size:25px;font-weight:900;line-height:1.4}

.birthday-inclusions{position:relative;overflow:hidden;background:white}.birthday-section-heading{max-width:980px;margin:0 auto 58px;text-align:center}.birthday-section-heading h2{font-size:clamp(52px,5.7vw,84px)}.birthday-section-heading>p{max-width:650px;margin:25px auto 0;color:#647487;font-size:18px;line-height:1.6}.birthday-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.birthday-option{position:relative;min-height:340px;padding:30px;border-radius:28px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.birthday-option:hover{transform:translateY(-8px);box-shadow:0 24px 55px #0b315927}.birthday-option:after{content:"";position:absolute;width:170px;height:170px;right:-65px;bottom:-70px;border:32px solid currentColor;border-radius:50%;opacity:.08}.birthday-option.blue{background:var(--blue);color:white}.birthday-option.yellow{background:var(--yellow);color:var(--ink)}.birthday-option.red{background:var(--red);color:white}.birthday-option.navy{background:var(--ink);color:white}.birthday-option>span{font-size:12px;font-weight:1000;opacity:.72}.birthday-option-icon{margin:50px 0 15px;font-size:42px}.birthday-option h3{margin:0;font-family:"Baloo 2",sans-serif;font-size:30px;line-height:1.05}.birthday-option p{position:relative;z-index:1;margin:12px 0 0;font-size:16px;line-height:1.6;opacity:.87}

.birthday-calinou{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;min-height:750px;overflow:hidden;background:linear-gradient(130deg,var(--blue2),var(--blue) 65%,#188bdd);color:white}.birthday-calinou:before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(circle,#ffffff22 1.4px,transparent 1.8px);background-size:34px 34px;animation:birthdayDots 16s linear infinite}.birthday-calinou-art{--calinou-circle:490px;--calinou-height:620px;--calinou-head-bottom:-492px;position:relative;width:min(520px,42vw);height:560px;margin:auto}.birthday-calinou-art:before,.birthday-calinou-art:after{content:"";position:absolute;z-index:0;left:50%;top:51%;border:1px solid #ffffff65;border-radius:50%;transform:translate(-50%,-50%)}.birthday-calinou-art:before{width:520px;height:520px}.birthday-calinou-art:after{width:590px;height:590px}.birthday-balloons{position:absolute;z-index:0;inset:20px -70px 50px;pointer-events:none}.birthday-balloons span{position:absolute;display:block;font-size:86px;line-height:1;filter:drop-shadow(0 16px 18px #00265355);animation:balloonFloat 5s ease-in-out infinite}.birthday-balloons span:nth-child(1){left:0;top:25%;transform:rotate(-18deg)}.birthday-balloons span:nth-child(2){left:10%;top:0;font-size:68px;filter:hue-rotate(55deg) drop-shadow(0 16px 18px #00265355);animation-delay:-1.2s}.birthday-balloons span:nth-child(3){right:6%;top:2%;font-size:72px;filter:hue-rotate(205deg) drop-shadow(0 16px 18px #00265355);animation-delay:-2.5s}.birthday-balloons span:nth-child(4){right:-1%;top:31%;font-size:90px;filter:hue-rotate(105deg) drop-shadow(0 16px 18px #00265355);animation-delay:-3.5s}.birthday-calinou-circle{position:absolute;z-index:1;left:50%;bottom:0;width:var(--calinou-circle);height:var(--calinou-circle);overflow:hidden;border-radius:50%;background:radial-gradient(circle at 40% 30%,#ffe976,var(--yellow) 65%,#ffbd29);transform:translateX(-50%);box-shadow:0 34px 75px #00285867}.birthday-calinou-circle img,.birthday-calinou-head img{position:absolute;left:50%;width:auto;height:var(--calinou-height);max-width:none;object-fit:contain;transform:translateX(-50%)}.birthday-calinou-circle img{bottom:-2px;filter:drop-shadow(0 22px 24px #70530050)}.birthday-calinou-head{position:absolute;z-index:2;inset:0 0 var(--calinou-circle);overflow:hidden;pointer-events:none}.birthday-calinou-head img{bottom:var(--calinou-head-bottom);filter:none}.calinou-party-tag{position:absolute;z-index:3;right:-25px;top:20%;padding:12px 16px;border-radius:12px;background:var(--red);font-size:12px;font-weight:1000;letter-spacing:1px;transform:rotate(7deg);box-shadow:0 15px 35px #00265355;animation:float 4.5s ease-in-out infinite}.birthday-calinou-copy{position:relative;z-index:3}.birthday-calinou h2{color:white;font-size:clamp(55px,5.8vw,88px)}.birthday-calinou h2 span{color:var(--yellow)}.birthday-calinou-copy p{max-width:610px;color:#dbeeff;font-size:18px;line-height:1.75}

.birthday-personal{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw}.birthday-personal-copy p{max-width:590px;color:#506174;font-size:18px;line-height:1.75}.birthday-personal-visual{position:relative;height:580px}.birthday-personal-visual:before{content:"";position:absolute;inset:40px -20px -20px 40px;border-radius:42px;background:var(--yellow);transform:rotate(3deg)}.birthday-personal-visual img{position:relative;width:100%;height:100%;display:block;object-fit:cover;border-radius:42px;box-shadow:0 30px 70px #08203d2c}.personal-tag{position:absolute;z-index:2;padding:10px 14px;border-radius:10px;background:white;color:var(--blue);box-shadow:0 13px 35px #08203d37;font-size:11px;font-weight:1000;letter-spacing:1px;animation:float 4.5s ease-in-out infinite}.tag-age{top:7%;left:-38px;transform:rotate(-6deg)}.tag-theme{top:13%;right:-30px;background:var(--red);color:white;transform:rotate(6deg);animation-delay:-1s}.tag-guests{left:-35px;bottom:12%;background:var(--blue);color:white;transform:rotate(5deg);animation-delay:-2s}.tag-venue{right:-36px;bottom:7%;background:var(--yellow);color:var(--ink);transform:rotate(-7deg);animation-delay:-3s}

.birthday-process{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:white}.birthday-process:before{content:"";position:absolute;z-index:-1;width:500px;height:500px;right:-220px;top:-240px;border:85px solid #ffd83d12;border-radius:50%}.birthday-process .birthday-section-heading h2{color:white}.birthday-process .birthday-section-heading h2 span{color:var(--yellow)}.birthday-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.birthday-step{position:relative;min-height:310px;padding:30px 25px;border:1px solid #ffffff22;border-radius:25px;background:#ffffff0c;transition:transform .4s var(--ease),background .4s var(--ease)}.birthday-step:hover{transform:translateY(-8px);background:#ffffff16}.birthday-step strong{display:inline-grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink);font-family:"Baloo 2";font-size:19px}.birthday-step h3{margin:55px 0 12px;font-family:"Baloo 2";font-size:28px;line-height:1.05}.birthday-step p{margin:0;color:#c5d5e5;line-height:1.6}

.birthday-moments{background:var(--cream)}.birthday-photo-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:260px 260px;gap:16px}.birthday-photo-grid img{width:100%;height:100%;display:block;object-fit:cover;border-radius:25px;box-shadow:0 17px 42px #0b315920}.birthday-photo-grid img:first-child{grid-row:1/3}.birthday-photo-grid img:nth-child(2){grid-column:2/4}.birthday-photo-grid img:nth-child(3){grid-column:2}.birthday-photo-grid img:nth-child(4){grid-column:3}

.birthday-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:white}.birthday-faq-heading{position:sticky;top:40px;align-self:start}.birthday-faq-list{border-top:1px solid #b8c6d2}.birthday-faq details{border-bottom:1px solid #b8c6d2}.birthday-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 4px;cursor:pointer;list-style:none;color:var(--ink);font-family:"Baloo 2";font-size:22px;font-weight:800}.birthday-faq summary::-webkit-details-marker{display:none}.birthday-faq summary span{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--yellow);transition:transform .3s var(--ease)}.birthday-faq details[open] summary span{transform:rotate(45deg);background:var(--red);color:white}.birthday-faq details p{margin:-6px 54px 24px 4px;color:#5a6c7e;font-size:16px;line-height:1.7}

.birthday-contact{position:relative;isolation:isolate;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center;overflow:hidden;background:var(--yellow)}.birthday-contact:before{content:"";position:absolute;z-index:-1;width:420px;height:420px;left:-220px;top:-200px;border:70px solid #ffffff55;border-radius:50%}.birthday-contact:after{content:"";position:absolute;z-index:-1;width:390px;height:390px;right:-190px;bottom:-230px;border:70px solid #075ebc10;border-radius:50%}.birthday-contact h2{margin:25px 0;font-size:clamp(55px,5.6vw,86px);color:var(--ink)}.birthday-contact h2 em{color:var(--blue)}.birthday-contact-copy>p{max-width:580px;font-size:18px;line-height:1.7}.birthday-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:36px;border-radius:32px;background:white;box-shadow:0 30px 75px #8f6b1530}.birthday-form label{display:grid;gap:8px}.birthday-form label span{font-size:13px;font-weight:1000;letter-spacing:.4px}.birthday-form input{width:100%;min-height:55px;padding:0 16px;border:2px solid #d7e0e8;border-radius:14px;background:#fbfcfd;color:var(--ink);font:700 16px Nunito,Arial,sans-serif;outline:none;transition:border-color .25s,box-shadow .25s}.birthday-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #075ebc18}.birthday-form .form-wide,.birthday-submit,.form-note{grid-column:1/-1}.birthday-submit{display:flex;align-items:center;justify-content:center;gap:20px;min-height:58px;margin-top:5px;border:0;border-radius:100px;background:var(--blue);color:white;font:1000 16px Nunito,Arial,sans-serif;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.birthday-submit:hover{transform:translateY(-3px);box-shadow:0 14px 30px #001e4144}.birthday-submit:focus-visible{outline:4px solid var(--red);outline-offset:3px}.form-note{margin:0;text-align:center;color:#6b7b8b;font-size:13px;line-height:1.5}

@keyframes birthdayDots{to{background-position:60px 30px}}@keyframes partyDrift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(25px) rotate(8deg)}}@keyframes photoPulse{0%,100%{transform:rotate(-2deg) scale(1);opacity:.7}50%{transform:rotate(1deg) scale(1.025);opacity:1}}@keyframes balloonFloat{0%,100%{translate:0 0}50%{translate:0 -16px}}

@media(max-width:1100px){.birthday-page .nav-links{gap:14px}.birthday-page .nav a{font-size:13px}.birthday-hero{gap:4vw}.birthday-hero-photo{height:490px}.birthday-options{grid-template-columns:repeat(2,1fr)}.birthday-calinou-art{--calinou-circle:410px;--calinou-height:525px;--calinou-head-bottom:-412px;width:430px}.birthday-calinou-art:before{width:440px;height:440px}.birthday-calinou-art:after{width:500px;height:500px}.birthday-balloons{inset:45px -45px 60px}.birthday-balloons span{font-size:72px}.birthday-steps{grid-template-columns:repeat(2,1fr)}}

@media(max-width:900px){.birthday-hero{min-height:0;padding-top:120px;grid-template-columns:1fr;text-align:center}.birthday-hero-copy{margin:auto}.birthday-hero .eyebrow,.birthday-hero-actions{justify-content:center}.birthday-hero-photo{justify-self:center;width:min(620px,88vw);height:540px;margin-top:25px}.birthday-intro,.birthday-calinou,.birthday-personal,.birthday-faq,.birthday-contact{grid-template-columns:1fr}.birthday-intro{gap:35px}.birthday-calinou{gap:35px}.birthday-calinou-art{order:2}.birthday-calinou-copy{text-align:center}.birthday-calinou-copy .section-label{margin-top:0}.birthday-calinou-copy p{margin-left:auto;margin-right:auto}.birthday-personal{gap:55px}.birthday-personal-visual{height:540px}.birthday-faq{gap:40px}.birthday-faq-heading{position:static}.birthday-contact{gap:45px}.birthday-contact-copy{text-align:center}.birthday-contact-copy .eyebrow{justify-content:center}.birthday-contact-copy>p{margin-left:auto;margin-right:auto}}

@media(max-width:620px){.birthday-page .nav .nav-links{top:72px}.birthday-hero{padding:116px 20px 65px}.birthday-hero h1{font-size:53px;line-height:.92;letter-spacing:-2px}.birthday-hero h1 em:after{bottom:1px;height:7px}.birthday-hero-copy>p{font-size:17px}.birthday-hero-actions{flex-direction:column;gap:20px}.birthday-hero-photo{width:90vw;height:410px;transform:none}.birthday-hero-photo:before{inset:-10px;border-radius:30px}.birthday-hero-photo img{border-width:6px;border-radius:28px}.sticker-one{left:-8px}.sticker-two{right:-8px}.birthday-intro,.birthday-inclusions,.birthday-personal,.birthday-process,.birthday-moments,.birthday-faq,.birthday-contact{padding-left:20px;padding-right:20px}.birthday-intro h2,.birthday-section-heading h2,.birthday-personal h2,.birthday-faq h2,.birthday-contact h2{font-size:45px;letter-spacing:-2px}.birthday-intro-text .birthday-lead{font-size:22px}.birthday-options{grid-template-columns:1fr}.birthday-option{min-height:310px}.birthday-calinou{padding:80px 20px}.birthday-calinou h2{font-size:48px;letter-spacing:-2px}.birthday-calinou-art{--calinou-circle:290px;--calinou-height:405px;--calinou-head-bottom:-292px;width:300px;height:390px}.birthday-calinou-art:before{width:310px;height:310px}.birthday-calinou-art:after{width:350px;height:350px}.birthday-balloons{inset:70px -18px 55px}.birthday-balloons span{font-size:52px}.birthday-balloons span:nth-child(2),.birthday-balloons span:nth-child(3){font-size:46px}.calinou-party-tag{right:-4px;top:18%}.birthday-personal-visual{height:420px}.birthday-personal-visual:before{inset:22px -8px -8px 22px}.birthday-personal-visual img{border-radius:28px}.personal-tag{font-size:9px;padding:8px 10px}.tag-age,.tag-guests{left:-5px}.tag-theme,.tag-venue{right:-5px}.birthday-steps{grid-template-columns:1fr}.birthday-step{min-height:260px}.birthday-step h3{margin-top:38px}.birthday-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:290px 175px 175px;gap:10px}.birthday-photo-grid img:first-child{grid-column:1/3;grid-row:1}.birthday-photo-grid img:nth-child(2){grid-column:1/3;grid-row:2}.birthday-photo-grid img:nth-child(3){grid-column:1;grid-row:3}.birthday-photo-grid img:nth-child(4){grid-column:2;grid-row:3}.birthday-photo-grid img{border-radius:18px}.birthday-faq summary{font-size:18px}.birthday-faq details p{margin-right:10px}.birthday-form{grid-template-columns:1fr;padding:24px 18px;border-radius:24px}.birthday-form label,.birthday-form .form-wide,.birthday-submit,.form-note{grid-column:1}.birthday-submit{font-size:15px}}

@media(prefers-reduced-motion:reduce){.birthday-dots,.party-orb,.birthday-hero-photo:before,.photo-sticker,.birthday-calinou:before,.birthday-balloons span,.calinou-party-tag,.personal-tag{animation:none!important}}

/* Keep both mascot layers perfectly aligned while the full figure floats. */
.birthday-calinou-figure{position:absolute;z-index:1;inset:0;animation:birthdayMascotFloat 4s ease-in-out infinite}
@keyframes birthdayMascotFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media(prefers-reduced-motion:reduce){.birthday-calinou-figure{animation:none!important}}

/* Extra birthday balloons around Calinou. */
.birthday-balloons span:nth-child(5){left:-5%;bottom:4%;font-size:76px;filter:hue-rotate(25deg) drop-shadow(0 16px 18px #00265355);animation-delay:-.7s}
.birthday-balloons span:nth-child(6){left:21%;bottom:-5%;font-size:58px;filter:hue-rotate(170deg) drop-shadow(0 16px 18px #00265355);animation-delay:-2s}
.birthday-balloons span:nth-child(7){right:20%;bottom:-6%;font-size:62px;filter:hue-rotate(255deg) drop-shadow(0 16px 18px #00265355);animation-delay:-3.1s}
.birthday-balloons span:nth-child(8){right:-5%;bottom:7%;font-size:78px;filter:hue-rotate(80deg) drop-shadow(0 16px 18px #00265355);animation-delay:-4.2s}

/* Six floating entertainment labels around the Section 04 photo. */
.tag-age{top:5%;left:-38px}.tag-theme{top:7%;right:-30px}.tag-workshops{top:46%;left:-42px;background:var(--yellow);color:var(--ink);transform:rotate(-4deg);animation-delay:-1.5s}.tag-dance{top:47%;right:-30px;background:var(--blue);color:white;transform:rotate(5deg);animation-delay:-2.5s}.tag-guests{left:-35px;bottom:7%}.tag-venue{right:-36px;bottom:5%}

@media(max-width:620px){.birthday-balloons span:nth-child(n+5){font-size:42px}.birthday-balloons span:nth-child(5){left:0;bottom:8%}.birthday-balloons span:nth-child(6){left:23%;bottom:-2%}.birthday-balloons span:nth-child(7){right:23%;bottom:-3%}.birthday-balloons span:nth-child(8){right:0;bottom:9%}.tag-workshops{left:-5px}.tag-dance{right:-5px}}

/* Selectable Birthday Moments gallery. */
.birthday-gallery{width:min(1080px,100%);margin:0 auto}.birthday-gallery-stage{position:relative;overflow:hidden;padding:12px;border-radius:34px;background:linear-gradient(135deg,var(--blue2),var(--ink));box-shadow:0 28px 65px #08203d32}.birthday-gallery-featured{display:block;width:100%;height:min(72vh,720px);min-height:520px;object-fit:contain;border-radius:24px;background:#061a32;transition:opacity .18s ease,scale .25s var(--ease)}.birthday-gallery-featured.is-changing{opacity:.3;scale:.985}.birthday-gallery-arrow{position:absolute;z-index:2;top:50%;display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;background:#fffffff0;color:var(--blue);font:800 38px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 10px 28px #001b3c55;transform:translateY(-50%);transition:transform .25s var(--ease),background .25s}.birthday-gallery-arrow:hover{background:var(--yellow);transform:translateY(-50%) scale(1.08)}.birthday-gallery-prev{left:28px}.birthday-gallery-next{right:28px}.birthday-gallery-counter{position:absolute;right:26px;bottom:25px;padding:8px 13px;border-radius:999px;background:#08203dd9;color:white;font-size:13px;font-weight:900;letter-spacing:.8px;backdrop-filter:blur(8px)}.birthday-gallery-thumbs{display:flex;gap:12px;margin-top:18px;padding:5px 4px 14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:var(--blue) #dce5ec;touch-action:pan-x}.birthday-gallery-thumbs button{flex:0 0 132px;height:98px;padding:4px;border:3px solid transparent;border-radius:18px;background:white;cursor:pointer;scroll-snap-align:center;box-shadow:0 8px 22px #08203d18;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}.birthday-gallery-thumbs button:hover,.birthday-gallery-thumbs button.is-active{border-color:var(--yellow);box-shadow:0 10px 28px #08203d2a;transform:translateY(-4px)}.birthday-gallery-thumbs button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.birthday-gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:11px;pointer-events:none}
@media(max-width:620px){.birthday-gallery-stage{padding:6px;border-radius:24px}.birthday-gallery-featured{height:520px;min-height:0;border-radius:19px}.birthday-gallery-arrow{width:42px;height:42px;font-size:31px}.birthday-gallery-prev{left:14px}.birthday-gallery-next{right:14px}.birthday-gallery-counter{right:14px;bottom:14px}.birthday-gallery-thumbs{gap:8px;margin-top:12px}.birthday-gallery-thumbs button{flex-basis:92px;height:72px;border-radius:14px}.birthday-gallery-thumbs img{border-radius:8px}}

/* Keep the celebration tag above Calinou's head. */
.calinou-party-tag{right:2%;top:-4%}

/* Keep all six activity labels fully visible inside the mobile photo. */
@media(max-width:620px){
  .calinou-party-tag{top:-5%;right:1%;padding:10px 13px;font-size:10px}
  .birthday-personal-visual .personal-tag{z-index:3;max-width:62%;padding:9px 11px;font-size:10px;line-height:1.2;text-align:center;white-space:normal}
  .birthday-personal-visual .tag-age{top:3%;left:8px}
  .birthday-personal-visual .tag-theme{top:3%;right:8px;max-width:58%}
  .birthday-personal-visual .tag-workshops{top:46%;left:8px}
  .birthday-personal-visual .tag-dance{top:46%;right:8px}
  .birthday-personal-visual .tag-guests{left:8px;bottom:4%;max-width:61%}
  .birthday-personal-visual .tag-venue{right:8px;bottom:4%;max-width:35%}
}

/* Keep the duplicated mascot layer well inside the circle before hiding it.
   The join now lands near the lower body, where the yellow circle is wide
   enough to cover the full figure, so no blue strip can cross the face. */
.birthday-calinou-art{--calinou-head-window-bottom:70px;--calinou-head-bottom:-72px}
.birthday-calinou-head{inset:0 0 var(--calinou-head-window-bottom)}
@media(max-width:620px){
  .birthday-calinou-art{--calinou-head-window-bottom:35px;--calinou-head-bottom:-37px}
}
@media(min-width:1101px){
  .birthday-calinou-head{top:-90px}
}
