/* IVA — identidade institucional, Manual da Marca, fevereiro de 2019.
   A logomarca SVG preserva os vetores e a Ginora Sans do arquivo original.
   O manual especifica Ginora para o logotipo; o texto de interface usa sans-serif.
*/
:root{--brand-yellow:#e5dc29;--brand-gold:#e9bd2d;--brand-orange:#d68732;--brand-coral:#cb5f35;--brand-red:#c23434;--brand-magenta:#b52777;--brand-purple:#683785;--brand-indigo:#3e4b92;--brand-blue:#226ba5;--brand-cyan:#228bad;--brand-green:#1b8859;--brand-lime:#86b143;--brand-gray:#5b5b5f;--spectrum:linear-gradient(90deg,#683785 0%,#3e4b92 12%,#226ba5 24%,#228bad 34%,#1b8859 45%,#86b143 54%,#e5dc29 64%,#e9bd2d 73%,#d68732 80%,#cb5f35 87%,#c23434 93%,#b52777 100%)}
body{background:white}
.topbar{background:var(--brand-indigo)}
.header::after{content:'';height:3px;background:var(--spectrum);position:absolute;bottom:-3px;left:0;right:0}
.nav-wrap{height:110px}
.brand-logo{width:238px;height:auto;aspect-ratio:475/175;object-fit:contain;display:block}
.brand{display:block;background:#fff}
.footer .brand-logo{width:270px}
.button{background:var(--brand-indigo);border-color:var(--brand-indigo)}
.button:hover{background:var(--brand-blue);border-color:var(--brand-blue)}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif}
h1 em,h2 em{font-style:normal;color:var(--brand-blue);font-weight:500}
.hero h1{font-size:clamp(58px,5.5vw,78px);line-height:1.08;letter-spacing:-3px}
.hero .eyebrow{color:var(--brand-gray)}
.dot{background:var(--brand-green)}
.hero-visual{height:550px}
.hero-image{border-radius:155px 8px 8px 8px;object-position:center 8%}
.hero-outline{border-color:#d6d7dd;border-radius:165px 8px 8px 8px}
.image-note{bottom:-25px;background:#fff;border:1px solid #ececf0;box-shadow:0 10px 35px #5b5b5f0a;gap:17px;padding:19px 24px}
.image-note .note-symbol{width:61px;height:auto}
.image-note p,.image-note strong{color:var(--brand-gray)}
.image-note strong{font-weight:600}
.care-strip svg{color:var(--brand-blue)}
.care-strip span:nth-of-type(2) svg{color:var(--brand-purple)}
.care-strip span:nth-of-type(3) svg{color:var(--brand-green)}
.institute h2{font-size:40px;letter-spacing:-1.6px;line-height:1.22}
h2{line-height:1.18;letter-spacing:-1.8px}
.service h3{font-size:23px;line-height:1.3;letter-spacing:-.65px}
.service-top svg{color:var(--brand-blue)}
.service:nth-child(2) .service-top svg{color:var(--brand-orange)}
.service:nth-child(3) .service-top svg{color:var(--brand-magenta)}
.service:nth-child(4) .service-top svg{color:var(--brand-purple)}
.service:nth-child(5) .service-top svg{color:var(--brand-green)}
.service:nth-child(6) .service-top svg{color:var(--brand-cyan)}
.service:nth-child(2):hover{background:#faf4ec}
.service:nth-child(3):hover{background:#fbf0f6}
.service:nth-child(4):hover{background:#f4f1f8}
.service:nth-child(5):hover{background:#eff7f2}
.service:nth-child(6):hover{background:#eef6f9}
.doctor-number{font-family:Arial,Helvetica,sans-serif;font-weight:300;font-size:29px;color:#a3a3ac}
.doctor-info h3{font-size:28px;letter-spacing:-.8px}
.round-button:hover{background:var(--brand-indigo)}
.patient-heading h2{font-size:46px}
.steps h3{font-size:22px;letter-spacing:-.6px}
.steps article:nth-child(2)>span{color:var(--brand-purple)}
.steps article:nth-child(3)>span{color:var(--brand-green)}
.steps article:nth-child(4)>span{color:var(--brand-orange)}
.contact-section{background:var(--brand-indigo);position:relative}
.contact-section::before{position:absolute;top:0;left:0;right:0;height:4px;background:var(--spectrum);content:''}
.contact-copy h2{font-size:51px;line-height:1.15}
.contact-copy h2 em{color:white;font-weight:500}
.booking-card{background:#fff}
.booking-card h3{font-size:28px;line-height:1.25;letter-spacing:-1px}
.contact-copy p{color:#edf0f8}
.footer-top>p{font-family:Arial,Helvetica,sans-serif;color:var(--brand-gray);font-size:20px}
dialog h2{font-family:Arial,Helvetica,sans-serif;line-height:1.2}
.mobile-booking{border-color:var(--brand-indigo)}
@media(max-width:1100px){.brand-logo{width:212px}.header nav{gap:18px}.hero h1{font-size:62px}.hero-visual{height:525px}.institute h2{font-size:35px}.contact-copy h2{font-size:45px}}
@media(max-width:850px){.nav-wrap{height:92px}.header nav{top:92px}.brand-logo{width:205px}.hero h1{font-size:55px}.hero-visual{height:480px}.image-note .note-symbol{width:46px}.image-note{padding:17px}.institute h2{font-size:32px}.patient-heading h2{font-size:39px}.contact-copy h2{font-size:40px}}
@media(max-width:600px){html{scroll-padding-top:110px}.nav-wrap{height:89px}.header nav{top:89px}.brand-logo{width:195px}.hero h1{font-size:clamp(43px,12.5vw,56px);letter-spacing:-2.3px;line-height:1.09}.hero-visual{height:355px}.hero-image{border-radius:115px 5px 5px 5px}.hero-outline{border-radius:123px 5px 5px 5px}.image-note{padding:15px 18px}.image-note .note-symbol{width:49px}.institute h2{font-size:33px;line-height:1.22}.section-heading h2{font-size:35px}.service h3{font-size:24px}.doctor-info h3{font-size:23px}.doctor-number{font-size:22px}.patient-heading h2{font-size:37px}.steps h3{font-size:22px}.faq h2{font-size:33px}.contact-copy h2{font-size:43px}.booking-card h3{font-size:27px}.footer .brand-logo{width:235px}.footer-top>p{font-size:18px}}

/* Acesso direto e permanente à recepção. */
.whatsapp-floating.button{position:fixed;right:26px;bottom:24px;z-index:25;display:flex;align-items:center;gap:12px;min-height:58px;padding:16px 22px;background:#1b8859;border:1px solid #1b8859;border-radius:100px;box-shadow:0 5px 22px #163d282e;font-size:14px;font-weight:600;color:#fff;line-height:1.3}
.whatsapp-floating.button:hover{background:#146b45;border-color:#146b45;transform:translateY(-2px)}
.whatsapp-floating.button:focus-visible{outline:3px solid #3e4b92;outline-offset:4px}
.whatsapp-floating.button>svg:first-child{width:25px;height:25px;stroke-width:1.6}
.whatsapp-floating.button .floating-arrow{width:17px;height:17px}
body.modal-open .whatsapp-floating{visibility:hidden}
@media(max-width:600px){.whatsapp-floating.button{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-height:56px;border-radius:7px;padding:15px 19px;font-size:14px;justify-content:flex-start}.whatsapp-floating.button .floating-arrow{margin-left:auto}.footer{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}}

/* Retratos originais enviados pela clínica. */
.doctor-photo{width:160px;height:200px;object-fit:cover;object-position:center 15%;border-radius:6px;flex-shrink:0;background:#233343}
.doctor--portrait{gap:36px}
@media(max-width:850px){.doctor-photo{width:140px;height:175px}.doctor--portrait{gap:24px}}
@media(max-width:600px){.doctor--portrait{display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px 20px;align-items:start}.doctor--portrait .doctor-photo{width:108px;height:144px;grid-column:1;grid-row:1/3}.doctor--portrait .doctor-info{grid-column:2;grid-row:1;min-width:0}.doctor--portrait .doctor-info h3{font-size:23px;line-height:1.16}.doctor--portrait .round-button{grid-column:2;grid-row:2}.doctor--portrait .doctor-info .eyebrow{line-height:1.6;margin-top:0;letter-spacing:1px}}

/* Enquadramento da foto enviada, ocultando as faixas pretas do arquivo. */
.doctor-photo--leticia{object-position:center 40%}
@media(max-width:600px){.doctor--portrait .doctor-photo--leticia{object-position:center 42%}}

/* Portal externo de resultados, acessível no menu em todos os tamanhos de tela. */
.header nav .nav-results{display:inline-flex;align-items:center;gap:6px;color:var(--brand-indigo);font-weight:600}
.nav-results svg{width:16px;height:16px;flex-shrink:0}
.results-floating{position:fixed;left:26px;bottom:24px;z-index:25;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-decoration:none}
.results-floating-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--brand-cyan);color:#fff;box-shadow:0 5px 22px #163d282e;transition:background .2s,transform .2s}
.results-floating-icon svg{width:30px;height:30px;stroke-width:1.6}
.results-floating-label{padding:9px 13px;border:1px solid #e1e4ec;border-radius:8px;background:#fff;color:var(--brand-gray);font-size:13px;font-weight:600;line-height:1.3;box-shadow:0 3px 16px #163d2817}
.results-floating:hover .results-floating-icon{background:var(--brand-blue);transform:translateY(-2px)}
.results-floating:focus-visible{outline:3px solid var(--brand-indigo);outline-offset:5px;border-radius:8px}
body.modal-open .results-floating{visibility:hidden}
@media(max-width:1024px){
  .menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer}
  .menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .header nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--cream);padding:20px 24px 28px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #5b5b5f0d;align-items:stretch;gap:0}
  .header nav.open{display:flex;flex-direction:column}
  .header nav>a:not(.button){padding:15px 0;font-size:14px;border-bottom:1px solid var(--line)}
  .header nav>a:not(.button)::after{display:none}
  .header nav .button{margin-top:20px;align-self:flex-start}
}
@media(max-width:600px){
  .results-floating{left:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:8px}
  .results-floating-icon{width:56px;height:56px}
  .results-floating-label{font-size:12px;padding:8px 11px}
  .whatsapp-floating.button{left:auto;right:16px;bottom:calc(54px + env(safe-area-inset-bottom,0px));width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;justify-content:center}
  .whatsapp-floating.button>svg:first-child{width:29px;height:29px}
  .whatsapp-floating.button span,.whatsapp-floating.button .floating-arrow{display:none}
  .footer{padding-bottom:calc(125px + env(safe-area-inset-bottom,0px))}
}
