/* News by Hottub.
   Hottub's water palette, cool and quiet, so that one thing reads first: heat. Coral, sun and
   aqua mean how widely a story is covered, and nothing else uses them, the way temperature is
   the one meaning of the same ramp in CRM by Hottub. Heat always comes with its number and
   bubbles, so nothing depends on seeing color.
   Fraunces (soft) sets the stories that lead; Reddit Sans does all the work around them. */

@font-face{font-family:"Fraunces";src:url(/assets/fraunces-latin.02bfb08b22.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";src:url(/assets/fraunces-latin-ext.a4c43f4ec5.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";src:url(/assets/fraunces-vietnamese.5dd00fc576.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Reddit Sans";src:url(/assets/reddit-sans-latin.b28595b97c.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Reddit Sans";src:url(/assets/reddit-sans-latin-ext.c3b39ef5e0.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Reddit Sans";src:url(/assets/reddit-sans-vietnamese.be5d5fc355.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}

:root{
  --serif:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif",serif;
  --sans:"Reddit Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;

  /* Water */
  --page:#eef6f7;
  --paper:#ffffff;
  --well:#f4f9fa;
  --ink:#14201f;
  --ink-2:#2f403e;
  --ink-3:#51676a;
  --line:#d4e3e6;
  --line-2:#e5eff1;
  /* The deep end: the masthead, and Hottub's wordmark ink */
  --deep:#0c3b46;
  --deep-2:#124a57;
  --deep-ink:#eaf6f8;
  --deep-dim:#a9cdd4;
  --mark:#f26d4a;
  --mark-ink:#fdf8f3;
  /* Action */
  --water:#115e6e;
  --water-2:#0c4b58;
  --water-soft:#dcf0f3;
  --on-water:#ffffff;
  --link:#0f6577;
  --focus:#1b8a9e;
  /* Heat: how widely a story is covered. Nothing else uses these. */
  --hot:#f26d4a;
  --warm:#ffb84d;
  --tepid:#6fc4d2;
  --cool:#3d8b9b;
  --none:#c9d8db;
  /* Paid placements: ink, never heat */
  --paid:#1d2c2b;
  --paid-soft:#f1f3f2;

  --shadow-1:0 1px 2px rgba(12,59,70,.06);
  --shadow-2:0 18px 40px -18px rgba(12,59,70,.35);
  --r-s:8px;
  --r-m:12px;
  --r-l:18px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --wide:1240px;
  /* Older pages (Newsmaps) name these */
  --accent:var(--water);
  --mute:var(--ink-3);
  --fg:var(--ink);
  --bg:var(--paper);
  --chip:var(--well);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --page:#081c23;--paper:#0e2730;--well:#0b222a;--ink:#e8f3f4;--ink-2:#c6d9db;--ink-3:#94acb0;--line:#21424d;--line-2:#183540;
    --deep:#06161c;--deep-2:#0d2830;--deep-ink:#e8f3f4;--deep-dim:#8fb0b6;
    --water:#6fc4d2;--water-2:#8dd3de;--water-soft:#123845;--on-water:#06202a;--link:#83d1dd;--focus:#6fc4d2;
    --hot:#ff8a6a;--warm:#ffc777;--tepid:#7fd0de;--cool:#4fa3b5;--none:#2a4a54;
    --paid:#e8f3f4;--paid-soft:#13303a;
    --shadow-1:0 1px 2px rgba(0,0,0,.3);--shadow-2:0 18px 40px -18px rgba(0,0,0,.8);
    color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:120px;background:var(--deep)}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--page);color:var(--ink);font:400 16px/1.5 var(--sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--water-2)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
h1,h2,h3{margin:0;font-weight:600}
p{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
time{white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:20;background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:var(--r-s);box-shadow:var(--shadow-2)}
.skip:focus{top:12px}
.i{width:1em;height:1em;flex:none;fill:currentColor;vertical-align:-.125em}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 24px}
body>main{flex:1 0 auto;width:100%}

/* ---- Masthead: the deep end ---- */
.top{background:var(--deep);color:var(--deep-ink);position:sticky;top:0;z-index:10;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.top-in{max-width:var(--wide);margin:0 auto;padding:12px 24px 10px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:11px;color:var(--deep-ink);text-decoration:none;flex:none}
.brand:hover{color:var(--deep-ink)}
.mark{width:34px;height:34px;flex:none;display:block}
.word{display:flex;align-items:baseline;gap:7px;line-height:1}
.word b{font:600 25px/1 var(--serif);letter-spacing:-.01em}
.word span{font:500 14px/1 var(--sans);color:var(--deep-dim)}
.find{flex:1;max-width:560px;margin-left:auto;display:flex;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;transition:background .15s var(--ease),border-color .15s var(--ease)}
.find:focus-within{background:var(--paper);border-color:var(--paper)}
.find input{flex:1;min-width:0;border:0;background:transparent;color:var(--deep-ink);font:400 15px/1.2 var(--sans);padding:10px 4px 10px 18px;outline:none}
.find input::placeholder{color:var(--deep-dim)}
.find:focus-within input{color:var(--ink)}
.find:focus-within input::placeholder{color:var(--ink-3)}
.find button{border:0;background:transparent;color:var(--deep-dim);padding:8px 14px 8px 8px;cursor:pointer;display:flex;font-size:18px}
.find:focus-within button{color:var(--water)}
.find input::-webkit-search-cancel-button{display:none}
.for-agents{color:var(--deep-ink);text-decoration:none;font-weight:600;font-size:14px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);flex:none}
.for-agents:hover{color:var(--deep-ink);background:rgba(255,255,255,.1)}
.sections{border-top:1px solid rgba(255,255,255,.08)}
.sections-in{max-width:var(--wide);margin:0 auto;padding:0 14px;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.sections-in::-webkit-scrollbar{display:none}
.sections a{color:var(--deep-dim);text-decoration:none;font-weight:500;font-size:14.5px;padding:9px 10px 10px;white-space:nowrap;border-bottom:2px solid transparent}
.sections a:hover{color:var(--deep-ink)}
.sections a[aria-current]{color:var(--deep-ink);border-bottom-color:var(--mark)}
.sections .gap{flex:0 0 1px;align-self:center;height:18px;margin:0 8px;background:rgba(255,255,255,.16)}
.sections .end{margin-left:auto}

/* ---- Shared pieces ---- */
.dateline{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;padding:22px 0 18px;color:var(--ink-3);font-size:14px}
.dateline strong{color:var(--ink);font:600 15px/1.2 var(--sans)}
.kicker{display:flex;gap:12px;align-items:baseline;font-size:13.5px;color:var(--ink-3);margin-bottom:8px}
.kicker a{color:var(--water);font-weight:600;text-decoration:none}
.kicker a:hover{text-decoration:underline}
.src{font-weight:600;color:var(--ink-2)}
.cc{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-3)}
.sub{color:var(--ink-3);font-size:14.5px;max-width:62ch}
.h2{font:600 22px/1.2 var(--serif);letter-spacing:-.005em;color:var(--ink)}
.h2 a{color:inherit;text-decoration:none}
.h2 a:hover{text-decoration:underline}
.more{display:inline-flex;margin-top:14px;font-weight:600;font-size:14.5px}

/* Heat: one to five bubbles, filled and colored together, always beside the count. */
.heat{display:inline-flex;gap:3px;align-items:center;vertical-align:1px}
.heat i{width:7px;height:7px;border-radius:50%;background:var(--none)}
.t1 i:nth-child(-n+1){background:var(--cool)}
.t2 i:nth-child(-n+2){background:var(--cool)}
.t3 i:nth-child(-n+3){background:var(--tepid)}
.t4 i:nth-child(-n+4){background:var(--warm)}
.t5 i{background:var(--hot)}
.cov{display:inline-flex;gap:7px;align-items:baseline;color:var(--ink-2);text-decoration:none;font-weight:500}
.cov:hover{color:var(--water-2);text-decoration:underline}

/* Add to CRM: CRM by Hottub's flame, in ink until it's wanted. */
.crm{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:0;color:var(--ink-3);font:600 13.5px/1.2 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap}
.crm .i{color:var(--mark);font-size:14px}
.crm:hover,.crm[aria-expanded=true]{color:var(--ink)}
.crm-b{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-1)}
.crm-b:hover{border-color:var(--mark);color:var(--ink)}
/* In a list, Add to CRM is a small pill at the end of the report's first meta line. */
.row-m .crm{flex:none;gap:5px;padding:4px 11px 4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-2);font-size:12.5px}
.row-m .crm .i{font-size:12.5px}
.row-m .crm:hover,.row-m .crm[aria-expanded=true]{border-color:var(--mark);color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--water);color:var(--on-water);font-weight:600;font-size:14.5px;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:var(--water-2);color:var(--on-water)}
.ghost{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);font-weight:600;font-size:14px;text-decoration:none;background:var(--paper)}
.ghost:hover{border-color:var(--ink-3);color:var(--ink)}

