.local-page { background: var(--ink); }
.local-page .site-header { position: absolute; }
.local-page .brand, .local-page .desktop-nav a, .local-page .header-cta { color: var(--white); }

.local-hero { min-height: 890px; position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; padding: 150px 7vw 92px; background: #08090b; }
.local-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: radial-gradient(circle at 82% 38%, rgba(183,18,24,.34), transparent 0 24%, transparent 45%), linear-gradient(118deg, #08090b 0%, #0d0f13 58%, #171015 100%); }
.local-hero::after { content: ""; position: absolute; width: 690px; height: 690px; right: -115px; top: 95px; z-index: -2; border: 1px solid rgba(183,18,24,.52); border-radius: 50%; box-shadow: 0 0 0 90px rgba(183,18,24,.055), 0 0 0 180px rgba(255,255,255,.018); }
.local-hero-grid { width: 100%; max-width: 1380px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(310px,.55fr); gap: 6vw; align-items: end; }
.local-hero-copy { position: relative; z-index: 2; }
.local-back { margin-bottom: 52px; display: inline-flex; align-items: center; gap: 11px; color: #c7c8cb; font-size: 9px; font-weight: 900; letter-spacing: 1.6px; }
.local-back span { color: var(--acid); font-size: 17px; }
.local-hero h1 { margin: 0; max-width: 970px; font-size: clamp(58px,6.8vw,104px); line-height: .88; letter-spacing: -.072em; font-weight: 950; }
.local-hero h1 em { display: block; color: var(--acid); font-style: normal; }
.local-lead { max-width: 690px; margin: 34px 0 0; color: #d1d2d4; font-size: 18px; line-height: 1.68; font-weight: 600; }
.local-hero-actions { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 12px; }
.secondary-button { display: inline-flex; align-items: center; padding: 18px 22px; border: 1px solid rgba(255,255,255,.38); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: 1.5px; transition: .25s ease; }
.secondary-button:hover { color: var(--ink); background: var(--white); }
.local-hero-aside { position: relative; z-index: 2; padding: 29px; border: 1px solid rgba(255,255,255,.18); background: rgba(8,9,11,.76); backdrop-filter: blur(15px); }
.local-hero-aside > span { color: var(--acid); font-size: 9px; font-weight: 900; letter-spacing: 1.5px; }
.local-hero-aside strong { margin-top: 16px; display: block; font-size: 29px; line-height: 1.06; letter-spacing: -.035em; }
.local-hero-aside p { margin: 18px 0 0; color: #b9bbc0; font-size: 14px; line-height: 1.65; font-weight: 600; }
.local-proof { background: var(--acid); }

.local-intro { background: var(--paper); color: var(--ink); }
.local-intro-grid { max-width: 1380px; margin: 0 auto; display: grid; grid-template-columns: .7fr 1.3fr; gap: 8vw; align-items: start; }
.local-marker { min-height: 260px; display: flex; align-items: flex-start; justify-content: center; padding-top: 18px; }
.local-marker img { width: min(100%,520px); height: auto; display: block; mix-blend-mode: multiply; }
.local-intro h2, .local-services h2, .local-difference h2, .local-path h2, .local-area h2, .local-faq h2 { margin: 0; font-size: clamp(42px,5vw,76px); line-height: .93; letter-spacing: -.058em; font-weight: 950; }
.local-intro h2 em, .local-services h2 em, .local-difference h2 em, .local-path h2 em, .local-area h2 em, .local-faq h2 em { color: var(--acid); font-style: normal; }
.local-intro-copy > p:not(.eyebrow) { max-width: 760px; margin: 27px 0 0; color: #505257; font-size: 17px; line-height: 1.72; font-weight: 600; }

.local-services { background: #0d0f12; }
.local-section-head { max-width: 1380px; margin: 0 auto 58px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 55px; align-items: end; }
.local-section-head > p { margin: 0; color: #b0b1b5; font-size: 16px; line-height: 1.7; font-weight: 600; }
.local-services-grid { max-width: 1380px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #36383d; border-left: 1px solid #36383d; }
.local-service-card { min-height: 360px; padding: 30px; display: flex; flex-direction: column; border-right: 1px solid #36383d; border-bottom: 1px solid #36383d; background: #111318; transition: .28s ease; }
.local-service-card:hover { transform: translateY(-5px); background: #17191e; }
.local-service-card > span { color: var(--acid); font-size: 9px; font-weight: 900; letter-spacing: 1.5px; }
.local-service-card h3 { margin: 58px 0 16px; font-size: 29px; line-height: 1; letter-spacing: -.035em; font-weight: 950; }
.local-service-card p { margin: 0; color: #b6b8bc; font-size: 14px; line-height: 1.65; font-weight: 600; }
.local-service-card a { margin-top: auto; padding-top: 28px; display: flex; align-items: center; justify-content: space-between; color: #fff; border-top: 1px solid #303238; font-size: 9px; font-weight: 900; letter-spacing: 1.25px; }
.local-service-card a b { color: var(--acid); font-size: 16px; }

.local-difference { background: #fff; color: var(--ink); }
.local-difference-grid { max-width: 1380px; margin: 0 auto; display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: start; }
.local-difference .eyebrow { color: #5c5d60; }
.local-points { border-top: 1px solid #bab8b2; }
.local-points article { min-height: 145px; padding: 25px 0; display: grid; grid-template-columns: 55px 1fr; gap: 20px; border-bottom: 1px solid #bab8b2; }
.local-points article > span { color: var(--acid); font-size: 10px; font-weight: 950; letter-spacing: 1px; }
.local-points strong { font-size: 24px; line-height: 1; letter-spacing: -.025em; font-weight: 950; }
.local-points p { margin: 12px 0 0; color: #5b5d61; font-size: 14px; line-height: 1.62; font-weight: 600; }

.local-path { background: var(--acid); color: #fff; }
.local-path-copy { max-width: 970px; margin: 0 auto 55px; text-align: center; }
.local-path h2 em { color: #fff; -webkit-text-stroke: 1px #fff; -webkit-text-fill-color: transparent; }
.local-path-steps { max-width: 1380px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.45); border-left: 1px solid rgba(255,255,255,.45); }
.local-path-steps article { min-height: 245px; padding: 27px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.45); border-bottom: 1px solid rgba(255,255,255,.45); }
.local-path-steps span { font-size: 9px; font-weight: 900; letter-spacing: 1px; }
.local-path-steps strong { margin-top: auto; font-size: 25px; font-weight: 950; }
.local-path-steps p { margin: 13px 0 0; color: #fff; font-size: 14px; line-height: 1.58; font-weight: 600; }
.local-center-link { margin-top: 38px; display: flex; justify-content: center; }
.local-path .primary-button { background: #08090b; }

.local-area { background: #08090b; display: grid; grid-template-columns: .95fr 1.05fr; gap: 8vw; }
.local-area-content > p { margin: 0; color: #bcbec2; font-size: 17px; line-height: 1.75; font-weight: 600; }
.local-area-tags { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 8px; }
.local-area-tags span { padding: 10px 12px; border: 1px solid #45474c; color: #f1f1f2; background: #111318; font-size: 8px; font-weight: 900; letter-spacing: 1.15px; }
.local-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: var(--paper); color: var(--ink); }
.local-faq .eyebrow { color: #5c5d60; }
.local-contact h2 { max-width: 1180px; margin-left: auto; margin-right: auto; }
.local-page .footer-brand { justify-self: start; }

@media (max-width: 1024px) {
  .local-page { font-family: Arial, Helvetica, sans-serif; font-synthesis: none; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
  .local-page p, .local-page a, .local-page summary, .local-page .brand-name, .local-page .eyebrow { font-weight: 700; }
  .local-page h1, .local-page h2, .local-page h3, .local-page strong, .local-page b, .local-page .primary-button, .local-page .secondary-button { font-weight: 900; }
  .local-hero { min-height: 840px; }
  .local-hero-grid, .local-intro-grid, .local-section-head, .local-difference-grid, .local-area, .local-faq { grid-template-columns: 1fr; }
  .local-hero-aside { max-width: 520px; }
  .local-marker { min-height: auto; display: flex; justify-content: flex-start; padding-top: 0; }
  .local-marker img { width: min(55vw,390px); }
  .local-services-grid { grid-template-columns: repeat(2,1fr); }
  .local-path-steps { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 640px) {
  .local-hero { min-height: 805px; padding: 125px 20px 76px; align-items: flex-start; }
  .local-hero::after { width: 430px; height: 430px; right: -260px; top: 190px; }
  .local-back { margin-bottom: 62px; }
  .local-hero h1 { font-size: clamp(46px,14.4vw,66px); line-height: .9; letter-spacing: -.053em; }
  .local-lead { font-size: 15px; }
  .local-hero-aside { display: none; }
  .local-hero-actions { display: grid; }
  .local-hero-actions a { justify-content: center; text-align: center; }
  .local-intro-copy > p:not(.eyebrow), .local-area-content > p { font-size: 15px; }
  .local-marker { justify-content: center; margin-bottom: 4px; }
  .local-marker img { width: min(72vw,300px); }
  .local-services-grid, .local-path-steps { grid-template-columns: 1fr; }
  .local-service-card { min-height: 310px; }
  .local-difference-grid, .local-area, .local-faq { gap: 45px; }
  .local-path h2 em { color: #fff; -webkit-text-fill-color: #fff; -webkit-text-stroke: 0; }
  .local-path-steps article { min-height: 210px; }
}
