/* Приёмная и отдел продаж подписаны независимо от размера экрана. */
.header__inner { gap:22px; }
.nav { gap:18px; }
.header__contacts { display:grid; grid-template-columns:repeat(2,max-content); gap:18px; flex-shrink:0; }
.header__contact { display:flex; flex-direction:column; justify-content:center; min-height:44px; line-height:1.35; }
.header__contact small { color:var(--gold-light); font-size:10px; font-weight:600; }
.header__contact strong { font-size:14px; font-weight:700; white-space:nowrap; }
.header__contact:hover strong { color:var(--gold-light); }
.header__contact:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.menu__contact { display:grid; gap:2px; margin-bottom:10px; }
.menu__contact small { color:var(--gold-light); font-size:12px; }
.footer__contact { display:grid; gap:4px; margin-bottom:12px; }
.footer__contact > span { font-size:12px; font-weight:600; color:var(--gold-light); }
.project-nav__contacts { display:grid; grid-template-columns:repeat(2,max-content); gap:24px; }
.project-nav__contacts a { display:flex; flex-direction:column; justify-content:center; min-height:44px; line-height:1.4; }
.project-nav__contacts small { font-size:11px; color:var(--muted); }
.project-nav__contacts strong { font-size:14px; white-space:nowrap; }
.project-footer__contacts { display:flex; flex-wrap:wrap; gap:12px 32px; margin:20px 0; }
.project-footer__contacts p { margin:0; }
.project-footer__contacts strong { display:block; }

/* Кодексы раскрываются нажатием на название, без дополнительного значка. */
.ethics summary { display:inline-flex; justify-content:flex-start; text-decoration:underline; text-underline-offset:5px; text-decoration-color:rgba(255,255,255,.45); }
.ethics[open] summary { color:var(--gold-light); }

/* Каталог доступен справа при прокрутке, открывается только по нажатию. */
.catalog-float { position:fixed; right:20px; bottom:24px; z-index:80; display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:52px; padding:14px 20px; border-radius:28px; background:var(--gold-light); color:var(--deep-dark); font:700 14px/1.4 var(--font); box-shadow:0 6px 28px rgba(0,0,0,.24); white-space:nowrap; }
.catalog-float:hover { background:#fff2bb; }
.catalog-float:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.catalog-float--quiet { visibility:hidden; }
body:has(.menu.is-open) .catalog-float,
body:has(.modal[open]) .catalog-float { visibility:hidden; }

@media (min-width:901px) and (max-width:1200px) {
  .header__inner { gap:16px; }
  .header__contacts { grid-template-columns:max-content; gap:0; }
  .header__contact { min-height:32px; }
  .header__contact strong { font-size:12px; }
  .header__contact small { font-size:9px; }
  .nav { gap:12px; }
  .nav a { font-size:13px; }
}
@media (min-width:901px) and (max-width:1100px) {
  .nav { gap:10px; }
  .nav a { font-size:12px; }
  .logo img { height:26px; }
}
@media (max-width:900px) {
  html { overflow-x:clip; }
  .header__inner { gap:12px; }
  .header__contacts { display:block; margin-left:auto; }
  .header__contact--sales { display:none; }
  .header__contact strong { font-size:13px; }
  .menu-btn { margin-left:0; flex-shrink:0; }
  .catalog-float { right:12px; bottom:calc(86px + env(safe-area-inset-bottom)); min-height:48px; padding:12px 16px; gap:10px; font-size:12px; }
  body:has(.cookie.is-open) .catalog-float { visibility:hidden; }
  .project-nav { gap:12px; }
  .project-nav__contacts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .project-nav__contacts strong { font-size:12px; }
}
@media (max-width:560px) {
  .header__inner { gap:8px; }
  .logo img { height:24px; }
  .header__contact strong { font-size:12px; }
  .menu-btn { width:44px; height:44px; }
  .menu-btn span { left:13px; right:13px; }
  .project-nav { display:grid; grid-template-columns:auto 1fr; }
  .project-nav > a:nth-child(2) { justify-self:end; }
  .project-nav__contacts { grid-column:1/-1; }
  .footer, .project-wrap { padding-bottom:160px; }
}
@media (max-width:360px) {
  .logo img { height:22px; }
  .header__contact strong { font-size:11px; }
  .header__contact small { font-size:9px; }
}
    