/* Layout: navy masthead; each page opens with a full-bleed navy hero (title, story, search), white KPI cards overlap
   its lower edge, then a 1200px content column of cards. Orange = action (quotes, subscribe). Blue = data bars. */
:root{
  --bg:#f4f6fa; --surface:#ffffff; --surface-2:#eef2f7; --ink:#0d1b2a; --ink-2:#3f4f66; --muted:#6a7a91; --line:#e2e8f0;
  --navy:#0b2545; --navy-2:#12345e; --navy-ink:#ffffff; --navy-soft:rgba(255,255,255,.72); --navy-line:rgba(255,255,255,.14);
  --accent:#e8692c; --accent-2:#c9531a; --accent-ink:#ffffff; --accent-soft:#fdeee6;
  --link:#1d5fbf; --tint:#e8f0fc; --tint-ink:#1d5fbf;
  --bar:#2a78d6; --bar-2:#86b6ef; --bar-other:#c7d1de;
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100; --s5:#e87ba4;
  --shadow:0 1px 2px rgba(13,27,42,.05),0 6px 20px rgba(13,27,42,.06);
  --f-display:"Archivo",system-ui,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --r:12px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#08111e; --surface:#101c2e; --surface-2:#172539; --ink:#e9eff7; --ink-2:#b3c1d4; --muted:#8597ae; --line:#22334b;
  --navy:#061529; --navy-2:#0d2747; --navy-ink:#ffffff; --navy-soft:rgba(255,255,255,.72); --navy-line:rgba(255,255,255,.12);
  --accent:#ec7438; --accent-2:#d95926; --accent-ink:#ffffff; --accent-soft:#3a2216;
  --link:#7fb0ff; --tint:#16294a; --tint-ink:#9cc2ff;
  --bar:#3987e5; --bar-2:#1c5cab; --bar-other:#33445c;
  --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#08111e; --surface:#101c2e; --surface-2:#172539; --ink:#e9eff7; --ink-2:#b3c1d4; --muted:#8597ae; --line:#22334b;
  --navy:#061529; --navy-2:#0d2747; --navy-ink:#ffffff; --navy-soft:rgba(255,255,255,.72); --navy-line:rgba(255,255,255,.12);
  --accent:#ec7438; --accent-2:#d95926; --accent-ink:#ffffff; --accent-soft:#3a2216;
  --link:#7fb0ff; --tint:#16294a; --tint-ink:#9cc2ff;
  --bar:#3987e5; --bar-2:#1c5cab; --bar-other:#33445c;
  --s1:#3987e5; --s2:#d95926; --s3:#199e70; --s4:#c98500; --s5:#d55181;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25); color-scheme:dark }
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font:15.5px/1.55 var(--f-body);margin:0;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:20px}
.code{font:500 .86em var(--f-mono);letter-spacing:-.01em}
svg.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* masthead */
.mast{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--navy);color:var(--navy-ink);border-bottom:1px solid var(--navy-line)}
.mast-row{display:flex;align-items:center;gap:20px;height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy-ink);font:800 20px/1 var(--f-display);letter-spacing:-.01em;white-space:nowrap}
.brand:hover{text-decoration:none}
.logo{width:36px;height:36px;display:grid;place-items:center;flex:none}
.logo svg{width:36px;height:36px;display:block}
.brand em{font-style:normal;color:var(--accent)}
nav.tabs{display:flex;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
nav.tabs::-webkit-scrollbar{display:none}
nav.tabs a{color:var(--navy-soft);font:600 14.5px var(--f-body);padding:8px 12px;border-radius:8px;white-space:nowrap}
nav.tabs a:hover{color:#fff;background:rgba(255,255,255,.07);text-decoration:none}
nav.tabs a.on{color:#fff;background:rgba(255,255,255,.13)}
.mast-cta{margin-left:auto}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 14.5px var(--f-body);border-radius:10px;padding:10px 16px;border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none!important}
.btn svg{width:17px;height:17px}
.btn-accent{background:var(--accent);color:var(--accent-ink)}
.btn-accent:hover{background:var(--accent-2)}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink-2)}
.btn-sm{padding:7px 12px;font-size:13.5px;border-radius:8px}
button:disabled{opacity:.5;cursor:default}
@media (max-width:1520px){.mast-cta{display:none}}
@media (max-width:760px){.mast-row{height:auto;flex-wrap:wrap;gap:8px;padding-block:10px 6px}nav.tabs{flex-basis:100%;order:3}}

