 :root{
    --bg:#fafafa;
    --ink:#0a0a0a;
    --muted:#6b7280;
    --grid:#e5e7eb;
    --accent:#111827;
    --accent-light:#dbeafe;  
  }
  *{box-sizing:border-box}
  html,body{height:100%}
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  }
  .wrap{
    display:grid; grid-template-columns:80px 1fr; min-height:100vh;
    max-width:1280px; margin:0 auto; padding:28px;
    background-image:
      linear-gradient(to right, var(--grid) 1px, transparent 1px),
      linear-gradient(to bottom, var(--grid) 1px, transparent 1px);
    background-size:80px 80px;
  }
a {color: var(--accent); }
a:hover, a:active { text-decoration: none; color: black;}
  .rail{position:sticky; top:28px; height:fit-content; user-select:none; display:flex; align-items:flex-start; justify-content:center;}
  .rail .vword{writing-mode:vertical-rl; transform:rotate(180deg); font-weight:900; letter-spacing:.15em; font-size:16px; color:var(--accent);}
  .rail .mono{font-family:"IBM Plex Mono", monospace; font-size:12px; color:var(--muted); margin-top:10px; writing-mode:vertical-rl; transform:rotate(180deg);}
  .col{display:grid; gap:80px; padding-left:24px;}
  .sec{display:grid; grid-template-columns:120px 1fr; gap:32px; align-items:start; border-left:4px solid var(--accent); padding-left:18px;}
  .num{font-family:"IBM Plex Mono", monospace; font-weight:600; font-size:14px; letter-spacing:.2em; color:var(--muted); padding-top:6px;}
  .hero .title{font-weight:900; letter-spacing:-.02em; font-size:clamp(36px, 6vw, 84px); line-height:0.98; margin:0 0 10px 0;}
  .hero .kicker{font-family:"IBM Plex Mono", monospace; font-size:12px; color:var(--muted); letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px;}
  .hero .lead{font-size:clamp(18px, 2.2vw, 24px); color:#1f2937; max-width:38ch; margin:0;}
  h2{margin:0 0 8px 0; font-size:clamp(22px, 2.6vw, 34px); font-weight:900; letter-spacing:-.01em;}
  h3{margin:16px 0 8px 0; font-size:20px; font-weight:700; color:var(--accent);}
  .p{margin:0 0 18px 0; color:#334155; font-size:18px; max-width:70ch;}
  .row{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:18px;}
  .card{border:1px solid var(--grid); background:#fff; padding:20px 16px 16px 20px; border-radius:4px; min-height:96px; display:flex; flex-direction:column; justify-content:flex-start; text-align:left;}
  .tag{display:inline-block; font-family:"IBM Plex Mono", monospace; font-size:11px; color:#000; background:#f5f5f5; border:1px solid #e5e5e5; border-left:2px solid var(--accent); padding:3px 8px; border-radius:4px; margin:0 0 8px 0; float:left;}
  .card h3{margin:6px 0 4px 0; font-size:18px; text-align:left;}
  .card p{margin:0; color:#4b5563; font-size:15px; text-align:left;}
  /* 05 Contacts */
  .contacts .contact-row{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:24px 0;}
  .contacts .contact-item{border-left:4px solid var(--accent); padding:16px; background:#f8fafc; border-radius:0 8px 8px 0; text-align:left;}
  .contacts .contact-item strong{font-weight:600; color:var(--accent); display:block; margin-bottom:4px; font-size:16px;}
  .contacts .contact-item p{margin:0; color:#4b5563; font-size:14px;}
  /* 06 Formats */
  .formats .format-row{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:24px 0; font-family:"IBM Plex Mono", monospace;}
  .formats .format-item{border-left:4px solid var(--accent); padding:16px; background:#f8fafc; border-radius:0 8px 8px 0;}
  .formats .format-item strong{font-weight:600; color:var(--accent); display:block; margin-bottom:4px; font-size:16px;}
  .formats .format-item p{margin:0; color:#4b5563; font-size:14px;}
  .img-vision{max-width:100%; height:auto; border-radius:8px; margin:18px 0; display:block;}
  footer{margin-top:40px; padding-top:18px; color:var(--muted); font-family:"IBM Plex Mono", monospace; font-size:12px;}
  @media(max-width:900px){.wrap{grid-template-columns:56px 1fr; background-size:56px 56px} .sec{grid-template-columns:40px 1fr} .row,.contacts .contact-row,.formats .format-row{grid-template-columns:1fr}}
  @media(max-width:560px){.wrap{padding:18px} .col{gap:56px} .sec{grid-template-columns:15px 1fr}}
