/* Shared responsive refinements for the existing ZONT design system. */
:root { --contact-height: 68px; }
.zp-page h1, .zp-home-heading h2, .zp-card h3, .zp-visual-label strong,
.zp-article h2, .zp-page .zp-section-top h2, .zp-faq h2, .zp-cta h2 {
  font-family: var(--font-condensed), Arial, sans-serif;
}
.zp-index, .zp-eyebrow, .zp-process > a > span, .zp-visual-label > span {
  font-family: var(--font-mono), monospace;
}
main :where(h1,h2,h3) { overflow-wrap: break-word; }
.site-container :where(.zp-hero-grid,.zp-home-heading,.zp-content-grid,.contact-grid,.footer-top) > * { min-width: 0; }
.button { border-radius: 4px; font-size: 14px; gap: 20px; line-height: 1.5; padding-block: 12px; }
.text-link { font-size: 14px; }
.kicker, .tech-label { font-size: 11px; line-height: 1.6; }
.hero-grid-lines { opacity: .55; }
.hero-equipment { border-radius: 6px; }
.hero-proofline { gap: 0; }
.hero-proofline span, .hero-proofline span + span { white-space: normal; }
.hero-scenarios { padding-inline: 0; }
.hero-scenarios small { font-size: 12px; line-height: 1.5; }
.hero-scenarios a { padding: 24px; }
.hero-quick-contact { gap: 8px; }
.hero-quick-contact > span { flex-basis: 100%; font-size: 10px; margin-bottom: 3px; }
.hero-quick-contact a { min-height: 44px; box-shadow: none; }
.hero-quick-contact a strong { font-size: 12px; }
.hero-quick-contact svg, .header-messengers svg { flex: 0 0 auto; }
.icon-max path { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* The outer dock is one container; only its actions form four columns. */
.contact-dock {
  display: block !important; left: auto; right: 20px; bottom: 18px;
  width: 360px !important; max-width: calc(100% - 24px) !important;
  border: 1px solid #d0d9d1; border-radius: 14px; background: #fbfaf6;
  box-shadow: 0 8px 28px #0b2b2324; backdrop-filter: none; overflow: hidden;
}
.contact-dock .contact-dock-label { display: none; }
.contact-dock .contact-dock-actions {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
  width: 100% !important; gap: 0; background: transparent;
}
.contact-dock .contact-action {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-width: 0; min-height: var(--contact-height); height: auto;
  margin: 0; padding: 10px 4px; gap: 5px; border: 0; border-right: 1px solid #dce1d9;
  border-radius: 0; background: transparent; color: #173d33; box-shadow: none;
  text-align: center; text-decoration: none; font-style: normal;
}
.contact-dock .contact-action:last-child { border-right: 0; }
.contact-dock .contact-action:hover { background: #eaf0e5; filter: none; }
.contact-dock .contact-action:focus-visible { outline: 2px solid #a3372b; outline-offset: -4px; }
.contact-dock .contact-action > i {
  display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px;
  background: none; border-radius: 0; font-style: normal;
}
.contact-dock .contact-action svg { display: block; width: 22px; height: 22px; }
.contact-dock .contact-action > span { display: block; min-width: 0; width: 100%; }
.contact-dock .contact-action strong { display: block; font-size: 12px; line-height: 1.3; font-weight: 750; white-space: nowrap; }
.contact-dock .contact-action small { display: none; }
.contact-dock .contact-telegram > i { color: #0879ae; }
.contact-dock .contact-max > i { color: #6040d9; }
.contact-dock .zp-chat-symbol { border-color: currentColor; color: #173d33; }
.contact-dock .zp-chat-symbol::before { border-color: currentColor; background: #fbfaf6; }
.contact-dock .zp-chat-symbol::after { color: currentColor; }
.zp-chat-feedback { bottom: 100px; }

/* Consistent cards, readable captions and comfortable article measures. */
.zp-card, .zp-search, .zp-photo, .zp-aside, .finder-shell { border-color: #cdd6ca; }
.zp-card { border-radius: 6px; overflow: hidden; gap: 16px; padding: 28px; }
.zp-card-photo { margin: -28px -28px 8px; height: 220px; border-bottom: 1px solid #dce1d9; }
.zp-card h3 { font-size: 30px; line-height: 1.15; }
.zp-card b { min-height: 32px; gap: 14px; align-items: center; }
.zp-card b i { flex-shrink: 0; }
.zp-model-card h3 { margin-top: 0 !important; }
.zp-model-facts dt { font-size: 13px; }
.zp-home-models .zp-section-top { align-items: end; }
.zp-process > a { min-height: 240px; }
.zp-platform, .zp-home-models { padding-block: 80px; }
.zp-photo { border-radius: 6px; }
.zp-spec-highlights > div { border-radius: 4px; }
.zp-reading-tools { background: #e8ede2; color: #173d33; border-color: #c6d0be; border-radius: 6px; }
.zp-reading-tools li a { color: #173d33; }
.zp-reading-tools button { color: #173d33; border-color: #b6c3ad; border-radius: 4px; }
.zp-reading-tools button:hover { background: #d5dfcd; color: #173d33; }
.zp-reading-tools input { background: #fff; color: #173d33; border-color: #b6c3ad; }
.zp-reading-tools .zp-reading-status { color: #355c40; }
.zp-reading-top { color: #173d33 !important; border-color: #a8b99e; }
.zp-article { line-height: 1.8; }
.zp-article section { margin-bottom: 48px; }
.zp-article .zp-card-photo { margin: -22px -22px 8px; }
.zp-breadcrumbs, .breadcrumbs { overflow-wrap: anywhere; }
.platform-grid p, .industry-grid p, .process-grid p, .trust-grid p,
.official-media-copy p, .product-card-copy > span { font-size: 15px; line-height: 1.7; }
.product-card-copy > p, .card-index, .product-card-facts, .product-card-link,
.platform-grid i, .process-grid > article > span, .trust-grid > article > span { font-size: 11px; line-height: 1.6; }
.architecture-rail small { font-size: 12px; line-height: 1.5; }
.architecture-panel li, .architecture-panel > a { font-size: 13px; line-height: 1.6; }
.finder-options span { font-size: 13px; line-height: 1.6; }
.finder-next, .finder-nav > button:not(.finder-next), .finder-reset { font-size: 14px; min-height: 44px; }
.direct-contact-head p { font-size: 15px; line-height: 1.7; }
.direct-contact-item small { font-size: 10px; line-height: 1.5; }
.direct-contact-item strong { font-size: 14px; line-height: 1.5; }
.direct-contact-item { box-shadow: none; border-radius: 5px; }
.footer-grid p, .footer-legal p { font-size: 13px; line-height: 1.7; }
.footer-grid nav a, .footer-topics a, .social-links a { font-size: 13px; line-height: 1.5; }
.footer-grid nav a, .footer-topics a, .zp-footer-directory a { padding-block: 8px; }
.social-links a { min-height: 44px; }
.site-footer { padding-bottom: 100px; }

@media (min-width:1200px) {
  .global-header .header-shell { grid-template-columns: 220px minmax(0,1fr) 96px 182px !important; gap: 16px !important; }
  .header-messengers { padding-inline: 0; border: 0; }
  .header-messengers a { width: 42px; height: 42px; padding: 0; box-shadow: none; }
  .global-header .header-phone { min-width: 0; }
  .zp-navigation { padding-inline: 0; gap: 14px !important; }
  .zp-navigation .zp-nav-group summary, .zp-nav-contact { font-size: 13px; }
  .zp-navigation .zp-nav-links { border-radius: 6px; }
}
@media (min-width:1101px) and (max-width:1199px) {
  .global-header .header-shell { grid-template-columns: 160px minmax(0,1fr) 90px 166px; padding-inline: 24px; }
  .brand { gap: 0; }.brand strong { font-size: 28px; }.brand > span,.brand small { display: none; }
  .desktop-nav { padding-inline: 8px; }.zp-navigation { gap: 10px !important; }
  .header-messengers { padding: 0; border: 0; gap: 6px; }
  .header-messengers a { width: 40px; min-width: 40px; padding: 0; box-shadow: none; }
  .header-phone { padding-left: 8px; }.header-phone strong { font-size: 16px; white-space: nowrap; }
}
@media (max-width:1100px) {
  body { padding-bottom: 0; }
  .contact-dock { left: auto; right: 16px; }
  .mobile-menu-layer { overscroll-behavior: contain; }
  .mobile-menu-grid nav a { font-family: var(--font-manrope),Arial,sans-serif; text-transform: none; }
  .mobile-menu-shortcuts a { min-height: 64px; }
  .mobile-menu-shortcuts strong { font-size: 14px; }.mobile-menu-shortcuts small { font-size: 12px; line-height: 1.5; }
  .header-messengers a { box-shadow: none; }
}
@media (max-width:767px) {
  :root { --pad: 20px; --header: 68px; }
  .global-header { background: #f3f1ebf5; }
  .header-shell { grid-template-columns: minmax(0,1fr) auto; }
  .header-phone,.header-messengers { display: none; }
  .brand strong { font-size: 28px; letter-spacing: -.04em; }
  .menu-toggle { width: 44px; height: 44px; border-radius: 5px; }
  .contact-dock {
    left: 12px; right: 12px; width: calc(100% - 24px) !important;
    max-width: 420px !important; margin-inline: auto;
    bottom: calc(10px + env(safe-area-inset-bottom,0px)) !important;
  }
  .contact-dock .contact-action { min-height: 64px; padding: 8px 3px; gap: 5px; }
  .contact-dock .contact-action strong { font-size: 12px; }
  .site-footer { padding-bottom: calc(104px + env(safe-area-inset-bottom,0px)); }
  .hero-layout { padding-top: 28px; gap: 0; }
  .hero-copy { padding-bottom: 30px; }
  .hero-copy h1 { font-size: clamp(32px,9.1vw,58px); line-height: 1.04; letter-spacing: -.025em; text-wrap: initial; }
  .hero-copy .kicker { font-size: 10px; margin-bottom: 20px; letter-spacing: .08em; }
  .hero-mobile-equipment { height: 260px; margin: 24px 0; border: 0; border-radius: 6px; background: #eceee7; }
  .hero-mobile-equipment img { height: 260px; width: 100%; padding: 6px; }
  .hero-lead { font-size: 16px; line-height: 1.7 !important; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .hero-actions .button { width: 100%; }
  .hero-quick-contact { gap: 8px; margin-top: 20px; }
  .hero-quick-contact .contact-phone { flex-basis: 100%; justify-content: center; }
  .hero-quick-contact .contact-telegram,.hero-quick-contact .contact-max { flex: 1; justify-content: center; }
  .hero-proofline { flex-wrap: wrap; overflow: visible; padding-block: 12px; margin-top: 24px; gap: 8px 16px; }
  .hero-proofline span,.hero-proofline span + span { flex: 0 1 auto; margin: 0; padding: 0; border: 0; white-space: normal; font-size: 10px !important; line-height: 1.6; }
  .hero-scenarios { margin-top: 0; }
  .hero-scenarios a { padding: 20px 16px; min-height: 148px; grid-template-columns: minmax(0,1fr) 16px; gap: 10px; }
  .hero-scenarios a > span { grid-column: 1; grid-row: 1; }
  .hero-scenarios a strong { grid-column: 1; grid-row: 2; font-size: 15px; }
  .hero-scenarios a small { grid-column: 1 / -1; grid-row: 3; font-size: 12px; }
  .hero-scenarios a i { grid-column: 2; grid-row: 1; align-self: start; }
  .zp-platform,.zp-home-models { padding-block: 56px; }
  .zp-home-heading h2,.zp-page h1 { font-size: clamp(34px,9vw,48px); line-height: 1.1; }
  .zp-home-heading h2 { text-wrap: balance; }
  .zp-page h1 { overflow-wrap: break-word; }
  .zp-page .zp-section-top h2,.zp-faq h2 { font-size: 32px; line-height: 1.15; }
  .zp-section-top { margin-bottom: 26px; }
  .zp-home-models .zp-section-top > a { white-space: normal; line-height: 1.6; }
  .zp-card { padding: 24px; gap: 14px; }.zp-card-photo { margin: -24px -24px 6px; height: 216px; }
  .zp-card h3 { font-size: 28px; }.zp-model-card p { font-size: 15px !important; }
  .zp-home-heading p,.zp-lead { font-size: 16px; line-height: 1.75; }
  .zp-hero { padding-top: calc(var(--header) + 30px); }
  .zp-breadcrumbs { margin-bottom: 24px; gap: 8px; }
  .zp-content-grid { gap: 32px; }.zp-article { font-size: 16px; }
  .zp-article h2 { font-size: 30px; line-height: 1.2; }
  .zp-reading-tools { padding: 18px; }
  .zp-reading-tools li { gap: 8px; }.zp-reading-tools li a { font-size: 15px; }
  .zp-reading-tools button { font-size: 12px; padding: 8px; }
  .intro-statement h2,.section-heading h2,.content-section-title h2,.request-copy h2,
  .page-hero h1,.article-hero h1,.anti-hero-copy h1,.solution-detail-content h1 {
    font-size: clamp(34px,9.2vw,50px); line-height: 1.08; letter-spacing: -.025em;
  }
  .intro-statement-grid > div > p,.split-heading > p { font-size: 16px; line-height: 1.75; }
  .platform-grid a { min-height: 220px; padding: 24px; }.platform-grid h3 { margin-top: 28px; }
  .architecture-panel { min-height: 0; padding: 30px 22px; }
  .architecture-panel h3 { font-size: 38px; line-height: 1.08; }
  .architecture-panel > p:not(.tech-label) { font-size: 15px; }
  .architecture-rail strong { font-size: 17px; line-height: 1.2; }
  .architecture-rail button { padding: 16px 12px; gap: 6px; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .architecture-rail button > span { grid-row: auto; font-size: 11px; }
  .architecture-rail small { font-size: 11px; }
  .architecture-panel > a { margin-top: 28px; }
  .finder-options.grid-four,.finder-options.grid-three { grid-template-columns: 1fr; }
  .finder-options button { min-height: 106px; padding: 20px; justify-content: center; }
  .finder-options button.selected::before { position: absolute; right: 20px; margin: 0; }
  .finder-options button { position: relative; padding-right: 38px; }
  .finder-options strong { font-size: 16px; }.finder-options span { font-size: 14px; }
  .finder-nav { flex-wrap: wrap; gap: 16px; }.finder-next { min-width: 0; width: 100%; }
  .finder-result { min-height: 0; }.finder-result h3 { font-size: 38px; line-height: 1.1; }
  .product-card-copy { min-height: 0; gap: 8px; }.product-card-copy h3 { margin: 10px 0; }
  .product-card-image,.product-card-image img { height: 260px; min-height: 260px; }
  .official-photo,.product-gallery-item,.pchela-gallery-item,.company-field-item,.media-photo-item { min-height: 240px; }
  .official-photo-grid { grid-template-columns: 1fr; }
  .direct-contact-panel { padding: 24px 20px; }.direct-contact-head h3 { line-height: 1.1; }
  .direct-contact-grid { grid-template-columns: 1fr; }.direct-contact-item { min-height: 78px; }
  .contact-details h2 { font-size: 36px; line-height: 1.1; }.contact-details { padding: 26px 22px; }
  .contact-details dd { font-size: 14px; }.contact-details dt { font-size: 11px; }
  .footer-brand h2 { font-size: 38px; line-height: 1.08; }
  .footer-grid nav { gap: 8px 18px; }.footer-topics > div { gap: 8px 20px; }
  .footer-bottom { flex-wrap: wrap; gap: 16px; line-height: 1.6; }
  .mobile-menu-contact { padding: 22px 18px; }.mobile-menu-note { font-size: 11px; line-height: 1.8; }
}
@media (min-width:681px) and (max-width:767px) {
  .home-hero { padding-top: var(--header); }.hero-mobile-equipment { display: none; }
  .hero-equipment { min-height: 420px; }.hero-equipment img { height: 420px; }
  .mobile-menu-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width:359px) {
  :root { --pad: 16px; }
  .hero-copy h1 { font-size: 30px; }
  .contact-dock { left: 8px; right: 8px; width: calc(100% - 16px) !important; }
  .contact-dock .contact-action strong { font-size: 11px; }
  .hero-scenarios { grid-template-columns: 1fr; }.hero-scenarios a { min-height: 0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }.hero-equipment img { animation: none; }
}

/* Final reading and decorative layout checks. */
.breadcrumbs { font-size: 13px; line-height: 1.65; }
@media(max-width:767px) { .architecture-code { font-size: 260px; right: 0; bottom: -40px; } }

/* Intrinsic grid sizes must not widen narrow screens. */
.official-media-feature > *, .media-video-layout > *, .pchela-grid > *, .rls-grid > *, .product-hero-grid > *, .product-editorial-grid > * { min-width: 0; }
@media(max-width:767px) {
  .official-media-feature,.media-video-layout,.pchela-grid,.rls-grid { grid-template-columns: minmax(0,1fr); }
  .zp-video-poster span { max-width: 100%; padding: 14px 18px; font-size: 15px; line-height: 1.6; white-space: normal; }
  .pchela-copy h2,.rls-copy h2 { font-size: clamp(34px,9.2vw,50px); line-height: 1.08; }
  .pchela-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pchela-map span,.pchela-map strong { min-width: 0; padding: 12px 8px; overflow-wrap: break-word; }
}

/* Bounded dropdowns and catalogue section headers. */
@media(min-width:1101px) {
  .zp-navigation .zp-nav-links { position: fixed; left: 50%; top: var(--header); transform: translateX(-50%); width: min(760px,calc(100vw - 48px)); max-height: calc(100dvh - var(--header) - 24px); overflow-y: auto; }
}
.catalog-group-head > * { min-width: 0; }
@media(max-width:767px) {
  .catalog-group-head { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .catalog-group-head h2 { font-size: clamp(28px,8vw,38px); line-height: 1.15; overflow-wrap: break-word; }
  .catalog-group-head p { color: #586c5d; font-size: 15px; }
}

/* Article teasers keep their content inside a single narrow column. */
.media-grid > *, .capability-grid > *, .document-grid > *, .service-grid > * { min-width: 0; }
@media(max-width:767px) {
  .media-grid { grid-template-columns: minmax(0,1fr); }
  .media-card { padding: 24px; min-height: 300px; }
  .media-card h2 { font-size: 28px; line-height: 1.15; }
  .media-card p,.media-card a { font-size: 14px; line-height: 1.65; }
  .media-card > span { font-size: 11px; }
}