/* ---- Front page ---- */
.front{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:28px;align-items:stretch}
.lead{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-1);overflow:hidden}
.lead-img{display:block;aspect-ratio:16/8.4;background:var(--line-2);overflow:hidden}
.lead-img img{width:100%;height:100%;object-fit:cover;display:block}
.lead-body{padding:24px 30px 26px}
.lead-h{font:600 clamp(30px,3.9vw,50px)/1.06 var(--serif);letter-spacing:-.018em;text-wrap:balance;margin-bottom:12px}
.lead-h a{color:var(--ink);text-decoration:none}
.lead-h a:hover{color:var(--water-2)}
.lead-orig{font:400 18px/1.35 var(--serif);color:var(--ink-3);margin:-4px 0 12px}
.lead-brief{font:400 18px/1.6 var(--serif);color:var(--ink-2);max-width:66ch}
.lead-brief sup,.brief sup{font:600 11px/1 var(--sans);margin-left:1px}
.lead-brief sup a,.brief sup a{text-decoration:none;color:var(--water)}
.lead-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-2)}
.lead-foot .cov{font-size:15px}
.lead-foot .btn{margin-left:auto}

/* The bold part: one story, in the world's own words. */
.world{margin-top:22px;padding:16px 18px 6px;background:var(--well);border-radius:var(--r-m)}
.world-h{font:600 14px/1.2 var(--sans);color:var(--ink-2);margin-bottom:6px}
.world li{padding:11px 0;border-top:1px solid var(--line-2)}
.world li:first-child{border-top:0}
.w-meta{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;font-size:12.5px;color:var(--ink-3);margin-bottom:3px}
.w-meta .lang{font-weight:600;color:var(--water)}
.world a{font:500 16px/1.4 var(--sans);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.w-en{font-size:14px;line-height:1.4;color:var(--ink-3);margin-top:2px}
.world a:hover{text-decoration:underline}
.world .src{font-weight:500;color:var(--ink-3)}

.attention{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:22px 22px 12px}
.attention .h2{margin-bottom:4px}
.attention .sub{font-size:13.5px;margin-bottom:8px}
.attention li{display:grid;grid-template-columns:30px minmax(0,1fr) 64px;gap:12px;padding:14px 0;border-top:1px solid var(--line-2);align-items:start}
.attention li:first-child{border-top:0}
.rank{font:600 24px/1 var(--serif);color:var(--ink-3);text-align:right;padding-top:1px}
.att-h{display:block;font:600 17px/1.28 var(--serif);color:var(--ink);text-decoration:none;text-wrap:pretty}
.att-h:hover{color:var(--water-2)}
.att-m{display:flex;flex-wrap:wrap;gap:3px 12px;align-items:baseline;margin-top:6px;font-size:13px;color:var(--ink-3)}
.att-img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--line-2)}

