:root{
    --chrome-bg:#f8f7f5;
    --chrome-surface:#e4e4e4;
    --chrome-surface-2:#ffffff;
    --chrome-ink:#201a1b;
    --chrome-ink-soft:#5f5254;
    --chrome-line:rgba(32,26,27,0.12);
    --chrome-accent:#992c31;
    --chrome-accent-ink:#ffffff;
    --focus:#992c31;
  }
  /* Tema único, sempre claro — não segue o modo escuro do sistema do visitante. */

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

  body{
    margin:0;
    background:var(--chrome-bg);
    color:var(--chrome-ink);
    font-family:'Jost','Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{ background:var(--chrome-accent); color:var(--chrome-accent-ink); }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  a:focus-visible, button:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; }

  h1,h2,h3{ font-family:'Playfair Display',Georgia,serif; font-weight:600; line-height:1.1; text-wrap:balance; margin:0; }
  .eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--chrome-accent); }
  .wrap{ max-width:1160px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }

  .btn{
    display:inline-flex; align-items:center; gap:8px; font-family:'Jost',sans-serif; font-weight:500;
    font-size:0.94rem; padding:14px 26px; border-radius:3px; text-decoration:none; border:1px solid transparent;
    cursor:pointer; transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-primary{ background:var(--chrome-accent); color:#fff; }
  .btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 24px -10px rgba(153,44,49,0.55); }
  .btn-ghost{ background:transparent; color:inherit; border-color:currentColor; }
  .btn-ghost:hover{ transform:translateY(-1px); }

  /* ---- Nav ---- */
  .nav{ position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--chrome-bg) 90%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--chrome-line); }
  .nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:12px clamp(20px,5vw,64px); max-width:1160px; margin:0 auto; gap:20px; }
  .nav-brand{ display:flex; align-items:center; gap:10px; flex:none; }
  .nav-brand img{ height:26px; width:auto; }
  .nav-brand span{ font-family:'Playfair Display',serif; font-weight:600; font-size:1rem; letter-spacing:0.02em; }
  .nav-links{ display:flex; gap:22px; list-style:none; margin:0; padding:0; }
  .nav-links a{ font-size:0.85rem; text-decoration:none; color:var(--chrome-ink-soft); border-bottom:1px solid transparent; padding-bottom:2px; text-transform:uppercase; letter-spacing:0.04em; }
  .nav-links a:hover{ color:var(--chrome-ink); border-color:var(--chrome-accent); }
  @media (max-width:880px){ .nav-links{ display:none; } }
  .nav .btn-primary{ padding:10px 18px; font-size:0.85rem; flex:none; }

  /* ---- Hero (seção-âncora vermelha) ---- */
  .hero{ padding:clamp(48px,8vw,88px) 0 clamp(56px,8vw,96px); background:var(--chrome-accent); }
  .hero-inner{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
  @media (max-width:900px){ .hero-inner{ grid-template-columns:1fr; } }
  .hero .eyebrow{ color:rgba(255,255,255,0.8); }
  .hero h1{ font-size:clamp(2rem,4.6vw,3.3rem); margin-top:14px; max-width:16ch; color:#fff; }
  .hero .lede{ margin-top:20px; font-size:1.08rem; line-height:1.7; color:rgba(255,255,255,0.88); max-width:46ch; }
  .hero-ctas{ margin-top:32px; display:flex; gap:14px; flex-wrap:wrap; }
  .hero .btn-primary{ background:#fff; color:var(--chrome-accent); }
  .hero .btn-primary:hover{ box-shadow:0 10px 24px -10px rgba(0,0,0,0.4); }
  .hero .btn-ghost{ border-color:rgba(255,255,255,0.65); color:#fff; }
  .hero-trust{ margin-top:34px; display:flex; gap:26px; flex-wrap:wrap; font-family:'IBM Plex Mono',monospace; font-size:0.74rem; color:rgba(255,255,255,0.78); }
  .hero-photo{ position:relative; border-radius:6px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(0,0,0,0.4); }
  .hero-photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; }
  .hero-photo .tag{
    position:absolute; left:18px; bottom:18px; background:rgba(0,0,0,0.55); color:#fff;
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; padding:8px 12px; border-radius:3px; backdrop-filter:blur(4px);
  }

  /* ---- Section shell ---- */
  section.block{ padding:clamp(52px,8vw,92px) 0; border-top:1px solid var(--chrome-line); background:var(--chrome-bg); }
  section.block.tone-surface{ background:var(--chrome-surface); }
  .block-head{ max-width:60ch; margin-bottom:40px; }
  .block-head h2{ font-size:clamp(1.5rem,2.8vw,2.2rem); margin-top:10px; }
  .block-head p{ margin-top:14px; font-size:1rem; line-height:1.7; color:var(--chrome-ink-soft); }
  .reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

  /* ---- Dores ---- */
  .pain-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  @media (max-width:880px){ .pain-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .pain-grid{ grid-template-columns:1fr; } }
  .pain-card{ background:var(--chrome-surface-2); border:1px solid var(--chrome-line); border-radius:5px; padding:22px 20px; }
  .pain-card .num{ font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:var(--chrome-accent); }
  .pain-card p{ margin:10px 0 0; font-size:0.98rem; line-height:1.5; }

  /* ---- Especialidades ---- */
  .spec-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media (max-width:900px){ .spec-grid{ grid-template-columns:1fr; } }
  .spec-card{ display:flex; flex-direction:column; }
  .spec-card .ph{ border-radius:5px; overflow:hidden; aspect-ratio:4/3; }
  .spec-card .ph img{ width:100%; height:100%; object-fit:cover; }
  .spec-card h3{ font-size:1.25rem; margin-top:18px; }
  .spec-card p{ margin-top:8px; font-size:0.92rem; line-height:1.6; color:var(--chrome-ink-soft); }
  .spec-card ul{ margin:12px 0 0; padding-left:18px; font-size:0.86rem; color:var(--chrome-ink-soft); line-height:1.8; }
  .spec-note{ margin-top:28px; font-size:0.82rem; color:var(--chrome-ink-soft); border-left:2px solid var(--chrome-accent); padding-left:12px; }

  /* ---- Sobre ---- */
  .about-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:52px; align-items:center; }
  @media (max-width:900px){ .about-grid{ grid-template-columns:1fr; } }
  .about-grid .ph{ border-radius:6px; overflow:hidden; }
  .about-grid .ph img{ width:100%; height:auto; }
  .about-copy p{ font-size:1rem; line-height:1.75; color:var(--chrome-ink-soft); margin:0 0 16px; }
  .about-list{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px; }
  .about-list li{ display:grid; grid-template-columns:18px 1fr; gap:10px; font-size:0.92rem; color:var(--chrome-ink-soft); }
  .about-list li::before{ content:"+"; color:var(--chrome-accent); font-weight:600; }

  /* ---- Corpo clínico ---- */
  .doctor-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media (max-width:900px){ .doctor-grid{ grid-template-columns:1fr; max-width:420px; margin:0 auto; } }
  .doctor-card .ph{ border-radius:5px; overflow:hidden; aspect-ratio:4/5; }
  .doctor-card .ph img{ width:100%; height:100%; object-fit:cover; }
  .doctor-card h3{ font-size:1.15rem; margin-top:16px; }
  .doctor-card .role{ font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--chrome-accent); margin-top:4px; display:block; }
  .doctor-card p{ margin-top:10px; font-size:0.88rem; line-height:1.6; color:var(--chrome-ink-soft); }

  /* ---- CTA agende ---- */
  .cta-band{ background:var(--chrome-accent); color:#faf3f3; border-radius:8px; padding:clamp(40px,7vw,64px); display:grid; grid-template-columns:1.2fr 0.8fr; gap:32px; align-items:center; }
  @media (max-width:800px){ .cta-band{ grid-template-columns:1fr; text-align:left; } }
  .cta-band .eyebrow{ color:rgba(250,243,243,0.72); }
  .cta-band h2{ color:#faf3f3; font-size:clamp(1.6rem,3vw,2.3rem); margin-top:10px; }
  .cta-band p{ margin-top:14px; color:rgba(250,243,243,0.86); font-size:1rem; line-height:1.65; max-width:44ch; }
  .cta-band-actions{ display:flex; flex-direction:column; gap:12px; }
  .cta-band .btn-primary{ background:#fff; color:var(--chrome-accent); }
  .cta-band .btn-ghost{ border-color:rgba(250,243,243,0.6); color:#faf3f3; }
  .cta-note{ font-size:0.76rem; color:rgba(250,243,243,0.65); }

  /* ---- Contato ---- */
  .contact-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:40px; align-items:stretch; }
  @media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
  .contact-list{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:20px; }
  .contact-list li > div{ display:flex; flex-direction:column; gap:4px; }
  .contact-list .k{ font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--chrome-ink-soft); display:block; }
  .contact-list .v{ font-size:0.98rem; display:block; }
  .contact-list .pending{ color:var(--chrome-accent); font-style:italic; }
  .map-frame{ border-radius:6px; overflow:hidden; border:1px solid var(--chrome-line); min-height:340px; }
  .map-frame iframe{ width:100%; height:100%; min-height:340px; border:0; display:block; }

  /* ---- Footer ---- */
  footer{ padding:40px 0 90px; background:var(--chrome-accent); }
  .footer-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
  .footer-brand{ display:flex; align-items:center; gap:10px; }
  .footer-brand img{ height:20px; }
  footer .fine{ font-size:0.76rem; color:rgba(255,255,255,0.85); }
  footer .footer-brand span{ color:#fff; }
  .footer-credit{ text-align:center; font-size:0.72rem; color:rgba(255,255,255,0.7); margin-top:18px; }
  .footer-credit a{ color:#fff; text-decoration:underline; }

  /* ---- WhatsApp flutuante ---- */
  .wa-float{
    position:fixed; right:20px; bottom:20px; z-index:60; width:56px; height:56px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px -8px rgba(0,0,0,0.4);
    text-decoration:none;
  }
  .wa-float svg{ width:28px; height:28px; }
