:root {
  --tll-ink: #101927;
  --tll-navy: #071d35;
  --tll-blue: #174f7a;
  --tll-red: #c92d2a;
  --tll-gold: #c89a46;
  --tll-paper: #f6f4ef;
  --tll-white: #fff;
  --tll-line: #d7e0e8;
  --tll-radius: 7px;
  --tll-shadow: 0 18px 52px rgba(7, 29, 53, .11);
}

html { overflow-x: hidden; }
body {
  color: var(--tll-ink);
  background: var(--tll-paper);
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body :where(h1, h2, h3, h4) { letter-spacing: 0; text-wrap: balance; }
body :where(p, li) { text-wrap: pretty; }
body :where(.wrap, .container) { width: min(1180px, calc(100% - 40px)); }

header { box-shadow: 0 1px 0 rgba(7, 29, 53, .04); }
header :where(.topbar, .header-inner) { min-height: 72px; }
header :where(.brand-mark, .logo-tile) {
  border: 1px solid rgba(7, 29, 53, .14);
  background: #fff;
  box-shadow: 0 6px 18px rgba(7, 29, 53, .08);
}
header :where(.brand-mark, .logo-tile) img { object-fit: contain; }
header nav a:not(.button):not(.primary-cta) {
  border-radius: 6px;
  text-decoration: none;
}
header nav a:not(.button):not(.primary-cta):hover,
header nav a:not(.button):not(.primary-cta):focus-visible {
  color: var(--tll-red);
  background: #eef4f8;
}

body :where(.button, .btn, .primary-cta, a.cta) {
  border-radius: var(--tll-radius);
  font-weight: 800;
  letter-spacing: 0;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
body :where(.button, .btn, .primary-cta, a.cta):hover { transform: translateY(-1px); }

main :where(a:not(.button):not(.btn):not(.primary-cta):not(.card):not(.tile)) {
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

body :where(.hero, .page-hero) { isolation: isolate; }
body :where(.hero-grid, .hero-inner) { position: relative; z-index: 1; }
body :where(.hero h1, .page-hero h1) { font-size: clamp(38px, 4.6vw, 60px); }
body :where(.hero-card, .lead-card, .form-card, .calculator-card) {
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: var(--tll-radius);
  box-shadow: var(--tll-shadow);
  backdrop-filter: blur(14px);
}

main :where(section) { scroll-margin-top: 110px; }
main :where(.card, .tile, .guide-card, .option-card, .resource-card) {
  border-radius: var(--tll-radius);
  border-color: var(--tll-line);
  box-shadow: 0 10px 28px rgba(7, 29, 53, .07);
}

main :where(form) {
  border-radius: var(--tll-radius);
}
main :where(input, select, textarea) {
  min-height: 48px;
  border: 1px solid #b8c7d3;
  border-radius: 5px;
  background: #fff;
  color: var(--tll-ink);
  font: inherit;
}
main :where(input, select, textarea):focus {
  border-color: var(--tll-blue);
  outline: 3px solid rgba(23, 79, 122, .16);
  outline-offset: 1px;
}
main label { color: var(--tll-navy); font-weight: 750; }

details {
  border-radius: var(--tll-radius);
  border-color: var(--tll-line);
  background: rgba(255,255,255,.68);
}
summary { cursor: pointer; color: var(--tll-navy); font-weight: 800; }

footer { border-top: 4px solid var(--tll-gold); }

@media (max-width: 820px) {
  body :where(.wrap, .container) { width: min(100% - 28px, 1180px); }
  .prebar { display: none; }
  header { position: relative; backdrop-filter: none; }
  header :where(.topbar, .header-inner) {
    min-height: 64px;
    align-items: center;
    gap: 10px;
    padding-block: 7px;
  }
  header :where(.brand-mark, .logo-tile) {
    width: 46px;
    height: 46px;
    min-width: 46px;
    flex-basis: 46px;
  }
  header :where(.brand-mark, .logo-tile) img { width: 40px; height: 40px; }
  header .brand-copy span { display: none; }
  header .brand-copy strong { font-size: 16px; }
  header nav {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 0 0 8px;
  }
  header nav a {
    min-height: 42px;
    justify-content: center;
    padding: 7px 5px;
    border: 1px solid var(--tll-line);
    background: #fff;
    font-size: 12px;
    text-align: center;
  }
  header nav a.button,
  header nav a.primary-cta {
    grid-column: span 3;
    color: #fff !important;
    border-color: var(--tll-red) !important;
    background: var(--tll-red) !important;
  }
  body :where(.hero, .page-hero) { min-height: auto; }
  body :where(.hero-grid, .hero-inner) {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 24px;
    padding-block: 42px 34px;
  }
  body :where(.hero h1, .page-hero h1) { font-size: clamp(34px, 10vw, 48px); }
  body :where(.hero-card, .lead-card, .form-card, .calculator-card) { box-shadow: 0 12px 30px rgba(7,29,53,.16); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* tll-agency-location-system-20260913
   Shared agency-level layer for Local Ledger location pages. */
:root {
  --tll-agency-navy: #071d35;
  --tll-agency-ink: #122234;
  --tll-agency-blue: #18516f;
  --tll-agency-red: #b72c2a;
  --tll-agency-gold: #c59a47;
  --tll-agency-mint: #dceee9;
  --tll-agency-sky: #dcebf3;
  --tll-agency-paper: #f7f5ef;
  --tll-agency-white: #ffffff;
  --tll-agency-muted: #526477;
  --tll-agency-line: #d8e2ea;
  --tll-market-accent: var(--tll-agency-red);
  --tll-market-accent-2: var(--tll-agency-blue);
  --tll-market-wash: #f5f8fa;
  --tll-market-dark: #071d35;
  --tll-market-name: "Local market";
}

html:has(link[rel="canonical"][href*="/areas-served/"]) {
  --tll-market-accent: #b72c2a;
  --tll-market-accent-2: #1c5b75;
  --tll-market-wash: #f7f5ef;
  --tll-market-name: "NC + SC";
}
html:has(link[rel="canonical"][href*="nexton"]),
html:has(link[rel="canonical"][href*="cane-bay"]),
html:has(link[rel="canonical"][href*="summerville"]) {
  --tll-market-accent: #b6402a;
  --tll-market-accent-2: #1f6c67;
  --tll-market-wash: #f7f3eb;
  --tll-market-name: "Summerville growth corridor";
}
html:has(link[rel="canonical"][href*="raleigh"]),
html:has(link[rel="canonical"][href*="fayetteville"]),
html:has(link[rel="canonical"][href*="greensboro"]),
html:has(link[rel="canonical"][href*="asheboro"]) {
  --tll-market-accent: #ad2f3b;
  --tll-market-accent-2: #245c7c;
  --tll-market-wash: #f3f7fa;
  --tll-market-name: "North Carolina";
}
html:has(link[rel="canonical"][href*="charlotte"]) {
  --tll-market-accent: #9f342d;
  --tll-market-accent-2: #184f77;
  --tll-market-wash: #f5f7f8;
  --tll-market-name: "Charlotte metro";
}
html:has(link[rel="canonical"][href*="wilmington"]),
html:has(link[rel="canonical"][href*="myrtle-beach"]),
html:has(link[rel="canonical"][href*="conway"]) {
  --tll-market-accent: #a63a2a;
  --tll-market-accent-2: #17626d;
  --tll-market-wash: #eef8f8;
  --tll-market-name: "Coastal Carolina";
}
html:has(link[rel="canonical"][href*="greenville"]),
html:has(link[rel="canonical"][href*="clemson"]) {
  --tll-market-accent: #9b3f28;
  --tll-market-accent-2: #2b6755;
  --tll-market-wash: #f2f7f0;
  --tll-market-name: "Upstate";
}

body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(247,245,239,.92)),
    var(--tll-market-wash) !important;
}

.prebar {
  background: var(--tll-market-dark) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

header,
.site-header {
  position: sticky !important;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(7,29,53,.12) !important;
  box-shadow: 0 10px 28px rgba(7,29,53,.07) !important;
  backdrop-filter: blur(14px);
}

header::before,
.site-header::before {
  background: linear-gradient(90deg, var(--tll-market-accent), var(--tll-agency-gold), var(--tll-market-accent-2)) !important;
}

header :where(nav, .nav) a:not(.primary-cta):not(.button):not(.header-call) {
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--tll-agency-navy) !important;
}

header :where(nav, .nav) a:not(.primary-cta):not(.button):not(.header-call):hover,
header :where(nav, .nav) a:not(.primary-cta):not(.button):not(.header-call):focus-visible,
header :where(nav, .nav) a[aria-current="page"] {
  border-color: rgba(183,44,42,.18);
  background: color-mix(in srgb, var(--tll-market-wash) 76%, #fff 24%);
  color: var(--tll-market-accent) !important;
  text-decoration-color: currentColor !important;
}

body :where(.primary-cta, .button-primary, .header-call, form button, button[type="submit"], input[type="submit"]) {
  min-height: 46px;
  border: 1px solid color-mix(in srgb, var(--tll-market-accent) 86%, #000 14%) !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--tll-market-accent) 96%, #fff 4%), color-mix(in srgb, var(--tll-market-accent) 86%, #000 14%)) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(116,30,30,.2) !important;
}

body :where(.primary-cta, .button-primary, .header-call, form button, button[type="submit"], input[type="submit"]):hover,
body :where(.primary-cta, .button-primary, .header-call, form button, button[type="submit"], input[type="submit"]):focus-visible {
  filter: saturate(1.05);
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(116,30,30,.25) !important;
}

body :where(.secondary-cta, .button:not(.button-primary), .hero-phone) {
  border-radius: 7px !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

body :where(.secondary-cta) {
  border-color: rgba(255,255,255,.48) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}

body :where(.hero, .page-hero) {
  color: #fff;
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--tll-market-accent-2) 38%, transparent) 0 28%, transparent 48%),
    linear-gradient(135deg, #06192d 0%, #0b2a41 48%, color-mix(in srgb, var(--tll-market-accent-2) 72%, #071d35 28%) 100%) !important;
  border-bottom: 6px solid var(--tll-market-accent) !important;
}

body :where(.hero, .page-hero)::after {
  opacity: .18 !important;
}

body :where(.hero h1, .page-hero h1) {
  max-width: 820px;
  letter-spacing: 0 !important;
}

body :where(.hero .eyebrow, .page-hero .eyebrow) {
  color: #f1cb7a !important;
}

body :where(.hero .lead, .hero-lead) {
  max-width: 730px;
  color: #e2edf3 !important;
}

body :where(.hero .lead-panel, .lead-form, .panel.lead-panel) {
  border: 1px solid rgba(255,255,255,.36) !important;
  border-top: 5px solid var(--tll-market-accent) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.28) !important;
}

body :where(.hero .lead-panel h2, .lead-form h2) {
  color: var(--tll-agency-navy) !important;
}

.panel-rule,
.lead-form::before {
  background: linear-gradient(90deg, var(--tll-market-accent), var(--tll-agency-gold), var(--tll-market-accent-2)) !important;
}

body :where(.trust-row span, .summary div, .conversion-strip div, .market-proof.quick-paths a, .decision-dock__action, .priority-market-card, .state-entry, .market-archive summary, .topic-links a, .archive-links a, .authority-related-links a) {
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}

body :where(.market-proof.quick-paths a, .decision-dock__action, .priority-market-card, .state-entry, .market-archive summary, .topic-links a, .archive-links a, .authority-related-links a):hover,
body :where(.market-proof.quick-paths a, .decision-dock__action, .priority-market-card, .state-entry, .market-archive summary, .topic-links a, .archive-links a, .authority-related-links a):focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--tll-market-accent) 45%, var(--tll-agency-line) 55%) !important;
  box-shadow: 0 14px 30px rgba(7,29,53,.1);
}

