/* ==========================================================================
   Best Care Services - inner pages (About, Contact)
   Builds on home.css tokens and components (.hm-*). Plain CSS, no gradients on text.
   ========================================================================== */

/* ---------- Page header (contact) ---------- */
.pg-head{ position:relative; isolation:isolate; overflow:hidden; padding:3.2rem 0 3rem; border-bottom:1px solid var(--hm-line); background:var(--hm-cream); }
.pg-head::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(50% 70% at 92% 0%,rgba(255,255,255,.9),transparent 70%),
    radial-gradient(45% 70% at 4% 0%,rgba(0,83,156,.12),transparent 70%);
}
.pg-head-inner{ display:grid; gap:1rem; }
.pg-head-inner > :not(.pg-crumbs){ max-width:760px; }
.pg-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:.4rem; font-size:.85rem; font-weight:700; color:var(--hm-muted); }
.pg-crumbs a{ color:var(--hm-blue); }
.pg-crumbs a:hover{ text-decoration:underline; text-underline-offset:3px; }
.pg-crumbs li + li::before{ content:"/"; margin-right:.5rem; color:var(--hm-dash); }
.pg-crumbs{ list-style:none; padding:0; }
.pg-crumbs li{ display:inline-flex; }

/* ---------- About ---------- */
.ab-hero .hm-hero-lead{ margin-bottom:1.6rem; }
.ab-split{ display:grid; grid-template-columns:1.1fr .9fr; gap:3.5rem; align-items:center; }
.ab-copy{ display:grid; gap:1rem; }
.ab-copy p{ color:var(--hm-muted); font-size:1.02rem; }
.ab-copy .hm-h2{ margin-bottom:.2rem; }
.ab-photo{ margin:0; }
.ab-photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:17px; border:1px solid var(--hm-line); background:var(--hm-cream); box-shadow:0 30px 60px -34px rgba(0,58,112,.45); }

