/* ─── industria.sk · shared stylesheet ─────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@400;500;700;800;900&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root{
  color-scheme: light;
  --paper: #E8E3D8;
  --paper-2: #DDD8CC;
  --paper-3: #D3CDBE;
  --ink: #0A0A0A;
  --ink-2: #1E1E1E;
  --signal: #E84917;
  --signal-dim: #B33911;
  --muted: #7A7468;
  --rule: #A09888;
  --rule-soft: #C2BBAD;
  --grid: rgba(10,10,10,0.045);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:'JetBrains Mono', monospace;
  background:var(--paper);
  color:var(--ink);
  font-weight:400;
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  background-image:
    linear-gradient(to right, var(--grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid) 1px, transparent 1px);
  background-size: 48px 48px;
  background-position: -1px -1px;
}
body::before{
  content:'';
  position:fixed; inset:0;
  pointer-events:none;
  opacity:0.05;
  z-index:9999;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.95'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; background:none; border:none; color:inherit; }

/* ─── TOP BAR ──────────────────────────── */
.topbar{
  position:fixed; top:0; left:0; right:0;
  padding:14px 28px;
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  z-index:100;
  background:rgba(232,227,216,0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom:1px solid var(--ink);
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.1em;
}
.wordmark{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size:24px;
  letter-spacing:0.005em;
  text-transform:uppercase;
  line-height:1;
  display:flex; align-items:baseline; gap:4px;
}
.wordmark .tld{
  font-family:'JetBrains Mono', monospace;
  font-weight:500;
  font-size:10px;
  letter-spacing:0.1em;
  color:var(--signal);
  padding:2px 5px;
  border:1px solid var(--signal);
  border-radius:1px;
  position:relative; top:-5px;
}
.topnav{ display:flex; gap:22px; justify-self:end; }
.topnav a{ color:var(--ink); transition:color 0.15s; position:relative; }
.topnav a:hover{ color:var(--signal); }
.topnav a.active{ color:var(--signal); }
.topnav a.active::before{
  content:''; position:absolute;
  left:0; right:0; bottom:-18px; height:2px;
  background:var(--signal);
}
.topbar-meta{
  justify-self:start;
  color:var(--muted);
  font-size:10px;
  letter-spacing:0.15em;
}
.topbar-meta .rev{ color:var(--ink); }

/* ─── CONTAINER / SECTIONS ─────────────── */
.wrap{ max-width:1360px; margin:0 auto; padding:0 40px; position:relative; }

section{
  position:relative;
  padding:120px 0;
  border-bottom:1px solid var(--rule);
}
section.compact{ padding:80px 0; }
section::before, section::after{
  content:'+';
  position:absolute;
  font-family:'JetBrains Mono', monospace;
  font-size:18px;
  font-weight:400;
  color:var(--signal);
  line-height:1;
  opacity:0.85;
}
section::before{ top:16px; left:20px; }
section::after{ bottom:16px; right:20px; }
.fid-tr, .fid-bl{
  position:absolute;
  font-family:'JetBrains Mono', monospace;
  font-size:18px;
  color:var(--rule);
  line-height:1;
  pointer-events:none;
}
.fid-tr{ top:16px; right:20px; }
.fid-bl{ bottom:16px; left:20px; }

.sec-ref{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.2em;
  color:var(--ink);
  margin-bottom:40px;
  display:inline-flex; align-items:center; gap:10px;
  padding:4px 10px;
  border:1px solid var(--ink);
  background:var(--paper);
}
.sec-ref .dot{ width:6px; height:6px; background:var(--signal); }

/* ─── BREADCRUMB ─────────────────────────── */
.breadcrumb{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:32px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.breadcrumb a{ color:var(--muted); transition:color 0.15s; }
.breadcrumb a:hover{ color:var(--signal); }
.breadcrumb .sep{ color:var(--rule); }
.breadcrumb .current{ color:var(--ink); }

/* ─── PAGE HERO (INTERIOR PAGES) ────────── */
.page-hero{
  padding:140px 0 80px;
  border-bottom:1px solid var(--rule);
  position:relative;
}
.page-hero::before, .page-hero::after{
  content:'+';
  position:absolute;
  font-family:'JetBrains Mono', monospace;
  font-size:18px;
  color:var(--signal);
  line-height:1;
}
.page-hero::before{ top:96px; left:20px; }
.page-hero::after{ bottom:16px; right:20px; }
.page-hero h1{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(56px, 8vw, 140px);
  line-height:0.88;
  letter-spacing:-0.005em;
  text-transform:uppercase;
  color:var(--ink);
  max-width:1200px;
}
.page-hero h1 .sig{ color:var(--signal); }
.page-hero h1 .thin{ font-weight:400; color:var(--rule); }
.page-hero .page-lede{
  margin-top:32px;
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:400;
  font-size: clamp(18px, 1.8vw, 26px);
  line-height:1.2;
  color:var(--ink-2);
  max-width:680px;
  letter-spacing:0.005em;
}

/* ─── HERO (HOMEPAGE) ──────────────────────────── */
.hero{
  min-height:100vh;
  padding:120px 0 80px;
  display:grid;
  align-items:end;
}
.title-block{
  position:absolute;
  top:100px; right:40px;
  border:1px solid var(--ink);
  background:var(--paper);
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  display:grid;
  grid-template-columns: auto 1fr;
  min-width:260px;
  z-index:3;
}
.title-block > div{
  padding:8px 12px;
  border-bottom:1px solid var(--rule);
  border-right:1px solid var(--rule);
}
.title-block > div:nth-child(2n){ border-right:none; }
.title-block > div:nth-last-child(-n+2){ border-bottom:none; }
.title-block dt{ color:var(--muted); }
.title-block dd{ color:var(--ink); font-weight:500; }
.title-block .sig{ color:var(--signal); font-weight:500; }

.hero-headline{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(80px, 13vw, 220px);
  line-height:0.85;
  letter-spacing:-0.005em;
  text-transform:uppercase;
  color:var(--ink);
  margin-bottom:32px;
  position:relative;
  z-index:2;
}
.hero-headline span.sig{ color:var(--signal); }
.hero-headline span.thin{ font-weight:400; }
.hero-headline .slash{ color:var(--rule); font-weight:400; }

.hero-schema{
  position:absolute;
  bottom:140px; right:40px;
  width:420px;
  opacity:0.55;
  pointer-events:none;
  z-index:1;
}
.hero-schema svg{ width:100%; height:auto; }
.hero-schema .sch-label{
  font-family:'JetBrains Mono', monospace;
  font-size:9px;
  letter-spacing:0.2em;
  color:var(--muted);
  text-transform:uppercase;
  margin-top:10px;
  text-align:right;
}

.hero-sub{
  display:grid;
  grid-template-columns: 1.5fr 1fr;
  gap:64px;
  align-items:end;
  margin-top:60px;
  padding-top:28px;
  border-top:1px solid var(--ink);
  position:relative;
  z-index:2;
}
.hero-lede{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:400;
  font-size: clamp(22px, 2.2vw, 32px);
  line-height:1.15;
  color:var(--ink);
  max-width:640px;
  letter-spacing:0.005em;
}
.hero-lede strong{ color:var(--signal); font-weight:700; }
.hero-specs{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:16px 32px;
  font-size:10px;
  letter-spacing:0.15em;
  text-transform:uppercase;
}
.hero-specs dt{ color:var(--muted); margin-bottom:3px; }
.hero-specs dd{ color:var(--ink); font-weight:500; font-size:11px; }
.dim-line{
  margin-top:32px;
  display:flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  color:var(--muted);
  letter-spacing:0.12em;
  position:relative; z-index:2;
}
.dim-line .bar{ flex:1; height:1px; background:var(--rule); position:relative; }
.dim-line .bar::before{ content:'◀'; position:absolute; left:-2px; top:-5px; color:var(--rule); font-size:9px; }
.dim-line .bar::after{ content:'▶'; position:absolute; right:-2px; top:-5px; color:var(--rule); font-size:9px; }

/* ─── ABOUT ───────────────────────────── */
.about-grid{
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  gap:80px;
}
.about h2, .lead-h{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(44px, 5.5vw, 82px);
  line-height:0.9;
  letter-spacing:-0.005em;
  text-transform:uppercase;
}
.about h2 .sig, .lead-h .sig{ color:var(--signal); }
.about p, .body-p{
  font-family:'JetBrains Mono', monospace;
  font-size:14px; line-height:1.7;
  color:var(--ink-2);
  margin-bottom:20px;
  max-width:620px;
}
.principle-sheet{
  margin-top:56px;
  border:1px solid var(--ink);
  background:var(--paper);
}
.principle-sheet-header{
  padding:10px 16px;
  border-bottom:1px solid var(--ink);
  background:var(--ink);
  color:var(--paper);
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  display:flex; justify-content:space-between;
}
.principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.principle{ padding:28px 20px; border-right:1px solid var(--rule); }
.principle:last-child{ border-right:none; }
.principle-num{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.2em;
  color:var(--signal); margin-bottom:14px;
  text-transform:uppercase;
}
.principle h4{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:22px;
  line-height:1.1;
  margin-bottom:10px;
  text-transform:uppercase;
  letter-spacing:0.005em;
}
.principle p{ font-size:12px; color:var(--muted); margin:0; line-height:1.55; }

/* ─── DIFFERENCE / WHY US ───────────────── */
.diff-head{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:64px;
  margin-bottom:56px;
  align-items:end;
}
.diff-head h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(44px, 5.5vw, 84px);
  line-height:0.9;
  text-transform:uppercase;
  letter-spacing:-0.005em;
}
.diff-head h2 .sig{ color:var(--signal); }
.diff-head .intro{ font-size:13px; color:var(--ink-2); max-width:420px; line-height:1.6; }

.diff-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  border-left:1px solid var(--rule-soft);
}
.diff-card{
  padding:32px 24px 28px;
  border-right:1px solid var(--rule-soft);
  display:flex; flex-direction:column; gap:18px;
  min-height:280px;
  background:var(--paper);
  transition: background 0.25s;
}
.diff-card:hover{ background:var(--paper-2); }
.diff-card:hover .diff-icon{ color:var(--signal); }
.diff-head-row{
  display:flex; justify-content:space-between; align-items:flex-start;
}
.diff-num{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.2em;
  color:var(--muted); text-transform:uppercase;
}
.diff-icon{ color:var(--ink); transition:color 0.25s; }
.diff-icon svg{ width:32px; height:32px; display:block; }
.diff-card h4{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:24px;
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:0.005em;
  margin-top:8px;
}
.diff-card p{
  font-size:12px; color:var(--muted);
  line-height:1.6;
  margin-top:auto;
}

