/* PARK illustration system: flat colour, open silhouettes, restrained movement. */
.park-art{display:block;object-fit:contain;object-position:center;filter:none;mix-blend-mode:normal}
.home-scene-photo{background:var(--soft)}
.home-scene-photo.home-scene-party{background:var(--park-card-light)}
.home-scene-photo.home-scene-practice{background:var(--soft)}
.home-scene-photo .home-scene-art{width:78%;height:82%;object-fit:contain;object-position:center;transform:none;transition:transform .35s ease}
.home-scene:is(:hover,:focus-visible) .home-scene-art{transform:translateY(-5px) rotate(-2deg)}
.home-scene,.home-scene:is(:hover,:focus-visible){box-shadow:none}
.home-scene{border-radius:16px}

/* Genre artwork is shared between class navigation and instructor introductions. */
body .class-icon,body .section-icon{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--teal);transform:none;overflow:visible}
body .class-icon{width:48px;height:48px}
body .section-icon{width:64px;height:64px}
body .class-icon .park-art,body .section-icon .park-art{width:100%;height:100%;object-fit:contain;transform:none}
body .class-tile:is(:hover,:focus-visible) .class-icon .park-art{transform:translateY(-2px)}
body .class-tile,.class-tile:is(:hover,:focus-visible){box-shadow:none}
.lesson-feature-inner::before{background:var(--park-card-light)}
.about>div:first-child{grid-area:headline}

