/* Страница «О компании» */
.crumbs { display: flex; gap: 8px; align-items: center; padding-top: 20px; padding-bottom: 14px; font-size: 14px; color: var(--muted); }
.crumbs a { color: var(--ink); font-weight: 600; }
.crumbs a:hover { color: var(--accent-h); }

.page-hero { position: relative; overflow: hidden; display: grid; justify-items: center; text-align: center; gap: 18px; padding: 64px 40px; border-radius: 30px; border: 1px solid var(--line); background: radial-gradient(60% 90% at 15% 0%, #DCEBFF, rgba(220, 235, 255, 0) 70%), radial-gradient(50% 80% at 100% 100%, #EAF3FF, rgba(234, 243, 255, 0) 70%), var(--card); }
.page-hero h1 { max-width: 20ch; font-size: clamp(32px, 4vw, 54px); font-weight: 500; line-height: 1.14; letter-spacing: -.025em; }
.page-hero .lead { max-width: 56ch; font-size: 18px; color: var(--text); }
.page-hero .phone-form { margin-top: 6px; }
.ph-orn { position: absolute; width: 190px; opacity: .22; pointer-events: none; }
.ph-orn.l { left: -34px; bottom: 10px; }
.ph-orn.r { right: -34px; top: 10px; transform: scaleY(-1); }

.about-text p + p { margin-top: -4px; }
.growth { position: relative; min-height: 500px; }
.growth .chart-card { position: absolute; left: 0; top: 0; width: 80%; }
.growth .mini { position: absolute; right: 0; bottom: 0; width: 46%; padding: 18px; display: grid; gap: 8px; box-shadow: 0 24px 40px -26px rgba(14, 27, 51, .35); }
.mini > b { font-size: 14px; font-weight: 700; color: var(--ink); }
.mini-num { font-size: 26px; font-weight: 800; color: var(--ink); line-height: 1.1; }
.mini-note { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--bg); }
.mini-note b { display: block; font-size: 13px; color: var(--ink); }
.mini-note span:not(.ring) { display: block; font-size: 12px; color: var(--muted); }
.ring { width: 32px; height: 32px; border-radius: 50%; flex: none; background: conic-gradient(var(--accent) 0 75%, var(--accent-soft-2) 0); -webkit-mask: radial-gradient(circle, transparent 10px, #000 11px); mask: radial-gradient(circle, transparent 10px, #000 11px); }
.line-chart { width: 100%; height: auto; display: block; }
.line-chart .grid line { stroke: var(--line); stroke-width: 1; }
.line-chart text { fill: var(--muted); font: 500 10px var(--font); }
.line-chart .ln { fill: none; stroke: var(--accent); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 520; stroke-dashoffset: 0; }
.js .chart-card.reveal-up .line-chart .ln { stroke-dashoffset: 520; transition: stroke-dashoffset 1.6s .3s ease; }
.js .chart-card.reveal-up.in .line-chart .ln { stroke-dashoffset: 0; }
.line-chart .pt { fill: var(--accent); stroke: var(--card); stroke-width: 2; }
.line-chart .tag rect { fill: var(--accent); }
.line-chart .tag text { fill: #fff; font-weight: 800; font-size: 11px; }

/* Обращение руководителя */
.dir-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 12px; align-items: stretch; }
.dir-photo { position: relative; margin: 0; min-height: 420px; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); }
.dir-ph { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 12px; background: radial-gradient(70% 60% at 50% 35%, #DCEBFF, #EEF3FA); color: var(--muted); font-size: 13px; font-weight: 600; padding-bottom: 96px; }
.dir-ph img { width: 130px; }
.dir-name { position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 16px 18px; border-radius: 18px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.dir-name b { display: block; font-size: 19px; font-weight: 600; color: var(--ink); }
.dir-name span { display: block; font-size: 14px; color: var(--muted); }
.dir-quote { margin: 0; padding: 40px 44px; display: grid; gap: 16px; align-content: center; justify-items: start; }
.dir-quote p { font-size: 16.5px; max-width: 60ch; }
.dir-quote .q-lead { font-size: clamp(20px, 2vw, 25px); line-height: 1.4; color: var(--ink); font-weight: 500; }
.sign { width: 160px; height: auto; margin-top: 4px; }
.sign path { fill: none; stroke: #2F3E8F; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 600; stroke-dashoffset: 0; }
.js .dir-quote.reveal-up .sign path { stroke-dashoffset: 600; transition: stroke-dashoffset 2s .5s ease; }
.js .dir-quote.reveal-up.in .sign path { stroke-dashoffset: 0; }
#director .demo-note { margin-top: 14px; }

/* Видео */
.video { position: relative; border-radius: 26px; overflow: hidden; border: 8px solid var(--card); background: var(--card); box-shadow: var(--shadow); aspect-ratio: 16 / 8; }
.video img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; transition: transform .8s ease; }
.video:hover img { transform: scale(1.03); }
.v-chip { position: absolute; left: 18px; top: 18px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: 13.5px; font-weight: 700; color: var(--ink); }
.v-chip .ic { width: 18px; height: 18px; color: var(--accent); }
.v-play { position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; border: 0; display: grid; place-items: center; background: var(--accent); color: #fff; cursor: pointer; box-shadow: 0 0 0 10px rgba(255, 255, 255, .35); transition: transform .2s ease; }
.v-play::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .8); animation: ring 2.4s ease-out infinite; }
.v-play:hover { transform: scale(1.06); }
.v-play .ic { width: 34px; height: 34px; margin-left: 4px; --duo-o: .45; }
.v-steps { position: absolute; left: 18px; right: 18px; bottom: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.v-steps li { padding: 10px 14px; border-radius: 14px; background: rgba(255, 255, 255, .92); font-size: 13.5px; font-weight: 600; color: var(--ink); }
.v-steps b { display: block; font-size: 12px; font-weight: 800; color: var(--accent-h); }

/* Принципы */
.pr-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 12px; }
.pr-photo { margin: 0; border-radius: 26px; overflow: hidden; min-height: 380px; }
.pr-photo img { width: 100%; height: 100%; object-fit: cover; }
.pr-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pr, .std { padding: 24px; display: grid; gap: 10px; align-content: start; }
.pr .tile, .std .tile { width: 46px; height: 46px; border-radius: 50%; margin-bottom: 4px; }
.pr .tile .ic, .std .tile .ic { width: 24px; height: 24px; }
.pr h3, .std h3 { font-size: 17px; font-weight: 700; line-height: 1.3; }
.pr p, .std p { font-size: 14.5px; color: var(--muted); }

/* Госзаказчик */
.gov { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.gov-text { padding: 44px; display: grid; gap: 18px; align-content: center; justify-items: start; }
.gov-text p { color: var(--text); max-width: 54ch; }
.gov-text .checklist { width: 100%; }
.gov-docs { position: relative; min-height: 440px; overflow: hidden; border-radius: 26px; background: linear-gradient(160deg, #E2EEFF, #F2F6FC); }
.paper { position: absolute; width: 62%; padding: 20px 22px; border-radius: 8px; background: var(--card); border: 1px solid #E0E6EF; box-shadow: 0 26px 40px -30px rgba(14, 27, 51, .45); display: grid; gap: 9px; transition: transform .4s ease; }
.paper b { font-size: 14px; font-weight: 800; color: var(--ink); }
.paper i { display: block; height: 7px; border-radius: 4px; background: #E9EEF5; }
.paper i.s { width: 55%; }
.p3 { left: 8%; top: 9%; transform: rotate(-7deg); }
.p2 { right: 6%; top: 15%; transform: rotate(5deg); }
.p1 { left: 19%; top: 28%; width: 64%; }
.gov-docs:hover .p3 { transform: rotate(-10deg) translate(-8px, -4px); }
.gov-docs:hover .p2 { transform: rotate(8deg) translate(8px, -4px); }
.p-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; border-bottom: 2px solid var(--ink); font-size: 12px; color: var(--muted); }
.p-top img { height: 24px; width: auto; }
.p1 .p-title { font-size: 16px; margin-top: 4px; }
.p-sub { font-size: 12.5px; color: var(--muted); }
.p-row { display: flex; justify-content: space-between; gap: 10px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.p-row b { font-size: 13px; }

/* Стандарты */
.std-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }

/* Кейсы */
.cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.case { padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.case-tag { align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: var(--chip); font-size: 12.5px; font-weight: 600; color: var(--ink); }
.case h3 { font-size: 19px; font-weight: 700; line-height: 1.3; }
.case > p { font-size: 14.5px; color: var(--muted); }
.case-res { padding-top: 14px; border-top: 1px solid var(--line); display: grid; gap: 10px; }
.case-res b { font-size: 14px; color: var(--ink); }
.case-res li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--text); }
.case-res .ic { width: 20px; height: 20px; color: var(--accent); margin-top: 1px; }
.case-num { margin-top: auto; display: flex; align-items: baseline; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.case-num b { font-size: 30px; font-weight: 700; color: var(--accent-h); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.case-num span { font-size: 13.5px; color: var(--muted); }

/* Призыв */
.cta-band { position: relative; overflow: hidden; display: grid; justify-items: center; text-align: center; gap: 16px; padding: 64px 40px; border-radius: 30px; background: linear-gradient(135deg, #DCEBFF 0%, #C7DFFF 100%); border: 1px solid var(--accent-soft-2); }
.cta-band > * { position: relative; }
.cta-band > p { max-width: 56ch; font-size: 17px; color: var(--text); }
.cb-orn { position: absolute; right: 30px; bottom: 20px; width: 170px; opacity: .55; filter: drop-shadow(0 0 0 transparent); }
#contact { margin-top: 104px; }

@media (max-width: 1120px) {
  .std-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cases { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .dir-grid, .pr-grid, .gov { grid-template-columns: 1fr; }
  .dir-photo { min-height: 360px; }
  .growth { min-height: 0; display: grid; gap: 12px; }
  .growth .chart-card, .growth .mini { position: static; width: auto; }
  .gov-docs { min-height: 420px; }
  #contact { margin-top: 72px; }
}
@media (max-width: 640px) {
  .page-hero { padding: 40px 18px; }
  .page-hero .lead { font-size: 16.5px; }
  .ph-orn { width: 120px; }
  .dir-quote { padding: 26px 22px; }
  .video { aspect-ratio: 4 / 5; border-width: 6px; }
  .v-steps { grid-template-columns: 1fr 1fr; }
  .v-play { width: 68px; height: 68px; margin: -34px 0 0 -34px; }
  .pr-cards, .std-grid, .cases { grid-template-columns: 1fr; }
  .pr-photo { min-height: 300px; }
  .gov-text { padding: 26px 22px; }
  .gov-docs { min-height: 460px; }
  .page-hero h1 { font-size: 30px; }
  .page-hero .sw { white-space: normal; }
  .page-hero .sw svg { display: none; }
  .paper { width: 74%; padding: 16px; }
  .p1 { left: 13%; width: 78%; }
  .cta-band { padding: 44px 20px; }
  .cb-orn { width: 110px; opacity: .35; }
}
