/* ==========================================================================
   Best Care Services - Homepage (modern SaaS look; plain CSS)
   Principles: hairline borders, soft glow backgrounds, big radii, pill buttons.
   Motion: colour/shadow transitions only. No scroll or entrance animations.
   Layout shifts: stacked slides/tabs share one grid cell, images carry aspect-ratio.
   ========================================================================== */

:root{
  --hm-bg:#fffef0;                 /* page: lighter variation of cream */
  --hm-cream:#fffee0;              /* brand cream */
  --hm-card:#fff;
  --hm-ink:#10243a;
  --hm-muted:#4d6176;
  --hm-line:rgba(16,36,58,.1);
  --hm-dash:#bcc3cc;               /* grey dashed separators */
  --hm-blue:#00539C;               /* brand blue */
  --hm-blue-d:#003a70;
  --hm-blue-dd:#00294f;
  --hm-accent:#e13e20;             /* brand red-orange */
  --hm-accent-d:#c2331a;
  --hm-tint:rgba(0,83,156,.09);
  --hm-r:13px;
  --hm-shadow:0 1px 2px rgba(16,36,58,.04),0 12px 30px -16px rgba(16,36,58,.18);
  --hm-cta-img:url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=70');
}

body{
  background:var(--hm-bg); color:var(--hm-ink);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
}
.hm{ font-family:var(--bc-font); line-height:1.65; }
.hm :where(*){ min-width:0; }
.hm :where(img){ max-width:100%; height:auto; display:block; }
.hm :where(a){ color:inherit; text-decoration:none; }
.hm :where(ul){ list-style:none; margin:0; padding:0; }
.hm :where(h1,h2,h3,h4,p){ margin:0; font-family:var(--bc-font); }
.hm code{ font-family:inherit; font-weight:700; }
.hm-wrap{ width:100%; max-width:1240px; margin:0 auto; padding:0 1.25rem; }
html{ scroll-behavior:auto; scroll-padding-top:84px; }

/* ---------- Type ---------- */
.hm-h1{ font-size:clamp(2rem,3.6vw,3.05rem); line-height:1.1; font-weight:800; letter-spacing:-.02em; color:var(--hm-blue); }
.hm-h2{ font-size:clamp(1.75rem,3.2vw,2.6rem); line-height:1.15; font-weight:800; letter-spacing:-.015em; color:var(--hm-blue); }
.hm-grad{ font-style:normal; color:var(--hm-accent); }   /* solid colour, no gradient */
.hm-eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  margin-bottom:.9rem; padding:.3rem .8rem;
  font-size:.78rem; font-weight:700; letter-spacing:.02em; color:var(--hm-blue);
  background:#fff; border:1px solid var(--hm-line); border-radius:8px;
  box-shadow:0 1px 2px rgba(16,36,58,.04);
}
.hm-eyebrow::before{ content:""; width:7px; height:7px; border-radius:25%; background:var(--hm-accent); }
.hm-lede{ color:var(--hm-muted); font-size:1.06rem; max-width:62ch; }

