/*
 * CIVIO Identity Style v1
 * Design direction: editorial white space + black structure + restrained red accent.
 * This file is intentionally loaded last as a non-destructive visual layer.
 */
:root{
  --cv-paper:#f7f7f4;
  --cv-white:#fff;
  --cv-ink:#111;
  --cv-black:#111;
  --cv-muted:#666661;
  --cv-line:#cfcfca;
  --cv-soft:#efefeb;
  --cv-red:#d71920;
  --cv-red-bright:#d71920;
  --cv-red-on-dark:#ff6b72;
  --cv-max:1440px;
  --cv-display:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --cv-body:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}

html{background:var(--cv-paper)}
body.cv-site{background:var(--cv-paper);color:var(--cv-ink);font-family:var(--cv-body);-webkit-font-smoothing:antialiased}
.cv-site ::selection{background:var(--cv-red);color:#fff}
.cv-shell{width:min(var(--cv-max),calc(100% - 64px))}
.cv-section{padding:96px 0;border-bottom:1px solid var(--cv-ink)}
.cv-section-soft{background:var(--cv-paper)}

/* Header: quiet, white, editorial */
.cv-header{position:sticky;top:0;background:rgba(247,247,244,.96)!important;border-bottom:1px solid var(--cv-ink)!important;backdrop-filter:blur(10px);box-shadow:none!important}
.cv-header-inner{width:min(var(--cv-max),calc(100% - 64px));height:78px}
.cv-logo{display:flex!important;align-items:baseline!important;gap:13px!important;color:var(--cv-ink)!important;grid-template-columns:none!important;grid-template-rows:none!important}
.cv-logo .logo-mark{display:none!important}
.cv-wordmark{font-family:var(--cv-display);font-size:30px;font-weight:900;line-height:1;letter-spacing:-.055em}
.cv-logo small{font-size:9px;letter-spacing:.17em;color:var(--cv-muted);margin:0;line-height:1;font-weight:700}
.cv-nav{gap:26px}
.cv-nav a{color:var(--cv-ink)!important;font-size:11px;font-weight:800;letter-spacing:.04em;padding:7px 0}
.cv-nav a:hover,.cv-nav a[aria-current=page]{color:var(--cv-ink)!important}
.cv-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--cv-red);transition:right .2s ease}
.cv-nav a:hover::after,.cv-nav a[aria-current=page]::after{left:0;right:0;bottom:0;height:2px;background:var(--cv-red)!important}
.cv-nav a:last-child{border:1px solid var(--cv-ink);padding:10px 13px}
.cv-nav a:last-child::after{display:none}
.cv-nav a:last-child:hover{background:var(--cv-ink)!important;color:#fff!important}
.nav-toggle{border-color:var(--cv-ink)!important;background:transparent!important;color:var(--cv-ink)!important;border-radius:0!important}
.nav-toggle span,.cv-article-page .nav-toggle span{background:var(--cv-ink)!important}

/* Home hero: typography is the visual */
.cv-hero-home{min-height:650px;background:var(--cv-paper);color:var(--cv-ink);border-bottom:1px solid var(--cv-ink);overflow:hidden}
.cv-hero-grid,.cv-hero-bird{display:none}
.cv-hero-inner{display:flex;min-height:650px;flex-direction:column;justify-content:space-between;padding:54px 58px 46px;border-left:1px solid var(--cv-ink);border-right:1px solid var(--cv-ink)}
.cv-hero-kicker{color:var(--cv-ink);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.cv-hero-kicker::before{content:"";display:block;width:36px;height:3px;background:var(--cv-red)}
.cv-hero-kicker span{border-radius:0;border:0;width:auto;height:auto}
.cv-hero h1{max-width:1180px;margin:55px 0 36px;color:var(--cv-ink);font-family:var(--cv-display);font-size:clamp(58px,8.2vw,126px);font-weight:900;line-height:.9;letter-spacing:-.07em}
.cv-hero h1 em{color:var(--cv-red);font-style:normal}
.cv-hero-lead{max-width:760px;color:var(--cv-ink);font-size:17px;line-height:1.95}
.cv-hero-home .cv-button-row{margin-top:34px}
.cv-button{border-radius:0!important;box-shadow:none!important;transform:none!important;transition:background .18s,color .18s,border-color .18s!important}
.cv-button:hover{transform:none!important}
.cv-button-red{background:var(--cv-red);border-color:var(--cv-red);color:#fff!important}
.cv-button-red:hover{background:var(--cv-ink);border-color:var(--cv-ink)}
.cv-button-ghost{border-color:var(--cv-ink);color:var(--cv-ink)!important;background:transparent}
.cv-button-ghost:hover{background:var(--cv-ink);color:#fff!important}
.cv-hero-foot{margin-top:54px;padding-top:16px;border-top:1px solid var(--cv-ink);color:var(--cv-muted)}
.cv-hero-foot a{color:var(--cv-ink)}
.cv-ticker{background:var(--cv-paper);color:var(--cv-ink);border-bottom:1px solid var(--cv-ink)}
.cv-ticker>div{padding:13px 16px;font-size:10px;letter-spacing:.1em}
.cv-ticker i{color:var(--cv-red)}

/* Manifesto-like intro */
.cv-intro{background:var(--cv-ink);color:#fff;border-bottom:1px solid var(--cv-ink)}
.cv-intro .cv-shell{width:min(var(--cv-max),calc(100% - 64px));padding:0 58px;border-left:1px solid #3a3a3a;border-right:1px solid #3a3a3a}
.cv-intro-grid{grid-template-columns:180px 1fr;gap:72px}
.cv-intro .cv-section-label{color:var(--cv-red-on-dark)}
.cv-intro .cv-large-copy{font-size:clamp(34px,4.5vw,66px);line-height:1.12;letter-spacing:-.045em;color:#fff}
.cv-intro p:not(.cv-large-copy){max-width:720px;color:#d1d1cc}

/* Section typography */
.cv-section-label{color:var(--cv-red);font-family:var(--cv-body);font-size:10px;font-weight:900;letter-spacing:.15em}
.cv-label-light{color:var(--cv-red-on-dark)}
.cv-heading-row{padding-bottom:22px;margin-bottom:0;border-bottom:1px solid var(--cv-ink)}
.cv-heading-row h2,.cv-topic-main h2,.cv-guide-copy h2,.cv-about-grid h2,.cv-operator h2,.cv-two-column-callout h2{font-family:var(--cv-display);font-size:clamp(38px,5vw,70px);font-weight:900;line-height:1.02;letter-spacing:-.055em}
.cv-heading-row>p{font-size:12px;line-height:1.8;text-align:right;color:var(--cv-muted)}
.cv-heading-link{font-size:12px;border-bottom:2px solid var(--cv-red)}

/* Home themes: no elevated cards */
.cv-theme-grid{grid-template-columns:repeat(3,1fr);border:0;border-bottom:1px solid var(--cv-ink)}
.cv-theme-card,.cv-theme-card-dark,.cv-theme-card-red{min-height:350px;padding:32px 28px 30px;border:0;border-right:1px solid var(--cv-ink);background:transparent;color:var(--cv-ink);box-shadow:none;transform:none}
.cv-theme-card:first-child{border-left:0}.cv-theme-card:last-child{border-right:0}
.cv-theme-card:hover,.cv-theme-card-dark:hover,.cv-theme-card-red:hover{background:#fff;box-shadow:none;transform:none}
.cv-theme-card>span,.cv-theme-card-dark>span,.cv-theme-card-red>span{color:var(--cv-red)}
.cv-theme-card h3{margin:82px 0 18px;font-size:clamp(28px,3vw,42px);letter-spacing:-.045em}
.cv-theme-card p,.cv-theme-card-dark p,.cv-theme-card-red p{color:#555}
.cv-theme-card b{font-size:11px}

/* Featured guide */
.cv-guide-feature{background:var(--cv-paper);color:var(--cv-ink)}
.cv-guide-grid{grid-template-columns:1.15fr .85fr;gap:0;align-items:stretch}
.cv-guide-grid .cv-guide-index{display:none}
.cv-guide-copy{padding:48px 44px 52px 0;border-right:1px solid var(--cv-ink)}
.cv-guide-copy p{color:#555;max-width:720px}
.cv-text-link,.cv-text-link-light{color:var(--cv-ink)!important;border-color:var(--cv-red)}
.cv-guide-feature .cv-button-white{background:var(--cv-ink);border-color:var(--cv-ink);color:#fff!important}
.cv-guide-diagram{margin:0;padding:42px;border:0;background:#fff;gap:0;align-content:center}
.cv-guide-diagram div{border:1px solid var(--cv-ink);background:#fff;color:var(--cv-ink);padding:18px}
.cv-guide-diagram span{height:28px;border-left:1px solid var(--cv-ink)}
.cv-guide-diagram b{right:24px;top:18px;color:var(--cv-red);font-size:84px}

/* Article cards become flatter editorial blocks */
.cv-note-grid,.cv-note-grid-archive{grid-template-columns:1fr;gap:0}
.cv-note-card{grid-template-columns:200px 1fr;min-height:0;border:0;border-bottom:1px solid var(--cv-line);background:transparent;box-shadow:none;transform:none}
.cv-note-card:first-child{border-top:0}.cv-note-card:hover{background:#fff;box-shadow:none;transform:none}
.cv-note-image{min-height:180px;background:#111;border-right:1px solid var(--cv-line)}
.cv-note-copy{padding:26px 30px}
.cv-note-copy h2,.cv-note-copy h3{font-size:clamp(22px,2.5vw,36px);line-height:1.25;letter-spacing:-.035em;margin:12px 0 10px}
.cv-note-copy p{max-width:850px;-webkit-line-clamp:3;color:var(--cv-muted)}
.cv-note-meta{color:var(--cv-red)}
.cv-note-tags span{border:1px solid var(--cv-ink);padding:3px 6px;color:var(--cv-ink)!important;background:transparent!important;border-radius:0!important}

/* Editorial principles */
.cv-policy-grid{border-top:1px solid var(--cv-ink)}
.cv-policy-grid article{min-height:250px;padding:28px 26px;border-color:var(--cv-ink);background:#fff}
.cv-policy-grid h3{margin-top:52px}
.cv-policy-grid p{color:var(--cv-muted)}

/* Red operator band: only large red surface */
.cv-tdm-band,.cv-operator{background:var(--cv-red);color:#fff;box-shadow:none}
.cv-tdm-band>.cv-shell{padding-top:68px;padding-bottom:68px}
.cv-tdm-band h2,.cv-operator h2{font-family:var(--cv-display);font-size:clamp(52px,7vw,102px);letter-spacing:-.07em;line-height:.9}
.cv-tdm-band .cv-button-outline-white{border-color:#fff;color:#fff!important;background:transparent}

/* Standard page hero */
.cv-page-hero{padding:72px 0 78px;background:var(--cv-paper);color:var(--cv-ink);border-bottom:1px solid var(--cv-ink)}
.cv-page-hero .cv-shell{padding:0 58px;border-left:1px solid var(--cv-ink);border-right:1px solid var(--cv-ink)}
.cv-page-hero h1{max-width:1180px;margin:28px 0 24px;color:var(--cv-ink);font-family:var(--cv-display);font-size:clamp(56px,7vw,106px);font-weight:900;line-height:.92;letter-spacing:-.065em}
.cv-page-hero p{max-width:780px;color:#555;font-size:16px;line-height:1.9}

/* Fixed pages and guide index: turn cards into bordered editorial systems */
.cv-core-article-card,.cv-guide-list-feature,.cv-coming-grid,.cv-role-grid,.cv-principle-list,.cv-before-grid,.cv-actor-grid,.cv-service-grid,.cv-contact-grid{border-radius:0!important;box-shadow:none!important}
.cv-core-article-card{border:1px solid var(--cv-ink)!important;background:#fff!important}
.cv-guide-list-feature{border:1px solid var(--cv-ink)!important;background:#fff!important;box-shadow:none!important;margin-bottom:0!important}
.cv-guide-list-feature-secondary{margin-top:42px!important;box-shadow:none!important}
.cv-guide-list-no{color:var(--cv-red)!important}
.cv-guide-list-visual{border-left:1px solid var(--cv-ink)!important;background:var(--cv-paper)!important}
.cv-guide-list-visual span{border-radius:0!important;box-shadow:none!important}
.cv-coming-grid{border-color:var(--cv-ink)!important}
.cv-coming-grid article{border-color:var(--cv-ink)!important;border-radius:0!important;box-shadow:none!important}
.cv-principle-list{border-top:1px solid var(--cv-ink)!important}
.cv-principle-list article{border-color:var(--cv-ink)!important;background:#fff!important}
.cv-principle-list article span{color:var(--cv-red)!important}
.cv-role-grid article{border-radius:0!important;box-shadow:none!important;border-color:var(--cv-ink)!important;background:#fff!important}
.cv-about-word,.cv-about-result{border-radius:0!important;box-shadow:none!important}
.cv-about-word span{font-family:var(--cv-display)!important}

/* Service/contact/legal surfaces */
.cv-site [class*="card"],.cv-site [class*="panel"]{border-radius:0}
.cv-site .cv-button,.cv-site button,.cv-site input,.cv-site select,.cv-site textarea{border-radius:0}
.cv-site input,.cv-site select,.cv-site textarea{box-shadow:none}
.cv-legal-summary{border-radius:0!important;background:#fff!important}

/* Practical guide pages: preserve function, flatten presentation */
.cv-prepaid-hero{background:var(--cv-paper)!important;color:var(--cv-ink)!important;border-bottom:1px solid var(--cv-ink)!important}
.cv-prepaid-hero::before,.cv-prepaid-hero::after{opacity:.08!important}
.cv-prepaid-hero-copy h1{font-family:var(--cv-display)!important;color:var(--cv-ink)!important;font-size:clamp(54px,7vw,100px)!important;line-height:.94!important;letter-spacing:-.06em!important}
.cv-prepaid-hero-copy p,.cv-prepaid-hero-aside{color:#555!important}
.cv-prepaid-hero-aside{border-color:var(--cv-ink)!important;background:#fff!important;box-shadow:none!important}
.cv-prepaid-hero .cv-button-ghost{color:var(--cv-ink)!important;border-color:var(--cv-ink)!important}
.cv-flow-app,.cv-flow-stage,.cv-static-map,.cv-prepaid-definition,.cv-actor-grid,.cv-before-grid{border-radius:0!important;box-shadow:none!important}
.cv-flow-app{border:1px solid var(--cv-ink)!important;box-shadow:8px 8px 0 rgba(17,17,17,.08)!important}
.cv-flow-progress{border-radius:0!important}
.cv-flow-progress button{border-radius:0!important}
.cv-flow-answers button,.cv-flow-controls button{border-radius:0!important}
.cv-prepaid-cta{background:var(--cv-ink)!important}

/* Generic guide-specific top areas */
body[class*="guide"] .main > section:first-child:not(.cv-page-hero),
body.cv-prepaid-page .cv-prepaid-hero{border-bottom:1px solid var(--cv-ink)}

/* Articles: editorial white sheet, no elevated card */
body.cv-article-page{background:var(--cv-paper)!important;color:var(--cv-ink)!important}
body.cv-article-page .article-main{background:var(--cv-paper)!important;padding-bottom:70px!important}
body.cv-article-page .civio-article,
body.cv-article-page .time-returning-embedded-page{width:min(var(--cv-max),calc(100% - 64px))!important;border:1px solid var(--cv-ink)!important;background:#fff!important;box-shadow:none!important}
body.cv-article-page .breadcrumb{width:min(var(--cv-max),calc(100% - 64px))!important;padding:20px 0!important}
body.cv-article-page .civio-hero,
body.cv-article-page .time-returning-embedded-page .hero{padding:62px 58px 46px!important;border-bottom:1px solid var(--cv-ink)!important;background:#fff!important;color:var(--cv-ink)!important}
body.cv-article-page .civio-hero::before,
body.cv-article-page .time-returning-embedded-page .hero::before{display:none!important}
body.cv-article-page .civio-hero::after,
body.cv-article-page .time-returning-embedded-page .hero::after{display:none!important}
body.cv-article-page .civio-title,
body.cv-article-page .time-returning-embedded-page .hero h1{color:var(--cv-ink)!important;font-family:var(--cv-display)!important;font-size:clamp(42px,5.6vw,78px)!important;line-height:1.06!important;letter-spacing:-.055em!important}
body.cv-article-page .civio-lead,
body.cv-article-page .time-returning-embedded-page .lead,
body.cv-article-page .time-returning-embedded-page .subtitle{color:#555!important}
body.cv-article-page .civio-article-meta span{border-color:var(--cv-line)!important;color:#555!important}
body.cv-article-page .civio-hero figure,
body.cv-article-page .time-returning-embedded-page .hero figure{margin:46px -58px -46px!important;width:calc(100% + 116px)!important;border-top:1px solid var(--cv-ink)!important;background:var(--cv-paper)!important}
body.cv-article-page .civio-hero figure figcaption{background:#fff!important;color:#666!important}
body.cv-article-page .civio-toc,
body.cv-article-page .toc{border:1px solid var(--cv-ink)!important;border-left:5px solid var(--cv-red)!important;background:var(--cv-paper)!important;box-shadow:none!important}
body.cv-article-page .civio-section h2,
body.cv-article-page .civio-references h2,
body.cv-article-page .time-returning-embedded-page h2{font-family:var(--cv-display)!important;font-weight:900!important;letter-spacing:-.035em!important}
body.cv-article-page .interactive-panel,
body.cv-article-page .civio-interactive,
body.cv-article-page .leviathan-simulator,
body.cv-article-page .leviathan-tab-area,
body.cv-article-page .currency-toggle,
body.cv-article-page .currency-ecosystem,
body.cv-article-page .checklist-panel{box-shadow:none!important;border:1px solid var(--cv-ink)!important;border-top:5px solid var(--cv-red)!important;background:#fff!important}
body.cv-article-page .article-footer-nav{width:min(var(--cv-max),calc(100% - 64px))!important;border:1px solid var(--cv-ink)!important;box-shadow:none!important;background:#fff!important}
body.cv-article-page .cv-author-band{box-shadow:none!important;border:1px solid var(--cv-ink)!important}

/* Simulation: keep gameplay mechanics; simplify shell */
.cv-simulation-page .cv-simulation-intro,.cv-simulation-page .cv-simulation-section{background:var(--cv-paper)}
.cv-simulation-page .simulation-app-shell{border-radius:0!important;box-shadow:none!important;border:1px solid var(--cv-ink)!important;background:#fff!important}
.cv-simulation-page .simulation-app [class*="rounded"]{border-radius:0!important}
.cv-simulation-page .simulation-app [class*="shadow"]{box-shadow:none!important}
.cv-simulation-disclaimer{background:var(--cv-ink)!important}

/* Footer */
.cv-footer{background:var(--cv-ink)!important;color:#fff!important;border-top:0!important}
.cv-footer-grid{width:min(var(--cv-max),calc(100% - 64px))!important;padding-top:48px!important;padding-bottom:42px!important}
.cv-footer-logo{font-family:var(--cv-display)!important;font-size:28px!important;letter-spacing:-.05em!important}
.cv-footer p,.cv-footer a,.cv-footer-nav strong{color:#b9b9b4!important}
.cv-footer a:hover{color:#fff!important}
.cv-footer-bottom{width:min(var(--cv-max),calc(100% - 64px))!important;border-top:1px solid #3a3a3a!important;color:#898984!important}

@media(max-width:980px){
  .cv-shell,.cv-header-inner,.cv-footer-grid,.cv-footer-bottom{width:min(var(--cv-max),calc(100% - 34px))!important}
  .cv-hero-inner{padding-left:28px;padding-right:28px}
  .cv-intro .cv-shell,.cv-page-hero .cv-shell{padding-left:28px;padding-right:28px}
  .cv-intro-grid{grid-template-columns:1fr;gap:32px}
  .cv-theme-grid{grid-template-columns:1fr}
  .cv-theme-card,.cv-theme-card-dark,.cv-theme-card-red{min-height:260px;border-right:0;border-bottom:1px solid var(--cv-ink)}
  .cv-guide-grid{grid-template-columns:1fr}
  .cv-guide-copy{padding-right:0;border-right:0;border-bottom:1px solid var(--cv-ink)}
  .cv-note-card{grid-template-columns:160px 1fr}
  .cv-policy-grid{grid-template-columns:1fr 1fr}
  body.cv-article-page .civio-article,body.cv-article-page .time-returning-embedded-page,body.cv-article-page .article-footer-nav,body.cv-article-page .breadcrumb{width:calc(100% - 34px)!important}
}

@media(max-width:800px){
  .cv-header-inner{height:64px}
  .cv-logo small{display:none}
  .cv-wordmark{font-size:26px}
  .cv-nav{background:var(--cv-paper)!important;border-bottom:1px solid var(--cv-ink)!important}
  .cv-nav a{color:var(--cv-ink)!important;border-top:1px solid var(--cv-line)!important}
  .cv-nav a:last-child{border:0;border-top:1px solid var(--cv-line)!important;padding:15px 18px}
  .cv-nav a[aria-current=page]::after{display:none}
  .cv-hero-inner{min-height:620px;border-left:0;border-right:0;padding:34px 18px 36px}
  .cv-hero h1{font-size:clamp(50px,16vw,84px);margin-top:48px}
  .cv-intro .cv-shell,.cv-page-hero .cv-shell{border-left:0;border-right:0;padding-left:18px;padding-right:18px}
  .cv-heading-row{grid-template-columns:1fr;gap:18px}
  .cv-heading-row>p{text-align:left}
  .cv-note-card{grid-template-columns:1fr}
  .cv-note-image{min-height:220px;border-right:0;border-bottom:1px solid var(--cv-line)}
  .cv-policy-grid{grid-template-columns:1fr}
  body.cv-article-page .civio-hero,body.cv-article-page .time-returning-embedded-page .hero{padding:42px 24px 34px!important}
  body.cv-article-page .civio-hero figure,body.cv-article-page .time-returning-embedded-page .hero figure{width:calc(100% + 48px)!important;margin:34px -24px -34px!important}
}

@media(max-width:520px){
  .cv-shell,.cv-header-inner,.cv-footer-grid,.cv-footer-bottom{width:calc(100% - 20px)!important}
  .cv-section{padding:70px 0}
  .cv-page-hero{padding:52px 0 58px}
  .cv-page-hero h1{font-size:clamp(48px,15vw,72px)}
  .cv-note-copy{padding:22px 18px}
  .cv-guide-diagram{padding:28px 18px}
  body.cv-article-page .civio-article,body.cv-article-page .time-returning-embedded-page,body.cv-article-page .article-footer-nav,body.cv-article-page .breadcrumb{width:calc(100% - 20px)!important}
}

/* =========================================================
   Contrast safety layer v2
   Keep text/background pairs explicit after the identity reskin.
   ========================================================= */

/* Light editorial surfaces: always use dark text. */
.cv-hero-home,
.cv-page-hero,
.cv-theme-card,
.cv-theme-card-dark,
.cv-theme-card-red,
.cv-guide-feature,
.cv-guide-list-feature,
.cv-guide-list-visual,
.cv-core-article-card,
.cv-policy-grid article,
.cv-principle-list article,
.cv-role-grid article,
.cv-coming-grid article{
  color:var(--cv-ink)!important;
}
.cv-hero-home h1,
.cv-page-hero h1,
.cv-page-hero .cv-hero-kicker,
.cv-theme-card h3,
.cv-theme-card-dark h3,
.cv-theme-card-red h3,
.cv-theme-card b,
.cv-theme-card-dark b,
.cv-theme-card-red b,
.cv-guide-feature h2,
.cv-guide-feature h3,
.cv-guide-list-feature h2,
.cv-guide-list-feature h3,
.cv-guide-list-visual span,
.cv-core-article-card h2{
  color:var(--cv-ink)!important;
  -webkit-text-fill-color:var(--cv-ink)!important;
}
.cv-hero-home .cv-hero-kicker,
.cv-page-hero .cv-hero-kicker,
.cv-theme-card>span,
.cv-theme-card-dark>span,
.cv-theme-card-red>span,
.cv-guide-feature .cv-section-label,
.cv-guide-feature .cv-label-light,
.cv-guide-list-no,
.cv-guide-list-feature .cv-section-label,
.cv-core-article-card .cv-section-label{
  color:var(--cv-red)!important;
  -webkit-text-fill-color:var(--cv-red)!important;
}
.cv-guide-feature .cv-text-link-light,
.cv-guide-list-feature .cv-text-link-light{
  color:var(--cv-ink)!important;
  border-color:var(--cv-red)!important;
}
.cv-guide-list-visual{background:var(--cv-paper)!important;border-left:1px solid var(--cv-ink)!important}
.cv-guide-list-visual span{background:#fff!important;border-color:var(--cv-ink)!important}
.cv-guide-list-visual b{color:var(--cv-red)!important;-webkit-text-fill-color:var(--cv-red)!important}

/* Dark surfaces: never inherit the light-surface ink color. */
.cv-topic-dark,
.cv-contact-card-dark,
.cv-404,
.cv-prepaid-cta,
.cv-prepaid-cases,
.cv-prepaid-references,
.cv-simulation-disclaimer,
.cv-simulation-feature,
.cv-footer{
  color:#fff!important;
}
.cv-topic-dark :is(h2,h3,p,span,strong,b,li),
.cv-contact-card-dark :is(h2,h3,p,span,strong,b,li),
.cv-404 :is(h1,p),
.cv-prepaid-cta :is(h2,p),
.cv-prepaid-cases :is(h2,h3),
.cv-simulation-disclaimer :is(h2,p),
.cv-simulation-feature :is(h2,h3,p,li){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.cv-topic-dark .cv-large-copy,
.cv-contact-card-dark p,
.cv-prepaid-cta p,
.cv-prepaid-cases .cv-heading-row>p,
.cv-simulation-feature p,
.cv-simulation-feature li,
.cv-simulation-disclaimer p{
  color:#d2d2ce!important;
  -webkit-text-fill-color:#d2d2ce!important;
}
.cv-topic-dark .cv-section-label,
.cv-topic-dark .cv-label-light,
.cv-contact-card-dark>span,
.cv-prepaid-cta>span,
.cv-prepaid-cta .cv-shell>div>span,
.cv-prepaid-cases .cv-section-label,
.cv-simulation-feature-index span{
  color:var(--cv-red-on-dark)!important;
  -webkit-text-fill-color:var(--cv-red-on-dark)!important;
}
.cv-topic-dark .cv-text-link-light,
.cv-contact-card-dark .cv-text-link-light,
.cv-404 .cv-button-ghost,
.cv-prepaid-cta .cv-button-outline-white,
.cv-prepaid-references a{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#fff!important;
}
.cv-topic-dark .cv-topic-number,
.cv-404-code,
.cv-prepaid-cases .cv-case-list span,
.cv-simulation-feature-index strong{
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke-color:rgba(255,255,255,.68)!important;
}

/* Red surfaces: white is the only body-text color; pale red-on-red is avoided. */
.cv-tdm-band,
.cv-operator,
.cv-guide-disclaimer{
  color:#fff!important;
}
.cv-tdm-band :is(h2,h3,p,span,strong,b),
.cv-operator :is(h2,h3,p,span,strong,b),
.cv-guide-disclaimer :is(h2,h3,p,span,strong,b){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.cv-tdm-band .cv-section-label,
.cv-tdm-band .cv-label-light,
.cv-operator .cv-section-label,
.cv-operator .cv-label-light,
.cv-guide-disclaimer .cv-section-label,
.cv-guide-disclaimer .cv-label-light,
.cv-simulation-disclaimer .cv-section-label,
.cv-simulation-disclaimer .cv-label-light{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Article shell: breadcrumbs and flattened interactive panels. */
body.cv-article-page .breadcrumb,
body.cv-article-page .breadcrumb span{
  color:#555!important;
  -webkit-text-fill-color:#555!important;
}
body.cv-article-page .breadcrumb a{color:#111!important;-webkit-text-fill-color:#111!important}
body.cv-article-page .panel-title,
body.cv-article-page .interactive-panel .panel-title,
body.cv-article-page .civio-interactive .panel-title{
  color:var(--cv-red)!important;
  -webkit-text-fill-color:var(--cv-red)!important;
}

/* Article-specific legacy red/dark cards. */
body.cv-article-page .entetsu-article :is(.policy-side.red,.layer.red) :is(small,h3,p,strong,li),
body.cv-article-page .entetsu-article .demo-tab,
body.cv-article-page .entetsu-article .demo-tab.active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.cv-article-page .entetsu-article .demo-tab{background:#111!important}
body.cv-article-page .entetsu-article .demo-tab.active{background:var(--cv-red)!important}
body.cv-article-page .registered-currency-article .trajectory-step.is-current h3,
body.cv-article-page .registered-currency-article .trajectory-step.is-current strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* GUIDE 02 retains its own dark hero; keep the pair explicit. */
.introduction-guide .hero{
  color:#fff!important;
}
.introduction-guide .hero .eyebrow,
.introduction-guide .hero h1,
.introduction-guide .hero .hero-lead,
.introduction-guide .hero .btn.secondary{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.introduction-guide .hero .hero-lead{color:#d1d1d1!important;-webkit-text-fill-color:#d1d1d1!important}
.introduction-guide .hero .btn.secondary{background:transparent!important;border-color:#fff!important}
.introduction-guide .hero .btn.secondary:hover,
.introduction-guide .hero .btn.secondary:focus-visible{background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important}

/* Money/accounting dark panels: use a light accent on dark, not deep red. */
.money-guide :is(.mg-panel-kicker,.no,.mg-section-no){
  color:var(--cv-red)!important;
}
.money-guide :is(.mg-panel,.mg-dark,.mg-summary,.mg-final)[style*="background"] :is(.mg-panel-kicker,.no,.mg-section-no),
.money-guide .mg-panel-dark :is(.mg-panel-kicker,.no,.mg-section-no){
  color:var(--cv-red-on-dark)!important;
}

/* Outlined decorative numerals remain visible on dark surfaces. */
.cv-actor-grid article.is-dark>span,
.cv-before-grid .is-dark>span,
.cv-before-grid .is-red>span{
  -webkit-text-stroke-color:rgba(255,255,255,.72)!important;
}

/* Dark simulation hero is intentionally preserved. */
.cv-simulation-page .cv-page-hero{
  background:#050505!important;
  color:#fff!important;
}
.cv-simulation-page .cv-page-hero h1,
.cv-simulation-page .cv-page-hero p{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.cv-simulation-page .cv-page-hero p{color:#d0d0cc!important;-webkit-text-fill-color:#d0d0cc!important}
.cv-simulation-page .cv-page-hero .cv-hero-kicker{
  color:var(--cv-red-on-dark)!important;
  -webkit-text-fill-color:var(--cv-red-on-dark)!important;
}

/* Skip links must always become readable when focused. */
.skip-link:focus,
.introduction-guide .skip:focus{
  background:#fff!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  border:2px solid #111!important;
}

/* Targeted contrast corrections found by full-site computed-style audit. */
.issuer-guide .reference-panel .reference-item,
.issuer-guide .reference-panel .reference-item span,
.issuer-guide .reference-panel .reference-item strong{
  color:var(--cv-ink)!important;
  -webkit-text-fill-color:var(--cv-ink)!important;
}
.issuer-guide .reference-panel .reference-item small{color:#555!important;-webkit-text-fill-color:#555!important}
.issuer-guide .reference-panel .reference-type,
.issuer-guide .reference-panel .reference-arrow{color:var(--cv-red)!important;-webkit-text-fill-color:var(--cv-red)!important}

.money-guide .mg-check-card .mg-panel-kicker{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

body.cv-article-page .currency-flow-step>span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

body.cv-article-page .rdx-checker-head h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.cv-article-page .rdx-checker-head>div>span,
body.cv-article-page .rdx-bpr-map article:last-child>span,
body.cv-article-page .trajectory-step.is-current>span{
  color:var(--cv-red-on-dark)!important;
  -webkit-text-fill-color:var(--cv-red-on-dark)!important;
}

.cv-static-branch article.is-alert b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.cv-simulation-page .sim-restart-button .sim-icon{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
