/* 8 Furlong Consulting — location-town.css (locations-irmo, locations-chapin, locations-lexington) */

.tw-narrow { max-width: 760px; margin-left: auto; margin-right: auto; }
.tw-center { text-align: center; }
.tw-head { margin-bottom: 32px; text-align: center; }

/* Hero (image variant, shared shell classnames defined per-template) */
.pg-hero--img { position: relative; overflow: hidden; display: flex; align-items: flex-end; min-height: 74svh; background: var(--navy-soft); }
.pg-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pg-hero__scrim { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(29,35,39,.55) 0%, rgba(29,35,39,.42) 45%, rgba(29,35,39,.66) 100%); }
.pg-hero__content { position: relative; padding: 120px var(--pad-side) 48px; }
.pg-hero__content h1 { color: var(--white); }
.pg-hero__content .lede { color: var(--cream); margin-top: 22px; max-width: 68ch; }
.tw-hero__nap { font-size: 13.5px; color: var(--muted); margin-top: 26px; line-height: 1.8; }
.tw-hero__nap b { color: var(--cream); font-weight: 600; }
.tw-hero__nap a { color: var(--muted); }
.tw-hero__nap a:hover { color: var(--white); }

.tw-roots h2, .tw-clients h2 { margin-bottom: 4px; }
.tw-roots p, .tw-clients p { margin-top: 20px; }

.tw-pillar-grid { display: grid; gap: 20px; max-width: 1240px; margin: 0 auto; }
.tw-pillar { display: flex; flex-direction: column; padding: 26px 26px 28px; }
.tw-pillar__name { font-family: var(--font-display); font-weight: 600; font-size: 21px; color: var(--navy); line-height: 1.25; }
.tw-pillar__name .arr { color: var(--tan); display: inline-block; }
.tw-pillar__body { font-size: 14px; line-height: 1.7; margin-top: 12px; }
.tw-note { max-width: 760px; margin: 32px auto 0; text-align: center; }

.tw-why__grid { display: grid; gap: 32px; }
.tw-why__body p { margin-top: 20px; }
.tw-why__media img { border-radius: var(--radius-card); width: 100%; height: auto; }

.tw-nap { font-style: normal; margin-top: 22px; line-height: 1.8; }
.tw-nap b { font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--navy); }
.tw-lines { margin-top: 16px; line-height: 1.9; }
.tw-lines b { color: var(--navy); font-weight: 600; }
.tw-visit p { margin-top: 16px; }
.tw-visit h2 { margin-bottom: 6px; }

.tw-closer p { max-width: 56ch; margin: 22px auto 0; }
.tw-closer .btn { margin-top: 32px; }

@media (min-width: 768px) {
  .tw-pillar-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .pg-hero--img { min-height: 80vh; }
  .pg-hero__content { padding-bottom: 64px; }
  .tw-pillar-grid { grid-template-columns: repeat(4, 1fr); }
  /* Serpentine: why/story sections — copy left, image right */
  .tw-why__grid { grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
  .tw-why__media { position: relative; }
  .tw-why__media::after { content: ""; position: absolute; right: -14px; bottom: -14px; left: 34px; top: 34px; border: 1px solid #D8C9AE; border-radius: var(--radius-card); z-index: -1; }
}
