/* StrideHQ legal pages — shared stylesheet.
   Tokens copied from the main site so these pages match index.html. */
:root{
  --bg:#F8FAFC;
  --bg-card:#F1F5F9;
  --bg-elev:#FFFFFF;
  --text:#0F172A;
  --text-mid:#334155;
  --text-muted:#64748B;
  --accent:#2563EB;
  --accent-light:#1D4ED8;
  --accent-deep:#1E3A8A;
  --accent-soft:#EFF4FF;
  --accent-tint:#DBE8FF;
  --border:rgba(15,23,42,0.08);
  --border-strong:rgba(15,23,42,0.16);
  --mono:'JetBrains Mono', ui-monospace, monospace;
  --font-display:'Inter',-apple-system,sans-serif;
}
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(15,23,42,0.045) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, #000 30%, transparent 75%);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-y:scroll;}
body{font-family:'Inter',-apple-system,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}
body > section, body > footer { position:relative; z-index:1; }

h1{font-size:clamp(2rem,3.4vw,2.9rem);font-weight:700;line-height:1.08;letter-spacing:-0.022em;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);
  font-size:0.72rem;font-weight:500;text-transform:uppercase;letter-spacing:0.14em;
  color:var(--accent);margin-bottom:20px;
}
.eyebrow::before{content:'';width:14px;height:1px;background:var(--accent);}

/* nav — selector is `body > nav` (not `nav`) so it can never be outranked
   by the `body > section, body > footer` stacking rule above. */
body > nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(248,250,252,0.85);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border);padding:14px 0;}
.nav-inner{display:flex;justify-content:space-between;align-items:center;}
.logo{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-0.01em;}
.logo .logo-highlight{color:var(--accent);}
.logo-mark{width:30px;height:30px;background:linear-gradient(180deg,#3B82F6 0%,var(--accent-light) 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 1px 0 rgba(15,23,42,0.04);}
.logo-mark svg{width:16px;height:16px;}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center;}
.nav-links a{color:var(--text-mid);text-decoration:none;font-size:0.875rem;font-weight:500;transition:color 0.18s;}
.nav-links a:hover{color:var(--accent);}
.nav-cta{background:var(--accent) !important;color:white !important;padding:9px 18px;border-radius:8px;font-size:0.875rem !important;font-weight:600 !important;box-shadow:0 1px 0 rgba(255,255,255,0.2) inset, 0 4px 14px rgba(37,99,235,0.18);}
.nav-cta:hover{background:var(--accent-light) !important;}
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--border);border-radius:8px;
  width:40px;height:40px;padding:0;cursor:pointer;position:relative;
  transition:border-color 0.2s, background 0.2s;
}
.nav-toggle:hover{border-color:var(--border-strong);background:#fff;}
.nav-toggle span{
  position:absolute;left:10px;right:10px;height:2px;background:var(--text);border-radius:1px;
  transition:transform 0.25s ease, opacity 0.25s ease, top 0.25s ease;
}
.nav-toggle span:nth-child(1){top:13px;}
.nav-toggle span:nth-child(2){top:19px;}
.nav-toggle span:nth-child(3){top:25px;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){top:19px;transform:rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){top:19px;transform:rotate(-45deg);}

/* legal page header */
.legal-hero{padding:150px 0 48px;border-bottom:1px solid var(--border);}
.legal-hero .sub{font-size:1.05rem;color:var(--text-mid);margin-top:16px;max-width:none;line-height:1.7;}
.legal-hero .sub strong{color:var(--text);font-weight:600;}
.legal-updated{font-family:var(--mono);font-size:0.72rem;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase;display:block;margin-top:14px;}
.back-link{
  display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);
  font-size:0.85rem;font-weight:500;text-decoration:none;margin-bottom:20px;
  transition:color 0.18s;
}
.back-link:hover{color:var(--accent);}
.back-link svg{transition:transform 0.2s;}
.back-link:hover svg{transform:translateX(-2px);}

