.birthday-page{--event-space: clamp(3.5rem, 7vw, 7rem);--event-line: hsl(var(--border));--birthday-action: linear-gradient(120deg, hsl(215 80% 43%), hsl(267 72% 48%));overflow-x:clip}.birthday-page :is(h1,h2,h3){text-wrap:balance}.birthday-page :where(main) h2{font-family:Bebas Neue,sans-serif;font-size:clamp(2.75rem,5.4vw,5rem);line-height:.97;letter-spacing:-.015em}.birthday-page :where(main) h3{font-family:Inter,sans-serif;font-size:1.3rem;font-weight:600;line-height:1.3}.birthday-page p{text-wrap:pretty}.birthday-page :is(a,button,summary):focus-visible,.event-fleet-track:focus-visible{outline:2px solid hsl(var(--primary-glow));outline-offset:5px}.birthday-page :is(section,aside)[id]{scroll-margin-top:6rem}.birthday-hero{position:relative;border-bottom:1px solid var(--event-line)}.birthday-hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:2rem;padding-bottom:3rem;align-items:stretch}.birthday-hero-copy{position:relative;z-index:1;padding:0 0 1rem}.event-breadcrumb{display:flex;gap:.7rem;font-size:.7rem;color:hsl(var(--muted-foreground));margin-bottom:2.5rem;align-items:center}.event-breadcrumb a{padding-block:.6rem}.event-breadcrumb a:hover{color:#fff;text-decoration:underline}.birthday-hero .site-kicker{font-size:.65rem;letter-spacing:.13em}.birthday-hero h1{font-family:Bebas Neue,sans-serif;font-size:clamp(4.5rem,8.8vw,8rem);letter-spacing:-.025em;line-height:.86;margin:1.5rem 0 1.25rem}.birthday-hero h1 span{color:hsl(var(--primary-glow))}.birthday-region{font-size:.76rem;color:hsl(var(--primary-glow));letter-spacing:.035em}.birthday-lead{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.35;font-weight:500;margin:1.6rem 0 .8rem}.birthday-intro{color:hsl(var(--muted-foreground));max-width:28rem;font-size:.95rem;line-height:1.75;margin-bottom:1.5rem}.event-primary{display:inline-flex;min-height:3.25rem;align-items:center;justify-content:center;gap:1.5rem;padding:.9rem 1.4rem;border-radius:.5rem;background:var(--birthday-action);color:#fff;font-size:.9rem;font-weight:600;transition:transform var(--motion-fast),filter var(--motion-fast)}.event-primary:hover{transform:translateY(-2px);filter:brightness(1.12)}.event-primary:active{transform:translateY(0) scale(.98)}.event-caption{font-size:.72rem;line-height:1.65;color:hsl(var(--muted-foreground));margin-top:1rem;max-width:65ch}.birthday-hero-media{position:relative;min-width:0;margin-top:1rem;overflow:hidden;border-radius:.25rem 4rem .25rem .25rem;background:hsl(var(--card))}.birthday-hero-media>img{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:46% center;object-position:46% center}.birthday-hero-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,hsl(240 20% 4% / .95),transparent 70%);pointer-events:none}.birthday-photo-wordmark{position:absolute;left:2rem;bottom:4rem;z-index:1;font-family:Bebas Neue,sans-serif;font-size:clamp(4rem,7.8vw,7.2rem);line-height:.86;letter-spacing:-.025em;transform:rotate(-5deg);color:#fff}.birthday-photo-wordmark span{color:transparent;-webkit-text-stroke:1px white}.birthday-hero-media figcaption{position:absolute;bottom:0;left:0;right:0;z-index:1;display:flex;justify-content:space-between;gap:1rem;font-size:.65rem;padding:1.3rem 1.5rem;color:#d9d9d9;border-top:1px solid hsl(0 0% 100% / .2)}.event-section-nav{border-bottom:1px solid var(--event-line);background:hsl(var(--card))}.event-section-nav>div{display:flex;justify-content:space-between;gap:.75rem}.event-section-nav a{display:flex;align-items:center;gap:.5rem;min-height:4rem;font-size:.8rem;color:hsl(var(--muted-foreground));transition:color .2s}.event-section-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}.event-section{padding-top:var(--event-space);padding-bottom:var(--event-space)}.birthday-overview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.birthday-overview-heading{margin-bottom:1.75rem}.birthday-overview-body>p,.event-body{font-size:1rem;line-height:1.85;color:hsl(var(--muted-foreground));max-width:63ch}.birthday-overview-body>.birthday-overview-lead{color:hsl(var(--foreground));font-size:1.15rem}.birthday-overview-body>p+p{margin-top:1rem}.birthday-inclusions{display:flex;flex-wrap:wrap;gap:1.2rem;border-top:1px solid var(--event-line);padding-top:1.5rem;margin-top:1.5rem}.birthday-inclusions li{display:flex;align-items:center;gap:.55rem;font-size:.75rem}.birthday-inclusions svg{width:16px;color:hsl(var(--primary-glow))}.birthday-plans{background:hsl(var(--card));border-block:1px solid var(--event-line)}.event-section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2.75rem}.event-section-heading>p{max-width:24rem;color:hsl(var(--muted-foreground));line-height:1.75;font-size:.95rem}.birthday-plan{display:grid;grid-template-columns:1fr 1.6fr;gap:3rem;border-top:1px solid var(--event-line);padding:2rem 0}.birthday-plan:last-child{padding-bottom:0}.birthday-age{font-family:Bebas Neue,sans-serif;font-size:clamp(2.8rem,4.5vw,4.5rem);line-height:1;color:hsl(var(--primary-glow))}.birthday-plan h3{margin:.1rem 0 .75rem}.birthday-plan p{max-width:61ch;color:hsl(var(--muted-foreground));font-size:.95rem;line-height:1.75}.event-inline-details{margin-top:.7rem}.event-inline-details summary{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.8rem;min-height:44px}.event-inline-details p{padding:.6rem 0 .5rem}.birthday-page summary::-webkit-details-marker{display:none}.birthday-page details[open]>summary svg{transform:rotate(180deg)}.birthday-page summary svg{flex-shrink:0;transition:transform var(--motion-fast)}.event-fleet{min-width:0}.event-fleet-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.event-fleet-toolbar>p{font-size:.85rem;color:hsl(var(--muted-foreground))}.event-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--event-line);border-radius:50%;transition:border-color .2s,background .2s}.event-arrow:hover:enabled{border-color:hsl(var(--primary));background:hsl(var(--secondary))}.event-arrow:disabled{opacity:.3;cursor:not-allowed}.event-arrow:active:enabled{transform:scale(.96)}.event-fleet-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:1.5rem;scrollbar-color:hsl(var(--primary)) hsl(var(--border));scrollbar-width:thin}.event-bus{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;background:hsl(var(--card));border-bottom:1px solid var(--event-line)}.event-bus-image{display:block;position:relative;overflow:hidden;background:#14161f}.event-bus-image img{width:100%;aspect-ratio:1.5;-o-object-fit:contain;object-fit:contain;transition:transform .35s}.event-bus-image:hover img{transform:scale(1.035)}.event-bus-capacity{position:absolute;top:1rem;left:1rem;padding:.5rem .7rem;font-family:Bebas Neue,sans-serif;font-size:1.7rem;line-height:1;background:hsl(var(--background) / .9)}.event-bus-capacity span{font-family:Inter,sans-serif;font-size:.6rem;display:block;margin-top:.25rem}.event-bus-info{padding:1.3rem}.event-index{font-size:.63rem;text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--primary-glow))}.event-bus-info h3{font-family:Bebas Neue,sans-serif;font-weight:400;font-size:2rem;margin-top:.65rem}.event-bus-info>p:not(.event-index){color:hsl(var(--muted-foreground));font-size:.8rem;line-height:1.65;margin-top:.4rem}.event-bus-features{min-height:3rem}.event-text-link{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;font-size:.85rem;margin-top:.7rem;text-decoration:underline;text-underline-offset:5px;text-decoration-color:hsl(var(--primary) / .6)}.event-text-link:hover{text-decoration-color:#fff}.event-text-link svg{transition:transform .2s}.event-text-link:hover svg{transform:translate(3px)}.birthday-route{background:hsl(var(--card));border-block:1px solid var(--event-line)}.birthday-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.birthday-route .event-body{margin-top:1.5rem;max-width:42ch}.birthday-route-image{width:100%;aspect-ratio:1.8;-o-object-fit:cover;object-fit:cover;margin-top:2rem;border-radius:.25rem}.birthday-run-sheet{padding-top:1rem}.birthday-run-sheet>li{display:flex;gap:1.5rem;position:relative;padding-bottom:2.7rem}.birthday-run-sheet>li:last-child{padding-bottom:0}.birthday-run-sheet>li:not(:last-child):before{content:"";position:absolute;left:20px;width:1px;top:43px;bottom:0;background:linear-gradient(hsl(var(--primary) / .8),hsl(var(--accent) / .4))}.birthday-stop{position:relative;flex:0 0 41px;height:41px;display:grid;place-items:center;font-family:Bebas Neue,sans-serif;font-size:1.2rem;border:1px solid hsl(var(--primary) / .7);border-radius:50%}.birthday-run-sheet h3{margin:.6rem 0}.birthday-run-sheet p:not(.event-index){color:hsl(var(--muted-foreground));font-size:.9rem;line-height:1.8}.birthday-area-list{margin-top:2.5rem}.birthday-area-list article{display:grid;grid-template-columns:1fr 1.6fr;gap:3rem;padding:1.6rem 0;border-top:1px solid var(--event-line)}.birthday-area-list h3 a{display:inline-flex;gap:1.2rem;align-items:center;min-height:44px}.birthday-area-list h3 a:hover{color:hsl(var(--primary-glow))}.birthday-area-list p{font-size:.95rem;line-height:1.75;color:hsl(var(--muted-foreground));max-width:60ch}.birthday-quote-band{position:relative;padding-block:var(--event-space);border-block:1px solid hsl(var(--primary) / .35);background:linear-gradient(110deg,#141624,#110f1a)}.birthday-quote-band:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary)}.birthday-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.birthday-quote-grid>div>p:not(.site-kicker){color:hsl(var(--muted-foreground));max-width:43ch;line-height:1.75;margin-top:1.5rem}.birthday-quote-checklist ul{margin:1.4rem 0 1.8rem;display:grid;gap:.85rem}.birthday-quote-checklist li{display:flex;gap:.7rem;font-size:.9rem;align-items:baseline}.birthday-quote-checklist li svg{color:hsl(var(--primary-glow));flex-shrink:0}.birthday-faq{display:grid;grid-template-columns:1fr 1.35fr;gap:5rem}.birthday-faq>div:first-child>p:not(.site-kicker){color:hsl(var(--muted-foreground));line-height:1.7;margin-top:1.4rem}.event-faq-item{border-top:1px solid var(--event-line)}.event-faq-item:last-of-type{border-bottom:1px solid var(--event-line)}.event-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer;padding:1.4rem 0;list-style:none}.event-faq-item summary h3{font-family:Inter,sans-serif;font-size:.95rem;line-height:1.55;font-weight:500}.event-faq-item summary:hover{color:hsl(var(--primary-glow))}.event-faq-item>p{color:hsl(var(--muted-foreground));font-size:.9rem;line-height:1.8;padding:0 2.5rem 1.5rem 0}.birthday-related{display:flex;flex-wrap:wrap;gap:.75rem 2rem;align-items:center;border-top:1px solid var(--event-line);padding-block:1.7rem;margin-bottom:3rem}.birthday-related p{color:hsl(var(--muted-foreground));font-size:.8rem;margin-right:auto}.birthday-related a{display:flex;gap:.5rem;align-items:center;min-height:44px;font-size:.8rem}.birthday-related a:hover{text-decoration:underline;text-underline-offset:5px}@media (min-width:1024px){.birthday-hero-copy>:not(.event-breadcrumb){animation:birthday-enter .6s var(--ease-out-expo) both}}@keyframes birthday-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1023px){.birthday-hero-layout{gap:1.5rem}.birthday-hero h1{font-size:clamp(4rem,9vw,6.5rem)}.birthday-hero .site-kicker:after{display:none}.birthday-hero .site-kicker{font-size:.6rem}.birthday-overview,.birthday-route-grid,.birthday-quote-grid,.birthday-faq{gap:2.5rem}.event-bus{flex-basis:calc((100% - 24px)/2)}.event-section-heading{gap:2rem}}@media (max-width:639px){.birthday-hero-layout{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:0;gap:.5rem}.event-breadcrumb{margin-bottom:1rem;font-size:.65rem}.birthday-hero h1{font-size:clamp(4.5rem,17vw,6.5rem);margin-top:1rem;margin-bottom:1rem}.birthday-hero .site-kicker{margin-bottom:.9rem;font-size:.6rem;letter-spacing:.1em}.birthday-region{font-size:.65rem;letter-spacing:0}.birthday-lead{font-size:1.25rem;margin-top:1.4rem}.birthday-intro{font-size:.875rem;line-height:1.7;max-width:36ch}.birthday-hero-copy{padding-bottom:.75rem}.birthday-hero .event-primary{width:100%}.birthday-hero .event-caption{font-size:.68rem;text-align:center}.birthday-hero-media{height:280px;margin:0 -1rem;border-radius:0}.birthday-hero-media>img{-o-object-position:50% 45%;object-position:50% 45%}.birthday-photo-wordmark{left:1.3rem;bottom:3rem;font-size:4rem}.birthday-hero-media figcaption{font-size:.58rem;padding:.8rem 1rem}.event-section-nav>div{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.event-section-nav a{min-height:48px;font-size:.75rem;border-bottom:1px solid var(--event-line)}.birthday-overview,.birthday-route-grid,.birthday-quote-grid,.birthday-faq{display:grid;grid-template-columns:1fr;gap:2rem}.birthday-overview-body>.birthday-overview-lead{font-size:1rem}.birthday-overview-body>p,.event-body{font-size:.9rem}.birthday-inclusions{display:grid;gap:.9rem}.event-section-heading{display:block;margin-bottom:2rem}.event-section-heading>p{margin-top:1.4rem;font-size:.9rem}.birthday-plan{grid-template-columns:1fr;gap:1rem;padding-block:1.75rem}.birthday-age{font-size:3.5rem}.birthday-plan h3{font-size:1.15rem}.birthday-plan p{font-size:.875rem}.event-fleet-toolbar>p{font-size:.75rem;max-width:14rem}.event-bus{flex-basis:87%}.event-bus-info{padding:1.15rem}.birthday-route-image{display:block;max-height:190px;margin-top:1.5rem}.birthday-run-sheet>li{gap:1rem}.birthday-run-sheet h3{font-size:1.15rem}.birthday-area-list{margin-top:1.8rem}.birthday-area-list article{grid-template-columns:1fr;gap:.4rem;padding-block:1.25rem}.birthday-area-list p{font-size:.875rem}.birthday-quote-grid>div>p:not(.site-kicker){font-size:.9rem}.birthday-quote-checklist .event-primary{width:100%}.birthday-quote-checklist li{font-size:.8rem;line-height:1.6}.birthday-quote-checklist .event-caption{font-size:.7rem!important}.event-faq-item summary{gap:1rem;padding-block:1.25rem}.event-faq-item summary h3{font-size:.9rem}.event-faq-item>p{padding-right:0;font-size:.875rem}.birthday-related{margin-bottom:1rem;gap:.3rem 1.5rem}.birthday-related p{width:100%}}@media (prefers-reduced-motion:reduce){.birthday-page *,.birthday-page *:before,.birthday-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.birthday-page .bg-gradient-primary{background-image:var(--birthday-action)}.birthday-age-label{display:block;margin-top:.7rem;font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:hsl(var(--foreground))}.birthday-interiors{min-width:0}.birthday-interiors-eyebrow{margin-bottom:1rem}.birthday-interior-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:hsl(var(--primary)) hsl(var(--border));border-radius:.5rem 2.5rem .5rem .5rem;background:hsl(var(--card))}.birthday-interior-track:focus-visible{outline:2px solid hsl(var(--primary-glow));outline-offset:5px}.birthday-interior-track>li{flex:0 0 100%;min-width:0;scroll-snap-align:start}.birthday-interior-track figure{position:relative}.birthday-interior-track img{display:block;width:100%;aspect-ratio:4 / 3;-o-object-fit:cover;object-fit:cover}.birthday-interior-track figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1.5rem 1.3rem;background:linear-gradient(transparent,#090910f5)}.birthday-interior-track figcaption span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;color:#d0d0dc}.birthday-interior-track figcaption strong{display:block;margin-top:.25rem;font-family:Bebas Neue,sans-serif;font-weight:400;font-size:2rem;line-height:1.1}.birthday-interior-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem}.birthday-interior-controls p{display:flex;align-items:center;gap:1rem;font-size:.75rem}.birthday-interior-controls p>span[aria-hidden]{color:hsl(var(--muted-foreground))}.birthday-interiors>.event-caption{margin-top:.8rem}@media (max-width: 900px){.birthday-overview{grid-template-columns:1fr}.birthday-interiors{max-width:100%}.birthday-interior-track img{aspect-ratio:3 / 2}}@media (max-width: 639px){.birthday-age{font-size:clamp(2.5rem,10vw,3.5rem)}.birthday-age-label{font-size:.68rem}.birthday-interior-track figcaption{padding:2rem 1rem 1rem}.birthday-interior-track figcaption strong{font-size:1.6rem}}.service-event-page .birthday-hero h1{font-size:clamp(3.4rem,6.5vw,6.3rem);line-height:.95}.service-event-page .birthday-hero .site-kicker:after{display:none}.service-event-page .birthday-photo-wordmark{font-size:clamp(3rem,6vw,5.8rem)}.service-event-page .birthday-overview-heading .site-kicker:after{display:none}.service-event-page .service-plan-label{font-size:clamp(2.5rem,4vw,4rem)}.service-planning-note{margin-top:2rem;padding:1.25rem;border-left:2px solid hsl(var(--primary));background:hsl(var(--background))}.service-planning-note>p{font-size:.8rem;font-weight:600;margin-bottom:.6rem}.service-planning-note>span{display:block;font-size:.85rem;line-height:1.8;color:hsl(var(--muted-foreground))}.service-planning-note a{text-decoration:underline;text-underline-offset:4px}@media (max-width: 639px){.service-event-page .birthday-hero h1{font-size:clamp(3.1rem,13.3vw,5rem)}.service-event-page .birthday-photo-wordmark{font-size:3.5rem}.service-event-page .birthday-hero-media figcaption{flex-wrap:wrap;gap:.2rem}}.events-directory-hero{padding-top:40px;padding-bottom:64px}.events-directory-hero h1{font-family:Bebas Neue,sans-serif;font-size:clamp(3.6rem,7.6vw,7rem);line-height:.95;margin:24px 0}.events-directory-hero h1 span{color:hsl(var(--primary))}.events-directory-intro{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:24px}.events-directory-intro>p{max-width:700px;color:#c3c1cc;font-size:18px;line-height:1.7}.events-directory-intro .event-primary{flex-shrink:0}.events-directory-list{padding-bottom:80px}.events-directory-item{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:48px;padding:32px 0;border-top:1px solid #302d39;align-items:center}.events-directory-photo{display:block;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px}.events-directory-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .25s ease}.events-directory-photo:hover img{transform:scale(1.03)}.events-directory-item h2{font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,3.5vw,3rem);line-height:1.1;margin:10px 0 16px}.events-directory-item h2 a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px}.events-directory-item h2 svg{flex-shrink:0}.events-directory-item>div>p:not(.event-index){color:#c3c1cc;line-height:1.7;margin-bottom:18px}@media (max-width: 767px){.events-directory-hero{padding-top:24px;padding-bottom:40px}.events-directory-intro{display:block}.events-directory-intro>p{font-size:16px;margin-bottom:24px}.events-directory-item{grid-template-columns:1fr;gap:24px;padding:28px 0}}@media (prefers-reduced-motion: reduce){.events-directory-photo img{transition:none}.events-directory-photo:hover img{transform:none}}.events-quick-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 24px;margin:24px 0}.events-quick-links a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:8px 0;border-bottom:1px solid var(--event-line);font-size:.85rem;transition:color .2s,border-color .2s}.events-quick-links a:hover{color:hsl(var(--primary-glow));border-color:hsl(var(--primary))}.events-quick-links svg{flex-shrink:0;color:hsl(var(--primary-glow))}.events-directory-action{display:flex;align-items:center;gap:24px}.events-directory-action .event-caption{margin:0}@media (max-width: 767px){.events-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin:20px 0}.events-quick-links a{font-size:.8rem}.events-directory-hero h1{font-size:3.6rem}.events-directory-action{align-items:flex-start;flex-direction:column;gap:16px}.events-directory-intro{margin-bottom:0}.events-directory-intro>p{margin-bottom:0;font-size:.95rem;line-height:1.65}.service-event-page .site-kicker:after,.events-directory .site-kicker:after{display:none}}
