/* Shared public action controls; navigation, gallery dots and form inputs retain their own roles. */
body :is(a.cta,a.button,button.inquiry-trigger,a.quiet-button){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;box-sizing:border-box;padding:14px 24px;border-radius:16px;font-size:17px;font-weight:700;line-height:1.35;text-align:center;text-decoration:none;white-space:normal}
body :is(a.cta,a.button,button.inquiry-trigger,a.quiet-button):focus-visible{outline:3px solid #70459b;outline-offset:4px}
body .hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:14px}
body .package-card .package-book{width:100%;min-height:68px;font-size:20px;border-radius:16px;justify-content:center}
body .birthday-landing{scroll-behavior:smooth}
.birthday-landing .hero{padding-top:28px;padding-bottom:24px;gap:28px}.birthday-landing .hero-art{min-height:180px}.birthday-landing .hero h1{font-size:clamp(42px,5vw,68px)}
.birthday-landing .location-picker{margin-top:0;margin-bottom:20px}.birthday-landing #packages{padding-top:24px;scroll-margin-top:20px}.birthday-landing .package-review-photos{margin-top:32px}
.package-essentials{font-size:16px;line-height:1.8;margin:18px 0}.package-full-details{border-top:1px solid #d8cae5;margin-top:18px}.package-full-details>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:18px 0;min-height:48px;box-sizing:border-box;font-weight:700;list-style:none}.package-full-details>summary::-webkit-details-marker{display:none}.package-full-details>summary span{font-size:24px;transition:transform .15s}.package-full-details[open]>summary span{transform:rotate(45deg)}
@media(max-width:650px){body :is(a.cta,a.button,button.inquiry-trigger,a.quiet-button){min-height:56px;font-size:16px;padding:14px 20px}.birthday-landing .hero-art{display:none}.birthday-landing .hero{padding-top:22px}.birthday-landing .hero h1{font-size:44px}.birthday-landing .package-grid{gap:18px}.birthday-landing .section-heading h2{font-size:30px}.hero-actions>:is(a,button){width:100%}}
@media(prefers-reduced-motion:reduce){.package-full-details>summary span{transition:none}}

/* Explicit package disclosure remains prominent with touch and keyboard. */
.package-full-details>summary{border:2px solid #6b3995;border-radius:12px;background:#f3edf9;color:#4b2274;padding:14px 16px;margin-top:14px;font-size:16px;line-height:1.4;min-height:56px}.package-full-details>summary span{font-size:inherit;transform:none}.package-full-details>summary .details-icon{font-size:24px}.package-full-details .details-hide{display:none}.package-full-details[open]>summary .details-show{display:none}.package-full-details[open]>summary .details-hide{display:inline}.package-full-details[open]>summary span{transform:none}.package-full-details[open]>summary .details-icon{transform:rotate(45deg)}.package-full-details>summary:focus-visible{outline:3px solid #70459b;outline-offset:4px}.package-at-a-glance .full-inclusions{font-size:14px;line-height:1.5}.package-at-a-glance .full-inclusions li{margin:5px 0}

/* Refined mobile home actions: original labels and destinations preserved. */
@media(max-width:760px){body.preserved-home .source-hero-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:340px;margin:26px auto 0;gap:12px}body.preserved-home .source-hero-actions .button{font-family:Maven,system-ui,sans-serif;font-size:17px;font-weight:700;text-transform:none;letter-spacing:.01em;line-height:1.3;min-height:56px;max-width:none;width:100%;padding:16px 20px;border-radius:14px;box-shadow:none;transform:none;justify-content:center}body.preserved-home .source-hero-actions .red{background:#b83943;border:1px solid #b83943;color:#fff}body.preserved-home .source-hero-actions .green{background:#f3f8f5;border:1px solid #d7e5dc;color:#30224c}body.preserved-home .header-cta{box-shadow:none;border-radius:14px;font-family:Maven,system-ui,sans-serif;letter-spacing:0}}

/* Mobile readability: prices and the playground guide. */
.fpw-client .admission-prices{padding:28px 24px;box-sizing:border-box}
.source-seo-content h2{font-family:Maven,Arial,sans-serif;font-weight:750;text-transform:none;letter-spacing:-.02em;text-align:left;text-wrap:balance;max-width:26ch}
.source-seo-content img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-inline:0}
@media(max-width:650px){
 .fpw-client .admission-prices{padding:24px 18px;border-radius:24px}
 .admission-prices .admission-card{padding:18px 16px;gap:12px}
 .admission-prices .admission-card h3{font-size:18px}
 .admission-prices .admission-amount{font-size:34px}
 .admission-prices>.text-link{display:inline-block;white-space:normal;line-height:1.5;padding-block:10px}
 .source-seo-content h2{font-size:28px;line-height:1.25;margin:32px 0 20px}
 .source-seo-content h3{font-size:21px;line-height:1.4}
 .source-seo-content p{text-align:left;line-height:1.7}
 .source-seo-content ol{padding-left:22px}
}

.hero-video-toggle{background:#fff9;color:#30224c;border:1px solid #fff;border-radius:999px;padding:10px 18px;min-height:44px;font:700 14px Maven,Arial,sans-serif;cursor:pointer;margin-top:12px}.source-hero-controls{flex-wrap:wrap}.location-map{background:#e4f1eb}

/* On phones, keep the header waiver action without covering content or checkout links. */
@media(max-width:760px){body.preserved-home .waiver-link{position:static;display:flex;width:max-content;max-width:calc(100% - 32px);margin:16px auto;padding:12px 20px}.preserved-home .footer{padding-bottom:24px}}
@media(max-width:760px){
 .preserved-home .location-grid{grid-template-columns:minmax(0,1fr)}
 .preserved-home .location-card{min-width:0}
 .preserved-home .location-card iframe{max-width:100%;width:100%}
 .preserved-home .home-slide{height:auto;max-height:none;min-height:640px}
 .preserved-home .source-hero-copy{margin:36px 6% 160px}
}

/* R57: consistent, compact homepage spacing on desktop and phones. */
.preserved-home .section,.preserved-home .locations-section{padding-block:44px}
.preserved-home .section h2{font-size:clamp(28px,3.2vw,44px);line-height:1.15;text-wrap:balance}
.preserved-home .section .eyebrow{margin-bottom:12px}
.preserved-home .section-heading{margin-bottom:24px}
.preserved-home .source-reviews:before{display:none}
.preserved-home .source-reviews>.eyebrow{margin-inline:auto}
.preserved-home .original-reviews{margin-top:24px}
.preserved-home .source-video-story,.preserved-home .original-gallery{margin-top:28px}
.preserved-home #gallery{padding-top:28px}
.preserved-home #faq{padding-top:28px}
.preserved-home .source-faq h2{margin-bottom:24px}
.preserved-home .source-social{padding-block:32px}
.preserved-home .source-social .button{margin:20px 0 16px}
.preserved-home .source-subscribe{padding-block:28px;gap:24px}
.preserved-home .source-subscribe h2{font-size:30px;margin-bottom:12px}
.preserved-home .footer{padding-top:36px;padding-bottom:32px;row-gap:24px}
.preserved-home .footer-bottom{padding-top:18px}
@media(max-width:760px){
 .preserved-home .section,.preserved-home .locations-section{padding-block:30px}
 .preserved-home .section h2{font-size:30px}
 .preserved-home #gallery,.preserved-home #faq{padding-top:22px}
 .preserved-home .source-subscribe{padding-block:24px}
 .preserved-home .footer{padding-block:28px;row-gap:20px}
}

/* R86: lightweight mobile hero, visible video control above the shade. */
.hero-video-play{position:absolute;z-index:4;top:12px;right:12px;min-height:44px;border:1px solid #fff;border-radius:24px;background:#302047;color:#fff;padding:10px 18px;font:600 14px Maven,sans-serif;cursor:pointer}.hero-video-play[hidden]{display:none}.hero-video-play:focus-visible{outline:3px solid #ffe76b;outline-offset:3px}