/* ─── SERVICES / SPEC TABLE ─────────────── */
.services-head{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:64px;
  margin-bottom:56px;
  align-items:end;
}
.services-head h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(52px, 7vw, 120px);
  line-height:0.88;
  text-transform:uppercase;
  letter-spacing:-0.005em;
}
.services-head h2 .sig{ color:var(--signal); }
.services-head .intro{ font-size:13px; color:var(--ink-2); max-width:420px; line-height:1.6; }
.spec-table{
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
}
.spec-head{
  display:grid;
  grid-template-columns: 90px 2.2fr 2.8fr 180px 40px;
  gap:24px;
  padding:12px 0;
  border-bottom:1px solid var(--ink);
  font-size:10px;
  letter-spacing:0.2em;
  color:var(--muted);
  text-transform:uppercase;
}
.spec-row{
  display:grid;
  grid-template-columns: 90px 2.2fr 2.8fr 180px 40px;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--rule-soft);
  cursor:pointer;
  transition: background 0.2s ease, padding 0.25s ease;
  align-items:center;
  color:inherit;
}
.spec-row:last-child{ border-bottom:none; }
.spec-row:hover{ background:var(--paper-2); padding-left:16px; padding-right:16px; }
.spec-row:hover .svc-name{ color:var(--signal); }
.spec-row:hover .svc-arrow{ color:var(--signal); transform:translateX(6px); }
.spec-row:hover .svc-ref{ background:var(--signal); color:var(--paper); border-color:var(--signal); }
.svc-ref{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.1em;
  color:var(--ink);
  padding:3px 6px;
  border:1px solid var(--ink);
  justify-self:start;
  transition: all 0.2s;
}
.svc-name{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing:0.005em;
  text-transform:uppercase;
  line-height:1.05;
  transition:color 0.2s;
}
.svc-desc{ font-size:12px; color:var(--muted); line-height:1.55; }
.svc-std{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.1em;
  color:var(--muted); text-transform:uppercase;
}
.svc-arrow{
  font-family:'JetBrains Mono', monospace;
  font-size:14px;
  color:var(--ink);
  justify-self:end;
  transition:transform 0.25s ease, color 0.2s;
}