body :where(.summary-band) {
  background: #fff !important;
  border-block: 1px solid var(--tll-agency-line) !important;
}

body :where(.summary) {
  gap: 1px !important;
}

body :where(.summary div, .conversion-strip div) {
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--tll-market-wash) 72%, #fff 28%)) !important;
}

.decision-dock {
  display: block !important;
  width: min(1180px, calc(100% - 40px));
  margin: 30px auto 0 !important;
  padding: 0 !important;
}

.decision-dock__inner {
  border: 1px solid var(--tll-agency-line) !important;
  border-left: 6px solid var(--tll-market-accent) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--tll-market-wash) 78%, #fff 22%) 100%) !important;
  box-shadow: 0 16px 40px rgba(7,29,53,.08);
}

.decision-dock__action {
  border-radius: 7px !important;
}

.decision-dock__action--primary {
  background: linear-gradient(135deg, var(--tll-agency-navy), var(--tll-market-accent-2)) !important;
  border-color: var(--tll-market-accent-2) !important;
}

main :where(.content-shell, .local-authority-article, .product-authority-article) {
  background: transparent;
}

main :where(.answer-block, .review-grid, .faq-stack details, .local-authority-article, .product-authority-article, .money-decision) {
  border-radius: 8px;
  border-color: var(--tll-agency-line) !important;
}

