:root{
    --marfim:#F7F2EA;
    --vinho:#643F46;
    --vinho-escuro:#4C2F35;
    --terracota:#A85F4B;
    --grafite:#342F2D;
    --areia:#E9DED1;
    --rosa:#D6AAA0;
    --branco:#FFFFFF;
    --texto-suave:#6B5F5A;
    --radius:2px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    font-family:'Inter', sans-serif;
    color:var(--grafite);
    background:var(--marfim);
    line-height:1.65;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:500;
    color:var(--vinho);
    line-height:1.15;
    letter-spacing:-0.01em;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .container{max-width:1120px; margin:0 auto; padding:0 24px;}
  .eyebrow{
    font-family:'Inter', sans-serif;
    text-transform:uppercase;
    font-size:0.72rem;
    letter-spacing:0.16em;
    color:var(--terracota);
    font-weight:600;
    margin-bottom:14px;
    display:block;
  }
  ::selection{background:var(--rosa); color:var(--vinho-escuro);}

  /* ---------- ACESSIBILIDADE: FOCO VISÍVEL ---------- */
  a:focus-visible,
  button:focus-visible,
  .faq-question:focus-visible{
    outline:2px solid var(--terracota);
    outline-offset:3px;
    border-radius:2px;
  }

  /* ---------- ELEMENTO DE ASSINATURA: ONDA SONOGRÁFICA ---------- */
  /* Divisor discreto usado nas transições narrativas principais do site,
     como referência sutil à leitura de imagem por ultrassom. */
  .signature-wave{
    width:100%;
    height:56px;
    color:var(--terracota);
    opacity:0.55;
    display:block;
  }
  .signature-wave.on-dark{color:var(--rosa); opacity:0.6;}
  .signature-wave svg{width:100%; height:100%; display:block;}

  /* ---------- HEADER ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(247,242,234,0.94);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--areia);
  }
  .nav-wrap{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 24px; max-width:1120px; margin:0 auto;
  }
  .logo{display:flex; align-items:center; flex-shrink:0;}
  .logo img{display:block; width:clamp(220px, 25vw, 330px); height:auto; max-width:100%;}
  @media (max-width:768px){
    .logo img{width:220px;}
  }
  nav ul{display:flex; gap:30px; list-style:none;}
  nav a{font-size:0.86rem; color:var(--grafite); font-weight:500; transition:color 0.2s;}
  nav a:hover, nav a:focus-visible{color:var(--terracota);}
  .nav-cta{
    background:var(--vinho); color:var(--marfim) !important;
    padding:10px 22px; border-radius:var(--radius);
    font-size:0.83rem; font-weight:600; white-space:nowrap;
  }
  .nav-cta:hover{background:var(--vinho-escuro);}
  .nav-cta .cta-short{display:none;}
  @media (max-width:480px){
    .nav-cta .cta-full{display:none;}
    .nav-cta .cta-short{display:inline;}
  }
  .menu-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px;}
  .menu-toggle span{display:block; width:22px; height:2px; background:var(--vinho); margin:5px 0;}
  @media (max-width:900px){
    nav ul{
      position:fixed; top:64px; right:0; flex-direction:column;
      background:var(--branco); width:220px; padding:24px; gap:20px;
      border-left:1px solid var(--areia); border-bottom:1px solid var(--areia);
      transform:translateX(100%); transition:transform 0.3s ease;
    }
    nav ul.open{transform:translateX(0);}
    .menu-toggle{display:block;}
    .nav-cta{display:none;}
  }

  /* ---------- REVEAL ---------- */
  .reveal{opacity:1; transform:none; transition:opacity 0.6s ease, transform 0.6s ease;}
  .reveal.pending{opacity:0; transform:translateY(16px);}


  /* ---------- HERO ---------- */
  .hero{
    padding:132px 0 0;
    background:var(--marfim);
    overflow:hidden;
  }
  .hero-grid{
    display:grid; grid-template-columns:0.92fr 1.08fr; align-items:stretch; min-height:640px;
  }
  .hero-text{
    padding:64px 48px 64px 24px;
    display:flex; flex-direction:column; justify-content:center;
    max-width:560px; margin-left:auto;
  }
  .hero h1{font-size:clamp(2rem, 3.4vw, 2.7rem); margin-bottom:16px;}
  .hero-name{
    font-family:'Fraunces', serif; font-style:italic; font-size:1.3rem;
    color:var(--vinho); margin-bottom:4px;
  }
  .hero p.lead{font-size:1rem; color:var(--texto-suave); margin-bottom:24px;}
  .hero-id{font-size:0.88rem; color:var(--texto-suave); margin-bottom:18px; letter-spacing:0.02em;}
  .hero-credenciais{
    list-style:none; display:flex; flex-direction:column; gap:9px;
    margin-bottom:32px; padding-top:18px; border-top:1px solid var(--areia);
  }
  .hero-credenciais li{
    font-size:0.9rem; color:var(--grafite); font-weight:500;
    display:flex; gap:10px; align-items:baseline;
  }
  .hero-credenciais li::before{content:"—"; color:var(--terracota); font-weight:600; flex-shrink:0;}
  .btn-row{display:flex; gap:16px; flex-wrap:wrap;}
  .btn{display:inline-block; padding:15px 30px; font-size:0.9rem; font-weight:600; border-radius:var(--radius); transition:all 0.2s; border:1px solid transparent;}
  .btn-primary{background:var(--vinho); color:var(--marfim);}
  .btn-primary:hover{background:var(--vinho-escuro);}
  .btn-secondary{border-color:var(--vinho); color:var(--vinho);}
  .btn-secondary:hover{background:var(--vinho); color:var(--marfim);}
  .btn-terracota{background:var(--terracota); color:var(--marfim);}
  .btn-terracota:hover{background:#8f4c3a;}
  .hero-portrait{
    position:relative;
    background:linear-gradient(160deg,#EFE8DC,#D9CBBE);
    overflow:hidden;
  }
  .hero-portrait img{
    width:100%; height:100%; object-fit:cover; object-position:50% 20%;
    display:block;
  }
  .hero-portrait::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(52,47,45,0.16) 0%, transparent 18%);
    pointer-events:none;
  }
  .hero-portrait .cred-strip{
    position:absolute; left:0; right:0; bottom:0;
    background:rgba(52,47,45,0.55);
    backdrop-filter:blur(3px);
    color:var(--marfim);
    padding:14px 28px;
    font-size:0.78rem;
    letter-spacing:0.04em;
    display:flex; gap:18px; flex-wrap:wrap;
  }
  @media (max-width:900px){
    .hero{padding-top:104px;}
    .hero-grid{grid-template-columns:1fr; min-height:auto;}
    .hero-portrait{aspect-ratio:4/5;}
    .hero-text{padding:40px 24px; max-width:none; margin-left:0;}
  }

  /* ---------- SECTION GENERIC ---------- */
  section{padding:88px 0;}
  .section-head{max-width:660px; margin-bottom:52px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head h2{font-size:clamp(1.65rem, 3vw, 2.2rem);}
  .section-head p{color:var(--texto-suave); font-size:1rem; margin-top:14px;}
  .bg-branco{background:var(--branco);}
  .bg-areia{background:var(--areia);}
  .bg-terracota{background:var(--terracota); color:var(--marfim);}
  .bg-terracota h2, .bg-terracota h3{color:var(--marfim);}
  .bg-terracota .eyebrow{color:var(--rosa);}
  .bg-terracota p{color:#F3DCD5;}

  /* ---------- BLOCO CREDENCIAIS V2 (hierarquia assimétrica editorial) ---------- */
  .credenciais-v2{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    grid-template-rows:auto auto;
    border-top:1px solid var(--areia);
    border-bottom:1px solid var(--areia);
  }
  .credencial-dominante{
    grid-row:1 / 3;
    padding:48px 44px;
    display:flex; flex-direction:column; justify-content:center;
    border-right:1px solid var(--areia);
    background:var(--branco);
  }
  .rotulo-dominante{
    font-family:'Fraunces', serif; font-size:2rem; color:var(--vinho);
    line-height:1.15; margin-bottom:16px; display:block;
  }
  .desc-dominante{font-size:1rem; color:var(--texto-suave); max-width:440px;}
  .selos-dominante{display:flex; gap:24px; align-items:center; margin-top:22px;}
  .selos-dominante img{height:auto; max-width:130px; opacity:0.92;}
  .credenciais-secundarias{display:grid; grid-template-columns:1fr 1fr;}
  .credencial-secundaria{padding:32px 28px; border-bottom:1px solid var(--areia);}
  .credencial-secundaria:first-child{border-right:1px solid var(--areia);}
  .rotulo-secundario{
    font-family:'Fraunces', serif; font-style:italic; font-size:1.15rem; color:var(--vinho);
    display:block; margin-bottom:8px;
  }
  .desc-secundaria{font-size:0.85rem; color:var(--texto-suave); line-height:1.5;}
  .selo-institucional{margin-top:14px; height:auto; max-width:100px; opacity:0.92;}
  .credenciais-terciarias{display:flex;}
  .credencial-terciaria{
    flex:1; padding:18px 28px; font-size:0.82rem; color:var(--texto-suave);
  }
  .credencial-terciaria:first-child{border-right:1px solid var(--areia);}
  .credencial-terciaria span{color:var(--terracota); font-weight:600;}
  @media (max-width:900px){
    .credenciais-v2{grid-template-columns:1fr;}
    .credencial-dominante{grid-row:auto; border-right:none; border-bottom:1px solid var(--areia); padding:36px 26px;}
    .credenciais-secundarias{grid-template-columns:1fr;}
    .credencial-secundaria:first-child{border-right:none;}
    .credenciais-terciarias{flex-direction:column;}
    .credencial-terciaria:first-child{border-right:none; border-bottom:1px solid var(--areia);}
  }

  /* ---------- PONTE CURTA (autoridade + diferencial) ---------- */
  /* ---------- EXAMES REALIZADOS ---------- */
  .exames-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1px; background:var(--areia); border:1px solid var(--areia); margin-top:8px;}
  .exame-card{background:var(--branco); padding:28px 24px;}
  .exame-card h3{font-family:'Fraunces', serif; font-size:1.05rem; color:var(--vinho); margin-bottom:8px;}
  .exame-card p{color:var(--texto-suave); font-size:0.9rem;}
  .exames-tambem{text-align:center; margin-top:28px; color:var(--texto-suave); font-size:0.92rem;}
  .exames-tambem strong{color:var(--vinho);}

  /* ---------- ATENDIMENTO: intro + momentos ---------- */
  .atendimento-intro{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
  .atendimento-texto p{color:var(--texto-suave); font-size:1.02rem; margin-top:16px;}
  .atendimento-foto{
    aspect-ratio:4/3; background:linear-gradient(155deg,#EFE8DC,#D9CBBE);
    border:1px solid var(--areia); overflow:hidden;
  }
  .atendimento-foto img{width:100%; height:100%; object-fit:cover; display:block;}
  .atendimento-momentos{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:40px;}
  .momento-mini{text-align:center;}
  .momento-mini img{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center center;
    display:block;
    border:1px solid var(--areia);
  }
  .momento-mini span{display:block; margin-top:10px; font-size:0.85rem; color:var(--texto-suave);}
  @media (max-width:900px){
    .atendimento-intro{grid-template-columns:1fr; gap:32px;}
    .atendimento-momentos{grid-template-columns:1fr; gap:24px;}
  }


  @media (max-width:860px){
    .formacao-grid{grid-template-columns:1fr; gap:32px;}
    .formacao-foto{position:static; max-width:320px; margin:0 auto;}
  }

  /* ---------- ÁREA DE ATUAÇÃO (Obstétrica / Medicina Fetal) — texto único ---------- */
  /* ---------- EXPERIENCIA DE ATENDIMENTO (narrativa, texto único) ---------- */
  .principios-lista{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    border-top:1px solid var(--rosa); margin-top:48px;
  }
  .principio{padding:26px 24px 0; border-left:1px solid var(--rosa);}
  .principio:first-child{border-left:none;}
  .principio-nome{
    font-family:'Fraunces', serif; font-style:italic; font-size:1.15rem; color:var(--vinho);
    display:block; margin-bottom:8px;
  }
  .principio p{font-size:0.86rem; color:var(--texto-suave);}
  @media (max-width:700px){
    .principios-lista{grid-template-columns:1fr 1fr; row-gap:24px;}
    .principio:nth-child(3){border-left:none;}
    .principio:nth-child(1),.principio:nth-child(2){border-bottom:1px solid var(--rosa); padding-bottom:20px;}
  }

  /* ---------- EXPERIÊNCIA DA GESTAÇÃO: COMPREENDER / PARTICIPAR / GUARDAR ---------- */
  .momento{
    display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
    padding:40px 0;
    border-top:1px solid var(--areia);
  }
  .momento.reverse .momento-visual{order:2;}
  .momento-numero{
    font-family:'Inter', sans-serif; text-transform:uppercase; font-size:0.72rem;
    letter-spacing:0.16em; color:var(--terracota); font-weight:600; margin-bottom:12px; display:block;
  }
  .momento-texto h3{font-size:1.35rem; margin-bottom:14px;}
  .momento-texto p{color:var(--texto-suave); font-size:0.98rem;}
  .momento-visual{
    aspect-ratio:4/3; background:linear-gradient(155deg,#EFE8DC,#D9CBBE);
    border:1px solid var(--areia); display:flex; align-items:center; justify-content:center;
    color:var(--texto-suave); font-size:0.8rem; text-align:center;
    overflow:hidden;
  }
  .momento-visual img{width:100%; height:100%; object-fit:cover; display:block;}
  @media (max-width:860px){
    .momento, .momento.reverse{grid-template-columns:1fr; gap:24px;}
    .momento.reverse .momento-visual{order:0;}
  }

  /* ---------- SOBRE (foto + texto) ---------- */
  .sobre-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:48px; align-items:start;}
  .sobre-foto img{
    width:100%; height:auto; display:block; border:1px solid var(--areia);
    aspect-ratio:4/5; object-fit:cover;
  }
  .sobre-foto-legenda{
    display:block; margin-top:10px; font-size:0.78rem; color:var(--texto-suave);
    text-align:center; font-style:italic;
  }
  .sobre-texto p{margin-bottom:16px; color:var(--texto-suave); font-size:0.98rem;}
  .sobre-texto strong{color:var(--vinho); font-weight:600;}
  @media (max-width:860px){
    .sobre-grid{grid-template-columns:1fr; gap:28px;}
    .sobre-foto{max-width:320px; margin:0 auto;}
  }

  /* ---------- CLINICA / ESTRUTURA ---------- */
  .clinica-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--areia); border:1px solid var(--areia);}
  .clinica-photo{
    background:linear-gradient(150deg,#EFE8DC,#D9CBBE); min-height:320px;
    display:flex; align-items:center; justify-content:center;
    color:var(--texto-suave); font-size:0.8rem; text-align:center;
    overflow:hidden;
  }
  .clinica-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .clinica-text{background:var(--branco); padding:44px; display:flex; flex-direction:column; justify-content:center;}
  .clinica-text p{color:var(--texto-suave); margin-bottom:14px;}
  .clinica-list{list-style:none; margin-top:8px;}
  .clinica-list li{padding:9px 0; border-bottom:1px solid var(--areia); font-size:0.92rem; display:flex; gap:10px;}
  .clinica-list li::before{content:"—"; color:var(--terracota); font-weight:600;}
  @media (max-width:860px){
    .clinica-grid{grid-template-columns:1fr;}
    .clinica-text{padding:34px 26px;}
  }

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--areia);}
  .faq-question{
    width:100%; text-align:left; background:none; border:none; padding:22px 4px;
    font-family:'Fraunces', serif; font-size:1.02rem; color:var(--vinho); cursor:pointer;
    display:flex; justify-content:space-between; align-items:center; gap:16px;
  }
  .faq-question .plus{font-family:'Inter', sans-serif; font-size:1.3rem; color:var(--terracota); flex-shrink:0; transition:transform 0.25s;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-answer{max-height:0; overflow:hidden; transition:max-height 0.3s ease;}
  .faq-answer-inner{padding:0 4px 24px; color:var(--texto-suave); font-size:0.93rem; max-width:640px;}

  /* ---------- AGENDAMENTO ---------- */
  .agendamento{
    background:var(--branco); border:1px solid var(--areia); padding:60px;
    display:grid; grid-template-columns:1fr 1fr; gap:52px;
  }
  .agenda-info h3{font-size:1.02rem; margin-bottom:6px; color:var(--vinho);}
  .agenda-info .valor{color:var(--texto-suave); font-size:0.93rem; margin-bottom:24px;}
  .map-frame{
    width:100%; min-height:280px; height:100%; border:1px solid var(--areia);
    display:block;
  }
  @media (max-width:860px){.agendamento{grid-template-columns:1fr; padding:40px 26px; gap:34px;}}

  /* ---------- FOOTER ---------- */
  /* ---------- ASSINATURA DE MARCA (SVG oficial) ---------- */
  .assinatura-marca{padding:64px 0; text-align:center;}
  .assinatura-marca .container{display:flex; justify-content:center;}
  .assinatura-logo{display:block; width:clamp(260px, 32vw, 420px); height:auto; max-width:100%;}

  footer{background:var(--grafite); color:#C9BEB8; padding:52px 0 30px; font-size:0.85rem;}
  .footer-grid{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,0.1); margin-bottom:22px;}
  footer h4{color:var(--marfim); font-size:0.94rem; margin-bottom:14px; font-family:'Fraunces', serif;}
  footer a{color:#C9BEB8; transition:color 0.2s;}
  footer a:hover{color:var(--rosa);}
  .footer-links{display:flex; flex-direction:column; gap:8px;}
  .footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.76rem; color:#948A85;}
