/* ============================================================
   Haven Care - havencare-v1.css
   Single shared stylesheet for all pages (EN + ZH).
   EN pages  → href="havencare-v1.css"
   ZH pages  → href="../havencare-v1.css"
   ============================================================ */

:root {
      --hc-sage:    #1a4b47;
      --hc-sage-lt: #e4edec;
      --hc-sage-dk: #122f2d;
      --hc-warm:    #f5f0e8;
      --hc-sand:    #d4b896;
      --hc-charcoal:#2c3333;
      --hc-mid:     #5a6464;
      --hc-white:   #ffffff;
      --ff-display: "Inter", "DM Sans", "Aptos", "Segoe UI", Arial, sans-serif;
      --ff-body:    "Inter", "DM Sans", "Aptos", "Segoe UI", Arial, sans-serif;
      --ff-hero-h1: "Allura", cursive;
    }

* { box-sizing: border-box; }

body {
      font-family: var(--ff-body);
      color: var(--hc-charcoal);
      background: var(--hc-white);
      overflow-x: hidden;
    }

/* ── NAVBAR ─────────────────────────────────────── */
    .hc-nav {
      background: rgba(255,255,255,0.97);
      backdrop-filter: blur(8px);
      border-bottom: 1px solid rgba(93,138,107,.12);
      padding: 0.6rem 0;
      position: sticky;
      top: 0;
      z-index: 1030;
    }

.hc-nav .navbar-brand img { height: 44px; }

.hc-nav .nav-link {
      font-size: .875rem;
      font-weight: 500;
      color: var(--hc-charcoal) !important;
      padding: .4rem .75rem !important;
      border-radius: 6px;
      transition: background .2s, color .2s;
    }

.hc-nav .nav-link:hover { background: var(--hc-sage-lt); color: var(--hc-sage-dk) !important; }

.hc-nav .nav-link.active { color: var(--hc-sage-dk) !important; }

/* dropdown */
    .hc-nav .dropdown-menu {
      border: 1px solid rgba(93,138,107,.15);
      border-radius: 10px;
      box-shadow: 0 8px 28px rgba(0,0,0,.1);
      padding: .5rem;
      min-width: 210px;
    }

.hc-nav .dropdown-item {
      border-radius: 6px;
      font-size: .875rem;
      padding: .45rem .85rem;
      color: var(--hc-charcoal);
    }

.hc-nav .dropdown-item:hover { background: var(--hc-sage-lt); color: var(--hc-sage-dk); }

.btn-callnow {
      background: var(--hc-sage);
      color: #fff !important;
      border-radius: 50px;
      padding: .42rem 1.2rem;
      font-size: .875rem;
      font-weight: 600;
      border: none;
      transition: background .2s, transform .15s;
      white-space: nowrap;
    }

.btn-callnow:hover { background: var(--hc-sage-dk); transform: translateY(-1px); }

.btn-callnow i { margin-right: .3rem; }

/* ── HERO ────────────────────────────────────────── */
    .hero {
      background: url('images/home.webp') 50% 30% / cover no-repeat;
      padding: 80px 0 80px;
      position: relative;
      overflow: hidden;
      min-height: 560px;
      display: flex;
      align-items: center;
    }

.hero .container { position: relative; z-index: 1; }

.hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(
        105deg,
        rgba(30,40,35,.82) 0%,
        rgba(30,40,35,.65) 45%,
        rgba(30,40,35,.25) 100%
      );
      pointer-events: none;
    }

.hero-eyebrow {
      display: inline-block;
      background: rgba(255,255,255,.18);
      backdrop-filter: blur(6px);
      color: #fff;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: .3rem .9rem;
      border-radius: 50px;
      margin-bottom: 1.25rem;
      border: 1px solid rgba(255,255,255,.25);
    }

.hero h1 {
      font-family: var(--ff-display);
      font-size: clamp(1.5rem, 4vw, 2.3rem);
      font-weight: 600;
      line-height: 1.18;
      color: #7bbdb8;
      margin-bottom: 1.25rem;
      text-shadow: 0 2px 12px rgba(0,0,0,.2);
    }

.hero h1 em {
    font-family: var(--ff-hero-h1);
      font-size: clamp(2rem, 5.5vw, 3.2rem);
      font-weight: 600;
      font-style: normal;
      color: #7bbdb8;
    }

.hero-sub {
      font-size: 1.08rem;
      color: rgba(255,255,255,.85);
      line-height: 1.7;
      max-width: 500px;
      margin-bottom: 2rem;
    }

