/* Readable type and denser compositions. Brand fonts/artwork stay original.
   Display remains expressive; ordinary copy is 18px desktop / 16px mobile. */
.refined{font-size:1.125rem}
.refined .section{padding-block:64px}
.refined :is(.section-heading,.day-title){margin-bottom:28px}
.refined :is(.chapter-number,.eyebrow){font-size:.875rem}
.refined .lead{font-size:1.125rem;line-height:1.6;margin-top:16px}
.refined :is(.button,.text-link,.link-button,.small-link){font-size:var(--control-font-size);min-height:var(--control-height-compact)}
.refined .button{padding:13px 23px}
.refined :is(.desktop-nav,.desktop-nav a){font-size:1rem}
.refined .nav-wrap{gap:22px;min-height:76px}
.refined .desktop-nav{gap:26px}
.refined .nav-actions .button{font-size:var(--control-font-size);padding:11px 21px}
.refined .preview-notice{font-size:.75rem;padding-block:5px}
.refined .welcome .hero-grid{grid-template-areas:'intro art' 'actions art';grid-template-rows:1fr auto;padding-top:32px;min-height:530px}
.refined .hero-intro{align-self:center;padding-top:0}
.refined .hero-intro .lead{max-width:410px}
.refined .welcome .hero-grid>.scene-art{min-height:530px;margin-top:-32px}
.refined .welcome .hero-actions{padding:0 0 60px;gap:10px;flex-wrap:wrap}
.refined .welcome .hero-actions .button{font-size:var(--control-font-size);padding:13px 22px}
.refined .day-title h2{font-size:clamp(2.2rem,3.4vw,3rem)}
.refined .day-layout{grid-template-columns:1.15fr .85fr;gap:40px;align-items:stretch}
.refined .day-layout figure{margin:0!important}
.refined .day-park{display:flex;flex-direction:column}
.refined .day-park>img{aspect-ratio:1.15;flex:1;min-height:0;object-fit:cover;border-radius:0 48px 0 0}
.refined .day-layout figcaption{font-size:.9375rem;padding-top:12px}
.refined .day-side{display:grid;grid-template-rows:auto 1fr;gap:24px}
.refined .day-notes{padding:0}
.refined .day-notes h3{font-size:1.625rem;margin:0 0 12px}
.refined .day-notes>p:not(.hand){font-size:1.125rem;line-height:1.55;max-width:32em}
.refined .day-notes .text-link{margin-top:8px}
.refined .day-table{grid-column:auto;grid-row:auto;display:flex;flex-direction:column}
.refined .day-table>img{width:100%;height:225px;aspect-ratio:auto;object-fit:cover}
.refined .day-table figcaption>span{display:inline}
.refined .day-table a{display:inline-flex;font-size:.9375rem;margin-top:4px;padding-top:0}
.refined .party-section{padding-top:30px}
.refined .party-opening{min-height:405px}
.refined .party-opening>.scene-art{margin-top:-30px}
.refined .party-content{padding-bottom:48px}
.refined .party-itinerary{padding-block:22px;margin-bottom:28px;gap:24px}
.refined .party-itinerary b{font-size:1.125rem}
.refined .party-itinerary p{font-size:1rem;line-height:1.5}
.refined :is(.age-line p,.age-story p,.package-meta,.package ul,.extras p:not(.eyebrow),.extra b,.party-bottom p){font-size:1rem}
.refined :is(.age-button,.package .button){font-size:var(--control-font-size)}
.refined :is(.package-tag,.package-price span,.extra small,.extra-included,.price-note){font-size:.875rem}
.refined .package ul{line-height:1.55}
.refined .package-price{font-size:2.25rem}
.refined .extra{min-height:62px}
.refined .extras{gap:28px;margin-top:32px;padding-top:26px}
.refined .price-note{margin-top:16px;line-height:1.55}
/* Three food choices, a wide lead image and two smaller dishes. */
.shelf-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.shelf-heading h2{font-family:"Open Sans",sans-serif;font-size:2.5rem;font-weight:600;letter-spacing:-.04em}
.shelf-heading p{margin-top:10px;color:var(--muted)}
.shelf-heading .button{flex-shrink:0}
.cafe-items{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}
.cafe-item{display:block;min-width:0}
.cafe-item>img{width:100%;height:255px;object-fit:cover;border-radius:12px}
.cafe-item:first-child>img{border-top-right-radius:48px}
.cafe-item>div{padding-top:16px}
.cafe-item h3{font-size:1.25rem;line-height:1.3}
.cafe-item p{display:flex;justify-content:space-between;gap:12px;margin-top:9px;font-size:.9375rem;color:var(--muted)}
.cafe-item b{font-size:1.125rem;font-weight:600;color:var(--ink);white-space:nowrap}
.cafe-item:hover h3{text-decoration:underline;text-underline-offset:5px}
/* Comparison first; one compact factual panel follows the three visible parks. */
.refined .locations{background:var(--soft)}
.refined .locations h2{font-size:2.5rem;font-weight:600}
.refined .locations .section-heading{margin-bottom:24px}
.refined .visit-finder{margin:0 0 26px}
.refined .visit-choice{font-size:1rem;padding:10px 18px;min-height:46px}
.refined .visit-recommendation{font-size:1rem;line-height:1.55;max-width:880px;min-height:3.1em;margin-top:14px}
.park-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.park-card{background:white;border:1px solid #dfdae5;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.park-photo{display:block;overflow:hidden}
.park-photo img{width:100%;height:215px;object-fit:cover}
.park-card[data-park-card="lim"] .park-photo img{object-position:75% center}
.park-card-body{padding:20px 22px;display:flex;flex-direction:column;align-items:start;flex:1}
.park-age{font-size:.875rem;font-weight:550;color:var(--violet-dark);margin-bottom:9px;min-height:1.5em}
.park-card h3{font-size:1.875rem;font-weight:600}
.park-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.park-activities{font-size:1rem;color:var(--muted);line-height:1.55;margin-top:12px;min-height:3.1em}
.park-address{font-size:.9375rem;margin:20px 0;line-height:1.5;flex:1}
.park-address b{display:block;font-weight:600;margin-bottom:4px}
.refined .park-card .location-tab{font-family:"Open Sans",sans-serif;font-size:.9375rem;width:100%;text-align:left;padding:12px 14px;margin:0;border:1px solid #bbb1c7;border-radius:7px;min-height:47px;background:white;color:var(--ink)}
.refined .park-card .location-tab.selected{border-color:var(--violet-dark);background:#ede8f6;color:var(--violet-dark)}
.refined .location-tab .recommended-label{font-size:.875rem;margin-top:4px}
.refined .location-tab.recommended{box-shadow:inset 4px 0 var(--violet)}
.park-review{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;margin-top:6px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.park-details{margin-top:22px;border-top:1px solid #d6cfdf;padding-top:24px}
.refined .location-panel{display:block;background:none}
.refined .location-info{padding:0;display:grid;grid-template-columns:1fr 1.1fr auto;gap:24px;align-items:start}
.refined .locations .location-info h3{font-size:1.375rem;margin:0 0 10px}
.refined .location-info .location-address{font-size:1rem;line-height:1.55;margin:0}
.refined .location-info .hours{display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:0;border:0}
.refined .location-info .hours p{font-size:.9375rem;line-height:1.55}
.refined .location-info .hours b{font-size:.9375rem;margin-bottom:3px}
.refined .location-actions{display:flex;flex-direction:column;align-items:stretch;gap:2px;margin:0}
.refined .location-actions :is(.text-link,.link-button){font-size:.9375rem;justify-content:center;text-align:center}
/* One character stage also introduces the invitation tool. */
.refined .team-section{background:white}
.refined .team-section .section-heading h2{font-size:2.5rem;font-weight:600}
.character-stage{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.character-portrait{min-height:410px;display:flex;align-items:center;justify-content:center;background:#f5f3f8;border-radius:60% 42% 55% 45%}
.character-portrait img{width:78%;height:355px;object-fit:contain;filter:drop-shadow(0 15px 8px #43334f12)}
.character-choice{min-width:0}
.refined .hero-picker{justify-content:space-between;gap:10px;flex-wrap:wrap}
.refined .hero-pick{min-width:74px;min-height:100px;padding:5px 2px;gap:9px}
.refined .hero-pick img{width:67px;height:67px;padding:4px}
.refined .hero-pick span{font-size:.9375rem}
.refined .hero-info{margin-top:24px;border:0;background:none;padding:0;min-height:0}
.refined .hero-info h3{font-size:2rem;color:var(--ink)}
.refined .hero-info p{font-size:1rem;line-height:1.55;margin-top:8px;color:var(--muted)}
.character-actions{margin-top:16px}
.invitation-teaser{display:grid;grid-template-columns:75px 1fr;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:26px}
.invitation-teaser>img{margin-top:5px}
.invitation-teaser h3{font-size:1.375rem}
.invitation-teaser p{font-size:1rem;color:var(--muted);line-height:1.55;margin:10px 0 18px}
.refined .faq-grid{grid-template-columns:.65fr 1.35fr;gap:40px}
.refined .faq-grid h2{font-size:2.25rem;font-weight:600}
.refined .faq summary{font-size:1.125rem;line-height:1.5;padding-block:18px}
.refined .faq p{font-size:1rem;line-height:1.6}
/* The lead form is visible without scrolling past the invitation composer. */
.refined .booking-grid{grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.refined .booking-story h2{font-size:2.5rem;font-weight:600}
.refined .booking-story .lead{font-size:1.125rem;max-width:380px}
.booking-phone{font-size:1.375rem;display:inline-flex;align-items:center;min-height:46px;margin-top:26px;font-weight:550}
.booking-phone-note{font-size:1rem;color:var(--muted)}
.booking-trolley{width:230px;margin-top:30px}
.refined .form-paper{padding:30px}
.refined .form-paper h3{font-size:1.75rem}
.refined .form-summary{font-size:1rem;line-height:1.6;margin-bottom:22px}
.refined :is(.field label,.field-label){font-size:.9375rem;line-height:1.5}
.refined :is(.field input,.field select,.field textarea){font-size:1rem;min-height:48px;padding-block:12px}
.refined :is(.field-error,.check,.check.compact,.help,.small-link,#extras-summary){font-size:.875rem;line-height:1.55}
.refined .check input{min-height:18px;padding:0}
.refined .fields{gap:20px}
.refined .field.wide,.form-wishes.wide{grid-column:1/-1}
.form-wishes{padding-block:8px;border-top:1px solid var(--line)}
.form-wishes summary{font-size:1rem;cursor:pointer;min-height:44px;padding-block:10px}
.form-wishes .field{margin-top:8px}
.refined .form-paper .paper-top span{font-size:.75rem}
/* Native dialog: focus trap, Escape, and return to the opening button. */
.invitation-dialog{width:min(1040px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:30px;margin:auto;border-radius:16px;overflow:auto;overscroll-behavior:contain}
.invitation-dialog-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:25px}
.invitation-dialog-top h2{font-family:"Open Sans",sans-serif;font-size:2rem;letter-spacing:-.035em}
.invitation-dialog-top p{font-size:1rem;color:var(--muted);margin-top:10px}
.invitation-dialog-top .dialog-close{flex-shrink:0}
.invitation-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px 36px;align-items:start}
.refined .invitation-tools{grid-column:1;grid-row:1;margin:0}
.refined .invitation-fields{grid-template-columns:1fr 1fr;gap:18px}
.refined .invitation-fields .field:has(#birthday-name){grid-column:1/-1}
.refined .invitation-fields .field:has(#birthday-date),.refined .invitation-fields .field:has(#birthday-time){grid-column:auto}
.refined .invitation-preview{grid-column:2;grid-row:1/5;margin:0;padding:24px;transform:none;min-width:0}
.refined .invitation-heading h3{font-size:1.5rem}
.refined .invitation-top span{font-size:.875rem}
.refined .invitation-preview :is(dt,dd,#invitation-address){font-size:1rem;line-height:1.5}
.refined .invitation-draft{font-size:.875rem}
.refined .invitation-actions{grid-column:1;margin:0;display:flex;gap:10px}
.refined .invitation-actions .button{font-size:var(--control-font-size);padding:12px 16px}
.refined .invite-help,.refined #invitation-status{font-size:.875rem;line-height:1.55}
.invitation-editor>.invite-help,.invitation-editor>#invitation-status{grid-column:1;margin:0}
.refined .invitation-fields :is(input,select){background:white}
/* More useful facts on venue pages; address and entrance now share one section. */
.refined .venue-opening{padding:32px 0 48px;column-gap:36px;row-gap:20px;align-items:start}
.refined .venue-title{align-self:center}
.refined .venue-photo>img{aspect-ratio:1.15}
.refined :is(.venue-address,.venue-back){font-size:.9375rem}
.refined .venue-back{margin-bottom:8px}
.refined :is(.venue-intro,.venue-lev .venue-intro){font-size:1.125rem;line-height:1.6;max-width:460px}
.venue-facts{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:18px;font-size:.9375rem;color:var(--violet-dark);font-weight:550}
.refined .venue-lev .venue-photo>img{aspect-ratio:2.6}
.refined :is(.first-visit,.after-school,.crew-play){padding-block:40px}
.refined :is(.visit-steps p,.activity-list p,.crew-activities p,.cafe-interlude p:not(.hand),.after-heading>p){font-size:1.125rem;line-height:1.6}
.refined :is(.after-heading h2,.crew-title h2,.first-visit h2){font-size:2.25rem}
.refined .crew-activities h3{font-size:1.75rem}
.refined .visit-grid{gap:28px 40px}
.refined .visit-grid h2{font-size:2.25rem}
.refined .visit-grid h3{font-size:1.375rem}
.refined .visit-grid dl>div{font-size:1rem;grid-template-columns:130px 1fr;gap:14px}
.refined .visit-address{font-size:1.125rem}
.refined :is(.visit-help,.visit-links a){font-size:.9375rem}
.refined .visit-links{gap:12px 18px}
.refined .entrance-guide{grid-column:1/-1;padding:28px 0 0;border-top:1px solid #d6cfdf;margin-top:0}
.refined .entrance-guide-heading{margin-bottom:22px}
.refined .entrance-guide-heading h2{font-size:1.625rem}
.refined .entrance-guide-heading p{font-size:1rem}
.refined .entrance-guide-grid{grid-template-columns:.65fr 1.35fr;gap:35px}
.refined .entrance-guide figure>img{height:230px;aspect-ratio:auto;border-radius:12px}
.refined .entrance-guide figcaption{font-size:.875rem}
.refined .entrance-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.refined .entrance-steps li{border:0;margin:0;padding:32px 0 0}
.refined .entrance-steps li:before{font-size:.9375rem;top:0}
.refined .entrance-steps b{font-size:1.125rem}
.refined .entrance-steps p{font-size:1rem;line-height:1.55}
.refined .entrance-steps a{white-space:normal}
.refined .venue-party p{font-size:1rem;margin-top:10px}
.activity-choices{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.activity-choice{border:1px solid #bbb1c7;border-radius:7px;min-height:46px;padding:10px 18px;font-size:1rem;background:white;color:var(--ink)}
.activity-choice[aria-pressed=true]{background:var(--violet);color:white;border-color:var(--violet)}
.activity-display{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.activity-display figure{margin:0}
.activity-display img{width:100%;height:265px;object-fit:cover;object-position:80% center;border-radius:12px}
.activity-display figcaption{font-size:.875rem;margin-top:8px;color:var(--muted)}
.activity-panel h3{font-size:1.75rem;margin-bottom:12px}
.activity-panel p{font-size:1.125rem;line-height:1.6;color:var(--muted)}
.refined .cafe-interlude{margin-top:30px;padding-block:20px}
/* Menu keeps the category photograph and the readable list. */
.refined .menu-heading{padding-block:36px 28px}
.refined :is(.menu-heading p,.menu-chapter-cover p){font-size:1rem}
.refined .menu-controls{gap:16px;padding-block:14px}
.refined :is(.filter,.menu-search input){font-size:1rem;min-height:var(--control-height-compact)}
.refined .menu-filters{gap:8px}
.refined .catalog-count{font-size:.875rem}
.refined .menu-chapter{padding-block:30px;gap:40px}
.refined .menu-chapter-items .menu-item{padding:16px 0;gap:20px}
.refined .menu-chapter-items .menu-item h3{font-size:1.375rem}
.refined .menu-chapter-items .menu-item p{font-size:1rem;line-height:1.55;margin-top:7px}
.refined .menu-chapter-items .menu-item>b{font-size:1.25rem}
.refined :is(.dish-weight,.allergens summary){font-size:.875rem}
.refined .allergens summary{min-height:36px;padding-block:8px}
.refined .menu-end{padding-block:28px}
.refined .document{font-size:1.125rem;max-width:900px}
.refined .document p,.refined .document li{font-size:1.125rem;line-height:1.7}
.refined .document-note{font-size:1rem}
.refined .footer-top{gap:35px}
.refined .footer-top :is(p,a:not(.footer-phone),h3){font-size:.9375rem;line-height:1.6}
.refined .footer-top .footer-phone{font-size:1.625rem}
.refined .footer-top h3{font-size:1.125rem}
.refined :is(.footer-bottom,.footer-bottom p,.footer-bottom a,.hero-effects-hint,.footer .night-message){font-size:.875rem;line-height:1.6}
.refined .footer-bottom{gap:24px;flex-wrap:wrap}
.refined .footer-bottom>div{flex-wrap:wrap;gap:10px 20px}
.refined .stop-hero-effect{font-size:.9375rem}
.refined :is(.hero-dialog>p,.hero-dialog .button){font-size:var(--control-font-size)}
@media(max-width:1100px){
 .refined .wrap{width:calc(100% - 64px)}
 .refined .desktop-nav{gap:18px}
 .refined .nav-wrap{width:calc(100% - 48px)}
 .refined .day-layout{gap:28px}
 .refined .day-table>img{height:190px}
 .park-comparison{gap:16px}.park-card-body{padding:18px}
 .park-photo img{height:175px}
 .character-stage{gap:30px;grid-template-columns:.7fr 1.3fr}
 .refined .hero-picker{gap:5px}.refined .hero-pick{min-width:64px}.refined .hero-pick img{width:57px;height:57px}
 .refined .booking-grid{gap:32px;grid-template-columns:.7fr 1.3fr}
 .refined .entrance-steps{grid-template-columns:1fr;gap:16px}
 .refined .entrance-steps li{padding:0 0 0 35px}
 .refined .entrance-guide-grid{grid-template-columns:.8fr 1.2fr}
}
@media(max-width:850px){
 .refined .desktop-nav{display:none}.refined .menu-toggle{display:block}
 .refined .day-layout{grid-template-columns:1fr 1fr;gap:24px}
 .refined .day-notes>p:not(.hand){font-size:1rem}
 .refined .day-table>img{height:165px}
 .refined .park-card .location-tab{font-size:.875rem;padding-inline:9px}
 .park-card-body{padding:15px}.park-card h3{font-size:1.5rem}
 .park-address,.park-activities{font-size:.9375rem}
 .refined .location-info{grid-template-columns:1fr 1fr}
 .refined .location-actions{grid-column:1/-1;flex-direction:row;gap:18px;align-items:center;flex-wrap:wrap}
 .character-stage{grid-template-columns:1fr;gap:25px}
 .character-portrait{min-height:270px;max-width:400px;width:100%;margin:auto}
 .character-portrait img{height:250px}
 .refined .hero-picker{justify-content:start;gap:20px}
 .refined .hero-pick{min-width:74px}
 .refined .hero-pick img{width:67px;height:67px}
 .refined .booking-grid{grid-template-columns:1fr;gap:28px}
 .booking-trolley{display:none}
 .refined .booking-story .lead{max-width:550px}
 .refined .booking-phone{margin-top:16px}
 .refined .faq-grid{grid-template-columns:1fr;gap:20px}
 .refined .invitation-fields{grid-template-columns:1fr}
 .refined .invitation-fields .field{grid-column:1!important}
 .refined .invitation-actions{flex-direction:column}
 .refined .visit-grid{grid-template-columns:1fr 1fr;gap:28px}
 .refined .visit-grid dl>div{grid-template-columns:1fr;gap:4px}
 .refined .menu-controls{flex-wrap:wrap}.refined .menu-search{width:100%}
}
@media(max-width:700px){
 .refined{font-size:1rem}.refined .wrap{width:calc(100% - 40px)}
 .refined .section{padding-block:40px}
 .refined .nav-wrap{width:calc(100% - 32px);gap:10px;min-height:68px}
 .refined .nav-actions{gap:6px}.refined .nav-actions .button{font-size:var(--control-font-size);padding:10px 16px}
 .refined .brand img{width:85px}
 .refined .preview-notice{font-size:.75rem;line-height:1.4;padding:6px 12px}
 .refined .welcome .hero-grid{grid-template-columns:1fr;grid-template-areas:'intro' 'art' 'actions';grid-template-rows:auto;padding-top:25px;min-height:0}
 .refined .hero-intro h1{font-size:clamp(1.8rem,7.8vw,2.6rem)}
 .refined .hero-intro .eyebrow{font-size:.875rem;margin-bottom:14px}
 .refined .hero-intro .lead{font-size:1rem;margin-top:16px}
 .refined .welcome .hero-grid>.scene-art{min-height:0;height:270px;margin:0 -20px}
 .refined .welcome .hero-actions{padding:0 0 12px;display:flex;flex-wrap:nowrap;gap:8px}
 .refined .welcome .hero-actions .button{font-size:var(--control-font-size);padding:12px 13px;flex:1;white-space:nowrap}
 .refined :is(.section-heading,.day-title){margin-bottom:22px}
 .refined :is(.day-title h2,.locations h2,.team-section .section-heading h2,.booking-story h2,.shelf-heading h2,.faq-grid h2){font-size:1.875rem;line-height:1.2}
 .refined .lead{font-size:1rem}
 .refined .day-layout{grid-template-columns:1fr;gap:22px}
 .refined .day-park>img{aspect-ratio:1.45;flex:auto}
 .refined .day-side{gap:22px}
 .refined .day-notes h3{font-size:1.375rem}
 .refined .day-table>img{height:auto;aspect-ratio:1.7}
 .refined .day-layout figcaption{font-size:.875rem;line-height:1.55}
 .refined .party-section{padding-top:20px}
 .refined .party-opening{min-height:0}
 .refined .party-opening>.scene-art{margin-top:0}
 .refined .party-opening .lead{font-size:1rem}
 .refined .party-itinerary{display:grid;grid-template-columns:1fr;gap:16px;padding-block:20px;margin-bottom:20px}
 .refined .party-itinerary p{font-size:1rem}
 .refined .age-line{gap:18px}.refined .age-options{flex-wrap:wrap;gap:8px}
 .refined .age-button{font-size:.9375rem;padding:10px 16px}
 .refined .package{padding:24px 20px}.refined .package.chosen{padding:23px 19px}
 .refined .package ul{font-size:1rem}
 .refined .extras{grid-template-columns:1fr;gap:15px}
 .refined .party-bottom{flex-wrap:wrap;gap:15px}
 .shelf-heading{display:block;margin-bottom:22px}.shelf-heading .button{margin-top:18px}
 .cafe-items{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding:4px 4px 14px;margin-inline:-4px}
 .cafe-item{flex:0 0 82%;scroll-snap-align:start}
 .cafe-item>img{height:220px}.cafe-item h3{font-size:1.25rem}
 .refined .visit-choices{gap:8px}.refined .visit-choice{font-size:.9375rem;padding:10px 13px}
 .refined .visit-recommendation{font-size:1rem;min-height:0;margin-top:16px}
 .park-comparison{grid-template-columns:1fr;gap:18px}
 .park-photo img{height:185px}
 .park-card-body{padding:20px}.park-card h3{font-size:1.75rem}
 .park-activities{min-height:0;font-size:1rem}.park-address{font-size:1rem;margin:16px 0}
 .refined .park-card .location-tab{font-size:1rem;padding:12px 14px}
 .park-age,.park-review{font-size:.9375rem}
 .refined .location-info{grid-template-columns:1fr;gap:20px}
 .refined .location-info .hours{grid-template-columns:1fr;gap:12px}
 .refined .location-info .hours p{font-size:1rem}
 .refined .location-actions{grid-column:1;gap:8px 20px}
 .refined .location-actions .button{flex-basis:100%}
 .character-stage{gap:20px}
 .character-portrait{min-height:240px;max-width:300px}.character-portrait img{height:230px}
 .refined .hero-picker{gap:9px;justify-content:space-between;flex-wrap:nowrap}
 .refined .hero-pick{min-width:0;flex:1;min-height:82px;padding:4px 0}
 .refined .hero-pick img{width:50px;height:50px}.refined .hero-pick span{font-size:.875rem}
 .refined .hero-info{margin-top:18px}.refined .hero-info h3{font-size:1.625rem}
 .invitation-teaser{grid-template-columns:1fr;gap:14px;margin-top:22px;padding-top:22px}
 .refined .faq summary{font-size:1rem;padding-block:16px}
 .refined .form-paper{padding:24px 20px}
 .refined .form-paper h3{font-size:1.5rem}
 .refined .fields{grid-template-columns:1fr;gap:18px}
 .refined .booking-story .lead{font-size:1rem}
 .invitation-dialog{width:100%;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0;padding:22px 20px}
 .invitation-dialog-top{gap:10px;margin-bottom:22px}
 .invitation-dialog-top h2{font-size:1.625rem}
 .invitation-editor{grid-template-columns:1fr;gap:20px}
 .refined .invitation-tools{grid-column:1;grid-row:auto}
 .refined .invitation-preview{grid-column:1;grid-row:auto;padding:22px}
 .refined .invitation-actions{grid-column:1;display:flex;flex-direction:column;gap:10px}
 .refined .invitation-actions .button{font-size:var(--control-font-size)}
 .refined .invitation-heading h3{font-size:1.4rem}
 .refined .invitation-top span{font-size:.875rem;max-width:140px}
 .refined .invitation-top img{width:85px}
 .refined .venue-opening{padding:24px 0 36px;grid-template-columns:1fr;gap:20px}
 .refined :is(.venue-intro,.venue-lev .venue-intro){font-size:1rem;max-width:none}
 .refined .venue-photo>img{aspect-ratio:1.3}
 .refined .venue-lev .venue-photo>img{aspect-ratio:1.5}
 .refined .venue-subtitle{font-size:1.125rem}
 .refined :is(.first-visit,.after-school,.crew-play){padding-block:28px}
 .refined :is(.after-heading h2,.crew-title h2,.first-visit h2){font-size:1.875rem}
 .refined :is(.visit-steps p,.activity-list p,.crew-activities p,.cafe-interlude p:not(.hand),.after-heading>p){font-size:1rem}
 .refined .crew-activities h3{font-size:1.5rem}
 .refined .visit-grid{grid-template-columns:1fr;gap:28px}
 .refined .visit-grid dl>div{grid-template-columns:100px 1fr;font-size:1rem}
 .refined .visit-grid h2{font-size:1.875rem}
 .refined .entrance-guide-grid{grid-template-columns:1fr;gap:22px}
 .refined .entrance-guide{padding-top:24px}
 .refined .entrance-guide figure>img{height:190px}
 .refined .entrance-steps{gap:20px}
 .refined .entrance-steps p{font-size:1rem}
 .refined .venue-party{gap:20px}
 .activity-display{grid-template-columns:1fr;gap:20px}
 .activity-choices{gap:8px}.activity-choice{font-size:.9375rem;padding-inline:12px}
 .activity-display img{height:220px}.activity-panel p{font-size:1rem}
 .refined .menu-heading{padding-block:26px 18px;gap:14px}
 .refined .menu-heading h1{font-size:2.25rem}
 .refined .menu-heading p{font-size:1rem}
 .refined .menu-controls{padding-block:10px;gap:10px}
 .refined .menu-filters{gap:8px}
 .refined .filter{font-size:.9375rem;padding:10px 14px}
 .refined .menu-chapter{padding-block:24px;gap:20px}
 .refined .menu-chapter-items .menu-item{gap:14px;padding-block:16px}
 .refined .menu-chapter-items .menu-item h3{font-size:1.25rem}
 .refined .menu-chapter-items .menu-item p{font-size:1rem}
 .refined .menu-chapter-items .menu-item>b{font-size:1.125rem}
 .refined .menu-chapter-cover p{font-size:1rem}
 .refined .menu-end p{font-size:1.375rem}
 .refined .document p,.refined .document li{font-size:1rem}
 .refined .footer-top{gap:26px}
 .refined .footer-top :is(p,a:not(.footer-phone)){font-size:1rem}
 .refined .footer-top .footer-phone{font-size:1.5rem}
 .refined .footer-bottom>div{display:flex;gap:12px 20px}
}
@media(max-width:360px){
 .refined .nav-wrap{width:calc(100% - 24px)}.refined .nav-actions .button{padding-inline:12px}
 .refined .wrap{width:calc(100% - 32px)}
 .refined .welcome .hero-actions .button{padding-inline:9px}
 .refined .hero-picker{flex-wrap:wrap;justify-content:start;gap:10px}
 .refined .hero-pick{flex:0 0 calc((100% - 20px)/3)}
 .refined .menu-chapter-items .menu-item{grid-template-columns:1fr}
 .refined .menu-chapter-items .menu-item>b{justify-self:start}
 .refined .visit-grid dl>div{grid-template-columns:1fr}
 .refined .form-paper{padding-inline:16px}
}
/* Final alignment pass after desktop and narrow-screen inspection. */
.refined .character-choice .hero-info{display:block}
.refined .character-choice .hero-info p{max-width:36em}
.refined .day-park>img{flex:none;height:440px;aspect-ratio:auto}
.refined .day-side{gap:18px}
.refined .day-table>img{height:200px}
.form-options{padding-block:8px;border-top:1px solid var(--line)}
.form-options summary{font-size:1rem;cursor:pointer;min-height:44px;padding-block:10px}
.form-options>.fields{margin-top:14px}
@media(max-width:850px){.refined .day-park>img{height:440px}}
@media(max-width:700px){
 .refined .day-park>img{height:auto;aspect-ratio:1.45}
 .refined .day-table>img{height:auto;aspect-ratio:1.7}
 .refined .age-options{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .refined .age-button{white-space:nowrap}
 .park-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px 16px;padding:18px}
 .park-photo{grid-column:1;grid-row:1/4;border-radius:8px}
 .park-photo img{height:100%;min-height:155px;max-height:195px;object-fit:cover}
 .park-card-body{display:contents}
 .park-card .park-age{grid-column:2;grid-row:1;margin:0;align-self:end;font-size:.875rem}
 .park-card h3{grid-column:2;grid-row:2;font-size:1.5rem}
 .park-card .park-activities{grid-column:2;grid-row:3;margin:0;font-size:.9375rem}
 .park-card .park-address{grid-column:1/-1;grid-row:4;margin:8px 0;font-size:1rem}
 .refined .park-card .location-tab{grid-column:1/-1;grid-row:5}
 .park-card .park-review{grid-column:1/-1;grid-row:6;margin:0}
}
@media print{body.printing-invitation #invitation-dialog{display:none!important}}
.refined .location-panel{scroll-margin-top:100px}
.refined .day-table a{display:flex;width:max-content;max-width:100%;margin-top:4px}
