/* ============================================================
   hub.css — Areas We Serve Hub Page
   nextlaw-child · All classes prefixed kl-hub-
   Palette: gold #a89968, navy #00062c
   ============================================================ */

:root {
  --kl-hub-accent:     #a89968;
  --kl-hub-accent-dk:  #8e7e52;
  --kl-hub-gold:       #a89968;
  --kl-hub-navy:       #00062c;
  --kl-hub-navy-2:     #00062c;
  --kl-hub-navy-3:     #1a2d50;
  --kl-hub-ink:        #00062c;
  --kl-hub-ink-2:      #727780;
  --kl-hub-line:       #e6e6e6;
  --kl-hub-paper:      #ffffff;
  --kl-hub-paper-tint: #f5f5f5;
  --kl-hub-white:      #ffffff;
  --kl-hub-font-head:  'Playfair Display', Georgia, serif;
  --kl-hub-font-body:  'Open Sans', Arial, sans-serif;
  --kl-hub-gutter-mob: 20px;
  --kl-hub-gutter-tab: 32px;
  --kl-hub-gutter-dsk: 56px;
}

.kl-hub-wrap {
  max-width: 1200px; margin: 0 auto;
  padding-left: var(--kl-hub-gutter-mob);
  padding-right: var(--kl-hub-gutter-mob);
}
@media (min-width: 768px)  { .kl-hub-wrap { padding-left: var(--kl-hub-gutter-tab); padding-right: var(--kl-hub-gutter-tab); } }
@media (min-width: 1280px) { .kl-hub-wrap { padding-left: var(--kl-hub-gutter-dsk); padding-right: var(--kl-hub-gutter-dsk); } }

/* ── Eyebrows ── */
.kl-hub-eyebrow {
  font-family: var(--kl-hub-font-body);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  font-weight: 700; margin: 0 0 12px;
  display: inline-flex; align-items: center; gap: 8px;
}
.kl-hub-eyebrow--accent { color: var(--kl-hub-accent) !important; }
.kl-hub-eyebrow--gold   { color: var(--kl-hub-gold)   !important; }
.kl-hub-eyebrow__rule   { width: 28px; height: 1px; background: currentColor; display: inline-block; }