/* ─── CAPABILITIES / DATA SHEETS ────────── */
.capabilities{ background:var(--ink); color:var(--paper); border-bottom:1px solid var(--ink); }
.capabilities::before, .capabilities::after{ color:var(--signal); }
.capabilities .sec-ref{ color:var(--paper); background:var(--ink); border-color:var(--paper); }
.cap-header h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(44px, 5.5vw, 84px);
  line-height:0.92;
  text-transform:uppercase;
  letter-spacing:-0.005em;
  margin-bottom:72px;
  max-width:1000px;
}
.cap-header h2 .sig{ color:var(--signal); }
.cap-header h2 .thin{ color:var(--rule-soft); font-weight:400; }
.cap-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap:32px;
}
.data-sheet{
  border:1px solid var(--paper);
  background:var(--ink);
  display:flex; flex-direction:column;
  min-height:460px;
  color:var(--paper);
}
.data-sheet-hd{
  display:grid;
  grid-template-columns: 1fr auto;
  padding:12px 18px;
  border-bottom:1px solid var(--paper);
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--paper);
}
.data-sheet-hd .ref{ color:var(--signal); }
.data-sheet-body{
  padding:36px 28px 28px;
  display:flex; flex-direction:column; gap:20px; flex:1;
}
.data-sheet h3{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(36px, 3.8vw, 52px);
  line-height:0.95;
  letter-spacing:0.005em;
  text-transform:uppercase;
}
.data-sheet p{ font-size:13px; line-height:1.6; color:rgba(232,227,216,0.75); max-width:440px; }
.bom{ margin-top:auto; border-top:1px solid rgba(232,227,216,0.2); padding-top:20px; }
.bom-title{
  font-size:10px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--signal);
  margin-bottom:14px;
}
.bom-list{
  list-style:none;
  display:grid; grid-template-columns:1fr 1fr;
  gap:6px 20px;
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--paper);
}
.bom-list li{
  display:grid; grid-template-columns: 60px 1fr;
  gap:10px; padding:4px 0;
  border-bottom:1px dashed rgba(232,227,216,0.15);
}
.bom-list li span:first-child{ color:var(--muted); }

/* ─── MANIFESTO STRIP ───────────────────── */
.manifesto{
  background:var(--ink);
  color:var(--paper);
  padding:56px 0;
  border-bottom:1px solid var(--ink);
  position:relative;
  overflow:hidden;
}
.manifesto::before, .manifesto::after{
  content:'+';
  position:absolute;
  font-family:'JetBrains Mono', monospace;
  font-size:14px;
  color:var(--signal);
  line-height:1;
}
.manifesto::before{ top:12px; left:20px; }
.manifesto::after{ bottom:12px; right:20px; }
.manifesto-body{
  display:grid;
  grid-template-columns: auto 1fr auto;
  gap:40px;
  align-items:center;
}
.manifesto-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--signal);
  white-space:nowrap;
}
.manifesto-text{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:500;
  font-size: clamp(22px, 2.8vw, 40px);
  line-height:1.1;
  letter-spacing:0.005em;
  text-transform:uppercase;
  color:var(--paper);
}
.manifesto-text .sig{ color:var(--signal); font-weight:800; }
.manifesto-stamp{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.2em;
  text-transform:uppercase;
  padding:6px 10px;
  border:1px solid var(--paper);
  white-space:nowrap;
}

