/* Central Florida Google Maps atlas — authentic map tiles, not SVG fake geography */
:root{
  --atlas-ink:#0e1f1a;
  --atlas-panel:#102820;
  --atlas-brass:#c49a52;
  --atlas-cream:#f7f3ea;
  --atlas-line:rgba(196,154,82,.35);
  --atlas-muted:#9bb5ab;
}
.atlas-hero{
  background:
    radial-gradient(1200px 500px at 80% -10%, rgba(196,154,82,.18), transparent 60%),
    linear-gradient(165deg, #0c1c18 0%, #14332b 48%, #0f241e 100%);
  color:#e8f2ee;
  padding:48px 0 36px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.atlas-hero .wrap{max-width:1140px}
.atlas-hero .crumb a{color:#b7d0c6}
.atlas-hero .crumb{color:#7f9e94;margin:0 0 18px;font-size:.88rem}
.atlas-hero .eyebrow{color:var(--atlas-brass);margin-bottom:.85rem}
.atlas-hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.35rem);max-width:22ch}
.atlas-hero .lede{color:#b7cfc6;font-size:1.08rem;max-width:42rem;margin:1rem 0 1.4rem}
.atlas-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}
.atlas-hero .btn-primary{background:var(--atlas-brass);color:#122018;border-color:transparent}
.atlas-hero .btn-primary:hover{background:#d4ae68;color:#0c1814}
.atlas-hero .btn-ghost{border-color:rgba(232,242,238,.35);color:#e8f2ee}
.atlas-hero .btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff}

.atlas-shell{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);
  gap:18px;
  align-items:stretch;
  margin-top:28px;
}
.atlas-map-panel{
  position:relative;
  background:#0a1a16;
  border:1px solid var(--atlas-line);
  border-radius:4px;
  min-height:480px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.atlas-map-panel:focus-within{outline:2px solid var(--atlas-brass);outline-offset:3px}
.atlas-gmap{
  display:block;
  width:100%;
  height:100%;
  min-height:480px;
  border:0;
  background:#0a1a16;
}
.atlas-map-chrome{
  position:absolute;left:12px;top:12px;right:12px;
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  pointer-events:none;z-index:2;
}
.atlas-map-badge{
  pointer-events:none;
  background:rgba(12,28,24,.88);
  border:1px solid rgba(196,154,82,.4);
  color:#e8f2ee;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 12px;border-radius:2px;
}
.atlas-hint{
  position:absolute;left:14px;bottom:12px;right:14px;z-index:2;
  font-size:.78rem;color:#9bb5ab;margin:0;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:linear-gradient(180deg,transparent,rgba(10,26,22,.75));
  padding:28px 4px 4px;
  pointer-events:none;
}
.atlas-side{
  background:rgba(10,28,24,.55);
  border:1px solid var(--atlas-line);
  border-radius:4px;
  padding:18px 16px;
  display:flex;flex-direction:column;gap:12px;
  min-height:480px;
}
.atlas-side h2{color:#fff;font-size:1.28rem;margin:0}
.atlas-side p{color:#b7cfc6;margin:0;font-size:.92rem}
.atlas-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.atlas-meta div{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  padding:12px 12px 10px;border-radius:3px;
}
.atlas-meta span{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--atlas-brass);font-weight:700;margin-bottom:4px}
.atlas-meta strong{color:#fff;font-weight:600;font-size:.9rem}
.atlas-side .btn{align-self:flex-start;margin-top:2px}
.atlas-kbd{font-size:.75rem;color:#809990;margin:0}

.atlas-filters{
  display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px;
}
.atlas-filter{
  appearance:none;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);color:#cfe0d9;
  font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:7px 10px;border-radius:2px;cursor:pointer;
}
.atlas-filter[aria-pressed="true"],
.atlas-filter:hover{
  border-color:var(--atlas-brass);color:#fff;background:rgba(196,154,82,.16);
}
.atlas-filter:focus-visible{outline:2px solid var(--atlas-brass);outline-offset:2px}

.atlas-place-list{
  list-style:none;margin:0;padding:0;
  overflow:auto;max-height:280px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:3px;
  background:rgba(0,0,0,.18);
  flex:1 1 auto;
}
.atlas-place-list li{margin:0;border-bottom:1px solid rgba(255,255,255,.06)}
.atlas-place-list li:last-child{border-bottom:0}
.atlas-place{
  display:block;width:100%;text-align:left;
  background:transparent;border:0;color:#dceee7;
  font:inherit;padding:11px 12px;cursor:pointer;
}
.atlas-place:hover,
.atlas-place:focus-visible{
  background:rgba(196,154,82,.12);outline:none;
}
.atlas-place.is-active{
  background:rgba(45,106,88,.45);
  box-shadow:inset 3px 0 0 var(--atlas-brass);
}
.atlas-place b{display:block;font-size:.92rem;font-weight:600;color:#fff}
.atlas-place span{display:block;font-size:.75rem;color:#9bb5ab;margin-top:2px}

/* Optional subtle CSS-3D cards */
.atlas-tiles{perspective:1400px;margin:28px 0 8px}
.atlas-tiles-track{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;transform-style:preserve-3d;
}
.atlas-tile{
  position:relative;display:block;text-decoration:none;color:inherit;
  background:linear-gradient(160deg,#16362e,#0f241f);
  border:1px solid rgba(196,154,82,.28);border-radius:4px;min-height:158px;
  padding:20px 18px 18px;
  transform:rotateX(6deg) rotateY(-3deg) translateZ(0);
  transition:transform .25s ease,border-color .2s ease,box-shadow .25s ease;
  box-shadow:0 18px 36px rgba(0,0,0,.28);overflow:hidden;
}
.atlas-tile::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(196,154,82,.12),transparent 55%);pointer-events:none;
}
.atlas-tile:hover,.atlas-tile:focus-visible{
  transform:rotateX(1deg) rotateY(0deg) translateY(-4px) scale(1.01);
  border-color:var(--atlas-brass);box-shadow:0 26px 48px rgba(0,0,0,.4);outline:none;
}
.atlas-tile span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--atlas-brass);font-weight:700;margin-bottom:10px}
.atlas-tile h3{color:#fff;font-size:1.15rem;margin:0 0 8px;position:relative}
.atlas-tile p{color:#a9c4ba;font-size:.88rem;margin:0;position:relative;line-height:1.45}
.atlas-tile b{display:inline-block;margin-top:14px;color:#e8f2ee;font-size:.86rem;position:relative}

.atlas-body{background:var(--cream,#faf7f1);color:var(--ink,#16211e)}
.atlas-body .wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.atlas-answer{
  background:#fff;border:1px solid var(--line,#e2dbcd);border-left:4px solid var(--brass,#b08640);
  padding:22px 24px;margin:28px 0;border-radius:2px;
}
.atlas-answer h2{margin:0 0 10px;font-size:1.35rem}
.atlas-answer p{margin:0;color:var(--ink-soft,#4a5a55)}
.atlas-compare{width:100%;border-collapse:collapse;font-size:.92rem;margin:18px 0 8px;background:#fff}
.atlas-compare th,.atlas-compare td{border:1px solid var(--line,#e2dbcd);padding:12px 14px;text-align:left;vertical-align:top}
.atlas-compare th{background:#f2ece1;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#3d4f48}
.atlas-compare td strong{display:block;color:var(--green,#1c3d34);margin-bottom:4px}
.atlas-markets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.atlas-market-card{
  background:#fff;border:1px solid var(--line,#e2dbcd);padding:20px 18px;border-radius:2px;
  text-decoration:none;color:inherit;display:block;transition:border-color .15s ease,transform .15s ease;
}
.atlas-market-card:hover{border-color:var(--brass,#b08640);transform:translateY(-2px)}
.atlas-market-card span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass,#b08640);font-weight:700}
.atlas-market-card h3{margin:8px 0 8px;font-size:1.15rem}
.atlas-market-card p{margin:0;color:var(--ink-soft,#4a5a55);font-size:.92rem}

.atlas-comm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.atlas-comm{
  background:#fff;border:1px solid var(--line,#e2dbcd);padding:18px 18px 16px;border-radius:2px;
}
.atlas-comm h3{margin:0 0 8px;font-size:1.08rem;color:var(--green,#1c3d34)}
.atlas-comm .tag{display:inline-block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brass,#b08640);font-weight:700;margin-bottom:8px}
.atlas-comm p{margin:0;color:var(--ink-soft,#4a5a55);font-size:.92rem}
.atlas-comm a.map-jump{display:inline-block;margin-top:10px;font-size:.86rem;font-weight:600}

.atlas-faq details{background:#fff;border:1px solid var(--line,#e2dbcd);padding:14px 18px;margin:0 0 10px;border-radius:2px}
.atlas-faq summary{cursor:pointer;font-weight:600;color:var(--green,#1c3d34);list-style:none}
.atlas-faq summary::-webkit-details-marker{display:none}
.atlas-faq summary::after{content:"+";float:right;color:var(--brass,#b08640)}
.atlas-faq details[open] summary::after{content:"–"}
.atlas-faq details p{margin:10px 0 0;color:var(--ink-soft,#4a5a55)}
.atlas-proof{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0 0;font-size:.92rem}
.atlas-section{padding:56px 0}
.atlas-section h2{margin:0 0 14px}
.atlas-section > .lede,.atlas-section > p{max-width:48rem}
.atlas-note{
  background:#f7f3ea;border:1px dashed #d4c8b0;padding:14px 16px;margin:18px 0;font-size:.9rem;color:#4a5a55;
}

@media(max-width:960px){
  .atlas-shell,.atlas-tiles-track,.atlas-markets,.atlas-comm-grid{grid-template-columns:1fr}
  .atlas-map-panel,.atlas-gmap,.atlas-side{min-height:360px}
  .atlas-place-list{max-height:220px}
  .atlas-tile{transform:none}
  .atlas-tile:hover,.atlas-tile:focus-visible{transform:translateY(-2px)}
  .atlas-compare{display:block;overflow-x:auto}
}
@media(prefers-reduced-motion:reduce){
  .atlas-tile,.atlas-market-card{transition:none}
  .atlas-tile{transform:none}
  .atlas-tile:hover,.atlas-tile:focus-visible{transform:none}
  html{scroll-behavior:auto}
}
