/* KoiFi — legal pages (privacy, terms). Shared, brand-matched, long-form readable. */
:root{
  --bg:#12110F; --bg-2:#1A1917; --card:#1E1C19; --border:rgba(216,176,152,.16);
  --ink:#F5F2EE; --muted:#B7B1A8; --faint:#807a72;
  --gold:#C9987E; --gold-l:#D8B098; --gold-d:#B08A6E;
  --grad:linear-gradient(135deg,#D8B098 0%,#C9987E 50%,#B08A6E 100%);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;
     -webkit-font-smoothing:antialiased}

/* top bar */
.lnav{position:sticky;top:0;z-index:20;background:rgba(18,17,15,.82);backdrop-filter:blur(16px);
      border-bottom:1px solid var(--border)}
.lnav-in{max-width:900px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px}
.lnav .brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.lnav .brand img{width:30px;height:30px}
.lnav .brand span{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--ink)}
.lnav .brand .b-fi{color:var(--gold)}
.lnav .back{margin-left:auto;font-size:.85rem;font-weight:500;color:var(--muted);text-decoration:none}
.lnav .back:hover{color:var(--gold-l)}

/* layout */
.wrap{max-width:780px;margin:0 auto;padding:48px 24px 96px}
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,6vw,3rem);line-height:1.08;letter-spacing:-.015em;margin-bottom:14px}
.meta{color:var(--faint);font-size:.85rem;margin-bottom:8px}
.lead{color:var(--muted);font-size:1.05rem;margin:18px 0 8px}

h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,4vw,2rem);color:var(--ink);
   margin:46px 0 12px;padding-top:8px;scroll-margin-top:80px;letter-spacing:-.01em}
h2 .n{color:var(--gold);font-size:.8em;margin-right:.35em}
h3{font-family:var(--sans);font-weight:700;font-size:1.02rem;color:var(--ink);margin:26px 0 8px}
p{margin:12px 0;color:#E7E2DB}
a{color:var(--gold-l);text-decoration:none}
a:hover{text-decoration:underline}
ul,ol{margin:12px 0 12px 22px}
li{margin:7px 0;color:#E7E2DB}
strong,b{color:var(--ink);font-weight:600}
hr{border:0;border-top:1px solid var(--border);margin:40px 0}
.small{font-size:.9rem;color:var(--muted)}

/* table of contents */
.toc{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px 24px;margin:30px 0 8px}
.toc h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:700}
.toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:32px}
.toc li{margin:6px 0;font-size:.9rem;break-inside:avoid}
.toc a{color:var(--muted)}
.toc a:hover{color:var(--gold-l)}
@media(max-width:560px){.toc ol{columns:1}}

/* callouts + tables */
.callout{background:rgba(201,152,126,.08);border:1px solid var(--border);border-left:3px solid var(--gold);
         border-radius:12px;padding:16px 20px;margin:20px 0}
.callout.warn{border-left-color:#E0A24A;background:rgba(224,162,74,.07)}
.callout p:first-child{margin-top:0}.callout p:last-child{margin-bottom:0}
.tbl{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem;display:block;overflow-x:auto}
.tbl th,.tbl td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}
.tbl th{background:var(--bg-2);color:var(--ink);font-weight:600;white-space:nowrap}
.tbl td{color:var(--muted)}

/* placeholder marker — makes owner-fill spots easy to find */
.ph{background:rgba(224,162,74,.16);border:1px dashed rgba(224,162,74,.5);border-radius:5px;
    padding:0 6px;color:#F0CE92;font-weight:500;overflow-wrap:anywhere}

/* footer */
.lfoot{border-top:1px solid var(--border);background:var(--bg-2)}
.lfoot-in{max-width:780px;margin:0 auto;padding:28px 24px;display:flex;flex-wrap:wrap;gap:14px 26px;
          align-items:center;font-size:.85rem;color:var(--faint)}
.lfoot-in a{color:var(--muted)}
.lfoot-in .sep{color:var(--border)}
.lfoot-in .ua{margin-left:auto;color:var(--muted)}
