/* GastroVida V11 — tipografia. Carregar depois de styles.css.
   Os arquivos Gilroy são fornecidos localmente pelo responsável pelo site.
   Lato é carregada pelo link do Google Fonts no HTML, com alternativa de sistema.
   Tamanhos adaptados às referências visuais; não são uma cópia medida da Prenuvo.
*/
@font-face{
  font-family:"Gilroy";
  src:url("assets/fonts/gilroy-regular.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Gilroy";
  src:url("assets/fonts/gilroy-semi-bold.ttf") format("truetype");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
@font-face{
  font-family:"Gilroy";
  src:url("assets/fonts/gilroy-bold.ttf") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
:root{
  --font-heading:"Gilroy","Lato",Arial,sans-serif;
  --font-reading:"Lato","Segoe UI",Arial,sans-serif;
  --type-hero:clamp(2.125rem,calc(1.45rem + 2.12vw),3.5rem);
  --type-section:clamp(1.875rem,calc(1.25rem + 1.9vw),3rem);
  --type-card:clamp(1.375rem,calc(1.1rem + .5vw),1.625rem);
}
body{font-family:var(--font-reading);font-size:1rem;font-weight:400;line-height:1.65}
button,input,select,textarea{font:inherit}
strong,b{font-weight:700}
h1,h2,h3,h4,h5,h6,
.nav,.btn,.eyebrow,.tag,.text-link,.faq summary,
.quick-card strong,.hero__trust strong,.hero__address-pill,
.complete-catalog__grid a,.procedure-accordion summary,
.procedure-detail__num,.procedure-tags,.procedure-detail__cta,
.prep-card>span,.plan-card strong,.location-panel__head,
.location-panel__link,.footer__grid>div>strong{
  font-family:var(--font-heading);
  font-synthesis:none;
}
h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em;line-height:1.14}
p,li{font-weight:400}
.nav{font-size:.9375rem;font-weight:700;line-height:1.3}
.nav>a:not(.btn){height:1.45em;line-height:1.4}
.nav>a:not(.btn)>span,.nav>a:not(.btn)::before{font-weight:700}
.btn{font-size:.9375rem;font-weight:700;line-height:1.3}
.btn--lg{font-size:1rem}
.eyebrow{font-size:.8125rem;line-height:1.45;font-weight:600;letter-spacing:.11em}
.tag{font-size:.75rem;line-height:1.45;font-weight:600;letter-spacing:.08em}
.hero h1,body.home-page .hero h1,.internal-hero h1{
  font-family:var(--font-heading);
  font-size:var(--type-hero);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.024em;
  margin-bottom:24px;
}
body.home-page .hero__content{max-width:720px}
body.home-page .hero h1{max-width:700px}
.hero__lead,body.home-page .hero__lead,.internal-hero p{
  font-family:var(--font-reading);
  font-size:1.125rem;
  line-height:1.65;
  font-weight:400;
  letter-spacing:normal;
}
body.home-page .hero__lead{max-width:660px}
.hero__trust strong{font-size:.9375rem;font-weight:600;line-height:1.25}
.hero__trust span{font-size:.8125rem;line-height:1.45}
body.home-page .hero__address-pill{font-size:.875rem;font-weight:600;line-height:1.4}
.section-head h2,.clinic__intro h2,.doctors-copy h2,.faq-title h2,
.contact h2,.coverage-box h2{
  font-size:var(--type-section);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.025em;
}
.section-head{max-width:790px}
.section-head p,.clinic__intro p,.doctors-copy>p,.faq-title>p,
.coverage-box p{font-size:1.125rem;line-height:1.65}
.quick-card strong{font-size:1.0625rem;font-weight:600;line-height:1.25}
.quick-card p{font-size:.9375rem;line-height:1.6}
.service-card h3,.exam-card h3,.step h3{
  font-size:var(--type-card);font-weight:600;line-height:1.17;letter-spacing:-.015em;
}
.service-card p,.exam-card p,.step p{font-size:1rem;line-height:1.6}
.service-card a,.text-link{font-family:var(--font-heading);font-size:.9375rem;font-weight:600;line-height:1.4}
.service-card__index{font-family:var(--font-heading);font-weight:400}
.complete-catalog__head h3{font-size:1.5rem;font-weight:600;line-height:1.22;letter-spacing:-.015em}
.complete-catalog__grid a{font-size:.9375rem;font-weight:600;line-height:1.35}
.complete-catalog__note{font-size:.9375rem;line-height:1.65}
.doctor-card__content h3{font-size:1.375rem;font-weight:600;line-height:1.18;letter-spacing:-.015em}
.doctor-card__content span{font-family:var(--font-heading);font-size:.75rem;font-weight:600;line-height:1.35;letter-spacing:.08em}
.doctor-card__content p{font-size:.9375rem;line-height:1.55}
.feature-item strong{font-family:var(--font-heading);font-size:1rem;font-weight:600;line-height:1.35}
.feature-item p,.clinic-gallery figcaption{font-size:.9375rem;line-height:1.6}
.clinic-gallery__info p{font-weight:400}
.big-number{font-family:var(--font-heading);font-weight:600;letter-spacing:-.03em}
.faq summary{font-size:1.375rem;font-weight:600;line-height:1.22;letter-spacing:-.02em;padding-right:38px}
.faq p,.modal__dialog p,.modal__dialog li{font-size:1rem;line-height:1.65}
.modal__dialog h2{font-size:2rem;font-weight:600;line-height:1.15;letter-spacing:-.025em}
.procedure-accordion summary{font-weight:600;line-height:1.3}
.procedure-accordion__title strong{font-size:1.375rem;font-weight:600;line-height:1.25;letter-spacing:-.015em}
.procedure-accordion__title small{font-size:.75rem;font-weight:600;line-height:1.4;letter-spacing:.08em}
.procedure-accordion__num,.procedure-detail__num{font-family:var(--font-heading);font-weight:600}
.procedure-body__lead{font-size:1.125rem;line-height:1.65}
.procedure-info h3{font-size:1.1875rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.procedure-info p,.procedure-info li,.procedure-subtopics .subcontent{font-size:1rem;line-height:1.65}
.procedure-subtopics summary{font-size:1.125rem;font-weight:600;line-height:1.3}
.procedure-cta p,.source-note{font-size:.9375rem;line-height:1.6}
.procedure-tags li{font-size:.8125rem;font-weight:600;line-height:1.4}
.prep-card h3{font-size:1.5rem;font-weight:600;line-height:1.2}
.prep-card p{font-size:1rem;line-height:1.6}
.internal-hero__panel strong{font-family:var(--font-heading);font-size:1.375rem;font-weight:600;line-height:1.25}
.internal-hero__panel p{font-size:1rem;line-height:1.6}
.plan-card strong{font-size:1.125rem;font-weight:600;line-height:1.3}
.plan-card small{font-size:.875rem;line-height:1.5}
.contact__content>p{font-size:1.125rem;line-height:1.65}
.contact__details strong{font-weight:700;line-height:1.6}
.footer p,.footer a{font-size:.9375rem;line-height:1.65}
.footer__bottom{font-size:.8125rem;line-height:1.5}
.location-panel__head strong{font-size:1.125rem;font-weight:600;line-height:1.2}
.location-panel__head span{font-size:.75rem;font-weight:400}
.location-panel__body h3{font-size:1.5rem;font-weight:600;line-height:1.2}
.location-panel__body p{font-size:1rem;line-height:1.6}
.location-panel__utility .location-panel__link{font-size:.875rem;font-weight:600}

/* Reajuste do bloco de abertura à nova métrica, preservando a foto e a curva. */
body.home-page .hero{min-height:100vh;min-height:100svh;padding:128px 0 144px}
body.home-page .hero__immersive-inner{min-height:0}
body.home-page .hero__trust{margin-top:28px;padding-top:20px}
body.home-page .hero__address-pill{margin-top:18px}

@media(max-width:1100px){
  body.home-page .hero{padding-top:120px}
  .nav>a:not(.btn){height:auto}
}
@media(max-width:760px){
  :root{--type-hero:clamp(2rem,7.9vw,2.875rem);--type-section:clamp(1.875rem,7.6vw,2.5rem)}
  body.home-page .hero{padding:110px 0 120px;min-height:100svh}
  body.home-page .hero__content{max-width:100%}
  .hero__lead,body.home-page .hero__lead,.internal-hero p,
  .section-head p,.clinic__intro p,.doctors-copy>p,.faq-title>p{font-size:1.0625rem;line-height:1.6}
  .hero h1,body.home-page .hero h1,.internal-hero h1{letter-spacing:-.015em;line-height:1.12}
  .eyebrow{font-size:.75rem;letter-spacing:.08em}
  .nav{font-size:1.0625rem}
  .nav>a:not(.btn){height:auto;min-height:42px;line-height:1.4}
  /* Texto legível no menu móvel, cujo painel já é branco na V10. */
  body.home-page .nav.is-open>a:not(.btn),
  body.home-page .nav.is-open>a:not(.btn)>span{color:#003333}
  .service-card h3,.exam-card h3,.step h3{font-size:1.5rem}
  .faq summary{font-size:1.25rem;line-height:1.25}
  .procedure-accordion__title strong{font-size:1.125rem;line-height:1.25}
  .procedure-accordion__title small{font-size:.6875rem}
  .procedure-body__lead{font-size:1.0625rem}
  .procedure-subtopics summary{font-size:1.0625rem}
}
@media(prefers-reduced-motion:reduce){
  .plans-carousel__track{animation:none;transform:none}
  .plans-carousel{overflow-x:auto}
  .location-float__pulse{animation:none}
}

/* O novo corpo de texto é maior: reservar área para a curva seguinte,
   sem cobrir as últimas linhas ou ações de cada painel. */
body.home-page .stack-panel{padding-bottom:224px}
@supports(overflow:clip){body.home-page main{overflow-x:clip}}
@media(max-width:1100px){body.home-page .stack-panel{padding-bottom:176px}}
@media(max-width:760px){body.home-page .stack-panel{padding-bottom:140px}}
