/* ============================================================
   Shared styles for the standalone content pages —
   founder, terms, privacy, cookies.

   These pages carry a static nav rather than the marketing one:
   no burger, no language switch, no scroll observers. They are
   read, not scrolled through, so the JS the home page needs
   would only be weight.
   ============================================================ */

.page-body{ background:var(--bg); }

/* ---------------- nav ---------------- */
.page-nav{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.page-nav-inner{
  max-width:1200px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;gap:16px;
}
.page-nav .brand{margin-right:auto}
.page-nav-links{display:flex;align-items:center;gap:22px}
.page-nav-links a{
  font-size:.88rem;font-weight:600;color:var(--muted);white-space:nowrap;
}
.page-nav-links a:hover{color:var(--mint-ink)}
@media (max-width:720px){
  .page-nav-links a:not(.btn){display:none}
  .page-nav-inner{padding:12px 18px}
}

/* ---------------- hero ---------------- */
.page-hero{
  max-width:1200px;margin:0 auto;padding:64px 24px 12px;
}
.page-eyebrow{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mint-ink);
  background:var(--mint-wash);border:1px solid var(--line-2);
  padding:.3rem .7rem;border-radius:99px;margin-bottom:1rem;
}
.page-hero h1{
  font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.08;letter-spacing:-.02em;
  margin-bottom:.9rem;
}
.page-lede{
  font-size:1.06rem;line-height:1.75;color:var(--muted);max-width:62ch;
}
.page-updated{
  font-size:.82rem;color:var(--muted-2);margin-top:1.1rem;
}

/* ---------------- founder ---------------- */
.lead-wrap{max-width:1200px;margin:0 auto;padding:38px 24px 70px}

.lead-card{
  display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px;align-items:start;
}
.lead-photo{
  width:100%;aspect-ratio:1;border-radius:var(--r);
  background:url('images/founder.jpg') center/cover no-repeat,
             linear-gradient(135deg,var(--mint-hi),var(--mint-dim));
  border:1px solid var(--line);
}
.lead-name{font-size:1.5rem;letter-spacing:-.01em;margin-bottom:.2rem}
.lead-role{
  font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--mint-ink);margin-bottom:1.1rem;
}
.lead-body p{
  font-size:.98rem;line-height:1.8;color:var(--muted);margin-bottom:1rem;
}
.lead-body p:last-of-type{margin-bottom:0}
.lead-award{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--mint-wash);border:1px solid var(--line-2);
  border-radius:var(--r);padding:16px 18px;margin-top:1.4rem;
}
.lead-award-ico{font-size:1.4rem;line-height:1.2;flex:0 0 auto}
.lead-award b{
  display:block;font-size:.94rem;color:var(--mint-ink);margin-bottom:.3rem;
}
.lead-award p{
  font-size:.87rem;line-height:1.7;color:var(--muted);margin:0;
}
.lead-award a{color:var(--mint-ink);text-decoration:underline;text-underline-offset:2px}

.lead-meta{
  display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem;
  padding-top:1.3rem;border-top:1px solid var(--line);
}
.lead-chip{
  font-size:.78rem;font-weight:600;color:var(--muted);
  background:var(--bg-3);border:1px solid var(--line);
  padding:.35rem .7rem;border-radius:99px;
}
.lead-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}

/* what the team actually stands for — reused as a value grid */
.lead-values{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:18px;margin-top:52px;
}
.lead-value{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:24px;
}
.lead-value h3{font-size:1.02rem;margin-bottom:.5rem}
.lead-value p{font-size:.9rem;line-height:1.75;color:var(--muted)}

.lead-hiring{
  margin-top:52px;background:var(--mint-wash);border:1px solid var(--line-2);
  border-radius:var(--r-lg);padding:30px;text-align:center;
}
.lead-hiring h2{font-size:1.3rem;margin-bottom:.5rem}
.lead-hiring p{
  font-size:.94rem;line-height:1.75;color:var(--muted);
  max-width:52ch;margin:0 auto 1.3rem;
}

@media (max-width:760px){
  .lead-card{grid-template-columns:1fr;gap:24px;padding:24px}
  .lead-photo{max-width:220px}
}