.companies{margin-top:28px;background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:22px 24px}
.companies-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:14px}
.companies ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.companies li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--well);min-width:0}
.co{flex:1;min-width:0}
.co a{font-weight:600;line-height:1.3;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.co a:hover{text-decoration:underline}
.co span{font-size:12.5px;color:var(--ink-3)}
.add{display:inline-flex;align-items:center;gap:5px;flex:none;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 13px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.add .i{color:var(--mark);font-size:13px}
.add:hover{border-color:var(--mark);color:var(--ink)}

.cols{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:28px;margin-top:28px;align-items:start}
.river,.box{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:22px 24px 16px}
.river .h2{margin-bottom:4px}
.side{display:grid;gap:20px}
.box .h2{font-size:19px;margin-bottom:6px}
.mini li{padding:10px 0;border-top:1px solid var(--line-2)}
.mini li:first-child{border-top:0}
.mini a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;line-height:1.35}
.mini a:hover{text-decoration:underline}
.mini p{font-size:12.5px;color:var(--ink-3);margin-top:3px;display:flex;gap:8px;align-items:baseline}

/* ---- Rows: one report each ---- */
.rows>li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line-2)}
.rows>li:first-child{border-top:0}
/* Rows below the first screens are laid out only as they come near: story pages list every report. */
.rows>li:nth-child(n+9){content-visibility:auto;contain-intrinsic-size:auto 96px}
.more-reports{margin:18px 0 4px}
.row-t{flex:1;min-width:0}
.row-h{font:600 17.5px/1.32 var(--sans);color:var(--ink);text-decoration:none;overflow-wrap:anywhere;text-wrap:pretty}
.row-h:hover{color:var(--water-2);text-decoration:underline}
.row-h:visited{color:var(--ink-2)}
.row-en{font-size:14.5px;color:var(--ink-2);margin-top:3px}
.row-s{font-size:14.5px;color:var(--ink-3);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-m{display:flex;align-items:flex-start;gap:6px 16px;margin-top:7px}
.row-i{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;flex:1;min-width:0;padding-top:3px;font-size:13.5px;color:var(--ink-3)}
.row-img{flex:none;width:112px;height:76px;border-radius:10px;object-fit:cover;background:var(--line-2);position:relative}
/* A picture that fails to load is covered, so no broken-image icon shows. The cover needs its
   picture positioned, or it would cover the page. */
.row-img,.att-img,.lead-img,.lead-img img,.story-img,.story-img img{position:relative}
img.row-img::after,img.att-img::after,.lead-img img::after,.story-img img::after{content:"";position:absolute;inset:0;background:var(--paper);border-radius:inherit}
.paid{background:var(--paid-soft);border-radius:var(--r-m);padding-left:14px!important;padding-right:14px!important;border:1px solid var(--line)!important;margin:6px 0}
.paid-tag{display:inline-flex;gap:6px;align-items:baseline;font-size:12.5px;color:var(--ink-2);margin-bottom:5px}
.paid-tag b{background:var(--paid);color:var(--paper);font-weight:700;padding:1px 8px;border-radius:5px}

/* ---- Pages: story, entity, article, sections ---- */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--ink-3);padding:20px 0 0}
.crumbs a{color:var(--ink-3)}
.crumbs+.sheet{margin-top:14px}
.page{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:28px;align-items:start;padding-top:14px}
.sheet{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:30px 34px 26px;min-width:0}
.sheet+.sheet{margin-top:20px}
.page-h{font:600 clamp(30px,3.6vw,46px)/1.08 var(--serif);letter-spacing:-.016em;text-wrap:balance}
.page-intro{font-size:16.5px;color:var(--ink-2);margin-top:10px;max-width:66ch}
.story-orig{font:400 19px/1.35 var(--serif);color:var(--ink-3);margin-top:10px}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin-top:16px;color:var(--ink-3);font-size:14.5px}
.facts b{color:var(--ink);font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.story-img{margin:24px -34px 0}
.story-img img{display:block;width:100%;max-height:440px;object-fit:cover;background:var(--line-2);position:relative}
.brief{margin-top:24px}
.brief p{font:400 19px/1.62 var(--serif);color:var(--ink);max-width:68ch}
.brief .note{font:400 13.5px/1.5 var(--sans);color:var(--ink-3);margin-top:10px}
.section{margin-top:30px}
.section>.h2{margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chips a{font-size:13.5px;font-weight:500;color:var(--ink-2);text-decoration:none;background:var(--well);border:1px solid var(--line-2);border-radius:999px;padding:4px 12px}
.chips a:hover{border-color:var(--ink-3);color:var(--ink)}
.prospects li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line-2)}
.prospects li:first-child{border-top:0}
.who{flex:1;min-width:0}
.who b{display:block;font-weight:600;color:var(--ink)}
.who b a{color:inherit;text-decoration:none}
.who b a:hover{text-decoration:underline}
.who span{font-size:13px;color:var(--ink-3)}
.reports-n{font:500 14px/1.2 var(--sans);color:var(--ink-3);margin-left:8px}
.also{font-size:13px;color:var(--ink-3);margin-top:6px}
.also a{color:var(--ink-3)}
.empty{padding:28px 0;color:var(--ink-2)}
.empty p+p{margin-top:8px}
.read{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.teaser{font:400 18px/1.6 var(--serif);color:var(--ink-2);margin-top:16px;max-width:66ch}
.card-list li{padding:14px 0;border-top:1px solid var(--line-2)}
.card-list li:first-child{border-top:0}
.card-list a{font-weight:600;color:var(--ink);text-decoration:none}
.card-list a:hover{text-decoration:underline}
.card-list p{font-size:13.5px;color:var(--ink-3);margin-top:4px}
.grid-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:20px}
.grid-cats a{display:block;padding:16px 18px;border-radius:var(--r-m);background:var(--well);border:1px solid var(--line-2);color:var(--ink);font:600 17px/1.25 var(--serif);text-decoration:none}
.grid-cats a:hover{border-color:var(--ink-3)}
/* All topics: one even grid, the reader sections first */
.topics-all{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.topics-all a{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:104px;padding:16px 18px;border-radius:var(--r-m);background:var(--well);border:1px solid var(--line-2);text-decoration:none}
.topics-all a:hover{border-color:var(--ink-3)}
.topics-all b{font:600 18px/1.22 var(--serif);color:var(--ink)}
.topics-all span{font-size:13px;line-height:1.4;color:var(--ink-3)}
.topics-all a.rd{background:var(--water-soft);border-color:transparent}
.topics-all a.rd span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
/* Other topics, beside a topic */
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.topic-grid a{display:block;padding:8px 11px;border-radius:9px;background:var(--well);border:1px solid var(--line-2);font-size:13.5px;line-height:1.3;color:var(--ink-2);text-decoration:none}
.topic-grid a:hover{border-color:var(--ink-3);color:var(--ink)}
/* On this page */
.toc a{display:block;padding:8px 0;border-top:1px solid var(--line-2);font-weight:600;font-size:14.5px;color:var(--ink);text-decoration:none}
.toc li:first-child a{border-top:0}
.toc a:hover{color:var(--water-2)}

/* Search */
.search-big{display:flex;gap:10px;margin-top:18px}
.search-big input{flex:1;min-width:0;font:400 18px/1.3 var(--sans);padding:13px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink)}
.search-big input:focus{outline:3px solid var(--focus);outline-offset:1px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.filters a{font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:none;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--paper)}
.filters a[aria-current]{background:var(--deep);border-color:var(--deep);color:var(--deep-ink)}

