/* TrapCity Labs — shared design system. Implements BRAND.md. Used by every page. */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500&family=IBM+Plex+Mono:wght@500&display=swap');

:root {
  --royal:#0052CC; --deep:#003A8C; --steel:#2F343D; --gray:#5F6673; --light:#E7EAF0; --ice:#FFFFFF; --paper:#F4F6FA;
  --font-head:'Oswald', sans-serif; --font-body:'Inter', system-ui, sans-serif; --font-mono:'IBM Plex Mono', monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:var(--font-body); color:var(--steel); background:var(--ice); line-height:1.65; -webkit-font-smoothing:antialiased; }
.wrap { max-width:1000px; margin:0 auto; padding:0 24px; }
a { color:var(--royal); }

/* header lockup: icon + wordmark */
.tcl-head { display:flex; align-items:center; gap:12px; padding:22px 0; }
.tcl-head img { width:38px; height:38px; border-radius:10px; }
.tcl-head .wm { font-family:var(--font-head); font-weight:700; font-size:20px; letter-spacing:1px; color:var(--royal); }
.tcl-head .wm b { font-family:var(--font-mono); font-weight:500; font-size:11px; letter-spacing:5px; color:var(--gray); margin-left:7px; }

/* type */
h1,h2,h3 { font-family:var(--font-head); color:var(--steel); letter-spacing:.5px; line-height:1.05; }
.tag { font-family:var(--font-head); font-weight:600; letter-spacing:4px; color:var(--royal); text-transform:uppercase; }
.rule { height:4px; width:60px; background:var(--royal); border-radius:2px; }
.muted { color:var(--gray); }

/* button */
.btn { display:inline-flex; align-items:center; gap:8px; background:var(--royal); color:#fff; text-decoration:none; font-weight:500; padding:14px 28px; border-radius:10px; font-size:16px; }
.btn:hover { background:var(--deep); }

/* card */
.card { border:1px solid var(--light); border-radius:14px; padding:24px; background:#fff; }
.card h3 { font-weight:600; font-size:18px; margin-bottom:6px; }
.card p { color:var(--gray); font-size:15px; }

/* footer */
.tcl-foot { border-top:1px solid var(--light); margin-top:8px; padding:26px 0 56px; font-size:14px; color:var(--gray); display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.tcl-foot a { color:var(--gray); text-decoration:none; }
.tcl-foot .sp { flex:1; }

/* legal pages */
.doc { max-width:760px; padding:8px 24px 80px; }
.doc h1 { color:var(--royal); font-size:34px; margin-bottom:6px; }
.doc h2 { font-size:20px; margin-top:28px; }
.doc p { margin-top:8px; }
