/* ============================================================
   Thurgood — Homepage redesign (Claude)
   All homepage, header override, and footer override styles.
   Source: Marketing Pages design bundle, Jun 2026.
   ============================================================ */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --mk-bg:            #f5f7f6;
  --mk-card:          #ffffff;
  --mk-inset:         #f0f4f3;
  --mk-line:          #e2e6e3;
  --mk-line-strong:   #d4dddc;
  --mk-line-soft:     #ecefed;

  --mk-teal-1:        #072c2c;
  --mk-teal-2:        #0a3f3f;
  --mk-teal-3:        #0e5454;
  --mk-teal-4:        #146868;
  --mk-teal-5:        #1f8585;
  --mk-teal-6:        #2da3a3;

  --mk-text:          #1a1a1a;
  --mk-text-soft:     #5a5a5a;
  --mk-text-mute:     #989898;
  --mk-text-inverse:  #ffffff;

  --mk-orange:        #f37222;
  --mk-orange-h:      #ff8a3d;
  --mk-orange-d:      #d96214;

  --mk-radius:        16px;
  --mk-radius-sm:     10px;
  --mk-radius-lg:     22px;

  --font-ui:      'Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --font-display: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  --font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ============================================================
   HEADER OVERRIDE — dark teal topbar
   ============================================================ */
#header {
  background: var(--mk-teal-2) !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: none !important;
}
#header .v2-header {
  box-shadow: none !important;
}
#header .v2-navbar {
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
/* Logo icon — invert to white */
#header .v2-navbar-brand img {
  filter: brightness(10) saturate(0) !important;
}
/* Logo text */
#header .v2-navbar-brand .logo-text,
#header .v2-navbar-brand span {
  color: #ffffff !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
}
/* Nav links */
#header .v2-pages-links-link,
#header .v2-nav-link,
#header .v2-log-link,
#header .v2-pages-links-link span {
  color: rgba(214,232,226,0.82) !important;
  font-family: var(--font-ui) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  transition: color 120ms ease !important;
}
#header .v2-pages-links-link:hover,
#header .v2-nav-link:hover {
  color: #ffffff !important;
}
/* Primary CTA in header */
#header .btn,
#header .v2-pages-links-link[href*="casebuilder"],
#header .v2-nav-link[href*="casebuilder"] {
  background: linear-gradient(180deg, var(--mk-orange-h) 0%, var(--mk-orange) 60%, var(--mk-orange-d) 100%) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  box-shadow: 0 4px 12px rgba(217,98,20,0.30) !important;
  border: none !important;
}
/* Dropdown arrows, icons in header */
#header svg,
#header .v2-pages-links-link-dropdown { color: rgba(255,255,255,0.7) !important; }

/* ============================================================
   FOOTER OVERRIDE
   ============================================================ */
#footer {
  background: #ffffff !important;
  border-top: 1px solid var(--mk-line) !important;
}
#footer .max-w-6xl {
  max-width: none !important;
}
#footer .grid {
  padding-top: 48px !important;
  padding-bottom: 36px !important;
}
/* Logo in footer */
#footer .logo-icon { filter: none !important; }
#footer .logo-name { filter: none !important; }
/* Footer blurb */
#footer .text-dark-green-150 {
  font-family: var(--font-ui) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--mk-text-soft) !important;
  font-weight: 500 !important;
}
/* Footer column headings */
#footer h6 {
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--mk-teal-3) !important;
  margin-bottom: 20px !important;
}
/* Footer links */
#footer ul li a,
#footer .text-slate-500 {
  font-family: var(--font-ui) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--mk-text-soft) !important;
  text-decoration: none !important;
  transition: color 120ms ease !important;
}
#footer ul li a:hover { color: var(--mk-text) !important; }
/* Footer bottom bar */
#footer .border-t {
  border-color: var(--mk-line) !important;
}
#footer .text-slate-400,
#footer .text-slate-500.text-sm {
  font-size: 12.5px !important;
  color: var(--mk-text-mute) !important;
}

/* ============================================================
   HIDE REMOVED WIDGETS
   ============================================================ */
[widget-id="2050"],
[widget-id="2079"] {
  display: none !important;
}

/* ============================================================
   PAGE BACKGROUND — homepage
   ============================================================ */