.hero-img-wrap {
      position: relative;
    }

.hero-img-wrap img {
      border-radius: 24px;
      box-shadow: 0 24px 60px rgba(44,51,51,.15);
      width: 100%;
      object-fit: cover;
      max-height: 460px;
    }

.hero-badge {
      position: absolute;
      bottom: -18px;
      left: 24px;
      background: #fff;
      border-radius: 14px;
      box-shadow: 0 8px 24px rgba(0,0,0,.12);
      padding: .75rem 1.1rem;
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: .82rem;
    }

.hero-badge .badge-icon {
      width: 40px; height: 40px;
      background: var(--hc-sage-lt);
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      color: var(--hc-sage-dk);
      font-size: 1.1rem;
      flex-shrink: 0;
    }

.hero-badge strong { display: block; font-size: .88rem; color: var(--hc-charcoal); }

.hero-badge span { color: var(--hc-mid); }

.btn-primary-hc {
      background: var(--hc-sage);
      color: #fff;
      border: none;
      border-radius: 50px;
      padding: .75rem 1.8rem;
      font-size: .95rem;
      font-weight: 600;
      transition: background .2s, transform .15s, box-shadow .2s;
      box-shadow: 0 4px 16px rgba(93,138,107,.3);
    }

.btn-primary-hc:hover {
      background: var(--hc-sage-dk);
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(93,138,107,.35);
    }

.btn-outline-hc {
      background: transparent;
      color: var(--hc-sage-dk);
      border: 2px solid var(--hc-sage);
      border-radius: 50px;
      padding: .72rem 1.6rem;
      font-size: .95rem;
      font-weight: 600;
      transition: background .2s, color .2s, transform .15s;
    }

.btn-outline-hc:hover {
      background: var(--hc-sage);
      color: #fff;
      transform: translateY(-2px);
    }

/* ── TRUST BAR ────────────────────────────────────── */
    .trust-bar {
      background: var(--hc-charcoal);
      padding: 1rem 0;
    }

.trust-bar .trust-item {
      display: flex;
      align-items: center;
      gap: .55rem;
      color: rgba(255,255,255,.82);
      font-size: .82rem;
      font-weight: 500;
    }

.trust-bar .trust-item i { color: var(--hc-sand); font-size: 1rem; }

/* ── SECTION COMMONS ──────────────────────────────── */
section { padding: 80px 0; }

.section-eyebrow {
      display: inline-block;
      color: var(--hc-sage-dk);
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: .75rem;
    }

.section-title {
      font-family: var(--ff-display);
      font-size: clamp(1.75rem, 3.5vw, 2.5rem);
      font-weight: 700;
      color: var(--hc-charcoal);
      margin-bottom: 1rem;
      line-height: 1.22;
    }

.section-sub {
      color: var(--hc-mid);
      font-size: 1rem;
      line-height: 1.7;
      max-width: 640px;
    }

/* ── SERVICES ─────────────────────────────────────── */
    .services-section { background: var(--hc-white); }

.service-card {
      border: 1.5px solid rgba(93,138,107,.15);
      border-radius: 20px;
      padding: 2rem;
      height: 100%;
      background: #fff;
      transition: border-color .25s, box-shadow .25s, transform .25s;
      position: relative;
      overflow: hidden;
    }

.service-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--hc-sage), var(--hc-sand));
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s;
    }

.service-card:hover { border-color: var(--hc-sage); box-shadow: 0 12px 36px rgba(93,138,107,.14); transform: translateY(-4px); }

.service-card:hover::before { transform: scaleX(1); }

.service-icon {
      width: 56px; height: 56px;
      background: var(--hc-sage-lt);
      border-radius: 14px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.5rem;
      color: var(--hc-sage-dk);
      margin-bottom: 1.25rem;
    }

a:hover .service-icon {
  background: var(--hc-sage);
  color: #fff;
}

a .service-card h4 {
      font-family: var(--ff-display);
      color: var(--hc-sage-dk);
      font-size: 1.2rem;
      font-weight: 600;
      margin-bottom: .65rem;
    }

.service-card p { font-size: .9rem; color: var(--hc-mid); line-height: 1.65; margin-bottom: 1rem; }

.service-card ul { list-style: none; padding: 0; margin: 0; }

.service-card ul li {
      font-size: .85rem;
      color: var(--hc-mid);
      padding: .28rem 0;
      display: flex; align-items: flex-start; gap: .5rem;
    }

