/* ═══ COLUMBUS HEARING - Shared Stylesheet ═══ */

:root {
  /* Brand colors - Columbus Hearing palette (from intake form) */
  --primary:        #032B44;
  --primary-dark:   #02223A;
  --primary-mid:    #0A3F60;
  --primary-light:  #E6EDF2;

  --accent:         #5D87C6;
  --accent-dark:    #4A73B0;
  --accent-light:   #EDF1F9;
  --accent-rgb:     93,135,198;

  /* Neutral text and surface colors */
  --text:           #111827;
  --text-mid:       #374151;
  --text-soft:      #6B7280;
  --border:         #E5E7EB;
  --bg:             #FFFFFF;
  --bg-subtle:      #F7F9FB;
  --chip-bg:        #F3F4F6;
  --white:          #FFFFFF;

  /* Typography */
  --font:           'Inter', sans-serif;

  /* Sizing - Personality A */
  --radius:         10px;
  --radius-lg:      18px;
  --radius-full:    9999px;

  /* Shadows */
  --shadow-sm:      0 2px 8px rgba(0,0,0,0.06);
  --shadow-md:      0 8px 28px rgba(0,0,0,0.09);
  --shadow-lg:      0 20px 52px rgba(0,0,0,0.12);

  /* Utility colors */
  --star-color:     #F59E0B;
  --footer-bg:      #01182A;

  --max:            1140px;
  --ease:           0.22s ease;
}

/* ─────────────────────────────────────────
   RESET & BASE
   ───────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font); color:var(--text); background:var(--bg); line-height:1.7; -webkit-font-smoothing:antialiased; font-size:15px; }
a { text-decoration:none; color:inherit; }
img { display:block; max-width:100%; }
svg { display:block; }

/* ─────────────────────────────────────────
   LAYOUT
   ───────────────────────────────────────── */
.wrap     { max-width:var(--max); margin:0 auto; padding:0 32px; }
.sec      { padding:88px 0; }
.sec-sm   { padding:56px 0; }
.divider  { height:1px; background:var(--border); }
.accent   { color:var(--accent); }
.stars    { color:var(--star-color); }

/* ─────────────────────────────────────────
   TYPOGRAPHY
   ───────────────────────────────────────── */
.h1 { font-size:clamp(26px,3.2vw,42px); font-weight:800; line-height:1.15; letter-spacing:-.02em; }
.h2 { font-size:clamp(22px,2.6vw,34px); font-weight:700; line-height:1.2;  letter-spacing:-.015em; }
.h3 { font-size:20px; font-weight:700; line-height:1.3; }
.sec-head          { max-width:560px; margin-bottom:52px; }
.sec-head .h1,
.sec-head .h2      { margin-bottom:12px; }
.sec-head p        { color:var(--text-mid); }
.sec-head-center   { text-align:center; max-width:580px; margin:0 auto 52px; }

/* ─────────────────────────────────────────
   EYEBROW LABELS
   ───────────────────────────────────────── */
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-soft); margin-bottom:14px;
}
.eyebrow::before { content:''; width:18px; height:2px; background:var(--accent); border-radius:2px; flex-shrink:0; }
.eyebrow-center { justify-content:center; }
.eyebrow-center::before { display:none; }

/* ─────────────────────────────────────────
   BUTTONS
   ───────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:13px 26px; border-radius:var(--radius-full);
  border:2px solid transparent; cursor:pointer;
  font-size:14px; font-weight:700; font-family:var(--font);
  transition:all var(--ease); white-space:nowrap;
}
.btn-primary       { background:var(--primary);  color:#fff; }
.btn-primary:hover   { background:var(--primary-dark); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-accent        { background:var(--accent);   color:#fff; }
.btn-accent:hover    { background:var(--accent-dark); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-ghost         { background:transparent; border-color:var(--border); color:var(--text-mid); }
.btn-ghost:hover     { border-color:var(--primary); color:var(--primary); }
.btn-ghost-white   { background:transparent; border-color:rgba(255,255,255,.85); color:#fff; }
.btn-ghost-white:hover { background:rgba(255,255,255,.12); }
.btn-white         { background:#fff; color:var(--primary); border-color:#fff; }
.btn-white:hover     { background:var(--primary-light); transform:translateY(-1px); box-shadow:var(--shadow-md); }

/* ─────────────────────────────────────────
   TOPBAR
   ───────────────────────────────────────── */
