/* Shared type scale: all page-specific layout and color rules stay in style.css.
   !important supersedes the prototype's accumulated legacy font overrides. */
@font-face{font-family:'Evidence Sans';src:url('assets/fonts/notosans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Evidence Georgian';src:url('assets/fonts/notosansgeorgian.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-text:'Evidence Sans',Arial,sans-serif;--type-display:clamp(46px,5.2vw,76px);--type-hero:clamp(30px,2.65vw,40px);--type-section:clamp(27px,2.35vw,34px);--type-subsection:clamp(20px,1.55vw,23px);--type-body:clamp(16px,1.12vw,17px);--type-lead:clamp(16px,1.2vw,18px);--type-small:13px;--type-control:13px;--heading-weight:600;--body-leading:1.75;--heading-leading:1.3}
html:lang(ka){--font-text:'Evidence Georgian','Evidence Sans',Arial,sans-serif;--type-display:clamp(40px,4.3vw,64px);--heading-leading:1.35}
body,button,input,select,textarea{font-family:var(--font-text)!important}
main h1{font-size:var(--type-hero)!important;font-weight:var(--heading-weight)!important;line-height:var(--heading-leading)!important;letter-spacing:-.025em!important;text-wrap:balance}
main .hero h1{font-size:var(--type-display)!important;line-height:1.12!important;letter-spacing:-.035em!important}
html:lang(ka) main .hero h1{line-height:1.22!important;letter-spacing:-.015em!important}
main h2,dialog h2{font-size:var(--type-section)!important;font-weight:var(--heading-weight)!important;line-height:var(--heading-leading)!important;letter-spacing:-.02em!important;text-wrap:balance}
main h3,dialog h3{font-size:var(--type-subsection)!important;font-weight:var(--heading-weight)!important;line-height:1.4!important;letter-spacing:-.015em!important;text-wrap:balance}
main p{font-size:var(--type-body)!important;font-weight:400!important;line-height:var(--body-leading)!important}
main .lead,main .hero .lead{font-size:var(--type-lead)!important;line-height:var(--body-leading)!important}
main .eyebrow{font-size:11px!important;font-weight:600!important;line-height:1.65!important;letter-spacing:.12em!important}
html:lang(ka) main .eyebrow{letter-spacing:.035em!important}
main :is(.about-mission h2,.contact-editorial-heading){font-size:var(--type-subsection)!important}
main :is(.sport-disclaimer,.privacy,.medical-figure figcaption){font-size:var(--type-small)!important;line-height:1.7!important}
nav,html:lang(ka) nav{font-size:clamp(10px,.8vw,12px)!important;font-weight:500!important;line-height:1.5!important}
.button,.textlink,.contact-case-link{font-size:var(--type-control)!important;font-weight:500!important;line-height:1.6!important;font-family:var(--font-text)!important}
.header-cta .button{font-size:11px!important}.languages{font-size:11px!important}
footer,footer p,footer a,footer span{font-size:12px!important;line-height:1.7!important;font-weight:400!important}
footer .prototype,footer .prototype *{font-size:10px!important;line-height:1.6!important}
dialog p,label,input,select,textarea{font-size:14px!important;line-height:1.7!important}
dialog :is(.privacy,.form-note,.consent span,.expert-privacy-notice p,.policy-content p){font-size:12px!important;line-height:1.7!important}
.contact-editorial-direct a{font-size:var(--type-lead)!important;font-weight:500!important;line-height:1.7!important}
@media(max-width:700px){:root{--type-section:27px;--type-subsection:20px}nav,html:lang(ka) nav{font-size:14px!important}}
@media(max-width:700px){html:lang(ka){--type-display:clamp(32px,9vw,40px)}html:lang(ka) main .hero h1 span{white-space:nowrap}}
/* Pre-launch touch targets and keyboard focus; existing palette. */
@media(max-width:1050px){#menu,.languages button{min-width:44px;min-height:44px}nav.open a,nav.open button{min-height:44px}}
textarea{font:inherit;max-width:100%;resize:vertical}textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.button{min-height:44px}button:disabled{cursor:not-allowed}
@media(max-width:600px){header{padding:0 5%;gap:8px!important}header .languages{gap:4px!important;flex-shrink:0}header .languages button{padding:0!important}header #menu{margin-left:0!important;flex-shrink:0}}

/* AA control contrast: retain the approved blue surfaces and existing navy. */
.launch-contact h2{font-size:var(--type-section)!important;line-height:1.35!important}
.launch-contact p{line-height:1.75}.launch-email{margin:12px 0 18px;overflow-wrap:anywhere;max-width:100%}
.launch-contact-note{color:var(--ink);font-weight:500}.launch-policy{margin-top:20px}.launch-policy summary{cursor:pointer;color:var(--dark);padding:12px 0}
.patient-faq-section .eyebrow{color:var(--dark)!important}

/* Approved white-on-blue brand treatment and balanced bilingual controls. */
header nav a,header .languages,header .languages button,header #menu{color:#fff!important}
header :focus-visible{outline:2px solid #fff;outline-offset:4px}
.button{background:#197da0!important;color:#fff!important}
header .button{background:#fff!important;color:#177caa!important}
.cta h2,.cta p{color:#fff!important}
.cta .button{background:#fff!important;color:#197da4!important}
.header-cta{flex-shrink:0}
.header-cta .button,html:lang(ka) .header-cta .button{max-width:none;white-space:nowrap;font-size:11px!important;line-height:1.6!important;padding:14px 20px;gap:16px;min-height:46px}
@media(max-width:1050px){header #menu{display:block;border:0;background:none;font-size:23px;order:4;margin-left:8px}header nav{display:none;position:absolute;top:96px;left:0;right:0;background:var(--blue);color:#fff;padding:25px}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:10px}.header-cta{margin-left:auto}}
@media(max-width:700px){header nav{top:80px}}

/* Keep desktop navigation visible at laptop widths; compact only header spacing. */
@media(min-width:1051px) and (max-width:1280px){header{padding:0 3%;gap:14px}header nav,html:lang(ka) header nav{gap:14px;font-size:11px}header .brand img{width:118px}.header-cta .button,html:lang(ka) .header-cta .button{padding-inline:14px;gap:12px}header .languages{gap:4px}}
