@media (max-width:1100px){.nav a{padding:.5rem .5rem;font-size:.72rem}.viewer-btn span{display:none}}
@media (max-width:959px){
  .menu-btn{display:block}.viewer-btn{display:none}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--forest);flex-direction:column;padding:.5rem 1rem 1rem;display:none;border-bottom:3px solid var(--gold)}
  .site-header.open .nav{display:flex}.nav a{font-size:.9rem;padding:.8rem 1rem}
  .hero{grid-template-columns:1fr;padding:2.5rem 1rem 3.5rem}.hero__tri{max-width:520px}
  .band__grid,.steps{grid-template-columns:1fr}
  .map-layout{grid-template-columns:1fr}.panel{position:static;max-height:none}
  .map-canvas{min-width:720px}
}
@media (max-width:480px){
  body{font-size:.95rem}.brand{font-size:1rem}.hero h1{font-size:clamp(2.6rem,15vw,4rem)}
  .btn{width:100%;justify-content:center}.seg .btn,.tab,.fbtn{width:auto}.seg{width:100%}.seg .btn{flex:1}
  .opt{padding:.9rem}.rcard{padding:1rem}.grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.map-canvas{min-width:680px}
  .panel{padding:1rem}.map-head__tools{width:100%}.lb__nav .btn{width:auto}
}
@media (max-width:340px){.hero__tri{gap:.4rem}.tri figcaption{font-size:.6rem}}