#main-content {
  background: var(--mk-bg) !important;
  font-family: var(--font-ui) !important;
}
#main-content * { box-sizing: border-box; }
#main-content img { max-width: 100%; display: block; }

/* ============================================================
   BUTTONS
   ============================================================ */
.mk-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.005em;
  padding: 14px 22px 14px 26px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--mk-orange-h) 0%, var(--mk-orange) 60%, var(--mk-orange-d) 100%);
  color: #ffffff;
  border: none;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255,255,255,0.25) inset, 0 6px 18px rgba(217,98,20,0.32);
  transition: filter 120ms ease, transform 120ms ease;
}
.mk-btn:hover { filter: brightness(1.05); color: #ffffff; text-decoration: none; }
.mk-btn:active { transform: translateY(1px); }
.mk-practice-cta { margin-top: 14px; white-space: nowrap; }
.mk-btn.lg {
  font-size: 16px;
  padding: 16px 26px 16px 30px;
}
.mk-btn-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: rgba(255,255,255,0.20);
}

/* ============================================================
   HERO — dark teal split layout
   ============================================================ */
.mk-hero {
  background:
    linear-gradient(96deg,
      rgba(5,34,34,0.97) 0%,
      rgba(6,42,42,0.93) 26%,
      rgba(7,46,46,0.60) 46%,
      rgba(9,56,56,0.22) 68%,
      rgba(10,63,63,0.06) 100%),
    url('/images/hero-fists.jpg') center 42% / cover no-repeat,
    var(--mk-teal-1);
  color: #ffffff;
  padding: 92px 32px 120px;
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  width: 100% !important;
}
.mk-hero::after {
  content: '';
  position: absolute;
  left: -10%; right: -10%;
  bottom: -2px;
  height: 60px;
  background: var(--mk-bg);
  clip-path: polygon(0 100%, 100% 60%, 100% 100%);
  pointer-events: none;
}
.mk-hero-inner {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 470px;
  gap: 52px;
  align-items: center;
  position: relative;
}
.mk-hero-copy {
  display: flex;
  flex-direction: column;
}
.mk-hero-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255,255,255,0.68);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 22px;
}
.mk-hero-eyebrow::after {
  content: '';
  display: block;
  width: 26px; height: 2px;
  background: var(--mk-orange-h);
}
.mk-hero-h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 66px;
  letter-spacing: -0.028em;
  line-height: 1.0;
  color: #ffffff;
  margin: 0 0 22px;
  text-wrap: balance;
  text-shadow: 0 2px 30px rgba(0,0,0,0.25);
}
.mk-hero-sub {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255,255,255,0.85);
  margin: 0;
  max-width: 46ch;
  text-wrap: pretty;
}
.mk-hero-sub b { color: #ffffff; font-weight: 700; }

/* ============================================================
   STATEMENT INTAKE FORM
   ============================================================ */
.mk-intake {
  width: 100%;
  text-align: left;
  position: relative;
  background: linear-gradient(180deg, rgba(8,58,58,0.62) 0%, rgba(6,44,44,0.70) 100%);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--mk-radius-lg);
  padding: 22px 20px 18px;
  box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 30px 60px -34px rgba(0,0,0,0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.mk-intake-top { display: flex; flex-direction: column; gap: 8px; }
.mk-intake-headrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.mk-intake-label {
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.018em;
  line-height: 1.25;
  color: #ffffff;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.mk-intake-tabs {
  display: inline-flex;
  gap: 3px;
  flex-shrink: 0;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 3px;
}
.mk-intake-tab {
  appearance: none;
  border: none;
  background: transparent;
  border-radius: 7px;
  padding: 7px 11px;
  font-family: var(--font-ui);
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.62);
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background 140ms ease, color 140ms ease;
}
.mk-intake-tab:hover { color: #ffffff; }
.mk-intake-tab.on {
  background: rgba(255,255,255,0.14);
  color: #ffffff;
  box-shadow: 0 1px 0 rgba(255,255,255,0.10) inset;
}
.mk-intake-field {
  position: relative;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 14px;
  background: rgba(3,26,26,0.50);
  overflow: hidden;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
.mk-intake-field:focus-within {
  border-color: rgba(45,163,163,0.70);
  box-shadow: 0 0 0 3px rgba(45,163,163,0.18);
}
.mk-intake-ta {
  display: block;
  width: 100%;
  border: none;
  outline: none;
  resize: none;
  background: transparent;
  padding: 16px;
  min-height: 132px;
  font-family: var(--font-ui);
  font-size: 14.5px;
  line-height: 1.55;
  color: #ffffff;
}
.mk-intake-ta::placeholder { color: rgba(255,255,255,0.42); }
/* Speak overlay */
.mk-intake-mic-layer {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: linear-gradient(180deg, rgba(7,44,44,0.55), rgba(7,44,44,0.78));
  backdrop-filter: blur(2px);
}
.mk-intake-mic {
  appearance: none;
  border: none;
  cursor: pointer;
  width: 62px; height: 62px;
  border-radius: 50%;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.30);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 22px rgba(0,0,0,0.30);
  transition: transform 140ms ease, background 140ms ease;
}
.mk-intake-mic:hover { transform: translateY(-1px); background: rgba(255,255,255,0.16); }
/* While recording: collapse the overlay to a bottom strip so the words
   filling the textarea stay visible as the user speaks. */
.mk-intake-mic-layer.is-recording {
  top: auto;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
  padding: 10px 12px 12px;
  background: linear-gradient(180deg, rgba(7,44,44,0) 0%, rgba(5,33,33,0.88) 65%);
  backdrop-filter: none;
  pointer-events: none;
}
.mk-intake-mic-layer.is-recording .mk-intake-mic { width: 44px; height: 44px; pointer-events: auto; }
.mk-intake-mic-layer.is-recording .mk-intake-mic-hint { pointer-events: auto; }
/* keep the last lines of dictated text clear of the bottom strip */
.mk-intake-field.is-recording .mk-intake-ta { padding-bottom: 64px; }
.mk-intake-mic.live {
  background: linear-gradient(180deg, var(--mk-orange-h) 0%, var(--mk-orange-d) 100%);
  border-color: transparent;
  box-shadow: 0 10px 26px rgba(217,98,20,0.40);
  animation: mk-mic-pulse 1.6s ease-in-out infinite;
}
@keyframes mk-mic-pulse {
  0%, 100% { box-shadow: 0 10px 26px rgba(217,98,20,0.4), 0 0 0 0 rgba(243,114,34,0.5); }
  50%       { box-shadow: 0 10px 26px rgba(217,98,20,0.4), 0 0 0 14px rgba(243,114,34,0); }
}
.mk-intake-mic-wave {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 26px;
}
.mk-intake-mic-wave span {
  display: block;
  width: 3.5px;
  border-radius: 3px;
  background: #ffffff;
  animation: mk-mic-bar 0.9s ease-in-out infinite;
}
.mk-intake-mic-wave span:nth-child(1) { height: 10px; animation-delay: 0s;    }
.mk-intake-mic-wave span:nth-child(2) { height: 20px; animation-delay: 0.12s; }
.mk-intake-mic-wave span:nth-child(3) { height: 26px; animation-delay: 0.24s; }
.mk-intake-mic-wave span:nth-child(4) { height: 18px; animation-delay: 0.36s; }
.mk-intake-mic-wave span:nth-child(5) { height: 11px; animation-delay: 0.48s; }
@keyframes mk-mic-bar {
  0%, 100% { transform: scaleY(0.4); }
  50%       { transform: scaleY(1);   }
}
.mk-intake-mic-hint {
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.78);
}
.mk-intake-foot {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: nowrap;
}
.mk-intake-foot .mk-btn { flex-shrink: 0; white-space: nowrap; }
.mk-intake-meta {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  color: rgba(255,255,255,0.60);
  max-width: 280px;
}
.mk-intake-terms {
  color: rgba(255,255,255,0.85);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mk-intake-terms:hover { color: #ffffff; }

/* ============================================================
   SECTIONS — shared
   ============================================================ */
.mk-section {
  padding: 96px 32px;
  background: var(--mk-bg);
}
.mk-section--compact { padding: 64px 32px 68px; }
.mk-section-inner {
  max-width: none;
  margin: 0;
  padding: 0 56px;
  box-sizing: border-box;
  position: relative;
}
/* Full-width, 56px gutters — left/right edges align with the top-nav logo/pill */
.mk-hero-inner { max-width: none; margin: 0; padding: 64px 56px 0; box-sizing: border-box; }
.mk-hero, .mk-section, .mk-section--compact, .mk-cb { padding-left: 0 !important; padding-right: 0 !important; }
/* Advocates headline: capped width, centered */
.mk-section--compact .mk-section-h { max-width: 720px; margin-left: auto; margin-right: auto; }
/* Consultation headline: wide enough for "Compare your story to the statutes" on one line */
.mk-cb .mk-section-h { max-width: 800px; margin-left: auto; margin-right: auto; text-wrap: normal !important; }
/* "Our practice" section: +32px top padding (64 -> 96) */
.mk-section--compact { padding-top: 96px !important; }
/* +32px below the "Free Evaluation" button (section-center bottom 48 -> 80) */
.mk-section--compact .mk-section-center { margin-bottom: 80px !important; }
/* Hero intake "Powered by Claude": bigger + darker separated footer strip */
.mk-intake-powered {
  font-size: 13.5px !important;
  background: rgba(0,0,0,0.20);
  margin: 12px -20px -18px !important;
  padding: 13px 20px !important;
  border-radius: 0 0 22px 22px;
}
.mk-intake-powered svg { width: 15px !important; height: 15px !important; }
.mk-intake-powered { display: flex; align-items: center; justify-content: center; gap: 9px; }
.mk-intake-product { font-weight: 700; color: #ffffff; letter-spacing: 0.01em; }
.mk-intake-pbc { display: inline-flex; align-items: center; gap: 5px; opacity: 0.72; }
/* More breathing room above the "How it works" / states-map section (diagonal cut eats the top).
   !important needed: a later shorthand `.mk-section.teal { padding: 144px... }` + a responsive
   rule both reset padding-top otherwise. */
.mk-section.teal { padding-top: 158px !important; }
.mk-section-center { text-align: center; }
.mk-section-center .mk-section-sub  { margin-left: auto; margin-right: auto; }
.mk-section-center .mk-section-eyebrow { justify-content: center; }

.mk-section-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--mk-teal-3);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.mk-section-eyebrow::after {
  content: '';
  display: block;
  width: 26px; height: 2px;
  background: var(--mk-orange);
}
.mk-section-h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 52px;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--mk-text);
  margin: 0 0 16px;
  text-wrap: balance;
}
.mk-section-sub {
  font-size: 17px;
  line-height: 1.55;
  color: var(--mk-text-soft);
  max-width: 64ch;
  margin: 0 0 40px;
}

/* Teal variant */
.mk-section.teal {
  background: var(--mk-teal-2);
  color: #ffffff;
  position: relative;
  overflow: hidden;
  padding: 96px 32px;
}
.mk-section.teal::before {
  content: '';
  position: absolute;
  left: -10%; right: -10%; top: -2px;
  height: 60px;
  background: var(--mk-bg);
  clip-path: polygon(0 0, 100% 0, 100% 40%, 0 100%);
  pointer-events: none;
}
.mk-section.teal::after {
  content: '';
  position: absolute;
  left: -10%; right: -10%; bottom: -2px;
  height: 60px;
  background: var(--mk-bg);
  clip-path: polygon(0 100%, 100% 60%, 100% 100%);
  pointer-events: none;
}
.mk-section.teal .mk-section-eyebrow { color: rgba(255,255,255,0.65); }
.mk-section.teal .mk-section-eyebrow::after { background: var(--mk-orange-h); }
.mk-section.teal .mk-section-h { color: #ffffff; }
.mk-section.teal .mk-section-sub { color: rgba(255,255,255,0.78); }

/* ============================================================
   ADVOCATES SECTION
   ============================================================ */
.mk-advocates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.mk-advocates-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
}
.mk-advocates-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--mk-radius);
  overflow: hidden;
  background: var(--mk-teal-1);
  box-shadow: 0 24px 60px rgba(15,74,74,0.18);
}
.mk-advocates-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.mk-advocates-copy h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: -0.018em;
  line-height: 1.2;
  color: var(--mk-text);
  margin: 0 0 14px;
  text-wrap: pretty;
  max-width: 590px;
}
.mk-advocates-copy p {
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--mk-text-soft);
  margin: 0;
  max-width: 52ch;
}
.mk-advocates-cta { margin-top: 28px; }

