@font-face{font-family:Montserrat;src:url('/assets/montserrat-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/montserrat-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/montserrat-800.ttf') format('truetype');font-weight:800;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/montserrat-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--ink:#231438;--purple:#542184;--deep:#351252;--yellow:#ffdf4e;--paper:#fffcf5;--muted:#645b6c;--lavender:#eee5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #159bd2;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.06;letter-spacing:-.055em}h1,h2{font-weight:900}h2{font-size:clamp(35px,4vw,54px)}h2 em{color:var(--purple);font-style:normal}h3{font-weight:800}p+p{margin-top:16px}section{scroll-margin-top:20px}.section{width:min(1160px,88%);margin-inline:auto;padding-block:84px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.6;margin-bottom:20px}.eyebrow.purple{color:var(--purple)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:17px 22px;border-radius:8px;font-size:13px;line-height:1.4;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s}.button span{font-size:21px;line-height:1}.yellow{background:var(--yellow);color:var(--ink);box-shadow:0 4px 0 #b48b1a}.dark-button{color:white;background:var(--deep);box-shadow:0 4px 0 #180629}.text-link{display:inline-block;color:var(--purple);font-weight:800;text-decoration:none;font-size:13px;text-underline-offset:5px}.text-link.light{color:#fff}.text-link:hover{text-decoration:underline}.small-note,.price-note{font-size:12px;color:var(--muted);line-height:1.7}.large-copy{font-size:23px;font-weight:700;line-height:1.4;letter-spacing:-.035em}.skip{position:absolute;left:20px;top:-100px;padding:14px;background:var(--yellow);z-index:50}.skip:focus{top:10px}.page-header{width:min(1280px,92%);margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px}.birthday-wordmark{width:clamp(260px,31vw,380px);flex:0 1 auto;display:block;line-height:0;text-decoration:none}.birthday-wordmark svg{display:block;width:100%;height:auto;aspect-ratio:1413/234}.header-cta{flex-shrink:0}.page-header nav{display:flex;gap:30px;font-size:12px;font-weight:700}.page-header nav a{text-decoration:none}.page-header nav a:hover{text-decoration:underline}.header-cta{font-size:11px;padding:13px 18px;gap:18px}
.hero{background:var(--deep);color:#fff;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;width:700px;height:700px;background:radial-gradient(ellipse,#7236a370,transparent 68%);top:-100px;left:-100px;pointer-events:none}.hero-inner{width:min(1280px,92%);margin:auto;display:grid;grid-template-columns:1.13fr 1fr;gap:52px;align-items:center;padding:48px 0 58px}.hero-copy{position:relative;padding:12px 0 16px 26px}.hero .eyebrow{color:#dec2f4;font-size:10px}.hero h1{font-size:clamp(56px,6.1vw,83px);line-height:.98;letter-spacing:-.065em;margin-bottom:28px}.hero h1 em{color:var(--yellow);font-style:normal}.hero-lead{font-size:20px;line-height:1.55;max-width:510px;letter-spacing:-.025em}.hero-support{color:#ddcee6;font-size:13px;max-width:450px;line-height:1.7}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:27px 0 22px}.hero-price{font-size:12px;color:#e9d9f3}.hero-price strong{font-size:18px;color:white}.hero-price span{margin:0 9px;color:var(--yellow)}.hero-photo{position:relative;width:100%;max-width:510px;justify-self:end;padding:0 15px 0 0}.hero-photo>img{width:100%;height:575px;object-fit:cover;object-position:50% 48%;border-radius:140px 18px 18px 18px;border:5px solid #fff7db;transform:rotate(2deg)}.hero-photo:after{content:'';position:absolute;inset:16px 0 -14px 20px;border:1px solid #a782bd;border-radius:140px 18px 18px 18px;z-index:0;pointer-events:none;transform:rotate(-2deg)}.hero-photo figcaption{position:absolute;bottom:18px;left:-24px;background:var(--yellow);color:var(--ink);padding:18px 72px 18px 23px;border-radius:7px;transform:rotate(-3deg);z-index:2;box-shadow:3px 6px 0 #1d062c55}.hero-photo figcaption>span{display:block;font-size:8px;font-weight:800;letter-spacing:.1em;margin-bottom:5px}.hero-photo figcaption strong{display:block;font-size:25px;font-weight:900;line-height:1.05;letter-spacing:-.045em}.hero-photo figcaption a{position:absolute;right:23px;top:29px;text-decoration:none;font-size:35px}.photo-star{position:absolute;color:var(--yellow);font-size:112px;right:-26px;top:-35px;line-height:1;z-index:2;text-shadow:3px 4px 0 var(--deep)}.reassurance{display:flex;justify-content:center;gap:65px;align-items:center;min-height:68px;background:#f5eddf;border-bottom:1px solid #e8decd;font-size:12px;font-weight:700}.reassurance span{display:flex;align-items:center;gap:11px}.reassurance b{color:var(--purple);font-size:22px}
.bert-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;padding-top:96px}.bert-art-wrap{position:relative;align-self:stretch;min-height:500px;display:flex;align-items:center}.bert-art{position:relative;overflow:hidden;isolation:isolate;background:#ece1f5;width:100%;height:475px;border-radius:160px 160px 18px 18px}.bert-art:before{content:'';position:absolute;inset:32px;border:1px solid #c7acd9;border-radius:140px 140px 5px 5px}.bert-art>img{position:absolute;width:215%;max-width:none;height:auto;top:2%;left:-27%;clip-path:inset(0 50% 0 0)}.art-note{position:absolute;bottom:9px;left:30px;background:#fff8d9;padding:18px 22px;font-size:17px;line-height:1.3;transform:rotate(-4deg);border-bottom:4px solid #ead36c;border-radius:3px;letter-spacing:-.02em}.art-note strong{font-weight:800}.doodle-star{position:absolute;top:16px;left:-17px;font-size:85px;line-height:1;color:var(--purple);transform:rotate(-15deg)}.bert-copy h2{margin-bottom:24px}.bert-copy>.large-copy{margin-bottom:15px}.bert-copy>p:not(.eyebrow):not(.large-copy){color:var(--muted);font-size:14px}.bert-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #dfd1e6;margin:28px 0 25px;padding-top:22px}.bert-details span{color:#9c7cb2;font-size:10px;font-weight:800}.bert-details h3{font-size:17px;margin:8px 0 10px;letter-spacing:-.04em}.bert-details p{font-size:11px;line-height:1.65;color:var(--muted)}
.ben-band{background:#eaf3f3;border-block:1px solid #d7e5e4}.ben-section{display:grid;grid-template-columns:300px 1fr;gap:66px;align-items:center;max-width:1000px;padding-block:56px}.ben-photo{background:#cfe4e1;position:relative;transform:rotate(-2deg);border:5px solid white;border-radius:16px;overflow:hidden;box-shadow:0 7px 0 #cfdfdc}.ben-photo img{width:100%;height:328px;object-fit:cover;object-position:50% 36%}.ben-copy h2{font-size:48px;margin-bottom:19px}.ben-copy .large-copy{font-size:21px}.ben-copy>p:not(.eyebrow):not(.large-copy){font-size:13px;color:#52676a}.ben-copy>.text-link{margin-top:21px}.ben-copy>.small-note{font-size:10px!important;margin-top:15px;max-width:460px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:35px}.section-heading>p{max-width:340px;color:var(--muted);font-size:14px}.section-heading .eyebrow{margin-bottom:14px}.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.package{background:#fff;border:2px solid #e7dcf0;border-radius:15px;padding:32px;display:flex;flex-direction:column;position:relative;overflow:hidden}.duration{display:inline-flex;align-self:flex-start;border:1px solid #d4c3df;border-radius:30px;padding:7px 12px;font-size:10px;font-weight:800;letter-spacing:.1em;margin-bottom:22px}.package h3{font-size:27px;margin-bottom:18px;letter-spacing:-.04em}.package-price{font-weight:900;font-size:45px;line-height:1.15;letter-spacing:-.05em;margin-bottom:20px}.package-price>span{font-size:11px;font-weight:700;letter-spacing:0;white-space:nowrap}.package>p:not(.package-price){font-size:13px;color:var(--muted);min-height:43px}.package ul{list-style:none;padding:0;margin:24px 0 30px;font-size:12px;line-height:1.6}.package li{position:relative;padding-left:21px;margin-top:10px}.package li:before{content:'✦';position:absolute;left:0;color:#895aac}.package>.button{margin-top:auto}.package.featured{background:var(--deep);color:white;border-color:var(--deep)}.package.featured .duration{border-color:#84609b;color:#efd5ff}.package.featured>p:not(.package-price){color:#e1d0ec}.package.featured li:before{color:var(--yellow)}.price-note{max-width:840px;margin:20px auto 0;text-align:center;font-size:10px}.extras{border-top:1px solid #dfd2e5;border-bottom:1px solid #dfd2e5;margin-top:31px}.extras summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:19px 5px;gap:20px;font-size:13px}.extras summary strong{display:inline;margin-right:12px}.extras summary>span:last-child{font-size:26px;font-weight:400;color:var(--purple)}.extras summary::-webkit-details-marker{display:none}.extras[open] summary>span:last-child{transform:rotate(45deg)}.extras-body{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:12px 5px 23px}.extras-body h3{font-size:18px;letter-spacing:-.03em;display:flex;justify-content:space-between;gap:20px}.extras-body h3 b{color:var(--purple);white-space:nowrap}.extras-body article{padding-right:25px}.extras-body p{font-size:12px;color:var(--muted);margin-top:12px}.extras-body>.small-note{grid-column:1/-1;margin-top:0;font-size:10px}
.kit-section{padding-top:0}.kit-heading{padding-top:12px}.kit-heading h2{font-size:43px}.birthday-kit-extra{display:grid;grid-template-columns:minmax(280px,45%) 1fr;align-items:center;gap:40px;padding:34px 40px;margin-top:30px;border:1px solid #ded2e7;border-radius:16px;background:linear-gradient(115deg,#eee2f6,#fff9ea);overflow:hidden}.birthday-kit-copy{min-width:0}.small-label{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--purple);line-height:1.4}.birthday-kit-copy h3{font-size:30px;line-height:1.1;margin:11px 0 18px;letter-spacing:-.04em}.birthday-kit-copy h3 strong{display:block;font-size:22px;color:var(--purple);margin-top:10px}.birthday-kit-copy p{font-size:13px;line-height:1.8;color:var(--muted)}.birthday-kit-copy .kit-note{font-size:10px}.birthday-kit-copy .button{margin-top:20px;font-size:12px}.birthday-kit-scene{--kit-progress:1;position:relative;isolation:isolate;width:100%;height:355px;max-width:460px;margin:auto;overflow:hidden}.birthday-kit-scene img{position:absolute;max-height:none;object-fit:contain;pointer-events:none}.birthday-kit-scene .kit-bag{width:82%;height:82%;left:9%;top:15%;z-index:0}.birthday-kit-scene .kit-piece{z-index:1;transform:translate(calc(var(--dx)*(1 - var(--kit-progress))),calc(var(--dy)*(1 - var(--kit-progress)))) rotate(calc(var(--turn)*(1 - var(--kit-progress))));will-change:transform}.birthday-kit-scene .kit-yellow{width:36%;height:65%;left:6%;top:4%;--dx:-65px;--dy:-80px;--turn:-26deg}.birthday-kit-scene .kit-dice{width:27%;height:38%;left:38%;top:4%;--dx:20px;--dy:-100px;--turn:23deg}.birthday-kit-scene .kit-cups{width:36%;height:42%;left:20%;top:43%;--dx:-95px;--dy:45px;--turn:-24deg}.birthday-kit-scene .kit-rope{width:49%;height:53%;left:49%;top:29%;--dx:100px;--dy:-35px;--turn:25deg}.birthday-kit-scene .kit-box{width:36%;height:38%;left:46%;top:63%;--dx:60px;--dy:75px;--turn:-28deg}
.review-section{background:#f2e9d7;border-block:1px solid #e5dbc8}.review-inner{padding-block:46px;display:grid;grid-template-columns:60px 1fr 185px;gap:25px;align-items:center}.quote-mark{font-family:Georgia,serif;font-size:130px;line-height:.6;color:var(--purple);align-self:start;padding-top:23px}.review-inner blockquote{margin:0 0 15px;font-size:23px;font-weight:700;letter-spacing:-.035em;line-height:1.45;max-width:670px}.review-inner figcaption{font-size:11px}.review-inner figcaption strong{font-weight:800}.review-inner figcaption span{display:block;color:var(--muted);font-size:10px}.review-inner>.text-link{font-size:11px;text-align:right}.steps{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps li{border-top:1px solid #d8c9e1;padding-top:22px}.steps li>span{font-size:25px;font-weight:900;color:#aa81bc}.steps h3{font-size:22px;margin:14px 0}.steps p{font-size:13px;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;padding-top:5px}.faq-section h2{font-size:40px;margin-bottom:28px}.faqs details{border-bottom:1px solid #dfd2e5}.faqs summary{position:relative;cursor:pointer;list-style:none;padding:20px 27px 20px 0;font-weight:700;font-size:13px;line-height:1.5}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';position:absolute;right:0;font-size:24px;top:13px;color:var(--purple);font-weight:400}.faqs details[open] summary:after{content:'−'}.faqs details p{font-size:12px;color:var(--muted);padding:0 25px 22px 0;line-height:1.8}.booking-section{background:var(--deep);color:#fff;overflow:hidden}.booking-inner{position:relative;text-align:center;padding-block:72px}.booking-inner .eyebrow{color:#dcc2ed}.booking-inner h2{font-size:58px;position:relative;z-index:1}.booking-inner h2 em{color:var(--yellow)}.booking-inner>p:not(.eyebrow){font-size:15px;color:#e0d2eb;margin-top:23px;position:relative;z-index:1}.booking-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin:28px 0;position:relative;z-index:1}.booking-actions>a:not(.button){font-size:12px;font-weight:700;text-decoration:none}.booking-inner>.booking-note{font-size:10px!important;max-width:590px;margin:23px auto 0;line-height:1.8}.booking-star{position:absolute;right:-40px;top:90px;font-size:290px;line-height:1;color:#7b4c972b;transform:rotate(20deg);pointer-events:none}
.site-footer{background:#f5f0e6}.footer-inner{width:min(1160px,88%);margin:auto;padding:40px 0}.site-footer h2{font-size:26px;letter-spacing:-.04em;margin-bottom:25px}.family-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.family-brand-link{text-decoration:none;min-height:102px;padding:7px 4px;border-bottom:2px solid #e5dce8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;overflow:hidden;transition:transform .2s}.family-logos img{height:62px;max-height:62px;width:100%;object-fit:contain}.family-logos img[src*="footer-movie"]{transform:scale(1.45)}.family-birthday-logo{display:block;height:62px;width:100%}.family-brand-label{font-size:9px;min-height:24px;font-weight:700;text-align:center;line-height:1.3}.footer-bottom{display:grid;grid-template-columns:1.1fr 1fr auto;gap:35px;align-items:center;border-top:1px solid #ddd2e2;margin-top:30px;padding-top:28px}.footer-brand{display:block;max-width:270px}.contact{display:flex;flex-direction:column;gap:7px;font-size:14px}.contact a{text-decoration:none}.footer-actions{display:flex;align-items:center;gap:25px}.quote-pill{display:inline-block;padding:11px 19px;border:1px solid var(--purple);border-radius:30px;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;color:var(--purple)}.socials{display:flex;gap:10px}.socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px}.socials img{width:28px;height:28px}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}.family-brand-link:hover{transform:translateY(-3px)}}
@media(max-width:1050px){.page-header nav{gap:20px}.hero-inner{gap:25px}.hero-copy{padding-left:0}.hero h1{font-size:65px}.hero-lead{font-size:18px}.hero-photo>img{height:540px}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;padding:16px}.hero-actions .text-link{font-size:12px}.bert-section{gap:45px}.bert-art{height:420px}.bert-art-wrap{min-height:450px}.bert-copy h2{font-size:43px}.bert-copy>.large-copy{font-size:21px}.bert-details{gap:12px}.bert-details h3{font-size:15px}.reassurance{gap:35px;font-size:11px}.ben-section{gap:40px;grid-template-columns:260px 1fr}.ben-photo img{height:310px}.section-heading{gap:30px}.package{padding:27px}.package h3{font-size:24px}.package-price{font-size:41px}.birthday-kit-extra{padding:30px;gap:25px}.birthday-kit-scene{height:310px}.review-inner{grid-template-columns:40px 1fr;gap:20px}.review-inner>.text-link{grid-column:2;text-align:left}.faq-section{gap:45px}.footer-bottom{gap:25px}.footer-actions{gap:18px;flex-direction:column}.contact{font-size:12px}}
@media(min-width:761px) and (max-width:900px){.page-header nav{display:none}}
@media(max-width:760px){.page-header{width:90%;min-height:78px;gap:15px}.page-header nav{display:none}.birthday-wordmark{width:auto;max-width:340px;min-width:0;flex:1 1 0}.page-header{gap:12px}.header-cta{font-size:10px;padding:12px 13px;gap:10px}.hero-inner{width:88%;grid-template-columns:1fr;gap:35px;padding:36px 0 42px}.hero-copy{padding:0}.hero .eyebrow{font-size:9px;margin-bottom:19px}.hero h1{font-size:clamp(47px,10.3vw,70px);margin-bottom:20px}.hero-lead{font-size:17px;line-height:1.5;max-width:550px}.hero-support{font-size:12px;line-height:1.65;max-width:530px}.hero-actions{gap:22px;margin:24px 0 18px}.hero-actions .button{font-size:12px;padding:16px 19px;gap:20px}.hero-price{font-size:10px}.hero-price strong{font-size:16px}.hero-price span{margin:0 7px}.hero-photo{width:92%;max-width:450px;justify-self:center;padding-right:0;margin-top:6px}.hero-photo>img{height:385px;object-position:center 47%;border-radius:95px 15px 15px 15px;border-width:4px;transform:rotate(1.5deg)}.hero-photo:after{inset:12px -7px -10px 12px;border-radius:95px 15px 15px 15px}.photo-star{font-size:82px;right:-25px;top:-26px}.hero-photo figcaption{left:-14px;bottom:13px;padding:15px 65px 15px 19px}.hero-photo figcaption strong{font-size:21px}.hero-photo figcaption a{right:21px;top:24px;font-size:29px}.hero-photo figcaption>span{font-size:7px}.reassurance{gap:12px;min-height:62px;padding:11px 5%;font-size:9px;line-height:1.4}.reassurance span{flex:1;gap:7px;max-width:180px;justify-content:center}.reassurance b{font-size:15px}.section{width:88%;padding-block:51px}.eyebrow{font-size:9px;margin-bottom:14px}h2{font-size:37px}.bert-section{grid-template-columns:1fr;gap:28px;padding-top:52px}.bert-copy{order:0}.bert-art-wrap{order:1;min-height:0;display:block;max-width:350px;width:86%;margin:auto}.bert-art{height:350px;border-radius:140px 140px 12px 12px}.bert-art>img{width:210%;left:-26%;top:0}.art-note{left:-12px;bottom:4px;padding:15px 20px;font-size:15px}.doodle-star{font-size:67px;top:10px;left:-25px}.bert-copy h2{font-size:39px;margin-bottom:20px}.bert-copy>.large-copy{font-size:20px;margin-bottom:13px}.bert-copy>p:not(.eyebrow):not(.large-copy){font-size:13px}.bert-details{margin:23px 0 21px;padding-top:17px;gap:15px}.bert-details h3{font-size:15px;line-height:1.15}.bert-details p{font-size:10px}.bert-copy>.text-link{font-size:11px}.ben-section{grid-template-columns:130px 1fr;gap:24px;padding-block:38px;align-items:start}.ben-photo{border-width:4px;border-radius:10px;margin-top:32px}.ben-photo img{height:183px;object-position:center 25%}.ben-copy h2{font-size:33px;margin-bottom:14px}.ben-copy .eyebrow{font-size:8px;line-height:1.6;letter-spacing:.09em}.ben-copy .large-copy{font-size:17px}.ben-copy>p:not(.eyebrow):not(.large-copy){font-size:12px}.ben-copy>.text-link{font-size:10px;margin-top:17px}.ben-copy>.small-note{font-size:9px!important;line-height:1.7}.section-heading{display:block;margin-bottom:25px}.section-heading>p{font-size:13px;max-width:550px;margin-top:19px}.package-grid{gap:18px}.package{padding:24px}.package h3{font-size:26px;margin-bottom:16px;line-height:1.1}.package-grid{grid-template-columns:1fr}.duration{font-size:9px;padding:6px 11px;margin-bottom:18px}.package-price{font-size:40px;margin-bottom:15px}.package>p:not(.package-price){font-size:12px;min-height:0}.package ul{font-size:11px;margin:18px 0 25px}.package .button{font-size:12px;padding:16px 19px}.price-note{font-size:9px;text-align:left;line-height:1.8;margin-top:17px}.extras{margin-top:25px}.extras summary{font-size:11px;padding:17px 1px}.extras summary strong{display:block;margin:0 0 3px;font-size:14px}.extras-body{grid-template-columns:1fr;gap:22px}.extras-body article{padding:0}.extras-body h3{font-size:17px}.extras-body p{font-size:11px}.extras-body>.small-note{font-size:9px}.kit-section{padding-top:0}.kit-heading h2{font-size:35px}.birthday-kit-extra{grid-template-columns:1fr;padding:22px;gap:8px;margin-top:25px}.birthday-kit-scene{max-width:360px;height:285px}.birthday-kit-copy h3{font-size:27px}.birthday-kit-copy h3 strong{font-size:20px}.birthday-kit-copy p{font-size:12px}.birthday-kit-copy .kit-note{font-size:9px}.birthday-kit-copy .button{font-size:11px;margin-top:18px}.small-label{font-size:9px}.review-inner{padding-block:34px;grid-template-columns:26px 1fr;gap:15px}.quote-mark{font-size:90px;padding-top:16px}.review-inner blockquote{font-size:20px;line-height:1.45}.review-inner figcaption{font-size:10px}.review-inner figcaption span{font-size:9px}.review-inner>.text-link{font-size:10px}.steps{grid-template-columns:1fr;gap:23px;margin-top:28px}.steps li{position:relative;padding:20px 0 0 45px}.steps li>span{font-size:22px;position:absolute;left:0;top:23px}.steps h3{font-size:20px;margin:4px 0 11px}.steps p{font-size:12px}.faq-section{grid-template-columns:1fr;gap:22px;padding-top:4px}.faq-section h2{font-size:35px;margin-bottom:20px}.faq-section .text-link{font-size:12px}.faqs summary{font-size:12px;padding:17px 28px 17px 0}.faqs details p{font-size:11px;padding-bottom:18px}.booking-inner{padding-block:48px;text-align:left}.booking-inner h2{font-size:38px}.booking-inner .eyebrow{font-size:9px;max-width:250px}.booking-inner>p:not(.eyebrow){font-size:13px;margin-top:20px}.booking-inner>p br{display:none}.booking-actions{align-items:flex-start;flex-direction:column;gap:23px;margin:25px 0}.booking-actions>.button{font-size:12px;width:auto;min-width:250px}.booking-actions>a:not(.button){font-size:11px}.booking-inner>.booking-note{font-size:9px!important;max-width:440px;margin:0;line-height:1.8}.booking-star{font-size:220px;right:-70px;top:65px}.footer-inner{width:88%;padding-block:31px}.site-footer h2{font-size:24px;margin-bottom:20px}.family-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.family-brand-link{min-height:88px;padding:4px 2px;gap:5px}.family-logos img{height:49px;max-height:49px}.family-birthday-logo{height:49px}.family-brand-label{font-size:8px;min-height:24px}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:23px;margin-top:25px;padding-top:25px}.footer-brand{width:250px;max-width:90%}.contact{font-size:17px;text-align:center;gap:2px}.footer-actions{flex-direction:row;gap:25px}.quote-pill{font-size:12px}.socials img{width:30px;height:30px}}
@media(max-width:390px){.hero h1{font-size:47px}.hero-actions{gap:18px}.hero-actions .button{font-size:11px;padding:15px 16px;gap:15px}.hero-actions .text-link{font-size:11px}.hero-photo>img{height:342px}.header-cta{font-size:9px;padding:11px;gap:7px}.ben-section{grid-template-columns:1fr;gap:24px}.ben-photo{width:175px;justify-self:center;margin-top:0}.ben-photo img{height:215px}.ben-copy .large-copy br{display:none}.ben-copy>.small-note{max-width:none}.bert-copy h2{font-size:35px}.bert-details{gap:12px}.bert-details h3{font-size:14px}.bert-art{height:310px}.package{padding:22px}.booking-inner h2{font-size:35px}.reassurance{font-size:8px;gap:8px}.reassurance b{font-size:13px}.birthday-kit-scene{height:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.family-brand-link:hover{transform:none}.birthday-kit-scene .kit-piece{transform:none!important;will-change:auto}}

/* Compact Birthdayparty.ca identity: continuous purple opening, no white logo strip. */
.page-header{width:100%;margin:0;min-height:68px;padding-inline:max(4%,calc((100% - 1280px)/2));justify-content:flex-end;background:var(--deep);color:#fff}
.hero-inner{padding-top:12px}
.hero-copy{padding-top:0}
.hero-brand{display:block;width:min(370px,100%);margin:0 0 20px;text-decoration:none;line-height:0}
.hero-brand svg{display:block;width:100%;height:auto;aspect-ratio:1550/925}
.hero h1{font-size:clamp(44px,4.4vw,58px);line-height:1.02;margin-bottom:22px}
.hero .eyebrow{margin-bottom:14px}
@media(max-width:1050px){.hero-brand{width:min(330px,100%)}.hero h1{font-size:48px}}
@media(max-width:760px){.page-header{width:100%;min-height:62px;padding-inline:6%;gap:15px}.hero-inner{padding-top:6px}.hero-brand{width:min(310px,100%);margin:0 auto 22px}.hero h1{font-size:clamp(44px,10vw,58px)}.hero .eyebrow{margin-bottom:16px}.family-birthday-logo{height:49px}}
@media(max-width:390px){.hero-brand{width:min(280px,100%)}.hero h1{font-size:44px}}

/* Birthday adventures: experiences first, equal entertainers, simple decisions. */
.birthday-adventure .hero-inner{gap:50px;padding-block:42px 58px}.birthday-adventure .hero-copy{padding-left:0}.birthday-adventure h1{font-size:clamp(48px,5.6vw,76px)}.adventure-visual{min-width:0}.adventure-photo{position:relative}.adventure-photo img{width:100%;height:430px;object-fit:cover;object-position:50% 50%;border-radius:24px;border:3px solid #ffffff70}.adventure-photo figcaption{position:absolute;bottom:20px;left:20px;right:20px;color:white;font-size:11px;letter-spacing:.12em;font-weight:800;text-shadow:0 1px 8px #000;background:#251438bd;padding:14px;border-radius:8px}.adventure-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.adventure-tags span{border:1px solid #ffffff45;border-radius:99px;padding:8px 12px;font-size:11px;color:#f7edf9}.experience-section{padding-bottom:60px}.experience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:32px}.experience-card{grid-column:span 2;display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid #e4d9ec;border-radius:16px;text-decoration:none;transition:box-shadow .18s,transform .18s}.experience-card:nth-child(4),.experience-card:nth-child(5){grid-column:span 3}.experience-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #35125210}.experience-card h3{font-size:24px;letter-spacing:-.035em;margin:8px 0 13px}.experience-card p{font-size:13px;line-height:1.65;color:var(--muted)}.experience-symbol{font-size:27px;color:var(--purple);line-height:1}.experience-detail{font-size:11px;line-height:1.5;font-weight:700;margin:16px 0;color:#564066}.experience-card b{margin-top:auto;font-size:12px;color:var(--purple)}.magic-choice{background:#f3eafa;border-color:#dbc5ed}.experience-note{font-size:12px;line-height:1.7;color:var(--muted);max-width:850px;margin-top:22px}.birthday-team{padding-top:56px;padding-bottom:36px;border-top:1px solid #e4d9ec}.magic-team-art{width:min(570px,85%);margin:30px auto 0}.magic-team-art img{width:100%;height:auto;max-height:355px;object-fit:contain}.entertainer-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.entertainer-card{padding:28px;border:1px solid #dfd2e9;border-radius:16px;background:#f7f0fb}.entertainer-card .eyebrow{font-size:10px;margin-bottom:12px}.entertainer-card h3{font-size:29px;margin-bottom:13px}.entertainer-card p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:19px;min-height:44px}.team-availability{font-size:12px;color:var(--muted);text-align:center;max-width:760px;margin:20px auto 0}.birthday-more-team{padding-block:35px}.aaron-team-note{display:flex;align-items:center;justify-content:center;gap:35px;max-width:760px;margin:0 auto}.aaron-team-note img{width:130px;height:180px;object-fit:contain;flex-shrink:0}.aaron-team-note h3{font-size:28px;margin-bottom:12px}.aaron-team-note p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:14px}.aaron-team-note .eyebrow{margin-bottom:10px}.packages-section{padding-top:45px}.pw-contact-panel{margin:0 auto;padding:35px 24px;border:0}.booking-inner{padding-top:55px}.birthday-team+.packages-section{border-top:0}.hero .hero-brand{margin-bottom:22px}
@media(max-width:760px){.birthday-adventure .hero-inner{grid-template-columns:1fr;gap:26px;padding:26px 0 38px}.birthday-adventure .hero-copy{padding:0 10px}.birthday-adventure h1{font-size:clamp(45px,10vw,65px);margin-bottom:20px}.birthday-adventure .hero-lead{font-size:17px}.adventure-photo img{height:260px;border-radius:18px}.adventure-visual{padding:0 10px}.adventure-photo figcaption{font-size:9px;left:12px;right:12px;bottom:12px;padding:11px}.adventure-tags{gap:6px;margin-top:12px}.adventure-tags span{font-size:9px;padding:6px 8px}.section{padding-block:48px}.experience-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.experience-card,.experience-card:nth-child(4),.experience-card:nth-child(5){grid-column:auto;padding:19px 16px}.experience-card:first-child{grid-column:1/-1}.experience-card h3{font-size:22px}.experience-card p{font-size:12px}.experience-card b{font-size:11px}.experience-detail{font-size:10px}.birthday-team{padding-bottom:26px}.entertainer-grid{gap:12px}.entertainer-card{padding:20px 16px}.entertainer-card h3{font-size:25px}.entertainer-card .text-link{font-size:12px;line-height:1.5;min-height:44px;display:flex;align-items:center}.entertainer-card p:not(.eyebrow){font-size:12px;min-height:80px}.magic-team-art{width:100%;margin-top:20px}.magic-team-art img{max-height:280px}.team-availability{text-align:left}.birthday-more-team{padding-block:25px}.aaron-team-note{gap:20px}.aaron-team-note img{width:100px;height:160px}.aaron-team-note h3{font-size:24px}.aaron-team-note p:not(.eyebrow){font-size:12px}.packages-section{padding-top:32px}.pw-contact-panel{padding-block:30px}}
@media(max-width:360px){.entertainer-card{padding:18px 12px}.entertainer-card h3{font-size:22px}.experience-card{padding:17px 13px}.experience-card h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.experience-card{transition:none}.experience-card:hover{transform:none}}

/* Selected framed father-and-son artwork: keep its complete frame and proportions. */
.magic-team-art{width:min(640px,100%);margin-bottom:24px}.magic-team-art img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:16px}

/* A compact, linked party showcase, not a school-event hero. */
.birthday-adventure{position:relative;overflow:hidden}.birthday-adventure .hero-inner{position:relative;z-index:1;align-items:start;gap:42px;padding-block:8px 38px}.birthday-adventure .hero-brand{width:min(345px,100%);margin-bottom:10px}.birthday-adventure h1{font-size:clamp(44px,4.7vw,65px);margin-bottom:16px}.birthday-adventure .hero-lead{font-size:18px}.birthday-adventure .hero-support{margin-top:14px}.birthday-adventure .hero-actions{margin-top:24px}.birthday-showcase{padding-top:12px}.showcase-stage{position:relative;border:2px solid #ffffff80;border-radius:24px;overflow:hidden;background:#21112e;box-shadow:0 20px 45px #18032655}.showcase-slide[hidden]{display:none}.showcase-slide{animation:showcase-in .6s ease-out}.showcase-slide>a{display:block;position:relative;color:white;text-decoration:none;aspect-ratio:4/4.1}.showcase-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.showcase-caption{position:absolute;inset:auto 0 0;padding:80px 28px 28px;background:linear-gradient(transparent,#150b22ed 60%)}.showcase-kicker{font-size:10px;font-weight:800;letter-spacing:.12em}.showcase-caption h2{font-size:clamp(30px,3.2vw,44px);line-height:1.05;letter-spacing:-.04em;margin:12px 0}.showcase-caption p{font-size:14px;line-height:1.5;margin:0 0 18px}.showcase-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff70;padding-top:15px;font-size:13px;font-weight:800}.showcase-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:10px}.showcase-controls[hidden]{display:none}.showcase-controls button{border:1px solid #ffffff70;background:#25113c;color:white;min-height:44px;min-width:44px;border-radius:50px;cursor:pointer;font:700 13px inherit;touch-action:manipulation}.showcase-controls button:hover{background:#66338a}.showcase-controls button:focus-visible,.showcase-slide a:focus-visible{outline:3px solid #ffe225;outline-offset:-4px}.showcase-dots{display:flex;align-items:center;gap:0}.showcase-dots [data-showcase-index]{border:0;background:transparent;min-width:32px}.showcase-dots [data-showcase-index] span{display:block;width:8px;height:8px;border-radius:50%;background:#ffffff70;margin:auto}.showcase-dots [aria-pressed=true] span{background:#ffe225;box-shadow:0 0 0 3px #ffe22522}.showcase-dots [data-showcase-pause]{padding:0 12px;margin-left:4px;min-width:58px}.showcase-footnote{font-size:11px;line-height:1.5;color:#eadff0;margin:10px 3px 0}.hero-balloons{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-balloons i{position:absolute;width:75px;height:95px;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 30% 25%,#ffffff50,transparent 20%),#ec3dbe25;border:1px solid #ffffff16;left:43%;top:7%;animation:balloon-drift 8s ease-in-out infinite alternate;animation-play-state:paused}.hero-balloons i:after{content:'';position:absolute;height:90px;width:1px;background:#ffffff15;left:50%;top:100%;transform:rotate(-8deg)}.hero-balloons i:nth-child(2){left:92%;top:40%;width:55px;height:70px;background-color:#45cee92b;animation-delay:-3s}.hero-balloons i:nth-child(3){left:2%;top:65%;width:50px;height:65px;background-color:#ffde4520;animation-delay:-5s}.hero-in-view .hero-balloons i{animation-play-state:running}@keyframes balloon-drift{to{transform:translate(8px,-18px) rotate(5deg)}}@keyframes showcase-in{from{opacity:.45}to{opacity:1}}
@media(max-width:760px){.page-header{min-height:54px}.birthday-adventure .hero-inner{display:grid;grid-template-columns:1fr;gap:18px;padding-block:0 26px}.birthday-adventure .hero-copy{display:contents}.birthday-adventure .hero-brand{grid-row:1;width:min(300px,90%);margin:0 auto}.birthday-adventure .hero-copy>.eyebrow{display:none}.birthday-adventure h1{grid-row:2;font-size:clamp(34px,8.5vw,49px);text-align:center;margin:0 10px;line-height:1.04}.birthday-adventure h1 br{display:none}.birthday-showcase{grid-row:3;padding:0 8px}.birthday-adventure .hero-lead{grid-row:4;text-align:center;font-size:15px;margin:0 16px}.birthday-adventure .hero-support{display:none}.birthday-adventure .hero-actions{grid-row:5;justify-content:center;margin:0 8px;gap:16px}.birthday-adventure .hero-price{grid-row:6;text-align:center;margin:0}.showcase-slide>a{aspect-ratio:4/3.8}.showcase-caption{padding:65px 20px 22px}.showcase-caption h2{font-size:34px}.showcase-caption p{font-size:13px}.showcase-kicker{font-size:9px}.showcase-stage{border-radius:20px}.showcase-footnote{font-size:10px}.showcase-dots [data-showcase-index]{min-width:30px}.hero-balloons i{left:75%;top:1%}.hero-balloons i:nth-child(2){top:60%}}
@media(prefers-reduced-motion:reduce){.showcase-slide,.hero-balloons i{animation:none!important}}
/* Choose-your-adventure chips give each experience a recognisable place. */
.showcase-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start}.showcase-dots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.showcase-dots [data-showcase-index]{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 6px;border:1px solid #ffffff40;border-radius:13px}.showcase-dots [data-showcase-index] span{width:6px;height:6px;margin:0;flex-shrink:0}.showcase-dots b{font-size:10px;white-space:nowrap}.showcase-dots [aria-pressed=true]{background:#ffe225;color:#28113a;border-color:#ffe225}.showcase-dots [aria-pressed=true] span{background:#28113a;box-shadow:none}.showcase-dots [data-showcase-pause]{grid-column:1/-1;justify-self:center;min-height:32px;border:0;background:transparent;margin:0}.showcase-controls>button{font-size:20px}.showcase-footnote{margin-top:2px}.birthday-adventure .hero-brand{transform-origin:center bottom;animation:birthday-logo-arrive .7s ease-out both}@keyframes birthday-logo-arrive{from{opacity:0;transform:translateY(8px) rotate(-2deg)}to{opacity:1;transform:none}}@media(max-width:390px){.showcase-dots b{font-size:9px}.showcase-dots [data-showcase-index]{gap:3px;padding:0 3px}.showcase-controls{gap:4px;grid-template-columns:40px minmax(0,1fr) 40px}.showcase-controls>button{min-width:40px}}@media(prefers-reduced-motion:reduce){.birthday-adventure .hero-brand{animation:none}}

/* Mini Golf is a full birthday adventure, not a small performer footnote. */
.birthday-golf-feature{padding-block:58px}.birthday-golf-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(230px,.75fr);gap:20px 35px;padding:38px;border-radius:28px;background:radial-gradient(ellipse at 85% 28%,#d8f595 0,transparent 40%),#edf3dc;border:1px solid #c9d6b5;overflow:hidden;color:#163523}.birthday-golf-logo{display:block;width:min(300px,85%);line-height:0;margin:-12px 0 12px}.birthday-golf-logo img{width:100%;height:auto}.birthday-golf-intro>.eyebrow{font-size:10px;letter-spacing:.1em;color:#3e6332;margin-bottom:14px}.birthday-golf-intro h2{font-size:clamp(30px,3.5vw,46px);line-height:1.08;letter-spacing:-.045em;margin-bottom:20px}.birthday-golf-intro h2 em{color:#49792e}.birthday-golf-intro>p:not(.eyebrow){font-size:13px;line-height:1.7;max-width:520px}.birthday-golf-intro .birthday-golf-lead{font-size:18px!important;font-weight:700;line-height:1.5!important;margin-bottom:14px}.birthday-golf-tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.birthday-golf-tags span{font-size:10px;font-weight:700;background:#ffffffa6;padding:7px 10px;border:1px solid #c3d4b1;border-radius:40px}.birthday-golf-intro .button{font-size:13px;min-height:48px;padding:16px 22px;gap:25px;color:#173524}.birthday-golf-intro .birthday-golf-note{font-size:10px!important;line-height:1.6!important;margin-top:14px;color:#4b6044;max-width:440px}.birthday-golf-aaron{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin:0;align-self:center;min-width:0}.birthday-golf-aaron:before{content:'';position:absolute;width:85%;height:26px;bottom:40px;border-radius:50%;background:#39571b28;filter:blur(8px)}.birthday-golf-aaron img{position:relative;z-index:1;width:100%;max-height:510px;height:auto;object-fit:contain;object-position:center bottom}.birthday-golf-aaron figcaption{margin-top:14px;text-align:center;font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1.6}.birthday-golf-gallery{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.birthday-golf-gallery figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px #29451812}.birthday-golf-gallery img{display:block;width:100%;height:240px;object-fit:cover}.birthday-golf-gallery figure:first-child img{object-position:50% 39%}.birthday-golf-gallery figcaption{padding:14px 18px;font-size:12px;font-weight:700;color:#2f4d29}.birthday-golf-feature a:focus-visible{outline:3px solid #6d2797;outline-offset:4px}
@media(max-width:760px){.birthday-golf-feature{padding-block:36px}.birthday-golf-card{grid-template-columns:minmax(0,1fr) minmax(110px,.6fr);gap:16px 10px;padding:22px 18px;border-radius:22px}.birthday-golf-intro{display:contents}.birthday-golf-logo{grid-column:1/-1;justify-self:center;width:min(280px,95%);margin:-5px 0 0}.birthday-golf-intro>.eyebrow{grid-column:1/-1;text-align:center;font-size:9px;margin:0}.birthday-golf-intro h2{grid-column:1/-1;text-align:center;font-size:31px;margin:0 0 3px}.birthday-golf-intro h2 br{display:none}.birthday-golf-intro .birthday-golf-lead{grid-column:1;font-size:16px!important;margin:0;align-self:end}.birthday-golf-intro>p:not(.eyebrow):not(.birthday-golf-lead):not(.birthday-golf-note){grid-column:1;font-size:12px;margin:0}.birthday-golf-aaron{grid-column:2;grid-row:4/span 2;align-self:center}.birthday-golf-aaron img{max-height:300px;width:100%;height:auto}.birthday-golf-aaron figcaption{font-size:8px;letter-spacing:.04em;margin-top:8px}.birthday-golf-aaron:before{bottom:32px;height:15px}.birthday-golf-tags{grid-column:1/-1;justify-content:center;margin:0;gap:5px}.birthday-golf-tags span{font-size:9px;padding:6px 8px}.birthday-golf-intro .button{grid-column:1/-1;justify-self:center;margin:0}.birthday-golf-intro .birthday-golf-note{grid-column:1/-1;text-align:center;margin:0;font-size:10px!important}.birthday-golf-gallery{gap:10px;margin-top:2px}.birthday-golf-gallery img{height:170px}.birthday-golf-gallery figcaption{font-size:10px;padding:12px;line-height:1.5}}
@media(max-width:360px){.birthday-golf-card{padding:20px 14px}.birthday-golf-intro h2{font-size:28px}.birthday-golf-intro .birthday-golf-lead{font-size:15px!important}.birthday-golf-gallery img{height:145px}}

/* Other Presswood adventures: omit the current birthday brand. */
.birthday-family{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.birthday-family .family-brand-link{flex:0 1 calc((100% - 72px)/5);min-width:0}@media(max-width:760px){.birthday-family{gap:10px}.birthday-family .family-brand-link{flex:0 1 calc((100% - 20px)/3)}}

/* More personality in the choices, with a proper two-hour DJ-hosted party. */
.experience-section{position:relative;background:linear-gradient(125deg,#f2e6ff 0%,#fff5dc 55%,#e7f5f2 100%);border:1px solid #e3d4ed;border-radius:28px;margin-block:34px;padding:38px}.experience-section .section-heading p{color:#5b4465}.experience-card{background:#fffaf1;border-width:2px;box-shadow:0 5px 0 #35125208}.experience-card:first-child{background:#e9d9ff;border-color:#c7a8e8}.experience-card:nth-child(2){background:#ffe8ac;border-color:#e9cd79}.experience-card:nth-child(3){background:#e0f3c9;border-color:#b7d39d}.experience-card:nth-child(4){background:#d9f2fb;border-color:#a5d2e2}.experience-card:nth-child(5){background:#ffe3ef;border-color:#e8b9cf}.experience-card .experience-symbol{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#ffffffa8}.experience-card h3{font-size:25px;line-height:1.1}.experience-card p{color:#4c4056}.experience-card:hover{box-shadow:0 10px 24px #35125215}
/* Give Mini Golf the same confident visual presence as the other adventures. */
.birthday-golf-logo{width:min(440px,100%);margin:-14px 0 14px}.birthday-golf-intro h2{font-size:clamp(38px,4.3vw,57px);line-height:1.06;letter-spacing:-.04em}.birthday-golf-intro .birthday-golf-lead{font-size:20px!important}.birthday-golf-card{grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr)}
@media(max-width:760px){.experience-section{margin-block:24px;padding:26px 18px;border-radius:22px}.experience-section .section-heading h2{font-size:34px}.experience-grid{gap:10px}.experience-card,.experience-card:nth-child(4),.experience-card:nth-child(5){padding:18px 13px}.experience-card h3{font-size:22px;overflow-wrap:break-word}.experience-card p{font-size:12px}.birthday-golf-card{grid-template-columns:minmax(0,1fr) minmax(110px,.6fr)}.birthday-golf-logo{width:100%;max-width:410px;margin:-10px 0 2px}.birthday-golf-intro h2{font-size:clamp(35px,9.4vw,48px);line-height:1.08}.birthday-golf-intro .birthday-golf-lead{font-size:17px!important}}
@media(max-width:360px){.experience-section{padding:24px 14px}.experience-card h3{font-size:20px}.birthday-golf-intro h2{font-size:34px}.birthday-golf-intro .birthday-golf-lead{font-size:16px!important}}

/* Keep both children’s faces inside the portrait photo’s landscape card. */
.birthday-golf-gallery figure:last-child img{object-position:50% 15%}

/* Each magician is one generous, keyboard-accessible destination. */
a.entertainer-card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:box-shadow .18s,border-color .18s}a.entertainer-card:hover{border-color:#9965bd;box-shadow:0 7px 20px #35125214}a.entertainer-card:focus-visible{outline:3px solid #752c9c;outline-offset:4px}a.entertainer-card .text-link{color:var(--purple)}@media(prefers-reduced-motion:reduce){a.entertainer-card{transition:none}}

/* The selected birthday team illustration: a warm welcome, not another package. */
.birthday-team-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:35px;padding-block:32px 10px}.birthday-team-welcome>img{display:block;width:100%;height:auto;object-fit:contain}.birthday-team-welcome h2{font-size:clamp(30px,3vw,42px);line-height:1.08;letter-spacing:-.04em;margin:0 0 18px}.birthday-team-welcome h2 em{color:var(--purple)}.birthday-team-welcome .eyebrow{font-size:10px;margin-bottom:13px}.birthday-team-welcome p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);max-width:450px}.birthday-team-welcome .birthday-welcome-note{font-size:11px!important;margin-top:14px}@media(max-width:760px){.birthday-team-welcome{grid-template-columns:1fr;gap:12px;padding-block:24px 0;text-align:center}.birthday-team-welcome>img{width:min(460px,100%);justify-self:center}.birthday-team-welcome h2{font-size:31px;margin-bottom:13px}.birthday-team-welcome h2 br{display:none}.birthday-team-welcome p:not(.eyebrow){margin-inline:auto;font-size:13px}.birthday-team-welcome .birthday-welcome-note{font-size:10px!important;max-width:340px}.birthday-team-welcome .eyebrow{font-size:9px}}

/* Foam should show the fun: bright real action, with copy below rather than over faces. */
.showcase-slide--foam>a{display:grid;grid-template-rows:minmax(0,1fr) auto}.showcase-slide--foam img{position:static;min-height:0;object-position:65% 50%}.showcase-slide--foam .showcase-caption{position:static;background:#25113c;padding:20px 25px}.showcase-slide--foam .showcase-kicker{display:none}.showcase-slide--foam .showcase-caption h2{margin:0 0 9px;font-size:36px}.showcase-slide--foam .showcase-caption p{margin:0 0 12px;font-size:13px}.showcase-slide--foam .showcase-link{padding-top:12px}@media(max-width:760px){.showcase-slide--foam .showcase-caption{padding:16px 20px}.showcase-slide--foam .showcase-caption h2{font-size:29px;margin-bottom:7px}.showcase-slide--foam .showcase-caption p{font-size:12px;line-height:1.4;margin-bottom:10px}.showcase-slide--foam .showcase-link{font-size:12px;padding-top:10px}.showcase-slide--foam img{object-position:68% 50%}}

/* Existing reassurance ribbon: one gentle angle and a continuous, slow pass. */
.birthday-reassurance-wrap{overflow:hidden;padding-block:17px}.birthday-reassurance-wrap .reassurance{display:block;transform:rotate(-1.2deg);width:calc(100% + 12px);margin:0 -6px;padding:16px 0;overflow:hidden}.reassurance-track{display:flex;width:max-content;animation:birthday-ribbon-scroll 34s linear infinite}.reassurance-group{display:flex;align-items:center;justify-content:space-around;gap:50px;flex-shrink:0;min-width:100vw;padding-inline:25px}.reassurance-group>span{white-space:nowrap}.reassurance:hover .reassurance-track,.reassurance:focus-within .reassurance-track{animation-play-state:paused}.reassurance:focus-visible{outline:3px solid #713b95;outline-offset:-3px}@keyframes birthday-ribbon-scroll{to{transform:translateX(-50%)}}@media(max-width:760px){.birthday-reassurance-wrap{padding-block:12px}.birthday-reassurance-wrap .reassurance{font-size:11px;padding-block:14px}.reassurance-group{gap:30px;padding-inline:15px;min-width:100vw}.reassurance-group b{font-size:14px}}@media(prefers-reduced-motion:reduce){.birthday-reassurance-wrap .reassurance{transform:none;width:100%;margin:0;padding-inline:16px}.reassurance-track{width:100%;animation:none;display:block}.reassurance-group{min-width:0;width:100%;padding:0;flex-wrap:wrap;gap:10px 22px}.reassurance-group[aria-hidden=true]{display:none}}

/* Preserve vertical scrolling while the hero accepts horizontal gestures. */
.showcase-stage{touch-action:pan-y pinch-zoom}.showcase-slide img{user-select:none;-webkit-user-drag:none}
/* The party-highlights ribbon bridges the hero and welcome illustration. */
.birthday-reassurance-wrap{position:relative;z-index:2;margin-top:-35px;padding-block:17px 0;overflow:hidden}
.birthday-reassurance-wrap+.birthday-team-welcome{padding-top:0}
@media(max-width:760px){.birthday-reassurance-wrap{margin-top:-26px;padding-top:12px}.birthday-reassurance-wrap+.birthday-team-welcome{padding-top:0}}
/* Small decorative glints stay in the cards' open upper corners. */
.experience-card{position:relative}.experience-card::after{content:'✦';position:absolute;right:17px;top:14px;font-size:20px;color:#6e448c;opacity:.38;pointer-events:none}.experience-card:nth-child(even)::after{font-size:15px;transform:rotate(16deg)}
.experience-card.sparkle-reveal::after{animation:party-glint .8s ease-out both;animation-delay:var(--glint-delay,0ms)}
@keyframes party-glint{0%{opacity:.12;scale:.6}50%{opacity:.65;scale:1.15}100%{opacity:.38;scale:1}}
@media(prefers-reduced-motion:reduce){.experience-card.sparkle-reveal::after{animation:none}}
/* Keep take-home magic in the show offering, before the optional party extras. */
.magic-show-kits{margin-top:30px;padding:26px 0 0;border-top:1px solid #dfd2e9}.magic-show-kits .kit-heading h2{font-size:clamp(30px,3.2vw,40px)}.magic-show-kits .birthday-kit-extra{margin-top:20px}
.review-section{background:#32164d;color:#fff;border-block:5px solid #ffe225}.review-section .review-inner{padding-block:44px}.review-section .quote-mark{color:#ffe225}.review-section blockquote{color:#fff;font-weight:700}.review-section figcaption,.review-section figcaption span{color:#eadcf5}.review-section .text-link{color:#ffe225}
.birthday-golf-card{gap:16px 24px;padding:28px}.birthday-golf-logo{width:min(360px,100%);margin:0 0 8px}.birthday-golf-logo svg{display:block;width:100%;height:auto}.birthday-golf-intro h2{font-size:clamp(34px,3.6vw,48px);margin-bottom:14px}.birthday-golf-gallery{margin-top:0}.birthday-golf-tags{margin-block:14px}
@media(max-width:760px){.birthday-golf-card{padding:20px 18px;gap:12px}.birthday-golf-logo{width:min(330px,100%);justify-self:start;margin:0}.birthday-golf-intro h2{font-size:34px}.birthday-golf-tags{margin:0}.magic-show-kits{margin-top:24px;padding-top:20px}.review-section .review-inner{padding-block:32px}}
/* Three complete birthday choices, with details and enquiry on this page. */
.experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.experience-card{grid-column:auto}.birthday-golf-packages{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 14px}.birthday-golf-packages article{padding:18px;background:#fff9;border:1px solid #b6cba5;border-radius:16px}.birthday-golf-packages article>span{font-size:10px;font-weight:800;letter-spacing:.1em}.birthday-golf-packages h3{font-size:33px;margin:8px 0}.birthday-golf-packages small{display:block;font-size:10px;font-weight:600}.birthday-golf-packages p{font-size:12px;line-height:1.5;min-height:38px}.birthday-golf-packages a{display:inline-block;font-size:11px;font-weight:800;margin-top:12px;min-height:30px}.birthday-golf-intro .birthday-golf-inclusions{font-size:12px!important;line-height:1.7}.birthday-dj-section{padding-block:25px 55px}.birthday-dj-card{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:32px;background:#fff1bb;border:1px solid #e7d175;border-radius:28px}.birthday-dj-card figure{margin:0;min-width:0}.birthday-dj-card img{display:block;width:100%;height:auto;aspect-ratio:4/4.2;object-fit:cover;border-radius:20px}.birthday-dj-card figcaption{font-size:9px;font-weight:800;line-height:1.7;margin-top:14px;color:#684f1b}.birthday-dj-copy h2{font-size:clamp(34px,3.8vw,50px);line-height:1.05;margin-bottom:18px}.birthday-dj-copy h2 em{color:#632c86}.birthday-dj-price{font-size:38px;font-weight:800;margin-bottom:18px}.birthday-dj-price span{font-size:12px;display:inline-block;font-weight:600}.birthday-dj-copy>p:not(.eyebrow):not(.birthday-dj-price){font-size:14px;line-height:1.7}.birthday-dj-copy ul{padding-left:18px;font-size:13px;line-height:1.7;margin:18px 0 24px}.birthday-dj-copy li{margin-bottom:8px}.birthday-dj-copy .birthday-dj-note{font-size:10px!important;margin-top:16px}.birthday-dj-copy .button{font-size:12px}.birthday-dj-section:focus-visible{outline:3px solid #713b95}#birthday-mini-golf,#birthday-dj,#rally-booking{scroll-margin-top:24px}
@media(max-width:760px){.experience-grid{grid-template-columns:1fr;gap:12px}.experience-card:first-child{grid-column:auto}.birthday-golf-packages{grid-column:1/-1;margin:4px 0 0;gap:10px}.birthday-golf-packages article{padding:15px 12px}.birthday-golf-packages h3{font-size:29px}.birthday-golf-packages p{font-size:11px}.birthday-golf-inclusions{grid-column:1/-1!important}.birthday-golf-aaron{grid-row:4/span 2}.birthday-dj-section{padding-block:18px 36px}.birthday-dj-card{grid-template-columns:1fr;padding:22px;gap:24px;border-radius:22px}.birthday-dj-card img{aspect-ratio:4/3}.birthday-dj-copy h2{font-size:37px}.birthday-dj-copy>p:not(.eyebrow):not(.birthday-dj-price){font-size:13px}.birthday-dj-copy ul{font-size:12px}.birthday-dj-price{font-size:34px}.birthday-dj-card figcaption{font-size:8px}}

/* Align the retained hero summary with the carousel controls on desktop. */
@media(min-width:761px){.birthday-adventure .hero-inner{align-items:stretch;padding-bottom:38px}.birthday-adventure .birthday-showcase{align-self:end}.birthday-adventure .hero-copy{display:flex;flex-direction:column;padding-bottom:0}.birthday-adventure .hero-support{margin-top:auto;padding-top:14px;margin-bottom:0}.birthday-adventure .hero-lead{margin-bottom:0}}
@media(max-width:760px){.birthday-adventure .hero-inner{padding-bottom:30px}.birthday-adventure .hero-support{display:block;grid-row:5;text-align:center;max-width:450px;margin:0 auto;padding:0 16px;font-size:12px}.birthday-adventure .hero-lead{grid-row:4}}

/* Slow colour drift and consistent service summaries, without extra controls. */
.experience-section{background:linear-gradient(125deg,#f2e6ff 0%,#fff5dc 58%,#e7f5f2 100%);background-size:180% 180%;animation:birthday-colour-drift 36s ease-in-out infinite alternate}
@keyframes birthday-colour-drift{from{background-position:0% 20%}to{background-position:85% 80%}}
.experience-card h3{margin-top:4px;min-height:2.2em}.experience-card>p{margin-bottom:20px}.experience-card .experience-detail{display:flex;flex-direction:column;justify-content:flex-end;min-height:82px;margin: auto 0 12px;border-top:1px solid #71428c26;padding-top:14px;font-size:12px;line-height:1.8}.experience-detail>span{display:flex;justify-content:space-between;gap:10px}.experience-detail strong{font-weight:800}.experience-detail small{font-size:9px;line-height:1.5;margin-top:3px}.experience-card>b{margin-top:0;min-height:30px;display:flex;align-items:center}
/* Padding clears both angled edges so the ribbon keeps one even thickness. */
.birthday-reassurance-wrap{padding-bottom:17px}.birthday-reassurance-wrap .reassurance{border-bottom:2px solid #63318a;width:calc(100% + 40px);margin-inline:-20px}
.birthday-team-welcome h2{animation:birthday-welcome-float 7s ease-in-out infinite}
@keyframes birthday-welcome-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:760px){.birthday-reassurance-wrap{padding-bottom:12px}.experience-card h3{min-height:0}.experience-card .experience-detail{min-height:0;margin-top:0}.experience-card>b{min-height:30px}.experience-card>p{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.experience-section,.birthday-team-welcome h2{animation:none}.birthday-reassurance-wrap .reassurance{width:100%;margin-inline:0}}


/* Approved candid hosted-games photo, unchanged; framing only. */
.showcase-slide--host>a{display:grid;grid-template-rows:minmax(0,1fr) auto}.showcase-slide--host img{position:static;min-height:0;object-position:50% 28%}.showcase-slide--host .showcase-caption{position:static;background:#25113c;padding:20px 25px}.showcase-slide--host .showcase-kicker{display:none}.showcase-slide--host .showcase-caption h2{margin:0 0 9px;font-size:36px}.showcase-slide--host .showcase-caption p{margin:0 0 12px;font-size:13px}.showcase-slide--host .showcase-link{padding-top:12px}.birthday-dj-card img{aspect-ratio:16/10;object-position:50% 30%}
@media(max-width:760px){.showcase-slide--host .showcase-caption{padding:16px 20px}.showcase-slide--host .showcase-caption h2{font-size:29px;margin-bottom:7px}.showcase-slide--host .showcase-caption p{font-size:12px;line-height:1.4;margin-bottom:10px}.showcase-slide--host .showcase-link{font-size:12px;padding-top:10px}.birthday-dj-card img{aspect-ratio:16/10}}
/* Photo tickets: native disclosure, visible comparisons, an easy mobile swipe. */
.party-ticket-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:32px;padding:8px 0 12px}.party-ticket{--ticket:#eadcfa;--ticket-border:#c6aadf;min-width:0;border:1px solid var(--ticket-border);border-radius:23px;background:var(--ticket);box-shadow:0 5px 0 #3512520a;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}.party-ticket--golf{--ticket:#e1f1ce;--ticket-border:#adc591}.party-ticket--dj{--ticket:#fff0b9;--ticket-border:#e5ca72}.party-ticket[open]{transform:translateY(-5px);box-shadow:0 12px 25px #35125218}.party-ticket summary{list-style:none;cursor:pointer;display:block;touch-action:pan-x pan-y pinch-zoom}.party-ticket summary::-webkit-details-marker{display:none}.party-ticket summary::marker{content:''}.party-ticket summary:focus-visible{outline:3px solid #713b95;outline-offset:-4px}.party-ticket-photo{display:block;width:100%;height:245px;object-fit:cover;object-position:50% 35%;user-select:none;-webkit-user-drag:none}.party-ticket--magic .party-ticket-photo{object-position:50% 32%}.party-ticket--dj .party-ticket-photo{object-position:42% 30%;height:245px}.party-ticket-summary{display:flex;flex-direction:column;min-height:285px;padding:23px 23px 18px}.party-ticket-label{font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1.5;margin-bottom:12px}.party-ticket-name{display:block;font-size:30px;font-weight:800;letter-spacing:-.045em;line-height:1.05;margin-bottom:13px}.party-ticket-teaser{font-size:13px;line-height:1.65;min-height:44px;margin-bottom:20px}.party-ticket-duration{margin-top:auto;font-size:12px;font-weight:700;line-height:1.6}.party-ticket-price{font-size:11px;line-height:1.8}.party-ticket-price strong{font-size:24px;font-weight:800;letter-spacing:-.04em}.party-ticket-toggle{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #713b9540;margin-top:17px;padding-top:14px;font-size:12px;font-weight:800}.party-ticket-toggle>span{font-size:21px;line-height:1;transition:transform .25s}.party-ticket[open] .party-ticket-toggle>span{transform:rotate(45deg)}.party-ticket-body{padding:0 23px 24px;font-size:13px;line-height:1.7}.party-ticket-body dl{margin:18px 0;border-block:1px solid #713b9525;padding-block:12px}.party-ticket-body dl>div{display:flex;justify-content:space-between;gap:10px;margin-block:6px;font-size:11px}.party-ticket-body dt{font-weight:700}.party-ticket-body dd{margin:0;text-align:right;font-weight:800}.party-ticket-body .party-ticket-note{font-size:11px;margin-bottom:20px}.party-ticket-body .button{font-size:12px;display:flex;justify-content:space-between;gap:8px;padding:15px 16px}.party-ticket-more{display:block;margin-top:15px;font-size:11px;font-weight:700}.party-ticket-body a:focus-visible{outline:3px solid #713b95;outline-offset:4px}
@media(max-width:1000px) and (min-width:761px){.party-ticket-track{gap:12px}.party-ticket-summary{padding:20px 16px;min-height:300px}.party-ticket-name{font-size:25px}.party-ticket-teaser{font-size:12px}.party-ticket-body{padding-inline:16px}.party-ticket-photo,.party-ticket--dj .party-ticket-photo{height:210px}}
@media(max-width:760px){.party-ticket-track{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;align-items:flex-start;margin:24px -4px 0;padding:8px 4px 18px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.party-ticket{flex:0 0 88%;scroll-snap-align:start}.party-ticket-photo,.party-ticket--dj .party-ticket-photo{height:215px}.party-ticket-summary{min-height:277px;padding:22px 20px 18px}.party-ticket-name{font-size:29px}.party-ticket-body{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.party-ticket,.party-ticket-toggle>span{transition:none}.party-ticket[open]{transform:none}.party-ticket-track{scroll-behavior:auto}}
