/* Shared finishing pass: readable controls, calm spacing, and room for long text. */
:root{--section-space:clamp(48px,6vw,80px)}
html{scroll-padding-top:116px}
.section{padding-block:var(--section-space)}
h1,h2,h3{text-wrap:balance}
.prose{max-width:78ch}.prose p,.prose li{font-size:16px;line-height:1.85}
.prose ul,.prose ol{padding-left:1.35em}.prose li+li{margin-top:10px}
.section-heading{row-gap:24px}.section-heading h2{margin-bottom:0}
.section-heading>.button{max-width:100%}
.button:not(.dark):not(.outline):not(.text-button){color:#064853}
.button.dark:hover{background:#063d35;color:#fff}
.button.outline:hover{background:#ffffff18;color:#fff}
.button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #008db8;outline-offset:4px}
.site-header .header-actions>.header-tickets .header-ticket-label{font-size:13px;line-height:1.35}
.site-header .header-actions>.header-tickets{border-radius:16px;min-height:48px}
/* Keep the two photo captions out of one another's footprint. */
.wild-collage .wallaby-photo{left:-9%;width:43%;bottom:-25px}
.wild-collage .sloth-photo{right:0;width:66%}
.page-hero{align-items:stretch}
.page-hero>div{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(44px,5vw,70px)}
.page-hero .eyebrow{color:#b6e79f}
.page-hero h1{margin-bottom:24px}.page-hero p:last-child{margin-bottom:0}
.page-hero:not(:has(>img)){display:block;min-height:0}
.page-hero:not(:has(>img))>div{width:100%;max-width:1100px;padding:clamp(44px,5vw,70px) 6%}
.page-hero:not(:has(>img)) p{max-width:65ch}
.prices{align-items:stretch;row-gap:30px}.price-card{height:100%;padding:clamp(24px,2.5vw,34px)}
.price-card h3{font-size:clamp(25px,2.25vw,31px);line-height:1.16;margin-bottom:20px}
.price-card p{color:#395e60;font-size:15px;line-height:1.7}
.price-card .button{margin-top:auto;min-height:48px}
.info-grid{gap:28px}.info-grid article{padding:clamp(24px,3vw,36px)}
.info-grid h2{font-size:clamp(29px,3vw,40px);line-height:1.12}
.info-grid article>:last-child{margin-bottom:0}
.news-list article{padding-block:32px}.news-list h2{line-height:1.2}.news-list article>p:last-child{margin-bottom:0}
.staff-card h2{line-height:1.15}.staff-card p{font-size:15px}
.signup-options{align-items:stretch}.signup-card{transform:none!important}
.newsletter-form{width:100%}.newsletter-form .button{justify-content:center}
.newsletter-form .newsletter-status:empty{display:none}.newsletter-form small{margin-top:0}
.signup-card .newsletter-form p{padding-right:0}.newsletter-consent span{min-width:0}
.podcast-feature{transform:none}.podcast-links{gap:14px;flex-wrap:wrap}
.podcast-links .button{font-size:12px;min-height:46px}
footer{gap:36px}footer h3{line-height:1.2}footer a{line-height:1.5;padding-block:5px}
@media(max-width:1100px) and (min-width:761px){
 .site-header>.header-actions{gap:10px}.site-header .menu{padding:11px 14px;gap:12px}
 .wild-collage .wallaby-photo{width:44%;left:-7%}.wild-photo>span{font-size:14px}
 .signup-card h3{font-size:clamp(30px,3.2vw,38px)}
}
@media(max-width:760px){
 html{scroll-padding-top:106px}
 .section-heading{margin-bottom:28px}
 .hero-content{padding-top:48px}.hero .actions{gap:16px}
 .hero .actions .button{font-size:12px;min-height:50px}
 .wild-collage{width:86%;height:340px;margin-top:34px;margin-bottom:40px}
 .wild-collage .sloth-photo{width:56%;right:0;top:24px}
 .wild-collage .wallaby-photo{width:40%;left:0;bottom:0}
 .wild-photo>span{font-size:clamp(11px,3.3vw,14px);line-height:1.25}
 .page-hero{min-height:330px}.page-hero>div{padding:44px 6%}
 .page-hero:not(:has(>img))>div{padding:44px 6%}
 .page-hero h1{font-size:clamp(34px,9.4vw,52px)}
 .price-card,.staff-card{border-radius:24px}
 .price-card h3{font-size:28px}.price-card .button{width:100%}
 .info-grid{gap:22px;margin-bottom:36px}
 .news-list h2{font-size:28px}
 .contact-box .button{max-width:100%;margin-inline:0}
 .podcast-brand{align-items:flex-start;gap:16px}
 .podcast-links .button{flex:1 1 180px}
 .signup-card{padding:28px 24px}.signup-card h3{font-size:33px}
 .signup-card .eyebrow{line-height:1.6}.signup-card small{font-size:12px}
 .newsletter-form input[type=email]{font-size:16px}
 .map-toolbar,.map-board-heading{gap:14px}.map-zoom{flex-wrap:wrap}
 footer{gap:30px 22px}footer a{min-height:36px;display:block}
}
@media(max-width:600px){
 .site-header .header-actions>.header-tickets .header-ticket-label{font-size:0;line-height:11px}
 .site-header .header-actions>.header-tickets{border-radius:13px;min-height:58px}
}
@media(max-width:360px){
 .hero .actions{display:grid;grid-template-columns:1fr;width:100%}.hero .actions .button{width:100%}
 .wild-collage{height:300px}.handnote{font-size:14px}
 .signup-card{padding:25px 20px}.signup-card h3{font-size:30px}
 footer{grid-template-columns:1fr}
}
@media(hover:none){.button:hover,.animal:hover,.roster-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Clean white base, with the existing jungle and water accents preserved. */
:root{--cream:#fff;--paper:#fff}
body,.site-header,.mobile-nav,.signup-card,.podcast-feature,.wild-photo{background-color:#fff}
.membership{background-color:#fff}
.experiences{background:linear-gradient(#fff,#e8f6f4)}

/* Sloth game links have an explicit high-contrast treatment in every state. */
body .play-copy a.button[href="/play/"],
body .play-copy a.button[href="/play/"]:visited,
body .play-copy a.button[href="/play/"]:hover,
body .play-copy a.button[href="/play/"]:focus-visible,
body .mobile-nav .nav-group a[href="/play/"],
body .mobile-nav .nav-group a[href="/play/"]:visited,
body .mobile-nav .nav-group a[href="/play/"]:hover,
body .mobile-nav .nav-group a[href="/play/"]:focus-visible{background:#063d35!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#063d35}
body .play-copy a.button[href="/play/"] svg{color:#fff!important}