/* For agents */
.code{font:13.5px/1.6 var(--mono);background:var(--deep);color:var(--deep-ink);border-radius:var(--r-m);padding:14px 16px;overflow-x:auto;margin-top:12px;white-space:pre}
.prose p,.prose li{max-width:70ch;color:var(--ink-2);font-size:16px;line-height:1.6}
.prose p+p{margin-top:12px}
.prose ul{margin-top:10px;display:grid;gap:8px}
.prose li{padding-left:18px;position:relative}
.prose li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--tepid)}
.prose code{font:13.5px var(--mono);background:var(--well);border:1px solid var(--line-2);border-radius:5px;padding:1px 5px;overflow-wrap:anywhere}
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:14px}
.tools div{padding:14px 16px;border-radius:var(--r-m);background:var(--well);border:1px solid var(--line-2)}
.tools b{font:600 14px var(--mono);color:var(--ink)}
.tools p{font-size:14px;color:var(--ink-2);margin-top:4px}

/* The Add to CRM sheet (drawn by the browser module) */
.pop{position:absolute;z-index:30;width:min(380px,calc(100vw - 24px));background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:16px 16px 12px;animation:pop .16s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pop-h{display:flex;align-items:center;gap:8px;font:600 15px/1.3 var(--sans);padding-right:28px}
.pop-h .i{color:var(--mark)}
.pop-x{position:absolute;right:10px;top:10px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ink-3);cursor:pointer;font-size:20px;line-height:1}
.pop-x:hover{background:var(--well);color:var(--ink)}
.pop-from{font-size:13px;color:var(--ink-3);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop-g{font:600 12.5px/1.2 var(--sans);color:var(--ink-3);margin:14px 0 4px}
.pop li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line-2)}
.pop li:first-of-type{border-top:0}
.pop .who b{font-size:14.5px}
.pop-own{display:flex;gap:8px;margin-top:12px}
.pop-own input{flex:1;min-width:0;font:400 14.5px var(--sans);padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink)}
.pop-note{font-size:12.5px;color:var(--ink-3);margin-top:12px;line-height:1.45}
.pop-wait{font-size:14px;color:var(--ink-3);padding:10px 0}
.pop.low{position:fixed;left:8px;right:8px;bottom:8px;top:auto;width:auto;max-height:72vh;overflow:auto}
.pop-own select{font:500 14px var(--sans);padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);max-width:150px}
.pop-own .add{padding:8px 12px}
form.pop-own[hidden]{display:none}
.sheet .pop-own{max-width:560px;margin-top:16px}
.fresh{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:25;display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;border:0;background:var(--deep);color:var(--deep-ink);font:600 14.5px var(--sans);box-shadow:var(--shadow-2);cursor:pointer;animation:pop .2s var(--ease)}
.fresh i{width:8px;height:8px;border-radius:50%;background:var(--hot)}

