/* Clínica Lázarus — navigation, legibility and appointment flow. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid #986c23;outline-offset:4px}
.site-header :focus-visible,.section-dark :focus-visible,.hero :focus-visible,.footer :focus-visible,.mobile-menu :focus-visible,.quick-contact-card :focus-visible{outline-color:#efcd82}
html{scroll-padding-top:110px}
.mobile-menu{visibility:hidden}
.mobile-menu.open{visibility:visible}
.desktop-nav .nav-group .mega{opacity:0;visibility:hidden;pointer-events:none}
.desktop-nav .nav-group[data-open="true"] .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.desktop-nav .mega{max-height:calc(100dvh - 130px);overflow-y:auto}
.hero-conversion{min-height:0}
.hero-conversion h1{font-size:clamp(3rem,5.2vw,5.65rem);line-height:1.06;letter-spacing:-.035em}
.hero-phone{display:inline-block;margin-left:.55em;text-decoration:underline;text-underline-offset:4px}
.hero-doctor-card>img{object-position:center top}
.card p,.area-card p,.first-visit-steps p,.resource-links span,.quick-contact-card .field select{font-size:1rem}
.field label,.quick-contact-card .field label,.quick-contact-card legend,.hero-doctor-copy span,.form-note,.google-proof small,.resource-links small,.medical-review-note{font-size:.875rem}
.area-card small,.hero-doctor-copy small{font-size:.75rem}
.form-note a,.contact-details a{text-decoration:underline;text-underline-offset:3px}
.compact-treatment-grid .card{min-height:0;display:flex;flex-direction:column}
.compact-treatment-grid .card h3{line-height:1.2}
.treatment-more{display:block;margin-top:auto;padding-top:18px;color:var(--gold2);font-size:.875rem;font-weight:750}
.treatment-additional{color:#d8ccbd;margin-top:24px;font-size:1rem}
.treatment-additional a{color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.contact-actions{margin:24px 0}
.btn-outline{border:1px solid #8b662e;background:transparent;color:#211b16}
.contact-details{margin:22px 0;border-top:1px solid rgba(17,16,14,.15);border-bottom:1px solid rgba(17,16,14,.15)}
.contact-details summary{cursor:pointer;padding:18px 0;font-size:1rem;font-weight:700}
.contact-details .form-grid{padding:4px 0 22px}
.contact-reassurance{font-size:.9375rem;color:#665d53;margin-top:20px}
.cookie-settings{color:inherit;text-decoration:underline;text-underline-offset:4px;border:0;background:transparent;cursor:pointer;padding:10px 0;font-size:.875rem;text-align:left}
.consent-banner{max-width:900px;max-height:65dvh;overflow-y:auto}
.consent-banner strong{font-size:1rem}
.consent-banner p{font-size:.875rem;margin-top:3px}
.consent-actions button{min-height:44px;font-size:.875rem}
.consent-reject{border-color:#d8bc78!important}
.mobile-menu .mobile-label{font-size:.875rem}
.notice{font-size:.8125rem;line-height:1.5}
.page-hero h1{line-height:1.08}
@media(max-width:1120px){.compact-treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .hero-conversion .hero-inner{padding-top:42px}
  .hero-conversion h1{font-size:clamp(2.45rem,10.5vw,4rem);line-height:1.08}
  .hero .actions{gap:12px}
  .hero .actions .btn{min-height:48px}
  .hero-phone{display:block;margin:8px 0 0}
  .compact-treatment-grid{grid-template-columns:1fr}
  .mobile-bottom{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .mobile-menu{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .consent-banner{bottom:calc(78px + env(safe-area-inset-bottom,0px));max-height:55dvh}
  .consent-actions button{padding:10px 8px;line-height:1.3}
  .footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  input,textarea,select{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
