
:root{
  --ink:#101820;
  --ink-2:#233142;
  --steel:#60758a;
  --paper:#f4f1e8;
  --panel:#fffdf7;
  --line:#d8d1c2;
  --amber:#e89b16;
  --amber-dark:#a76300;
  --blue:#1e5c87;
  --green:#1c6b52;
  --red:#9c342b;
  --shadow:0 18px 50px rgba(16,24,32,.12);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.66 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--amber-dark)}
img{max-width:100%;height:auto}
.site-header{background:var(--ink);color:white;position:sticky;top:0;z-index:30;border-bottom:4px solid var(--amber)}
.nav-wrap{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:24px}
.brand{color:white;text-decoration:none;font-weight:900;letter-spacing:-.03em;font-size:1.35rem}
.brand span{color:var(--amber)}
.nav-toggle{display:none;background:transparent;border:1px solid #60758a;color:white;border-radius:9px;padding:8px 12px}
nav{display:flex;gap:18px;flex-wrap:wrap}
nav a{color:#e6edf3;text-decoration:none;font-weight:700;font-size:.91rem}
nav a:hover{color:var(--amber)}
.hero{background:
 linear-gradient(90deg,rgba(7,15,23,.96),rgba(7,15,23,.76)),
 url('/assets/img/vertical-mill.svg') center/cover;color:white;padding:82px 20px 76px}
.hero-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}
.kicker{color:var(--amber);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.79rem}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em}
h1{font-size:clamp(2.7rem,6vw,5.7rem);margin:.2em 0}
h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 .45em}
h3{font-size:1.35rem;margin:.2em 0 .5em}
.hero p{font-size:1.2rem;color:#d6dee6;max-width:740px}
.hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:24px;border-radius:var(--radius);backdrop-filter:blur(8px)}
.hero-card strong{display:block;color:var(--amber);font-size:1.1rem}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:12px 17px;font-weight:850;text-decoration:none;border:2px solid transparent}
.btn-primary{background:var(--amber);color:#131a20}
.btn-primary:hover{background:#ffc04c;color:#131a20}
.btn-dark{background:var(--ink);color:white}
.btn-outline{border-color:#6f8194;color:white}
.btn-soft{background:#edf2f5;color:var(--ink)}
main{min-height:60vh}
.section{padding:70px 20px}
.section-tight{padding:36px 20px}
.container{max-width:var(--max);margin:auto}
.intro{max-width:820px;font-size:1.12rem;color:#40505f}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 26px rgba(16,24,32,.06)}
.card img{border-radius:12px;margin-bottom:16px;background:#111}
.card p{color:#44515e}
.card .eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--amber-dark);font-weight:900}
.card-link{display:block;text-decoration:none;color:inherit;transition:.2s transform,.2s box-shadow}
.card-link:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:inherit}
.band{background:var(--ink);color:white}
.band p{color:#d5dde5}
.band .card{background:#192532;border-color:#314457}
.article{max-width:860px}
.article h2{margin-top:1.6em}
.article h3{margin-top:1.3em}
.article .lead{font-size:1.23rem;color:#3a4855}
.article img.hero-image{border-radius:20px;box-shadow:var(--shadow);margin:20px 0 30px}
.callout{border-left:6px solid var(--amber);background:#fff8df;padding:19px 22px;border-radius:0 13px 13px 0;margin:28px 0}
.warning{border-left-color:var(--red);background:#fff1ee}
.good{border-left-color:var(--green);background:#eaf8f2}
.checklist{list-style:none;padding:0}
.checklist li{padding:.45em 0 .45em 1.8em;position:relative}
.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.data-table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}
.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}
.data-table th{background:#e9e4d9}
.breadcrumbs{font-size:.85rem;color:#637281;margin-bottom:22px}
.breadcrumbs a{color:inherit}
.tool{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.tool label{display:block;font-weight:800;margin:.8em 0 .25em}
.tool input,.tool select,.tool textarea{width:100%;padding:12px;border:1px solid #aab4bd;border-radius:9px;background:white;font:inherit}
.result{margin-top:20px;padding:17px;background:#edf6fa;border-radius:12px;border:1px solid #b7d6e5}
.tag{display:inline-block;padding:5px 9px;margin:3px;border-radius:999px;background:#e9e4d9;color:#384550;font-size:.78rem;font-weight:800}
.sponsor-note{font-size:.8rem;color:#667481}
.related{margin-top:55px;padding-top:28px;border-top:1px solid var(--line)}
.site-footer{background:#0a1118;color:#cbd5df;padding:50px 20px 34px;margin-top:60px}
.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.site-footer h3{color:white}
.site-footer a{color:#dce5ed;text-decoration:none;display:block;margin:.35em 0}
.site-footer a:hover{color:var(--amber)}
.footer-bottom{max-width:var(--max);margin:35px auto 0;padding-top:20px;border-top:1px solid #2c3a47;font-size:.85rem}
.search-bar{display:flex;gap:8px}
.search-bar input{flex:1;padding:12px;border-radius:10px;border:1px solid #9aa6b2}
@media(max-width:900px){
  .hero-inner,.grid,.grid-4,.footer-grid{grid-template-columns:1fr 1fr}
  .grid-2{grid-template-columns:1fr}
  .nav-toggle{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:61px;background:var(--ink);padding:18px 20px;flex-direction:column}
  nav.open{display:flex}
}
@media(max-width:620px){
  .hero-inner,.grid,.grid-4,.footer-grid{grid-template-columns:1fr}
  .hero{padding-top:54px}
  h1{font-size:2.75rem}
  .section{padding:52px 17px}
}
