/* Intrinsic-size safety for zoom, long Russian words and accessible text sizing. */
main>section,.section>*,.section-head>*,.form-grid>*,.services-grid>*,.model-layout>*,.stage-toolbar>*,.footer-top>*{min-width:0}
h1,h2,h3,.contact-address,.license-card dd,.inquiry-copy>a,.field,.footer p{overflow-wrap:anywhere}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.license-card dl{min-width:0}.license-card dl>div{min-width:0}
.flow-tabs{min-width:0}.flow-tabs button{min-width:0}
.stage-foot span{flex-shrink:0}
.hero h1 br:nth-of-type(2){display:block}
.hero-copy{min-width:0}.hero h1{overflow-wrap:anywhere}

.hero-bottom .button{white-space:normal;max-width:100%}.hero-bottom{min-width:0}.hero-bottom p{min-width:0}
.license-top{flex-wrap:wrap}.text-link{max-width:100%;overflow-wrap:anywhere;flex-shrink:1}
.license-card .text-link{line-height:1.6}
.hotspot[hidden]{display:none}
[data-theme=dark] :focus-visible,.header.is-dark :focus-visible{outline-color:#ffa27d}
.header{height:auto;min-height:100px;padding-block:18px}
.service-row summary>span:first-child{min-width:0;overflow-wrap:anywhere;flex:1}
.service-row summary>span:last-child{display:flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1;flex:0 0 1em}
.eyebrow{overflow-wrap:anywhere}
.faq summary{min-width:0;overflow-wrap:anywhere}.faq summary>span:last-child{width:1em;text-align:center;flex:0 0 1em}.faq summary .faq-question{min-width:0;flex:1;width:auto;text-align:left;font-size:inherit;font-weight:inherit;overflow-wrap:anywhere;transform:none!important}
.hotspot-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
.hotspot-leaders line{stroke:#143c60;stroke-width:1;opacity:.65}.hotspot-leaders circle{fill:#143c60}

@media(max-width:760px){.hero-bottom{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.header{min-height:80px;padding-block:12px}.form-grid{grid-template-columns:minmax(0,1fr)}.stage-foot span{display:none}.step summary{grid-template-columns:30px minmax(0,1fr) max-content}.step summary>span:last-child{min-width:0}}
@media(max-width:350px){.hero h1{font-size:42px;letter-spacing:-.067em}.hero-photo figcaption>span:first-child{font-size:20px}.flow-tabs button{padding-inline:7px}.flow-tabs button span{display:none}.section-head h2,.stage-intro h2,.company h2,.contacts h2{font-size:39px}.inquiry h2{font-size:48px}}

/* Readable typography and controls at the point of use. */
h1,h2,h3{letter-spacing:-.035em;word-spacing:.04em}
.hero h1{letter-spacing:-.05em;word-spacing:.06em}

.header nav,.header-phone{font-size:14px}
.header-phone,.hero-ribbon a{min-height:44px;display:inline-flex;align-items:center}
.hero-photo figcaption,.hero-ribbon{font-size:14px}
.flow-panel #flow-description,.service-body p,#objects .object-card p:not(.eyebrow),.accountability-copy>p,.accountability-photo p,.step p,.faq details p{font-size:16px;line-height:1.75}
.flow-panel .eyebrow,.object-card .eyebrow,.document .eyebrow{font-size:12px;line-height:1.6}
.flow-steps li,.flow-panel .button,.text-link,.object-card a,.doc-tabs button,.document li,.field,#motion-toggle,#model-reset,.mobile-contact a,.footer-top>a:last-child{font-size:14px}
.flow-steps li:before,.route-caption,.stage-foot,.service-note,.service-seal p,.document>p:last-child,.license-card dt,.license-card .small,.license-valid,.field-error,.consent-field,.footer>p.small,.editorial-note{font-size:12px}
.document h3{line-height:1.3}.document li{padding:12px 0}
.doc-tabs button,#motion-toggle,#model-reset{min-height:44px}
.hotspot{min-width:44px;min-height:44px;left:0;top:0;transform:translate(var(--hotspot-x,0px),var(--hotspot-y,0px)) translate(-50%,-50%)}
.hotspot-note{padding:22px 24px}.hotspot-note strong{display:block;padding-right:26px;line-height:1.4}.hotspot-note p{font-size:14px;line-height:1.7}.hotspot-note button{width:44px;height:44px}
.form-status{font-size:14px}.consent-field{line-height:1.85}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:850px){.header nav{font-size:16px}}
@media(max-width:600px){.hero-ribbon{font-size:13px}.hero-photo figcaption>span:last-child{font-size:12px}.flow-tabs button{font-size:14px}.flow-tabs button span{font-size:12px;margin-right:7px}.flow-steps li{padding:13px 0}.flow-panel h3{font-size:32px;line-height:1.15}.hotspot-note{left:12px;right:12px;bottom:74px;padding:20px}.stage-foot{line-height:1.7}.doc-tabs button{padding-inline:9px}.mobile-contact a{font-size:14px}.object-card{min-height:450px}.inquiry-copy>p.small{font-size:14px}}
@media(max-width:350px){.hero h1{font-size:40px;letter-spacing:-.055em}.flow-tabs button span{display:none}.hero-ribbon{font-size:12px}.mobile-contact a{font-size:13px}}
.hotspot-note{position:fixed;z-index:60;bottom:auto;right:auto;margin:0;width:min(380px,calc(100vw - 28px));max-width:none;overflow:auto;overscroll-behavior:contain}
.flow-panel #flow-description{overflow-wrap:anywhere;min-width:0}
@media(max-width:600px){.header-phone{display:none}}

/* The emblem, outlined name and live descriptor have separate optical roles. */
.header .brand{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:12px;width:262px;max-width:calc(100% - 60px);flex-shrink:0;min-height:52px}
.brand-symbol,.brand-wordmark{display:grid;min-width:0}
.brand-copy{min-width:0}
.header .brand img{display:block;grid-area:1/1;width:100%;height:auto;filter:none}
.brand .brand-inverse{visibility:hidden}
.header.is-dark .brand .brand-ink{visibility:hidden}
.header.is-dark .brand .brand-inverse{visibility:visible}
.header .brand-descriptor{display:block;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:.02em;text-transform:none;margin:5px 0 0;overflow-wrap:anywhere}
@media(max-width:1100px){.header .brand{width:218px;grid-template-columns:38px minmax(0,1fr);column-gap:10px}}
@media(max-width:600px){.header .brand{width:210px;grid-template-columns:36px minmax(0,1fr);min-height:44px}.header .brand-descriptor{margin-top:4px;letter-spacing:0}}