.topbar { background:var(--bg-subtle); border-bottom:1px solid var(--border); padding:8px 0; font-size:13px; color:var(--text-soft); }
.topbar .wrap { display:flex; justify-content:space-between; align-items:center; }
.topbar-left  { display:flex; align-items:center; gap:6px; }
.topbar-right { display:flex; gap:18px; }
.topbar-right a:hover { color:var(--primary); }
.topbar-icon  { width:15px; height:15px; stroke:var(--accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ─────────────────────────────────────────
   NAV
   ───────────────────────────────────────── */
.site-header { background:#fff; border-bottom:1px solid var(--border); position:sticky; top:0; z-index:200; }
.nav { display:flex; align-items:center; justify-content:space-between; padding:0 32px; max-width:var(--max); margin:0 auto; height:68px; }
.nav-logo { display:flex; align-items:center; gap:11px; }
.logo-mark { width:36px; height:36px; border-radius:9px; background:var(--primary); display:flex; align-items:center; justify-content:center; }
.logo-mark svg { width:20px; height:20px; stroke:#fff; fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.logo-text .name { font-size:17px; font-weight:800; color:var(--text); letter-spacing:-.02em; display:block; }
.logo-text .sub  { font-size:11px; color:var(--text-soft); letter-spacing:.04em; }
.nav-logo-img { display:inline-flex; align-items:center; }
.nav-logo-img img { display:block; height:48px; width:auto; max-width:240px; object-fit:contain; }
@media (max-width: 768px) {
  .nav-logo-img img { height:40px; max-width:200px; }
}

.nav-links { display:flex; gap:6px; list-style:none; align-items:center; }
.nav-links > li { position:relative; }
.nav-links > li > a {
  font-size:14px; font-weight:500; color:var(--text-mid);
  transition:color var(--ease); padding:8px 12px; border-radius:8px;
  display:flex; align-items:center; gap:4px;
}
.nav-links > li > a:hover { color:var(--primary); background:var(--primary-light); }
.nav-links > li > a.active { color:var(--primary); font-weight:700; }
.nav-caret { width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; transition:transform var(--ease); }
.nav-links > li:hover .nav-caret { transform:rotate(180deg); }

.nav-dropdown {
  position:absolute; top:100%; left:0;
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); min-width:220px;
  padding:8px; opacity:0; pointer-events:none;
  transform:translateY(-6px);
  transition:opacity var(--ease), transform var(--ease), visibility 0s linear 0.25s;
  margin-top:12px;
  visibility:hidden;
}
/* Invisible bridge over the gap between the parent link and the dropdown */
.nav-dropdown::before {
  content:''; position:absolute; left:0; right:0;
  top:-16px; height:16px;
}
.nav-links > li:hover .nav-dropdown,
.nav-links > li:focus-within .nav-dropdown {
  opacity:1; pointer-events:all; transform:translateY(0);
  visibility:visible;
  transition:opacity var(--ease), transform var(--ease), visibility 0s;
}
.nav-dropdown a {
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-radius:8px; font-size:14px; font-weight:500; color:var(--text-mid);
  transition:background var(--ease);
}
.nav-dropdown a:hover { background:var(--primary-light); color:var(--primary); }
.nav-dropdown a .dd-ico {
  width:30px; height:30px; border-radius:7px; background:var(--primary-light);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.nav-dropdown a .dd-ico svg { width:14px; height:14px; stroke:var(--primary); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.nav-dropdown a:hover .dd-ico { background:var(--primary); }
.nav-dropdown a:hover .dd-ico svg { stroke:#fff; }
.dd-label { font-size:13px; font-weight:600; display:block; color:var(--text); }
.dd-sub   { font-size:11px; color:var(--text-soft); display:block; }
.nav-dropdown a:hover .dd-label { color:var(--primary); }
.nav-dd-divider { height:1px; background:var(--border); margin:6px 0; }

.nav-actions { display:flex; align-items:center; gap:12px; }
.nav-phone { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:700; color:var(--primary); }
.nav-phone svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ─────────────────────────────────────────
   TRUST BAR
   ───────────────────────────────────────── */
.trust-bar { background:#fff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:28px 0; }
.trust-bar .wrap { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.trust-item { text-align:center; padding:0 24px; border-right:1px solid var(--border); }
.trust-item:last-child { border-right:none; }
.trust-num { font-size:28px; font-weight:800; color:var(--primary); letter-spacing:-.04em; line-height:1; }
.trust-lbl { font-size:14px; color:var(--text-soft); margin-top:4px; }

/* ─────────────────────────────────────────
   PAGE HERO
   ───────────────────────────────────────── */
.page-hero {
  background:linear-gradient(135deg, var(--primary-light) 0%, var(--bg-subtle) 60%, var(--accent-light) 100%);
  padding:72px 0 64px; text-align:center;
}
.page-hero h1 { max-width:720px; margin:0 auto 18px; }
.page-hero .hero-sub {
  font-size:17px; color:var(--text-mid); line-height:1.7;
  max-width:540px; margin:0 auto 28px;
}
.hero-btns { display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.trust-line { font-size:14px; color:var(--text-soft); font-weight:600; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.trust-line span { color:var(--border); }
.trust-line strong { color:var(--text-mid); }

/* ─────────────────────────────────────────
   TEAM SECTION
   ───────────────────────────────────────── */
.team-section { background:var(--primary); }
.team-inner   { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.team-card {
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg); padding:32px 28px; transition:background var(--ease);
  height:100%;
}
.team-card:hover { background:rgba(255,255,255,.11); }
.team-card-top { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.team-photo {
  width:72px; height:72px; border-radius:50%;
  background:rgba(255,255,255,.15); border:3px solid rgba(255,255,255,.25);
  overflow:hidden; flex-shrink:0;
}
.team-photo img { width:100%; height:100%; object-fit:cover; }
.team-photo-placeholder { width:72px; height:72px; border-radius:50%; background:rgba(255,255,255,.15); border:3px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:700; color:#fff; flex-shrink:0; }
.team-info .tname { font-size:20px; font-weight:800; color:#fff; display:block; }
.team-info .trole { font-size:14px; color:rgba(255,255,255,.9); font-weight:600; }
.team-card p { font-size:15px; color:rgba(255,255,255,.9); line-height:1.7; margin-bottom:18px; }
.cred-chips { display:flex; gap:8px; flex-wrap:wrap; }
.chip {
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-full); padding:4px 12px;
  font-size:11px; font-weight:600; color:rgba(255,255,255,.85); white-space:nowrap;
}
.team-section .eyebrow { color:rgba(255,255,255,.85) !important; }
.team-section .eyebrow::before { background:rgba(255,255,255,.6); }
.team-section h2,
.team-section .h2 { color:#fff !important; }
.team-section .sec-head p,
.team-section .sec-head-center p,
.team-section > .wrap > p { color:rgba(255,255,255,.9) !important; }
.team-section .sec-head-center,
.team-section .sec-head { color:#fff; }

/* ─────────────────────────────────────────
   PROCESS STEPS
   ───────────────────────────────────────── */
.pathway-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.pathway-steps::before {
  content:''; position:absolute; top:24px; left:12.5%; right:12.5%;
  height:1px; background:var(--border); z-index:0;
}
.pstep { text-align:center; padding:0 16px; position:relative; z-index:1; }
.pstep-num {
  width:48px; height:48px; border-radius:50%;
  background:#fff; border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
  font-size:16px; font-weight:800; color:var(--primary); transition:all var(--ease);
}
.pstep:hover .pstep-num { background:var(--accent); border-color:var(--accent); color:#fff; }
.pstep h4 { font-size:16px; font-weight:700; margin-bottom:8px; }
.pstep p  { font-size:14px; color:var(--text-soft); }

.process-list { display:flex; flex-direction:column; gap:0; }
.process-item { display:flex; align-items:flex-start; gap:24px; padding:28px 0; border-bottom:1px solid var(--border); }
.process-item:last-child { border-bottom:none; }
.process-num { width:44px; height:44px; border-radius:50%; background:var(--primary-light); display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:800; color:var(--primary); flex-shrink:0; }
.process-body h3 { font-size:17px; font-weight:700; margin-bottom:8px; }
.process-body p  { font-size:14px; color:var(--text-mid); line-height:1.7; }

/* ─────────────────────────────────────────
   TESTIMONIALS
   ───────────────────────────────────────── */
.test-section { background:var(--bg-subtle); }
.test-header-row { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; flex-wrap:wrap; gap:16px; }
.rating-block .big-num { font-size:48px; font-weight:800; color:var(--primary); letter-spacing:-.04em; line-height:1; }
.rating-block .sub     { font-size:13px; color:var(--text-soft); margin-top:4px; }
.test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tcard { background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; }
.tcard-top { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.tav { width:40px; height:40px; border-radius:50%; background:var(--primary-light); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; color:var(--primary); flex-shrink:0; }
.tname { font-size:14px; font-weight:700; display:block; }
.tloc  { font-size:13px; color:var(--text-soft); }
.tcard .stars { font-size:13px; margin-bottom:10px; }
.tcard p { font-size:14px; color:var(--text-mid); line-height:1.65; font-style:italic; }
.tcard-tag { display:inline-block; margin-top:14px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); background:var(--accent-light); padding:3px 10px; border-radius:var(--radius-full); }

/* ─────────────────────────────────────────
   FOOTER
   ───────────────────────────────────────── */
.site-footer { background:var(--footer-bg); padding:64px 0 32px; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1.2fr; gap:44px; margin-bottom:48px; }
.footer-brand .fname { font-size:18px; font-weight:800; color:#fff; letter-spacing:-.02em; display:block; margin-bottom:10px; }
.footer-brand p { font-size:14px; color:rgba(255,255,255,.85); line-height:1.7; margin-bottom:20px; }
.footer-phone { display:inline-flex; align-items:center; gap:7px; font-size:20px; font-weight:800; color:var(--accent); letter-spacing:-.02em; }
.footer-phone svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.fcol h5 { font-size:13px; font-weight:700; color:rgba(255,255,255,.7); text-transform:uppercase; letter-spacing:.08em; margin-bottom:16px; }
.fcol ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.fcol ul a { font-size:14px; color:rgba(255,255,255,.85); transition:color var(--ease); }
.fcol ul a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:24px; display:flex; justify-content:space-between; font-size:12px; color:rgba(255,255,255,.7); flex-wrap:wrap; gap:8px; }
.footer-social { display:flex; gap:12px; margin-top:18px; }
.social-icon { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background var(--ease); }
.social-icon:hover { background:rgba(255,255,255,.18); }
.social-icon svg { width:14px; height:14px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ─────────────────────────────────────────
   SERVICE CARDS
   ───────────────────────────────────────── */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svc-card { background:var(--bg-subtle); border-radius:var(--radius-lg); padding:28px 24px; transition:all var(--ease); position:relative; }
.svc-card:hover { background:#fff; box-shadow:var(--shadow-md); transform:translateY(-2px); }
.svc-ico { width:46px; height:46px; border-radius:var(--radius); background:var(--primary-light); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.svc-ico svg { width:22px; height:22px; stroke:var(--primary); fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.svc-card h3 { font-size:17px; font-weight:700; margin-bottom:8px; }
.svc-card p  { font-size:14px; color:var(--text-mid); line-height:1.65; margin-bottom:16px; }
.svc-link { display:inline-flex; align-items:center; gap:5px; font-size:14px; font-weight:700; color:var(--accent); transition:gap var(--ease); }
.svc-link:hover { gap:9px; color:var(--accent-dark); }
.svc-link svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

/* ─────────────────────────────────────────
   WHY CARDS
   ───────────────────────────────────────── */
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.why-card { padding:30px 26px; border:1px solid var(--border); border-radius:var(--radius-lg); background:#fff; transition:all var(--ease); }
.why-card:hover { border-color:var(--accent); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.why-ico { width:48px; height:48px; border-radius:var(--radius); background:var(--accent-light); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.why-ico svg { width:24px; height:24px; stroke:var(--accent); fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.why-card h3 { font-size:19px; font-weight:700; margin-bottom:10px; }
.why-card p  { font-size:14px; color:var(--text-mid); line-height:1.7; }

/* ─────────────────────────────────────────
   LOCATION SECTION
   ───────────────────────────────────────── */
.location-inner { display:grid; grid-template-columns:1fr 460px; gap:64px; align-items:center; }
.loc-details { display:flex; flex-direction:column; gap:13px; margin-bottom:32px; }
.ldet { display:flex; align-items:flex-start; gap:11px; }
.ldet-ico { width:34px; height:34px; border-radius:7px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.ldet-ico svg { width:15px; height:15px; stroke:var(--primary); fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.ldet-text strong { display:block; font-size:13px; font-weight:700; }
.ldet-text span   { font-size:13px; color:var(--text-mid); }
.loc-btns { display:flex; gap:11px; flex-wrap:wrap; }
.map-block { border-radius:var(--radius-lg); border:1px solid var(--border); background:var(--bg-subtle); height:320px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--text-soft); }
.map-block svg { width:32px; height:32px; stroke:var(--primary); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; opacity:.4; }
.map-block span { font-size:13px; }

/* ─────────────────────────────────────────
   HERO SIDEBAR CARD
   ───────────────────────────────────────── */
.hero-card { background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border); padding:28px; box-shadow:var(--shadow-lg); }
.hc-head { display:flex; align-items:center; gap:13px; margin-bottom:16px; }
.hc-photo { width:56px; height:56px; border-radius:50%; background:var(--primary-light); border:2px solid var(--border); overflow:hidden; flex-shrink:0; }
.hc-photo img { width:100%; height:100%; object-fit:cover; }
.hc-intro .name { font-size:15px; font-weight:800; display:block; }
.hc-intro .cred { font-size:12px; color:var(--text-soft); }
.hc-quote { font-size:14px; font-style:italic; color:var(--text-mid); line-height:1.65; border-left:3px solid var(--accent); padding-left:14px; margin-bottom:20px; }
.hc-services { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.hcs { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:var(--radius); background:var(--bg-subtle); border:1px solid var(--border); }
.hcs-ico { width:32px; height:32px; border-radius:7px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hcs-ico svg { width:15px; height:15px; stroke:var(--primary); fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.hcs-label { font-size:13px; font-weight:700; display:block; }
.hcs-meta  { font-size:11px; color:var(--text-soft); }
.hc-cta { display:flex; align-items:center; justify-content:center; gap:6px; background:var(--primary); color:#fff; border-radius:var(--radius); padding:12px; font-size:14px; font-weight:700; transition:all var(--ease); }
.hc-cta:hover { background:var(--primary-dark); }
.hc-cta svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

/* ─────────────────────────────────────────
   CTA SECTION
   ───────────────────────────────────────── */
.cta-section { background:var(--primary); padding:80px 0; text-align:center; }
.cta-section h2 { color:#fff; margin-bottom:16px; }
.cta-section p  { color:rgba(255,255,255,.9); font-size:17px; max-width:480px; margin:0 auto 36px; line-height:1.7; }
.cta-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }

/* ─────────────────────────────────────────
   FAQ
   ───────────────────────────────────────── */
.faq-list { display:flex; flex-direction:column; gap:0; max-width:720px; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--border); padding:24px 0; }
.faq-item:first-child { border-top:1px solid var(--border); }
.faq-q { font-size:16px; font-weight:700; margin-bottom:10px; }
.faq-a { font-size:14px; color:var(--text-mid); line-height:1.7; }

/* ─────────────────────────────────────────
   CHECKLIST ITEMS
   ───────────────────────────────────────── */
.check-list { display:flex; flex-direction:column; gap:14px; }
.check-item { display:flex; align-items:flex-start; gap:12px; }
.check-circle { width:24px; height:24px; border-radius:50%; background:var(--accent-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.check-circle svg { width:13px; height:13px; stroke:var(--accent); fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.check-item h4 { font-size:15px; font-weight:700; margin-bottom:3px; }
.check-item p  { font-size:14px; color:var(--text-mid); line-height:1.6; }

/* ─────────────────────────────────────────
   VENDOR PILLS
   ───────────────────────────────────────── */
.brands-grid { display:flex; align-items:center; justify-content:center; gap:48px; flex-wrap:wrap; }
.vendor-pills { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.vpill { background:var(--bg-subtle); border:1px solid var(--border); border-radius:var(--radius-full); padding:9px 18px; font-size:14px; font-weight:700; color:var(--text-mid); transition:all var(--ease); }
.vpill:hover { border-color:var(--primary); color:var(--primary); background:var(--primary-light); }

/* ─────────────────────────────────────────
   INFO / CALLOUT BOX
   ───────────────────────────────────────── */
.info-box { background:var(--accent-light); border:1px solid var(--accent); border-radius:var(--radius-lg); padding:28px 32px; }
.info-box h3 { font-size:18px; font-weight:700; color:var(--text); margin-bottom:8px; }
.info-box p  { font-size:14px; color:var(--text-mid); line-height:1.7; }

/* ─────────────────────────────────────────
   STAT BAR (dark)
   ───────────────────────────────────────── */
.stat-bar { background:var(--primary); padding:48px 0; }
.stat-bar .wrap { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.stat-item { text-align:center; padding:0 24px; border-right:1px solid rgba(255,255,255,.15); }
.stat-item:last-child { border-right:none; }
.stat-num { font-size:36px; font-weight:800; color:#fff; letter-spacing:-.04em; line-height:1; }
.stat-lbl { font-size:14px; color:rgba(255,255,255,.85); margin-top:6px; }
.stat-accent { color:var(--accent); }

/* ─────────────────────────────────────────
   BLOG CARDS
   ───────────────────────────────────────── */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.blog-card { border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:all var(--ease); background:#fff; }
.blog-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.blog-thumb { height:180px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.blog-thumb img { width:100%; height:100%; object-fit:cover; }
.blog-thumb svg { width:40px; height:40px; stroke:var(--primary); fill:none; stroke-width:1.5; opacity:.35; }
.blog-body { padding:20px 22px 24px; }
.blog-cat { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.blog-card h3 { font-size:16px; font-weight:700; line-height:1.35; margin-bottom:8px; }
.blog-card p  { font-size:13px; color:var(--text-mid); line-height:1.6; margin-bottom:14px; }
.blog-meta { font-size:12px; color:var(--text-soft); }
.blog-read { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:var(--primary); transition:gap var(--ease); }
.blog-read:hover { gap:9px; }
.blog-read svg { width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

/* ─────────────────────────────────────────
   CONTACT / FORM
   ───────────────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
.contact-info-card { background:var(--bg-subtle); border:1px solid var(--border); border-radius:var(--radius-lg); padding:36px; }
.contact-info-card h3 { font-size:20px; font-weight:700; margin-bottom:24px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field { display:flex; flex-direction:column; gap:6px; }
.form-field.full { grid-column:1/-1; }
.form-field label { font-size:13px; font-weight:700; color:var(--text-mid); }
.form-field input,
.form-field select,
.form-field textarea {
  padding:12px 14px; border:1.5px solid var(--border); border-radius:var(--radius);
  font-size:14px; font-family:var(--font); color:var(--text);
  background:#fff; transition:border-color var(--ease); outline:none;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color:var(--primary); }
.form-field textarea { resize:vertical; min-height:120px; }

/* ─────────────────────────────────────────
   HIGHLIGHT
   ───────────────────────────────────────── */
.highlight {
  background:linear-gradient(to bottom, transparent 50%, rgba(var(--accent-rgb), 0.3) 50%);
  padding:0 4px;
}

/* ─────────────────────────────────────────
   ARROW LINKS
   ───────────────────────────────────────── */
.arrow-link { display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--accent); transition:gap var(--ease); }
.arrow-link:hover { gap:10px; color:var(--accent-dark); }
.arrow-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

/* ─────────────────────────────────────────
   PRESS / FEATURED IN
   ───────────────────────────────────────── */
.press-band { padding:48px 0; background:var(--bg-subtle); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.press-band .eyebrow { color:var(--text-soft); margin-bottom:8px; }
.press-band h3 { font-size:18px; font-weight:700; color:var(--text); margin-bottom:24px; }
.press-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; }
.press-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px 24px; transition:all var(--ease); display:flex; flex-direction:column; gap:8px; }
.press-card:hover { border-color:var(--accent); box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.press-source { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-dark); }
.press-source-divider { width:1px; height:11px; background:var(--border); }
.press-source-date { color:var(--text-soft); letter-spacing:.04em; }
.press-card h4 { font-size:16px; font-weight:700; color:var(--text); line-height:1.35; margin:2px 0; }
.press-card .press-link { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:var(--primary); margin-top:6px; }
.press-card .press-link:hover { color:var(--accent-dark); gap:9px; }
.press-card .press-link svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }

/* Fuller press section on About page */
.press-section { padding:64px 0; }
.press-section .press-card { padding:28px 30px; gap:12px; }
.press-section .press-card blockquote { font-size:16px; line-height:1.6; color:var(--text-mid); font-style:italic; border-left:3px solid var(--accent); padding-left:16px; margin:6px 0; }
.press-section .press-card cite { font-size:13px; color:var(--text-soft); font-style:normal; display:block; }

@media (max-width: 768px) {
  .press-grid { grid-template-columns:1fr; }
}

/* ─────────────────────────────────────────
   LEAD MAGNET
   ───────────────────────────────────────── */
.lead-magnet { padding:56px 0; }
.lead-magnet.lm-bg-accent  { background:var(--accent-light); border-top:1px solid var(--accent); border-bottom:1px solid var(--accent); }
.lead-magnet.lm-bg-primary { background:var(--primary); }
.lead-magnet.lm-bg-subtle  { background:var(--bg-subtle); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.lm-inner { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.lm-copy .lm-eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; }
.lead-magnet.lm-bg-accent  .lm-eyebrow { color:var(--accent-dark); }
.lead-magnet.lm-bg-primary .lm-eyebrow { color:rgba(255,255,255,.85); }
.lead-magnet.lm-bg-subtle  .lm-eyebrow { color:var(--accent); }
.lm-copy h2 { font-size:clamp(20px,2.2vw,28px); font-weight:800; line-height:1.2; margin-bottom:10px; }
.lead-magnet.lm-bg-primary .lm-copy h2 { color:#fff; }
.lm-copy p { font-size:15px; line-height:1.7; }
.lead-magnet.lm-bg-primary .lm-copy p { color:rgba(255,255,255,.9); }
.lead-magnet.lm-bg-accent  .lm-copy p,
.lead-magnet.lm-bg-subtle  .lm-copy p { color:var(--text-mid); }
.lm-trust { display:flex; gap:16px; flex-wrap:wrap; margin-top:14px; }
.lm-trust-item { display:flex; align-items:center; gap:5px; font-size:13px; font-weight:600; }
.lead-magnet.lm-bg-primary .lm-trust-item { color:rgba(255,255,255,.85); }
.lead-magnet.lm-bg-accent  .lm-trust-item,
.lead-magnet.lm-bg-subtle  .lm-trust-item { color:var(--text-mid); }
.lm-trust-item svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.lead-magnet.lm-bg-primary .lm-trust-item svg { stroke:var(--accent); }
.lead-magnet.lm-bg-accent  .lm-trust-item svg { stroke:var(--accent-dark); }
.lead-magnet.lm-bg-subtle  .lm-trust-item svg { stroke:var(--accent); }
.lm-form { display:flex; flex-direction:column; gap:10px; }
.lm-form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lm-field { display:flex; flex-direction:column; gap:5px; }
.lm-field label { font-size:12px; font-weight:700; }
.lead-magnet.lm-bg-primary .lm-field label { color:rgba(255,255,255,.85); }
.lead-magnet.lm-bg-accent  .lm-field label,
.lead-magnet.lm-bg-subtle  .lm-field label { color:var(--text-mid); }
.lm-field input,
.lm-field select { padding:11px 14px; border-radius:var(--radius); font-size:14px; font-family:var(--font); outline:none; transition:border-color var(--ease); }
.lead-magnet.lm-bg-primary .lm-field input,
.lead-magnet.lm-bg-primary .lm-field select { border:1.5px solid rgba(255,255,255,.2); background:rgba(255,255,255,.1); color:#fff; }
.lead-magnet.lm-bg-primary .lm-field input::placeholder { color:rgba(255,255,255,.6); }
.lead-magnet.lm-bg-primary .lm-field input:focus,
.lead-magnet.lm-bg-primary .lm-field select:focus { border-color:var(--accent); }
.lead-magnet.lm-bg-accent  .lm-field input,
.lead-magnet.lm-bg-accent  .lm-field select,
.lead-magnet.lm-bg-subtle  .lm-field input,
.lead-magnet.lm-bg-subtle  .lm-field select { border:1.5px solid var(--border); background:#fff; color:var(--text); }
.lead-magnet.lm-bg-accent  .lm-field input:focus,
.lead-magnet.lm-bg-accent  .lm-field select:focus,
.lead-magnet.lm-bg-subtle  .lm-field input:focus,
.lead-magnet.lm-bg-subtle  .lm-field select:focus { border-color:var(--primary); }
.lm-submit { width:100%; padding:13px; border:none; cursor:pointer; border-radius:var(--radius-full); font-size:15px; font-weight:700; font-family:var(--font); transition:all var(--ease); }
.lead-magnet.lm-bg-primary .lm-submit { background:var(--accent); color:#fff; }
.lead-magnet.lm-bg-primary .lm-submit:hover { background:var(--accent-dark); transform:translateY(-1px); }
.lead-magnet.lm-bg-accent  .lm-submit,
.lead-magnet.lm-bg-subtle  .lm-submit { background:var(--primary); color:#fff; }
.lead-magnet.lm-bg-accent  .lm-submit:hover,
.lead-magnet.lm-bg-subtle  .lm-submit:hover { background:var(--primary-dark); transform:translateY(-1px); }
.lm-disclaimer { font-size:11px; color:var(--text-soft); text-align:center; }
.lead-magnet.lm-bg-primary .lm-disclaimer { color:rgba(255,255,255,.6); }

/* ═══ IMAGE-RICH COMPONENTS ═══ */

.split-section { display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; min-height:480px; }
.split-img      { position:relative; overflow:hidden; min-height:420px; }
.split-img img  { width:100%; height:100%; object-fit:cover; display:block; }
.split-img-placeholder { width:100%; height:100%; min-height:420px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; }
.split-img-placeholder span { font-size:13px; color:var(--text-soft); }
.split-copy     { padding:72px 64px; display:flex; flex-direction:column; justify-content:center; }
.split-copy .eyebrow { margin-bottom:12px; }
.split-copy .h2 { margin-bottom:18px; }
.split-copy p   { color:var(--text-mid); line-height:1.75; margin-bottom:18px; }
.split-copy p:last-of-type { margin-bottom:28px; }
.split-section.bg-subtle .split-copy { background:var(--bg-subtle); }

.photo-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:280px 280px; gap:12px; border-radius:var(--radius-lg); overflow:hidden; }
.photo-grid-item { overflow:hidden; position:relative; }
.photo-grid-item img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; display:block; }
.photo-grid-item:hover img { transform:scale(1.03); }
.photo-grid-item.tall { grid-row:span 2; }

.lifestyle-banner { position:relative; min-height:280px; padding:72px 0; overflow:hidden; background:var(--primary); }
.lifestyle-banner img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; position:absolute; inset:0; }
.lifestyle-banner-overlay { position:relative; display:flex; align-items:center; min-height:140px; }
.lifestyle-banner-copy { max-width:680px; padding:0 64px; color:#fff; }
.lifestyle-banner-copy .h2 { color:#fff !important; margin-bottom:14px; }
.lifestyle-banner-copy p  { color:rgba(255,255,255,.9) !important; font-size:17px; line-height:1.7; margin-bottom:28px; }
.lifestyle-banner.has-photo { padding:0; min-height:380px; }
.lifestyle-banner.has-photo .lifestyle-banner-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 60%, transparent 100%); min-height:380px; }

/* SECTION HEAD WITH SIDE PHOTO */
.sec-head-with-photo { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; max-width:none; margin:0 auto 52px; text-align:left; }
.sec-head-with-photo .head-text { max-width:520px; }
.sec-head-with-photo .head-text .eyebrow { margin-bottom:12px; display:inline-block; }
.sec-head-with-photo .head-text .h2 { margin-bottom:16px; }
.sec-head-with-photo .head-text p { color:var(--text-mid); line-height:1.75; margin-bottom:18px; }
.sec-head-with-photo .head-photo { position:relative; }
.sec-head-with-photo .head-photo img { width:100%; height:auto; aspect-ratio:5/4; object-fit:cover; border-radius:var(--radius-lg); display:block; box-shadow:var(--shadow-md); }
.sec-head-with-photo.photo-left .head-text { order:2; }
.sec-head-with-photo.photo-left .head-photo { order:1; }
.team-section .sec-head-with-photo .head-text .h2,
.team-section .sec-head-with-photo .head-text p,
.team-section .sec-head-with-photo .head-text .eyebrow { color:#fff !important; }

.team-feature-photo { margin:0 auto 44px; max-width:920px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.12); }
.team-feature-photo img { width:100%; height:auto; display:block; }

.team-grid-portrait { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:32px; }
.team-card-portrait { background:var(--bg); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow var(--ease); }
.team-card-portrait:hover { box-shadow:var(--shadow-md); }
.team-portrait-img { width:100%; height:300px; object-fit:cover; object-position:center top; display:block; }
.team-portrait-placeholder { width:100%; height:300px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; }
.team-portrait-placeholder span { font-size:13px; color:var(--text-soft); }
.team-portrait-body { padding:28px; }
.team-portrait-body .tname  { font-size:19px; font-weight:800; color:var(--text); display:block; margin-bottom:4px; }
.team-portrait-body .tcred  { font-size:13px; font-weight:700; color:var(--accent); text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px; display:block; }
.team-portrait-body .tloc   { font-size:12px; color:var(--text-soft); display:block; margin-bottom:14px; }
.team-portrait-body p       { font-size:14px; color:var(--text-mid); line-height:1.7; }

.img-card { background:var(--bg); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow var(--ease),transform var(--ease); }
.img-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.img-card-photo { width:100%; height:200px; object-fit:cover; display:block; }
.img-card-photo-placeholder { width:100%; height:200px; background:var(--primary-light); }
.img-card-body { padding:24px; }
.img-card-body .h3 { margin-bottom:10px; }
.img-card-body p   { font-size:14px; color:var(--text-mid); line-height:1.65; margin-bottom:16px; }

.quote-section { background:var(--primary); padding:80px 0; text-align:center; position:relative; overflow:hidden; }
.quote-mark { font-size:80px; line-height:.8; color:rgba(255,255,255,.2); font-family:Georgia,serif; margin-bottom:8px; }
.quote-text  { font-size:clamp(20px,2.4vw,30px); font-weight:600; color:#fff; line-height:1.4; max-width:700px; margin:0 auto 28px; font-style:italic; }
.quote-attr  { font-size:14px; color:rgba(255,255,255,.85); letter-spacing:.04em; }
.quote-section.qs-light  { background:var(--bg-subtle); }
.quote-section.qs-light .quote-mark { color:var(--primary-light); }
.quote-section.qs-light .quote-text { color:var(--text); }
.quote-section.qs-light .quote-attr { color:var(--text-soft); }

.office-photo { width:100%; height:340px; object-fit:cover; border-radius:var(--radius-lg); display:block; }
.office-photo-placeholder { width:100%; height:340px; background:var(--primary-light); border-radius:var(--radius-lg); display:flex; align-items:center; justify-content:center; }
.office-photo-placeholder span { font-size:13px; color:var(--text-soft); }

.moment-row { display:grid; grid-template-columns:1fr 420px; gap:64px; align-items:center; }
.moment-row.moment-flip { grid-template-columns:420px 1fr; }
.moment-row.moment-flip .moment-img { order:-1; }
/* When no image is present, collapse to a single, centered text column */
.moment-row:not(:has(.moment-img)) { grid-template-columns:1fr; max-width:760px; margin:0 auto; }
.moment-img { border-radius:var(--radius-lg); overflow:hidden; }
.moment-img img { width:100%; height:320px; object-fit:cover; display:block; }
.moment-img-placeholder { width:100%; height:320px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; }
.moment-copy .h2 { margin-bottom:16px; }
.moment-copy p   { color:var(--text-mid); line-height:1.75; margin-bottom:20px; }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1024px) {
  .wrap { padding: 0 24px; }
  .pathway-steps              { grid-template-columns: repeat(2,1fr); gap: 32px; }
  .pathway-steps::before      { display: none; }
  .stat-bar .wrap             { grid-template-columns: repeat(2,1fr); }
  .stat-item                  { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); padding-bottom: 24px; margin-bottom: 24px; }
  .stat-item:nth-child(3),
  .stat-item:last-child       { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
  .trust-bar .wrap            { grid-template-columns: repeat(2,1fr); gap: 0; }
  .trust-item                 { border-right: none; border-bottom: 1px solid var(--border); padding: 16px 0; }
  .trust-item:nth-child(odd)  { border-right: 1px solid var(--border); }
  .trust-item:nth-child(3),
  .trust-item:last-child      { border-bottom: none; }
  .services-grid  { grid-template-columns: repeat(2,1fr); }
  .why-grid       { grid-template-columns: repeat(2,1fr); }
  .test-grid      { grid-template-columns: repeat(2,1fr); }
  .blog-grid      { grid-template-columns: repeat(2,1fr); }
  .footer-grid    { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media (max-width: 768px) {
  .sec    { padding: 64px 0; }
  .sec-sm { padding: 40px 0; }
  .wrap   { padding: 0 20px; }
  .nav              { height: auto; padding: 0 20px; flex-wrap: wrap; position: relative; }
  .nav-logo         { padding: 14px 0; }
  .nav-links        { display: none; flex-direction: column; width: 100%; padding: 8px 0 16px; gap: 2px; }
  .nav-links.open   { display: flex; }
  .nav-links > li   { width: 100%; }
  .nav-links > li > a { padding: 11px 14px; border-radius: 8px; }
  .nav-dropdown     { position: static; opacity: 1; pointer-events: all; transform: none; box-shadow: none; border: none; padding: 4px 0 4px 16px; min-width: auto; }
  .nav-actions      { padding: 12px 0 14px; gap: 10px; }
  .nav-actions .btn { padding: 10px 18px; font-size: 13px; }
  .nav-hamburger { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 36px; height: 36px; background: none; border: none; cursor: pointer; padding: 4px; margin-left: auto; }
  .nav-hamburger span { display: block; height: 2px; background: var(--text-mid); border-radius: 2px; transition: all var(--ease); }
  .page-hero { padding: 52px 0 44px; }
  .page-hero h1 { font-size: clamp(24px, 6vw, 32px); }
  .page-hero .hero-sub { font-size: 15px; }
  .hero-split { grid-template-columns: 1fr !important; gap: 40px !important; }
  .hero-card  { max-width: 480px; margin: 0 auto; }
  .split-section        { grid-template-columns: 1fr; min-height:auto; }
  .split-img            { min-height: 300px; order: -1; }
  .split-copy           { padding: 48px 32px; }
  .moment-row           { grid-template-columns: 1fr; gap: 32px; }
  .moment-row.moment-flip .moment-img { order: 0; }
  .moment-img img       { height: 260px; }
  .lifestyle-banner     { height: 280px; }
  .lifestyle-banner-copy { padding: 0 32px; }
  .sec-head-with-photo  { grid-template-columns: 1fr; gap: 32px; max-width: 580px; }
  .sec-head-with-photo .head-text { max-width: 100%; }
  .sec-head-with-photo.photo-left .head-text { order: 0; }
  .sec-head-with-photo.photo-left .head-photo { order: 0; }
  .photo-grid           { grid-template-rows: 220px 220px; }
  .team-grid-portrait   { grid-template-columns: repeat(2,1fr); }
  .quote-text           { font-size: clamp(18px, 3vw, 24px); }
  .team-inner     { grid-template-columns: 1fr; }
  .location-inner { grid-template-columns: 1fr; }
  .contact-grid   { grid-template-columns: 1fr; }
  .lm-inner       { grid-template-columns: 1fr; gap: 32px; }
  .form-grid      { grid-template-columns: 1fr; }
  .services-grid  { grid-template-columns: repeat(2,1fr); }
  .why-grid       { grid-template-columns: repeat(2,1fr); }
  .test-grid      { grid-template-columns: 1fr; }
  .blog-grid      { grid-template-columns: 1fr; }
  .footer-grid    { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-brand   { grid-column: 1 / -1; }
  .test-header-row { flex-direction: column; align-items: flex-start; gap: 16px; }
  .stat-bar .wrap { grid-template-columns: repeat(2,1fr); }
  .map-block      { height: 240px; }
  .sec-head-center { text-align: left; }
  .eyebrow-center  { justify-content: flex-start; }
  .eyebrow-center::before { display: inline-block; }
}

@media (max-width: 480px) {
  .sec    { padding: 48px 0; }
  .wrap   { padding: 0 16px; }
  .services-grid        { grid-template-columns: 1fr; }
  .why-grid             { grid-template-columns: 1fr; }
  .pathway-steps        { grid-template-columns: 1fr; gap: 28px; }
  .footer-grid          { grid-template-columns: 1fr; }
  .lm-form-row          { grid-template-columns: 1fr; }
  .trust-bar .wrap      { grid-template-columns: 1fr 1fr; }
  .stat-bar .wrap       { grid-template-columns: 1fr 1fr; }
  .stat-num             { font-size: 28px; }
  .h1 { font-size: clamp(22px, 7vw, 28px); }
  .h2 { font-size: clamp(20px, 6vw, 26px); }
  .hero-btns  { flex-direction: column; align-items: stretch; }
  .hero-btns .btn { text-align: center; justify-content: center; }
  .cta-btns   { flex-direction: column; align-items: center; }
  .loc-btns   { flex-direction: column; }
  .nav-phone  { display: none; }
  .footer-bottom { flex-direction: column; gap: 6px; text-align: center; }
  .process-item { gap: 16px; }
  .process-num  { width: 36px; height: 36px; font-size: 15px; flex-shrink: 0; }
  .lead-magnet { padding: 40px 0; }
  .lm-trust    { flex-direction: column; gap: 8px; }
  .split-copy           { padding: 36px 20px; }
  .photo-grid           { grid-template-columns: 1fr; grid-template-rows: repeat(4, 200px); }
  .photo-grid-item.tall { grid-row: span 1; }
  .team-grid-portrait   { grid-template-columns: 1fr; }
  .team-portrait-img    { height: 260px; }
  .moment-img img       { height: 220px; }
  .lifestyle-banner     { height: 220px; }
  .lifestyle-banner-copy { padding: 0 20px; }
  .lifestyle-banner-copy .h2 { font-size: 20px; }
  .quote-text           { font-size: 18px; }
  .quote-section        { padding: 56px 0; }
}

.nav-hamburger { display: none; }
@media (max-width: 768px) {
  .nav-hamburger { display: flex; }
}
