/* ==========================================================================
   AV-Security — study «Цена уязвимости — 2026» (/analitika/tsena-uyazvimosti/)

   Loaded only on this page (inc/vulnerability-price.php), after sections.css.
   Every rule is scoped to .av-cu-page; the mock-up's class names carry the
   `cu-` prefix, its tokens (--bg, --ink, --red …) are defined on
   .av-cu-page only, so nothing leaks into the header, footer or other pages.

   Source: the approved mock-up /home/aleks/AV-Security_tsena-uyazvimosti-2026.html
   — its rules are carried over one-to-one (values, breakpoints, states),
   except: the site grid replaces the mock-up's .in / .gut; the sticky
   chapter bar and sticky panels sit under the live site header (--cu-top,
   measured by the script); the mock-up's header, footer and breadcrumbs bar
   are the theme's. Adaptations are at the end of the file.
   Shapes: interface elements that were capsules in the mock-up (chapter bar,
   hero tags, chips, status, segmented control, checklist answers) use the
   site's 4px radius (homepage tiles, cards and form controls, sections.css);
   rounded parts of charts, scales and indicator dots keep their geometry.
   ========================================================================== */

/* ---------- fonts (self-hosted variable subsets, shared with audit-security.css) ---------- */
@font-face {
	font-family: "Onest";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/onest-cyrillic.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Onest";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/onest-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 100 800;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-cyrillic.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "JetBrains Mono";
	font-style: normal;
	font-weight: 100 800;
	font-display: swap;
	src: url("../fonts/jetbrains-mono-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- layout knobs + block-editor resets (before the mock-up rules) ---------- */
.av-cu-page {
	/* Side fields of the site grid (.av-section .av-container). */
	--cu-gut: 24px;
	/* How far the hero canvas bleeds past the content box (= --cu-gut where
	   the radar is stacked, ≤1000px). */
	--cu-bleed: 24px;
	/* Bottom edge of the visible site header (script keeps it exact). */
	--cu-top: var(--av-header-height, 104px);
	--cu-toc-h: 51px;
	/* Sticky panels: the mock-up's 88px = chapter bar + 37px. */
	--cu-stick: calc(var(--cu-top) + var(--cu-toc-h) + 37px);
}

@media (min-width: 769px) {
	.av-cu-page {
		--cu-gut: max(72px, calc((100% - var(--av-container, 1180px)) / 2 + 24px));
		--cu-bleed: 72px;
	}
}

/* WordPress flow layout adds a block gap above every child; the mock-up's
   own margins apply instead. */
.av-cu-page.is-layout-flow > *,
.av-cu-page .is-layout-flow > * {
	margin-block-start: 0;
}

.av-cu-page :where(h1, h2, h3) {
	color: inherit;
}

/* Mock-up layout: шапка сайта → липкое оглавление → тёмный hero с радаром → 9 глав, чередующих белый / светлый / тёмно-синий фон, как на av-security.pro → чек-лист и источники */
.av-cu-page{
  color-scheme:light;
  --bg:#ffffff; --tint:#f3f6fa; --ink:#0e1d3a; --ink2:#3d4b66; --ink3:#66738e; --rule:#e2e7f0; --rule2:#d3dbe8;
  --navy:#0b1a2e; --navy2:#10233f; --deep:#07111f; --on:#e8eef8; --on2:#9fb1cc; --on3:#6f83a3; --dl:rgba(150,175,215,.18);
  --red:#d7263d; --red-d:#ff5a68; --blue:#2455c3; --blue-h:#1b46a8; --blue-d:#6f9cff;
  --bar:#1d3a6b; --amber:#c98a12; --teal:#1f8f7a;
  --ok:#1f8f5a; --warn:#c27a00; --crit:#c8243a; --ok-d:#4fe0a8; --warn-d:#ffc24b;
  --f:"Onest","Segoe UI",Roboto,Arial,sans-serif;
  --m:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}
.av-cu-page *{box-sizing:border-box}
.av-cu-page [hidden]{display:none!important}
.av-cu-page,
.av-cu-page{background:var(--bg);color:var(--ink)}
.av-cu-page{font-family:var(--f);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.av-cu-page button{font:inherit;color:inherit}
.av-cu-page a{color:inherit}
.av-cu-page :focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.av-cu-page .cu-dark :focus-visible{outline-color:var(--blue-d)}
.av-cu-page .cu-num{font-variant-numeric:tabular-nums}
/* Site grid (1180 container, 24px gutters → 1132px; ≥72px fields above 768px)
   instead of the mock-up's 1240px + 16px gutters. */
.av-cu-page .cu-in{width:100%;max-width:none;margin:0;padding-inline:var(--cu-gut)}
@media (prefers-reduced-motion:reduce){
.av-cu-page{scroll-behavior:auto}
.av-cu-page *{animation:none!important;transition:none!important}
}
/* ---------- site header (как на сайте) ---------- */
.av-cu-page .cu-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 22px;border-radius:4px;border:0;cursor:pointer;font:600 15px/1 var(--f);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.av-cu-page .cu-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.av-cu-page .cu-btn-p{background:var(--blue);color:#fff}
.av-cu-page .cu-btn-p:hover{background:var(--blue-h)}
.av-cu-page .cu-btn-g{background:transparent;color:inherit;border:1.5px solid currentColor}
.av-cu-page .cu-dark .cu-btn-g{border-color:rgba(255,255,255,.35)}
.av-cu-page .cu-dark .cu-btn-g:hover{border-color:#fff}
/* ---------- breadcrumbs + toc ---------- */
.av-cu-page .cu-toc{position:sticky;top:var(--cu-top,var(--av-header-height,104px));z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.av-cu-page .cu-toc .cu-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:8px}
.av-cu-page .cu-toc .cu-in::-webkit-scrollbar{display:none}
.av-cu-page .cu-toc a{flex:none;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:4px;font-size:13.5px;font-weight:500;color:var(--ink2);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.av-cu-page .cu-toc a b{font:500 11px/1 var(--m);color:var(--ink3)}
.av-cu-page .cu-toc a:hover{background:var(--tint)}
.av-cu-page .cu-toc a.cu-on{background:var(--navy);color:#fff}
.av-cu-page .cu-toc a.cu-on b{color:var(--red-d)}
.av-cu-page .cu-toc .cu-prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;will-change:transform}
/* ---------- section shells ---------- */
.av-cu-page .cu-band{padding-block:96px}
.av-cu-page .cu-band.cu-tint{background:var(--tint)}
.av-cu-page .cu-band.cu-dark{background:var(--navy);color:var(--on)}
.av-cu-page .cu-band.cu-deep{background:radial-gradient(90% 80% at 75% 30%, #10284a 0%, var(--navy) 55%, var(--deep) 100%);color:var(--on)}
@media (max-width:760px){
.av-cu-page .cu-band{padding-block:64px}
}
.av-cu-page .cu-sh{display:grid;gap:16px;max-width:760px;margin-bottom:48px}
.av-cu-page .cu-eb{margin:0;display:flex;align-items:center;gap:12px;font:500 13px/1 var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.av-cu-page .cu-eb b{color:var(--ink);font-weight:700;letter-spacing:.04em}
.av-cu-page .cu-eb i{display:block;width:30px;height:2px;background:var(--red)}
.av-cu-page .cu-dark .cu-eb,
.av-cu-page .cu-deep .cu-eb{color:var(--on2)}
.av-cu-page .cu-dark .cu-eb b,
.av-cu-page .cu-deep .cu-eb b{color:#fff}
.av-cu-page h2{margin:0;font:800 clamp(30px,3.6vw,46px)/1.06 var(--f);letter-spacing:-.03em;text-wrap:balance}
.av-cu-page .cu-lead{margin:0;font-size:18px;line-height:1.55;color:var(--ink2);max-width:62ch}
.av-cu-page .cu-dark .cu-lead,
.av-cu-page .cu-deep .cu-lead{color:#b8c6db}
.av-cu-page h3{margin:0;font:700 22px/1.2 var(--f);letter-spacing:-.015em;text-wrap:balance}
.av-cu-page .cu-cap{font-size:13px;color:var(--ink3);line-height:1.45}
.av-cu-page .cu-dark .cu-cap,
.av-cu-page .cu-deep .cu-cap{color:var(--on3)}
.av-cu-page .cu-src{font:400 12px/1.4 var(--m);color:var(--ink3)}
.av-cu-page .cu-dark .cu-src,
.av-cu-page .cu-deep .cu-src{color:var(--on3)}
.av-cu-page .cu-g2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:start}
@media (max-width:960px){
.av-cu-page .cu-g2{grid-template-columns:minmax(0,1fr);gap:32px}
}
.av-cu-page .cu-card{background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:28px}
.av-cu-page .cu-tint .cu-card{border-color:var(--rule2)}
.av-cu-page .cu-dcard{background:rgba(255,255,255,.035);border:1px solid var(--dl);border-radius:10px;padding:28px}
.av-cu-page .cu-big{font:800 clamp(40px,4.6vw,60px)/1 var(--f);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.av-cu-page .cu-big small{font-size:.42em;letter-spacing:-.01em;font-weight:700;margin-left:4px}
/* ---------- hero ---------- */
.av-cu-page .cu-hero{position:relative;overflow:hidden;padding-block:72px 64px}
.av-cu-page .cu-hero .cu-in:not(.cu-kin){position:relative;display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:40px;align-items:center}
.av-cu-page .cu-hero-copy{position:relative;z-index:2;display:grid;gap:22px}
.av-cu-page .cu-meta{display:flex;flex-wrap:wrap;gap:8px}
.av-cu-page .cu-meta span{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:4px;border:1px solid var(--dl);font:500 12px/1 var(--m);color:var(--on2);letter-spacing:.02em}
.av-cu-page .cu-meta span.cu-r{border-color:rgba(255,90,104,.45);color:#ffb3ba}
/* H1 = the homepage hero title (main.css .av-hero__title + theme.json
   xx-large preset; ≤768px override below): site font, 700, 1.06, −0.02em,
   white; «уязвимости» on its own line in the homepage's blue accent for navy
   (#6fa3e6, the --av-primary tint of sections.css --av-tech-num).
   Mock-up: Onest 800 clamp(46px,6.4vw,84px)/.95, −.045em, red accent. */
.av-cu-page .cu-hero h1{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:var(--wp--preset--font-size--xx-large,clamp(2.5rem, 2.5rem + ((1vw - 0.2rem) * 2.273), 3.75rem));font-weight:700;line-height:1.06;letter-spacing:-0.02em;color:#fff}
.av-cu-page .cu-hero h1 em{display:block;font-style:normal;color:#6fa3e6}
@media (max-width:768px){
.av-cu-page .cu-hero h1{font-size:min(calc((100vw - 3rem) / 10.2), 3.125rem);overflow-wrap:break-word}
}
/* Hero lead = the homepage hero text (main.css .av-hero__text): site font,
   1.05rem / 1.65, 400, white 78%, 48ch (none ≤768px), 1rem ≤390px. Spacing =
   the homepage's text margin 1.9rem and actions margin 2.75rem, minus the
   copy column's 22px grid gap. Mock-up: Onest 19px / 1.55, #b8c6db, 62ch. */
.av-cu-page .cu-hero .cu-lead{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.05rem;font-weight:400;line-height:1.65;letter-spacing:normal;color:rgba(255,255,255,.78);max-width:48ch;margin-top:calc(1.9rem - 22px);margin-bottom:calc(2.75rem - 22px)}
@media (max-width:768px){
.av-cu-page .cu-hero .cu-lead{max-width:none}
}
@media (max-width:390px){
.av-cu-page .cu-hero .cu-lead{font-size:1rem}
}
.av-cu-page .cu-btns{display:flex;flex-wrap:wrap;gap:12px}
.av-cu-page .cu-radar{position:relative;min-height:520px}
.av-cu-page .cu-radar canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.av-cu-page .cu-ticker{position:absolute;right:0;bottom:8px;z-index:2;width:min(360px,100%);padding:18px 20px;border-radius:10px;background:rgba(7,17,31,.82);border:1px solid var(--dl);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.av-cu-page .cu-ticker .cu-k{display:flex;align-items:center;gap:8px;font:500 11px/1 var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--on2)}
.av-cu-page .cu-ticker .cu-k i{width:7px;height:7px;border-radius:50%;background:var(--red-d);animation:cu-blink 1.4s infinite}
@keyframes cu-blink{50%{opacity:.25}}
.av-cu-page .cu-ticker strong{display:block;margin:10px 0 6px;font:500 34px/1 var(--m);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.av-cu-page .cu-ticker p{margin:0;font-size:13.5px;color:#c3d0e2;line-height:1.45}
.av-cu-page .cu-ticker .cu-src{margin-top:8px}
.av-cu-page .cu-keys{position:relative;z-index:2;margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--dl);border:1px solid var(--dl);border-radius:10px;overflow:hidden}
.av-cu-page .cu-keys div{background:rgba(9,22,40,.92);padding:22px 22px 20px;display:grid;gap:8px;align-content:start}
.av-cu-page .cu-keys strong{font:800 38px/1 var(--f);letter-spacing:-.035em;color:#fff;font-variant-numeric:tabular-nums}
.av-cu-page .cu-keys strong em{font-style:normal;color:var(--red-d)}
.av-cu-page .cu-keys span{font-size:14px;line-height:1.45;color:#b8c6db}
/* Mock-up breakpoint 1000px → 1199.98px: in the 1132px site grid the
   600px copy column leaves the radar too narrow below 1200px. */
@media (max-width:1199.98px){
.av-cu-page .cu-hero .cu-in:not(.cu-kin){grid-template-columns:minmax(0,1fr)}
.av-cu-page .cu-radar{min-height:0;padding-top:360px}
.av-cu-page .cu-radar canvas{inset:0 calc(-1 * var(--cu-bleed)) auto calc(-1 * var(--cu-bleed));width:calc(100% + 2 * var(--cu-bleed));height:360px}
.av-cu-page .cu-ticker{position:relative;right:auto;bottom:auto;width:auto}
.av-cu-page .cu-keys{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}
}
@media (max-width:520px){
.av-cu-page .cu-keys strong{font-size:30px}
.av-cu-page .cu-keys div{padding:16px}
.av-cu-page .cu-radar{padding-top:320px}
.av-cu-page .cu-radar canvas{height:320px}
}
/* ---------- 01 threats ---------- */
.av-cu-page .cu-tchart{display:grid;gap:6px}
.av-cu-page .cu-tchart .cu-axis{display:grid;grid-template-columns:168px minmax(0,1fr) 56px;gap:14px;font:400 11.5px/1 var(--m);color:var(--ink3);margin-top:6px}
.av-cu-page .cu-tchart .cu-axis div{position:relative;height:14px}
.av-cu-page .cu-tchart .cu-axis span{position:absolute;transform:translateX(-50%)}
.av-cu-page .cu-tchart .cu-axis span:first-child{transform:none}
.av-cu-page .cu-tchart .cu-axis span:last-child{transform:translateX(-100%)}
.av-cu-page .cu-trow{display:grid;grid-template-columns:168px minmax(0,1fr) 56px;gap:14px;align-items:center;width:100%;padding:10px 0;border:0;background:none;text-align:left;cursor:pointer;border-radius:6px}
.av-cu-page .cu-trow .cu-tn{font-weight:600;font-size:15px;line-height:1.25}
.av-cu-page .cu-trow .cu-tt{position:relative;height:26px;background:repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), var(--rule) calc(25% - 1px) 25%)}
.av-cu-page .cu-trow .cu-tt i{position:absolute;left:0;top:0;bottom:0;border-radius:0 4px 4px 0;background:var(--bar);transition:background .25s}
.av-cu-page .cu-trow .cu-tv{font:500 16px/1 var(--m);text-align:right;font-variant-numeric:tabular-nums}
.av-cu-page .cu-trow:hover .cu-tt i{background:#2b4f8a}
.av-cu-page .cu-trow[aria-pressed="true"] .cu-tt i{background:var(--red)}
.av-cu-page .cu-trow[aria-pressed="true"] .cu-tn{color:var(--red)}
@media (max-width:560px){
.av-cu-page .cu-trow,
.av-cu-page .cu-tchart .cu-axis{grid-template-columns:minmax(0,1fr) 48px;gap:6px 10px}
.av-cu-page .cu-trow .cu-tn{grid-column:1 / -1}
.av-cu-page .cu-tchart .cu-axis div:first-child{display:none}
.av-cu-page .cu-tchart .cu-axis{grid-template-columns:minmax(0,1fr) 48px}
}
.av-cu-page .cu-tpanel{position:sticky;top:var(--cu-stick);display:grid;gap:16px}
.av-cu-page .cu-tpanel .cu-k{font:500 12px/1 var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.av-cu-page .cu-tpanel .cu-big{color:var(--ink)}
.av-cu-page .cu-tpanel ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.av-cu-page .cu-tpanel li{position:relative;padding-left:20px;color:var(--ink2)}
.av-cu-page .cu-tpanel li::before{content:"";position:absolute;left:2px;top:.68em;width:8px;height:2px;background:var(--red)}
.av-cu-page .cu-tpanel .cu-chk{padding:14px 16px;border-radius:8px;background:var(--tint);font-size:14.5px;color:var(--ink2)}
.av-cu-page .cu-tpanel .cu-chk b{display:block;font:600 12px/1 var(--m);letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
@media (max-width:960px){
.av-cu-page .cu-tpanel{position:static}
}
.av-cu-page .cu-reg{margin-top:64px;display:grid;gap:18px}
.av-cu-page .cu-reg-top{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px}
.av-cu-page .cu-chips{display:flex;flex-wrap:wrap;gap:6px}
.av-cu-page .cu-chip{height:36px;padding:0 14px;border-radius:4px;border:1.5px solid var(--rule2);background:var(--bg);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.av-cu-page .cu-chip:hover{border-color:var(--ink3)}
.av-cu-page .cu-chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.av-cu-page .cu-regcount{font-size:15px;color:var(--ink2)}
.av-cu-page .cu-regcount b{font:700 22px/1 var(--f);color:var(--red);margin-right:2px}
.av-cu-page .cu-tbl{overflow-x:auto;border:1px solid var(--rule);border-radius:10px;background:var(--bg)}
.av-cu-page table{width:100%;border-collapse:collapse;min-width:820px;font-size:14.5px}
.av-cu-page th{text-align:left;font:600 12px/1.3 var(--m);letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);padding:14px 16px;border-bottom:1px solid var(--rule);background:var(--tint)}
.av-cu-page td{padding:14px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
.av-cu-page tr:last-child td{border-bottom:0}
.av-cu-page td.cu-n{font:500 13px/1.5 var(--m);color:var(--ink3);width:40px}
.av-cu-page td.cu-d{font-weight:700;white-space:nowrap}
.av-cu-page td .cu-cat{display:inline-block;font:500 11px/1 var(--m);letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);margin-top:5px}
.av-cu-page tbody tr{transition:opacity .25s}
.av-cu-page tbody tr.cu-na{opacity:.3}
.av-cu-page tbody tr.cu-hit td:first-child{box-shadow:inset 3px 0 0 var(--red)}
@media (max-width:700px){
.av-cu-page .cu-tbl.cu-cards{border:0;background:none;overflow:visible}
.av-cu-page .cu-tbl.cu-cards table{min-width:0}
.av-cu-page .cu-tbl.cu-cards thead{display:none}
.av-cu-page .cu-tbl.cu-cards tbody{display:grid;gap:8px}
.av-cu-page .cu-tbl.cu-cards tr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:2px 10px;padding:14px;border:1px solid var(--rule);border-radius:10px;background:var(--bg)}
.av-cu-page .cu-tbl.cu-cards td{padding:0;border:0}
.av-cu-page .cu-tbl.cu-cards td:nth-child(2){grid-column:2 / 3}
.av-cu-page .cu-tbl.cu-cards td:nth-child(3){grid-column:2 / 4;color:var(--ink2);font-size:13.5px}
.av-cu-page .cu-tbl.cu-cards td:nth-child(4){grid-column:3;grid-row:1;text-align:right}
.av-cu-page .cu-tbl.cu-cards td:nth-child(5){grid-column:2 / 4}
.av-cu-page .cu-tbl.cu-cards tr.cu-hit{box-shadow:inset 3px 0 0 var(--red)}
.av-cu-page .cu-tbl.cu-cards tr.cu-hit td:first-child{box-shadow:none}
}
/* ---------- 02 people ---------- */
.av-cu-page .cu-donut-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:center}
@media (max-width:560px){
.av-cu-page .cu-donut-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}
}
.av-cu-page .cu-donut{width:240px;max-width:100%;aspect-ratio:1}
.av-cu-page .cu-donut circle.cu-seg{fill:none;stroke-width:34;cursor:pointer;transition:stroke-width .2s,opacity .2s}
.av-cu-page .cu-donut circle.cu-seg:hover,
.av-cu-page .cu-donut circle.cu-seg.cu-on{stroke-width:40}
.av-cu-page .cu-donut text{fill:var(--ink);font-family:var(--f)}
.av-cu-page .cu-legend{list-style:none;margin:0;padding:0;display:grid;gap:4px;width:100%}
.av-cu-page .cu-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:6px;transition:background .2s}
.av-cu-page .cu-legend li.cu-on{background:var(--bg)}
.av-cu-page .cu-legend i{width:12px;height:12px;border-radius:3px;background:var(--c)}
.av-cu-page .cu-legend b{font:700 18px/1 var(--f);font-variant-numeric:tabular-nums}
.av-cu-page .cu-stack{display:grid;gap:16px}
.av-cu-page .cu-cmp{display:grid;gap:10px}
.av-cu-page .cu-cmp div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;font-size:14px;color:var(--ink2)}
.av-cu-page .cu-cmp span.cu-b{height:22px;border-radius:0 4px 4px 0;background:var(--bar);position:relative}
.av-cu-page .cu-cmp span.cu-b.cu-r{background:var(--red)}
.av-cu-page .cu-cmp span.cu-b em{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);font:500 14px/1 var(--m);font-style:normal;color:var(--ink);white-space:nowrap}
.av-cu-page .cu-cmp div:last-child span.cu-b em{left:auto;right:8px;color:#fff}
.av-cu-page .cu-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.av-cu-page .cu-facts .cu-card{display:grid;gap:8px;align-content:start}
.av-cu-page .cu-facts strong{font:800 34px/1 var(--f);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.av-cu-page .cu-facts p{margin:0;color:var(--ink2);font-size:15px}
@media (max-width:860px){
.av-cu-page .cu-facts{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-guard{margin-top:72px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
@media (max-width:960px){
.av-cu-page .cu-guard{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-pct{display:grid;gap:14px}
.av-cu-page .cu-pct div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:baseline}
.av-cu-page .cu-pct strong{font:800 44px/1 var(--f);letter-spacing:-.04em;color:var(--red);font-variant-numeric:tabular-nums}
.av-cu-page .cu-pct p{margin:0;color:var(--ink2)}
.av-cu-page .cu-react{display:grid;gap:18px}
.av-cu-page .cu-react .cu-scale{position:relative;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--ok) 0 30%,var(--warn) 30% 60%,var(--crit) 60% 100%)}
.av-cu-page .cu-react .cu-ticks{position:relative;height:16px;font:400 11.5px/1 var(--m);color:var(--ink3)}
.av-cu-page .cu-react .cu-ticks span{position:absolute;transform:translateX(-50%)}
.av-cu-page .cu-react .cu-zones{display:grid;grid-template-columns:30fr 30fr 40fr;font-size:12.5px;color:var(--ink3)}
.av-cu-page .cu-react .cu-zones span{padding-top:4px}
.av-cu-page .cu-react input[type=range]{width:100%;margin:0;accent-color:var(--navy)}
.av-cu-page .cu-verdict{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;background:var(--tint);font-weight:500}
.av-cu-page .cu-verdict .cu-st{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:4px;font:600 13px/1 var(--f);color:#fff;flex:none}
.av-cu-page .cu-verdict .cu-st::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.av-cu-page .cu-st.cu-ok{background:var(--ok)}
.av-cu-page .cu-st.cu-warn{background:var(--warn)}
.av-cu-page .cu-st.cu-crit{background:var(--crit)}
.av-cu-page .cu-norms{display:grid;gap:0;border:1px solid var(--rule);border-radius:8px;overflow:hidden;font-size:14px}
.av-cu-page .cu-norms div{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:10px;padding:10px 14px;border-top:1px solid var(--rule);align-items:center}
.av-cu-page .cu-norms div:first-child{border-top:0;background:var(--tint);font:600 11.5px/1.2 var(--m);letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}
.av-cu-page .cu-norms span:nth-child(2){color:var(--ok)}
.av-cu-page .cu-norms span:nth-child(3){color:var(--warn)}
.av-cu-page .cu-norms span:nth-child(4){color:var(--crit)}
.av-cu-page .cu-norms div:first-child span{color:var(--ink3)}
@media (max-width:560px){
.av-cu-page .cu-norms div{grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,.8fr));font-size:12.5px;padding:9px 10px}
}
/* ---------- 03 data ---------- */
.av-cu-page .cu-vbars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;height:280px;padding-top:28px;border-bottom:1px solid var(--dl);
  background:repeating-linear-gradient(0deg, transparent 0 calc(25% - 1px), var(--dl) calc(25% - 1px) 25%)}
.av-cu-page .cu-vbars div{position:relative;height:100%;display:flex;align-items:flex-end;cursor:default}
.av-cu-page .cu-vbars i{display:block;width:100%;border-radius:4px 4px 0 0;background:#4d79d6;transition:background .2s}
.av-cu-page .cu-vbars div:hover i{background:#6f9cff}
.av-cu-page .cu-vbars div.cu-hi i{background:var(--red-d)}
.av-cu-page .cu-vbars em{position:absolute;left:0;right:0;text-align:center;font:500 14px/1 var(--m);font-style:normal;color:#fff}
.av-cu-page .cu-vbars div.cu-hi em{color:#ffb3ba;font-weight:600}
.av-cu-page .cu-vx{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:10px;font:400 12.5px/1 var(--m);color:var(--on2);text-align:center}
.av-cu-page .cu-dstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--dl);border:1px solid var(--dl);border-radius:10px;overflow:hidden;margin-top:28px}
.av-cu-page .cu-dstats div{background:var(--navy);padding:18px;display:grid;gap:6px}
.av-cu-page .cu-dstats strong{font:800 28px/1 var(--f);letter-spacing:-.03em;color:#fff}
.av-cu-page .cu-dstats span{font-size:13.5px;color:var(--on2);line-height:1.4}
@media (max-width:620px){
.av-cu-page .cu-dstats{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-fine{display:grid;gap:18px}
.av-cu-page .cu-fine fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.av-cu-page .cu-fine legend{font:600 12px/1 var(--m);letter-spacing:.06em;text-transform:uppercase;color:var(--on2);margin-bottom:10px}
.av-cu-page .cu-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;border:1px solid var(--dl);cursor:pointer;transition:border-color .2s,background .2s;font-size:15px}
.av-cu-page .cu-opt:hover{border-color:rgba(150,175,215,.45)}
.av-cu-page .cu-opt input{accent-color:var(--red-d);width:16px;height:16px;margin:0;flex:none}
.av-cu-page .cu-opt:has(input:checked){border-color:var(--red-d);background:rgba(255,90,104,.07)}
.av-cu-page .cu-opt small{margin-left:auto;font:400 12.5px/1 var(--m);color:var(--on2);white-space:nowrap}
.av-cu-page .cu-rev{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border-radius:8px;background:rgba(255,255,255,.04)}
.av-cu-page .cu-rev label{font-size:14px;color:var(--on2)}
.av-cu-page .cu-rev input{width:130px;height:40px;padding:0 12px;border-radius:6px;border:1px solid var(--dl);background:var(--deep);color:#fff;font:500 15px/1 var(--m);text-align:right}
.av-cu-page .cu-fine-out{padding:22px;border-radius:10px;background:linear-gradient(135deg, rgba(215,38,61,.18), rgba(215,38,61,.05));border:1px solid rgba(255,90,104,.4);display:grid;gap:6px}
.av-cu-page .cu-fine-out .cu-k{font:500 11.5px/1 var(--m);letter-spacing:.08em;text-transform:uppercase;color:#ffb3ba}
.av-cu-page .cu-fine-out strong{font:800 clamp(30px,3.6vw,42px)/1.05 var(--f);letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.av-cu-page .cu-fine-out p{margin:0;font-size:13.5px;color:#c3d0e2}
.av-cu-page .cu-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}
.av-cu-page .cu-story{display:grid;gap:12px;align-content:start}
.av-cu-page .cu-story .cu-tag{font:500 11.5px/1 var(--m);letter-spacing:.07em;text-transform:uppercase;color:var(--red-d)}
.av-cu-page .cu-story strong{font:800 30px/1 var(--f);letter-spacing:-.03em;color:#fff}
.av-cu-page .cu-story p{margin:0;color:#c3d0e2;font-size:15px}
.av-cu-page .cu-story code{font:500 13px/1 var(--m);background:rgba(255,90,104,.15);color:#ffc7cd;padding:3px 6px;border-radius:4px}
@media (max-width:900px){
.av-cu-page .cu-stories{grid-template-columns:minmax(0,1fr)}
}
/* ---------- 04 tech ---------- */
.av-cu-page .cu-hbars{display:grid;gap:4px}
.av-cu-page .cu-hb{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:4px 16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.av-cu-page .cu-hb:last-child{border-bottom:0}
.av-cu-page .cu-hb .cu-t{font-weight:600;font-size:15.5px}
.av-cu-page .cu-hb .cu-v{grid-row:span 2;align-self:center;text-align:right;font:800 26px/1 var(--f);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.av-cu-page .cu-hb .cu-r{font-size:13.5px;color:var(--ink3)}
.av-cu-page .cu-hb .cu-tr{grid-column:1 / -1;height:8px;border-radius:4px;background:var(--tint);overflow:hidden;margin-top:6px}
.av-cu-page .cu-hb .cu-tr i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--bar)}
.av-cu-page .cu-hb.cu-top .cu-tr i{background:var(--red)}
.av-cu-page .cu-hb.cu-top .cu-v{color:var(--red)}
.av-cu-page .cu-play .cu-hb .cu-tr i{animation:cu-grow 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes cu-grow{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.av-cu-page .cu-fire{margin-top:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:960px){
.av-cu-page .cu-fire{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-firebars{display:grid;gap:12px;margin-top:20px}
.av-cu-page .cu-firebars div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;font:500 13px/1 var(--m);color:var(--ink3)}
.av-cu-page .cu-firebars span{height:30px;border-radius:0 4px 4px 0;background:var(--bar);display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#fff;font:600 14px/1 var(--m)}
.av-cu-page .cu-firebars div:last-child span{background:var(--red)}
.av-cu-page .cu-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.av-cu-page .cu-fgrid .cu-card{display:grid;gap:8px;align-content:start;padding:22px}
.av-cu-page .cu-fgrid strong{font:800 30px/1 var(--f);letter-spacing:-.03em}
.av-cu-page .cu-fgrid p{margin:0;font-size:14.5px;color:var(--ink2)}
@media (max-width:480px){
.av-cu-page .cu-fgrid{grid-template-columns:minmax(0,1fr)}
}
/* ---------- 05 overpay ---------- */
.av-cu-page .cu-fr{display:grid;gap:0;border:1px solid var(--rule2);border-radius:10px;overflow:hidden;background:var(--bg)}
.av-cu-page .cu-fr > div{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;gap:18px;align-items:center;padding:16px 18px;border-top:1px solid var(--rule)}
.av-cu-page .cu-fr > div:first-child{border-top:0}
.av-cu-page .cu-fr .cu-nm{font-weight:600;font-size:15px}
.av-cu-page .cu-fr .cu-nm small{display:block;font-weight:400;color:var(--ink3);font-size:13.5px;margin-top:2px}
.av-cu-page .cu-fr .cu-pc{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;font:600 15px/1 var(--m)}
.av-cu-page .cu-fr .cu-pc span{height:8px;border-radius:4px;background:var(--tint);overflow:hidden}
.av-cu-page .cu-fr .cu-pc span i{display:block;height:100%;background:var(--bar)}
.av-cu-page .cu-fr .cu-sum{font:500 14px/1.3 var(--m)}
.av-cu-page .cu-fr .cu-sum em{display:block;font:600 11px/1.3 var(--f);font-style:normal;letter-spacing:.04em;text-transform:uppercase;margin-top:6px}
.av-cu-page .cu-fr .cu-sum em.cu-d{color:var(--red)}
.av-cu-page .cu-fr .cu-sum em.cu-i{color:var(--ink3)}
@media (max-width:700px){
.av-cu-page .cu-fr > div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.av-cu-page .cu-fr .cu-nm{grid-column:1 / -1}
}
.av-cu-page .cu-ghost{display:grid;gap:20px}
.av-cu-page .cu-segc{display:inline-flex;padding:4px;border-radius:4px;background:var(--bg);border:1px solid var(--rule2)}
.av-cu-page .cu-segc button{height:36px;padding:0 16px;border-radius:4px;border:0;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink2)}
.av-cu-page .cu-segc button[aria-pressed="true"]{background:var(--navy);color:#fff}
.av-cu-page .cu-people{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;max-width:520px}
.av-cu-page .cu-people svg{width:100%;height:auto;transition:opacity .4s}
.av-cu-page .cu-people svg .cu-b{fill:var(--bar);transition:fill .4s,stroke .4s}
.av-cu-page .cu-people.cu-fact svg.cu-gh .cu-b{fill:transparent;stroke:var(--red);stroke-width:1.6;stroke-dasharray:3 3}
.av-cu-page .cu-ghost .cu-out{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline}
.av-cu-page .cu-ghost .cu-out strong{font:800 40px/1 var(--f);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.av-cu-page .cu-ghost .cu-out span{color:var(--ink2);font-size:14.5px}
/* ---------- 06 cases ---------- */
.av-cu-page .cu-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.av-cu-page .cu-tab{display:grid;gap:4px;text-align:left;padding:14px 18px;border-radius:8px;border:1px solid var(--dl);background:transparent;cursor:pointer;min-width:220px;flex:1;transition:border-color .2s,background .2s}
.av-cu-page .cu-tab b{font-weight:700;font-size:15.5px}
.av-cu-page .cu-tab small{font-size:13px;color:var(--on2)}
.av-cu-page .cu-tab:hover{border-color:rgba(150,175,215,.45)}
.av-cu-page .cu-tab[aria-selected="true"]{border-color:var(--red-d);background:rgba(255,90,104,.08)}
.av-cu-page .cu-case{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px}
@media (max-width:960px){
.av-cu-page .cu-case{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-flow{display:grid;gap:0;border:1px solid var(--dl);border-radius:10px;overflow:hidden}
.av-cu-page .cu-flow div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 22px;border-top:1px solid var(--dl)}
.av-cu-page .cu-flow div:first-child{border-top:0}
.av-cu-page .cu-flow b{font:600 12px/1.4 var(--m);letter-spacing:.06em;text-transform:uppercase;color:var(--on2)}
.av-cu-page .cu-flow div:nth-child(2) b{color:var(--red-d)}
.av-cu-page .cu-flow p{margin:0;color:#d4deec}
@media (max-width:560px){
.av-cu-page .cu-flow div{grid-template-columns:minmax(0,1fr);gap:6px}
}
.av-cu-page .cu-res{display:grid;gap:14px;align-content:start}
.av-cu-page .cu-res strong{font:800 clamp(44px,4.6vw,62px)/1 var(--f);letter-spacing:-.05em;color:#fff;font-variant-numeric:tabular-nums}
.av-cu-page .cu-res p{margin:0;color:#c3d0e2}
.av-cu-page .cu-res .cu-mini{display:grid;gap:8px;margin-top:6px}
.av-cu-page .cu-res .cu-mini div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:center;font:400 12.5px/1 var(--m);color:var(--on2)}
.av-cu-page .cu-res .cu-mini span.cu-bb{height:18px;border-radius:0 3px 3px 0;background:#4d79d6;position:relative}
.av-cu-page .cu-res .cu-mini div:last-child span.cu-bb{background:var(--ok-d)}
.av-cu-page .cu-res .cu-mini span.cu-bb em{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);font-style:normal;color:#fff;white-space:nowrap}
/* ---------- 07 roi ---------- */
.av-cu-page .cu-roi{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:32px;align-items:start}
@media (max-width:960px){
.av-cu-page .cu-roi{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-ms{display:grid;gap:8px}
.av-cu-page .cu-m{display:grid;grid-template-columns:24px minmax(0,1fr) 210px;gap:16px;align-items:center;padding:16px 18px;border:1.5px solid var(--rule);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}
.av-cu-page .cu-m:hover{border-color:var(--rule2)}
.av-cu-page .cu-m:has(input:checked){border-color:var(--blue);background:#f6f9ff}
.av-cu-page .cu-m input{width:20px;height:20px;margin:0;accent-color:var(--blue)}
.av-cu-page .cu-m .cu-t{font-weight:600}
.av-cu-page .cu-m .cu-t small{display:block;font-weight:400;font-size:13.5px;color:var(--ink3);margin-top:3px}
.av-cu-page .cu-m .cu-pb{display:grid;gap:6px;font:400 11.5px/1 var(--m);color:var(--ink3)}
.av-cu-page .cu-m .cu-pb span{position:relative;height:8px;border-radius:4px;background:var(--tint)}
.av-cu-page .cu-m .cu-pb span i{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--teal)}
.av-cu-page .cu-m .cu-pb b{font-weight:500;color:var(--ink)}
@media (max-width:620px){
.av-cu-page .cu-m{grid-template-columns:24px minmax(0,1fr)}
.av-cu-page .cu-m .cu-pb{grid-column:2}
}
.av-cu-page .cu-roi-out{position:sticky;top:var(--cu-stick);background:var(--navy);color:var(--on);border-radius:12px;padding:26px;display:grid;gap:18px}
@media (max-width:960px){
.av-cu-page .cu-roi-out{position:static}
}
.av-cu-page .cu-roi-out .cu-k{font:500 11.5px/1 var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--on2)}
.av-cu-page .cu-roi-out .cu-row{display:grid;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--dl)}
.av-cu-page .cu-roi-out .cu-row strong{font:800 30px/1.05 var(--f);letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.av-cu-page .cu-roi-out .cu-x strong{font-size:48px;color:var(--ok-d)}
.av-cu-page .cu-roi-out p{margin:0;font-size:13px;color:var(--on3)}
/* ---------- 08 audit ---------- */
.av-cu-page .cu-methods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.av-cu-page .cu-methods .cu-card{display:grid;gap:10px;align-content:start;padding:24px}
.av-cu-page .cu-methods .cu-card:first-child{grid-column:span 2;background:var(--navy);color:var(--on);border-color:var(--navy)}
.av-cu-page .cu-methods .cu-no{font:500 12px/1 var(--m);color:var(--red)}
.av-cu-page .cu-methods .cu-card:first-child .cu-no{color:var(--red-d)}
.av-cu-page .cu-methods h3{font-size:19px}
.av-cu-page .cu-methods p{margin:0;font-size:14.5px;color:var(--ink2)}
.av-cu-page .cu-methods .cu-card:first-child p{color:#c3d0e2}
.av-cu-page .cu-methods .cu-st{margin-top:6px;padding-top:12px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink)}
.av-cu-page .cu-methods .cu-st b{font:800 22px/1 var(--f);letter-spacing:-.02em;color:var(--red);margin-right:4px}
.av-cu-page .cu-methods .cu-card:first-child .cu-st{border-color:var(--dl);color:#fff}
.av-cu-page .cu-methods .cu-card:first-child .cu-st b{color:var(--red-d);font-size:36px}
@media (max-width:1060px){
.av-cu-page .cu-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
.av-cu-page .cu-methods{grid-template-columns:minmax(0,1fr)}
.av-cu-page .cu-methods .cu-card:first-child{grid-column:auto}
}
.av-cu-page .cu-gantt{margin-top:56px;display:grid;gap:4px}
.av-cu-page .cu-gantt .cu-row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:center;min-height:42px}
.av-cu-page .cu-gantt .cu-lbl{font-size:14.5px;font-weight:600;line-height:1.25}
.av-cu-page .cu-gantt .cu-lbl small{display:block;font:400 12px/1.3 var(--m);color:var(--ink3);margin-top:2px}
.av-cu-page .cu-gantt .cu-trk{position:relative;height:24px;background:repeating-linear-gradient(90deg, transparent 0 calc(16.666% - 1px), var(--rule2) calc(16.666% - 1px) 16.666%)}
.av-cu-page .cu-gantt .cu-trk i{position:absolute;top:2px;bottom:2px;border-radius:4px;background:var(--bar)}
.av-cu-page .cu-gantt .cu-trk i.cu-ext{background:repeating-linear-gradient(135deg, rgba(29,58,107,.35) 0 4px, rgba(29,58,107,.12) 4px 8px);border-radius:0 4px 4px 0}
.av-cu-page .cu-gantt .cu-trk i.cu-par{background:var(--teal)}
.av-cu-page .cu-gantt .cu-trk i.cu-par.cu-ext{background:repeating-linear-gradient(135deg, rgba(31,143,122,.45) 0 4px, rgba(31,143,122,.15) 4px 8px)}
.av-cu-page .cu-gantt .cu-trk .cu-mst{position:absolute;top:50%;width:16px;height:16px;transform:translate(-50%,-50%) rotate(45deg);background:var(--red);border-radius:2px}
.av-cu-page .cu-gantt .cu-ax{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;margin-top:6px}
.av-cu-page .cu-gantt .cu-ax div{position:relative;height:14px;font:400 11.5px/1 var(--m);color:var(--ink3)}
.av-cu-page .cu-gantt .cu-ax span{position:absolute;transform:translateX(-50%)}
.av-cu-page .cu-gantt .cu-ax span:first-child{transform:none}
.av-cu-page .cu-gantt .cu-ax span:last-child{transform:translateX(-100%)}
.av-cu-page .cu-glegend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-size:13px;color:var(--ink3)}
.av-cu-page .cu-glegend span{display:inline-flex;align-items:center;gap:8px}
.av-cu-page .cu-glegend i{width:22px;height:10px;border-radius:3px;background:var(--bar)}
.av-cu-page .cu-glegend i.cu-e{background:repeating-linear-gradient(135deg, rgba(29,58,107,.35) 0 4px, rgba(29,58,107,.12) 4px 8px)}
.av-cu-page .cu-glegend i.cu-p{background:var(--teal)}
.av-cu-page .cu-glegend i.cu-d{width:11px;height:11px;transform:rotate(45deg);background:var(--red);border-radius:2px}
@media (max-width:700px){
.av-cu-page .cu-gantt .cu-row,
.av-cu-page .cu-gantt .cu-ax{grid-template-columns:minmax(0,1fr);gap:6px}
.av-cu-page .cu-gantt .cu-ax div:first-child{display:none}
.av-cu-page .cu-gantt .cu-row{padding-block:4px}
}
/* ---------- 09 checklist ---------- */
.av-cu-page .cu-ckl{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px;align-items:start}
@media (max-width:960px){
.av-cu-page .cu-ckl{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-qgroup{display:grid;gap:6px}
.av-cu-page .cu-qgroup + .cu-qgroup{margin-top:28px}
.av-cu-page .cu-qgroup h3{font-size:15px;font:600 12.5px/1 var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--on2);margin-bottom:8px}
.av-cu-page .cu-q{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-radius:8px;border:1px solid var(--dl);transition:border-color .2s,background .2s}
.av-cu-page .cu-q .cu-qn{font:500 12px/1 var(--m);color:var(--on3)}
.av-cu-page .cu-q p{margin:0;font-size:15px;color:#dce5f2}
.av-cu-page .cu-q .cu-ans{display:inline-flex;gap:4px}
.av-cu-page .cu-q .cu-ans button{height:32px;padding:0 11px;border-radius:4px;border:1px solid var(--dl);background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--on2);transition:background .15s,border-color .15s,color .15s}
.av-cu-page .cu-q .cu-ans button:hover{border-color:rgba(150,175,215,.5);color:#fff}
.av-cu-page .cu-q .cu-ans button[aria-checked="true"][data-v="y"]{background:var(--ok-d);border-color:var(--ok-d);color:#06261b}
.av-cu-page .cu-q .cu-ans button[aria-checked="true"][data-v="p"]{background:var(--warn-d);border-color:var(--warn-d);color:#2a1a00}
.av-cu-page .cu-q .cu-ans button[aria-checked="true"][data-v="n"]{background:var(--red-d);border-color:var(--red-d);color:#fff}
.av-cu-page .cu-q.cu-done{border-color:rgba(150,175,215,.3);background:rgba(255,255,255,.025)}
@media (max-width:640px){
.av-cu-page .cu-q{grid-template-columns:24px minmax(0,1fr)}
.av-cu-page .cu-q .cu-ans{grid-column:2}
}
.av-cu-page .cu-score{position:sticky;top:var(--cu-stick);display:grid;gap:16px;padding:26px;border-radius:12px;background:var(--bg);color:var(--ink)}
@media (max-width:960px){
.av-cu-page .cu-score{position:static}
}
.av-cu-page .cu-score .cu-k{font:500 11.5px/1 var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.av-cu-page .cu-score .cu-n{display:flex;align-items:baseline;gap:10px}
.av-cu-page .cu-score .cu-n strong{font:800 56px/1 var(--f);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.av-cu-page .cu-score .cu-n span{color:var(--ink2)}
.av-cu-page .cu-cells{display:grid;grid-template-columns:repeat(15,1fr);gap:3px}
.av-cu-page .cu-cells i{height:10px;border-radius:2px;background:var(--rule)}
.av-cu-page .cu-cells i.cu-y{background:var(--ok)}
.av-cu-page .cu-cells i.cu-p{background:var(--amber)}
.av-cu-page .cu-cells i.cu-n{background:var(--crit)}
.av-cu-page .cu-scale3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:12px;color:var(--ink3)}
.av-cu-page .cu-scale3 div{padding:8px 10px;border-radius:6px;background:var(--tint);line-height:1.3}
.av-cu-page .cu-scale3 div.cu-on{outline:2px solid var(--ink);outline-offset:-2px;color:var(--ink)}
.av-cu-page .cu-scale3 b{display:block;font:600 12.5px/1.2 var(--f);margin-bottom:3px}
.av-cu-page .cu-gaps{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.av-cu-page .cu-gaps li{font-size:13.5px;line-height:1.4;color:var(--ink2);padding-left:16px;position:relative}
.av-cu-page .cu-gaps li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--c,var(--crit))}
.av-cu-page .cu-gaps li b{color:var(--ink);font-weight:600}
.av-cu-page .cu-score .cu-btn{width:100%}
.av-cu-page .cu-phone{font:600 17px/1 var(--f);text-align:center;color:var(--ink);user-select:all}
.av-cu-page .cu-phone small{display:block;font:400 12.5px/1.6 var(--f);color:var(--ink3);user-select:none}
/* ---------- sources ---------- */
.av-cu-page .cu-srcs{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
@media (max-width:960px){
.av-cu-page .cu-srcs{grid-template-columns:minmax(0,1fr)}
}
.av-cu-page .cu-method{display:grid;gap:14px}
.av-cu-page .cu-method dl{margin:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.av-cu-page .cu-method dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:14.5px}
.av-cu-page .cu-method dt{color:var(--ink3)}
.av-cu-page .cu-method dd{margin:0;font-weight:500}
.av-cu-page .cu-lv{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:4px;font:600 11.5px/1 var(--m)}
.av-cu-page .cu-lv.cu-l1{background:#e3ecff;color:var(--blue-h)}
.av-cu-page .cu-lv.cu-l2{background:#e2f4ef;color:#13705f}
.av-cu-page .cu-lv.cu-l3{background:#f4efe3;color:#8a5d00}
/* tooltip */
.av-cu-page .cu-tip{position:fixed;left:0;top:0;z-index:80;max-width:260px;padding:10px 12px;border-radius:8px;background:var(--deep);color:var(--on);font-size:13px;line-height:1.4;pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.av-cu-page .cu-tip.cu-show{opacity:1}
.av-cu-page .cu-tip b{display:block;font-size:13.5px;margin-bottom:2px;color:#fff}

/* ==========================================================================
   Adaptations to the site (not in the mock-up)
   ========================================================================== */

/* Site breadcrumbs component (breadcrumbs.css, on-dark variant) at the top
   of the hero, as on the other pages. The page sets Onest on .av-cu-page;
   the component keeps the site's body font (theme.json), as on every page.
   Gap to the eyebrow row = the component's own token (the copy column
   already has a 22px grid gap). */
.av-cu-page .av-breadcrumbs {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.av-cu-page .cu-hero-copy > .av-breadcrumbs {
	margin-bottom: calc(var(--av-crumbs-gap-eyebrow) - 22px);
}

/* Chapter anchors clear the site header (html scroll-padding) + the bar. */
.av-cu-page .cu-band {
	scroll-margin-top: var(--cu-toc-h);
}

/* Eyebrow: the mock-up's <i> line is drawn after the number. */
.av-cu-page .cu-eb b {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.av-cu-page .cu-eb b::after {
	content: "";
	display: block;
	width: 30px;
	height: 2px;
	background: var(--red);
}

/* Sources heading (mock-up inline size). */
.av-cu-page h2.cu-h2--sm {
	font-size: clamp(28px, 3vw, 36px);
}

/* Threat panel: all seven panels are rendered, one is shown. */
.av-cu-page .cu-tp {
	display: grid;
	gap: 16px;
}

/* «без вопросов» keeps the text size (mock-up inline font-size:inherit). */
.av-cu-page .cu-methods .cu-st b.cu-inherit {
	font-size: inherit;
}

/* Contacts of the score card are links on the site. */
.av-cu-page .cu-phone a {
	color: inherit;
	text-decoration: none;
}

.av-cu-page .cu-phone a:hover {
	text-decoration: underline;
}

.av-cu-page .cu-phone small a {
	user-select: text;
}

/* Theme link hover underline must not reach buttons and chips. */
.av-cu-page .cu-btn:hover,
.av-cu-page .cu-toc a:hover {
	text-decoration: none;
}

/* Long words of the score zones stay inside their cells on phones (the
   mock-up's «защищённости» overflows at 390px). */
.av-cu-page .cu-scale3 div {
	hyphens: auto;
	overflow-wrap: break-word;
}

/* Leak chart: one column per year of the data (mock-up: fixed 6). */
.av-cu-page .cu-vbars,
.av-cu-page .cu-vx {
	grid-template-columns: repeat(var(--cu-n, 6), minmax(0, 1fr));
}

/* Norms table on phones: long words («Удостоверение», «Просрочено»)
   overlapped the next column in the mock-up at 390px. */
.av-cu-page .cu-norms span {
	min-width: 0;
	hyphens: auto;
	overflow-wrap: anywhere;
}

/* Sources table: titles link to the publications. */
.av-cu-page a.cu-srclink {
	color: var(--blue);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.av-cu-page a.cu-srclink:hover {
	color: var(--blue-h);
}

.av-cu-page .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Hero intro — the homepage's: `av-hero-in` on <html> (set in <head> by
   inc/vulnerability-price.php, skipped on reduced motion), keyframes
   av-hero-rise (sections.css: opacity + translate 20px), 0.7s, same easing.
   Units in reading order; `translate` leaves transforms alone, the radar's
   canvas keeps its own animation. Scroll reveal of the chapters: the site's
   home-reveal.js + sections.css «Homepage reveal». */
.av-hero-in .av-cu-page .cu-hero-copy > .av-breadcrumbs,
.av-hero-in .av-cu-page .cu-hero .cu-meta,
.av-hero-in .av-cu-page .cu-hero .cu-h1,
.av-hero-in .av-cu-page .cu-hero .cu-lead,
.av-hero-in .av-cu-page .cu-hero .cu-btns,
.av-hero-in .av-cu-page .cu-hero .cu-radar,
.av-hero-in .av-cu-page .cu-hero .cu-kin {
	animation: av-hero-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 100ms backwards;
}

.av-hero-in .av-cu-page .cu-hero .cu-meta {
	animation-delay: 200ms;
}

.av-hero-in .av-cu-page .cu-hero .cu-h1 {
	animation-delay: 300ms;
}

.av-hero-in .av-cu-page .cu-hero .cu-lead {
	animation-delay: 400ms;
}

.av-hero-in .av-cu-page .cu-hero .cu-btns {
	animation-delay: 500ms;
}

.av-hero-in .av-cu-page .cu-hero .cu-radar {
	animation-delay: 600ms;
}

.av-hero-in .av-cu-page .cu-hero .cu-kin {
	animation-delay: 700ms;
}

@media (prefers-reduced-motion: reduce) {
	.av-hero-in .av-cu-page .cu-hero-copy > .av-breadcrumbs,
	.av-hero-in .av-cu-page .cu-hero .cu-meta,
	.av-hero-in .av-cu-page .cu-hero .cu-h1,
	.av-hero-in .av-cu-page .cu-hero .cu-lead,
	.av-hero-in .av-cu-page .cu-hero .cu-btns,
	.av-hero-in .av-cu-page .cu-hero .cu-radar,
	.av-hero-in .av-cu-page .cu-hero .cu-kin {
		animation: none;
	}
}

/* Hero background (2026-11-05): photo of an office campus at dusk
   (assets/images/price-hero-office-campus.webp, 1672 × 941) under a soft
   navy gradient — dense behind the text column on the left, fading to a
   light veil on the right (the radar side). Replaces the mock-up's radial
   navy gradient on this band only; the hero's height, grid and content are
   unchanged. Navy underneath = no flash while the preloaded photo loads.
   The stops follow the content edge (side field + 600px copy column). */
.av-cu-page .cu-band.cu-hero {
	background-color: var(--navy);
	background-image:
		linear-gradient(90deg, rgba(7, 17, 31, 0.92) 0%, rgba(11, 26, 46, 0.86) calc(var(--cu-gut) + 420px), rgba(11, 26, 46, 0.62) calc(var(--cu-gut) + 680px), rgba(11, 26, 46, 0.38) 100%),
		url("../images/price-hero-office-campus.webp");
	background-size: auto, cover;
	background-position: center, center center;
	background-repeat: no-repeat;
}

/* Radar: a local soft navy disc under the canvas, so the sweep, rings and
   labels stay legible over the lit windows. Below the canvas (z-index), no
   change to the radar script. */
.av-cu-page .cu-radar::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(closest-side, rgba(7, 17, 31, 0.62) 0%, rgba(7, 17, 31, 0.45) 60%, rgba(7, 17, 31, 0) 100%);
	pointer-events: none;
}

.av-cu-page .cu-radar canvas {
	z-index: 1;
}

/* Stacked hero (below 1200px): the hero gets tall (≈1.4–1.8k px), so the
   photo is shown in its natural height band at the top (1000px, framed on
   the buildings) and fades into the navy under the radar; the veil runs
   top-to-bottom. */
@media (max-width: 1199.98px) {
	.av-cu-page .cu-band.cu-hero {
		background-image:
			linear-gradient(180deg, rgba(7, 17, 31, 0.78) 0px, rgba(11, 26, 46, 0.6) 420px, rgba(11, 26, 46, 0.78) 760px, #0b1a2e 1000px),
			url("../images/price-hero-office-campus.webp");
		background-size: auto, auto 1000px;
		background-position: center, 70% top;
	}

	.av-cu-page .cu-radar::before {
		inset: 0 calc(-1 * var(--cu-bleed)) auto calc(-1 * var(--cu-bleed));
		height: 360px;
	}
}

@media (max-width: 520px) {
	.av-cu-page .cu-radar::before {
		height: 320px;
	}
}

/* Header overlay (body.av-hero-overlay, inc/vulnerability-price.php): from
   1080px the header's navigation row lies over the top of the hero, as on
   the homepage (main.css). The hero adds that row's height to its top
   padding, so the photo starts under the translucent row and the text keeps
   its place. Mirrors --av-main-h of main.css (80px, 74px from 1200px), the
   same token the other overlay pages use (--av-hero-under). Below 1080px
   the header does not overlay (homepage behaviour). */
.av-cu-page .cu-band.cu-hero {
	--av-hero-under: 0px;
	padding-top: calc(var(--av-hero-under) + 72px);
}

@media (min-width: 1080px) {
	.av-cu-page .cu-band.cu-hero {
		--av-hero-under: 5rem;      /* main.css --av-main-h */
	}
}

@media (min-width: 1200px) {
	.av-cu-page .cu-band.cu-hero {
		--av-hero-under: 4.625rem;  /* main.css --av-main-h ≥1200 */
	}
}

/* Radar (2026-11-05): the brighter drawing — rings, beam, blueprint, red
   markers with pulsing rings, label plates — is in vulnerability-price.js
   draw() (glow = wide translucent stroke under each line; a CSS filter on
   the animated canvas cost ~half the frame rate). The counter panel gets a
   slightly stronger brand-blue frame. */
.av-cu-page .cu-ticker {
	border-color: rgba(111, 163, 230, 0.35);
}
