    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --sun:    #F5A623;
      --mango:  #F7C948;
      --leaf:   #5C9B5E;
      --mint:   #A8D5A2;
      --sky:    #78C7C2;
      --coral:  #F06B4E;
      --white:  #FFFFFF;
      --cream:  #FDFAF4;
      --charcoal:#2B2B2B;
      --mid:    #666;
      --light:  #999;
      --border: #EDE9E0;
    }
    html { scroll-behavior: smooth; }
    body { font-family: "DM Sans", sans-serif; background: var(--white); color: var(--charcoal); font-size: 16px; line-height: 1.7; overflow-x: hidden; }

    /* NAV */
    nav { position: fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:18px 60px; background:rgba(255,255,255,0.93); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); }
    .nav-logo { display:flex; align-items:center; gap:2px; flex:0 0 auto; }
    .nav-logo-text { font-family:"Cormorant Garamond",serif; font-size:1.4rem; font-weight:600; color:var(--leaf); letter-spacing:-0.02em; line-height:1.15; }
    .nav-logo-text span { display:block; color:var(--sun); }
    .nav-logo-text small { display:block; font-family:"DM Sans",sans-serif; font-size:0.68rem; font-weight:400; color:var(--mid); letter-spacing:0.06em; text-transform:uppercase; }
    .nav-links { display:flex; gap:24px; list-style:none; flex:0 0 auto; }
    .nav-links a { text-decoration:none; color:var(--mid); font-size:1.08rem; font-weight:500; letter-spacing:0.03em; transition:color 0.2s; }
    .nav-links a:hover { color:var(--leaf); }
    .nav-cta { flex:0 0 auto; white-space:nowrap; background:var(--leaf); color:white; padding:11px 24px; border-radius:50px; text-decoration:none; font-size:0.95rem; font-weight:500; transition:background 0.2s, transform 0.2s; }
    .nav-cta:hover { background:#4a7f4c; transform:translateY(-1px); }
    .nav-menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--border); border-radius:50%; background:var(--cream); align-items:center; justify-content:center; flex-direction:column; gap:4px; cursor:pointer; flex:0 0 auto; }
    .nav-menu-toggle span { width:18px; height:2px; border-radius:2px; background:var(--charcoal); transition:transform 0.2s, opacity 0.2s; }
    nav.nav-open .nav-menu-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
    nav.nav-open .nav-menu-toggle span:nth-child(2) { opacity:0; }
    nav.nav-open .nav-menu-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

    /* HERO */
    .hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:120px 60px 80px; background:var(--cream); gap:60px; position:relative; overflow:hidden; }
    .hero::before { content:""; position:absolute; top:-80px; right:-80px; width:500px; height:500px; background:radial-gradient(circle,#F7C94830 0%,transparent 70%); border-radius:50%; }
    .hero::after { content:""; position:absolute; bottom:-60px; left:200px; width:300px; height:300px; background:radial-gradient(circle,#A8D5A230 0%,transparent 70%); border-radius:50%; }
    .hero-text { position:relative; z-index:2; animation:fadeUp 0.9s ease both; }
    .hero h1 { font-family:"Cormorant Garamond",serif; font-size:clamp(1.2rem,2.16vw,1.8rem); font-weight:300; line-height:1.24; color:var(--charcoal); margin-bottom:20px; }
    .hero h1 em { font-style:italic; color:var(--leaf); }
    .hero p { font-size:1rem; color:var(--mid); max-width:460px; margin-bottom:38px; font-weight:300; }
    .hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
    .btn-primary { background:var(--leaf); color:white; padding:13px 30px; border-radius:50px; text-decoration:none; font-weight:500; font-size:0.9rem; transition:all 0.25s; box-shadow:0 4px 20px #5C9B5E30; }
    .btn-primary:hover { background:#4a7f4c; transform:translateY(-2px); box-shadow:0 8px 28px #5C9B5E40; }
    .btn-ghost { background:white; border:1.5px solid var(--border); color:var(--mid); padding:13px 30px; border-radius:50px; text-decoration:none; font-weight:500; font-size:0.9rem; transition:all 0.25s; box-shadow:0 4px 18px rgba(0,0,0,0.06); }
    .btn-ghost:hover { background:var(--cream); border-color:var(--leaf); color:var(--leaf); transform:translateY(-2px); box-shadow:0 8px 26px rgba(0,0,0,0.1); }
    .hero-visual { position:relative; z-index:2; animation:fadeUp 0.9s 0.2s ease both; }
    .hero-img-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:280px 200px; gap:14px; }
    .hero-img-grid .img-card { border-radius:20px; overflow:hidden; box-shadow:0 8px 30px rgba(0,0,0,0.1); }
    .hero-img-grid .img-card:first-child { grid-row:1/3; border-radius:24px; }
    .hero-img-grid img { width:100%; height:100%; object-fit:cover; display:block; }
    .stat-pill { position:absolute; bottom:24px; left:-20px; background:white; border-radius:16px; padding:14px 22px; box-shadow:0 8px 30px rgba(0,0,0,0.12); display:flex; align-items:center; gap:12px; }
    .stat-pill .num { font-family:"Cormorant Garamond",serif; font-size:2rem; font-weight:600; color:var(--sun); }
    .stat-pill .lbl { font-size:0.8rem; color:var(--mid); line-height:1.3; }

    /* SHARED */
    section { padding:90px 60px; }
    .section-tag { font-size:0.72rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--coral); margin-bottom:10px; display:block; }
    .section-title { font-family:"Cormorant Garamond",serif; font-size:clamp(1.9rem,3.5vw,2.9rem); font-weight:400; line-height:1.2; margin-bottom:18px; }
    .section-sub { color:var(--mid); font-weight:300; max-width:560px; font-size:1rem; }
    .text-center { text-align:center; }
    .text-center .section-sub { margin:0 auto; }
    .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

    /* SCIENCE STRIP */
    .science-strip { background:var(--leaf); padding:56px 60px; display:flex; gap:0; }
    .sci-card { flex:1; padding:0 36px; border-right:1px solid rgba(255,255,255,0.15); color:white; }
    .sci-card:first-child { padding-left:0; }
    .sci-card:last-child { border-right:none; }
    .sci-card h3 { font-family:"Cormorant Garamond",serif; font-size:1.45rem; font-weight:500; margin-bottom:10px; }
    .sci-card p { font-size:0.88rem; opacity:0.85; font-weight:300; line-height:1.7; }

    /* HOW */
    .how { background:var(--white); }
    .how-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-top:56px; }
    .how-steps { display:flex; flex-direction:column; gap:32px; }
    .step { display:flex; gap:22px; }
    .step-num { width:42px; height:42px; flex-shrink:0; border-radius:50%; background:var(--mango); display:flex; align-items:center; justify-content:center; font-family:"Cormorant Garamond",serif; font-size:1.2rem; font-weight:600; color:var(--charcoal); }
    .step-body h3 { font-weight:500; font-size:1rem; margin-bottom:5px; }
    .step-body p { color:var(--mid); font-size:0.875rem; font-weight:300; }
    .how-image { border-radius:28px; overflow:hidden; height:500px; box-shadow:0 20px 60px rgba(0,0,0,0.1); }
    .how-image img { width:100%; height:100%; object-fit:cover; }

    /* SCIENCE */
    .science { background:var(--cream); }
    .science-header { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; margin-bottom:56px; }
    .science-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
    .sci-info-card { background:white; border-radius:20px; padding:30px; border:1px solid var(--border); transition:transform 0.25s, box-shadow 0.25s; }
    .sci-info-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,0,0,0.08); }
    .sci-info-card .tag { display:inline-block; font-size:0.7rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; padding:4px 12px; border-radius:50px; margin-bottom:14px; }
    .tag-sun { background:#FEF3C7; color:#92400E; }
    .tag-leaf { background:#D1FAE5; color:#065F46; }
    .tag-sky { background:#E0F2FE; color:#0369A1; }
    .sci-info-card h3 { font-family:"Cormorant Garamond",serif; font-size:1.3rem; font-weight:500; margin-bottom:10px; }
    .sci-info-card p { color:var(--mid); font-size:0.86rem; font-weight:300; line-height:1.75; }
    .sci-info-card .study { margin-top:14px; padding-top:14px; border-top:1px solid var(--border); font-size:0.76rem; color:var(--sky); font-style:italic; }

    /* DOCTOR */
    .doctor { background:var(--white); display:grid; grid-template-columns:420px 1fr; gap:70px; align-items:center; }
    .doctor-img { border-radius:28px; overflow:hidden; height:520px; box-shadow:0 20px 60px rgba(0,0,0,0.12); position:relative; }
    .doctor-img img { width:100%; height:100%; object-fit:cover; object-position:center top; }
    .doctor-badge { position:absolute; bottom:24px; right:-16px; background:var(--sun); color:white; padding:14px 22px; border-radius:14px; font-family:"Cormorant Garamond",serif; font-size:1.7rem; font-weight:600; text-align:center; box-shadow:0 8px 24px #F5A62340; }
    .doctor-badge span { display:block; font-family:"DM Sans",sans-serif; font-size:0.72rem; font-weight:400; opacity:0.9; }
    .credentials { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
    .cred-pill { background:var(--cream); border:1px solid var(--border); border-radius:50px; padding:5px 14px; font-size:0.78rem; color:var(--mid); }
    .doctor-text p { color:var(--mid); font-weight:300; margin-bottom:14px; font-size:0.95rem; }
    .social-links { display:flex; gap:12px; margin-top:10px; flex-wrap:wrap; }
    .social-link { display:inline-flex; align-items:center; gap:6px; padding:8px 18px; border-radius:50px; border:1.5px solid var(--border); font-size:0.8rem; color:var(--mid); text-decoration:none; transition:all 0.2s; }
    .social-link:hover { border-color:var(--leaf); color:var(--leaf); }

    /* CTA */
    .cta-banner { background:linear-gradient(135deg, var(--leaf) 0%, #3a6e3c 100%); padding:76px 60px; text-align:center; color:white; }
    .cta-banner h2 { font-family:"Cormorant Garamond",serif; font-size:clamp(1.9rem,4vw,3rem); font-weight:300; margin-bottom:14px; }
    .cta-banner > p { opacity:0.85; max-width:480px; margin:0 auto 40px; font-weight:300; }

    /* ── BOOKING FORM ── */
    .booking-form-wrap { max-width:700px; margin:0 auto; }
    .booking-form-card { background:white; border-radius:24px; padding:44px 48px; box-shadow:0 24px 60px rgba(0,0,0,0.18); text-align:left; }
    .form-title { font-family:"Cormorant Garamond",serif; font-size:1.8rem; font-weight:500; color:var(--charcoal); margin-bottom:6px; }
    .form-sub { color:var(--mid); font-size:0.875rem; font-weight:300; margin-bottom:12px; }
    .appointment-note { color:var(--leaf); font-size:0.82rem; font-weight:500; margin-bottom:28px; }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .form-group { display:flex; flex-direction:column; gap:6px; }
    .form-group--full { grid-column:span 2; }
    .form-group label { font-size:0.78rem; font-weight:500; color:var(--charcoal); letter-spacing:0.05em; text-transform:uppercase; }
    .req { color:var(--coral); }
    .form-group input, .form-group textarea { border:1.5px solid var(--border); border-radius:10px; padding:12px 16px; font-family:"DM Sans",sans-serif; font-size:0.9rem; color:var(--charcoal); background:var(--cream); outline:none; transition:border-color 0.2s, box-shadow 0.2s; width:100%; }
    .form-group input:focus, .form-group textarea:focus { border-color:var(--leaf); box-shadow:0 0 0 3px #5C9B5E18; background:white; }
    .form-group textarea { resize:vertical; min-height:110px; }
    .form-submit { width:100%; padding:15px; background:var(--leaf); color:white; border:none; border-radius:50px; cursor:pointer; font-family:"DM Sans",sans-serif; font-size:1rem; font-weight:500; transition:background 0.2s, transform 0.2s, box-shadow 0.2s; box-shadow:0 4px 20px #5C9B5E30; }
    .form-submit:hover { background:#4a7f4c; transform:translateY(-2px); box-shadow:0 8px 28px #5C9B5E40; }
    .form-note { text-align:center; color:var(--light); font-size:0.76rem; margin-top:10px; }
    .form-label-text { font-size:0.78rem; font-weight:500; color:var(--charcoal); letter-spacing:0.05em; text-transform:uppercase; }
    .forme-label { display:inline-flex; align-items:center; gap:6px; font-size:0.82rem; font-weight:500; color:var(--leaf); cursor:pointer; text-transform:none; letter-spacing:0; user-select:none; }
    .forme-label input[type="checkbox"] { width:15px; height:15px; accent-color:var(--leaf); cursor:pointer; flex-shrink:0; }
    .form-subsection { margin:28px 0 0; padding:24px 28px; background:var(--cream); border-radius:14px; border:1px solid var(--border); }
    .form-subsection-title { font-family:"Cormorant Garamond",serif; font-size:1.2rem; font-weight:500; color:var(--leaf); margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid var(--border); }
    .form-group select { border:1.5px solid var(--border); border-radius:10px; padding:12px 16px; font-family:"DM Sans",sans-serif; font-size:0.9rem; color:var(--charcoal); background:var(--cream); outline:none; transition:border-color 0.2s, box-shadow 0.2s; width:100%; appearance:none; background-image:url("/assets/select-chevron.svg"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; cursor:pointer; }
    .form-group select:focus { border-color:var(--leaf); box-shadow:0 0 0 3px #5C9B5E18; background-color:white; }
    .form-success { display:none; margin-top:20px; background:#f0faf0; border:1px solid var(--mint); border-radius:12px; padding:16px 20px; color:var(--leaf); font-size:0.9rem; text-align:center; }


    @media(max-width:1180px){
      nav { padding:14px 24px; gap:14px; }
      .nav-links { gap:14px; }
      .nav-links a { font-size:0.98rem; }
      .nav-cta { padding:10px 18px; font-size:0.88rem; }
    }

    @media(max-width:900px){
      .booking-form-card { padding:28px 20px; }
      .form-grid { grid-template-columns:1fr; }
      .form-group--full { grid-column:span 1; }
      .cta-banner { padding:56px 20px; }
    }
    /* FOOTER */
    footer { background:var(--charcoal); color:white; padding:56px 60px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:36px; }
    .footer-brand .logo { font-family:"Cormorant Garamond",serif; font-size:1.45rem; font-weight:600; color:var(--mango); margin-bottom:10px; }
    .footer-brand p { color:#aaa; font-size:0.85rem; font-weight:300; line-height:1.7; }
    .footer-heading { font-family:"DM Sans",sans-serif; font-size:0.76rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:#888; margin-bottom:14px; }
    footer ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
    footer ul a { color:#bbb; text-decoration:none; font-size:0.85rem; transition:color 0.2s; }
    footer ul a:hover { color:var(--mango); }
    .footer-bottom { background:#222; padding:18px 60px; display:flex; justify-content:space-between; align-items:center; font-size:0.78rem; color:#666; }

    /* ANIM */
    @keyframes fadeUp { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }


    @media(max-width:900px){
      nav { padding:10px 14px; gap:10px; min-height:76px; }
      .nav-logo { flex:1 1 auto; min-width:0; gap:0; }
      .nav-logo img { width:54px; height:54px; margin-right:8px; }
      .nav-logo-text { font-size:1.05rem; line-height:1.05; letter-spacing:0; min-width:0; }
      .nav-logo-text small { display:none; }
      .nav-menu-toggle { display:flex; order:2; }
      .nav-cta { order:3; padding:9px 12px; font-size:0.76rem; line-height:1.1; white-space:normal; text-align:center; max-width:104px; }
      .nav-links { display:none; position:absolute; left:14px; right:14px; top:calc(100% + 8px); background:white; border:1px solid var(--border); border-radius:14px; box-shadow:0 18px 50px rgba(0,0,0,0.14); padding:10px; flex-direction:column; gap:0; }
      nav.nav-open .nav-links { display:flex; }
      .nav-links li { width:100%; }
      .nav-links a { display:block; width:100%; padding:12px 14px; border-radius:10px; font-size:0.98rem; color:var(--charcoal); }
      .nav-links a:hover { background:var(--cream); text-decoration:none; }
      section { padding:60px 20px; }
      .hero { grid-template-columns:1fr; padding:112px 20px 60px; }
      .hero-visual { display:none; }
      .how-grid, .science-header, .doctor { grid-template-columns:1fr; gap:36px; }
      .science-cards { grid-template-columns:1fr; }
      .science-strip { flex-direction:column; padding:40px 20px; gap:28px; }
      .sci-card { border-right:none; border-bottom:1px solid rgba(255,255,255,0.15); padding:0 0 28px; }
      footer { grid-template-columns:1fr; padding:40px 20px; }
      .footer-bottom { flex-direction:column; gap:8px; text-align:center; padding:16px 20px; }
      .cta-banner, .doctor { padding:56px 20px; }
    }


    /* ── FAQ TABS ── */
    .faq-tabs-wrapper { max-width: 1100px; margin: 0 auto; }
    .faq-tab-bar {
      display: flex; flex-wrap: wrap; gap: 10px;
      margin-bottom: 0; padding-bottom: 0;
      border-bottom: 2px solid var(--border);
      padding-bottom: 0;
    }
    .faq-tab-btn {
      background: none; border: none; cursor: pointer;
      padding: 12px 20px; border-radius: 10px 10px 0 0;
      font-family: "DM Sans", sans-serif; font-size: 0.82rem;
      font-weight: 500; color: var(--mid);
      border: 1px solid transparent;
      border-bottom: none;
      transition: all 0.2s;
      margin-bottom: -2px;
      position: relative;
    }
    .faq-tab-btn:hover { color: var(--leaf); background: #f5fbf5; }
    .faq-tab-btn.active {
      color: var(--leaf); background: white;
      border-color: var(--border);
      border-bottom: 2px solid white;
      font-weight: 600;
    }
    .faq-tab-content { background: white; border: 1px solid var(--border); border-top: none; border-radius: 0 0 18px 18px; overflow: hidden; }
    .faq-tab-panel { display: none; }
    .faq-tab-panel.active { display: block; }
    .faq-tab-panel .faq-list { border: none; border-radius: 0; }

    @media(max-width:900px){
      .faq-tab-bar { gap: 6px; }
      .faq-tab-btn { padding: 9px 12px; font-size: 0.75rem; }
    }

    /* ── FAQ accordion ── */
    .faq { background: var(--cream); }
    .faq-list { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; background: white; }
    .faq-item { border-bottom: 1px solid var(--border); }
    .faq-question { margin: 0; font: inherit; }
    .faq-item:last-child { border-bottom: none; }
    .faq-q {
      width: 100%; text-align: left; background: none; border: none; cursor: pointer;
      padding: 20px 28px; display: flex; justify-content: space-between; align-items: center;
      font-family: "DM Sans", sans-serif; font-size: 0.95rem; font-weight: 500;
      color: var(--charcoal); gap: 20px; transition: background 0.2s;
      line-height: 1.4;
    }
    .faq-q:hover { background: #fafaf7; }
    .faq-q.open { color: var(--leaf); background: #f5fbf5; }
    .faq-icon {
      flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
      background: var(--border); display: flex; align-items: center; justify-content: center;
      font-size: 1.2rem; line-height: 1; color: var(--mid);
      transition: background 0.2s, transform 0.3s, color 0.2s;
    }
    .faq-q.open .faq-icon { background: var(--leaf); color: white; transform: rotate(45deg); }
    .faq-a {
      max-height: 0; overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s ease;
      font-size: 0.9rem; color: var(--mid); font-weight: 300; line-height: 1.8;
      padding: 0 28px; background: #f5fbf5;
    }
    .faq-a.open { max-height: 800px; padding: 2px 28px 22px; }

    @media(max-width:900px){
      .faq-q { padding: 16px 18px; font-size: 0.88rem; }
      .faq-a.open { padding: 0 18px 18px; }
    }


    /* ── PATIENT REVIEWS ── */
    .reviews { background: var(--cream); }
    .google-rating-bar {
      display: flex; align-items: center; justify-content: center;
      gap: 8px; margin-top: 20px; flex-wrap: wrap;
    }
    .big-rating { font-family: "Cormorant Garamond", serif; font-size: 2.2rem; font-weight: 600; color: var(--charcoal); line-height: 1; }
    .stars-lg { color: var(--sun); font-size: 1.4rem; letter-spacing: 2px; }
    .rating-count { color: var(--mid); font-size: 0.9rem; }
    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
    }
    .review-card {
      background: white; border-radius: 20px;
      padding: 28px; border: 1px solid var(--border);
      transition: transform 0.25s, box-shadow 0.25s;
      display: flex; flex-direction: column; gap: 16px;
    }
    .review-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.08); }
    .review-card--featured {
      grid-column: span 2;
      background: linear-gradient(135deg, #f6fbf6 0%, #fff 100%);
      border-color: var(--mint);
    }
    .review-header { display: flex; align-items: center; gap: 12px; }
    .reviewer-avatar {
      width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
      background: var(--leaf); color: white;
      display: flex; align-items: center; justify-content: center;
      font-family: "Cormorant Garamond", serif; font-size: 1.3rem; font-weight: 600;
    }
    .reviewer-name { font-weight: 600; font-size: 0.92rem; color: var(--charcoal); }
    .review-meta { font-size: 0.76rem; color: var(--light); margin-top: 2px; }
    .review-stars { margin-left: auto; color: var(--sun); font-size: 0.9rem; letter-spacing: 1px; flex-shrink: 0; }
    .review-text { font-size: 0.875rem; color: var(--mid); font-weight: 300; line-height: 1.75; flex-grow: 1; }
    .review-lang-note { font-size: 0.75rem; color: var(--sky); font-style: italic; border-top: 1px solid var(--border); padding-top: 12px; }

    @media(max-width:900px){
      .reviews-grid { grid-template-columns: 1fr; }
      .review-card--featured { grid-column: span 1; }
    }

    .study-link { color:var(--sky); text-decoration:none; font-style:italic; font-size:0.76rem; transition:color 0.2s; }
    .study-link:hover { color:var(--leaf); text-decoration:underline; }

/* Extracted utility styles */
.nav-logo img { height:108px; width:108px; object-fit:contain; border-radius:50%; vertical-align:middle; margin-right:14px; }
.how-steps--spaced { margin-top:38px; }
.reviews-heading { margin-bottom:56px; }
.google-logo { height:28px; vertical-align:middle; margin-right:10px; }
.google-review-cta { margin-top:48px; }
.inline-action { display:inline-block; }
.doctor-credential { font-style:italic; color:var(--leaf); }
.doctor-quote { color:var(--leaf); font-style:italic; font-family:'Cormorant Garamond',serif; font-size:1.1rem; }
.doctor-cta { margin-top:24px; display:inline-block; }
.faq-heading { margin-bottom:48px; }
.faq-tab-icon { vertical-align:middle; margin-right:5px; }
.patient-label-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.footer-address { margin-top:14px; color:#aaa; font-size:0.78rem; }
.footer-map { margin-top:12px; width:100%; max-width:280px; aspect-ratio:16 / 9; border-radius:10px; overflow:hidden; border:1px solid rgba(255,255,255,0.14); background:#333; }
.footer-map iframe { display:block; width:100%; height:100%; border:0; filter:saturate(0.85); }
.footer-appointment-note { margin-top:8px; color:#aaa; font-size:0.78rem; font-style:italic; }



/* BLOG */
.nav-logo-link { display:inline-flex; align-items:center; text-decoration:none; flex-shrink:0; }
.blog-page { background:var(--cream); }
.blog-index-hero { padding:150px 60px 76px; background:var(--cream); text-align:center; }
.blog-index-hero h1 { font-family:"Cormorant Garamond",serif; font-size:clamp(1.55rem,3vw,2.35rem); font-weight:300; line-height:1.18; max-width:720px; margin:0 auto 16px; }
.blog-index-hero p { color:var(--mid); max-width:640px; margin:0 auto; font-weight:300; }
.blog-list-section { padding:70px 60px 100px; background:var(--white); }
.blog-list-wrap { max-width:940px; margin:0 auto; }
.blog-card-large { border:1px solid var(--border); background:var(--cream); border-radius:18px; padding:34px; transition:transform 0.25s, box-shadow 0.25s; }
.blog-card-large:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(0,0,0,0.08); }
.blog-card-large + .blog-card-large { margin-top:24px; }
.blog-card-meta { font-size:0.72rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--coral); margin-bottom:10px; }
.blog-card-large h3 { font-family:"Cormorant Garamond",serif; font-size:clamp(1.35rem,2.4vw,1.9rem); font-weight:400; line-height:1.2; margin-bottom:12px; }
.blog-card-large h3 a { color:var(--charcoal); text-decoration:none; }
.blog-card-large h3 a:hover { color:var(--leaf); }
.blog-card-large p { color:var(--mid); max-width:720px; font-weight:300; margin-bottom:22px; }
.blog-read-link, .blog-back-link { color:var(--leaf); font-size:0.86rem; font-weight:500; text-decoration:none; }
.blog-read-link:hover, .blog-back-link:hover { text-decoration:underline; }
.blog-article { background:var(--white); }
.blog-article-header { padding:150px 60px 56px; background:var(--cream); max-width:none; }
.blog-article-header > * { max-width:860px; margin-left:auto; margin-right:auto; }
.blog-article-header h1 { font-family:"Cormorant Garamond",serif; font-size:clamp(1.85rem,3.4vw,2.75rem); font-weight:300; line-height:1.16; margin-top:12px; margin-bottom:20px; }
.blog-intro { color:var(--mid); font-size:1.12rem; font-weight:300; line-height:1.8; }
.blog-hero-image { max-width:980px; margin:38px auto 0; border-radius:18px; overflow:hidden; box-shadow:0 18px 48px rgba(0,0,0,0.1); }
.blog-hero-image img { display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover; object-position:center; }
.blog-article-body { max-width:820px; margin:0 auto; padding:62px 28px 100px; }
.blog-article-body h2 { font-family:"Cormorant Garamond",serif; font-size:clamp(1.35rem,2.4vw,1.85rem); font-weight:400; line-height:1.25; margin:38px 0 12px; }
.blog-article-body h3 { font-size:0.95rem; font-weight:600; color:var(--leaf); margin:22px 0 8px; }
.blog-article-body p { color:var(--mid); font-weight:300; margin-bottom:16px; }
.blog-article-body ul { margin:0 0 20px 22px; color:var(--mid); font-weight:300; }
.blog-article-body li { margin-bottom:8px; }
.blog-article-body blockquote { margin:28px 0; padding:22px 26px; border-left:4px solid var(--mango); background:var(--cream); color:var(--charcoal); }
.blog-article-body blockquote p { margin:0; color:var(--charcoal); font-family:"Cormorant Garamond",serif; font-size:1.22rem; line-height:1.7; }
.blog-related-faqs { margin-top:52px; padding:28px 30px; border:1px solid var(--mint); border-radius:18px; background:#f6fbf6; }
.blog-related-faqs h2 { margin:0 0 8px; font-family:"Cormorant Garamond",serif; font-size:1.45rem; font-weight:500; color:var(--charcoal); }
.blog-related-faqs p { margin:0 0 18px; color:var(--mid); font-size:0.9rem; }
.blog-related-faqs ol { margin:0 0 0 22px; color:var(--leaf); }
.blog-related-faqs li { margin-bottom:10px; padding-left:4px; }
.blog-related-faqs li:last-child { margin-bottom:0; }
.blog-related-faqs a { color:var(--leaf); font-weight:500; text-decoration:none; }
.blog-related-faqs a:hover { text-decoration:underline; }
.blog-cta-panel { margin-top:52px; padding:30px; border-radius:18px; background:var(--cream); border:1px solid var(--border); }
.blog-cta-panel a:not(.btn-primary) { color:var(--leaf); text-decoration:none; }
.blog-cta-panel .btn-primary { display:inline-block; margin-top:8px; }
@media(max-width:900px){
  .blog-index-hero, .blog-article-header { padding:112px 20px 52px; }
  .blog-list-section { padding:52px 20px 72px; }
  .blog-card-large { padding:26px 20px; }
  .blog-article-body { padding:44px 20px 72px; }
}


.search-page-hero { padding:150px 60px 70px; background:var(--cream); text-align:center; }
.search-page-hero h1 { font-family:"Cormorant Garamond",serif; font-size:clamp(1.9rem,3.6vw,2.9rem); font-weight:300; line-height:1.16; margin:0 auto 16px; }
.search-page-hero p { color:var(--mid); max-width:620px; margin:0 auto 28px; font-weight:300; }
.search-page-section { padding:64px 60px 100px; background:var(--white); }
.search-page-wrap { max-width:760px; margin:0 auto; text-align:center; }
.search-page-wrap .section-title { text-align:center; }
.search-page-wrap .gsc-control-cse { border:none; background:transparent; padding:0; font-family:"DM Sans",sans-serif; }
.search-page-wrap .gsc-search-box { max-width:620px; margin:0 auto 28px; }
.search-page-wrap form.gsc-search-box { margin-left:auto; margin-right:auto; }
.search-page-wrap table.gsc-search-box { margin-left:auto; margin-right:auto; }
.search-page-wrap input.gsc-input { font-family:"DM Sans",sans-serif; }
@media(max-width:700px){
  .search-page-hero { padding:118px 20px 54px; }
  .search-page-section { padding:48px 20px 72px; }
}

@media(max-width:420px){
  .nav-logo img { width:48px; height:48px; margin-right:6px; }
  .nav-logo-text { font-size:0.96rem; }
  .nav-menu-toggle { width:38px; height:38px; }
  .nav-cta { max-width:92px; padding:8px 9px; font-size:0.7rem; }
}

/* Final mobile header overrides: kept last so they win over shared logo styles. */
@media(max-width:900px){
  nav {
    padding:10px 14px;
    gap:10px;
    min-height:74px;
  }

  .nav-logo {
    flex:1 1 auto;
    min-width:0;
    gap:0;
  }

  .nav-logo-link {
    flex:0 0 auto;
  }

  .nav-logo img {
    width:54px;
    height:54px;
    margin-right:8px;
  }

  .nav-logo-text {
    min-width:0;
    font-size:1.05rem;
    line-height:1.05;
    letter-spacing:0;
  }

  .nav-logo-text small {
    display:none;
  }

  .nav-menu-toggle {
    display:flex;
    order:2;
  }

  .nav-cta {
    order:3;
    max-width:108px;
    padding:9px 12px;
    white-space:normal;
    text-align:center;
    font-size:0.76rem;
    line-height:1.1;
  }

  .nav-links {
    display:none;
    position:absolute;
    left:14px;
    right:14px;
    top:calc(100% + 8px);
    padding:10px;
    flex-direction:column;
    gap:0;
    background:white;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 18px 50px rgba(0,0,0,0.14);
  }

  nav.nav-open .nav-links {
    display:flex;
  }

  .nav-links li {
    width:100%;
  }

  .nav-links a {
    display:block;
    width:100%;
    padding:12px 14px;
    border-radius:10px;
    color:var(--charcoal);
    font-size:0.98rem;
  }

  .nav-links a:hover {
    background:var(--cream);
    text-decoration:none;
  }

  .hero {
    min-height:auto;
    padding:112px 20px 60px;
  }

  .hero h1,
  .blog-index-hero h1,
  .blog-article-header h1,
  .search-page-hero h1 {
    overflow-wrap:anywhere;
  }

  .doctor-img,
  .how-image {
    height:auto;
    aspect-ratio:4 / 5;
  }

  .blog-hero-image {
    margin-top:28px;
    border-radius:14px;
  }

  .blog-cta-panel,
  .blog-related-faqs,
  .form-subsection {
    padding:22px 18px;
  }
}


@media(max-width:520px){
  .blog-index-hero h1 { font-size:1.45rem; }
  .blog-card-large h3 { font-size:1.3rem; }
  .blog-article-header h1 { font-size:1.7rem; }
  .blog-article-body h2 { font-size:1.28rem; }
}

@media(max-width:520px){
  .hero-btns,
  .social-links {
    flex-direction:column;
    align-items:stretch;
  }

  .btn-primary,
  .btn-ghost,
  .social-link {
    text-align:center;
  }

  .blog-card-large {
    border-radius:14px;
  }

  .review-header {
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .review-stars {
    margin-left:0;
  }
}

@media(max-width:420px){
  nav {
    padding:8px 10px;
    gap:8px;
  }

  .nav-logo img {
    width:46px;
    height:46px;
    margin-right:6px;
  }

  .nav-logo-text {
    font-size:0.92rem;
    line-height:1;
  }

  .nav-menu-toggle {
    width:38px;
    height:38px;
  }

  .nav-cta {
    max-width:90px;
    padding:8px 8px;
    font-size:0.68rem;
  }

  .nav-links {
    left:10px;
    right:10px;
  }
}
