/* Selected V2 scene + symmetric inn V4. Source color and a single registered canvas. */
#home.forest-home-v7{height:100svh;min-height:420px;background:#181818;isolation:isolate;overflow:hidden}
#home.forest-home-v7 .forest-scene{position:absolute;inset:0;overflow:hidden;filter:none;transform:none}
.forest-home-v7 .forest-plane{position:absolute;inset:0;z-index:0;pointer-events:none}
.forest-home-v7 .forest-sprite{position:absolute;display:block;max-width:none;object-fit:fill;filter:none;pointer-events:none;user-select:none;mask-image:none}
#home.forest-home-v7 .scene-node{position:absolute;inset:auto;z-index:20;display:block;min-width:0;max-width:none;filter:none;pointer-events:none}
#home.forest-home-v7 .scene-node .prop-art{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none;filter:none;transform:none;clip-path:none;opacity:1;pointer-events:auto;cursor:pointer;touch-action:manipulation}
#home.forest-home-v7 .scene-node .prop-art:before,#home.forest-home-v7 .scene-node .prop-art:after{display:none}
#home.forest-home-v7 .scene-node .prop-art:focus-visible{outline:1px solid #ece9c4;outline-offset:6px;background:#f4df9f08}
#home.forest-home-v7 .home-shade{display:block;position:absolute;inset:0;z-index:18;pointer-events:none;background:radial-gradient(ellipse 46% 30% at 0% 0%,#0009 0%,#0004 38%,#0000 100%),radial-gradient(ellipse 38% 27% at 100% 0%,#0009 0%,#0004 38%,#0000 100%),radial-gradient(ellipse 46% 21% at 0% 100%,#000a 0%,#0005 38%,#0000 100%),radial-gradient(ellipse 38% 21% at 100% 100%,#000a 0%,#0005 38%,#0000 100%)}
#home.forest-home-v7 .scene-dots{z-index:21}
#home.forest-home-v7 .portal-overlays{z-index:22}
#home.forest-home-v7 .scene-guides{z-index:20}
#home.forest-home-v7 .scene-hint{z-index:23;color:#fffce1;bottom:max(25px,env(safe-area-inset-bottom));text-shadow:0 1px 7px #000;font-size:11px}
body[data-view=home] .site-header{padding-top:max(25px,env(safe-area-inset-top));background:none}
body[data-view=home] .experience-controls{z-index:45;bottom:max(20px,env(safe-area-inset-bottom))}
body[data-view=home] .experience-controls button{min-height:44px!important;min-width:44px!important;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.forest-home-v7 .portal-info a{color:#fffdeb;border-color:#efe3b57a;background:#182619c4;backdrop-filter:blur(10px)}
@media(max-width:600px){
 #home.forest-home-v7{min-height:520px}
 #home.forest-home-v7 .scene-hint{left:20px;right:auto;bottom:max(29px,env(safe-area-inset-bottom));font-size:10px;text-align:left;transform:none;max-width:calc(100% - 132px)}
 body[data-view=home] .site-header{padding-left:20px;padding-right:20px}
 #home.forest-home-v7 .portal-info a{min-height:48px;padding:12px 14px;font-size:12px}
}
@media(max-height:520px) and (min-aspect-ratio:115/100){
 #home.forest-home-v7{min-height:320px}
 #home.forest-home-v7 .scene-hint{bottom:16px}
 body[data-view=home] .site-header{padding-top:15px}
}
@media(prefers-reduced-motion:reduce){.forest-home-v7 *{animation:none!important}}
#home.forest-home-v7:has(.node-autumn.portal-lit) .scene-dot[href="#autumn"] .guide-ring,
#home.forest-home-v7:has(.node-spring.portal-lit) .scene-dot[href="#spring"] .guide-ring,
#home.forest-home-v7:has(.node-summer.portal-lit) .scene-dot[href="#summer"] .guide-ring,
#home.forest-home-v7:has(.node-winter.portal-lit) .scene-dot[href="#winter"] .guide-ring{border-color:#bff55c;box-shadow:0 0 10px #bff55c33;transform:scale(1.12)}/* Portrait follows the supplied tall reference: canopy above, inn and four
   entrances below. Subject shapes keep their aspect ratios in home-depth.js. */
#home.forest-home-v7[data-composition=portrait]{background-image:none;background-size:100% 100%}
@media(max-width:600px){
 #home.forest-home-v7{min-height:min(520px,100svh)}
 body[data-view=home] .site-header{padding-top:max(18px,env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
 body[data-view=home] .brand .bf-brand{--bf-brand-unit:.76px}
 body[data-view=home] .experience-controls{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));gap:8px}
 #home.forest-home-v7 .scene-hint{left:max(18px,env(safe-area-inset-left));bottom:max(30px,env(safe-area-inset-bottom));letter-spacing:.04em;font-size:10px}
}

body[data-view=home] .experience-controls button{color:#f5f1e5}
body[data-view=home] .experience-controls button svg{filter:drop-shadow(0 1px 2px #0009)}
body[data-view=home] .experience-controls button:hover{color:#fffdeb}

/* Small dotted signs retain the existing circular, 46px interaction targets. */
#home .guide-ring{width:32px;height:32px;display:grid;place-items:center;background:#19191970;border-color:#efe9d280;box-shadow:0 1px 5px #0007}
#home .guide-ring:before{inset:-4px;border-color:#efe9d22e}
#home .portal-led{width:24px;height:24px;fill:#f5f1e5;stroke:none;overflow:visible}
#home .scene-dot:is(:hover,:focus-visible,[aria-expanded=true]) .led-accent{fill:#bff55c}
body:not(.motion-off) #home .scene-dot:is(:hover,:focus-visible) .led-inn .led-accent{animation:led-light .7s ease-out both}
body:not(.motion-off) #home .scene-dot:is(:hover,:focus-visible) .led-paw .led-accent{animation:led-sprout .55s ease-out both;transform-box:fill-box;transform-origin:center}
body:not(.motion-off) #home .scene-dot:is(:hover,:focus-visible) .led-seed .led-accent{animation:led-sprout .55s ease-out both;transform-box:fill-box;transform-origin:center bottom}
body:not(.motion-off) #home .scene-dot:is(:hover,:focus-visible) .led-sound .led-accent{animation:led-light .65s ease-in-out var(--led-delay) 2 both}
@keyframes led-light{0%,100%{opacity:1}45%{opacity:.3}}
@keyframes led-blink{0%,30%,70%,100%{opacity:1}45%,55%{opacity:.08}}
@keyframes led-sprout{from{transform:translateY(2px);opacity:.3}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#home .portal-led .led-accent{animation:none!important}}
#home .portal-led{filter:drop-shadow(0 0 .6px #fff9)}

/* Broken white orbit: faint stationary arcs and a slowly circulating bright segment. */
#home .guide-ring{border:0;background:#19191965;box-shadow:0 1px 5px #0007;color:#f5f1e5}
#home .guide-ring:before{content:none}
#home .portal-orbit{position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-50%);overflow:visible;fill:none;stroke:currentColor;pointer-events:none}
#home .orbit-track{stroke-width:.65;stroke-opacity:.35;stroke-dasharray:28 8 5 12 14 33;transform:rotate(-25deg);transform-origin:20px 20px}
#home .orbit-comet{stroke-width:1.15;stroke-dasharray:19 81;stroke-linecap:round;stroke-opacity:.95}
#home .orbit-spark{fill:currentColor;stroke:none}
#home .orbit-flow{transform-origin:20px 20px;animation:portal-orbit-flow 10s linear infinite}
#home .scene-dot[href="#spring"] .orbit-flow{animation-delay:-2.5s}
#home .scene-dot[href="#summer"] .orbit-flow{animation-delay:-5s}
#home .scene-dot[href="#winter"] .orbit-flow{animation-delay:-7.5s}
#home .scene-dot:is(:hover,:focus-visible,[aria-expanded=true]) .guide-ring{color:#bff55c}
#home .scene-dot:is(:hover,:focus-visible,[aria-expanded=true]) .portal-led{fill:#bff55c;filter:drop-shadow(0 0 1px #bff55c88)}
#home[data-visual-motion=off] .orbit-flow{animation-play-state:paused}
@keyframes portal-orbit-flow{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#home .orbit-flow{animation:none!important}}

/* Horizontal navigation opens toward the brand; neutral charcoal replaces green panels. */
body[data-view=home] .navigation{position:relative;gap:0;isolation:isolate;color:#faf8f2}
body[data-view=home] .navigation:before{content:'';position:absolute;inset:-12px -14px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at right,#171717c9,transparent 72%)}
body[data-view=home] .menu-button{position:relative;width:46px;color:#faf8f2}
body[data-view=home] .menu-button:before{content:none}
body[data-view=home] .menu-button span{height:1.5px;width:23px;box-shadow:0 1px 3px #000}
body[data-view=home] #main-navigation{position:absolute;right:calc(100% + 10px);top:0;height:46px;display:flex;align-items:center;flex-direction:row;gap:20px;padding:0 18px;min-width:0;white-space:nowrap;border:0;border-radius:0;background:linear-gradient(90deg,#19191900,#191919e6 14%,#191919e6 86%,#19191900);box-shadow:none;animation:nav-slide-left .32s cubic-bezier(.16,1,.3,1) both;transform-origin:right center}
body[data-view=home] #main-navigation:after{content:'';position:absolute;left:20px;right:20px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#faf8f24d,transparent)}
body[data-view=home] #main-navigation a{display:flex;align-items:center;min-height:44px;font-size:13px;letter-spacing:.08em;text-shadow:0 1px 2px #000;position:relative}
body[data-view=home] #main-navigation a+a{border:0}
body[data-view=home] #main-navigation a:is(:hover,:focus-visible){color:#bff55c}
@keyframes nav-slide-left{from{opacity:0;transform:translateX(16px);clip-path:inset(0 0 0 100%)}to{opacity:1;transform:translateX(0);clip-path:inset(0)}}
@media(max-width:360px){
 body[data-view=home]:has(.menu-button[aria-expanded=true]) .brand .bf-brand__words{visibility:hidden}
 body[data-view=home] #main-navigation{right:calc(100% + 4px);gap:18px;padding:0 14px}
}
/* Compact numbered wayfinding tags, with a single precise action edge. */
#home.forest-home-v7 .portal-info{perspective:none;animation:portal-tag-arrive .24s ease-out both}
#home.forest-home-v7 .portal-info a{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;gap:12px;align-items:center;min-height:74px;min-width:202px;max-width:calc(100vw - 36px);padding:14px 16px;color:#faf8f2;background:#191919f2;border:0;border-top:1px solid #faf8f240;box-shadow:0 5px 18px #0003;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;text-shadow:none;letter-spacing:0;white-space:nowrap;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}
#home.forest-home-v7 .portal-info a:before{display:block;position:absolute;left:0;top:auto;bottom:0;width:26px;height:1px;background:#bff55c;border:0}
#home.forest-home-v7 .portal-info a:after,#home .portal-info .optical-edge{display:none}
#home .portal-number{align-self:start;padding-top:3px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.06em;color:#c2beb6}
#home .portal-copy{display:flex;flex-direction:column;gap:7px}
#home .portal-text{font-size:14px;line-height:1.2;font-weight:400;letter-spacing:.045em;animation:none}
#home .portal-invitation{font-size:10px;line-height:1.2;letter-spacing:.16em;color:#b6b3ad}
#home .portal-enter{width:28px;height:28px;display:grid;place-items:center;border-left:1px solid #faf8f22e;color:#bff55c}
#home .portal-info a .portal-enter svg{width:16px;height:16px;opacity:1;transition:transform .2s ease}
#home .portal-info a:is(:hover,:focus-visible){background:#242424;border-top-color:#bff55c}
#home .portal-info a:is(:hover,:focus-visible) .portal-enter svg{transform:translateX(3px)}
#home .portal-info a:focus-visible{outline:2px solid #bff55c;outline-offset:-3px}
#home .scene-guides [data-panel-guide]{stroke:#faf8f2b3;stroke-width:.75;filter:drop-shadow(0 1px 2px #000);stroke-dasharray:none}
@keyframes portal-tag-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body[data-view=home] #main-navigation,#home.forest-home-v7 .portal-info{animation:none!important}#home .portal-enter svg{transition:none}}
/* Separate model-review mode preserves the approved image composition for comparison. */
.home-model-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:15;pointer-events:none}
#home.models-ready .forest-plane{visibility:hidden}
.model-review-note{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:46;display:flex;gap:12px;align-items:center;padding:8px 12px;background:#191919eb;color:#f5f1e5;font-size:10px;white-space:nowrap}
.model-review-note a{color:#bff55c;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.model-review-note{bottom:68px;font-size:9px;gap:8px}}
/* Neutral site canvas; the forest retains its source painting colors. */
html,body{background-color:#181818}
#home.forest-home-v7{background-color:#181818}

/* The original orbit remains visible at rest and follows the scene controls. */
#home:is([data-forest-state="paused"],[data-forest-state="original"],[hidden]) .orbit-flow,
body.page-hidden #home .orbit-flow{animation-play-state:paused}
