  /* ================= Hero - Split Layout ================= */
  .psy-hero {
    position: relative;
    background: var(--bg-primary);
    padding: 4rem 0 6rem;
    overflow: hidden;
  }
  .psy-hero::before {
    content: '';
    position: absolute;
    top: -120px; left: -120px;
    width: 420px; height: 420px;
    border-radius: 50%;
    background: var(--primary-light);
    opacity: .5;
    filter: blur(20px);
  }
  .psy-hero .breadcrumb { background: transparent; margin-bottom: 1.5rem; padding: 0; }
  .psy-hero .breadcrumb a { color: var(--text-secondary); text-decoration: none; font-size: .85rem; }
  .psy-hero .breadcrumb-item.active { color: var(--primary); font-size: .85rem; font-weight: 600; }

  .psy-hero h1 {
    font-weight: 800;
    font-size: 2.6rem;
    color: var(--text-primary);
    position: relative;
    z-index: 1;
  }
  .psy-hero h1 span { color: var(--primary); }
  .psy-hero .lead {
    color: var(--text-secondary);
    font-size: 1.05rem;
    max-width: 480px;
    position: relative;
    z-index: 1;
  }

  .psy-hero-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    position: relative;
    z-index: 1;
    flex-wrap: wrap;
  }
  .btn-urgent {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--primary-gradient);
    color: #fff;
    font-weight: 700;
    padding: .9rem 1.8rem;
    border-radius: var(--radius-full);
    text-decoration: none;
    box-shadow: 0 10px 24px var(--primary-shadow);
    animation: pulseUrgent 2.2s infinite;
    transition: var(--transition-base);
  }
  .btn-urgent:hover { transform: translateY(-3px) scale(1.02); }
  .btn-urgent i { font-size: 1.15rem; }
  @keyframes pulseUrgent {
    0%   { box-shadow: 0 0 0 0 var(--primary-shadow); }
    70%  { box-shadow: 0 0 0 14px rgba(0,0,0,0); }
    100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); }
  }
  .btn-book-outline {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 2px solid var(--primary);
    color: var(--primary);
    font-weight: 700;
    padding: .85rem 1.6rem;
    border-radius: var(--radius-full);
    text-decoration: none;
    transition: var(--transition-base);
  }
  .btn-book-outline:hover { background: var(--primary); color: #fff; transform: translateY(-3px); }

  .psy-hero-visual {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
  }
  .psy-hero-visual .visual-circle {
    width: 300px; height: 300px;
    border-radius: 50%;
    background: var(--primary-gradient);
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-xl);
    transition: var(--transition-base);
    animation: floatCircle 4s ease-in-out infinite;
  }
  .psy-hero-visual .visual-circle:hover { transform: scale(1.04); }
  @keyframes floatCircle {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-14px); }
  }
  .psy-hero-visual .visual-circle i { font-size: 6rem; color: #fff; }
  .psy-hero-visual .float-chip {
    position: absolute;
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: .6rem 1rem;
    box-shadow: var(--shadow-md);
    font-size: .82rem;
    font-weight: 600;
    color: var(--text-primary);
    display: flex; align-items: center; gap: .4rem;
    transition: var(--transition-base);
  }
  .float-chip:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
  .float-chip i { color: var(--primary); }
  .chip-1 { top: 10px; left: -10px; }
  .chip-2 { bottom: 20px; right: -20px; }

  /* ================= Quick facts sidebar (intro) ================= */
  .psy-about { padding: 5rem 0; }
  .about-text h2 { font-weight: 800; font-size: 1.8rem; color: var(--text-primary); }
  .about-text p { color: var(--text-secondary); line-height: 2; }

  .facts-box {
    background: var(--surface-secondary);
    border-radius: var(--radius-lg);
    padding: 1.8rem;
    transition: var(--transition-base);
  }
  .facts-box:hover { box-shadow: var(--shadow-md); }
  .fact-row {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: .9rem 0;
    border-bottom: 1px dashed var(--border-color);
    transition: var(--transition-base);
  }
  .fact-row:last-child { border-bottom: none; }
  .fact-row:hover { padding-right: .4rem; }
  .fact-row i { color: var(--primary); font-size: 1.2rem; margin-top: .1rem; }
  .fact-row strong { color: var(--text-primary); display: block; font-size: .9rem; }
  .fact-row span { color: var(--text-secondary); font-size: .82rem; }
  /* ================= When to visit — timeline ================= */
  .symptoms-section { background: var(--surface-secondary); padding: 5rem 0; }
  .symptoms-section .section-eyebrow {
    color: var(--primary); font-weight: 700; font-size: .85rem;
  }
  .symptoms-section h2 { font-weight: 800; color: var(--text-primary); font-size: 1.8rem; }

  .symptom-row {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    background: var(--bg-primary);
    border-radius: var(--radius-lg);
    padding: 1.2rem 1.4rem;
    margin-bottom: 1rem;
    box-shadow: var(--shadow-sm);
    transition: var(--transition-base);
  }
  .symptom-row:hover { box-shadow: var(--shadow-md); transform: translateX(-4px); }
  .symptom-num {
    flex-shrink: 0;
    width: 42px; height: 42px;
    border-radius: 50%;
    background: var(--primary-light);
    color: var(--primary-dark);
    display: flex; align-items: center; justify-content: center;
    font-weight: 800;
    transition: var(--transition-base);
  }
  .symptom-row:hover .symptom-num { background: var(--primary); color: #fff; }
  .symptom-row h6 { margin: 0; color: var(--text-primary); font-weight: 700; }
  .symptom-row p { margin: 0; color: var(--text-secondary); font-size: .85rem; }

  /* ================= Process — vertical stepper ================= */
  .stepper-section { padding: 5rem 0; }
  .stepper { position: relative; padding-right: 2rem; }
  .stepper::before {
    content: '';
    position: absolute;
    right: 14px; top: 6px; bottom: 6px;
    width: 2px;
    background: var(--border-color);
  }
  .stepper-item { position: relative; padding-bottom: 2.2rem; padding-right: 1.5rem; transition: var(--transition-base); }
  .stepper-item:last-child { padding-bottom: 0; }
  .stepper-item::before {
    content: '';
    position: absolute;
    right: -0.5px; top: 4px;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: var(--primary);
    border: 3px solid var(--bg-primary);
    box-shadow: 0 0 0 2px var(--primary);
    transition: var(--transition-base);
  }
  .stepper-item:hover { padding-right: 1.9rem; }
  .stepper-item:hover::before { box-shadow: 0 0 0 5px var(--primary-light); }
  .stepper-item:hover h6 { color: var(--primary); }
  .stepper-item h6 { color: var(--text-primary); font-weight: 700; margin-bottom: .2rem; transition: var(--transition-base); }
  .stepper-item p { color: var(--text-secondary); font-size: .88rem; margin: 0; }

  /* ================= Doctors — horizontal list ================= */
  .doctors-section { background: var(--surface-secondary); padding: 5rem 0; }
  .doc-row {
    display: flex;
    align-items: center;
    gap: 1.3rem;
    background: var(--bg-primary);
    border-radius: var(--radius-lg);
    padding: 1.1rem;
    margin-bottom: 1rem;
    box-shadow: var(--shadow-sm);
    transition: var(--transition-base);
  }
  .doc-row:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
  .doc-row img {
    width: 84px; height: 84px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 3px solid var(--primary-light);
    transition: var(--transition-base);
  }
  .doc-row:hover img { border-color: var(--primary); transform: scale(1.05); }
  .doc-info { flex-grow: 1; }
  .doc-info h6 { margin: 0; color: var(--text-primary); font-weight: 700; }
  .doc-info span { color: var(--text-secondary); font-size: .82rem; }
  .doc-rating { color: var(--warning); font-size: .82rem; font-weight: 700; }
  .doc-row .btn-outline-success {
    color: var(--primary); border-color: var(--primary); flex-shrink: 0;
    transition: var(--transition-base);
  }
  .doc-row .btn-outline-success:hover { background: var(--primary); border-color: var(--primary); color: #fff; transform: translateY(-2px); }

  /* ================= Trust Section ================= */
  .trust-section { padding: 4.5rem 0;background: var(--gradient-hero); }
  .trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
  @media (max-width: 767px) { .trust-grid { grid-template-columns: repeat(2, 1fr); } }

  .trust-badge {
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: 1.6rem 1.2rem;
    text-align: center;
    transition: var(--transition-base);
  }
  .trust-badge:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
  }
  .trust-badge .icon-wrap {
    width: 58px; height: 58px;
    border-radius: 50%;
    background: var(--primary-light);
    color: var(--primary-dark);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto .9rem;
    font-size: 1.5rem;
    transition: var(--transition-base);
  }
  .trust-badge:hover .icon-wrap { background: var(--primary); color: #fff; transform: scale(1.08); }
  .trust-badge h6 { color: var(--text-primary); font-weight: 700; font-size: .92rem; margin-bottom: .3rem; }
  .trust-badge p { color: var(--text-secondary); font-size: .78rem; margin: 0; }

  /* ================= Request Form Section ================= */
  .request-section {
    background: var(--surface-secondary);
    padding: 5rem 0;
  }
  .request-card {
    background: var(--bg-primary);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    transition: var(--transition-base);
  }
  .request-card:hover { box-shadow: var(--shadow-xl); }
  @media (max-width: 767px) { .request-card { grid-template-columns: 1fr; } }

  .request-side {
    background: var(--primary-gradient);
    color: #fff;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .request-side h3 { font-weight: 800; margin-bottom: .8rem; }
  .request-side p { font-size: .9rem; opacity: .9; line-height: 1.9; margin-bottom: 1.5rem; }
  .request-side ul { list-style: none; padding: 0; margin: 0; }
  .request-side li { display: flex; align-items: center; gap: .6rem; font-size: .85rem; margin-bottom: .7rem; transition: var(--transition-base); }
  .request-side li:hover { transform: translateX(-4px); }
  .request-side li i { font-size: 1.1rem; }

  .request-form { padding: 2.5rem 2rem; }
  .request-form .form-label { font-weight: 700; font-size: .85rem; color: var(--text-primary); }
  .request-form .form-label .req { color: var(--danger, #dc3545); }
  .request-form .form-control {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: .75rem 1rem;
    font-size: .88rem;
    transition: var(--transition-base);
  }
  .request-form .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 .2rem var(--primary-shadow);
  }
  .request-form .btn-submit {
    background: var(--primary-gradient);
    color: #fff;
    border: none;
    border-radius: var(--radius-full);
    padding: .85rem 2rem;
    font-weight: 700;
    width: 100%;
    transition: var(--transition-base);
  }
  .request-form .btn-submit:hover { filter: brightness(1.08); transform: translateY(-2px); box-shadow: var(--shadow-md); }
  .form-hint { font-size: .75rem; color: var(--text-secondary); margin-top: .3rem; }

  /* ================= FAQ — two column ================= */
  .faq-section { padding: 5rem 0; }
  .faq-col-item {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 1.2rem 1.4rem;
    margin-bottom: 1rem;
    background: var(--bg-primary);
    transition: var(--transition-base);
  }
  .faq-col-item:hover { border-color: var(--primary); box-shadow: var(--shadow-sm); }
  .faq-col-item summary {
    font-weight: 700;
    color: var(--text-primary);
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .faq-col-item summary::-webkit-details-marker { display: none; }
  .faq-col-item summary i { color: var(--primary); transition: transform .25s; }
  .faq-col-item[open] summary i { transform: rotate(180deg); }
  .faq-col-item p { color: var(--text-secondary); font-size: .88rem; margin: .8rem 0 0; }

  /* ================= SEO Text ================= */
  .seo-text-section { padding: 2rem 0; }
  .seo-text-wrap { max-width: 900px; margin: 0 auto; }
  .seo-text {
    color: var(--text-secondary);
    font-size: .9rem;
    line-height: 1.9;
    overflow: hidden;
    position: relative;
    transition: max-height .4s ease;
  }
  .seo-text.collapsed { max-height: 5.7em; }
  .seo-text.collapsed::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2.5em;
    background: linear-gradient(to bottom, transparent, var(--bg-primary));
  }
  .seo-text.expanded { max-height: 1000px; }
  .seo-toggle-btn {
    display: flex; align-items: center; gap: .4rem;
    margin-top: .8rem; background: none; border: none;
    color: var(--primary); font-weight: 700; font-size: .88rem;
    padding: 0; cursor: pointer;
  }
  .seo-toggle-btn i { transition: transform .3s ease; }
  .seo-toggle-btn.open i { transform: rotate(180deg); }

  /* ================= CTA ================= */
  .psy-cta {
    background: var(--primary-gradient-deep);
    color: #fff;
    border-radius: var(--radius-lg);
    padding: 3rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
    transition: var(--transition-base);
  }
  .psy-cta:hover { box-shadow: var(--shadow-xl); }
  .psy-cta h3 { font-weight: 800; margin: 0; }
  .psy-cta .phone-big { font-size: 1.4rem; font-weight: 800; }
  .psy-cta .btn-light { transition: var(--transition-base); }
  .psy-cta .btn-light:hover { transform: translateY(-3px); }