@font-face{font-family:"Monteloft Inter Black";font-style:normal;font-weight:900;font-display:swap;src:url("inter-black-4.1.woff2") format("woff2");}
/* Selected preview 2: bold ivory lettering with a dark contour, 27 Oct 2026.
   Shared public typography only. Existing scene and panel opacity stays in place. */
@layer monteloft-readable {
  body {
    --ml-type-fill: #fffdf7 !important;
    --ml-type-edge: #211d19 !important;
    --ml-type-shadow: 0 2px 3px rgba(0,0,0,.66) !important;
    font-family: "Monteloft Inter Black", Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.55 !important;
  }
  body, body :is(div,span,h1,h2,h3,h4,h5,h6,p,a,label,legend,strong,b,small,summary,li,dt,dd,caption,figcaption,button,input,textarea,select,th,td,blockquote,em,time,output) {
    color: var(--ml-type-fill) !important;
    -webkit-text-fill-color: var(--ml-type-fill) !important;
    -webkit-text-stroke: 1.8px var(--ml-type-edge) !important;
    paint-order: stroke fill !important;
    text-shadow: var(--ml-type-shadow) !important;
    font-family: "Monteloft Inter Black", Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
  }
  body :is(p,li,dt,dd,blockquote,td,th),
  body :is(.consumer,.guide-prose,.prose,.intro-text,.intro-grid>p,.hero-description,.hero-tagline,.section-heading>p,.detail-list li,.case-copy p,.process-grid p,.service-item p,.guide-intro,.guide-category p,.guide-article-list p,.guide-cta p,.cr-parameters p,.cr-saved-main p,.cr-saved-main li) {
    font-size: 20px !important;
    line-height: 1.6 !important;
  }
  body :is(h1,h2,h3,h4,h5,h6) { line-height: 1.18 !important; letter-spacing: -.025em !important; }
  body h1 { font-size: clamp(34px,4.8vw,70px) !important; }
  body h2 { font-size: clamp(29px,3.6vw,50px) !important; }
  body h3 { font-size: clamp(23px,2.1vw,32px) !important; }
  body h4 { font-size: 22px !important; }
  body :is(small,.small-note,.muted,.eyebrow,.consumer-hint,.consumer-why,.consumer-local-note,.consumer-current-variant,.consumer-choice small,.consumer-panel label>small,.file-field small,.guide-meta,.guide-breadcrumbs,.guide-card-link,.guide-sources,.guide-related a,.cr-reference,.cr-result [data-cr-status],.pool-scene-note,.home-scene-caption,.carousel-counter,.carousel-hint,.viewer-caption,.viewer-counter,.viewer-hint) {
    font-size: 17px !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    -webkit-text-stroke-width: 1.5px !important;
  }
  body :is(label,legend,.consumer-choice strong,.consumer-panel label,.consumer-panel legend,.consumer-check,.consumer-area label,.consumer-budget label) {
    font-size: 20px !important;
    line-height: 1.5 !important;
  }
  body :is(input,textarea,select) {
    font-size: 20px !important;
    line-height: 1.5 !important;
    caret-color: #171b18 !important;
  }
  body :is(input,textarea)::placeholder {
    color: var(--ml-type-fill) !important;
    -webkit-text-fill-color: var(--ml-type-fill) !important;
    -webkit-text-stroke: 1.4px var(--ml-type-edge) !important;
    paint-order: stroke fill !important;
    text-shadow: var(--ml-type-shadow) !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }
  body select option {
    color: #fffdf7 !important;
    -webkit-text-fill-color: #fffdf7 !important;
    background: #24332e !important;
    -webkit-text-stroke-width: 0 !important;
    text-shadow: none !important;
  }
  body :is(button,.button,.text-link,.consumer-primary,.consumer-secondary,.cr-text,.consumer-edit-options button,.home-planner-button,.form-submit,.guide-contact) {
    font-size: 20px !important;
    line-height: 1.4 !important;
  }
  body :is(.button,.consumer-primary,.consumer-secondary,.form-submit,.cr-export-grid .consumer-secondary) { min-height: 56px !important; }
  body :is(.consumer-edit-options button,.cr-copy-actions button) { font-size: 18px !important; }
  body .consent { font-size: 18px !important; line-height: 1.55 !important; }
  body .consent input { margin-top: 5px !important; }
  body .file-field input { font-size: 17px !important; }
  body .consumer-steps { flex-wrap: wrap !important; }
  body .consumer-steps span {
    font-size: 17px !important;
    line-height: 1.45 !important;
    min-width: 0 !important;
    flex-basis: 140px !important;
  }
  body .consumer-choice { min-width: 0 !important; }
  body .footer-links>a { min-width:0 !important; max-width:100% !important; overflow-wrap:anywhere !important; }
  body .consumer-choice :is(strong,small,span) { overflow-wrap: anywhere !important; }
  body .consumer-panel :is(p,li,label,summary) { overflow-wrap: anywhere !important; }
  body :is(.cr-result,.consumer-price,.cr-saved-main) [data-result-price],
  body :is(.consumer-live .consumer-price [data-result-price],.cr-saved-price) {
    font-size: clamp(34px,5vw,56px) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }
  body .cr-result h3 { font-size: 25px !important; }
  body .cr-result li { margin-bottom: 16px !important; }
  body .cr-reference { overflow-wrap: anywhere !important; }
  body .cr-parameters>strong { font-size:20px !important; }
  body .home-scene-caption__number { font-size:17px !important; }
  body .consumer-live { max-height: min(370px,46svh) !important; }
  body .consumer-live :is(.consumer-hint,.consumer-current-variant,.consumer-price>.eyebrow) { font-size: 17px !important; }
  body :is(.consumer-heading,.consumer-panel,.consumer-area,.consumer-options,.cr-export-grid,.footer-grid)>* { min-width: 0 !important; }
  body .site-footer .brand { flex-shrink: 1 !important; max-width: 100% !important; }
  body .site-footer .brand-mark { font-size: 58px !important; -webkit-text-stroke-width: 2.4px !important; }
  body .site-footer .brand-word { font-size: 26px !important; letter-spacing: .025em !important; }
  body .site-footer .brand-word>span { font-size: 17px !important; line-height: 1.4 !important; max-width: 380px !important; }
  body .footer-grid p { font-size: 20px !important; max-width: 440px !important; }
  body :is(.footer-links,.footer-contact) { font-size: 20px !important; line-height: 1.5 !important; gap: 20px !important; }
  body :is(.footer-links a,.footer-contact>a) { font-size: 20px !important; line-height: 1.45 !important; }
  body .footer-contact .phone-link { font-size: clamp(28px,3vw,40px) !important; letter-spacing: -.03em !important; white-space: nowrap !important; }
  body .footer-bottom,body .footer-bottom :is(span,a,button) { font-size: 17px !important; line-height: 1.5 !important; }
  body .home-cost-label { font-size: 18px !important; }
  body .home-cost-answer { font-size: 23px !important; }
  body .hero-credentials strong { font-size: 26px !important; }
  body .hero-credentials span { font-size: 18px !important; }
  body .home-gallery-link p { font-size: 20px !important; }
  body .home-gallery-index { font-size: 18px !important; }
  body .home-planner-button { font-size: clamp(22px,2.4vw,28px) !important; }
  body .home-planner-button>span:last-child { font-size: 30px !important; }
  body .site-header .brand-mark { font-size: 44px !important; }
  body .site-header .brand-word { font-size: 20px !important; }
  body .site-header .brand-word>span { font-size: 17px !important; }
  body .site-header .language-switch a { font-size: 16px !important; letter-spacing: normal !important; -webkit-text-stroke-width: 1.3px !important; }
  body .site-header .ml-navigation>a { font-size: 18px !important; }
  body .ml-navigation small { font-size: 17px !important; }
  body .ml-navigation .ml-nav-index { font-size: 17px !important; }
  body .ml-nav-foot a { font-size: 17px !important; }
  /* Keep the existing hamburger icon legible on the light header. */
  body .ml-menu-toggle { color: #17382f !important; -webkit-text-fill-color: #17382f !important; }
  body .ml-menu-lines, body .ml-menu-lines i { color: #17382f !important; }
  body .guide-prose { line-height: 1.75 !important; }
  body .guide-prose :is(p,li) { line-height: 1.75 !important; }
  body .guide-prose h2 { font-size: 29px !important; }
  body .guide-category h2 { font-size: 30px !important; }
  body .guide-related h2 { font-size: 27px !important; }
  @media(min-width:921px) {
    body .site-header .header-inner { gap: 18px !important; }
    body .site-header .ml-navigation { gap: 14px !important; }
    body .ml-navigation .ml-nav-calculator { padding: 10px !important; }
    body .ml-nav-arrow { display: none !important; }
    body .footer-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr) !important; gap: 5% !important; }
  }
  @media(max-width:1100px) and (min-width:921px) {
    body .site-header .header-inner { flex-wrap: wrap !important; height: auto !important; min-height: 110px !important; padding-block: 12px !important; gap: 12px 18px !important; }
    body .site-header .brand { order: 0 !important; }
    body .site-header .header-actions { order: 1 !important; margin-left: auto !important; }
    body .site-header .ml-navigation { order: 2 !important; width: 100% !important; justify-content: center !important; }
  }
  @media(max-width:920px) {
    body .site-header .ml-navigation>a { font-size: 23px !important; grid-template-columns: 24px minmax(0,1fr) 22px !important; }
    body .ml-navigation .ml-nav-arrow { display: block !important; }
    body .ml-nav-foot { flex-wrap: wrap !important; }
    body .footer-grid { grid-template-columns: 1fr !important; gap: 38px !important; }
  }
  @media(max-width:700px) {
    body .site-header .header-inner { gap: 8px !important; }
    body .site-header .brand { gap: 6px !important; min-width: 0 !important; flex-shrink: 1 !important; }
    body .site-header .brand-mark { font-size: 35px !important; }
    body .site-header .brand-word { font-size: 16px !important; letter-spacing: .025em !important; }
    body .site-header .brand-word>span { display: none !important; }
    body .site-header .language-switch { gap: 2px !important; padding: 2px !important; }
    body .site-header .language-switch a { min-width: 29px !important; padding-inline: 3px !important; }
    body .footer-links { grid-template-columns: repeat(2,minmax(0,1fr)) !important; column-gap: 22px !important; row-gap: 22px !important; }
    body .site-footer .brand-mark { font-size: 56px !important; }
    body .site-footer .brand-word { font-size: clamp(23px,6vw,28px) !important; }
    body .footer-contact .phone-link { font-size: clamp(28px,8vw,36px) !important; }
    body .footer-bottom { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 20px 16px !important; }
    body .hero h1 { font-size: clamp(34px,8.8vw,46px) !important; }
    body .hero .home-cost h2 { font-size: clamp(29px,7.5vw,38px) !important; }
    body .home-gallery-link h3 { font-size: clamp(27px,7vw,34px) !important; }
    body .consumer-heading h1 { font-size: clamp(32px,8vw,42px) !important; }
    body .consumer-panel h2 { font-size: 29px !important; }
    body .consumer-panel h3 { font-size: 25px !important; }
    body .consumer-steps span { flex-basis: 100% !important; font-size: 18px !important; padding: 10px 12px !important; }
    body .consumer-steps .active { padding: 9px 11px !important; }
    body .consumer-actions { min-width: 0 !important; }
    body .consumer-actions>* { min-width: 0 !important; white-space: normal !important; }
    body .consumer-live { max-height: min(350px,44svh) !important; }
    body .guide-heading h1 { font-size: clamp(32px,8vw,42px) !important; }
    body .guide-article-list h2 { font-size: 27px !important; }
    body .guide-shell { width: calc(100% - 36px) !important; }
  }
  @media(max-width:700px) {
    html[lang="ru"] body .footer-links { grid-template-columns:1fr !important; }
    html[lang="ru"] body .footer-links>a { overflow-wrap:normal !important; }
  }
  @media(max-width:359px) {
    body .site-header .brand-word { font-size: 14px !important; }
    body .site-header .brand-mark { font-size: 30px !important; }
    body .site-header .header-actions { gap: 4px !important; }
    body .footer-links { grid-template-columns: 1fr !important; }
    body .site-footer .brand { align-items: flex-start !important; }
    body .site-footer .brand-mark { font-size: 46px !important; }
    body .site-footer .brand-word { font-size: 23px !important; }
  }
  @media print {
    body,body * { color: #111 !important; -webkit-text-fill-color: #111 !important; -webkit-text-stroke-width: 0 !important; text-shadow: none !important; }
  }
  @media(forced-colors:active) {
    body,body * { color: CanvasText !important; -webkit-text-fill-color: CanvasText !important; -webkit-text-stroke-width: 0 !important; text-shadow: none !important; }
  }
}