/* ============================================================
   CASEBUILDER PROMO — 3 steps
   ============================================================ */
.mk-cb-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top: 48px;
  text-align: left;
}
.mk-cb-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid var(--mk-line);
  border-radius: var(--mk-radius);
  padding: 22px 24px 26px;
  box-shadow: 0 1px 2px rgba(15,74,74,0.04);
}
.mk-cb-card:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 110px; right: -26px;
  width: 26px; height: 2px;
  background: var(--mk-line-strong);
  z-index: 2;
}
.mk-cb-card:not(:last-child)::before {
  content: '';
  position: absolute;
  top: 105px; right: -26px;
  width: 8px; height: 8px;
  border-top: 2px solid var(--mk-line-strong);
  border-right: 2px solid var(--mk-line-strong);
  transform: rotate(45deg);
  z-index: 3;
}
.mk-cb-art {
  height: 190px;
  margin-bottom: 22px;
  border-radius: 14px;
  background: radial-gradient(120% 100% at 50% 0%, #eef3f1 0%, var(--mk-inset) 70%);
  border: 1px solid var(--mk-line-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow: hidden;
}
.mk-art-card {
  width: 100%;
  max-width: 212px;
  background: #ffffff;
  border: 1px solid var(--mk-line);
  border-radius: 11px;
  box-shadow: 0 8px 20px rgba(15,74,74,0.08);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
/* art: speak/type tabs */
.mk-art-intake { gap: 14px; padding: 14px 12px; min-height: 144px; justify-content: space-between; }
.mk-art-tabs { display: flex; gap: 5px; }
.mk-art-tab {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 9.5px; font-weight: 600;
  padding: 4px 7px; border-radius: 999px;
  color: var(--mk-text-mute);
  background: var(--mk-inset);
}
.mk-art-tab.on {
  color: #ffffff;
  background: linear-gradient(180deg, var(--mk-orange-h) 0%, var(--mk-orange) 100%);
}
.mk-art-wave { display: flex; align-items: center; justify-content: center; gap: 3px; height: 24px; }
.mk-art-wave span { width: 2.5px; flex: none; border-radius: 999px; background: var(--mk-teal-4); opacity: 0.82; }
.mk-art-wave span:nth-child(1){height:24%} .mk-art-wave span:nth-child(2){height:46%}
.mk-art-wave span:nth-child(3){height:70%} .mk-art-wave span:nth-child(4){height:38%}
.mk-art-wave span:nth-child(5){height:88%} .mk-art-wave span:nth-child(6){height:56%}
.mk-art-wave span:nth-child(7){height:100%;background:var(--mk-orange);opacity:1}
.mk-art-wave span:nth-child(8){height:62%} .mk-art-wave span:nth-child(9){height:34%}
.mk-art-wave span:nth-child(10){height:74%} .mk-art-wave span:nth-child(11){height:50%}
.mk-art-wave span:nth-child(12){height:90%} .mk-art-wave span:nth-child(13){height:42%}
.mk-art-wave span:nth-child(14){height:66%} .mk-art-wave span:nth-child(15){height:28%}
.mk-art-wave span:nth-child(16){height:82%;background:var(--mk-orange);opacity:1}
.mk-art-wave span:nth-child(17){height:54%} .mk-art-wave span:nth-child(18){height:36%}
.mk-art-wave span:nth-child(19){height:72%} .mk-art-wave span:nth-child(20){height:48%}
.mk-art-wave span:nth-child(21){height:60%} .mk-art-wave span:nth-child(22){height:30%}
.mk-art-wave span:nth-child(23){height:44%} .mk-art-wave span:nth-child(24){height:22%}
.mk-art-lines { display: flex; flex-direction: column; gap: 4px; }
.mk-art-lines span { height: 4px; border-radius: 2px; background: var(--mk-line); }
.mk-art-lines span:last-child { width: 58%; }
/* art: statute */
.mk-art-chips { display: flex; flex-wrap: wrap; gap: 4px; padding-top: 2px; }
.mk-art-chip {
  white-space: nowrap;
  font-family: var(--font-mono); font-size: 8px; font-weight: 700; letter-spacing: 0.04em;
  color: var(--mk-teal-3); background: var(--mk-inset);
  padding: 2px 5px; border-radius: 4px;
}
.mk-art-stat-head { display: flex; align-items: flex-start; gap: 7px; }
.mk-art-rows { display: flex; flex-direction: column; gap: 5px; }
.mk-art-row {
  display: flex; align-items: center; gap: 9px;
  padding: 5px 7px; border-radius: 6px; background: var(--mk-inset);
}
.mk-art-rline { flex: 1; height: 4px; border-radius: 2px; background: var(--mk-line-strong); }
.mk-art-rline.short { max-width: 58%; }
.mk-art-dot {
  flex-shrink: 0; width: 15px; height: 15px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; color: #fff;
}
.mk-art-dot.ok  { background: var(--mk-teal-4); }
.mk-art-dot.warn { background: var(--mk-orange); }
/* art: call */
.mk-art-call { gap: 0; }
.mk-art-person { display: flex; align-items: flex-end; justify-content: center; padding-bottom: 2px; }
.mk-art-person svg { width: 118px; height: auto; display: block; }
.mk-art-callmeta {
  display: flex; align-items: center; gap: 8px;
  margin-top: 11px; padding-top: 11px;
  border-top: 1px solid var(--mk-line-soft);
}
.mk-art-pname { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.mk-art-pname span { height: 4px; border-radius: 2px; background: var(--mk-line-strong); }
.mk-art-pname span:first-child { width: 68%; }
.mk-art-pname span:last-child  { width: 42%; background: var(--mk-line); }
.mk-art-callfree {
  white-space: nowrap;
  font-size: 8.5px; font-weight: 700;
  color: #2fae6a; background: rgba(47,174,106,0.12);
  padding: 3px 7px; border-radius: 999px;
}

.mk-cb-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.mk-cb-num {
  font-family: var(--font-mono); font-size: 13px; font-weight: 700;
  letter-spacing: 0.04em; color: var(--mk-orange); flex-shrink: 0;
}
.mk-cb-t {
  font-family: var(--font-display); font-weight: 500; font-size: 20px;
  line-height: 1.2; letter-spacing: -0.012em; color: var(--mk-text); margin: 0;
}
.mk-cb-d { font-size: 14px; line-height: 1.55; color: var(--mk-text-soft); margin: 0; max-width: 34ch; }

/* ============================================================
   STATE MAP — tile-grid cartogram
   ============================================================ */
.mk-map-wrap { margin-top: 40px; }
.mk-map {
  display: grid;
  grid-template-columns: 65fr 35fr;
  gap: 44px;
  align-items: center;
  text-align: left;
}
.mk-map-board { min-width: 0; }
.mk-map-grid {
  display: grid;
  grid-template-columns: repeat(11, 1fr);
  gap: 6px;
}
.mk-map-tile {
  aspect-ratio: 1 / 1;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.66);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 8px;
  cursor: pointer;
  transition: background 130ms ease, color 130ms ease, border-color 130ms ease, transform 130ms ease;
}
.mk-map-tile:hover  { background: rgba(255,255,255,0.16); color: #ffffff; transform: translateY(-1px); }
.mk-map-tile.covered {
  background: rgba(45,163,163,0.22);
  border-color: rgba(45,163,163,0.42);
  color: rgba(255,255,255,0.92);
}
.mk-map-tile.on {
  background: linear-gradient(180deg, var(--mk-orange-h) 0%, var(--mk-orange) 100%);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(217,98,20,0.34);
  transform: translateY(-1px);
}
.mk-map-hint {
  margin: 0 0 16px;
  font-size: 12.5px;
  color: rgba(255,255,255,0.50);
}
.mk-map-panel {
  min-width: 0;
  align-self: center;
  background: rgba(3,26,26,0.45);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  padding: 26px 28px;
}
.mk-map-panel-eyebrow {
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255,255,255,0.50);
  margin-bottom: 8px;
}
.mk-map-panel-state {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 26px;
  letter-spacing: -0.018em;
  color: #ffffff;
  margin: 0 0 18px;
}
.mk-map-table { width: 100%; border-collapse: collapse; }
.mk-map-table th {
  text-align: left;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255,255,255,0.45);
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
.mk-map-table td {
  padding: 14px 0;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.82);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mk-map-table td:first-child {
  width: 34%; padding-right: 20px;
  font-weight: 600; color: #ffffff;
}
.mk-map-table tr:last-child td { border-bottom: none; }
.mk-map-agency { display: block; }
.mk-map-agency + .mk-map-agency { margin-top: 4px; }
.mk-map-empty { font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,0.70); margin: 0; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
/* Testimonial carousel base layout — MOVED here from homepage-v2.css (June 2026) so the homepage
   no longer depends on that non-claude file. The .mk-tcard-vid iframe / .mk-tcard-q / .mk-tcard-by*
   rules already live just below, so they are NOT repeated here. */
.mk-testimonials-outer { position: relative; margin-top: 52px; overflow: hidden; }
.mk-carousel-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 50%;
  background: #ffffff; border: 1px solid var(--mk-line-strong);
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--mk-text); z-index: 2;
  transition: background 0.15s, box-shadow 0.15s;
}
.mk-carousel-btn:hover { background: var(--mk-inset); box-shadow: 0 4px 14px rgba(0,0,0,0.14); }
.mk-carousel-prev { left: 10px; }
.mk-carousel-next { right: 10px; }
.mk-carousel-btn[disabled] { opacity: 0.3; pointer-events: none; }
.mk-testimonials {
  display: flex; flex-direction: row; overflow-x: auto; gap: 18px; margin-top: 0;
  scroll-snap-type: x mandatory; scroll-padding-left: 88px;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0 88px 4px;
}
.mk-testimonials::-webkit-scrollbar { display: none; }
.mk-testimonials .mk-tcard { flex: 0 0 calc(33.333% - 14px); min-width: 0; scroll-snap-align: start; }
.mk-tcard {
  background: #ffffff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius);
  padding: 24px; display: flex; flex-direction: column; transition: opacity 0.35s ease;
}
.mk-tcard-vid {
  position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 10px;
  margin-bottom: 18px; overflow: hidden; background: var(--mk-teal-1);
}
/* size the chevron icon inside the carousel buttons (was rendering oversized/thick) */
.mk-carousel-btn svg { width: 18px; height: 18px; display: block; }
.mk-tcard-vid iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.mk-tcard-q {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--mk-text);
  letter-spacing: -0.012em;
  margin: 0 0 14px;
  text-wrap: pretty;
  flex: 1;
}
.mk-tcard-q::before {
  content: '\201C';
  display: block;
  font-size: 36px;
  line-height: 0.5;
  color: var(--mk-orange);
  margin-bottom: 6px;
}
.mk-tcard-by {
  margin-top: auto;
  font-size: 13px;
  color: var(--mk-text-soft);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.mk-tcard-by-avatar {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--mk-teal-3);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}
