:root{
  --ink:#101318; --body:#2a2f36; --muted:#79808a; --faint:#a4a9b1;
  --line:#e7e6e2; --hair:#f2f1ed; --bg:#fdfdfc; --accent:#11588f; --accent-soft:#eaf2f9;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--body);
  font:14.5px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased}
.serif,h1{font-family:Georgia,"Iowan Old Style","Times New Roman",serif}

/* full-bleed colour bands */
.band{padding:0}
.page{max-width:1180px;margin:0 auto;padding:0 32px}
.top-band{background:#fff}
.hero-band{background:linear-gradient(180deg,#e7f0f9 0%,#f4f8fc 70%,#fdfdfc 100%);
  border-bottom:1px solid #dce7f1}
.eq-band{background:#fbfaf7;border-top:1px solid var(--line)}
.fuel-band{background:#eff6f0;border-top:1px solid #dce8dd}
.dark-band{background:#0f1420;color:#b9c0cb;padding:58px 0 46px}

/* top bar */
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}
.brand{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.brand i{width:7px;height:7px;background:var(--accent);display:inline-block;border-radius:1px}
.brand span{color:var(--faint);font-weight:400}
.top .meta{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* hero */
.hero{padding:64px 0 60px}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
h1{font-size:clamp(27px,3vw,38px);line-height:1.18;letter-spacing:-.015em;
  font-weight:400;color:var(--ink);margin:16px 0 0;max-width:860px}
h1 em{font-style:normal;color:var(--accent)}

/* section head */
.shead{display:flex;align-items:baseline;gap:14px;margin:0 0 6px;
  padding-bottom:12px;border-bottom:1px solid var(--ink)}
.snum{font-size:11px;letter-spacing:.16em;font-weight:700}
.eq-band .snum{color:var(--accent)}
.fuel-band .snum{color:#1e7a4a}
.shead h2{font-size:19px;font-weight:600;letter-spacing:-.008em;color:var(--ink)}
.shead .scount{margin-left:auto;font-size:11.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap}
.snote{font-size:13px;color:var(--muted);margin-top:14px;max-width:900px}
.snote b{color:#4c545e;font-weight:600}
.eq-band{padding:56px 0 62px}
.fuel-band{padding:56px 0 62px}

/* table */
.tw{overflow-x:auto;margin-top:18px;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:13.5px}
thead th{position:sticky;top:0;text-align:left;
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--ink);white-space:nowrap}
.eq-band thead th{background:#fbfaf7}
.fuel-band thead th{background:#eff6f0}
tbody td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--body)}
.eq-band tbody tr:hover td{background:#f4f1ea}
.fuel-band tbody tr:hover td{background:#e4efe5}
td.dt{white-space:nowrap;font-size:12px;color:var(--muted);
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
  font-family:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace}
td.co{color:var(--ink);font-weight:600;white-space:nowrap}
.vol{display:block;color:var(--muted);font-size:12.5px;margin-top:3px;font-weight:400;line-height:1.45}
.nd{color:var(--faint);font-style:italic;font-weight:400}

/* status + grade */
.st{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:3px 9px;border-radius:2px;white-space:nowrap}
.st-del{background:#e0f0e6;color:#186b41}
.st-awd{background:var(--accent-soft);color:var(--accent)}
.st-sgn{background:#fbf0dc;color:#8a5f00}
.g{display:inline-block;width:21px;height:21px;line-height:20px;text-align:center;
  font-size:10.5px;font-weight:700;border-radius:3px}
.g-a{background:var(--accent);color:#fff}
.g-b{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px #cfe0ee}
.g-c{background:transparent;color:var(--faint);box-shadow:inset 0 0 0 1px var(--line)}

/* footnote under table */
.tnote{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  margin-top:14px;padding-top:12px;border-top:1px solid var(--line);
  font-size:11.5px;color:var(--muted)}
.tnote b{color:var(--ink)}

/* "ask for the full archive" line — only appears past the public limit */
.more{margin-top:16px;padding:14px 16px;border-left:3px solid var(--accent);background:#fff;
  font-size:12.5px;line-height:1.6;color:var(--muted);max-width:760px}
.fuel-band .more{border-left-color:#1e7a4a}
.more b{color:var(--ink)}
.more a{color:var(--accent);text-decoration:none;font-weight:600;border-bottom:1px solid currentColor}
.fuel-band .more a{color:#1e7a4a}

/* method (dark band) */
.method{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;
  padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.method h3{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:#8fc1e8;font-weight:700;margin-bottom:10px}
.method p{font-size:13px;line-height:1.68;color:#aab2bd}
.method b{color:#f2f5f8;font-weight:600}

/* contact CTA */
.cta{margin-top:34px;border:1px solid rgba(255,255,255,.18);border-radius:10px;
  background:linear-gradient(135deg,rgba(143,193,232,.14),rgba(143,193,232,.04));
  padding:26px 30px}
.cta h3{font-size:15px;font-weight:600;color:#f2f5f8;margin:0 0 14px}
.cta p{font-size:13px;line-height:1.6;color:#aab2bd;max-width:560px;margin:0}
.cta-btn{display:inline-block;background:#8fc1e8;color:#0f1420;font-size:13.5px;font-weight:700;
  letter-spacing:.02em;padding:12px 26px;border-radius:6px;text-decoration:none;white-space:nowrap;
  transition:background .15s}
.cta-btn:hover{background:#aecfe9}

.foot{margin-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:11.5px;color:#6d7684;letter-spacing:.02em}

@media(max-width:880px){
  .page{padding:0 20px}
  .hero{padding:44px 0 46px}
  .eq-band,.fuel-band{padding:44px 0 50px}
  .dark-band{padding:44px 0 38px}
  .method{grid-template-columns:1fr;gap:24px}
  .top .meta{display:none}
}

/* print / PDF */
@page{size:A4 landscape;margin:0}
@media print{
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .band{padding:0 !important}
  .page{max-width:100%;padding:0 14mm}
  .hero{padding:16mm 0 12mm}
  h1{font-size:26pt}
  .eq-band,.fuel-band{padding:10mm 0 12mm}
  .dark-band{padding:10mm 0 10mm}
  .fuel-band{break-before:page}
  .tw{overflow:visible;margin-top:12px}
  thead th{position:static}
  table{font-size:12.5px}
  td.co{white-space:normal}
  tbody tr{break-inside:avoid}
  .tnote{break-inside:avoid}
  .method{break-inside:avoid;padding-bottom:8mm}
  .cta{break-inside:avoid}
  .foot{color:#8a93a0}
}
/* ================= multi-page site components ================= */
.nav{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
.nav-in{max-width:1180px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:26px;height:58px}
.nav a.brand{text-decoration:none}
.nav-links{margin-left:auto;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.nav-links a{font-size:12.5px;color:#4c545e;text-decoration:none;letter-spacing:.02em}
.nav-links a:hover{color:var(--accent)}
.nav-links a.on{color:var(--accent);font-weight:600}
.nav-links a.mail{padding:7px 14px;border-radius:5px;background:var(--ink);color:#fff;font-weight:600}
.nav-links a.mail:hover{background:#000;color:#fff}

.crumbs{font-size:11.5px;color:var(--faint);padding:20px 0 0;letter-spacing:.03em}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}

.phead{padding:20px 0 26px;border-bottom:1px solid var(--ink)}
.phead .kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700}
.phead h1{font-size:clamp(24px,2.6vw,32px);margin:12px 0 0;max-width:900px}
.phead .sub{font-size:13.5px;color:var(--muted);margin-top:12px;max-width:820px}
.phead .zh{font-size:13px;color:var(--faint);margin-top:6px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:20px 22px;transition:box-shadow .15s,border-color .15s}
.card:hover{border-color:#c9d8e5;box-shadow:0 3px 14px rgba(16,19,24,.06)}
.card .n{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}
.card h3{font-size:16px;color:var(--ink);margin:8px 0 0;font-weight:600}
.card p{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.6}
.card .zh{font-size:12px;color:var(--faint);margin-top:4px}

.gridlist{display:grid;grid-template-columns:repeat(4,1fr);margin-top:8px;border-top:1px solid var(--line)}
.gridlist a{display:block;text-decoration:none;padding:14px 16px 14px 0;border-bottom:1px solid var(--line)}
.gridlist .nm{font-size:13.5px;color:var(--ink);font-weight:600}
.gridlist .ct{font-size:11.5px;color:var(--muted);margin-top:3px}
.gridlist a:hover .nm{color:var(--accent)}

.statline{display:flex;gap:38px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.statline div{font-size:12px;color:var(--muted);letter-spacing:.04em}
.statline b{display:block;font-size:22px;color:var(--ink);font-weight:600;letter-spacing:-.01em;
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif}

.prose{max-width:780px;padding:30px 0 10px}
.prose h2{font-size:17px;color:var(--ink);margin:32px 0 10px;font-weight:600}
.prose h2:first-child{margin-top:0}
.prose p{font-size:14px;line-height:1.75;color:#3a4048;margin-bottom:12px}
.prose ul{margin:0 0 14px 20px}
.prose li{font-size:14px;line-height:1.75;color:#3a4048;margin-bottom:6px}
.prose b{color:var(--ink)}
.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px;
  background:var(--hair);padding:2px 6px;border-radius:3px}
.note{font-size:12.5px;color:var(--muted);background:#fff;border-left:3px solid var(--accent);
  padding:14px 16px;margin:18px 0;line-height:1.65}

.formbox{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 28px;
  max-width:620px;margin:26px 0 10px}
.formbox label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin-bottom:6px}
.formbox input,.formbox textarea,.formbox select{width:100%;border:1px solid var(--line);
  border-radius:5px;padding:10px 12px;font-size:13.5px;font-family:inherit;color:var(--ink);
  background:#fdfdfc;margin-bottom:18px}
.formbox textarea{min-height:110px;resize:vertical}
.formbox button{background:var(--ink);color:#fff;border:0;border-radius:5px;
  padding:11px 24px;font-size:13.5px;font-weight:600;cursor:pointer}
.formbox button:hover{background:#000}

.foot-band{background:#0f1420;color:#6d7684;padding:30px 0 40px;font-size:11.5px;line-height:1.7}
.foot-band a{color:#9fb6c8;text-decoration:none}
.foot-band a:hover{color:#cfe0ee}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:14px}

@media(max-width:980px){
  .cards{grid-template-columns:1fr 1fr}
  .gridlist{grid-template-columns:1fr 1fr}
  .nav-links{gap:14px}
}
@media(max-width:880px){
  .cards{grid-template-columns:1fr}
  .gridlist{grid-template-columns:1fr}
  .nav-in{padding:0 20px;height:auto;flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:12px}
  .nav-links{margin-left:0}
  .phead h1{font-size:24px}
}

/* contact email card */
.mailcard{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;
  background:#fff;padding:26px 28px;margin:26px 0 8px;max-width:640px}
.mailk{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  font-weight:700;margin-bottom:8px}
.mailaddr{font-size:22px;color:var(--accent);text-decoration:none;font-weight:600;
  letter-spacing:-.01em;word-break:break-all;user-select:all;display:inline-block}
.mailaddr:hover{text-decoration:underline}
.mailh{font-size:12.5px;color:var(--muted);margin:18px 0 6px}
.maillist{margin:0 0 0 18px}
.maillist li{font-size:13px;color:#3a4048;line-height:1.7;margin-bottom:4px}
