
  :root {
    --bg:#14170f; --panel:#1b1f15; --line:#2e3426; --fg:#ecebe3; --muted:#a3a593; --dim:#6b6e5e;
    --feld:#7d8a6a; --feld-hi:#b7c39a; --signal:#d9b45a;
    /* company colors (STANDARDS.md) */
    --caen:#c0392b; --carentan:#e67e22; --cotentin:#c2185b; --falaise:#7b1f2e; --cherbourg:#7a5230;
  }
  * { box-sizing:border-box; margin:0; padding:0; }
  html { background:var(--bg); color-scheme:dark; }
  body {
    min-height:100vh; background:var(--bg); color:var(--fg);
    font:16px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  a { color:var(--feld-hi); }
  .wrap { width:min(100% - 32px, 60rem); margin-inline:auto; }

  /* top strip */
  .strip { border-bottom:1px solid var(--line); }
  .strip .wrap { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.85rem 0;
    font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); }
  .strip b { color:var(--fg); font-weight:700; }

  /* hero */
  .hero { text-align:center; padding:clamp(3rem, 10vw, 6rem) 0 clamp(2rem, 6vw, 3.5rem);
    background:
      repeating-linear-gradient(0deg, transparent 0 39px, rgba(183,195,154,.05) 39px 40px),
      repeating-linear-gradient(90deg, transparent 0 39px, rgba(183,195,154,.05) 39px 40px);
  }
  .kicker { color:var(--signal); font-size:.75rem; font-weight:700; letter-spacing:.35em; text-transform:uppercase; }
  h1 { margin-top:1rem; font-size:clamp(3rem, 13vw, 7.5rem); font-weight:900; line-height:.92;
    letter-spacing:.02em; text-transform:uppercase; }
  h1 span { display:block; }
  h1 span + span { color:var(--feld-hi); }
  .lede { margin:1.4rem auto 0; max-width:34rem; color:var(--muted); font-size:clamp(1rem, 2.6vw, 1.15rem); }
  .lede b { color:var(--fg); }

  /* countdown */
  .count { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(.4rem, 2.5vw, 1rem);
    width:min(100%, 40rem); margin:2.5rem auto 0; }
  .unit { border:1px solid var(--line); border-radius:10px; background:var(--panel);
    padding:clamp(.8rem, 3vw, 1.3rem) .25rem; }
  .unit b { display:block; font-size:clamp(2rem, 9vw, 4.25rem); font-weight:800; line-height:1;
    font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
  .unit small { display:block; margin-top:.5rem; color:var(--muted); font-size:.66rem; letter-spacing:.25em; text-transform:uppercase; }
  .status { margin-top:1.1rem; min-height:1.5em; color:var(--muted); }
  .status.live { color:var(--signal); font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

  .ctas { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
  .btn { display:inline-block; padding:.8rem 1.3rem; border-radius:999px; font-weight:800; font-size:.8rem;
    letter-spacing:.14em; text-transform:uppercase; text-decoration:none; border:1px solid var(--feld);
    color:var(--fg); background:transparent; cursor:pointer; font-family:inherit; }
  .btn.primary { background:var(--feld-hi); border-color:var(--feld-hi); color:#13160e; }
  .btn:hover { border-color:var(--feld-hi); }
  .btn:focus-visible { outline:2px solid var(--signal); outline-offset:3px; }

  /* sections */
  section.block { padding:clamp(2.5rem, 7vw, 4rem) 0; border-top:1px solid var(--line); }
  h2 { font-size:.78rem; letter-spacing:.32em; text-transform:uppercase; color:var(--signal); font-weight:800; }
  .h2big { margin-top:.6rem; font-size:clamp(1.6rem, 5vw, 2.4rem); font-weight:900; line-height:1.1; }
  .pair { margin-top:2rem; display:grid; grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr)); gap:1rem; }
  .card { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1.5rem; }
  .card h3 { font-size:clamp(1.5rem, 4.5vw, 2rem); font-weight:900; text-transform:uppercase; letter-spacing:.03em; line-height:1; }
  .card h3 span { color:var(--feld-hi); }
  .card p { margin-top:.8rem; color:var(--muted); }
  .card ul { margin-top:1rem; list-style:none; display:grid; gap:.45rem; }
  .card li { padding-left:1.2rem; position:relative; }
  .card li::before { content:""; position:absolute; left:0; top:.6em; width:.5rem; height:.5rem; border-radius:50%; background:var(--feld-hi); }

  /* checklist */
  ol.steps { margin-top:2rem; list-style:none; counter-reset:step; display:grid; gap:.75rem; }
  ol.steps li { counter-increment:step; display:grid; grid-template-columns:2.6rem 1fr; gap:1rem; align-items:start;
    background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1.1rem 1.2rem; }
  ol.steps li::before { content:counter(step, decimal-leading-zero); font-weight:900; font-size:1.25rem;
    color:var(--signal); font-variant-numeric:tabular-nums; line-height:1.3; }
  ol.steps b { display:block; font-size:1.05rem; }
  ol.steps p { color:var(--muted); margin-top:.2rem; }
  .stores { margin-top:.7rem; display:flex; flex-wrap:wrap; gap:.5rem; }
  .stores .btn { padding:.55rem 1rem; font-size:.72rem; }

  /* companies */
  .companies { margin-top:2rem; display:grid; grid-template-columns:repeat(auto-fit, minmax(9.5rem, 1fr)); gap:.6rem; }
  .co { background:var(--panel); border:1px solid var(--line); border-left:6px solid var(--c); border-radius:8px;
    padding:.85rem 1rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:.85rem; }
  .co small { display:block; color:var(--dim); font-weight:600; letter-spacing:.1em; font-size:.68rem; margin-top:.15rem; }
  .net-note { margin-top:1.2rem; color:var(--muted); }

  /* dates */
  .dates { margin-top:1.5rem; display:grid; gap:.6rem; }
  .dates div { display:grid; grid-template-columns:minmax(9rem, max-content) 1fr; gap:1rem; color:var(--muted); }
  .dates b { color:var(--fg); }

  footer { border-top:1px solid var(--line); padding:2rem 0 3rem; color:var(--dim); font-size:.85rem; text-align:center; }
  footer .motto { color:var(--muted); letter-spacing:.3em; text-transform:uppercase; font-weight:800; font-size:.75rem; margin-bottom:.6rem; }

  @media (max-width:520px) {
    .strip .wrap span:last-child { display:none; }
    .dates div { grid-template-columns:1fr; gap:0; }
    ol.steps li { grid-template-columns:1fr; gap:.3rem; }
  }