main :where(.answer-block) {
  border-left-color: var(--tll-market-accent) !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(7,29,53,.06);
}

main :where(input, select, textarea) {
  border-radius: 6px !important;
  border-color: #aebdca !important;
}

main :where(input:hover, select:hover, textarea:hover) {
  border-color: color-mix(in srgb, var(--tll-market-accent-2) 50%, #aebdca 50%) !important;
}

main :where(input:focus, select:focus, textarea:focus, input:focus-visible, select:focus-visible, textarea:focus-visible) {
  border-color: var(--tll-market-accent-2) !important;
  outline: 3px solid color-mix(in srgb, var(--tll-market-accent-2) 18%, transparent) !important;
  outline-offset: 1px !important;
}

.tll-intake-context {
  border-radius: 7px !important;
  background: color-mix(in srgb, var(--tll-market-wash) 72%, #fff 28%) !important;
}

.local-market-strip {
  padding-block: 58px;
  background:
    linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--tll-market-wash) 82%, #fff 18%) 100%);
  border-bottom: 1px solid var(--tll-agency-line);
}

.priority-market-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.priority-market-card {
  position: relative;
  display: grid;
  min-height: 128px;
  align-content: space-between;
  padding: 16px;
  overflow: hidden;
  color: var(--tll-agency-ink);
  background: #fff;
  border: 1px solid var(--tll-agency-line);
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(7,29,53,.06);
}

.priority-market-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--tll-market-accent), var(--tll-agency-gold), var(--tll-market-accent-2));
}

