/* Shared styles for SupportedHousingOS marketing pages (guides + future landing pages).
   Tokens and base components mirror index.html so every page reads as one system. */
:root{
  --paper:#f3f4f7; --surface:#fff; --sunk:#eceef2;
  --ink:#16233b; --ink2:#43506a; --ink3:#6c7789;
  --rule:#dde1ea; --rule2:#c4cbd8;
  --brand:#1b3a5b; --brand-strong:#142a45; --brand-weak:#e7edf4; --brand-line:#b8c6d8;
  --ok:#2e6b4f; --ok-weak:#e3efe9; --ok-ink:#1d4a36;
  --warn:#8a5a00; --warn-weak:#f4ecd7; --warn-ink:#664300;
  --bad:#a32c2c; --bad-weak:#f6e3e1; --bad-ink:#7c1f1f;
  --seal:#7a5b2e; --focus:#2f6fb3;
  --shadow-1:0 1px 2px rgba(20,35,59,.05),0 2px 6px rgba(20,35,59,.06);
  --shadow-2:0 8px 20px rgba(20,35,59,.09),0 24px 48px rgba(20,35,59,.10);
  --font:'Public Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
h1,h2,h3{line-height:1.15;letter-spacing:-.025em;font-weight:800;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
::selection{background:var(--brand-weak);color:var(--brand-strong)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
.mono{font-family:var(--mono)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;padding:12px 20px;border-radius:8px;border:1px solid var(--rule2);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s,transform .06s}
.btn:hover{background:var(--sunk)}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:var(--shadow-1)}
.btn--primary:hover{background:var(--brand-strong)}
.btn--lg{padding:14px 26px;font-size:1.0625rem}

/* Header / footer (match index.html) */
.head{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.head .wrap{display:flex;align-items:center;gap:20px;height:66px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.03em;font-size:1.125rem}
.brand-mark{display:block;flex:none}
.brand b{color:var(--brand)}
.nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.nav a.l{font-weight:600;color:var(--ink2)}
.nav a.l:hover{color:var(--brand)}
@media(max-width:760px){.nav a.l{display:none}}
.foot{border-top:1px solid var(--rule);padding:40px 0;color:var(--ink3);font-size:.9rem}
.foot .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.foot a:hover{color:var(--brand)}

/* Article / guide layout */
.gh{padding:56px 0 20px;border-bottom:1px solid var(--rule);background:var(--surface)}
.crumb{font-size:.85rem;color:var(--ink3);margin-bottom:16px}
.crumb a:hover{color:var(--brand)}
.gh .tag{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:700;color:var(--brand-strong);background:var(--brand-weak);border:1px solid var(--brand-line);padding:6px 12px;border-radius:999px;margin-bottom:18px}
.gh h1{font-size:2.6rem;max-width:20ch}
.gh .lede{font-size:1.2rem;color:var(--ink2);margin-top:18px;max-width:62ch}
.gh .meta{margin-top:18px;font-size:.85rem;color:var(--ink3)}
@media(max-width:720px){.gh h1{font-size:2rem}}
.art{padding:44px 0 20px}
.art .wrap{max-width:860px}
.art h2{font-size:1.65rem;margin:40px 0 14px}
.art h3{font-size:1.2rem;margin:28px 0 10px}
.art p{color:var(--ink2);font-size:1.05rem;margin:14px 0}
.art ul,.art ol{color:var(--ink2);font-size:1.05rem;margin:14px 0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.art li{padding-left:4px}
.art strong{color:var(--ink)}
.art a:not(.btn){color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--brand-line)}
.art a:not(.btn):hover{text-decoration-color:var(--brand)}
.toc{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:20px 24px;margin:8px 0 8px;box-shadow:var(--shadow-1)}
.toc .k{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.toc ol{margin:12px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:.98rem}
.toc a{color:var(--ink2);font-weight:600}
.toc a:hover{color:var(--brand)}
/* Key-facts / timescale callout */
.facts{border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-1);margin:24px 0}
.facts .row{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px 22px;border-bottom:1px solid var(--rule)}
.facts .row:last-child{border-bottom:none}
.facts .row:hover{background:var(--sunk)}
.facts .lab{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--brand)}
.facts .val{color:var(--ink2);font-size:.98rem}
.facts .val b{color:var(--ink)}
@media(max-width:600px){.facts .row{grid-template-columns:1fr;gap:4px}}
.note{display:flex;gap:14px;align-items:flex-start;margin:24px 0;padding:18px 20px;background:var(--brand-weak);border:1px solid var(--brand-line);border-radius:12px}
.note svg{flex:none;color:var(--brand);margin-top:2px}
.note p{color:var(--ink2);font-size:.98rem;margin:0}
.note b{color:var(--brand-strong)}
/* FAQ */
.faq{margin:16px 0}
.faq details{border:1px solid var(--rule);border-radius:10px;background:var(--surface);margin:10px 0;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--brand);font-weight:700}
.faq details[open] summary::after{content:'–'}
.faq .a{padding:0 20px 16px;color:var(--ink2);font-size:1rem}
/* Product CTA block in articles */
.cta-box{margin:40px 0 8px;padding:32px;border:1px solid var(--brand);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-2)}
.cta-box h3{font-size:1.3rem}
.cta-box p{color:var(--ink2);margin-top:10px}
.cta-box .cta{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
/* Related links */
.rel{margin:44px 0 8px}
.rel .k{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:12px}
.rel .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rel a{display:block;border:1px solid var(--rule);border-radius:12px;padding:18px 20px;background:var(--surface);transition:background .15s,border-color .15s}
.rel a:hover{background:var(--sunk);border-color:var(--rule2)}
.rel a .t{font-weight:700;color:var(--ink)}
.rel a .d{font-size:.9rem;color:var(--ink3);margin-top:4px}
@media(max-width:620px){.rel .grid{grid-template-columns:1fr}}
.disc{margin:40px 0 0;padding-top:20px;border-top:1px solid var(--rule);font-size:.85rem;color:var(--ink3)}