/* ─── CREW / TEAM ───────────────────────── */
.crew-head{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:64px;
  margin-bottom:56px;
  align-items:end;
}
.crew-head h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(48px, 6vw, 100px);
  line-height:0.88;
  text-transform:uppercase;
  letter-spacing:-0.005em;
}
.crew-head h2 .sig{ color:var(--signal); }
.crew-head .intro{ font-size:13px; color:var(--ink-2); max-width:420px; line-height:1.6; }

.crew-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:1px;
  background:var(--rule-soft);
  border:1px solid var(--ink);
}
.crew-card{
  background:var(--paper);
  padding:24px;
  display:flex; flex-direction:column; gap:18px;
  min-height:340px;
  transition:background 0.25s;
}
.crew-card:hover{ background:var(--paper-2); }
.portrait{
  aspect-ratio:1/1;
  border:1px solid var(--ink);
  background:
    repeating-linear-gradient(
      45deg,
      var(--paper-2),
      var(--paper-2) 6px,
      var(--paper) 6px,
      var(--paper) 12px
    );
  display:flex; align-items:center; justify-content:center;
  position:relative;
  overflow:hidden;
}
.portrait .monogram{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size:68px;
  color:var(--ink);
  letter-spacing:-0.02em;
  line-height:1;
  background:var(--paper);
  padding:16px 20px 12px;
  border:1px solid var(--ink);
}
.portrait .meta-tag{
  position:absolute; top:8px; left:8px;
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:0.2em;
  color:var(--muted); text-transform:uppercase;
  background:var(--paper);
  padding:2px 5px;
  border:1px solid var(--rule);
}
.portrait .lang-tag{
  position:absolute; bottom:8px; right:8px;
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:0.15em;
  color:var(--signal); text-transform:uppercase;
  background:var(--paper);
  padding:2px 5px;
  border:1px solid var(--signal);
}
.crew-info{ padding-top:4px; }
.crew-role{
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:0.22em;
  color:var(--signal); text-transform:uppercase;
  margin-bottom:6px;
}
.crew-name{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:22px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:0.005em;
  margin-bottom:8px;
}
.crew-desc{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  color:var(--muted);
  line-height:1.5;
}

/* ─── METRICS / GAUGES ──────────────────── */
.metrics-head h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(40px, 5vw, 72px);
  line-height:0.9;
  text-transform:uppercase;
  letter-spacing:-0.005em;
  margin-bottom:56px;
  max-width:780px;
}
.metrics-head h2 .sig{ color:var(--signal); }
.gauges{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  border:1px solid var(--ink);
}
.gauge{
  padding:36px 24px 28px;
  border-right:1px solid var(--rule);
  background:var(--paper);
}
.gauge:last-child{ border-right:none; }
.gauge-id{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.2em;
  color:var(--muted); text-transform:uppercase;
  margin-bottom:18px;
  display:flex; justify-content:space-between;
}
.gauge-id .stamp{
  color:var(--signal);
  border:1px solid var(--signal);
  padding:1px 5px;
  font-size:9px;
}
.gauge-num{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(72px, 8vw, 124px);
  line-height:0.9;
  letter-spacing:-0.01em;
  color:var(--ink);
  display:flex; align-items:flex-start;
}
.gauge-num sup{
  font-size:0.25em;
  color:var(--signal);
  margin-left:4px; margin-top:10px;
  font-family:'JetBrains Mono', monospace;
  font-weight:500;
  letter-spacing:0.05em;
}
.gauge-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.15em;
  color:var(--ink-2);
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid var(--rule);
  line-height:1.5;
  max-width:210px;
}

/* ─── PROJECTS / GALLERY ────────────────── */
.projects-head{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:64px;
  margin-bottom:48px;
  align-items:end;
}
.projects-head h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(48px, 6vw, 100px);
  line-height:0.88;
  text-transform:uppercase;
  letter-spacing:-0.005em;
}
.projects-head h2 .sig{ color:var(--signal); }
.projects-head .intro{ font-size:13px; color:var(--ink-2); max-width:420px; line-height:1.6; }

