:root {
  --navy:#101c33; --deep:#0a1427; --gold:#e5c18a; --ink:#142139;
  --cream:#faf7f1; --muted:#4e596b; --line:#e2d9ca;
  --heading:Georgia,"Times New Roman",serif;
}
* {box-sizing:border-box}
[hidden] {display:none!important}
html {scroll-behavior:smooth}
body {margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 system-ui,sans-serif}
img {display:block;width:100%;height:auto}
a {color:inherit;text-underline-offset:.25em}
a:focus-visible,summary:focus-visible {outline:3px solid #ab7545;outline-offset:4px}
.skip {position:absolute;left:1rem;top:1rem;z-index:2;background:white;color:var(--ink);padding:.5rem;transform:translateY(-200%)}
.skip:focus {transform:none}
.wrap {width:min(1160px,calc(100% - 3rem));margin-inline:auto}
.top,.hero,.contact,.footer {background:var(--navy);color:var(--cream)}
.top {border-bottom:1px solid #ffffff23}
.top-inner,.footer-inner {display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding-block:1rem}
.brand {display:flex;align-items:center;gap:.75rem;text-decoration:none;font:1.22rem var(--heading)}
.brand small {display:block;margin-top:.3rem;font: .7rem system-ui,sans-serif;color:#e5d7c0}
.monogram {width:44px;height:44px;display:grid;place-items:center;border:1px solid #e5c18a80;border-radius:50%;color:var(--gold);flex:none}
nav {display:flex;gap:1.5rem;font-size:.9rem}
nav a {text-decoration:none}
nav a:hover,.text-link:hover {text-decoration:underline}
.button {display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:46px;padding:.65rem 1.1rem;border-radius:.3rem;font-weight:650;text-decoration:none;font-size:.9rem}
.outline {border:1px solid #e5c18a85;color:var(--gold)}
.outline:hover {background:#ffffff12}
.gold {background:var(--gold);color:var(--deep)}
.gold:hover {background:#f2d6ac}
.hero {background:radial-gradient(ellipse at 75% 10%,#273f64 0%,var(--navy) 55%,var(--deep) 100%)}
.hero-grid {display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,7vw,6rem);padding-block:clamp(2.5rem,6vw,5rem)}
.eyebrow {font-size:.73rem;letter-spacing:.17em;text-transform:uppercase;font-weight:750;color:#805528;margin:0 0 .9rem}
.hero .eyebrow,.contact .eyebrow {color:var(--gold)}
.hero .eyebrow span {margin-inline:.3rem}
h1,h2,h3 {font-family:var(--heading);font-weight:400;line-height:1.04;margin:0;text-wrap:balance}
h1 {font-size:clamp(3.1rem,7.7vw,6.8rem);letter-spacing:-.055em}
h1 em {font-weight:400;color:var(--gold)}
h2 {font-size:clamp(2.2rem,4.6vw,4rem);letter-spacing:-.04em}
h3 {font-size:clamp(1.65rem,2.7vw,2.2rem);letter-spacing:-.025em}
.intro {max-width:44ch;color:#e2e8f3;font-size:1.06rem;margin:1.45rem 0 1.7rem}
.actions {display:flex;align-items:center;flex-wrap:wrap;gap:.85rem 1.4rem}
.text-link {font-weight:650;font-size:.92rem}
.portrait {position:relative;margin:0;border:1px solid #e5c18a90;border-radius:48% 48% .65rem .65rem / 30% 30% .65rem .65rem;padding:.45rem}
.portrait img {aspect-ratio:4/5;object-fit:cover;object-position:center 25%;border-radius:inherit}
.portrait figcaption {position:absolute;bottom:1.15rem;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--deep);color:var(--cream);padding:.5rem .95rem;border:1px solid #e5c18a80;border-radius:2rem;font-size:.8rem}
.portrait figcaption span:first-child {color:var(--gold);margin-right:.3rem}
.credentials {background:#f0e8da;border-bottom:1px solid var(--line)}
.credential-grid {display:grid;grid-template-columns:1fr 1.15fr 1.35fr;padding-block:1.35rem;gap:1.25rem}
.credential-grid div+div {border-left:1px solid #cfbfaa;padding-left:1.25rem}
.credential-grid span {display:block;font-size:.64rem;letter-spacing:.13em;color:#735437;font-weight:750}
.credential-grid strong {display:block;font-size:.92rem}
.section {padding-block:clamp(3rem,7vw,6rem)}
.section-lead {max-width:65ch;color:var(--muted);margin:1rem 0 1.65rem}
.cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.card {background:#fffdf9;border:1px solid var(--line);border-radius:.65rem;padding:clamp(1.15rem,2.5vw,1.85rem)}
.card-index {display:inline-grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#f2e8d8;color:#785125;font:.9rem var(--heading);margin-bottom:.8rem}
.card ul {list-style:none;margin:.85rem 0 0;padding:0}
.card li {border-top:1px solid var(--line);padding:.75rem 0}
.card li span {display:block;color:var(--muted);font-size:.9rem}
.about {background:#eee8de}
.split {display:grid;grid-template-columns:.8fr 1fr;gap:clamp(1.5rem,7vw,6rem);align-items:center}
.about-photo {aspect-ratio:1/1.05;object-fit:cover;object-position:center 22%;border-radius:.65rem}
.split p:not(.eyebrow) {color:var(--muted);max-width:62ch}
.faq,.contact-grid {display:grid;grid-template-columns:.8fr 1fr;gap:clamp(1.4rem,5vw,4rem)}
details {border-top:1px solid var(--line)}
details:last-child {border-bottom:1px solid var(--line)}
summary {cursor:pointer;padding:1rem 0;font-weight:650}
details p {margin:0 0 1rem;color:var(--muted)}
.contact {background:linear-gradient(120deg,var(--deep),#203656)}
.contact-grid {align-items:center}
.contact-box {padding:1.25rem;border:1px solid #e5c18a60;border-radius:.65rem}
address {font-style:normal}
address>* {display:block}
address:has(>:not([hidden])) {margin-bottom:1rem}
.contact-links {display:flex;gap:1rem;flex-wrap:wrap}
.contact-links:has(>:not([hidden])) {margin-top:.8rem}
#contato-pendente {margin:0}
.footer {background:var(--deep);font-size:.86rem}
.footer-inner {padding-block:1.3rem}
@media (max-width:850px) {
  .top-cta {display:none}
  .cards {grid-template-columns:1fr}
}
@media (max-width:640px) {
  .wrap {width:calc(100% - 2rem)}
  .top-inner {flex-direction:column;align-items:flex-start;gap:.9rem}
  nav {flex-wrap:wrap;gap:.4rem 1.2rem}
  .hero-grid,.split,.faq,.contact-grid {grid-template-columns:1fr}
  .portrait {width:min(100%,390px);justify-self:center}
  .credential-grid {grid-template-columns:1fr;gap:.55rem}
  .credential-grid div+div {border-left:0;padding:0}
  .footer-inner {align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}

.contact-links a {display:inline-flex;align-items:center;gap:.45rem}
.contact-links svg {width:1.1em;height:1.1em;flex:none}
.media-note {font-size:.88rem}
.resultados {background:#f0e8da}
.whatsapp-flutuante {
  position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));
  z-index:5;width:100px;height:100px;display:grid;place-items:center;border-radius:50%;
  background:#136c44;color:#fff;border:2px solid #fff;box-shadow:0 5px 18px #101c3350;
}
.whatsapp-flutuante:hover {background:#0d5133}
.whatsapp-flutuante svg {width:80px;height:80px}
.footer-inner {padding-right:72px}
.entrevista {display:grid;grid-template-columns:.7fr 1fr;align-items:center;gap:clamp(1.25rem,5vw,4rem)}
.entrevista iframe {width:100%;aspect-ratio:16/9;border:0;border-radius:.65rem;background:var(--deep)}
.gallery-control,.gallery-arrow {border:1px solid #a99982;background:#fffdf9;color:var(--ink);cursor:pointer;font:inherit}
.gallery-control {min-height:44px;padding:.45rem .8rem;border-radius:.3rem}
.gallery-arrow:focus-visible,.gallery-control:focus-visible,.gallery-track:focus-visible {outline:3px solid #805528;outline-offset:2px}
.gallery-row {margin-top:1.8rem}
.gallery-row h3 {margin-bottom:.65rem}
.gallery-frame {position:relative}
.gallery-track {
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2rem)/3);gap:1rem;
  overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;
  scrollbar-width:thin;padding-bottom:.35rem;
}
.gallery-card {margin:0;min-width:0;scroll-snap-align:start;background:#fffdf9;border:1px solid var(--line);border-radius:.65rem;overflow:hidden}
.gallery-card img {width:100%;height:clamp(230px,34vw,430px);object-fit:contain;background:#e5ded2}
.gallery-card figcaption {display:grid;gap:.3rem;padding:.7rem .85rem;font-size:.79rem;line-height:1.45}
.gallery-arrow {
  position:absolute;top:calc(clamp(230px,34vw,430px)/2);transform:translateY(-50%);
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:1.25rem;
  box-shadow:0 2px 8px #101c3340;
}
.gallery-arrow:first-of-type {left:.25rem}
.gallery-arrow:last-of-type {right:.25rem}
@media(max-width:850px) {.gallery-track {grid-auto-columns:calc((100% - 1rem)/2)}}
@media(max-width:640px) {
  .entrevista {grid-template-columns:1fr}
  .gallery-track {grid-auto-columns:82%;gap:.65rem}
  .gallery-card img {height:clamp(240px,76vw,390px)}
  .gallery-arrow {top:calc(clamp(240px,76vw,390px)/2)}
}

.whatsapp-flutuante {
  animation: whatsapp-toque 2s ease-in-out infinite;
}

@keyframes whatsapp-toque {
  0%, 87%, 100% { transform: translateY(0) rotate(0deg); }
  90% { transform: translateY(-18px) rotate(-15deg); }
  93% { transform: translateY(-10px) rotate(15deg); }
  96% { transform: translateY(-3px) rotate(-6deg); }
  98% { transform: translateY(0) rotate(0deg); }
}

.whatsapp-flutuante:hover,
.whatsapp-flutuante:focus-visible {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-flutuante {
    animation: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .entrada {
    --entrada-x: 0px;
    --entrada-y: 16px;

    opacity: 0;
    transform: translate(var(--entrada-x), var(--entrada-y));
    transition:
      opacity var(--entrada-duracao) ease-out,
      transform var(--entrada-duracao) cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--entrada-atraso, 0ms);
  }

  .entrada--esquerda {
    --entrada-x: -32px;
    --entrada-y: 0px;
  }

  .entrada--direita {
    --entrada-x: 32px;
    --entrada-y: 0px;
  }

  .entrada.entrada--visivel,
  .entrada:focus-within {
    opacity: 1;
    transform: none;
  }

  .entrada:focus-within {
    transition: none;
  }

  @media (max-width: 640px) {
    .entrada,
    .entrada--esquerda,
    .entrada--direita {
      --entrada-x: 0px;
      --entrada-y: 12px;
    }
  }
}
@media (prefers-reduced-motion: no-preference) {
  .hero .hero-copy {
    --capa-x: -32px;
    --capa-y: 0px;
    animation: capa-aparecer 1220ms ease-out both;
  }

  .hero .portrait {
    --capa-x: 32px;
    --capa-y: 0px;
    animation: capa-aparecer 1280ms ease-out 90ms both;
  }

  @keyframes capa-aparecer {
    from {
      opacity: 0;
      transform: translate(var(--capa-x), var(--capa-y));
    }

    to {
      opacity: 1;
      transform: translate(0, 0);
    }
  }

  @media (max-width: 640px) {
    .hero .hero-copy,
    .hero .portrait {
      --capa-x: 0px;
      --capa-y: 12px;
    }
  }
}

/* Controles visuais das seções internas */
:root {
  --painel-azul: #14233c;
  --painel-azul-luz: #243b5c;
  --painel-texto: #fcf8ef;
  --painel-texto-secundario: #d8e1ef;
  --painel-dourado: #e5c18a;
  --painel-borda-azul: #52617a;

  --painel-claro: #fffdf8;
  --painel-creme: #eee4d4;
  --painel-borda: #d7c6aa;

  --painel-raio: 16px;
  --painel-sombra: 0 10px 24px rgb(16 28 51 / 10%);
}

/* Faixa de credenciais */
.credentials {
  background: var(--painel-creme);
  border-bottom-color: var(--painel-borda);
}

/* Procedimentos */
#procedimentos .card {
  background: linear-gradient(
    150deg,
    var(--painel-azul-luz),
    var(--painel-azul) 55%
  );
  color: var(--painel-texto);
  border: 1px solid var(--painel-borda-azul);
  border-top: 3px solid var(--painel-dourado);
  border-radius: var(--painel-raio);
  box-shadow: var(--painel-sombra);
}

#procedimentos .card-index {
  background: var(--painel-dourado);
  color: var(--painel-azul);
}

#procedimentos .card li {
  border-color: var(--painel-borda-azul);
}

#procedimentos .card li span {
  color: var(--painel-texto-secundario);
}

/* Resultados: faixa escura, com moldura nas fotos */
#resultados {
  background: var(--painel-azul);
  color: var(--painel-texto);
}

#resultados .eyebrow,
#resultados .gallery-row h3 {
  color: var(--painel-dourado);
}

#resultados .section-lead {
  color: var(--painel-texto-secundario);
}

#resultados .gallery-card {
  background: var(--painel-claro);
  color: var(--ink);
  border: 1px solid var(--painel-borda);
  border-radius: var(--painel-raio);
}

#resultados .gallery-card img {
  background: #e5dbcb;
}

#resultados .gallery-control,
#resultados .gallery-arrow {
  background: var(--painel-dourado);
  color: var(--painel-azul);
  border-color: var(--painel-dourado);
}

#resultados :is(.gallery-control, .gallery-arrow, .gallery-track):focus-visible {
  outline-color: var(--painel-dourado);
}

/* Sobre e entrevista */
#sobre {
  background: var(--painel-creme);
}

#sobre .about-photo,
.entrevista iframe {
  border: 1px solid var(--painel-borda);
  border-radius: var(--painel-raio);
  box-shadow: var(--painel-sombra);
}

.entrevista > div {
  background: var(--painel-claro);
  border: 1px solid var(--painel-borda);
  border-inline-start: 3px solid var(--painel-dourado);
  border-radius: var(--painel-raio);
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: var(--painel-sombra);
}

/* Dúvidas: um card por pergunta */
#duvidas details,
#duvidas details:last-child {
  background: var(--painel-claro);
  border: 1px solid var(--painel-borda);
  border-radius: calc(var(--painel-raio) * .75);
  padding-inline: 1rem;
  box-shadow: var(--painel-sombra);
}

#duvidas details + details {
  margin-top: .65rem;
}

#duvidas details[open] {
  background: var(--painel-creme);
  border-color: #ad8050;
}

#resultados .gallery-track {
  scrollbar-width: none;
}

#resultados .gallery-track::-webkit-scrollbar {
  display: none;
}

#resultados .gallery-arrow {
  --circulo: 72px;
  --seta: 44px;

  width: var(--circulo);
  height: var(--circulo);
  padding: 0;
  border-radius: 50%;
  font-size: 0;
  border: 1px solid var(--painel-azul, #14233c);
}

#resultados .gallery-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--seta);
  height: calc(var(--seta) / 2);
  transform: translate(-50%, -50%);
  background: currentColor;
  clip-path: polygon(
    0 42%, 76% 42%, 59% 15%, 66% 0,
    100% 50%, 66% 100%, 59% 85%, 76% 58%, 0 58%
  );
}

#resultados .gallery-arrow:first-of-type::before {
  transform: translate(-50%, -50%) scaleX(-1);
}

@media (max-width: 640px) {
  #resultados .gallery-arrow {
    --circulo: 56px;
    --seta: 34px;
  }
}

:root {
  --entrada-duracao: 1220ms;
}

