/* METAFACTURA — сайт «Blueprint» (инженерный чертёж) + анимированный граф узлов */
:root{
  --graphite:#26313D; --copper:#C8763B; --steel:#5C6B7A;
  --bg:#F5F4F2; --line:rgba(92,107,122,.16); --mono:ui-monospace,"Cascadia Code",Consolas,monospace;
  --sans:"Segoe UI",Inter,system-ui,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);color:var(--graphite);background:var(--bg);
  line-height:1.55;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:32px 32px;
}
.skip{position:absolute;left:-999px;top:0;background:var(--graphite);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:0}
a{color:inherit}
img{display:block}

.top{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;padding:1.4rem clamp(1.2rem,5vw,4rem);
  border-bottom:1px solid var(--graphite);background:rgba(245,244,242,.85);backdrop-filter:blur(2px)}
.logo{height:46px;width:auto}
.nav{display:flex;gap:1.4rem;font-family:var(--mono);font-size:.82rem;letter-spacing:.04em}
.nav a{text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent;color:var(--steel)}
.nav a:hover,.nav a:focus{color:var(--graphite);border-color:var(--copper)}

main{max-width:1080px;margin:0 auto;padding:0 clamp(1.2rem,5vw,4rem)}

.hero{position:relative;overflow:hidden;
  padding:clamp(3.5rem,12vh,8rem) 0 3rem;
  min-height:clamp(380px,58vh,560px);display:flex;flex-direction:column;justify-content:center}
/* анимированный узловой граф (отсылка к логотипу) — за текстом hero */
.net{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero > .kicker,.hero > h1,.hero > .lead{position:relative;z-index:1}
.kicker{font-family:var(--mono);font-size:.8rem;letter-spacing:.22em;color:var(--copper);margin-bottom:1.4rem}
h1{font-size:clamp(2.4rem,7vw,5rem);font-weight:600;line-height:1.04;letter-spacing:-.01em}
.lead{max-width:46ch;margin-top:1.6rem;font-size:clamp(1.05rem,2.3vw,1.35rem);color:var(--steel)}
.coords{position:absolute;right:0;top:clamp(3.5rem,12vh,8rem);z-index:1;font-family:var(--mono);font-size:.72rem;color:var(--steel);writing-mode:vertical-rl;letter-spacing:.16em}

.block{display:grid;grid-template-columns:64px 1fr;gap:1.4rem;
  padding:2.6rem 0;border-top:1px solid var(--graphite)}
.sec-no{font-family:var(--mono);font-size:.9rem;color:var(--copper);padding-top:.4rem}
h2{font-size:clamp(1.4rem,3.5vw,2rem);font-weight:600;margin-bottom:1.4rem;letter-spacing:-.01em}
.big{font-size:clamp(1.15rem,2.6vw,1.6rem);max-width:42ch;color:var(--graphite)}

/* 4 плитки — сетка обязана делиться нацело, иначе последняя остаётся одна в ряду,
   а пустые ячейки показывают тёмный фон контейнера. Поэтому жёстко 2×2 (1 колонка на узких). */
.grid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--graphite);border:1px solid var(--graphite)}
.grid li{background:var(--bg);padding:1.4rem;position:relative}
.tick{position:absolute;right:.9rem;top:.7rem;font-family:var(--mono);color:var(--copper);font-size:.8rem}
.grid h3{font-size:1.05rem;margin-bottom:.4rem}
.grid p{color:var(--steel);font-size:.95rem}

.specs{width:100%;border-collapse:collapse;max-width:660px}
.specs th,.specs td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
.specs th{font-family:var(--mono);font-weight:600;color:var(--copper);width:34%;white-space:nowrap}
.specs td{color:var(--steel)}
.focus{margin-top:1.3rem;color:var(--steel)}

.flow{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;font-family:var(--mono);font-size:.95rem}
.flow li{border:1px solid var(--graphite);padding:.5rem .9rem;position:relative}
.flow li:not(:last-child)::after{content:"→";color:var(--copper);margin-left:.9rem}

.mail{color:var(--copper);text-decoration:none;border-bottom:2px solid var(--copper)}
.note{margin-top:1rem;font-size:.85rem;color:var(--steel)}

.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  max-width:1080px;margin:0 auto;padding:2rem clamp(1.2rem,5vw,4rem);
  border-top:1px solid var(--graphite);font-family:var(--mono);font-size:.78rem;color:var(--steel)}

@media(max-width:640px){.block{grid-template-columns:1fr}.sec-no{padding-top:0}.coords{display:none}.grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
