/* ==========================================================================
   Thyra Tech — inner pages (privacy, SMS terms, 404).

   The home page is one long scroll of bespoke sections; these are ordinary
   documents. They share the tokens, the nav and the footer from site.css and
   add only what long-form prose needs. Loaded after site.css and variant.css.
   ========================================================================== */

.doc{
  position:relative;z-index:1;
  max-width:min(74ch,var(--maxw));margin:0 auto;
  padding:clamp(90px,14vh,150px) var(--gut) clamp(60px,9vh,100px);
}

.doc-head{border-bottom:1px solid var(--line);padding-bottom:clamp(24px,3vw,36px);margin-bottom:clamp(30px,4vw,46px)}
.doc h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(2.1rem,5.4vw,3.4rem);line-height:1.04;letter-spacing:-.02em;
  color:var(--text-primary);margin:14px 0 0;
}
.doc-sub{margin-top:24px;color:var(--text-secondary);font-size:1.06rem;line-height:1.6;max-width:56ch}
.doc-updated{margin-top:18px;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}

/* The plain-language summary that opens each policy. */
.doc-tldr{
  background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--accent);
  padding:clamp(18px,2.6vw,26px);margin:0 0 clamp(30px,4vw,44px);
  color:var(--text-secondary);font-size:1rem;line-height:1.65;
}
.doc-tldr strong{color:var(--text-primary);font-weight:600}

.doc h2{
  font-family:var(--display);font-weight:600;
  font-size:clamp(1.28rem,2.5vw,1.62rem);line-height:1.2;letter-spacing:-.01em;
  color:var(--text-primary);margin:clamp(34px,4.6vw,52px) 0 14px;
}
.doc h3{
  font-family:var(--body);font-weight:600;font-size:1.02rem;
  color:var(--text-primary);margin:26px 0 8px;
}
.doc p{color:var(--text-secondary);line-height:1.72;margin:0 0 15px;font-size:1rem}
.doc ul{margin:0 0 16px;padding-left:0;list-style:none}
.doc ul li{
  position:relative;color:var(--text-secondary);line-height:1.7;
  margin-bottom:11px;padding-left:22px;
}
.doc ul li::before{
  content:"";position:absolute;left:0;top:.66em;
  width:7px;height:1px;background:var(--accent);
}
.doc a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--line-interactive);padding-bottom:1px;transition:color .22s var(--ease),border-color .22s var(--ease)}
.doc a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.doc a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.doc strong{color:var(--text-primary);font-weight:600}

/* Processor table — who receives what. Scrolls on its own rather than
   forcing the page sideways on a phone. */
.doc-table-wrap{overflow-x:auto;margin:0 0 20px;border:1px solid var(--line)}
.doc-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.94rem}
.doc-table th,.doc-table td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--line);vertical-align:top}
.doc-table th{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-secondary);background:var(--panel);font-weight:400;
}
.doc-table td{color:var(--text-secondary);line-height:1.6}
.doc-table tr:last-child td{border-bottom:0}
.doc-table td strong{color:var(--text-primary)}

.doc-back{margin-top:clamp(40px,5vw,60px);padding-top:26px;border-top:1px solid var(--line)}

/* ── 404 ───────────────────────────────────────────────────────────── */
.nf{
  position:relative;z-index:1;min-height:74vh;
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(100px,16vh,170px) var(--gut) clamp(60px,9vh,100px);
  display:flex;flex-direction:column;justify-content:center;
}
.nf-code{font-family:var(--mono);font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0}
.nf h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.03;letter-spacing:-.02em;
  color:var(--text-primary);margin:16px 0 0;max-width:18ch;
}
.nf p{margin:18px 0 0;color:var(--text-secondary);font-size:1.06rem;line-height:1.65;max-width:52ch}
.nf-actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center}
