/* Culture House — shared design system
   Aesthetic language derived from Aura.build reference corpus (spatial family,
   motion-forward, structured density) — INSPIRED, not copied. CH-owned tokens. */
:root{
  --ink:#0a0a0c; --ink2:#101014; --paper:#f4f1ea; --paper2:#e9e4d8;
  --bg:var(--ink); --border:var(--line); --text:#ece8dd; --muted:var(--bone);
  --card:var(--ink2); --panel:var(--ink);
  --bone:#cfc8b8; --line:rgba(207,200,184,.18); --ink2:#101014; --paper:#f4f1ea; --paper2:#e9e4d8;
  --bone:#cfc8b8; --line:rgba(207,200,184,.18);
  --accent:#e8472b;      /* CH signal red */
  --accent2:#f0b429;     /* gold */
  --cool:#3da9b8;        /* teal */
  --violet:#7a5cff;
  --ok:#3fcf8e; --warn:#f0b429; --bad:#e8472b;
  --r:14px; --maxw:1180px;
  --sans:"Helvetica Neue",Arial,system-ui,sans-serif;
  --mono:"SF Mono",ui-monospace,Menlo,monospace;
  --serif:"Times New Roman",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:#ece8dd;font-family:var(--sans);
  -webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:1}
.fxgrid{z-index:0}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--bone);opacity:.8}
h1{font-size:clamp(40px,7vw,92px);line-height:.98;letter-spacing:-.02em;font-weight:800;color:#fff}
h2{font-size:clamp(26px,3.6vw,44px);letter-spacing:-.01em;font-weight:800;margin-bottom:18px}
h3{font-size:20px;font-weight:700;margin-bottom:8px}
p.lead{font-size:clamp(16px,1.7vw,21px);color:var(--bone);max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;
  border:1px solid var(--line);font-family:var(--mono);font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;transition:.25s;background:transparent;color:var(--paper)}
.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}
.btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;
  align-items:center;padding:16px 28px;backdrop-filter:blur(14px);
  background:rgba(10,10,12,.55);border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:-.03em;font-size:19px}
.brand b{color:var(--accent)}
.navlinks{display:flex;gap:20px;font-family:var(--mono);font-size:12px;
  letter-spacing:.06em;text-transform:uppercase}
.navlinks a{opacity:.7;transition:.2s}.navlinks a:hover{opacity:1;color:var(--accent2)}
.section{padding:104px 0;border-bottom:1px solid var(--line)}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:26px;
  transition:.3s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-4px);border-color:rgba(240,180,41,.5)}
.card .tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent2);margin-bottom:10px}
.kpi{font-size:38px;font-weight:800;font-family:var(--mono)}
.muted{color:var(--bone)}
.foot{padding:60px 0 80px;border-top:1px solid var(--line);font-family:var(--mono);
  font-size:12px;color:var(--bone);letter-spacing:.04em}
/* spatial motion accent */
.fxgrid{position:absolute;inset:0;background-image:
  linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:46px 46px;opacity:.25;pointer-events:none;mask-image:radial-gradient(circle at 50% 30%,#000,transparent 75%)}
.reveal{opacity:1;transform:none}
html.js .reveal{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:860px){.g2,.g3,.g4{grid-template-columns:1fr}.navlinks{display:none}}
