/* Shared stylesheet for the interior pages (privacy / terms / support / 404).
   The landing page carries its own inlined styles. Brand tokens per
   assets/sectionalai/brand/README.md. */

@font-face{
  font-family:'IBM Plex Sans';
  src:url('/fonts/ibm-plex-sans/ibm-plex-sans-latin-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'IBM Plex Sans';
  src:url('/fonts/ibm-plex-sans/ibm-plex-sans-latin-500.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'IBM Plex Mono';
  src:url('/fonts/ibm-plex-mono/ibm-plex-mono-latin-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  --night:#070A10;
  --panel:#10151F;
  --tile:#1C2536;
  --tile-border:#2E3A4F;
  --text:#F2F5FA;
  --sub:#97A3B4;
  --dim:#7C8899;
  --blue:#4C8DFF;
  --blue-hi:#5C99FF;
  --green:#46C277;
  --hairline:rgba(242,245,250,.09);
  --maxw:46rem;
  --display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI','IBM Plex Sans',sans-serif;
  --sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--night);
  color:var(--text);
  font-family:var(--sans);
  font-size:1.03rem;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--blue);color:var(--night)}
a{color:var(--blue-hi);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}

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

header.site{border-bottom:1px solid var(--hairline)}
header.site .wrap{display:flex;align-items:center;gap:.65rem;padding-top:1rem;padding-bottom:1rem}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--text)}
.brand:hover{text-decoration:none}
.brand img,.brand svg{width:28px;height:28px;border-radius:6px;display:block}
.brand .wm{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:1.02rem;white-space:nowrap}
.brand .wm span{color:var(--blue)}
header.site nav{margin-left:auto;display:flex;gap:1.4rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
header.site nav a{color:var(--sub)}
header.site nav a:hover{color:var(--text);text-decoration:none}

main{padding:3.6rem 0 5rem}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--blue)}
h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(2rem,5.5vw,3rem);
  letter-spacing:-.028em;line-height:1.06;
  margin:.9rem 0 .6rem;text-wrap:balance;
}
.meta{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:2.4rem}
.lede{color:var(--sub);font-size:1.12rem;max-width:56ch;margin-bottom:1rem}

.airway{
  height:1px;margin:2.2rem 0;position:relative;
  background:linear-gradient(90deg,var(--blue) 0%,rgba(76,141,255,.15) 60%,transparent 100%);
}

/* numbered sections on legal pages */
body.numbered main{counter-reset:sec}
h2{
  font-family:var(--display);font-weight:600;
  font-size:1.28rem;letter-spacing:-.012em;
  margin:2.5rem 0 .7rem;
}
body.numbered h2::before{
  counter-increment:sec;
  content:counter(sec,decimal-leading-zero) "  ";
  font-family:var(--mono);font-weight:400;font-size:.82rem;
  color:var(--blue);letter-spacing:.1em;
}
p{color:var(--sub);margin-bottom:1rem;max-width:64ch}
p strong,li strong{color:var(--text);font-weight:500}
ul{margin:0 0 1rem 1.2rem;color:var(--sub)}
li{margin-bottom:.5rem}

.summary{
  border:1px solid var(--tile-border);border-radius:14px;overflow:hidden;
  background:var(--panel);margin:1.8rem 0 1rem;
}
.summary .row{
  display:grid;grid-template-columns:minmax(140px,2fr) 3fr;gap:1rem;
  padding:.85rem 1.2rem;border-bottom:1px solid var(--hairline);
}
.summary .row:last-child{border-bottom:none}
.summary .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:.15rem}
.summary .v{color:var(--text);font-size:.97rem}
.summary .v .never{color:var(--green);font-family:var(--mono);font-size:.88rem}
@media (max-width:520px){ .summary .row{grid-template-columns:1fr;gap:.2rem} }

.disclaimer{
  border:1px solid var(--tile-border);border-left:3px solid var(--blue);
  background:var(--panel);border-radius:12px;
  padding:1.2rem 1.4rem;color:var(--sub);font-size:.94rem;margin-top:2.4rem;
}
.disclaimer strong{color:var(--text);font-weight:500}

.big-email{
  display:inline-block;margin:.4rem 0 1rem;
  font-family:var(--mono);font-size:1rem;letter-spacing:.02em;
  border:1px solid var(--tile-border);border-radius:12px;
  background:var(--panel);padding:.85rem 1.3rem;color:var(--blue-hi);
}
.big-email:hover{border-color:var(--blue);text-decoration:none}

footer{border-top:1px solid var(--hairline);padding:2.2rem 0 2.8rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:.8rem 1.8rem;justify-content:space-between;align-items:baseline}
footer nav{display:flex;flex-wrap:wrap;gap:1.3rem}
footer,footer a{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;color:var(--dim)}
footer a:hover{color:var(--blue-hi)}
