
  :root{
    --paper:#f5f8fc; --surface:#ffffff; --surface-2:#eef3f8;
    --ink:#111820; --ink-2:#3a4552; --muted:#68747f;
    --line:#e4eaf0; --line-strong:#d0d9e1;
    --accent:#E37A0B; --accent-soft:#fbe7cf; --accent-ink:#8a4600;
    --steel:#2c5c86; --steel-2:#3f79a8;
    --lamp-green:#2f9e58; --lamp-amber:#e39a0b; --lamp-red:#d8493a;
    --glow:rgba(227,122,11,.30);
    --sans:ui-sans-serif,"Segoe UI",system-ui,Roboto,Arial,sans-serif;
    --mono:ui-monospace,"Cascadia Code","Cascadia Mono",Consolas,"SFMono-Regular",Menlo,monospace;
    --wrap:1160px; --radius:4px;
  }
  /* тёмная тема — только по явному выбору data-theme="dark"; по умолчанию сайт светлый */
  @media (prefers-color-scheme:dark){
    :root[data-theme="dark"]{
      --paper:#0b0f14; --surface:#141b23; --surface-2:#19212b;
      --ink:#e9eef3; --ink-2:#b6c0cb; --muted:#7e8a97;
      --line:#232d38; --line-strong:#31404e;
      --accent:#f5972a; --accent-soft:#2a2013; --accent-ink:#f6b25a;
      --steel:#5c95c8; --steel-2:#79aeda;
      --lamp-green:#3bb768; --lamp-amber:#f2ab2e; --lamp-red:#ec5a4a;
      --glow:rgba(245,151,42,.28);
    }
  }
  :root[data-theme="dark"]{
    --paper:#0b0f14; --surface:#141b23; --surface-2:#19212b;
    --ink:#e9eef3; --ink-2:#b6c0cb; --muted:#7e8a97;
    --line:#232d38; --line-strong:#31404e;
    --accent:#f5972a; --accent-soft:#2a2013; --accent-ink:#f6b25a;
    --steel:#5c95c8; --steel-2:#79aeda; --glow:rgba(245,151,42,.28);
  }
  :root[data-theme="light"]{
    --paper:#f5f8fc; --surface:#ffffff; --surface-2:#eef3f8;
    --ink:#111820; --ink-2:#3a4552; --muted:#68747f;
    --line:#e4eaf0; --line-strong:#d0d9e1;
    --accent:#E37A0B; --accent-soft:#fbe7cf; --accent-ink:#8a4600;
    --steel:#2c5c86; --steel-2:#3f79a8; --glow:rgba(227,122,11,.30);
  }

  *{box-sizing:border-box}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
    font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
  h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.02em;font-weight:800;text-wrap:balance}
  p{margin:0}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
  .eyebrow{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;
    letter-spacing:.2em;color:var(--accent-ink);font-weight:600}
  .mono{font-family:var(--mono)}
  .tnum{font-variant-numeric:tabular-nums}

  /* ---- header ---- */
  .hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .hdr-in{display:flex;align-items:center;gap:24px;height:66px}
  .brand{display:flex;align-items:baseline;gap:9px;font-weight:800;letter-spacing:-.02em;font-size:1.12rem}
  .brand b{color:var(--accent)}
  .brand span{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
    color:var(--muted);font-weight:600}
  .nav{display:flex;gap:26px;margin-left:auto;font-size:.95rem;color:var(--ink-2)}
  .nav a:hover{color:var(--accent)}
  .hdr-cta{display:flex;align-items:center;gap:16px}
  .tel{font-family:var(--mono);font-weight:600;font-size:.95rem;white-space:nowrap}
  .tel:hover{color:var(--accent)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:var(--sans);font-weight:700;font-size:.95rem;cursor:pointer;
    border-radius:var(--radius);padding:12px 20px;border:1px solid transparent;transition:.15s}
  .btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.15)}
  .btn-primary:hover{filter:brightness(1.06);box-shadow:0 6px 22px var(--glow)}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
  .btn-lg{padding:15px 26px;font-size:1rem}

  /* ---- hazard rule ---- */
  .hazard{height:6px;background:repeating-linear-gradient(-45deg,var(--ink) 0 9px,var(--accent) 9px 18px);opacity:.9}

  /* ---- hero ---- */
  .hero{padding:64px 0 26px}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
  .hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem)}
  .hero h1 em{font-style:normal;color:var(--accent);position:relative}
  .hero-lead{margin-top:22px;font-size:1.12rem;color:var(--ink-2);max-width:34em}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
  .specstrip{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:30px}
  .chip{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--ink-2);
    border:1px solid var(--line);border-radius:100px;padding:7px 13px;background:var(--surface);
    display:inline-flex;gap:8px;align-items:center}
  .chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}

  /* ---- trust / brand strip (первый экран) ---- */
  .trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    background:var(--surface);padding:18px 0}
  .trust-in{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
  .trust-lbl{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
    color:var(--muted);white-space:nowrap}
  .trust-brands{display:flex;flex-wrap:wrap;gap:8px 9px}
  .tb{font-family:var(--mono);font-size:.82rem;letter-spacing:.01em;color:var(--ink-2);
    border:1px solid var(--line);border-radius:100px;padding:7px 14px;background:var(--paper);transition:.15s}
  .tb:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
  .tb.more{border-style:dashed;color:var(--accent-ink)}

  /* ---- control panel graphic ---- */
  .panel{background:linear-gradient(180deg,var(--surface),var(--surface-2));
    border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;
    box-shadow:0 24px 60px -30px rgba(10,20,35,.5)}
  .panel-top{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);
    font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .panel-top .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 10px var(--glow)}
  .panel-top .rail{margin-left:auto;letter-spacing:.1em}
  .prow{display:flex;align-items:center;gap:13px;padding:15px 16px;border-bottom:1px solid var(--line);
    font-family:var(--mono);font-size:.82rem}
  .prow:last-child{border-bottom:0}
  .lamp{width:11px;height:11px;border-radius:50%;flex:none}
  .lamp.g{background:var(--lamp-green);box-shadow:0 0 12px color-mix(in srgb,var(--lamp-green) 70%,transparent)}
  .lamp.a{background:var(--lamp-amber);box-shadow:0 0 12px color-mix(in srgb,var(--lamp-amber) 70%,transparent)}
  .prow .nm{color:var(--ink);font-weight:600;letter-spacing:.02em}
  .prow .st{margin-left:auto;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
  .st.ok{color:var(--lamp-green)} .st.wait{color:var(--lamp-amber)}
  .panel-foot{padding:12px 16px;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
    text-transform:uppercase;color:var(--muted);background:var(--surface-2)}

  /* ---- generic section ---- */
  .sec{padding:64px 0}
  .sec-head{max-width:40em;margin-bottom:38px}
  .sec-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:12px}
  .sec-head p{margin-top:14px;color:var(--ink-2)}
  .sec-alt{background:var(--surface)}
  :root[data-theme="dark"] .sec-alt{background:#0e141b}
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sec-alt{background:#0e141b}}

  /* pains */
  .pains{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .pain{border:1px solid var(--line);border-radius:6px;padding:22px;background:var(--surface)}
  .pain .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--accent-ink);text-transform:uppercase}
  .pain h3{font-size:1.05rem;margin:12px 0 8px}
  .pain p{font-size:.92rem;color:var(--ink-2)}

  /* catalog */
  .cat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .card{position:relative;border:1px solid var(--line);border-radius:6px;padding:22px 22px 20px;
    background:var(--surface);transition:.16s;overflow:hidden}
  .card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);
    transform:scaleY(0);transform-origin:top;transition:transform .18s}
  .card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
  .card:hover::before{transform:scaleY(1)}
  .card .code{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--muted)}
  .card h3{font-size:1.12rem;margin:10px 0 8px}
  .card p{font-size:.9rem;color:var(--ink-2)}
  .card .go{margin-top:14px;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;
    color:var(--accent);text-transform:uppercase}

  /* import-substitution table */
  .tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
  table.sub{width:100%;border-collapse:collapse;min-width:640px;font-size:.94rem}
  .sub th{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--muted);text-align:left;padding:15px 20px;border-bottom:1px solid var(--line-strong);font-weight:600}
  .sub td{padding:15px 20px;border-bottom:1px solid var(--line);vertical-align:top}
  .sub tr:last-child td{border-bottom:0}
  .sub td.brand{font-weight:700}
  .sub td.what{color:var(--ink-2)}
  .sub .tag{display:inline-block;font-family:var(--mono);font-size:.72rem;color:var(--steel-2);
    border:1px solid color-mix(in srgb,var(--steel) 40%,var(--line));border-radius:100px;padding:3px 10px}

  /* value grid */
  .vals{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:6px;overflow:hidden}
  .val{background:var(--surface);padding:26px 24px}
  .val .n{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--accent-ink)}
  .val h3{font-size:1.08rem;margin:12px 0 8px}
  .val p{font-size:.92rem;color:var(--ink-2)}

  /* process */
  .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}
  .step{position:relative;padding-top:24px}
  .step .num{font-family:var(--mono);font-weight:700;font-size:.86rem;color:var(--accent);
    letter-spacing:.08em}
  .step .bar{height:3px;background:var(--line);margin:12px 0 16px;position:relative}
  .step .bar::before{content:"";position:absolute;left:0;top:0;height:3px;width:26px;background:var(--accent)}
  .step h3{font-size:1.02rem;margin-bottom:8px}
  .step p{font-size:.88rem;color:var(--ink-2)}

  /* knowledge */
  .knowledge{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .knowledge-card{display:flex;flex-direction:column;min-height:225px;padding:25px;background:var(--surface);
    border:1px solid var(--line);border-radius:var(--radius);transition:.18s}
  .knowledge-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
  .knowledge-card .mark{font:700 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
  .knowledge-card h3{font-size:1.18rem;line-height:1.25;margin-top:14px}
  .knowledge-card p{font-size:.9rem;color:var(--ink-2);line-height:1.6;margin-top:12px}
  .knowledge-card .go{font:700 .72rem var(--mono);color:var(--accent);margin-top:auto;padding-top:18px}

  /* CTA / form */
  .cta-sec{background:linear-gradient(180deg,var(--surface),var(--surface-2));
    border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
  .form-grid .lead h2{font-size:clamp(1.6rem,3vw,2.2rem)}
  .form-grid .lead p{margin-top:16px;color:var(--ink-2)}
  .assure{margin-top:24px;display:flex;flex-direction:column;gap:12px}
  .assure div{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;color:var(--ink-2)}
  .assure .mk{color:var(--accent);font-family:var(--mono);font-weight:700;flex:none}
  form.req{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:26px}
  .field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
  .field label{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .field input,.field textarea{font-family:var(--sans);font-size:1rem;color:var(--ink);
    background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;width:100%;transition:.15s}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);
    box-shadow:0 0 0 3px var(--glow)}
  .field textarea{resize:vertical;min-height:92px}
  .field input[type="file"]{padding:10px;background:var(--surface)}
  .field-help{display:block;margin-top:7px;font-size:.76rem;line-height:1.45;color:var(--muted)}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .consent{font-size:.78rem;color:var(--muted);margin:6px 0 18px}
  .consent a{color:var(--steel-2);text-decoration:underline}
  .consent-check{display:flex;align-items:flex-start;gap:9px;cursor:pointer}
  .consent-check input{width:17px!important;height:17px;flex:0 0 17px;margin-top:2px;accent-color:var(--accent)}
  .hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
  .form-error{display:none;margin:0 0 14px;padding:10px 12px;border:1px solid #d94848;border-radius:6px;background:#fff2f2;color:#9c2424;font-size:.86rem}
  .form-error.on{display:block}
  form.req button[disabled]{opacity:.65;cursor:wait}
  .form-ok{display:none;text-align:center;padding:40px 20px}
  .form-ok.on{display:block}
  .form-ok .big{font-size:1.3rem;font-weight:800;margin:16px 0 8px}
  .form-ok .chk{width:52px;height:52px;border-radius:50%;background:var(--accent-soft);
    color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem}

  /* footer */
  .ft{background:var(--surface);border-top:1px solid var(--line);padding:52px 0 30px}
  .ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
  .ft h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--muted);margin:0 0 14px;font-weight:600}
  .ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.92rem;color:var(--ink-2)}
  .ft a:hover{color:var(--accent)}
  .ft-catalog a{display:flex;align-items:center;justify-content:space-between;min-height:34px;
    cursor:pointer;transition:color .15s,transform .15s}
  .ft-catalog a::after{content:"→";margin-left:10px;color:var(--accent);font-family:var(--mono);opacity:.8}
  .ft-catalog a:hover{transform:translateX(3px)}
  .ft .about{font-size:.92rem;color:var(--ink-2);max-width:30em;margin-top:14px}
  .ft-bottom{margin-top:38px;padding-top:20px;border-top:1px solid var(--line);
    display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.8rem;color:var(--muted)}
  .ph{color:var(--accent-ink);font-family:var(--mono);font-size:.82em}

  /* supply feed */
  .supply{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .supply-card{border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden;transition:.16s;display:flex;flex-direction:column}
  .supply-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
  .ph-img{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--surface-2),color-mix(in srgb,var(--steel) 9%,var(--surface-2)));display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);overflow:hidden}
  .ph-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .ph-img::before{content:"";position:absolute;inset:11px;border:1px dashed var(--line-strong);border-radius:4px}
  .ph-img.has-photo::before{display:none}
  .ph-img span.lbl{position:relative;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
  .ph-img .cornerm{position:absolute;top:0;left:0;width:32px;height:32px;background:repeating-linear-gradient(-45deg,var(--accent) 0 5px,transparent 5px 10px);opacity:.55;z-index:1}
  .supply-card .meta{padding:14px 15px}
  .supply-card .art{font-family:var(--mono);font-weight:700;font-size:.88rem;color:var(--ink);word-break:break-word}
  .supply-card .brand-nm{font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);margin-top:5px}
  .supply-card .desc{font-size:.82rem;color:var(--ink-2);margin-top:9px}
  .supply-add{align-items:center;justify-content:center;border-style:dashed;text-align:center;padding:24px;color:var(--muted);font-family:var(--mono);font-size:.78rem;line-height:1.7}
  .supply-add b{color:var(--accent);font-size:1.3rem;display:block;margin-bottom:6px}

  /* brand wall */
  .brands{display:flex;flex-wrap:wrap;gap:10px}
  .brand-chip{font-family:var(--mono);font-size:.82rem;letter-spacing:.02em;color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 15px;background:var(--surface);transition:.15s}
  .brand-chip:hover{border-color:var(--accent);color:var(--accent)}

  /* reveal */
  .has-js .reveal{opacity:0;transform:translateY(16px)}
  .has-js .reveal.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}

  /* responsive */
  @media (max-width:960px){
    .hero-grid{grid-template-columns:1fr;gap:34px}
    .pains{grid-template-columns:repeat(2,1fr)}
    .cat{grid-template-columns:repeat(2,1fr)}
    .supply{grid-template-columns:repeat(2,1fr)}
    .vals{grid-template-columns:repeat(2,1fr)}
    .steps{grid-template-columns:repeat(2,1fr)}
    .knowledge{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr;gap:30px}
    .ft-grid{grid-template-columns:1fr 1fr}
    .nav{display:none}
  }
  @media (max-width:560px){
    body{font-size:16px}
    .wrap{padding-left:20px;padding-right:20px}
    .pains,.cat,.vals,.steps,.ft-grid{grid-template-columns:1fr}
    .row2{grid-template-columns:1fr}
    .hdr-in{height:60px;gap:8px}
    .brand{font-size:.92rem;white-space:nowrap}
    .brand span,.hdr .tel{display:none}
    .hdr-cta{margin-left:auto}
    .hdr-cta .btn{font-size:0;padding:9px 12px}
    .hdr-cta .btn::after{content:"Заявка";font-size:.78rem}
    .hero-cta .btn{flex:1}
  }
  @media (prefers-reduced-motion:reduce){
    *{scroll-behavior:auto!important}
    .has-js .reveal{opacity:1!important;transform:none!important;transition:none!important}
    .card:hover{transform:none}
  }


