
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --gold: #E8971A; --gold-light: #F5A623; --gold-pale: #FBBF50;
    --brown-dark: #2B1A0F; --brown-mid: #7F4F3A; --brown-light: #9C6A3A;
    --brown-leg: #6B3A1F; --cream: #FFFCF9; --cream-soft: #FAF5F0;
    --cream-mid: #F5D8C8; --text-main: #2B1A0F; --text-muted: #9C6A3A;
  }
  html { scroll-behavior: smooth; }
  body { font-family: 'DM Sans', sans-serif; color: var(--text-main); background: var(--cream); }

  /* NAV */
  nav { position: sticky; top: 0; z-index: 100; background: var(--cream); border-bottom: 0.5px solid rgba(232,151,26,0.25); padding: 0 3rem; display: flex; align-items: center; justify-content: space-between; height: 160px; }
  .nav-logo { cursor: pointer; }
  .nav-logo svg { display: block; height: 140px; width: auto; }
  .nav-links { display: flex; gap: 1.8rem; list-style: none; }
  .nav-links a { text-decoration: none; font-size: 14px; font-weight: 400; color: var(--text-muted); letter-spacing: 0.3px; transition: color 0.2s; cursor: pointer; }
  .nav-links a:hover, .nav-links a.active { color: var(--text-main); font-weight: 500; }
  .nav-links a.active { border-bottom: 2px solid var(--gold); padding-bottom: 2px; }
  .nav-cta { background: var(--brown-dark); color: var(--cream); border: none; padding: 9px 22px; border-radius: 24px; font-size: 13px; font-family: 'DM Sans', sans-serif; font-weight: 500; cursor: pointer; }
  .nav-cta:hover { background: var(--brown-mid); }

  /* HERO */
  .hero { background: var(--cream-soft); padding: 2.5rem 3rem 4.5rem; display: grid; grid-template-columns: 1.15fr 1fr; gap: 3.5rem; align-items: stretch; }
  .hero-tag { display: inline-block; background: var(--cream-mid); color: var(--brown-mid); font-size: 11px; padding: 4px 14px; border-radius: 20px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 1.2rem; }
  .hero h1 { font-family: 'Playfair Display', serif; font-size: 56px; font-weight: 700; line-height: 1.1; color: var(--brown-dark); margin-bottom: 1.2rem; }
  .hero p { font-size: 16px; color: var(--text-muted); line-height: 1.75; margin-bottom: 1rem; font-weight: 300; }
  .hero-btns { display: flex; gap: 12px; margin-top: 1rem; }
  .btn-primary { background: var(--brown-dark); color: var(--cream); border: none; padding: 13px 26px; border-radius: 28px; font-size: 14px; font-family: 'DM Sans', sans-serif; font-weight: 500; cursor: pointer; }
  .btn-outline { background: transparent; color: var(--brown-dark); border: 1.5px solid var(--brown-dark); padding: 12px 26px; border-radius: 28px; font-size: 14px; font-family: 'DM Sans', sans-serif; font-weight: 500; cursor: pointer; }
  .hero-stats { display: flex; gap: 2.5rem; margin-top: 2.2rem; padding-top: 2rem; border-top: 0.5px solid rgba(232,151,26,0.3); }
  .stat-num { font-family: 'Playfair Display', serif; font-size: 28px; color: var(--gold); }
  .stat-label { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
  .hero-visual { background: #EFDDD3; border-radius: 20px; height: 100%; min-height: 520px; display: flex; align-items: center; justify-content: center; }
  .hero-visual svg { width: 160px; height: auto; opacity: 0.7; }

  /* SECTIONS */
  .section { padding: 2.25rem 3rem 4.5rem; }
  .section-alt { background: var(--cream-soft); }
  .section-eyebrow { font-size: 11px; color: var(--gold); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 0.5rem; }
  .section-title { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 700; color: var(--brown-dark); margin-bottom: 0.75rem; }
  .section-sub { font-size: 15px; color: var(--text-muted); line-height: 1.7; max-width: 520px; margin-bottom: 2.5rem; font-weight: 300; }

  /* TEAM */
  .team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; max-width: 900px; width: 100%; }
  .clinician-card { background: var(--cream); border: 0.5px solid rgba(232,151,26,0.2); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
  .clinician-photo { display: flex; align-items: center; justify-content: center; position: relative; }
  .photo-coral { background: #EFDDD3; } .photo-teal { background: #C8E6DE; }
  .accepting { position: absolute; top: 12px; right: 12px; background: #E8F5EF; color: #2E7D5A; font-size: 11px; padding: 3px 10px; border-radius: 20px; }
  .clinician-body { padding: 1.3rem 1.4rem; }
  .clinician-name { font-family: 'Playfair Display', serif; font-size: 18px; font-weight: 700; color: var(--brown-dark); margin-bottom: 2px; }
  .clinician-role { font-size: 12px; color: var(--gold); letter-spacing: 0.5px; margin-bottom: 0.8rem; }
  .clinician-bio { font-size: 15px; color: var(--text-muted); line-height: 1.7; margin-bottom: 0.6rem; font-weight: 300; }
  .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 1rem; margin-top: 0.5rem; }
  .tag { background: var(--cream-soft); color: var(--brown-mid); font-size: 11px; padding: 3px 10px; border-radius: 20px; border: 0.5px solid var(--cream-mid); }
  .clinician-foot { border-top: 0.5px solid rgba(232,151,26,0.15); padding-top: 0.9rem; display: flex; justify-content: space-between; align-items: center; }
  .lang { font-size: 11px; color: var(--text-muted); }
  .book-btn { background: var(--gold); color: var(--brown-dark); border: none; padding: 12px 28px; border-radius: 28px; font-size: 14px; font-weight: 600; cursor: pointer; font-family: 'DM Sans', sans-serif; margin-top: 0.8rem; }

  /* SERVICES */
  .services-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
  .svc-card { background: var(--cream); border: 0.5px solid rgba(232,151,26,0.2); border-radius: 14px; overflow: hidden; }
  .svc-card h3 { font-size: 14px; font-weight: 500; color: var(--brown-dark); margin-bottom: 0.35rem; }
  .svc-card p { font-size: 13px; color: var(--text-muted); line-height: 1.6; font-weight: 300; }
  .svc-img { width: 100%; height: 220px; object-fit: contain; object-position: center; background: var(--cream-soft); display: block; }

  /* INSURANCE */
  .ins-list { display: flex; flex-wrap: wrap; gap: 10px; }
  .ins-pill { background: var(--cream); border: 0.5px solid rgba(232,151,26,0.3); border-radius: 24px; padding: 9px 20px; font-size: 13px; color: var(--text-muted); display: flex; align-items: center; gap: 7px; }
  .ins-check { width: 16px; height: 16px; background: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .ins-check::after { content: ''; display: block; width: 6px; height: 4px; border-left: 1.5px solid #fff; border-bottom: 1.5px solid #fff; transform: rotate(-45deg) translate(1px,-1px); }

  /* FAQ */
  .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 820px; }
  .faq-item { background: var(--cream); border: 0.5px solid rgba(232,151,26,0.2); border-radius: 14px; padding: 1.3rem 1.4rem; }
  .faq-item h4 { font-size: 14px; font-weight: 500; color: var(--brown-dark); margin-bottom: 0.5rem; }
  .faq-item p { font-size: 13px; color: var(--text-muted); line-height: 1.65; font-weight: 300; }

  /* CONTACT */
  .contact-band { background: var(--brown-dark); padding: 4.5rem 3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: start; }
  .contact-band h2 { font-family: 'Playfair Display', serif; font-size: 32px; font-weight: 700; color: var(--cream); margin-bottom: 0.75rem; }
  .contact-band > div > p { font-size: 15px; color: #C9A893; line-height: 1.75; margin-bottom: 1.5rem; font-weight: 300; }
  .contact-info { display: flex; flex-direction: column; gap: 11px; }
  .c-row { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #C9A893; }
  .c-dot { width: 28px; height: 28px; border-radius: 50%; background: rgba(232,151,26,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; }
  .cform { display: flex; flex-direction: column; gap: 11px; }
  .cform input, .cform select, .cform textarea { background: rgba(255,255,255,0.07); border: 0.5px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 11px 14px; font-size: 13px; color: var(--cream); font-family: 'DM Sans', sans-serif; width: 100%; }
  .cform input::placeholder, .cform textarea::placeholder { color: #9C7060; }
  .cform textarea { min-height: 85px; resize: vertical; }
  .cform select option { background: var(--brown-dark); }
  .frow { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
  .csub { background: var(--gold); color: var(--brown-dark); border: none; border-radius: 24px; padding: 12px 28px; font-size: 14px; font-weight: 500; cursor: pointer; font-family: 'DM Sans', sans-serif; align-self: flex-start; }

  /* RESOURCES */
  .hotline-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: 14px; }
  .hotline-card { background: var(--cream); border: 0.5px solid rgba(232,151,26,0.2); border-left: 3px solid #EF4444; border-radius: 14px; padding: 1.2rem 1.3rem; }
  .hotline-card .title { font-size: 14px; font-weight: 500; color: var(--brown-dark); margin-bottom: 4px; }
  .hotline-card .detail { font-size: 13px; color: var(--text-muted); margin-bottom: 8px; }
  .hotline-card a { font-size: 12px; color: var(--gold); text-decoration: none; }
  .ws-cat-label { font-size: 11px; color: var(--gold); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 0.6rem; font-weight: 500; }
  .ws-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 10px; margin-bottom: 1.5rem; }
  .ws-item { display: flex; align-items: center; gap: 10px; background: var(--cream); border: 0.5px solid rgba(232,151,26,0.2); border-radius: 10px; padding: 0.85rem 1rem; text-decoration: none; color: var(--text-main); }
  .ws-item span { font-size: 13px; font-weight: 500; }

  /* PAGE HEADER BANNER */
  .page-header { background: #2B1A0F; padding: 28px 3rem; text-align: center; border-bottom: 3px solid #E8971A; }
  .page-header h1 { font-family: 'Playfair Display', serif; font-size: 44px; font-weight: 700; color: #F5A623; letter-spacing: 0.5px; line-height: 1.15; margin-bottom: 6px; }
  .page-header-sub { font-family: 'Playfair Display', serif; font-size: 20px; font-style: italic; color: #C9A893; font-weight: 400; }
  @media (max-width: 768px) { .page-header h1 { font-size: 28px; } .page-header-sub { font-size: 15px; } .page-header { padding: 20px 1.5rem; } }

  footer { padding: 1.5rem 3rem; border-top: 0.5px solid rgba(232,151,26,0.2); display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--text-muted); }
  footer a { color: var(--text-muted); text-decoration: none; }

  /* Hamburger menu button (mobile only, shown via media query below) */
  .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 8px; background: none; border: none; }
  .hamburger span { display: block; width: 24px; height: 2px; background: var(--brown-dark); border-radius: 2px; transition: all 0.3s; }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  @media (max-width: 768px) {
    .hero, .team-grid, .services-grid, .faq-grid, .contact-band { grid-template-columns: 1fr; }
    nav { padding: 0 1.2rem; height: 70px; }
    .nav-logo svg { height: 56px; }
    .hamburger { display: flex; }
    .nav-links { display: none; flex-direction: column; position: fixed; top: 70px; left: 0; right: 0; bottom: 0; background: var(--cream); z-index: 200; padding: 2rem 1.5rem; gap: 0; overflow-y: auto; }
    .nav-links.open { display: flex; }
    .nav-links li { border-bottom: 0.5px solid rgba(232,151,26,0.15); }
    .nav-links a { display: block; padding: 1rem 0; font-size: 18px; color: var(--brown-dark); font-weight: 500; }
    .nav-links a.active { border-bottom: none; color: var(--gold); }

    /* HERO */
    .hero { padding: 1.5rem 1.2rem 2rem; gap: 1.5rem; }
    .hero h1 { font-size: 32px; }
    .hero p { font-size: 15px; }
    .hero-visual { min-height: 260px; height: 260px; }
    .hero-btns { flex-direction: column; }

    /* TWO-COLUMN SPECIALTY BOX -> STACK */
    .hero > div > div[style*="grid-template-columns:1fr 1px 1fr"] {
      display: flex !important; flex-direction: column !important;
    }
    .hero > div > div[style*="grid-template-columns:1fr 1px 1fr"] > div[style*="background:rgba"] {
      display: none !important;
    }

    /* SECTIONS */
    .section { padding: 1.5rem 1.2rem 2.5rem; }
    .section-title { font-size: 22px; }
    .section-sub { font-size: 14px; margin-bottom: 1.5rem; }
    .page-header { padding: 16px 1.2rem; }
    .page-header h1 { font-size: 26px; }
    .page-header-sub { font-size: 15px; }

    /* TEAM */
    .team-grid { gap: 20px; max-width: 100%; }

    /* SERVICES */
    .services-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

    /* CONTACT */
    .contact-band { padding: 2rem 1.2rem; gap: 2rem; }
    .contact-band h2 { font-size: 24px; }
    .frow { grid-template-columns: 1fr; }

    /* FOOTER */
    footer { flex-direction: column; gap: 0.5rem; text-align: center; padding: 1.2rem; }

    /* Two-column info/media blocks used across About, Group, Insurance, etc. */
    div[style*="grid-template-columns:1.2fr 0.8fr"] { display: flex !important; flex-direction: column !important; }
    div[style*="grid-template-columns:1fr 1fr"] { display: flex !important; flex-direction: column !important; }
    div[style*="grid-template-columns:repeat(2,1fr)"] { display: flex !important; flex-direction: column !important; }
    div[style*="grid-template-columns:repeat(auto-fit, minmax(240px"] { grid-template-columns: 1fr !important; }
    div[style*="grid-template-columns:repeat(auto-fill, minmax(220px"] { grid-template-columns: 1fr 1fr !important; }

    /* BUTTONS: full-width, comfortable touch targets on mobile */
    .btn-primary, .btn-outline, .book-btn, .csub { width: 100%; }
    a.btn-primary, a.btn-outline, a.book-btn, a.csub, button.btn-primary, button.btn-outline, button.book-btn, button.csub { min-height: 44px; }
  }

  /* Anchor tags styled as buttons (converted from JS-only buttons for crawlability) */
  .btn-primary, .btn-outline, .book-btn, .nav-cta, .csub {
    display: inline-block;
    text-decoration: none;
    text-align: center;
  }
  a.btn-primary, a.btn-outline, a.book-btn, a.nav-cta, a.csub { cursor: pointer; }