.flow{display:inline-flex;background:rgba(255,255,255,.08);border:1px solid var(--navy-line);border-radius:10px;padding:3px;gap:2px;flex:none}
.flow a{color:var(--navy-soft);font:700 13.5px var(--f-body);padding:6px 12px;border-radius:7px}
.flow a:hover{color:#fff;text-decoration:none}
.flow a.on{background:var(--accent);color:#fff}

/* hero */
.hero{background:var(--navy);color:var(--navy-ink);position:relative;overflow:hidden;padding-block:40px 96px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 420px at 88% -10%,rgba(232,105,44,.22),transparent 60%),radial-gradient(700px 400px at 0% 120%,rgba(42,120,214,.30),transparent 60%);pointer-events:none}
.hero .routes{position:absolute;right:-30px;top:0;height:100%;width:min(620px,55%);opacity:.38;pointer-events:none}
.hero .wrap{position:relative}
.hero.compact{padding-block:30px 90px}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font:500 13.5px var(--f-body);color:var(--navy-soft);margin-bottom:16px}
.crumbs a{color:var(--navy-soft)}
.crumbs a:hover{color:#fff}
.badge{display:inline-flex;align-items:center;gap:8px;font:600 12.5px var(--f-body);letter-spacing:.02em;color:#fff;background:rgba(255,255,255,.1);border:1px solid var(--navy-line);padding:5px 12px;border-radius:999px}
.badge .dot{width:7px;height:7px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 3px rgba(61,220,151,.25)}
h1{font:800 clamp(30px,4.6vw,52px)/1.06 var(--f-display);letter-spacing:-.025em;margin:16px 0 14px;text-wrap:balance;max-width:22ch}
.hero.compact h1{font-size:clamp(26px,3.6vw,40px);max-width:30ch}
.hl{color:var(--accent)}
.hero .story{font-size:17px;line-height:1.6;color:var(--navy-soft);max-width:70ch;margin:0}
.hero .story b{color:#fff;font-weight:600}
.hero-search{margin-top:26px;max-width:720px;position:relative}
.search-box{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:6px 6px 6px 16px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.search-box svg{color:#6a7a91}
.search-box input{flex:1;min-width:0;border:0;outline:0;font:500 16px var(--f-body);color:#0d1b2a;background:transparent;padding:10px 0}
.search-box input::placeholder{color:#8a97aa}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.chips span{font:500 13px var(--f-body);color:var(--navy-soft)}
.chips a{font:600 13px var(--f-body);color:#fff;background:rgba(255,255,255,.08);border:1px solid var(--navy-line);padding:5px 11px;border-radius:999px}
.chips a:hover{background:rgba(255,255,255,.16);text-decoration:none}
.results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.25);max-height:440px;overflow:auto;z-index:30;text-align:left}
.results a{display:flex;gap:12px;align-items:baseline;padding:10px 14px;color:var(--ink);border-bottom:1px solid var(--line);font-size:14.5px}
.results a:last-child{border-bottom:0}
.results a:hover,.results a.on{background:var(--tint);text-decoration:none}
.results .k{font:700 10.5px var(--f-body);letter-spacing:.08em;color:var(--tint-ink);background:var(--tint);padding:3px 7px;border-radius:5px;text-transform:uppercase;min-width:70px;text-align:center;flex:none}
.results .none{padding:12px 14px;color:var(--muted);font-size:14px}
.mast-search{position:relative;width:250px}
.mast-search input{width:100%;font:500 14px var(--f-body);padding:9px 12px 9px 36px;border-radius:9px;border:1px solid var(--navy-line);background:rgba(255,255,255,.08);color:#fff}
.mast-search input::placeholder{color:rgba(255,255,255,.55)}
.mast-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.6);width:17px;height:17px}
.mast-search .results{left:auto;width:min(480px,92vw)}
@media (max-width:1400px){.mast-search{width:150px}nav.tabs a{padding:8px 9px}.mast-row{gap:14px}}
@media (max-width:1180px){.mast-search{width:150px}}
@media (max-width:760px){.mast-search{width:auto;flex:1 1 160px}}

/* KPI cards */
.lift{margin-top:-62px;position:relative;z-index:2}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 14px;align-items:start}
.kpi .ic{grid-row:span 3;width:42px;height:42px;border-radius:10px;background:var(--tint);color:var(--tint-ink);display:grid;place-items:center}
.kpi .ic.or{background:var(--accent-soft);color:var(--accent)}
.kpi .l{font:600 12px var(--f-body);color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.kpi .v{font:800 26px/1.15 var(--f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .s{font:500 13px var(--f-body);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis}
@media (max-width:960px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.kpis{grid-template-columns:minmax(0,1fr)}.kpi .v{font-size:23px}}

/* sections & cards */
.body{padding-block:28px 64px}
.sec-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:44px 0 16px;flex-wrap:wrap}
.sec-title h2{font:800 25px/1.15 var(--f-display);letter-spacing:-.015em;margin:0}
.sec-title p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-7-5{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px}
@media (max-width:960px){.grid2,.grid3,.grid-7-5{grid-template-columns:minmax(0,1fr)}}
.mt{margin-top:28px}
.stack{display:grid;gap:20px;align-content:start}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;min-width:0}
.card-h{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.card-h .ic{width:34px;height:34px;border-radius:9px;background:var(--tint);color:var(--tint-ink);display:grid;place-items:center;flex:none}
.card-h .ic svg{width:18px;height:18px}
.card-h h3{font:700 16.5px/1.25 var(--f-body);margin:0}
.card-h .note{margin-left:auto;font:500 12.5px var(--f-body);color:var(--muted);text-align:right}

/* insights */
.insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.insights{grid-template-columns:minmax(0,1fr)}}
.ins{display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.ins:hover{text-decoration:none;border-color:var(--bar)}
.ins .tag{font:700 11.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.ins .tag svg{width:16px;height:16px;color:var(--accent)}
.ins .big{font:800 32px/1.1 var(--f-display);letter-spacing:-.02em}
.ins .what{font:700 16px/1.35 var(--f-body);display:flex;gap:8px;align-items:center}
.ins .sub{font-size:14px;color:var(--ink-2)}
.ins .go{margin-top:auto;padding-top:8px;font:700 13.5px var(--f-body);color:var(--link);display:flex;align-items:center;gap:6px}
.ins .go svg{width:16px;height:16px}

/* ranked bars */
.rank{display:grid;gap:13px}
.rk{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:5px 10px;align-items:center}
.rk .n{font:700 12.5px var(--f-body);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.rk .lab{display:flex;align-items:center;gap:9px;min-width:0;font:500 14.5px var(--f-body)}
.rk .lab .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rk .lab a{color:var(--ink)}
.rk .lab a:hover{color:var(--link)}
.rk .val{font:700 14px var(--f-body);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.rk .val small{font:500 12.5px var(--f-body);color:var(--muted);margin-left:8px;display:inline-block;min-width:42px}
.rk .track{grid-column:2/-1;height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.rk .fill{height:100%;background:var(--bar);border-radius:99px}
.rk.other .fill{background:var(--bar-other)}
.rk.other .lab,.rk.other .val{color:var(--muted)}
.iso{font:700 10.5px var(--f-body);letter-spacing:.03em;color:var(--tint-ink);background:var(--tint);border-radius:5px;width:28px;height:20px;display:inline-grid;place-items:center;flex:none}
.hs{font:500 11.5px var(--f-mono);color:var(--muted);background:var(--surface-2);border-radius:5px;padding:2px 6px;flex:none}

/* daily chart */
.chart{position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .axis text{font:500 11px var(--f-body);fill:var(--muted)}
.chart .grid line{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}
.chart rect.col{fill:var(--bar)}
.chart rect.col.wknd{fill:var(--bar-other)}
.chart rect.col.hov{fill:var(--accent)}
.chart rect.hit{fill:transparent;cursor:crosshair}
.chart .avg{stroke:var(--ink-2);stroke-width:1.2;stroke-dasharray:5 4}
.chart .avg-l{font:600 11.5px var(--f-body);fill:var(--ink-2)}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font:600 12.5px var(--f-body);padding:7px 10px;border-radius:7px;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px));z-index:5;box-shadow:var(--shadow)}

/* transport modes */
.mode-bar{display:flex;height:14px;gap:2px;border-radius:99px;overflow:hidden;margin-bottom:16px}
.mode-bar div{height:100%;min-width:3px}
.modes{display:grid;gap:10px}
.mode{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:12px;align-items:center;font:500 14.5px var(--f-body)}
.mode .mi{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:#fff}
.mode .mi svg{width:17px;height:17px}
.mode .v{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.mode .p{color:var(--muted);font-size:13px;min-width:46px;text-align:right;font-variant-numeric:tabular-nums}

/* duty */
.duty-big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.duty-big .r{font:800 44px/1 var(--f-display);letter-spacing:-.03em;color:var(--accent)}
.duty-big .c{font-size:14px;color:var(--ink-2)}
.duty-meter{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden;display:flex;gap:2px;margin:16px 0 14px}
.duty-meter div{height:100%}
.tax-rows{display:grid;gap:9px}
.tax-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:14.5px}
.tax-row .sw{width:10px;height:10px;border-radius:3px}
.tax-row .v{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.tax-row .p{color:var(--muted);font-size:13px;min-width:52px;text-align:right;font-variant-numeric:tabular-nums}

/* tables */
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.filter{flex:1 1 280px;position:relative;min-width:0}
.filter input{width:100%;font:500 15px var(--f-body);padding:11px 14px 11px 40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.filter svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);width:18px;height:18px}
.toolbar .count{font:600 13.5px var(--f-body);color:var(--muted)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
th{font:700 11.5px var(--f-body);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2);white-space:nowrap}
th.sort{cursor:pointer;user-select:none}
th.sort:hover,th.on{color:var(--ink)}
th.r,td.r{text-align:right}
td.r{font-variant-numeric:tabular-nums;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--tint)}
td a.strong{color:var(--ink);font-weight:600}
td a.strong:hover{color:var(--link)}
td .sub{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.cell{display:inline-flex;gap:10px;align-items:center}
.ratecell{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}
.ratecell .m{width:56px;height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.ratecell .m div{height:100%;background:var(--accent);border-radius:99px}
.ratecell b{min-width:46px;text-align:right}
.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;font-size:13.5px;color:var(--muted)}

/* product sections */
.secs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:860px){.secs{grid-template-columns:minmax(0,1fr)}}
.sec-card .card-h .ic{font:800 12.5px var(--f-display);width:auto;min-width:34px;padding-inline:8px}
.sec-card .tot{margin-left:auto;font:800 17px var(--f-display);font-variant-numeric:tabular-nums}
.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:860px){.entry-grid{grid-template-columns:minmax(0,1fr)}}

/* quote band */
.quote{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-radius:16px;padding:24px 28px;margin-block:36px;overflow:hidden}
.quote .boxes{width:96px;height:64px}
.quote h3{font:800 22px/1.2 var(--f-display);margin:0 0 4px;letter-spacing:-.01em}
.quote p{margin:0;color:var(--navy-soft);font-size:15px;max-width:62ch}
.quote p b{color:#fff}
.quote .ticks{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font:600 13px var(--f-body);color:#fff}
.quote .ticks span{display:inline-flex;align-items:center;gap:6px}
.quote .ticks svg{width:15px;height:15px;color:#3ddc97}
@media (max-width:760px){.quote{grid-template-columns:minmax(0,1fr)}.quote .boxes{display:none}}

/* ad + newsletter */
.ad{border:1.5px dashed var(--line);border-radius:var(--r);display:grid;place-items:center;min-height:100px;color:var(--muted);font:700 11px var(--f-body);text-transform:uppercase;letter-spacing:.1em;margin-block:32px;text-align:center;padding:14px;background:var(--surface)}
.ad b{display:block;font:600 14px var(--f-body);text-transform:none;letter-spacing:0;color:var(--ink-2);margin-top:6px}
.news{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:26px 28px}
.news .ic{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.news .ic svg{width:26px;height:26px}
.news h3{font:800 22px/1.2 var(--f-display);margin:0 0 6px;letter-spacing:-.01em}
.news p{margin:0;color:var(--ink-2)}
.news form{display:flex;gap:10px;flex-wrap:wrap}
.news input{flex:1 1 220px;min-width:0;font:500 15px var(--f-body);padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.ok{font-size:14px;color:var(--ink-2);margin:10px 0 0}
@media (max-width:860px){.news{grid-template-columns:minmax(0,1fr)}.news .ic{display:none}}

/* drawer */
.drawer{position:fixed;inset:0;z-index:60;display:grid;place-items:end center;background:rgba(6,16,30,.55);backdrop-filter:blur(2px)}
.drawer form{background:var(--surface);color:var(--ink);width:min(580px,100%);border-radius:16px 16px 0 0;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));display:grid;gap:14px;max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}
@media (min-width:700px){.drawer{place-items:center}.drawer form{border-radius:16px}}
.drawer .head{display:flex;gap:14px;align-items:flex-start}
.drawer .head .ic{width:44px;height:44px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.drawer h2{font:800 22px/1.2 var(--f-display);margin:0}
.drawer label{display:grid;gap:5px;font:600 13px var(--f-body);color:var(--ink-2)}
.drawer input,.drawer select{font:500 15px var(--f-body);padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);width:100%}
.drawer .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.drawer .two{grid-template-columns:1fr}}
.drawer .acts{display:flex;gap:10px;justify-content:flex-end}

.prose{max-width:74ch}
.prose h2{font:800 22px var(--f-display);margin:30px 0 8px}
.prose p{color:var(--ink-2)}
.empty{color:var(--muted);font-size:14.5px;margin:0}

/* footer */
footer{background:var(--navy);color:var(--navy-soft);padding-block:44px 36px;font-size:14px}
.foot{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:30px}
.foot h4{font:700 12.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:var(--navy-soft)}
.foot a:hover{color:#fff}
.foot .fine{border-top:1px solid var(--navy-line);margin-top:30px;padding-top:18px;grid-column:1/-1;font-size:13px}
@media (max-width:760px){.foot{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:no-preference){.fill{transition:width .5s ease}.card{transition:border-color .15s}}

/* ---- production additions ---- */
.card-h h2.h3{font:700 16.5px/1.25 var(--f-body);margin:0}
.quote h2.h3q{font:800 22px/1.2 var(--f-display);margin:0 0 4px;letter-spacing:-.01em;color:#fff}
.news h2.h3q{font:800 22px/1.2 var(--f-display);margin:0 0 6px;letter-spacing:-.01em}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.adslot{margin-block:32px;min-height:90px}
.more-link{margin:24px 0 0;font-weight:700}
.more-link a{display:inline-flex;gap:6px;align-items:center}
.more-link svg{width:16px;height:16px}
.sel{user-select:all}
th.sort{cursor:pointer}
tbody tr[hidden]{display:none}
.drawer form[hidden]{display:none}