/* ---------------- legal documents ---------------- */
.doc-wrap{
  max-width:1200px;margin:0 auto;padding:38px 24px 80px;
  display:grid;grid-template-columns:230px minmax(0,1fr);gap:44px;
  align-items:start;
}
.doc-toc{position:sticky;top:88px}
.doc-toc h2{
  font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.8rem;
}
.doc-toc ol{list-style:none;counter-reset:toc;display:grid;gap:.1rem}
.doc-toc li{counter-increment:toc}
.doc-toc a{
  display:block;padding:.4rem .6rem;border-radius:var(--r-sm);
  font-size:.84rem;line-height:1.45;color:var(--muted);
  border-left:2px solid transparent;
}
.doc-toc a::before{content:counter(toc) ". ";color:var(--muted-2)}
.doc-toc a:hover{background:var(--bg-3);color:var(--mint-ink)}

.doc{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:40px 44px;
}
.doc-warn{
  background:#fff6e6;border:1px solid rgba(200,140,20,.28);color:#8a5a12;
  padding:1rem 1.1rem;border-radius:var(--r-sm);
  font-size:.86rem;line-height:1.7;margin-bottom:2rem;
}
.doc-warn b{display:block;margin-bottom:.25rem}

.doc section{margin-bottom:2.4rem;scroll-margin-top:96px}
.doc section:last-child{margin-bottom:0}
.doc h2{
  font-size:1.15rem;letter-spacing:-.01em;margin-bottom:.8rem;
  padding-bottom:.45rem;border-bottom:1px solid var(--line);
}
.doc h3{font-size:1rem;margin:1.5rem 0 .5rem}
.doc p{font-size:.95rem;line-height:1.85;color:var(--muted);margin-bottom:.9rem}
.doc p:last-child{margin-bottom:0}
.doc ul{list-style:disc;margin:.6rem 0 1.1rem 1.25rem}
.doc ol.doc-list{list-style:decimal;margin:.6rem 0 1.1rem 1.25rem}
.doc li{
  font-size:.95rem;line-height:1.8;color:var(--muted);
  margin-bottom:.5rem;padding-left:.25rem;
}
.doc li:last-child{margin-bottom:0}
.doc li::marker{color:var(--mint-dim)}
.doc strong{color:var(--text)}
.doc a{color:var(--mint-ink);text-decoration:underline;text-underline-offset:2px}

.doc-table{
  width:100%;border-collapse:collapse;margin:1rem 0 1.2rem;
  font-size:.9rem;
}
.doc-table th,.doc-table td{
  text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);
  vertical-align:top;line-height:1.7;
}
.doc-table th{
  font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--muted);background:var(--bg-3);
}
.doc-table td{color:var(--muted)}
.doc-table td:first-child{color:var(--text);font-weight:600;white-space:nowrap}
.doc-scroll{overflow-x:auto}

.doc-contact{
  background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r);
  padding:20px 22px;margin-top:.6rem;
}
.doc-contact p{margin-bottom:.4rem}
.doc-contact p:last-child{margin-bottom:0}

@media (max-width:900px){
  /* minmax(0,1fr), not 1fr: a 1fr track has min-width:auto, so it refuses
     to shrink below the table-of-contents' min-content width and pushes
     the whole page sideways on a phone. */
  .doc-wrap{grid-template-columns:minmax(0,1fr);gap:26px}
  .doc-toc{position:static}
  .doc-toc ol{
    display:flex;flex-wrap:wrap;gap:.35rem;
    background:var(--bg-3);border:1px solid var(--line);
    border-radius:var(--r);padding:12px;
  }
  .doc-toc a{padding:.3rem .55rem;font-size:.8rem}
  .doc{padding:26px 22px}
}

/* ---------------- slim footer ---------------- */
.page-foot{
  border-top:1px solid var(--line);background:var(--bg-2);
  padding:36px 24px;
}
.page-foot-inner{
  max-width:1200px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  gap:18px;flex-wrap:wrap;
}
.page-foot span{font-size:.84rem;color:var(--muted-2)}
.page-foot nav{display:flex;gap:20px;flex-wrap:wrap}
.page-foot nav a{font-size:.84rem;color:var(--muted);font-weight:600}
.page-foot nav a:hover{color:var(--mint-ink)}