/* ---- Footer ---- */
.foot{margin-top:48px;background:var(--deep);color:var(--deep-dim);font-size:14px}
.foot-in{max-width:var(--wide);margin:0 auto;padding:34px 24px 40px;display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:28px}
.foot b{display:block;color:var(--deep-ink);font-weight:600;margin-bottom:10px}
.foot a{color:var(--deep-ink);text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot li{margin:6px 0}
.foot .about p{max-width:46ch;line-height:1.55}
.foot .about p+p{margin-top:10px}
.foot .brand{margin-bottom:14px}

/* ---- Narrower screens ---- */
@media (max-width:1020px){
  .front,.cols,.page{grid-template-columns:minmax(0,1fr)}
  .foot-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .about{grid-column:1/-1}
}
@media (max-width:720px){
  .wrap{padding:0 16px}
  .top{position:static}
  .top-in{padding:10px 16px 8px;gap:12px;flex-wrap:wrap}
  .mark{width:30px;height:30px}
  .word b{font-size:22px}
  .word span{font-size:13px}
  .for-agents{margin-left:auto;padding:6px 12px;font-size:13px}
  .find{order:3;flex-basis:100%;max-width:none;margin-left:0}
  .find input{padding:9px 4px 9px 16px}
  .sections-in{padding:0 6px}
  .dateline{padding:16px 0 14px;font-size:13px}
  .lead,.attention,.companies,.river,.box,.sheet{border-radius:var(--r-m)}
  .lead-body{padding:18px 18px 20px}
  .lead-brief{font-size:17px}
  .world{padding:12px 12px 4px;margin-left:-4px;margin-right:-4px}
  .world li{grid-template-columns:30px minmax(0,1fr)}
  .world .src{grid-column:2;text-align:left;max-width:none}
  .lead-foot .btn{margin-left:0}
  .attention,.companies,.river,.box{padding:18px 16px 10px}
  .attention li{grid-template-columns:26px minmax(0,1fr) 56px;gap:10px}
  .att-img{width:56px;height:56px}
  .rank{font-size:21px}
  .rows>li{gap:12px}
  .row-h{font-size:16.5px}
  .row-img{width:76px;height:58px}
  .sheet{padding:22px 18px 18px}
  .story-img{margin:20px -18px 0}
  .brief p{font-size:17.5px}
  .foot-in{grid-template-columns:minmax(0,1fr);padding:28px 16px 32px}
  .companies ul{grid-template-columns:minmax(0,1fr)}
  .topics-all{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
  .top,.foot,.crm,.add,.actions,.fresh{display:none!important}
  body{background:#fff}
  .lead,.attention,.river,.box,.sheet,.companies{box-shadow:none}
}

/* Beside a long column, the side boxes travel with the reader. */
@media (min-width:1021px){
  .page>.side,.cols>.side{position:sticky;top:116px}
}
@media (max-width:1020px){
  .companies ul,.topics-all{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sections .end{margin-left:0}
}
@media (max-width:420px){
  .row-m .crm-t{display:none}
  .row-m .crm{padding:6px 9px}
}