.service-card ul li i { color: var(--hc-sage); margin-top: .15rem; flex-shrink: 0; }

.service-card a h4 { color: var(--hc-sage-dk); font-weight: 600; text-decoration: none;}

.service-link {
      display: inline-flex; align-items: center; gap: .35rem;
      color: var(--hc-sage-dk);
      font-size: .875rem;
      font-weight: 600;
      text-decoration: none;
      margin-top: 1.25rem;
    }

.service-link:hover { color: var(--hc-sage); gap: .55rem; }

/* ── HOW IT WORKS ─────────────────────────────────── */
    .how-section { background: var(--hc-white); }

.step-wrap {
      position: relative;
    }

.step-wrap::after {
      content: '';
      position: absolute;
      top: 28px;
      left: calc(50% + 28px);
      width: calc(100% - 56px);
      height: 2px;
      background: linear-gradient(90deg, var(--hc-sage) 0%, rgba(93,138,107,.2) 100%);
      pointer-events: none;
    }

.step-wrap:last-child::after { display: none; }

.step-card { text-align: center; padding: 0 .5rem; }

.step-num {
      width: 56px; height: 56px;
      background: var(--hc-sage);
      color: #fff;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-family: var(--ff-display);
      font-size: 1.3rem;
      font-weight: 700;
      margin: 0 auto 1.25rem;
      position: relative;
      z-index: 1;
      box-shadow: 0 4px 16px rgba(93,138,107,.35);
    }

.step-card h5 {
      font-family: var(--ff-display);
      font-size: 1.05rem;
      font-weight: 600;
      margin-bottom: .5rem;
    }

.step-card p { font-size: .875rem; color: var(--hc-mid); line-height: 1.65; }

.how-cta-box {
      background: #fff;
      border-radius: 20px;
      padding: 2rem 2.5rem;
      box-shadow: 0 4px 20px rgba(0,0,0,.06);
      border: 1px solid rgba(93,138,107,.12);
    }

.how-cta-box .cost-badge {
      display: inline-block;
      background: var(--hc-sage-lt);
      color: var(--hc-sage-dk);
      font-size: .8rem;
      font-weight: 600;
      padding: .3rem .9rem;
      border-radius: 50px;
      margin-bottom: .75rem;
    }

/* ── TRUST SIGNALS ────────────────────────────────── */
    .trust-section { background: var(--hc-warm); }

.trust-card {
      text-align: center;
      padding: 2rem 1.5rem;
      border-radius: 20px;
      background: var(--hc-white);
      height: 100%;
    }

.trust-card i { font-size: 2rem; color: var(--hc-sage-dk); margin-bottom: 1rem; display: block; }

.trust-card h5 { font-family: var(--ff-display); font-size: 1rem; font-weight: 600; margin-bottom: .4rem; }

.trust-card p { font-size: .85rem; color: var(--hc-mid); margin: 0; }

/* ── TESTIMONIALS ─────────────────────────────────── */
    .stories-section { background: var(--hc-charcoal); }

