/* Local landing-page variants remain isolated from the main service templates. */
.fc-local-page { --local-muted: #52697a; color: var(--fc-color-ink); background: var(--fc-color-canvas); }
.fc-local-page .fc-local-shell { width: min(calc(100% - 48px), 1240px); margin-inline: auto; }
.fc-local-page .fc-local-section { padding-block: clamp(76px, 8vw, 112px); }
.fc-local-page .fc-local-section--tight { padding-block: clamp(28px,4vw,48px); }
.fc-local-page .fc-local-hero { min-height: 760px; display: flex; align-items: center; isolation: isolate; margin: 0; }
.fc-local-page .fc-local-hero > img { object-position: center; }
.fc-local-page .fc-local-hero__veil { background: linear-gradient(90deg, rgba(4,25,39,.98) 0%, rgba(4,25,39,.9) 45%, rgba(4,25,39,.34) 76%, rgba(4,25,39,.12) 100%); }
.fc-local-page .fc-local-hero__content { width: min(calc(100% - 48px), 1240px); padding-block: 112px 88px; }
.fc-local-page .fc-local-hero__content > * { max-width: 790px; }
.fc-local-page .fc-local-hero h1 { margin: 0; color: #fff; font-size: clamp(3.2rem, 6vw, 5.8rem); line-height: .98; }
.fc-local-page .fc-local-hero__content > p:not(.eyebrow):not(.fc-local-hero__note) { max-width: 720px; color: rgba(255,255,255,.88); font-size: 1.18rem; line-height: 1.72; }
.fc-local-page .fc-local-hero__note { margin-top: var(--fc-space-5); color: #d9f4f1; font-size: 1rem; font-weight: 700; }
.fc-local-page .fc-local-intro, .fc-local-page .fc-local-heading, .fc-local-page .fc-local-area-layout, .fc-local-page .fc-local-faq { gap: clamp(42px, 7vw, 96px); }
.fc-local-page .fc-local-intro { grid-template-columns: minmax(0,1.08fr) minmax(400px,.92fr); align-items: stretch; }
.fc-local-page .fc-local-intro > div { padding: clamp(36px,5vw,60px) 0; }
.fc-local-page :where(.fc-local-intro,.fc-local-heading,.fc-local-area-layout,.fc-local-faq,.fc-local-expert,.fc-local-contact) h2 { margin: 0; font-size: clamp(2.45rem,4.2vw,3.75rem); line-height: 1.06; }
.fc-local-page .fc-local-answer { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,5vw,60px); color: #fff; background: var(--fc-color-navy); border: 0; border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-answer .eyebrow { color: #77e5df; }
.fc-local-page .fc-local-answer p:not(.eyebrow) { color: rgba(255,255,255,.84); font-size: 1.1rem; }
.fc-local-page .fc-local-section--soft { background: var(--fc-color-surface-soft); }
.fc-local-page .fc-local-heading { grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); align-items: end; margin-bottom: var(--fc-space-12); }
.fc-local-page :where(.fc-local-heading>p,.fc-local-area-layout p,.fc-local-expert p:not(.eyebrow),.fc-local-contact>div>p) { color: var(--local-muted); font-size: 1.07rem; line-height: 1.72; }
.fc-local-page :where(.fc-local-card-grid,.fc-local-offer-grid) { gap: 1px; overflow: hidden; background: var(--fc-color-border); border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-lg); }
.fc-local-page :where(.fc-local-card-grid,.fc-local-offer-grid) article { min-height: 250px; padding: var(--fc-space-8); background: #fff; border: 0; border-radius: 0; }
.fc-local-page :where(.fc-local-takeaways,.fc-local-benefit-grid,.fc-local-comparison,.fc-local-proof-grid,.fc-local-showcases) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--fc-space-4); }
.fc-local-page .fc-local-takeaways article { min-height: 190px; padding: var(--fc-space-6); background: #fff; border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-md); }
.fc-local-page .fc-local-takeaways span { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: var(--fc-space-5); color: #fff; background: var(--fc-color-teal); border-radius: 50%; font-weight: 800; }
.fc-local-page .fc-local-takeaways h2 { margin: 0 0 var(--fc-space-3); font-size: 1.35rem; }
.fc-local-page .fc-local-takeaways p { margin: 0; color: var(--local-muted); }
.fc-local-page .fc-local-benefit-grid article, .fc-local-page .fc-local-proof-grid article { min-height: 230px; padding: var(--fc-space-8); background: #fff; border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-md); }
.fc-local-page .fc-local-benefit-grid article { border-top: 5px solid var(--fc-color-teal); }
.fc-local-page :where(.fc-local-benefit-grid,.fc-local-proof-grid) h3 { margin-top: 0; font-size: 1.42rem; }
.fc-local-page :where(.fc-local-benefit-grid,.fc-local-proof-grid) p { color: var(--local-muted); }
.fc-local-page .fc-local-comparison { gap: 1px; overflow: hidden; background: var(--fc-color-border); border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-comparison article { min-height: 290px; padding: var(--fc-space-8); background: #fff; }
.fc-local-page .fc-local-comparison article.is-recommended { color: #fff; background: var(--fc-color-navy); }
.fc-local-page .fc-local-comparison article > span { display: inline-block; margin-bottom: var(--fc-space-8); color: var(--fc-color-blue-deep); font-size: 1rem; font-weight: 800; }
.fc-local-page .fc-local-comparison .is-recommended > span { color: #77e5df; }
.fc-local-page .fc-local-comparison h3 { font-size: 1.55rem; }
.fc-local-page .fc-local-comparison .is-recommended :where(h3,p) { color: #fff; }
.fc-local-page .fc-local-use-cases { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(42px,7vw,96px); }
.fc-local-page .fc-local-use-cases h2 { margin: 0; font-size: clamp(2.45rem,4.2vw,3.75rem); line-height: 1.06; }
.fc-local-page :where(.fc-local-use-cases,.fc-local-faq) details { border-top: 1px solid var(--fc-color-border); }
.fc-local-page :where(.fc-local-use-cases,.fc-local-faq) details:last-child { border-bottom: 1px solid var(--fc-color-border); }
.fc-local-page .fc-local-use-cases summary { min-height: 70px; display: flex; align-items: center; font-size: 1.15rem; font-weight: 800; cursor: pointer; }
.fc-local-page .fc-local-use-cases details p { padding-bottom: var(--fc-space-6); color: var(--local-muted); }
.fc-local-page .fc-local-card-grid h3 { font-size: 1.4rem; }
.fc-local-page :where(.fc-local-card-grid p,.fc-local-offer-grid article>p:last-child) { color: var(--local-muted); font-size: 1.03rem; line-height: 1.68; }
.fc-local-page .fc-local-visual-section { padding-block: 0; background: linear-gradient(90deg,var(--fc-color-navy) 0 50%,#fff 50% 100%); }
.fc-local-page .fc-local-visual { width: 100%; max-width: none; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: 0; }
.fc-local-page .fc-local-visual figure { min-height: 650px; margin: 0; border-radius: 0; box-shadow: none; }
.fc-local-page .fc-local-visual figure::after { display: none; }
.fc-local-page .fc-local-visual figure img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; }
.fc-local-page .fc-local-visual > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(52px,7vw,100px); background: #fff; }
.fc-local-page .fc-local-visual h2 { margin: 0; font-size: clamp(2.45rem,4vw,3.55rem); line-height: 1.07; }
.fc-local-page .fc-local-visual > div > p:not(.eyebrow) { font-size: 1.07rem; }
.fc-local-page .fc-local-offer-grid article { min-height: 330px; }
.fc-local-page .fc-local-offer-grid article:nth-child(2) { color: #fff; background: var(--fc-color-navy); border-top: 0; }
.fc-local-page .fc-local-offer-grid article:nth-child(2) :where(h3,.fc-local-offer-name) { color: #fff; }
.fc-local-page .fc-local-offer-grid article:nth-child(2) > p:last-child { color: rgba(255,255,255,.78); }
.fc-local-page .fc-local-offer-name { margin-bottom: var(--fc-space-12); color: var(--fc-color-blue-deep); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.fc-local-page .fc-local-offer-grid h3 { font-size: 1.65rem; }
.fc-local-page .fc-local-fit { gap: 1px; overflow: hidden; background: var(--fc-color-border); border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-fit > div, .fc-local-page .fc-local-fit > div + div { min-height: 500px; padding: clamp(40px,6vw,68px); background: #fff; border: 0; }
.fc-local-page .fc-local-fit > div + div { background: #fbf7f7; }
.fc-local-page :where(.fc-local-process-section,.fc-local-section--ink) { color: #fff; background: var(--fc-color-navy); }
.fc-local-page .fc-local-process { overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-process li { min-height: 280px; padding: var(--fc-space-8); background: rgba(255,255,255,.04); }
.fc-local-page .fc-local-process span { width: 48px; height: 48px; margin-bottom: var(--fc-space-18); color: var(--fc-color-ink); background: #77e5df; }
.fc-local-page .fc-local-area-layout { grid-template-columns: minmax(0,.92fr) minmax(440px,1.08fr); align-items: start; }
.fc-local-page .fc-local-area-grid { gap: 0; overflow: hidden; background: #fff; border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-area-grid li { min-height: 54px; padding: 15px 16px 15px 42px; }
.fc-local-page .fc-local-expert { grid-template-columns: minmax(240px,.65fr) minmax(0,1.35fr); max-width: 1080px; gap: var(--fc-space-18); }
.fc-local-page .fc-local-expert__mark { width: min(100%,340px); height: auto; aspect-ratio: 1; margin: 0 auto; overflow: hidden; background: var(--fc-color-surface-soft); border: 6px solid #fff; border-radius: 50%; box-shadow: 18px 18px 0 rgba(14,165,164,.2); }
.fc-local-page .fc-local-expert__mark img { width: 100%; height: 100%; object-fit: cover; object-position: center 10%; }
.fc-local-page .fc-local-section--proof { background: #fff; }
.fc-local-page .fc-local-proof-grid article { background: var(--fc-color-surface-soft); }
.fc-local-page .fc-local-showcase-section { background: var(--fc-color-surface-soft); }
.fc-local-page .fc-local-showcases a { min-width: 0; overflow: hidden; color: var(--fc-color-ink); background: #fff; border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-md); text-decoration: none; }
.fc-local-page .fc-local-showcase__visual { height: 220px; display: grid; place-items: center; overflow: hidden; color: #77e5df; background: var(--fc-color-navy); font-size: 3rem; font-weight: 800; }
.fc-local-page .fc-local-showcase__visual img { width: 100%; height: 100%; object-fit: cover; }
.fc-local-page .fc-local-showcases :where(strong,small) { display: block; margin-inline: var(--fc-space-6); }
.fc-local-page .fc-local-showcases strong { margin-top: var(--fc-space-5); font-size: 1.3rem; }
.fc-local-page .fc-local-showcases small { margin-block: var(--fc-space-2) var(--fc-space-6); color: var(--fc-color-blue-deep); font-size: 1rem; font-weight: 800; }
.fc-local-page .fc-local-review { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--fc-space-12); align-items: center; padding: clamp(38px,5vw,64px); color: #fff; background: var(--fc-color-navy); border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-review h2 { margin: 0; color: #fff; font-size: clamp(2.2rem,4vw,3.4rem); }
.fc-local-page .fc-local-review p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.8); }
.fc-local-page .fc-local-service-grid { gap: 1px; overflow: hidden; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-service-grid a { min-height: 330px; padding: var(--fc-space-8); border: 0; }
.fc-local-page .fc-local-service-grid span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: var(--fc-space-18); color: var(--fc-color-ink); background: #77e5df; border-radius: 50%; }
.fc-local-page .fc-local-faq { grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); }
.fc-local-page .fc-local-faq summary { min-height: 64px; display: flex; align-items: center; font-size: 1.1rem; }
.fc-local-page .fc-local-cta { padding-block: clamp(76px,8vw,112px); color: #fff; background: var(--fc-color-navy); text-align: left; }
.fc-local-page .fc-local-contact { display: grid; grid-template-columns: minmax(0,.88fr) minmax(440px,1.12fr); gap: var(--fc-space-18); align-items: start; }
.fc-local-page .fc-local-contact h2 { color: #fff; }
.fc-local-page .fc-local-contact .eyebrow { color: #77e5df; }
.fc-local-page .fc-local-contact > div > p { color: rgba(255,255,255,.78); }
.fc-local-page .fc-local-contact__reassurance { margin: var(--fc-space-8) 0 0; padding: 0; list-style: none; }
.fc-local-page .fc-local-contact__reassurance li { min-height: 54px; padding: 15px 0 15px 32px; color: rgba(255,255,255,.9); border-top: 1px solid rgba(255,255,255,.16); }
.fc-local-page .fc-local-contact__reassurance li::before { content: "✓"; float: left; margin-left: -28px; color: #77e5df; font-weight: 800; }
.fc-local-page .fc-local-contact__form { padding: clamp(32px,5vw,56px); color: var(--fc-color-ink); background: #fff; border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-contact__form :where(input,select,textarea) { width: 100%; margin-top: var(--fc-space-2); }
.fc-local-page .fc-local-contact__form .consent-line input { width: 20px; min-height: 20px; }
.fc-local-page .fc-local-roi { display: grid; grid-template-columns: minmax(0,.85fr) minmax(440px,1.15fr); gap: var(--fc-space-18); align-items: start; }
.fc-local-page .fc-local-roi h2 { margin: 0; font-size: clamp(2.45rem,4.2vw,3.75rem); line-height: 1.06; }
.fc-local-page .fc-local-roi__form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--fc-space-5); padding: clamp(30px,4vw,48px); background: #fff; border: 1px solid var(--fc-color-border); border-radius: var(--fc-radius-lg); }
.fc-local-page .fc-local-roi__form label { font-weight: 750; }
.fc-local-page .fc-local-roi__form :where(input,select) { width: 100%; min-height: 50px; margin-top: var(--fc-space-2); }
.fc-local-page .fc-local-roi__result { grid-column: 1/-1; display: flex; flex-direction: column; padding: var(--fc-space-6); color: #fff; background: var(--fc-color-navy); border-radius: var(--fc-radius-md); }
.fc-local-page .fc-local-roi__result strong { margin-block: var(--fc-space-2); color: #77e5df; font-size: clamp(2rem,4vw,3.4rem); }
.fc-local-page .fc-local-roi__result small { color: rgba(255,255,255,.75); font-size: 1rem; }
.fc-local-page .fc-local-appointment { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap: var(--fc-space-18); align-items: center; }
.fc-local-page .fc-local-appointment h2 { margin: 0; font-size: clamp(2.45rem,4.2vw,3.75rem); line-height: 1.06; }
.fc-local-page .fc-local-appointment__actions { display: flex; flex-direction: column; align-items: stretch; gap: var(--fc-space-4); }
.fc-local-page .fc-local-appointment__actions > a { min-height: 48px; display: flex; align-items: center; justify-content: center; text-align: center; }
.fc-local-page .fc-local-final-cta { padding-block: clamp(76px,8vw,112px); color: #fff; background: var(--fc-color-blue-deep); text-align: center; }
.fc-local-page .fc-local-final-cta h2 { max-width: 900px; margin-inline: auto; color: #fff; font-size: clamp(2.6rem,5vw,4.6rem); line-height: 1.03; }
.fc-local-page .fc-local-final-cta > div > p:not(.eyebrow) { max-width: 760px; margin-inline: auto; color: rgba(255,255,255,.82); }
.fc-local-page .fc-local-final-cta .hero-actions { justify-content: center; }
.fc-local-page .fc-logo-carousel__button { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }

@media (max-width: 980px) {
  .fc-local-page .fc-local-intro,
  .fc-local-page .fc-local-heading,
  .fc-local-page .fc-local-area-layout,
  .fc-local-page .fc-local-faq,
  .fc-local-page .fc-local-use-cases,
  .fc-local-page .fc-local-expert,
  .fc-local-page .fc-local-contact,
  .fc-local-page .fc-local-roi,
  .fc-local-page .fc-local-appointment { grid-template-columns: minmax(0, 1fr); gap: var(--fc-space-8); }
  .fc-local-page .fc-local-visual-section { background: #fff; }
  .fc-local-page .fc-local-visual { grid-template-columns: 1fr; }
  .fc-local-page .fc-local-visual figure, .fc-local-page .fc-local-visual figure img { min-height: 0; aspect-ratio: 16/9; }
  .fc-local-page .fc-local-expert__mark { width: min(64vw,320px); }
}

@media (max-width: 820px) {
  .fc-local-page .fc-local-shell, .fc-local-page .fc-local-hero__content { width: min(calc(100% - 32px),1240px); }
  .fc-local-page .fc-local-section { padding-block: 64px; }
  .fc-local-page .fc-local-hero { min-height: 720px; align-items: end; }
  .fc-local-page .fc-local-hero__veil { background: linear-gradient(180deg,rgba(4,25,39,.2),rgba(4,25,39,.93) 45%,#041927 100%); }
  .fc-local-page .fc-local-hero__content { padding-block: 104px 56px; }
  .fc-local-page .fc-local-hero h1 { font-size: clamp(2.7rem,10vw,4.2rem); }
}

@media (max-width: 680px) {
  .fc-local-page :where(.fc-local-card-grid,.fc-local-offer-grid,.fc-local-fit,.fc-local-process,.fc-local-service-grid,.fc-local-takeaways,.fc-local-benefit-grid,.fc-local-comparison,.fc-local-proof-grid,.fc-local-showcases,.fc-local-roi__form) { grid-template-columns: 1fr; }
  .fc-local-page .fc-local-roi__result { grid-column: auto; }
  .fc-local-page .fc-local-review { grid-template-columns: 1fr; padding: var(--fc-space-6); }
  .fc-local-page .fc-local-card-grid article, .fc-local-page .fc-local-offer-grid article, .fc-local-page .fc-local-fit > div, .fc-local-page .fc-local-fit > div + div, .fc-local-page .fc-local-process li, .fc-local-page .fc-local-service-grid a { min-height: 0; padding: var(--fc-space-8) var(--fc-space-6); }
  .fc-local-page .fc-local-visual > div { padding: 48px 24px 56px; }
  .fc-local-page .fc-local-contact__form { padding: var(--fc-space-6); }
}

@media (prefers-reduced-motion: reduce) {
  .fc-local-page *, .fc-local-page *::before, .fc-local-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