.mk-testi-meta {
  margin-top: 32px;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--mk-text-mute);
}

/* ============================================================
   BIG CTA STRIP
   ============================================================ */
.mk-cta {
  background: linear-gradient(120deg, var(--mk-teal-2) 0%, var(--mk-teal-4) 60%, var(--mk-teal-5) 100%);
  color: #ffffff;
  padding: 84px 32px;
  position: relative;
  overflow: hidden;
}
.mk-cta::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 10% 80%, rgba(255,255,255,0.06) 0, transparent 35%),
    radial-gradient(circle at 90% 20%, rgba(255,255,255,0.05) 0, transparent 40%);
  pointer-events: none;
}
.mk-cta-inner {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.mk-cta-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255,255,255,0.62);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.mk-cta-eyebrow::before, .mk-cta-eyebrow::after {
  content: '';
  width: 28px; height: 1px;
  background: rgba(255,255,255,0.30);
}
.mk-cta-h {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 58px;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: #ffffff;
  margin: 0 0 18px;
  text-wrap: balance;
}
.mk-cta-sub {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255,255,255,0.82);
  max-width: 60ch;
  margin: 0 auto 32px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1080px) {
  .mk-hero-inner { grid-template-columns: 1fr 400px; }
  .mk-hero-h { font-size: 54px; }
  .mk-section { padding: 80px 28px; }
  .mk-section.teal { padding: 96px 28px; }
  .mk-cb-grid { gap: 18px; }
}