.priority-market-card strong {
  display: block;
  color: var(--tll-agency-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.15;
}

.priority-market-card span {
  display: block;
  margin-top: 8px;
  color: var(--tll-agency-muted);
  font-size: 13px;
  line-height: 1.45;
}

.priority-market-card em {
  color: var(--tll-market-accent);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .priority-market-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  header,
  .site-header {
    position: relative !important;
  }

  header :where(.topbar, .header-inner, .wrap),
  .site-header :where(.topbar, .header-inner, .wrap) {
    gap: 10px !important;
  }

  header :where(nav, .nav) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    order: 4 !important;
    padding: 8px 0 10px !important;
    border-top: 1px solid rgba(7,29,53,.12) !important;
  }

  header :where(nav, .nav) a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    background: #fff !important;
    border: 1px solid var(--tll-agency-line) !important;
    border-radius: 7px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  header :where(.primary-cta, .site-cta, .header-call) {
    min-height: 40px !important;
    padding-inline: 12px !important;
    font-size: 12px !important;
  }

  body :where(.hero-grid, .hero-inner) {
    padding-block: 34px 30px !important;
  }

  body :where(.hero h1, .page-hero h1) {
    font-size: clamp(33px, 10vw, 46px) !important;
    line-height: 1.04 !important;
  }

  body :where(.hero-actions) {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body :where(.hero-actions a, .hero-actions .primary-cta, .hero-actions .secondary-cta) {
    width: 100% !important;
    justify-content: center !important;
  }

  .decision-dock {
    width: min(100% - 28px, 1180px);
    margin-top: 18px !important;
  }
}

@media (max-width: 620px) {
  body header nav[aria-label] a[href="/resources/"],
  body header nav[aria-label] a[href="/calculators/"],
  body header nav[aria-label] a[href^="#"] {
    display: none !important;
  }

  body :where(.hero h1, .page-hero h1) {
    font-size: 31px !important;
    line-height: 1.05 !important;
  }

  header :where(nav, .nav) a {
    box-shadow: 0 3px 10px rgba(7,29,53,.05) !important;
  }

  header :where(nav, .nav) a::after {
    content: "\2192";
    margin-left: 6px;
    color: var(--tll-market-accent);
    font-weight: 900;
  }

  header :where(nav, .nav) :where(.button, .primary-cta)::after {
    color: currentColor;
  }

  .priority-market-grid {
    grid-template-columns: 1fr;
  }

  .priority-market-card {
    min-height: 108px;
  }

  body :where(.lead-form, .hero .lead-panel, .panel.lead-panel) {
    padding: 16px !important;
  }
}
.tll-contextual-authority{padding:34px 20px;background:#eef4f7;border-top:1px solid #d7e1e7;border-bottom:1px solid #d7e1e7}.tll-contextual-authority .wrap{max-width:1160px;margin:0 auto}.tll-contextual-authority h2{max-width:780px;margin:4px 0 8px;color:#0b2943;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.15}.tll-contextual-authority p{max-width:820px;margin:0;color:#34495a;line-height:1.65}.tll-contextual-authority .tll-contextual-eyebrow{color:#9b1c1f;font-size:.78rem;font-weight:800;text-transform:uppercase}.tll-contextual-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.tll-contextual-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #0b2943;border-radius:6px;background:#fff;color:#0b2943;font-weight:800;text-decoration:none}.tll-contextual-links a:hover,.tll-contextual-links a:focus-visible{background:#0b2943;color:#fff;outline:3px solid rgba(185,147,79,.35);outline-offset:2px}@media(max-width:640px){.tll-contextual-authority{padding:28px 16px}.tll-contextual-links a{width:100%;justify-content:center;text-align:center}}

/* Keep ordered-list semantics without duplicating visible numbers in search text. */
ol.brief-list {
  counter-reset: tll-brief-step;
}

ol.brief-list > li {
  counter-increment: tll-brief-step;
}

ol.brief-list > li::before {
  content: counter(tll-brief-step) ".";
  color: var(--tll-market-accent, #a92320);
  font-weight: 800;
}

/* Mobile decision path: keep the useful answer and CTA above the fold. */
@media (max-width: 700px) {
  body .hero .market-proof.quick-paths,
  body .hero .conversion-strip,
  body .hero .lead-panel,
  body .hero .search-intent-bridge,
  body .hero .tll-gsc-revenue-links,
  body .hero .hero-actions .secondary-cta {
    display: none !important;
  }

  body.tll-apply-page .hero .lead-panel {
    display: block !important;
  }

  body .hero .hero-grid {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .hero .hero-grid > :first-child {
    width: 100% !important;
    max-width: none !important;
  }
}
