:root {
    --navy:#0B2545; --navy-deep:#06172D; --navy-mid:#163660; --navy-light:#1E4A82;
    --gold:#C8962E; --gold-light:#E8B84B; --gold-pale:#FBF3E3;
    --cream:#FAF8F4; --warm-gray:#F2EFE9; --border:#D9D3C7;
    --text-dark:#1A1610; --text-mid:#4A4035; --text-muted:#7A7060; --white:#FFFFFF;
    --c-budget:#B5742B; --c-tech:#1E5FB0; --c-safety:#B02A2A;
    --c-infra:#5A47B8; --c-policy:#2A7A52; --c-leadership:#A8841C; --c-learning:#0F7A7A;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--text-dark); line-height:1.6; -webkit-font-smoothing:antialiased; }
  .container { max-width:1200px; margin:0 auto; padding:0 28px; }
  header { background:var(--white); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:100; box-shadow:0 1px 0 rgba(11,37,69,0.04); }
  .header-inner { display:flex; align-items:center; justify-content:space-between; padding:0 28px; max-width:1200px; margin:0 auto; height:132px; }
  .logo { display:flex; align-items:center; text-decoration:none; }
  .logo-img { height:112px; width:auto; display:block; }
  nav { display:flex; align-items:center; gap:4px; }
  nav a { font-size:13px; font-weight:600; color:var(--text-mid); text-decoration:none; padding:8px 15px; border-radius:4px; transition:all .18s; position:relative; }
  nav a:not(.nav-cta)::after { content:''; position:absolute; left:15px; right:15px; bottom:4px; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
  nav a:not(.nav-cta):hover { color:var(--navy); }
  nav a:not(.nav-cta):hover::after { transform:scaleX(1); }
  nav a.active { color:var(--navy); }
  nav a.active::after { transform:scaleX(1); }
  nav a.nav-cta { background:var(--gold); color:var(--navy); font-weight:700; margin-left:10px; box-shadow:0 2px 8px rgba(200,150,46,0.32); }
  nav a.nav-cta:hover { background:var(--navy); color:var(--white); }
  .page-hero { background:var(--navy-deep); padding:54px 0; position:relative; overflow:hidden; }
  .page-hero::before { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,0.05) 1px,transparent 1px); background-size:22px 22px; opacity:0.6; pointer-events:none; }
  .page-hero-inner { position:relative; z-index:1; }
  .crumb { font-size:11px; letter-spacing:0.06em; color:rgba(255,255,255,0.5); margin-bottom:14px; }
  .crumb a { color:var(--gold-light); text-decoration:none; }
  .page-hero h1 { font-family:'Playfair Display',serif; font-size:44px; font-weight:800; color:var(--white); letter-spacing:-0.015em; margin-bottom:10px; line-height:1.08; }
  .page-hero p { font-size:14.5px; color:rgba(255,255,255,0.62); max-width:680px; line-height:1.7; }
  .cat-nav { background:var(--white); border-bottom:1px solid var(--border); position:sticky; top:132px; z-index:90; }
  .cat-nav-inner { display:flex; gap:8px; flex-wrap:wrap; padding:14px 28px; max-width:1200px; margin:0 auto; }
  .cat-pill { padding:8px 18px; font-size:12px; font-weight:600; color:var(--text-mid); text-decoration:none; border:1px solid var(--border); border-radius:22px; transition:all .2s; }
  .cat-pill:hover { color:var(--navy); background:var(--warm-gray); border-color:var(--gold); }
  .cat-pill.active { color:var(--white); background:var(--navy); border-color:var(--navy); }
  .listing { padding:44px 0 64px; }
  .articles-3col { display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px; }
  .art-card { position:relative; background:var(--white); border:1px solid var(--border); border-radius:7px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:box-shadow .25s,transform .25s,border-color .25s; }
  .art-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--gold); z-index:3; transition:width .22s; }
  .art-card[data-topic="budget"]::before { background:var(--c-budget); }
  .art-card[data-topic="tech"]::before { background:var(--c-tech); }
  .art-card[data-topic="safety"]::before { background:var(--c-safety); }
  .art-card[data-topic="infra"]::before { background:var(--c-infra); }
  .art-card[data-topic="policy"]::before { background:var(--c-policy); }
  .art-card[data-topic="leadership"]::before { background:var(--c-leadership); }
  .art-card[data-topic="learning"]::before { background:var(--c-learning); }
  .art-card:hover { box-shadow:0 14px 36px rgba(11,37,69,0.14); transform:translateY(-4px); border-color:transparent; }
  .art-card:hover::before { width:8px; }
  .art-card-img { position:relative; background-size:cover; background-position:center; overflow:hidden; }
  .img-credit { position:absolute; bottom:7px; right:7px; z-index:3; font-size:9px; font-weight:600; letter-spacing:0.02em; color:rgba(255,255,255,0.94); background:rgba(6,23,45,0.55); padding:2px 8px; border-radius:3px; text-transform:none; }
  .art-card-body { padding:16px 16px 12px 18px; flex:1; display:flex; flex-direction:column; gap:8px; }
  .art-tag { font-size:9.5px; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; }
  .art-title { font-family:'Playfair Display',serif; font-size:16px; font-weight:700; color:var(--navy); line-height:1.28; }
  .art-excerpt { font-size:12.5px; color:var(--text-muted); line-height:1.6; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .art-footer { display:flex; justify-content:space-between; align-items:center; padding:11px 16px 13px 18px; border-top:1px solid var(--warm-gray); }
  .art-source { font-size:10.5px; color:var(--text-muted); font-weight:600; }
  .art-link { font-size:10.5px; font-weight:700; color:var(--gold); }
  .empty-note { color:var(--text-muted); padding:40px 0; font-size:14px; }
  .pager { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:44px; flex-wrap:wrap; }
  .pager a, .pager span { font-size:13px; font-weight:600; padding:9px 15px; border-radius:5px; text-decoration:none; border:1px solid var(--border); color:var(--text-mid); background:var(--white); transition:all .18s; }
  .pager a:hover { background:var(--navy); color:var(--white); border-color:var(--navy); }
  .pager .current { background:var(--gold); color:var(--navy); border-color:var(--gold); }
  .pager .disabled { opacity:0.35; pointer-events:none; }
  footer { background:#06172D; padding:56px 0 28px; position:relative; }
  footer::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold)); }
  .footer-grid { display:grid; grid-template-columns:250px 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
  .footer-logo-img { height:50px; width:auto; background:white; border-radius:5px; padding:5px 11px; display:block; margin-bottom:16px; }
  .footer-brand p { font-size:13px; color:rgba(255,255,255,0.46); line-height:1.7; }
  .footer-col h4 { font-size:11px; font-weight:700; color:var(--gold); letter-spacing:0.16em; text-transform:uppercase; margin-bottom:16px; }
  .footer-col ul { list-style:none; }
  .footer-col ul li { margin-bottom:10px; }
  .footer-col ul li a { font-size:13px; color:rgba(255,255,255,0.5); text-decoration:none; transition:color .15s,padding-left .15s; }
  .footer-col ul li a:hover { color:var(--gold-light); padding-left:4px; }
  .footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; display:flex; justify-content:space-between; align-items:center; }
  .footer-bottom p { font-size:12px; color:rgba(255,255,255,0.3); }
  .footer-social { display:flex; gap:16px; }
  .footer-social a { font-size:12px; color:rgba(255,255,255,0.4); text-decoration:none; }
  .footer-social a:hover { color:var(--gold); }
  .hamburger { display:none; background:none; border:none; cursor:pointer; padding:6px; }
  .hamburger span { display:block; width:22px; height:2px; background:var(--navy); margin:5px 0; }
  @media (max-width:768px) {
    .container { padding:0 16px; }
    .header-inner { padding:0 16px; height:122px; }
    .logo-img { height:92px; }
    .hamburger { display:block; }
    nav { display:none; position:absolute; top:122px; left:0; right:0; background:var(--white); flex-direction:column; padding:12px 16px; border-bottom:1px solid var(--border); box-shadow:0 4px 12px rgba(0,0,0,0.08); z-index:200; }
    nav.open { display:flex; }
    nav a { padding:11px 8px; font-size:14px; border-bottom:1px solid #f0ede8; }
    nav a:not(.nav-cta)::after { display:none; }
    nav a.nav-cta { margin-left:0; margin-top:8px; text-align:center; }
    .cat-nav { position:static; }
    .page-hero { padding:36px 0; }
    .page-hero h1 { font-size:30px; }
    .articles-3col { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:26px; }
    .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
  }
.page-body { padding:40px 0 64px; }
  .layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:36px; align-items:start; }
  .layout-main { min-width:0; }
  .sec { margin-bottom:40px; }
  .sec-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; border-bottom:2px solid var(--navy); padding-bottom:8px; margin-bottom:18px; }
  .sec-head h2 { font-family:'Playfair Display',serif; font-size:22px; font-weight:800; color:var(--navy); }
  .sec-head a, .sec-head span { font-size:12px; font-weight:700; color:var(--gold); text-decoration:none; white-space:nowrap; }
  .muted { color:var(--text-muted); }
  .note { font-size:12.5px; color:var(--text-muted); line-height:1.6; }
  .note a { color:var(--navy); }
  .pill { display:inline-block; font-size:10px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; padding:3px 9px; border-radius:20px; background:var(--warm-gray); color:var(--text-mid); white-space:nowrap; }
  .pill-hired { background:#E3F1E8; color:#1E6B3E; }
  .pill-departing { background:#F8E4E1; color:#8B1A1A; }
  .pill-interim { background:#FBF3E3; color:#7A5A12; }
  .pill-search { background:#E4ECF7; color:#0E4A8C; }
  .widget { background:var(--white); border:1px solid var(--border); border-radius:7px; margin-bottom:22px; overflow:hidden; }
  .widget h3 { font-family:'Playfair Display',serif; font-size:16px; font-weight:800; color:var(--navy); padding:16px 18px 12px; border-bottom:1px solid var(--warm-gray); }
  .widget-body { padding:14px 18px 16px; }
  .stat-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-bottom:32px; }
  .stat { background:var(--white); border:1px solid var(--border); border-radius:7px; padding:16px 18px; }
  .stat-num { font-family:'Playfair Display',serif; font-size:28px; font-weight:800; color:var(--navy); line-height:1.1; }
  .stat-label { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin-top:4px; }
  .stat-sub { font-size:12px; color:var(--text-muted); margin-top:6px; }
  .story-list { list-style:none; }
  .story-list li { padding:12px 0; border-bottom:1px solid var(--warm-gray); }
  .story-list li:last-child { border-bottom:none; }
  .story-list a.t { font-family:'Playfair Display',serif; font-size:15.5px; font-weight:700; color:var(--navy); text-decoration:none; line-height:1.3; display:block; }
  .story-list a.t:hover { color:var(--gold); }
  .story-list .meta { font-size:11.5px; color:var(--text-muted); margin-top:4px; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
  .story-list .meta a { color:var(--navy); font-weight:600; text-decoration:none; }
  .story-list .meta a:hover { color:var(--gold); }
  .story-list .sum { font-size:13px; color:var(--text-mid); margin-top:5px; line-height:1.55; }
  .state-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:12px; }
  .state-tile { display:block; background:var(--white); border:1px solid var(--border); border-radius:7px; padding:14px 16px; text-decoration:none; transition:all .18s; }
  .state-tile:hover { border-color:var(--gold); box-shadow:0 8px 22px rgba(11,37,69,0.10); transform:translateY(-2px); }
  .state-tile .nm { font-family:'Playfair Display',serif; font-size:17px; font-weight:800; color:var(--navy); }
  .state-tile .ct { font-size:12px; color:var(--text-muted); margin-top:3px; }
  .state-tile .ct strong { color:var(--gold); }
  .tbl-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:7px; background:var(--white); }
  table.tbl { width:100%; border-collapse:collapse; font-size:13px; }
  .tbl th { text-align:left; font-size:10.5px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); background:var(--warm-gray); padding:10px 14px; white-space:nowrap; }
  .tbl td { padding:10px 14px; border-top:1px solid var(--warm-gray); color:var(--text-mid); vertical-align:top; }
  .tbl td.num, .tbl th.num { text-align:right; font-variant-numeric:tabular-nums; }
  .tbl a { color:var(--navy); font-weight:700; text-decoration:none; }
  .tbl a:hover { color:var(--gold); }
  .tbl tr.me td { background:var(--gold-pale); }
  .move-item { display:grid; grid-template-columns:110px minmax(0,1fr); gap:14px; padding:14px 0; border-bottom:1px solid var(--warm-gray); }
  .move-item:last-child { border-bottom:none; }
  .move-date { font-size:11.5px; color:var(--text-muted); padding-top:3px; }
  .move-date .pill { margin-top:6px; }
  .cal-item { display:grid; grid-template-columns:78px minmax(0,1fr); gap:16px; padding:16px 0; border-bottom:1px solid var(--warm-gray); }
  .cal-item:last-child { border-bottom:none; }
  .cal-date { background:var(--navy); color:var(--white); border-radius:6px; text-align:center; padding:8px 4px; align-self:start; }
  .cal-date .m { font-size:10px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); }
  .cal-date .d { font-family:'Playfair Display',serif; font-size:24px; font-weight:800; line-height:1.1; }
  .cal-date .y { font-size:10px; color:rgba(255,255,255,0.6); }
  .cal-item h4 { font-family:'Playfair Display',serif; font-size:16.5px; color:var(--navy); line-height:1.3; }
  .cal-item p { font-size:13px; color:var(--text-mid); margin-top:4px; line-height:1.6; }
  .cal-item .meta { font-size:11.5px; color:var(--text-muted); margin-top:6px; }
  .cal-item .meta a { color:var(--navy); font-weight:600; }
  .cal-item.past { opacity:0.55; }
  .field { width:100%; padding:13px 16px; font:inherit; font-size:15px; border:1px solid var(--border); border-radius:6px; background:var(--white); color:var(--text-dark); }
  .field:focus { outline:2px solid var(--gold); border-color:var(--gold); }
  select.field { cursor:pointer; }
  .filters { display:flex; gap:10px; flex-wrap:wrap; margin:12px 0 22px; }
  .filters .field { width:auto; min-width:160px; font-size:13px; padding:9px 12px; }
  .btn { display:inline-block; padding:10px 18px; background:var(--navy); color:var(--white); font-size:12.5px; font-weight:700; border-radius:5px; border:none; text-decoration:none; cursor:pointer; }
  .btn:hover { background:var(--gold); color:var(--navy); }
  .btn-gold { background:var(--gold); color:var(--navy); }
  .brief-item { padding:20px 0; border-bottom:1px solid var(--warm-gray); }
  .brief-item:last-child { border-bottom:none; }
  .brief-item .num { font-family:'Playfair Display',serif; font-size:13px; font-weight:800; color:var(--gold); letter-spacing:0.1em; }
  .brief-item h3 { font-family:'Playfair Display',serif; font-size:20px; font-weight:800; color:var(--navy); line-height:1.3; margin:4px 0 8px; }
  .brief-item h3 a { color:inherit; text-decoration:none; }
  .brief-item h3 a:hover { color:var(--gold); }
  .brief-item p { font-size:14.5px; color:var(--text-mid); line-height:1.7; }
  .brief-item .why { margin-top:10px; padding:10px 14px; background:var(--gold-pale); border-left:3px solid var(--gold); border-radius:0 5px 5px 0; font-size:14px; color:var(--text-dark); }
  .brief-item .why strong { color:var(--navy); }
  .brief-item .meta { font-size:11.5px; color:var(--text-muted); margin-top:8px; }
  .brief-item .meta a { color:var(--navy); font-weight:600; }
  .hl { background:var(--gold-pale); }
  @media (max-width:900px) {
    .layout { grid-template-columns:1fr; }
  }
  @media (max-width:768px) {
    .move-item { grid-template-columns:1fr; gap:6px; }
    .cal-item { grid-template-columns:62px minmax(0,1fr); gap:12px; }
    .stat-num { font-size:23px; }
    .filters .field { min-width:0; flex:1 1 140px; }
  }