/* ── Buttons ── */
.kl-hub-btn {
  display: inline-block; font-family: var(--kl-hub-font-body);
  font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 13px 22px; text-decoration: none;
  border: 2px solid transparent; border-radius: 50px;
  cursor: pointer; transition: all .25s; text-align: center;
}
.kl-hub-btn--accent        { background: var(--kl-hub-accent); color: #fff !important; border-color: var(--kl-hub-accent); }
.kl-hub-btn--accent:hover  { background: var(--kl-hub-accent-dk); border-color: var(--kl-hub-accent-dk); color: #fff !important; }
.kl-hub-btn--outline       { background: transparent; color: var(--kl-hub-navy) !important; border-color: var(--kl-hub-navy); }
.kl-hub-btn--outline:hover { background: var(--kl-hub-navy); color: #fff !important; }
.kl-hub-btn--block         { display: block; width: 100%; }

/* ── Breadcrumb — lives inside hero, transparent on dark navy ── */
.kl-hub-breadcrumb { background: transparent; border-bottom: 1px solid rgba(255,255,255,.12); padding: 10px 0; font-family: var(--kl-hub-font-body); font-size: 13px; position: relative; z-index: 1; }
.kl-hub-breadcrumb .kl-hub-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 0; }
.kl-hub-breadcrumb__link    { color: rgba(255,255,255,.65) !important; text-decoration: none; }
.kl-hub-breadcrumb__link:hover { color: var(--kl-hub-gold) !important; text-decoration: none; }
.kl-hub-breadcrumb__sep     { margin: 0 8px; color: rgba(255,255,255,.3); }
.kl-hub-breadcrumb__current { color: var(--kl-hub-gold) !important; font-weight: 600; }

/* ── Hero ── */
.kl-hub-hero { background: var(--kl-hub-navy); color: #fff; padding: 90px 0 56px; position: relative; overflow: hidden; } /* 90px top clears the fixed site nav */
.kl-hub-hero__ring { position: absolute; border: 1px solid rgba(255,255,255,.04); border-radius: 50%; pointer-events: none; }
.kl-hub-hero__ring--lg { right: -160px; top: -100px; width: 600px; height: 600px; }
.kl-hub-hero__ring--sm { right: -60px; top: 40px; width: 300px; height: 300px; }
.kl-hub-hero__inner { position: relative; padding-top: 36px; }
.kl-hub-hero__title { font-family: var(--kl-hub-font-head); font-size: 36px; font-weight: 700; line-height: 1.1; color: #fff !important; margin: 0 0 18px; }
.kl-hub-hero__lede  { font-size: 17px; color: #c8d3e8 !important; line-height: 1.7; margin: 0 0 28px; max-width: 640px; font-family: var(--kl-hub-font-body); }
.kl-hub-hero__lede strong { color: #fff !important; }

.kl-hub-hero__stats { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 20px; }
.kl-hub-hero__stats-item { display: flex; flex-direction: column; padding: 14px 20px; background: rgba(255,255,255,.07); border-left: 3px solid var(--kl-hub-gold); min-width: 100px; }
.kl-hub-hero__stats-num   { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: #fff !important; line-height: 1; }
.kl-hub-hero__stats-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #8899b8 !important; margin-top: 4px; font-family: var(--kl-hub-font-body); font-weight: 600; }
.kl-hub-hero__updated { font-size: 12px; color: #8899b8 !important; margin: 0; font-family: var(--kl-hub-font-body); }

@media (min-width: 768px)  { .kl-hub-hero__title { font-size: 44px; } }
@media (min-width: 1280px) { .kl-hub-hero__title { font-size: 54px; } .kl-hub-hero__lede { font-size: 18px; } }

/* ── Key Facts ── */
.kl-hub-key-facts { background: var(--kl-hub-paper-tint); padding: 48px 0; }
.kl-hub-key-facts__card { background: var(--kl-hub-white); border: 1px solid var(--kl-hub-line); border-left: 4px solid var(--kl-hub-accent); padding: 28px 32px; position: relative; }
.kl-hub-key-facts__accent { position: absolute; top: 0; left: -4px; width: 4px; height: 60px; background: var(--kl-hub-accent); }
.kl-hub-key-facts__title  { font-family: var(--kl-hub-font-head); font-size: 22px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-key-facts__grid   { display: grid; grid-template-columns: 1fr; gap: 0; }
.kl-hub-key-facts__row    { display: grid; grid-template-columns: 1fr; gap: 4px; padding: 12px 0; border-bottom: 1px dotted var(--kl-hub-line); }
.kl-hub-key-facts__row:last-child { border-bottom: none; }
.kl-hub-key-facts__term   { font-size: 13px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--kl-hub-ink-2) !important; font-weight: 700; font-family: var(--kl-hub-font-body); margin: 0; }
.kl-hub-key-facts__def    { font-size: 14px; color: var(--kl-hub-ink) !important; font-family: var(--kl-hub-font-body); margin: 0; }
.kl-hub-key-facts__def a  { color: var(--kl-hub-accent) !important; text-decoration: underline; }
.kl-hub-key-facts__def strong { color: var(--kl-hub-ink) !important; }

.page-wrapper .kl-hub-key-facts__term,
.page-wrapper .kl-hub-key-facts__grid dt {
  font-size: 13px !important; color: var(--kl-hub-ink-2) !important;
  line-height: 1.4 !important; text-transform: uppercase !important;
  letter-spacing: 0.12em !important; font-weight: 700 !important;
}
.page-wrapper .kl-hub-key-facts__def,
.page-wrapper .kl-hub-key-facts__grid dd {
  font-size: 14px !important; color: var(--kl-hub-ink) !important;
  line-height: 1.55 !important; margin: 0 !important;
}
@media (min-width: 768px) {
  .kl-hub-key-facts__grid { grid-template-columns: repeat(2, 1fr); gap: 0 32px; }
  .kl-hub-key-facts__row  { grid-template-columns: 180px 1fr; align-items: start; }
}

/* ── CTA Bridge ── */
.kl-hub-cta-bridge { background: var(--kl-hub-navy-3); padding: 40px 0; }
.kl-hub-cta-bridge__inner { display: flex; flex-direction: column; gap: 20px; }
.kl-hub-cta-bridge__title {
  font-family: var(--kl-hub-font-head); font-size: 22px; font-weight: 700;
  color: #ffffff !important; margin: 0 0 6px;
}
.kl-hub-cta-bridge__lede  {
  font-size: 14px; color: rgba(255,255,255,.8) !important;
  margin: 0; font-family: var(--kl-hub-font-body);
}
.kl-hub-cta-bridge__actions { display: flex; flex-direction: column; gap: 10px; }

.kl-hub-cta-bridge__actions .kl-hub-btn--accent {
  background: var(--kl-hub-accent) !important;
  color: #fff !important; border-color: var(--kl-hub-accent) !important;
  border-radius: 50px !important;
}
.kl-hub-cta-bridge__actions .kl-hub-btn--accent:hover {
  background: var(--kl-hub-accent-dk) !important;
  border-color: var(--kl-hub-accent-dk) !important;
}
.kl-hub-cta-bridge__actions .kl-hub-btn--outline {
  background: transparent !important; color: #ffffff !important;
  border-color: #ffffff !important; border-radius: 50px !important;
  transition: background .25s;
}
.kl-hub-cta-bridge__actions .kl-hub-btn--outline:hover {
  background: rgba(255,255,255,.15) !important; color: #ffffff !important;
}

@media (min-width: 768px) {
  .kl-hub-cta-bridge__inner   { flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; }
  .kl-hub-cta-bridge__copy    { flex: 1; }
  .kl-hub-cta-bridge__actions { flex-direction: column; gap: 10px; min-width: 240px; }
  .kl-hub-cta-bridge__title   { font-size: 24px; }
}

/* ── Directory ── */
.kl-hub-directory { background: var(--kl-hub-paper); padding: 40px 0 20px; }
.kl-hub-directory__head { margin-bottom: 20px; }
.kl-hub-directory__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 6px; }
.kl-hub-directory__meta { font-size: 13px; color: var(--kl-hub-ink-2) !important; margin: 0; font-family: var(--kl-hub-font-body); }
.kl-hub-directory__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.kl-hub-directory__item { display: flex; align-items: center; gap: 6px; }
.kl-hub-directory__link { font-size: 14px; color: var(--kl-hub-accent) !important; text-decoration: none; font-family: var(--kl-hub-font-body); font-weight: 500; }
.kl-hub-directory__link:hover { text-decoration: underline; }
.kl-hub-directory__sep  { color: var(--kl-hub-line); font-size: 12px; }

/* ── City Card Grid ── */
.kl-hub-city-grid { background: var(--kl-hub-paper); padding: 20px 0 48px; }
.kl-hub-city-grid__inner { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px)  { .kl-hub-city-grid__inner { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .kl-hub-city-grid__inner { grid-template-columns: repeat(3, 1fr); } }

.kl-hub-city-card { background: var(--kl-hub-white); border: 1px solid var(--kl-hub-line); border-top: 3px solid transparent; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s; }
.kl-hub-city-card:hover { border-top-color: var(--kl-hub-accent); box-shadow: 0 4px 18px rgba(0,6,44,.1); }
.kl-hub-city-card__head { padding: 20px 20px 0; }
.kl-hub-city-card__title { font-family: var(--kl-hub-font-head); font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.kl-hub-city-card__title a { color: var(--kl-hub-ink) !important; text-decoration: none; }
.kl-hub-city-card__title a:hover { color: var(--kl-hub-accent) !important; }
.kl-hub-city-card__kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--kl-hub-ink-2) !important; margin: 0; font-family: var(--kl-hub-font-body); font-weight: 600; }
.kl-hub-city-card__body { font-size: 14px; color: var(--kl-hub-ink-2) !important; line-height: 1.65; padding: 10px 20px; flex: 1; font-family: var(--kl-hub-font-body); }
.kl-hub-city-card__cta {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 20px; background: var(--kl-hub-accent); color: #fff !important;
  font-size: 13px; font-weight: 700; text-decoration: none;
  text-transform: uppercase; letter-spacing: 0.04em;
  font-family: var(--kl-hub-font-body); transition: background .2s;
}
.kl-hub-city-card__cta:hover { background: var(--kl-hub-accent-dk); color: #fff !important; }

/* ── Topical ── */
.kl-hub-topical { background: var(--kl-hub-paper-tint); padding: 56px 0; }
.kl-hub-topical__head { margin-bottom: 32px; max-width: 640px; }
.kl-hub-topical__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 10px; }
.kl-hub-topical__lede  { font-size: 16px; color: var(--kl-hub-ink-2) !important; line-height: 1.7; margin: 0; font-family: var(--kl-hub-font-body); }
.kl-hub-topical__grid  { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .kl-hub-topical__grid { grid-template-columns: repeat(2, 1fr); } }
.kl-hub-topical__item  { background: var(--kl-hub-white); padding: 24px; border: 1px solid var(--kl-hub-line); border-top: 3px solid var(--kl-hub-accent); }
.kl-hub-topical__item-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 10px; }
.kl-hub-topical__num   { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-line); line-height: 1; flex-shrink: 0; }
.kl-hub-topical__item-title { font-family: var(--kl-hub-font-head); font-size: 16px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0; }
.kl-hub-topical__item-body  { font-size: 14px; color: var(--kl-hub-ink-2) !important; line-height: 1.7; margin: 0; font-family: var(--kl-hub-font-body); }

/* ── Process ── */
.kl-hub-process { background: var(--kl-hub-navy-2); padding: 56px 0; }
.kl-hub-process__head { display: flex; flex-direction: column; gap: 16px; margin-bottom: 36px; }
.kl-hub-process__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: #fff !important; margin: 0; }
.kl-hub-process__lede  { font-size: 15px; color: #c8d3e8 !important; margin: 0; font-family: var(--kl-hub-font-body); }
.kl-hub-process__grid  { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .kl-hub-process__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px){ .kl-hub-process__grid { grid-template-columns: repeat(4, 1fr); } .kl-hub-process__head { flex-direction: row; align-items: center; justify-content: space-between; } }
.kl-hub-process__step       { padding: 20px; border-left: 3px solid var(--kl-hub-gold); background: rgba(255,255,255,.04); }
.kl-hub-process__num        { font-family: var(--kl-hub-font-head); font-size: 36px; font-weight: 700; color: var(--kl-hub-gold) !important; line-height: 1; margin-bottom: 10px; }
.kl-hub-process__step-title { font-family: var(--kl-hub-font-head); font-size: 16px; font-weight: 700; color: #fff !important; margin: 0 0 8px; }
.kl-hub-process__step-body  { font-size: 14px; color: #c8d3e8 !important; line-height: 1.7; margin: 0; font-family: var(--kl-hub-font-body); }

/* ── Trust / E-E-A-T ── */
.kl-hub-trust { background: var(--kl-hub-paper-tint); padding: 56px 0; }
.kl-hub-trust__inner { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 1024px) { .kl-hub-trust__inner { grid-template-columns: 1fr 420px; gap: 56px; align-items: start; } }
.kl-hub-trust__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 14px; }
.kl-hub-trust__lede  { font-size: 15px; color: var(--kl-hub-ink-2) !important; line-height: 1.75; margin: 0 0 24px; font-family: var(--kl-hub-font-body); }

/* Attorney grid — 2 per row */
.kl-hub-attorneys { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 4px; }
@media (max-width: 575px) { .kl-hub-attorneys { grid-template-columns: 1fr; } }
.kl-hub-attorney { display: flex; gap: 12px; align-items: flex-start; }
.kl-hub-attorney__badge { width: 48px; height: 48px; flex-shrink: 0; border-radius: 6px; overflow: hidden; display: grid; place-items: center; color: #fff; }
.kl-hub-attorney__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.kl-hub-attorney__initials { font-family: var(--kl-hub-font-head); font-size: 16px; font-weight: 700; }
.kl-hub-attorney__name { display: block; font-family: var(--kl-hub-font-head); font-size: 15px; font-weight: 700; color: var(--kl-hub-ink) !important; text-decoration: none; margin-bottom: 3px; }
a.kl-hub-attorney__name:hover { color: var(--kl-hub-accent) !important; }
.kl-hub-attorney__role  { font-family: var(--kl-hub-font-body); font-size: 13px !important; color: var(--kl-hub-ink-2) !important; margin: 0 0 2px; line-height: 1.4 !important; }
.kl-hub-attorney__bar   { font-family: var(--kl-hub-font-body); font-size: 11px !important; color: var(--kl-hub-ink-2) !important; margin: 0 0 4px; font-style: italic; line-height: 1.4 !important; }
.kl-hub-attorney__blurb { font-family: var(--kl-hub-font-body); font-size: 12px !important; color: var(--kl-hub-ink-2) !important; margin: 4px 0 0; line-height: 1.5 !important; }

.page-wrapper .kl-hub-attorneys .kl-hub-attorney__name,
.page-wrapper .kl-hub-attorneys a.kl-hub-attorney__name { font-size: 15px !important; color: var(--kl-hub-ink) !important; line-height: 1.3 !important; }
.page-wrapper .kl-hub-attorneys .kl-hub-attorney__role,
.page-wrapper .kl-hub-attorneys p.kl-hub-attorney__role { font-size: 13px !important; color: var(--kl-hub-ink-2) !important; line-height: 1.4 !important; }
.page-wrapper .kl-hub-attorneys .kl-hub-attorney__bar,
.page-wrapper .kl-hub-attorneys p.kl-hub-attorney__bar  { font-size: 11px !important; color: var(--kl-hub-ink-2) !important; line-height: 1.4 !important; }
.page-wrapper .kl-hub-attorneys .kl-hub-attorney__blurb,
.page-wrapper .kl-hub-attorneys p.kl-hub-attorney__blurb{ font-size: 12px !important; color: var(--kl-hub-ink-2) !important; line-height: 1.5 !important; }

/* Right sidebar */
.kl-hub-trust__side { display: flex; flex-direction: column; gap: 16px; }
.kl-hub-trust__card { background: var(--kl-hub-white); border: 1px solid var(--kl-hub-line); border-top: 3px solid var(--kl-hub-accent); padding: 20px 22px; }
.kl-hub-trust__card-title { font-family: var(--kl-hub-font-head); font-size: 17px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-trust__chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kl-hub-trust__chip  { background: var(--kl-hub-paper-tint); border: 1px solid var(--kl-hub-line); padding: 4px 10px; font-size: 11px; font-weight: 600; color: var(--kl-hub-ink) !important; font-family: var(--kl-hub-font-body); letter-spacing: 0.04em; }
.kl-hub-trust__press { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.kl-hub-trust__press-item { padding: 10px 0; border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-trust__press-item:last-child { border-bottom: none; padding-bottom: 0; }
.kl-hub-trust__press-item a,
.kl-hub-trust__press-item span { font-size: 14px; color: var(--kl-hub-ink) !important; text-decoration: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kl-hub-trust__press-item a:hover { color: var(--kl-hub-accent) !important; }
.kl-hub-trust__rating { background: var(--kl-hub-navy); padding: 20px 22px; display: flex; align-items: center; gap: 18px; }
.kl-hub-trust__rating-score { font-family: var(--kl-hub-font-head); font-size: 44px; font-weight: 700; color: var(--kl-hub-gold) !important; line-height: 1; }
.kl-hub-trust__rating-stars { font-size: 18px; color: var(--kl-hub-gold) !important; letter-spacing: 2px; }
.kl-hub-trust__rating-copy  { font-size: 13px; color: #8899b8 !important; margin: 4px 0 0; line-height: 1.5; font-family: var(--kl-hub-font-body); }

/* ── FAQ ── */
.kl-hub-faq { background: var(--kl-hub-paper); padding: 56px 0; }
.kl-hub-faq__head { margin-bottom: 28px; }
.kl-hub-faq__title { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0; }
.kl-hub-faq__list  { max-width: 820px; }
.kl-hub-faq__item  { border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-faq__q     { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--kl-hub-ink) !important; list-style: none; font-family: var(--kl-hub-font-body); }
.kl-hub-faq__q::-webkit-details-marker { display: none; }
.kl-hub-faq__item[open] .kl-hub-faq__q   { color: var(--kl-hub-accent) !important; }
.kl-hub-faq__item[open] .kl-hub-faq__icon { transform: rotate(45deg); color: var(--kl-hub-accent) !important; }
.kl-hub-faq__icon  { font-size: 20px; font-weight: 300; flex-shrink: 0; color: var(--kl-hub-accent) !important; transition: transform .2s; }
.kl-hub-faq__a     { padding: 0 0 18px; }
.kl-hub-faq__a p   { font-size: 15px; color: var(--kl-hub-ink-2) !important; line-height: 1.75; margin: 0; font-family: var(--kl-hub-font-body); }

/* ── Conversion ── */
.kl-hub-conversion { background: var(--kl-hub-navy-2); padding: 56px 0; }
.kl-hub-conversion__inner { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 768px) { .kl-hub-conversion__inner { grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; } }
.kl-hub-conversion .kl-hub-eyebrow,
.kl-hub-conversion .kl-hub-eyebrow--accent {
  color: var(--kl-hub-gold) !important; font-size: 11px !important;
  letter-spacing: 0.2em !important; font-weight: 700 !important; margin-bottom: 10px !important;
}
.kl-hub-conversion__title { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: #fff !important; margin: 0 0 14px; line-height: 1.2; }
.kl-hub-conversion__lede  { font-size: 15px; color: #c8d3e8 !important; margin: 0 0 20px; line-height: 1.7; font-family: var(--kl-hub-font-body); }
.kl-hub-conversion__phone-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--kl-hub-gold) !important; margin: 0 0 3px; font-weight: 700; font-family: var(--kl-hub-font-body); }
.kl-hub-conversion__phone-num   { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: #fff !important; text-decoration: none; display: block; }
.kl-hub-conversion__phone-hours { font-size: 13px; color: #8899b8 !important; margin: 4px 0 0; font-family: var(--kl-hub-font-body); }

/* ── Hub form-wrap: white card regardless of CF7 class config ── */
/* Mirrors city.css approach: styles flow through the PHP wrapper  */
/* div so the form renders correctly even without a CF7 admin class */
.kl-hub-form-wrap {
  background: #ffffff;
  padding: 28px 24px 32px;
}
.kl-hub-form-wrap .wpcf7-form p { margin: 0 0 14px !important; }
.kl-hub-form-wrap .wpcf7-form br { display: none !important; }
.kl-hub-form-wrap label {
  display: block !important;
  font-family: var(--kl-hub-font-body) !important;
  font-size: 11px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .06em !important;
  color: var(--kl-hub-ink) !important; margin: 0 0 5px !important;
}
.kl-hub-form-wrap input[type="text"],
.kl-hub-form-wrap input[type="tel"],
.kl-hub-form-wrap input[type="email"],
.kl-hub-form-wrap select {
  width: 100% !important; padding: 11px 13px !important;
  font-family: var(--kl-hub-font-body) !important; font-size: 14px !important;
  color: var(--kl-hub-ink) !important; background: #fff !important;
  border: 1px solid #c8c8c8 !important; border-radius: 3px !important;
  box-sizing: border-box !important; height: 44px !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.kl-hub-form-wrap textarea {
  width: 100% !important; padding: 11px 13px !important;
  font-family: var(--kl-hub-font-body) !important; font-size: 14px !important;
  color: var(--kl-hub-ink) !important; background: #fff !important;
  border: 1px solid #c8c8c8 !important; border-radius: 3px !important;
  box-sizing: border-box !important; min-height: 110px !important;
  resize: vertical !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.kl-hub-form-wrap input:focus,
.kl-hub-form-wrap textarea:focus {
  outline: none !important;
  border-color: var(--kl-hub-accent) !important;
  box-shadow: 0 0 0 3px rgba(168,153,104,.12) !important;
}
.kl-hub-form-wrap .wpcf7-form-control-wrap {
  display: block !important; width: 100% !important;
}
.kl-hub-form-wrap input[type="submit"],
.kl-hub-form-wrap .wpcf7-submit {
  width: 100% !important; background: var(--kl-hub-accent) !important;
  color: #fff !important; border: none !important; border-radius: 50px !important;
  font-family: var(--kl-hub-font-body) !important; font-size: 14px !important;
  font-weight: 700 !important; letter-spacing: .06em !important;
  text-transform: uppercase !important; padding: 14px 24px !important;
  cursor: pointer !important; transition: background .25s !important;
}
.kl-hub-form-wrap input[type="submit"]:hover,
.kl-hub-form-wrap .wpcf7-submit:hover { background: var(--kl-hub-accent-dk) !important; }

/* ── CF7 Form wrapper ── */
.kl-msg-header { background: var(--kl-hub-accent); padding: 18px 24px; text-align: center; }
.kl-msg-header h2,
.kl-msg-title {
  font-family: var(--kl-hub-font-head) !important; font-size: 28px !important;
  font-weight: 700 !important; color: #ffffff !important; margin: 0 !important; line-height: 1.2 !important;
}
.kl-cf7-wrap { background: #ffffff; padding: 14px 12px 18px; font-family: var(--kl-hub-font-body); }
.kl-cf7-wrap .wpcf7-form p:not(.kl-cf7-privacy-links),
.kl-cf7-wrap .wpcf7-form br { display: none !important; margin: 0 !important; padding: 0 !important; }
.kl-cf7-field > p { display: block !important; margin: 0 !important; padding: 0 !important; font-size: inherit !important; color: inherit !important; line-height: inherit !important; }
.kl-cf7-field > p > br,
.kl-cf7-field br,
.kl-cf7-wrap br { display: none !important; height: 0 !important; line-height: 0 !important; font-size: 0 !important; margin: 0 !important; padding: 0 !important; }
.kl-cf7-wrap .wpcf7-form-control-wrap { display: block !important; width: 100% !important; position: relative !important; margin: 0 !important; padding: 0 !important; }
.kl-cf7-wrap .wpcf7-form p:has(.wpcf7-form-control-wrap),
.kl-cf7-wrap p:has(.wpcf7-form-control-wrap) { margin-bottom: 0 !important; margin-top: 0 !important; }
.page-wrapper .kl-cf7-wrap p,
.page-wrapper .kl-cf7-field p { margin: 0 !important; padding: 0 !important; font-size: inherit !important; color: inherit !important; line-height: inherit !important; }

.kl-cf7-row         { margin-bottom: 8px; }
.kl-cf7-row--2      { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.kl-cf7-row--submit { margin-top: 8px; }

.kl-cf7-qtable { width: 100% !important; border-collapse: collapse !important; margin-bottom: 0 !important; background: #ffffff !important; }
.kl-cf7-qtr { border-bottom: 1px solid #f0f0f0 !important; }
.kl-cf7-qtr:last-child { border-bottom: none !important; }
.kl-cf7-qtd-label p,
.kl-cf7-qtd-label > p,
.page-wrapper .kl-cf7-qtd-label p,
.page-wrapper .kl-cf7-qtable td p { display: inline !important; font-size: 12px !important; font-weight: 600 !important; color: var(--kl-hub-ink) !important; line-height: 1.35 !important; margin: 0 !important; padding: 0 !important; }
.page-wrapper .kl-cf7-qtable td,
.page-wrapper .kl-cf7-qtable tr { font-size: 12px !important; color: var(--kl-hub-ink) !important; background: transparent !important; border: none !important; }
.kl-cf7-qtd-label,
.page-wrapper .kl-cf7-qtd-label { font-family: var(--kl-hub-font-body) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--kl-hub-ink) !important; padding: 8px 12px !important; line-height: 1.35 !important; width: 100% !important; vertical-align: middle !important; }
.kl-cf7-qtd-radio,
.page-wrapper .kl-cf7-qtd-radio { padding: 8px 12px !important; white-space: nowrap !important; vertical-align: middle !important; }
.kl-cf7-qtd-radio .wpcf7-radio { display: flex !important; flex-direction: row !important; gap: 12px !important; flex-wrap: nowrap !important; }
.kl-cf7-qtd-radio .wpcf7-list-item { display: flex !important; align-items: center !important; gap: 4px !important; margin: 0 !important; list-style: none !important; white-space: nowrap !important; }
.kl-cf7-qtd-radio .wpcf7-list-item label,
.page-wrapper .kl-cf7-qtd-radio .wpcf7-list-item label,
.page-wrapper .kl-cf7-qtable .wpcf7-list-item label,
.page-wrapper .kl-cf7-qtable .wpcf7-list-item-label { font-size: 12px !important; font-weight: 400 !important; color: var(--kl-hub-ink) !important; cursor: pointer !important; margin: 0 !important; line-height: 1 !important; }
.kl-cf7-qtd-radio .wpcf7-list-item input[type="radio"] { width: 14px !important; height: 14px !important; accent-color: var(--kl-hub-accent) !important; cursor: pointer !important; flex-shrink: 0 !important; margin: 0 !important; }

.kl-cf7-field { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.kl-cf7-wrap label { display: block !important; font-family: var(--kl-hub-font-body) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--kl-hub-ink) !important; margin: 0 0 2px !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important; }
.kl-cf7-wrap input[type="text"],
.kl-cf7-wrap input[type="tel"],
.kl-cf7-wrap input[type="email"] { width: 100% !important; padding: 8px 10px !important; font-family: var(--kl-hub-font-body) !important; font-size: 13px !important; color: var(--kl-hub-ink) !important; background: #ffffff !important; border: 1px solid #c8c8c8 !important; border-radius: 3px !important; box-sizing: border-box !important; outline: none !important; height: 38px !important; transition: border-color .2s !important; display: block !important; }
.kl-cf7-wrap input[type="text"]:focus,
.kl-cf7-wrap input[type="tel"]:focus,
.kl-cf7-wrap input[type="email"]:focus { border-color: var(--kl-hub-accent) !important; box-shadow: 0 0 0 2px rgba(168,153,104,.1) !important; }
.kl-cf7-wrap textarea { width: 100% !important; padding: 8px 10px !important; font-family: var(--kl-hub-font-body) !important; font-size: 13px !important; color: var(--kl-hub-ink) !important; background: #ffffff !important; border: 1px solid #c8c8c8 !important; border-radius: 3px !important; box-sizing: border-box !important; min-height: 75px !important; max-height: 100px !important; resize: vertical !important; outline: none !important; transition: border-color .2s !important; display: block !important; }
.kl-cf7-wrap textarea:focus { border-color: var(--kl-hub-accent) !important; box-shadow: 0 0 0 2px rgba(168,153,104,.1) !important; }
.kl-cf7-wrap .wpcf7-acceptance { display: flex !important; align-items: flex-start !important; gap: 7px !important; }
.kl-cf7-wrap .wpcf7-acceptance .wpcf7-list-item { display: flex !important; align-items: flex-start !important; gap: 7px !important; margin: 0 !important; list-style: none !important; }
.kl-cf7-wrap .wpcf7-acceptance input[type="checkbox"] { width: 13px !important; height: 13px !important; flex-shrink: 0 !important; margin-top: 2px !important; accent-color: var(--kl-hub-accent) !important; cursor: pointer !important; }
.kl-cf7-consent-text { font-family: var(--kl-hub-font-body) !important; font-size: 11px !important; font-weight: 400 !important; color: #555 !important; line-height: 1.5 !important; }
.kl-cf7-privacy-links { font-family: var(--kl-hub-font-body) !important; font-size: 11px !important; color: #666 !important; margin: 4px 0 0 !important; line-height: 1.4 !important; }
.kl-cf7-privacy-links a { color: var(--kl-hub-accent) !important; text-decoration: underline !important; font-weight: 600 !important; font-size: 11px !important; }
.page-wrapper .kl-cf7-wrap p.kl-cf7-privacy-links,
.page-wrapper .kl-cf7-privacy-links { font-size: 11px !important; color: #666 !important; margin: 4px 0 0 !important; line-height: 1.4 !important; }
.kl-cf7-wrap input[type="submit"],
.kl-cf7-wrap .wpcf7-submit { width: 100% !important; background: var(--kl-hub-accent) !important; color: #ffffff !important; border: none !important; border-radius: 50px !important; font-family: var(--kl-hub-font-body) !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; padding: 13px 24px !important; cursor: pointer !important; transition: background .25s !important; display: block !important; }
.kl-cf7-wrap input[type="submit"]:hover,
.kl-cf7-wrap .wpcf7-submit:hover { background: var(--kl-hub-accent-dk) !important; }
.kl-cf7-wrap input[type="submit"].kl-submitting,
.kl-cf7-wrap .wpcf7-submit.kl-submitting { background: var(--kl-hub-accent-dk) !important; opacity: 0.75 !important; cursor: not-allowed !important; pointer-events: none !important; }
.page-wrapper .kl-cf7-wrap ul li,
.page-wrapper .kl-cf7-wrap ol li,
.kl-cf7-wrap .wpcf7-radio li,
.kl-cf7-wrap .wpcf7-acceptance li { font-size: inherit !important; color: inherit !important; line-height: inherit !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.kl-cf7-wrap .wpcf7-not-valid { border-color: var(--kl-hub-accent) !important; }
.kl-cf7-wrap .wpcf7-not-valid-tip { font-size: 11px !important; color: var(--kl-hub-accent) !important; margin-top: 2px !important; display: block !important; }
.kl-cf7-wrap .wpcf7-response-output { display: none !important; }
.kl-cf7-wrap .wpcf7-mail-sent-ok    { display: none !important; }
.kl-cf7-wrap .wpcf7-validation-errors { display: none !important; }
.wpcf7 .wpcf7-response-output { display: none !important; }
.kl-hub-form-notice { font-size: 13px; color: var(--kl-hub-ink-2) !important; padding: 16px; background: var(--kl-hub-paper-tint); border: 1px solid var(--kl-hub-line); font-family: var(--kl-hub-font-body); }

/* ── CF7 Toasts ── */
.kl-cf7-toast { display: none; align-items: center; gap: 10px; border-radius: 4px; padding: 12px 16px; margin-bottom: 10px; font-family: var(--kl-hub-font-body); font-size: 13px; font-weight: 600; line-height: 1.4; animation: kl-toast-in .25s ease; }
.kl-cf7-toast--error { background: #fff3cd; border: 1px solid #f0ad4e; border-left: 4px solid var(--kl-hub-accent); color: var(--kl-hub-ink); }
.kl-cf7-toast--error .kl-cf7-toast__icon { color: var(--kl-hub-accent); font-size: 16px; flex-shrink: 0; }
.kl-cf7-toast--success { background: #f0faf0; border: 1px solid #2e7d32; border-left: 4px solid #2e7d32; color: #1a5c2a; }
.kl-cf7-toast--success .kl-cf7-toast__icon { color: #2e7d32; font-size: 16px; flex-shrink: 0; }
@keyframes kl-toast-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

/* ── Parent theme overrides ── */
.page-wrapper .kl-hub-trust__chips li.kl-hub-trust__chip,
.page-wrapper ul.kl-hub-trust__chips li.kl-hub-trust__chip { font-size: 11px !important; color: var(--kl-hub-ink) !important; line-height: 1.4 !important; list-style: none !important; margin: 0 !important; padding: 4px 10px !important; }
.page-wrapper .kl-hub-trust__press li.kl-hub-trust__press-item,
.page-wrapper ul.kl-hub-trust__press li.kl-hub-trust__press-item { font-size: 14px !important; color: var(--kl-hub-ink) !important; line-height: 1.4 !important; list-style: none !important; margin: 0 !important; }
.page-wrapper .kl-hub-trust__press li.kl-hub-trust__press-item a,
.page-wrapper ul.kl-hub-trust__press li.kl-hub-trust__press-item a { font-size: 14px !important; color: var(--kl-hub-ink) !important; }
.page-wrapper .kl-hub-directory__list li.kl-hub-directory__item,
.page-wrapper ul.kl-hub-directory__list li.kl-hub-directory__item { font-size: 14px !important; color: var(--kl-hub-ink) !important; line-height: 1.4 !important; list-style: none !important; margin: 0 !important; }
.page-wrapper .kl-hub-faq__list,
.page-wrapper .kl-hub-process__grid { list-style: none !important; }

/* ── Mobile ── */
@media (max-width: 767px) {
  .kl-hub-hero        { padding: 70px 0 36px; }
  .kl-hub-key-facts   { padding: 32px 0; }
  .kl-hub-key-facts__card { padding: 20px; }
  .kl-hub-topical     { padding: 36px 0; }
  .kl-hub-process     { padding: 36px 0; }
  .kl-hub-trust       { padding: 36px 0; }
  .kl-hub-faq         { padding: 36px 0; }
  .kl-hub-conversion  { padding: 36px 0; }
}

@media (max-width: 560px) {
  .kl-cf7-wrap { padding: 12px 10px 16px; }
  .kl-msg-title { font-size: 22px !important; }
  .kl-cf7-row--2 { grid-template-columns: 1fr !important; }
}