@media (max-width: 860px) {
  .mk-hero {
    padding: 80px 24px 100px;
    background:
      linear-gradient(180deg, rgba(5,34,34,0.94) 0%, rgba(7,46,46,0.82) 100%),
      url('/images/hero-fists.jpg') center 30% / cover no-repeat,
      var(--mk-teal-1);
  }
  .mk-hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .mk-hero-h { font-size: 44px; }
  .mk-section { padding: 64px 22px; }
  .mk-section.teal { padding: 80px 22px; }
  .mk-section-h { font-size: 38px; }
  .mk-advocates { grid-template-columns: 1fr; gap: 32px; }
  .mk-cb-grid { grid-template-columns: 1fr; }
  .mk-cb-card:not(:last-child)::after,
  .mk-cb-card:not(:last-child)::before { display: none; }
  .mk-map { grid-template-columns: 1fr; gap: 28px; }
  .mk-map-grid { grid-template-columns: repeat(11, 1fr); }
  .mk-testimonials .mk-tcard { flex: 0 0 calc(80% - 9px); }
  .mk-cta { padding: 60px 22px; }
  .mk-cta-h { font-size: 40px; }
}

@media (max-width: 560px) {
  .mk-hero-h { font-size: 36px; }
  .mk-section-h { font-size: 30px; }
  .mk-cb-grid { gap: 14px; }
  .mk-map-tile { font-size: 9px; border-radius: 6px; }
  .mk-intake-label { font-size: 17px; }
  .mk-cta-h { font-size: 32px; }
}

