:root { --bg:#090b09; --panel:#121412; --ink:#f6f3ec; --muted:#9c978d; --line:#2c2e2a; --red:#c0392b; --bar:84px; --foot:88px; }
* { box-sizing:border-box; }
html, body { margin:0; background:var(--bg); color:var(--ink); }
body { font:16px/1.5 "Segoe UI", system-ui, sans-serif; }
a { color:inherit; text-decoration:none; }
.bar {
  position:fixed; top:0; left:0; right:0; z-index:30; height:var(--bar);
  display:grid; grid-template-columns:240px 1fr auto; align-items:center; gap:24px;
  padding:0 36px; background:#090b09; border-bottom:1px solid var(--line);
}
.bar:after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--red); }
.brand { display:flex; align-items:center; gap:12px; letter-spacing:.2em; font-size:13px; font-weight:700; }
.brand img { width:36px; height:36px; border-radius:50%; }
.motto { letter-spacing:.28em; font-size:11px; text-transform:uppercase; color:var(--muted); text-align:center; }
nav { display:flex; gap:20px; justify-content:flex-end; }
nav a { color:var(--muted); letter-spacing:.12em; font-size:11px; text-transform:uppercase; padding:6px 0; }
nav a.on { color:var(--ink); border-bottom:2px solid var(--red); }
nav a:hover { color:var(--ink); }
main { padding:var(--bar) 0 var(--foot); min-height:100vh; }
.screen {
  min-height:calc(100vh - var(--bar) - var(--foot));
  width:min(1200px, calc(100% - 72px));
  margin:0 auto;
  display:grid;
  grid-template-rows:1fr auto;
  padding:42px 0 28px;
}
.kicker { margin:0 0 16px; letter-spacing:.3em; font-size:12px; text-transform:uppercase; color:var(--red); }
.mega { margin:0; font-size:clamp(58px, 7.2vw, 104px); line-height:.88; letter-spacing:-.045em; font-weight:720; }
.mega em { font-style:normal; color:var(--red); }
.rule { width:84px; height:3px; background:var(--red); margin:26px 0 18px; }
.lede { max-width:38rem; margin:0; color:#ddd8ce; font-size:18px; }
.band { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); border:1px solid var(--line); background:var(--panel); }
.band div { padding:22px 24px 20px; border-right:1px solid var(--line); }
.band div:last-child { border-right:0; }
.band span { display:block; color:var(--red); letter-spacing:.18em; font-size:11px; text-transform:uppercase; }
.band strong { display:block; margin:8px 0 6px; font-size:20px; }
.band p { margin:0; color:var(--muted); font-size:14px; }
.inner { width:min(1200px, calc(100% - 72px)); margin:0 auto; padding:48px 0 36px; }
h1 { margin:0; font-size:clamp(36px, 4.4vw, 58px); line-height:1.04; letter-spacing:-.03em; font-weight:650; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
.card { border:1px solid var(--line); border-top:2px solid var(--red); background:var(--panel); padding:20px; }
.card b { display:block; margin:4px 0 8px; font-size:18px; }
.card p { margin:0; color:var(--muted); }
.idx { color:var(--red); letter-spacing:.14em; font-size:11px; }
.row { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; padding:16px 0; border-top:1px solid var(--line); }
.row strong { color:var(--red); letter-spacing:.12em; font-size:12px; text-transform:uppercase; }
.row span { color:#ddd8ce; }
.split { display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center; }
.panel { border:1px solid var(--line); border-top:3px solid var(--red); background:var(--panel); padding:32px; }
.panel h2 { margin:0 0 12px; font-size:22px; overflow-wrap:anywhere; }
.mail { border-bottom:1px solid var(--red); }
footer {
  position:fixed; left:0; right:0; bottom:0; z-index:30; height:var(--foot);
  display:grid; grid-template-columns:1fr 1.4fr 1fr; align-items:center;
  padding:0 36px; background:#090b09; border-top:1px solid var(--line);
}
footer:before { content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--red); }
.f-brand { letter-spacing:.18em; font-size:12px; font-weight:700; }
.f-motto { text-align:center; }
.f-motto b { display:block; letter-spacing:.32em; font-size:13px; font-weight:680; }
.f-motto span { display:block; margin-top:4px; color:var(--muted); letter-spacing:.16em; font-size:10px; text-transform:uppercase; }
.f-meta { text-align:right; color:var(--muted); letter-spacing:.14em; font-size:11px; text-transform:uppercase; }
@media (max-width:980px) {
  .bar { grid-template-columns:1fr auto; }
  .motto, nav { display:none; }
  .screen, .inner { width:min(1200px, calc(100% - 36px)); }
  .band, .grid, .split, .row, footer { grid-template-columns:1fr; }
  .f-motto, .f-meta { text-align:left; }
  footer { height:auto; padding:14px 20px; gap:6px; }
}
