:root{--jungle:#124d3d;--jungle-dark:#063d35;--ocean:#008db8;--ocean-deep:#055069;--leaf:#71bf55;--paper:#fbfff5}body{background:var(--paper)}header{box-shadow:0 3px 0 #06485315;border-radius:0}.topline{background:var(--jungle-dark);color:#d8f1cf}.logo{width:190px}nav{gap:22px}.nav-play{border:2px solid var(--leaf);border-radius:40px;padding:7px 14px;color:#286c36}.hero{background:var(--ocean-deep);isolation:isolate;min-height:825px}.hero-photo{opacity:.55;filter:saturate(1.1)}.hero:after{background:linear-gradient(90deg,#03445cf0,#005f6ba6 50%,#063d3566)}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:url('/assets/jungle-canopy.svg') center top/100% auto no-repeat;pointer-events:none;opacity:.95}.hero-content{padding-top:110px;padding-bottom:145px;z-index:3;width:60%}.hero h1{font-size:clamp(64px,6.2vw,100px);line-height:.96}.hero h1 em{font-size:.9em;line-height:1.08;max-width:100%;transform:rotate(-2deg);margin-top:12px}.hero h1 em:after{height:5px;bottom:-8px}.hero .eyebrow{background:#063d3599;padding:8px 13px;border-radius:10px;display:inline-block;color:#e5f5da}.hero p{max-width:420px}.wild-collage{top:110px;right:4%;height:565px;width:37%;z-index:2}.wild-photo{background:#faffed;box-shadow:8px 10px 0 #042f35aa}.sloth-photo{top:42px;width:68%;right:4%}.wallaby-photo{bottom:0;width:52%;left:0}.handnote{color:#e1f4db;font-size:20px;left:0;right:auto;top:0}.hero .wave-divider{color:#dff4f1}.hero-bottom{color:#063d35}.adventure-path{display:flex;justify-content:center;gap:0;background:#dff4f1;padding:22px 5% 25px;flex-wrap:wrap}.adventure-path a{display:flex;align-items:center;gap:12px;font-family:'Baloo 2',sans-serif;font-size:22px;font-weight:800;padding:5px 28px}.adventure-path span{font:800 11px 'DM Sans',sans-serif;display:grid;place-items:center;border:2px solid currentColor;width:32px;height:32px;border-radius:50%;color:#248044}.adventure-path a:hover{color:var(--ocean)}.quickbar{background:#f0f8e7;padding-top:25px}.discovery-ribbon{background:var(--ocean);border-color:#0a627d;color:white}.intro{background-image:radial-gradient(#008db812 2px,transparent 2px);background-size:26px 26px}.intro .chapter-label{color:#0a7f9e}.intro h2 em{color:var(--ocean)}.experiences{background:linear-gradient(#fbfff5,#e8f6f4);position:relative}.experience{box-shadow:6px 7px 0 #71bf55;border-color:#07516a}.animal-section{background:var(--jungle-dark);color:#fff;position:relative;padding-top:70px;padding-bottom:95px}.animal-section>.wave-divider{color:var(--jungle-dark);height:80px;top:-76px}.animal-section:before{content:'';position:absolute;top:0;left:0;right:0;height:230px;background:url('/assets/jungle-canopy.svg') center top/100% auto no-repeat;opacity:.75;pointer-events:none}.animal-section:after{content:'';position:absolute;bottom:0;left:0;right:0;height:90px;background:url('/assets/reef-floor.svg') center bottom/cover no-repeat;opacity:.18;pointer-events:none}.animal-section>.section{position:relative;z-index:1}.animal-section .eyebrow{color:#b6e79f}.animal-section .section-heading h2 em{color:var(--leaf)}.animal-section .section-heading .button{background:var(--leaf);color:#063d35;box-shadow:4px 5px 0 #ffffff44}.animal{color:#064853;border-color:#a8d990;box-shadow:5px 7px 0 #031f20}.animal:nth-child(4n+4)>div{background:#d7ecd0}.member-figure figcaption{color:var(--jungle)}.membership{background-color:#f4faec}.membership h2 em{color:#2f7639}.home-podcast{background:#07556f;border-radius:50px 50px 0 0;position:relative;padding-bottom:125px}.home-podcast:after{content:'';height:90px;position:absolute;bottom:0;left:0;right:0;background:url('/assets/reef-floor.svg') center bottom/cover no-repeat;pointer-events:none;opacity:.75}.podcast-intro,.podcast-feature{position:relative;z-index:1}.signup-section{background:#71bf55}.visit-callout{background:#008db8 url('/assets/reef-floor.svg') center bottom/100% auto no-repeat;padding-bottom:130px}.page-hero{background:var(--jungle-dark) url('/assets/jungle-canopy.svg') center top/cover no-repeat}.page-hero>div{position:relative;z-index:1}.page-hero h1{line-height:1.05}.sloth-play-banner{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center;padding:65px 8% 75px;background:#e2f2d5;border-top:7px solid #71bf55;border-bottom:7px solid #71bf55;isolation:isolate}.sloth-play-banner:before{content:'';position:absolute;inset:0;background:url('/assets/jungle-canopy.svg') top center/100% auto no-repeat;opacity:.12;z-index:-1}.play-art{height:380px;position:relative;max-width:440px;width:100%;margin:auto;border:3px solid #164f3c;border-radius:45% 45% 30px 30px;background:linear-gradient(#0a6258,#087d8e);box-shadow:9px 10px 0 #71bf55;overflow:hidden}.play-art img{position:absolute;width:66%;height:90%;object-fit:contain;left:17%;top:8%;filter:drop-shadow(5px 7px 0 #033b3b44)}.play-vine{position:absolute;top:15%;left:-10%;width:120%;height:25px;border-radius:50%;background:#71bf55;border-bottom:5px solid #195b3b;transform:rotate(-5deg)}.leaf-token{position:absolute;width:27px;height:40px;background:#a8e36a;border:3px solid #226f3e;border-radius:80% 5% 80% 5%;transform:rotate(28deg)}.token-one{left:10%;top:47%}.token-two{right:8%;top:43%;transform:rotate(-25deg)}.token-three{left:18%;bottom:10%;width:20px;height:29px}.play-stamp{position:absolute;bottom:17px;right:15px;background:var(--paper);color:var(--jungle);padding:13px 18px;border-radius:40px;font:bold 9px/1.5 'DM Sans',sans-serif;letter-spacing:.1em;transform:rotate(-8deg);text-align:center}.play-copy h2{font-size:clamp(42px,4.5vw,67px)}.play-copy h2 em{color:#287b40}.play-copy p{max-width:490px}.play-note{display:block;font-size:11px;margin-top:20px;color:#3b6958}.play-copy .button{background:var(--jungle);color:white;box-shadow:4px 5px 0 #71bf55}.game-page{background:#eaf5e1 url('/assets/jungle-canopy.svg') center top/100% auto no-repeat;padding:65px 5% 90px}.game-page-heading{text-align:center;max-width:780px;margin:0 auto 35px}.game-page-heading .eyebrow{display:inline-block;background:var(--paper);padding:7px 14px;border-radius:30px}.game-page h1{font-size:clamp(40px,5vw,72px);line-height:1.02}.game-page h1 em{color:#287b40}.game-layout{display:grid;grid-template-columns:minmax(0,600px) minmax(250px,360px);gap:50px;max-width:1040px;margin:auto;align-items:start}.game-console{min-width:0;border:3px solid #063d35;border-radius:25px;background:var(--paper);overflow:hidden;box-shadow:9px 11px 0 #71bf55}.game-hud{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#063d35;color:#fff;padding:16px 20px}.game-hud>div{display:flex;flex-direction:column;text-align:center}.game-hud span{font-size:9px;letter-spacing:.05em;text-transform:uppercase}.game-hud b{font-family:'Baloo 2',sans-serif;font-size:29px;line-height:1.2;color:#a7dd8c}.game-hud button{padding:9px 16px;border:1px solid #a7dd8c;border-radius:50px;background:transparent;color:white;font-size:12px;min-height:44px}.game-hud button:disabled{opacity:.45;cursor:default}.game-wrap{position:relative;background:#055c68;aspect-ratio:600/780}#sloth-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#fff;background:#033d3de8;overflow:auto}.game-overlay>img{width:130px;height:140px;flex-shrink:0}.game-overlay h2{font-size:37px;line-height:1.1;max-width:360px;margin:12px 0 18px}.game-overlay p{font-size:15px;max-width:320px;margin-bottom:25px}.game-overlay .button{color:#063d35;font-size:16px;justify-content:center;min-width:160px}.game-controls{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;gap:15px;background:#dcf0cf}.game-direction{width:85px;min-height:56px;background:#063d35;color:white;border:0;border-radius:16px;display:grid;place-items:center;touch-action:none;user-select:none}.game-direction svg{width:28px;height:28px}.game-direction:active{background:#26834a;transform:translateY(2px)}.game-controls p{text-align:center;font-size:11px;line-height:1.5;margin:0}.game-best{text-align:center;padding:15px;font-size:12px}.game-best span{display:block;color:#527a6a;font-size:10px}.game-guide{padding-top:15px}.game-guide h2{font-size:49px}.game-guide ol{padding-left:25px}.game-guide li{padding-left:8px;margin:0 0 24px}.game-guide li::marker{font-weight:900;color:#287b40}.game-guide li p{font-size:14px;margin:7px 0 0;color:#396455}.game-keyboard{border-top:1px solid #063d3533;padding-top:20px;font-size:13px}.game-real-sloth{background:#fff;border:2px solid #71bf55;border-radius:25px;padding:25px;margin-top:25px}.game-real-sloth h3{font-size:33px}.game-real-sloth p{font-size:13px}.game-real-sloth .eyebrow{font-size:9px}.game-real-sloth .button{font-size:12px}.game-fantasy{font-size:10px;color:#527a6a;margin:20px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{background:#063d35}body:has(.game-page) .signup-bar{display:none}
@media(max-width:1100px){nav{gap:13px;font-size:12px}.logo{width:150px}.hero h1{font-size:72px}.hero-content{width:60%}.wild-collage{width:37%;right:3%;top:135px}.wild-photo img{height:225px}.wallaby-photo img{height:175px}.wild-photo>span{font-size:16px}.handnote{font-size:17px}.adventure-path a{font-size:18px;padding:5px 18px}}
@media(max-width:760px){.logo{width:125px}header{border-radius:0 0 16px 16px}.hero{min-height:0;display:block;padding-bottom:55px}.hero-content{padding:70px 6% 0;width:100%}.hero:before{background-size:auto 235px;background-position:center top;opacity:.8}.hero .eyebrow{font-size:8px;max-width:260px;line-height:1.5;padding:6px 9px;margin-bottom:24px}.hero h1{font-size:clamp(53px,14vw,74px);line-height:.97}.hero h1 em{font-size:.83em;line-height:1.15;white-space:normal;margin-top:12px}.hero p{font-size:14px;max-width:360px;margin-top:28px}.hero .actions{flex-wrap:wrap}.hero .button{font-size:11px}.wild-collage{position:relative;top:auto;right:auto;width:87%;height:345px;margin:30px auto 30px}.sloth-photo{width:57%;top:25px;right:0}.sloth-photo img{height:190px}.wallaby-photo{width:46%;bottom:4px;left:0}.wallaby-photo img{height:145px}.wild-photo>span{font-size:14px}.handnote{font-size:17px;left:0;top:5px}.hero-bottom{font-size:6px;bottom:11px}.hero .wave-divider{height:42px}.adventure-path{gap:7px;justify-content:center;padding:14px 6% 20px}.adventure-path a{font-size:13px;padding:8px 10px;gap:7px;background:#ffffff77;border-radius:50px}.adventure-path span{width:23px;height:23px;font-size:8px}.quickbar{padding-top:22px}.animal-section{padding-top:25px;padding-bottom:45px}.animal-section:before{height:160px;background-size:auto 200px;opacity:.55}.animal-section>.wave-divider{height:50px;top:-46px}.animal-section .section-heading h2{font-size:49px}.sloth-play-banner{grid-template-columns:1fr;padding:50px 7%;gap:35px}.play-art{height:300px;max-width:340px}.play-copy h2{font-size:45px}.play-copy p{font-size:15px}.play-copy .eyebrow{font-size:9px}.play-note{font-size:10px}.home-podcast{padding-bottom:95px}.home-podcast:after{height:65px}.visit-callout{padding-bottom:110px;background-size:auto 200px}.game-page{padding:45px 5% 65px;background-size:auto 210px}.game-page-heading{padding:0 3%}.game-page h1{font-size:clamp(38px,11vw,54px)}.game-page-heading p{font-size:13px}.game-layout{display:block}.game-console{box-shadow:5px 6px 0 #71bf55;border-radius:20px}.game-hud{padding:12px 12px;gap:5px}.game-hud span{font-size:8px}.game-hud b{font-size:25px}.game-hud button{padding:8px 13px;font-size:11px}.game-overlay{padding:18px}.game-overlay>img{width:95px;height:100px}.game-overlay h2{font-size:29px;margin:10px 0 14px}.game-overlay p{font-size:12px;margin-bottom:20px;max-width:260px;line-height:1.55}.game-overlay .button{font-size:14px;padding:12px 23px;min-height:48px}.game-controls{padding:12px 15px}.game-direction{width:75px;min-height:58px}.game-controls p{font-size:10px}.game-guide{padding:45px 5% 0}.game-guide h2{font-size:44px}.game-guide .eyebrow{font-size:9px}.game-real-sloth{padding:25px}.page-hero>div{background:#063d35b0}.page-hero h1{font-size:clamp(37px,10.7vw,56px)}}
@media(max-width:360px){.hero-content{padding-top:60px}.hero h1{font-size:52px}.wild-collage{height:310px}.sloth-photo img{height:165px}.wallaby-photo img{height:125px}.wild-photo>span{font-size:12px}.handnote{font-size:15px}.game-overlay>img{width:72px;height:78px}.game-overlay h2{font-size:26px}.game-overlay p{font-size:11px}.game-hud span{font-size:7px}.game-direction{width:65px}}

/* Responsive containment across the shared site templates. */
main,section,article,figure,aside,footer>div{min-width:0}
h1,h2,h3,p,li,figcaption,summary,a{overflow-wrap:break-word}
.prose a,footer a,.contact-box a{overflow-wrap:anywhere}
.button{flex-shrink:1;gap:clamp(10px,2vw,24px);text-align:left}
.button>span,.button svg{flex-shrink:0}
.actions{flex-wrap:wrap}
.intro{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.experiences{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:minmax(255px,auto) minmax(255px,auto)}
.animals{grid-template-columns:repeat(4,minmax(0,1fr))}
.membership,.signup-options,.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-podcast{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.prices{grid-template-columns:repeat(3,minmax(0,1fr))}
.editorial{grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,5vw,70px)}
.price-card,.info-grid article,.perks p,.game-layout>*{min-width:0}
.page-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.page-hero h1{font-size:clamp(38px,5.2vw,78px)}
.podcast-feature iframe{height:auto;max-width:100%;aspect-ratio:16/9}
.game-overlay{justify-content:safe center;gap:0}
.game-overlay>*{flex-shrink:0;max-width:100%}
.game-hud{flex-wrap:wrap;row-gap:10px}
.game-controls p{min-width:0}
.game-direction{flex-shrink:0}
.game-guide h2{font-size:clamp(32px,3.7vw,49px)}
header>a:first-child{flex-shrink:0}
header>.button{flex-shrink:0}
nav a{white-space:nowrap}
.mobile-nav{top:var(--menu-top,96px);max-height:calc(100dvh - var(--menu-top,96px));padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.signup-bar+.mobile-nav{top:var(--menu-top,96px)}
@media(max-width:1100px){
 header{gap:16px}header nav{display:none}.menu{display:flex}
 header>.button{margin-left:auto}
 .animals,.prices{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero h1{font-size:clamp(52px,6.4vw,72px)}
 .hero-content{padding-right:3%}
 .intro h2{font-size:clamp(40px,5vw,54px)}
 .membership h2,.signup-heading h2,.podcast-intro h2{font-size:clamp(38px,4.8vw,57px)}
 .game-layout{grid-template-columns:minmax(0,600px);justify-content:center;gap:30px}
 .game-guide{padding-top:0}
}
@media(max-width:760px){
 .intro,.experiences,.membership,.home-podcast,.signup-options,.info-grid,.editorial,.page-hero,.prices{grid-template-columns:minmax(0,1fr)}
 .experiences{grid-template-rows:minmax(405px,auto) minmax(245px,auto) minmax(245px,auto)}
 .hero-content{padding-right:6%}
 .hero h1{font-size:clamp(48px,13.8vw,74px)}
 .intro h2,.membership h2,.signup-heading h2,.podcast-intro h2,.visit-callout h2{font-size:clamp(35px,10vw,50px);line-height:1.1}
 .page-hero h1{font-size:clamp(35px,10vw,56px);line-height:1.1}
 .signup-card{transform:none!important}
 .game-guide{padding-top:35px}
 .game-overlay{padding:16px}
 .member-figure .member-art{height:auto;aspect-ratio:1/1.1}
 .program-booking .button{margin-right:0}
 .signup-card .button{width:100%}
 .topline{text-align:center}
 .animal h3{font-size:clamp(23px,5.6vw,29px)}
 .animal>div{min-height:0}
 footer{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 header{padding-inline:4%;gap:8px}.logo{width:108px}
 header>.button{font-size:11px;padding:11px 12px;gap:8px}
 .menu{width:40px;min-height:44px}
 .animals{grid-template-columns:minmax(0,1fr);gap:26px}
 .animal,.animal:nth-child(even){transform:none;border-radius:36px 36px 22px 22px}
 .animal img{height:auto;aspect-ratio:4/3}
 .animal>div{padding:20px}.animal h3{font-size:32px}
 .animal p,.animal .animal-note{font-size:13px}.animal span{font-size:10px}
 .quickbar{gap:22px 16px}.quickbar>a{padding:12px;font-size:13px}
 .signup-icon{width:35px;height:35px}
 .signup-card h3{font-size:32px}.sms-command strong{font-size:27px}
 .perks{grid-template-columns:minmax(0,1fr)}
 .game-controls{gap:8px;padding:12px 10px}
 .game-direction{width:60px}.game-controls p{font-size:10px}
 .game-overlay h2{font-size:26px}.game-overlay>img{width:72px;height:78px}
 .game-overlay p{font-size:12px;line-height:1.45;margin-bottom:16px}
 .game-overlay .button{min-width:0}
}

/* Quiet ambient movement: existing artwork and one CSS light layer only. */
.water-light{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.water-light:before{content:'';position:absolute;inset:8% -8% 18%;background:repeating-linear-gradient(112deg,transparent 0 12%,#b5f2ff0d 14%,transparent 18% 28%);opacity:.45;transform:translateX(-2%);animation:aqua-light 19s ease-in-out infinite alternate paused}
.hero:before{transform-origin:50% 0;animation:canopy-breeze 13s ease-in-out infinite alternate paused}
.play-art .leaf-token{animation:picnic-leaf 8s ease-in-out infinite alternate paused}
.play-art .token-two{animation-delay:-3s;animation-duration:10s}
.play-art .token-three{animation-delay:-5s;animation-duration:12s}
.hero .bubble,.hero .hero-photo{animation-play-state:paused}
.hero.ambient-active:before,.hero.ambient-active .water-light:before,.hero.ambient-active .bubble,.hero.ambient-active .hero-photo,.play-art.ambient-active .leaf-token{animation-play-state:running}
@keyframes aqua-light{from{transform:translateX(-2%);opacity:.35}to{transform:translateX(2%);opacity:.7}}
@keyframes canopy-breeze{from{transform:rotate(-.3deg) scale(1.015)}to{transform:rotate(.3deg) scale(1.015)}}
@keyframes picnic-leaf{from{translate:0 0;rotate:-4deg}to{translate:0 -7px;rotate:4deg}}
@media(max-width:760px){.water-light:before{opacity:.3;animation-duration:24s}.hero:before{animation:none}}
@media(prefers-reduced-motion:reduce){.water-light{display:none}.hero:before,.play-art .leaf-token{animation:none!important;transform:none;translate:none;rotate:none}}

/* Current resident directory: names stay in normal flow below identified photos. */
.roster-grid{align-items:start;gap:24px}
.roster-card,.roster-card:nth-child(even){transform:none;border-radius:24px}
.roster-card figure{margin:0;background:#e9f5e2}
.roster-card figure img{height:auto;aspect-ratio:4/3;object-fit:cover}
.roster-card figcaption{font-size:11px;padding:9px 18px;color:#285d46}
.roster-card h3{font-size:25px;line-height:1.15;margin:8px 0 14px}
.roster-card .resident-names{font-size:15px;line-height:1.7;color:#064853}
.roster-card>div{padding:24px 20px}
.roster-card:hover{transform:translateY(-3px)}
@media(max-width:760px){.roster-card h3{font-size:23px}.roster-card .resident-names{font-size:14px}}

/* Equal card dimensions, sized by the longest content rather than clipping it. */
.roster-grid{align-items:stretch;grid-auto-rows:1fr}
.roster-grid .roster-card{height:100%;display:flex;flex-direction:column;min-width:0}
.roster-grid .roster-card figure{flex:none;width:100%}
.roster-grid .roster-card figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.roster-grid .roster-card figcaption{min-height:38px;line-height:20px;padding:9px 18px}
.roster-grid .roster-card>div{flex:1;padding:24px 20px}

/* Floor-plan explorer and token guide. */
.map-section h1,.token-page h1{font-size:clamp(44px,6vw,78px)}
.map-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:28px 0 18px}
.map-toolbar label{font-weight:700;font-size:13px}.map-toolbar select{max-width:100%;min-height:46px;padding:10px 12px;border:2px solid #064853;border-radius:12px;background:#fff;color:#064853;font:inherit}
.map-toolbar button{min-width:46px;min-height:46px;border:2px solid #064853;border-radius:12px;background:#71bf55;color:#064853;font-weight:800;padding:8px 14px}
.map-toolbar button:disabled{opacity:.4;cursor:default}
.map-viewport{max-width:100%;height:clamp(400px,52vw,620px);overflow:auto;border:3px solid #064853;border-radius:24px;background:#f8fcf2;overscroll-behavior:contain;touch-action:pan-x pan-y;cursor:grab}
.map-viewport:active{cursor:grabbing}.map-stage{position:relative;aspect-ratio:1056/610;max-width:none}.map-stage>svg{display:block;width:100%;height:100%}
.map-pin{position:absolute;transform:translate(-50%,-50%);border:2px solid #064853;border-radius:12px;background:#fbfff5;color:#064853;min-height:32px;padding:5px 9px;font-size:11px;line-height:1.2;font-weight:800;box-shadow:2px 3px 0 #06485333;white-space:nowrap}
.map-pin[aria-pressed=true]{background:#064853;color:white;outline:3px solid #71bf55;outline-offset:2px}.map-pin:hover{background:#d8efcd}
.map-detail{background:#e0efd6;border:2px solid #71bf55;border-radius:20px;padding:25px;margin:22px 0 15px}.map-detail h2{font-size:31px;margin-bottom:12px}.map-detail p{margin-bottom:15px}.map-detail a{font-weight:800;text-decoration:underline}.map-note{font-size:12px;max-width:850px}
.token-page .lead{max-width:800px}.token-page .info-grid{margin-top:35px}.token-page .info-grid article{border:2px solid #064853}.token-page .info-grid h2{font-size:36px}.token-page .contact-box{max-width:100%}
.map-token-promo{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:45px;background:#e5f3ef}.map-token-promo h2{font-size:clamp(34px,4vw,55px)}.map-token-promo .actions{flex-direction:column;align-items:flex-start;margin:0}.map-token-promo p{margin:0}
@media(max-width:760px){.map-token-promo{grid-template-columns:1fr;gap:24px}.map-toolbar label{width:100%}.map-toolbar select{width:100%}.map-viewport{height:430px;border-radius:16px}.map-detail{padding:20px}.map-pin{min-height:36px}.token-page .info-grid h2{font-size:31px}}

/* Resident groups open above the grid without changing uniform card dimensions. */
.roster-grid .roster-card>div{display:flex;flex-direction:column;align-items:flex-start}
.meet-residents{margin-top:auto;width:100%;display:flex;justify-content:space-between;align-items:center;min-height:44px;border:2px solid #064853;border-radius:12px;padding:9px 13px;background:#fbfff5;color:#064853;font-size:13px;font-weight:800}
.meet-residents span{font-size:22px}.meet-residents:hover{background:#71bf55}
#resident-popover{position:fixed;inset:auto;margin:0;padding:24px;border:3px solid #064853;border-radius:24px;background:#f4faed;color:#064853;box-shadow:7px 9px 0 #71bf55,0 18px 60px #002d4055;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
#resident-popover::backdrop{background:transparent}
.resident-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.resident-panel-heading>div{min-width:0}.resident-panel-heading .eyebrow{font-size:9px;margin:0 0 7px}.resident-panel-heading h2{font-size:29px;line-height:1.12;margin:0}
.resident-close{flex:none;width:44px;height:44px;border:2px solid #064853;border-radius:50%;background:#71bf55;color:#064853;font-size:27px;line-height:1}
.resident-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.resident-portrait{margin:0;min-width:0;background:white;border:2px solid #b8dba7;border-radius:17px;overflow:hidden}
.resident-portrait img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#e6f3df}.resident-portrait img[src$="sloth-game.svg"]{object-fit:contain;padding:10px}
.resident-portrait figcaption{padding:12px;text-align:center}.resident-portrait h4{font-family:'Baloo 2',sans-serif;font-size:22px;line-height:1.2;overflow-wrap:anywhere;margin:0 0 6px}.resident-portrait small{font-size:10px;display:block}
@media(max-width:600px){#resident-popover{padding:18px;max-height:calc(100dvh - 40px)}.resident-portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resident-panel-heading h2{font-size:25px}.resident-portrait h4{font-size:20px}}

/* Playful map page with clear controls and a numbered key. */
.adventure-map-page{background:#f2f8e9}
.map-welcome{max-width:1280px;margin:auto;padding:65px 6% 35px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.map-welcome h1{font-size:clamp(42px,5.4vw,75px);line-height:1.03}.map-welcome h1 em{color:#287b40}.map-welcome p{max-width:540px;margin:0}.map-welcome>img{width:165px;height:180px;object-fit:contain;transform:rotate(6deg)}
.map-explorer{max-width:1400px;padding:20px 4% 65px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}
.map-board{min-width:0;border:3px solid #064853;border-radius:27px;background:#fff;box-shadow:6px 7px 0 #71bf55;overflow:hidden}
.map-board-heading{padding:23px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#dff0d3}.map-board-heading h2{font-size:31px;margin:0 0 7px}.map-board-heading p{font-size:12px;margin:0}
.map-zoom{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.map-zoom button{border:2px solid #064853;min-height:44px;min-width:44px;background:#fff;border-radius:12px;font-weight:800;color:#064853;padding:8px 12px}.map-zoom button:disabled{opacity:.35}.map-zoom span{font-size:11px;min-width:38px;text-align:center}
.map-board .map-viewport{height:510px;border:0;border-radius:0}.map-stage .map-pin{width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;background:#064853;color:#fff;font:800 13px 'DM Sans',sans-serif;border:2px solid white;box-shadow:0 2px 0 #06485355}
.map-stage .map-pin:hover,.map-stage .map-pin[aria-pressed=true]{background:#71bf55;color:#064853;outline:3px solid #064853;outline-offset:2px}
.map-legend{display:flex;gap:12px 22px;flex-wrap:wrap;align-items:center;padding:16px 22px;font-size:11px;border-top:1px solid #d8e6d3}.map-legend>span{display:flex;align-items:center;gap:7px}.legend-dot{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#064853;color:white;font-size:10px}.legend-star{color:#ac7615;font-size:23px;line-height:1}.map-swipe-tip{color:#4b736d}
.map-trip-card{background:#064853;color:white;border-radius:25px;padding:22px;min-width:0}.map-trip-card>label{font-family:'Baloo 2',sans-serif;font-size:23px;font-weight:800;display:block;margin-bottom:12px}.map-trip-card select{width:100%;min-height:46px;border:0;border-radius:12px;padding:10px;background:#fbfff5;color:#064853;font:600 13px 'DM Sans',sans-serif}.map-trip-card .map-detail{background:transparent;border:0;padding:24px 0;margin:0;color:white}.map-trip-card .map-detail h2{font-size:30px}.map-trip-card .eyebrow{font-size:9px;color:#b2df9d}.map-trip-card p{font-size:14px;line-height:1.7}.map-trip-card a{font-size:13px}.map-token-callout{border-top:1px solid #ffffff44;padding-top:23px}.map-token-callout h3{font-size:26px}.map-token-callout .button{color:#064853;padding:12px;font-size:12px}
.map-stop-list{grid-column:1/-1}.map-stop-list h2{font-size:33px;margin:16px 0 22px}.map-stop-list>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.map-key{display:flex;align-items:center;gap:12px;text-align:left;min-height:54px;padding:12px;background:#fff;border:2px solid #c1dcb3;border-radius:15px;color:#064853;font-weight:700;font-size:13px}.map-key span{background:#dfefcf;min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:11px}.map-key[aria-pressed=true]{background:#71bf55;border-color:#064853}.map-explorer>.map-note{grid-column:1/-1;margin:0}
.map-token-stars{animation:map-sparkle 5s ease-in-out infinite alternate paused}.map-bubbles{animation:map-bubble 7s ease-in-out infinite alternate paused}.map-in-view .map-token-stars,.map-in-view .map-bubbles{animation-play-state:running}
@keyframes map-sparkle{from{opacity:.65}to{opacity:1}}@keyframes map-bubble{from{transform:translateY(0)}to{transform:translateY(-8px)}}
@media(max-width:1050px){.map-explorer{grid-template-columns:minmax(0,1fr)}.map-trip-card{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.map-trip-card>label,.map-trip-card>select{grid-column:1/-1}.map-token-callout{border:0;padding-top:24px}.map-stop-list>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.map-welcome{padding:40px 6% 20px}.map-welcome h1{font-size:43px}.map-welcome>img{width:75px;height:110px}.map-welcome .eyebrow{font-size:8px}.map-welcome p{font-size:13px}.map-explorer{padding-inline:5%;gap:22px}.map-board-heading{padding:18px}.map-board-heading h2{font-size:28px}.map-board .map-viewport{height:390px}.map-trip-card{display:block}.map-token-callout{border-top:1px solid #ffffff44}.map-stop-list>div{grid-template-columns:repeat(2,minmax(0,1fr))}.map-key{font-size:12px;gap:8px}.map-stop-list h2{font-size:30px}.map-legend{padding:15px}.map-welcome>div{min-width:0}}
@media(prefers-reduced-motion:reduce){.map-token-stars,.map-bubbles{animation:none!important}}

/* One obvious, grouped navigation menu for desktop and mobile. */
header .menu{display:flex;gap:18px;width:auto;height:auto;min-height:48px;padding:12px 20px;border:2px solid #064853;border-radius:16px;background:#dff0d4;order:1;margin-left:auto;font-size:14px;font-weight:800}.menu-label{white-space:nowrap}header>.button{order:2;margin-left:0}.menu.is-open{background:#71bf55}
.mobile-nav{left:auto;right:4%;width:min(1180px,92%);padding:28px;border:3px solid #064853;border-top:0;border-radius:0 0 26px 26px;background:#fbfff5;box-shadow:0 16px 35px #003c4540;max-height:calc(100dvh - var(--menu-top,96px) - 12px)}
.nav-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px;margin-bottom:24px;border-bottom:2px solid #d7e9cd}.nav-welcome .eyebrow{font-size:9px;margin:0 0 7px;color:#287b40}.nav-welcome strong{font-family:'Baloo 2',sans-serif;font-size:30px;line-height:1.1;display:block}
.mobile-nav .nav-map-link{background:#71bf55;border:2px solid #064853;border-radius:15px;padding:12px 16px;font-size:14px;color:#064853;display:flex;gap:15px;align-items:center;flex-shrink:0}.nav-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.nav-group h2{font-size:21px;line-height:1.2;margin:0 0 14px}.nav-group h2 span{display:block;font:800 10px 'DM Sans',sans-serif;color:#287b40;margin-bottom:9px;letter-spacing:.1em}.mobile-nav .nav-group a{font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.45;min-height:42px;padding:10px 8px;border:0;border-radius:9px;color:#064853}.mobile-nav .nav-group a:hover,.mobile-nav .nav-group a:focus-visible{background:#e0f1d6;color:#064853}.mobile-nav .nav-group a[href='/map/'],.mobile-nav .nav-group a[href='/play/'],.mobile-nav .nav-group a[href='/tokens/']{font-weight:800;background:#e7f3ee;margin-bottom:4px}
@media(max-width:900px){.nav-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.nav-welcome{align-items:flex-start}.nav-welcome strong{font-size:25px}.mobile-nav{padding:24px}.nav-welcome .nav-map-link{font-size:12px}}
@media(max-width:600px){header{gap:8px;padding-inline:4%}header .logo{width:92px}header .menu{font-size:11px;padding:10px 12px;gap:10px;min-height:44px}.menu-label{font-size:0}.menu-label:after{content:'Explore';font-size:12px}header>.button{font-size:10px;padding:11px 10px;gap:6px;min-height:44px}header>.button .icon-arrow{width:17px}.menu-lines,.menu-lines:before,.menu-lines:after{width:19px}.mobile-nav{right:3%;width:94%;padding:20px}.nav-welcome{display:block;padding-bottom:18px;margin-bottom:20px}.mobile-nav .nav-map-link{display:inline-flex;margin-top:16px}.nav-groups{gap:24px 16px}.nav-group h2{font-size:20px}.mobile-nav .nav-group a{font-size:12px;min-height:44px;padding:10px 5px}}
@media(max-width:360px){header .logo{width:78px}header .menu{padding:9px;gap:8px}header>.button{padding:10px 8px}.nav-groups{grid-template-columns:minmax(0,1fr)}}

/* Map signs have opaque backing and framed portraits never share label space. */
.map-stage .map-pin{width:27px;height:27px;min-height:27px;font-size:11px;box-shadow:none}
.staff-intro>p{max-width:650px}.staff-intro h1{font-size:clamp(43px,6vw,78px)}
.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px}
.staff-card{min-width:0;display:flex;flex-direction:column;background:#e5f2db;border:3px solid #064853;border-radius:26px;overflow:hidden;box-shadow:5px 6px 0 #71bf55}
.staff-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.staff-card>div{padding:25px;flex:1;display:flex;align-items:flex-start;flex-direction:column}.staff-card h2{font-size:31px;line-height:1.12;margin-bottom:12px}.staff-card p{font-size:14px;line-height:1.6;margin-bottom:22px}.staff-email{margin-top:auto;border-bottom:2px solid #71bf55;font-size:13px;font-weight:800;min-height:36px;display:inline-flex;align-items:center}
@media(max-width:1000px){.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.staff-grid{grid-template-columns:minmax(0,1fr);gap:26px}.staff-card h2{font-size:30px}.staff-card>div{padding:23px}}
/* Number badges scale with the floor plan so zooming cannot cover sign lettering. */
.map-stage .map-pin{width:calc(27px * var(--map-scale,1));height:calc(27px * var(--map-scale,1));min-height:0;font-size:calc(11px * var(--map-scale,1));border-width:calc(2px * var(--map-scale,1))}

/* Readable map shortcuts, including narrow screens. */
.mobile-nav .nav-welcome .nav-map-link{background:#064853;color:#fff;font:800 15px/1.4 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;white-space:normal;max-width:100%;flex-shrink:1;min-height:48px;box-shadow:3px 3px 0 #71bf55}
.mobile-nav .nav-welcome .nav-map-link:hover{background:#073e47;color:#fff}.nav-map-link svg{width:26px;height:26px;flex:none}
header .header-map{order:1;margin-left:auto;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:48px;padding:10px 14px;border:2px solid #064853;border-radius:15px;background:#fff;color:#064853;font:800 14px/1.2 'DM Sans',sans-serif;flex-shrink:0}header .header-map svg{width:24px;height:24px;flex:none}header .header-map:hover{background:#dff0d4}header .menu{margin-left:0}
.newsletter-form{display:grid;gap:15px;text-align:left;transform:none}.newsletter-form>label{font-weight:700}.newsletter-form input[type=email]{width:100%;min-width:0;min-height:50px;padding:12px;border:2px solid #064853;border-radius:12px;color:#064853;background:#fff;font:16px 'DM Sans',sans-serif}.newsletter-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}.newsletter-consent input{width:20px;height:20px;flex:none;margin:1px 0;accent-color:#064853}.newsletter-form .newsletter-status{font-size:14px;font-weight:700;margin:0}.newsletter-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.newsletter-form button:disabled{opacity:.65;cursor:wait}.newsletter-form small{line-height:1.6}
@media(max-width:600px){header .header-map{padding:7px;min-width:44px;min-height:44px;flex-direction:column;gap:2px;font-size:10px}header .header-map svg{width:19px;height:19px}header .logo{width:78px}header .menu{padding:9px;gap:7px}header>.button .icon-arrow{display:none}header{gap:6px}header>.button{padding:10px 8px}.mobile-nav .nav-welcome .nav-map-link{font-size:14px}}
@media(max-width:360px){header .logo{width:65px}header .menu{padding:8px;gap:6px}header .menu-label:after{font-size:11px}header>.button{font-size:10px;padding:10px 7px}}

/* Shared header layout: the navigation trigger is always the rightmost control. */
body>.site-header{width:100%;max-width:100%;display:flex;justify-content:space-between;gap:20px;padding-inline:4%;box-sizing:border-box}
.site-header>.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-left:auto;min-width:0;flex:none}
.site-header .header-actions>.header-map,.site-header .header-actions>.button,.site-header .header-actions>.menu{order:0;margin:0;flex-shrink:0}
.site-header .header-actions>.button{min-height:48px;padding:12px 18px;font-size:13px;gap:10px;box-shadow:2px 3px 0 var(--ink)}
.site-header .header-actions>.menu{min-height:48px}
body>.mobile-nav{box-sizing:border-box;left:auto;right:4%;width:min(1180px,92%);max-width:calc(100% - 8%);transform:none;margin:0}
@media(max-width:760px){.site-header>.header-actions{gap:9px}.site-header .header-actions>.button{padding:11px 12px;font-size:12px}.site-header .header-actions>.menu{gap:10px;padding:10px 12px}}
@media(max-width:600px){body>.site-header{gap:8px;padding-inline:4%}.site-header>.header-actions{gap:6px}.site-header .header-actions>.button{padding:10px 8px;font-size:10px;min-height:44px}.site-header .header-actions>.button .icon-arrow{display:none}.site-header .header-actions>.menu{min-height:44px;padding:9px;gap:7px}.site-header .header-actions>.header-map{min-height:44px}body>.mobile-nav{right:3%;width:94%;max-width:94%}}
@media(max-width:360px){.site-header .header-actions>.menu{padding:8px;gap:6px}.site-header .header-actions>.button{padding:10px 7px}}

/* Larger mobile branding and three consistent, labeled icon controls. */
.site-header .header-ticket-icon,.site-header .header-menu-icon{display:none}
@media(max-width:600px){
 body>.site-header{height:88px;min-height:88px;gap:8px;padding:12px 4%}
 .site-header>a:first-child{flex:none;display:flex;align-items:center}
 body>.site-header .logo{width:clamp(108px,34vw,154px);height:auto;max-height:64px;object-fit:contain}
 .site-header>.header-actions{gap:6px;flex:none}
 .site-header .header-actions>.header-map,.site-header .header-actions>.header-tickets,.site-header .header-actions>.menu{width:54px;min-width:54px;height:58px;min-height:58px;padding:7px 3px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:2px solid #064853;border-radius:13px;background:#f4faed;color:#064853;box-shadow:none;font:800 10px/1.1 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap}
 .site-header .header-actions>.header-tickets{background:#71bf55}
 .site-header .header-actions>.menu.is-open{background:#dff0d4}
 .site-header .header-actions>.header-map svg,.site-header .header-actions .header-ticket-icon,.site-header .header-actions .header-menu-icon{display:block;width:24px;height:24px;flex:none;margin:0}
 .site-header .header-actions .header-tickets>span[aria-hidden],.site-header .header-actions .menu-lines{display:none}
 .site-header .header-actions .menu-label,.site-header .header-actions .header-ticket-label{font-size:0;line-height:11px}
 .site-header .header-actions .menu-label:after{content:'Explore';font-size:10px;line-height:11px}
 .site-header .header-actions .header-ticket-label:after{content:'Tickets';font-size:10px;line-height:11px}
 .site-header .header-actions>.header-map>span{font-size:10px;line-height:11px}
}
@media(max-width:360px){.site-header .header-actions>.header-map,.site-header .header-actions>.header-tickets,.site-header .header-actions>.menu{width:50px;min-width:50px}}
