/* EconStat Lab — design system
   Ink: #14283C · Paper: #FAFBF9 · Teal: #1F7A6D · Slate: #3C4C5A · Amber: #B98A2F */
:root{
  --ink:#14283C; --paper:#FAFBF9; --teal:#1F7A6D; --teal-dark:#155A50;
  --slate:#3C4C5A; --line:#D8DEE2; --amber:#B98A2F; --band:rgba(31,122,109,.14);
  --display:"STIX Two Text",Georgia,serif;
  --body:"Source Sans 3","Segoe UI",Arial,sans-serif;
  --mono:"IBM Plex Mono","Courier New",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--body);color:var(--slate);background:var(--paper);font-size:17px;line-height:1.65}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.18;font-weight:600}
h1{font-size:clamp(1.9rem,4.2vw,3rem);letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:.6rem}
h3{font-size:1.12rem;margin-bottom:.35rem}
p{margin-bottom:1rem;max-width:68ch}
a{color:var(--teal-dark);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

/* header */
header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:wrap}
.brand{font-family:var(--display);font-weight:700;font-size:1.25rem;color:var(--ink)}
.brand span{color:var(--teal)}
nav.menu{display:flex;gap:20px;flex-wrap:wrap;font-size:.94rem}
nav.menu a{color:var(--ink)}
.lang{font-family:var(--mono);font-size:.8rem;border:1px solid var(--line);padding:4px 10px;border-radius:3px;color:var(--ink)}

/* eyebrow + section rhythm */
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.7rem}
section{padding:64px 0}
section.tight{padding:44px 0}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* hero */
.hero{padding:72px 0 40px}
.hero .lede{font-size:1.15rem;max-width:62ch;margin:1rem 0 1.6rem}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:11px 22px;border-radius:3px;font-weight:600;font-size:.96rem}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:hover{background:var(--teal-dark);text-decoration:none}
.btn.ghost{border:1.5px solid var(--ink);color:var(--ink)}
.btn.ghost:hover{border-color:var(--teal-dark);color:var(--teal-dark);text-decoration:none}
.bandfig{margin-top:44px}
.bandfig figcaption{font-family:var(--mono);font-size:.74rem;color:var(--slate);margin-top:8px}

/* booktabs table — signature element */
.booktab{width:100%;border-collapse:collapse;border-top:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);font-size:.97rem}
.booktab caption{caption-side:top;text-align:left;font-family:var(--display);font-style:italic;color:var(--ink);padding-bottom:10px;font-size:1.02rem}
.booktab th{font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--ink);text-align:left;padding:10px 14px 8px;border-bottom:1px solid var(--ink)}
.booktab td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.booktab tr:last-child td{border-bottom:none}
.booktab .num{font-family:var(--mono);color:var(--ink);white-space:nowrap}
.tablenote{font-family:var(--mono);font-size:.74rem;color:var(--slate);margin-top:8px}

/* cards */
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:28px}
.card{border:1px solid var(--line);border-top:3px solid var(--teal);background:#fff;padding:22px 22px 18px;border-radius:3px}
.card p{font-size:.95rem;margin-bottom:.8rem}
.card .more{font-family:var(--mono);font-size:.8rem}

/* two-col */
.split{display:grid;gap:40px;grid-template-columns:1fr 1fr;align-items:start}
@media(max-width:820px){.split{grid-template-columns:1fr}}

/* method chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.chips span{font-family:var(--mono);font-size:.76rem;border:1px solid var(--line);background:#fff;color:var(--ink);padding:4px 10px;border-radius:3px}

/* steps (real pipeline) */
.steps{counter-reset:s;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:24px}
.step{border-left:2px solid var(--teal);padding-left:14px}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--mono);color:var(--amber);font-size:.8rem;display:block;margin-bottom:4px}

/* expert */
.expert{background:var(--ink);color:#E8EDF0;border-radius:4px;padding:40px 36px}
.expert h2,.expert h3{color:#fff}
.expert p{color:#C9D4DB}
.expert a{color:#7CC6B8}
.expert .chips span{background:transparent;border-color:#3A5266;color:#CFE7E0}

/* contact + footer */
.contact-line{font-family:var(--mono);font-size:.95rem;color:var(--ink)}
footer{border-top:1px solid var(--line);padding:30px 0 40px;font-size:.85rem}
footer .cols{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
footer a{color:var(--slate)}

/* page hero (subpages) */
.pagehead{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.pagehead p{font-size:1.08rem;max-width:64ch}

/* utility */
.mt{margin-top:26px}
ul.plain{list-style:none}
ul.plain li{padding:7px 0;border-bottom:1px solid var(--line)}
ul.plain li:last-child{border-bottom:none}
.small{font-size:.88rem}
