:root {
  --lnc-v5-primary: #137a4b;
  --lnc-v5-primary-dark: #0b4e31;
  --lnc-v5-ink: #16251d;
  --lnc-v5-text: #34453b;
  --lnc-v5-muted: #68766e;
  --lnc-v5-line: #dfe8e2;
  --lnc-v5-soft: #f6f8f6;
  --lnc-v5-mint: #edf8f1;
  --lnc-v5-sand: #faf8f2;
  --lnc-v5-radius: 18px;
  --lnc-v5-container: 1120px;
  --lnc-v5-shadow-sm: 0 8px 24px rgba(18, 42, 28, .055);
  --lnc-v5-shadow-md: 0 18px 46px rgba(18, 42, 28, .085);
}

/* ===== Flatsome page shell ===== */
.lnc-v5-has-header #header { display: none; }
.lnc-v5-has-footer #footer { display: none; }
.lnc-v5-home #main,
.lnc-v5-home .page-wrapper,
.lnc-v5-home .content-area,
.lnc-v5-home .page-inner { margin: 0; padding: 0; background: #fff; }
.lnc-v5-home #content > .row-main { width: 100%; max-width: none; margin: 0; }
.lnc-v5-home #content > .row-main > .col { padding: 0; }
.lnc-v5-home #content > .row-main > .col > .col-inner { margin: 0; padding: 0; }
.lnc-v5-home .page-title,
.lnc-v5-home .entry-header,
.lnc-v5-home .breadcrumbs { display: none; }
.lnc-v5-home { background: #fff; color: var(--lnc-v5-text); }

.lnc-v5-component,
.lnc-v5-component * { box-sizing: border-box; }
.lnc-v5-component { color: var(--lnc-v5-text); font-family: inherit; -webkit-font-smoothing: antialiased; }
.lnc-v5-component a { text-decoration: none; }
.lnc-v5-component svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.lnc-v5-component :focus-visible { outline: 3px solid color-mix(in srgb, var(--lnc-v5-primary) 24%, transparent); outline-offset: 3px; }
.lnc-v5-container { width: min(calc(100% - 40px), var(--lnc-v5-container)); margin-inline: auto; }

.lnc-v5-surface--white { background: #fff; }
.lnc-v5-surface--soft { background: var(--lnc-v5-soft); }
.lnc-v5-surface--mint { background: var(--lnc-v5-mint); }
.lnc-v5-surface--sand { background: var(--lnc-v5-sand); }
.lnc-v5-surface--dark { background: linear-gradient(135deg, #0b3321 0%, var(--lnc-v5-primary-dark) 100%); color: #fff; }
.lnc-v5-space--compact { padding-block: 32px; }
.lnc-v5-space--normal { padding-block: 52px; }
.lnc-v5-space--airy { padding-block: 72px; }

/* ===== Header ===== */
.lnc-v5-appbar { position: relative; z-index: 75; min-height: 68px; border-bottom: 1px solid rgba(222,232,225,.9); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.lnc-v5-appbar.is-sticky { position: sticky; top: 0; }
.admin-bar .lnc-v5-appbar.is-sticky { top: 32px; }
.lnc-v5-appbar--green { background: rgba(11,78,49,.97); border-bottom-color: rgba(255,255,255,.12); }
.lnc-v5-appbar__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; min-height: 68px; }
.lnc-v5-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; color: var(--lnc-v5-ink); }
.lnc-v5-brand__mark { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 12px; background: var(--lnc-v5-primary); color: #fff; }
.lnc-v5-brand__mark svg { width: 22px; height: 22px; }
.lnc-v5-brand__logo { display: inline-flex; align-items: center; max-width: 150px; max-height: 42px; }
.lnc-v5-brand__logo img { width: auto; max-width: 150px; max-height: 42px; object-fit: contain; }
.lnc-v5-brand__copy { display: grid; gap: 1px; min-width: 0; }
.lnc-v5-brand__copy strong { color: inherit; font-size: 1rem; font-weight: 850; line-height: 1.15; letter-spacing: -.01em; }
.lnc-v5-brand__copy small { color: var(--lnc-v5-muted); font-size: .72rem; line-height: 1.3; }
.lnc-v5-nav { display: flex; align-items: center; justify-content: center; gap: 28px; }
.lnc-v5-nav a { padding: 22px 0; color: #425047; font-size: .91rem; font-weight: 760; }
.lnc-v5-nav a:hover { color: var(--lnc-v5-primary); }
.lnc-v5-appbar__cta { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 15px; border: 1px solid #bcd5c5; border-radius: 12px; color: var(--lnc-v5-primary-dark); background: #fff; font-size: .88rem; font-weight: 850; }
.lnc-v5-appbar__cta svg { width: 18px; height: 18px; }
.lnc-v5-appbar--green .lnc-v5-brand,
.lnc-v5-appbar--green .lnc-v5-nav a { color: #fff; }
.lnc-v5-appbar--green .lnc-v5-brand__copy small { color: #c4d9cd; }
.lnc-v5-appbar--green .lnc-v5-brand__mark { background: #fff; color: var(--lnc-v5-primary-dark); }
.lnc-v5-appbar--green .lnc-v5-appbar__cta { border-color: rgba(255,255,255,.35); background: #fff; color: var(--lnc-v5-primary-dark); }

/* ===== Hero ===== */
.lnc-v5-hero { position: relative; overflow: visible; }
.lnc-v5-hero.lnc-v5-surface--mint { background: radial-gradient(circle at 82% 0%, rgba(65,164,105,.13), transparent 34%), linear-gradient(180deg, var(--lnc-v5-mint) 0%, #f8fcfa 78%, #fff 100%); }
.lnc-v5-hero__inner { max-width: 960px; }
.lnc-v5-hero__search { width: 100%; }
.lnc-v5-hero .lnc-home-search { width: 100%; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.lnc-v5-hero .lnc-home-search__copy { max-width: 770px; margin: 0 auto 26px; text-align: center; }
.lnc-v5-hero .lnc-eyebrow { display: inline-flex; align-items: center; min-height: 26px; padding: 5px 10px; border-radius: 999px; background: rgba(19,122,75,.09); color: var(--lnc-v5-primary); font-size: .68rem; font-weight: 850; letter-spacing: .09em; line-height: 1; }
.lnc-v5-hero .lnc-home-search__copy h1 { max-width: 760px; margin: 12px auto 0; color: var(--lnc-v5-ink); font-size: clamp(2.25rem,5vw,4.25rem); font-weight: 860; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.lnc-v5-hero .lnc-home-search__copy p { max-width: 650px; margin: 15px auto 0; color: #56675d; font-size: 1.03rem; line-height: 1.55; }
.lnc-v5-hero .lnc-home-search__form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: 10px; max-width: 920px; margin: 0 auto; padding: 14px; border: 1px solid #dce8e0; border-radius: calc(var(--lnc-v5-radius) + 2px); background: rgba(255,255,255,.97); box-shadow: var(--lnc-v5-shadow-md); }
.lnc-v5-hero .lnc-home-search__form .lnc-field { min-width: 0; margin: 0; }
.lnc-v5-hero .lnc-home-search__form .lnc-field > label { display: block; margin: 0 0 6px; color: #34483c; font-size: .75rem; font-weight: 780; }
.lnc-v5-hero .lnc-combobox__control { min-height: 50px; border-radius: 12px; }
.lnc-v5-hero .lnc-combobox__control input[type="search"] { width: 100%; min-height: 50px; margin: 0; padding-block: 10px; border-color: #dce5df; border-radius: 12px; background: #fff; color: var(--lnc-v5-ink); font-size: .93rem; box-shadow: none; }
.lnc-v5-hero .lnc-combobox__control input[type="search"]:focus { border-color: #8cb9a0; box-shadow: 0 0 0 3px rgba(19,122,75,.09); }
.lnc-v5-hero .lnc-home-search__submit { min-width: 190px; min-height: 50px; margin: 0; padding: 10px 18px; border: 0; border-radius: 12px; background: var(--lnc-v5-primary); color: #fff; box-shadow: 0 9px 22px rgba(19,122,75,.18); font-size: .91rem; font-weight: 850; text-transform: none; letter-spacing: 0; }
.lnc-v5-hero .lnc-home-search__submit:hover { background: var(--lnc-v5-primary-dark); }
.lnc-v5-hero .lnc-home-search__live { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 24px; margin: 14px 0 0; color: #53645a; font-size: .83rem; }
.lnc-v5-hero .lnc-home-search__live strong { font-weight: 720; }
.lnc-v5-hero .lnc-status-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #21a45a; box-shadow: 0 0 0 4px rgba(33,164,90,.10); }
.lnc-v5-assurance { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 18px; margin-top: 13px; color: #607066; font-size: .82rem; }
.lnc-v5-assurance span,
.lnc-v5-assurance a { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; }
.lnc-v5-assurance span svg { width: 16px; height: 16px; color: var(--lnc-v5-primary); }
.lnc-v5-assurance a { color: var(--lnc-v5-primary-dark); font-weight: 800; }

/* ===== Shared headings ===== */
.lnc-v5-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.lnc-v5-section-head > div { min-width: 0; }
.lnc-v5-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 7px; color: var(--lnc-v5-primary); font-size: .7rem; font-weight: 880; letter-spacing: .085em; line-height: 1.2; text-transform: uppercase; }
.lnc-v5-kicker--live i { width: 7px; height: 7px; border-radius: 50%; background: #22a65c; box-shadow: 0 0 0 4px rgba(34,166,92,.10); }
.lnc-v5-section-head h2,
.lnc-v5-empty-match h2,
.lnc-v5-provider-path__copy h2 { margin: 0; color: var(--lnc-v5-ink); font-size: clamp(1.55rem,2.6vw,2.3rem); font-weight: 840; line-height: 1.08; letter-spacing: -.03em; text-wrap: balance; }
.lnc-v5-section-head p { max-width: 650px; margin: 8px 0 0; color: var(--lnc-v5-muted); font-size: .95rem; line-height: 1.55; }
.lnc-v5-section-head--center { justify-content: center; text-align: center; }
.lnc-v5-more { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--lnc-v5-primary-dark); font-size: .86rem; font-weight: 820; white-space: nowrap; }
.lnc-v5-more svg { width: 17px; height: 17px; }
.lnc-v5-surface--dark .lnc-v5-kicker { color: #9ed6b4; }
.lnc-v5-surface--dark .lnc-v5-provider-path__copy h2 { color: #fff; }

/* ===== Service grid ===== */
.lnc-v5-service-grid { display: grid; grid-template-columns: repeat(var(--lnc-cols-desktop,4), minmax(0,1fr)); gap: 10px; }
.lnc-v5-service { display: grid; grid-template-columns: 42px minmax(0,1fr) 20px; align-items: center; gap: 10px; min-height: 72px; padding: 12px 13px; border: 1px solid var(--lnc-v5-line); border-radius: 15px; background: #fff; color: var(--lnc-v5-ink); box-shadow: 0 3px 12px rgba(20,45,29,.025); transition: transform .14s ease,border-color .14s ease,box-shadow .14s ease; }
.lnc-v5-service:hover { border-color: #b7d4c2; color: var(--lnc-v5-primary-dark); box-shadow: var(--lnc-v5-shadow-sm); transform: translateY(-1px); }
.lnc-v5-service__icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 13px; background: var(--lnc-v5-mint); color: var(--lnc-v5-primary); }
.lnc-v5-service__icon svg { width: 20px; height: 20px; }
.lnc-v5-service strong { min-width: 0; color: inherit; font-size: .9rem; font-weight: 790; line-height: 1.3; }
.lnc-v5-service__arrow { color: #9aaca1; }
.lnc-v5-service__arrow svg { width: 16px; height: 16px; }

/* ===== Provider results ===== */
.lnc-v5-provider-results .lnc-directory-meta,
.lnc-v5-provider-results .lnc-pagination { display: none; }
.lnc-v5-provider-results .lnc-provider-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.lnc-v5-provider-results .lnc-provider-card { display: grid; gap: 12px; min-width: 0; height: 100%; padding: 16px; border: 1px solid #dde7e0; border-radius: var(--lnc-v5-radius); background: #fff; box-shadow: 0 7px 20px rgba(16,43,27,.04); }
.lnc-v5-provider-results .lnc-provider-card__identity { grid-template-columns: 58px minmax(0,1fr); gap: 11px; }
.lnc-v5-provider-results .lnc-provider-card__avatar,
.lnc-v5-provider-results .lnc-provider-card__avatar img { width: 58px; height: 58px; }
.lnc-v5-provider-results .lnc-provider-card__head { font-size: .98rem; }
.lnc-v5-provider-results .lnc-provider-card__meta,
.lnc-v5-provider-results .lnc-provider-card__rating,
.lnc-v5-provider-results .lnc-provider-card__services,
.lnc-v5-provider-results .lnc-provider-card__price,
.lnc-v5-provider-results .lnc-provider-card__status { font-size: .83rem; }
.lnc-v5-provider-results .lnc-contact-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lnc-v5-provider-results .lnc-contact-actions .lnc-btn { min-height: 46px; margin: 0; padding-inline: 9px; border-radius: 11px; font-size: .84rem; }
.lnc-v5-inline-demand { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding: 14px 16px; border: 1px solid #dce6df; border-radius: 14px; background: #fff; color: #536259; font-size: .9rem; }

/* ===== Empty matching ===== */
.lnc-v5-empty-match { display: grid; grid-template-columns: 66px minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 25px; border: 1px solid #cce0d3; border-radius: calc(var(--lnc-v5-radius) + 2px); background: linear-gradient(135deg,#f2faf5 0%,#fff 72%); box-shadow: var(--lnc-v5-shadow-sm); }
.lnc-v5-empty-match__icon { display: inline-flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 18px; background: #dff3e7; color: var(--lnc-v5-primary); }
.lnc-v5-empty-match__icon svg { width: 30px; height: 30px; }
.lnc-v5-empty-match__copy p { max-width: 620px; margin: 9px 0 0; color: var(--lnc-v5-muted); font-size: .94rem; line-height: 1.56; }
.lnc-v5-mini-proof { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 11px; color: #52645a; font-size: .82rem; }
.lnc-v5-mini-proof span { display: inline-flex; align-items: center; gap: 6px; }
.lnc-v5-mini-proof svg { width: 15px; height: 15px; color: var(--lnc-v5-primary); }
.lnc-v5-empty-match__actions { display: grid; gap: 8px; min-width: 210px; }

/* ===== Buttons ===== */
.lnc-v5-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 11px 16px; border: 1px solid transparent; border-radius: 12px; font-size: .87rem; font-weight: 850; line-height: 1.2; }
.lnc-v5-btn svg { width: 17px; height: 17px; }
.lnc-v5-btn--primary { background: var(--lnc-v5-primary); color: #fff; box-shadow: 0 8px 18px rgba(19,122,75,.14); }
.lnc-v5-btn--primary:hover { background: var(--lnc-v5-primary-dark); color: #fff; }
.lnc-v5-btn--outline { border-color: #bcd3c4; background: #fff; color: var(--lnc-v5-primary-dark); }
.lnc-v5-btn--ghost { border-color: #d7e2da; background: #fff; color: #46574d; }
.lnc-v5-btn--light { background: #c7f0d5; color: #123b25; }
.lnc-v5-btn--text-light { min-height: 44px; padding-inline: 6px; color: #c7ead3; }

/* ===== Provider CTA ===== */
.lnc-v5-provider-path__card { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 24px 26px; border-radius: calc(var(--lnc-v5-radius) + 2px); background: linear-gradient(135deg,#0c3522 0%,var(--lnc-v5-primary-dark) 100%); color: #fff; }
.lnc-v5-surface--dark .lnc-v5-provider-path__card { background: transparent; padding-block: 2px; }
.lnc-v5-provider-path__icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 18px; background: rgba(255,255,255,.1); color: #b9e7ca; }
.lnc-v5-provider-path__icon svg { width: 30px; height: 30px; }
.lnc-v5-provider-path__copy p { max-width: 660px; margin: 8px 0 0; color: #d4e4da; font-size: .93rem; line-height: 1.55; }
.lnc-v5-provider-path__actions { display: grid; gap: 7px; min-width: 205px; }

/* ===== Steps ===== */
.lnc-v5-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.lnc-v5-step { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 13px; align-items: start; padding: 20px; border: 1px solid #e7e3d9; border-radius: var(--lnc-v5-radius); background: rgba(255,255,255,.78); }
.lnc-v5-step > span { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 13px; background: var(--lnc-v5-primary); color: #fff; font-size: .78rem; font-weight: 900; }
.lnc-v5-step strong { display: block; margin-top: 2px; color: var(--lnc-v5-ink); font-size: .93rem; font-weight: 820; }
.lnc-v5-step p { margin: 6px 0 0; color: var(--lnc-v5-muted); font-size: .84rem; line-height: 1.5; }

/* ===== FAQ ===== */
.lnc-v5-faq__inner { max-width: 900px; }
.lnc-v5-faq__list { border-top: 1px solid var(--lnc-v5-line); }
.lnc-v5-faq details { border-bottom: 1px solid var(--lnc-v5-line); }
.lnc-v5-faq summary { display: grid; grid-template-columns: minmax(0,1fr) 28px; align-items: center; gap: 16px; min-height: 58px; padding: 12px 0; color: var(--lnc-v5-ink); font-size: .91rem; font-weight: 780; cursor: pointer; list-style: none; }
.lnc-v5-faq summary::-webkit-details-marker { display: none; }
.lnc-v5-faq summary span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 9px; color: var(--lnc-v5-primary); font-size: 1.05rem; transition: transform .15s ease; }
.lnc-v5-faq details[open] summary span { transform: rotate(45deg); }
.lnc-v5-faq details p { margin: -2px 42px 15px 0; color: var(--lnc-v5-muted); font-size: .88rem; line-height: 1.6; }

/* ===== Footer ===== */
.lnc-v5-footer { border-top: 1px solid var(--lnc-v5-line); }
.lnc-v5-footer__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px 30px; padding-block: 26px; }
.lnc-v5-brand--footer .lnc-v5-brand__copy small { max-width: 460px; font-size: .78rem; }
.lnc-v5-footer nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 18px; }
.lnc-v5-footer nav a { color: #4f6056; font-size: .82rem; font-weight: 730; }
.lnc-v5-footer__copyright { grid-column: 1/-1; color: #819087; font-size: .72rem; }

/* ===== Mobile sticky actions ===== */
.lnc-v5-mobile-bar { display: none; }

/* ===== Admin/Core warning ===== */
.lnc-v5-admin-warning { max-width: 900px; margin: 20px auto; padding: 14px 16px; border: 1px solid #f0c36d; border-radius: 10px; background: #fff8e8; color: #6c4c10; }

/* ===== Tablet ===== */
@media (max-width: 1024px) {
  .lnc-v5-container { width: min(calc(100% - 32px), var(--lnc-v5-container)); }
  .lnc-v5-nav { gap: 18px; }
  .lnc-v5-provider-results .lnc-provider-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lnc-v5-service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* ===== Mobile-first refinement ===== */
@media (max-width: 849px) {
  .admin-bar .lnc-v5-appbar.is-sticky { top: 46px; }
  .lnc-v5-container { width: min(calc(100% - 28px), var(--lnc-v5-container)); }
  .lnc-v5-space--compact { padding-block: 26px; }
  .lnc-v5-space--normal { padding-block: 38px; }
  .lnc-v5-space--airy { padding-block: 48px; }

  .lnc-v5-appbar { min-height: 58px; }
  .lnc-v5-appbar__inner { grid-template-columns: minmax(0,1fr) auto; min-height: 58px; gap: 10px; }
  .lnc-v5-nav { display: none; }
  .lnc-v5-brand { gap: 8px; min-width: 0; }
  .lnc-v5-brand__mark { width: 34px; height: 34px; flex-basis: 34px; border-radius: 10px; }
  .lnc-v5-brand__mark svg { width: 20px; height: 20px; }
  .lnc-v5-brand__copy strong { font-size: .91rem; }
  .lnc-v5-brand__copy small { display: none; }
  .lnc-v5-appbar__cta { min-height: 40px; padding: 8px 11px; border-radius: 10px; font-size: .79rem; }
  .lnc-v5-appbar__cta svg { width: 16px; height: 16px; }

  .lnc-v5-hero { padding-block: 28px 30px; }
  .lnc-v5-hero__inner { width: min(calc(100% - 24px), 640px); }
  .lnc-v5-hero .lnc-home-search__copy { margin-bottom: 18px; text-align: left; }
  .lnc-v5-hero .lnc-eyebrow { min-height: 24px; padding: 5px 9px; font-size: .62rem; }
  .lnc-v5-hero .lnc-home-search__copy h1 { margin-top: 10px; font-size: clamp(2rem,10vw,2.75rem); line-height: 1; letter-spacing: -.042em; }
  .lnc-v5-hero .lnc-home-search__copy p { margin-top: 10px; font-size: .9rem; line-height: 1.5; }
  .lnc-v5-hero .lnc-home-search__form { grid-template-columns: 1fr; gap: 10px; padding: 12px; border-radius: 17px; box-shadow: 0 12px 30px rgba(18,42,28,.075); }
  .lnc-v5-hero .lnc-home-search__form .lnc-field > label { margin-bottom: 5px; font-size: .73rem; }
  .lnc-v5-hero .lnc-combobox__control,
  .lnc-v5-hero .lnc-combobox__control input[type="search"] { min-height: 52px; }
  .lnc-v5-hero .lnc-combobox__control input[type="search"] { font-size: 16px; border-radius: 12px; }
  .lnc-v5-hero .lnc-home-search__submit { width: 100%; min-width: 0; min-height: 54px; border-radius: 12px; font-size: .91rem; }
  .lnc-v5-hero .lnc-home-search__live { justify-content: flex-start; margin-top: 11px; padding-inline: 2px; font-size: .75rem; }
  .lnc-v5-assurance { justify-content: flex-start; gap: 2px 14px; margin-top: 8px; padding-inline: 2px; font-size: .74rem; }
  .lnc-v5-assurance a { width: 100%; min-height: 30px; }

  .lnc-v5-section-head { align-items: start; margin-bottom: 16px; }
  .lnc-v5-section-head h2,
  .lnc-v5-empty-match h2,
  .lnc-v5-provider-path__copy h2 { font-size: clamp(1.45rem,6.2vw,1.9rem); line-height: 1.08; }
  .lnc-v5-section-head p { margin-top: 7px; font-size: .86rem; line-height: 1.5; }
  .lnc-v5-kicker { margin-bottom: 6px; font-size: .63rem; }
  .lnc-v5-more { min-height: 36px; font-size: .76rem; }

  .lnc-v5-service-grid { grid-template-columns: repeat(var(--lnc-cols-mobile,2),minmax(0,1fr)); gap: 8px; }
  .lnc-v5-service { grid-template-columns: 36px minmax(0,1fr); gap: 9px; min-height: 64px; padding: 10px; border-radius: 13px; }
  .lnc-v5-service__icon { width: 36px; height: 36px; border-radius: 11px; }
  .lnc-v5-service__icon svg { width: 18px; height: 18px; }
  .lnc-v5-service strong { font-size: .78rem; line-height: 1.25; }
  .lnc-v5-service__arrow { display: none; }

  .lnc-v5-provider-results .lnc-provider-grid { grid-template-columns: 1fr; gap: 10px; }
  .lnc-v5-provider-results .lnc-provider-card { padding: 14px; border-radius: 15px; }
  .lnc-v5-provider-results .lnc-provider-card:nth-child(n+3) { display: none; }
  .lnc-v5-provider-results .lnc-contact-actions .lnc-btn { min-height: 48px; }
  .lnc-v5-inline-demand { align-items: stretch; flex-direction: column; gap: 10px; margin-top: 12px; padding: 13px; font-size: .82rem; }
  .lnc-v5-inline-demand .lnc-v5-btn { width: 100%; }

  .lnc-v5-empty-match { grid-template-columns: 46px minmax(0,1fr); gap: 12px; padding: 16px; border-radius: 16px; }
  .lnc-v5-empty-match__icon { width: 46px; height: 46px; border-radius: 13px; }
  .lnc-v5-empty-match__icon svg { width: 23px; height: 23px; }
  .lnc-v5-empty-match__copy p { margin-top: 7px; font-size: .84rem; line-height: 1.5; }
  .lnc-v5-mini-proof { gap: 5px 12px; margin-top: 9px; font-size: .74rem; }
  .lnc-v5-empty-match__actions { grid-column: 1/-1; grid-template-columns: 1fr; min-width: 0; gap: 7px; }
  .lnc-v5-btn { min-height: 48px; border-radius: 11px; font-size: .82rem; }

  .lnc-v5-provider-path__card { grid-template-columns: 46px minmax(0,1fr); align-items: start; gap: 12px; padding: 18px; border-radius: 16px; }
  .lnc-v5-surface--dark .lnc-v5-provider-path__card { padding: 0; }
  .lnc-v5-provider-path__icon { width: 46px; height: 46px; border-radius: 13px; }
  .lnc-v5-provider-path__icon svg { width: 23px; height: 23px; }
  .lnc-v5-provider-path__copy p { margin-top: 7px; font-size: .84rem; }
  .lnc-v5-provider-path__actions { grid-column: 1/-1; grid-template-columns: 1fr; min-width: 0; gap: 6px; }

  .lnc-v5-steps { grid-template-columns: 1fr; gap: 8px; }
  .lnc-v5-step { grid-template-columns: 38px minmax(0,1fr); gap: 11px; padding: 14px; border-radius: 14px; }
  .lnc-v5-step > span { width: 38px; height: 38px; border-radius: 11px; }
  .lnc-v5-step strong { font-size: .85rem; }
  .lnc-v5-step p { margin-top: 4px; font-size: .77rem; }

  .lnc-v5-faq summary { min-height: 56px; padding: 11px 0; font-size: .84rem; }
  .lnc-v5-faq details p { margin-right: 36px; font-size: .81rem; }

  .lnc-v5-footer__inner { grid-template-columns: 1fr; align-items: start; padding-block: 22px 96px; }
  .lnc-v5-footer nav { justify-content: flex-start; gap: 7px 14px; }
  .lnc-v5-footer__copyright { grid-column: auto; }

  .lnc-v5-mobile-bar { position: fixed; z-index: 90; left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: 1fr 1.18fr; gap: 6px; padding: 6px; border: 1px solid rgba(214,225,218,.9); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 12px 34px rgba(12,42,25,.16); backdrop-filter: blur(14px); transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; transition: transform .22s ease,opacity .22s ease; }
  .lnc-v5-mobile-bar.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .lnc-v5-mobile-bar a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 48px; border-radius: 11px; color: #3e5146; font-size: .8rem; font-weight: 820; }
  .lnc-v5-mobile-bar a svg { width: 18px; height: 18px; }
  .lnc-v5-mobile-bar a.is-primary { background: var(--lnc-v5-primary); color: #fff; }
}

@media (max-width: 420px) {
  .lnc-v5-container { width: min(calc(100% - 24px), var(--lnc-v5-container)); }
  .lnc-v5-hero__inner { width: min(calc(100% - 20px),640px); }
  .lnc-v5-hero .lnc-home-search__copy h1 { font-size: 2.05rem; }
  .lnc-v5-section-head { gap: 10px; }
  .lnc-v5-more { padding-inline: 3px; }
  .lnc-v5-service-grid[style*="--lnc-cols-mobile:3"] .lnc-v5-service { grid-template-columns: 1fr; justify-items: center; text-align: center; min-height: 82px; }
  .lnc-v5-service-grid[style*="--lnc-cols-mobile:3"] .lnc-v5-service strong { font-size: .71rem; }
}

@media (prefers-reduced-motion: reduce) {
  .lnc-v5-component *, .lnc-v5-component *::before, .lnc-v5-component *::after { scroll-behavior: auto; transition-duration: .01ms; animation-duration: .01ms; animation-iteration-count: 1; }
}

/* ===== UX Builder compatibility =====
 * Flatsome renders the preview in a separate content context. These rules keep
 * the custom elements visually stable while editing and prevent parent shell
 * chrome from obscuring the LNC Header/Footer components.
 */
.lnc-v5-component svg {
  width: 24px;
  height: 24px;
  max-width: 100%;
  max-height: 100%;
  flex: 0 0 auto;
}
.lnc-v5-builder-preview #header,
.lnc-v5-builder-preview #footer { display: none; }
.lnc-v5-builder-preview .lnc-v5-appbar.is-sticky { position: relative; top: auto; }
.lnc-v5-builder-preview .lnc-v5-mobile-bar { display: none; }
.lnc-v5-builder-preview .lnc-v5-component { min-width: 0; }
.lnc-v5-builder-preview .lnc-v5-component a { cursor: default; }