.projects-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:16px;
}
.project-card{
  border:1px solid var(--ink);
  background:var(--paper);
  transition: transform 0.3s ease;
  color:inherit;
  display:block;
}
.project-card:hover{ transform: translateY(-4px); }
.project-card:hover .project-frame{ border-color:var(--signal); }
.project-card:hover .project-client{ color:var(--signal); }
.project-frame{
  aspect-ratio:16/10;
  background:var(--ink);
  border-bottom:1px solid var(--ink);
  position:relative;
  overflow:hidden;
  transition:border-color 0.25s;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,0.04) 25%, transparent 25%),
    linear-gradient(225deg, rgba(255,255,255,0.04) 25%, transparent 25%),
    linear-gradient(45deg, rgba(255,255,255,0.04) 25%, transparent 25%),
    linear-gradient(315deg, rgba(255,255,255,0.04) 25%, var(--ink) 25%);
  background-position: 20px 0, 20px 0, 0 0, 0 0;
  background-size: 40px 40px;
  background-repeat: repeat;
}
.project-frame .ph-text{
  position:absolute;
  inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.2em;
  color:rgba(232,227,216,0.45);
  text-transform:uppercase;
  gap:8px;
}
.project-frame .ph-text .fig{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size:60px;
  letter-spacing:0;
  color:rgba(232,227,216,0.2);
  line-height:1;
}
.project-frame .corner-tag{
  position:absolute;
  top:12px; left:12px;
  font-family:'JetBrains Mono', monospace;
  font-size:9px;
  letter-spacing:0.2em;
  color:var(--signal);
  text-transform:uppercase;
  padding:3px 6px;
  border:1px solid var(--signal);
  background:rgba(10,10,10,0.4);
}
.project-meta{
  padding:16px 20px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap:16px;
  align-items:center;
}
.project-client{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:20px;
  text-transform:uppercase;
  letter-spacing:0.005em;
  line-height:1.1;
  transition:color 0.2s;
}
.project-client small{
  display:block;
  font-family:'JetBrains Mono', monospace;
  font-weight:400;
  font-size:10px;
  letter-spacing:0.15em;
  color:var(--muted);
  text-transform:uppercase;
  margin-top:4px;
}
.project-date{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.15em;
  color:var(--muted);
  text-transform:uppercase;
  text-align:right;
}

/* ─── REFERENCES / ORDER LOG ────────────── */
.refs-head{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:64px;
  margin-bottom:56px;
  align-items:end;
}
.refs-head h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(48px, 6vw, 104px);
  line-height:0.88;
  text-transform:uppercase;
  letter-spacing:-0.005em;
}
.refs-head h2 .sig{ color:var(--signal); }
.refs-head .intro{ font-size:13px; color:var(--ink-2); max-width:420px; line-height:1.6; }
.log{ border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); }
.log-head{
  display:grid;
  grid-template-columns: 90px 1.1fr 1.4fr 1.4fr 80px;
  gap:24px; padding:12px 0;
  border-bottom:1px solid var(--ink);
  font-size:10px; letter-spacing:0.2em;
  color:var(--muted); text-transform:uppercase;
}
.log-row{
  display:grid;
  grid-template-columns: 90px 1.1fr 1.4fr 1.4fr 80px;
  gap:24px; padding:20px 0;
  border-bottom:1px solid var(--rule-soft);
  align-items:center;
  transition: background 0.2s;
}
.log-row:last-child{ border-bottom:none; }
.log-row:hover{ background:var(--paper-2); }
.log-id{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; color:var(--muted); letter-spacing:0.1em;
}
.log-client{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size: clamp(18px, 1.7vw, 24px);
  letter-spacing:0.005em;
  text-transform:uppercase;
  color:var(--ink);
}
.log-sector, .log-scope{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; color:var(--ink-2);
  letter-spacing:0.08em; text-transform:uppercase;
}
.log-sector{ color:var(--muted); }
.log-status{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; text-transform:uppercase;
  letter-spacing:0.15em;
  padding:3px 6px;
  border:1px solid var(--signal);
  color:var(--signal);
  justify-self:start;
}

/* ─── CONTACT ───────────────────────────── */
.contact{ background:var(--ink); color:var(--paper); }
.contact::before, .contact::after{ color:var(--signal); }
.contact .sec-ref{ background:var(--ink); color:var(--paper); border-color:var(--paper); }
.contact h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(80px, 12vw, 200px);
  line-height:0.85;
  letter-spacing:-0.01em;
  text-transform:uppercase;
  margin-bottom:64px;
}
.contact h2 .sig{ color:var(--signal); }
.contact h2 .thin{ color:var(--rule-soft); font-weight:400; }
.contact-block{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  border:1px solid var(--paper);
}
.contact-cell{
  padding:22px 20px;
  border-right:1px solid var(--paper);
  border-bottom:1px solid var(--paper);
  min-height:130px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.contact-cell:nth-child(4n){ border-right:none; }
.contact-cell:nth-last-child(-n+4){ border-bottom:none; }
.contact-cell.wide{ grid-column: span 2; }
.cc-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--signal);
}
.cc-value{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:22px; line-height:1.1;
  letter-spacing:0.005em;
  text-transform:uppercase;
  color:var(--paper);
}
.cc-value a{
  color:var(--paper); text-decoration:none;
  border-bottom:1px solid rgba(232,227,216,0.3);
  transition:border-color 0.2s, color 0.2s;
}
.cc-value a:hover{ color:var(--signal); border-color:var(--signal); }
.cc-value small{
  display:block;
  font-family:'JetBrains Mono', monospace;
  font-weight:400;
  font-size:11px; letter-spacing:0.05em;
  text-transform:none;
  color:rgba(232,227,216,0.65);
  margin-top:6px; line-height:1.55;
}

