/* ═══════════════════════════════════════════════════════════
   LEGAL PAGES · Science In A Snapshot
   Shared by /privacy/ and /copyright/. Same field-journal system
   as /pilot, /handbook, /phenomena, /ell and /visionary, tuned for
   long-form document reading: single narrow measure, numbered
   sections, no decorative furniture.
   ═══════════════════════════════════════════════════════════ */

:root{
  --ground:#f6f1e8; --surface:#fdfcf8; --raised:#efe8d8;
  --ink:#1f1a15; --ink-soft:#6d6155; --ink-faint:#938673;
  --bark:#3d2b1f; --gold:#c8963c; --gold-deep:#a9772a;
  --line:rgba(61,43,31,.15); --line-soft:rgba(61,43,31,.08);
  --shadow:0 1px 2px rgba(26,20,12,.05), 0 6px 20px rgba(26,20,12,.06);
  --display:'Playfair Display',Georgia,serif;
  --body:'DM Sans',system-ui,-apple-system,sans-serif;
  --mono:'DM Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#211710; --surface:#2b1f16; --raised:#34261b;
    --ink:#f3ece0; --ink-soft:#c2b3a0; --ink-faint:#9a8a76;
    --bark:#1a120c; --gold:#e6b85c; --gold-deep:#e6b85c;
    --line:rgba(243,236,224,.16); --line-soft:rgba(243,236,224,.08);
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 26px rgba(0,0,0,.32);
  }
}
:root[data-theme="dark"]{
  --ground:#211710; --surface:#2b1f16; --raised:#34261b;
  --ink:#f3ece0; --ink-soft:#c2b3a0; --ink-faint:#9a8a76;
  --bark:#1a120c; --gold:#e6b85c; --gold-deep:#e6b85c;
  --line:rgba(243,236,224,.16); --line-soft:rgba(243,236,224,.08);
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 26px rgba(0,0,0,.32);
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.doc{
  font-family:var(--body); background:var(--ground); color:var(--ink);
  line-height:1.68; font-size:17px; -webkit-font-smoothing:antialiased;
  letter-spacing:.005em; overflow-x:hidden;
}
.doc::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:90;
  opacity:.04; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:var(--gold-deep)}
a:hover{text-decoration:underline}
:root[data-theme="dark"] a{color:var(--gold)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) a{color:var(--gold)}}
img{display:block;max-width:100%}
.wrap{max-width:820px;margin:0 auto;padding:0 28px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ─── masthead ─── */
header.mast{
  background:
    radial-gradient(120% 140% at 88% -10%, rgba(200,150,60,.18), transparent 55%),
    linear-gradient(180deg,var(--bark),#2c1e14);
  color:#f3ead9; border-bottom:3px solid var(--gold); padding:26px 0 0;
}
header.mast a{color:inherit}
.mast .toprow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px}
.backlink{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(243,234,217,.75); text-decoration:none;
  border:1px solid rgba(243,234,217,.28); border-radius:100px; padding:.42rem .9rem;
  transition:all .25s var(--ease); white-space:nowrap;
}
.backlink:hover{background:rgba(243,234,217,.12);color:#fff;text-decoration:none}
.iconbtn{
  font-family:var(--body); font-size:.78rem; font-weight:600;
  background:rgba(243,234,217,.08); color:rgba(243,234,217,.9);
  border:1px solid rgba(243,234,217,.24); border-radius:100px;
  padding:.42rem .95rem; cursor:pointer; transition:all .25s var(--ease); line-height:1.4;
}
.iconbtn:hover{background:rgba(243,234,217,.18);color:#fff}

.masthead{padding-bottom:46px}
.brandline{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); margin-bottom:16px;
  display:flex; align-items:center; gap:.6rem;
}
.brandline .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.mast h1{
  font-family:var(--display); font-weight:900;
  font-size:clamp(2.2rem,5.4vw,3.6rem); line-height:1.04;
  letter-spacing:-.02em; margin:0 0 14px;
}
/* italic 400 only — the offline desktop font bundle carries Playfair italic
   at weight 400, so italic-700 would render as synthesized faux-bold there. */
.mast h1 em{font-style:italic;font-weight:400;color:var(--gold)}
.mast .sub{font-size:1.04rem;line-height:1.6;color:rgba(243,234,217,.82);max-width:34em;margin:0 0 18px}
.stamp{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(243,234,217,.6); margin:0;
}

/* ─── document body ─── */
main.prose{padding:64px 28px 80px;max-width:76ch}
.prose h2{
  font-family:var(--display); font-weight:700;
  font-size:clamp(1.35rem,2.6vw,1.75rem); line-height:1.2;
  letter-spacing:-.012em; margin:44px 0 14px; padding-top:20px;
  border-top:1px solid var(--line-soft);
}
.prose h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
.prose h3{
  font-family:var(--display); font-weight:700; font-size:1.16rem;
  margin:30px 0 10px; line-height:1.25;
}
.prose p{margin:0 0 18px}
.prose ul{margin:0 0 20px;padding-left:1.3em}
.prose li{margin:0 0 9px}
.prose code{
  font-family:var(--mono); font-size:.88em; background:var(--raised);
  border:1px solid var(--line-soft); border-radius:3px; padding:.1em .4em;
}
.prose strong{font-weight:600}

/* pulled-out statement (Limited Use disclosure) */
.callout{
  background:var(--surface); border:1px solid var(--line);
  border-left:3px solid var(--gold); box-shadow:var(--shadow);
  padding:20px 24px; margin:0 0 22px;
}
.callout p{margin:0}

.lastupdated{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-faint);
  margin-top:44px; padding-top:20px; border-top:1px solid var(--line);
}

/* ─── footer ─── */
footer.foot{
  background:var(--bark); color:rgba(243,234,217,.72);
  padding:40px 0 34px; border-top:3px solid var(--gold); text-align:center;
}
:root[data-theme="dark"] footer.foot{background:#160f0a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) footer.foot{background:#160f0a}}
footer.foot p{margin:0 0 6px;font-size:.9rem}
footer.foot a{color:var(--gold);text-decoration:none}
footer.foot a:hover{text-decoration:underline}
.fine{font-size:.76rem;opacity:.55;margin-top:14px}

@media (max-width:640px){
  .doc{font-size:16px}
  .wrap{padding:0 18px}
  main.prose{padding:44px 18px 60px}
}

@media print{
  .backlink,.iconbtn,.toprow{display:none!important}
  .doc::before{display:none}
  header.mast,footer.foot{background:none!important;color:#000!important;border-color:#999!important}
  .mast h1 em,.stamp,footer.foot a{color:#000!important}
  .mast .sub{color:#333!important}
  .prose h2{break-after:avoid}
  main.prose{padding:16px 0}
}
