/* ============================================================================
   Geo landing pages (AEO audit F1, 2026-08-27). Shared by every location
   page; loaded only on those pages via their Styles section.

   These pages exist to be RETRIEVED, not just read. Competitors were winning
   location queries on dedicated URLs with geography in the title tag while
   ArchitectNow ranked in organic and appeared in no local pack. So the layout
   is deliberately plain: question-shaped H2s, a direct answer under each, and
   a NAP block an engine can lift. Brand guide applies (DM Sans, hairlines over
   boxes, radius 12 controls / 16 cards, one flat red accent phrase per
   headline, no pills, no italic).
   ============================================================================ */

/* ---- Hero ---------------------------------------------------------------- */
.an-loc-hero {
  position: relative;
  background: var(--an-dark);
  color: #fff;
  padding: 144px 24px 72px;
  overflow: hidden;
}
.an-loc-hero__glow {
  position: absolute;
  top: -30%; right: -5%;
  width: 640px; height: 640px;
  border-radius: 999px;
  background: rgba(167,37,44,0.13);
  filter: blur(150px);
  pointer-events: none;
}
.an-loc-hero__inner {
  position: relative;
  max-width: 1300px;
  margin-inline: auto;
}
.an-loc-hero__h1 {
  font-weight: 800;
  font-size: 44px;
  line-height: 1.03;
  letter-spacing: -0.03em;
  color: #fff;
  margin-bottom: 24px;
  max-width: 900px;
}
.an-loc-hero .an-loc-hero__sub {
  font-size: 17px;
  color: rgba(255,255,255,0.62);
  line-height: 1.7;
  max-width: 620px;
  margin-bottom: 32px;
}
.an-loc-hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }

/* Proof bar. Hairline rule, not a card, not a pill. */
.an-loc-hero__proofbar {
  position: relative;
  max-width: 1300px;
  margin: 48px auto 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.an-loc-hero__proof-n {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.1;
}
.an-loc-hero__proof-l {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  margin-top: 4px;
  max-width: 190px;
  line-height: 1.5;
}

/* ---- Answer sections ----------------------------------------------------- */
/* The retrievable core. Each block is one buyer question and the direct
   answer, front-loaded: engines lift the first sentence, so it never opens
   with a hedge or a wind-up. */
.an-loc-answers {
  background: var(--an-paper);
  padding: 88px 24px;
}
.an-loc-answers__inner { max-width: 860px; margin-inline: auto; }
.an-loc-answers__h2 {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--an-ink);
  margin: 0 0 16px;
}
.an-loc-answers__block + .an-loc-answers__block {
  margin-top: 56px;
  border-top: 1px solid var(--an-border);
  padding-top: 56px;
}
.an-loc-answers .an-loc-answers__lead {
  font-size: 19px;
  line-height: 1.65;
  color: var(--an-gray-1);
  margin: 0 0 18px;
  font-weight: 500;
}
.an-loc-answers .an-loc-answers__p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--an-gray-3);
  margin: 0 0 14px;
}
.an-loc-answers__list {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.an-loc-answers__list li {
  position: relative;
  padding-left: 22px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--an-gray-3);
  margin-bottom: 10px;
}
.an-loc-answers__list li::before {
  content: "";
  position: absolute;
  left: 0; top: 11px;
  width: 8px; height: 1px;
  background: var(--an-red);
}

/* ---- NAP block ----------------------------------------------------------- */
/* Deliberately machine-plain. This is the block a local index reads, and it
   must match Bing Places and every directory listing character for character. */
.an-loc-nap {
  background: var(--an-white);
  padding: 72px 24px;
  border-top: 1px solid var(--an-border);
}
.an-loc-nap__inner {
  max-width: 860px;
  margin-inline: auto;
  display: grid;
  gap: 32px;
}
@media (min-width: 760px) { .an-loc-nap__inner { grid-template-columns: 1fr 1fr; } }
.an-loc-nap__h2 {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--an-ink);
  margin: 0 0 14px;
}
.an-loc-nap__line {
  font-size: 16px;
  line-height: 1.8;
  color: var(--an-gray-3);
  margin: 0;
}
.an-loc-nap__line a { color: var(--an-red); font-weight: 600; }
.an-loc-nap__label {
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--an-gray-4, #7A7B78);
  margin: 0 0 6px;
}

/* ---- FAQ ----------------------------------------------------------------- */
.an-loc-faq {
  background: var(--an-dark);
  color: #fff;
  padding: 88px 24px;
}
.an-loc-faq__inner { max-width: 860px; margin-inline: auto; }
.an-loc-faq__h2 {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 40px;
}
.an-loc-faq__item {
  border-top: 1px solid rgba(255,255,255,0.12);
  padding: 24px 0;
}
.an-loc-faq__item:last-child { border-bottom: 1px solid rgba(255,255,255,0.12); }
.an-loc-faq__q {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
  line-height: 1.4;
}
.an-loc-faq .an-loc-faq__a {
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,0.62);
  margin: 0;
}

/* ---- CTA ----------------------------------------------------------------- */
.an-loc-cta {
  background: var(--an-paper);
  padding: 80px 24px;
  text-align: center;
}
.an-loc-cta__inner { max-width: 680px; margin-inline: auto; }
.an-loc-cta__h2 {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--an-ink);
  margin: 0 0 16px;
}
.an-loc-cta .an-loc-cta__p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--an-gray-3);
  margin: 0 0 28px;
}

@media (max-width: 760px) {
  .an-loc-hero { padding: 120px 20px 56px; }
  .an-loc-hero__h1 { font-size: 32px; }
  .an-loc-answers, .an-loc-faq { padding: 64px 20px; }
  .an-loc-answers__h2, .an-loc-faq__h2, .an-loc-cta__h2 { font-size: 25px; }
}
