:root{
  --bg:#0C0C0E;
  --surface:#151518;
  --line:#26262b;
  --ink:#F2F1EF;
  --sub:#9A9A9F;
  /* Lightened from #6E6D74, which measured 3.82:1 on the near-black ground
     and missed the WCAG AA 4.5:1 floor. This is 5.07:1. */
  --faint:#828189;
  --gold:#C9A227;
  --gold-ink:#141007;
  --maxw:760px;
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.7;
  font-size:16px;
}
a{ color:var(--gold); text-decoration:none; }
a:hover{ text-decoration:underline; }

/* Keyboard focus: an explicit ring, since links here carry no underline. */
a:focus-visible, button:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
  border-radius:3px;
}

/* Lets a keyboard or screen-reader user jump the nav. Hidden until focused. */
.skip{
  position:absolute; left:-9999px; top:0;
  background:var(--gold); color:var(--gold-ink);
  padding:10px 18px; font-weight:800; font-size:14px; z-index:10;
}
.skip:focus{ left:8px; top:8px; }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* Header */
.nav{ border-bottom:1px solid var(--line); }
.nav .wrap{ display:flex; align-items:center; gap:12px; height:66px; }
.brand{ display:flex; align-items:center; gap:10px; }
.mark{ width:30px; height:30px; flex:0 0 auto; }
.wordmark{ font-weight:800; letter-spacing:3px; color:var(--gold); font-size:15px; }
.nav .spacer{ flex:1; }
.nav .links a{ color:var(--sub); font-size:14px; font-weight:600; margin-left:20px; }
.nav .links a:hover{ color:var(--ink); text-decoration:none; }

/* Hero */
.hero{ padding:72px 0 40px; text-align:center; }
.hero .biglogo{ width:76px; height:76px; margin:0 auto 22px; }
.hero h1{ font-size:38px; line-height:1.15; font-weight:800; letter-spacing:-0.8px; margin:0 0 14px; }
.hero .tag{ color:var(--sub); font-size:18px; max-width:520px; margin:0 auto; }
.eyebrow{ color:var(--gold); font-weight:800; letter-spacing:2px; text-transform:uppercase; font-size:12px; margin:0 0 14px; }

/* Sections */
section{ padding:34px 0; border-top:1px solid var(--line); }
section:first-of-type{ border-top:none; }
h2{ font-size:24px; font-weight:800; letter-spacing:-0.4px; margin:0 0 14px; }
h3{ font-size:17px; font-weight:700; margin:26px 0 6px; }
p{ margin:0 0 14px; color:#D6D5D2; }
.sub{ color:var(--sub); }
ul{ margin:0 0 16px; padding-left:22px; }
li{ margin:6px 0; color:#D6D5D2; }

.cards{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:8px; }
@media (max-width:640px){ .cards{ grid-template-columns:1fr; } .hero h1{ font-size:30px; } }
.card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.card h3{ margin:0 0 6px; color:var(--gold); }
.card p{ margin:0; font-size:14.5px; color:var(--sub); }

/* Legal doc */
.doc{ padding:44px 0 20px; }
.doc h1{ font-size:30px; font-weight:800; letter-spacing:-0.5px; margin:0 0 6px; }
.updated{ color:var(--faint); font-size:13px; margin:0 0 8px; }
.doc h2{ font-size:19px; margin:34px 0 10px; }
.callout{ background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:0 10px 10px 0; padding:14px 18px; margin:18px 0; color:#D6D5D2; }
.callout strong{ color:var(--ink); }

/* Company wordmark (parent brand, distinct from the MV2 product mark) */
.cobrand{ font-weight:800; letter-spacing:1.5px; font-size:15px; color:var(--ink); }
.cobrand .ms{ color:var(--gold); }

/* Product cards with a mark + links */
.product{ display:flex; gap:16px; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:20px; }
.product .pmark{ width:44px; height:44px; flex:0 0 auto; border-radius:12px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.product h3{ margin:0 0 4px; font-size:17px; }
.product p{ margin:0 0 10px; font-size:14.5px; color:var(--sub); }
.plinks{ display:flex; gap:16px; flex-wrap:wrap; }
.plinks a{ font-size:13px; font-weight:700; }
.badge{ display:inline-block; font-size:11px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--gold); background:rgba(201,162,39,.12); border:1px solid rgba(201,162,39,.35); border-radius:999px; padding:2px 9px; margin-left:8px; vertical-align:2px; }

/* Footer */
footer{ border-top:1px solid var(--line); padding:30px 0 44px; color:var(--faint); font-size:13px; }
footer .wrap{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; }
footer a{ color:var(--sub); }
footer .spacer{ flex:1; }