/* ---------- Buttons ---------- */
.hm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.8rem 1.4rem; border:1px solid transparent; border-radius:11px;
  font:800 .95rem/1.2 var(--bc-font); white-space:nowrap; cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;
}
.hm-btn i{ font-size:.95rem; }
.hm-btn--primary{ background:var(--hm-blue); color:#fff; box-shadow:0 8px 18px -10px rgba(0,83,156,.7); }
.hm-btn--primary:hover{ background:var(--hm-blue-d); }
.hm-btn--ghost{ background:#fff; color:var(--hm-blue); border-color:rgba(0,83,156,.28); }
.hm-btn--ghost:hover{ border-color:var(--hm-blue); background:var(--hm-cream); }
.hm-btn--gold{ background:var(--hm-accent); color:#fff; box-shadow:0 8px 18px -10px rgba(225,62,32,.7); }
.hm-btn--gold:hover{ background:var(--hm-accent-d); }
.hm-btn--glass{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.45); }
.hm-btn--glass:hover{ background:rgba(255,255,255,.2); border-color:#fff; }
.hm :where(a,button,summary,input,select,textarea):focus-visible{ outline:2px solid var(--hm-blue); outline-offset:2px; border-radius:7px; }

.hm-link{ display:inline-flex; align-items:center; gap:.35rem; font-weight:700; font-size:.9rem; color:var(--hm-blue); }
.hm-link:hover{ text-decoration:underline; text-underline-offset:3px; }

.hm-ic{
  flex:0 0 auto; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:25%; background:var(--hm-tint); color:var(--hm-blue); font-size:1.1rem;
}

/* ---------- Sections ---------- */
.hm-sec{ padding:5.5rem 0; }
.hm-sec--alt{ background:var(--hm-cream); border-top:1px solid var(--hm-line); border-bottom:1px solid var(--hm-line); }
.hm-intro{ margin-bottom:2.6rem; display:grid; gap:1rem; }
.hm-intro--center{ text-align:center; justify-items:center; }
.hm-intro--split{ grid-template-columns:1.1fr 1fr; align-items:end; gap:2.5rem; }

/* ---------- Hero ---------- */
.hm-hero{ position:relative; padding:3.5rem 0 3rem; overflow:hidden; isolation:isolate; }
.hm-hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(55% 60% at 88% 0%,rgba(255,254,224,.95),transparent 70%),
    radial-gradient(50% 60% at 8% 0%,rgba(0,83,156,.14),transparent 70%),
    radial-gradient(45% 45% at 60% 105%,rgba(225,62,32,.08),transparent 70%);
}
.hm-hero::after{       /* faint grid, fading out */
  content:""; position:absolute; inset:0; z-index:-1;
  background-image:linear-gradient(var(--hm-line) 1px,transparent 1px),linear-gradient(90deg,var(--hm-line) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(70% 70% at 50% 20%,#000,transparent 75%);
          mask-image:radial-gradient(70% 70% at 50% 20%,#000,transparent 75%);
  opacity:.6;
}
.hm-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }

.hm-slides{ display:grid; }                     /* all slides share one cell: constant height */
.hm-slide{ grid-area:1/1; visibility:hidden; }
.hm-slide.is-active{ visibility:visible; }
.hm-badge{
  display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1.1rem;
  padding:.35rem .85rem; font-size:.8rem; font-weight:800; color:var(--hm-blue);
  background:rgba(255,255,255,.9); border:1px solid var(--hm-line); border-radius:8px;
}
.hm-badge i{ width:7px; height:7px; border-radius:25%; background:var(--hm-accent); box-shadow:0 0 0 3px rgba(225,62,32,.22); }
.hm-hero .hm-h1{ margin-bottom:1.1rem; }
.hm-hero-lead{ font-size:1.1rem; color:var(--hm-muted); max-width:56ch; margin-bottom:1.4rem; }
.hm-checks{ display:grid; gap:.55rem; margin-bottom:1.8rem; }
.hm-checks li{ display:flex; align-items:flex-start; gap:.6rem; font-weight:600; font-size:.97rem; }
.hm-checks i{
  flex:0 0 22px; height:22px; margin-top:1px; display:inline-flex; align-items:center; justify-content:center;
  font-size:.62rem; font-weight:800; color:#fff; background:var(--hm-accent); border-radius:25%;
}
.hm-hero-cta{ display:flex; flex-wrap:wrap; gap:.7rem; }

.hm-hero-foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.hm-trust{ display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; font-size:.85rem; font-weight:700; color:var(--hm-muted); }
.hm-trust li::before{ content:"✓"; margin-right:.4rem; color:var(--hm-blue); }
.hm-ctrl{ display:flex; align-items:center; gap:1rem; }
.hm-dots{ display:flex; gap:.4rem; }
.hm-dot{ width:8px; height:8px; padding:0; border:0; border-radius:2px; background:rgba(16,36,58,.2); cursor:pointer; position:relative; }
.hm-dot::after{ content:""; position:absolute; inset:-8px; }
.hm-dot[aria-selected="true"]{ background:var(--hm-blue); width:22px; }
.hm-arrows{ display:flex; gap:.4rem; }
.hm-arrow{
  width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--hm-line); border-radius:25%; color:var(--hm-blue); cursor:pointer; font-size:.8rem;
  transition:border-color .15s,background-color .15s;
}
.hm-arrow:hover{ border-color:var(--hm-blue); background:var(--hm-cream); }

.hm-visual{ position:relative; }
.hm-photo{
  position:relative; margin:0; aspect-ratio:900/738; overflow:hidden;
  border-radius:17px; background:var(--hm-cream);
  border:1px solid var(--hm-line); box-shadow:0 30px 60px -30px rgba(0,58,112,.45);
  display:grid;
}
.hm-photo img{ grid-area:1/1; width:100%; height:100%; object-fit:cover; visibility:hidden; }
.hm-photo img.is-active{ visibility:visible; }
.hm-float{
  position:absolute; left:-1.25rem; bottom:2rem;
  display:flex; align-items:center; gap:.75rem; padding:.8rem 1.1rem;
  background:rgba(255,255,255,.94); border:1px solid var(--hm-line); border-radius:11px;
  box-shadow:0 18px 36px -18px rgba(16,36,58,.4);
}
.hm-float strong{ display:block; font-size:1.25rem; line-height:1.1; letter-spacing:-.01em; color:var(--hm-blue); }
.hm-float span{ font-size:.78rem; color:var(--hm-muted); font-weight:600; }
.hm-float .hm-ic{ width:40px; height:40px; background:var(--hm-accent); color:#fff; border-radius:25%; }

/* ---------- Strip + shortcuts ---------- */
.hm-strip{ padding:0 0 1rem; }
.hm-strip-list{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem;
}
.hm-strip-item{
  padding:.5rem 1rem; font-size:.88rem; color:var(--hm-muted);
  background:#fff; border:1px solid var(--hm-line); border-radius:10px;
}
.hm-strip-item strong{ color:var(--hm-ink); }
.hm-cats{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.6rem; padding-top:1.1rem; padding-bottom:0; }
.hm-cats > span{ font-weight:700; font-size:.88rem; color:var(--hm-muted); }
.hm-pill{
  display:inline-flex; align-items:center; padding:.45rem .95rem;
  font-size:.88rem; font-weight:700; color:var(--hm-ink);
  background:#fff; border:1px solid var(--hm-line); border-radius:10px;
  transition:border-color .15s,color .15s,background-color .15s;
}
.hm-pill:hover{ border-color:var(--hm-blue); color:var(--hm-blue); background:var(--hm-cream); }

/* ---------- Services (tabs) ---------- */
.hm-tablist{
  display:inline-grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem;
  padding:.35rem; margin-bottom:1.6rem; width:100%; max-width:640px;
  background:#fff; border:1px solid var(--hm-line); border-radius:14px; box-shadow:var(--hm-shadow);
}
.hm-tab{
  display:flex; align-items:center; gap:.8rem; padding:.7rem .9rem; text-align:left;
  font:inherit; color:var(--hm-muted); background:transparent; border:0; border-radius:11px; cursor:pointer;
  transition:background-color .15s,color .15s;
}
.hm-tab strong{ display:block; font-size:1rem; font-weight:800; color:var(--hm-ink); }
.hm-tab small{ display:block; font-size:.78rem; line-height:1.35; }
.hm-tab .hm-ic{ width:38px; height:38px; font-size:1rem; }
.hm-tab[aria-selected="true"]{ background:var(--hm-blue); color:rgba(255,255,255,.82); }
.hm-tab[aria-selected="true"] strong{ color:#fff; }
.hm-tab[aria-selected="true"] .hm-ic{ background:var(--hm-cream); color:var(--hm-blue); }

.hm-panels{ display:grid; }                       /* panels share a cell: no height jump on tab change */
.hm-panel{ grid-area:1/1; visibility:hidden; }
.hm-panel.is-active{ visibility:visible; }
.hm-panel-head{ margin-bottom:1.4rem; }
.hm-panel-head h3{ font-size:1.4rem; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.hm-panel-head p{ color:var(--hm-muted); }

.hm-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hm-svc{
  display:flex; flex-direction:column; gap:.9rem; padding:1.4rem;
  background:var(--hm-card); border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow);
  transition:border-color .15s,box-shadow .15s;
}
.hm-svc:hover{ border-color:rgba(0,83,156,.35); box-shadow:0 1px 2px rgba(16,36,58,.04),0 18px 36px -18px rgba(0,83,156,.3); }
.hm-svc h4{ font-size:1.08rem; font-weight:800; letter-spacing:-.005em; color:var(--hm-ink); }
.hm-svc p{ font-size:.92rem; color:var(--hm-muted); }
/* sub-service list: one item per row, separated by grey dashed lines */
.hm-sub{ display:block; border-top:1px dashed var(--hm-dash); font-size:.88rem; font-weight:600; color:var(--hm-ink); }
.hm-sub li{ position:relative; padding:.58rem 0 .58rem 1.1rem; border-bottom:1px dashed var(--hm-dash); }
.hm-sub li:last-child{ border-bottom:0; }
.hm-sub li::before{ content:""; position:absolute; left:0; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:25%; background:var(--hm-accent); }
.hm-svc .hm-link{ margin-top:auto; padding-top:.2rem; }

.hm-more{ margin-top:1.6rem; padding:1.5rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); }
.hm-more-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.hm-more-title{ font-weight:800; font-size:1.05rem; color:var(--hm-blue); }
.hm-svclist{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; }
.hm-svclist a{
  display:flex; align-items:center; gap:.6rem; padding:.55rem .65rem; font-size:.88rem; font-weight:600;
  border-radius:12px; border:1px solid transparent; transition:background-color .15s,border-color .15s;
}
.hm-svclist a:hover{ background:var(--hm-cream); border-color:var(--hm-line); }
.hm-svclist i{
  flex:0 0 30px; height:30px; display:inline-flex; align-items:center; justify-content:center;
  font-size:.8rem; border-radius:25%; background:var(--hm-tint); color:var(--hm-blue);
}
.hm-pills{ display:flex; flex-wrap:wrap; gap:.5rem; }  /* kept for other pages */

/* ---------- CTA with image overlay ---------- */
.hm-ctawrap{ padding:0 0 5.5rem; }
.hm-sec + .hm-ctawrap,.hm-ctawrap--tight{ padding-top:0; }
.hm-cta{
  position:relative; isolation:isolate; overflow:hidden; color:#fff;
  border-radius:18px; padding:3.4rem 3rem;
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem;
  background-color:var(--hm-blue-d);
  background-image:
    linear-gradient(100deg,rgba(0,41,79,.93) 0%,rgba(0,58,112,.84) 45%,rgba(0,83,156,.6) 100%),
    var(--hm-cta-img),
    url('../img/cta-building.svg');
  background-size:cover,cover,cover;
  background-position:center,center 35%,center;
  box-shadow:0 30px 60px -34px rgba(0,41,79,.7);
}
.hm-cta::after{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.hm-cta h2{ font-size:clamp(1.7rem,3vw,2.4rem); font-weight:800; letter-spacing:-.015em; line-height:1.15; margin-bottom:.6rem; color:#fff; }
.hm-cta p{ color:rgba(255,255,255,.85); max-width:56ch; }
.hm-cta-btns{ display:flex; flex-wrap:wrap; gap:.7rem; }
.hm-cta--center{ grid-template-columns:1fr; justify-items:center; text-align:center; padding:4.2rem 2rem; }
.hm-cta--center .hm-cta-btns{ justify-content:center; }
.hm-cta--center{ background-position:center,center 60%,center; }

/* ---------- Audience ---------- */
.hm-aud-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.hm-aud{
  display:flex; flex-direction:column; gap:1.1rem; padding:2rem;
  background:#fff; border:1px solid var(--hm-line); border-radius:16px; box-shadow:var(--hm-shadow);
}
.hm-aud-head{ display:flex; align-items:center; gap:.9rem; }
.hm-aud-head h3{ font-size:1.35rem; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.hm-aud-lead{ color:var(--hm-muted); }
.hm-aud-list{ display:grid; gap:.6rem; }
.hm-aud-list li{ display:flex; gap:.6rem; font-size:.95rem; }
.hm-aud-list i{ flex:0 0 auto; margin-top:.3rem; font-size:.7rem; font-weight:800; color:var(--hm-blue); }
.hm-chips{ display:flex; flex-wrap:wrap; gap:.45rem; }
.hm-chip{ padding:.3rem .8rem; font-size:.8rem; font-weight:700; background:var(--hm-cream); border:1px solid var(--hm-line); border-radius:8px; }
.hm-aud-cta{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:auto; padding-top:.4rem; }
.hm-aud--com{ color:#fff; background:var(--hm-blue-d); border-color:transparent; }
.hm-aud--com .hm-aud-head h3{ color:#fff; }
.hm-aud--com .hm-ic{ background:rgba(255,255,255,.14); color:var(--hm-cream); }
.hm-aud--com .hm-aud-lead{ color:rgba(255,255,255,.8); }
.hm-aud--com .hm-aud-list i{ color:var(--hm-cream); }
.hm-aud--com .hm-chip{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); color:#fff; }

/* ---------- Why ---------- */
.hm-why{ display:grid; grid-template-columns:.9fr 1.1fr; gap:3.5rem; align-items:start; }
.hm-why-copy{ position:sticky; top:96px; display:grid; gap:1rem; }
.hm-fig{ margin:.6rem 0 0; }
.hm-fig img{ width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:var(--hm-r); border:1px solid var(--hm-line); background:var(--hm-cream); }
.hm-fig figcaption{ margin-top:.7rem; font-size:.88rem; color:var(--hm-muted); }
.hm-perks{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.hm-perk{ padding:1.4rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); }
.hm-perk .hm-ic{ margin-bottom:.9rem; }
.hm-perk h3{ font-size:1rem; font-weight:800; margin-bottom:.3rem; color:var(--hm-ink); }
.hm-perk p{ font-size:.9rem; color:var(--hm-muted); }

/* ---------- Pricing ---------- */
.hm-tiers{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; align-items:stretch; }
.hm-tier{
  position:relative; display:flex; flex-direction:column; gap:1rem; padding:2rem;
  background:#fff; border:1px solid var(--hm-line); border-radius:16px; box-shadow:var(--hm-shadow);
}
.hm-tier--pop{ border-color:var(--hm-blue); box-shadow:0 0 0 1px var(--hm-blue),0 24px 50px -28px rgba(0,83,156,.55); }
.hm-flag{
  position:absolute; top:-13px; left:2rem; padding:.28rem .8rem;
  font-size:.74rem; font-weight:800; letter-spacing:.03em; color:#fff; background:var(--hm-accent); border-radius:7px;
}
.hm-tier-label{ font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--hm-blue); }
.hm-tier-name{ font-size:1.5rem; font-weight:800; letter-spacing:-.01em; margin-top:-.5rem; color:var(--hm-ink); }
.hm-price{ display:flex; align-items:baseline; gap:.4rem; }
.hm-price strong{ font-size:2.2rem; line-height:1; letter-spacing:-.02em; color:var(--hm-blue); }
.hm-price span{ font-size:.85rem; color:var(--hm-muted); font-weight:600; }
.hm-tier-desc{ color:var(--hm-muted); font-size:.93rem; }
.hm-tier-list{ display:grid; gap:.55rem; padding-top:1rem; border-top:1px dashed var(--hm-dash); }
.hm-tier-list li{ display:flex; gap:.6rem; font-size:.92rem; }
.hm-tier-list i{ flex:0 0 auto; margin-top:.28rem; font-size:.7rem; font-weight:800; color:var(--hm-blue); }
.hm-tier .hm-btn{ margin-top:auto; }
.hm-note{ margin-top:1.4rem; text-align:center; font-size:.86rem; color:var(--hm-muted); }

/* ---------- Regulators ---------- */
.hm-creds{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.hm-cred{ display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; padding:1.3rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); }
.hm-mono{
  display:inline-flex; align-items:center; justify-content:center; min-width:56px; height:40px; padding:0 .7rem;
  font-size:.82rem; font-weight:800; letter-spacing:.04em; color:#fff; background:var(--hm-blue); border-radius:10px;
}
.hm-cred:nth-child(2) .hm-mono{ background:var(--hm-accent); }
.hm-cred:nth-child(3) .hm-mono{ background:var(--hm-blue-d); }
.hm-cred:nth-child(4) .hm-mono{ background:var(--hm-accent-d); }
.hm-cred:nth-child(5) .hm-mono{ background:#2f78b5; }
.hm-cred strong{ display:block; font-size:1rem; }
.hm-cred small{ display:block; color:var(--hm-muted); font-size:.8rem; line-height:1.4; }

/* ---------- Expect ---------- */
.hm-expect{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.hm-exp{ padding:1.8rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow); }
.hm-exp-n{ display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; margin-bottom:1rem; font-size:.85rem; font-weight:800; color:var(--hm-blue); background:var(--hm-tint); border-radius:25%; }
.hm-exp h3{ font-size:1.15rem; font-weight:800; margin-bottom:.5rem; letter-spacing:-.005em; color:var(--hm-blue); }
.hm-exp p{ color:var(--hm-muted); font-size:.95rem; }

/* ---------- FAQ ---------- */
.hm-faq{ display:grid; grid-template-columns:.8fr 1.2fr; gap:3.5rem; align-items:start; }
.hm-faq-side{ position:sticky; top:96px; display:grid; gap:1rem; }
.hm-faq-side p.hm-lede{ font-size:1rem; }
.hm-faq-btns{ display:flex; flex-wrap:wrap; gap:.6rem; }
.hm-faq-side img{ width:100%; aspect-ratio:10/7; object-fit:cover; border-radius:var(--hm-r); border:1px solid var(--hm-line); background:var(--hm-cream); margin-top:.6rem; }
.hm-faq-list{ display:grid; gap:.7rem; }
.hm-q{ background:#fff; border:1px solid var(--hm-line); border-radius:12px; }
.hm-q summary{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.05rem 1.25rem;
  font-weight:800; cursor:pointer; list-style:none; border-radius:12px;
}
.hm-q summary::-webkit-details-marker{ display:none; }
.hm-q summary i{ flex:0 0 auto; font-size:.7rem; color:var(--hm-muted); }
.hm-q[open] summary i{ transform:rotate(180deg); }
.hm-q[open]{ background:var(--hm-cream); border-color:rgba(0,83,156,.3); }
.hm-q p{ padding:0 1.25rem 1.2rem; color:var(--hm-muted); font-size:.95rem; }

/* ---------- Blog ---------- */
.hm-blog-slot{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  padding:1.8rem; background:#fff; border:1px dashed var(--hm-dash); border-radius:var(--hm-r);
}
.hm-blog-slot p{ color:var(--hm-muted); }

/* ---------- Contact ---------- */
.hm-contact{ padding:5.5rem 0; }
.hm-contact-card{
  display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; padding:3rem; color:#fff;
  background:var(--hm-blue-d);
  border-radius:18px; box-shadow:0 30px 60px -34px rgba(0,41,79,.7);
}
.hm-contact-copy{ display:grid; gap:1.1rem; align-content:start; }
.hm-contact-copy .hm-eyebrow{ justify-self:start; margin:0; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:#fff; }
.hm-contact-card .hm-h2{ color:#fff; }
.hm-contact-copy p{ color:rgba(255,255,255,.8); }
.hm-contact-btns{ display:flex; flex-wrap:wrap; gap:.6rem; }
.hm-contact-list{ display:grid; gap:.7rem; margin-top:.4rem; }
.hm-row{ display:flex; align-items:center; gap:.9rem; padding:.8rem 1rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:12px; }
.hm-row .hm-ic{ background:rgba(255,255,255,.14); color:var(--hm-cream); width:40px; height:40px; }
.hm-row small{ display:block; font-size:.76rem; color:rgba(255,255,255,.65); }
.hm-row strong{ font-size:.97rem; overflow-wrap:anywhere; }
a.hm-row:hover{ background:rgba(255,255,255,.12); }
.hm-map{ min-height:360px; border-radius:14px; overflow:hidden; background:var(--hm-blue-dd); border:1px solid rgba(255,255,255,.18); }
.hm-map iframe{ display:block; width:100%; height:100%; min-height:360px; border:0; }

/* ---------- Footer ---------- */
.hm-foot{ background:var(--hm-blue-dd); color:rgba(255,255,255,.76); padding:4rem 0 0; font-size:.92rem; }
.hm-foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; }
.hm-foot-about img{ height:36px; width:auto; margin-bottom:1rem; }
.hm-foot-about p{ margin-bottom:1.1rem; max-width:42ch; }
.hm-foot-contact{ display:grid; gap:.55rem; }
.hm-foot-contact a,.hm-foot-contact span{ display:flex; align-items:flex-start; gap:.6rem; }
.hm-foot-contact i{ color:var(--hm-cream); margin-top:.25rem; font-size:.85rem; }
.hm-foot-title{ margin:0 0 1rem; font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#fff; }
.hm-foot ul{ display:grid; gap:.55rem; }
.hm-foot a:hover{ color:#fff; }
.hm-foot-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 2rem; padding-top:1.4rem; padding-bottom:1.6rem; border-top:1px solid rgba(255,255,255,.12); font-size:.82rem; }

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .hm-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-svclist{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hm-creds{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:960px){
  .hm-sec{ padding:4rem 0; }
  .hm-hero-grid,.hm-why,.hm-faq,.hm-aud-grid,.hm-contact-card,.hm-intro--split{ grid-template-columns:1fr; }
  .hm-hero-grid{ gap:2.2rem; }
  .hm-float{ left:1rem; }
  .hm-why-copy,.hm-faq-side{ position:static; }
  .hm-tiers,.hm-expect{ grid-template-columns:1fr; }
  .hm-foot-grid{ grid-template-columns:1fr 1fr; }
  .hm-cta{ grid-template-columns:1fr; padding:2.6rem 1.75rem; }
  .hm-contact-card{ padding:2rem 1.5rem; }
}
@media (max-width:640px){
  .hm-hero{ padding-top:2rem; }
  .hm-cards,.hm-perks{ grid-template-columns:1fr; }
  .hm-svclist{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-creds{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-tablist{ grid-template-columns:1fr; }
  .hm-foot-grid{ grid-template-columns:1fr; }
  .hm-btn{ padding:.78rem 1.1rem; }
  .hm-hero-cta .hm-btn,.hm-cta-btns .hm-btn{ flex:1 1 auto; }
  .hm-cta{ border-radius:14px; }
  .hm-ctawrap{ padding-bottom:3.5rem; }
  .hm-contact{ padding:3.5rem 0; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }
