.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.explorer-shell{margin-top:16px;margin-bottom:25px;border:1px solid rgba(31,45,101,.08);border-radius:30px;padding:20px 34px 15px;box-shadow:0 18px 50px rgba(31,45,101,.05);background:radial-gradient(ellipse at 8% 35%,#ebe9f9,transparent 50%),radial-gradient(ellipse at 90% 20%,#fff0e9,transparent 48%),radial-gradient(ellipse at 60% 100%,#edf6f3,transparent 55%),#f9fbff}
.explorer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid rgba(31,45,101,.08)}
.explorer-top .text-link{font-size:11px;gap:10px}
.explorer-heading{max-width:700px;text-align:center;margin:25px auto 0}
.explorer-heading .eyebrow{justify-content:center;margin-bottom:12px}
.explorer-heading h1{font-size:42px;line-height:1.08}
.explorer-heading>p:not(.eyebrow){font-size:12px;line-height:1.75;margin-top:14px}
.explorer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:38px;align-items:center;margin-top:22px}
.explorer-reading{min-width:0}
.area-switcher{display:flex;gap:5px;padding:5px;background:rgba(255,255,255,.72);border:1px solid rgba(31,45,101,.08);border-radius:999px;margin-bottom:16px}
.area-switcher button{flex:1;min-width:0;background:transparent;border:0;border-radius:999px;padding:10px 7px;font-size:11px;font-weight:800;cursor:pointer;color:var(--text)}
.area-switcher button:hover{background:#f0f3f8;color:var(--navy)}
.area-switcher button[aria-pressed="true"]{background:var(--navy);color:white;box-shadow:0 4px 12px #17245d17}
.area-panel{padding:30px;border-radius:25px;background:rgba(255,255,255,.84);border:1px solid rgba(31,45,101,.08);box-shadow:0 16px 36px #17245d0a;margin-bottom:15px}
.area-panel[hidden]{display:none}
.area-panel .eyebrow{color:var(--accent);font-size:8px;margin-bottom:17px}
.area-panel h2{font-size:34px;line-height:1.08}
.area-body{font-size:13px;line-height:1.9;margin-top:20px}
.area-panel ul{padding-left:18px;margin:22px 0 26px;font-size:12px;color:var(--text);line-height:1.8}
.area-panel li{padding-left:3px;margin-block:8px}
.area-panel li::marker{color:var(--accent)}
.area-panel .button{font-size:10px;border-color:var(--line);background:white;box-shadow:0 8px 20px #17245d08;width:100%;padding:12px 14px;gap:12px;line-height:1.5}
.area-panel .button:hover{background:var(--tint);border-color:var(--accent)}
.area-panel .button span{background:var(--tint);color:var(--accent)}
.explorer-scope{font-size:9px;line-height:1.8;padding-inline:10px}
.explorer-bottom{display:flex;align-items:center;justify-content:center;gap:20px;border-top:1px solid rgba(31,45,101,.08);margin-top:25px;padding-top:15px}
.explorer-bottom p{font-size:11px}
.explorer-bottom .text-link{font-size:11px}
.brand-intro-section{margin-bottom:45px;max-width:900px}
.brand-intro{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.brand-intro summary{display:flex;align-items:center;gap:15px;list-style:none;cursor:pointer;padding:17px 22px;font-size:12px;font-weight:750}
.brand-intro summary::-webkit-details-marker{display:none}
.brand-intro summary small{font-size:10px;font-weight:500;color:var(--text);margin-left:auto}
.brand-intro[open] .faq-icon{transform:rotate(45deg)}
.brand-video-wrap{padding:0 20px 20px;max-width:760px;margin-inline:auto}
.brand-video-wrap video{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#f3f4f7;border-radius:12px;object-fit:contain}
.brand-video-wrap p{font-size:12px;line-height:1.6;margin-top:13px}.video-error[hidden]{display:none}.video-error a{text-decoration:underline}
/* Without scripting, all descriptions and normal page links remain usable. */
.tree-controls,.area-switcher{display:none}
.explorer-ready .tree-controls{display:block}
.explorer-ready .area-switcher{display:flex}
@media(max-width:1080px){.explorer-shell{padding:18px 24px 15px}.explorer-layout{gap:23px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.explorer-heading h1{font-size:38px}.area-panel{padding:25px}.area-panel h2{font-size:29px}.area-body{font-size:12px}.area-panel ul{font-size:11px}.area-panel .button{font-size:9px}.explorer-scope{font-size:8px}}
@media(max-width:760px){.explorer-shell{padding:17px 19px 12px;border-radius:24px;margin-top:10px}.explorer-top{gap:10px;padding-bottom:13px}.explorer-top .text-link{font-size:9px;gap:7px}.explorer-top .text-link span{font-size:15px}.explorer-heading{margin-top:23px}.explorer-heading h1{font-size:31px}.explorer-heading .eyebrow{font-size:7px;letter-spacing:.14em}.explorer-heading>p:not(.eyebrow){font-size:12px;margin-top:13px}.explorer-layout{grid-template-columns:1fr;gap:19px;margin-top:20px}.area-panel{padding:25px}.area-panel h2{font-size:30px}.area-body{font-size:13px}.area-panel ul{font-size:12px}.area-panel .button{font-size:10px}.area-switcher{margin-bottom:14px}.area-switcher button{font-size:11px;padding-block:11px}.explorer-scope{font-size:9px}.explorer-bottom{display:block;text-align:center;margin-top:23px;padding-top:16px}.explorer-bottom p{font-size:11px}.explorer-bottom .text-link{font-size:11px;margin-top:4px}.brand-intro-section{margin-bottom:35px}.brand-intro summary{padding:15px;font-size:11px;gap:10px}.brand-intro summary small{font-size:8px}.brand-video-wrap{padding:0 12px 15px}}
@media(max-width:380px){.explorer-shell{padding-inline:15px}.explorer-heading h1{font-size:27px}.explorer-heading .eyebrow{font-size:6px}.explorer-top .text-link{font-size:8px;gap:5px}.area-panel{padding:20px}.area-panel h2{font-size:27px}.area-panel .button{font-size:9px;gap:8px}.brand-intro summary small{font-size:7px}.brand-intro summary{gap:7px;font-size:10px}.brand-intro summary .faq-icon{font-size:18px;width:15px}}

/* Hit regions follow the reference: branches, trunk, then roots.
   The overlay shares the artwork's exact aspect ratio at every screen size. */
.interactive-tree{min-width:0;display:flex;flex-direction:column;align-items:center}
.tree-canvas{position:relative;isolation:isolate;width:min(100%,461px);aspect-ratio:1310/1200}
.explorer-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 13px 18px #17245d15);pointer-events:none}
.tree-controls{position:absolute;inset:0;z-index:2}
.tree-hotspot{position:absolute;left:0;width:100%;height:33.3334%;border:0;padding:0;background:transparent;color:var(--navy);cursor:pointer;text-align:left;border-radius:14px;isolation:isolate}
.tree-hotspot--movement{top:0;--region-color:229,192,41}
.tree-hotspot--structure{top:33.3333%;--region-color:77,102,213}
.tree-hotspot--sensory{top:66.6666%;--region-color:184,92,183}
.tree-hotspot::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgba(var(--region-color),0);box-shadow:inset 0 0 0 1px rgba(var(--region-color),0);transition:background .18s,box-shadow .18s}
.tree-hotspot[aria-pressed="true"]::before{background:rgba(var(--region-color),.1);box-shadow:inset 0 0 0 1px rgba(var(--region-color),.36)}
@media(hover:hover){.tree-hotspot:hover::before{background:rgba(var(--region-color),.23);box-shadow:inset 0 0 0 2px rgba(var(--region-color),.65)}}
.tree-hotspot:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.tree-hotspot:focus-visible::before{background:rgba(var(--region-color),.23)}
.tree-hotspot:active::before{background:rgba(var(--region-color),.3)}
.tree-hotspot-label{position:absolute;top:50%;left:12px;transform:translateY(-50%);display:flex;align-items:center;gap:9px;max-width:210px;padding:11px 13px;border:1px solid rgba(31,45,101,.12);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px #17245d15;font-size:11px;font-weight:800;line-height:1.35;pointer-events:none}
.tree-hotspot--structure .tree-hotspot-label{left:auto;right:12px}
.tree-hotspot[aria-pressed="true"] .tree-hotspot-label{border-color:var(--navy)}
.tree-hotspot small{display:block;text-transform:uppercase;font-size:7px;letter-spacing:.13em;font-weight:700;color:var(--text);margin-bottom:4px}
.hotspot-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:rgb(var(--region-color));box-shadow:0 0 0 4px rgba(var(--region-color),.13)}
.tree-hotspot-label>span:last-child{font-size:16px;color:var(--navy)}
.tree-visual-note{text-align:center;font-size:9px;color:var(--text);margin-top:15px}
@media(max-width:1080px){.tree-hotspot-label{font-size:9px;max-width:175px;padding:9px 10px;gap:7px}.tree-hotspot small{font-size:6px}}
@media(max-width:760px){.tree-hotspot-label{left:7px;font-size:9px;max-width:170px;padding:9px 10px}.tree-hotspot--structure .tree-hotspot-label{right:7px}.tree-visual-note{font-size:8px}}
@media(max-width:380px){.tree-hotspot-label{font-size:8px;max-width:151px;gap:6px;padding:8px}.hotspot-dot{width:6px;height:6px}.tree-hotspot-label>span:last-child{font-size:13px}}
