.forest-shell{padding:0;overflow:hidden;border-color:#315d34;background:#0d1510}
.forest-shell.card:hover{transform:none}
.forest-stage-wrap{position:relative;overflow:hidden;background:#081009}
.forest-stage{position:relative;width:100%;aspect-ratio:40/22;overflow:hidden;isolation:isolate;background:#72aa43;user-select:none}
.forest-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;z-index:0}
.forest-light{position:absolute;inset:0;z-index:3;pointer-events:none;background:
  radial-gradient(60% 42% at 50% 58%,rgba(255,246,166,.12),transparent 70%),
  linear-gradient(180deg,rgba(7,20,10,.02),transparent 25%,rgba(4,17,8,.12))}
.forest-info{display:grid;grid-template-columns:minmax(190px,.78fr) minmax(260px,1.22fr);gap:12px;padding:14px 17px;border-bottom:1px solid #315d34;background:linear-gradient(180deg,#13201a,#0e1712)}
.forest-info-card{padding:15px 18px;border:1px solid rgba(218,255,193,.28);border-radius:18px;background:linear-gradient(135deg,rgba(6,34,21,.94),rgba(4,22,12,.90));color:#f7fff1;box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10)}
.forest-hours-card{min-height:108px}
.forest-hours-card strong{display:block;font-size:clamp(28px,3.6vw,46px);line-height:.92;letter-spacing:-.055em}
.forest-hours-card span{display:block;margin-top:10px;color:#f0f8e7;font-size:clamp(13px,1.25vw,17px)}
.forest-rule-card{padding-top:14px;padding-bottom:15px}
.forest-rule-card p{margin:0 0 7px;color:#f7fff1;font-size:clamp(12px,1.15vw,15px);line-height:1.34}
.forest-rule-card em{display:block;margin-top:7px;color:#fff0ad;font-size:11px;font-style:normal;font-weight:800}
.forest-progress{height:10px;margin-top:9px;border-radius:99px;background:rgba(4,26,8,.72);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
.forest-progress>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#85dd3a,#35be65,#72d7ff);box-shadow:0 0 12px rgba(115,222,98,.42)}
.forest-tree-layer{position:absolute;inset:0;z-index:20;pointer-events:none}
.forest-tree{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(var(--s)*1%);aspect-ratio:64/72;transform:translate(-50%,-100%);transform-origin:50% 100%;background-image:url("assets/forest/forest-tree-atlas.png");background-size:1000% 100%;background-position:var(--sprite-x) 0;background-repeat:no-repeat;image-rendering:pixelated;filter:drop-shadow(0 2px 1px rgba(14,35,11,.40));isolation:isolate}
.forest-tree[data-species="cherry"],.forest-tree[data-species="violet"]{filter:drop-shadow(0 2px 1px rgba(14,35,11,.34)) saturate(1.05)}
.forest-tree[data-species="pine"]{filter:drop-shadow(0 2px 1px rgba(14,35,11,.42)) contrast(1.04)}
.forest-stats{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:11px 17px;border-top:1px solid #315d34;background:linear-gradient(180deg,#13201a,#0e1712)}
.forest-stats span{display:flex;flex-direction:column;line-height:1.05}
.forest-stats b{font-size:clamp(15px,2.4vw,19px);color:#f4fff0;letter-spacing:-.02em}
.forest-stats i{font-size:10px;color:#9fb89c;font-style:normal;text-transform:uppercase;letter-spacing:.05em}
.forest-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 17px;border-top:1px solid #315d34;background:linear-gradient(180deg,#152218,#0f1711)}
.forest-toolbar .cta{margin:0}
.forest-toolbar .btn{color:#d9e8d7}
.forest-toolbar .btn.on{border-color:#b8ed73;color:#e6ffb5}
.forest-demo-buttons{display:flex;gap:6px;flex-wrap:wrap}
.forest-toolbar-note{margin-left:auto;max-width:420px;color:#9caf9a;font-size:11px}
@media(max-width:760px){
  .forest-stage{aspect-ratio:40/30}
  .forest-info{grid-template-columns:1fr;gap:8px;padding:10px}
  .forest-info-card{padding:10px 13px;border-radius:16px}
  .forest-hours-card{min-height:auto}
  .forest-hours-card strong{font-size:31px}
  .forest-hours-card span{margin-top:6px;font-size:13px}
  .forest-rule-card p{font-size:11.5px;margin-bottom:5px}
  .forest-progress{height:8px}
  .forest-toolbar{align-items:stretch}
  .forest-toolbar .cta,.forest-toolbar .btn{flex:1 1 126px;justify-content:center;text-align:center}
  .forest-demo-buttons{flex:1 1 100%;display:grid;grid-template-columns:repeat(4,1fr)}
  .forest-toolbar-note{width:100%;max-width:none;text-align:center}
}
@media(max-width:430px){
  .forest-stage{aspect-ratio:40/32}
  .forest-rule-card p:nth-child(2){display:none}
  .forest-demo-buttons{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .forest-tree,.forest-progress>i{transition:none!important;animation:none!important}
}