/* Small equipment controls retain their exact symbols, with solid accent surfaces. */
body .rental-icon{width:48px;height:48px;flex:0 0 48px;background:transparent;border:0;transform:none;box-shadow:none}
body .rental-icon .park-functional-icon{width:40px;height:40px}
.park-functional-icon{color:var(--teal);fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.park-functional-icon .park-icon-fill{fill:var(--sun);stroke:var(--teal);stroke-width:2.5}
.park-functional-icon circle{fill:var(--paper)}
.space-equipment-icon{width:56px;height:56px;border:0;border-radius:14px;background:transparent;color:var(--teal);box-shadow:none}
.space-equipment-icon .park-functional-icon{width:42px;height:42px}
.space-equipment-button:is(:hover,:focus-visible) .space-equipment-icon{background:var(--paper);color:var(--teal);transform:translateY(-3px)}
.space-equipment-button[aria-pressed="true"] .space-equipment-icon{background:var(--park-card-light);color:var(--teal)}
.space-equipment-button:is(:hover,:focus-visible)[aria-pressed="true"] .space-equipment-icon{background:var(--park-card-light)}
.space-detail-kicker .rental-icon{margin-bottom:0}
.rental-rule-copy h3 .rental-icon{width:48px;height:48px;flex-basis:48px}

/* Preserve the plan's dimensions, door arcs and equipment positions. */
.space-overview{background:var(--soft)}
.space-overview .floorplan-figure{background:var(--paper);border-radius:20px}
.floorplan-wall{stroke:var(--ink);stroke-width:4.5;stroke-linejoin:round}
.floorplan-door{stroke:var(--teal);stroke-width:2.5}
.floorplan-av-icon{fill:var(--park-card-light);stroke:var(--teal);stroke-width:2}
.floorplan-av-icon circle{fill:var(--paper)}
.space-pill,.space-spot:is(:hover,:focus-visible) .space-pill,.space-spot-arrow circle{filter:none}
.space-spot-arrow circle{fill:var(--park-card-light);stroke:none}
.space-spot:is(:hover,:focus-visible) .space-spot-arrow circle{fill:var(--teal);stroke:none}
.space-spot:is(:hover,:focus-visible) .space-spot-arrow path{stroke:var(--paper)}
.space-spot[aria-pressed="true"] .space-spot-arrow circle{fill:var(--teal)}
.space-spot[aria-pressed="true"] .space-spot-arrow path{stroke:var(--paper)}
.space-detail{border-radius:20px;box-shadow:none;border-top:5px solid var(--sun)}
.space-detail-dialog .space-detail{border:0}

/* Flat photo mounts: a small yellow tab, no paper shadows. */
body .home-moment{--photo-tilt:-.65deg;border:0;border-radius:4px;background:var(--soft);box-shadow:none;padding:8px 8px 30px}
body .home-moment:nth-child(even){--photo-tilt:.65deg;background:var(--park-card-light)}
body .home-moment:nth-child(3n){--photo-tilt:-.35deg}
.home-moment::before{width:42px;height:14px;top:-7px;opacity:1;background:var(--sun);transform:translateX(-50%) rotate(-3deg)}
.home-moment:nth-child(even)::before{transform:translateX(-50%) rotate(3deg)}
.home-moment img{border-radius:0}
body .home-moment:is(:hover,:focus-visible){background:var(--sun);box-shadow:none;transform:translateY(-4px) rotate(0)}
.home-moment-expand{border:0;background:var(--paper);color:var(--ink)}

/* One visual language for the home route and the access-page illustration. */
.access-card{background:var(--soft);border:0;border-radius:20px;box-shadow:none;overflow:visible;margin-right:0}
.access-card .access-card-heading{color:var(--teal)}
.access-card .access-pin{background:var(--sun);border:0;color:var(--teal)}
.access-times span{background:var(--paper);border-radius:9px}
.access-times b,.access-card>a,.access-card>a:hover{color:var(--teal)}
.access-card>a:hover{background:var(--sun)}
.access-stroll-route .access-pin{background:var(--sun);border:0;color:var(--teal)}
.neighborhood-card,.neighborhood-card:is(:hover,:focus-visible){box-shadow:none}

/* The remaining typographic hero uses clean colour blocks rather than an oval badge. */
.contact-intro .access-visual{background:var(--paper);padding-left:10%;gap:8px}
.contact-intro .access-visual::before{display:none}
.contact-intro .access-visual span{color:var(--teal);font-size:clamp(42px,5vw,78px);letter-spacing:-.055em}
.contact-intro .access-visual strong{color:var(--ink);font-size:clamp(35px,4vw,66px);background:var(--sun);padding:12px 15px;transform:rotate(-2deg)}
.contact-intro .access-visual small{background:transparent;border-radius:0;color:var(--teal);font-size:13px}

/* Guides use the same flat surfaces; instructional photos and the official logo are unchanged. */
.guide-flow-grid article,.friendly-grid article,.equipment-grid article,.route-grid article{box-shadow:none}
.calendar-month,.calendar-board,.calendar-filters button,.calendar-filters button[aria-pressed="true"]{box-shadow:none}
.lesson-calendar{background:var(--soft)}

@media(max-width:650px){
 body .class-icon{width:44px;height:44px}
 body .section-icon{width:56px;height:56px}
 body .rental-icon{width:44px;height:44px;flex-basis:44px}
 .contact-intro .access-visual{padding:24px 20px 42px;gap:5px}
 .contact-intro .access-visual span{font-size:34px}
 .contact-intro .access-visual strong{font-size:32px;padding:6px 12px}
 .contact-intro .access-visual small{margin-top:10px;font-size:11px}
}
@media(max-width:420px){.space-equipment-icon{width:43px;height:43px}.space-equipment-icon .park-functional-icon{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){
 .home-scene .home-scene-art,.class-icon .park-art{transition:none}
 .home-scene:is(:hover,:focus-visible) .home-scene-art,body .class-tile:is(:hover,:focus-visible) .class-icon .park-art{transform:none}
 body .home-moment:is(:hover,:focus-visible){transform:rotate(var(--photo-tilt))}
}

/* Nearby shops: one compact building list alongside two neighborhood cards. */
.neighborhood-mix .building-neighbors{grid-column:span 2;padding:24px;background:var(--paper)}
body .neighborhood-mix .building-neighbors:is(:hover,:focus-visible){background:var(--paper);transform:none}
.building-neighbors-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.building-neighbors-heading>div{min-width:0}
.building-neighbors-heading .neighborhood-art{flex:0 0 84px;width:84px;height:84px;margin:0;align-self:center}
body .building-neighbors:hover .neighborhood-art{transform:none;background:transparent}
.building-neighbors-heading h3{font-size:20px;line-height:1.6;margin:8px 0}
.building-neighbors-heading p{margin-bottom:16px}
.building-shop-list{width:100%;margin-top:auto}
.building-shop{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:14px 10px;border-top:1px solid var(--line);border-radius:8px;color:var(--ink);transition:background-color .2s ease}
.building-shop:is(:hover,:focus-visible){background:var(--sun);color:var(--ink)}
.shop-floor{font-family:'DM Sans',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--teal)}
.shop-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.shop-copy strong{font-size:16px;line-height:1.6;font-weight:600}
.shop-copy>span{font-size:14px;line-height:1.7}
.shop-reading{font-size:12px;font-weight:500;margin-left:8px;display:inline-block}
.shop-arrow{font-size:20px;color:var(--teal);transition:transform .2s ease}
.building-shop:is(:hover,:focus-visible) .shop-arrow{transform:translate(2px,-2px)}
.neighborhood-more{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:14px;line-height:1.8}
.neighborhood-more>span{font-weight:600}
.neighborhood-more a{padding:5px 0;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--sun);text-decoration-thickness:2px}
.neighborhood-more a:is(:hover,:focus-visible){background:var(--sun);color:var(--ink)}
.neighborhood-mix .neighborhood-link{font-size:14px;line-height:1.7}
@media(max-width:600px){
 .neighborhood-mix .building-neighbors{padding:20px 14px}
 .building-neighbors-heading{align-items:flex-start}
 .building-neighbors-heading .neighborhood-art{flex-basis:58px;width:58px;height:58px}
 .building-neighbors-heading h3{font-size:18px}
 .building-shop{grid-template-columns:30px minmax(0,1fr) 16px;gap:10px;padding:14px 4px}
 .shop-floor{font-size:20px}
 .shop-copy strong{font-size:15px}
 .neighborhood-more{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){.building-shop,.shop-arrow{transition:none}.building-shop:is(:hover,:focus-visible) .shop-arrow{transform:none}}

/* New B: preserve sunlight A everywhere, compare only the two hero booking cards. */
body[data-park-variant="b"] .home-stage .home-action{--park-card-base:var(--teal);--park-hover-color:var(--paper);--park-hover-ink:var(--ink)}
body[data-park-variant="b"] .home-stage .home-action-copy{background:var(--teal);color:var(--paper)}
body[data-park-variant="b"] .home-stage .home-action:is(:hover,:focus-visible,:active) .home-action-copy{background:var(--paper);color:var(--ink)}
body[data-park-variant="b"] .home-stage .home-action .home-action-copy b{background:transparent;color:inherit;border-color:currentColor}

/* Shared, restrained card corners across both concepts and every page. */
:root{--park-card-radius:16px;--park-inset-radius:8px}
body :is(.home-action,.home-scene,.class-tile,.teacher-card,.use-card,.access-card,.neighborhood-card,.contact-hint,.calendar-board,.calendar-selection,.space-detail),
body :is(.guide-flow-grid,.friendly-grid,.equipment-grid,.route-grid,.manual-pending) article,
body .payment-grid>div,
body .contact-email form,
body .space-overview .floorplan-figure,
body .map-frame{border-radius:var(--park-card-radius)}
/* Clip edge-to-edge photos as one card, rather than rounding every inner panel. */
body :is(.home-action,.home-scene,.class-tile,.teacher-card,.use-card),
body .route-grid article,
body .gallery-grid .gallery-item{overflow:hidden;border-radius:var(--park-card-radius)}
body .home-moment{border-radius:var(--park-card-radius);overflow:visible}
body .home-moment img{border-radius:var(--park-inset-radius)}
body .space-detail-dialog .space-detail{border-radius:0}
@media(max-width:650px){:root{--park-card-radius:12px;--park-inset-radius:6px}}

/* Match availability sections across lesson and rental journeys. */
.rental-availability{background:var(--soft)}
.rental-availability>p:not(.eyebrow){max-width:780px;line-height:1.9}

/* Five concise facts continue directly below the space and equipment. */
.space-use-notes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.space-use-notes article{min-width:0}
.space-use-notes article>.rental-icon{display:block;width:44px;height:44px;margin:0 0 14px}
.space-use-notes h3{font-size:18px;line-height:1.55;margin:0 0 10px}
.space-use-notes p{font-size:14px;line-height:1.9;margin:0}
.space-use-guide{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.space-use-guide p{font-size:14px;line-height:1.9;margin:0}
@media(max-width:1100px){.space-use-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.space-use-notes article{display:flex;align-items:flex-start;gap:14px}.space-use-notes article>.rental-icon{flex:0 0 40px;width:40px;height:40px;margin:0}}
@media(max-width:650px){.space-use-notes{grid-template-columns:1fr;gap:0}.space-use-notes article{padding:18px 0}.space-use-notes article:first-child{padding-top:0}.space-use-notes article+article{border-top:1px solid var(--line)}.space-use-notes h3{margin-bottom:6px}.space-use-guide{margin-top:8px}}

/* The rental photo album shares the home mounts, tape and hover treatment. */
.rental-gallery{background:var(--paper)}
.rental-gallery .home-moments-grid{margin-top:36px}
body .rental-gallery .home-moment:nth-child(even){margin-top:0}

/* A warm, quiet celebration for the people who made PARK possible. */
body .thanks-page .thanks-hero-pop{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:3vw;padding:72px 7vw;min-height:600px;background:var(--sun)}
body .thanks-page .thanks-hero-pop::before{display:none}
body .thanks-page .thanks-hero-pop>div{max-width:none;padding:0;min-width:0}
body .thanks-page .thanks-hero-pop h1{font-size:var(--park-title-page);line-height:1.4;letter-spacing:-.055em;overflow-wrap:normal}
.thanks-hero-emphasis{position:relative;display:inline-block;padding-bottom:10px}
.thanks-hero-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:#fff;mask:url('/assets/chalk-underline.svg') center/100% 100% no-repeat;transform-origin:left;animation:thanks-line 1s cubic-bezier(.22,.7,.2,1) .5s both}
.thanks-mobile-break{display:none}
body .thanks-page .thanks-bouquet{position:relative;justify-self:center;width:min(100%,440px);animation:none}
.thanks-bouquet>img{display:block;width:100%;height:auto;transform-origin:50% 80%}
.thanks-bouquet.detail-played>img{animation:thanks-sway 1.3s ease-in-out .15s both}
.thanks-art-caption{position:absolute;right:0;bottom:9%;padding:13px 22px;background:var(--paper);color:var(--teal);font-size:clamp(16px,1.6vw,23px);font-weight:800;letter-spacing:.06em;border-radius:50%;transform:rotate(-8deg)}
body .thanks-page .thanks-body{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);align-items:center;gap:7vw;background:var(--paper)}
body .thanks-page .thanks-story h2{font-size:var(--park-title-section);line-height:1.55}
.thanks-story .text-link{display:inline-block;margin-top:12px}
.thanks-story-note{background:#e7eef5;border-radius:var(--park-card-radius);padding:32px;text-align:left;transform:rotate(2deg)}
.thanks-icons{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.thanks-icons img{width:58px;height:58px;object-fit:contain}
.thanks-icons.detail-played img{animation:thanks-icon-pop .65s ease both}
.thanks-icons.detail-played img:nth-child(2){animation-delay:.14s}
.thanks-icons.detail-played img:nth-child(3){animation-delay:.28s}
body .thanks-page .thanks-story-note p{font-size:clamp(25px,2.5vw,36px);line-height:1.65;font-weight:700;letter-spacing:-.03em;margin:0 0 25px}
.thanks-small-logo{display:block;width:144px;height:auto}
body .thanks-page .supporter-section{background:#edf2f6}
body .thanks-page .supporter-list{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:none;margin:40px 0 0;padding:0;line-height:1.6;font-size:19px}
body .thanks-page .supporter-list li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;min-width:0;padding:23px 12px 27px;background:var(--paper);border-radius:var(--park-card-radius);font-weight:600;text-align:center;word-break:keep-all;overflow-wrap:normal}
body .thanks-page .supporter-list li::after{content:"";position:absolute;width:25px;height:4px;bottom:13px;left:calc(50% - 12.5px);background:var(--sun);border-radius:3px}
.supporter-company{font-size:15px;white-space:nowrap;line-height:1.7}
.supporter-person{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:7px;row-gap:0}
.supporter-role{font-size:13px;white-space:nowrap;font-weight:400}
.supporter-name{font-size:19px;white-space:nowrap}
@keyframes thanks-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes thanks-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg)}55%{transform:rotate(3deg)}78%{transform:rotate(-1deg)}}
@keyframes thanks-icon-pop{0%{transform:translateY(0)}45%{transform:translateY(-9px) rotate(-4deg)}100%{transform:translateY(0)}}
@media(max-width:1050px){body .thanks-page .supporter-list{grid-template-columns:repeat(3,minmax(0,1fr))}body .thanks-page .thanks-body{gap:36px}.thanks-story-note{padding:25px}.thanks-icons{gap:8px}.thanks-icons img{width:48px;height:48px}}
@media(max-width:760px){body .thanks-page .thanks-hero-pop{grid-template-columns:1fr;padding:42px 22px 36px;min-height:0;gap:16px}body .thanks-page .thanks-hero-pop h1{font-size:clamp(30px,7.7vw,45px);margin-bottom:22px}body .thanks-page .thanks-hero-pop .thanks-bouquet{width:min(77%,310px)}.thanks-mobile-break{display:initial}.thanks-art-caption{right:-10px;padding:11px 18px}body .thanks-page .thanks-body{grid-template-columns:1fr;gap:38px}.thanks-story-note{width:min(100%,340px);justify-self:center;transform:rotate(1.5deg);padding:28px}.thanks-icons{gap:20px}.thanks-icons img{width:58px;height:58px}body .thanks-page .thanks-story-note p{font-size:29px}body .thanks-page .supporter-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:17px}body .thanks-page .supporter-list li{padding:20px 8px 27px;min-height:116px}.supporter-company{font-size:13px}.supporter-name{font-size:17px}.supporter-role{font-size:12px}body .thanks-page .thanks-story h2{font-size:clamp(23px,5.7vw,34px)}}
@media(max-width:360px){body .thanks-page .supporter-list{grid-template-columns:1fr}.thanks-icons img{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.thanks-hero-emphasis::after,.thanks-bouquet.detail-played>img,.thanks-icons.detail-played img{animation:none!important;transform:none!important}}

/* Contact: reach the right channel immediately, then read only what's needed. */
body .contact-page .contact-intro-clear{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;gap:5vw;min-height:0;padding:55px 7vw 48px;background:var(--sun)}
body .contact-page .contact-intro-clear .page-hero-copy{width:auto;padding:0;min-width:0}
body .contact-page .contact-intro-clear h1{font-size:var(--park-title-page);line-height:1.3;letter-spacing:-.05em;margin-bottom:23px}
.contact-quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:25px}
body .contact-page .primary-link{gap:10px;border-radius:12px;min-height:58px;box-shadow:none}
body .contact-page .contact-main-action{margin:0;padding:16px 23px;font-size:17px}
.contact-icon{display:inline-block;flex-shrink:0;vertical-align:middle}
.contact-main-action .contact-icon:last-child,.contact-mail-action .contact-icon{width:21px;height:21px}
.contact-mail-action{display:inline-flex;align-items:center;gap:9px;padding:15px 12px;font-size:15px;font-weight:700;color:var(--ink);border-radius:10px;transition:background-color .2s}
.contact-mail-action:is(:hover,:focus-visible){background:var(--paper)}
body .contact-page .page-hero-copy>.contact-hours{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.65;margin-top:21px;color:var(--ink)}
.contact-hours>.contact-icon{width:19px;height:19px;margin-top:2px}
.contact-hours small{display:block;font-size:12px;margin-top:2px}
.contact-art{width:100%;max-width:330px;justify-self:center;align-self:center}
.contact-art img{display:block;width:100%;height:auto;object-fit:contain}
.contact-art.detail-played img{animation:contact-art-arrive .9s cubic-bezier(.2,.8,.2,1) both}
.contact-page .contact-options{background:var(--paper)}
body .contact-page .contact-line{padding:0;border:0;gap:6vw;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}
.contact-section-kicker{display:flex;align-items:center;gap:12px;color:var(--teal);margin-bottom:18px}
.contact-section-kicker>.contact-icon{width:36px;height:36px;stroke-width:2;fill:none}
.contact-section-kicker>.eyebrow{margin:0}
body .contact-page h2{font-size:var(--park-title-section);line-height:1.5;letter-spacing:-.04em;margin:0 0 25px}
body .contact-page .contact-line p:not(.eyebrow){font-size:15px;line-height:1.95}
.contact-situations{display:flex;gap:13px 18px;flex-wrap:wrap;margin-top:25px}
.contact-situations>span{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--teal)}
.contact-situations .contact-icon{width:22px;height:22px}
body .contact-page .contact-hint{background:#e7eef5;padding:28px;border-radius:var(--park-card-radius)}
.contact-hint-heading{display:flex;gap:11px;align-items:center;color:var(--teal)}
.contact-hint-heading .contact-icon{width:28px;height:28px}
.contact-hint-heading h3{font-size:18px;line-height:1.6;margin:0}
.contact-hint dl{margin:21px 0 0}
.contact-hint dl>div{display:grid;grid-template-columns:104px 1fr;gap:14px;padding:13px 0;border-top:1px solid #cbd7e1;align-items:start;font-size:14px;line-height:1.7}
.contact-hint dt{font-weight:700}
.contact-hint dd{margin:0}
body .contact-page .contact-hint>p{font-size:12px!important;line-height:1.8!important;margin:17px 0 0;color:#43576c}
.contact-line-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:30px 0 0;margin:40px 0 0;border-top:1px solid var(--line)}
.contact-line-steps li{display:flex;align-items:flex-start;gap:14px;min-width:0}
.contact-step-number{display:grid;place-items:center;background:var(--sun);color:var(--ink);border-radius:50%;width:35px;height:35px;flex:0 0 35px;font-size:13px;font-weight:700}
.contact-line-steps strong{display:block;font-size:17px;line-height:1.5}
.contact-line-steps p{margin:5px 0 0;font-size:13px;line-height:1.7}
.contact-email-section{background:var(--soft);scroll-margin-top:95px}
body .contact-page .contact-email{padding:0;gap:6vw;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
body .contact-page .contact-email p{font-size:15px;line-height:1.9}
.contact-email-address{display:inline-flex;align-items:center;gap:15px;margin-top:18px;padding-bottom:8px;border-bottom:3px solid var(--sun);font-size:clamp(20px,2.2vw,28px);font-weight:700;color:var(--teal)}
.contact-email-address .contact-icon{width:22px;height:22px}
body .contact-page .contact-email-note{font-size:13px!important;max-width:380px;margin-top:20px}
body .contact-page .contact-email form{background:var(--paper);padding:32px;gap:20px;border:1px solid var(--line);border-radius:var(--park-card-radius)}
body .contact-page .contact-form-intro{margin:0 0 3px;font-size:14px;font-weight:700}
body .contact-page .contact-email label{display:block;font-size:14px}
.contact-required{display:inline-block;margin-left:7px;font-size:10px;font-weight:500;color:#56687a;background:#edf2f6;padding:2px 5px;border-radius:4px;vertical-align:middle}
body .contact-page .contact-email :is(input,select,textarea){display:block;margin-top:9px;border-radius:8px;border-color:#b6c4d1;background:var(--paper);line-height:1.6}
body .contact-page .contact-email :is(input,select,textarea):focus{outline:3px solid var(--park-card-light);border-color:var(--teal)}
body .contact-page .contact-email form>.primary-link{width:100%;justify-self:stretch;margin-top:0;padding-left:13px;padding-right:13px;font-size:15px}
.contact-email form>.primary-link .contact-icon{width:20px;height:20px}
body .contact-page .contact-email .contact-form-note{font-size:12px;margin:-9px 0 0;line-height:1.7}
.contact-page .form-status:empty{display:none}
.contact-self-help{background:var(--paper)}
.contact-self-help>p{font-size:15px;line-height:1.9}
.contact-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.contact-guide-grid article{border:1px solid var(--line);border-radius:var(--park-card-radius);padding:28px}
.contact-guide-title{display:flex;align-items:center;gap:15px;margin-bottom:15px}
.contact-guide-title>img{width:43px;height:43px;object-fit:contain}
.contact-guide-title>.contact-icon{width:37px;height:37px;color:var(--teal);fill:none}
.contact-guide-title h3{font-size:22px;margin:0}
.contact-guide-grid article>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 12px;margin:0 -12px;font-size:15px;font-weight:600;border-top:1px solid var(--line);border-radius:5px;transition:background-color .2s}
.contact-guide-grid article>a .contact-icon{width:19px;height:19px;color:var(--teal);transition:transform .2s}
.contact-guide-grid article>a:is(:hover,:focus-visible){background:var(--sun)}
.contact-guide-grid article>a:is(:hover,:focus-visible) .contact-icon{transform:translateX(4px)}
@keyframes contact-art-arrive{from{opacity:0;transform:translateY(15px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:1000px){body .contact-page .contact-intro-clear{gap:24px}.contact-quick-actions{gap:10px}.contact-hint dl>div{grid-template-columns:1fr;gap:3px}.contact-line-steps{gap:20px}.contact-line-steps li{gap:9px}}
@media(max-width:760px){body .contact-page .contact-intro-clear{display:block;padding:38px 22px 34px;position:relative}.contact-page .contact-art{position:absolute;right:14px;top:28px;width:105px;opacity:1}.contact-page .contact-intro-clear .eyebrow{margin-bottom:26px}body .contact-page .contact-intro-clear h1{font-size:clamp(31px,7.5vw,46px);padding-right:54px;margin-bottom:22px}body .contact-page .contact-intro-clear .page-hero-copy{position:relative;z-index:2}.contact-desktop-break{display:none}.contact-quick-actions{display:grid;grid-template-columns:1fr;gap:5px;margin-top:23px}.contact-mail-action{justify-content:center}body .contact-page .contact-main-action{width:100%;font-size:16px}body .contact-page .page-hero-copy>.contact-hours{margin-top:11px}.contact-page .contact-art.detail-played img{animation:none}body .contact-page .contact-line,body .contact-page .contact-email{grid-template-columns:1fr;gap:32px}body .contact-page h2{font-size:clamp(23px,5.8vw,32px);margin-bottom:21px}.contact-section-kicker{margin-bottom:14px}.contact-section-kicker>.contact-icon{width:29px;height:29px}.contact-situations{gap:12px}.contact-situations>span{font-size:12px}body .contact-page .contact-hint{padding:23px}.contact-hint dl>div{grid-template-columns:93px 1fr;gap:12px}.contact-line-steps{grid-template-columns:1fr;padding-top:25px;margin-top:30px;gap:23px}.contact-line-steps li{gap:14px}.contact-line-steps p{margin-top:3px}body .contact-page .contact-email form{padding:23px 20px}.contact-guide-grid{grid-template-columns:1fr;gap:18px}.contact-guide-grid article{padding:23px}.contact-guide-title h3{font-size:20px}.contact-email-section{scroll-margin-top:75px}}
@media(max-width:370px){.contact-page .contact-art{width:78px;top:24px}body .contact-page .contact-intro-clear h1{padding-right:0}.contact-hint dl>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-art.detail-played img{animation:none!important}.contact-mail-action,.contact-guide-grid article>a,.contact-guide-grid article>a .contact-icon{transition:none!important;transform:none!important}}

/* Inline contact submission: preserve input on failure, acknowledge only acceptance. */
.contact-page .contact-honeypot{display:none!important}
.contact-page #contact-form .form-status{white-space:pre-line;padding:16px 18px;border-radius:10px;line-height:1.9;font-size:14px}
.contact-page #contact-form .form-status[data-state="sending"]{background:var(--soft)}
.contact-page #contact-form .form-status[data-state="success"]{background:#e7eef5;border-left:4px solid var(--teal);color:var(--ink)}
.contact-page #contact-form .form-status[data-state="error"]{background:var(--soft);border-left:4px solid var(--teal);color:var(--ink)}
.contact-page #contact-form button:disabled{opacity:.65;cursor:wait}
.contact-page #contact-form.is-sent>:not(.form-status){display:none!important}
.contact-page #contact-form.is-sent .form-status{margin:0!important}
