/* A single shared neighborhood story for NALA, Cassia, and OLLO. */
.location-section {
  position: relative;
  padding-top: 88px;
  padding-bottom: 94px;
  scroll-margin-top: 95px;
  background: radial-gradient(ellipse at 7% 0%, rgba(195,229,213,.58), transparent 53%),
    linear-gradient(160deg,#eff6f0,#e3eee8 75%,#eaf3eb);
}
.location-intro {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: end;
  gap: 42px;
  margin-bottom: 32px;
}
.location-intro h2 {color:#16493d;line-height:1.12;margin:21px 0 0}
.location-intro h2 em {color:#78a88f}
.location-intro>p {max-width:390px;margin:0 0 4px;font-size:13px;line-height:1.85;color:#5f8074}
.location-layout {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:19px;align-items:stretch}
.location-map-panel {
  min-width:0;
  padding:13px;
  border:1px solid rgba(255,255,255,.98);
  border-radius:31px;
  background:linear-gradient(145deg,rgba(255,255,255,.77),rgba(235,249,240,.52));
  box-shadow:0 24px 64px rgba(17,81,60,.12),inset 0 1px rgba(255,255,255,.9);
}
.location-map-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 8px 16px}
.location-map-label{font-size:11px;font-weight:700;letter-spacing:.17em;color:#255e4f;display:inline-flex;align-items:center;gap:9px}
.location-map-label-dot{width:7px;height:7px;border-radius:50%;background:#64a18a;box-shadow:0 0 0 5px rgba(100,161,138,.15)}
.location-map-meta{font-size:9px;letter-spacing:.12em;color:#8aa498}
.location-image-link:focus-visible,.location-actions a:focus-visible {outline:3px solid #8cc7a9;outline-offset:3px}
.location-image-link {display:block;overflow:hidden;border-radius:19px;border:1px solid rgba(255,255,255,.65);background:#e7f2eb}
.location-image-link picture{display:block}
.location-image-link img {display:block;width:100%;height:auto;aspect-ratio:1120 / 640;object-fit:cover;transition:transform .35s ease}
.location-image-link:hover img {transform:scale(1.012)}
.location-caption {display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 10px 7px}
.location-caption strong {font-size:12px;color:#27584a;font-weight:700}
.location-caption>span {font-size:10px;color:#719486}
.location-story {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:33px 30px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:30px;
  background:radial-gradient(ellipse at 95% 0%,rgba(112,169,128,.26),transparent 60%),linear-gradient(145deg,#174a3d,#0b3b34);
  box-shadow:0 23px 55px rgba(12,64,51,.16);
  color:#f4faf4;
}
.location-story-kicker {font-size:10px;letter-spacing:.2em;font-weight:700;color:#c1e5d3}
.location-story h3 {margin:24px 0 15px;font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.16;color:#fff}
.location-story h3 em {color:#c4dfd0}
.location-story>p {font-size:12px;color:#d4e7dc;line-height:1.85;margin:0 0 24px}
.location-points {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:27px}
.location-points span {padding:9px 12px;border-radius:99px;background:rgba(230,250,236,.12);border:1px solid rgba(230,250,236,.21);font-size:10px;color:#e2f3e8;line-height:1.2}
.location-actions {display:flex;flex-wrap:wrap;align-items:center;gap:17px;margin-top:auto}
.location-map-button {background:#e9f5ed;color:#145241;border-color:rgba(255,255,255,.75);font-size:11px;padding:12px 17px;text-decoration:none}
.location-survey-link {display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;text-decoration:none;color:#e8faf0;border-bottom:1px solid rgba(229,249,237,.55);padding-bottom:6px}
.location-disclaimer {display:block;margin-top:24px;font-size:9px;line-height:1.65;color:#a6c8b8}
@media(max-width:920px) {
  .location-intro {gap:23px}
  .location-layout {grid-template-columns:1fr}
  .location-story {padding:27px}
  .location-story h3 {font-size:2.6rem}
}
@media(max-width:600px) {
  .location-section {padding-top:55px;padding-bottom:57px}
  .location-intro {grid-template-columns:1fr;gap:11px;margin-bottom:22px}
  .location-intro h2 {margin-top:17px;font-size:clamp(2.6rem,11vw,3.8rem)}
  .location-intro>p {font-size:12px;line-height:1.75}
  .location-layout {gap:13px}
  .location-map-panel {padding:8px;border-radius:23px}
  .location-map-topline{padding:12px 10px 13px}
  .location-map-label{font-size:10px;letter-spacing:.12em}
  .location-map-meta{font-size:8px;letter-spacing:0}
  .location-image-link {border-radius:15px}
  .location-image-link img{aspect-ratio:7 / 9;object-fit:contain}
  .location-caption {align-items:flex-start;flex-direction:column;gap:4px;padding:11px 9px 6px}
  .location-caption>span {font-size:9px}
  .location-story {padding:24px 20px;border-radius:24px}
  .location-story h3 {font-size:2.5rem;margin:18px 0 12px}
  .location-story>p {margin-bottom:18px}
  .location-points {gap:6px;margin-bottom:22px}
  .location-points span {font-size:9px;padding:8px 10px}
  .location-actions {gap:16px}
  .location-disclaimer {margin-top:18px}
}
@media(prefers-reduced-motion:reduce) {.location-image-link img {transition:none}}