/* ─── CONTACT FORM ──────────────────────── */
.contact-form-section{
  padding:120px 0;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  position:relative;
}
.contact-form-section::before, .contact-form-section::after{
  content:'+';
  position:absolute;
  font-family:'JetBrains Mono', monospace;
  font-size:18px;
  color:var(--signal);
  line-height:1;
}
.contact-form-section::before{ top:16px; left:20px; }
.contact-form-section::after{ bottom:16px; right:20px; }
.form-grid{
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  gap:80px;
  align-items:start;
}
.form-head h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(40px, 5vw, 72px);
  line-height:0.9;
  letter-spacing:-0.005em;
  text-transform:uppercase;
}
.form-head h2 .sig{ color:var(--signal); }
.form-head p{
  font-size:13px; color:var(--ink-2);
  line-height:1.6;
  max-width:400px;
  margin-top:24px;
}
form.brief{
  border:1px solid var(--ink);
  background:var(--paper);
}
form.brief .form-row{
  display:grid;
  grid-template-columns: 180px 1fr;
  border-bottom:1px solid var(--rule-soft);
  align-items:stretch;
}
form.brief .form-row:last-child{ border-bottom:none; }
form.brief label{
  padding:18px 16px;
  background:var(--paper-2);
  border-right:1px solid var(--rule-soft);
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--muted);
  display:flex; align-items:flex-start;
  padding-top:22px;
}
form.brief label .req{ color:var(--signal); margin-left:4px; }
form.brief input,
form.brief select,
form.brief textarea{
  padding:18px 16px;
  background:var(--paper);
  border:none;
  font-family:'JetBrains Mono', monospace;
  font-size:13px;
  color:var(--ink);
  outline:none;
  width:100%;
  letter-spacing:0.02em;
}
form.brief input:focus,
form.brief select:focus,
form.brief textarea:focus{
  background:var(--paper-2);
  box-shadow: inset 0 0 0 1px var(--signal);
}
form.brief textarea{ min-height:120px; resize:vertical; font-family:'JetBrains Mono', monospace; line-height:1.5; }
form.brief select{
  appearance:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M 2 4 L 6 8 L 10 4' stroke='%230A0A0A' stroke-width='1.5' fill='none'/></svg>");
  background-repeat:no-repeat;
  background-position: right 16px center;
  padding-right:40px;
}
.form-submit{
  padding:20px 24px;
  border-top:1px solid var(--ink);
  display:flex; justify-content:space-between; align-items:center;
  background:var(--ink);
}
.form-submit .note{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.15em;
  color:var(--muted);
  text-transform:uppercase;
}
.form-submit button{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size:18px;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--paper);
  background:var(--signal);
  padding:12px 24px;
  border:1px solid var(--signal);
  cursor:pointer;
  transition: background 0.2s, color 0.2s;
}
.form-submit button:hover{
  background:var(--paper);
  color:var(--signal);
}

/* ─── CTA BUTTONS ─────────────────────── */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  padding:14px 20px;
  border:1px solid var(--ink);
  background:var(--paper);
  color:var(--ink);
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  cursor:pointer;
}
.btn:hover{ background:var(--ink); color:var(--paper); }
.btn.primary{ background:var(--signal); border-color:var(--signal); color:var(--paper); }
.btn.primary:hover{ background:var(--ink); border-color:var(--ink); color:var(--paper); }
.btn.inv{ background:var(--ink); border-color:var(--paper); color:var(--paper); }
.btn.inv:hover{ background:var(--signal); border-color:var(--signal); }
.btn .arrow{ font-size:14px; }

/* ─── PREV/NEXT NAV (DETAIL PAGES) ────── */
.prev-next{
  display:grid;
  grid-template-columns: 1fr 1fr;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  margin-top:80px;
}
.prev-next a{
  padding:32px 24px;
  display:flex; flex-direction:column; gap:8px;
  transition: background 0.2s;
}
.prev-next a:hover{ background:var(--paper-2); }
.prev-next a:hover .pn-title{ color:var(--signal); }
.prev-next .prev{ border-right:1px solid var(--rule); }
.prev-next .next{ text-align:right; align-items:flex-end; }
.pn-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--muted);
}
.pn-title{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:22px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:0.005em;
  transition:color 0.2s;
}

/* ─── DETAIL PAGE LAYOUT (service / project) ── */
.detail-hero{
  padding:120px 0 56px;
  border-bottom:1px solid var(--rule);
  position:relative;
}
.detail-hero::before, .detail-hero::after{
  content:'+';
  position:absolute;
  font-family:'JetBrains Mono', monospace;
  font-size:18px;
  color:var(--signal);
  line-height:1;
}
.detail-hero::before{ top:96px; left:20px; }
.detail-hero::after{ bottom:16px; right:20px; }

.detail-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:80px;
  align-items:start;
}
.detail-main h1{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(56px, 8vw, 120px);
  line-height:0.88;
  letter-spacing:-0.005em;
  text-transform:uppercase;
}
.detail-main h1 .sig{ color:var(--signal); }
.detail-lede{
  margin-top:32px;
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:400;
  font-size:22px;
  line-height:1.2;
  color:var(--ink-2);
  max-width:680px;
  letter-spacing:0.005em;
}
.detail-card{
  border:1px solid var(--ink);
  background:var(--paper);
}
.detail-card-hd{
  padding:10px 14px;
  background:var(--ink);
  color:var(--paper);
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  display:flex; justify-content:space-between;
}
.detail-card-hd .ref{ color:var(--signal); }
.spec-list{
  list-style:none;
}
.spec-list li{
  display:grid;
  grid-template-columns: 1fr 1fr;
  padding:12px 16px;
  border-bottom:1px solid var(--rule-soft);
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  gap:12px;
}
.spec-list li:last-child{ border-bottom:none; }
.spec-list li .k{ color:var(--muted); }
.spec-list li .v{ color:var(--ink); font-weight:500; text-align:right; }
.spec-list li .v.sig{ color:var(--signal); }

