/* Noto Sans, SIL OFL 1.1. Local Latin/Cyrillic variable font, normal width. */
@font-face {
  font-family:"Noto Sans";
  src:url("assets/fonts/noto-sans-latin-cyrillic.woff2") format("woff2");
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
}
:root { --site-font:"Noto Sans",Arial,Helvetica,sans-serif; }
body { font-family:var(--site-font); line-height:1.65; font-synthesis:none; }
button,input,textarea,select,.data-notice,.data-notice h2,.data-notice p,.data-notice-button { font-family:var(--site-font); }
button,input,textarea,select { font-size:1rem; }
input,textarea,select { font-weight:400; line-height:1.5; }
input::placeholder,textarea::placeholder { font-family:inherit; }
button::file-selector-button,input::file-selector-button { font:inherit; }
h1,h2,h3,h4,h5,h6 { font-weight:700; letter-spacing:normal; overflow-wrap:anywhere; }
h1 { font-size:clamp(2.25rem,4.5vw,4.5rem); line-height:1.18; }
h2 { font-size:clamp(1.75rem,3.2vw,3rem); line-height:1.25; }
h3 { line-height:1.4; }
.policy-section h2 { line-height:1.35; letter-spacing:normal; }
.logo { line-height:1.3; }
.button,.menu-button,.nav-links a { line-height:1.45; }
.nav-links > a,.menu-button { font-weight:500; letter-spacing:.02em; }
.button { white-space:normal; text-align:center; overflow-wrap:anywhere; }
.eyebrow { letter-spacing:.07em; line-height:1.5; }
.stat strong { letter-spacing:normal; line-height:1.25; }
.slide-watermark,.service-watermark,.photo-watermark,.gallery-watermark { line-height:1.3; }
.data-notice h2 { line-height:1.4; }
.data-notice-button { line-height:1.45; }
.callback-modal h2 { font-size:clamp(1.5rem,4vw,2rem); line-height:1.3; }
.contact-subtitle { white-space:normal; }
p,li,label,.contact-value,.contact-mini,.footer-row { overflow-wrap:anywhere; }
@media (max-width:640px) {
  h1 { font-size:clamp(1.875rem,7.8vw,2.5rem); }
  h2 { font-size:clamp(1.5rem,6.2vw,2rem); }
  .logo { font-size:.95rem; }
  .header-top .nav { gap:10px; }
  .menu-button { font-size:.95rem; }
}
