/* /facts (If Possible at a glance) wears the legal pages' document layout: this is terms-*.css plus the key-terms list
   at the end. Legal pages (4.0): calm document typography.
   Scoped under .hp, built on the homepage tokens. */

/* the sticky contents rail needs a non-scrolling root (clip keeps the sideways crop) */
.hp.hp{overflow:clip}

/* ---- hero ---- */
.hp .lg-hero{padding-block:110px 72px;border-bottom:1px solid var(--line)}
.hp .lg-head{display:flex;flex-direction:column;gap:24px;max-width:900px}
.hp.hp .lg-h1{font-size:clamp(38px,5.4cqw,68px)}
.hp .lg-date{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0;font-family:var(--f-mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.hp .lg-date span:last-child{color:var(--ink);font-weight:700}
.hp .lg-sep{display:block;width:28px;height:1px;background:currentColor;opacity:.5}

/* ---- body: contents rail + document ---- */
.hp .lg-body{padding-block:88px 140px}
.hp .lg-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(48px,7cqw,110px);align-items:start}

.hp .lg-toc{position:sticky;top:32px;max-height:calc(100vh - 64px);overflow-y:auto;padding-right:6px;scrollbar-width:thin}
.hp .lg-toc-label{margin:0 0 14px;color:var(--acc)}
.hp .lg-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;border-top:1px solid var(--line)}
.hp .lg-toc li{counter-increment:toc;border-bottom:1px solid var(--line)}
.hp .lg-toc li.no-num{counter-increment:none}
.hp .lg-toc a{display:flex;gap:12px;align-items:baseline;padding:10px 0;font-size:14.5px;line-height:1.35;color:var(--ink2);text-decoration:none;transition:color .2s ease}
.hp .lg-toc a::before{content:counter(toc,decimal-leading-zero);flex:none;width:22px;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--ink2);opacity:.8}
.hp .lg-toc li.no-num a::before{content:"+"}
.hp .lg-toc a:hover{color:var(--ink)}
.hp .lg-toc a.is-active{color:var(--ink);font-weight:650}
.hp .lg-toc a.is-active::before{color:var(--acc);opacity:1}
.hp .lg-toc a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

/* the document: about 70 characters a line, generous leading */
.hp .lg-doc{max-width:68ch;font-size:18px;line-height:1.72;color:var(--ink);counter-reset:sec}
.hp .lg-doc>section{scroll-margin-top:28px;padding-top:56px;margin-top:56px;border-top:1px solid var(--line)}
.hp .lg-doc>section:first-child{padding-top:0;margin-top:0;border-top:0}
.hp .lg-doc h2{display:flex;gap:16px;align-items:baseline;margin:0 0 22px;font-stretch:var(--fs);font-weight:var(--fw2,700);text-transform:var(--tt2,none);font-size:30px;line-height:1.1;letter-spacing:.004em}
.hp .lg-doc .sec-num,.hp .lg-doc.lg-count h2::before{flex:none;font-family:var(--f-mono);font-stretch:100%;font-weight:400;font-size:14px;letter-spacing:.06em;color:var(--acc);transform:translateY(-3px)}
.hp .lg-doc.lg-count>section:not(.no-num) h2{counter-increment:sec}
.hp .lg-doc.lg-count>section:not(.no-num) h2::before{content:counter(sec,decimal-leading-zero)}
.hp .lg-doc h3{margin:34px 0 12px;font-stretch:var(--fs);font-weight:var(--fw2,700);font-size:20px;line-height:1.25;letter-spacing:.004em}
.hp .lg-doc p{margin:0 0 18px}
.hp .lg-doc .lede{font-size:20px;line-height:1.6}
.hp .lg-doc ul,.hp .lg-doc ol{margin:0 0 22px;padding-left:1.35em}
.hp .lg-doc li{margin:0 0 10px;padding-left:.25em}
.hp .lg-doc li::marker{color:var(--acc)}
.hp .lg-doc ol li::marker{font-family:var(--f-mono);font-size:.85em}
.hp .lg-doc strong{font-weight:700}
.hp .lg-doc a{color:inherit;text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:1.5px;text-underline-offset:3px;overflow-wrap:anywhere}
.hp .lg-doc a:hover{color:var(--acc)}
.hp .lg-doc a[href^="mailto:"],.hp .lg-doc a[href*="email-protection"]{display:inline-block;padding-block:8px;margin-block:-8px}

/* privacy: who we share with */
.hp .lg-doc .table-scroll{overflow-x:auto;margin:6px 0 24px;border:1px solid var(--line);border-radius:var(--rad-card,0);background:var(--card,#fff)}
.hp .lg-doc table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;min-width:560px}
.hp .lg-doc th{text-align:left;font-family:var(--f-mono);font-weight:400;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);padding:14px 16px;border-bottom:1px solid var(--line);background:var(--g2)}
.hp .lg-doc td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.hp .lg-doc tr:last-child td{border-bottom:0}
.hp .lg-doc td:first-child{font-weight:650}

/* fulfillment: one card per product */
.hp .lg-doc .tier{background:var(--card,#fff);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--rad-card,0);padding:26px 28px 10px;margin:0 0 18px}
.hp .lg-doc .tier__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;margin-bottom:10px}
.hp .lg-doc .tier__name{margin:0;font-size:21px}
.hp .lg-doc .tier__price,.hp .lg-doc .tier__guarantee{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);line-height:1.4}
.hp .lg-doc .tier__guarantee{display:block;margin:-2px 0 12px}

/* contact block */
.hp .lg-doc .contact-block{margin-top:8px;padding:22px 26px;background:var(--g2);border-left:2px solid var(--acc);border-radius:var(--rad-card,0)}
.hp .lg-doc .contact-block strong{display:block;margin-bottom:4px}
.hp .lg-doc .contact-block p{margin:0}

/* ---- tablet and phone: the contents list sits above the document ---- */
@container (max-width:980px){
  .hp .lg-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .hp .lg-toc{position:static;max-height:none;overflow:visible;padding:22px 24px 10px;background:var(--g2);border-radius:var(--rad-card,0)}
  .hp .lg-toc ol{border-top:0}
  .hp .lg-toc li:last-child{border-bottom:0}
}
@container (max-width:700px){
  .hp .lg-hero{padding-block:64px 44px}
  .hp .lg-body{padding-block:44px 90px}
  .hp .lg-doc{font-size:17px;line-height:1.7}
  .hp .lg-doc .lede{font-size:18.5px}
  .hp .lg-doc>section{padding-top:40px;margin-top:40px}
  .hp .lg-doc h2{font-size:25px;gap:12px}
  .hp .lg-doc h3{font-size:18.5px;margin-top:28px}
  .hp .lg-doc .tier{padding:22px 20px 6px}
  .hp .lg-doc .contact-block{padding:18px 20px}
}
@media (prefers-reduced-motion:reduce){.hp .lg-toc a{transition:none}}

/* facts: key terms */
.hp .lg-doc dl{margin:0}
.hp .lg-doc dt{margin:26px 0 6px;font-size:20px}
.hp .lg-doc dt:first-child{margin-top:0}
.hp .lg-doc dd{margin:0}