.detail-section{
  padding:80px 0;
  border-bottom:1px solid var(--rule);
  position:relative;
}
.detail-section::before, .detail-section::after{
  content:'+';
  position:absolute;
  font-family:'JetBrains Mono', monospace;
  font-size:18px;
  color:var(--signal);
  line-height:1;
}
.detail-section::before{ top:16px; left:20px; }
.detail-section::after{ bottom:16px; right:20px; }
.detail-section h2{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size: clamp(32px, 3.6vw, 52px);
  line-height:0.95;
  text-transform:uppercase;
  letter-spacing:-0.005em;
  margin-bottom:32px;
}
.detail-section h2 .sig{ color:var(--signal); }
.detail-section p{
  font-size:14px;
  line-height:1.7;
  color:var(--ink-2);
  margin-bottom:16px;
  max-width:760px;
}

/* scope cards for service detail */
.scope-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  border-left:1px solid var(--rule-soft);
}
.scope-card{
  padding:28px 20px;
  border-right:1px solid var(--rule-soft);
  background:var(--paper);
  display:flex; flex-direction:column; gap:12px;
  min-height:180px;
}
.scope-num{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.2em;
  color:var(--signal); text-transform:uppercase;
}
.scope-card h4{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:20px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:0.005em;
}
.scope-card p{
  font-size:12px; color:var(--muted);
  line-height:1.55;
  margin:0;
}

/* related items list (service ↔ project) */
.related-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
.related-card{
  border:1px solid var(--ink);
  background:var(--paper);
  padding:20px;
  display:flex; flex-direction:column; gap:10px;
  transition: background 0.2s;
  color:inherit;
}
.related-card:hover{ background:var(--paper-2); }
.related-card:hover .rc-title{ color:var(--signal); }
.rc-ref{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.2em;
  color:var(--signal); text-transform:uppercase;
}
.rc-title{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:22px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:0.005em;
  transition:color 0.2s;
}
.rc-sub{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  color:var(--muted);
  line-height:1.5;
}

/* project photo placeholder grid */
.photo-grid{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 300px 200px;
  gap:12px;
}
.photo-grid .photo{
  background:var(--ink);
  position:relative;
  overflow:hidden;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,0.04) 25%, transparent 25%),
    linear-gradient(225deg, rgba(255,255,255,0.04) 25%, transparent 25%),
    linear-gradient(45deg, rgba(255,255,255,0.04) 25%, transparent 25%),
    linear-gradient(315deg, rgba(255,255,255,0.04) 25%, var(--ink) 25%);
  background-position: 20px 0, 20px 0, 0 0, 0 0;
  background-size: 40px 40px;
}
.photo-grid .photo:nth-child(1){ grid-row: span 2; }
.photo-grid .photo .lbl{
  position:absolute; top:10px; left:10px;
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:0.2em;
  color:var(--signal); text-transform:uppercase;
  padding:3px 6px;
  border:1px solid var(--signal);
  background:rgba(10,10,10,0.4);
}
.photo-grid .photo .center-txt{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.2em;
  color:rgba(232,227,216,0.4);
  text-transform:uppercase;
}

/* ─── FOOTER ────────────────────────────── */
footer{
  background:var(--ink);
  color:var(--paper);
  border-top:1px solid var(--paper);
  padding:0;
  font-family:'JetBrains Mono', monospace;
}
.foot-nav{
  padding:56px 0;
  border-top:1px solid rgba(232,227,216,0.15);
}
.foot-nav-grid{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap:48px;
}
.foot-col h5{
  font-family:'JetBrains Mono', monospace;
  font-weight:500;
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--signal);
  margin-bottom:18px;
}
.foot-brand{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size:32px;
  letter-spacing:0.005em;
  text-transform:uppercase;
  line-height:1;
  margin-bottom:16px;
  color:var(--paper);
  display:flex; align-items:baseline; gap:6px;
}
.foot-brand .tld{
  font-family:'JetBrains Mono', monospace;
  font-weight:500;
  font-size:12px;
  color:var(--signal);
  padding:3px 6px;
  border:1px solid var(--signal);
  position:relative; top:-5px;
}
.foot-about{
  font-size:12px;
  color:rgba(232,227,216,0.6);
  line-height:1.6;
  max-width:320px;
}
.foot-col ul{ list-style:none; }
.foot-col ul li{ margin-bottom:8px; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; }
.foot-col ul li a{ color:var(--paper); transition:color 0.2s; }
.foot-col ul li a:hover{ color:var(--signal); }

.foot-block{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  border-top:1px solid rgba(232,227,216,0.3);
}
.foot-cell{
  padding:14px 18px;
  border-right:1px solid rgba(232,227,216,0.3);
  font-size:10px; letter-spacing:0.15em;
  text-transform:uppercase;
}
.foot-cell:last-child{ border-right:none; }
.foot-cell .k{ color:var(--muted); display:block; margin-bottom:4px; font-size:9px; }
.foot-cell .v{ color:var(--paper); }
.foot-cell .v.sig{ color:var(--signal); }