/* ============================================================
   TEXT SMOOTHING — claude
   The design (marketing.css) renders all text with antialiased
   smoothing; the homepage CSS never set it, so identical weights
   rendered ~one step heavier on macOS. Match the design's rendering.
   ============================================================ */
html, body, #header, #main-content, #footer,
#header *, #main-content *, #footer * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Mobile nav: restore padding so hamburger has room to render ── */
@media (max-width: 1023px) {
  #header .max-w-6xl {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Mobile nav: dark text on white bg (nav link color is near-white on desktop) */
@media (max-width: 1023px) {
  #header #mobile-nav,
  #header #mobile-nav * { color: #1a1a1a !important; }
  #header #mobile-nav a:hover { color: var(--mk-teal-3, #0e5454) !important; }
  #header #mobile-nav ul { background: transparent !important; box-shadow: none !important; border: none !important; }
}

/* Mobile nav height fix — ensure it extends full screen, not clipped */
@media (max-width: 1023px) {
  #header { overflow: visible !important; }
  #header #mobile-nav {
    min-height: 100vh !important;
    height: 100vh !important;
    overflow-y: auto !important;
  }
}

/* Mobile nav accordion carets */
@media (max-width: 1023px) {
  #mobile-nav li[data-has-sub] > a,
  #mobile-nav li[data-has-sub] > span {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer !important;
    width: 100% !important;
  }
  #mobile-nav li[data-has-sub] > a::after,
  #mobile-nav li[data-has-sub] > span::after {
    content: '›' !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: #5a5a5a !important;
    transition: transform 200ms ease !important;
    flex-shrink: 0 !important;
  }
  #mobile-nav li[data-has-sub].open > a::after,
  #mobile-nav li[data-has-sub].open > span::after {
    transform: rotate(90deg) !important;
  }
}

