@import url("./portfolio-chrome.css?v=20261026-type1");
/* Внутренние страницы портфолио: единый деловой стиль, согласованный с главной.
   Изолирован от production и от сторонних страниц. */
:root {
  --portfolio-ink:#25313d;
  --portfolio-text:#425160;
  --portfolio-muted:#5d6a78;
  --portfolio-line:#dfe5ea;
  --portfolio-paper:#f7f8fa;
  --portfolio-accent:#344e62;
  --portfolio-accent-hover:#263e52;
  --portfolio-radius:12px;
}
body.portfolio-inner {
  background:var(--portfolio-paper);
  color:var(--portfolio-ink);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
}
body.portfolio-inner .container-portfolio {
  max-width:1760px;
  padding-left:clamp(20px,3vw,52px);
  padding-right:clamp(20px,3vw,52px);
}
body.portfolio-inner .app-main > .container-portfolio {
  margin-top:32px !important;
  margin-bottom:52px !important;
}
body.portfolio-inner .page-shell {
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
  box-shadow:none !important;
}
body.portfolio-inner .page-title {
  font-size:clamp(30px,2.5vw,42px);
  font-weight:730;
  line-height:1.22;
  letter-spacing:-.9px;
  color:var(--portfolio-ink);
  margin:0 0 13px;
  max-width:1050px;
}
body.portfolio-inner .page-subtitle {
  max-width:1100px;
  font-size:16px;
  line-height:1.65;
  color:var(--portfolio-muted);
}
body.portfolio-inner .page-section-gap { margin-bottom:28px !important; }
body.portfolio-inner .page-navigation { margin-bottom:27px; }
body.portfolio-inner a { text-decoration:none; }
body.portfolio-inner a:focus-visible,
body.portfolio-inner button:focus-visible,
body.portfolio-inner summary:focus-visible {
  outline:3px solid #7396b1;
  outline-offset:3px;
}
body.portfolio-inner .btn,
body.portfolio-inner a.btn {
  --bs-btn-font-weight:650;
  border-radius:8px;
  font-size:14px;
  font-weight:650;
  min-height:43px;
  line-height:1.35;
  padding:11px 17px;
  background-image:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  transition:background-color .16s,border-color .16s;
}
body.portfolio-inner .btn-primary {
  background-color:var(--portfolio-accent) !important;
  border:1px solid var(--portfolio-accent) !important;
  color:#fff !important;
}
body.portfolio-inner .btn-primary:hover {
  background-color:var(--portfolio-accent-hover) !important;
  border-color:var(--portfolio-accent-hover) !important;
}
body.portfolio-inner .btn-outline-secondary,
body.portfolio-inner .btn-outline-primary {
  background:#fff !important;
  border:1px solid #c7d1d9 !important;
  color:var(--portfolio-accent) !important;
}
body.portfolio-inner .btn-outline-secondary:hover,
body.portfolio-inner .btn-outline-primary:hover {
  background:#ebf0f3 !important;
  border-color:#95a9b9 !important;
}
body.portfolio-inner .card {
  background:#fff;
  border:1px solid var(--portfolio-line);
  border-radius:var(--portfolio-radius) !important;
  box-shadow:none !important;
}
body.portfolio-inner .text-muted,
body.portfolio-inner .text-secondary { color:var(--portfolio-muted) !important; }
body.portfolio-inner .badge {
  font-size:12px;
  font-weight:600;
  color:#4b6273 !important;
  background:#eef2f4 !important;
  border:1px solid #e1e7eb !important;
  border-radius:7px;
  padding:6px 10px;
}

