@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-latin-wght-normal.woff2) format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-latin-wght-italic.woff2) format("woff2-variations");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{--paper:#faf8f4;--ink:#1b1b1b;--muted:#5d5a55;--rule:#e2ddd4;--red:#c1272d;--card:#ffffff;
--serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
@media (prefers-color-scheme:dark){:root{--paper:#141312;--ink:#ece8e1;--muted:#a39e96;--rule:#2e2b28;--red:#e0656a;--card:#1c1a18}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.6}
a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.narrow{max-width:700px}
header.site{border-bottom:1px solid var(--rule)}
header.site .wrap{display:flex;justify-content:space-between;align-items:center;height:64px;gap:16px}
.brand{font-family:var(--sans);font-weight:700;letter-spacing:.02em;color:var(--ink);font-size:17px}
.brand span{color:var(--red)}
nav a{font-family:var(--sans);font-size:14px;color:var(--muted);margin-left:22px}
nav a:hover{color:var(--ink);text-decoration:none}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0 0 12px}
h1,h2,h3{font-weight:600;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(34px,5vw,54px);letter-spacing:-.01em}
h2{font-size:28px;margin-top:1.6em}h3{font-size:21px}
.lede{font-size:clamp(19px,2.2vw,23px);color:var(--muted);max-width:680px}
section{padding:64px 0;border-bottom:1px solid var(--rule)}
.hero{padding:88px 0 72px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:28px}
.card{background:var(--card);border:1px solid var(--rule);padding:24px;border-radius:4px}
.card h3{margin-bottom:6px}.card p{margin:0;color:var(--muted);font-size:17px}
.card .meta{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.btn{display:inline-block;font-family:var(--sans);font-size:15px;font-weight:600;background:var(--red);color:#fff;padding:12px 24px;border-radius:3px}
.btn:hover{text-decoration:none;opacity:.9}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.sub{background:var(--card);border:1px solid var(--rule);padding:36px 28px;border-radius:4px;text-align:center}
.sub p{color:var(--muted);max-width:520px;margin:0 auto 20px}
footer.site{padding:40px 0;font-family:var(--sans);font-size:13px;color:var(--muted)}
footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
/* report pages */
.report h2{border-top:1px solid var(--rule);padding-top:1.2em}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:28px 0}
.kpi{border-left:3px solid var(--red);padding:4px 0 4px 14px}
.kpi b{display:block;font-family:var(--sans);font-size:30px;font-weight:700}
.kpi span{font-family:var(--sans);font-size:13px;color:var(--muted)}
table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:15px;margin:20px 0}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--rule)}th{color:var(--muted);font-weight:600}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.table-scroll{overflow-x:auto}
.note{font-family:var(--sans);font-size:14px;color:var(--muted)}
.ph{background:#fff4d6;color:#6b4e00;padding:2px 6px;border-radius:2px;font-family:var(--sans);font-size:14px}
.brand{white-space:nowrap}nav{white-space:nowrap}
@media (max-width:600px){header.site .wrap{flex-direction:column;align-items:flex-start;height:auto;padding-top:14px;padding-bottom:12px;gap:6px}.brand{font-size:15px}nav a{margin-left:0;margin-right:18px;font-size:14px}.hero{padding:56px 0 48px}section{padding:44px 0}}
@media (max-width:700px){.sub[style*="grid-template-columns"]{grid-template-columns:1fr!important}}
.author{font-family:var(--sans);font-size:14px;color:var(--muted);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0;margin-top:20px}
.handoff{border-left:3px solid var(--red);padding:4px 0 4px 16px;margin:28px 0;color:var(--muted);font-size:17px}
.sub.left p{margin-left:0;margin-right:0;max-width:none}
.sub .eyebrow{color:var(--red)}

.brand img{display:block;height:40px;width:auto}
@media (max-width:600px){.brand img{height:34px}}

.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
@media (max-width:420px){.grid.two{grid-template-columns:1fr}}
.pillar p{color:var(--ink);font-size:17px;margin:0 0 12px}
.pillar .tags{font-family:var(--sans);font-size:13px;color:var(--muted);margin:0}
.prose p{margin:0 0 1em}
.big{font-size:23px;line-height:1.45}
.std h3{font-size:19px;margin-bottom:6px}.std p{margin:0;color:var(--muted);font-size:17px}
.actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}
.steps{padding-left:22px}.steps li{margin-bottom:14px}
.disclaimer{font-size:12px;max-width:640px;margin:0 0 6px}
footer.site a{color:var(--muted)}
.grid.stds{grid-template-columns:repeat(2,1fr);gap:28px 40px}
@media (max-width:700px){.grid.stds{grid-template-columns:1fr}}