.stories-section .section-title { color: #fff; }

.stories-section .section-eyebrow { color: var(--hc-sand); }

.stories-section .section-sub { color: rgba(255,255,255,.65); }

.testi-card {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 20px;
      padding: 2rem;
      height: 100%;
      position: relative;
    }

.testi-quote {
      font-size: 3rem;
      line-height: 1;
      color: var(--hc-sand);
      font-family: var(--ff-display);
      margin-bottom: .5rem;
      display: block;
    }

.testi-card p {
      color: rgba(255,255,255,.82);
      font-size: .9rem;
      line-height: 1.75;
      font-style: italic;
      margin-bottom: 1.25rem;
    }

.testi-author {
      display: flex; align-items: center; gap: .75rem;
    }

.testi-avatar {
      width: 40px; height: 40px;
      background: var(--hc-sage);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #fff;
      font-family: var(--ff-display);
      font-weight: 700;
      font-size: .9rem;
      flex-shrink: 0;
    }

.testi-name { color: #fff; font-weight: 600; font-size: .9rem; }

.testi-role { color: rgba(255,255,255,.5); font-size: .8rem; }

.testi-stars { color: var(--hc-sand); font-size: .8rem; margin-bottom: .1rem; }

/* ── SERVICE AREA ─────────────────────────────────── */
    .area-section { background: var(--hc-sage-lt); }

.area-pill {
      display: inline-block;
      background: #fff;
      border: 1.5px solid rgba(93,138,107,.25);
      color: var(--hc-sage-dk);
      border-radius: 50px;
      padding: .45rem 1.1rem;
      font-size: .875rem;
      font-weight: 500;
      margin: .3rem;
    }

/* ── ABOUT PREVIEW ────────────────────────────────── */
    .about-section { background: var(--hc-white); }

.about-img {
      border-radius: 24px;
      box-shadow: 0 20px 50px rgba(0,0,0,.12);
      width: 100%;
      object-fit: cover;
    }

.about-values {
      list-style: none; padding: 0; margin: 1.5rem 0;
    }

.about-values li {
      display: flex; align-items: flex-start; gap: .75rem;
      padding: .6rem 0;
      border-bottom: 1px solid rgba(93,138,107,.1);
      font-size: .9rem;
      color: var(--hc-mid);
    }

.about-values li:last-child { border-bottom: none; }

.about-values li i { color: var(--hc-sage); margin-top: .15rem; flex-shrink: 0; }

.about-values li strong { color: var(--hc-charcoal); }

/* ── CTA BANNER ───────────────────────────────────── */
    .cta-section {
      background: linear-gradient(135deg, var(--hc-sage-dk) 0%, #4a7a5c 50%, #3d6b4f 100%);
      padding: 80px 0;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

.cta-section::before {
      content: '';
      position: absolute;
      top: -100px; right: -100px;
      width: 400px; height: 400px;
      background: rgba(255,255,255,.05);
      border-radius: 50%;
    }

.cta-section h2 {
      font-family: var(--ff-display);
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      color: #fff;
      margin-bottom: 1rem;
    }

.cta-section p { color: rgba(255,255,255,.8); font-size: 1.05rem; margin-bottom: 2rem; }

.btn-white-hc {
      background: #fff;
      color: var(--hc-sage-dk);
      border: none;
      border-radius: 50px;
      padding: .8rem 2rem;
      font-size: 1rem;
      font-weight: 700;
      transition: transform .2s, box-shadow .2s;
      box-shadow: 0 4px 20px rgba(0,0,0,.15);
    }

.btn-white-hc:hover { transform: translateY(-2px); background:var(--hc-sand); box-shadow: 0 8px 28px rgba(0,0,0,.2); color: var(--hc-sage-dk); }

.btn-ghost-white {
      background: transparent;
      color: #fff;
      border: 2px solid rgba(255,255,255,.5);
      border-radius: 50px;
      padding: .77rem 1.8rem;
      font-size: 1rem;
      font-weight: 600;
      transition: border-color .2s, background .2s;
    }

.btn-ghost-white:hover { border-color: #fff; background: rgba(255,255,255,.1); color: #fff; }

/* ── FOOTER ───────────────────────────────────────── */
    footer {
      background: #1e2828;
      color: rgba(255,255,255,.7);
      padding: 60px 0 32px;
    }

footer .footer-brand img { height: 40px; margin-bottom: 1rem; filter: brightness(0) invert(1); opacity: .85; }

footer .footer-tagline { font-size: .875rem; line-height: 1.7; margin-bottom: 1.5rem; }

footer h6 {
      color: #fff;
      font-size: .8rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 1rem;
    }

footer a { color: rgba(255,255,255,.65); text-decoration: none; font-size: .875rem; transition: color .2s; }

footer a:hover { color: var(--hc-sand); }

footer ul { list-style: none; padding: 0; margin: 0; }

footer ul li { padding: .3rem 0; }

.footer-contact-item { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .75rem; font-size: .875rem; }

.footer-contact-item i { color: var(--hc-sand); margin-top: .15rem; }

.social-links a {
      display: inline-flex; align-items: center; justify-content: center;
      width: 40px; height: 40px;
      background: rgba(255,255,255,.08);
      border-radius: 8px;
      color: rgba(255,255,255,.7) !important;
      font-size: .95rem;
      transition: background .2s, color .2s;
      margin-right: .4rem;
    }

.social-links a:hover { background: var(--hc-sage); color: #fff !important; }

.footer-divider { border-color: rgba(255,255,255,.1); margin: 2rem 0 1.5rem; }

.footer-bottom { font-size: .8rem; }

/* ── FLOATING CALL BTN (mobile) ───────────────────── */
    .float-call {
      display: none;
      position: fixed;
      bottom: 24px; right: 24px;
      z-index: 1050;
      width: 58px; height: 58px;
      background: var(--hc-sage);
      color: #fff !important;
      border-radius: 50%;
      align-items: center; justify-content: center;
      font-size: 1.4rem;
      box-shadow: 0 6px 20px rgba(93,138,107,.45);
      text-decoration: none;
      transition: background .2s, transform .2s;
      animation: pulse 2.5s infinite;
    }

@keyframes pulse {
      0%,100% { box-shadow: 0 6px 20px rgba(93,138,107,.45); }
      50% { box-shadow: 0 6px 30px rgba(93,138,107,.7); }
    }

.float-call:hover { background: var(--hc-sage-dk); transform: scale(1.08); }

@media (max-width: 767px) { .float-call { display: flex; } }

/* ── RESPONSIVE TWEAKS ────────────────────────────── */
    @media (max-width: 991px) {
      .hero { padding: 60px 0; min-height: 480px; }
      .step-wrap::after { display: none; }
      .how-cta-box { margin-top: 2rem; padding: 1.5rem; }
    }

@media (max-width: 575px) {
      .trust-bar .trust-item { font-size: .75rem; }
      section { padding: 60px 0; }
    }

/* smooth scroll */
    html { scroll-behavior: smooth; }

.lang-switch {
      display:flex;align-items:center;gap:.4rem;
      background:var(--hc-sage-lt);border-radius:50px;
      padding:.3rem .75rem;font-size:.78rem;font-weight:600;
    }

.lang-btn {
      color:var(--hc-mid);text-decoration:none;
      padding:.1rem .3rem;border-radius:4px;transition:color .2s;
    }

.lang-btn:hover,.lang-btn.active { color:var(--hc-sage-dk); }

.lang-btn.active { font-weight:700; }

/* Inner page hero */
    .inner-hero {
      background: linear-gradient(135deg, var(--hc-sage) 0%, #122f2d 100%);
      padding: 80px 0 70px;
      position: relative;
      overflow: hidden;
    }

.inner-hero::before {
      content:'';
      position:absolute;
      top:-100px;right:-120px;
      width:500px;height:500px;
      background:rgba(255,255,255,.04);
      border-radius:50%;
      pointer-events:none;
    }

.inner-hero::after {
      content:'';
      position:absolute;
      bottom:-80px;left:-80px;
      width:360px;height:360px;
      background:rgba(255,255,255,.03);
      border-radius:50%;
    }

.inner-hero .container { position:relative;z-index:1; }

.inner-hero .breadcrumb-item, .inner-hero .breadcrumb-item a {
      color:rgba(255,255,255,.55);font-size:.8rem;text-decoration:none;
    }

.inner-hero .breadcrumb-item.active { color:rgba(255,255,255,.8); }

.inner-hero .breadcrumb-divider { color:rgba(255,255,255,.35); }

.inner-hero h1 {
      font-family:var(--ff-display);
      font-size:clamp(2rem,4.5vw,3.2rem);
      font-weight:700;color:#fff;
      margin:1rem 0 1.25rem;
      line-height:1.2;
    }

.inner-hero p {
      color:rgba(255,255,255,.78);
      font-size:1.05rem;line-height:1.75;
      max-width:580px;margin:0;
    }

.inner-hero .eyebrow {
      display:inline-block;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.2);
      color:rgba(255,255,255,.85);
      font-size:.75rem;font-weight:600;
      letter-spacing:.1em;text-transform:uppercase;
      padding:.3rem .9rem;border-radius:50px;
    }

.svc-tab-nav .nav-link {
      color:var(--hc-charcoal);font-weight:600;font-size:.9rem;
      border:2px solid transparent;border-radius:50px;
      padding:.55rem 1.4rem;transition:all .2s;
    }

.svc-tab-nav .nav-link:hover { background:var(--hc-sage-lt);color:var(--hc-sage-dk); }

.svc-tab-nav .nav-link.active {
      background:var(--hc-sage);color:#fff;border-color:var(--hc-sage);
    }

.svc-feature-icon {
      width:64px;height:64px;background:var(--hc-sage-lt);
      border-radius:16px;display:flex;align-items:center;justify-content:center;
      font-size:1.6rem;color:var(--hc-sage-dk);margin-bottom:1.5rem;flex-shrink:0;
    }

.svc-detail-card {
      border:1.5px solid rgba(26,75,71,.12);border-radius:20px;
      padding:2rem;background:#fff;height:100%;
      transition:box-shadow .25s,transform .25s;
    }

.svc-detail-card:hover { box-shadow:0 12px 36px rgba(26,75,71,.12);transform:translateY(-3px); }

.svc-detail-card h5 { font-family:var(--ff-display);font-size:1.1rem;font-weight:600;margin-bottom:.5rem; }

.svc-detail-card p { font-size:.875rem;color:var(--hc-mid);line-height:1.65;margin:0; }

.svc-hero-panel {
      background:var(--hc-sage-lt);border-radius:24px;
      padding:2.5rem;position:relative;overflow:hidden;
    }

.svc-hero-panel::before {
      content:'';position:absolute;top:-40px;right:-40px;
      width:200px;height:200px;background:rgba(26,75,71,.06);border-radius:50%;
    }

.check-list { list-style:none;padding:0;margin:0; }

.check-list li {
      display:flex;align-items:flex-start;gap:.65rem;
      padding:.4rem 0;font-size:.9rem;color:var(--hc-mid);
      border-bottom:1px solid rgba(26,75,71,.07);
    }

.check-list li:last-child { border-bottom:none; }

.check-list li i { color:var(--hc-sage);margin-top:.15rem;flex-shrink:0; }

.check-list li strong { color:var(--hc-charcoal); }

.hiw-step {
      display:flex;gap:1.75rem;align-items:flex-start;
      padding:2rem;background:#fff;border-radius:20px;
      border:1.5px solid rgba(26,75,71,.12);
      transition:box-shadow .25s,transform .25s;
    }

.hiw-step:hover { box-shadow:0 12px 32px rgba(26,75,71,.1);transform:translateY(-3px); }

.hiw-num {
      width:60px;height:60px;min-width:60px;
      background:var(--hc-sage);color:#fff;
      border-radius:50%;display:flex;align-items:center;justify-content:center;
      font-family:var(--ff-display);font-size:1.4rem;font-weight:700;
      box-shadow:0 4px 16px rgba(26,75,71,.3);
    }

.hiw-step h4 { font-family:var(--ff-display);font-size:1.15rem;font-weight:600;margin-bottom:.5rem; }

.hiw-step p { font-size:.9rem;color:var(--hc-mid);line-height:1.7;margin:0; }

.hiw-connector {
      width:2px;height:40px;background:linear-gradient(180deg,var(--hc-sage),rgba(26,75,71,.15));
      margin-left:29px;
    }

.cost-card {
      background:var(--hc-sage-lt);border-radius:20px;padding:2rem;
      border:1.5px solid rgba(26,75,71,.15);
    }

.cost-card h5 { font-family:var(--ff-display);font-size:1.1rem;font-weight:600;margin-bottom:.75rem; }

.cost-row {
      display:flex;justify-content:space-between;align-items:center;
      padding:.65rem 0;border-bottom:1px solid rgba(26,75,71,.1);font-size:.875rem;
    }

.cost-row:last-child { border-bottom:none; }

.cost-row span { color:var(--hc-mid); }

.cost-row strong { color:var(--hc-sage-dk); }

.faq-item {
      border:1.5px solid rgba(26,75,71,.12);border-radius:14px;
      overflow:hidden;margin-bottom:.75rem;background:#fff;
    }

.faq-btn {
      width:100%;text-align:left;background:none;border:none;padding:1.1rem 1.4rem;
      font-size:.925rem;font-weight:600;color:var(--hc-charcoal);
      display:flex;justify-content:space-between;align-items:center;cursor:pointer;
      transition:background .2s;
    }

.faq-btn:hover { background:var(--hc-sage-lt); }

.faq-answer { padding:0 1.4rem 1.1rem;font-size:.875rem;color:var(--hc-mid);line-height:1.7; }

.value-card {
      border-radius:20px;padding:2rem;height:100%;
      border:1.5px solid rgba(26,75,71,.12);background:#fff;
      transition:box-shadow .25s,transform .25s;
    }

.value-card:hover { box-shadow:0 12px 32px rgba(26,75,71,.1);transform:translateY(-3px); }

.value-icon {
      width:52px;height:52px;background:var(--hc-sage-lt);
      border-radius:14px;display:flex;align-items:center;justify-content:center;
      font-size:1.3rem;color:var(--hc-sage-dk);margin-bottom:1.25rem;
    }

.value-card h5 { font-family:var(--ff-display);font-size:1.05rem;font-weight:600;margin-bottom:.5rem; }

.value-card p { font-size:.875rem;color:var(--hc-mid);line-height:1.65;margin:0; }

.team-card {
      border-radius:20px;overflow:hidden;background:#fff;
      border:1.5px solid rgba(26,75,71,.1);
      transition:box-shadow .25s,transform .25s;text-align:center;
    }

.team-card:hover { box-shadow:0 12px 32px rgba(26,75,71,.12);transform:translateY(-4px); }

.team-avatar {
      width:100%;height:220px;object-fit:cover;
      background:var(--hc-sage-lt);display:flex;align-items:center;justify-content:center;
    }

.team-avatar-placeholder {
      width:100%;height:250px;background:linear-gradient(135deg,var(--hc-sage-lt),#d4e8e5);
      display:flex;align-items:center;justify-content:center;
      font-family:var(--ff-display);font-size:3rem;color:var(--hc-sage-dk);font-weight:700;
    }

.team-card-body { padding:1.5rem; }

.team-card-body h5 { font-family:var(--ff-display);font-size:1.05rem;font-weight:600;margin-bottom:.25rem; }

.team-card-body .role { font-size:.8rem;color:var(--hc-sage-dk);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem; }

.team-card-body p { font-size:.85rem;color:var(--hc-mid);line-height:1.6;margin:0; }

.screening-step {
      display:flex;gap:1rem;align-items:flex-start;
      padding:1rem 0;border-bottom:1px solid rgba(26,75,71,.08);
    }

.screening-step:last-child { border-bottom:none; }

.screening-step .s-num {
      width:32px;height:32px;min-width:32px;background:var(--hc-sage);
      color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
      font-size:.8rem;font-weight:700;
    }

.screening-step h6 { font-size:.9rem;font-weight:600;margin-bottom:.2rem; }

.screening-step p { font-size:.82rem;color:var(--hc-mid);margin:0;line-height:1.6; }

.story-card {
      border-radius:24px;overflow:hidden;background:#fff;
      border:1.5px solid rgba(26,75,71,.12);
      transition:box-shadow .25s,transform .25s;
    }

.story-card:hover { box-shadow:0 16px 48px rgba(26,75,71,.14);transform:translateY(-4px); }

.story-header {
      padding:2rem 2rem 0;
    }

.story-stars { color:#f5a623;font-size:.9rem;margin-bottom:.75rem; }

.story-card blockquote {
      font-family:var(--ff-display);font-style:italic;font-size:1.05rem;
      color:var(--hc-charcoal);line-height:1.7;margin:0 0 1.5rem;
      padding:0 2rem 0;
    }

.story-card blockquote::before { content:'"';font-size:2.5rem;color:var(--hc-sage);line-height:0;vertical-align:-0.6em;margin-right:.1em; }

.story-footer {
      background:var(--hc-sage-lt);padding:1.25rem 2rem;
      display:flex;align-items:center;gap:1rem;
    }

.story-avatar {
      width:44px;height:44px;min-width:44px;background:var(--hc-sage);
      border-radius:50%;display:flex;align-items:center;justify-content:center;
      font-family:var(--ff-display);font-weight:700;color:#fff;font-size:1rem;
    }

.story-name { font-weight:600;font-size:.9rem;color:var(--hc-charcoal);display:block; }

.story-relation { font-size:.78rem;color:var(--hc-mid); }

.story-tag {
      display:inline-block;background:var(--hc-sage-lt);color:var(--hc-sage-dk);
      font-size:.72rem;font-weight:600;padding:.25rem .7rem;border-radius:50px;margin-bottom:1rem;
    }

.case-study {
      background:var(--hc-warm);border-radius:24px;padding:2.5rem;
      border:1.5px solid rgba(26,75,71,.12);
    }

.case-study h4 { font-family:var(--ff-display);font-size:1.2rem;font-weight:700;margin-bottom:1.5rem; }

.cs-col-label { font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hc-sage-dk);margin-bottom:.5rem; }

.cs-col-box { background:#fff;border-radius:14px;padding:1.25rem;height:100%;border:1px solid rgba(26,75,71,.1); }

.cs-col-box p { font-size:.875rem;color:var(--hc-mid);line-height:1.7;margin:0; }

.resource-card {
      border-radius:20px;background:#fff;overflow:hidden;height:100%;
      border:1.5px solid rgba(26,75,71,.12);
      transition:box-shadow .25s,transform .25s;display:flex;flex-direction:column;
    }

.resource-card:hover { box-shadow:0 12px 36px rgba(26,75,71,.12);transform:translateY(-4px); }

.resource-category {
      display:inline-block;font-size:.7rem;font-weight:700;
      letter-spacing:.08em;text-transform:uppercase;
      padding:.3rem .75rem;border-radius:50px;margin-bottom:.75rem;
    }

.resource-body { padding:1.75rem;flex:1;display:flex;flex-direction:column; }

.resource-body h5 { font-family:var(--ff-display);font-size:1.05rem;font-weight:600;margin-bottom:.6rem;line-height:1.4; }

.resource-body p { font-size:.875rem;color:var(--hc-mid);line-height:1.65;flex:1;margin-bottom:1.25rem; }

.resource-link { font-size:.85rem;font-weight:600;color:var(--hc-sage-dk);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;margin-top:auto; }

.resource-link:hover { color:var(--hc-sage);gap:.55rem; }

.resource-img { width:100%;height:140px;object-fit:cover;background:var(--hc-sage-lt); }

.resource-img-placeholder { width:100%;height:140px;display:flex;align-items:center;justify-content:center;font-size:2.5rem; }

.contact-method {
      display:flex;gap:1.25rem;align-items:flex-start;
      padding:1.5rem;background:#fff;border-radius:18px;
      border:1.5px solid rgba(26,75,71,.12);
      transition:box-shadow .25s,transform .25s;
    }

.contact-method:hover { box-shadow:0 8px 24px rgba(26,75,71,.1);transform:translateY(-2px); }

.contact-method-icon {
      width:52px;height:52px;min-width:52px;background:var(--hc-sage-lt);
      border-radius:14px;display:flex;align-items:center;justify-content:center;
      font-size:1.3rem;color:var(--hc-sage-dk);
    }

.contact-method h6 { font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--hc-mid);margin-bottom:.3rem; }

.contact-method p { font-size:.9rem;color:var(--hc-charcoal);font-weight:600;margin:0;line-height:1.4; }

.contact-method span { font-size:.8rem;color:var(--hc-mid); }

.form-wrap {
      background:#fff;border-radius:24px;padding:2.5rem;
      box-shadow:0 8px 40px rgba(0,0,0,.07);border:1.5px solid rgba(26,75,71,.1);
    }

.hc-input {
      border:1.5px solid rgba(26,75,71,.2);border-radius:10px;padding:.7rem 1rem;
      font-size:.9rem;transition:border-color .2s,box-shadow .2s;width:100%;
    }

.hc-input:focus { border-color:var(--hc-sage);box-shadow:0 0 0 3px rgba(26,75,71,.1);outline:none; }

.urgent-box {
      background:linear-gradient(135deg,var(--hc-sage),#122f2d);
      border-radius:20px;padding:2rem;color:#fff;
    }

.urgent-box h5 { font-family:var(--ff-display);color:#fff;margin-bottom:.75rem; }

.urgent-box p { color:rgba(255,255,255,.75);font-size:.875rem;line-height:1.7;margin-bottom:1.25rem; }

.area-pill-sm {
      display:inline-block;background:rgba(26,75,71,.08);
      color:var(--hc-sage-dk);border-radius:50px;
      padding:.3rem .8rem;font-size:.78rem;font-weight:500;margin:.2rem;
    }
/* ── Footer brochure download buttons ──────────────────────── */
.footer-dl-btn {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.8) !important;
  border-radius: 6px;
  font-size: .75rem;
  padding: .3rem .75rem;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.footer-dl-btn:hover {
  background: var(--hc-sage) !important;
  color: #fff !important;
}

/* ── Support for Your Situation section ─────────────────────── */
.situation-card {
  display: flex;
  gap: 1.1rem;
  align-items: flex-start;
  padding: 1.75rem;
  background: #fff;
  border: 1.5px solid rgba(26,75,71,.12);
  border-radius: 20px;
  height: 100%;
  transition: box-shadow .25s, transform .25s, border-color .25s;
  cursor: pointer;
}
.situation-card:hover {
  box-shadow: 0 12px 36px rgba(26,75,71,.12);
  transform: translateY(-4px);
  border-color: var(--hc-sage);
}
.situation-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  background: var(--hc-sage-lt);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  color: var(--hc-sage-dk);
  transition: background .25s, color .25s;
}
.situation-card:hover .situation-icon {
  background: var(--hc-sage);
  color: #fff;
}
.situation-body h5 {
  font-family: var(--ff-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--hc-charcoal);
  margin-bottom: .4rem;
}
.situation-body p {
  font-size: .875rem;
  color: var(--hc-mid);
  line-height: 1.65;
  margin-bottom: .75rem;
}
.situation-link {
  font-size: .82rem;
  font-weight: 600;
  color: var(--hc-sage-dk);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: gap .2s;
}
.situation-card:hover .situation-link {
  gap: .5rem;
}
