/* One typeface for the entire local site, including project demos. */
@font-face{font-family:Site Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-web-400.woff2") format("woff2")}
@font-face{font-family:Site Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/inter-web-500.woff2") format("woff2")}
@font-face{font-family:Site Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-web-600.woff2") format("woff2")}
@font-face{font-family:Site Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/inter-web-700.woff2") format("woff2")}
:root{--font-ui:"Site Inter",Arial,sans-serif;--font-code:var(--font-ui);--font-family:var(--font-ui);--site-font:var(--font-ui)}
html,body,body *,body *::before,body *::after{font-family:var(--site-font)!important}

/* Readable role-based scale, adjusted for actual Russian content. */
:root{
 --type-body:1.0625rem;
 --type-card:1.75rem;
 --type-section:clamp(2.25rem,1.5rem + 1.4vw,2.75rem);
 --type-display:clamp(3rem,2rem + 2.25vw,4rem);
 --type-lead:1.25rem;
 --type-ui:1rem;
 --type-caption:.8125rem;
 --type-weight-heading:400;
 --type-leading-heading:1.15;
 --type-leading-body:1.65;
}
.brownstas-junca{font-size:var(--type-body);line-height:var(--type-leading-body)}
.brownstas-junca main :is(h1,h2,h3,h4,h5,h6){font-weight:var(--type-weight-heading)!important;text-wrap:balance;overflow-wrap:break-word}
.brownstas-junca main h1,.brownstas-junca .hero__title{font-size:var(--type-display)!important;line-height:1.12!important;letter-spacing:-.035em!important}
.brownstas-junca main h2,.brownstas-junca .owner-footer-top h2{font-size:var(--type-section)!important;line-height:1.13!important;font-weight:var(--type-weight-heading)!important;letter-spacing:-.035em!important}
.brownstas-junca main h3,.brownstas-junca .catalog-card h2{font-size:var(--type-card)!important;line-height:1.22!important;letter-spacing:-.025em!important}
.brownstas-junca main :is(h4,h5,h6){font-size:var(--type-lead)!important;line-height:1.3!important;letter-spacing:-.015em!important}
.brownstas-junca main :is(p,li,dd){font-size:var(--type-body);line-height:var(--type-leading-body);letter-spacing:-.01em;text-wrap:pretty}
.brownstas-junca main :is(.owner-hero-desc,.sales-heading>p,.sales-about p,.sales-contact>p,.lead,.service-lead,.case-intro>p,.ch-intro>p,.result-lead){font-size:var(--type-lead)!important;line-height:1.55!important;font-weight:400;max-width:60ch}
.brownstas-junca .hero__title{max-width:20ch;margin-block:0 1.5rem}
.brownstas-junca .owner-hero-desc{max-width:46ch!important}
.brownstas-junca main :is(.ef-intro h3,.sales-work h3){font-size:var(--type-card)!important}
.brownstas-junca main .sales-contact h2{font-size:var(--type-section)!important;max-width:24ch}
.brownstas-junca main :is(.sales-label,.eyebrow,.ef-label,.project-state,.catalog-badge,.catalog-meta,.case-kicker,.ch-kicker,.section-index,.section-note,.case-meta dt,.ch-meta dt,.state-badge,.ef-role,.project-category,.project-year,.project-contribution,.owner-hero-disciplines){font-size:var(--type-caption)!important;line-height:1.5!important;font-weight:500;letter-spacing:.025em}
.brownstas-junca main :is(.sales-label,.eyebrow,.ef-label,.case-kicker,.ch-kicker){letter-spacing:.08em;text-transform:uppercase}
.brownstas-junca :is(.btn,.text-link,.catalog-filters button,.owner-hero-actions a,.chrome--nav a){font-size:var(--type-ui)!important;line-height:1.4!important;font-weight:500!important;letter-spacing:-.01em}
.brownstas-junca main :is(input,select,textarea){font-size:1rem!important;line-height:1.5}
.brownstas-junca main strong{font-weight:600}
.brownstas-junca main :is(.editorial-services,.editorial-evidence,.editorial-start-grid) h3{margin-block:0 1rem}
.brownstas-junca main :is(.sales-work,.catalog-card) :is(h2,h3){margin-block:1.25rem .75rem}
.brownstas-junca main :is(.editorial-services,.editorial-evidence,.editorial-start-grid,.sales-work) p{margin-block:0 1rem;max-width:66ch}
.brownstas-junca .owner-footer-links p{font-size:.875rem;line-height:1.6}
.brownstas-junca .owner-footer-bottom{font-size:var(--type-caption);line-height:1.5}
.brownstas-junca .owner-footer-word{font-weight:500;letter-spacing:-.055em}
.brownstas-junca .pl__block{font-size:1rem!important;line-height:1.65!important;font-weight:400}
@media(max-width:809px){
 :root{
  --type-body:1rem;
  --type-card:1.375rem;
  --type-section:1.75rem;
  --type-display:clamp(2.25rem,1.8rem + 2vw,2.5rem);
  --type-lead:1.125rem;
  --type-ui:.9375rem;
 }
 .brownstas-junca .hero__title{max-width:100%;letter-spacing:-.025em!important}
 .brownstas-junca main :is(.owner-hero-desc,.sales-heading>p,.sales-about p,.sales-contact>p){line-height:1.6!important}
 .brownstas-junca .pl__block{font-size:.875rem!important}
}
/* Working demos retain a compact title scale. */
html[data-type-surface=app]{--type-display:clamp(1.75rem,1.4rem + 1vw,2.25rem);--type-section:clamp(1.375rem,1.2rem + .5vw,1.75rem);--type-card:1.125rem}

/* Promoted page headings retain the established section-sized appearance. */
.brownstas-junca main h1.seo-page-heading{font-size:var(--type-section)!important;line-height:1.13!important;letter-spacing:-.035em!important}

/* UI/UX service: compact headings for a content-rich page. */
.service-detail{--type-display:clamp(2.5rem,2rem + 1.7vw,3.5rem);--type-section:clamp(1.875rem,1.5rem + .7vw,2.125rem);--type-card:1.375rem;--type-lead:1.1875rem}
.service-detail main .ds-page-title{max-width:23ch;margin-bottom:1.5rem}
.service-detail main .service-lead{max-width:62ch}
.service-detail main .service-section h2,.service-detail main .service-questions h2{max-width:30ch;margin-bottom:1.5rem;line-height:1.2!important}
.service-detail main h3{margin-block:0 .75rem;line-height:1.3!important}
.service-detail main summary{font-size:var(--type-body);line-height:1.5;font-weight:600}
@media(max-width:809px){.service-detail{--type-display:clamp(2rem,1.65rem + 1.6vw,2.25rem);--type-section:1.625rem;--type-card:1.25rem;--type-lead:1.125rem}}

/* Comfortable explanatory text and compact case sections. */
.brownstas-junca main :is(.tm-section,.case-section,.ch-section,.service-section) p{max-width:66ch}
@media(max-width:809px){.brownstas-junca main :is(.section-note,.case-kicker,.ch-kicker,.tm-section .sales-label,.project-state){font-size:.875rem!important}.brownstas-junca main :is(.case-section,.ch-section,.tm-section){padding-block:40px!important;scroll-margin-top:80px}}

@media(max-width:809px){.robot-clean-header{--type-display:clamp(2rem,7.8vw,2.5rem)}.robot-clean-header .hero__title{font-size:var(--type-display)!important}.robot-clean-header .owner-hero-desc{font-size:1.125rem!important}}

@media(min-width:810px){.robot-clean-header .hero__title{font-size:clamp(44px,4vw,56px)!important;max-width:44vw!important}.robot-clean-header .owner-hero-desc{max-width:42ch!important}}

@media(max-width:809px){main :is(p.tip,p.included,p.inline-error,p.dl-meta,p.cta-author,p.notice){font-size:.875rem!important;line-height:1.6!important}body:not(.brownstas-junca) main p.muted{font-size:.875rem!important}}
@media(max-width:359px){.robot-clean-header .hero__title{font-size:1.875rem!important}}

.brownstas-junca main .editorial-services h2{font-size:var(--type-card)!important;line-height:1.22!important;letter-spacing:-.025em!important;margin-block:0 1rem}
