
@font-face{font-family:"Avenir Next W1G";src:url("/fonts/avenirnext-medium.woff2") format("woff2");font-display:swap;font-weight:500 800;font-style:normal}
@font-face{font-family:"Avenir Next W1G";src:url("/fonts/avenirnext-regular.woff2") format("woff2");font-display:swap;font-weight:300 400;font-style:normal}
:root,html[data-theme="dark"]{
  color-scheme:dark;
  --pb-bg:#0D1813; --pb-bg2:#0D1813; --pb-surface:#16221C; --pb-muted-bg:color-mix(in srgb,var(--pb-surface) 55%,var(--pb-bg));
  --pb-line:rgba(255,253,245,0.14); --pb-hairline:rgba(255,253,245,0.14); --pb-ok:#1FB486; --pb-ink:#FFFDF5; --pb-muted:rgba(255,253,245,0.64);
  --pb-emerald:#1FB486; --pb-spark:#C79A73; --pb-accent2:#BB9777; --pb-copper:#BB9777;
  --pb-panel:#16221C;
  --pb-copper-solid:#BB9777;
  --pb-rim:color-mix(in srgb,var(--pb-copper) 55%,transparent);
  --pb-rim-hot:var(--pb-copper);
  --pb-depth:0 16px 40px -18px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.045) inset;
  --pb-substrate:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),color-mix(in srgb,var(--pb-panel) 92%,#000);
  --pb-spark-orbit:#E4705F;
  --pb-content:1320px; --pb-narrow:720px;
  --pb-canvas:radial-gradient(ellipse 85% 55% at 78% -8%,rgba(27,40,34,0.52),transparent 58%),linear-gradient(180deg,#111D17 0%,#0D1813 42%,#0D1813 100%);
  --pb-canvas-size:cover;
  --pb-band-muted:color-mix(in srgb,var(--pb-surface) 55%,var(--pb-bg));
  --pb-band-primary:linear-gradient(135deg,var(--pb-surface) 0%,var(--pb-bg) 55%,var(--pb-surface) 100%);
  --pb-bg-2:#111D17;
  --pb-surface-2:#1B2822;
  --pb-ink-2:rgba(255,253,245,0.78);
  --pb-accent:#C79A73;
  --pb-accent-hi:#F0D4B4;
  --pb-accent-ink:#1A221E;
  --pb-rim:rgba(199,154,115,0.55);
  --pb-glow:rgba(187,151,119,0.42);
  --pb-focus:#C79A73;
  --pb-warn:#C79A73;
  --pb-danger:#E0684F;
  --pb-media-plate:transparent;
  --pb-media-ink:#FFFDF5;
  --pb-media-scrim:rgba(10,18,14,0.92);

--ntc-font:"Avenir Next W1G",-apple-system,"Segoe UI",Roboto,sans-serif;
  --ntc-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ntc-ink:#E8F0EA;
  --ntc-muted:rgba(255,253,245,.62);
  --ntc-copper:#BB9777;
  --ntc-line:rgba(255,253,245,.14);
  --ntc-thead:#9fb0a3;
  --ntc-h1:clamp(1.55rem,4.2vw,2.75rem);
  --ntc-h2:clamp(1.35rem,2.4vw,1.75rem);
  --ntc-h3:clamp(1rem,1.35vw,1.15rem);
  --ntc-lead:1.08rem;
  --ntc-body:.98rem;
  --ntc-kicker:12px;
  --ntc-label:11px;
  --ntc-note:15px;
  --ntc-caption:15px;
  --ntc-table:.95rem;
  --ntc-table-head:11.5px;
  --ntc-control:15px;
  --ntc-mono-size:11px;
  --ntc-lh-heading:1.18;
  --ntc-lh-lead:1.5;
  --ntc-lh-body:1.55;
  --ntc-lh-kicker:1.55;
  --ntc-lh-table:1.55;
  --ntc-lh-control:44px;
  --ntc-track-h1:.01em;
  --ntc-track-h2:.04em;
  --ntc-track-kicker:.16em;
  --ntc-track-table:.1em;
  --ntc-heading-margin:0 0 14px;
  --ntc-h3-margin:0 0 6px;
  --ntc-kicker-margin:0 0 10px;
  --ntc-body-margin:0;
  --ntc-section-pad:48px;
  --ntc-section-join:0px;
  --ntc-rule-margin:28px 0;
}
html[data-theme="light"]{
  color-scheme:light;
  --pb-bg:#FAF3E4; --pb-bg2:#FAF3E4; --pb-surface:#FFFDF8; --pb-muted-bg:color-mix(in srgb,var(--pb-surface) 72%,var(--pb-bg));
  --pb-line:rgba(26,34,30,0.12); --pb-hairline:rgba(26,34,30,0.12); --pb-ok:#12805F; --pb-ink:#1A221E; --pb-muted:rgba(26,34,30,0.66);
  --pb-emerald:#12805F; --pb-spark:#7E5F44; --pb-accent2:#836349; --pb-copper:#836349;
  --pb-panel:#FFFDF8;
  --pb-copper-solid:#836349;
  --pb-rim:color-mix(in srgb,var(--pb-copper) 55%,transparent);
  --pb-rim-hot:var(--pb-copper);
  --pb-depth:0 12px 32px -16px rgba(52,63,57,.18),0 1px 0 rgba(255,255,255,.8) inset;
  --pb-substrate:linear-gradient(165deg,rgba(255,255,255,.9),rgba(255,253,245,.5)),var(--pb-surface);
  --pb-spark-orbit:#E4705F;
  --pb-content:1320px; --pb-narrow:720px;
  --pb-canvas:radial-gradient(ellipse 1400px 800px at 108% -8%,rgba(131,99,73,0.22) 0%,transparent 62%),radial-gradient(ellipse 1200px 700px at -10% 18%,rgba(131,99,73,0.14) 0%,transparent 60%),radial-gradient(ellipse 1300px 640px at 100% 62%,rgba(120,140,110,0.14) 0%,transparent 62%),linear-gradient(180deg,#FBF5E9 0%,#F6EFDE 40%,#F3EAD6 100%);
  --pb-canvas-size:cover;
  --pb-band-muted:color-mix(in srgb,var(--pb-surface) 72%,var(--pb-bg));
  --pb-band-primary:linear-gradient(135deg,color-mix(in srgb,var(--pb-surface) 90%,var(--pb-copper)) 0%,var(--pb-bg) 50%,var(--pb-surface) 100%);
  --pb-bg-2:#F3EAD6;
  --pb-surface-2:#F6EFE1;
  --pb-ink-2:rgba(26,34,30,0.80);
  --pb-accent:#7E5F44;
  --pb-accent-hi:#6E5238;
  --pb-accent-ink:#FFFDF5;
  --pb-rim:rgba(138,106,78,0.34);
  --pb-glow:rgba(187,151,119,0.22);
  --pb-focus:#7E5F44;
  --pb-warn:#8A6A4E;
  --pb-danger:#B8452F;
  --pb-media-plate:transparent;
  --pb-media-ink:#FFFDF5;
  --pb-media-scrim:rgba(10,18,14,0.92);
}
:root,html[data-theme="dark"],html[data-theme="light"]{
  --pb-font:"Avenir Next W1G","Avenir Next W1G",-apple-system,"Segoe UI",Roboto,sans-serif;
  --pb-font-display:"Avenir Next W1G",system-ui,sans-serif;
  --pb-font-body:"Avenir Next W1G",system-ui,sans-serif;
  --pb-face-label:"НТЦ «Аэрогеофизика»";
}

/* face-dna.css · Claude custody · compose .dna-* only */
/* ═══════════════════════════════════════════════════════════════════════════
   FACE DNA — one layer, lifted NUMBERS from the owner-approved reference
   (ROUND_LIFT_THE_DNA §2: lift the design, never the markup).
   Sources: data/reference-live-20260731 (pinned :8793 capture, 297KB of
   approved CSS) + variant C (:8794, owner: «оснащение хорошо») + powerplant
   canon (owner: «фееричная»). Owner rulings preserved in comments verbatim.
   Custody: Claude (FACE-STYLE-LAW F23). Patterns COMPOSE these class names;
   no pattern re-declares these numbers. No inline per-section CSS (Codex gate).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1 · GLASS PLAQUE — the platform card. Source: .agf-plat-m
      «Platform: vertical glass plaques + firm brass rim (boss ref AGP-PulsX + vertical)» */
.dna-glass{
  border-radius:20px;overflow:hidden;
  background:
    linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 8.5%,transparent) 0%,color-mix(in srgb,var(--pb-ink) 2%,transparent) 42%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 100%),
    color-mix(in srgb,var(--pb-bg) 42%,transparent);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent),
             inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 12%,transparent),
             inset 0 -1px 0 rgba(0,0,0,.18),
             0 18px 40px -22px rgba(0,0,0,.55);
  transition:border-color .22s,transform .32s cubic-bezier(.2,.85,.2,1),box-shadow .32s cubic-bezier(.2,.85,.2,1);
  transform-origin:center bottom;will-change:transform}
.dna-glass:hover{
  transform:translateY(-8px) scale(1.02)!important;
  border-color:color-mix(in srgb,var(--pb-accent) 85%,transparent)!important;
  box-shadow:
    0 3px 0 0 color-mix(in srgb,var(--pb-accent) 30%,transparent),
    0 16px 28px -12px rgba(0,0,0,.55),
    0 34px 54px -18px rgba(0,0,0,.48),
    0 0 0 1px color-mix(in srgb,var(--pb-accent) 32%,transparent),
    inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 16%,transparent),
    0 0 30px -8px color-mix(in srgb,var(--pb-accent) 22%,transparent)!important}
/* plaque photo window · «-20% height boss» */
.dna-glass-ph{aspect-ratio:15/16;min-height:0;display:flex;align-items:center;justify-content:center;
  overflow:hidden;padding:14px 12px 6px;background:transparent}
/* plaque type scale (source .agf-plat-m-t / -p) */
.dna-glass-t{font-size:1rem;font-weight:600;color:var(--pb-ink);line-height:1.25;letter-spacing:.01em;margin:0 0 6px}
.dna-glass-p{font-size:.82rem;line-height:1.35;color:color-mix(in srgb,var(--pb-ink) 48%,transparent);margin:0}

/* ── 2 · BRASS RIM — the rim alone, as a modifier (compose with any surface) */
.dna-rim{border:1.5px solid color-mix(in srgb,var(--pb-accent) 52%,transparent)}          /* firm brass rim */
.dna-rim:hover{border-color:color-mix(in srgb,var(--pb-accent) 78%,transparent)}
.dna-rim--soft{border:1px solid color-mix(in srgb,var(--pb-copper) 28%,transparent)}
.dna-rim--none{border:0}

/* ── 3 · MEDIA TILE — the rounded-square media slot (variant C .pb-fc-ic raised;
      owner §3: «крупные значки, куда я потом бы подставил вместо пиктограмм фото приборов»
      — one box: pictogram | photograph | 3D thumb, switched by mouse) */
.dna-tile{display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:48px;height:48px;border-radius:12px;color:var(--pb-copper);
  background:color-mix(in srgb,var(--pb-copper) 12%,transparent);
  border:1.5px solid color-mix(in srgb,var(--pb-copper) 40%,transparent);overflow:hidden}
.dna-tile--lg{width:96px;height:96px;border-radius:16px}    /* «крупные значки» */
.dna-tile>img{width:100%;height:100%;object-fit:cover;display:block}
.dna-tile>svg{width:62%;height:62%;display:block}

/* ── 4 · SPEC ROW — the striped table row (source .pb-spec-table odd rows;
      F4/F13: left label / right value, alternating bands, right-aligned values) */
.dna-spec-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 14px}
.dna-spec-row:nth-child(odd){background:color-mix(in srgb,var(--pb-ink) 3%,transparent)}
.dna-spec-label{color:var(--pb-muted)}
.dna-spec-value{color:var(--pb-ink);font-weight:600;text-align:right}

/* ── 5 · STAT CHIP — the small labelled value card (powerplant canon, owner: «фееричная») */
.dna-chip{border-radius:12px;padding:12px 16px;
  border:1px solid color-mix(in srgb,var(--pb-copper) 28%,transparent);
  background:color-mix(in srgb,var(--pb-surface) 55%,transparent)}
.dna-chip-cat{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pb-copper);margin:0 0 4px}
.dna-chip-v{font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:650;line-height:1.1;color:var(--pb-ink);margin:0}

/* ── 6 · FRAME — the rounded photo frame with its shadow (spec_pair media window) */
.dna-frame{border-radius:12px;overflow:hidden;display:flex;align-items:stretch;
  box-shadow:0 18px 40px -22px rgba(0,0,0,.55)}
.dna-frame>img{width:100%;height:100%;object-fit:cover;display:block}

/* ── satellite card from variant C (advantages secondary row) — kept as approved */
.dna-sat{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;
  padding:16px 16px 16px 14px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--pb-copper) 28%,transparent);
  background:color-mix(in srgb,var(--pb-surface) 55%,transparent);
  transition:border-color .22s,background .22s,transform .32s cubic-bezier(.2,.85,.2,1),box-shadow .32s cubic-bezier(.2,.85,.2,1);
  transform-origin:center bottom;will-change:transform}
.dna-sat:hover{
  border-color:color-mix(in srgb,var(--pb-copper) 62%,transparent);
  background:color-mix(in srgb,var(--pb-copper) 7%,transparent);
  transform:translateY(-8px) scale(1.02);
  box-shadow:
    0 3px 0 0 color-mix(in srgb,var(--pb-copper) 28%,transparent),
    0 16px 28px -12px rgba(0,0,0,.55),
    0 32px 52px -18px rgba(0,0,0,.48),
    0 0 0 1px color-mix(in srgb,var(--pb-copper) 30%,transparent),
    inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 14%,transparent)}

/* ═══════════════════════════════════════════════════════════════════════════
   7 · LIGHT FACE — the same six surfaces on #FFFDF5 (NIGHT_ROLLOUT §4).
   Same class names, light NUMBERS — patterns compose, never re-declare.
   Everything built on var(--pb-*) themes itself via html[data-theme=light]
   root tokens; this block overrides only the hardcoded dark numbers.
   Reasons recorded per choice (F31). Custody: Claude.
   ═══════════════════════════════════════════════════════════════════════════ */

/* glass plaque → light: the dark recipe is a light film over a dark ground —
   on cream it reads dirty grey. Light glass is a DIFFERENT construction:
   white surface, a real two-part shadow (ambient + contact), thin warm rim.
   No backdrop blur: there is nothing behind white worth blurring. */
html[data-theme="light"] .dna-glass{
  background:linear-gradient(165deg,var(--pb-surface) 0%,color-mix(in srgb,var(--pb-surface) 70%,var(--pb-bg)) 100%);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent2) 20%,transparent),
             inset 0 1px 0 var(--pb-surface),
             0 2px 6px -2px color-mix(in srgb,var(--pb-ink) 10%,transparent),
             0 14px 32px -20px color-mix(in srgb,var(--pb-ink) 26%,transparent)}
/* hover: the MOTION is shared DNA (−8px ×1.02, brass shelf) — only the light
   values change. No copper bloom layer: a glow on white reads as a smudge;
   the shelf alone carries the brass. */
html[data-theme="light"] .dna-glass:hover{
  border-color:color-mix(in srgb,var(--pb-accent2) 65%,transparent)!important;
  box-shadow:
    0 3px 0 0 color-mix(in srgb,var(--pb-accent2) 38%,transparent),
    0 14px 24px -12px color-mix(in srgb,var(--pb-ink) 28%,transparent),
    0 30px 48px -20px color-mix(in srgb,var(--pb-ink) 20%,transparent),
    0 0 0 1px color-mix(in srgb,var(--pb-accent2) 32%,transparent),
    inset 0 1px 0 var(--pb-surface)!important}
/* plaque type: hardcoded cream inks flip to the green-ink scale */
html[data-theme="light"] .dna-glass-t{color:var(--pb-ink)}
html[data-theme="light"] .dna-glass-p{color:color-mix(in srgb,var(--pb-ink) 58%,transparent)}

/* brass rim → light: at .52 alpha on dark it is jewellery, on white it
   disappears. The light rim is not the accent reused — it is a DARKER brass
   (#A97F55): on white, contrast comes from value, not alpha. */
html[data-theme="light"] .dna-rim{border-color:color-mix(in srgb,var(--pb-accent2) 62%,transparent)}
html[data-theme="light"] .dna-rim:hover{border-color:color-mix(in srgb,var(--pb-accent2) 85%,transparent)}
html[data-theme="light"] .dna-rim--soft{border-color:color-mix(in srgb,var(--pb-accent2) 30%,transparent)}

/* media tile → light: a product photo on white floats like a cut-out — it
   needs a ground. Warm paper ground + firmer rim; pictograms keep brass. */
html[data-theme="light"] .dna-tile{
  color:var(--pb-accent2);
  background:var(--pb-surface-2);
  border-color:color-mix(in srgb,var(--pb-accent2) 45%,transparent)}

/* spec row stripe: white at .03 is invisible on white — ink-side stripe */
html[data-theme="light"] .dna-spec-row:nth-child(odd){background:color-mix(in srgb,var(--pb-ink) 4.5%,transparent)}

/* stat chip → light: white card, warm border; the brass caption darkens to
   stay legible — #BB9777 on white is ~2.4:1, decoration not text. */
html[data-theme="light"] .dna-chip{
  background:var(--pb-surface);
  border-color:color-mix(in srgb,var(--pb-accent2) 40%,transparent)}
html[data-theme="light"] .dna-chip-cat{color:var(--pb-accent)}

/* photo frame → light: the black .55 shadow is soot on cream — softer
   green-ink shadow + a hairline so the photo has an edge, not a cut line */
html[data-theme="light"] .dna-frame{
  box-shadow:0 2px 6px -2px color-mix(in srgb,var(--pb-ink) 12%,transparent),
             0 16px 36px -22px color-mix(in srgb,var(--pb-ink) 32%,transparent);
  outline:1px solid color-mix(in srgb,var(--pb-ink) 10%,transparent);outline-offset:-1px}

/* satellite card → light: same geometry, paper surface, firmer warm border;
   hover shelf + shadows in light values (glow dropped — same smudge rule) */
html[data-theme="light"] .dna-sat{
  background:var(--pb-surface);
  border-color:color-mix(in srgb,var(--pb-accent2) 38%,transparent)}
html[data-theme="light"] .dna-sat:hover{
  border-color:color-mix(in srgb,var(--pb-accent2) 72%,transparent);
  background:color-mix(in srgb,var(--pb-surface) 60%,var(--pb-bg-2));
  box-shadow:
    0 3px 0 0 color-mix(in srgb,var(--pb-accent2) 32%,transparent),
    0 14px 24px -12px color-mix(in srgb,var(--pb-ink) 26%,transparent),
    0 28px 46px -20px color-mix(in srgb,var(--pb-ink) 18%,transparent),
    0 0 0 1px color-mix(in srgb,var(--pb-accent2) 28%,transparent),
    inset 0 1px 0 var(--pb-surface)}


.mrl-fti{display:inline-grid;place-items:center;line-height:0;flex:none;color:inherit}
.mrl-fti svg{display:block;width:1em;height:1em}
.mrl-doc-ic .mrl-fti,.mrl-doc-ic .mrl-fti svg{width:40px;height:40px}
.pb-doc-ic .mrl-fti,.pb-doc-ic .mrl-fti svg{width:40px;height:40px}
.dc-sil .mrl-fti,.dc-sil .mrl-fti svg{width:38px;height:38px}
.asset-glyph .mrl-fti,.asset-glyph .mrl-fti svg{width:36px;height:36px}
.m-slot .mrl-fti,.m-slot .mrl-fti svg,.m-glyph .mrl-fti,.m-glyph .mrl-fti svg{width:22px;height:22px}
.mrl-fti-slot{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;line-height:0}
.mrl-fti-slot .mrl-fti,.mrl-fti-slot .mrl-fti svg{width:42px;height:42px}
.pb-col--doc .mrl-fti-slot{flex:0 0 42px}
.ch-f-legal-a,.ch-f-link:has(>.mrl-fti){display:inline-flex;align-items:center;gap:6px}
.ch-f-legal-a .mrl-fti,.ch-f-legal-a .mrl-fti svg,
.ch-f-link > .mrl-fti,.ch-f-link > .mrl-fti svg{width:14px;height:14px;flex:none}
.pb-ct-file-card .ic .mrl-fti,.pb-ct-file-card .ic .mrl-fti svg{width:28px;height:28px}
.docs-item{display:flex;align-items:center;gap:10px}
.docs-item .mrl-fti,.docs-item .mrl-fti svg{width:28px;height:28px}
.quiz-agree a:has(>.mrl-fti),.mfq-consent a:has(>.mrl-fti){display:inline-flex;align-items:center;gap:6px;vertical-align:baseline}
.quiz-agree .mrl-fti,.quiz-agree .mrl-fti svg,
.mfq-consent .mrl-fti,.mfq-consent .mrl-fti svg{width:14px;height:14px;flex:none}
*{box-sizing:border-box}
/*
 * ONE continuous substrate on body only — sections paint nothing (no per-band bg).
 * Per-section backgrounds create horizontal seams (boss screenshot); avoid that.
 */
html{background:var(--pb-bg);color-scheme:dark;
  --pb-picto-tile:64px;--pb-picto-glyph:40px}
html[data-theme="light"]{color-scheme:light}

html,body{margin:0;color:var(--pb-ink);font-family:var(--pb-font-body,var(--pb-font));line-height:1.55}
html,body{
  min-height:100%;
  background-color:var(--pb-bg)!important;
  /* paint via ::before — Safari is unreliable with multi-layer fixed bg on body */
  background-image:none!important}
/*
 * Continuous seamless substrate (brochure green fields + copper bloom).
 * Fixed pseudo covers the viewport once; sections stay transparent → no seams.
 */
body.pb-has-canvas{position:relative;isolation:isolate}
body.pb-has-canvas::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-color:var(--pb-bg);
  background-image:var(--pb-canvas);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center top}
html[data-theme="light"] body.pb-has-canvas::before{
  background-image:var(--pb-canvas)}
.pb-text--h1,.pb-text--h2,.pb-logo,h1,h2,h3{font-family:var(--pb-font-display,var(--pb-font))}
img,video{max-width:100%;display:block}
a{color:var(--pb-spark)}
.agp-accent{color:var(--pb-copper)}
.pb-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.pb-chip{border:1px solid var(--pb-line);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--pb-muted);background:color-mix(in srgb,var(--pb-surface) 80%,transparent)}
.pb-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}
.pb-text--eyebrow{display:block;font-size:12px;letter-spacing:.16em;color:var(--pb-copper);text-transform:uppercase;font-weight:600;margin:0 0 8px}
.eyebrow{display:block;font-size:12px;letter-spacing:.16em;color:var(--pb-copper);text-transform:uppercase;font-weight:600;margin-bottom:6px}
.pb-chrome{border-bottom:1px solid var(--pb-line);background:linear-gradient(180deg,var(--pb-surface),var(--pb-bg))}
.pb-footer{border-top:1px solid var(--pb-line);border-bottom:0;margin-top:40px;background:transparent}
.pb-chrome-inner{max-width:var(--pb-content);margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pb-logo{letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.pb-badge{font-size:11px;color:var(--pb-muted);border:1px solid var(--pb-line);border-radius:999px;padding:4px 10px}
.pb-page{min-height:60vh;background:transparent}
/* Section shell: flex column so pb-gap--* spaces rows. Default band stays transparent
   (seamless substrate) — named surfaces copper/glass override below with higher specificity. */
.pb-section{width:100%;position:relative;display:flex;flex-direction:column;border:0!important;box-shadow:none}
.pb-section:not(.pb-bg--copper):not(.pb-bg--glass):not(.pb-bg--dark):not(.pb-bg--light){
  background:transparent!important}
/* Section photo band (props.base.bgImage) — lab conditions strip · child layer only */
.pb-section--has-bg{overflow:hidden;isolation:isolate}
.pb-sec-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.pb-sec-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05) brightness(.7)}
.pb-sec-bg::after{content:"";position:absolute;inset:0;pointer-events:none}
.pb-sec-bg[data-overlay="band"]::after{
  background:linear-gradient(180deg,var(--pb-bg) 0%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 30%,color-mix(in srgb,var(--pb-bg) 55%,transparent) 70%,var(--pb-bg) 100%)}
.pb-sec-bg[data-overlay="soft"]::after{
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-media-scrim) 60%,transparent) 0%,color-mix(in srgb,var(--pb-media-scrim) 38%,transparent) 50%,color-mix(in srgb,var(--pb-media-scrim) 76%,transparent) 100%)}
.pb-sec-bg[data-overlay="dark"]::after{background:color-mix(in srgb,var(--pb-media-scrim) 78%,transparent)}
.pb-sec-bg[data-overlay="none"]::after{display:none}
.pb-section--has-bg > .pb-row{position:relative;z-index:1}
/* polish #2: collapse double vertical gap between adjacent sections */
.pb-section + .pb-section{margin-top:0}
/* Owner 2026-08-13: no «Подробнее о компании» in the contacts mega.
   /about is not a page. Emit already skips an empty label; this covers
   a stale pack until the next ship. */
.ch-m-aboutlink{display:none!important}
/* F-390: touching wrappers read as one strip. Phone needs a real join. */

/* F-PROD-nav: chrome + page faces hide .ch-h-nav at 1100 with !important and
   never reopen on .is-nav-open. Burger then turns into X over a dead sheet.
   Specificity must beat chrome's html[data-theme] body:not(...) rule. */

/* ROUND_HERO_FIX: single padY scale — craft and live must show the same numbers.
   Owner sets a step → that step's padding is what renders (no silent override). */
.pb-py--none{padding-block:0}
.pb-py--xs{padding-block:8px}
.pb-py--sm{padding-block:22px}
.pb-py--md{padding-block:48px}
.pb-py--lg{padding-block:76px}
.pb-py--xl{padding-block:104px}
.pb-py--2xl{padding-block:140px}
/* V-02 lab named padY recipes (block + inline in one chip — not secret CSS on none) */
.pb-py--band{padding:120px 72px 110px;padding-top:120px;padding-bottom:110px;padding-left:72px;padding-right:72px}
.pb-py--section{padding:120px 72px;padding-top:120px;padding-bottom:120px;padding-left:72px;padding-right:72px}
.pb-py--section-sm{padding:80px 22px;padding-top:80px;padding-bottom:80px;padding-left:22px;padding-right:22px}

.pb-px--none{padding-inline:0}.pb-px--xs{padding-inline:8px}.pb-px--sm{padding-inline:12px}
.pb-px--md{padding-inline:20px}.pb-px--lg{padding-inline:28px}.pb-px--xl{padding-inline:36px}
.pb-px--2xl{padding-inline:48px}
/* Gap axis — the seven named steps eight emit consumers ask for by name.
   They were never defined, so every var(--pb-gap-*) silently took its fallback
   and the owner's chosen step did nothing. Numbers = gap ramp 0·6·12·20·32·48·64. */
:root{
  --pb-gap-none:0;--pb-gap-xs:6px;--pb-gap-sm:12px;--pb-gap-md:20px;
  --pb-gap-lg:32px;--pb-gap-xl:48px;--pb-gap-2xl:64px;
}
/* Named section surfaces — must beat transparent default (Inspector OS craft parity) */
.pb-bg--default,.pb-bg--muted,.pb-bg--primary{background:transparent!important;border-block:0!important}
.pb-section.pb-bg--copper,.pb-bg--copper{
  background:color-mix(in srgb,var(--pb-copper) 22%,transparent)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pb-copper) 35%,transparent)}
.pb-section.pb-bg--glass,.pb-bg--glass{
  background:color-mix(in srgb,var(--pb-surface) 62%,transparent)!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pb-ink) 10%,transparent)}
.pb-section.pb-bg--dark,.pb-bg--dark{
  background:color-mix(in srgb,var(--pb-media-scrim) 60%,transparent)!important}
.pb-section.pb-bg--light,.pb-bg--light{
  background:color-mix(in srgb,var(--pb-ink) 14%,transparent)!important}
.pb-row{max-width:var(--pb-content);margin:0 auto}
.pb-row.pb-w--narrow{max-width:var(--pb-narrow)}
.pb-row.pb-w--full{max-width:none}
/* gap steps · section + row (none|xs|sm|md|lg|xl|2xl) */
.pb-gap--none{gap:0}.pb-gap--xs{gap:6px}.pb-gap--sm{gap:12px}.pb-gap--md{gap:20px}
.pb-gap--lg{gap:32px}.pb-gap--xl{gap:48px}.pb-gap--2xl{gap:64px}
.pb-row{display:flex;flex-wrap:wrap}
.pb-stack{flex-direction:column}
.pb-align--center{align-items:center;text-align:center}
.pb-align--stretch{align-items:stretch}
.pb-align--start{align-items:flex-start}
.pb-cols--2.pb-unstack-lg,.pb-cols--2.pb-unstack-md{display:grid;grid-template-columns:1fr}
.pb-cols--4.pb-unstack-md{display:grid;grid-template-columns:1fr}
@media(min-width:720px){
  .pb-cols--4.pb-unstack-md{grid-template-columns:repeat(4,1fr)}
  .pb-cols--2.pb-unstack-md{grid-template-columns:1.1fr .9fr;text-align:left;align-items:center}
}
@media(min-width:960px){
  .pb-cols--2.pb-unstack-lg{grid-template-columns:1.1fr .9fr;text-align:left;align-items:center}
}
.pb-col--copy{display:flex;flex-direction:column;gap:12px;align-items:flex-start;text-align:left}
.pb-align--center .pb-col--copy{align-items:center;text-align:center}
@media(min-width:720px){
  .pb-unstack-md .pb-col--copy,.pb-unstack-lg .pb-col--copy{align-items:flex-start;text-align:left}
}
.pb-col--media{display:flex;flex-direction:column;gap:12px;align-items:center}

.pb-row--has-cols{align-items:stretch}

/* SECTION_2_PLATFORM_2 · 390: two-column config pair stacks (composition, not squeeze) */

.pb-col--explicit{display:flex;flex-direction:column;gap:12px}
.pb-col--link{text-decoration:none;color:inherit;cursor:pointer;transition:transform .15s ease,filter .15s ease,border-color .2s ease}
.pb-col--link:hover{transform:translateY(-3px);filter:brightness(1.06)}
.pb-col--link:focus-visible{outline:2px solid var(--pb-copper);outline-offset:3px}
/* PDF / consent doc cards — copper rim + download affordance (o-kompanii 1:1) */
.pb-col--doc{
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;
  padding:18px 20px!important;border:1px solid color-mix(in srgb,var(--pb-accent) 22%,transparent)!important;border-radius:14px!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-ink) 4.5%,transparent),color-mix(in srgb,var(--pb-ink) 1.2%,transparent))!important;
  min-height:72px;height:100%}
.pb-col--doc:hover{border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent)!important;transform:translateY(-3px);filter:none}
.pb-col--doc > .pb-block--text{gap:2px;margin:0}
.pb-col--doc .pb-text--h3{font-size:14.5px!important;font-weight:600!important;color:var(--pb-ink)!important;
  text-transform:none!important;letter-spacing:0!important;margin:0!important;line-height:1.35}
.pb-col--doc .pb-text--body{font-size:12px!important;color:var(--pb-muted)!important;margin:2px 0 0!important}
/* CTA pair in column: horizontal row (NTC home hero) */
.pb-col--explicit:has(> .pb-block--cta + .pb-block--cta){
  flex-flow:row wrap;align-items:center;align-content:flex-start;gap:12px 14px}
.pb-col--explicit:has(> .pb-block--cta + .pb-block--cta) > .pb-block--text{flex:1 0 100%}
.pb-col--explicit:has(> .pb-block--cta + .pb-block--cta) > .pb-block--cta{flex:0 0 auto;margin:0}
/* when text blocks precede CTAs, keep texts full width then CTA row */
.pb-col--explicit > .pb-block--cta{display:inline-flex}

.pb-text--h1{font-size:clamp(1.55rem,4.2vw,2.75rem);line-height:1.18;font-weight:600;margin:0 0 8px;padding-top:.12em;letter-spacing:.01em;overflow-wrap:anywhere;text-transform:uppercase}
/* ───────── ВЁРСТКА ТЕКСТА · ЗАКОН НА ВЕСЬ САЙТ ─────────
   Владелец 2026-08-12: правила вёрстки должны лежать в основе, а не в лицах страниц.
   Шкала ритма 4·8·14·22·30 — отсюда и отступы шапки сцены.
   1 · Заголовки и брови-крошки прописными: так принято в русской вёрстке. Регистр задаёт
       стиль, а не текст в данных — владелец правит обычной строкой.
       2026-08-20: «все заголовки пишутся только Капсом, обязательно» — text-transform,
       данные в редакторе остаются читаемой строкой. Й Ё Б: line-height ≥1.18 + padding-top,
       иначе clip-text и overflow:hidden срезают диакритику.
   2 · Заголовки балансируются по строкам, переносов внутри слова нет: одинокое слово на
       последней строке — дефект.
   3 · Абзацы без висячих строк.
   4 · Шапка сцены: бровь → заголовок 10 · заголовок → лид 14 · лид → содержимое 30. */
h1,h2,h3,.pb-text--h1,.pb-text--h2,.pb-text--h3,.pb-sh-title,.pb-hf-title,.pb-pch-h1,.pb-sph-title,.pb-hw-title{text-wrap:balance;hyphens:none;overflow-wrap:normal;text-transform:uppercase;line-height:1.18;padding-top:.12em}
p,.pb-text--lead,.pb-text--body{text-wrap:pretty}
.pb-text--eyebrow{text-transform:uppercase;margin-bottom:10px}
.pb-text--h1,.pb-text--h2{margin-bottom:14px}
.pb-text--lead,.pb-text--body,.pb-fc-head,.pb-head{margin-bottom:30px}
.pb-text--h2{font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.18;font-weight:600;margin:0 0 8px;padding-top:.12em;text-transform:uppercase;letter-spacing:.04em}
.pb-text--lead{font-size:1.08rem;color:var(--pb-muted);margin:0}
.pb-text--body{font-size:.98rem;margin:0;color:var(--pb-ink)}
.pb-block--text strong{color:var(--pb-spark)}
/* Public CTA pair (SSOT style §8b) — boss lock:
   · primary  = filled copper pill · orbit SPARK star
   · outline  = hollow brass rim · mythic gold ARROW (+1mm hover)
   Both: sheen on hover. Update STYLE-SYSTEM.md if you change this. */
.pb-cta{position:relative;isolation:isolate;overflow:visible;display:inline-flex;align-items:center;justify-content:center;
  gap:8px;box-sizing:border-box;padding:0 30px;min-height:44px;line-height:44px;border-radius:0;
  font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--pb-accent) 50%,transparent);transition:color .2s,background .2s,background-image .2s,border-color .2s}
/* copper craft-parity · NTC guideline var(--pb-copper) */
.pb-cta--primary{color:var(--pb-accent-ink)!important;background-color:var(--pb-spark);border-radius:500px;
  background-image:linear-gradient(180deg,var(--pb-spark),color-mix(in srgb,var(--pb-spark) 55%,var(--pb-accent-ink)))!important;
  box-shadow:0 2px 0 color-mix(in srgb,var(--pb-bg) 70%,var(--pb-media-scrim)),0 10px 24px -12px color-mix(in srgb,var(--pb-spark) 55%,transparent)}
.pb-cta--primary:hover,.pb-cta--primary:focus{color:var(--pb-accent-ink)!important;filter:brightness(1.06);
  background-image:linear-gradient(180deg,color-mix(in srgb,var(--pb-spark) 92%,var(--pb-accent-hi)),var(--pb-spark))!important}
/* ARROW-END CTA (owner 2026-08-12): trailing arrow is absolute — reserve end space.
   padding-right ≥52px · arrow inset ≥18px · label never under the glyph · hover nudge stays inside.
   Applies to .pb-cta--outline (gold SVG) and ghost-style secondaries (.pb-pch-btn--ghost uses same numbers). */
.pb-cta--outline{background:transparent!important;color:var(--pb-ink)!important;border-radius:500px;
  padding:0 52px 0 22px!important;
  border:1.5px solid color-mix(in srgb,var(--pb-copper) 55%,transparent)!important}
.pb-cta--outline:hover{color:var(--pb-copper)!important;border-color:var(--pb-copper)!important;
  background:color-mix(in srgb,var(--pb-copper) 10%,transparent)!important}
/* ── primary ONLY · orbit spark star ── */
@supports (offset-path:border-box){
  .pb-cta--primary::before{
    content:"";position:absolute;left:0;top:0;width:5px;height:5px;border-radius:50%;pointer-events:none;z-index:2;
    background:radial-gradient(circle,var(--pb-media-ink) 0,var(--pb-accent-hi) 38%,var(--pb-accent) 68%,transparent 100%);
    filter:drop-shadow(0 0 4px color-mix(in srgb,var(--pb-accent-hi) 95%,transparent)) drop-shadow(0 0 8px color-mix(in srgb,var(--pb-accent) 50%,transparent));
    offset-path:border-box;offset-distance:0%;offset-anchor:center;animation:none;opacity:0}
}
/* ── outline ONLY · mythic gold arrow · hover +1mm fly-out ── */
.pb-cta--outline::before{
  content:"";position:absolute;right:18px;top:50%;width:13px;height:9px;pointer-events:none;z-index:2;
  transform:translateY(-50%) translateX(0);
  transition:transform .2s cubic-bezier(.2,.85,.25,1),filter .2s,opacity .2s;
  background:no-repeat center / contain
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 16' fill='none'><path d='M2.5 8h14.5' stroke='%23E8C9A0' stroke-width='1.7' stroke-linecap='round'/><path d='M2.5 8h14.5' stroke='%23C79A73' stroke-width='1.05' stroke-linecap='round' transform='translate(0,.55)' opacity='.9'/><path d='M15.2 3.2 L22.8 8 L15.2 12.8' stroke='%23F3E0C4' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'/><path d='M15.2 3.6 L22.2 8 L15.2 12.4' stroke='%23C79A73' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'/><path d='M3.2 5.2 L5.4 8 L3.2 10.8' stroke='%23A67C4A' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round' opacity='.9'/></svg>");
  filter:drop-shadow(0 0 2px color-mix(in srgb,var(--pb-accent-hi) 55%,transparent)) drop-shadow(0 1px 1px color-mix(in srgb,var(--pb-media-scrim) 35%,transparent));
  opacity:.95}
.pb-cta--outline:hover::before,.pb-cta--outline:focus::before{
  transform:translateY(-50%) translateX(1mm);
  filter:drop-shadow(0 0 3px color-mix(in srgb,var(--pb-accent-hi) 85%,transparent)) drop-shadow(0 0 6px color-mix(in srgb,var(--pb-accent) 45%,transparent)) drop-shadow(0 1px 1px color-mix(in srgb,var(--pb-media-scrim) 30%,transparent));
  opacity:1}
/* sheen · both */
.pb-cta--primary::after,.pb-cta--outline::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;
  background:linear-gradient(115deg,transparent 30%,color-mix(in srgb,var(--pb-media-ink) 30%,transparent) 47%,color-mix(in srgb,var(--pb-media-ink) 6%,transparent) 55%,transparent 70%);
  background-size:250% 100%;background-position:160% 0;opacity:0;transition:opacity .25s}
.pb-cta--primary:hover::after,.pb-cta--outline:hover::after{opacity:1;animation:pb-mrb-sheen .85s ease-out}
@keyframes pb-mrb-orbit{0%{offset-distance:0%;opacity:0}3%{opacity:1}57%{opacity:1}60%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes pb-mrb-sheen{from{background-position:160% 0}to{background-position:-60% 0}}
@media(prefers-reduced-motion:reduce){
  .pb-cta--primary::before{animation:none;opacity:.55}
  .pb-cta--outline::before{transition:none}
  .pb-cta--outline:hover::before{transform:translateY(-50%) translateX(0)}
  .pb-cta--primary:hover::after,.pb-cta--outline:hover::after{animation:none}
}
/* geometry on all; fill only on raster/video (SVG icons stay bare — no false “bg not computed”) */
.pb-img,.pb-glb-poster,.pb-video{width:100%;border-radius:16px;border:1px solid var(--pb-line)}
/* solid surface plate only for product/globe/video — NOT field/gallery photos (style audit: declared var + transparent override = «фон-не-вычислился») */
.pb-block--image .pb-img:not([src$=".svg"]):not([src*="map"]):not([src*="field-"]),.pb-glb-poster,.pb-video{background:var(--pb-surface)}
.pb-video-wrap{position:relative;width:100%}
.pb-video{aspect-ratio:16/11;object-fit:contain;background:var(--pb-bg)}
.pb-glb{display:grid;place-items:center}
.pb-form,.pb-form--placeholder{background:var(--pb-surface);border:1px solid var(--pb-line);border-radius:16px;padding:28px 24px;max-width:560px;margin:0 auto;text-align:left;position:relative}
.pb-form-title{font-size:1.15rem;font-weight:600;margin:0 0 16px;color:var(--pb-ink)}
.pb-form-fields,.pb-quiz-mock{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.pb-f{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--pb-muted)}
.pb-f input,.pb-f select,.pb-f textarea{background:var(--pb-bg2,var(--pb-bg));border:1px solid var(--pb-line);border-radius:10px;color:var(--pb-ink);padding:10px 12px;font:inherit}
.pb-f input:focus,.pb-f select:focus,.pb-f textarea:focus{outline:none;border-color:var(--pb-copper);box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-copper) 35%,transparent)}
.pb-f textarea{resize:vertical;min-height:96px}
.pb-form-thanks{text-align:center;padding:12px 0}
.pb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pb-hint{font-size:12px;color:var(--pb-muted);margin:4px 0 0}
.pb-block--html:empty,.pb-block--html:has(> :only-child:is(comment)){display:none}
/* stats cards (legacy text-in-stats section) */
#stats .pb-block--text{background:var(--pb-surface);border:1px solid var(--pb-line);border-radius:14px;padding:18px 16px}
/* SpecTable — CANON-PRODUCT-PROGRAM §2 (hover wash + click-copy) */
.pb-spec{width:100%;overflow:auto}
.pb-spec-title{font-size:1rem;margin:0 0 12px;letter-spacing:.04em;text-transform:uppercase;color:var(--pb-muted)}
.pb-spec-table{width:100%;border-collapse:collapse;font-size:.95rem}
.pb-spec-table thead th{color:var(--pb-muted);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  background:color-mix(in srgb,var(--pb-ink) 2%,transparent);padding:10px 12px;border-bottom:1px solid var(--pb-line);text-align:left}
.pb-spec-table th,.pb-spec-table td{padding:10px 12px;border-bottom:1px solid var(--pb-line);text-align:left;vertical-align:top}
.pb-spec-table th{width:38%;color:var(--pb-muted);font-weight:500}
.pb-spec-table td{color:var(--pb-ink)}
/* spec_pair: values right (width matches powerplant column — no extra max-width cap) */
.pb-spec-pair .pb-spec-table{width:100%;max-width:none}
.pb-spec-pair .pb-spec-table th{width:auto;padding-right:18px;text-align:left}
.pb-spec-pair .pb-spec-table td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.pb-spec-table tbody tr{transition:background .18s ease}
.pb-spec-table tbody tr:nth-child(odd) th,.pb-spec-table tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--pb-ink) 2.2%,transparent)}
.pb-spec-table tbody tr:hover th,.pb-spec-table tbody tr:hover td{background:color-mix(in srgb,var(--pb-accent) 6%,transparent)}
.pb-spec-table tbody tr:last-child th,.pb-spec-table tbody tr:last-child td{border-bottom:0}
.pb-spec-table tbody tr.pb-copyrow{cursor:pointer;border-radius:6px}
.agf-pp-table tbody tr.pb-copyrow{cursor:pointer}
.agf-pp-table tbody tr.pb-copyrow:hover th,.agf-pp-table tbody tr.pb-copyrow:hover td{background:color-mix(in srgb,var(--pb-accent) 10%,transparent)}
.agf-pp-table tbody tr.pb-copyrow:active th,.agf-pp-table tbody tr.pb-copyrow:active td{background:color-mix(in srgb,var(--pb-accent) 18%,transparent)}
.pb-spec-table tbody tr.pb-copyrow:hover th,.pb-spec-table tbody tr.pb-copyrow:hover td{background:color-mix(in srgb,var(--pb-accent) 10%,transparent)}
.pb-spec-table tbody tr.pb-copyrow:active th,.pb-spec-table tbody tr.pb-copyrow:active td{background:color-mix(in srgb,var(--pb-accent) 18%,transparent)}
/* compare matrix (multi-product + legacy 2-col) */
.agf-cmp{width:100%;max-width:100%;margin:0;overflow-x:auto;border-radius:16px;
  border:1px solid color-mix(in srgb,var(--pb-accent) 28%,transparent);box-shadow:0 16px 40px -20px color-mix(in srgb,var(--pb-media-scrim) 45%,transparent)}
.agf-cmp table,.agf-cmp{border-collapse:collapse;font-size:13.5px}
.agf-cmp table{width:100%;min-width:640px}
.agf-cmp th,.agf-cmp td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--pb-accent2) 14%,transparent);text-align:center;vertical-align:middle}
.agf-cmp thead th{color:var(--pb-copper);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  background:color-mix(in srgb,var(--pb-bg) 40%,var(--pb-surface))}
.agf-cmp tbody th{text-align:left;font-weight:500;color:var(--pb-muted);min-width:11em;background:color-mix(in srgb,var(--pb-bg) 18%,var(--pb-surface))}
.agf-cmp tbody td{color:var(--pb-ink);font-weight:600;font-variant-numeric:tabular-nums}
.agf-cmp tbody tr{transition:background .18s ease}
.agf-cmp tbody tr:nth-child(odd) th,.agf-cmp tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--pb-ink) 2.5%,transparent)}
.agf-cmp tbody tr:hover th,.agf-cmp tbody tr:hover td{background:color-mix(in srgb,var(--pb-accent) 7%,transparent)}
.agf-cmp tbody tr.pb-copyrow{cursor:pointer}
.agf-cmp tbody tr.pb-copyrow:hover th,.agf-cmp tbody tr.pb-copyrow:hover td{background:color-mix(in srgb,var(--pb-accent) 10%,transparent)}
.agf-cmp tbody tr.pb-copyrow:active th,.agf-cmp tbody tr.pb-copyrow:active td{background:color-mix(in srgb,var(--pb-accent) 18%,transparent)}
/* compare task filter chips (page_compare) */
.cmp-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;align-items:center}
.cmp-f{appearance:none;border:1px solid color-mix(in srgb,var(--pb-accent) 35%,transparent);background:color-mix(in srgb,var(--pb-accent) 6%,transparent);
  color:inherit;border-radius:999px;padding:7px 14px;font:600 12.5px/1 var(--pb-font,inherit);
  cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.cmp-f:hover,.cmp-f.on{border-color:color-mix(in srgb,var(--pb-accent) 85%,transparent);background:color-mix(in srgb,var(--pb-accent) 18%,transparent);
  transform:translateY(-1px)}
.cmp-f:focus-visible{outline:2px solid color-mix(in srgb,var(--pb-accent) 65%,transparent);outline-offset:2px}
/* toast «Скопировано» — source agf-toast */
.pb-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(18px);z-index:200;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-ink) 12%,var(--pb-surface-2)),color-mix(in srgb,var(--pb-ink) 6%,var(--pb-surface-2)));color:var(--pb-accent-hi);
  border:1px solid color-mix(in srgb,var(--pb-accent) 50%,transparent);padding:11px 22px;border-radius:10px;font-size:13px;font-weight:600;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .25s;box-shadow:0 12px 32px color-mix(in srgb,var(--pb-media-scrim) 35%,transparent)}
.pb-toast.is-on{opacity:1;transform:translateX(-50%) translateY(0)}
/* print / PDF — never blank from reveal (boss PDF pack; Claude print-to-pdf) */
@media print{
  .pb-mr,[data-mr],.mr,.is-reveal,.pb-section,.pb-col--explicit,.pb-stats,.pb-form--mfq,.m3-item{
    opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
  body{background:color-mix(in srgb,var(--pb-ink) 6%,var(--pb-surface-2))!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Gallery */
.pb-gallery{display:grid;gap:14px;width:100%}
.pb-gallery--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pb-gallery--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pb-gallery--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}


.pb-gallery-item{margin:0}
.pb-gallery-cap{font-size:12px;color:var(--pb-muted);margin-top:6px}
/* News */
.pb-news{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:720px){.pb-news{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.pb-news{grid-template-columns:repeat(3,1fr)}}
.pb-news-card{background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 4%,transparent),color-mix(in srgb,var(--pb-bg) 18%,var(--pb-surface)));
  border:1px solid color-mix(in srgb,var(--pb-accent) 32%,transparent);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;
  transition:transform .22s,border-color .2s,box-shadow .22s}
.pb-news-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--pb-accent) 65%,transparent);
  box-shadow:0 18px 36px -18px color-mix(in srgb,var(--pb-media-scrim) 50%,transparent)}
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-news-card:not(a):not(.hlink),
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-news-card:not(a):not(.hlink):hover{
  transform:translateY(-3px);border-color:color-mix(in srgb,var(--pb-accent) 65%,transparent);
  box-shadow:0 18px 36px -18px color-mix(in srgb,var(--pb-media-scrim) 50%,transparent);cursor:default}
.pb-news-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--pb-accent-ink)}
.pb-news-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.pb-news-card:hover .pb-news-media img{transform:scale(1.03)}
.pb-news-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}
.pb-news-date{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--pb-copper);font-weight:700}
.pb-news-title{margin:0;font-size:1.08rem;line-height:1.3}
.pb-news-title a{color:var(--pb-ink);text-decoration:none}
.pb-news-title a:hover{color:var(--pb-spark)}
.pb-news-excerpt{margin:0;font-size:.92rem;color:var(--pb-muted);line-height:1.45}
/* Quiz embed */
.pb-quiz--placeholder{background:var(--pb-surface);border:1px solid var(--pb-line);border-radius:16px;padding:28px 24px;max-width:640px;margin:0 auto;text-align:left}
.pb-quiz-steps{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.pb-quiz-step{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--pb-muted);border:1px solid var(--pb-line);border-radius:999px;padding:6px 12px}
.pb-quiz-step.is-active{color:var(--pb-ink);border-color:var(--pb-spark)}
.pb-quiz-n{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--pb-bg);font-size:11px;font-weight:600}
/* === EXACT from source static-build/index.html + agp-consult.local (not approximate) === */
/* stats: display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px */
.pb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:22px;align-items:start;width:100%;
  border:0;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
.pb-stats--cols-2,.pb-stats--cols-3,.pb-stats--cols-4,.pb-stats--cols-5,.pb-stats--cols-6{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
/* source cells: text-align:center;padding:8px 6px — no card border */
.pb-stat{background:transparent;border:0;border-radius:0;padding:8px 6px;text-align:center;box-shadow:none}
.pb-stat:last-child{border:0}
/* source value: clamp(30px,3.6vw,48px);font-weight:700;color:#f4efe8;letter-spacing:-.02em;line-height:1 */
.pb-stat-value{font-size:clamp(30px,3.6vw,48px);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;
  color:var(--pb-ink);margin:0;line-height:1}
/* source label: color:#c9d3c9;font-size:13px;line-height:1.35;margin-top:10px */
.pb-stat-label{font-size:13px;line-height:1.35;color:var(--pb-muted);letter-spacing:0;margin-top:10px}
.pb-stat-body{font-size:.98rem;color:var(--pb-ink)}
.pb-stat-body strong{color:var(--pb-spark)}
/* product photos on dark face — ONLY image blocks (not every .pb-img: gallery/proof/field)
   Codex night style: bare .pb-img + multi-stop gradient → «фон-не-вычислился» sitewide */
.pb-block--image .pb-img:not([src$=".svg"]):not([src*="map"]):not([src*="field-"]){
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 14%,var(--pb-surface-2)),color-mix(in srgb,var(--pb-ink) 8%,var(--pb-surface)));padding:8px;box-sizing:border-box}
/* proof + field evidence + materials gallery: never product-plate paint */
.pb-proof .pb-img,.pb-proof .pb-proof-img,.pb-proof-media img,
.pb-materials .pb-img,.pb-mat-gal .pb-img,.pb-img[src*="field-"]{
  background:transparent!important;padding:0!important}
/* map / wide content photos — full bleed, cover, no product plate */
.pb-img[src*="map"],.pb-block--image .pb-img[src*="map"]{
  background:transparent!important;padding:0!important;width:100%!important;
  aspect-ratio:16/10;object-fit:cover!important;border-radius:16px;display:block}
.pb-img[src$=".svg"],.pb-block--image .pb-img[src$=".svg"]{
  background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}
/* directions — EXACT source:
   grid: repeat(auto-fit,minmax(240px,1fr));gap:16px
   card: padding:24px;border:1px solid rgba(199,154,115,.15);border-radius:16px;
         background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))
   img: width:44px;height:44px;object-fit:contain
   title: color:#f4efe8;font-weight:600;font-size:16.5px;margin-top:16px
   body: color:#c4cbc2;font-size:13px;line-height:1.5;margin-top:8px
*/
.pb-row:has(img[src*="/lib/dir-"]){
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:16px!important}
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]){
  padding:24px;border:1px solid color-mix(in srgb,var(--pb-accent) 15%,transparent);border-radius:16px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-ink) 3.5%,transparent),color-mix(in srgb,var(--pb-ink) 1%,transparent));
  transition:border-color .25s,transform .25s;gap:0}
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]):hover{
  border-color:color-mix(in srgb,var(--pb-accent) 50%,transparent);transform:translateY(-4px)}
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]) > .pb-block--image{
  margin:0;align-self:flex-start}
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]) img.pb-img[src*="/lib/dir-"],
.pb-img[src*="/lib/dir-"]{
  width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;
  aspect-ratio:auto!important;object-fit:contain!important;display:block;
  background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;
  margin:0}
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]) > .pb-block--text .pb-text--h3{
  margin-top:16px!important;margin-bottom:0;font-size:16.5px!important;font-weight:600!important;color:var(--pb-ink)}
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]) > .pb-block--text .pb-text--body{
  margin-top:8px!important;font-size:13px!important;line-height:1.5!important;color:var(--pb-ink-2)}
/* hero GLB pedestal glow — EXACT from source #merlin-hero-css (beige Gaussian only) */
.pb-block--glb{min-height:320px;width:100%;position:relative}
/* non-hero cycle keeps soft plate; hero pedestal via #hero rules below */
.pb-block--glb:not(:has(.m3-item--hero))::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:50%;top:46%;transform:translate(-50%,-50%);
  width:78%;height:66%;
  background:radial-gradient(ellipse 54% 52% at 50% 50%,
     color-mix(in srgb,var(--pb-accent) 32%,transparent) 0%,color-mix(in srgb,var(--pb-accent) 15%,transparent) 44%,transparent 74%);
  filter:blur(12px)}
.pb-block--glb > *{position:relative;z-index:1}
.pb-block--glb .m3-stage{min-height:min(420px,70vw)}
/* do NOT scale viewer 1.25 globally — breaks canvas sizing; hero uses mild scale in MODEL3D_CSS */
/* band block */
.pb-band{border-radius:0;padding:8px 0}
.pb-band-inner{max-width:var(--pb-narrow);margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.pb-cta--ghost{background:transparent;color:var(--pb-ink);border-color:var(--pb-line)}
.pb-cta--secondary{color:var(--pb-ink)!important;background:color-mix(in srgb,var(--pb-ink) 10%,transparent)!important;
  border-radius:500px;border:1px solid color-mix(in srgb,var(--pb-ink) 28%,transparent)!important;box-shadow:none}
.pb-list{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:8px;color:var(--pb-ink)}
.pb-list li{color:var(--pb-muted)}
.pb-list li::marker{color:var(--pb-spark)}
/* ═══ PRESETS (ROUND_CONVERGE) · face tokens only ═══ */
.pb-panel{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;height:100%;
  padding:20px 18px;border-radius:14px;text-align:left;text-decoration:none;color:var(--pb-ink);
  background:color-mix(in srgb,var(--pb-bg) 72%,transparent);
  border:1px solid color-mix(in srgb,var(--pb-copper) 45%,transparent);
  box-shadow:var(--pb-depth,0 12px 28px -16px rgba(0,0,0,.4));
  transition:transform .32s cubic-bezier(.2,.85,.2,1),box-shadow .32s cubic-bezier(.2,.85,.2,1),border-color .22s;
  transform-origin:center bottom;will-change:transform}
/* base hover overridden by shared plaque-lift block below */
.pb-panel:hover{border-color:var(--pb-rim-hot,var(--pb-copper))}
.pb-panel--align-center{align-items:center;text-align:center}
.pb-panel-ic{display:flex;align-items:center;justify-content:center;width:auto;height:auto;flex:none;
  color:var(--pb-copper);border-radius:0;
  background:transparent;
  border:0}
.pb-panel-ic-img{width:40px;height:40px;object-fit:contain;filter:none}
.pb-panel-ic .pb-picto{width:40px;height:40px;display:block;color:var(--pb-copper,var(--pb-accent))}
.pb-panel-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.pb-panel-eb{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--pb-copper)}
.pb-panel-t{font-size:15px;font-weight:650;line-height:1.3;color:var(--pb-ink)}
.pb-panel-b{font-size:13.5px;line-height:1.45;color:var(--pb-muted)}
.pb-feature-cards,.pb-fc{width:100%}
.pb-fc-head{margin:0 0 var(--pb-fc-head-gap,22px);max-width:42em}
/* fc-headgap-cascade · rail/callout/flow/adv/field wrap as .pb-fc, not .pb-feature-cards.
   Named sm/md/lg/xl must win 00-base 30px and DNA margin 0. comma-fb for style-audit. */
.pb-feature-cards[style*="--pb-fc-head-gap"] .pb-fc-head,
.pb-fc[style*="--pb-fc-head-gap"] .pb-fc-head,
.pb-block--feature_cards[style*="--pb-fc-head-gap"] .pb-fc-head{
  margin-bottom:var(--pb-fc-head-gap,22px)!important}
.pb-feature-cards[style*="--pb-fc-grid-mt"] .pb-fc-advgrid,
.pb-fc[style*="--pb-fc-grid-mt"] .pb-fc-advgrid,
.pb-feature-cards[style*="--pb-fc-grid-mt"] .pb-fc-fieldgrid,
.pb-fc[style*="--pb-fc-grid-mt"] .pb-fc-fieldgrid,
.pb-feature-cards[style*="--pb-fc-grid-mt"] .pb-fc-grid,
.pb-fc[style*="--pb-fc-grid-mt"] .pb-fc-grid,
.pb-feature-cards[style*="--pb-fc-grid-mt"] .pb-fc-railgrid,
.pb-fc[style*="--pb-fc-grid-mt"] .pb-fc-railgrid,
.pb-feature-cards[style*="--pb-fc-grid-mt"] .pb-fc-flow,
.pb-fc[style*="--pb-fc-grid-mt"] .pb-fc-flow{margin-top:var(--pb-fc-grid-mt,0)!important}
.pb-feature-cards[style*="--pb-fc-head-gap"] .pb-fc-advgrid,
.pb-fc[style*="--pb-fc-head-gap"] .pb-fc-advgrid,
.pb-feature-cards[style*="--pb-fc-head-gap"] .pb-fc-fieldgrid,
.pb-fc[style*="--pb-fc-head-gap"] .pb-fc-fieldgrid,
.pb-feature-cards[style*="--pb-fc-head-gap"] .pb-fc-grid,
.pb-fc[style*="--pb-fc-head-gap"] .pb-fc-grid,
.pb-feature-cards[style*="--pb-fc-head-gap"] .pb-fc-railgrid,
.pb-fc[style*="--pb-fc-head-gap"] .pb-fc-railgrid,
.pb-feature-cards[style*="--pb-fc-head-gap"] .pb-fc-flow,
.pb-fc[style*="--pb-fc-head-gap"] .pb-fc-flow{margin-top:0!important}
/* fc-gap-authority · emit writes --pb-fc-gap; DNA gap holds until then.
   ornament vcards keep column-gap:0 (monogram gutters) — row-gap only. */
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-grid:not(.pb-fc-grid--ornament),
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-plaque,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-fieldgrid,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-railgrid,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-advgrid,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-callcol,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-flow,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-dial,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-spot-sats,
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-proof{
  gap:var(--pb-fc-gap,16px)!important}
.pb-feature-cards[style*="--pb-fc-gap"] .pb-fc-grid--ornament{
  row-gap:var(--pb-fc-gap,32px)!important}
/* field · expedition (lab §8 .exp .counters/.cnt) — type scale is the hierarchy:
   eyebrow copper · h2 white · NUM brass huge · unit muted mid · REG white spaced ·
   photo · meta muted micro · body soft 0.78 — levels must not mix */
.pb-fc--field .pb-fc-head{max-width:none;margin-bottom:0}
.pb-fc--field .pb-fc-head .pb-text--eyebrow{
  font-size:13px!important;font-weight:700!important;letter-spacing:.28em!important;
  text-transform:uppercase!important;color:var(--pb-accent)!important;margin:0 0 12px!important;line-height:1.5!important}
.pb-fc--field .pb-fc-head .pb-text--h2{
  font-size:clamp(32px,3.2vw,50px)!important;font-weight:640!important;line-height:1.18!important;
  letter-spacing:0!important;text-transform:uppercase!important;color:var(--pb-ink)!important;
  max-width:820px;margin:0!important;padding-top:.12em}
.pb-fc--field .pb-fc-fieldgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:60px}
.pb-fc--field .pb-fc-cnt{display:flex;flex-direction:column;min-width:0}
/* KPI number + unit on one baseline (lab .num + i) */
.pb-fc--field .pb-fc-cnt-num{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:0;
  font-size:clamp(54px,6vw,92px)!important;font-weight:650!important;line-height:1!important;
  color:var(--pb-accent)!important;letter-spacing:.01em!important;margin:0!important}
.pb-fc--field .pb-fc-cnt-unit,
.pb-fc--field .pb-fc-cnt-num i,
.pb-fc--field .pb-fc-cnt-num .pb-fc-cnt-unit{
  font-style:normal!important;font-size:.38em!important;line-height:1!important;
  color:color-mix(in srgb,var(--pb-ink) 66%,transparent)!important;font-weight:600!important;
  margin:0 0 0 8px!important;letter-spacing:.01em!important;text-transform:none!important}
/* region label under KPI */
.pb-fc--field .pb-fc-cnt-reg{
  font-size:15px!important;font-weight:700!important;letter-spacing:.2em!important;
  text-transform:uppercase!important;margin:10px 0 18px!important;line-height:1.5!important;
  color:var(--pb-ink)!important}
/* kill geo tile max-width 96 — lab .shot--wide full column · 16/10 cover */
.pb-fc--field .pb-fc-cnt-shot,
.pb-fc--field.pb-fc-tile--md .pb-fc-cnt-shot,
.pb-fc--field.pb-fc-tile--sm .pb-fc-cnt-shot,
.pb-fc--field.pb-fc-tile--lg .pb-fc-cnt-shot,
.pb-fc--field .pb-media-slot.pb-fc-cnt-shot{
  max-width:none!important;width:100%!important;height:auto!important;
  border-radius:14px;overflow:hidden;aspect-ratio:16/10!important;
  border:1px solid color-mix(in srgb,var(--pb-accent) 30%,transparent);background:var(--pb-bg);box-sizing:border-box}
.pb-fc--field .pb-fc-cnt-shot .pb-media-slot-img,
.pb-fc--field .pb-fc-cnt-shot img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center!important;padding:0!important;display:block;
  filter:saturate(.9) contrast(1.04)}
/* conditions strip under photo — quieter than body */
.pb-fc--field .pb-fc-cnt-meta{
  font-size:11px!important;font-weight:700!important;letter-spacing:.1em!important;
  text-transform:uppercase!important;color:color-mix(in srgb,var(--pb-ink) 66%,transparent)!important;
  margin:12px 0 8px!important;line-height:1.5!important}
/* evidence body — readable soft white, never compete with KPI/meta */
.pb-fc--field .pb-fc-cnt-ev{
  font-size:13.5px!important;font-weight:400!important;line-height:1.55!important;
  letter-spacing:normal!important;text-transform:none!important;
  color:color-mix(in srgb,var(--pb-ink) 78%,transparent)!important;margin:0!important;max-width:none}

.pb-fc-grid{display:grid;gap:14px;grid-template-columns:repeat(var(--pb-fc-cols,3),minmax(0,1fr));align-items:stretch}
.pb-fc-grid--2{--pb-fc-cols:2}.pb-fc-grid--3{--pb-fc-cols:3}.pb-fc-grid--4{--pb-fc-cols:4}
.pb-fc-grid--5{--pb-fc-cols:5}.pb-fc-grid--6{--pb-fc-cols:6}


/* shared icon chip for dial / proof / spotlight */
.pb-fc-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex:none;
  color:var(--pb-copper,var(--pb-accent));border-radius:12px;
  background:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 12%,transparent);
  border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 40%,transparent)}
/* ── adv · advantages glass (lab full.html .advgrid / .adv) — style library ── */
.pb-fc--adv .pb-fc-head{margin-bottom:0;max-width:none}
.pb-fc--adv .pb-fc-head .pb-text--eyebrow{margin-bottom:12px}
/* V-04 · present-scoped type scale (lab .cond h2 — not global .sec 46–50px) */
.pb-fc--adv .pb-fc-head .pb-text--h2{
  font-size:clamp(28px,2.5vw,36px)!important;line-height:1.15!important;
  max-width:min(920px,100%)!important;margin:0 0 12px!important;font-weight:640}
.pb-fc--adv .pb-fc-head .pb-text--body,
.pb-fc--adv .pb-fc-head .pb-text--lead{
  font-size:17px!important;max-width:640px;line-height:1.5;
  color:var(--pb-muted,color-mix(in srgb,var(--pb-ink) 62%,transparent))}
.pb-fc-advgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.pb-fc-adv{display:flex;gap:16px;align-items:flex-start;padding:18px;border-radius:14px;
  min-height:0;
  border:1px solid color-mix(in srgb,var(--pb-accent) 30%,transparent);background:color-mix(in srgb,var(--pb-bg) 60%,transparent);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transition:transform .32s cubic-bezier(.2,.85,.2,1),border-color .22s,box-shadow .32s;
  transform-origin:center bottom}
.pb-fc-adv:hover{transform:translateY(-8px) scale(1.02);border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent);
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--pb-accent) 28%,transparent),0 26px 44px -18px rgba(0,0,0,.6)}
/* non-link tiles sit already lit — hover is not a fake button. Not in hero. */
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-fc-adv:not(a):not(.hlink),
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-fc-adv:not(a):not(.hlink):hover{
  transform:translateY(-8px) scale(1.02);border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent);
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--pb-accent) 28%,transparent),0 26px 44px -18px rgba(0,0,0,.6);cursor:default}
.pb-fc-adv-ic{flex:none;width:64px;height:64px;padding:0;box-sizing:border-box;border-radius:16px;
  display:grid;place-items:center;color:var(--pb-copper,var(--pb-accent));
  background:color-mix(in srgb,var(--pb-accent) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--pb-accent) 42%,transparent)}
.pb-fc-adv-ic svg,.pb-fc-adv-ic .pb-picto{width:40px;height:40px;display:block}
.pb-fc-adv-ic .pb-fc-ic{width:100%;height:100%;padding:0;border:0;background:none;border-radius:0}
.pb-fc-adv-ic--empty{opacity:.35}
.pb-fc-adv-copy{min-width:0;flex:1}
.pb-fc-adv h3{font-size:15px;font-weight:640;margin:0 0 4px;line-height:1.25;color:var(--pb-ink,var(--pb-ink))}
.pb-fc-adv p{font-size:12.5px;line-height:1.5;color:var(--pb-muted,color-mix(in srgb,var(--pb-ink) 62%,transparent));margin:0}


html[data-theme="light"] .pb-fc-adv{
  background:color-mix(in srgb,var(--pb-media-ink) 72%,transparent);border-color:var(--pb-line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html[data-theme="light"] .pb-fc-adv h3{color:var(--pb-ink)}
html[data-theme="light"] .pb-fc-adv p{color:var(--pb-muted)}
/* ── rail · payload cards on a brass rail (owner §5, lab .payl / .railgrid 1:1) ── */
.pb-fc--rail{margin-top:0}
.pb-fc--rail .pb-fc-head{max-width:960px}
.pb-fc-railgrid{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;padding-bottom:104px;margin-top:70px}
/* Brass rail line bleeds ±72 into page pad (lab). Hard -72px expanded document
   scrollWidth (1452@1440 — grid@60 + 1320 + 72). Keep the bleed; clip the
   section so paint can reach the viewport edge and never the scrollport. */
.pb-section:has(.pb-fc-railgrid),.pb-fc--rail{overflow-x:clip}
.pb-fc-railgrid::before{content:"";position:absolute;left:-72px;right:-72px;bottom:40px;height:2px;
  background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--pb-accent) 55%,transparent) 12%,color-mix(in srgb,var(--pb-accent) 55%,transparent) 88%,transparent 100%);
  box-shadow:0 0 18px color-mix(in srgb,var(--pb-accent) 35%,transparent);pointer-events:none}
.pb-fc-payl{position:relative;border-radius:16px;padding:14px 14px 24px;background:color-mix(in srgb,var(--pb-bg) 42%,transparent);
  border:1px solid color-mix(in srgb,var(--pb-accent) 14%,transparent);
  background-image:linear-gradient(165deg,color-mix(in srgb,var(--pb-media-ink) 7%,transparent) 0%,color-mix(in srgb,var(--pb-media-ink) 1.5%,transparent) 42%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 100%);
  transition:transform .32s cubic-bezier(.2,.85,.2,1),box-shadow .32s,border-color .22s;transform-origin:center bottom}
.pb-fc-payl:hover{transform:translateY(-10px) scale(1.02);border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent);
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--pb-accent) 30%,transparent),0 26px 44px -18px rgba(0,0,0,.6)}
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-fc-payl:not(a):not(.hlink),
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-fc-payl:not(a):not(.hlink):hover{
  transform:translateY(-10px) scale(1.02);border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent);
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--pb-accent) 30%,transparent),0 26px 44px -18px rgba(0,0,0,.6);cursor:default}
/* kill geo tile max-width (96px md) — lab shot fills the card */
.pb-fc--rail .pb-fc-payl-shot,
.pb-fc--rail .pb-media-slot.pb-fc-payl-shot,
.pb-fc--rail.pb-fc-tile--sm .pb-fc-payl-shot,
.pb-fc--rail.pb-fc-tile--md .pb-fc-payl-shot,
.pb-fc--rail.pb-fc-tile--lg .pb-fc-payl-shot,
.pb-fc--rail.pb-fc-tile--xl .pb-fc-payl-shot{
  max-width:none!important;width:100%!important;height:auto!important;
  aspect-ratio:1/1!important;background:var(--pb-bg);border-radius:12px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--pb-accent) 14%,transparent);box-sizing:border-box}
.pb-fc--rail .pb-fc-payl-shot .pb-media-slot-img,
.pb-fc--rail .pb-fc-payl-shot img,
.pb-fc-payl .pb-fc-payl-shot .pb-media-slot-img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:contain!important;object-position:center!important;padding:10%!important;
  display:block;filter:saturate(.9) contrast(1.04)}
.pb-fc-payl h3{font-size:14.5px;font-weight:640;margin:12px 0 4px;line-height:1.25}
.pb-fc-payl p{font-size:12px;line-height:1.45;color:var(--pb-muted);margin:0}
.pb-fc-payl-badge{position:absolute;left:50%;transform:translateX(-50%);bottom:-62px;width:44px;height:44px;
  border-radius:12px;display:grid;place-items:center;background:var(--pb-bg);border:1.5px solid color-mix(in srgb,var(--pb-accent) 50%,transparent);
  box-shadow:0 6px 18px -6px rgba(0,0,0,.6);color:var(--pb-copper,var(--pb-accent));z-index:2}
.pb-fc-payl-badge svg,.pb-fc-payl-badge .pb-picto{width:24px;height:24px;display:block}



/* ── callout · pictogram SAME as 0ee4f1b: plate 64 · glyph 40. pad 16+64+16 ── */
.pb-fc-callcol{display:flex;flex-direction:column;gap:44px}
.pb-fc-call{position:relative;padding:18px 18px 18px 96px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--pb-accent) 30%,transparent);background:color-mix(in srgb,var(--pb-bg) 50%,transparent);
  min-height:96px}
.pb-fc-call .pb-fc-ic{
  position:absolute!important;left:16px!important;top:16px!important;
  width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;
  margin:0!important;padding:0!important;
  display:grid!important;place-items:center!important;
  color:var(--pb-copper,var(--pb-accent))!important}
.pb-fc-call .pb-fc-ic svg,.pb-fc-call .pb-fc-ic .pb-picto{
  width:40px!important;height:40px!important;display:block!important}
.pb-fc-call .pb-fc-ic-img{width:40px!important;height:40px!important;object-fit:contain}
.pb-fc-call h3{font-size:15px;font-weight:640;margin:0 0 4px;line-height:1.25}
.pb-fc-call p{font-size:12.5px;line-height:1.5;color:var(--pb-muted,color-mix(in srgb,var(--pb-ink) 62%,transparent));margin:0}
.pb-fc-call-dot{display:none}
.pb-fc-ic .pb-picto{width:40px;height:40px;display:block}
.pb-fc-ic-img{width:40px;height:40px;object-fit:contain}
/* Blueprint · lab .bp — ONLY 3-col callout|image|callout (not 2-col GCS).
   Center track ≈ lab 44% × 0.85 (−15%) ≈ 37.5%. Callouts hug center, not full side fr. */
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image){
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,37.5%) minmax(0,1fr)!important;
  gap:20px!important;
  align-items:center!important;width:100%;max-width:var(--pb-content,1320px);margin-top:60px!important}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit{
  width:auto!important;flex:unset!important;min-width:0;padding:0!important;border:0!important;
  background:transparent!important;box-shadow:none!important;
  /* lab .bp align-items:center — side stacks hug mid-frame, not stretch-from-top */
  align-self:center!important;height:fit-content!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:has(> .pb-block--image){
  position:relative;align-self:center!important;min-height:min-content;height:auto!important}
/* narrow call cards · left column right-aligned to frame, right column left-aligned · group centered on photo */
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:first-child .pb-fc-callcol,
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:last-child .pb-fc-callcol{
  display:flex;flex-direction:column;gap:44px;width:100%;justify-content:center}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:first-child .pb-fc-call{
  max-width:min(268px,100%);width:100%;margin-left:auto;margin-right:0;box-sizing:border-box}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:last-child .pb-fc-call{
  max-width:min(268px,100%);width:100%;margin-right:auto;margin-left:0;box-sizing:border-box}
/* body: owner Enter / <br> → real line breaks */
.pb-fc-call p{white-space:normal}
/* dashed outer frame (lab .center::before) — radius matches photo default 14 + inset pad */
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:has(> .pb-block--image)::before{
  content:"";position:absolute;inset:-14px;border:1px dashed color-mix(in srgb,var(--pb-accent) 30%,transparent);border-radius:20px;pointer-events:none;z-index:0}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image{
  position:relative;z-index:1;width:100%;height:auto;display:block;min-height:min-content;
  border-radius:18px}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image .pb-img-wrap,
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image .pb-img-wrap--brass{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:1/1!important;border-radius:18px!important;overflow:hidden!important;
  /* no blue plate — model sits on page canvas (owner) */
  background:transparent!important;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image .pb-img,
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image img{
  aspect-ratio:1/1!important;width:100%!important;height:auto!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;padding:6%!important;
  background:transparent!important;border:0;border-radius:18px!important;box-shadow:none;display:block;box-sizing:border-box}
/* connector: mid-card → dashed rim (lab .call::after + b.dot) — blueprint 3-col only */
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:first-child .pb-fc-call::after,
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:last-child .pb-fc-call::after{
  content:"";position:absolute;top:50%;transform:translateY(-50%);width:36px;height:1px;pointer-events:none;z-index:1}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:first-child .pb-fc-call::after{
  left:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--pb-accent) 65%,transparent),color-mix(in srgb,var(--pb-accent) 15%,transparent))}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:last-child .pb-fc-call::after{
  right:100%;background:linear-gradient(270deg,color-mix(in srgb,var(--pb-accent) 65%,transparent),color-mix(in srgb,var(--pb-accent) 15%,transparent))}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:first-child .pb-fc-call-dot,
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:last-child .pb-fc-call-dot{
  display:block;position:absolute;top:50%;width:7px;height:7px;border-radius:50%;
  background:var(--pb-copper,var(--pb-accent));transform:translateY(-50%);z-index:2;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--pb-bg) 85%,transparent)}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:first-child .pb-fc-call-dot{left:calc(100% + 32px)}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) > .pb-col--explicit:last-child .pb-fc-call-dot{right:calc(100% + 32px)}
/* GCS · ops | screen — photo+frame on the RIGHT (not blueprint center), wider track, fill frame */
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image){
  display:grid!important;
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.45fr)!important;
  gap:clamp(40px,4.5vw,64px)!important;
  align-items:center!important;
  width:100%;max-width:var(--pb-content,1320px);margin-top:40px!important}
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit{
  width:auto!important;flex:unset!important;min-width:0;padding:0!important;border:0!important;
  background:transparent!important;box-shadow:none!important;height:auto!important}
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:has(> .pb-block--image){
  position:relative;align-self:center!important;height:fit-content!important;min-height:0}
/* dashed frame hugs the photo block (not the tall ops column) */
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:has(> .pb-block--image)::before{
  content:none!important;display:none!important}
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image{
  position:relative;z-index:1;width:100%;height:auto;display:block;min-height:0;
  border-radius:14px;overflow:visible;
  box-shadow:none}
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image::before{
  content:"";position:absolute;inset:-14px;border:1px dashed color-mix(in srgb,var(--pb-accent) 30%,transparent);border-radius:20px;pointer-events:none;z-index:0}
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image .pb-img-wrap,
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image .pb-img-wrap--brass{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:16/10!important;border-radius:14px;overflow:hidden;padding:0!important;
  box-shadow:0 34px 80px -34px rgba(0,0,0,.75)}
/* photo fills frame edge-to-edge (cover, no letterbox pad) */
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image .pb-img,
#gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit > .pb-block--image img{
  position:relative;z-index:1;
  aspect-ratio:16/10!important;width:100%!important;height:auto!important;max-height:none!important;
  object-fit:cover!important;object-position:center!important;padding:0!important;
  background:transparent;border:0;border-radius:14px;
  box-shadow:0 34px 80px -34px rgba(0,0,0,.75);display:block;box-sizing:border-box}

/* ── flow · software workflow steps (lab .flow-row) ──
 * Circles left-aligned; dashed line runs circle-center → circle-center
 * (lab used col-centers which miss left-aligned nums). --pb-flow-n from emit. */
.pb-fc--flow .pb-fc-flow{display:grid;grid-template-columns:repeat(var(--pb-flow-n,3),minmax(0,1fr));gap:0;position:relative;margin-top:8px}
/* Line through num centers: top/left/right use half of --pb-flow-num (68 → 34) */
.pb-fc--flow .pb-fc-flow{
  --pb-flow-num:68px;
  --pb-flow-half:calc(var(--pb-flow-num) / 2)}
.pb-fc--flow .pb-fc-flow::before{content:"";position:absolute;top:var(--pb-flow-half);
  left:var(--pb-flow-half);
  right:calc(100% / var(--pb-flow-n,3) - var(--pb-flow-half));
  height:1px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 45%,transparent) 0 10px,transparent 10px 18px);pointer-events:none;z-index:0}
.pb-fc-flow-step{position:relative;padding:0 24px 0 0;min-width:0}
.pb-fc-flow-step:last-child{padding-right:0}
.pb-fc-flow-num{position:relative;z-index:1;box-sizing:border-box;
  width:var(--pb-flow-num,68px);height:var(--pb-flow-num,68px);border-radius:50%;flex:none;
  background:var(--pb-surface);border:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 35%,transparent);
  display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;line-height:1;
  color:var(--pb-copper);margin:0 0 26px;
  box-shadow:0 10px 22px -14px color-mix(in srgb,var(--pb-ink) 25%,transparent)}
.pb-fc-flow-step h3{font-size:19px;font-weight:640;margin:0 0 8px;color:var(--pb-ink)}
.pb-fc-flow-step p{font-size:14.5px;line-height:1.55;color:var(--pb-muted);margin:0}

/* ── hero_window · software product hero (lab floating console) ──
 * align-items:start — center left a tall window leaves a dead cream well under meta. */
.pb-hw{width:100%;padding:clamp(40px,5vh,72px) 0 clamp(20px,3vh,36px)}
.pb-hw-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,56px);align-items:start}
.pb-hw-copy{min-width:0}
.pb-hw-title{font-size:clamp(38px,4.4vw,58px);font-weight:640;line-height:1.18;padding-top:.12em;letter-spacing:-.01em;margin:0 0 20px;color:var(--pb-ink);text-transform:uppercase}
.pb-hw-lead{font-size:17.5px;line-height:1.6;color:var(--pb-muted);max-width:560px;margin:0}
.pb-hw-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.pb-hw-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 26px;
  min-height:44px;border-radius:999px;font-weight:600;font-size:14.5px;text-decoration:none;
  transition:filter .2s,transform .2s,border-color .2s,background .2s}
.pb-hw-pill--fill{color:var(--pb-accent-ink);border:0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 88%,var(--pb-ink)),var(--pb-copper,var(--pb-accent)));
  box-shadow:0 2px 0 color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 40%,transparent),0 10px 22px -12px color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 55%,transparent)}
.pb-hw-pill--fill:hover{filter:brightness(1.05);transform:translateY(-1px)}
.pb-hw-pill--line{color:var(--pb-ink);border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 40%,transparent);background:transparent}
.pb-hw-pill--line:hover{border-color:var(--pb-copper,var(--pb-accent));background:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 8%,transparent)}
.pb-hw-meta{display:flex;gap:26px;margin-top:28px;flex-wrap:wrap}
.pb-hw-meta div{font-size:13px;color:var(--pb-muted)}
.pb-hw-meta b{display:block;font-size:20px;color:var(--pb-ink);font-weight:640}
.pb-hw-stage{position:relative;perspective:1400px;min-width:0}
.pb-hw-glow{position:absolute;inset:-60px;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 60% 40%,color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 35%,transparent) 0%,transparent 70%)}
.pb-hw-win{position:relative;z-index:1;border-radius:16px;overflow:hidden;background:var(--pb-surface);
  border:1px solid color-mix(in srgb,var(--pb-ink) 12%,transparent);
  box-shadow:0 30px 60px -24px color-mix(in srgb,var(--pb-ink) 28%,transparent),
    0 14px 26px -16px color-mix(in srgb,var(--pb-ink) 18%,transparent),
    0 0 0 1px color-mix(in srgb,var(--pb-ink) 50%,transparent) inset;
  transform:rotateY(-9deg) rotateX(3deg) rotate(-.6deg);
  animation:pbHwFloat 7s ease-in-out infinite}
.pb-hw-win-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;
  background:var(--pb-ink);
  border-bottom:1px solid color-mix(in srgb,var(--pb-ink) 12%,transparent)}
.pb-hw-win-bar i{width:10px;height:10px;border-radius:50%;background:var(--pb-accent-hi);display:block}
.pb-hw-win-bar span{margin-left:10px;font-size:12px;color:var(--pb-muted);font-weight:600}
/* Cap screenshot height so a tall UI capture can't open a cream well under meta */
.pb-hw-win-img{display:block;width:100%;height:auto;max-height:min(440px,52vh);object-fit:cover;object-position:top left}
.pb-hw-win-empty{min-height:220px;display:grid;place-items:center;color:var(--pb-muted);font-size:13px}
.pb-hw-tag{position:absolute;z-index:2;right:-14px;bottom:-16px;background:var(--pb-surface);
  border:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 40%,transparent);border-radius:12px;padding:12px 16px;
  box-shadow:0 16px 30px -16px color-mix(in srgb,var(--pb-ink) 30%,transparent);font-size:13px;font-weight:600;color:var(--pb-ink)}
@keyframes pbHwFloat{0%,100%{transform:rotateY(-9deg) rotateX(3deg) rotate(-.6deg) translateY(0)}
  50%{transform:rotateY(-9deg) rotateX(3deg) rotate(-.6deg) translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.pb-hw-win{animation:none}}

/* ── dial · one instrument face, six stations ── */
.pb-fc--dial .pb-fc-dial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 48%,transparent);border-radius:18px;overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 8%,transparent),transparent 70%),
    linear-gradient(180deg,color-mix(in srgb,var(--pb-surface) 90%,transparent),color-mix(in srgb,var(--pb-bg) 40%,transparent))}
.pb-fc-dial-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  padding:28px 24px 26px;min-height:200px;
  border-right:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 18%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 18%,transparent);
  transition:background .2s}
.pb-fc-dial-cell:nth-child(3n){border-right:0}
.pb-fc-dial-cell:nth-last-child(-n+3){border-bottom:0}
.pb-fc-dial-cell:hover{background:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 7%,transparent)}
.pb-fc-dial-n{position:absolute;top:14px;right:16px;font:700 11px/1 system-ui,sans-serif;letter-spacing:.14em;
  color:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 70%,transparent)}
.pb-fc-dial-stat{display:flex;align-items:baseline;gap:6px;margin-top:2px}
.pb-fc-dial-v{font-size:var(--pb-fc-dial-v,clamp(1.6rem,2.4vw,2.1rem));font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--pb-ink)}
.pb-fc-dial-u{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--pb-copper,var(--pb-accent))}
.pb-fc-dial-t{margin:0;font-size:1.02rem;font-weight:600;line-height:1.3;color:var(--pb-ink)}
.pb-fc-dial-b{margin:0;font-size:.9rem;line-height:1.45;color:var(--pb-muted);max-width:28em}
.pb-fc-dial-ring--sm{--pb-fc-dial-ring:72px;--pb-fc-dial-ring-inset:12px;--pb-fc-dial-ring-off:-18px;--pb-fc-dial-ring-off-b:-24px}
.pb-fc-dial-ring--md{--pb-fc-dial-ring:110px;--pb-fc-dial-ring-inset:18px;--pb-fc-dial-ring-off:-28px;--pb-fc-dial-ring-off-b:-36px}
.pb-fc-dial-ring--lg{--pb-fc-dial-ring:160px;--pb-fc-dial-ring-inset:26px;--pb-fc-dial-ring-off:-40px;--pb-fc-dial-ring-off-b:-52px}
.pb-fc-dial-value--sm{--pb-fc-dial-v:clamp(22px,2.2vw,32px)}
.pb-fc-dial-value--md{--pb-fc-dial-v:clamp(30px,3.4vw,52px)}
.pb-fc-dial-value--lg{--pb-fc-dial-v:clamp(44px,5.2vw,76px)}
.pb-fc-dial-label--right .pb-fc-dial-cell{flex-direction:row;flex-wrap:wrap;align-items:baseline}
.pb-fc-dial-label--right .pb-fc-ic{flex:0 0 100%}
.pb-fc-dial-label--right .pb-fc-dial-stat{margin-inline-end:12px}
.pb-fc-dial-label--right .pb-fc-dial-t{flex:1 1 auto}
.pb-fc-dial-label--right .pb-fc-dial-b{flex:1 0 100%}


/* ── plaque · caption over the media window (contract plaqueCaptionPos=inside).
      Default "below" emits no attribute, so the rules below never match it. ── */
.pb-fc-plaque[data-fc-cap="inside"] .pb-fc-plaque-cell{position:relative;min-height:170px}
.pb-fc-plaque[data-fc-cap="inside"] .pb-fc-plaque-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:34px 14px 14px;
  background:linear-gradient(to top,color-mix(in srgb,var(--pb-bg) 86%,transparent) 0%,color-mix(in srgb,var(--pb-bg) 52%,transparent) 52%,color-mix(in srgb,var(--pb-bg) 0%,transparent) 100%)}
/* ── proof · field photo + claim, alternating sides ── */
.pb-fc--proof .pb-fc-proof{display:flex;flex-direction:column;gap:22px}
.pb-fc-proof-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(18px,3vw,32px);align-items:center}
.pb-fc-proof-row--flip .pb-fc-proof-media{order:2}
.pb-fc-proof-row--flip .pb-fc-proof-copy{order:1}
.pb-fc-proof-media{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:var(--pb-fc-proof-ratio,16/10);min-width:0;
  border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 40%,transparent);
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 3%,transparent),color-mix(in srgb,var(--pb-bg) 38%,transparent));
  display:flex;align-items:center;justify-content:center}
.pb-fc-proof-media img{width:100%;height:100%;object-fit:cover;display:block}
.pb-fc-proof-media--empty{min-height:160px}
.pb-fc-proof-media--empty .pb-fc-ic{width:64px;height:64px;border-radius:16px}
.pb-fc-proof-media--empty .pb-picto{width:34px;height:34px}
.pb-fc-proof-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:8px 4px;min-width:0}
.pb-fc-proof-t{margin:0;font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:600;line-height:1.25;color:var(--pb-ink)}
.pb-fc-proof-b{margin:0;font-size:.95rem;line-height:1.5;color:var(--pb-muted);max-width:var(--pb-fc-proof-claim,36em)}
.pb-fc-proof-ratio--4-3{--pb-fc-proof-ratio:4/3}
.pb-fc-proof-ratio--16-10{--pb-fc-proof-ratio:16/10}
.pb-fc-proof-ratio--3-2{--pb-fc-proof-ratio:3/2}
.pb-fc-proof-claim--narrow{--pb-fc-proof-claim:min(22em,100%);--pb-fc-proof-cols:minmax(260px,1.15fr) minmax(0,.85fr)}
.pb-fc-proof-claim--half{--pb-fc-proof-claim:min(36em,100%);--pb-fc-proof-cols:minmax(260px,.9fr) minmax(0,1.1fr)}
.pb-fc-proof-claim--wide{--pb-fc-proof-claim:min(48em,100%);--pb-fc-proof-cols:minmax(260px,.7fr) minmax(0,1.3fr)}

/* ── spotlight · photo stage + two rows of equal cards ── */
.pb-fc--spotlight .pb-fc-spot{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);gap:clamp(12px,2vw,18px);align-items:stretch}
.pb-fc-spot--stage{min-height:0}
/* photo left (default) · cards right */
.pb-fc-spot--media-left{grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr)}
/* cards left · photo right (оснащение) */
.pb-fc-spot--media-right{grid-template-columns:minmax(0,1.2fr) minmax(0,1.05fr)}
.pb-fc-spot--text-top,.pb-fc-spot--media-bottom{grid-template-columns:1fr;grid-template-rows:auto 1fr}
.pb-fc-spot--text-bottom,.pb-fc-spot--media-top{grid-template-columns:1fr;grid-template-rows:1fr auto}
.pb-fc-spot-veil--soft .pb-fc-spot-stage-img{filter:brightness(.92)}
.pb-fc-spot-veil--strong .pb-fc-spot-stage-img{filter:brightness(.78) saturate(.9)}
.pb-fc-spot-copy--narrow{--pb-fc-spot-copy:min(22em,100%)}
.pb-fc-spot-copy--half{--pb-fc-spot-copy:min(36em,100%)}
.pb-fc-spot-copy--wide{--pb-fc-spot-copy:min(48em,100%)}
.pb-fc--spotlight.pb-fc-spot-copy--narrow .pb-fc-spot-hero-copy,
.pb-fc--spotlight.pb-fc-spot-copy--half .pb-fc-spot-hero-copy,
.pb-fc--spotlight.pb-fc-spot-copy--wide .pb-fc-spot-hero-copy{max-width:var(--pb-fc-spot-copy,36em)}
.pb-fc-spot-stage{min-height:var(--pb-fc-spot-h,280px)}
/* photo fills the height of the two card rows (stretch with sats column) */
.pb-fc-spot-stage{
  position:relative;margin:0;align-self:stretch;min-height:0;height:auto;
  border-radius:18px;overflow:hidden;
  border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 48%,transparent);
  background:color-mix(in srgb,var(--pb-bg) 35%,transparent);
  box-shadow:0 16px 40px -20px rgba(0,0,0,.45)}
.pb-fc-spot-stage--empty{
  display:flex;align-items:center;justify-content:center;
  min-height:200px;aspect-ratio:4/5;
  border-style:dashed;background:color-mix(in srgb,var(--pb-bg) 22%,transparent)}
.pb-media-empty-scent,.pb-fc-spot-stage--empty .pb-media-empty-scent{
  font:650 12px/1.35 system-ui,sans-serif;letter-spacing:.04em;
  color:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 85%,transparent);
  text-align:center;padding:16px;opacity:.9}
.pb-media-slot--empty{
  display:flex;align-items:center;justify-content:center;
  min-height:72px;border-style:dashed}
.pb-fc-spot-stage-img{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center}
.pb-fc-spot-hero{display:flex;flex-direction:column;gap:0;border-radius:18px;overflow:hidden;
  border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 48%,transparent);
  background:
    radial-gradient(ellipse 70% 50% at 30% 0%,color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 12%,transparent),transparent 65%),
    linear-gradient(165deg,color-mix(in srgb,var(--pb-surface) 95%,transparent),color-mix(in srgb,var(--pb-bg) 50%,transparent));
  box-shadow:0 16px 40px -20px rgba(0,0,0,.45)}
.pb-fc-spot-hero-media{aspect-ratio:16/10;overflow:hidden}
.pb-fc-spot-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.pb-fc-spot-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 28px 30px;pointer-events:none}
.pb-fc-spot-hero-copy a,.pb-fc-spot-hero-copy button,.pb-fc-spot-hero-copy [href],.pb-fc-spot-hero-copy .pb-cta,.pb-fc-spot-hero-copy input,.pb-fc-spot-hero-copy textarea,.pb-fc-spot-hero-copy select{pointer-events:auto}
.pb-fc-spot-stat{display:flex;align-items:baseline;gap:8px}
.pb-fc-spot-stat span{font-size:clamp(2rem,3.2vw,2.75rem);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--pb-ink)}
.pb-fc-spot-stat small{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pb-copper,var(--pb-accent))}
.pb-fc-spot-hero-t{margin:0;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:600;line-height:1.2;color:var(--pb-ink)}
.pb-fc-spot-hero-b{margin:0;font-size:1rem;line-height:1.5;color:var(--pb-muted);max-width:32em}
/* two rows × three cards — equal, compact, picto-led */
.pb-fc-spot-sats{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start;min-height:0}
.pb-fc-spot-sats--rows2{
  grid-template-rows:1fr 1fr;
  gap:10px;height:100%;min-height:0;align-content:stretch}
.pb-fc-spot-sats--rows2.pb-fc-spot-sats--cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pb-fc-spot-sats--rows2.pb-fc-spot-sats--cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pb-fc-spot-sat{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  padding:14px 14px 15px;min-height:0;height:100%;
  border-radius:14px;border:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 28%,transparent);
  background:color-mix(in srgb,var(--pb-surface) 55%,transparent);
  transition:border-color .18s,background .18s,transform .18s}
.pb-fc--spotlight.pb-fc-surface--glass .pb-fc-spot-sat{
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 48%,transparent);
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-media-ink) 8.5%,transparent) 0%,color-mix(in srgb,var(--pb-media-ink) 2%,transparent) 42%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 100%),color-mix(in srgb,var(--pb-bg) 42%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.1),0 14px 32px -20px rgba(0,0,0,.5);
  -webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1)}
.pb-fc-spot-sat:hover{border-color:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 70%,transparent);
  background:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 7%,transparent)}
.pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic{
  width:64px;height:64px;border-radius:16px;flex:none;
  background:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 12%,transparent);
  border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 40%,transparent)}
.pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic .pb-picto,
.pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic-img{width:40px;height:40px}
.pb-fc--spotlight.pb-fc-picto--lg .pb-fc-spot-sat .pb-fc-ic,
.pb-fc--spotlight.pb-fc-tile--lg .pb-fc-spot-sat .pb-fc-ic{width:64px;height:64px;border-radius:16px}
.pb-fc--spotlight.pb-fc-picto--lg .pb-fc-spot-sat .pb-fc-ic .pb-picto,
.pb-fc--spotlight.pb-fc-picto--lg .pb-fc-spot-sat .pb-fc-ic-img,
.pb-fc--spotlight.pb-fc-tile--lg .pb-fc-spot-sat .pb-fc-ic .pb-picto,
.pb-fc--spotlight.pb-fc-tile--lg .pb-fc-spot-sat .pb-fc-ic-img{width:40px;height:40px}
.pb-fc-spot-sat-copy{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}
.pb-fc-spot-sat-t{margin:0;font-size:.92rem;font-weight:600;line-height:1.25;color:var(--pb-ink)}
.pb-fc-spot-sat-b{margin:0;font-size:.78rem;line-height:1.4;color:var(--pb-muted)}



.pb-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pb-fc-ic{display:grid;place-items:center;width:64px;height:64px;color:var(--pb-copper);flex:none}.pb-fc-ic .pb-picto,.pb-fc-ic-img{width:40px;height:40px;object-fit:contain}
.pb-fc--dial{padding:clamp(22px,4vw,48px);border:1px solid color-mix(in srgb,var(--pb-copper) 32%,var(--pb-line));border-radius:26px;background:linear-gradient(145deg,color-mix(in srgb,var(--pb-panel) 92%,var(--pb-bg)),color-mix(in srgb,var(--pb-copper) 7%,var(--pb-panel)));box-shadow:inset 0 1px rgba(255,255,255,.06),0 28px 70px -44px #000}
.pb-fc-dial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--pb-line);border-left:1px solid var(--pb-line)}
.pb-fc-dial-cell{position:relative;min-height:190px;padding:26px 22px 22px;border-right:1px solid var(--pb-line);border-bottom:1px solid var(--pb-line);overflow:hidden}.pb-fc-dial-cell::after{content:"";position:absolute;right:var(--pb-fc-dial-ring-off,-28px);bottom:var(--pb-fc-dial-ring-off-b,-36px);width:var(--pb-fc-dial-ring,110px);height:var(--pb-fc-dial-ring,110px);border:1px solid color-mix(in srgb,var(--pb-copper) 30%,transparent);border-radius:50%;box-shadow:inset 0 0 0 var(--pb-fc-dial-ring-inset,18px) color-mix(in srgb,var(--pb-copper) 4%,transparent)}
.pb-fc-dial-n{position:absolute;right:16px;top:14px;font:600 11px/1 ui-monospace,monospace;letter-spacing:.14em;color:var(--pb-muted)}.pb-fc-dial-stat{display:flex;align-items:baseline;gap:6px;margin:10px 0 8px;color:var(--pb-copper)}.pb-fc-dial-v{font-size:var(--pb-fc-dial-v,clamp(30px,3.4vw,52px));font-weight:720;line-height:.95;letter-spacing:-.04em}.pb-fc-dial-u{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.pb-fc-dial-t,.pb-fc-proof-t,.pb-fc-spot-hero-t,.pb-fc-spot-sat-t{margin:0;color:var(--pb-ink)}.pb-fc-dial-t{font-size:16px}.pb-fc-dial-b{max-width:27em;margin:8px 0 0;color:var(--pb-muted);font-size:13px;line-height:1.5}
.pb-fc-proof{display:flex;flex-direction:column;gap:18px}.pb-fc-proof-row{display:grid;grid-template-columns:var(--pb-fc-proof-cols,minmax(260px,.9fr) minmax(0,1.1fr));align-items:stretch;min-height:250px;border-block:1px solid var(--pb-line)}.pb-fc-proof-row--flip .pb-fc-proof-media{order:2}.pb-fc-proof-media{margin:0;min-height:250px;overflow:hidden;background:color-mix(in srgb,var(--pb-copper) 6%,var(--pb-panel));display:grid;place-items:center}.pb-fc-proof-media .pb-img{width:100%;height:100%;object-fit:cover}.pb-fc-proof-media--empty .pb-fc-ic{width:110px;height:110px;border:1px solid color-mix(in srgb,var(--pb-copper) 35%,transparent);border-radius:50%}.pb-fc-proof-media--empty .pb-picto{width:54px;height:54px}
.pb-fc-proof-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,5vw,66px)}.pb-fc-proof-t{font-size:clamp(24px,3vw,38px);line-height:1.18;padding-top:.12em;text-transform:uppercase}.pb-fc-proof-b{margin:14px 0 0;color:var(--pb-muted);font-size:15px;line-height:1.6;max-width:var(--pb-fc-proof-claim,36em)}
/* note: spotlight sat layout owned by the block above (vertical picto cards); do not re-horizontalize */
.pb-fc-spot-hero{min-height:0}

.pb-materials{width:100%}
.pb-mat-empty{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;padding:22px 4px 8px}
.pb-mat-empty-t{margin:0;font-size:15px;color:var(--pb-muted);line-height:1.45}
.pb-mat-empty-stub{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--pb-copper,var(--pb-accent));border:1px dashed color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 45%,transparent);
  border-radius:999px;padding:6px 14px}
.pb-mat-warn{display:none!important} /* never ship raw validator text to visitors */
/* hero_window CTA — solid copper fill (don't rely on gradient alone) */
.pb-hw-pill--fill{
  background-color:var(--pb-copper,var(--pb-accent))!important;
  background-image:linear-gradient(180deg,color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 88%,var(--pb-ink)),var(--pb-copper,var(--pb-accent)))!important;
  color:var(--pb-accent-ink)!important}
.pb-mat-head{margin:0 0 18px;max-width:none}
/* lab .mats .pair 1.15fr / .85fr — stretch so photo frame = docs stack height */
.pb-mat-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:26px;align-items:start}
.pb-mat-row--solo{grid-template-columns:1fr}
.pb-materials--solo .pb-mat-gal{max-width:min(720px,100%)}

.pb-mat-gal{position:relative;max-width:none;width:100%;height:100%;min-height:0;display:flex;flex-direction:column}
.pb-mat-gal .mg-wrap{margin:0!important;height:100%!important;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.pb-mat-gal .mg-style-cover .mg-cover-grid{max-width:none!important;width:100%;margin:0;flex:1 1 auto;height:100%;min-height:0;display:flex;flex-direction:column}
.pb-mat-count{display:none}
.pb-mat-empty{display:none!important}
/* ── DNA · lift frame (lab galleryone / doccard) — materials frame:lift default ── */
.pb-lift-frame{
  border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--pb-accent) 30%,transparent);
  background:var(--pb-bg);transform-origin:center bottom;
  transition:transform .32s cubic-bezier(.2,.85,.2,1),box-shadow .32s,border-color .22s;
  box-shadow:0 18px 40px -20px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent)}
.pb-lift-frame:hover,.pb-lift-frame:focus-visible{
  transform:translateY(-8px) scale(1.01);border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent);
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--pb-accent) 30%,transparent),0 30px 50px -18px rgba(0,0,0,.65)}
/* materials cover · one site size: 16/10, photo fits inside (owner 2026-08-13) */
.pb-materials--frame-lift .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest),
.pb-materials:not(.pb-materials--frame-flat) .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest){
  aspect-ratio:16/10;flex:none;height:auto;min-height:280px;max-height:none!important;width:100%!important;padding:0!important;
  display:block!important;position:relative;border-radius:14px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--pb-accent) 30%,transparent);background:var(--pb-bg);transform-origin:center bottom;
  transition:transform .32s cubic-bezier(.2,.85,.2,1),box-shadow .32s,border-color .22s,opacity .4s!important;
  box-shadow:0 18px 40px -20px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent)}
.pb-mat-row--solo .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest){
  aspect-ratio:16/10;height:auto;flex:none;min-height:280px}
.pb-materials--frame-lift .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest).is-in:hover,
.pb-materials--frame-lift .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest):hover,
.pb-materials--frame-lift .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest):focus-visible,
.pb-materials:not(.pb-materials--frame-flat) .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest):hover,
.pb-materials:not(.pb-materials--frame-flat) .pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest):focus-visible{
  transform:translateY(-8px) scale(1.01)!important;border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent);
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--pb-accent) 30%,transparent),0 30px 50px -18px rgba(0,0,0,.65)!important}
.pb-mat-gal .mg-style-cover .mg-cell:not(.mg-cell--rest) img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;padding:0!important;
  position:absolute!important;inset:0!important;
  filter:saturate(.9) contrast(1.04)}
.pb-mat-gal .mg-cover-badge{
  left:18px!important;right:auto!important;bottom:18px!important;
  padding:11px 20px!important;font-size:13.5px!important;font-weight:600!important;
  border:1px solid color-mix(in srgb,var(--pb-accent) 45%,transparent)!important;
  background:color-mix(in srgb,var(--pb-bg) 66%,transparent)!important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* docs · lab .doccard lift + 3D */
.pb-mat-col--docs,.pb-mat-col--gal{min-width:0;min-height:0}
.pb-mat-col--gal{display:flex;flex-direction:column;align-self:stretch}
.pb-mat-col--docs{display:flex;flex-direction:column;align-items:stretch;gap:26px;height:auto}
.pb-mat-col--docs .mrl-docs,.pb-mat-col--docs .pb-docs-grid{max-width:none!important;margin:0!important;width:100%}
.pb-mat-col--docs .mrl-docs-sec--cards{width:100%}
.pb-mat-col--docs .mrl-docs-sec--cards .mrl-docs-title,
.pb-mat-col--docs .mrl-docs-sec--cards .mrl-docs-eyebrow,
.pb-mat-col--docs .mrl-docs-sec--cards .mrl-docs-lead{display:none} /* head already in .pb-mat-head */
.pb-materials--frame-lift .pb-mat-col--docs .mrl-doc,
.pb-materials:not(.pb-materials--frame-flat) .pb-mat-col--docs .mrl-doc{
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  padding:26px!important;border-radius:20px!important;min-width:0;max-width:none!important;
  border:1px solid color-mix(in srgb,var(--pb-accent) 30%,transparent)!important;
  background:
    linear-gradient(165deg,color-mix(in srgb,var(--pb-media-ink) 7%,transparent) 0%,color-mix(in srgb,var(--pb-media-ink) 1.5%,transparent) 42%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 100%),
    color-mix(in srgb,var(--pb-bg) 42%,transparent)!important;
  box-shadow:0 12px 28px -16px rgba(0,0,0,.45);
  transform-origin:center bottom;
  transition:transform .32s cubic-bezier(.2,.85,.2,1),border-color .22s,box-shadow .32s!important}
.pb-materials--frame-lift .pb-mat-col--docs .mrl-doc:hover,
.pb-materials--frame-lift .pb-mat-col--docs .mrl-doc:focus-visible,
.pb-materials:not(.pb-materials--frame-flat) .pb-mat-col--docs .mrl-doc:hover,
.pb-materials:not(.pb-materials--frame-flat) .pb-mat-col--docs .mrl-doc:focus-visible{
  transform:translateY(-8px) scale(1.01)!important;
  border-color:color-mix(in srgb,var(--pb-accent) 60%,transparent)!important;
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--pb-accent) 30%,transparent),0 30px 50px -20px rgba(0,0,0,.6)!important}
.pb-mat-col--docs .mrl-doc-ic{width:64px;height:64px}
.pb-mat-col--docs .mrl-doc-t{font-size:17px;font-weight:640;white-space:normal}
.pb-mat-col--docs .mrl-doc-d{font-size:13.5px;margin:0}
.pb-mat-col--docs .mrl-doc-m{align-self:flex-start}
.pb-mat-col--docs > .pb-mat-cta{display:flex;justify-content:flex-start;align-items:center;margin-top:0;flex:none;padding-top:0}
.pb-materials--solo > .pb-mat-cta,
.pb-mat-row--solo + .pb-mat-cta{
  display:flex;justify-content:flex-end;align-items:center;
  margin:12px 0 0;flex:none}
.pb-mat-cta .pb-cta{margin:0}
.pb-mat-row--solo{grid-template-columns:minmax(0,1fr)!important}
.pb-mat-warn{margin:0 0 10px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;
  color:var(--pb-danger);border:1px solid color-mix(in srgb,var(--pb-danger) 45%,transparent);
  background:color-mix(in srgb,var(--pb-danger) 10%,transparent)}
/* ── NIGHT_PATTERNS · elements ───────────────────────────────── */
/* V-15 · head DNA lab: eyebrow 13/mb12 · h2 clamp · lead 17 / max 640 (not 11px meta) */
.pb-head{display:flex;flex-direction:column;gap:12px;max-width:min(820px,100%);margin:0 0 8px;text-align:left}
.pb-head--center{align-items:center;text-align:center;margin-inline:auto}
.pb-head--right{align-items:flex-end;text-align:right;margin-left:auto}
.pb-block.pb-text-align--left{text-align:left!important}
.pb-block.pb-text-align--center{text-align:center!important}
.pb-block.pb-text-align--right{text-align:right!important}
html #request.pb-section .pb-block--head.pb-text-align--right,
html .pb-req-host.pb-section .pb-block--head.pb-text-align--right,
html #request.pb-section .pb-head--right,
html .pb-req-host.pb-section .pb-head--right{
  text-align:right!important;align-items:flex-end!important}
html #request.pb-section .pb-block--head.pb-text-align--center,
html .pb-req-host.pb-section .pb-block--head.pb-text-align--center,
html #request.pb-section .pb-head--center,
html .pb-req-host.pb-section .pb-head--center{
  text-align:center!important;align-items:center!important}
.pb-head .pb-text--eyebrow{
  margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pb-copper)}
.pb-head .pb-text--h1,.pb-head .pb-text--h2,.pb-head .pb-text--h3{margin:0}
.pb-head .pb-text--h2{
  font-size:clamp(32px,3.2vw,50px);font-weight:640;line-height:1.18;
  text-transform:uppercase;letter-spacing:-.01em;max-width:820px;margin:0 0 14px;padding-top:.12em}
.pb-head .pb-text--h1{
  font-size:clamp(36px,4vw,56px);font-weight:640;line-height:1.18;
  text-transform:uppercase;letter-spacing:-.01em;margin:0 0 14px;padding-top:.12em}
.pb-head .pb-text--h3{
  font-size:clamp(22px,2.2vw,28px);font-weight:640;line-height:1.18;
  text-transform:uppercase;margin:0 0 10px;padding-top:.12em}
.pb-head .pb-text--lead{
  margin:0;font-size:17px;line-height:1.5;max-width:640px;
  color:var(--pb-muted)}
.pb-label{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--pb-line);color:var(--pb-muted);background:transparent}
.pb-label--copper{color:var(--pb-copper);border-color:color-mix(in srgb,var(--pb-copper) 45%,transparent)}
.pb-label--ok{color:var(--pb-emerald);border-color:color-mix(in srgb,var(--pb-emerald) 40%,transparent)}
.pb-divider{border:0;border-top:1px solid var(--pb-line);margin:28px 0;opacity:.85}
.pb-divider.pb-divider--hairline,
.pb-block--divider.pb-divider--hairline{border-top-color:var(--pb-line);opacity:.85}
.pb-divider.pb-divider--copper,
.pb-block--divider.pb-divider--copper{border-top-color:var(--pb-copper,var(--pb-accent));opacity:1}
.pb-divider.pb-divider--hairline{border-top-width:1px}
.pb-divider.pb-divider--copper{border-top-width:1px}
.pb-divider.pb-divider--content,
.pb-block--divider.pb-divider--content{max-width:var(--pb-content,1320px);width:100%;margin-inline:auto}
.pb-divider.pb-divider--full,
.pb-block--divider.pb-divider--full{max-width:none;width:100%}
.pb-stat-el{text-align:center;padding:8px 6px}
.pb-stat-el .pb-stat-value{font-size:clamp(28px,3.4vw,44px);font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--pb-ink)}
.pb-stat-el .pb-stat-unit{font-size:.45em;margin-left:.2em;opacity:.75;font-weight:600}
.pb-stat-el .pb-stat-label{font-size:12.5px;line-height:1.4;color:var(--pb-ink);margin-top:10px;opacity:.85}
.pb-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,28px);align-items:center;width:100%}
.pb-proof--copy-image{grid-template-columns:repeat(2,minmax(0,1fr))}
/* empty copy column never reserves a half (UniMaster compensation plot) */
.pb-proof--media-only,
.pb-proof:not(:has(.pb-proof-copy)),
.pb-proof:has(.pb-proof-copy:empty){grid-template-columns:minmax(0,1fr)!important}
.pb-proof-copy:empty{display:none!important}

.pb-proof-media{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--pb-line)}
.pb-proof-img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
/* charts/SVG: never crop axis labels (Claude 2026-08-13) */
.pb-proof--data .pb-proof-img,
.pb-proof-media img[src$=".svg"],
.pb-proof-media img[src*=".svg?"]{object-fit:contain!important;aspect-ratio:auto;background:transparent}
/* UniMaster compensation is 1600×1200 — at content width that is a second page */
.pb-page[data-page="unimaster"] .pb-proof--data .pb-proof-img,
.pb-page[data-page="unimaster"] .pb-proof-media img[src*="um-compensation"]{
  width:100%!important;height:auto!important;
  max-height:min(80svh,720px)!important;
  object-fit:contain!important
}
.pb-proof-claim{font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:650;line-height:1.35;margin:0 0 10px;color:var(--pb-ink)}
.pb-proof-evidence{font-size:14px;line-height:1.5;color:var(--pb-muted);margin:0}
/* ── field proof TILE · 2-up grid · photo frame + title in rim · copy beside ──
   Add a 4th proof block → fills 2×2 automatically. Same present/layout/template. */
/* host column: pack proof tiles two across */
.pb-col:has(> .pb-block--proof + .pb-block--proof){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(16px,2vw,24px)!important;align-items:stretch}
.pb-col:has(> .pb-block--proof + .pb-block--proof) > .pb-block--proof{margin:0!important;min-width:0}
.pb-col:has(> .pb-block--proof + .pb-block--proof) > .pb-block--proof .pb-proof--tile{height:100%}
.pb-proof--tile{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:12px 14px;align-items:stretch;width:100%;height:100%;
  padding:10px;border-radius:18px;
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 42%,transparent);
  background:
    linear-gradient(165deg,color-mix(in srgb,var(--pb-media-ink) 7%,transparent) 0%,color-mix(in srgb,var(--pb-media-ink) 1.5%,transparent) 45%,color-mix(in srgb,var(--pb-bg) 28%,transparent) 100%),
    color-mix(in srgb,var(--pb-bg) 38%,transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--pb-accent) 10%,transparent),
    inset 0 1px 0 rgba(255,255,255,.1),
    0 18px 40px -22px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);
  transition:transform .32s cubic-bezier(.2,.85,.2,1),box-shadow .32s,border-color .22s;
  transform-origin:center bottom}
/* in 2-up, keep photo always left for a calm grid (ignore flip layout) */
.pb-col:has(> .pb-block--proof + .pb-block--proof) .pb-proof--tile.pb-proof--copy-image{
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.pb-col:has(> .pb-block--proof + .pb-block--proof) .pb-proof--tile.pb-proof--copy-image .pb-proof-media{order:0}
.pb-col:has(> .pb-block--proof + .pb-block--proof) .pb-proof--tile.pb-proof--copy-image .pb-proof-copy{order:1}
/* full-bleed single tile (if only one proof) still allows flip */
.pb-proof--tile.pb-proof--copy-image{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr)}
.pb-proof--tile:hover{
  transform:translateY(-6px) scale(1.015);
  border-color:color-mix(in srgb,var(--pb-accent) 72%,transparent);
  box-shadow:
    0 3px 0 0 color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 28%,transparent),
    0 16px 28px -12px rgba(0,0,0,.55),
    0 32px 50px -18px rgba(0,0,0,.45),
    0 0 0 1px color-mix(in srgb,var(--pb-accent) 28%,transparent),
    inset 0 1px 0 rgba(255,255,255,.14)}
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-proof--tile:not(a):not(.hlink),
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-proof--tile:not(a):not(.hlink):hover{
  transform:translateY(-6px) scale(1.015);border-color:color-mix(in srgb,var(--pb-accent) 72%,transparent);cursor:default}
.pb-proof--tile .pb-proof-media{
  position:relative;margin:0;border-radius:12px;overflow:hidden;min-height:0;height:100%;
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 55%,transparent);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 10px 24px -14px rgba(0,0,0,.45);
  background:var(--pb-surface-2)}
.pb-proof--tile .pb-proof-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  aspect-ratio:auto;display:block}
.pb-proof--tile .pb-proof-media::before{
  content:"";display:block;padding-top:78% /* taller media in 2-up half-width */}
.pb-proof--tile .pb-proof-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;
  padding:28px 12px 11px;
  background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--pb-media-scrim) 55%,transparent) 38%,var(--pb-media-scrim) 100%);
  color:var(--pb-media-ink);font-size:clamp(1rem,1.35vw,1.2rem);font-weight:650;
  letter-spacing:.05em;line-height:1.2;text-wrap:balance}
.pb-proof--tile .pb-proof-copy{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  gap:7px;min-width:0;padding:4px 6px 4px 2px}
.pb-proof--tile .pb-proof-stat{
  margin:0;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:700;letter-spacing:-.02em;
  line-height:1.1;color:var(--pb-ink)}
.pb-proof--tile .pb-proof-meta{
  margin:0;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--pb-copper,var(--pb-accent));line-height:1.35}
.pb-proof--tile .pb-proof-evidence{
  margin:2px 0 0;font-size:clamp(.8rem,.95vw,.92rem);line-height:1.45;
  color:color-mix(in srgb,var(--pb-ink) 68%,transparent);max-width:none;
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}

/* table | photo · matched heights · brand frame · shared gap (powerplant + specs) */
.pb-spec-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(20px,2.4vw,28px);align-items:stretch;width:100%}
.pb-spec-pair--media-first{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}

.pb-spec-pair-table{min-width:0;display:flex;flex-direction:column;justify-content:center}
.pb-spec-pair-media{
  position:relative;margin:0;align-self:stretch;min-height:0;height:auto;
  border-radius:18px;overflow:hidden;
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 52%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.1),0 18px 40px -22px rgba(0,0,0,.55)}
.pb-spec-pair-media.dna-frame{border-radius:18px}
.pb-spec-pair-media.dna-rim{border:1.5px solid color-mix(in srgb,var(--pb-accent) 52%,transparent)}
.pb-spec-pair-media img,
.pb-spec-pair-img{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center;min-height:0}

/* WAVE31 mobile polish @390 — clamp hero type + prevent chips/CTA clip */
/* + 2026-07-27 boss: phone-first + fold (Huawei/Samsung) presentation */


/* after present DNA (field/adv margin 0, railgrid mt) — same token, last in this file */
.pb-feature-cards[style*="--pb-fc-head-gap"] .pb-fc-head,
.pb-fc[style*="--pb-fc-head-gap"] .pb-fc-head,
.pb-block--feature_cards[style*="--pb-fc-head-gap"] .pb-fc-head{
  margin-bottom:var(--pb-fc-head-gap,22px)!important}

/* ═══ FOLD / mid-width (Samsung Fold · Huawei Mate X cover→main) ═══
   Cover ~280–400, main ~650–900 short height. Not desktop, not phone-only. */

/* dual-screen / hinge (where browser exposes segments) */
@media (horizontal-viewport-segments: 2){
  .pb-page{padding-inline:env(viewport-segment-width 0 0, 0px)}
  main.pb-page{max-width:100%}
  .pb-row{max-width:min(var(--pb-content,1320px), calc(100% - 24px))}
}
/* short landscape phones / fold cover landscape */
@media(max-height:500px) and (orientation:landscape){
  .pb-page > .pb-section.pb-py--sm{padding-block:12px!important}
  .pb-page > .pb-section.pb-py--md{padding-block:24px!important}
  .pb-page > .pb-section.pb-py--lg{padding-block:36px!important}
  .pb-page > .pb-section.pb-py--xl{padding-block:48px!important}
  .pb-page[data-page] > section.pb-section:first-of-type{
    min-height:auto!important;
  }
  .m3-item--hero .m3-stage{height:min(42vh,280px)!important}
}
/* JS flag hooks (data-device / data-vp on <html>) — no UA brand sniff */
html[data-device="phone"] .pb-cta{min-height:48px}
html[data-device="fold"] .agf-cards--adv,
html[data-vp="fold-mid"] .agf-cards--adv{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* quiet funnel link — priority CDP miss (display:inline can't take min-height) */
.agf-close-ask a,
.agf-close-ask > a{
  display:inline-flex!important;align-items:center;min-height:44px!important;
  padding:10px 4px;margin:-10px 0;box-sizing:border-box;
  text-decoration:none;color:var(--pb-copper,var(--pb-accent));font-weight:600}
/* phone + fold layout fit */

/* fold landscape short (e.g. 882×344): force 1-col + min-width:0 so inline
   grid-template-columns:1fr 1fr cannot clip table values (CDP +28px bleed) */



/* reduced motion: prefer poster over autoplay video */
@media (prefers-reduced-motion: reduce){
  .pb-video{display:none}
  .pb-video-poster-rm{display:block !important;width:100%;border-radius:16px;border:1px solid var(--pb-line)}
  .pb-cta,.pb-img{transition:none !important}
}

/* ═══ BRAND SUBSTRATE · tokens from face :root (editable palette) ═══ */
/* type — copper overlines */
.pb-text--eyebrow{letter-spacing:.18em!important;font-size:12px!important;font-weight:700!important;color:var(--pb-copper)!important}
.pb-text--h1{font-weight:700;letter-spacing:-.01em;text-wrap:balance}
.pb-text--h2{letter-spacing:.06em}
.pb-text--lead{color:color-mix(in srgb,var(--pb-ink) 90%,transparent);max-width:38em}
/* UNIFIED substrate card (directions · products · software · cycle steps).
   ROUND_EYE: only in 3+ column card grids — never on 2-col PDP (hero/spec photo). */
/* Substrate card chrome — NOT on blueprint callout|image|callout (lab .bp is open air) */
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)) > .pb-col--explicit:has(> .pb-block--image),
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit) > .pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3),
.pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3):not(:has(> .pb-block--image)){
  padding:22px 20px!important;
  border:1.5px solid var(--pb-rim)!important;
  border-radius:16px!important;
  background:var(--pb-substrate)!important;
  box-shadow:var(--pb-depth);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .28s;
  gap:10px;
}
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)) > .pb-col--explicit:has(> .pb-block--image):hover,
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit) > .pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3):hover,
.pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3):not(:has(> .pb-block--image)):hover{
  transform:translateY(-4px);
  border-color:var(--pb-rim-hot)!important;
  box-shadow:0 26px 52px -20px rgba(0,0,0,.58),0 0 0 1px color-mix(in srgb,var(--pb-accent2) 20%,transparent);
}
/* directions icons exact 44 + copper tint */
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]) img.pb-img[src*="/lib/dir-"],
.pb-img[src*="/lib/dir-"]{
  width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;
  aspect-ratio:auto!important;object-fit:contain!important;
  background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;
  filter:drop-shadow(0 0 10px color-mix(in srgb,var(--pb-accent2) 20%,transparent));
}
/* product photo plate inside substrate (not maps) — 3+ col card grids only */
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])) > .pb-block--image .pb-img{
  border-radius:12px;border:0;background:linear-gradient(160deg,var(--pb-surface-2),var(--pb-surface-2));padding:8px;
}
/* PDP hero media: photo fills its column, no product-card chrome (ROUND_EYE) */
.pb-page[data-page^="agf-"] .pb-section:first-of-type .pb-col--explicit:has(> .pb-block--image:only-child) > .pb-block--image .pb-img,
.pb-page[data-page^="agf-"] .pb-section:first-of-type .pb-col--explicit:has(> .pb-block--image:first-child:last-child) > .pb-block--image .pb-img{
  width:100%!important;max-width:100%!important;height:auto!important;
  aspect-ratio:auto!important;object-fit:cover!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:14px!important;
  filter:none!important}
/* ROUND_HERO_FIX §2: image beside table — sized by its column, pair aligned */
.pb-row--has-cols:has(> .pb-col--explicit .pb-block--spec_table) > .pb-col--explicit:has(> .pb-block--image){
  display:flex!important;align-items:stretch!important;min-width:0!important}
.pb-row--has-cols:has(> .pb-col--explicit .pb-block--spec_table) > .pb-col--explicit > .pb-block--image{
  flex:1 1 auto;width:100%;min-height:0;height:100%;display:flex;align-items:center}
.pb-row--has-cols:has(> .pb-col--explicit .pb-block--spec_table) > .pb-col--explicit > .pb-block--image .pb-img{
  width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;
  object-fit:cover!important;object-position:center;aspect-ratio:auto!important;
  padding:0!important;background:transparent!important;border:0!important;
  border-radius:12px!important;filter:none!important}
/* consecutive CTAs sit in one row (hero actions), not a vertical stack */
.pb-col--explicit:has(> .pb-block--cta + .pb-block--cta){
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;
  align-content:flex-start!important;gap:12px 14px!important}
.pb-col--explicit:has(> .pb-block--cta + .pb-block--cta) > .pb-block--text{
  flex:1 0 100%}
.pb-col--explicit:has(> .pb-block--cta + .pb-block--cta) > .pb-block--cta{
  flex:0 0 auto}
/* software icons */
.pb-col--explicit:has(> .pb-block--image img[src*="sw-"]) img.pb-img{
  width:52px!important;height:52px!important;max-width:52px!important;padding:0!important;
  background:transparent!important;border:0!important;
  filter:drop-shadow(0 0 12px color-mix(in srgb,var(--pb-accent2) 28%,transparent));
}
/* STATS — brand substrate cells (override earlier transparent stats) */
.pb-stats{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:16px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.pb-stat{
  padding:22px 16px!important;text-align:center;
  border:1.5px solid var(--pb-rim)!important;border-radius:16px!important;
  background:var(--pb-substrate)!important;box-shadow:var(--pb-depth)!important;
  transition:transform .22s,border-color .2s}
.pb-stat:hover{transform:translateY(-3px);border-color:var(--pb-rim-hot)!important}
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-stat:not(a):not(.hlink),
main.pb-page .pb-section:not(#hero):not(.pb-section--hero) .pb-stat:not(a):not(.hlink):hover{
  transform:translateY(-3px);border-color:var(--pb-rim-hot)!important;cursor:default}
.pb-stat-value{font-size:clamp(28px,3.4vw,44px)!important;font-weight:700;color:var(--pb-ink);letter-spacing:-.02em;line-height:1}
.pb-stat-label{font-size:12.5px;line-height:1.4;color:var(--pb-ink);margin-top:10px;opacity:.85}
/* contact = precision instrument panel */
.pb-form--mfq,.pb-form{
  max-width:720px;margin:0 auto;padding:32px 28px 36px!important;border-radius:18px!important;
  border:1.5px solid var(--pb-rim)!important;
  background:
    radial-gradient(500px 200px at 0% 0%,color-mix(in srgb,var(--pb-copper) 12%,transparent),transparent 55%),
    linear-gradient(165deg,color-mix(in srgb,var(--pb-panel) 95%,var(--pb-bg)),var(--pb-surface))!important;
  box-shadow:var(--pb-depth),inset 0 1px 0 rgba(255,255,255,.05)!important;
  position:relative}
.pb-form--mfq::before{
  content:"";position:absolute;left:18px;right:18px;top:0;height:2px;border-radius:0 0 2px 2px;
  background:linear-gradient(90deg,transparent,var(--pb-copper),transparent);opacity:.65}
.mfq-form input,.mfq-form textarea{
  background:color-mix(in srgb,var(--pb-bg) 55%,transparent)!important;
  border-color:color-mix(in srgb,var(--pb-copper) 32%,transparent)!important}
.mfq-assist-btn{
  border-color:color-mix(in srgb,var(--pb-copper) 50%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-copper) 10%,transparent)}
/* section air — pad steps live above; do not re-clamp over owner control (ROUND_HERO_FIX) */
/* dividers / hairlines copper-tinted (no border seams between sections) */
.pb-bg--muted,.pb-section{--pb-line:color-mix(in srgb,var(--pb-accent2) 18%,transparent)}
/* prevent horizontal scrollbar during lateral section reveals (Claude eye 2026-07-27)
   clip (not hidden) — keeps sticky header / overflow-y intact */
main.pb-page, .pb-page{overflow-x:clip}
html{overflow-x:clip}

/* ═══ SECTION REVEAL TEMPLATE (boss 2026-07-27 site-wide)
   A assemble — cards/tiles mount
   B dock    — media|copy columns meet   (approved: «таблицы»)
   C panel   — whole band seats          (approved: «Платформа»)
   D frame   — text + framed blocks read in (galleries / Преимущества)
   + sequential queue (JS) so trackpad doesn't fire all at once.
   Vertical rail REMOVED (boss: overlaps text). No specular flash. ═══ */
.pb-mr::after,.pb-mr.is-in::after,.pb-mr[data-mr-kind]::after{content:none!important;display:none!important;width:0!important;height:0!important;opacity:0!important;border:0!important}
main.pb-page, .pb-page{overflow-x:clip}
html{overflow-x:clip}

.pb-mr{
  /* Text must stay readable without waiting for IntersectionObserver.
     opacity:0 on the section (and on .pb-mr-head) faded headings out after first
     paint — crawler still had the copy, a person did not. Owner 2026-08-20,
     hidden-text-gate. Motion is transform only; cards still fade via .pb-mr-child. */
  opacity:1;
  position:relative;
  transform:translate3d(0, 40px, 0);
  transition:transform 1.2s cubic-bezier(.16,.84,.28,1);
  will-change:transform}
.pb-mr.is-in{opacity:1!important;transform:none!important;filter:none!important}

/* quiet tech rail — construction cue, not flash */
.pb-mr::before{content:none!important;display:none!important;animation:none!important}



/* shared head + body pieces — headings/copy never sit at opacity 0 */
.pb-mr-head{
  opacity:1;transform:translate3d(0,22px,0);
  transition:transform .8s cubic-bezier(.16,.84,.28,1)}
.pb-mr.is-in .pb-mr-head{opacity:1!important;transform:none!important}
.pb-mr-child,.pb-mr-media{
  opacity:0;
  transition:opacity .9s cubic-bezier(.16,.84,.28,1), transform .9s cubic-bezier(.16,.84,.28,1)}
.pb-mr-copy{
  opacity:1;
  transition:transform .9s cubic-bezier(.16,.84,.28,1)}
.pb-mr.is-in .pb-mr-child,
.pb-mr.is-in .pb-mr-media,
.pb-mr.is-in .pb-mr-copy{opacity:1!important;transform:none!important}

/* HERO always on */
.pb-mr[data-mr-kind="hero"],.pb-mr[data-mr="0"]{
  opacity:1!important;transform:none!important}
.pb-mr[data-mr-kind="hero"]::after,.pb-mr[data-mr="0"]::after{display:none}
.pb-mr[data-mr-kind="hero"] .pb-mr-head,
.pb-mr[data-mr-kind="hero"] .pb-mr-child{opacity:1!important;transform:none!important}

/* ── A ASSEMBLE — cards/tiles mount into grid (Оснащение / payload) ──
   Boss 2026-07-27: was invisible on avionics — DNA .agf-card transition
   overwrote opacity/transform; motion was too soft. Strong cascade. */
.pb-mr[data-mr-kind="assemble"]{transform:translate3d(0,44px,0)}
.pb-mr[data-mr-kind="assemble"] .pb-mr-child{
  opacity:0;transform:translate3d(0,48px,0) scale(.88);
  transition:opacity .95s cubic-bezier(.16,.84,.28,1),
    transform .95s cubic-bezier(.16,.84,.28,1),
    background .2s,border-color .2s}

/* ── B DOCK — two columns meet from edges (LOCKED tables) ── */
.pb-mr[data-mr-kind="dock"]{transform:translate3d(0,28px,0)}
.pb-mr[data-mr-kind="dock"] .pb-mr-media{transform:translate3d(-20px,0,0)}
.pb-mr[data-mr-kind="dock"] .pb-mr-copy{transform:translate3d(20px,0,0)}
.pb-mr[data-mr-kind="dock"] .pb-mr-child{transform:translate3d(0,14px,0)}

/* ── C PANEL — whole stage seats (LOCKED Платформа / materials) ── */
.pb-mr[data-mr-kind="panel"]{transform:translate3d(0,48px,0) scale(.97)}
.pb-mr[data-mr-kind="panel"] .pb-mr-child{transform:translate3d(0,32px,0) scale(.94)}

/* ── D FRAME — text + framed cards (Преимущества) ──
   Signature (≠ assemble lift, ≠ dock columns, ≠ panel seat):
   tiles hinge in from outer edges alternating L/R, then brass settles.
   Claude eye 2026-07-27: plain fade-up was not wow — this is the 3rd motion. */
.pb-mr[data-mr-kind="frame"]{transform:translate3d(0,32px,0)}
.pb-mr[data-mr-kind="frame"] .pb-mr-child{
  opacity:0;
  transition:opacity 1s cubic-bezier(.16,.84,.28,1),
    transform 1s cubic-bezier(.16,.84,.28,1),
    background .2s,border-color .35s,box-shadow .45s}
/* alternate sides — 2-col grids: odd=left from west, even=right from east */
.pb-mr[data-mr-kind="frame"] .pb-mr-child:nth-child(odd){
  transform:translate3d(-44px,30px,0) scale(.93)}
.pb-mr[data-mr-kind="frame"] .pb-mr-child:nth-child(even){
  transform:translate3d(44px,30px,0) scale(.93)}
.pb-mr[data-mr-kind="frame"].is-in .pb-mr-child{
  opacity:1!important;transform:none!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 14%,transparent),0 18px 36px -28px rgba(0,0,0,.45)}


/* cards MUST animate — DNA v3 sets transition:background only (killed reveal) */
.pb-mr .agf-card.pb-mr-child,
.pb-mr .agf-dna-item.pb-mr-child,
.pb-mr .mg-cell.pb-mr-child,
.pb-mr .agf-imgbox.pb-mr-child,
.pb-mr .pb-fc-payl.pb-mr-child,
.pb-mr .pb-fc-call.pb-mr-child,
.pb-mr .pb-fc-vcard.pb-mr-child,
.pb-mr .pb-fc-cnt.pb-mr-child,
.pb-mr .pb-panel.pb-mr-child{
  transition:opacity .95s cubic-bezier(.16,.84,.28,1),
    transform .95s cubic-bezier(.16,.84,.28,1),
    background .2s,border-color .2s!important}
/* paint before is-in so first frame is hidden (content-visibility was skipping pre-state) */
.pb-mr:not(.is-in){content-visibility:visible!important}

@media(prefers-reduced-motion:reduce){
  .pb-mr,.pb-mr-head,.pb-mr-child,.pb-mr-media,.pb-mr-copy{
    opacity:1!important;transform:none!important;transition:none!important}
  
}
/* dock sideways pre-reveal used to clip headings past padding (768/1280).
   Neutralize to vertical-only on tablet and short-landscape. */


/* hero cinematic — ambient only; model light is the Gaussian pedestal under GLB */
#hero{position:relative;overflow:hidden}
#hero::before{display:none} /* was second copper blob; pedestal alone = source */
#hero .pb-row{position:relative;z-index:1}
#hero .pb-text--h1{text-shadow:0 2px 40px rgba(0,0,0,.35)}
/* copper CTAs already brand; ensure primary uses var(--pb-copper) */
.pb-cta--primary{background-color:var(--pb-copper)!important;
  background-image:linear-gradient(180deg,var(--pb-accent-hi),var(--pb-copper) 55%,var(--pb-accent2))!important;
  border-color:color-mix(in srgb,var(--pb-accent2) 60%,transparent)!important}
.pb-cta--outline{border-color:color-mix(in srgb,var(--pb-accent2) 65%,transparent)!important;color:var(--pb-ink)!important}

/* ═══ FINAL ELEVATION (Claude list) ═══ */
/* 1 micro-interactions — text product cards only; NEVER bare photo/media columns */
.pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3),
.pb-stat{
  transition:transform .35s cubic-bezier(.2,.85,.2,1),border-color .25s,box-shadow .35s,filter .3s}
.pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3):hover{
  transform:translateY(-6px);
  filter:drop-shadow(0 0 18px color-mix(in srgb,var(--pb-accent2) 12%,transparent));
  box-shadow:0 28px 56px -18px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--pb-accent2) 35%,transparent),
    inset 0 1px 0 rgba(255,255,255,.06)}
/* bare photos / media columns stay still — no glow ring, no lift, no filter */
.pb-col--explicit:has(> .pb-block--image:only-child),
.pb-col--explicit.pb-mr-media,
.pb-col--explicit:has(> .pb-block--image):not(:has(> .pb-block--text)):not(:has(> .pb-block--head)),
.pb-block--image,
.pb-img-wrap,
.pb-block--image .pb-img{
  transition:none!important}
.pb-col--explicit:has(> .pb-block--image:only-child):hover,
.pb-col--explicit.pb-mr-media:hover,
.pb-col--explicit:has(> .pb-block--image):not(:has(> .pb-block--text)):not(:has(> .pb-block--head)):hover,
.pb-block--image:hover,
.pb-img-wrap:hover,
.pb-block--image .pb-img:hover{
  transform:none!important;filter:none!important;
  box-shadow:none!important;outline:none!important}
/* SVG icons in multi-block cols may still brighten slightly */
.pb-col--explicit:has(> .pb-block--image):has(> .pb-block--text):hover img.pb-img[src$=".svg"]{
  filter:drop-shadow(0 0 14px color-mix(in srgb,var(--pb-accent2) 45%,transparent)) brightness(1.06)}
/* button sheen already on .pb-cta — strengthen */
.pb-cta{transition:transform .2s,filter .2s,box-shadow .25s,border-color .2s}
.pb-cta:hover{transform:translateY(-1px)}

/* HERO open-air: no green square / plate — transparent host + EXACT source Gaussian pedestal */
#hero .m3-item--hero .m3-stage,
#hero .pb-block--glb .m3-stage,
#hero .pb-block--glb,
#hero .pb-block--hero_pool,
#hero .m3-item--hero,
#hero .pb-col--explicit:has(> .pb-block--glb),
#hero .pb-col--explicit:has(> .pb-block--hero_pool),
#hero .pb-col--explicit:has(.m3-item--hero){
  overflow:visible!important;border-radius:0!important;border:0!important;
  background:transparent!important;box-shadow:none!important;padding:0!important}
#hero .pb-row:has(.pb-block--hero_pool){
  display:block!important; /* pool owns its internal grid */
  grid-template-columns:none!important}
#hero .m3-item--hero babylon-viewer,
#hero .m3-item--hero .m3-viewer{
  max-width:100%!important;background:transparent!important}
/* EXACT source #merlin-hero-css pedestal — beige Gaussian, barely-noticeable physical light */
#hero .pb-block--glb{position:relative}
#hero .pb-block--glb::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:50%;top:46%;transform:translate(-50%,-50%);
  width:78%;height:66%;
  background:radial-gradient(ellipse 54% 52% at 50% 50%,
     color-mix(in srgb,var(--pb-accent) 32%,transparent) 0%,color-mix(in srgb,var(--pb-accent) 15%,transparent) 44%,color-mix(in srgb,var(--pb-accent) 0%,transparent) 74%);
  filter:blur(12px)}
#hero .pb-block--glb > *{position:relative;z-index:1}
/* glow div inside stage mirrors same pedestal (redundant with ::before is OK — soft layer) */
#hero .m3-glow{z-index:0}
/* gentle float — aircraft only */
#hero .m3-item--hero{animation:none}
@keyframes pb-heli-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}}

/* NIGHT_ROLLOUT Codex 03:36: content-visibility:auto + contain-intrinsic-size 480px
   left path/software/proof/gallery/contact with huge reserved height and EMPTY
   innerText while off-screen (renderer skipped paint). Face pages must paint. */
.pb-section{content-visibility:visible;contain-intrinsic-size:none}
#hero.pb-section,.pb-section:first-child{content-visibility:visible}
.pb-mr.is-in,.pb-mr[data-mr-kind="hero"]{content-visibility:visible!important}

/* ═══ HERO ATTRACTION (boss A 2026-07-26) ═══ */
#hero{position:relative;isolation:isolate}
#hero::before{
  content:"";position:absolute;inset:-8% -4% auto;height:min(72vh,640px);z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%,color-mix(in srgb,var(--pb-copper) 22%,transparent),transparent 68%),
    radial-gradient(ellipse 40% 50% at 12% 70%,color-mix(in srgb,var(--pb-spark,var(--pb-accent)) 12%,transparent),transparent 70%);
  opacity:.95}
#hero .mrl-hero-item,#hero .mrl-hero-grid{position:relative;z-index:1}
#hero .mrl-hero-copy .pb-text--eyebrow{
  letter-spacing:.2em!important;opacity:.95;
  text-shadow:0 0 24px color-mix(in srgb,var(--pb-copper) 35%,transparent)}
#hero .mrl-hero-copy .pb-text--h1{
  font-size:clamp(2.1rem,4.6vw,3.55rem)!important;line-height:1.18!important;padding-top:.12em;
  letter-spacing:-.02em;text-wrap:balance;text-transform:uppercase;
  text-shadow:0 12px 40px rgba(0,0,0,.35)}
#hero .mrl-hero-copy .pb-text--lead{
  font-size:clamp(1.02rem,1.35vw,1.15rem)!important;max-width:34em;
  color:color-mix(in srgb,var(--pb-ink) 88%,var(--pb-muted))}
#hero .mrl-hero-ctas{margin-top:8px;gap:14px}
#hero .mrl-hero-ctas .pb-cta--primary{
  box-shadow:0 10px 28px -10px color-mix(in srgb,var(--pb-copper) 55%,transparent);
  transition:transform .18s ease,box-shadow .18s ease}
#hero .mrl-hero-ctas .pb-cta--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px -12px color-mix(in srgb,var(--pb-copper) 65%,transparent)}
#hero .mrl-hero-media{filter:drop-shadow(0 28px 50px rgba(0,0,0,.35))}
/* image on the media side floats frameless, like the 3D object (ROUND_EYE) */
.mrl-hero .pb-block--image .pb-img.mrl-hero-img,
.mrl-hero .pb-block--video .mrl-hero-video{
  border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}
/* SECTION_1_HERO_3 / F28: open high · big type · object 60% fills column · head breathes */
.mrl-hero--fullbleed{width:100%;max-width:none}
.mrl-hero--full .mrl-hero-grid{min-height:min(88vh,920px)}
.mrl-hero--v-start .mrl-hero-grid,.mrl-hero[data-valign="start"] .mrl-hero-grid{align-items:start!important}
.mrl-hero-head{display:flex;flex-direction:column;gap:6px;width:100%}
.mrl-hero-action{display:flex;flex-direction:column;gap:12px;width:100%}
/* type steps (md = previous F14 role · lg/xl owner step up) */
.mrl-hero--eb-md .pb-text--eyebrow{font-size:clamp(11px,.9vw,13px)!important;letter-spacing:.12em!important}
.mrl-hero--eb-lg .pb-text--eyebrow,.mrl-hero[data-eyebrow-size="lg"] .pb-text--eyebrow{
  font-size:clamp(13px,1.15vw,16px)!important;letter-spacing:.14em!important;font-weight:700!important}
.mrl-hero--eb-xl .pb-text--eyebrow,.mrl-hero[data-eyebrow-size="xl"] .pb-text--eyebrow{
  font-size:clamp(14px,1.35vw,18px)!important;letter-spacing:.16em!important;font-weight:700!important}
.mrl-hero--tt-md .pb-text--h1{font-size:clamp(2.1rem,5vw,3.4rem)!important}
.mrl-hero--tt-lg .pb-text--h1,.mrl-hero[data-title-size="lg"] .pb-text--h1{
  font-size:clamp(2.55rem,6.2vw,4.15rem)!important;line-height:1.18!important;padding-top:.12em;font-weight:700!important}
.mrl-hero--tt-xl .pb-text--h1,.mrl-hero[data-title-size="xl"] .pb-text--h1{
  font-size:clamp(2.85rem,7vw,4.6rem)!important;line-height:1.18!important;padding-top:.12em;font-weight:700!important}
/* object fills its column share */
.mrl-hero-media{display:flex;align-items:center;justify-content:center;min-height:0;width:100%}
.mrl-hero-media .mrl-hero-slot,
.mrl-hero-media .pb-block--glb,
.mrl-hero-media .m3-item--hero,
.mrl-hero-media .m3-stage,
.mrl-hero-media .m3d-stage{
  width:100%!important;max-width:100%!important;
  /* honor instance/hero height via --m3d-h (set on stage); fallback fill column */
  min-height:var(--m3d-h,var(--m3-h,min(72vh,720px)))!important;
  height:var(--m3d-h,var(--m3-h,min(72vh,720px)))!important}
.mrl-hero-media .mrl-hero-img,
.mrl-hero-media .mrl-hero-video{
  width:100%!important;height:min(72vh,720px)!important;object-fit:contain!important}
.mrl-hero-copy .pb-text--body{
  margin:0;max-width:38em;font:400 15px/1.55 var(--pb-font-body,inherit);
  color:color-mix(in srgb,var(--pb-ink,var(--pb-ink)) 88%,transparent);opacity:.92}
.mrl-hero-media--glow{filter:drop-shadow(0 28px 50px rgba(0,0,0,.35)) drop-shadow(0 0 48px color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 28%,transparent))}
.mrl-hero-slot{width:100%;min-height:0}
@media(prefers-reduced-motion:reduce){
  #hero .m3-item--hero{animation:none!important}
  #hero .mrl-hero-ctas .pb-cta--primary{transition:none}
  #hero .mrl-hero-ctas .pb-cta--primary:hover{transform:none}
}

/* ═══ FLAGSHIP EQUIPMENT PDP (boss C) — dark pages with agf-* DNA ═══ */
.pb-page[data-page="agf-1600"] .agf-hero-eb,
.pb-page[data-page="agf-1400"] .agf-hero-eb,
.pb-page[data-page="agp-grav"] .agf-hero-eb,
.pb-page[data-page="pulsx"] .agf-hero-eb,
.pb-page[data-page="horizont-em"] .agf-hero-eb,
.pb-page[data-page="magnitometr"] .agf-hero-eb,
.pb-page[data-page="gamma-spektrometr"] .agf-hero-eb,
.pb-page[data-page="unimaster"] .agf-hero-eb,
.pb-page[data-page="basemaster"] .agf-hero-eb,
.pb-page[data-page="basemasterm"] .agf-hero-eb,
.pb-page[data-page^="agf-"] .agf-hero-eb{
  display:inline-flex;align-items:center;gap:8px}
.pb-page[data-page^="agf-"] .agf-hero-eb::before,
.pb-page[data-page="agp-grav"] .agf-hero-eb::before,
.pb-page[data-page="pulsx"] .agf-hero-eb::before,
.pb-page[data-page="horizont-em"] .agf-hero-eb::before,
.pb-page[data-page="magnitometr"] .agf-hero-eb::before,
.pb-page[data-page="gamma-spektrometr"] .agf-hero-eb::before,
.pb-page[data-page="unimaster"] .agf-hero-eb::before,
.pb-page[data-page="basemaster"] .agf-hero-eb::before,
.pb-page[data-page="basemasterm"] .agf-hero-eb::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--pb-copper);box-shadow:0 0 12px color-mix(in srgb,var(--pb-copper) 70%,transparent)}
.agf-hero-img img,.agf-imgbox img{
  filter:drop-shadow(0 24px 40px rgba(0,0,0,.45)) saturate(1.04) contrast(1.03);
  transition:transform .45s cubic-bezier(.2,.85,.2,1),filter .35s}
.agf-hero-img:hover img,.agf-imgbox:hover img{transform:scale(1.02);filter:drop-shadow(0 28px 48px rgba(0,0,0,.5)) saturate(1.06)}
/* hover for .agf-card owned by ADVANTAGES DNA v2 below (no bounce tiles) */
/* Hero-fold drop lives in PRODUCT HERO FOLD block below (data-page family). */

/* ═══ PROGRAMS LIGHT SPINE (boss B) — software product language ═══ */
html[data-theme="light"] .pb-page[data-page="programs"] .pb-text--h1,
html[data-theme="light"] .pb-page[data-page="geopro"] .pb-text--h1,
html[data-theme="light"] .pb-page[data-page="bortbiz"] .pb-text--h1,
html[data-theme="light"] .pb-page[data-page="bortbizplan"] .pb-text--h1,
html[data-theme="light"] .pb-page[data-page="gammaproc"] .pb-text--h1,
html[data-theme="light"] .pb-page[data-page="magcomp"] .pb-text--h1{
  letter-spacing:-.02em;text-wrap:balance}
html[data-theme="light"] .pb-page[data-page="programs"] .pb-col--explicit:has(> .pb-block--image){
  background:linear-gradient(180deg,var(--pb-surface),color-mix(in srgb,var(--pb-bg) 55%,var(--pb-surface)))!important;
  border:1px solid color-mix(in srgb,var(--pb-copper) 28%,var(--pb-line))!important;
  border-radius:16px!important;padding:18px!important;
  box-shadow:0 16px 36px -20px rgba(52,63,57,.18)}
html[data-theme="light"] .pb-page[data-page="programs"] .pb-col--explicit:has(> .pb-block--image):hover{
  border-color:color-mix(in srgb,var(--pb-copper) 55%,var(--pb-line))!important;
  transform:translateY(-4px);box-shadow:0 22px 44px -18px rgba(52,63,57,.22)}
html[data-theme="light"] .agf-h2,html[data-theme="light"] .agf-eb{color:inherit}
html[data-theme="light"] .agf-eb{color:var(--pb-copper)!important}
html[data-theme="light"] .agf-h2{color:var(--pb-ink)!important}
html[data-theme="light"] .agf-hero-para,html[data-theme="light"] .agf-para{color:var(--pb-muted)!important}
html[data-theme="light"] .agf-card{
  background:transparent!important;border-color:color-mix(in srgb,var(--pb-accent) 22%,transparent)!important}
html[data-theme="light"] .agf-card:hover{background:color-mix(in srgb,var(--pb-accent) 6%,transparent)!important}
html[data-theme="light"] .agf-cards{border-color:color-mix(in srgb,var(--pb-accent) 28%,transparent)!important}
/* Feature-card text: pages ship inline dark-theme colors (#f3ede6 / #aeb8ad)
   that vanish on light → force ink/muted for readability (content 1:1). */
html[data-theme="light"] .agf-card h3,html[data-theme="light"] .agf-card h4{color:var(--pb-ink)!important}
html[data-theme="light"] .agf-card p{color:var(--pb-muted)!important}

/* LIGHT pale-text kill (boss night: apps light must read) */
html[data-theme="light"] .pb-footer p,
html[data-theme="light"] .pb-footer .pb-text--body,
html[data-theme="light"] .pb-footer a,
html[data-theme="light"] footer:not(.ch-footer) p,
html[data-theme="light"] .site-footer p,
html[data-theme="light"] [class*="footer"]:not(.ch-footer) p,
html[data-theme="light"] .pb-section p{
  color:var(--pb-muted)!important}
html[data-theme="light"] .pb-footer,
html[data-theme="light"] footer:not(.ch-footer){
  color:var(--pb-muted)!important}

/* LIGHT DNA v3 force — selling software (boss night: apps light) */
html[data-theme="light"] .agf-h2{color:var(--pb-ink)!important}
html[data-theme="light"] .agf-eb{color:var(--pb-copper,var(--pb-accent))!important}
html[data-theme="light"] .agf-para{color:var(--pb-muted)!important}
html[data-theme="light"] .agf-card .ic{color:var(--pb-accent)!important;
  background:linear-gradient(160deg,color-mix(in srgb,var(--pb-accent) 14%,transparent),color-mix(in srgb,var(--pb-accent) 5%,transparent))!important;
  border-color:color-mix(in srgb,var(--pb-accent) 40%,transparent)!important}
html[data-theme="light"] .agf-pp-table th{color:var(--pb-muted)!important}
html[data-theme="light"] .agf-pp-table td{color:var(--pb-ink)!important}
html[data-theme="light"] .pb-text--body,
html[data-theme="light"] .pb-text--lead,
html[data-theme="light"] .pb-block--html p{
  color:var(--pb-muted)!important}
html[data-theme="light"] .pb-text--h1,
html[data-theme="light"] .pb-text--h2,
html[data-theme="light"] .pb-text--h3{
  color:var(--pb-ink)!important}

html[data-theme="light"] .agf-list li{color:var(--pb-ink)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--pb-accent) 6%,transparent),transparent 42%)!important}
html[data-theme="light"] .agf-dna-item{background:var(--pb-surface)!important;border-color:color-mix(in srgb,var(--pb-accent) 30%,transparent)!important}
html[data-theme="light"] .agf-dna-item .v{color:var(--pb-ink)!important}
/* program PDPs densify: lists / bullets / inline dark hex in HTML blocks */
html[data-theme="light"] .pb-page[data-page="programs"] .pb-block--html,
html[data-theme="light"] .pb-page[data-page="geopro"] .pb-block--html,
html[data-theme="light"] .pb-page[data-page="bortbiz"] .pb-block--html,
html[data-theme="light"] .pb-page[data-page="bortbizplan"] .pb-block--html,
html[data-theme="light"] .pb-page[data-page="gammaproc"] .pb-block--html,
html[data-theme="light"] .pb-page[data-page="magcomp"] .pb-block--html{
  color:var(--pb-ink)}
html[data-theme="light"] .pb-page[data-page="geopro"] li,
html[data-theme="light"] .pb-page[data-page="bortbiz"] li,
html[data-theme="light"] .pb-page[data-page="bortbizplan"] li,
html[data-theme="light"] .pb-page[data-page="gammaproc"] li,
html[data-theme="light"] .pb-page[data-page="magcomp"] li,
html[data-theme="light"] .pb-page[data-page="programs"] li{
  color:var(--pb-muted)!important}
html[data-theme="light"] .pb-page[data-page="geopro"] h2,
html[data-theme="light"] .pb-page[data-page="geopro"] h3,
html[data-theme="light"] .pb-page[data-page="bortbiz"] h2,
html[data-theme="light"] .pb-page[data-page="bortbiz"] h3,
html[data-theme="light"] .pb-page[data-page="bortbizplan"] h2,
html[data-theme="light"] .pb-page[data-page="bortbizplan"] h3,
html[data-theme="light"] .pb-page[data-page="gammaproc"] h2,
html[data-theme="light"] .pb-page[data-page="gammaproc"] h3,
html[data-theme="light"] .pb-page[data-page="magcomp"] h2,
html[data-theme="light"] .pb-page[data-page="magcomp"] h3{
  color:var(--pb-ink)!important}
/* footer look is chrome-only — do not invert on light pages */}

/* 4 PRODUCT CARDS — equal height, large photo (home + /products catalog).
   Only when IMAGE is the first block (product/catalog pattern).
   ROUND_EYE: must NOT fire on 2-col PDP layouts (hero text|image, specs image|table).
   Require 3+ columns so agf-1600 hero/spec stay full-bleed photos, not stamp cards. */
/* auto-fill: 3–4 up on desktop, works for 3/4/5/6 item rows site-wide
   exclude blueprint callout|image|callout (lab .bp is 1fr | 40% | 1fr, not product cards) */
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)):has(> .pb-col--explicit > .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])){
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;
  gap:16px!important;
  align-items:stretch!important}

/* product card shell — compact like mega cards · only inside 3+ col product grids */
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])){
  display:flex!important;flex-direction:column!important;height:100%!important;
  padding:12px 12px 14px!important;gap:0!important;min-height:0;
  border:1.5px solid color-mix(in srgb,var(--pb-accent2) 40%,transparent)!important;border-radius:14px!important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--pb-media-ink) 4%,transparent),color-mix(in srgb,var(--pb-media-ink) 1%,transparent)),
    color-mix(in srgb,var(--pb-ink) 6%,var(--pb-surface-2))!important;
  box-shadow:0 12px 28px -16px rgba(0,0,0,.45)}
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])):hover{
  border-color:color-mix(in srgb,var(--pb-accent2) 70%,transparent)!important;transform:translateY(-3px)}
/* photo fills card top — large, centered on light plate */
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])) > .pb-block--image{
  flex:0 0 auto;width:100%;margin:0 0 12px;border-radius:11px;overflow:hidden;
  background:
    radial-gradient(ellipse 75% 65% at 50% 42%,color-mix(in srgb,var(--pb-copper) 28%,transparent),transparent 68%),
    linear-gradient(165deg,var(--pb-surface-2),var(--pb-surface) 50%,color-mix(in srgb,var(--pb-ink) 6%,var(--pb-surface-2)))!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pb-copper) 12%,transparent)}
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])) > .pb-block--image .pb-img{
  width:100%!important;height:auto!important;max-width:100%!important;
  aspect-ratio:1/1!important;object-fit:contain!important;object-position:center;
  padding:6px!important;border:0!important;border-radius:0!important;
  background:transparent!important;display:block;margin:0 auto;
  filter:brightness(1.12) contrast(1.05) saturate(1.05)}
/* title + body equal lines (no height jump on wrap) — product cards only */
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])) > .pb-block--text .pb-text--h3{
  font-size:14.5px!important;font-weight:650!important;line-height:1.25!important;
  margin:0 2px 6px!important;min-height:2.5em;color:var(--pb-ink);
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])) > .pb-block--text .pb-text--body{
  font-size:12px!important;line-height:1.4!important;color:var(--pb-muted)!important;
  margin:0 2px!important;min-height:2.8em;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Boss TG: home equipment — no huge «Подробнее» badges; whole card is the hit target */
.pb-page[data-page="livehome"] .pb-col--link > .pb-block--cta,
.pb-page[data-page="livehome"] .pb-col--explicit:has(> .pb-block--image:first-child) > .pb-block--cta{
  display:none!important}
/* Boss TG: tighten gap title→equipment grid on home */
.pb-page[data-page="livehome"] .pb-section:has(+ .pb-section .pb-col--explicit > .pb-block--image:first-child){
  padding-bottom:8px!important}
.pb-page[data-page="livehome"] .pb-section:has(> .pb-row .pb-col--explicit > .pb-block--image:first-child){
  padding-top:12px!important}
/* Process band «от поля до решения» — 4 editorial step columns (agptech 1:1) */
.pb-page[data-page="livehome"] #field-to-solution .pb-row:last-child > .pb-col--explicit,
.pb-page[data-page="livehome"] #sec0nmaynd .pb-row:last-child > .pb-col--explicit{
  padding:20px 18px 18px!important;border-radius:0!important;
  border:0!important;border-top:2px solid color-mix(in srgb,var(--pb-accent) 70%,transparent)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-accent) 7%,transparent),transparent 70%)!important}
.pb-page[data-page="livehome"] #field-to-solution .pb-text--eyebrow,
.pb-page[data-page="livehome"] #sec0nmaynd .pb-row:last-child .pb-text--eyebrow{
  font-size:12px!important;letter-spacing:.18em!important;font-weight:700!important;
  color:var(--pb-copper)!important;margin:0 0 10px!important}
.pb-page[data-page="livehome"] #field-to-solution .pb-row:last-child .pb-text--h3,
.pb-page[data-page="livehome"] #sec0nmaynd .pb-row:last-child .pb-text--h3{
  font-size:16px!important;margin:0 0 8px!important;letter-spacing:.04em!important}
.pb-page[data-page="livehome"] #field-to-solution .pb-row:last-child .pb-text--body,
.pb-page[data-page="livehome"] #sec0nmaynd .pb-row:last-child .pb-text--body{
  font-size:13.5px!important;line-height:1.5!important;color:var(--pb-muted)!important}
/* equipment: title+grid same section — compact head row */
.pb-page[data-page="livehome"] #sec83shyp4 .pb-row:first-child{margin-bottom:10px!important}
.pb-page[data-page="livehome"] #sec83shyp4 .pb-row:first-child .pb-text--lead{margin-top:6px!important}
/* directions stay 44px — exclude from product rules already via svg vs raster */
/* 5 brand rim consistency */
.pb-stat,.pb-form--mfq,.pb-form,
.pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])){
  border-color:color-mix(in srgb,var(--pb-accent2) 55%,transparent)!important}
hr,.pb-divider{border:0;border-top:1px solid var(--pb-line);margin:var(--ntc-rule-margin,28px 0)}
/* section stacking for content above substrate (no grain mesh — Safari noise looked dirty) */
.pb-section{position:relative;isolation:isolate}
.pb-section > *{position:relative;z-index:1}
/* Photo band must stay absolute — section > * above would force relative and
   stack the bg image IN FLOW (conditions 2x height). Lab .cond .bgimg is absolute. */
.pb-section > .pb-sec-bg,
.pb-section--has-bg > .pb-sec-bg{position:absolute!important;inset:0;z-index:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){
  #hero .m3-item--hero .m3-stage{animation:none}
  .pb-cta:hover,.pb-col--explicit:hover,.pb-stat:hover{transform:none}
}

/* ═══ WORLD-CLASS LAYER (DESIGN-PRINCIPLES.md) ═══ */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* fold owns the viewport — transparent so body canvas is continuous (no solid plate seam).
 * Product 3D heroes only. Software hero_window is content-sized (no cream well under meta). */
#hero.pb-section{
  min-height:min(96vh,960px);display:flex;align-items:center;
  background:transparent!important}
#hero.pb-section:has(.pb-block--hero_window),
#hero.pb-section:has(.pb-hw){
  min-height:0!important;align-items:stretch;justify-content:flex-start}
/* hero padding: clamp is the DEFAULT (md) only — an explicit owner step must render
   as that step (ROUND_NEW_REFERENCE spacing truth; was: !important ate every choice) */
#hero.pb-section.pb-py--md{padding-block:clamp(48px,7vh,96px)!important}
#hero.pb-section:not(.pb-py--none):not(.pb-py--sm):not(.pb-py--lg):not(.pb-py--xl):not(.pb-py--2xl):not(.pb-py--md){padding-block:clamp(48px,7vh,96px)!important}
/* hero_story / product prologue — no pad band under menu (was default padY md = green strip) */
#hero.pb-section:has(.pb-hs),
.pb-section:has(> .pb-row .pb-hs),
.pb-section:has(.pb-block--hero_story){
  padding-block:0!important;padding-top:0!important;padding-bottom:0!important}
/* software hero_window — padY none must stay zero (no clamp re-injection) */
#hero.pb-section.pb-py--none:has(.pb-block--hero_window),
#hero.pb-section.pb-py--none:has(.pb-hw){
  padding-block:0!important}
/* classic product hero (copy|media 2-col) — not single-block hero_window / hero_story */
#hero .pb-row:has(> .pb-col + .pb-col),
#hero .pb-row:has(.mrl-hero-grid),
#hero .pb-row:has(.pb-block--hero_pool){
  width:100%;
  grid-template-columns:minmax(0,0.95fr) minmax(0,1.15fr)!important; /* media larger than copy */
  gap:clamp(20px,3vw,40px)!important;align-items:center!important}
#hero .pb-row:has(.pb-block--hero_window),
#hero .pb-row:has(.pb-block--hero_story),
#hero .pb-row:has(.pb-hs){
  width:100%;grid-template-columns:1fr!important;gap:0!important}
/* hero copy — left-flush by default (boss: not centered under logo) */
.mrl-hero-copy,.mrl-hero .mrl-hero-copy{
  text-align:left!important;align-items:flex-start!important;justify-content:center;
  margin-inline:0!important;width:100%}
.mrl-hero-copy .pb-text--h1,.mrl-hero-copy .pb-text--lead,.mrl-hero-copy .pb-text--eyebrow{text-align:inherit}
.mrl-hero-copy .mrl-hero-ctas,.mrl-hero-copy .pb-cta-row{justify-content:flex-start!important}
.mrl-hero[data-align="center"] .mrl-hero-copy{text-align:center!important;align-items:center!important}
.mrl-hero[data-align="center"] .mrl-hero-copy .mrl-hero-ctas,
.mrl-hero[data-align="center"] .mrl-hero-copy .pb-cta-row{justify-content:center!important}
.mrl-hero[data-align="right"] .mrl-hero-copy{text-align:right!important;align-items:flex-end!important}
.mrl-hero[data-align="right"] .mrl-hero-copy .mrl-hero-ctas,
.mrl-hero[data-align="right"] .mrl-hero-copy .pb-cta-row{justify-content:flex-end!important}
/* SECTION_1_HERO_2: mobile is a declared one-column composition, not a squeezed desktop grid.
   Applies to all hero_pool roots (product anchors like #agf160H, not only #hero). */


/* hero media: open air — no card square; size from --m3d-h on stage */
#hero .pb-block--glb,#hero .m3-item--hero,#hero .m3-stage,#hero .m3d-stage{
  min-height:var(--m3d-h,var(--m3-h,min(520px,68vh)))!important;
  height:var(--m3d-h,var(--m3-h,min(520px,68vh)))!important;
  border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important}
#hero .pb-col--explicit:has(> .pb-block--glb),
#hero .pb-col--explicit:has(.m3-item--hero){
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
  border-radius:0!important}
#hero .m3-poster{object-fit:contain;padding:6% 4%}
/* DO NOT hide pedestal — was killing Gaussian light (boss: beige only) */
/* 1 EDITORIAL TYPOGRAPHY — confident size contrast */
.pb-text--h1{
  font-size:clamp(2.25rem,5.6vw,3.85rem)!important;line-height:1.18!important;
  font-weight:700!important;letter-spacing:-.025em!important;padding-top:.12em;
  max-width:14ch;text-transform:uppercase}
.pb-text--h2{
  font-size:clamp(1.35rem,2.4vw,1.85rem)!important;letter-spacing:.1em!important;
  font-weight:650!important}
.pb-text--h3{font-size:clamp(1rem,1.35vw,1.15rem)!important;font-weight:650!important}
.pb-text--lead{
  font-size:clamp(1.05rem,1.35vw,1.2rem)!important;line-height:1.55!important;
  max-width:36em;color:color-mix(in srgb,var(--pb-ink) 88%,transparent)!important}
.pb-text--eyebrow{
  font-size:11px!important;letter-spacing:.22em!important;font-weight:700!important}
/* ROUND_HERO_FIX: padY is the control. Each step has a fixed, distinct value.
   Specificity must beat product-page first-section rules. Same CSS in craft + live. */
.pb-page > .pb-section.pb-py--none,
.pb-page[data-page] > .pb-section.pb-py--none,
.pb-page[data-page] > section.pb-section.pb-py--none{padding-block:0!important;padding-top:0!important;padding-bottom:0!important}
.pb-page > .pb-section.pb-py--sm,
.pb-page[data-page] > .pb-section.pb-py--sm,
.pb-page[data-page] > section.pb-section.pb-py--sm{padding-block:22px!important;padding-top:22px!important;padding-bottom:22px!important}
.pb-page > .pb-section.pb-py--md,
.pb-page[data-page] > .pb-section.pb-py--md,
.pb-page[data-page] > section.pb-section.pb-py--md{padding-block:48px!important;padding-top:48px!important;padding-bottom:48px!important}
.pb-page > .pb-section.pb-py--lg,
.pb-page[data-page] > .pb-section.pb-py--lg,
.pb-page[data-page] > section.pb-section.pb-py--lg{padding-block:76px!important;padding-top:76px!important;padding-bottom:76px!important}
.pb-page > .pb-section.pb-py--xl,
.pb-page[data-page] > .pb-section.pb-py--xl,
.pb-page[data-page] > section.pb-section.pb-py--xl{padding-block:104px!important;padding-top:104px!important;padding-bottom:104px!important}
.pb-page > .pb-section.pb-py--2xl,
.pb-page[data-page] > .pb-section.pb-py--2xl,
.pb-page[data-page] > section.pb-section.pb-py--2xl{padding-block:140px!important;padding-top:140px!important;padding-bottom:140px!important}
/* default when no pad class (should be rare — sectionClasses always emits one) */
.pb-page > .pb-section:not([class*="pb-py--"]){padding-block:76px!important}
/* stats as proof strip — mining-leader style big numbers */
.pb-stat-value{
  font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,var(--pb-ink),var(--pb-accent-hi));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.2))}
/* software grid denser premium */
.pb-row--has-cols:has(> .pb-col--explicit img[src*="sw-"]){
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}


.pb-col--explicit:has(> .pb-block--image img[src*="sw-"]){
  padding:18px 14px!important;align-items:center;text-align:center;gap:8px!important}
.pb-col--explicit:has(> .pb-block--image img[src*="sw-"]) .pb-text--h3{
  font-size:13px!important;min-height:2.4em;text-align:center}
.pb-col--explicit:has(> .pb-block--image img[src*="sw-"]) .pb-text--body{
  font-size:11.5px!important;text-align:center;min-height:2.6em;color:var(--pb-muted)!important}
/* cycle 3D — open stage, copper pedestal glow only (no black plate box) */
.pb-col--explicit:has(> .pb-block--glb):not(:has(.m3-item--hero)){
  padding:8px 4px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important}
.pb-block--glb:not(:has(.m3-item--hero)) .m3-stage{
  border-radius:16px;min-height:min(480px,72vw)!important;
  background:transparent!important}
.pb-block--glb:not(:has(.m3-item--hero)){
  background:transparent!important}
/* process steps — numbered rail feel */
.pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3){
  position:relative;padding-left:20px!important}
.pb-col--explicit:has(> .pb-block--text .pb-text--eyebrow):has(> .pb-block--text .pb-text--h3)
  > .pb-block--text .pb-text--eyebrow{
  font-size:11px!important;letter-spacing:.2em!important;
  width:28px;height:28px;display:inline-grid!important;place-items:center;
  border:1px solid color-mix(in srgb,var(--pb-accent2) 55%,transparent);border-radius:50%;
  color:var(--pb-copper)!important;margin-bottom:10px}
/* no under-menu band/plume site-wide (same as Quiet bay on AGF-1600) */
.ch-header,
.ch-header.is-sticky,
.ch-header.is-scrolled{
  border-bottom-color:transparent!important;
  box-shadow:none!important}
/* selection copper */
::selection{background:color-mix(in srgb,var(--pb-accent2) 35%,transparent);color:var(--pb-ink)}
/* a11y — keyboard ring only (owner 390 footer tel 2026-08-20).
   Measure: Tab → :focus-visible + copper box-shadow (the owner's frame).
   Chromium tap → :focus without :focus-visible, no ring. Safari tap often
   matches :focus-visible and sticky :hover, so the ring stays after the finger.
   Never outline:none on :focus — Codex already returned that on the mega. */
:root{--pb-focus:0 0 0 3px color-mix(in srgb,var(--pb-accent) 55%,transparent)}
a,button,.pb-cta,.ch-h-link,.ch-h-cta{-webkit-tap-highlight-color:transparent}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible){
  outline:none}
a:focus-visible,button:focus-visible,.pb-cta:focus-visible,.ch-h-link:focus-visible,
.ch-h-cta:focus-visible,.mg-cell:focus-visible,.agf-methods a:focus-visible,
.cmp-f:focus-visible,.pb-news-card:focus-within{
  outline:none;box-shadow:var(--pb-focus)!important}
html.pb-using-pointer a:focus-visible,
html.pb-using-pointer button:focus-visible,
html.pb-using-pointer .pb-cta:focus-visible,
html.pb-using-pointer .ch-h-link:focus-visible,
html.pb-using-pointer .ch-h-cta:focus-visible,
html.pb-using-pointer .mg-cell:focus-visible,
html.pb-using-pointer .agf-methods a:focus-visible,
html.pb-using-pointer .cmp-f:focus-visible,
html.pb-using-pointer .pb-news-card:focus-within{
  box-shadow:none!important}
/* skip link */
.pb-skip{position:absolute;left:12px;top:-48px;z-index:100;padding:10px 14px;border-radius:10px;
  background:var(--pb-copper);color:var(--pb-accent-ink);font-weight:700;text-decoration:none;
  transition:top .15s}
html[data-theme="light"] .pb-skip{background:var(--pb-accent);color:var(--pb-accent-ink)}
.pb-skip:focus{top:12px}
/* gallery stagger fade-in (Claude idea B) — off if reduced motion */
.mg-cell{opacity:0;transform:translateY(10px);animation:mgIn .45s ease forwards}
.mg-cell:nth-child(1){animation-delay:.02s}
.mg-cell:nth-child(2){animation-delay:.06s}
.mg-cell:nth-child(3){animation-delay:.1s}
.mg-cell:nth-child(4){animation-delay:.14s}
.mg-cell:nth-child(5){animation-delay:.18s}
.mg-cell:nth-child(n+6){animation-delay:.22s}
@keyframes mgIn{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .mg-cell{opacity:1;transform:none;animation:none!important}
}

/* ═══ PDP CRAFT REBOOT (boss QA 2026-07-26) ═══ */
/* Hero: full product visible, left copy, balanced 2-col */
.agf-hero-eb,.agf-hero-para,.pb-page .pb-text--h1,.pb-page .pb-text--lead{
  text-align:left!important}
/* Owner 2026-08-12: left-default must not win over centered heads / finale bands.
   Without this, .pb-head--center still left-hugs lead/h1 (and looks left on the page). */
.pb-head--center .pb-text--h1,
.pb-head--center .pb-text--h2,
.pb-head--center .pb-text--h3,
.pb-head--center .pb-text--lead,
.pb-head--center .pb-text--eyebrow,
.pb-align--center .pb-text--h1,
.pb-align--center .pb-text--h2,
.pb-align--center .pb-text--lead,
.pb-align--center .pb-text--eyebrow,
.pb-band-inner .pb-text--h1,
.pb-band-inner .pb-text--h2,
.pb-band-inner .pb-text--lead{
  text-align:center!important}
/* Boss 2026-07-27: hero body text as clean RECTANGLE — standard ALL product pages */
.agf-hero-para,
.agf-hero-para--rect,
.pb-page[data-page] .agf-hero-para,
section[id].pb-section:first-of-type .agf-hero-para,
section.pb-section:first-of-type .agf-hero-para{
  margin-left:0!important;margin-right:auto!important;
  max-width:min(34em,420px)!important;width:100%!important;
  text-align:left!important;text-wrap:pretty;line-height:1.55!important;
  box-sizing:border-box}
@supports (text-wrap: balance){
  .agf-hero-para,.agf-hero-para--rect{text-wrap:balance}
}
/* generic page hero body (non-agf class) when first section uses pb-text--body after lead */
section.pb-section:first-of-type .pb-text--body,
section.pb-section:first-of-type .pb-col--copy > .pb-block--text:last-of-type .pb-text--body{
  max-width:min(34em,420px)!important;text-align:left!important;text-wrap:pretty
}

/* ═══ PRODUCT HERO FOLD (boss 2026-07-27 «один момент») ═══
   min-height fills viewport so next section does not peek.
   ROUND_HERO_FIX: do NOT force padding-top/bottom here — that killed padY control
   (owner set sm/md/lg, hero still showed ~130px). Fold uses min-height + flex only;
   padY steps from .pb-py--* remain the spacing control in craft and live. */
.pb-page[data-page^="agf-"] > section.pb-section:first-of-type,
.pb-page[data-page="horizont-em"] > section.pb-section:first-of-type,
.pb-page[data-page="magnitometr"] > section.pb-section:first-of-type,
.pb-page[data-page="gamma-spektrometr"] > section.pb-section:first-of-type,
.pb-page[data-page="pulsx"] > section.pb-section:first-of-type,
.pb-page[data-page="agp-grav"] > section.pb-section:first-of-type,
.pb-page[data-page="basemaster"] > section.pb-section:first-of-type,
.pb-page[data-page="basemasterm"] > section.pb-section:first-of-type,
.pb-page[data-page="unimaster"] > section.pb-section:first-of-type{
  min-height:calc(100vh - var(--ch-header-h, 62px))!important;
  min-height:calc(100dvh - var(--ch-header-h, 62px))!important;
  min-height:calc(100svh - var(--ch-header-h, 62px))!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  content-visibility:visible!important;
}
.pb-page[data-page^="agf-"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="horizont-em"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="magnitometr"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="gamma-spektrometr"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="pulsx"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="agp-grav"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="basemaster"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="basemasterm"] > section.pb-section:first-of-type > .pb-row,
.pb-page[data-page="unimaster"] > section.pb-section:first-of-type > .pb-row{
  width:100%;
  margin-block:auto;
}


.agf-hero-img{display:flex!important;align-items:flex-end!important;justify-content:center!important;
  min-height:0!important;height:100%;padding:8px 0 0}
.agf-hero-img img{max-width:100%!important;max-height:min(560px,68vh)!important;width:auto!important;
  height:auto!important;object-fit:contain!important;object-position:center bottom!important;
  filter:drop-shadow(0 28px 48px rgba(0,0,0,.4))!important}
hr.pb-divider.pb-divider--hairline,.pb-block--divider.pb-divider--hairline{
  border-top-color:var(--pb-line)}
hr.pb-divider.pb-divider--copper,.pb-block--divider.pb-divider--copper{
  border-top-color:var(--pb-copper,var(--pb-accent))}
hr.pb-divider.pb-divider--content,.pb-block--divider.pb-divider--content{
  max-width:var(--pb-content,1320px);width:100%;margin-inline:auto}
hr.pb-divider.pb-divider--full,.pb-block--divider.pb-divider--full{
  max-width:none;width:100%}

/* V3 · authored case for units and trade names. text-transform cannot spare
   нТл, мГал, А·м², NaI(Tl) or АГФ-1600 inside an uppercased string.
   One extra class beats the triple-class heading rule in 04-tiles.css.
   An id beats later page-face uppercase that has only one id. */
html body #main .pb-text--h1.pb-text--h1,
html body #main .pb-text--h2.pb-text--h2.pb-text--h2.pb-text--h2,
html body #main .pb-text--h3.pb-text--h3,
html body #main .pb-psp-title.pb-psp-title.pb-psp-title.pb-psp-title,
html body #main .pb-as-title.pb-as-title.pb-as-title.pb-as-title,
html body #main .pb-cc-title.pb-cc-title.pb-cc-title.pb-cc-title,
html body #main .pb-hc-title.pb-hc-title.pb-hc-title.pb-hc-title,
html body #main .pb-hfin-title.pb-hfin-title.pb-hfin-title.pb-hfin-title,
html body #main .pb-trs-title.pb-trs-title.pb-trs-title.pb-trs-title,
html body #main .pb-sth-body.pb-sth-body h2,
html body #main .pb-mr-head.pb-mr-head h2,
html body #main .pb-fc-head.pb-fc-head h2,
html body #main .pb-sro-title.pb-sro-title.pb-sro-title.pb-sro-title,
html body #main .pb-flb-title.pb-flb-title.pb-flb-title.pb-flb-title,
html body #main .pb-pkit-title.pb-pkit-title.pb-pkit-title.pb-pkit-title,
html body #main .pb-um-rad-h2.pb-um-rad-h2.pb-um-rad-h2.pb-um-rad-h2,
html body #main .pb-sss-title.pb-sss-title.pb-sss-title.pb-sss-title,
html body #main .pb-mat-head.pb-mat-head h2,
html body #main .agf-h2.agf-h2,
html body #main .pb-spec-title.pb-spec-title,
html body #main .pb-sph-title.pb-sph-title,
html body #main #hero h1.pb-sph-title.pb-sph-title,
html body #main #hero .pb-pch-h1.pb-pch-h1,
html body #main #hero .pb-pch-eye.pb-pch-eye,
html body #main #hero .pb-pch-keys span,
html body #main #hero .pb-pch-keys b,
html body #main .pb-marq-fact,
html body #main #strip .pb-marq b,
html body #main .pb-bn-copy h3,
html body #main .pb-bn-spec span,
html body #main .pb-panel-t,
html body #main .pb-fc-plaque-t,
html body #main .pb-fc-plaque-b,
html body #main :is(h1,h2,h3,h4,b,strong,em,abbr,th,td,caption,figcaption){
  text-transform:none!important}

/* One line and one 16px frame on product tables and diagram plates. */
html body #main .pb-spec-table,
html body #main .agf-cmp,
html body #main .pb-psp-tbl,
html body #main .pb-psp-fig-in{
  border-radius:16px!important;
  border-color:var(--pb-line)!important}
html body #main .pb-spec-table th,
html body #main .pb-spec-table td,
html body #main .agf-cmp th,
html body #main .agf-cmp td,
html body #main .pb-psp-r{
  border-bottom-color:var(--pb-line)!important}

/* Desktop floor only. Phone keeps the sizes already on these classes. */
@media(min-width:1024px){
  html body #main .pb-spec-table td,
  html body #main .pb-spec--compact .pb-spec-table th,
  html body #main .pb-spec--compact .pb-spec-table td,
  html body #main .agf-cmp tbody th,
  html body #main .agf-cmp tbody td,
  html body #main .pb-psp-r,
  html body #main .pb-psp-r b{
    font-size:var(--ntc-table,.95rem)!important;
    line-height:1.45!important}
  html body #main .pb-spec-table thead th,
  html body #main .agf-cmp thead th{
    font-size:var(--ntc-table-head,11.5px)!important}
  html body #main .pb-psp-tbl h3,
  html body #main .pb-psp-fig figcaption,
  html body #main figcaption,
  html body #main .pb-img-cap,
  html body #main .pb-gallery-cap,
  html body #main .pb-video-cap,
  html body #main .pb-glb-cap,
  html body #main .pb-pf-cap,
  html body #main .pb-proof-cap,
  html body #main caption{
    font-size:var(--ntc-caption,15px)!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    font-weight:500!important;
    opacity:1!important;
    color:var(--pb-muted)!important}
  html body #main .pb-psp-fig figcaption,
  html body #main .pb-img-cap,
  html body #main .pb-gallery-cap,
  html body #main .pb-video-cap,
  html body #main .pb-glb-cap,
  html body #main .pb-pf-cap,
  html body #main .pb-proof-cap{
    margin-top:8px!important}
  .pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit) > .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])) > .pb-block--text .pb-text--body,
  .pb-page[data-page="livehome"] #field-to-solution .pb-row:last-child .pb-text--body,
  .pb-page[data-page="livehome"] #sec0nmaynd .pb-row:last-child .pb-text--body,
  .pb-col--explicit:has(> .pb-block--image img[src*="sw-"]) .pb-text--body,
  html body #main .pb-fc-plaque-b.pb-fc-plaque-b,
  html body #main .pb-panel-b.pb-panel-b{
    font-size:var(--ntc-note,15px)!important}
  .pb-col--explicit:has(> .pb-block--image img[src*="sw-"]) .pb-text--h3{
    font-size:var(--ntc-h3,1rem)!important}
}
/* ═══ ADVANTAGES DNA v3 (boss TG 2026-07-27: «Отлично. Записывай в стандарт») ═══
   Editorial 2-col strips + glass/brass frame + READABLE monoline pictograms.
   Rules:
   - .ic plate ≥52px, glyph ≥28–30px (never 22px fine-detail SVG at tiny size)
   - column-gap icon→text ≥20–22px (air for copy)
   - Prefer inline SVG stroke currentColor (#E8C9A8) over dense 120-viewBox assets
   - No bounce-tile radius/shadow cards
   Applies to all PDPs with .agf-cards / .agf-list / .agf-sh */
.agf-sh{text-align:left!important;margin:0 0 28px!important;max-width:42em!important;
  padding-left:18px!important;border-left:2px solid color-mix(in srgb,var(--pb-accent) 75%,transparent)!important}
.agf-eb{display:block!important;color:var(--pb-copper,var(--pb-accent))!important;
  font:700 11px/1.2 system-ui,sans-serif!important;letter-spacing:.16em!important;
  text-transform:uppercase!important;margin:0 0 10px!important}
.agf-h2{text-align:left!important;font-weight:600!important;
  font-size:clamp(1.35rem,2.2vw,1.9rem)!important;letter-spacing:.06em!important;
  text-transform:uppercase!important;color:var(--pb-ink)!important;margin:0!important;line-height:1.15!important}
.agf-para{text-align:left!important;font-size:15px!important;line-height:1.65!important;
  color:var(--pb-ink-2)!important;max-width:40em!important;margin:0 0 8px!important}
.agf-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;max-width:1100px!important;margin:20px 0 0!important;
  border-radius:18px!important;overflow:hidden!important;
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 48%,transparent)!important;
  background:
    linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 5%,transparent) 0%,color-mix(in srgb,var(--pb-ink) 1.2%,transparent) 45%,color-mix(in srgb,var(--pb-bg) 28%,transparent) 100%),
    color-mix(in srgb,var(--pb-bg) 32%,transparent)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.1);
  backdrop-filter:blur(12px) saturate(1.1);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.1),
    0 22px 48px -26px rgba(0,0,0,.5)!important}
.agf-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:1100px!important}
.agf-cards--6{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:1100px!important}

.agf-card{text-align:left!important;padding:24px 28px 22px!important;border-radius:0!important;
  border:0!important;border-right:1px solid color-mix(in srgb,var(--pb-accent) 20%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--pb-accent) 20%,transparent)!important;
  background:transparent!important;box-shadow:none!important;
  display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;column-gap:22px!important;row-gap:4px!important;
  min-height:96px!important;
  /* keep opacity/transform in transition so scroll-reveal can animate cards */
  transition:background .2s,border-color .2s,opacity .95s cubic-bezier(.16,.84,.28,1),transform .95s cubic-bezier(.16,.84,.28,1)}
.agf-card:nth-child(2n){border-right:0!important}
/* hover only kills lift when already is-in (don't fight reveal pre-state) */
.pb-mr.is-in .agf-card:hover{transform:none!important;background:color-mix(in srgb,var(--pb-accent) 7%,transparent)!important;
  box-shadow:none!important}
.agf-card:hover{background:color-mix(in srgb,var(--pb-accent) 7%,transparent)!important;box-shadow:none!important}
.agf-card .ic{width:52px!important;height:52px!important;margin:0!important;
  grid-row:1 / span 3!important;align-self:start!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:14px!important;border:1.5px solid color-mix(in srgb,var(--pb-accent) 55%,transparent)!important;
  background:linear-gradient(160deg,color-mix(in srgb,var(--pb-accent) 18%,transparent),color-mix(in srgb,var(--pb-accent) 6%,transparent))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);color:var(--pb-accent-hi)!important}
.agf-card .ic svg{width:30px!important;height:30px!important;display:block!important}
.agf-card .ic img{width:30px!important;height:30px!important;object-fit:contain!important;
  filter:brightness(1.55) contrast(1.35) saturate(1.05)!important}
.agf-card .agf-card-cat{grid-column:2!important;font-size:10.5px!important;font-weight:700!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--pb-copper,var(--pb-accent))!important;
  margin:0 0 6px!important}
/* h3 preferred (a11y: no H2→H4 skip); h4 kept as alias for legacy markup */
.agf-card h3,.agf-card h4{grid-column:2!important;font-size:1.05rem!important;font-weight:600!important;
  color:var(--pb-ink)!important;margin:4px 0 0!important;line-height:1.25!important;min-width:0!important}
.agf-card p{grid-column:2!important;font-size:.9rem!important;line-height:1.45!important;
  color:color-mix(in srgb,var(--pb-ink) 66%,transparent)!important;margin:0!important;max-width:36em;min-width:0!important}
html[data-theme="light"] .agf-cards{
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-surface) 95%,transparent),color-mix(in srgb,var(--pb-surface-2) 88%,transparent))!important;
  border-color:color-mix(in srgb,var(--pb-accent) 42%,transparent)!important}
html[data-theme="light"] .agf-card .ic{color:var(--pb-accent)!important;
  background:linear-gradient(160deg,color-mix(in srgb,var(--pb-accent) 14%,transparent),color-mix(in srgb,var(--pb-accent) 5%,transparent))!important}
html[data-theme="light"] .agf-card h3,html[data-theme="light"] .agf-card h4{color:var(--pb-ink)!important}
html[data-theme="light"] .agf-card p{color:var(--pb-muted)!important}

/* LIGHT pale-text kill (boss night: apps light must read) */
html[data-theme="light"] .pb-footer p,
html[data-theme="light"] .pb-footer .pb-text--body,
html[data-theme="light"] .pb-footer a,
html[data-theme="light"] footer:not(.ch-footer) p,
html[data-theme="light"] .site-footer p,
html[data-theme="light"] [class*="footer"]:not(.ch-footer) p,
html[data-theme="light"] .pb-section p{
  color:var(--pb-muted)!important}
html[data-theme="light"] .pb-footer,
html[data-theme="light"] footer:not(.ch-footer){
  color:var(--pb-muted)!important}

/* LIGHT DNA v3 force — selling software (boss night: apps light) */
html[data-theme="light"] .agf-h2{color:var(--pb-ink)!important}
html[data-theme="light"] .agf-eb{color:var(--pb-copper,var(--pb-accent))!important}
html[data-theme="light"] .agf-para{color:var(--pb-muted)!important}
html[data-theme="light"] .agf-card .ic{color:var(--pb-accent)!important;
  background:linear-gradient(160deg,color-mix(in srgb,var(--pb-accent) 14%,transparent),color-mix(in srgb,var(--pb-accent) 5%,transparent))!important;
  border-color:color-mix(in srgb,var(--pb-accent) 40%,transparent)!important}
html[data-theme="light"] .agf-pp-table th{color:var(--pb-muted)!important}
html[data-theme="light"] .agf-pp-table td{color:var(--pb-ink)!important}
html[data-theme="light"] .pb-text--body,
html[data-theme="light"] .pb-text--lead,
html[data-theme="light"] .pb-block--html p{
  color:var(--pb-muted)!important}
html[data-theme="light"] .pb-text--h1,
html[data-theme="light"] .pb-text--h2,
html[data-theme="light"] .pb-text--h3{
  color:var(--pb-ink)!important}

/* Fact lists (силовая / ресурс) — DNA rows, not bullet soup */
.agf-list{max-width:820px!important;margin:12px 0 0!important}
.agf-list .agf-list-label{font:700 11px/1 system-ui,sans-serif!important;letter-spacing:.14em!important;
  text-transform:uppercase!important;color:var(--pb-copper,var(--pb-accent))!important;margin:18px 0 8px!important}
.agf-list .agf-list-label:first-child{margin-top:0!important}
.agf-list ul{list-style:none!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;gap:0!important;
  border-top:1px solid color-mix(in srgb,var(--pb-accent) 28%,transparent)!important}
.agf-list li{position:relative!important;padding:14px 12px 14px 18px!important;
  color:var(--pb-ink-2)!important;font-size:14.5px!important;line-height:1.45!important;
  border-bottom:1px solid color-mix(in srgb,var(--pb-accent) 16%,transparent)!important;margin:0!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--pb-accent) 5%,transparent),transparent 42%)!important}
.agf-list li::before{content:''!important;position:absolute!important;left:0!important;top:0!important;
  bottom:0!important;width:2px!important;border-radius:0!important;
  background:color-mix(in srgb,var(--pb-accent) 70%,transparent)!important}
.agf-list li:hover{background:color-mix(in srgb,var(--pb-accent) 8%,transparent)!important}
.agf-dna{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;max-width:920px!important;margin:16px 0 0!important}
.agf-dna-item{padding:18px 18px 16px!important;border:1px solid color-mix(in srgb,var(--pb-accent) 30%,transparent)!important;
  border-radius:12px!important;background:color-mix(in srgb,var(--pb-ink) 2%,transparent)!important}
.agf-dna-item .k{font:700 10.5px/1 system-ui,sans-serif!important;letter-spacing:.12em!important;
  text-transform:uppercase!important;color:var(--pb-copper,var(--pb-accent))!important;margin:0 0 8px!important}
.agf-dna-item .v{font-size:15px!important;font-weight:600!important;color:var(--pb-ink)!important;
  line-height:1.35!important;margin:0!important}

/* Grouped lists (Horizon «Как работает» / «Что находит») */
.agf-list--grouped{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px 28px!important;max-width:1000px!important}
.agf-list--grouped .agf-grp-h,.agf-list .agf-grp-h{
  font:700 11px/1 system-ui,sans-serif!important;letter-spacing:.14em!important;
  text-transform:uppercase!important;color:var(--pb-copper,var(--pb-accent))!important;margin:0 0 10px!important}
.agf-list--grouped ul{border-top:1px solid color-mix(in srgb,var(--pb-accent) 28%,transparent)!important}

/* replace-tag badge (editor mark; not body copy) */
.agf-tag-replace,span.agf-tag-replace,[data-replace-tag]{
  display:inline-flex!important;align-items:center!important;margin-left:8px!important;
  padding:2px 8px!important;border-radius:999px!important;font-size:10px!important;
  font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;
  color:var(--pb-accent-ink)!important;background:color-mix(in srgb,var(--pb-danger) 92%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--pb-danger) 50%,transparent)!important;vertical-align:middle!important}
/* Compare template pairs */
.cmp-pair{padding-top:8px;border-top:1px solid color-mix(in srgb,var(--pb-accent) 18%,transparent)}
.cmp-pair .agf-cmp table{max-width:720px}
/* Specs: image + table co-aligned; no silly heavy frame */
/* PHOTO FRAME DNA (boss 2026-07-27: no black bars at small size + emphasize image)
   Materials gallery ref: cover fill, rounded, soft depth, brass rim — not letterbox contain */
.agf-imgbox{position:relative!important;border:1.5px solid color-mix(in srgb,var(--pb-accent) 45%,transparent)!important;
  border-radius:20px!important;padding:0!important;overflow:hidden!important;
  background:var(--pb-bg-2)!important;
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--pb-accent) 10%,transparent),
    0 22px 48px -22px rgba(0,0,0,.55),
    0 8px 20px -12px rgba(0,0,0,.35)!important;
  display:block!important;width:100%!important;box-sizing:border-box!important;
  aspect-ratio:4/3;min-height:0}
.agf-imgbox img{width:100%!important;height:100%!important;max-height:none!important;
  object-fit:cover!important;object-position:center!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  margin:0!important;display:block!important;
  filter:saturate(1.05) contrast(1.03)!important;
  transition:transform .45s cubic-bezier(.2,.85,.2,1),filter .35s!important}
.agf-imgbox::after{content:''!important;position:absolute!important;inset:0!important;
  pointer-events:none!important;border-radius:inherit!important;z-index:1!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-media-scrim) 6%,transparent) 0%,transparent 28%,transparent 62%,color-mix(in srgb,var(--pb-media-scrim) 28%,transparent) 100%)!important}
.agf-imgbox:hover img{transform:scale(1.03)!important;
  filter:saturate(1.08) contrast(1.04)!important}
/* technical/contain exception */
.agf-imgbox--contain,.agf-imgbox--contain img{aspect-ratio:auto}
.agf-imgbox--contain{padding:clamp(18px,2vw,28px)!important;display:flex!important;
  align-items:center!important;justify-content:center!important;aspect-ratio:auto;min-height:200px}
.agf-imgbox--contain img{width:100%!important;height:auto!important;max-height:min(380px,50vh)!important;
  object-fit:contain!important;filter:none!important}
.agf-imgbox--contain::after{display:none!important}
.pb-row--has-cols:has(.pb-block--spec_table){align-items:center!important;gap:clamp(20px,3vw,40px)!important}
.pb-spec{width:100%;position:relative;box-sizing:border-box}
.pb-spec--va-right{width:100%!important;max-width:100%!important}
.pb-spec-title{font-size:12px!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--pb-copper,var(--pb-accent))!important;font-weight:700!important;margin:0 0 14px!important;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* Spec provenance badge — only if page sets data-specs-badge="…" (boss TG: no hard-coded agptech) */
.pb-spec-title::after{display:none}
.pb-page[data-specs-badge]:not([data-specs-badge=""]) .pb-spec-title::after{
  display:inline-flex;content:attr(data-specs-badge);
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  color:color-mix(in srgb,var(--pb-muted) 85%,var(--pb-copper));
  border:1px solid color-mix(in srgb,var(--pb-accent) 35%,transparent);border-radius:999px;padding:4px 10px;white-space:nowrap;
  opacity:.9}
.pb-spec-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;
  border:1px solid color-mix(in srgb,var(--pb-accent) 28%,transparent)!important;border-radius:14px!important;overflow:hidden;
  font-size:14px!important}
.pb-spec-table th,.pb-spec-table td{padding:13px 16px!important;border-bottom:1px solid color-mix(in srgb,var(--pb-accent) 14%,transparent)!important;
  text-align:left!important;vertical-align:middle!important}
.pb-spec-table th{width:42%!important;color:var(--pb-muted)!important;font-weight:500!important}
.pb-spec-table td{color:var(--pb-ink)!important;font-weight:600!important}
/* Boss: values flush right · table fills its column (specs = powerplant geometry) */
.pb-spec--va-right .pb-spec-table{max-width:100%!important;width:100%!important}
.pb-spec--va-right .pb-spec-table th{width:auto!important;padding-right:20px!important;text-align:left!important}
.pb-spec--va-right .pb-spec-table td{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.pb-spec-pair .pb-spec--va-right .pb-spec-table{max-width:100%!important;width:100%!important}
.pb-spec--compact .pb-spec-table th,.pb-spec--compact .pb-spec-table td{padding:9px 12px!important;font-size:13px!important}
.pb-spec--airy .pb-spec-table th,.pb-spec--airy .pb-spec-table td{padding:16px 18px!important}
/* Image craft — frame / overlay (pbuilder AI+Human) */
.pb-img-wrap{position:relative;display:block;overflow:hidden;line-height:0}
.pb-img-wrap--brass{border:1.5px solid color-mix(in srgb,var(--pb-accent) 55%,transparent);border-radius:18px;padding:0;overflow:hidden;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.1),0 18px 40px -22px rgba(0,0,0,.55);
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 3%,transparent),color-mix(in srgb,var(--pb-bg) 25%,transparent))}
.pb-img-wrap--brass > .pb-img{border-radius:0;width:100%;height:100%;object-fit:cover;display:block}
.pb-img-wrap--soft{border-radius:16px;overflow:hidden;box-shadow:0 14px 32px -18px rgba(0,0,0,.4)}
/* side photo fills sibling column height (spec pairfit: table | photo).
   Absolute fill so image does not invent row height — COPY column sets height.
   EXCLUDE blueprint callout|image|callout (lab .bp): center SHOT sets row scale. */
.pb-row--has-cols:not(:has(.pb-fc--callout)) > .pb-col:has(> .pb-block--image:only-child){
  position:relative;min-height:0;align-self:stretch}
.pb-row--has-cols:not(:has(.pb-fc--callout)) > .pb-col:has(> .pb-block--image:only-child) > .pb-block--image{
  position:absolute;inset:0;height:100%;width:100%;margin:0;padding:0;
  aspect-ratio:auto!important}
.pb-row--has-cols:not(:has(.pb-fc--callout)) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap,
.pb-row--has-cols:not(:has(.pb-fc--callout)) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap--brass{
  position:absolute;inset:0;height:100%;width:100%;min-height:0;display:block}
.pb-row--has-cols:not(:has(.pb-fc--callout)) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap > .pb-img,
.pb-row--has-cols:not(:has(.pb-fc--callout)) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap--brass > .pb-img,
.pb-row--has-cols:not(:has(.pb-fc--callout)) > .pb-col:has(> .pb-block--image:only-child) > .pb-block--image > .pb-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  aspect-ratio:auto!important;max-width:none}
/* blueprint center: in-flow square brass wrap (lab .shot--sq) — 3-col only · rounded plate */
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) > .pb-block--image{
  position:relative!important;inset:auto!important;height:auto!important;width:100%!important;
  aspect-ratio:1/1!important;border-radius:18px!important;overflow:hidden!important}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap,
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap--brass{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:1/1!important;min-height:0;border-radius:18px!important;overflow:hidden!important;
  background:transparent!important}
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap > .pb-img,
.pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap--brass > .pb-img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;padding:6%;aspect-ratio:auto!important;
  border-radius:18px!important;background:transparent!important}
/* GCS 2-col screen: wide cover, frame hugs photo (not blueprint square) */
#gcs .pb-row--has-cols:has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) > .pb-block--image{
  position:relative!important;inset:auto!important;height:auto!important;width:100%!important;
  aspect-ratio:16/10!important;overflow:visible!important}
#gcs .pb-row--has-cols:has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap,
#gcs .pb-row--has-cols:has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap--brass{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:16/10!important;min-height:0;overflow:hidden;border-radius:14px;
  box-shadow:0 34px 80px -34px rgba(0,0,0,.75)}
#gcs .pb-row--has-cols:has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap > .pb-img,
#gcs .pb-row--has-cols:has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) .pb-img-wrap--brass > .pb-img,
#gcs .pb-row--has-cols:has(.pb-fc--callout) > .pb-col:has(> .pb-block--image:only-child) > .pb-block--image > .pb-img{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:16/10!important;object-fit:cover!important;object-position:center!important;
  padding:0!important;border-radius:14px;display:block;
  box-shadow:0 34px 80px -34px rgba(0,0,0,.75)}
.pb-img-wrap[data-overlay]::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit}
.pb-img-wrap[data-overlay="soft"]::after{background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--pb-media-scrim) 35%,transparent))}
.pb-img-wrap[data-overlay="copper"]::after{background:linear-gradient(165deg,color-mix(in srgb,var(--pb-accent) 12%,transparent),color-mix(in srgb,var(--pb-media-scrim) 25%,transparent))}
.pb-img-wrap[data-overlay="dark"]::after{background:color-mix(in srgb,var(--pb-media-scrim) 28%,transparent)}
.pb-img-wrap[data-overlay="vignette"]::after{background:radial-gradient(ellipse at center,transparent 45%,color-mix(in srgb,var(--pb-media-scrim) 45%,transparent))}
.pb-img-cap{display:block;line-height:1.4;padding:10px 4px 0;font-size:12.5px;opacity:.75;text-align:center}
/* Video craft */
.pb-video-wrap{position:relative;display:block;max-width:100%;line-height:0}
.pb-video-wrap--brass{border:1.5px solid color-mix(in srgb,var(--pb-accent) 55%,transparent);border-radius:16px;padding:10px;
  box-shadow:0 12px 28px -16px rgba(0,0,0,.45)}
.pb-video-wrap--soft{border-radius:16px;overflow:hidden;box-shadow:0 14px 32px -18px rgba(0,0,0,.4)}
.pb-video-cap,.pb-glb-cap{display:block;line-height:1.4;padding:10px 4px 0;font-size:12.5px;opacity:.75;text-align:center}
.pb-glb-stage{max-width:100%}
.pb-spec-table tbody tr:nth-child(odd) th,.pb-spec-table tbody tr:nth-child(odd) td{
  background:color-mix(in srgb,var(--pb-ink) 3%,transparent)!important}
.pb-spec-table tbody tr:hover th,.pb-spec-table tbody tr:hover td{background:color-mix(in srgb,var(--pb-accent) 8%,transparent)!important}
.pb-spec-table tbody tr:last-child th,.pb-spec-table tbody tr:last-child td{border-bottom:0!important}
/* section headers / paras: owned by ADVANTAGES DNA v2 */
/* Light software cards — cream, not black squares */
html[data-theme="light"] .pb-col--explicit:has(> .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])),
html[data-theme="light"] .pb-col--explicit:has(> .pb-block--image img[src*="sw-"]){
  background:linear-gradient(180deg,var(--pb-surface),color-mix(in srgb,var(--pb-bg) 50%,var(--pb-surface)))!important;
  border:1px solid color-mix(in srgb,var(--pb-accent) 35%,transparent)!important;
  box-shadow:0 14px 32px -20px rgba(52,63,57,.18)!important}
html[data-theme="light"] .pb-col--explicit:has(> .pb-block--image:first-child) > .pb-block--text .pb-text--h3,
html[data-theme="light"] .pb-col--explicit:has(> .pb-block--image img[src*="sw-"]) .pb-text--h3{
  color:var(--pb-ink)!important;text-align:left!important}
html[data-theme="light"] .pb-col--explicit:has(> .pb-block--image img[src*="sw-"]) .pb-text--body{
  color:var(--pb-muted)!important;text-align:left!important}
html[data-theme="light"] .pb-col--explicit:has(> .pb-block--image img[src*="sw-"]){
  text-align:left!important;align-items:flex-start!important}
/* light .agf-card handled with DNA v2 above */
/* Home stat strip flair */
.pb-stats,.pb-stat-strip{gap:14px!important}
.pb-stat{border:1px solid color-mix(in srgb,var(--pb-accent) 35%,transparent)!important;border-radius:16px!important;
  padding:22px 18px!important;
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 5%,transparent),color-mix(in srgb,var(--pb-bg) 20%,transparent))!important}
.pb-stat:hover{border-color:color-mix(in srgb,var(--pb-accent) 65%,transparent)!important;transform:translateY(-2px)}
/* About / directions — more air + copper rail (Apple quiet luxury) */
.pb-page[data-page="about"] .pb-section,
.pb-page[data-page="livehome"] .pb-section,
.pb-page .pb-section[id],
.pb-page [id="matrix"],
.pb-page [id="by-method"],
.pb-page [id="equipment"],
.pb-page [id="proof"]{scroll-margin-top:calc(var(--ch-header-h,62px) + 22px)}
.pb-section{scroll-margin-top:calc(var(--ch-header-h,62px) + 14px)}
.pb-page[data-page="about"] .pb-text--h1{letter-spacing:-.03em;max-width:14em;text-wrap:balance}
.pb-page[data-page="about"] .pb-text--lead{max-width:38em;font-size:clamp(1.05rem,1.4vw,1.2rem)!important;line-height:1.55!important}
.pb-page[data-page="about"] .pb-cta-row,.pb-page[data-page="livehome"] .pb-cta-row{justify-content:flex-start!important;margin-top:22px}
/* Direction cards — roomier, left text, bronze top edge */
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]){
  padding:22px 20px 20px!important;border-radius:16px!important;
  border:1px solid color-mix(in srgb,var(--pb-accent) 28%,transparent)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-ink) 4%,transparent),color-mix(in srgb,var(--pb-bg) 15%,transparent))!important;
  box-shadow:0 14px 32px -20px rgba(0,0,0,.45)}
.pb-col--explicit:has(> .pb-block--image img[src*="/lib/dir-"]):hover{
  border-color:color-mix(in srgb,var(--pb-accent) 55%,transparent)!important;transform:translateY(-3px)}
/* Process band (from field to solution) — stronger column contrast */
.pb-page[data-page="livehome"] .pb-row--has-cols:has(.pb-block--glb){
  gap:clamp(24px,3vw,48px)!important;align-items:center!important}
/* Method tags on PDPs (Claude «применяется в») + services reverse rail */
.agf-methods,.pb-methods,.agf-equip-rail,.services-equip-rail{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px;align-items:center}
.agf-methods .lab,.pb-methods .lab,.agf-equip-rail .lab{font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pb-muted);font-weight:700;margin-right:4px}
.agf-methods a,.pb-methods a,.agf-method,.pb-method,.agf-equip-rail a,.services-equip-rail a{
  display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;
  text-decoration:none;color:var(--pb-ink);
  border:1px solid color-mix(in srgb,var(--pb-accent) 40%,transparent);
  background:color-mix(in srgb,var(--pb-accent) 8%,transparent);
  transition:border-color .15s,background .15s,transform .15s}
.agf-methods a:hover,.pb-methods a:hover,.agf-equip-rail a:hover,.services-equip-rail a:hover{
  border-color:color-mix(in srgb,var(--pb-accent) 75%,transparent);background:color-mix(in srgb,var(--pb-accent) 16%,transparent);
  transform:translateY(-1px);color:var(--pb-ink)}
html[data-theme="light"] .agf-methods a,html[data-theme="light"] .pb-methods a,
html[data-theme="light"] .agf-equip-rail a,html[data-theme="light"] .services-equip-rail a{
  color:var(--pb-ink);background:color-mix(in srgb,var(--pb-accent) 10%,transparent)}
/* services method groups */
.agf-method-group{margin:0 0 22px;padding:18px 18px 14px;border-radius:16px;
  border:1px solid color-mix(in srgb,var(--pb-accent) 22%,transparent);
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 3%,transparent),color-mix(in srgb,var(--pb-bg) 15%,transparent))}
.agf-method-group h3,.agf-method-group .agf-h3{margin:0 0 12px;font-size:15px;color:var(--pb-ink)}
/* dual link ⇄ compare next to method pill */
.agf-methods a[href*="compare"],.pb-methods a[href*="compare"]{
  min-width:2em;justify-content:center;padding:6px 10px;font-size:13px;opacity:.92}
/* products method facet (page_products #by-method · .agf-method-facet) */
.agf-method-facet{display:flex;flex-wrap:wrap;gap:11px;margin:4px 0 8px}
.agf-method-chip{
  display:inline-flex;align-items:stretch;border-radius:999px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--pb-accent) 42%,transparent);background:color-mix(in srgb,var(--pb-accent) 7%,transparent);
  transition:border-color .18s,box-shadow .18s,transform .18s}
.agf-method-chip:hover{
  border-color:color-mix(in srgb,var(--pb-accent) 75%,transparent);transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.22)}
.agf-method-chip a{transition:background .15s}
.agf-method-chip a:hover{background:color-mix(in srgb,var(--pb-accent) 12%,transparent)}
.agf-method-chip a:focus-visible{outline:2px solid color-mix(in srgb,var(--pb-accent) 65%,transparent);outline-offset:2px}
/* services equipment rail (.agf-eqrail in page_services JSON) — Tesla-quiet hover */
.agf-eqrail{max-width:1100px;margin:0 auto}
.agf-eqrail a{
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease!important}
.agf-eqrail a:hover{
  border-color:color-mix(in srgb,var(--pb-accent) 75%,transparent)!important;
  background:color-mix(in srgb,var(--pb-accent) 14%,transparent)!important;
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.22)}
.agf-eqrail a:focus-visible{
  outline:2px solid color-mix(in srgb,var(--pb-accent) 65%,transparent);outline-offset:3px}
.agf-eqrail .svc2cmp a{
  transition:color .15s,border-color .15s}
.agf-eqrail .svc2cmp a:hover{
  color:var(--pb-accent-hi)!important;border-bottom-color:color-mix(in srgb,var(--pb-accent) 85%,transparent)!important}

/* FACE DNA: injected from src/ui/face-dna.css (Claude custody · ROUND_LIFT) */

/* ── ROUND_CONTROLS · geometry + chips (props drive look) ── */
.pb-stats--equal{grid-template-columns:repeat(var(--pb-stat-cols,4),minmax(0,1fr))!important}
.pb-stats--equal .pb-stat-chip,.pb-stats--equal .pb-stat{min-width:0}
.pb-stat-chip--span2{grid-column:span 2}
/* powerplant proof chips · separate glass+brass rectangular plaques (owner 2026-08-02) */
.pb-stats--chips{
  display:grid!important;
  grid-template-columns:repeat(var(--pb-stat-cols,4),minmax(0,1fr))!important;
  gap:14px!important;margin-top:20px;width:100%;
  background:transparent!important;border:0!important;box-shadow:none!important}
.pb-stats--chips .pb-stat-chip{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  gap:6px;padding:18px 18px 16px;min-height:96px;min-width:0;
  border-radius:14px;
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 52%,transparent)!important;
  background:
    linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 8.5%,transparent) 0%,color-mix(in srgb,var(--pb-ink) 2%,transparent) 42%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 100%),
    color-mix(in srgb,var(--pb-bg) 42%,transparent)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 18px 40px -22px rgba(0,0,0,.55)!important;
  transition:border-color .18s,transform .18s,box-shadow .18s}
.pb-stats--chips .pb-stat-chip:hover{
  border-color:color-mix(in srgb,var(--pb-accent) 82%,transparent)!important;
  /* transform + depth come from shared plaque-lift */}
.pb-stats--chips .pb-stat-value{
  margin:0;line-height:1.15;letter-spacing:-.02em;text-transform:none;text-align:center;width:100%;
  font-size:clamp(1.2rem,1.8vw,1.55rem)!important;font-weight:700;
  color:var(--pb-ink)!important;background:none!important;-webkit-text-fill-color:var(--pb-ink);
  filter:none!important}
.pb-stats--chips .pb-stat-label{
  margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;width:100%;
  color:var(--pb-copper,var(--pb-accent))!important;opacity:1;line-height:1.3}
/* center always for brass plaques (owner) — align chips do not override */
.pb-stats--chips .pb-stat-chip.pb-stat-align--left,
.pb-stats--chips .pb-stat-chip.pb-stat-align--right,
.pb-stats--chips .pb-stat-chip.pb-stat-align--center{align-items:center;text-align:center}


.pb-stat-value--xs{font-size:clamp(1rem,1.4vw,1.15rem)!important}
.pb-stat-value--sm{font-size:clamp(1.1rem,1.6vw,1.3rem)!important}
.pb-stat-value--md{font-size:clamp(1.25rem,2vw,1.55rem)!important}
.pb-stat-value--lg{font-size:clamp(1.45rem,2.4vw,1.85rem)!important}
.pb-stat-value--xl{font-size:clamp(1.7rem,2.8vw,2.2rem)!important}
.pb-stat-value--2xl{font-size:clamp(2rem,3.2vw,2.6rem)!important}
.pb-stat-align--left{align-items:flex-start;text-align:left}
.pb-stat-align--center{align-items:center;text-align:center}
.pb-stat-align--right{align-items:flex-end;text-align:right}
.pb-stat-wrap--nowrap .pb-stat-value{white-space:nowrap}
.pb-stat-wrap--balance .pb-stat-value{text-wrap:balance;overflow-wrap:anywhere}
.pb-fc-tile--sm .pb-media-slot,.pb-fc-tile--sm .pb-fc-ic{max-width:56px!important;width:56px}
.pb-fc-tile--md .pb-media-slot{max-width:96px}
.pb-fc-tile--lg .pb-media-slot{max-width:128px}
.pb-fc-tile--xl .pb-media-slot{max-width:160px}
.pb-fc-shape--square .pb-media-slot .pb-fc-ic,.pb-fc-shape--square .pb-media-slot{border-radius:8px!important}
.pb-fc-shape--rounded .pb-media-slot .pb-fc-ic{border-radius:14px}
.pb-fc-shape--circle .pb-media-slot .pb-fc-ic,.pb-fc-shape--circle .pb-media-slot{border-radius:50%!important}
.pb-fc-picto--sm .pb-picto{width:40%!important;height:40%!important}
.pb-fc-picto--md .pb-picto{width:55%!important;height:55%!important}
.pb-fc-picto--lg .pb-picto{width:72%!important;height:72%!important}
.pb-fc-width--narrow{max-width:720px;margin-inline:auto}
.pb-fc-width--wide{max-width:1280px;margin-inline:auto}
.pb-fc-minh--xs .pb-fc-plaque-cell,.pb-fc-minh--xs .pb-panel{min-height:120px}
.pb-fc-minh--sm .pb-fc-plaque-cell,.pb-fc-minh--sm .pb-panel{min-height:160px}
.pb-fc-minh--md .pb-fc-plaque-cell,.pb-fc-minh--md .pb-panel{min-height:200px}
.pb-fc-minh--lg .pb-fc-plaque-cell,.pb-fc-minh--lg .pb-panel{min-height:260px}
/* plaque present · 4-across rhythm + DNA glass/rim (compose .dna-*; no re-declare) */
.pb-fc-plaque{
  display:grid;gap:16px;width:100%;align-items:stretch;
  grid-template-columns:repeat(var(--pb-fc-cols,4),minmax(0,1fr))}


.pb-fc-plaque-cell{
  display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit}
.pb-fc--plaque .pb-media-slot{
  max-width:none!important;width:100%;flex:1 1 auto;min-height:0;
  aspect-ratio:var(--pb-fc-aspect,15/16);
  border:0;border-radius:0;background:transparent}
/* icon-only plaque: no 15/16 void (Codex NIGHT_ROLLOUT · title-only lists) */
.pb-fc--plaque .pb-media-slot--icon{
  aspect-ratio:auto!important;flex:0 0 auto;width:100%;
  min-height:0;height:auto;max-height:none;
  display:flex;align-items:center;justify-content:center;
  padding:18px 14px 4px;box-sizing:border-box}
.pb-fc--plaque .pb-media-slot--icon.pb-media-slot--empty{display:none;padding:0}
.pb-fc--plaque .pb-media-slot-img{
  width:100%;height:100%;display:block;object-fit:cover}
.pb-fc--plaque .pb-media-slot-img:not(.is-photo){
  object-fit:contain;width:58%;height:58%;margin:auto}
.pb-fc--plaque .pb-media-slot .pb-fc-ic{
  width:58%;height:58%;max-width:120px;max-height:120px;margin:auto;
  background:transparent;border:0;border-radius:0}
.pb-fc--plaque .pb-media-slot--icon .pb-fc-ic{
  width:64px;height:64px;max-width:64px;max-height:64px;margin:0}
.pb-fc--plaque .pb-media-slot .pb-fc-ic-img,
.pb-fc--plaque .pb-media-slot .pb-picto{width:100%;height:100%;object-fit:contain}
.pb-fc-plaque-cap{padding:4px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:none}
.pb-fc-plaque-t{display:block}
.pb-fc-plaque-b{display:block}
.pb-fc-spot-h--sm .pb-fc-spot-hero-media{aspect-ratio:16/9}
.pb-fc-spot-h--md .pb-fc-spot-hero-media{aspect-ratio:16/10}
.pb-fc-spot-h--lg .pb-fc-spot-hero-media{aspect-ratio:16/11}
.pb-fc-spot-h--xl .pb-fc-spot-hero-media{aspect-ratio:4/3}
.pb-fc-spot-h--2xl .pb-fc-spot-hero-media{aspect-ratio:1/1}
/* payload sensors — square tiles · larger picto · higher contrast (item 9) */
/* grid tile/picto size on classic panels (payload etc.) */
.pb-fc--grid.pb-fc-tile--lg .pb-panel-ic{width:64px;height:64px}
.pb-fc--grid.pb-fc-tile--xl .pb-panel-ic{width:64px;height:64px}
.pb-fc--grid.pb-fc-picto--lg .pb-panel-ic .pb-picto{width:40px;height:40px}
.pb-fc--grid.pb-fc-picto--lg .pb-panel-ic-img{width:40px;height:40px}
.pb-fc--grid.pb-fc-surface--glass .pb-panel{
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 52%,transparent);
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 8.5%,transparent) 0%,color-mix(in srgb,var(--pb-ink) 2%,transparent) 42%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 100%),color-mix(in srgb,var(--pb-bg) 42%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.12),0 18px 40px -22px rgba(0,0,0,.55);
}
.pb-fc--grid.pb-fc-surface--glass .pb-panel-t{color:var(--pb-ink)}
.pb-fc--grid.pb-fc-surface--glass .pb-panel-b{color:color-mix(in srgb,var(--pb-ink) 66%,transparent)}
.pb-fc--grid.pb-fc-shape--square .pb-panel-ic{border-radius:10px}
/* owner 2026-09-25: the light-green panel fill is gone from the face */
html[data-theme="light"] .pb-fc--grid.pb-fc-surface--glass .pb-panel-t,
html[data-theme="light"] .pb-panel-t{color:var(--pb-ink)!important}
html[data-theme="light"] .pb-fc--grid.pb-fc-surface--glass .pb-panel-b,
html[data-theme="light"] .pb-panel-b{color:color-mix(in srgb,var(--pb-ink) 70%,transparent)!important}
html[data-theme="light"] .pb-panel-ic{
  color:var(--pb-accent);background:transparent;border:0}
html[data-theme="light"] .pb-panel:hover,
html[data-theme="light"] .pb-fc--grid.pb-fc-surface--glass .pb-panel:hover,
html[data-theme="light"] body .pb-feature-cards .pb-fc-grid > .pb-panel:not(a):not(button){
  border-color:color-mix(in srgb,var(--pb-accent2) 72%,transparent)!important;
  box-shadow:
    0 3px 0 0 rgba(169,127,85,.36),
    0 14px 24px -12px rgba(52,63,57,.26),
    0 30px 48px -20px rgba(52,63,57,.18),
    0 0 0 1px rgba(169,127,85,.30),
    inset 0 1px 0 #FFFFFF!important}
/* ═══ PLAQUE LIFT · 3D hover for every glass/panel/sensor/stat tile ═══
   lift + scale + brass shelf shadow = tactile depth without photo chrome.
   !important beats glass rest-state shadows (surface/dna/chips). */
.pb-panel,
.pb-fc-vcard,
.pb-fc-plaque-cell,
.pb-stats--chips .pb-stat-chip,
.pb-fc-spot-sat,
.dna-glass,
.dna-sat{
  transition:
    transform .32s cubic-bezier(.2,.85,.2,1),
    box-shadow .32s cubic-bezier(.2,.85,.2,1),
    border-color .22s,
    background .22s,
    filter .22s!important;
  transform-origin:center bottom;
  will-change:transform}
.pb-panel:hover,
html body .pb-feature-cards .pb-fc-grid > .pb-panel:not(a):not(button),
.pb-fc--grid.pb-fc-surface--glass .pb-panel:hover,
.pb-fc-vcard:hover,
.pb-fc--grid.pb-fc-surface--glass .pb-fc-vcard:hover,
.pb-fc-plaque-cell:hover,
.pb-fc-plaque-cell.dna-glass:hover,
.pb-stats--chips .pb-stat-chip:hover,
.pb-stats--chips .pb-stat-chip.dna-glass:hover,
.pb-fc-spot-sat:hover,
.dna-glass:hover,
.dna-sat:hover{
  transform:translateY(-8px) scale(1.02)!important;
  border-color:color-mix(in srgb,var(--pb-accent) 85%,transparent)!important;
  box-shadow:
    0 3px 0 0 color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 30%,transparent),
    0 16px 28px -12px rgba(0,0,0,.55),
    0 34px 54px -18px rgba(0,0,0,.48),
    0 0 0 1px color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 32%,transparent),
    inset 0 1px 0 rgba(255,255,255,.16),
    0 0 30px -8px color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 22%,transparent)!important}
@media (prefers-reduced-motion:reduce){
  .pb-panel,.pb-fc-vcard,.pb-fc-plaque-cell,.pb-stats--chips .pb-stat-chip,
  .pb-fc-spot-sat,.dna-glass,.dna-sat{transition:border-color .15s,background .15s!important}
  .pb-panel:hover,.pb-fc--grid.pb-fc-surface--glass .pb-panel:hover,
  html body .pb-feature-cards .pb-fc-grid > .pb-panel:not(a):not(button),
  .pb-fc-vcard:hover,.pb-fc--grid.pb-fc-surface--glass .pb-fc-vcard:hover,
  .pb-fc-plaque-cell:hover,.pb-stats--chips .pb-stat-chip:hover,
  .pb-fc-spot-sat:hover,.dna-glass:hover,.dna-sat:hover{transform:none!important}}
/* Static informational panels wear their hover treatment at rest.
   Page rules that replace the shared lift are repeated here at a higher weight. */
html body.pb-page-agf-1600-v2 .pb-feature-cards .pb-fc-grid > .pb-panel:not(a):not(button){
  transform:none!important;
  background:color-mix(in srgb,var(--pb-bg) 82%,transparent)!important;
  background-image:none!important;
  border-color:color-mix(in srgb,var(--pb-accent-hi) 42%,transparent)!important;
  box-shadow:none!important}
html body.pb-page-agp-grav #advantages .pb-fc-grid > .pb-panel:not(a):not(button){
  transform:translateY(-2px)!important;
  border-color:color-mix(in srgb,var(--pb-accent2) 42%,transparent)!important;
  background:color-mix(in srgb,var(--pb-accent2) 8%,transparent)!important;
  box-shadow:0 18px 36px -24px #000!important}
/* vcards · compact near-square tiles · full content width when ornament gutters */
.pb-fc-grid--vcards{
  gap:22px 26px;align-items:stretch;
  max-width:100%;width:100%}
/* 3-col + brass monograms: fixed tile size, fr gutters absorb remaining width */
.pb-fc-grid--vcards.pb-fc-grid--ornament{
  --pb-fc-card:263px;
  grid-template-columns:
    minmax(0,var(--pb-fc-card)) minmax(2.5rem,1fr)
    minmax(0,var(--pb-fc-card)) minmax(2.5rem,1fr)
    minmax(0,var(--pb-fc-card))!important;
  column-gap:0!important;
  row-gap:32px!important;
  align-items:center;
  justify-content:space-between;
  max-width:100%;width:100%}
.pb-fc-grid--ornament .pb-fc-vcard{
  width:100%;max-width:var(--pb-fc-card,263px);justify-self:center}
.pb-fc-ornament{
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;user-select:none;min-width:0;
  color:var(--pb-copper,var(--pb-accent));
  opacity:.78}
.pb-fc-ornament-svg{
  width:clamp(36px,5.2vw,52px);height:clamp(36px,5.2vw,52px);
  display:block;
  filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 22%,transparent))}
.pb-fc-ornament--flip .pb-fc-ornament-svg{transform:scaleX(-1)}
.pb-fc-grid--autofit{
  grid-template-columns:repeat(auto-fit,minmax(var(--pb-fc-min,240px),1fr))!important;
  gap:22px 26px!important;
  max-width:100%}
.pb-fc-vcard{
  display:flex;flex-direction:column;align-items:stretch;gap:8px;
  padding:10px 10px 12px;min-width:0;min-height:0;height:100%;
  text-decoration:none;color:inherit;
  border-radius:14px;border:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 28%,transparent);
  background:color-mix(in srgb,var(--pb-surface,var(--pb-surface)) 55%,transparent);
  transition:border-color .18s,background .18s,transform .18s}
.pb-fc--grid.pb-fc-surface--glass .pb-fc-vcard{
  border:1.5px solid color-mix(in srgb,var(--pb-accent) 52%,transparent);
  background:linear-gradient(165deg,color-mix(in srgb,var(--pb-ink) 8.5%,transparent) 0%,color-mix(in srgb,var(--pb-ink) 2%,transparent) 42%,color-mix(in srgb,var(--pb-bg) 35%,transparent) 100%),color-mix(in srgb,var(--pb-bg) 42%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pb-accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.12),0 18px 40px -22px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
.pb-fc-vcard:hover{border-color:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 70%,transparent);
  background:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 7%,transparent)}
.pb-fc--grid.pb-fc-surface--glass .pb-fc-vcard:hover{
  border-color:color-mix(in srgb,var(--pb-accent) 82%,transparent)}
.pb-fc-vcard .pb-fc-ic{
  width:64px;height:64px;border-radius:16px;flex:none;
  background:color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 12%,transparent);
  border:1.5px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 40%,transparent)}
.pb-fc-vcard .pb-fc-ic .pb-picto,.pb-fc-vcard .pb-fc-ic-img{width:40px;height:40px}
.pb-fc--vcards.pb-fc-picto--lg .pb-fc-vcard .pb-fc-ic,
.pb-fc--vcards.pb-fc-tile--lg .pb-fc-vcard .pb-fc-ic{width:64px;height:64px;border-radius:16px}
.pb-fc--vcards.pb-fc-picto--lg .pb-fc-vcard .pb-fc-ic .pb-picto,
.pb-fc--vcards.pb-fc-picto--lg .pb-fc-vcard .pb-fc-ic-img,
.pb-fc--vcards.pb-fc-tile--lg .pb-fc-vcard .pb-fc-ic .pb-picto,
.pb-fc--vcards.pb-fc-tile--lg .pb-fc-vcard .pb-fc-ic-img{width:40px;height:40px}
/* media: near-square (vertical tile, not wide banner) */
.pb-fc-vcard .pb-media-slot,
.pb-fc-vcard .pb-fc-vcard-media{
  width:100%;max-width:none!important;aspect-ratio:1/1;border-radius:12px;overflow:hidden;
  flex:none;padding:0;border:0;background:color-mix(in srgb,var(--pb-bg) 50%,transparent)}
.pb-fc-vcard .pb-media-slot-img{width:100%;height:100%;object-fit:cover;display:block}
/* icon-only tiles still vertical, picto sits in square plate */
.pb-fc-vcard > .pb-fc-ic{
  width:100%!important;max-width:none!important;aspect-ratio:1/1;height:auto!important;
  border-radius:12px;margin:0}
.pb-fc-vcard > .pb-fc-ic .pb-picto,
.pb-fc-vcard > .pb-fc-ic-img{width:42%!important;height:42%!important}
.pb-fc-vcard-copy{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%;flex:1}
.pb-fc-vcard-t{margin:0;font-size:.92rem;font-weight:600;line-height:1.25;color:var(--pb-ink,var(--pb-ink))}
.pb-fc-vcard-b{margin:0;font-size:.78rem;line-height:1.4;color:var(--pb-muted,var(--pb-muted));
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pb-fc--grid.pb-fc-surface--glass .pb-fc-vcard-t{color:var(--pb-ink)}
.pb-fc--grid.pb-fc-surface--glass .pb-fc-vcard-b{color:color-mix(in srgb,var(--pb-ink) 66%,transparent)}





/* ═══ ЗАКОН ЗАГОЛОВКОВ · владелец 2026-08-13 ═══════════════════════════════════
   Замер по 22 живым страницам дал 32 разных варианта заголовка секции: размеры
   22, 28, 30, 32, 34, 36, 40, 42, 44, 46, 54 и 76 px, вес 600/620/640/650, и часть
   страниц теряла CAPS. Приказ владельца: один размер везде, и заголовки у нас
   ВСЕГДА прописными. Правило стоит последним и с !important, потому что размеры
   назначают полтора десятка лиц по своим селекторам — спорить с каждым бессмысленно.
   Класс в селекторе повторён намеренно: лица назначают размеры селекторами вида
   «body.pb-page-x #specs .pb-psp-title», это (1,2,1), и обычное «main .pb-text--h2»
   им проигрывает при любом !important. Повтор класса поднимает вес до (1,2,2).
   Меняется размер здесь, в одном месте, и меняется на всём сайте.
   Не трогаем: h1 героя (у него своя роль) и мелкие заголовки карточек-компонентов. */
html body #main .pb-text--h2.pb-text--h2.pb-text--h2,
html body #main .pb-psp-title.pb-psp-title.pb-psp-title,
html body #main .pb-as-title.pb-as-title.pb-as-title,
html body #main .pb-cc-title.pb-cc-title.pb-cc-title,
html body #main .pb-hc-title.pb-hc-title.pb-hc-title,
html body #main .pb-hfin-title.pb-hfin-title.pb-hfin-title,
html body #main .pb-trs-title.pb-trs-title.pb-trs-title,
html body #main .pb-sth-body h2,
html body #main .pb-mr-head h2,
html body #main .pb-fc-head h2,
html body #main .pb-sro-title.pb-sro-title.pb-sro-title,
html body #main .pb-flb-title.pb-flb-title.pb-flb-title,
html body #main .pb-pkit-title.pb-pkit-title.pb-pkit-title,
html body #main .pb-um-rad-h2.pb-um-rad-h2.pb-um-rad-h2,
html body #main .pb-sss-title.pb-sss-title.pb-sss-title,
html body #main .pb-mat-head h2{
  font-size:clamp(26px,2.5vw,36px)!important;
  font-weight:640!important;
  line-height:1.14!important;
  letter-spacing:-.01em!important;
  text-transform:uppercase!important;
}

/* Ряд «рисунок + текст»: 20 px между рамкой схемы и абзацем читаются как слипшиеся.
   Владелец ловил это на АГФ-МАГ. Тот же зазор, что у паспорта и у маски героя. */
.pb-row--has-cols:has(> .pb-col > .pb-block--image):has(> .pb-col > .pb-block--head){
  column-gap:clamp(28px,3vw,52px)!important;
}

/* Гамма-спектрометр, секция «Фотографии и документы»: ряд с одной колонкой раскладывался
   на пять треков по 253 px, галерея сжималась до 127 px и всё липло к левому краю. Правило
   на 5 колонок приходит не из данных — в данных одна колонка — и не из inline-стиля ряда,
   который честно говорит 1fr. Владелец собирается выгружать, поэтому здесь прямая правка:
   ряд с единственной колонкой занимает всю ширину. Замер до: 253 px, после: 1320 px. */
html body #main .pb-row--has-cols:has(> .pb-col:only-child){
  grid-template-columns:minmax(0,1fr)!important;
}

/* ═══ ТЕЛЕФОН · владелец 13.08 ═════════════════════════════════════════════
   1. ПАСПОРТ В ДВЕ КОЛОНКИ НА ЭКРАНЕ 390. Замер: computed «166px 166px».
      Виновник — правило страницы «body.pb-page-agf-1600-v2:has(#complex) #specs
      .pb-psp-grid: 1fr 1fr». У него есть id, а медиазапрос веса не добавляет,
      поэтому общий мобильный сброс «@media(max-width:720px) .pb-psp-grid: 1fr»
      проигрывал на любой ширине. Бьём тем же весом внутри медиазапроса.
   2. СВЕТЛОТА. Мировая практика тёмных тем (Material dark, Apple HIG, WCAG 1.4.3):
      не осветлять фон страницы, а поднимать ПОВЕРХНОСТИ — карточки и панели — и
      контраст второстепенного текста. Фон остаётся фирменным, а содержимое
      отделяется от него и читается на солнце. На телефоне это заметнее всего:
      экран ярче, света вокруг больше, а тёмное на тёмном сливается первым. */


/* PICTO CANON · owner 2026-08-20: ONE size on the site.
   Desktop tile 64 / glyph 40 — literals from 0ee4f1b, not tokens.
   Phone (≤390) floor 48 / 28 — not smaller. Size stays 64/40 (floor holds).
   Pictograms only — not photo slots, not dir- marks, not chrome. */
html body .pb-feature-cards .pb-panel-ic,
html body .pb-fc-grid .pb-panel-ic,
html body .pb-fc-adv-ic,
html body .pb-fc--dial .pb-fc-ic,
html body .pb-fc--proof .pb-fc-ic,
html body .pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic,
html body .pb-fc--plaque .pb-media-slot--icon .pb-fc-ic,
html body .pb-fc-call .pb-fc-ic,
html body .pb-fc--callout .pb-fc-ic,
html body .pb-fc--grid.pb-fc-tile--sm .pb-panel-ic,
html body .pb-fc--grid.pb-fc-tile--md .pb-panel-ic,
html body .pb-fc--grid.pb-fc-tile--lg .pb-panel-ic,
html body .pb-fc--grid.pb-fc-tile--xl .pb-panel-ic,
html body .pb-materials .pb-doc-ic,
html body .pb-mat-col--docs .pb-doc-ic,
html body .pb-mat-col--docs .mrl-doc-ic,
html body #advantages .pb-panel-ic,
html body.pb-page-agp-grav #advantages .pb-panel-ic,
html body.pb-page-agp-grav #advantages .pb-panel:nth-child(n) .pb-panel-ic,
html body.pb-page-agp-grav #materials .pb-mat-col--docs .pb-doc-ic,
html body.pb-page-agp-grav #materials .pb-mat-col--docs .mrl-doc-ic,
html body.pb-page-agf-1600-v2:is(:has(#platform),:has(#complex),:has(#route),:has([data-product="horizont-em"]),.pb-product-hero-mask) #materials .pb-mat-col--docs .pb-doc-ic,
html body.pb-page-agf-1600-v2:is(:has(#platform),:has(#complex),:has(#route),:has([data-product="horizont-em"]),.pb-product-hero-mask) #materials .pb-mat-col--docs .mrl-doc-ic{
  width:64px!important;height:64px!important;
  min-width:64px!important;min-height:64px!important;
  max-width:64px!important;max-height:64px!important;
  flex:0 0 64px!important;
}
html body.pb-page-agp-grav #advantages .pb-panel,
html body.pb-page-agp-grav #advantages .pb-panel:nth-child(n){
  grid-template-columns:64px minmax(0,1fr)!important;
}
html body .pb-feature-cards .pb-panel-ic .pb-picto,
html body .pb-feature-cards .pb-panel-ic .pb-panel-ic-img,
html body .pb-feature-cards .pb-panel-ic svg,
html body .pb-fc-adv-ic .pb-picto,
html body .pb-fc-adv-ic svg,
html body .pb-fc--dial .pb-fc-ic .pb-picto,
html body .pb-fc--dial .pb-fc-ic-img,
html body .pb-fc--proof .pb-fc-ic .pb-picto,
html body .pb-fc--proof .pb-fc-ic-img,
html body .pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic .pb-picto,
html body .pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic-img,
html body .pb-fc-grid .pb-panel-ic .pb-picto,
html body .pb-fc-grid .pb-panel-ic .pb-panel-ic-img,
html body .pb-fc-grid .pb-panel-ic svg,
html body .pb-fc-picto--sm .pb-panel-ic .pb-picto,
html body .pb-fc-picto--md .pb-panel-ic .pb-picto,
html body .pb-fc-picto--lg .pb-panel-ic .pb-picto,
html body .pb-fc--plaque .pb-media-slot--icon .pb-fc-ic .pb-picto,
html body .pb-fc--plaque .pb-media-slot--icon .pb-fc-ic-img,
html body .pb-fc-call .pb-fc-ic .pb-picto,
html body .pb-fc-call .pb-fc-ic svg,
html body .pb-fc-call .pb-fc-ic-img,
html body .pb-fc--callout .pb-fc-ic .pb-picto,
html body .pb-fc--callout .pb-fc-ic svg,
html body .pb-materials .pb-doc-ic .mrl-fti,
html body .pb-materials .pb-doc-ic .mrl-fti svg,
html body .pb-materials .pb-doc-ic svg,
html body .pb-mat-col--docs .pb-doc-ic .mrl-fti,
html body .pb-mat-col--docs .pb-doc-ic .mrl-fti svg,
html body .pb-mat-col--docs .pb-doc-ic svg,
html body .pb-mat-col--docs .mrl-doc-ic .mrl-fti,
html body .pb-mat-col--docs .mrl-doc-ic .mrl-fti svg,
html body .pb-mat-col--docs .mrl-doc-ic svg,
html body #advantages .pb-panel-ic .pb-picto,
html body #advantages .pb-panel-ic svg,
html body.pb-page-agp-grav #advantages .pb-panel-ic .pb-picto,
html body.pb-page-agp-grav #advantages .pb-panel-ic svg,
html body.pb-page-agp-grav #materials .pb-mat-col--docs .pb-doc-ic .mrl-fti,
html body.pb-page-agp-grav #materials .pb-mat-col--docs .pb-doc-ic .mrl-fti svg,
html body.pb-page-agp-grav #materials .pb-mat-col--docs .pb-doc-ic svg,
html body.pb-page-agf-1600-v2:is(:has(#platform),:has(#complex),:has(#route),:has([data-product="horizont-em"]),.pb-product-hero-mask) #materials .pb-mat-col--docs .pb-doc-ic .mrl-fti,
html body.pb-page-agf-1600-v2:is(:has(#platform),:has(#complex),:has(#route),:has([data-product="horizont-em"]),.pb-product-hero-mask) #materials .pb-mat-col--docs .pb-doc-ic .mrl-fti svg,
html body.pb-page-agf-1600-v2:is(:has(#platform),:has(#complex),:has(#route),:has([data-product="horizont-em"]),.pb-product-hero-mask) #materials .pb-mat-col--docs .pb-doc-ic svg{
  width:40px!important;height:40px!important;
}

/* feature_cards look · tile / shape / pictogram — emit vars beat picto canon */
html body .pb-fc-geo.pb-fc-tile--sm{--pb-fc-tile:56px;--pb-fc-ic:56px}
html body .pb-fc-geo.pb-fc-tile--md{--pb-fc-tile:96px;--pb-fc-ic:64px}
html body .pb-fc-geo.pb-fc-tile--lg{--pb-fc-tile:128px;--pb-fc-ic:80px}
html body .pb-fc-geo.pb-fc-tile--xl{--pb-fc-tile:160px;--pb-fc-ic:96px}
html body .pb-fc-geo.pb-fc-picto--sm{--pb-fc-picto:40%}
html body .pb-fc-geo.pb-fc-picto--md{--pb-fc-picto:55%}
html body .pb-fc-geo.pb-fc-picto--lg{--pb-fc-picto:72%}
html body .pb-fc-geo.pb-fc-shape--square{--pb-fc-radius:8px}
html body .pb-fc-geo.pb-fc-shape--rounded{--pb-fc-radius:14px}
html body .pb-fc-geo.pb-fc-shape--circle{--pb-fc-radius:50%}
html body .pb-fc-geo .pb-panel-ic{
  width:var(--pb-fc-ic,64px)!important;height:var(--pb-fc-ic,64px)!important;
  min-width:var(--pb-fc-ic,64px)!important;max-width:var(--pb-fc-ic,64px)!important;
  min-height:var(--pb-fc-ic,64px)!important;max-height:var(--pb-fc-ic,64px)!important;
  border-radius:var(--pb-fc-radius,14px)!important}
html body .pb-fc-geo .pb-panel-ic .pb-picto,
html body .pb-fc-geo .pb-panel-ic .pb-panel-ic-img,
html body .pb-fc-geo .pb-panel-ic svg{
  width:var(--pb-fc-picto,55%)!important;height:var(--pb-fc-picto,55%)!important}
html body .pb-fc-geo:not(.pb-fc--vcards) .pb-fc-ic{
  width:var(--pb-fc-ic,64px)!important;height:var(--pb-fc-ic,64px)!important;
  border-radius:var(--pb-fc-radius,14px)!important}
html body .pb-fc-geo:not(.pb-fc--vcards) .pb-fc-ic .pb-picto,
html body .pb-fc-geo:not(.pb-fc--vcards) .pb-fc-ic .pb-fc-ic-img,
html body .pb-fc-geo:not(.pb-fc--vcards) .pb-fc-ic svg{
  width:var(--pb-fc-picto,55%)!important;height:var(--pb-fc-picto,55%)!important}
html body .pb-fc-geo:not(.pb-fc--plaque):not(.pb-fc--field):not(.pb-fc--rail) .pb-media-slot{
  max-width:var(--pb-fc-tile,96px);border-radius:var(--pb-fc-radius,14px)}
html body .pb-fc-geo.pb-fc-shape--circle .pb-panel-ic,
html body .pb-fc-geo.pb-fc-shape--circle:not(.pb-fc--vcards) .pb-fc-ic,
html body .pb-fc-geo.pb-fc-shape--circle:not(.pb-fc--plaque):not(.pb-fc--field):not(.pb-fc--rail) .pb-media-slot{
  border-radius:50%!important}
/* owner 2026-09-25: no filled plate behind a feature-card icon */
html body .pb-feature-cards .pb-panel-ic,
html body .pb-fc-grid .pb-panel-ic,
html body .pb-fc--grid .pb-panel-ic,
html body .pb-fc--grid.pb-fc-tile--sm .pb-panel-ic,
html body .pb-fc--grid.pb-fc-tile--md .pb-panel-ic,
html body .pb-fc--grid.pb-fc-tile--lg .pb-panel-ic,
html body .pb-fc--grid.pb-fc-tile--xl .pb-panel-ic,
html body #advantages .pb-panel-ic,
html body.pb-page-agp-grav #advantages .pb-panel-ic,
html body.pb-page-agp-grav #advantages .pb-panel:nth-child(n) .pb-panel-ic{
  width:auto!important;height:auto!important;
  min-width:0!important;min-height:0!important;
  max-width:none!important;max-height:none!important;
  flex:none!important;
  background:transparent!important;border:0!important;border-radius:0!important;
}
html body .pb-panel-ic .pb-picto,
html body .pb-panel-ic svg{
  width:22px!important;height:22px!important;
}

/* Owner 29.09: ordinal numbers «01 02 03 …» on content list items duplicate the section rail on the
   left and clash with it. Ordinals live in the rail only; lists and cards carry no index — every page,
   every language. (Numbers inside data text, e.g. «01 · MAG ON», are removed in the page data.) */
.pb-hc-step .pb-hc-n,
.pb-pch-opt > i,
.pb-pkit-list li > i,
body.pb-page-contacts .pb-ct-rails .n,
body.pb-page-contacts .pb-ct-fact .n,
.pb-hz-dual-row .n,
.pb-st-card > .n:empty,
.pb-spr-step .n,
.pb-sc-step .n,
.pb-um-rad-n,
html body .pb-um-rad-labs .pb-um-rad-n,
html body #main .pb-st-card > .n,
html body.pb-page-contacts #about .pb-ct-fact .n,
html body.pb-page-contacts #top .pb-ct-rails .n{display:none!important}

/* ── Light theme inversion (face.light + presentation flip) ── */
/* CTAs: same spark fill and accent-ink label as the shared primary */
html[data-theme="light"] .pb-cta--primary{
color:var(--pb-accent-ink)!important;
background:linear-gradient(180deg,var(--pb-spark),color-mix(in srgb,var(--pb-spark) 55%,var(--pb-accent-ink)))!important;
border-color:color-mix(in srgb,var(--pb-accent) 65%,transparent)!important;
box-shadow:0 8px 20px -10px color-mix(in srgb,var(--pb-accent) 55%,transparent)!important}
html[data-theme="light"] .pb-cta--primary:hover{filter:brightness(1.05);color:var(--pb-accent-ink)!important}
html[data-theme="light"] .pb-cta--outline{color:var(--pb-ink)!important;
border-color:color-mix(in srgb,var(--pb-copper) 70%,var(--pb-ink))!important;
background:transparent!important}
html[data-theme="light"] .pb-cta--outline:hover{color:var(--pb-copper)!important;
background:color-mix(in srgb,var(--pb-copper) 10%,transparent)!important;
border-color:var(--pb-copper)!important}
html[data-theme="light"] .pb-cta--outline::before{filter:drop-shadow(0 0 1px color-mix(in srgb,var(--pb-ink) 25%,transparent));opacity:1}
html[data-theme="light"] .mfq-send,.pb-page .mfq-send{
color:var(--pb-accent-ink)!important;
background:linear-gradient(180deg,var(--pb-spark),color-mix(in srgb,var(--pb-spark) 55%,var(--pb-accent-ink)))!important}
html[data-theme="light"] .pb-text--body{color:color-mix(in srgb,var(--pb-ink) 88%,var(--pb-bg))}
/* Hero lead / subtitle: overrides hardcoded near-white .pb-text--lead (2117) — crisp ink on light. */
html[data-theme="light"] .pb-text--lead{color:color-mix(in srgb,var(--pb-ink) 95%,var(--pb-bg))!important}
html[data-theme="light"] .pb-chip{background:color-mix(in srgb,var(--pb-surface) 90%,var(--pb-copper));
border-color:color-mix(in srgb,var(--pb-ink) 12%,transparent);color:var(--pb-muted)}
html[data-theme="light"] .pb-col--doc{background:linear-gradient(180deg,var(--pb-surface),color-mix(in srgb,var(--pb-bg) 40%,var(--pb-surface)))!important;
border-color:color-mix(in srgb,var(--pb-copper) 35%,transparent)!important}
html[data-theme="light"] .pb-col--doc .pb-text--h3{color:var(--pb-ink)!important}
html[data-theme="light"] .pb-col--doc .pb-text--body{color:var(--pb-muted)!important}
html[data-theme="light"] .pb-form,html[data-theme="light"] .pb-form--placeholder{
background:var(--pb-surface);border-color:color-mix(in srgb,var(--pb-ink) 10%,transparent);
box-shadow:var(--pb-depth)}
html[data-theme="light"] .pb-f input,html[data-theme="light"] .pb-f select,html[data-theme="light"] .pb-f textarea{
background:var(--pb-bg);border-color:color-mix(in srgb,var(--pb-ink) 14%,transparent);color:var(--pb-ink)}
html[data-theme="light"] .pb-img,html[data-theme="light"] .pb-glb-poster,html[data-theme="light"] .pb-video{
border-color:color-mix(in srgb,var(--pb-ink) 10%,transparent)}
/* light plate only on product image blocks — bare field photos stay transparent (style audit) */
html[data-theme="light"] .pb-block--image .pb-img:not([src$=".svg"]):not([src*="map"]):not([src*="field-"]),
html[data-theme="light"] .pb-glb-poster,html[data-theme="light"] .pb-video{
background:var(--pb-surface)}
html[data-theme="light"] .mfq-send{color:var(--pb-accent-ink)}
/* ── Software LIGHT spine (Программы) — unified premium software presentation ──
 * Scoped to the light theme (= Программы pages on НТЦ face). Airy canvas,
 * elevated soft cards, crisp copper headings. Content text unchanged (1:1).
 * Paint path = body.pb-has-canvas::before via --pb-canvas (body bg-image is forced none). */
html[data-theme="light"]{
--pb-depth:0 1px 2px rgba(52,63,57,.06),0 12px 32px -14px rgba(52,63,57,.18);
--pb-bg:#FAF3E4;--pb-bg2:#F3EAD6;--pb-surface:#FFFDF8;
--pb-canvas:radial-gradient(ellipse 1400px 800px at 108% -8%,rgba(199,154,115,.22) 0%,transparent 62%),
  radial-gradient(ellipse 1200px 700px at -10% 18%,rgba(199,154,115,.14) 0%,transparent 60%),
  radial-gradient(ellipse 1300px 640px at 100% 62%,rgba(120,140,110,.14) 0%,transparent 62%),
  linear-gradient(180deg,#FBF5E9 0%,#F6EFDE 40%,#F3EAD6 100%)}
html[data-theme="light"] body.pb-has-canvas::before{
background-color:var(--pb-bg);background-image:var(--pb-canvas)}
html[data-theme="light"] .pb-text--eyebrow{color:var(--pb-copper);letter-spacing:.14em}
html[data-theme="light"] .pb-text--h1,html[data-theme="light"] .pb-text--h2,
html[data-theme="light"] .pb-text--h3{color:var(--pb-ink)}
html[data-theme="light"] .pb-col--link{
background:var(--pb-surface);
border:1px solid color-mix(in srgb,var(--pb-ink) 9%,transparent);
border-radius:16px;padding:clamp(18px,2.4vw,26px);
box-shadow:var(--pb-depth);
transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s,border-color .22s}
html[data-theme="light"] .pb-col--link:hover{
transform:translateY(-3px);
border-color:color-mix(in srgb,var(--pb-copper) 45%,transparent);
box-shadow:0 2px 4px color-mix(in srgb,var(--pb-ink) 7%,transparent),0 22px 46px -16px color-mix(in srgb,var(--pb-ink) 28%,transparent)}
html[data-theme="light"] .pb-col--link .pb-img{border-radius:12px}
html[data-theme="light"] .pb-img,html[data-theme="light"] .pb-glb-poster,html[data-theme="light"] .pb-video{
border-radius:14px;box-shadow:var(--pb-depth)}
@media(prefers-reduced-motion:reduce){
html[data-theme="light"] .pb-col--link{transition:none}
html[data-theme="light"] .pb-col--link:hover{transform:none}}
@media(prefers-color-scheme:light){
html[data-theme-auto="1"]:not([data-theme="dark"]){/* auto handled by boot script */}
}




/* #P6h chrome-header · classic Tesla bar (default) · Quiet bay only when [data-quiet-bay] */
.ch-header{position:relative;z-index:60;border-bottom:1px solid transparent;
  background:color-mix(in srgb,var(--pb-bg) 55%,transparent);
  color:var(--pb-ink);font-family:var(--pb-font-body,var(--pb-font),system-ui,-apple-system,sans-serif);
  backdrop-filter:saturate(120%) blur(8px);-webkit-backdrop-filter:saturate(120%) blur(8px);
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}
.ch-header.is-sticky{position:sticky;top:0}
.ch-header.is-scrolled{
  /* denser bar fill only — no under-menu strip/plume (site-wide, matches Quiet bay) */
  border-bottom-color:transparent;
  background:color-mix(in srgb,var(--pb-bg) 88%,transparent);
  backdrop-filter:saturate(150%) blur(18px);-webkit-backdrop-filter:saturate(150%) blur(18px);
  box-shadow:none}
.ch-h-link[aria-current="page"]{font-weight:650;color:var(--pb-ink)}
.ch-h-link[aria-current="page"]::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
  .ch-header{transition:none}
  .ch-h-nav-fill{transition:none!important}
}
/* Classic layout: logo | flex nav | end */
.ch-h-inner{max-width:var(--pb-content,1200px);margin:0 auto;padding:0 28px;
  display:flex;align-items:center;gap:20px;min-height:64px}
/* Codex mobile: hit target ≥44 (shared defect on every page) */
.ch-h-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex:none;
  min-height:44px}
.ch-h-logo{display:block;max-height:40px;max-width:min(280px,42vw);width:auto;height:auto;object-fit:contain}
.ch-h-logo-t{font-weight:750;letter-spacing:.06em;font-size:15px;text-transform:uppercase;
  font-family:var(--pb-font-display,var(--pb-font),system-ui,sans-serif)}
.ch-h-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;flex:1;min-width:0;justify-content:center}
.ch-h-link{position:relative;display:inline-flex;align-items:center;gap:5px;padding:10px 14px;min-height:44px;box-sizing:border-box;
  font-size:13px;font-weight:560;letter-spacing:.01em;color:color-mix(in srgb,var(--pb-ink) 72%,var(--pb-muted));
  text-decoration:none;border:0;border-radius:0;background:transparent;white-space:nowrap;
  transition:color .15s ease}
.ch-h-link .ch-h-lt{position:relative;z-index:1}
.ch-h-link::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1.5px;
  border-radius:1px;background:var(--pb-copper);transform:scaleX(0);transform-origin:center;
  transition:transform .18s cubic-bezier(.2,.8,.2,1);opacity:.95}
.ch-h-link:hover{color:var(--pb-ink)}
.ch-h-link:hover::after,.ch-h-link.is-on::after,.ch-h-link.is-open::after,.ch-h-link[aria-expanded="true"]::after{transform:scaleX(1)}
.ch-h-link.is-on,.ch-h-link.is-open,.ch-h-link[aria-expanded="true"]{color:var(--pb-ink)}
/* mega chevron */
.ch-h-link[data-mega-open] .ch-h-lt::after{content:"";display:inline-block;width:0;height:0;margin-left:6px;
  border-left:3.5px solid transparent;border-right:3.5px solid transparent;
  border-top:4.5px solid currentColor;opacity:.55;vertical-align:middle;
  transition:transform .18s ease,opacity .15s}
.ch-h-link[data-mega-open].is-open .ch-h-lt::after,
.ch-h-link[data-mega-open][aria-expanded="true"] .ch-h-lt::after{transform:rotate(180deg);opacity:.95}
.ch-h-end{display:flex;align-items:center;gap:6px;flex:none;margin-inline-start:auto;position:relative;z-index:5}


/* ── Dark face header · services-v2 law sitewide ───────────────────────
   Owner 2026-08-11: after leaving hero, logo left + capsule nav (concept
   .nav-g), glass bar only on scroll — same as new services. Applies on every
   dark page. Exceptions: home-v20 (own header), light themes. */
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-sticky,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header--quiet-bay,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header--quiet-bay.is-sticky{
  position:fixed!important;top:0;left:0;right:0;z-index:900!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  height:auto!important;min-height:0!important;
  transition:background .55s ease,box-shadow .55s ease,border-color .55s ease!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header--quiet-bay.is-scrolled{
  background:color-mix(in srgb,var(--pb-bg) 86%,transparent)!important;
  backdrop-filter:blur(28px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(180%)!important;
  border-bottom:1px solid color-mix(in srgb,var(--pb-accent2) 28%,transparent)!important;
  box-shadow:0 24px 60px -30px #000!important;
}
/* One grid (owner 29.09): on inner pages the header frame is the page content frame
   (1320 px, site gutter) in both themes and both scroll states, so the logo stands flush with
   the content edge below it. Home keeps its own 1560 foyer frame. Phone header is the dock. */
@media(min-width:721px){
  html:is([data-theme="dark"],[data-theme="light"]) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.ch-header .ch-h-inner.ch-h-inner{
    width:min(var(--pb-content,1320px),calc(100% - 2 * clamp(20px,3.4vw,56px)))!important;
    max-width:var(--pb-content,1320px)!important;margin-inline:auto!important;padding-inline:0!important;
  }
}
/* rest (hero): logo+capsule sit in content frame (1180), not flush to viewport edge.
   No width/margin/padding transitions — animating the frame made the capsule fly L→R. */
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-inner{
  position:relative!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:min(1180px,calc(100% - 2*clamp(18px,3.2vw,40px)))!important;
  max-width:1180px!important;margin-inline:auto!important;
  gap:18px!important;padding:0!important;
  min-height:78px!important;height:78px!important;box-sizing:border-box!important;
  background:transparent!important;
  transition:none!important;
}
/* after hero scroll: full-width glass bar (services law) — snap layout, only glass fades */
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-inner{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:0 clamp(18px,3vw,40px)!important;
  min-height:62px!important;height:62px!important;
  transition:none!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-brand{
  flex:0 0 auto!important;margin:0!important;position:relative!important;z-index:2!important;
  max-width:none!important;justify-self:auto!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-logo,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-logo--on-dark{
  height:40px!important;max-height:40px!important;width:auto!important;
  max-width:min(240px,42vw)!important;object-fit:contain!important;display:block!important;
  transition:height .4s ease!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-logo,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-logo--on-dark{
  height:32px!important;max-height:32px!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-logo--on-light{display:none!important}
/* concept .nav-g pill — fixed to viewport center so logo frame shift never slides the menu */
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-nav,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-nav[data-quiet-bay]{
  position:fixed!important;left:50%!important;top:39px!important;
  transform:translate(calc(-50% - 40px),-50%)!important;
  transition:none!important;
  display:flex!important;flex:none!important;width:max-content!important;
  max-width:calc(100vw - 520px)!important;min-width:0!important;
  margin:0!important;justify-self:center!important;z-index:901!important;
  gap:3px!important;padding:5px!important;border-radius:999px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--pb-surface-2) 60%,transparent),color-mix(in srgb,var(--pb-bg) 50%,transparent))!important;
  border:1px solid color-mix(in srgb,var(--pb-accent2) 38%,transparent)!important;
  backdrop-filter:blur(20px) saturate(160%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(160%)!important;
  box-shadow:inset 0 1px 0 rgba(255,253,245,.08),0 16px 40px -22px #000!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-nav,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-nav[data-quiet-bay]{
  top:31px!important;transition:none!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-nav-fill{display:none!important}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-link,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-nav > a{
  flex:0 0 auto!important;padding:10px 16px!important;border-radius:999px!important;
  min-height:0!important;min-width:0!important;font-size:13px!important;font-weight:500!important;
  white-space:nowrap!important;color:color-mix(in srgb,var(--pb-ink) 62%,transparent)!important;background:transparent!important;
  letter-spacing:0!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-link::after{display:none!important}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-link:hover,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-link[aria-current="page"],
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-link.is-on,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-link.is-open{
  color:var(--pb-ink)!important;background:color-mix(in srgb,var(--pb-ink) 8%,transparent)!important;font-weight:500!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-cta,
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-tools{
  display:none!important;
}
html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-end{
  display:flex!important;margin-inline-start:auto!important;
}
/* Owner 2026-08-13 · Claude away · Grok writes this chrome slice.
   Codex: inner 390 burger is 0×0 because it lives in .ch-h-end, which
   this rule hid on every dark page except home. Nav hide at 1100 had
   no .is-nav-open exception, so the X sat over a dead sheet. */




/* ── Quiet bay (product landings only · .ch-h-nav[data-quiet-bay]) ──
   Bar fill = same family as hero_story frame / sand canvas (Claude whole-page
   continuity) — not a separate grey slab. Sticky, own fill, no under-plume.
   Layout: auto | 1fr | auto — capsule centers between brand and end.
   Dark face: superseded by services-v2 law above; light themes keep quiet bay. */
.ch-header--quiet-bay,
.ch-header--quiet-bay.is-sticky{
  position:sticky;top:0;z-index:60;
  /* match .pb-hs-frame top gradient (#182b20→#14241b→#0e1913) so bar + hero read as one */
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-surface) 25%,var(--pb-surface-2)) 0%,color-mix(in srgb,var(--pb-surface) 83%,var(--pb-surface-2)) 55%,color-mix(in srgb,var(--pb-bg-2) 52%,var(--pb-surface-2)) 100%)!important;
  border-bottom:1px solid transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ch-header--quiet-bay.is-scrolled{
  /* denser same stack — no under-bar hairline/plume */
  background:linear-gradient(180deg,var(--pb-surface-2) 0%,color-mix(in srgb,var(--pb-surface) 58%,var(--pb-surface-2)) 50%,var(--pb-surface) 100%)!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important}
/* Quiet bay · light software mood (TASK_GROK Job B — same geometry, cream well) */
html[data-theme="light"] .ch-header--quiet-bay,
html[data-theme="light"] .ch-header--quiet-bay.is-sticky{
  background:color-mix(in srgb,var(--pb-bg) 88%,var(--pb-surface))!important;
  backdrop-filter:saturate(120%) blur(10px)!important;
  -webkit-backdrop-filter:saturate(120%) blur(10px)!important}
html[data-theme="light"] .ch-header--quiet-bay.is-scrolled{
  background:color-mix(in srgb,var(--pb-bg) 94%,var(--pb-surface))!important}
html[data-theme="light"] .ch-h-nav[data-quiet-bay]{
  background:
    radial-gradient(ellipse 120% 100% at 50% 0%,color-mix(in srgb,var(--pb-ink) 55%,transparent),transparent 48%),
    linear-gradient(180deg,color-mix(in srgb,var(--pb-accent2) 5%,var(--pb-bg-2)) 0%,color-mix(in srgb,var(--pb-accent2) 18%,var(--pb-bg-2)) 100%);
  border:1px solid color-mix(in srgb,var(--pb-accent2) 40%,var(--pb-bg-2));
  box-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 0 0 1px rgba(120,80,40,.06),
    inset 0 3px 9px rgba(120,80,40,.12),
    inset 0 1px 2px rgba(120,80,40,.14),
    inset 0 -1px 0 rgba(255,255,255,.45)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-nav-fill{
  background:linear-gradient(180deg,var(--pb-surface) 0%,var(--pb-bg-2) 100%);
  border:1px solid color-mix(in srgb,var(--pb-accent2) 25%,var(--pb-bg-2));
  box-shadow:
    0 2px 0 rgba(120,80,40,.12),0 3px 6px rgba(120,80,40,.14),0 0 0 1px rgba(120,80,40,.08),
    inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(120,80,40,.1),
    inset 0 0 12px rgba(120,80,40,.04)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-nav-fill::before{background:color-mix(in srgb,var(--pb-ink) 20%,transparent)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-nav-fill::after{
  background:color-mix(in srgb,var(--pb-accent) 18%,transparent)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link{
  color:color-mix(in srgb,var(--pb-ink) 55%,transparent);text-shadow:none}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link:hover{color:var(--pb-ink)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link.is-over,
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link.is-on,
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link.is-open,
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link[aria-expanded="true"],
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link[aria-current="page"]{
  color:var(--pb-ink);font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.ch-header--quiet-bay .ch-h-inner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 28px;align-items:center}
.ch-header--quiet-bay .ch-h-brand{justify-self:start;max-width:min(240px,22vw)}
.ch-header--quiet-bay .ch-h-end{justify-self:end;margin-inline-start:0}
.ch-header--quiet-bay .ch-h-nav[data-quiet-bay]{justify-self:center}
.ch-h-nav[data-quiet-bay]{--ch-bay-pad:5px;position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:1px;
  width:max-content;max-width:100%;flex:none;min-width:0;
  padding:var(--ch-bay-pad) 10px;border-radius:999px;
  background:
    radial-gradient(ellipse 120% 100% at 50% 0%,color-mix(in srgb,var(--pb-ink) 4%,transparent),transparent 48%),
    linear-gradient(180deg,color-mix(in srgb,var(--pb-surface-2) 80%,var(--pb-bg)) 0%,color-mix(in srgb,var(--pb-bg) 70%,var(--pb-surface-2)) 52%,var(--pb-bg) 100%);
  border:1px solid color-mix(in srgb,var(--pb-bg) 48%,var(--pb-accent2));
  box-shadow:
    0 1px 0 color-mix(in srgb,var(--pb-copper) 16%,transparent),
    0 0 0 1px rgba(0,0,0,.22),
    inset 0 3px 9px rgba(0,0,0,.52),
    inset 0 1px 2px rgba(0,0,0,.6),
    inset 0 -1px 0 rgba(255,255,255,.045)}
.ch-h-nav[data-quiet-bay] .ch-h-nav-fill{position:absolute;z-index:0;pointer-events:none;
  top:calc(var(--ch-bay-pad) + 2px);bottom:calc(var(--ch-bay-pad) + 2px);
  border-radius:999px;opacity:0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-ink) 29%,var(--pb-surface-2)) 0%,color-mix(in srgb,var(--pb-ink) 22%,var(--pb-surface-2)) 48%,color-mix(in srgb,var(--pb-ink) 18%,var(--pb-surface-2)) 100%);
  border:1px solid color-mix(in srgb,var(--pb-ink) 15%,var(--pb-surface-2));
  box-shadow:
    0 2px 0 #0A0E0C,0 3px 6px rgba(0,0,0,.42),0 0 0 1px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.26),
    inset 0 0 12px rgba(0,0,0,.1);
  transition:left .3s cubic-bezier(.22,.8,.2,1),width .3s cubic-bezier(.22,.8,.2,1),opacity .15s ease}
.ch-h-nav[data-quiet-bay] .ch-h-nav-fill.is-on{opacity:1}
.ch-h-nav[data-quiet-bay] .ch-h-nav-fill::before{content:"";position:absolute;inset:0;border-radius:inherit;
  background:color-mix(in srgb,var(--pb-ink) 4%,transparent);mix-blend-mode:soft-light;pointer-events:none}
.ch-h-nav[data-quiet-bay] .ch-h-nav-fill::after{content:"";position:absolute;left:6px;right:6px;bottom:-3px;height:2px;
  border-radius:999px;background:color-mix(in srgb,var(--pb-bg) 48%,transparent);filter:blur(1px);pointer-events:none}
.ch-h-nav[data-quiet-bay] .ch-h-link{z-index:2;padding:8px 15px;min-height:38px;font-size:13px;font-weight:520;
  letter-spacing:.015em;color:color-mix(in srgb,var(--pb-ink) 62%,transparent);border-radius:999px}
.ch-h-nav[data-quiet-bay] .ch-h-link::after{display:none}
.ch-h-nav[data-quiet-bay] .ch-h-link:hover{color:color-mix(in srgb,var(--pb-ink) 92%,transparent)}
.ch-h-nav[data-quiet-bay] .ch-h-link.is-over,
.ch-h-nav[data-quiet-bay] .ch-h-link.is-on,
.ch-h-nav[data-quiet-bay] .ch-h-link.is-open,
.ch-h-nav[data-quiet-bay] .ch-h-link[aria-expanded="true"],
.ch-h-nav[data-quiet-bay] .ch-h-link[aria-current="page"]{
  color:var(--pb-ink);font-weight:600;text-shadow:0 1px 0 rgba(0,0,0,.4)}
.ch-h-lang{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--pb-muted);border:1px solid var(--pb-line);
  border-radius:999px;padding:7px 11px;opacity:.9;transition:border-color .12s,color .12s}
.ch-h-lang:hover{color:var(--pb-ink);border-color:color-mix(in srgb,var(--pb-copper) 40%,var(--pb-line))}
.ch-h-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:0 16px;border-radius:999px;font-size:12.5px;font-weight:650;letter-spacing:.02em;
  text-decoration:none;color:var(--pb-accent-ink);
  border:1px solid color-mix(in srgb,var(--pb-copper) 70%,transparent);
  background:linear-gradient(180deg,var(--pb-accent-hi),var(--pb-copper));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 0 rgba(0,0,0,.25);
  transition:filter .12s,transform .1s,box-shadow .12s}
.ch-h-cta:hover{filter:brightness(1.05);transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 16px rgba(0,0,0,.28)}
.ch-h-cta:active{transform:translateY(0);filter:brightness(.97)}
.ch-h-burger{display:none;appearance:none;width:44px;height:44px;padding:0;border-radius:10px;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--pb-copper) 40%,var(--pb-line));
  background:color-mix(in srgb,var(--pb-surface) 80%,transparent);
  place-items:center;gap:5px;flex-direction:column;justify-content:center}
.ch-h-burger span{display:block;width:18px;height:1.5px;border-radius:1px;background:var(--pb-ink);
  transition:transform .18s,opacity .15s}
.ch-header.is-nav-open .ch-h-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ch-header.is-nav-open .ch-h-burger span:nth-child(2){opacity:0}
.ch-header.is-nav-open .ch-h-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}




.ch-h-logo--on-light{display:none}
html[data-theme="light"] .ch-h-logo--on-dark{display:none}
html[data-theme="light"] .ch-h-logo--on-light{display:block}
/* Light classic header */
html[data-theme="light"] .ch-header{
  background:color-mix(in srgb,var(--pb-bg) 55%,transparent);
  border-bottom-color:transparent;box-shadow:none}
html[data-theme="light"] .ch-header.is-scrolled{
  background:color-mix(in srgb,var(--pb-bg) 88%,var(--pb-surface));
  border-bottom-color:color-mix(in srgb,var(--pb-copper) 22%,var(--pb-line));
  box-shadow:0 8px 28px -18px rgba(52,63,57,.18)}
html[data-theme="light"] .ch-h-link{color:color-mix(in srgb,var(--pb-ink) 72%,var(--pb-muted))}
html[data-theme="light"] .ch-h-link:hover,
html[data-theme="light"] .ch-h-link.is-on,
html[data-theme="light"] .ch-h-link.is-open,
html[data-theme="light"] .ch-h-link[aria-current="page"]{color:var(--pb-ink)}
/* Light Quiet bay (product landings) */
html[data-theme="light"] .ch-h-nav[data-quiet-bay]{
  background:
    radial-gradient(ellipse 100% 80% at 50% 100%,color-mix(in srgb,var(--pb-ink) 16%,transparent),transparent 55%),
    linear-gradient(180deg,color-mix(in srgb,var(--pb-muted) 70%,var(--pb-bg)) 0%,color-mix(in srgb,var(--pb-muted) 80%,var(--pb-bg)) 40%,color-mix(in srgb,var(--pb-muted) 88%,var(--pb-bg)) 100%);
  border:1px solid color-mix(in srgb,var(--pb-ink) 30%,transparent);
  box-shadow:
    0 1px 0 rgba(255,255,255,.65),0 0 0 1px rgba(255,255,255,.2),
    inset 0 4px 10px rgba(28,35,30,.4),inset 0 2px 4px rgba(28,35,30,.34),
    inset 0 1px 1px rgba(28,35,30,.48),
    inset 3px 0 6px rgba(28,35,30,.14),inset -3px 0 6px rgba(28,35,30,.14),
    inset 0 -1px 0 rgba(255,255,255,.2),inset 0 -2px 4px rgba(255,255,255,.08)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-nav-fill{
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--pb-accent2) 14%,var(--pb-surface)) 0%,
    color-mix(in srgb,var(--pb-muted) 12%,var(--pb-bg-2)) 42%,
    color-mix(in srgb,var(--pb-muted) 18%,var(--pb-bg-2)) 100%);
  border:1px solid color-mix(in srgb,var(--pb-accent2) 28%,var(--pb-ink));
  box-shadow:
    0 2px 0 color-mix(in srgb,#343F39 22%,transparent),0 3px 6px rgba(28,35,30,.16),
    0 0 0 1px color-mix(in srgb,var(--pb-copper) 18%,transparent),
    inset 0 1px 0 rgba(255,253,245,.7),
    inset 0 -1px 0 color-mix(in srgb,#343F39 12%,transparent),
    inset 0 0 14px color-mix(in srgb,var(--pb-copper) 8%,transparent)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link{
  color:color-mix(in srgb,var(--pb-ink) 92%,transparent);font-weight:540;text-shadow:0 1px 1px rgba(28,35,30,.28)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link:hover:not(.is-over):not(.is-on):not(.is-open):not([aria-current="page"]){
  color:var(--pb-ink)}
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link.is-over,
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link.is-on,
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link.is-open,
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link[aria-expanded="true"],
html[data-theme="light"] .ch-h-nav[data-quiet-bay] .ch-h-link[aria-current="page"]{
  color:var(--pb-ink)!important;font-weight:650;text-shadow:0 1px 0 rgba(255,253,245,.55)}
html[data-theme="light"] .ch-h-burger{background:var(--pb-surface)}
html[data-theme="light"] .ch-h-burger span{background:var(--pb-ink)}
html[data-theme="light"] .ch-h-cta{
  color:var(--pb-accent-ink)!important;
  background:linear-gradient(180deg,var(--pb-accent-hi),var(--pb-accent))!important;
  border-color:color-mix(in srgb,var(--pb-accent) 70%,transparent)!important}
html[data-theme="light"] .ch-h-lang{
  color:var(--pb-ink);border-color:color-mix(in srgb,var(--pb-copper) 35%,var(--pb-line))}
/* #P6h lang switcher in header */
.ch-h-langs{display:inline-flex;align-items:center;gap:4px}
.ch-h-theme,.ch-h-lang{box-sizing:border-box;min-width:44px;min-height:44px}
.ch-h-theme{appearance:none;width:44px;height:44px;padding:0;border-radius:10px;cursor:pointer;
  border:1px solid var(--pb-line,rgba(255,255,255,.18));background:transparent;color:inherit}
.ch-h-theme{position:relative}
.ch-h-theme:focus-visible,.ch-h-lang:focus-visible{
  outline:3px solid var(--pb-focus,#C79A73)!important;outline-offset:3px}
.ch-h-theme:focus-visible::after{
  content:attr(aria-label);display:block!important;position:absolute;top:calc(100% + 6px);right:0;
  z-index:2;white-space:nowrap;font:12px/1.2 system-ui,sans-serif;letter-spacing:0;text-transform:none;
  padding:6px 8px;border-radius:6px;opacity:1;visibility:visible;
  background:var(--pb-ink,#1A221E);color:var(--pb-ground,#FAF3E4)}
.ch-h-theme::before{content:"";display:block;width:16px;height:16px;margin:auto;border-radius:50%;
  box-shadow:inset 0 0 0 2px currentColor}
html[data-theme="light"] .ch-h-theme::before{background:currentColor;box-shadow:none}
.ch-h-lang{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--pb-muted,#7c9488);
  border:1px solid var(--pb-line,rgba(255,255,255,.12));border-radius:8px;padding:0 8px;
  text-decoration:none;opacity:.9}
a.ch-h-lang:hover{color:var(--pb-copper,#c79a73);border-color:var(--pb-copper,#c79a73);opacity:1}
a.ch-h-lang.is-on{color:var(--pb-copper,#c79a73);
  border-color:color-mix(in srgb,var(--pb-copper,#c79a73) 55%,var(--pb-line,rgba(255,255,255,.12)));
  background:color-mix(in srgb,var(--pb-copper,#c79a73) 12%,var(--pb-surface,#12211a))}
.ch-h-lang.is-missing{opacity:.35;cursor:default}
.ch-h-lang-sep{opacity:.35;font-size:11px;padding:0 1px}
:lang(zh-Hans){font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif}
:lang(zh-Hans) .ch-h-lang{letter-spacing:.04em;text-transform:none}
/* #P6h chrome-menu · NTC compact premium mega (source .agf-mega) · scrim dim */
html.ch-mega-open{overflow:hidden}
/*
  Владелец 13.08 · находка Кодекса F-TOUCH-menu-exit. Замер на 390×844: панель .ch-m-products
  высотой 1211 px при экране 844, overflow-y:visible, position:static — то есть она не своя
  область прокрутки, а тянет страницу, и кнопка закрытия (бургер) в этот момент 0×0, выхода
  не видно вовсе. Ниже: панель прокручивается сама, страница под ней стоит, а выход — липкий
  и не уезжает. На широком экране кнопка не нужна: там панель закрывается уводом курсора.
*/
.ch-m-exit{display:none}

/* CH-dim: page dims when mega open */
/* no backdrop-filter — live has no blurred scrim; blur can GPU-isolate the shell and kill screen blend */
.ch-mega-scrim{position:fixed;inset:0;z-index:55;background:color-mix(in srgb,var(--pb-media-scrim) 63%,transparent);
  cursor:pointer;animation:chScrimIn .18s ease}
@keyframes chScrimIn{from{opacity:0}to{opacity:1}}
.ch-mega-root{position:relative;z-index:58}
/* compact floating panel — live .agf-mega is a drop, no page-transform isolation */
.ch-mega-panel{position:fixed;left:0;right:0;margin:0 auto;
  top:calc(var(--ch-header-h,64px) + 10px);z-index:58;padding:0;
  width:min(1120px,calc(100vw - 28px));pointer-events:none;
  max-height:min(84vh,820px);overflow:visible;transform:none}
.ch-mega-panel:not([hidden]){pointer-events:auto;animation:chMegaIn .2s cubic-bezier(.2,.8,.2,1)}
/* opacity-only open anim — transform on panel would GPU-isolate the whole shell */
@keyframes chMegaIn{from{opacity:0}to{opacity:1}}
/*
 * shell = live .agf-mega .agf-shell EXACT (no isolation:isolate).
 * isolation on this node makes video mix-blend:screen composite into a transparent
 * offscreen buffer first → black matte stays black (boss black pad). Live has no isolate.
 */
.ch-mega-shell{position:relative;margin:0;padding:30px clamp(22px,2.6vw,40px) 32px;border-radius:20px;
  overflow:hidden;max-height:min(84vh,820px);
  /* flex column so the lists row is bounded and can scroll; a plain block lets the row grow
     past the shell and the overflow:hidden then eats the tail with no way to reach it. */
  display:flex;flex-direction:column;min-height:0;
  border:1px solid color-mix(in srgb,var(--pb-accent) 18%,transparent);
  background:
    radial-gradient(680px 300px at 12% 0%,color-mix(in srgb,var(--pb-accent) 10%,transparent),transparent 60%),
    radial-gradient(600px 320px at 96% 8%,color-mix(in srgb,var(--pb-muted) 10%,transparent),transparent 60%),
    linear-gradient(180deg,color-mix(in srgb,var(--pb-surface-2) 90%,var(--pb-ink)) 0%,color-mix(in srgb,var(--pb-surface-2) 94%,var(--pb-ink)) 45%,color-mix(in srgb,var(--pb-surface-2) 97.5%,var(--pb-ink)) 100%);
  box-shadow:0 34px 70px rgba(0,0,0,.5);
  color:var(--pb-ink);
  font-family:var(--pb-font-body,var(--pb-font),system-ui,-apple-system,sans-serif)}
.ch-m-ov{color:var(--pb-accent);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:700;margin:0 0 18px 2px;opacity:.9}
.ch-m-cols{display:grid;grid-template-columns:288px 1fr;gap:28px 30px;align-items:stretch}
.ch-m-cols--con{grid-template-columns:1.35fr 1fr}
/* ═══ Products SHOWROOM = live .agf-cols + .agf-feature ═══ */
.ch-m-show-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;flex-wrap:wrap}
.ch-m-show-head .ch-m-ov{margin:0}
.ch-m-all--ghost{background:transparent;color:color-mix(in srgb,var(--pb-ink) 80%,var(--pb-accent));border:1px solid color-mix(in srgb,var(--pb-accent) 45%,transparent);padding:7px 14px}
.ch-m-all--ghost:hover{background:color-mix(in srgb,var(--pb-accent) 14%,transparent);color:var(--pb-ink)}
.ch-m-cols--showroom{grid-template-columns:288px 1fr;gap:30px;align-items:stretch;
  --ch-stage-video-shift:-80px;--ch-stage-video-scale:1}
/*
 * Live 1:1 https://agptech.ru
 *   .agf-feature{position:relative;border-radius:16px;overflow:hidden;min-height:340px;background:transparent;border:0}
 *   .agf-feature video{position:absolute;inset:0;…;mix-blend-mode:screen;background:transparent;transform:translateY(…) scale(…)}
 * DOM: video is DIRECT child of stage (no .media/.vid wrappers — they black-out screen blend).
 */
.ch-m-stage,.ch-m-stage--glass,.ch-m-stage--feature,.ch-m-stage--screen{
  position:relative;border-radius:16px;overflow:hidden;min-height:340px;height:100%;
  background:transparent;border:0;box-shadow:none}
.ch-m-stage-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;
  background:transparent;z-index:0;
  mix-blend-mode:screen;
  transform:translateY(var(--ch-stage-video-shift,-80px)) scale(var(--ch-stage-video-scale,1))}
.ch-m-stage.is-product .ch-m-stage-video{display:none}
.ch-m-stage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  padding:16px 16px 54px;box-sizing:border-box;background:transparent;
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.55));z-index:1}
.ch-m-stage.is-product .ch-m-stage-img{display:block}
.ch-m-stage.is-default .ch-m-stage-img{display:none}
/* Владелец 13.08 убрал ролик и поставил кадр — и кадр не появился. Правило выше пряталo
   картинку в состоянии по умолчанию, потому что там играло видео, а снимок показывался
   только при наведении на товар. Когда видео нет, прятать нечего и нечем: кадр и есть сцена. */
.ch-m-stage--photo.is-default .ch-m-stage-img{display:block}
.ch-m-stage-img--ph{width:72px;height:72px;border-radius:16px;border:1px dashed color-mix(in srgb,var(--pb-accent) 28%,transparent);
  background:transparent;position:absolute;left:50%;top:40%;transform:translate(-50%,-50%)}
/* live .agf-feature .cap */
.ch-m-stage-body,.ch-m-stage-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:18px 18px 16px;display:flex;flex-direction:column;gap:3px;text-align:left;
  background:linear-gradient(0deg,color-mix(in srgb,var(--pb-media-scrim) 97%,transparent) 12%,color-mix(in srgb,var(--pb-media-scrim) 27%,transparent) 70%,transparent);
  pointer-events:none;margin:0;justify-content:flex-end;min-height:0}
.ch-m-stage-tag{color:color-mix(in srgb,var(--pb-media-ink) 28%,var(--pb-accent2));font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  line-height:1.25;margin:0}
.ch-m-stage-name{font-size:16px;font-weight:700;letter-spacing:.01em;color:var(--pb-media-ink);line-height:1.25;margin:0}
.ch-m-stage-blurb{margin:0;font-size:12.5px;line-height:1.4;color:color-mix(in srgb,var(--pb-media-ink) 78%,transparent);min-height:0}
/* light mega — readable (boss apps light) */
/* the stage plays black-matte video with screen blend: it stays a dark media plate in both themes */
html[data-theme="light"] :is(.ch-m-stage,.ch-m-feature){background:var(--pb-media-scrim)}

.ch-m-stage-cta{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:10px;
  padding:9px 16px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none;color:var(--pb-accent-ink);
  background:linear-gradient(180deg,color-mix(in srgb,var(--pb-accent) 70%,var(--pb-accent-hi)),var(--pb-accent));box-shadow:0 8px 18px -10px color-mix(in srgb,var(--pb-accent) 65%,transparent);
  transition:transform .15s,filter .15s}
.ch-m-stage-cta:hover{filter:brightness(1.06);transform:translateY(-1px)}
.ch-m-stage-foot{padding:10px 16px 14px;font-size:11px;color:var(--pb-muted);border-top:1px solid color-mix(in srgb,var(--pb-accent) 12%,transparent);
  letter-spacing:.02em}
.ch-m-grid--showroom{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
/* only hover/focus selection — no sticky featured on open */
.ch-m-card.is-active{border-color:color-mix(in srgb,var(--pb-accent) 75%,transparent);
  background:color-mix(in srgb,var(--pb-accent) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pb-accent) 22%,transparent)}
.ch-m-card[data-mega-preview]{cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.ch-mega-panel:has(.ch-m-products--showroom){width:min(1120px,calc(100vw - 28px))}
.ch-mega-shell:has(.ch-m-products--showroom){padding-top:22px}
.ch-m-feature{position:relative;border-radius:16px;overflow:hidden;min-height:300px;
  background:transparent;border:0}
.ch-m-feature--sm{min-height:0;aspect-ratio:16/9;margin:0 0 14px}
.ch-m-feature--empty{display:flex;align-items:flex-end;padding:20px;min-height:180px}
.ch-m-feature video,.ch-m-feat-img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;display:block;padding:16px 16px 54px;box-sizing:border-box;
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.55))}
.ch-m-feature video{mix-blend-mode:screen;padding:0;object-fit:contain}
.ch-m-cap{position:absolute;left:0;right:0;bottom:0;padding:18px 18px 16px;
  background:linear-gradient(0deg,color-mix(in srgb,var(--pb-media-scrim) 97%,transparent) 12%,color-mix(in srgb,var(--pb-media-scrim) 27%,transparent) 70%,transparent);
  display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.ch-m-feature--empty .ch-m-cap{position:relative;background:none;padding:0}
.ch-m-cap b{font-size:16px;font-weight:700;color:var(--pb-media-ink);line-height:1.25}
.ch-m-cap span{font-size:12.5px;color:color-mix(in srgb,var(--pb-media-ink) 78%,transparent);line-height:1.35;margin-top:3px}
.ch-m-all{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 15px;border-radius:9px;
  font-size:12.5px;font-weight:600;text-decoration:none;color:var(--pb-accent-ink);
  background:var(--pb-accent);transition:background .18s}
.ch-m-all:hover{background:var(--pb-accent-hi)}
/* The lists scroll, never the shell: scrolling the shell would carry the 288px stage away with
   it, and on a short screen you would have to scroll the picture off to reach the last group.
   overflow is not isolation — the shell already clips with overflow:hidden and the stage
   mix-blend:screen matte survives it; a scroll container is a BFC, not a stacking context. */
.ch-m-lists{display:flex;flex-direction:column;gap:20px;min-width:0;min-height:0;
  overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--pb-accent) 45%,transparent) transparent}
.ch-m-lists::-webkit-scrollbar{width:8px}
.ch-m-lists::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--pb-accent) 38%,transparent);border-radius:8px}
.ch-m-cols--showroom,.ch-m-cols{min-height:0;flex:1 1 auto}
/* The shell is a flex column, so every wrapper between it and .ch-m-lists must pass the height
   constraint down — otherwise the list row grows past the shell and overflow:hidden eats the
   tail with no way to reach it. That is the defect the owner hit on a 768-tall screen. */
.ch-m-products,.ch-m-products--showroom{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.ch-m-gh{color:var(--pb-muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;margin:0 0 11px 3px;padding-bottom:9px;
  border-bottom:1px solid color-mix(in srgb,var(--pb-accent) 16%,transparent)}
/* 3-col product cards like source */
.ch-m-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.ch-m-card{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;
  overflow:hidden;border:1px solid color-mix(in srgb,var(--pb-accent) 16%,transparent);
  background:color-mix(in srgb,var(--pb-ink) 2.8%,transparent);text-decoration:none;color:inherit;
  transition:transform .18s,background .18s,border-color .18s}
.ch-m-card:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--pb-accent) 11%,transparent);
  border-color:color-mix(in srgb,var(--pb-accent) 55%,transparent)}
.ch-m-rus{position:absolute;top:7px;right:7px;width:22px;height:22px;object-fit:contain;background:var(--pb-media-ink);border-radius:4px;padding:1px;z-index:2}
/* pictogram frame — brass ring (legacy menu DNA) */
.ch-m-icwrap{flex:0 0 40px;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--pb-accent) 40%,transparent);
  background:
    linear-gradient(160deg,color-mix(in srgb,var(--pb-ink) 10%,transparent),transparent 55%),
    color-mix(in srgb,var(--pb-bg) 55%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 10%,transparent),0 1px 0 rgba(90,70,45,.35);
  z-index:1}
.ch-m-icwrap--photo{padding:3px}
.ch-m-icwrap--picto{color:var(--pb-accent)}
.ch-m-ic{width:100%;height:100%;object-fit:contain;border-radius:8px;
  background:transparent;padding:0;box-sizing:border-box;display:block}
.ch-m-ic--glyph{padding:4px;filter:drop-shadow(0 0 1px color-mix(in srgb,var(--pb-accent) 45%,transparent))}
.ch-m-ic--photo{object-fit:cover;border-radius:8px}
.ch-m-ic--ph{display:grid;place-items:center;width:100%;height:100%;color:var(--pb-accent)}
.ch-m-ic-svg{display:block}
.ch-m-tx{display:flex;flex-direction:column;min-width:0;z-index:1;flex:1}
.ch-m-nm{font-weight:600;font-size:14.5px;line-height:1.15;color:var(--pb-ink);letter-spacing:.005em}
.ch-m-tg{font-size:11.5px;color:var(--pb-muted);margin-top:3px;line-height:1.25}
.ch-m-go{display:none}
/* Only panels without a stage carry this. It bleeds past the card corner on purpose — inside a
   showroom that reads as a smudge, which is why cardHtml no longer emits it there. */
.ch-m-ph{position:absolute;right:-8px;bottom:-10px;height:64px;width:auto;object-fit:contain;
  opacity:.16;pointer-events:none;transition:opacity .2s,transform .2s}
.ch-m-card:hover .ch-m-ph{opacity:.34;transform:scale(1.06)}
.ch-m-feat .ch-m-ft{display:block;font-size:17px;font-weight:700;margin:0 0 8px;letter-spacing:.01em;color:var(--pb-ink)}
.ch-m-feat .ch-m-fp,.ch-m-feat p{margin:0;color:var(--pb-muted);font-size:13.5px;line-height:1.5}
.ch-m-about p{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--pb-ink-2)}
.ch-m-co{font-weight:600;font-size:13.5px;margin:0 0 10px;color:var(--pb-ink)}
.ch-m-line{font-size:13.5px;margin:0 0 8px;color:var(--pb-ink);line-height:1.4}
.ch-m-line a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s,color .12s}
.ch-m-line a:hover{color:var(--pb-accent);border-bottom-color:color-mix(in srgb,var(--pb-accent) 50%,transparent)}
/* contacts — rich О-компании + Контакты (boss ref) */
.ch-m-cols--con{gap:28px 48px;align-items:start}
.ch-m-aov{color:var(--pb-accent);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:0 0 14px}
.ch-m-atitle{color:var(--pb-muted);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:0 0 12px}
.ch-m-atext{margin:0 0 18px;font-size:14px;line-height:1.55;color:var(--pb-ink-2);max-width:460px}
.ch-m-chips{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}
.ch-m-chip{display:inline-block;padding:7px 15px;border:1px solid color-mix(in srgb,var(--pb-accent) 32%,transparent);border-radius:999px;font-size:12.5px;color:var(--pb-ink)}
.ch-m-aboutlink{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--pb-ink);text-decoration:none}
.ch-m-aboutlink:hover{color:var(--pb-accent)}
.ch-m-con-right .ch-m-co{font-size:18px;font-weight:700;margin:0 0 18px;color:var(--pb-ink)}
.ch-m-crow{display:flex;gap:12px;align-items:flex-start;margin:0 0 15px}
.ch-m-cico{flex:none;margin-top:1px;color:var(--pb-accent);line-height:0}
.ch-m-clab{color:var(--pb-accent);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:0 0 3px}
.ch-m-cval{font-size:14.5px;color:var(--pb-ink);line-height:1.4}
.ch-m-cval a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s,color .12s}
.ch-m-cval a:hover{color:var(--pb-accent);border-bottom-color:color-mix(in srgb,var(--pb-accent) 50%,transparent)}
.ch-m-legal{font-size:12px;color:var(--pb-muted);border-top:1px solid color-mix(in srgb,var(--pb-accent) 20%,transparent);padding-top:14px;margin:4px 0 18px}
.ch-m-conbtn{display:inline-flex;align-items:center;padding:11px 22px;border-radius:999px;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--pb-accent-ink);background:var(--pb-accent);transition:background .18s}
.ch-m-conbtn:hover{background:var(--pb-accent-hi)}
.ch-h-link[data-mega-open]{cursor:pointer}


.ch-footer{position:relative;z-index:2;overflow:hidden;
  margin-top:32px;
  border-top:1px solid color-mix(in srgb,var(--pb-accent2) 28%,transparent);
  background:linear-gradient(180deg,var(--pb-surface) 0%,var(--pb-bg) 60%,var(--pb-bg) 100%);
  padding:14px 28px 0;
  color:color-mix(in srgb,var(--pb-ink) 72%,transparent);font-size:14px;
  font-family:var(--pb-font-body,var(--pb-font),system-ui,-apple-system,sans-serif)}
.ch-footer::before{content:none}
/* One grid (owner 29.09): the footer's left and right edges sit on the page content frame —
   1320 px and the site gutter on inner pages, the 1560 frame with its inner gutter on home —
   so the footer mark lines up with the header logo and the content above. Phone keeps its own padding. */
@media(min-width:721px){
  .ch-footer{padding-inline:max(clamp(20px,3.4vw,56px),calc((100% - var(--pb-content,1320px)) / 2))!important}
  body.pb-page-home-v20 .ch-footer{padding-inline:calc(max(0px,(100% - 1560px) / 2) + clamp(20px,3.4vw,56px))!important}
}
/* Owner 29.09: the address line sits on the logo/nav axis; phone and e-mail group below it.
   Columns align to the top; small offsets put the centres of logo (32), nav link (26) and first
   contact line (18) on one line (measured: 1173 / 1173 / 1173 at 1440). */
@media(min-width:721px){
  .ch-footer .ch-f-inner{align-items:start!important}
  .ch-footer .ch-f-nav{padding-top:3px!important}
  .ch-footer .ch-f-contacts{padding-top:3px!important}
}
/* home compact desktop: the foyer gutter is 24 px here (foyer.css), the footer follows it */

.ch-f-inner{position:relative;z-index:1;max-width:none;width:100%;margin:0 auto;padding:0 0 8px;box-sizing:border-box;
  display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(0,1.3fr) minmax(160px,.9fr);gap:8px 24px;align-items:center}
.ch-f-brand{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0}
.ch-f-tile{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;
  padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.ch-f-logo{height:32px;width:auto;max-width:min(160px,40vw);display:block;object-fit:contain;opacity:.95}
/* light theme: the white mark inverted in lightness, hue kept (no short colour mark exists yet) */
html[data-theme="light"] .ch-f-logo{filter:invert(1) hue-rotate(180deg) saturate(1.2)}
.ch-f-tag{margin:10px 0 8px;color:var(--pb-ink);font-size:clamp(18px,1.8vw,22px);font-weight:620;letter-spacing:-.01em}
.ch-footer .ch-f-desc,.ch-footer p.ch-f-desc,
html[data-theme="light"] .ch-footer .ch-f-desc,html[data-theme="light"] .ch-footer p{
  margin:0;max-width:34em;color:var(--pb-ink-2)!important;font-size:13px;line-height:1.55}
.ch-f-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;min-width:0}
.ch-f-col-t{margin:0 0 12px;color:color-mix(in srgb,var(--pb-ink) 92%,transparent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ch-f-col-t::after{content:"";display:block;width:26px;height:2px;margin-top:8px;background:var(--pb-accent);border-radius:2px}
.ch-f-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.ch-f-list li{margin:0}
.ch-f-link{display:inline-flex;align-items:center;min-height:0;margin:0;padding:2px 0;color:color-mix(in srgb,var(--pb-ink) 72%,transparent);text-decoration:none;font-size:14px;
  box-sizing:border-box;transition:color .18s ease}
button.ch-f-link{appearance:none;border:0;background:none;font-family:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;cursor:pointer}
.ch-f-link:hover{color:var(--pb-accent-hi)}
.ch-f-contacts{display:flex;flex-direction:column;gap:2px}
.ch-f-co{font-weight:600;font-size:14px;color:var(--pb-ink);margin:0 0 4px}
.ch-f-line{font-size:13.5px;line-height:1.35;color:color-mix(in srgb,var(--pb-ink) 72%,transparent);margin:4px 0}
.ch-footer > .ch-f-partner{display:flex;align-items:center;justify-content:flex-start;gap:14px;margin:16px 0;padding:12px 0;max-width:none;font-size:13px;line-height:1.4;color:color-mix(in srgb,var(--pb-ink) 66%,transparent)}
.ch-f-partner-mark{height:24px;width:auto;max-width:132px;object-fit:contain;display:block;flex:none}
.ch-f-partner span{max-width:none}
.ch-f-line a.ch-f-link{margin:0;display:inline;min-height:0;padding:0}
.ch-f-legal-a{min-height:44px;display:inline-flex;align-items:center;padding:10px 4px;box-sizing:border-box}
.ch-f-muted{font-size:12px;color:color-mix(in srgb,var(--pb-ink) 66%,transparent);margin-top:6px}
.ch-f-socials{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0}
.ch-f-soc{display:grid;place-items:center;width:44px;height:44px;padding:0;
  border-radius:14px;border:1px solid color-mix(in srgb,var(--pb-accent2) 30%,transparent);
  background:linear-gradient(150deg,color-mix(in srgb,var(--pb-surface-2) 35%,transparent),color-mix(in srgb,var(--pb-bg) 50%,transparent));
  color:color-mix(in srgb,var(--pb-accent-hi) 80%,transparent);text-decoration:none;
  transition:border-color .2s,transform .18s,color .2s}
.ch-f-soc svg{width:21px;height:21px}
.ch-f-soc:hover{border-color:color-mix(in srgb,var(--pb-accent2) 55%,transparent);transform:translateY(-2px);color:var(--pb-accent-hi)}
.ch-f-bar{position:relative;z-index:1;border-top:1px solid color-mix(in srgb,var(--pb-ink) 8%,transparent)}
.ch-f-bar-in{max-width:none;width:100%;margin:0;padding:8px 0;
  display:flex;justify-content:space-between;align-items:center;gap:10px 18px;flex-wrap:wrap;
  color:color-mix(in srgb,var(--pb-ink) 66%,transparent);font-size:11.5px}
.ch-f-copy{letter-spacing:.01em;font-size:11.5px}
.ch-f-legal{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}
.ch-f-legal-a{font-size:11.5px;color:color-mix(in srgb,var(--pb-ink) 66%,transparent);font-weight:500;
  text-decoration:underline;text-underline-offset:3px}
.ch-f-legal-a:hover{color:var(--pb-accent-hi)}
.ch-f-dot{opacity:.4;user-select:none}
.ch-f-face{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid color-mix(in srgb,var(--pb-accent2) 28%,transparent);border-radius:999px;padding:4px 10px;color:color-mix(in srgb,var(--pb-ink) 66%,transparent)}


/*
  Подвал на телефоне · владелец и опись Кодекса F-390-footer, 13.08.
  Замер до: 900–912 px на всех 22 маршрутах — это не мобильная раскладка, а десктопные
  колонки, сложенные в столбик, то есть лишний экран из ссылок перед концом страницы.
  Здесь он собирается заново: воздух вдвое меньше, слоган и адрес перестают растягиваться
  на всю ширину, ссылки идут в две колонки плотнее, юридическая строка не занимает
  отдельный этаж. Ничего не выбрасываем — всё то же, но вдвое ниже.
  Габарит нажатия 44 px у ссылок сохраняется: он задан выше и здесь не трогается.
*/


.mrl-fti{display:inline-grid;place-items:center;line-height:0;flex:none;color:inherit}
.mrl-fti svg{display:block;width:1em;height:1em}
.mrl-doc-ic .mrl-fti,.mrl-doc-ic .mrl-fti svg{width:40px;height:40px}
.pb-doc-ic .mrl-fti,.pb-doc-ic .mrl-fti svg{width:40px;height:40px}
.dc-sil .mrl-fti,.dc-sil .mrl-fti svg{width:38px;height:38px}
.asset-glyph .mrl-fti,.asset-glyph .mrl-fti svg{width:36px;height:36px}
.m-slot .mrl-fti,.m-slot .mrl-fti svg,.m-glyph .mrl-fti,.m-glyph .mrl-fti svg{width:22px;height:22px}
.mrl-fti-slot{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;line-height:0}
.mrl-fti-slot .mrl-fti,.mrl-fti-slot .mrl-fti svg{width:42px;height:42px}
.pb-col--doc .mrl-fti-slot{flex:0 0 42px}
.ch-f-legal-a,.ch-f-link:has(>.mrl-fti){display:inline-flex;align-items:center;gap:6px}
.ch-f-legal-a .mrl-fti,.ch-f-legal-a .mrl-fti svg,
.ch-f-link > .mrl-fti,.ch-f-link > .mrl-fti svg{width:14px;height:14px;flex:none}
.pb-ct-file-card .ic .mrl-fti,.pb-ct-file-card .ic .mrl-fti svg{width:28px;height:28px}
.docs-item{display:flex;align-items:center;gap:10px}
.docs-item .mrl-fti,.docs-item .mrl-fti svg{width:28px;height:28px}
.quiz-agree a:has(>.mrl-fti),.mfq-consent a:has(>.mrl-fti){display:inline-flex;align-items:center;gap:6px;vertical-align:baseline}
.quiz-agree .mrl-fti,.quiz-agree .mrl-fti svg,
.mfq-consent .mrl-fti,.mfq-consent .mrl-fti svg{width:14px;height:14px;flex:none}


/* place = (100vw - --pb-content) / 2 · never pin to the window edge */
nav.pb-sp[data-pb-section-rail]{
  --pb-gutter:calc((100vw - var(--pb-content,1320px)) / 2);
  --pb-rail-gap:12px;
  --pb-rail-w:min(46px, calc(var(--pb-gutter) - 12px));
  box-sizing:border-box;
  position:fixed;z-index:85;top:50%;transform:translateY(-50%);
  display:none;flex-direction:column;gap:2px;
  border-radius:22px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--pb-surface-2) 72%,transparent),color-mix(in srgb,var(--pb-bg) 78%,transparent));
  border:1px solid color-mix(in srgb,var(--pb-accent2) 38%,transparent);
  backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 8%,transparent),0 20px 50px -22px #000,0 0 36px color-mix(in srgb,var(--pb-accent2) 6%,transparent);
  max-height:min(78vh,640px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;
}
nav.pb-sp[data-pb-section-rail]::-webkit-scrollbar{display:none}
nav.pb-sp[data-pb-section-rail] a{
  display:grid;align-items:center;min-width:0;
  color:color-mix(in srgb,var(--pb-ink) 66%,transparent);text-decoration:none;
  border:1px solid transparent;border-radius:14px;
  transition:all .3s cubic-bezier(.16,1,.3,1);
}
nav.pb-sp[data-pb-section-rail] a i{
  font:10px/1 ui-monospace,Menlo,Consolas,monospace;font-style:normal;font-weight:700;letter-spacing:.04em;
  color:color-mix(in srgb,var(--pb-ink) 66%,transparent);width:22px;height:22px;border-radius:8px;
  display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--pb-accent2) 22%,transparent);background:color-mix(in srgb,var(--pb-bg) 50%,transparent);
  transition:all .3s cubic-bezier(.16,1,.3,1);
}
nav.pb-sp[data-pb-section-rail] a span{
  font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
nav.pb-sp[data-pb-section-rail] a:hover{color:var(--pb-ink);background:color-mix(in srgb,var(--pb-ink) 6%,transparent)}
nav.pb-sp[data-pb-section-rail] a:hover i{border-color:color-mix(in srgb,var(--pb-accent2) 45%,transparent);color:var(--pb-accent-hi)}
nav.pb-sp[data-pb-section-rail] a.is-on,nav.pb-sp[data-pb-section-rail] a.on{
  color:var(--pb-ink);background:color-mix(in srgb,var(--pb-accent2) 16%,transparent);border-color:color-mix(in srgb,var(--pb-accent2) 35%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pb-accent2) 12%,transparent);
}
nav.pb-sp[data-pb-section-rail] a.is-on i,nav.pb-sp[data-pb-section-rail] a.on i{
  background:linear-gradient(180deg,var(--pb-accent-hi),var(--pb-accent));color:var(--pb-accent-ink);border-color:transparent;
}
nav.pb-sp[data-pb-section-rail][data-rail="icons"]{
  display:flex;width:var(--pb-rail-w);padding:8px 4px;
  left:calc(var(--pb-gutter) - var(--pb-rail-w) - var(--pb-rail-gap));
}
nav.pb-sp[data-pb-section-rail][data-rail="icons"] a{
  grid-template-columns:22px;gap:0;padding:8px 5px;justify-content:center;
}
nav.pb-sp[data-pb-section-rail][data-rail="icons"] a span{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;
}
nav.pb-sp[data-pb-section-rail][data-rail="labels"]{
  display:flex;width:180px;padding:10px 8px;
  left:calc(var(--pb-gutter) - 180px - var(--pb-rail-gap));
}
nav.pb-sp[data-pb-section-rail][data-rail="labels"] a{
  grid-template-columns:22px 1fr;gap:8px;padding:9px 10px;justify-content:start;
}
nav.pb-sp[data-pb-section-rail][data-rail="labels"] a span{max-width:7.5em}
nav.pb-sp[data-pb-section-rail].is-on-hero,
nav.pb-sp[data-pb-section-rail][data-rail="off"]{display:none!important}

body.pb-page-home-v20 nav.pb-sp,
body.pb-page-livehome nav.pb-sp{display:none!important}
/* spare the services_path block — it is the designed rail, not leftover chrome */
nav.pb-sp:not([data-pb-section-rail]):not([data-pb-kind="services_path"]){display:none!important}

.pb-dock-layer,.pb-dock,.pb-dock-scrim,.pb-dock-wheel{display:none}


/* Phone layout: the bottom dock replaces the desktop header clearance. */

@media(prefers-reduced-motion:reduce){
  .pb-dock,.pb-dock-wheel,.pb-dock-card{transition:none!important}
}
@media(max-width:390px){
  html{--pb-picto-tile:48px;--pb-picto-glyph:28px}
}@media(max-width:720px){
  main.pb-page > .pb-section + .pb-section{
    margin-top:clamp(36px,10vw,56px)!important;
  }
}@media(max-width:720px){
  .ch-h-burger{display:inline-grid!important}
  html:has(.pb-dock) .ch-h-burger,
  html:has(.pb-dock) .ch-h-nav,
  html:has(.pb-dock) .ch-header.is-nav-open .ch-h-nav{display:none!important}
  html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-nav-open .ch-h-nav,
  html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-nav-open .ch-h-nav[data-quiet-bay],
  html[data-theme="light"] body .ch-header.is-nav-open .ch-h-nav,
  body.pb-page-home-v20 .ch-header.is-nav-open .ch-h-nav,
  body.pb-page-bortbiz .ch-header.is-nav-open .ch-h-nav,
  body.pb-page-bortbizplan .ch-header.is-nav-open .ch-h-nav,
  body.pb-page-services-v2 .ch-header.is-nav-open .ch-h-nav{
    display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    position:fixed!important;left:0!important;right:0!important;
    top:var(--ch-header-h,62px)!important;bottom:0!important;
    width:auto!important;max-width:none!important;min-width:0!important;transform:none!important;
    flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;
    justify-content:flex-start!important;gap:4px!important;padding:16px 20px 28px!important;
    border-radius:0!important;z-index:59!important;overflow:auto!important;
    background:color-mix(in srgb,var(--pb-bg) 94%,transparent)!important;
    border:0!important;border-top:1px solid var(--pb-line)!important;
    box-shadow:none!important;
  }
}@media(max-width:900px){
  .pb-py--band{padding:90px 22px;padding-top:90px;padding-bottom:90px;padding-left:22px;padding-right:22px}
  .pb-py--section{padding:80px 22px;padding-top:80px;padding-bottom:80px;padding-left:22px;padding-right:22px}
  .pb-py--section-sm{padding:56px 16px;padding-top:56px;padding-bottom:56px;padding-left:16px;padding-right:16px}
}@media(max-width:719px){
  .pb-row--has-cols.pb-row--stack{grid-template-columns:1fr !important}
}@media(max-width:480px){
  .pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit):not(:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit)){
    grid-template-columns:1fr !important;
  }
}@media(max-width:720px){
  .pb-gallery--cols-3,.pb-gallery--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}@media(max-width:420px){
  .pb-gallery--cols-2,.pb-gallery--cols-3,.pb-gallery--cols-4{grid-template-columns:1fr}
}@media(max-width:900px){.pb-fc--field .pb-fc-fieldgrid{grid-template-columns:1fr}}@media(max-width:900px){.pb-fc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.pb-fc-grid{grid-template-columns:1fr!important}}@media(max-width:900px){.pb-fc-advgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pb-fc-advgrid{grid-template-columns:1fr}}@media(max-width:1100px){
  .pb-fc-railgrid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:64px}}@media(max-width:900px){.pb-fc-railgrid::before{display:none}.pb-fc-railgrid{padding-bottom:0;margin-top:40px}
  .pb-fc-payl{margin-bottom:70px}
  .pb-fc-railgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.pb-fc-railgrid{grid-template-columns:1fr}}@media(max-width:1100px){
  .pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image),
  #gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image){
    grid-template-columns:1fr!important;gap:22px}
  .pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) .pb-fc-call::after,
  .pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-block--image) .pb-fc-call-dot{display:none!important}
  .pb-row--has-cols:has(> .pb-col + .pb-col + .pb-col):has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:has(> .pb-block--image)::before,
  #gcs .pb-row--has-cols:has(> .pb-col .pb-fc--callout):has(> .pb-col .pb-block--image) > .pb-col--explicit:has(> .pb-block--image)::before{inset:-10px}
}@media(max-width:900px){
  .pb-fc--flow .pb-fc-flow{grid-template-columns:1fr;gap:36px}
  .pb-fc--flow .pb-fc-flow::before{display:none}
  .pb-fc-flow-step{padding:0}
}@media(max-width:900px){
  .pb-hw-grid{grid-template-columns:1fr;gap:36px}
  .pb-hw-win{transform:none;animation:none}
  .pb-hw-win-img{max-height:min(360px,48vh)}
  .pb-hw-tag{right:8px;bottom:8px}
}@media(max-width:900px){
  .pb-fc--dial .pb-fc-dial{grid-template-columns:1fr 1fr}
  .pb-fc-dial-cell:nth-child(3n){border-right:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 18%,transparent)}
  .pb-fc-dial-cell:nth-child(2n){border-right:0}
  .pb-fc-dial-cell:nth-last-child(-n+3){border-bottom:1px solid color-mix(in srgb,var(--pb-copper,var(--pb-accent)) 18%,transparent)}
  .pb-fc-dial-cell:nth-last-child(-n+2){border-bottom:0}
}@media(max-width:560px){
  .pb-fc--dial .pb-fc-dial{grid-template-columns:1fr}
  .pb-fc-dial-cell{border-right:0!important;min-height:0}
  .pb-fc-dial-cell:last-child{border-bottom:0}
}@media(max-width:720px){
  .pb-fc-proof-row{grid-template-columns:1fr}
  .pb-fc-proof-row--flip .pb-fc-proof-media,.pb-fc-proof-row--flip .pb-fc-proof-copy{order:unset}
}@media(max-width:900px){
  .pb-fc--spotlight .pb-fc-spot,
  .pb-fc--spotlight .pb-fc-spot--stage{grid-template-columns:1fr}
  .pb-fc-spot-stage{min-height:220px;height:auto;aspect-ratio:16/10}
  .pb-fc-spot-sats--rows2{height:auto;grid-template-rows:auto auto}
}@media(max-width:560px){
  .pb-fc-spot-sats--rows2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
}@media(max-width:480px){
  .pb-fc-spot-sats{grid-template-columns:1fr 1fr;gap:8px}
  .pb-fc-spot-sats--rows2{grid-template-columns:1fr 1fr}
  .pb-fc-spot-sat{padding:12px 12px 13px;gap:8px;height:auto}
  .pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic{width:64px;height:64px}
  .pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic .pb-picto,
  .pb-fc--spotlight .pb-fc-spot-sat .pb-fc-ic-img{width:40px;height:40px}
  .pb-fc-spot-sat-t{font-size:.88rem}
  .pb-fc-spot-sat-b{font-size:.74rem}
}@media(max-width:900px){.pb-fc-dial{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-fc--spotlight .pb-fc-spot{grid-template-columns:1fr}}@media(max-width:620px){.pb-fc--dial{padding:18px 14px;border-radius:16px}.pb-fc-dial{grid-template-columns:1fr}.pb-fc-dial-cell{min-height:160px}.pb-fc-proof-row{grid-template-columns:1fr}.pb-fc-proof-row--flip .pb-fc-proof-media{order:0}.pb-fc-proof-media{min-height:210px}.pb-fc-proof-copy{padding:24px 6px 34px}}@media(max-width:860px){.pb-mat-row{grid-template-columns:1fr;align-items:start}}@media(max-width:800px){.pb-proof,.pb-proof--copy-image{grid-template-columns:1fr}}@media(max-width:900px){
  .pb-col:has(> .pb-block--proof + .pb-block--proof){
    grid-template-columns:1fr!important;gap:16px!important}
  .pb-proof--tile,.pb-proof--tile.pb-proof--copy-image{grid-template-columns:1fr;gap:12px;padding:10px}
  .pb-proof--tile .pb-proof-media::before{padding-top:58%}
  .pb-proof--tile .pb-proof-copy{padding:2px 2px 6px}
  .pb-proof--tile .pb-proof-evidence{-webkit-line-clamp:6}
}@media(max-width:860px){.pb-spec-pair,.pb-spec-pair--media-first{grid-template-columns:1fr}}@media(max-width:860px){
  .pb-spec-pair-media{min-height:240px;height:auto;aspect-ratio:16/11}
  .pb-spec-pair .pb-spec-table{max-width:100%}
}@media(max-width:480px){
  html,body{overflow-x:hidden}
  .pb-page{overflow-x:hidden;max-width:100%}
  .pb-section{max-width:100%}
  .pb-px--md{padding-inline:16px}
  .pb-px--lg{padding-inline:16px}
  /* pad steps stay distinct on phone (ROUND_HERO_FIX — never one blanket for all) */
  .pb-page > .pb-section.pb-py--none{padding-block:0!important}
  .pb-page > .pb-section.pb-py--sm{padding-block:16px!important}
  .pb-page > .pb-section.pb-py--md{padding-block:28px!important}
  .pb-page > .pb-section.pb-py--lg{padding-block:40px!important}
  .pb-page > .pb-section.pb-py--xl{padding-block:56px!important}
  .pb-page > .pb-section.pb-py--2xl{padding-block:72px!important}
  .pb-chrome-inner{padding-inline:16px;gap:8px}
  .pb-text--h1{
    font-size:clamp(1.35rem,7.5vw,1.85rem)!important;
    line-height:1.15!important;
    letter-spacing:-.01em!important;
    overflow-wrap:anywhere;
    word-break:break-word;
    max-width:100%;
    hyphens:auto;
  }
  .pb-text--h2{font-size:clamp(1.15rem,5.8vw,1.45rem)!important;overflow-wrap:anywhere}
  .pb-text--lead{font-size:1rem!important;max-width:100%}
  .pb-chips{
    display:flex;flex-wrap:wrap;justify-content:center;
    gap:6px;margin-top:10px;padding-inline:2px;max-width:100%;
    box-sizing:border-box;
  }
  .pb-chip{padding:5px 10px;font-size:11px;max-width:100%}
  .pb-cta-row{
    display:flex;flex-wrap:wrap;justify-content:center;
    gap:10px;margin-top:16px;padding-inline:2px;max-width:100%;
    box-sizing:border-box;
  }
  .pb-cta{
    max-width:100%;
    justify-content:center;
    min-height:48px; /* touch target */
    text-align:center;
    padding:11px 16px;
    font-size:13px;
  }
  .pb-band-inner{padding-inline:8px;max-width:100%}
  .pb-row{max-width:100%;padding-inline:0}
  /* phone product DNA — pad steps set above, no blanket override */
  .agf-cards,.agf-cards--4,.agf-cards--6,.agf-cards--adv{grid-template-columns:1fr!important}
  .pb-spec-table,.agf-pp-table,.agf-kit{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pb-spec-table table,.agf-pp-table{min-width:min(100%,520px)}
  .m3-item--hero .m3-viewer{transform:none!important}
  .agf-h2,.agf-sh .agf-h2{font-size:clamp(1.2rem,5.5vw,1.55rem)!important}
}@media(min-width:481px) and (max-width:900px){
  .pb-px--md,.pb-px--lg{padding-inline:clamp(16px,3.2vw,28px)}
  /* padY steps remain the control — mild fold scale, still distinct */
  .pb-page > .pb-section.pb-py--sm{padding-block:20px!important}
  .pb-page > .pb-section.pb-py--md{padding-block:40px!important}
  .pb-page > .pb-section.pb-py--lg{padding-block:64px!important}
  .pb-page > .pb-section.pb-py--xl{padding-block:88px!important}
  .pb-page > .pb-section.pb-py--2xl{padding-block:112px!important}
  .agf-cards--adv,.agf-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pb-text--h1{font-size:clamp(1.55rem,4.2vw,2.2rem)!important}
  /* short fold height: don't force full-svh hero plate */
  .pb-page[data-page] > section.pb-section:first-of-type{
    min-height:auto!important;
  }
}@media(max-width:900px){
  .m3-item--hero,.m3-item--hero .m3-stage,.m3-item--hero .m3-poster,.m3-item--hero .m3-viewer,
  .m3-item--hero babylon-viewer{
    max-width:100%!important;width:100%!important;box-sizing:border-box!important}
  .m3-item--hero .m3-stage{overflow:hidden!important}
  .m3-item--hero .m3-viewer,.m3-item--hero babylon-viewer{
    transform:none!important;
    left:0!important;right:0!important}
  .m3-item--hero .m3-poster{object-fit:contain!important;padding:2% 4%!important}
  .pb-text a,.agf-para a,.agf-close a,a.agf-quiet{
    display:inline-flex;align-items:center;min-height:44px;
    padding:10px 2px;margin:-10px 0;box-sizing:border-box}
  /* tables always scrollable — !important beats page-local overflow:hidden */
  .pb-spec-table,.agf-pp-table,.agf-kit,.pb-block--spec_table,
  .pb-col:has(.pb-spec-table),.pb-col:has(.agf-pp-table),
  [data-pb-id*="spec"],#specs .pb-col,#specs .pb-row{
    max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .pb-spec-table table,.agf-pp-table table,table.pb-spec,.agf-pp-table{
    width:max-content;max-width:none;min-width:100%}
}@media(max-height:480px) and (min-width:640px),
       (max-width:960px) and (orientation:landscape) and (max-height:560px){
  .pb-page .pb-row--has-cols,
  .pb-page .pb-row.pb-cols--2,
  .pb-page .pb-row[style*="grid-template"],
  #specs .pb-row,#powerplant .pb-row,#range .pb-row,#gcs .pb-row{
    grid-template-columns:1fr!important;
    display:grid!important}
  .pb-page .pb-col--explicit,
  .pb-page .pb-col{
    min-width:0!important;max-width:100%!important}
  .pb-spec-table,.agf-pp-table,.pb-block--spec_table,.agf-kit,
  #specs .pb-col,#specs [data-pb-id]{
    overflow-x:auto!important;max-width:100%!important;
    -webkit-overflow-scrolling:touch}
  .pb-spec-table table,.agf-pp-table table{
    width:100%!important;max-width:100%!important}
}@media(max-width:480px){
  .m3-item--hero .m3-stage{height:min(52vw,320px)!important;min-height:220px!important}
}@media(max-width:720px){
  .pb-mr[data-mr-kind="frame"] .pb-mr-child:nth-child(odd),
  .pb-mr[data-mr-kind="frame"] .pb-mr-child:nth-child(even){
    transform:translate3d(0,36px,0) scale(.94)}
}@media(max-width:900px),
       (max-height:480px) and (min-width:640px),
       (max-width:960px) and (orientation:landscape) and (max-height:560px){
  .pb-mr[data-mr-kind="dock"] .pb-mr-media,
  .pb-mr[data-mr-kind="dock"] .pb-mr-copy{transform:translate3d(0,32px,0)!important}
}@media(max-width:560px){
  .pb-row--has-cols:has(> .pb-col--explicit + .pb-col--explicit + .pb-col--explicit):not(:has(.pb-fc--callout)):has(> .pb-col--explicit > .pb-block--image:first-child .pb-img:not([src$=".svg"]):not([src*="map"])){
    grid-template-columns:1fr!important}
}@media(max-width:860px){
  #hero .pb-row,#hero .mrl-hero-grid,
  .mrl-hero .mrl-hero-grid,
  .pb-block--hero_pool .mrl-hero-grid{
    grid-template-columns:1fr!important;
    gap:clamp(16px,4vw,28px)!important;
    align-items:stretch!important;
  }
  #hero .mrl-hero-media,
  .mrl-hero .mrl-hero-media,
  .pb-block--hero_pool .mrl-hero-media{
    order:-1; /* media above copy on small screens */
    width:100%!important;
    max-width:100%!important;
  }
  .mrl-hero .mrl-hero-copy,
  .pb-block--hero_pool .mrl-hero-copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  /* H1 must not break mid-token (АГФ-160 / 0) */
  .mrl-hero .mrl-hero-copy .pb-text--h1,
  .pb-block--hero_pool .pb-text--h1,
  #hero .mrl-hero-copy .pb-text--h1{
    font-size:clamp(1.75rem,8.2vw,2.6rem)!important;
    line-height:1.18!important;
    padding-top:.12em;
    letter-spacing:-.02em!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    hyphens:manual!important;
    white-space:normal!important;
  }
  .mrl-hero .mrl-hero-copy .pb-text--lead,
  .mrl-hero .mrl-hero-copy .pb-text--body,
  .pb-block--hero_pool .pb-text--lead,
  .pb-block--hero_pool .pb-text--body{
    max-width:none!important;
    font-size:clamp(14px,3.8vw,16px)!important;
  }
  /* intentional media scale — not a token next to the paragraph */
  .mrl-hero .mrl-hero-slot,
  .mrl-hero .pb-block--glb,
  .mrl-hero .m3-item--hero,
  .mrl-hero .m3-stage,
  .pb-block--hero_pool .mrl-hero-slot,
  .pb-block--hero_pool .pb-block--glb,
  .pb-block--hero_pool .m3-stage,
  #hero .pb-block--glb,#hero .m3-item--hero,#hero .m3-stage{
    min-height:min(42vh,320px)!important;
    height:min(42vh,320px)!important;
    width:100%!important;
    max-width:100%!important;
  }
  .mrl-hero .mrl-hero-img,
  .mrl-hero .mrl-hero-video,
  .pb-block--hero_pool .mrl-hero-img{
    height:min(42vh,320px)!important;
    object-fit:contain!important;
  }
  .mrl-hero .mrl-hero-ctas,
  .pb-block--hero_pool .mrl-hero-ctas{
    margin-top:12px!important;
    flex-wrap:wrap;
    gap:10px!important;
  }
  .mrl-hero .mrl-hero-ctas .pb-cta,
  .pb-block--hero_pool .mrl-hero-ctas .pb-cta{
    min-height:44px;
    flex:1 1 auto;
  }
}@media(max-width:420px){
  .mrl-hero .mrl-hero-copy .pb-text--h1,
  .pb-block--hero_pool .pb-text--h1{
    font-size:clamp(1.55rem,9vw,2.1rem)!important;
  }
}@media(max-width:960px){
  .pb-row--has-cols:has(> .pb-col--explicit img[src*="sw-"]){grid-template-columns:repeat(3,minmax(0,1fr))!important}
}@media(max-width:560px){
  .pb-row--has-cols:has(> .pb-col--explicit img[src*="sw-"]){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}@media(max-width:860px){
  .pb-page[data-page^="agf-"] > section.pb-section:first-of-type,
  .pb-page[data-page="horizont-em"] > section.pb-section:first-of-type,
  .pb-page[data-page="magnitometr"] > section.pb-section:first-of-type,
  .pb-page[data-page="gamma-spektrometr"] > section.pb-section:first-of-type,
  .pb-page[data-page="pulsx"] > section.pb-section:first-of-type,
  .pb-page[data-page="agp-grav"] > section.pb-section:first-of-type,
  .pb-page[data-page="basemaster"] > section.pb-section:first-of-type,
  .pb-page[data-page="basemasterm"] > section.pb-section:first-of-type,
  .pb-page[data-page="unimaster"] > section.pb-section:first-of-type{
    min-height:auto!important;
    justify-content:flex-start!important;
  }
}@media(max-width:720px){
  .agf-cards,.agf-cards--4,.agf-cards--6{grid-template-columns:1fr!important}
}@media(max-width:640px){.agf-dna{grid-template-columns:1fr!important}}@media(max-width:720px){.agf-list--grouped{grid-template-columns:1fr!important}}@media(max-width:720px){
  .pb-stats--chips{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}@media(max-width:400px){
  .pb-stats--chips{grid-template-columns:1fr!important}
}@media(max-width:900px){.pb-fc-plaque{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.pb-fc-plaque{grid-template-columns:1fr!important}}@media(max-width:900px){
  /* tablet: drop monograms, two compact tiles with air */
  .pb-fc-grid--vcards.pb-fc-grid--ornament{
    grid-template-columns:repeat(2,minmax(0,var(--pb-fc-card,263px)))!important;
    justify-content:space-evenly!important;
    column-gap:28px!important;row-gap:28px!important}
  .pb-fc-grid--ornament .pb-fc-ornament{display:none}
}@media(max-width:720px){
  .pb-fc-grid--autofit{--pb-fc-min:min(100%,160px)}
}@media(max-width:560px){
  .pb-fc-grid--vcards.pb-fc-grid--ornament{
    grid-template-columns:minmax(0,var(--pb-fc-card,263px))!important;
    justify-content:center!important}
}@media(max-width:480px){
  .pb-fc-vcard{padding:10px 10px 12px;gap:8px}
  .pb-fc-grid--autofit{--pb-fc-min:min(100%,140px)}
  .pb-fc-vcard-b{-webkit-line-clamp:4}
}@media(max-width:720px){
  /* два id и повтор класса: правило страницы весит (2,2,1) за счёт #specs и :has(#complex),
     и !important там тоже стоит — обычным селектором его не перебить */
  html body #main #specs .pb-psp-grid.pb-psp-grid,
  html body #main .pb-psp-grid.pb-psp-grid.pb-psp-grid,
  html body #main .pb-psp-grid[data-psp-fig]{grid-template-columns:minmax(0,1fr)!important}
  html body #main .pb-psp-fig{align-self:auto!important}

  /* поверхности на ступень выше фона — только на телефоне */
  html body #main .pb-fc-card,
  html body #main .pb-fc-vcard,
  html body #main .pb-psp-tbl,
  html body #main .pb-psp-fig-in,
  html body #main .pb-doc-card,
  html body #main .pb-mat-doc{
    background:color-mix(in srgb,var(--pb-ink) 7%,color-mix(in srgb,var(--pb-bg) 60%,transparent))!important;
    border-color:color-mix(in srgb,var(--pb-accent2) 34%,transparent)!important;
  }
  /* второстепенный текст: 0.72 на тёмном уходит в нечитаемое при дневном свете */
  html body #main .pb-psp-r span,
  html body #main .pb-psp-text,
  html body #main .pb-fc-card p,
  html body #main .pb-text--body{color:color-mix(in srgb,var(--pb-ink) 86%,transparent)!important}
}@media(max-width:390px){
  html body .pb-feature-cards .pb-panel-ic,
  html body .pb-fc-grid .pb-panel-ic,
  html body .pb-fc-adv-ic,
  html body .pb-fc--plaque .pb-media-slot--icon .pb-fc-ic,
  html body .pb-fc-call .pb-fc-ic,
  html body .pb-fc--callout .pb-fc-ic,
  html body .pb-materials .pb-doc-ic,
  html body .pb-mat-col--docs .pb-doc-ic,
  html body .pb-mat-col--docs .mrl-doc-ic,
  html body #advantages .pb-panel-ic,
  html body.pb-page-agp-grav #advantages .pb-panel-ic,
  html body.pb-page-agp-grav #materials .pb-mat-col--docs .pb-doc-ic,
  html body.pb-page-agf-1600-v2:is(:has(#platform),:has(#complex),:has(#route),:has([data-product="horizont-em"]),.pb-product-hero-mask) #materials .pb-mat-col--docs .pb-doc-ic{
    min-width:48px!important;min-height:48px!important;
  }
  html body .pb-feature-cards .pb-panel-ic .pb-picto,
  html body .pb-feature-cards .pb-panel-ic svg,
  html body .pb-fc-adv-ic .pb-picto,
  html body .pb-fc-adv-ic svg,
  html body .pb-materials .pb-doc-ic .mrl-fti,
  html body .pb-materials .pb-doc-ic svg,
  html body .pb-fc-call .pb-fc-ic .pb-picto,
  html body .pb-fc-call .pb-fc-ic svg,
  html body.pb-page-agp-grav #advantages .pb-panel-ic .pb-picto,
  html body.pb-page-agp-grav #advantages .pb-panel-ic svg{
    min-width:28px!important;min-height:28px!important;
  }
}@media (max-width:1023px){
  body{
    --ntc-kicker:11px;
    --ntc-note:12.5px;
    --ntc-caption:12px;
  }
}@media (max-width:720px){
  body{
    --ntc-section-join:clamp(36px,10vw,56px);
  }
}@media(max-width:720px){
  .ch-h-end{position:fixed!important;top:10px;right:10px;z-index:1000!important}
}@media(max-width:720px){
  html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-end{
    display:flex!important;margin-inline-start:auto!important;
  }
  html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-burger{
    display:inline-grid!important;
  }
  html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-nav{display:none!important}
  html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-nav-open .ch-h-nav,
  html[data-theme="dark"] body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-nav-open .ch-h-nav[data-quiet-bay]{
    display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    position:fixed!important;left:0!important;right:0!important;
    top:var(--ch-header-h,64px)!important;bottom:0!important;
    width:auto!important;max-width:none!important;min-width:0!important;transform:none!important;
    flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;
    justify-content:flex-start!important;gap:4px!important;padding:16px 20px 28px!important;
    border-radius:0!important;z-index:59!important;overflow:auto!important;
    background:color-mix(in srgb,var(--pb-bg) 94%,transparent)!important;
    border:0!important;border-top:1px solid var(--pb-line)!important;
  }
}@media(min-width:721px) and (max-width:1100px){
 html body[class]:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-inner,
 html body[class]:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-inner{
  display:flex!important;width:min(1180px,calc(100% - 2*clamp(18px,3.2vw,40px)))!important;margin-inline:auto!important;height:auto!important;min-height:78px!important;flex-wrap:wrap!important;gap:10px 18px!important;padding:12px 0!important;
 }
 html body[class]:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header .ch-h-nav,
 html body[class]:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header .ch-h-nav[data-quiet-bay],
 html body[class]:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-nav{
  display:flex!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin-left:auto!important;max-width:100%!important;overflow:visible!important;
 }
 html body[class]:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-burger{display:none!important}
}@media(max-width:1280px){
  .ch-h-inner{gap:12px;padding:0 20px}
  .ch-h-logo{max-width:min(200px,28vw)}
  .ch-h-link{padding:10px 9px;font-size:12.5px}
  .ch-h-link::after{left:9px;right:9px}
  .ch-header--quiet-bay .ch-h-inner{gap:12px 18px}
  .ch-header--quiet-bay .ch-h-brand{max-width:min(200px,24vw)}
  .ch-h-nav[data-quiet-bay]{--ch-bay-pad:4px;padding:var(--ch-bay-pad) 7px}
  .ch-h-nav[data-quiet-bay] .ch-h-link{padding:7px 11px;min-height:34px;font-size:12.5px}
}@media(max-width:900px){
  .ch-h-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
  .ch-h-nav::-webkit-scrollbar{display:none}
  .ch-h-link{padding:10px 12px;font-size:12.5px}
  .ch-header--quiet-bay .ch-h-inner{gap:10px 12px}
  .ch-h-nav[data-quiet-bay]{padding:var(--ch-bay-pad) 6px}
  .ch-h-nav[data-quiet-bay] .ch-h-link{padding:7px 9px;font-size:12px}
}@media(max-width:720px){
  .ch-h-inner{display:flex;flex-wrap:wrap;padding:10px 16px;gap:8px;min-height:56px}
  .ch-header--quiet-bay .ch-h-inner{display:flex}
  .ch-h-burger{display:inline-grid}
  html{--ch-header-h:64px}
  .ch-h-nav{display:none;order:3;position:fixed;left:0;right:0;top:var(--ch-header-h,56px);bottom:0;
    z-index:59;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;
    gap:4px;width:auto;max-width:none;padding:16px 20px 28px;overflow:auto;border-radius:0;
    background:color-mix(in srgb,var(--pb-bg) 94%,transparent);
    backdrop-filter:saturate(140%) blur(18px);-webkit-backdrop-filter:saturate(140%) blur(18px);
    border:0;border-top:1px solid var(--pb-line);
    box-shadow:none;
    transform:translateY(-6px);opacity:0;pointer-events:none;
    transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
  .ch-h-nav[data-quiet-bay]{background:color-mix(in srgb,var(--pb-bg) 94%,transparent);
    border:0;box-shadow:none;padding:16px 20px 28px}
  .ch-h-nav-fill{display:none}
  .ch-header.is-nav-open .ch-h-nav{display:flex;transform:translateY(0);opacity:1;pointer-events:auto}
  .ch-h-link{padding:14px 12px;font-size:16px;font-weight:600;border-radius:12px;text-shadow:none}
  .ch-h-link:hover{background:color-mix(in srgb,var(--pb-accent) 8%,transparent)}
  .ch-h-link::after{display:none}
  .ch-h-nav[data-quiet-bay] .ch-h-link:hover,
  .ch-h-nav[data-quiet-bay] .ch-h-link.is-over,
  .ch-h-nav[data-quiet-bay] .ch-h-link.is-on{background:color-mix(in srgb,var(--pb-accent) 8%,transparent);color:var(--pb-ink);text-shadow:none}
  .ch-header.is-nav-open .ch-h-end .ch-h-cta{position:fixed;left:20px;right:20px;bottom:20px;z-index:60;
    min-height:48px;font-size:15px;justify-content:center}
}@media(max-width:720px) and (prefers-reduced-motion:reduce){
  .ch-h-nav{transition:none}
}@media(max-width:900px){
  .ch-m-products--showroom{
    max-height:calc(100svh - var(--ch-h-height,78px) - 12px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .ch-m-exit{
    display:inline-flex;align-items:center;gap:9px;
    position:sticky;top:0;z-index:9;float:right;
    min-height:44px;min-width:44px;padding:0 14px;margin:0 0 4px;
    border-radius:12px;cursor:pointer;font:inherit;font-size:12px;letter-spacing:.06em;
    color:var(--pb-ink);
    border:1px solid color-mix(in srgb,var(--pb-accent2) 42%,transparent);
    background:color-mix(in srgb,var(--pb-bg) 92%,transparent);
    backdrop-filter:blur(8px);
  }
  .ch-m-exit i{font-style:normal;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;opacity:.72}
  .ch-m-exit:hover,.ch-m-exit:focus-visible{border-color:var(--pb-accent2);color:var(--pb-ink)}
}@media(max-width:960px){
  .ch-mega-panel{width:min(96vw,720px)}
  .ch-m-cols,.ch-m-cols--con,.ch-m-cols--showroom{grid-template-columns:1fr;gap:18px}
  .ch-m-feature{min-height:180px}
  .ch-m-grid,.ch-m-grid--showroom{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ch-m-stage,.ch-m-stage--feature{min-height:220px}
  .ch-m-stage-media{max-height:none;aspect-ratio:auto}
}@media(max-width:720px){
  .ch-mega-panel{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;
    max-height:86vh;animation:chMegaUp .22s cubic-bezier(.2,.8,.2,1)}
  .ch-mega-panel:not([hidden]){transform:none}
  @keyframes chMegaUp{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
  .ch-mega-shell{border-radius:18px 18px 0 0;max-height:86vh;padding:20px 16px 28px}
  .ch-m-grid{grid-template-columns:1fr}
  .ch-m-feature{min-height:140px}
  .ch-m-stage,.ch-m-stage--feature{min-height:190px}
}@media(min-width:721px) and (max-width:1100px){
  body.pb-page-home-v20 .ch-footer{padding-inline:24px!important}
}@media(max-width:960px){
  .ch-f-inner{grid-template-columns:1fr 1fr;gap:28px}
  .ch-f-brand{grid-column:1 / -1}
  .ch-f-cols{grid-template-columns:1fr 1fr}
}@media(max-width:640px){
  .ch-f-inner{grid-template-columns:1fr;gap:24px}
  .ch-f-cols{grid-template-columns:1fr 1fr;gap:8px 24px}
  .ch-f-bar-in{flex-direction:column;align-items:flex-start;padding:12px 0;gap:8px}
}@media(max-width:560px){
  .ch-footer{
    margin-top:clamp(32px,6vw,48px)!important;
    padding:clamp(28px,7vw,36px) clamp(16px,4.6vw,20px) 0!important;
    font-size:13px!important;
  }
  .ch-f-inner{gap:18px!important;padding-bottom:10px!important}
  .ch-f-brand{gap:10px!important}
  .ch-f-logo{height:30px!important}
  /* слоган и описание — короткая мера строки, иначе четыре строки вместо двух */
  .ch-f-brand p,.ch-f-tag,.ch-f-about{max-width:34ch!important;margin:0!important;line-height:1.45!important}
  .ch-f-cols{grid-template-columns:1fr!important;gap:2px 18px!important}
  .ch-f-col-t{margin:0 0 6px!important;font-size:11px!important}
  .ch-f-col-t::after{margin-top:5px!important}
  .ch-f-link{padding:9px 0!important;min-height:40px!important}
  .ch-f-legal{gap:4px 14px!important}
  .ch-f-legal-a{min-height:38px!important;padding:7px 0!important}
  .ch-f-bar-in{padding:8px 0 14px!important;gap:4px!important}
  /* Разбор высоты на 390: бренд 271 (из них два описания 38+75), контакты 229, нижняя
     полоса 113. На ноутбуке те же блоки стоят в ряд и дают 409, на телефоне встают
     столбиком — отсюда лишний экран. Второе, длинное описание на телефоне лишнее:
     оно повторяет то, что уже сказано на самой странице. Остальное поджимаем. */
  .ch-f-socials{gap:10px!important;margin-top:2px!important}
  .ch-f-col{gap:6px!important}
  .ch-f-col p,.ch-f-col address,.ch-f-col div{margin:0!important;line-height:1.4!important}
  .ch-f-bar{margin-top:6px!important}
}@media(max-width:720px){
  nav.pb-sp[data-pb-section-rail]{display:none!important}
}@media(max-width:720px){
  /* Own compositor plane, above page 3D desks and hero CTAs. Inert shell —
     only keys / open wheel / scrim receive taps (Codex RETURN 087edc4). */
  .pb-dock-layer{
    display:block;
    position:fixed;inset:0;z-index:10000;
    pointer-events:none;
    isolation:isolate;
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
  }
  html:has(.pb-dock) .ch-h-burger,
  html:has(.pb-dock) .ch-h-cta,
  html:has(.pb-dock) .ch-h-tools,
  html:has(.pb-dock) .ch-h-nav,
  html:has(.pb-dock) .ch-h-brand,
  html:has(.pb-dock) .ch-mega-root,
  html:has(.pb-dock) .ch-mega-scrim,
  html:has(.pb-dock) .pb-winch,
  html:has(.pb-dock) .pb-sp,
  html:has(.pb-dock) body.pb-page-home-v20 .ch-h-burger,
  html:has(.pb-dock) body.pb-page-home-v20 .ch-h-brand,
  html:has(.pb-dock) body.pb-page-home-v20 .ch-h-nav,
  html:has(.pb-dock) body.pb-page-bortbiz .ch-h-burger,
  html:has(.pb-dock) body.pb-page-bortbizplan .ch-h-burger,
  html[data-theme="dark"]:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-burger,
  html[data-theme="dark"]:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-nav,
  html[data-theme="dark"]:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-nav-open .ch-h-nav,
  html:has(.pb-dock) body.pb-page-home-v20 .ch-header.is-nav-open .ch-h-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
  html:has(.pb-dock) .ch-header{
    background:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    border:0!important;
    box-shadow:none!important;
    pointer-events:none;
    transform:none!important;
    opacity:1!important;
  }
  html:has(.pb-dock) .ch-h-theme,
  html:has(.pb-dock) .ch-h-langs,
  html:has(.pb-dock) .ch-h-lang{pointer-events:auto}
  html:has(.pb-dock) .ch-h-inner{
    background:none!important;
    min-height:calc(88px + env(safe-area-inset-top,0px))!important;
    height:auto!important;
    padding:0!important;
  }
  html.pb-dock-scrolled{--ch-header-h:0px}
  html.pb-dock-scrolled .ch-h-inner,
  html.pb-dock-scrolled:has(.pb-dock) .ch-h-inner,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-h-inner,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled .ch-h-inner,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header--quiet-bay.is-scrolled .ch-h-inner,
  html.pb-dock-scrolled:has(.pb-dock) body.pb-page-home-v20 .ch-h-inner,
  html.pb-dock-scrolled:has(.pb-dock) body.pb-page-home-v20 .ch-header.is-scrolled .ch-h-inner{
    min-height:0!important;height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;
  }
  html.pb-dock-scrolled:has(.pb-dock) .ch-header,
  html.pb-dock-scrolled:has(.pb-dock) .ch-header.is-scrolled,
  html.pb-dock-scrolled:has(.pb-dock) .ch-header.is-sticky,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-scrolled,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header.is-sticky,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header--quiet-bay,
  html[data-theme="dark"].pb-dock-scrolled:has(.pb-dock) body:not(.pb-page-home-v20):not(.pb-page-livehome) .ch-header--quiet-bay.is-scrolled,
  html.pb-dock-scrolled:has(.pb-dock) body.pb-page-home-v20 .ch-header,
  html.pb-dock-scrolled:has(.pb-dock) body.pb-page-home-v20 .ch-header.is-scrolled{
    background:none!important;background-color:transparent!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    border:0!important;box-shadow:none!important;
    height:0!important;min-height:0!important;padding:0!important;overflow:hidden!important;
  }
  html:has(.pb-dock) body{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  html.pb-dock-open{overflow:hidden}

  /* phone footer — three bands: socials · contacts · legal */
  html:has(.pb-dock) .ch-footer{
    margin-top:20px!important;
    padding:16px 16px 10px!important;
  }
  html:has(.pb-dock) .ch-f-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:0!important;
    max-width:none!important;
  }
  html:has(.pb-dock) .ch-f-brand{gap:0!important}
  html:has(.pb-dock) .ch-f-socials{margin:0!important;gap:8px!important}
  html:has(.pb-dock) .ch-f-soc{width:38px!important;height:38px!important}
  html:has(.pb-dock) .ch-f-col--contacts{margin:0!important}
  html:has(.pb-dock) .ch-f-contacts{
    display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
    align-items:baseline!important;gap:2px 14px!important;
  }
  html:has(.pb-dock) .ch-f-line,
  html:has(.pb-dock) .ch-f-line a.ch-f-link{
    font-size:13px!important;line-height:1.3!important;
    min-height:0!important;padding:0!important;margin:0!important;
    display:inline!important;
  }
  html:has(.pb-dock) .ch-f-bar{margin-top:10px!important;padding-top:10px!important}
  html:has(.pb-dock) .ch-f-bar-in{
    display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
    align-items:center!important;justify-content:flex-start!important;
    padding:0!important;gap:4px 10px!important;
  }
  html:has(.pb-dock) .ch-f-copy,
  html:has(.pb-dock) .ch-f-legal,
  html:has(.pb-dock) .ch-f-legal-a{
    font-size:11px!important;min-height:0!important;padding:0!important;
  }

  .pb-dock-scrim{
    display:block;position:fixed;inset:0;z-index:1;pointer-events:auto;
    background:radial-gradient(ellipse 80% 60% at 50% 100%,color-mix(in srgb,var(--pb-bg) 20%,transparent),color-mix(in srgb,var(--pb-bg) 55%,transparent));
  }
  .pb-dock-scrim[hidden]{display:none}

  /* keys only — no chin, no plate. Sit on visual viewport for Safari. */
  .pb-dock{
    --dock-moss:var(--pb-surface-2);
    --dock-rim:var(--pb-bg);
    box-sizing:border-box;
    display:grid;
    grid-template-columns:1fr 1fr 70px 1fr 1fr;
    column-gap:4px;
    align-items:end;
    position:fixed;left:0;right:0;z-index:2;
    pointer-events:auto;
    transform:translateZ(0);
    bottom:max(var(--dock-vv,0px),env(safe-area-inset-bottom,0px));
    overflow:visible;
    height:auto;
    padding:0 8px 12px;
    background:none;
    border:0;
    box-shadow:none;
    transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .32s ease;
    will-change:transform;
    -webkit-backface-visibility:hidden;
  }
  /* First screen: keys stay. */
  .pb-dock-q,.pb-dock-home{pointer-events:auto}
  html.pb-dock-away:not(.pb-dock-open) .pb-dock,
  html.pb-dock-away:not(.pb-dock-open) .pb-dock-wheel{
    transform:translate3d(0,calc(100% + 32px),0);
    pointer-events:none;
  }

  /* one pebble family: D opens toward the gauge. Cool corners, warm words. */
  .pb-dock-q-face,.pb-dock-home-face{
    box-sizing:border-box;
    position:relative;z-index:2;
    display:grid;place-items:center;
    padding:3px;
    border:0;
    background:linear-gradient(180deg,var(--pb-surface) 0%,var(--pb-bg) 70%,var(--pb-bg) 100%);
    box-shadow:
      inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 6%,transparent),
      0 1px 0 rgba(0,0,0,.45),
      0 10px 18px -8px rgba(0,0,0,.62),
      0 2px 4px rgba(0,0,0,.28);
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }
  .pb-dock-q{
    appearance:none;cursor:pointer;
    box-sizing:border-box;
    position:relative;z-index:2;
    display:flex;flex-direction:column;align-items:center;gap:3px;
    justify-self:center;
    width:auto;min-width:0;max-width:100%;height:auto;
    margin:0;padding:0;border:0;background:none;box-shadow:none;
    color:var(--pb-accent);
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }

  .pb-dock-key{
    display:grid;place-items:center;
    width:100%;height:100%;
    background:
      radial-gradient(120% 90% at 30% 8%,color-mix(in srgb,var(--pb-ink) 10%,transparent),transparent 44%),
      linear-gradient(180deg,var(--pb-surface-2) 0%,var(--pb-surface) 55%,var(--pb-bg) 100%);
    box-shadow:
      inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 14%,transparent),
      inset 0 -10px 14px rgba(0,0,0,.32);
    color:var(--pb-accent);
  }
  .pb-dock-q-face{
    width:50px;height:52px;
  }
  .pb-dock-q--l .pb-dock-q-face{border-radius:14px 28px 28px 14px}
  .pb-dock-q--l .pb-dock-key{border-radius:12px 25px 25px 12px}
  .pb-dock-q--r .pb-dock-q-face{border-radius:28px 14px 14px 28px}
  .pb-dock-q--r .pb-dock-key{border-radius:25px 12px 12px 25px}
  .pb-dock-q .pb-dock-key{width:100%;height:100%}
  .pb-dock-q svg{width:24px;height:24px;display:block}
  .pb-dock-q-name{
    display:block;
    font:650 10px/1 system-ui,-apple-system,sans-serif;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:var(--pb-ink);
    white-space:nowrap;
    text-shadow:0 1px 2px #000;
  }

  .pb-dock-q.is-on .pb-dock-key{
    color:var(--pb-ink);
    box-shadow:
      inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 24%,transparent),
      inset 0 -8px 12px rgba(0,0,0,.24),
      0 0 0 1px rgba(196,163,106,.45);
  }

  .pb-dock-home{
    box-sizing:border-box;
    grid-column:3;justify-self:center;
    z-index:3;
    display:flex;flex-direction:column;align-items:center;gap:4px;
    width:auto;min-width:64px;height:auto;
    margin:0;padding:0;border:0;
    background:none;box-shadow:none;
    text-decoration:none;
    color:var(--pb-accent);
    -webkit-tap-highlight-color:transparent;
  }
  .pb-dock-home-face{
    width:64px;height:64px;border-radius:50%;
  }
  .pb-dock-home .pb-dock-key{border-radius:50%}
  .pb-dock-home img{width:40px;height:15px;object-fit:contain;display:block}

  .pb-dock-q:active .pb-dock-q-face,
  .pb-dock-home:active .pb-dock-home-face{
    transform:translateY(1px);
    box-shadow:
      inset 0 2px 8px rgba(0,0,0,.42),
      inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 8%,transparent);
  }

  /* 5-up record wheel — big center, two equal plates each side from the corners */
  .pb-dock-wheel{
    display:block;position:fixed;left:0;right:0;z-index:3;pointer-events:auto;
    bottom:calc(88px + max(var(--dock-vv,0px),env(safe-area-inset-bottom,0px)));
    height:248px;
    touch-action:none;
    user-select:none;
    transition:transform .42s cubic-bezier(.22,1,.36,1);
    will-change:transform;
  }
  .pb-dock-wheel[hidden]{display:none}
  .pb-dock-card{
    position:absolute;left:50%;top:4px;
    width:156px;margin-left:-78px;
    text-decoration:none;
    transform:scale(.2);
    opacity:0;pointer-events:none;
    transition:left .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1),opacity .24s ease;
  }
  .pb-dock-card.is-cur{
    left:50%;
    transform:translateY(-14px) scale(1);
    opacity:1;pointer-events:auto;z-index:5;
  }
  .pb-dock-card.is-p1{
    left:24%;
    transform:translateY(52px) scale(.46);
    opacity:.84;pointer-events:auto;z-index:3;
  }
  .pb-dock-card.is-n1{
    left:76%;
    transform:translateY(52px) scale(.46);
    opacity:.84;pointer-events:auto;z-index:3;
  }
  .pb-dock-card.is-p2{
    left:6%;
    transform:translateY(86px) scale(.46);
    opacity:.64;pointer-events:auto;z-index:2;
  }
  .pb-dock-card.is-n2{
    left:94%;
    transform:translateY(86px) scale(.46);
    opacity:.64;pointer-events:auto;z-index:2;
  }
  .pb-dock-orb{
    position:relative;
    display:grid;place-items:center;
    width:156px;height:156px;border-radius:50%;overflow:hidden;
    background:var(--pb-surface);
    border:1px solid rgba(196,163,106,.3);
    box-shadow:0 14px 28px -14px #000,inset 0 1px 0 color-mix(in srgb,var(--pb-ink) 6%,transparent);
    color:var(--pb-accent);font:700 22px/1 ui-monospace,Menlo,monospace;
  }
  /* 108px safe square fits entirely inside the 154px inner circle. */
  .pb-dock-orb img{width:100%;height:100%;padding:23px;box-sizing:border-box;object-fit:contain;object-position:center;display:block}
  .pb-dock-orb > svg{width:64px;height:64px;display:block}
  .pb-dock-rus{position:absolute;top:16px;right:16px;width:28px;height:28px;object-fit:contain;background:var(--pb-ink);border-radius:4px;padding:2px;z-index:2}
  .pb-dock-card em{
    display:none;margin-top:8px;text-align:center;
    font:650 11px/1.15 system-ui,-apple-system,sans-serif;
    letter-spacing:.06em;text-transform:uppercase;
    color:var(--pb-ink);font-style:normal;
    text-shadow:0 1px 3px #000;
  }
  .pb-dock-card.is-cur em{display:block}
}@media(max-width:720px){
  html:has(.pb-dock){scroll-padding-top:24px;scroll-padding-bottom:112px}
  html:has(.pb-dock) body.pb-product-hero-mask{
    --pb-phm-header:0px;
    --pb-phm-under-header:48px;
  }
  html:has(.pb-dock) body .ch-header,
  html:has(.pb-dock) body .ch-header .ch-h-inner{
    height:0!important;min-height:0!important;padding:0!important;
  }
  html:has(.pb-dock) body main.pb-page:has(.pb-sh){padding-top:0!important}
  html:has(.pb-dock) body .pb-sh{padding-top:40px;min-height:0}
  html:has(.pb-dock) body .pb-sph{padding-top:96px!important;padding-inline:0!important}
  html:has(.pb-dock) body.pb-page-contacts #top{padding-top:40px!important;padding-bottom:48px!important}
  html:has(.pb-dock) body:has(.pb-sph) .pb-fc-head .pb-text{color:color-mix(in srgb,var(--pb-bg) 78%,transparent)!important}
  html:has(.pb-dock) body .pb-pch-opt,
  html:has(.pb-dock) body .pb-sph-tab{min-height:44px;touch-action:manipulation}
  html:has(.pb-dock) .ch-f-soc{width:44px!important;height:44px!important}
  html:has(.pb-dock) .ch-f-nav a,
  html:has(.pb-dock) .ch-f-legal-a{display:inline-flex!important;align-items:center;min-height:44px!important}
  html:has(.pb-dock) input:not([type=checkbox]):not([type=radio]),
  html:has(.pb-dock) textarea,
  html:has(.pb-dock) select{font-size:16px!important;min-height:44px}
}@media(max-width:720px){
  html:has(.pb-dock) .ch-f-brand{gap:12px!important;flex-wrap:wrap}
  html:has(.pb-dock) .ch-f-brand .ch-f-logo{flex:none}
  html:has(.pb-dock) .ch-f-brand .ch-f-line{flex:1;min-width:160px}
  html:has(.pb-dock) body .pb-sph-kpis b,
  html:has(.pb-dock) body .pb-pch-keys b,
  html:has(.pb-dock) body .pb-pch-keys span{
    white-space:normal!important;overflow-wrap:anywhere;line-height:1.25;
  }
  html:has(.pb-dock) body.pb-page-contacts #map .pb-ct-req-row{
    grid-template-columns:minmax(0,1fr) 44px!important;gap:4px 12px!important;
  }
  html:has(.pb-dock) body.pb-page-contacts #map .pb-ct-req-row .lab{grid-column:1}
  html:has(.pb-dock) body.pb-page-contacts #map .pb-ct-req-row .val{grid-column:1;overflow-wrap:anywhere}
  html:has(.pb-dock) body.pb-page-contacts #map .pb-ct-copy{
    grid-column:2;grid-row:1 / span 2;width:44px!important;height:44px!important;align-self:center;
  }
  html:has(.pb-dock) body.pb-page-contacts #map .pb-ct-map-label{
    left:50%!important;top:calc(50% + 28px)!important;transform:translateX(-50%)!important;
    max-width:85%;white-space:normal;text-align:center;
  }
}@media(max-width:720px){
  /* Authored desktop column counts must not squeeze reading columns on phones. */
  html:has(.pb-dock) body .pb-row--has-cols{grid-template-columns:minmax(0,1fr)!important}
  html:has(.pb-dock) body .pb-sh-stage{height:min(48svh,380px)}
  html:has(.pb-dock) body .pb-sc-step{opacity:1}
}@media(max-width:640px){
  html:has(.pb-dock) body .pb-hf{padding-top:calc(40px + env(safe-area-inset-top,0px))}
}@media(max-width:720px){
  html:has(.pb-dock) body .pb-as-block{min-height:0;padding-block:40px}
  html:has(.pb-dock) body .pb-as-pills a{min-height:44px;align-items:center;box-sizing:border-box}
  html:has(.pb-dock) body .ch-f-line a.ch-f-link{
    display:inline-flex!important;align-items:center;min-height:44px!important;
  }
}@media(max-width:720px){
  html:has(.pb-dock) .mnw-date{left:50%!important;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}
}
