/* Shared public navigation: non-modal disclosure, in the page flow. */
[data-site-header] { --nav-surface: var(--surface, var(--paper, #fff)); --nav-ink: var(--ink); --nav-accent: var(--accent, var(--green)); --nav-on-accent: var(--on-accent, var(--on-green, #222c28)); }
[data-site-header][data-site="mezoniny"] { --nav-surface: var(--paper); --nav-accent: #DCED69; --nav-on-accent: #222C28; }
[data-site-header] [data-header-row], [data-site-header] [data-nav-primary], [data-site-header] .brand { min-inline-size: 0; }
[data-site-header] [data-mobile-toggle] { display: none; flex: 0 0 44px; inline-size: 44px; block-size: 44px; padding: 0; align-items: center; justify-content: center; }
[data-mobile-toggle] svg { inline-size: 24px; block-size: 24px; }
[data-mobile-toggle] line { transform-origin: center; transition: transform .18s ease, opacity .18s ease; }
[data-mobile-toggle] .menu-line-top { transform-origin: 12px 6px; }
[data-mobile-toggle] .menu-line-bottom { transform-origin: 12px 18px; }
[data-mobile-toggle][aria-expanded="true"] .menu-line-top { transform: translateY(6px) rotate(45deg); }
[data-mobile-toggle][aria-expanded="true"] .menu-line-middle { opacity: 0; }
[data-mobile-toggle][aria-expanded="true"] .menu-line-bottom { transform: translateY(-6px) rotate(-45deg); }
[data-site-header] .mobile-navigation[hidden] { display: none !important; }
[data-site-header] .mobile-navigation { display: block; margin: 0; padding: 1rem max(1rem, calc((100% - 1280px) / 2)); border-block-start: 1px solid var(--line); background: var(--nav-surface); color: var(--nav-ink); overflow-y: auto; overscroll-behavior-y: contain; max-block-size: calc(100vh - var(--menu-top, 120px) - 8px); max-block-size: calc(100dvh - var(--menu-top, 120px) - env(safe-area-inset-bottom) - 8px); scrollbar-gutter: stable; }
[data-site-header] .mobile-navigation a { display: flex; align-items: center; min-block-size: 44px; padding: .5rem; font: 600 1rem/1.5 "Segoe UI", Arial, sans-serif; color: var(--nav-ink); overflow-wrap: anywhere; text-decoration: none; border-radius: .25rem; }
[data-site-header] .mobile-navigation a:hover, [data-site-header] .mobile-navigation a:focus-visible, [data-site-header] .mobile-navigation a[aria-current] { text-decoration: underline; text-underline-offset: .25em; }
[data-site-header] .mobile-menu-contacts { display: grid; gap: 0; border-block-start: 1px solid var(--line); margin-block-start: 1rem; padding-block-start: .5rem; }
[data-site-header] .mobile-menu-contacts a { font-size: .875rem; font-weight: 400; }
[data-site-header] .mobile-navigation .mobile-menu-cta { justify-content: center; min-block-size: 48px; background: var(--nav-accent); color: var(--nav-on-accent); margin-block-start: 1rem; border: 1px solid var(--nav-accent); text-align: center; }
[data-top-contacts] { min-inline-size: 0; }
[data-top-contacts] a { overflow-wrap: anywhere; min-inline-size: 0; }
main :where(.hero-copy,.hero-grid,.hero,.body-layout,.content-layout,.prose,.field,.result-panel,.contact-cards,.contact-panel) { min-inline-size: 0; }
main :where(input,select,textarea), dialog :where(input,select,textarea) { max-inline-size: 100%; }
main :where(h1,h2,h3), [data-top-contacts] { overflow-wrap: break-word; }
.chat-message,.chat-bubble,.chat-sources,.consultant-message { overflow-wrap: anywhere; }
@media (max-width:85rem) {
  [data-site-header].nav-ready [data-nav-primary] { display: none; }
  [data-site-header]:not(.nav-ready) [data-nav-primary] { display: flex; flex-wrap: wrap; flex: 1 0 100%; order: 3; gap: .5rem 1rem; margin: 0; }
  [data-site-header]:not(.nav-ready) [data-header-row] { flex-wrap: wrap; }
  [data-site-header].nav-ready [data-mobile-toggle] { display: inline-flex; }
  [data-site-header].nav-ready [data-header-row] { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 1rem; padding-block: .5rem; min-block-size: 72px; }
  [data-site-header] [data-header-actions] { display: flex; flex: 0 0 auto; align-items: center; gap: .5rem; margin-inline-start: auto; }
  [data-site-header].nav-ready [data-header-actions] > :is(.header-cta,.button,.btn) { display: none; }
  [data-site-header] [data-header-actions] > button { min-inline-size: 44px; min-block-size: 44px; flex-shrink: 0; }
  [data-site-header] .brand { flex: 0 1 14.5rem; inline-size: min(14.5rem, calc(100% - 112px)); max-inline-size: calc(100% - 112px); }
  [data-site-header] .brand img { inline-size: 100%; max-inline-size: 100%; block-size: auto; object-fit: contain; }
  [data-top-contacts] { display: flex; flex-wrap: wrap; gap: 0 1rem; align-items: center; }
  [data-top-contacts] a { display: inline-flex; align-items: center; min-block-size: 44px; font-size: .875rem; line-height: 1.5; }
}
@media (max-width:45rem) {
  .topbar .wrap { justify-content: flex-start; }
  [data-top-contacts], .topbar .topcontacts { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; inline-size: 100%; font-size: .875rem; line-height: 1.5; padding-block: 0; }
  [data-top-contacts] a, .topbar .topcontacts a { font-size: .875rem; line-height: 1.5; min-block-size: 44px; max-inline-size: 100%; overflow-wrap: anywhere; }
  [data-top-contacts] .header-contact-page { display: none; }
  [data-site-header] .brand { flex-basis: 12rem; }
  [data-site-header] [data-header-row] { gap: 1rem; }
  main :where(.grid-4,.forms-grid,.form-grid,.choice-grid,.detail-list,.cards.two) { grid-template-columns: minmax(0,1fr); }
  main :where(.surface,.form-panel,.result-panel,.contact-cards)>* { max-inline-size: 100%; }
  main :where(input,select,textarea), dialog :where(input,select,textarea) { font-size: 1rem; }
  dialog { max-block-size: calc(100dvh - 2rem); max-inline-size: calc(100vw - 2rem); }
  .contact-dialog { padding: 1rem; }
  .contact-dialog .form-grid { grid-template-columns: minmax(0,1fr); }
  .chat-dialog { inline-size: calc(100% - 2rem); right: 1rem; bottom: calc(4.5rem + env(safe-area-inset-bottom)); padding: 1rem; max-block-size: calc(100dvh - 6rem - env(safe-area-inset-bottom)); }
  .contact-dock { right: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); }
  .chat-launch { bottom: max(1rem, env(safe-area-inset-bottom)); }
  .footer :where(a[href^="mailto:"],address) { overflow-wrap: anywhere; }
  .footer-bottom { flex-wrap: wrap; }
}
@media (max-width:30rem) {
  main :where(.cards,.grid-3,.type-grid,.steps,.spec,.hero-benefits,.stats), .footer-grid { grid-template-columns: minmax(0,1fr); }
  .footer-grid > :first-child { grid-column: auto; }
  .data-table td { grid-template-columns: minmax(0,1fr); gap: .5rem; }
  .actions { align-items: stretch; }
  .actions > :is(.button,.btn) { inline-size: 100%; }
}
@media (min-width:85.001rem) {
  [data-site-header] [data-nav-primary] { display: flex; }
  [data-site-header] .mobile-navigation { display: none; }
}
@media (prefers-reduced-motion:reduce) { [data-mobile-toggle] line { transition: none; } }
@media print { [data-site-header] .mobile-navigation { display: none !important; } }