.ab-facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:3rem; }
.ab-fact{ padding:1.4rem 1.3rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow); }
.ab-fact strong{ display:block; font-size:1.9rem; line-height:1.1; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.ab-fact span{ display:block; margin-top:.35rem; font-size:.9rem; font-weight:600; color:var(--hm-muted); }

.ab-perks{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.ab-steps{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.ab-areas{ display:grid; gap:1.4rem; justify-items:center; text-align:center; }
.ab-areas .hm-chips{ justify-content:center; }
.ab-areas .hm-chip{ background:#fff; font-size:.88rem; padding:.45rem 1rem; }
.ab-sub-title{ margin:2.8rem 0 1.2rem; text-align:center; font-size:1.1rem; font-weight:800; color:var(--hm-blue); }

/* ---------- Contact ---------- */
.ct-cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.ct-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; padding:1.5rem;
  background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow);
  transition:border-color .15s,box-shadow .15s;
}
a.ct-card:hover{ border-color:rgba(0,83,156,.4); box-shadow:0 1px 2px rgba(16,36,58,.04),0 18px 36px -18px rgba(0,83,156,.3); }
.ct-card .hm-ic{ margin-bottom:.6rem; }
.ct-card small{ font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--hm-muted); }
.ct-card strong{ font-size:1.05rem; font-weight:800; color:var(--hm-ink); overflow-wrap:anywhere; }
.ct-card span.ct-act{ margin-top:auto; padding-top:.5rem; font-size:.9rem; font-weight:800; color:var(--hm-blue); }

.ct-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:2rem; align-items:start; }
.ct-form{ padding:2.2rem; background:#fff; border:1px solid var(--hm-line); border-radius:17px; box-shadow:var(--hm-shadow); }
.ct-form h2{ font-size:1.6rem; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.ct-form > p{ margin:.4rem 0 1.6rem; color:var(--hm-muted); }
.ct-fields{ display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.1rem; }
.ct-field{ display:grid; gap:.4rem; align-content:start; }
.ct-field--full{ grid-column:1/-1; }
.ct-field label{ font-size:.86rem; font-weight:800; color:var(--hm-ink); }
.ct-field label i{ font-style:normal; color:var(--hm-accent); }
.ct-field input,.ct-field select,.ct-field textarea{
  width:100%; padding:.85rem 1.1rem; font:600 .98rem/1.4 var(--bc-font); color:var(--hm-ink);
  background:#fffef7; border:1.5px solid rgba(16,36,58,.16); border-radius:10px;
  transition:border-color .15s,box-shadow .15s,background-color .15s;
  -webkit-appearance:none; appearance:none;
}
.ct-field textarea{ min-height:140px; resize:vertical; border-radius:12px; }
.ct-field select{
  padding-right:2.6rem; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2300539C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1.1rem center;
}
.ct-field input::placeholder,.ct-field textarea::placeholder{ color:#8a98a8; font-weight:600; }
.ct-field input:hover,.ct-field select:hover,.ct-field textarea:hover{ border-color:rgba(0,83,156,.4); }
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{
  outline:0; border-color:var(--hm-blue); background:#fff; box-shadow:0 0 0 4px rgba(0,83,156,.14);
}
.ct-form.was-validated .ct-field :is(input,textarea,select):invalid{ border-color:var(--hm-accent); box-shadow:0 0 0 4px rgba(225,62,32,.12); }
.ct-err{ display:none; font-size:.8rem; font-weight:700; color:var(--hm-accent-d); }
.ct-form.was-validated .ct-field :is(input,textarea,select):invalid ~ .ct-err{ display:block; }
.ct-submit{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.4rem; }
.ct-note{ font-size:.84rem; color:var(--hm-muted); }
.ct-status{ margin-top:1rem; padding:.85rem 1.1rem; border-radius:10px; font-weight:700; font-size:.92rem; background:var(--hm-cream); border:1px solid var(--hm-line); color:var(--hm-ink); }
.ct-status[hidden]{ display:none; }

.ct-side{ display:grid; gap:1rem; }
.ct-panel{ padding:1.7rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow); }
.ct-panel h3{ font-size:1.15rem; font-weight:800; color:var(--hm-blue); margin-bottom:1rem; }
.ct-steps{ display:grid; gap:.9rem; counter-reset:ct; }
.ct-steps li{ position:relative; padding-left:2.7rem; font-size:.95rem; color:var(--hm-muted); counter-increment:ct; }
.ct-steps li strong{ display:block; color:var(--hm-ink); font-weight:800; }
.ct-steps li::before{
  content:counter(ct); position:absolute; left:0; top:0; width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  font-size:.85rem; font-weight:800; color:var(--hm-blue); background:var(--hm-tint); border-radius:25%;
}
.ct-panel--alert{ background:var(--hm-blue-d); border-color:transparent; color:#fff; }
.ct-panel--alert h3{ color:#fff; }
.ct-panel--alert p{ color:rgba(255,255,255,.82); margin-bottom:1.1rem; font-size:.95rem; }
.ct-panel--quote{ background:var(--hm-cream); }
.ct-panel--quote p{ color:var(--hm-muted); margin-bottom:1.1rem; font-size:.95rem; }

.ct-map{ overflow:hidden; border-radius:17px; border:1px solid var(--hm-line); background:var(--hm-cream); box-shadow:var(--hm-shadow); }
.ct-map iframe{ display:block; width:100%; height:420px; border:0; }

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .ct-cards,.ab-facts,.ab-perks,.ab-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px){
  .ab-split,.ct-grid{ grid-template-columns:1fr; }
  .ab-split{ gap:2.2rem; }
  .pg-head{ padding:2.4rem 0 2.2rem; }
}
@media (max-width:640px){
  .ct-cards,.ab-facts,.ab-perks,.ab-steps,.ct-fields{ grid-template-columns:1fr; }
  .ct-form{ padding:1.5rem 1.2rem; border-radius:14px; }
  .ct-map iframe{ height:320px; }
  .ct-map,.ab-photo img{ border-radius:14px; }
}
