/* ============================================================
   Hyrac Tech v2 — document / legal page styles
   Loaded alongside base.css on privacy/terms/cookies/accessibility
   ============================================================ */

.doc-hero{padding-block:var(--s-16) var(--s-8); background:var(--sand)}
.doc-hero__in{max-width:var(--prose)}
.doc-hero .eyebrow{margin-bottom:var(--s-5)}
.doc-hero h1{font-family:var(--serif); font-weight:var(--w-normal); font-optical-sizing:auto;
  font-variation-settings:"wght" 440,"SOFT" 0,"WONK" 0;
  font-size:clamp(2rem, 1.3rem + 2.4vw, var(--t-4xl)); line-height:1.06; letter-spacing:-0.025em; text-wrap:balance}
.doc-hero__updated{margin-top:var(--s-5); font-family:var(--mono); font-size:var(--t-xs);
  letter-spacing:var(--tr-mono); text-transform:uppercase; color:var(--ink-500)}
.doc-hero__intro{margin-top:var(--s-5); font-size:var(--t-md); line-height:var(--lh-relaxed); color:var(--ink-700)}

.doc{background:var(--paper)}
.doc__prose{max-width:var(--prose); margin-inline:auto}
.doc__prose > * + *{margin-top:var(--s-4)}
.doc__prose h2{font-size:var(--t-lg); font-weight:var(--w-semibold); color:var(--ink-900); line-height:1.25;
  letter-spacing:-0.01em; margin-top:var(--s-10)}
.doc__prose h3{font-size:var(--t-md); font-weight:var(--w-semibold); color:var(--ink-900); line-height:1.3; margin-top:var(--s-6)}
.doc__prose p{font-size:var(--t-base); line-height:var(--lh-relaxed); color:var(--ink-800); max-width:none}
.doc__prose ul, .doc__prose ol{padding-left:var(--s-6); color:var(--ink-800)}
.doc__prose li{font-size:var(--t-base); line-height:var(--lh-relaxed); max-width:none}
.doc__prose li+li{margin-top:var(--s-2)}
.doc__prose li::marker{color:var(--red)}
.doc__prose strong{font-weight:var(--w-semibold); color:var(--ink-900)}
.doc__prose a{color:var(--red); text-decoration:underline; text-underline-offset:2px}
.doc__prose a:hover{color:var(--red-600)}

/* a "needs real detail before launch" inline marker — visible but not broken-looking */
.fillin{color:var(--ink-500); font-style:italic}

.doc__contact{margin-top:var(--s-10); padding-top:var(--s-6); border-top:var(--hair)}
.doc__contact ul{list-style:none; padding:0; margin:var(--s-4) 0 0; display:flex; flex-direction:column; gap:var(--s-3)}
.doc__contact li{display:flex; flex-direction:column; gap:2px; max-width:none}
.doc__contact li strong{font-size:var(--t-sm); color:var(--ink-900)}
.doc__contact li span{font-size:var(--t-base); color:var(--ink-700)}

/* Table of contents (optional, used on longer policies) */
.toc{max-width:var(--prose); margin:var(--s-8) auto 0; padding:var(--s-6); background:var(--sand); border:var(--hair); border-radius:var(--r-md)}
.toc h2{font-family:var(--mono); font-size:var(--t-xs); letter-spacing:var(--tr-wide); text-transform:uppercase; color:var(--ink-500); margin-bottom:var(--s-4)}
.toc ol{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s-2)}
@media(min-width:600px){ .toc ol{grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-2) var(--s-8)} }
.toc a{font-size:var(--t-sm); color:var(--ink-700); text-decoration:none; display:flex; gap:var(--s-3)}
.toc a:hover{color:var(--red)}
.toc a b{font-family:var(--mono); color:var(--red); font-weight:var(--w-medium); flex:none}
