/* CPS readable type - Oct 2026. Loaded last on every page.
 Replaces the typewriter-style labels with Source Sans 3 and raises small text to a comfortable size. */
:root{--muted:#22302D;--ink-2:#15312F;--sans:"Source Sans 3","SS3 Fallback","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;--mono:"Source Sans 3","SS3 Fallback","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;--brandmono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}
body{font-family:var(--sans);font-size:19px;font-weight:500;line-height:1.7;letter-spacing:0;color:var(--ink);text-rendering:optimizeLegibility}
p,li,dd,td{line-height:1.7}
/* keep the brand wordmark in its original typewriter face */
html .wordmark{font-family:var(--brandmono)}
html code,html kbd,html pre{font-family:var(--brandmono)}
html #count{font-size:16px;font-weight:700;letter-spacing:.02em}
html #pitch .who{font-size:16px;font-weight:700;letter-spacing:.02em}
html .ac-field label{font-size:16px;font-weight:700;letter-spacing:.02em}
html .ac-kicker{font-size:16px;font-weight:700;letter-spacing:.02em}
html .ac-submit{font-size:16px;font-weight:700;letter-spacing:.02em}
html .ac-toggle .ac-tbtn{font-size:16px;font-weight:700;letter-spacing:.02em}
html .bank h3{font-size:16px;font-weight:700;letter-spacing:.02em}
html .banner figcaption{font-size:16px;font-weight:700;letter-spacing:.02em}
html .btn{font-size:16px;font-weight:700;letter-spacing:.02em}
html .bundle-tag{font-size:16px;font-weight:700;letter-spacing:.02em}
html .crumb{font-size:16px;font-weight:700;letter-spacing:.02em}
html .estd{font-size:16px;font-weight:700;letter-spacing:.02em}
html .eyebrow{font-size:16px;font-weight:700;letter-spacing:.02em}
html .fact .k{font-size:16px;font-weight:700;letter-spacing:.02em}
html .faqcat{font-size:16px;font-weight:700;letter-spacing:.02em}
html .faqnav a{font-size:16px;font-weight:700;letter-spacing:.02em}
html .fld .k{font-size:16px;font-weight:700;letter-spacing:.02em}
html .front .ghint{font-size:16px;font-weight:700;letter-spacing:.02em}
html .gclose{font-size:16px;font-weight:700;letter-spacing:.02em}
html .gcount{font-size:16px;font-weight:700;letter-spacing:.02em}
html .globewrap figcaption{font-size:16px;font-weight:700;letter-spacing:.02em}
html .home-voice .hv-k{font-size:16px;font-weight:700;letter-spacing:.02em}
html .ihint{font-size:16px;font-weight:700;letter-spacing:.02em}
html .infobox .rolelab{font-size:16px;font-weight:700;letter-spacing:.02em}
html .isleband figcaption .sm{font-size:16px;font-weight:700;letter-spacing:.02em}
html .isllink a{font-size:16px;font-weight:700;letter-spacing:.02em}
html .lab{font-size:16px;font-weight:700;letter-spacing:.02em}
html .langbar{font-size:16px;font-weight:700;letter-spacing:.02em}
html .listenbar{font-size:16px;font-weight:700;letter-spacing:.02em}
html .listenbar select,html .listenbar button{font-size:16px;font-weight:700;letter-spacing:.02em}
html .mapcap{font-size:16px;font-weight:700;letter-spacing:.02em}
html .maphint{font-size:16px;font-weight:700;letter-spacing:.02em}
html .mapjump .mjlab{font-size:16px;font-weight:700;letter-spacing:.02em}
html .mapjump button{font-size:16px;font-weight:700;letter-spacing:.02em}
html .matrix-kicker,html .matrix-meta{font-size:16px;font-weight:700;letter-spacing:.02em}
html .matrix-table thead th{font-size:16px;font-weight:700;letter-spacing:.02em}
html .matrix-tools label{font-size:16px;font-weight:700;letter-spacing:.02em}
html .member .imgnote{font-size:16px;font-weight:700;letter-spacing:.02em}
html .member .rolelab{font-size:16px;font-weight:700;letter-spacing:.02em}
html .narr-compare .nc-k{font-size:16px;font-weight:700;letter-spacing:.02em}
html .nextisles a{font-size:16px;font-weight:700;letter-spacing:.02em}
html .num{font-size:16px;font-weight:700;letter-spacing:.02em}
html .pcard .sub{font-size:16px;font-weight:700;letter-spacing:.02em}
html .pcard .tel{font-size:16px;font-weight:700;letter-spacing:.02em}
html .photoslot{font-size:16px;font-weight:700;letter-spacing:.02em}
html .row .n{font-size:16px;font-weight:700;letter-spacing:.02em}
html .strip .tag{font-size:16px;font-weight:700;letter-spacing:.02em}
html .tcard cite{font-size:16px;font-weight:700;letter-spacing:.02em}
html .text-action.btn-check{font-size:16px;font-weight:700;letter-spacing:.02em}
html .vplay{font-size:16px;font-weight:700;letter-spacing:.02em}
html .welcome-player figcaption{font-size:16px;font-weight:700;letter-spacing:.02em}
html .yes{font-size:16px;font-weight:700;letter-spacing:.02em}
html footer .flab{font-size:16px;font-weight:700;letter-spacing:.02em}
html label{font-size:16px;font-weight:700;letter-spacing:.02em}
html nav.site a{font-size:16px;font-weight:700;letter-spacing:.02em}
html thead th{font-size:16px;font-weight:700;letter-spacing:.02em}
html footer .fcol p{font-size:16px;font-weight:500;color:var(--ink)}
html .lab{font-weight:600}
/* Older-reader comfort: heavier body copy, darker text, bolder headings */
main p,main li,main dd,main td{font-weight:500}
strong,b{font-weight:700}
h1,h2,h3,h4{font-weight:700;letter-spacing:0}
small{font-size:max(.9em,14px)}
a{text-underline-offset:.18em}
@media(max-width:700px){body{font-size:18px}}
/* Reserve room for the Listen bar so the page does not jump when it appears */
.listenbar.lph{display:block;min-height:291px;padding:0;border:0}
.listenbar.lph.nar{min-height:460px}
@media(min-width:560px){.listenbar.lph.nar{min-height:438px}}
@media(min-width:701px){.listenbar.lph{min-height:197px}.listenbar.lph.nar{min-height:318px}}
@media(min-width:1000px){.listenbar.lph{min-height:138px}.listenbar.lph.nar{min-height:237px}}
/* Contrast fixes (WCAG AA) */
:root{--reef:#26665F}
html footer .flab,html .fcred .flab{color:#8E2F1D}
html .btn-whatsapp,html a.btn-whatsapp,html #byWa,html #acWa,html .mfb-wa{background:#0B7A3B !important;border-color:#086330 !important;color:#fff !important}
html .btn-whatsapp:hover,html a.btn-whatsapp:hover,html #byWa:hover,html #acWa:hover,html .mfb-wa:hover{background:#086330 !important;border-color:#064F26 !important}
/* gentler "breathing" slogan so it never fades too faint to read */
@keyframes cpsBreathe{0%,100%{opacity:1}50%{opacity:.8}}
html footer .sloganfx{animation:none;color:var(--ink)}
html #pitch h1 em,html .slogan,html .h1slogan{color:#A0351F}
html #clear-filters{color:var(--ink);background:#fff;border:2px solid var(--ink)}
[data-blk]{display:block}
@media(max-width:700px){html nav.site a{letter-spacing:.01em;font-size:16px}}
/* Larger small print around the listen bar and header */
html .estd,html .modern-home .estd{font-size:16px}
html .listenbar-v2 .lsteps{font-size:16.5px}
html .listenbar-v2 .lhelp summary,html .listenbar-v2 .lhelp p{font-size:16px}
html .cn-t{font-size:16px}
html .lr-full,html .lr-full span{font-size:16px}
html .strip .btn,html .acts .btn{font-size:16px}
/* updated reserved heights after larger listen-bar text */
.listenbar.lph{min-height:299px}
.listenbar.lph.nar{min-height:468px}
@media(min-width:560px){.listenbar.lph.nar{min-height:446px}}
@media(min-width:701px){.listenbar.lph{min-height:205px}.listenbar.lph.nar{min-height:326px}}
@media(min-width:1000px){.listenbar.lph{min-height:173px}.listenbar.lph.nar{min-height:272px}}
@media(min-width:1200px){.listenbar.lph{min-height:141px}.listenbar.lph.nar{min-height:240px}}
html .lr-short,html .lr-short span{font-size:16px}
/* PowerMapper round 2 (8 Oct 2026): stronger contrast (AAA where practical), visible focus, larger small print */
:root{--stamp:#96301D;--stamp-dark:#8E2F1D;--reef:#1F5550}
html .estd,html .eyebrow{color:#8E2F1D}
html .btn-stamp,html a.btn-stamp{background:#96301D;border-color:#96301D;color:#fff}
html .btn-stamp:hover,html a.btn-stamp:hover{background:#7A2716;border-color:#7A2716}
html .btn-whatsapp,html a.btn-whatsapp,html #byWa,html #acWa,html .mfb-wa{background:#05612E !important;border-color:#044D24 !important}
html .btn-whatsapp:hover,html a.btn-whatsapp:hover,html #byWa:hover,html #acWa:hover,html .mfb-wa:hover{background:#044D24 !important}
html footer .flab,html .fcred .flab{color:#7A2716}
html .listenbar-v2 .lhelp summary{color:#1F5550}
html .vplay{background:#1F5550}
html .bundle-tag{color:#8E2F1D}
html video a{color:#C7E7DE}
html input:not([type=checkbox]):not([type=radio]):not([type=range]),html select,html textarea{border-color:#7A6D5A}
:focus-visible{outline:3px solid #96301D;outline-offset:2px}
html .mapfig .dot:focus{outline:3px solid #96301D;outline-offset:2px}
html .mapfig .dot:focus:not(:focus-visible){outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html a.back-link,html .backlink{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px}
html .cps-consent-text{font-size:16px}
html .eyebrow{font-size:16px}
html .ice-note,html figcaption,html .boardfoot,html .bundle-foot,html .chip,html .fld .v{font-size:16.5px}
html .lr-full,html .lr-full span{font-size:16px}
/* reserved listen-bar heights, re-measured after the 16px minimum */
.listenbar.lph{min-height:299px}
.listenbar.lph.nar{min-height:478px}
@media(min-width:560px){.listenbar.lph.nar{min-height:478px}}
@media(min-width:701px){.listenbar.lph{min-height:205px}.listenbar.lph.nar{min-height:363px}}
@media(min-width:1000px){.listenbar.lph{min-height:173px}.listenbar.lph.nar{min-height:277px}}
@media(min-width:1200px){.listenbar.lph{min-height:141px}.listenbar.lph.nar{min-height:245px}}
html .infobox h2.h3look,html .infobox h3{font-size:19px}