/* ===== build.js: доп. компоненты для сгенерированных SEO-страниц ===== */
.crumbs{font-family:var(--mono);font-size:.78rem;color:var(--muted);
  padding:18px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--accent)}
.crumbs span.sep{color:var(--line-strong)}
.crumbs span.cur{color:var(--ink-2)}

.brand-nm{font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--accent-ink)}

.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 15px 14px;margin-top:auto}
.status{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--steel-2);border:1px solid var(--line);border-radius:100px;padding:4px 9px}
.goto{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--accent);white-space:nowrap}
.supply-card{cursor:pointer}

.pdp{padding:26px 0 8px}
.pdp-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start;margin-top:22px}
.pdp-gallery .ph-img{border-radius:8px;border:1px solid var(--line)}
.pdp h1{font-size:clamp(1.5rem,3vw,2.1rem)}
.pdp .status{display:inline-block;margin-top:14px}
.pdp .desc{margin-top:16px;color:var(--ink-2);max-width:44em}
.spec{width:100%;border-collapse:collapse;margin-top:22px;font-size:.92rem}
.spec th{width:38%;text-align:left;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);padding:11px 0;border-bottom:1px solid var(--line);font-weight:600}
.spec td{padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.pdp-cta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.pdp-cta-note{margin-top:10px;color:var(--muted);font-size:.82rem;max-width:42rem}
.pdp-details{margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.pdp-details h2{margin:0 0 12px}.pdp-details p{margin:8px 0;color:var(--muted);line-height:1.65}
.pdp-details h3{margin:20px 0 8px}.pdp-details ul{margin:8px 0 0;padding-left:22px;color:var(--muted)}.pdp-details li{margin:7px 0;line-height:1.55}

.cta-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:36px 0;margin-top:36px}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.cta-band h2{font-size:clamp(1.2rem,2.2vw,1.6rem)}
.cta-band p{margin-top:6px;color:var(--ink-2)}

.related-h{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);padding:34px 0 14px}

