/* ProjectMoosed — shared design system
   Dark theme, amber accent, system-ui stack, no webfonts.
   Tokens follow the living brand (gotmoosed.com quote flow). */
:root{
  color-scheme:dark;
  --bg:#0c0a09;
  --card:#1c1917;
  --card2:#292524;
  --ink:#fafaf9;
  --muted:#a8a29e;
  --amber:#f59e0b;
  --amber-ink:#1c1917;
  --line:#33302c;
  --maxw:1120px;
}
*{box-sizing:border-box}
html{scroll-padding-top:96px}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:ui-sans-system,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;font-size:16px;
}
a{color:var(--amber)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.1rem}
h1,h2,h3{line-height:1.2;margin:0 0 .6rem}
h1{font-size:2.4rem;font-weight:900}
h2{font-size:1.7rem;font-weight:900;margin-bottom:1rem}
h3{font-size:1.1rem;font-weight:800}
p{margin:0 0 1rem}
.muted{color:var(--muted)}
.lede{font-size:1.15rem;color:var(--muted);max-width:68ch}
.eyebrow{color:var(--amber);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;margin:0 0 .5rem}

/* Header / nav */
header.site{
  position:sticky;top:0;z-index:20;
  background:rgba(12,10,9,.92);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.logo{font-weight:900;font-size:1.3rem;color:var(--ink);text-decoration:none;letter-spacing:.02em}
.logo span{color:var(--amber)}
.links{display:flex;gap:1.2rem;flex-wrap:wrap}
.links a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem}
.links a:hover{color:var(--ink)}
.links a[aria-current="page"]{color:var(--amber);text-decoration:underline;text-underline-offset:5px}
.btn{
  display:inline-block;background:var(--amber);color:var(--amber-ink);font-weight:800;
  padding:.6rem 1.15rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font-size:1rem;
}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
@media(max-width:700px){
  .nav{flex-wrap:wrap}
  .links{
    order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;
    gap:1.1rem;padding:.25rem 0 .4rem;-webkit-overflow-scrolling:touch;
  }
  .links a{white-space:nowrap;padding:.25rem 0}
  header.site .btn{padding:.5rem .95rem;font-size:.92rem}
}

/* News ticker */
.ticker{
  background:#231a08;border-bottom:1px solid var(--line);
  overflow:hidden;white-space:nowrap;
}
.ticker .label{
  display:inline-block;background:var(--amber);color:var(--amber-ink);font-weight:900;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.35rem .7rem;margin-right:.8rem;vertical-align:middle;
}
.ticker-track{
  display:inline-block;vertical-align:middle;padding:.35rem 0;
  animation:tick 60s linear infinite;
}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{margin-right:3rem;color:var(--ink);font-size:.92rem}
.ticker-track span::before{content:"●";color:var(--amber);margin-right:.55rem;font-size:.7rem;vertical-align:middle}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none;white-space:normal}
}
.ticker-static{padding:.35rem 0;font-size:.92rem}

/* Hero */
.hero{padding:3.4rem 0 2.6rem}
.hero h1{max-width:20ch}
.hero h1 span{color:var(--amber)}
.hero .actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}

/* Sections */
section.band{padding:2.8rem 0;border-top:1px solid var(--line)}
section.band:first-of-type{border-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}

/* Cards */
.card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:1.2rem;display:flex;flex-direction:column;gap:.4rem;
}
.card h3{margin-bottom:.1rem}
.card p{color:var(--muted);font-size:.96rem;margin:0}
.card .cardlink{margin-top:auto;padding-top:.7rem;font-weight:700;text-decoration:none}
.card .cardlink:hover{text-decoration:underline}
.tag{
  align-self:flex-start;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:.14rem .6rem;color:var(--muted);
}
.tag.live{color:var(--amber);border-color:var(--amber)}

