/* Patternwise portal — blueprint palette (slate + amber accent).
   Sibling of thebiastax /css/style.css but its own identity:
   pw = serious graphic-novel "blueprint", amber accent (#e0a536),
   deep slate ground. Keep visually distinct from The Bias Tax (blue/red). */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --slate:#1c2333;        /* deep blueprint slate */
  --slate-2:#232c40;
  --ink:#1a1f2b;
  --paper:#f4f5f7;
  --amber:#e0a536;        /* the single accent */
  --amber-deep:#c98a1c;
  --line:#d7dbe3;
  --muted:#5c6472;
}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);
  background:var(--paper);min-height:100vh;display:flex;flex-direction:column;line-height:1.6}

/* header */
header.site{background:var(--slate);color:#fff;padding:1.1rem 2rem;display:flex;
  justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
header.site .brand{color:#fff;text-decoration:none;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
header.site .brand .dot{color:var(--amber)}
header.site nav a{color:#fff;font-size:.9rem;font-weight:500;margin-left:1.4rem;opacity:.82;text-decoration:none}
header.site nav a:hover{opacity:1;color:var(--amber)}

/* hero */
.hero{background:linear-gradient(135deg,#171d2b 0%,#1c2333 55%,#232c40 100%);
  color:#fff;padding:3.4rem 2rem;text-align:center;position:relative}
.hero .eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;
  color:var(--amber);font-weight:700;margin-bottom:.9rem}
.hero h1{font-size:2.4rem;line-height:1.15;letter-spacing:-.02em;max-width:22ch;margin:0 auto .7rem}
.hero p.tagline{font-size:1.1rem;opacity:.85;max-width:52ch;margin:0 auto}
.hero .rule{width:64px;height:3px;background:var(--amber);margin:1.4rem auto 0;border-radius:2px}

/* content */
.wrap{max-width:760px;margin:0 auto;padding:2.6rem 1.4rem;width:100%}
.wrap.wide{max-width:1040px}
article h2{color:var(--slate);font-size:1.5rem;margin:2rem 0 .8rem;letter-spacing:-.01em}
article h3{color:var(--slate-2);font-size:1.15rem;margin:1.5rem 0 .5rem}
article p{color:#333;margin-bottom:1rem}
article ul,article ol{color:#333;margin:0 0 1.1rem 1.3rem}
article li{margin-bottom:.4rem}
article strong{color:var(--slate)}
a{color:var(--amber-deep)}
.lede{font-size:1.15rem;color:#2a3040;border-left:3px solid var(--amber);
  padding:.2rem 0 .2rem 1.1rem;margin:.4rem 0 1.6rem}

/* definition box (the SEO/GEO answer chunk) */
.definition{background:#fff;border:1px solid var(--line);border-top:4px solid var(--amber);
  border-radius:0 0 10px 10px;padding:1.4rem 1.6rem;margin:1.4rem 0;box-shadow:0 2px 12px rgba(20,25,40,.05)}
.definition .term{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--amber-deep);font-weight:700;margin-bottom:.4rem}
.definition p{font-size:1.05rem;color:#222;margin:0}

/* signs / list cards */
.signs{list-style:none;margin:1.2rem 0;padding:0}
.signs li{background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:.9rem 1.1rem;margin-bottom:.7rem;display:flex;gap:.8rem;align-items:flex-start}
.signs li .n{flex:0 0 1.6rem;height:1.6rem;background:var(--slate);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}

/* callout */
.callout{background:#fbf3e0;border:1px solid #eccf8f;border-radius:10px;padding:1.2rem 1.5rem;margin:1.6rem 0}
.callout strong{color:var(--amber-deep)}

/* CTA to YouTube (the portal's job: push to YT) */
.cta-yt{background:var(--slate);color:#fff;border-radius:12px;padding:2rem;text-align:center;margin:2.2rem 0}
.cta-yt h3{color:#fff;font-size:1.3rem;margin-bottom:.5rem}
.cta-yt p{color:#fff;opacity:.82;margin-bottom:1.2rem}
.btn{display:inline-block;background:var(--amber);color:#1a1f2b;font-weight:700;
  text-decoration:none;padding:.8rem 1.6rem;border-radius:8px;transition:background .2s}
.btn:hover{background:#f0b845}
.btn.yt{background:#ff2f2f;color:#fff}
.btn.yt:hover{background:#e01f1f}

/* opt-in form */
.optin{background:var(--slate-2);color:#fff;border-radius:12px;padding:2.2rem;margin:2rem 0}
.optin h2{color:#fff}
.optin p{color:#fff;opacity:.85}
.optin form{display:flex;flex-direction:column;gap:.7rem;max-width:420px;margin:1.2rem auto 0}
.optin input[type=email]{padding:.8rem 1rem;border:none;border-radius:8px;font-size:1rem}
.optin button{background:var(--amber);color:#1a1f2b;border:none;padding:.8rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer}
.optin button:hover{background:#f0b845}
.optin label{font-size:.8rem;opacity:.85;display:flex;gap:.5rem;text-align:left}

/* pattern grid (hub) */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin:1.8rem 0}
.pcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.4rem;
  text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;border-top:3px solid var(--amber)}
.pcard:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(20,25,40,.1)}
.pcard h3{color:var(--slate);margin-bottom:.3rem;font-size:1.1rem}
.pcard p{color:var(--muted);font-size:.9rem;margin:0}

/* breadcrumb */
.crumbs{font-size:.82rem;color:var(--muted);margin-bottom:.4rem}
.crumbs a{color:var(--muted)}

/* related */
.related{border-top:1px solid var(--line);margin-top:2.4rem;padding-top:1.4rem}
.related h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.related a{display:block;margin:.3rem 0}

.disclaimer{font-size:.8rem;color:#8a8f9a;line-height:1.6;margin-top:1.6rem;
  padding:1rem 1.4rem;background:#eef0f3;border-radius:8px}

footer.site{text-align:center;padding:2rem 1rem;font-size:.85rem;color:var(--muted);margin-top:auto;background:#eceef2}
footer.site a{color:var(--slate)}

@media(max-width:600px){.hero h1{font-size:1.7rem}.hero p.tagline{font-size:1rem}
  header.site nav a{margin-left:.9rem}.wrap{padding:1.8rem 1rem}}