/* Общая шапка и подвал. */
.portfolio-header {
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #e5e9ed;
}
.portfolio-header__inner {
  min-height:78px;
  display:flex;
  align-items:center;
  gap:24px;
}
.portfolio-brand {
  display:flex;
  align-items:center;
  gap:11px;
  margin-right:auto;
  flex-shrink:0;
  color:var(--portfolio-ink);
  text-decoration:none !important;
}
.portfolio-brand__mark {
  flex:0 0 42px; height:42px; border-radius:10px;
  background:#344556; color:#fff;
  display:grid; place-items:center;
  font-size:13px; font-weight:700; letter-spacing:-.5px;
}
.portfolio-brand__name { font-size:16px; font-weight:700; line-height:1.3; }
.portfolio-brand__role { font-size:12px; color:#697786; line-height:1.3; }
.portfolio-nav { display:flex; align-items:center; flex-wrap:wrap; gap:25px; }
.portfolio-nav a {
  color:#465563; font-size:14px; font-weight:650;
  text-decoration:none; white-space:nowrap;
}
.portfolio-nav a:hover,
.portfolio-nav a[aria-current="page"] { color:#263b50; text-decoration:underline; text-underline-offset:5px; }
.portfolio-resume-link {
  border:1px solid #cbd5dd; background:#fff; border-radius:8px;
  padding:11px 15px; font-size:13px; font-weight:650; color:#344c60;
  white-space:nowrap;
}
.portfolio-resume-link:hover { background:#edf1f4; }
.portfolio-mobile-nav { display:none; position:relative; z-index:20; }
.portfolio-mobile-nav summary {
  display:flex; align-items:center; gap:7px; cursor:pointer; list-style:none;
  padding:10px 11px; background:#fff; color:#344c60; font-size:13px;
  font-weight:650; border:1px solid #cbd5dd; border-radius:8px;
}
.portfolio-mobile-nav summary::-webkit-details-marker { display:none; }
.portfolio-mobile-nav__links {
  position:absolute; right:0; top:calc(100% + 8px);
  min-width:205px; padding:7px; background:#fff;
  border:1px solid #cbd5dd; border-radius:9px;
  box-shadow:0 12px 24px rgba(32,49,61,.14);
}
.portfolio-mobile-nav__links a {
  display:block; padding:10px 12px; border-radius:6px;
  font-size:14px; font-weight:600; color:#344c60;
}
.portfolio-mobile-nav__links a:hover { background:#eef2f5; }
.portfolio-footer {
  border-top:1px solid var(--portfolio-line);
  background:transparent; color:#6b7784;
  font-size:13px; padding:22px 0 28px;
}
.portfolio-footer__inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:14px;
}
.portfolio-footer__links { display:flex; flex-wrap:wrap; gap:14px; }
.portfolio-footer a { border-bottom:1px solid #9caebc; color:#3a566b; }
.portfolio-footer a:hover { border-bottom-color:#304b61; }

/* Списки проектов и материалов. */
body.portfolio-inner .projects-heading { padding:22px 0 9px; }
body.portfolio-inner .projects-heading__eyebrow {
  font-size:13px; font-weight:650; color:#627180; margin-bottom:10px;
}
body.portfolio-inner .project-card {
  background:#fff; border:1px solid var(--portfolio-line);
  border-radius:12px; box-shadow:none;
  padding:27px 28px; display:flex; flex-direction:column;
  height:100%; min-width:0;
  transition:border-color .16s;
}
body.portfolio-inner .project-card:hover,
body.portfolio-inner .project-card:focus-within,
body.portfolio-inner .artifact-card:hover,
body.portfolio-inner .artifact-card:focus-within {
  border-color:#aebec9; box-shadow:none; transform:none;
}
body.portfolio-inner .portfolio-card-title,
body.portfolio-inner .artifact-card__title {
  font-size:clamp(19px,1.4vw,23px);
  font-weight:700; line-height:1.35; letter-spacing:-.3px;
  color:var(--portfolio-ink); margin:0 0 12px;
}
body.portfolio-inner .project-card__description,
body.portfolio-inner .artifact-card__description {
  font-size:15px; line-height:1.65; color:#546575;
  margin:0 0 22px; display:block; overflow:visible;
  max-width:90ch;
}
body.portfolio-inner .project-card__meta {
  border-top:1px solid #e7ebef; padding-top:17px; margin-top:auto;
}
body.portfolio-inner .project-card__meta-item {
  background:transparent; border:0; box-shadow:none;
  padding:7px 4px 7px 0; border-radius:0; height:100%;
}
body.portfolio-inner .portfolio-meta {
  font-size:12px; color:#718091; margin-bottom:5px;
}
body.portfolio-inner .project-card__meta-value {
  display:block; overflow:visible; -webkit-line-clamp:unset; line-clamp:unset;
  font-size:14px; line-height:1.5; color:#324454;
  font-weight:650; overflow-wrap:anywhere;
}
body.portfolio-inner .project-card__effect { font-weight:600; }
body.portfolio-inner .artifact-card {
  padding:27px 28px; border-radius:12px;
  transition:border-color .16s; background:#fff;
}
body.portfolio-inner .artifact-card__type {
  border-radius:6px; border:1px solid #e0e7eb;
  background:#f0f3f5; color:#546777; font-size:12px;
  padding:6px 9px; margin-bottom:16px;
}
body.portfolio-inner .artifact-card__description { display:block; overflow:visible; -webkit-line-clamp:unset; line-clamp:unset; }
body.portfolio-inner .artifact-card__action { margin-top:auto; }

/* Проект: краткая управленческая сводка отдельно от полного описания. */
body.portfolio-inner .case-header { margin-bottom:30px !important; }
body.portfolio-inner .case-aside { position:sticky; top:16px; }
body.portfolio-inner .case-aside .card-body { padding:26px !important; }
body.portfolio-inner .metric {
  background:transparent; border:0; padding:0 0 16px;
  margin-bottom:17px !important; border-radius:0; border-bottom:1px solid #e8ecef;
}
body.portfolio-inner .metric-label {
  font-size:12px; color:#718091; font-weight:500; margin-bottom:6px;
}
body.portfolio-inner .metric-value {
  color:#26394b; font-size:15px; line-height:1.55;
  font-weight:650; overflow-wrap:anywhere;
}
body.portfolio-inner .case-content,
body.portfolio-inner .artifact-content {
  color:#394959; font-size:16px; line-height:1.78; overflow-wrap:anywhere;
  overflow-x:auto;
}
body.portfolio-inner .case-content h2,
body.portfolio-inner .artifact-content h2 {
  font-size:clamp(21px,1.55vw,26px); color:#273848;
  font-weight:700; margin:1.8em 0 .8em;
}
body.portfolio-inner .case-content h3,
body.portfolio-inner .artifact-content h3 {
  font-size:20px; color:#32495b; font-weight:700;
  margin:1.4em 0 .6em;
}
body.portfolio-inner .case-content h4,
body.portfolio-inner .artifact-content h4 {
  font-size:17px; color:#34495c; font-weight:700;
}
body.portfolio-inner .case-content p,
body.portfolio-inner .artifact-content p { margin-bottom:1.1em; }
body.portfolio-inner .case-content > :first-child,
body.portfolio-inner .artifact-content > :first-child { margin-top:0; }
body.portfolio-inner .case-content ul,
body.portfolio-inner .case-content ol,
body.portfolio-inner .artifact-content ul,
body.portfolio-inner .artifact-content ol { padding-left:1.4rem; }
body.portfolio-inner .case-content blockquote,
body.portfolio-inner .artifact-content blockquote {
  border-left:3px solid #b8c7d2; padding:8px 15px;
  background:#f6f8fa; color:#526373;
}
body.portfolio-inner .case-content table,
body.portfolio-inner .artifact-content table { font-size:14px; }
body.portfolio-inner .case-content pre,
body.portfolio-inner .artifact-content pre {
  border:1px solid #dce4e9; background:#f5f7f8;
  border-radius:8px; padding:13px; overflow-x:auto;
}
body.portfolio-inner .case-content a,
body.portfolio-inner .artifact-content a {
  color:#304f68; border-bottom:1px solid #8ba0af;
}
body.portfolio-inner .case-content a:hover,
body.portfolio-inner .artifact-content a:hover {
  color:#223b52; border-bottom-color:#223b52;
}
body.portfolio-inner .case-content a.btn,
body.portfolio-inner .artifact-content a.btn { border-bottom:1px solid #c7d1d9; }
body.portfolio-inner .case-inline-list { padding-left:1rem; }

/* Отдельный материал: содержание, внешние ссылки и медиа. */
body.portfolio-inner .artifact-editorial-section {
  background:#fff; border:1px solid var(--portfolio-line);
  border-radius:12px; padding:clamp(22px,2.5vw,40px);
}
body.portfolio-inner .artifact-editorial-section + .artifact-editorial-section { margin-top:18px; }
body.portfolio-inner .artifact-section-title {
  font-size:22px; font-weight:700; margin:0 0 17px; color:#293d4f;
}
body.portfolio-inner .artifact-content { max-width:1100px; }
body.portfolio-inner #artifact_links a,
body.portfolio-inner #artifact_media a.btn { display:inline-flex; align-items:center; }

/* Контактная страница получает общий стиль навигации, без изменения содержимого. */
body.portfolio-inner #contact_content { border:0 !important; padding:0 !important; background:transparent !important; }
body.portfolio-inner #contact_content > .row { gap:0; }
body.portfolio-inner #contact_content .card { min-height:180px; }
body.portfolio-inner #contact_content .card-body { padding:26px !important; }

/* Адаптивность. */
@media (max-width:1100px) {
  .portfolio-nav { gap:13px; }
  .portfolio-nav a { font-size:13px; }
  .portfolio-header__inner { gap:12px; }
  body.portfolio-inner .case-aside { position:static; }
}
@media (max-width:850px) {
  .portfolio-nav { display:none; }
  .portfolio-mobile-nav { display:block; margin-left:auto; }
  .portfolio-brand { margin-right:auto; }
}
@media (max-width:700px) {
  body.portfolio-inner .container-portfolio { padding-left:20px; padding-right:20px; }
  body.portfolio-inner .app-main > .container-portfolio { margin-top:21px !important; }
  body.portfolio-inner .page-title { font-size:30px; }
  body.portfolio-inner .page-subtitle { font-size:15px; }
  .portfolio-header__inner { min-height:67px; gap:9px; }
  .portfolio-brand__mark { flex-basis:35px; height:35px; }
  .portfolio-brand__role { display:none; }
  .portfolio-brand__name { font-size:14px; }
  .portfolio-resume-link { padding:10px; font-size:12px; }
  .portfolio-mobile-nav summary { padding:9px 10px; font-size:12px; }
  body.portfolio-inner .project-card,
  body.portfolio-inner .artifact-card { padding:21px 20px; }
  body.portfolio-inner .project-card__meta-item { padding:5px 0; }
  body.portfolio-inner .case-content,
  body.portfolio-inner .artifact-content { font-size:15px; }
  body.portfolio-inner .case-content.card-body { padding:22px !important; }
  body.portfolio-inner .page-navigation { gap:9px; }
  body.portfolio-inner .page-navigation .btn { white-space:normal; text-align:center; }
  .portfolio-footer__inner { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  body.portfolio-inner .project-card,
  body.portfolio-inner .artifact-card,
  body.portfolio-inner .btn { transition:none; }
}

@media (max-width:440px) {
  .portfolio-header__inner .portfolio-resume-link { display:none; }
}
