/* Единая шапка, навигация и подвал портфолио.
   Используется главной и всеми внутренними страницами. */
.uniform-container {
  width:100%;
  max-width:1760px;
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(20px,3vw,52px);
  padding-right:clamp(20px,3vw,52px);
}
.uniform-header {
  position:sticky; top:0; z-index:1030;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #e5e9ed;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:none;
}
.uniform-header-inside {
  min-height:78px; height:auto;
  display:flex; align-items:center; flex-wrap:nowrap; gap:22px;
}
/* Личное портфолио: имя и должность без эмблемы/аватара. */
.uniform-brand {
  display:flex; align-items:center; min-width:0;
  margin-right:auto; flex:0 1 auto;
  text-decoration:none; color:#25313d;
}
.uniform-brand:hover { color:#25313d; }
.uniform-brand-copy { display:flex; flex-direction:column; min-width:0; gap:2px; }
.uniform-brand-name {
  font-size:18px; line-height:1.2; font-weight:750;
  letter-spacing:-.35px; color:#25313d;
}
.uniform-brand-role {
  font-size:12px; line-height:1.35; font-weight:450;
  color:#697786; white-space:nowrap;
}
.uniform-nav {
  display:flex; align-items:center; flex-wrap:nowrap;
  gap:clamp(12px,1.4vw,25px); margin:0; padding:0;
  font-size:14px; font-weight:650; color:#465563;
}
.uniform-nav a, .uniform-mobile-menu a {
  color:#465563; text-decoration:none; white-space:nowrap;
}
.uniform-nav a:hover, .uniform-nav a[aria-current="page"] {
  color:#263b50; text-decoration:underline; text-underline-offset:5px;
}
.uniform-resume {
  white-space:nowrap; flex:0 0 auto;
  padding:11px 15px; border:1px solid #cbd5dd;
  background:#fff; border-radius:8px;
  color:#344c60; font-size:13px; font-weight:650; text-decoration:none;
}
.uniform-resume:hover { background:#edf1f4; color:#263e52; }
.uniform-mobile-nav { display:none; position:relative; z-index:1040; }
.uniform-mobile-nav summary {
  display:flex; align-items:center; gap:7px; cursor:pointer;
  list-style:none; white-space:nowrap;
  padding:9px 10px; border:1px solid #cbd5dd;
  border-radius:8px; background:#fff; color:#344c60;
  font-size:13px; font-weight:650;
}
.uniform-mobile-nav summary::-webkit-details-marker { display:none; }
.uniform-mobile-nav[open] summary { background:#edf1f4; }
.uniform-mobile-menu {
  position:absolute; top:calc(100% + 9px); right:0;
  min-width:205px; padding:7px; border-radius:10px;
  border:1px solid #cbd5dd; background:#fff;
  box-shadow:0 12px 26px rgba(32,49,61,.14);
}
.uniform-mobile-menu a {
  display:block; padding:11px 12px;
  border-radius:7px; font-size:14px; font-weight:600;
}
.uniform-mobile-menu a:hover, .uniform-mobile-menu a:focus-visible {
  background:#eef2f5; color:#243c50;
}
.uniform-footer {
  border-top:1px solid #dfe5ea;
  color:#6b7784; font-size:13px; background:transparent;
  padding:27px 0;
}
.uniform-footer-inner {
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:14px;
}
.uniform-footer-links { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px; }
.uniform-footer-links a {
  color:#3a566b; text-decoration:none;
  border-bottom:1px solid #9caebc;
}
.uniform-footer-links a:hover {
  color:#233d53; border-bottom-color:#233d53;
}
.uniform-header a:focus-visible, .uniform-header summary:focus-visible,
.uniform-footer a:focus-visible {
  outline:3px solid #7396b1; outline-offset:3px;
}
@media(max-width:940px) {
  .uniform-nav { display:none; }
  .uniform-mobile-nav { display:block; margin-left:auto; }
}
@media(max-width:700px) {
  .uniform-header-inside { min-height:69px; gap:9px; }
  .uniform-brand-name { font-size:15px; }
  .uniform-brand-role { font-size:11px; white-space:normal; line-height:1.2; }
  .uniform-resume { padding:9px 10px; font-size:12px; }
  .uniform-footer-inner { align-items:flex-start; flex-direction:column; }
}
@media(max-width:440px) {
  .uniform-resume { display:none; }
  .uniform-mobile-menu { min-width:200px; }
}