/* ─── ANIMATIONS ────────────────────────── */
.fade-up{ opacity:0; transform:translateY(20px); transition: opacity 0.8s cubic-bezier(.2,.7,.2,1), transform 0.8s cubic-bezier(.2,.7,.2,1); }
.fade-up.visible{ opacity:1; transform:translateY(0); }
.fade-up.d1{ transition-delay:0.08s; }
.fade-up.d2{ transition-delay:0.16s; }
.fade-up.d3{ transition-delay:0.24s; }

/* ─── RESPONSIVE ────────────────────────── */
@media (max-width: 1100px){
  .diff-grid{ grid-template-columns: repeat(2,1fr); }
  .crew-grid{ grid-template-columns: repeat(2,1fr); }
  .scope-grid{ grid-template-columns: repeat(2,1fr); }
  .hero-schema{ display:none; }
  .detail-grid{ grid-template-columns: 1fr; gap:40px; }
}
@media (max-width: 1024px){
  .title-block{ position:static; margin-top:24px; min-width:0; }
  .hero-headline{ font-size: clamp(64px, 14vw, 120px); }
  .spec-head, .spec-row{ grid-template-columns: 70px 1fr 40px; }
  .spec-head .col-desc, .spec-row .svc-desc,
  .spec-head .col-std, .spec-row .svc-std{ display:none; }
  .log-head, .log-row{ grid-template-columns: 70px 1fr 80px; }
  .log-head .col-sector, .log-row .log-sector,
  .log-head .col-scope, .log-row .log-scope{ display:none; }
  .contact-block{ grid-template-columns: repeat(2,1fr); }
  .contact-cell:nth-child(4n){ border-right:1px solid var(--paper); }
  .contact-cell:nth-child(2n){ border-right:none; }
  .foot-block{ grid-template-columns: 1fr 1fr; }
  .foot-cell{ border-bottom:1px solid rgba(232,227,216,0.15); }
  .foot-cell:nth-child(2n){ border-right:none; }
  .foot-nav-grid{ grid-template-columns: repeat(2,1fr); gap:32px; }
  .manifesto-body{ grid-template-columns:1fr; gap:16px; }
  .form-grid{ grid-template-columns:1fr; gap:40px; }
  .related-grid{ grid-template-columns: repeat(2,1fr); }
  .photo-grid{ grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .photo-grid .photo{ height:220px; }
  .photo-grid .photo:nth-child(1){ grid-column: span 2; height:280px; grid-row:auto; }
}
@media (max-width: 680px){
  .wrap{ padding:0 20px; }
  section{ padding:80px 0; }
  .topbar{ padding:12px 18px; grid-template-columns: 1fr auto; }
  .topbar-meta{ display:none; }
  .topnav{ gap:14px; font-size:10px; }
  .topnav a.hide-s{ display:none; }
  .topnav a.active::before{ bottom:-14px; }
  .hero{ padding:110px 0 60px; min-height:auto; }
  .hero-headline{ font-size: clamp(52px, 15vw, 90px); }
  .hero-sub{ grid-template-columns:1fr; gap:32px; }
  .about-grid, .services-head, .refs-head, .cap-grid, .crew-head, .diff-head, .projects-head{ grid-template-columns:1fr; gap:32px; }
  .principles{ grid-template-columns:1fr; }
  .principle{ border-right:none; border-bottom:1px solid var(--rule); }
  .principle:last-child{ border-bottom:none; }
  .diff-grid{ grid-template-columns:1fr; }
  .diff-card{ border-right:1px solid var(--rule-soft); border-bottom:1px solid var(--rule-soft); min-height:auto; }
  .crew-grid{ grid-template-columns:1fr; }
  .projects-grid{ grid-template-columns:1fr; }
  .gauges{ grid-template-columns:repeat(2,1fr); }
  .gauge:nth-child(2){ border-right:none; }
  .gauge:nth-child(1), .gauge:nth-child(2){ border-bottom:1px solid var(--rule); }
  .gauge-num{ font-size:64px; }
  .contact h2{ font-size:54px; }
  .cap-header h2{ font-size:40px; margin-bottom:40px; }
  .bom-list{ grid-template-columns:1fr; }
  .data-sheet-body{ padding:24px 20px; }
  .manifesto-text{ font-size:22px; }
  .portrait .monogram{ font-size:56px; }
  .foot-nav-grid{ grid-template-columns: 1fr; }
  form.brief .form-row{ grid-template-columns: 1fr; }
  form.brief label{ border-right:none; border-bottom:1px solid var(--rule-soft); padding:12px 16px; }
  .scope-grid{ grid-template-columns:1fr; }
  .scope-card{ border-right:1px solid var(--rule-soft); border-bottom:1px solid var(--rule-soft); }
  .related-grid{ grid-template-columns:1fr; }
  .prev-next{ grid-template-columns:1fr; }
  .prev-next .prev{ border-right:none; border-bottom:1px solid var(--rule); }
  .prev-next .next{ text-align:left; align-items:flex-start; }
  .photo-grid{ grid-template-columns:1fr; }
  .photo-grid .photo, .photo-grid .photo:nth-child(1){ grid-column:1; height:200px; }
}