/* Testimonial carousel — mobile fix */
@media (max-width: 768px) {
  .mk-testimonials {
    padding: 0 16px 4px !important;
    scroll-padding-left: 16px !important;
    gap: 12px !important;
  }
  .mk-testimonials .mk-tcard {
    flex: 0 0 calc(100% - 12px) !important;
  }
  .mk-carousel-prev { left: 4px !important; }
  .mk-carousel-next { right: 4px !important; }
}

/* Intake form — mobile layout fixes */
@media (max-width: 640px) {
  /* Centre the card horizontally */
  .mk-intake {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Stack Type/Speak tabs below headline */
  .mk-intake-headrow {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  /* Foot: stack disclaimer below button */
  .mk-intake-foot {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  .mk-intake-foot .mk-btn {
    width: 100% !important;
    justify-content: center !important;
  }
  .mk-intake-meta {
    max-width: 100% !important;
  }
}

/* ------------------------------------------------------------------
   Homepage standalone blade (June 2026): the page keeps its original Cruip/
   Tailwind assets (the legacy blog_post_featured video module needs them),
   but the CMS wrapper gutters that inset the whole page ~45px are zeroed so
   the claude mk- hero/CTA/map sections go full-bleed. The video module stays
   contained via its own Tailwind `max-w-6xl mx-auto`; the footer is outside
   .mk-home and untouched. Only the structural CMS wrappers are zeroed — not
   the module's own Tailwind padding. ------------------------------------- */
#main-content,
#main-content .inner.container-fluid,
#main-content .row.no-gutters > .col-12 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