/* Service rows (services page + index teasers) */
.svc{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:1.5rem;margin-bottom:1.2rem;
}
.svc h3{font-size:1.35rem}
.svc ul{margin:.4rem 0 1rem;padding-left:1.2rem;color:var(--muted)}
.svc ul li{margin-bottom:.3rem}

/* Proof strip */
.proof{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;
}
.proof .fact{
  background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;
}
.proof .fact strong{display:block;font-size:1.02rem;margin-bottom:.2rem}
.proof .fact span{color:var(--muted);font-size:.93rem}

/* News cards */
.newsdate{color:var(--amber);font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.newscard h3{margin:.2rem 0 .3rem}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.step{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.1rem}
.step h3{margin:.1rem 0 .4rem;font-size:1.05rem}
.step p{color:var(--muted);margin:0;font-size:.94rem}
.step .n{color:var(--amber);font-weight:900}

/* Checklist (learn page) */
.checklist{list-style:none;padding:0;margin:0 0 1rem}
.checklist li{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:.85rem 1rem;margin-bottom:.6rem;
}
.checklist li strong{color:var(--ink)}
.checklist li span{display:block;color:var(--muted);font-size:.94rem}

/* Article body (learn / company) */
.prose{max-width:72ch}
.prose p{color:#e7e5e4}
.prose p.muted{color:var(--muted)}

/* Disclaimer + callouts */
.disclaimer{
  border:1px solid var(--amber);background:#2b2118;border-radius:16px;
  padding:1.2rem 1.3rem;margin:1.6rem 0;
}
.disclaimer p{margin:0;color:#fde68a}
.callout{
  border:1px solid var(--line);background:var(--card);border-radius:16px;padding:1.2rem 1.3rem;margin:1.4rem 0;
}

/* Staffing */
.division{margin-bottom:2.2rem}
.division h3{font-size:1.3rem;margin-bottom:.2rem}
.division .vp{color:var(--muted);margin-bottom:.8rem}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
table.staff{width:100%;border-collapse:collapse;min-width:680px;background:var(--card)}
table.staff th,table.staff td{
  text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--line);
  vertical-align:top;font-size:.95rem;
}
table.staff th{color:var(--amber);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:var(--card2)}
table.staff tr:last-child td{border-bottom:0}
table.staff td.name{font-weight:700;white-space:nowrap}
table.staff td.mandate{color:var(--muted)}
table.staff td.quals{color:var(--muted);font-size:.88rem}
@media(max-width:700px){
  table.staff{min-width:0}
  table.staff thead{display:none}
  table.staff,table.staff tbody,table.staff tr,table.staff td{display:block;width:100%}
  table.staff tr{padding:.7rem .9rem;border-bottom:1px solid var(--line)}
  table.staff tr:last-child{border-bottom:0}
  table.staff td{border-bottom:0;padding:.12rem 0;white-space:normal}
  table.staff td.name{white-space:normal;font-size:1.02rem}
  table.staff td.quals{padding-top:.3rem}
}
.card p.quals{color:var(--muted);font-size:.88rem;margin:0}
.quals-line{display:block;color:var(--muted);font-size:.88rem;margin-top:.3rem}

/* CTA band */
.cta{
  background:var(--card);border:1px solid var(--amber);border-radius:20px;
  padding:1.8rem;text-align:center;
}
.cta h2{margin-bottom:.4rem}
.cta p{color:var(--muted);max-width:56ch;margin:0 auto 1.2rem}

/* Footer */
footer.site{border-top:1px solid var(--line);padding:1.6rem 0 2.2rem;color:var(--muted);font-size:.9rem;margin-top:1rem}
footer.site .cols{display:flex;gap:2.5rem;flex-wrap:wrap;justify-content:space-between}
footer.site nav{display:flex;gap:1.1rem;flex-wrap:wrap}
footer.site nav a{color:var(--muted);text-decoration:none;font-weight:600}
footer.site nav a:hover{color:var(--ink)}
footer.site .powered{margin-top:1.2rem;color:var(--ink);font-weight:700}
