/* NORINGO v1.9 · PLANETARY HOMEPAGE HERO, CACHE-SAFE ISOLATED STAGE
   The 3D model and its SVG fallback occupy exactly the same bounded area.
   The original two-gear homepage model is no longer loaded or displayed. */
.hero-art--planetary {
  position:relative; isolation:isolate; align-self:center; display:flex; justify-content:center;
  align-items:center; margin:0; min-width:0; width:100%; max-width:100%; min-height:0; height:auto;
}
.hero-art--planetary:after {display:none}
.hero-art--planetary:before {pointer-events:none}
.hero-art--planetary .hero-planetary-stage {
  position:relative; isolation:isolate; width:100%; max-width:680px; min-width:0;
  height:auto; min-height:0; aspect-ratio:1/1; overflow:hidden;
  background:radial-gradient(ellipse 52% 53% at 50% 48%,rgba(170,114,61,.19),transparent 74%),
  linear-gradient(rgba(242,193,115,.055) 1px,transparent 1px),
  linear-gradient(90deg,rgba(242,193,115,.055) 1px,transparent 1px);
  background-size:auto,39px 39px,39px 39px;
}
.hero-art--planetary .hero-planetary-stage:before {
 content:"";position:absolute;inset:10%;border:1px solid rgba(245,202,132,.14);
 border-radius:50%;box-shadow:0 0 0 36px rgba(249,190,92,.018),0 0 0 86px rgba(249,190,92,.012);
 pointer-events:none;z-index:0;
}
.hero-art--planetary .hero-planetary-stage:after {
 content:"";position:absolute;left:50%;top:10%;bottom:10%;border-left:1px dashed rgba(244,200,133,.1);pointer-events:none;
}
.hero-art--planetary .pl-backing,
.hero-art--planetary #planetary-canvas {
  position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;
  box-sizing:border-box;margin:0;transform:none;animation:none;
}
.hero-art--planetary .pl-backing {
  z-index:1;opacity:1;visibility:visible;object-fit:contain;
  padding:8% 4% 13%;pointer-events:none;filter:drop-shadow(0 24px 22px rgba(0,0,0,.23));transition:opacity .35s;
}
.hero-art--planetary #planetary-canvas {
  z-index:2;opacity:0;touch-action:pan-y;cursor:grab;outline-offset:-8px;transition:opacity .35s;
}
.hero-art--planetary .pl-stage.pl-ready #planetary-canvas {opacity:1}
.hero-art--planetary .pl-stage.pl-ready .pl-backing {opacity:0;visibility:hidden}
.hero-art--planetary .pl-stage.pl-fallback .pl-backing {opacity:1!important;visibility:visible!important;pointer-events:auto;cursor:grab;touch-action:pan-y}
.hero-art--planetary .pl-stage.pl-fallback #planetary-canvas {display:none!important}
.hero-art--planetary .pl-backing:focus-visible,
.hero-art--planetary #planetary-canvas:focus-visible,
.hero-art--planetary .hp-actions a:focus-visible,
.hero-art--planetary .hp-actions button:focus-visible {outline:2px solid #ffe2a0;outline-offset:3px}
.hp-topline {
  position:absolute;left:5%;top:7%;z-index:4;display:flex;align-items:center;gap:11px;
  font-size:clamp(.52rem,.7vw,.63rem);font-weight:800;line-height:1.4;letter-spacing:.135em;
  color:#f1cf9d;text-transform:uppercase;pointer-events:none;
}
.hp-indicator {width:9px;height:9px;flex:0 0 9px;background:#f2b466;border-radius:50%;box-shadow:0 0 0 4px rgba(242,180,102,.14)}
.hp-controlbar {
  position:absolute;z-index:4;left:4%;right:4%;bottom:5%;display:flex;align-items:center;
  justify-content:space-between;gap:12px 16px;flex-wrap:wrap;
  background:rgba(20,34,29,.78);border:1px solid rgba(251,203,137,.27);
  padding:9px 12px;backdrop-filter:blur(8px);border-radius:3px;
}
.hp-drag {color:#e2c59b;font-weight:800;font-size:.62rem;letter-spacing:.11em;white-space:nowrap}
.hp-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hp-actions .hp-button,.hp-actions .hp-lab-link {
  font-family:inherit;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  min-height:35px;padding:8px 10px;border-radius:2px;border:1px solid rgba(250,204,133,.34);
  background:rgba(226,176,97,.08);color:#f8e5c7;font-weight:750;font-size:.66rem;
  text-decoration:none;line-height:1.1;cursor:pointer;
}
.hp-actions .hp-button:hover,.hp-actions .hp-button[aria-pressed='true']{background:#deaa66;color:#19251c}
.hp-actions .hp-lab-link{background:#e8b261;border-color:#e8b261;color:#242b24;gap:7px}
.hp-actions .hp-lab-link:hover{background:#ffcf81}
.hp-internal{display:none!important}
.hp-sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
 margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1130px){
 .hero-art--planetary{max-width:650px}
 .hp-controlbar{bottom:4%}
}
@media(max-width:910px){
 .hero-art--planetary{height:auto;width:min(640px,100%);margin:0 auto;}
 .hero-art--planetary .hero-planetary-stage {width:100%;max-width:640px}
}
@media(max-width:680px){
 .hero-art--planetary{height:auto;width:100%;margin:0 auto;}
 .hp-controlbar{left:3%;right:3%;bottom:3%;padding:7px 9px;gap:6px}
 .hp-topline{top:5%;left:4%;max-width:95%;font-size:.48rem;letter-spacing:.085em}
 .hp-drag{font-size:.52rem}
 .hp-actions{gap:5px;width:100%;justify-content:space-between}
 .hp-actions .hp-button,.hp-actions .hp-lab-link{min-height:34px;padding:7px 8px;font-size:.60rem}
}
@media(max-width:359px){.hp-topline{font-size:.44rem}.hp-actions .hp-button,.hp-actions .hp-lab-link{font-size:.52rem;padding:6px}}
@media(prefers-reduced-motion:reduce){
 .hero-art--planetary .pl-backing,.hero-art--planetary #planetary-canvas{transition:none}
}
