/* Article template: blog posts and the data warehouse project write-up. */
:root{--deep:#14231d;--mint:#59ffc9;--muted:#b8c5bf;--paper:#f0f2ef;--soft:#53645b}
.intro{padding:56px 0 56px}
.back{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:30px}
.back:hover{color:var(--mint)}
.meta{color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
h1{font-size:clamp(34px,5.4vw,58px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 16px;max-width:880px}
.lead{color:var(--muted);font-size:19px;max-width:700px;margin:0 0 22px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-block;padding:6px 11px;border-radius:20px;font-size:12px;font-weight:700;background:#1b2e26;border:1px solid #2f4a3e;color:#d7eee2;transition:border-color .15s,color .15s}
.tag:hover{border-color:var(--mint);color:var(--mint)}
article.body{background:var(--paper);color:var(--deep);padding:60px 0 72px}
.col{max-width:760px;margin:0 auto}
.col h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.035em;line-height:1.12;margin:52px 0 14px}
.col h2:first-child{margin-top:0}
.col p,.col li{font-size:17px;color:#33443c}
.col p{margin:0 0 16px}
.col ul{padding-left:20px;margin:0 0 16px}
.col li+li{margin-top:6px}
.salaries{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 12px}
.sal{background:#fff;border:1px solid #dfe5e0;border-radius:12px;padding:20px 22px}
.sal h3{margin:0 0 12px;font-size:17px}
.sal table{width:100%;border-collapse:collapse;font-size:15px}
.sal th{font-weight:500;text-align:left;color:var(--soft);padding:9px 0;border-top:1px solid #e6ebe7}
.sal td{text-align:right;font-weight:800;font-size:18px;padding:9px 0;border-top:1px solid #e6ebe7;font-variant-numeric:tabular-nums}
.sal tr:first-child th,.sal tr:first-child td{border-top:0}
.sal td{width:60%}
.sal .bar{display:block;height:6px;border-radius:3px;background:#59ffc9;margin:5px 0 0 auto}
.note{font-size:14px!important;color:var(--soft)!important}
.callout{background:#e2f2ea;border-left:4px solid #39a675;border-radius:0 10px 10px 0;padding:16px 20px;margin:20px 0}
.callout p{margin:0;color:#285c46}
.roles{display:grid;gap:16px;margin-top:22px}
.role{background:#fff;border:1px solid #dfe5e0;border-radius:12px;padding:22px 24px}
.role h3{margin:0 0 4px;font-size:20px;letter-spacing:-.02em}
.role .who{margin:0 0 14px;font-size:14px;color:#39725b;font-weight:700}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.role h4{margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#39725b}
.role ul{margin:0;padding-left:18px}
.role li{font-size:15px}
.next{background:var(--deep);padding:52px 0}
.next h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.035em;margin:12px 0 10px}
.next p{color:var(--muted);margin:0 0 22px;max-width:620px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{padding:12px 17px;border-radius:7px;font-size:13px;font-weight:750;display:inline-block;background:var(--mint);color:#10231d}
.btn.ghost{background:transparent;border:1px solid #65736d;color:#fff}
@media(max-width:720px){.salaries,.role-grid{grid-template-columns:1fr}article.body{padding:44px 0 56px}}