/* hub doc lists */
.legal-section{padding:56px 0 8px;}
.legal-section:last-of-type{padding-bottom:96px;}
.group-label{
  font-family:var(--mono);font-size:0.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.14em;color:var(--text-muted);
  margin-bottom:18px;display:flex;align-items:center;gap:10px;
}
.group-label::after{content:'';flex:1;height:1px;background:var(--border);}
.doc-list{
  display:flex;flex-direction:column;gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:14px;overflow:hidden;
  box-shadow:0 1px 0 #fff inset, 0 14px 40px -28px rgba(15,23,42,0.14);
}
.doc-item{
  display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:center;
  background:#fff;padding:24px 28px;text-decoration:none;
  transition:background 0.15s;position:relative;
}
.doc-item:hover{background:#fafbfd;}
.doc-item::after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);
  transform:scaleY(0);transition:transform 0.2s ease;transform-origin:center;
}
.doc-item:hover::after{transform:scaleY(1);}
.doc-title{font-weight:600;color:var(--text);font-size:1.02rem;letter-spacing:-0.005em;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.doc-title .ext{font-family:var(--mono);font-size:0.7rem;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 9px;}
.doc-desc{grid-column:1;font-size:0.9rem;color:var(--text-mid);line-height:1.6;max-width:62ch;}
.doc-meta{
  grid-column:2;grid-row:1 / span 2;align-self:center;
  display:flex;align-items:center;gap:16px;
}
.doc-updated{font-family:var(--mono);font-size:0.7rem;color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;}
.doc-arrow{
  width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;color:var(--text-mid);
  transition:all 0.2s;flex-shrink:0;
}
.doc-item:hover .doc-arrow{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateX(2px);}

/* prose body for legal documents */
.legal-doc{padding:56px 0 96px;}
.prose{max-width:none;}
.prose h2{
  font-size:1.25rem;font-weight:700;letter-spacing:-0.012em;color:var(--text);
  margin:44px 0 12px;padding-top:none;line-height:1.3;
}
.prose h2:first-child{margin-top:0;padding-top:0;}
.prose h2 .cnum{margin-right:10px;}
.prose h3{font-size:1.02rem;font-weight:600;color:var(--text);margin:26px 0 8px;}
.prose p{font-size:0.95rem;color:var(--text-mid);line-height:1.75;margin-bottom:14px;}
.prose p strong{color:var(--text);}
.prose ul{margin:0 0 14px 0;padding-left:22px;list-style:disc;}
.prose ul li{font-size:0.95rem;color:var(--text-mid);line-height:1.7;margin-bottom:8px;}

.prose a{color:var(--accent);text-decoration:none;font-weight:500;}
.prose a:hover{text-decoration:underline;}
.prose .callout{
  background:var(--accent-soft);border:1px solid var(--accent-tint);border-radius:12px;
  padding:18px 22px;margin:20px 0;font-size:0.92rem;color:var(--text-mid);line-height:1.7;
}
.prose .callout strong{color:var(--accent-deep);}
.legal-contact{font-size:0.9rem;color:var(--text-muted);margin-top:48px;padding-top:24px;border-top:1px solid var(--border);}
.legal-contact a{color:var(--accent);text-decoration:none;font-weight:500;}
.legal-contact a:hover{text-decoration:underline;}

/* footer */
footer{padding:36px 0;border-top:1px solid var(--border);background:var(--bg);}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-links{display:flex;gap:24px;list-style:none;}
.footer-links a{color:var(--text-muted);text-decoration:none;font-size:0.825rem;transition:color 0.18s;}
.footer-links a:hover{color:var(--accent);}
.copyright{font-size:0.78rem;color:var(--text-muted);}

@media (max-width:980px){
  .nav-links{
    display:none;
    position:absolute;top:100%;left:16px;right:16px;
    flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border:1px solid var(--border);border-radius:14px;
    padding:10px;margin-top:8px;
    box-shadow:0 24px 50px -20px rgba(15,23,42,0.25);
  }
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;}
  .nav-links a{display:block;padding:11px 14px;border-radius:8px;font-size:0.95rem;}
  .nav-links a:hover{background:#f8fafc;}
  .nav-links .nav-cta{margin-top:6px;text-align:center;}
  .nav-toggle{display:block;}
  nav .container{position:relative;}
}
@media (max-width:600px){
  .container{padding:0 20px;}
  .legal-hero{padding:120px 0 36px;}
  .doc-item{grid-template-columns:1fr;padding:20px;}
  .doc-meta{grid-column:1;grid-row:auto;justify-content:space-between;margin-top:8px;}
  h1{font-size:1.75rem;}
}

/* plain link list (hub page, Lumanu-style) */
.link-list{margin-top:6px;}
.link-list li::before{display:none;}
.link-list li{padding-left:0;}
.link-list a{font-size:1.02rem;font-weight:600;}