/* v3 display type */
.display{font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-.02em;font-weight:500;max-width:20ch;text-wrap:balance}
.display-2{font-size:clamp(30px,4.2vw,48px);line-height:1.08;letter-spacing:-.015em;font-weight:500;margin:0 0 24px;max-width:22ch;text-wrap:balance}
.display em,.display-2 em{font-style:italic;color:var(--red);font-weight:400}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:56px 0 0;border-top:1px solid var(--rule)}
.stats div{padding:20px 20px 0 0}
.stats dt{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.1}
.stats dd{margin:6px 0 0;font-family:var(--sans);font-size:13px;color:var(--muted)}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:960px}
.cols p{margin:0;color:var(--muted)}
@media (max-width:760px){.cols{grid-template-columns:1fr}}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.4vw,38px);line-height:1.2;margin:48px 0 0;padding-left:24px;border-left:3px solid var(--red);max-width:26ch}
.sub-note{margin:-8px 0 24px}
.sectors{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.sector{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--rule)}
.sector .rank{font-family:var(--serif);font-size:28px;color:var(--muted)}
.sector h3{font-size:24px;margin:0 0 4px;font-weight:500}
.sector p{margin:0;color:var(--muted);font-size:17px;max-width:62ch}
.outlook{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.o-hi{background:#e6f1ea;color:#1f6b45}.o-mid{background:#f5ecd9;color:#7a5608}.o-lo{background:#eceef1;color:#555c66}
@media (prefers-color-scheme:dark){.o-hi{background:#1b3327;color:#7fd1a6}.o-mid{background:#3a2e17;color:#e3b35c}.o-lo{background:#2a2d31;color:#aab1ba}}
@media (max-width:600px){.sector{grid-template-columns:36px 1fr}.sector .outlook{grid-column:2;justify-self:start}}
.scope{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.scope h3{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.scope p{font-size:17px;margin:0 0 10px}
@media (max-width:760px){.scope{grid-template-columns:1fr}}
section.dark{background:#141312;color:#ece8e1;border-bottom:0}
section.dark .std p{color:#b3ada4}
section.dark .eyebrow,section.dark .display-2 em{color:#e3656b}
.light-link{color:#ece8e1;border-bottom:1px solid #e3656b}
.num{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:#e3656b;margin-bottom:8px}

/* v4: two-tone headings instead of red italic; larger small text */
.display,.display-2{font-weight:600;letter-spacing:-.02em}
.display em,.display-2 em{font-style:normal;color:var(--muted);font-weight:600}
section.dark .display-2 em{color:#8f8a83}
.pull{font-style:normal;font-weight:500;color:var(--ink);border-left-color:var(--ink)}
nav a{font-size:15px}
.note,.card p,.sector p,.std p,.scope p,.decisions p{font-size:17px}
.stats dd,.tags{font-size:15px!important}
.card .meta,.meta{font-size:12.5px}
footer.site{font-size:14px;line-height:1.7}
.disclaimer{font-size:13px}
:root{--muted:#57534d}
@media (prefers-color-scheme:dark){:root{--muted:#b0aaa2}}
.decisions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.decisions li{padding:20px 24px 20px 0;border-bottom:1px solid var(--rule)}
.decisions h3{font-size:21px;margin:0 0 6px;font-weight:600}
.decisions p{margin:0;color:var(--muted)}
@media (max-width:900px){.decisions{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.decisions{grid-template-columns:1fr}}
.card.featured{padding:32px;border-top:3px solid var(--red);margin-bottom:20px}
.card.featured h3{font-size:30px;margin-bottom:10px}
.card.featured p{font-size:19px;max-width:60ch}
.grid.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.grid.four{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid.four{grid-template-columns:1fr}}
.sector{grid-template-columns:56px 1fr}

.sectors.cols2{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
@media (max-width:800px){.sectors.cols2{grid-template-columns:1fr}}
.sectors.cols2 .sector{grid-template-columns:44px 1fr}
.sectors.cols2 .sector h3{font-size:21px}
.where{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:40px;align-items:center;margin-top:56px}
@media (max-width:800px){.where{grid-template-columns:1fr}}
.where h3{font-family:var(--sans);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.where-lead{font-size:26px;line-height:1.25;font-weight:600;margin:0 0 12px}
.where-text p{font-size:17px}
.where-map{margin:0}
.range-map{width:100%;height:auto;display:block}
.st-off{fill:var(--rule);stroke:var(--paper);stroke-width:1}
.st-on{fill:var(--red);fill-opacity:.82;stroke:var(--paper);stroke-width:1.2}
.hq{fill:var(--ink);stroke:var(--paper);stroke-width:2}
.hq-ring{fill:none;stroke:var(--ink);stroke-width:1.5;opacity:.5}
.hq-label{font-family:var(--sans);font-size:16px;font-weight:600;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:4px}
.grid.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.grid.three{grid-template-columns:1fr}}
.li-card{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--rule);padding:24px;border-radius:4px;color:var(--ink)}
.li-card:hover{text-decoration:none;border-color:var(--ink)}
.li-card h3{font-size:21px;margin:0;flex:1}
.li-go{font-family:var(--sans);font-size:14px;color:var(--red);font-weight:600}

.where-text p.where-lead{font-size:28px;line-height:1.2;font-weight:600;font-family:var(--serif)}
.sectors .sector h3{font-weight:600}

.audience h3{font-size:21px;margin:0 0 8px;font-weight:600}
.audience p{margin:0;color:var(--muted);font-size:17px}
.audience div{border-top:1px solid var(--ink);padding-top:16px}
.city{fill:var(--ink);opacity:.75}
.city-label{font-family:var(--sans);font-size:15px;fill:var(--ink);opacity:.8;paint-order:stroke;stroke:var(--paper);stroke-width:4px}

.bio-role{font-family:var(--sans);font-size:14px;color:var(--red);margin:-8px 0 16px}
.bio p{font-size:18px;max-width:70ch}

.city-label{font-size:13px}
.li-stat{font-family:var(--sans);font-size:13px;color:var(--muted)}

.li-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;max-width:1060px}
@media (max-width:700px){.li-grid{grid-template-columns:1fr}}
.li-embed{background:var(--card);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.li-embed iframe{display:block;width:100%;height:600px;border:0}
@media (max-width:560px){.li-embed iframe{height:560px}}

.hero-sub{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);color:var(--muted);margin:-6px 0 0;font-weight:500}
.cta-band{background:var(--card);border-top:1px solid var(--rule)}
.cases{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.cases li{padding:20px 24px 20px 0;border-bottom:1px solid var(--rule)}
.cases h3{font-size:20px;margin:0 0 6px;font-weight:600}
.cases p{margin:0;color:var(--muted);font-size:16px}
@media (max-width:900px){.cases{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cases{grid-template-columns:1fr}}
.cta-row{display:flex;gap:24px;align-items:center;margin-top:28px;flex-wrap:wrap}
.cta-row .note{max-width:60ch;margin:0}
.form{display:grid;gap:18px;max-width:640px}
.form label{display:grid;gap:6px;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink)}
.form input,.form select,.form textarea{font-family:var(--sans);font-size:16px;font-weight:400;padding:11px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--paper);color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.f2{grid-template-columns:1fr}}
.form button{justify-self:start;border:0;cursor:pointer;font-size:16px}
.hp{position:absolute;left:-9999px}

.legal h2{font-size:21px;margin:2em 0 .5em;font-weight:600}
.legal p{font-size:17px;color:var(--ink)}
.legal ul{font-size:17px;padding-left:22px}
.legal li{margin-bottom:8px}

.li-facade{padding:28px;display:flex;flex-direction:column;gap:12px;min-height:220px}
.li-facade h3{font-size:21px;margin:0;font-weight:600}
.li-facade .btn{align-self:flex-start;margin-top:4px}
.li-note{font-size:13px;margin:0}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) section.dark{background:#0b0a09;border-top:1px solid #2f2c29;border-bottom:1px solid #2f2c29}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn{background:#e3656b;color:#17140f}
:root:not([data-theme="light"]) .btn.ghost{background:transparent;color:var(--ink);border-color:#3a3632}}

.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 24px;margin:24px 0 8px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.meta-grid dt{font-family:var(--sans);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.meta-grid dd{margin:4px 0 0;font-family:var(--sans);font-size:15px;font-weight:600}
@media (max-width:600px){.meta-grid{grid-template-columns:1fr 1fr}}
.formats h3{font-size:24px;margin:0 0 8px;font-weight:600}
.formats p{margin:0;color:var(--muted);font-size:17px}
.formats div{border-top:1px solid var(--ink);padding-top:16px}