.pdp-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}
.pdp-neighbor{display:flex;flex-direction:column;gap:5px;padding:16px 18px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:.2s ease}
.pdp-neighbor:hover{border-color:var(--accent);transform:translateY(-1px)}
.pdp-neighbor.next{text-align:right}
.pdp-neighbor .dir{font:700 .64rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.pdp-neighbor .name{font-weight:700;line-height:1.3;overflow-wrap:anywhere}

.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:30px}
.pagination a,.pagination .current{min-width:42px;height:42px;padding:0 12px;display:inline-flex;align-items:center;
  justify-content:center;border:1px solid var(--line);border-radius:7px;font:700 .78rem var(--mono)}
.pagination a{background:var(--surface);color:var(--ink)}
.pagination a:hover{border-color:var(--accent);color:var(--accent)}
.pagination .current{background:var(--accent);border-color:var(--accent);color:#fff}
.pagination .prev,.pagination .next{min-width:auto}

.hub-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

.err{padding:90px 0;text-align:center}
.err .code{font-family:var(--mono);font-size:4.4rem;font-weight:800;color:var(--accent)}
.err h1{font-size:1.6rem;margin-top:8px}
.err p{margin-top:12px;color:var(--ink-2)}
.err .btn{margin-top:26px}

.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.article-card{display:flex;flex-direction:column;min-height:260px;padding:26px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);transition:.2s ease}
.article-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.article-card .kicker{font:700 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.article-card h2,.article-card h3{font-size:1.22rem;line-height:1.25;margin-top:14px}
.article-card p{font-size:.93rem;color:var(--ink-2);margin-top:12px;line-height:1.65}
.article-card .article-meta{margin-top:auto;padding-top:20px}
.article-meta{display:flex;flex-wrap:wrap;gap:10px;font:600 .72rem var(--mono);color:var(--muted)}
.article-page{max-width:900px;padding-top:54px;padding-bottom:70px}
.article-page h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.06;max-width:18em;margin-top:14px}
.article-lead{font-size:1.15rem;line-height:1.7;color:var(--ink-2);margin-top:24px;max-width:48em}
.article-body{margin-top:44px;padding-top:10px;border-top:1px solid var(--line)}
.article-body section{padding:34px 0;border-bottom:1px solid var(--line)}
.article-body h2{font-size:1.55rem;line-height:1.2;margin-bottom:16px}
.article-body p{font-size:1rem;line-height:1.78;color:var(--ink-2);margin-top:12px;max-width:52em}
.article-body ul{margin:18px 0 0;padding-left:22px;color:var(--ink-2);display:grid;gap:9px;line-height:1.55}
.article-related{padding:46px 0 72px;background:var(--surface-2);border-top:1px solid var(--line)}

@media (max-width:900px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){ .supply{grid-template-columns:1fr} .pdp-grid{grid-template-columns:1fr} .pdp-gallery{order:1} .article-grid{grid-template-columns:1fr} .pdp-neighbors{grid-template-columns:1fr} .pdp-neighbor.next{text-align:left} }
