/* Curated article component layer extracted from the former site stylesheet. */
:root{
 --ink: #111111;
 --muted: #555555;
 --line: #e5e5e5;
 --paper: #ffffff;
 --soft: #f7f7f7;
 --sand: #f4f4f4;
 --blue: #b5121b;
 --blue-dark: #b5121b;
 --green: #5d8a75;
 --shadow: 0 18px 48px rgba(34, 49, 58, 0.10);
 --radius: 8px;
}
*{
 box-sizing: border-box;
}
html{
 scroll-behavior: smooth;
}
body{
 margin: 0;
 color: var(--ink);
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
 line-height: 1.8;
 background: var(--paper);
}
img{
 display: block;
 max-width: 100%;
}
a{
 color: var(--blue-dark);
 text-decoration: none;
}
a:hover{
 text-decoration: underline;
}
.main{
 min-height: 70vh;
}
.hero{
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
 gap: 44px;
 align-items: center;
 width: min(1120px, calc(100% - 32px));
 margin: 0 auto;
 padding: 72px 0 54px;
}
.lead{
 margin-top: 18px;
 color: var(--muted);
 font-size: 1.05rem;
}
.button{
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 padding: 10px 18px;
 border: 1px solid var(--blue-dark);
 border-radius: 8px;
 background: var(--blue-dark);
 color: #fff;
 font-weight: 700;
}
.button:hover{
 text-decoration: none;
 background: var(--blue);
}
.button.secondary{
 background: #fff;
 color: var(--blue-dark);
}
.button.secondary:hover{
 background: linear-gradient(180deg, #fafafa 0%, #f7f7f7 100%);
}
.note-body .button{
 align-self: flex-start;
 margin-top: 4px;
}
@media (max-width: 860px){.hero{
 grid-template-columns: 1fr;
 padding-top: 48px;
 }}
:root{
 --color-navy-900: #111111;
 --color-navy-800: #1a1a1a;
 --color-blue-700: #b5121b;
 --color-blue-500: #d20a12;
 --color-blue-100: #f5f5f5;
 --color-blue-50: #fbfbfb;
 --color-white: #ffffff;
 --color-gray-900: #111111;
 --color-gray-700: #4f4f4f;
 --color-gray-500: #777777;
 --color-line: #e5e5e5;
 --color-card: rgba(255, 255, 255, 0.88);
 --shadow-soft: 0 18px 50px rgba(11, 31, 51, 0.1);
 --shadow-card: 0 10px 30px rgba(11, 31, 51, 0.08);
 --radius-lg: 28px;
 --radius-md: 18px;
 --radius-sm: 12px;
 --ink: var(--color-navy-900);
 --muted: var(--color-gray-700);
 --line: var(--color-line);
 --soft: var(--color-blue-50);
 --sand: var(--color-blue-100);
 --blue: var(--color-blue-500);
 --blue-dark: var(--color-navy-800);
 --shadow: var(--shadow-soft);
 --radius: var(--radius-md);
}
body{
 background: var(--color-white);
 color: var(--color-gray-900);
}
.hero{
 position: relative;
 width: 100%;
 min-height: max(70vh, 700px);
 padding: 112px max(32px, calc((100vw - 1520px) / 2)) 118px;
 background:
 linear-gradient(105deg, rgba(245, 251, 255, 0.98) 5%, rgba(234, 244, 251, 0.86) 52%, rgba(255, 255, 255, 0.72) 100%),
 radial-gradient(circle at 83% 20%, rgba(59, 130, 182, 0.2), transparent 28%);
 overflow: hidden;
}
.hero::before{
 inset: 0;
 width: 100%;
 height: 100%;
 border-radius: 0;
 background-image:
 linear-gradient(rgba(31, 95, 153, 0.055) 1px, transparent 1px),
 linear-gradient(90deg, rgba(31, 95, 153, 0.055) 1px, transparent 1px);
 background-size: 72px 72px;
 mask-image: linear-gradient(to right, transparent 20%, #000 100%);
}
.hero::after{
 content: "";
 position: absolute;
 right: -8vw;
 bottom: -28vw;
 width: 56vw;
 height: 56vw;
 border: 1px solid rgba(31, 95, 153, 0.12);
 border-radius: 50%;
 box-shadow: 0 0 0 80px rgba(31, 95, 153, 0.025), 0 0 0 160px rgba(31, 95, 153, 0.02);
}
.hero > *{
 position: relative;
 z-index: 1;
}
.hero h1{
 font-size: clamp(3.3rem, 6.2vw, 6.6rem);
 line-height: 1.13;
}
.contact-cta .button,.check-cta .button{
 border-color: #fff;
 background: #fff;
 color: var(--color-navy-900);
}
.check-hero .lead{
 color: #c9e1ee;
}
.check-hero .button.secondary{
 border-color: rgba(255, 255, 255, 0.6);
 background: rgba(255, 255, 255, 0.08);
 color: #fff;
}
@media (max-width: 860px){.hero{
 width: 100%;
 min-height: auto;
 padding: 72px 20px 76px;
 }}
@media (max-width: 540px){.hero h1{
 font-size: clamp(2.7rem, 13vw, 4rem);
 }}
@media (max-width: 540px){.hero{
 width: min(100% - 24px, 1120px);
 }}
:root{
 --ink: #172638;
 --muted: #526476;
 --line: #dce5eb;
 --paper: #ffffff;
 --soft: #f4f7fa;
 --sand: #f0f4f7;
 --blue: #2b6785;
 --blue-dark: #173e5a;
 --accent: #8aa8b9;
 --shadow: 0 22px 64px rgba(20, 43, 61, 0.11);
 --radius: 18px;
}
body{
 background:
 radial-gradient(circle at 6% 0%, rgba(129, 166, 186, 0.13), transparent 25rem),
 var(--paper);
 font-size: 16px;
}
.hero{
 grid-template-columns: minmax(0, 1fr) minmax(360px, 0.95fr);
 width: min(1240px, calc(100% - 40px));
 min-height: 690px;
 gap: clamp(36px, 7vw, 96px);
 padding: 84px 0 96px;
}
.hero::before{
 content: "";
 position: absolute;
 z-index: -1;
 top: 100px;
 right: 0;
 width: min(48vw, 720px);
 height: 600px;
 border-radius: 80px 0 0 80px;
 background: linear-gradient(135deg, rgba(233, 240, 245, 0.85), rgba(247, 250, 252, 0.2));
}
.hero .eyebrow{
 letter-spacing: 0.16em;
 text-transform: uppercase;
}
.hero h1{
 max-width: 760px;
 font-size: clamp(2.8rem, 6vw, 5.4rem);
 letter-spacing: -0.055em;
}
.hero .lead{
 max-width: 700px;
}
.button{
 min-height: 48px;
 padding: 11px 20px;
 border-radius: 999px;
 transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.button:hover{
 transform: translateY(-2px);
 box-shadow: 0 12px 26px rgba(23, 62, 90, 0.18);
}
.button.text-button{
 border-color: transparent;
 background: transparent;
 color: var(--blue-dark);
 box-shadow: none;
}
@media (prefers-reduced-motion: no-preference){@keyframes civio-rise {
 from {
 opacity: 0;
 transform: translateY(14px);
 }
 to {
 opacity: 1;
 transform: translateY(0);
 }
 }}
@media (max-width: 860px){.hero{
 min-height: auto;
 grid-template-columns: 1fr;
 padding: 54px 0 70px;
 }
.hero::before{
 display: none;
 }}
@media (max-width: 540px){.hero{
 width: min(100% - 28px, 1180px);
 }}
:root{
 --ink: #111111;
 --muted: #4f4f4f;
 --line: #e5e5e5;
 --paper: #fff;
 --soft: #fbfbfb;
 --sand: #f5f5f5;
 --blue: #d20a12;
 --blue-dark: #1a1a1a;
 --accent: #8ab8d4;
 --shadow: 0 18px 50px rgba(11, 31, 51, 0.1);
 --radius: 18px;
}
.hero{
 position: relative;
 width: 100%;
 min-height: max(70vh, 700px);
 padding: 112px max(32px, calc((100vw - 1520px) / 2)) 118px;
 background:
 linear-gradient(105deg, rgba(245, 251, 255, 0.98) 5%, rgba(234, 244, 251, 0.86) 52%, rgba(255, 255, 255, 0.72) 100%),
 radial-gradient(circle at 83% 20%, rgba(59, 130, 182, 0.2), transparent 28%);
 overflow: hidden;
}
.hero::before{
 inset: 0;
 width: 100%;
 height: 100%;
 border-radius: 0;
 background-image:
 linear-gradient(rgba(31, 95, 153, 0.055) 1px, transparent 1px),
 linear-gradient(90deg, rgba(31, 95, 153, 0.055) 1px, transparent 1px);
 background-size: 72px 72px;
 mask-image: linear-gradient(to right, transparent 20%, #000 100%);
}
.hero h1{
 font-size: clamp(3.3rem, 6.2vw, 6.6rem);
 line-height: 1.13;
}
.check-hero .lead{
 color: #c9e1ee;
}
.check-hero .button.secondary{
 border-color: rgba(255, 255, 255, 0.6);
 background: rgba(255, 255, 255, 0.08);
 color: #fff;
}
@media (max-width: 860px){.hero{
 width: 100%;
 min-height: auto;
 padding: 72px 20px 76px;
 }
.hero::before{
 display: block;
 }}
@media (max-width: 540px){.hero h1{
 font-size: clamp(2.7rem, 13vw, 4rem);
 }}
.hero{
 min-height: min(760px, calc(100vh - 72px));
 padding-top: clamp(84px, 9vh, 112px);
 padding-bottom: clamp(76px, 9vh, 110px);
}
.note-body .button{
 margin-top: auto;
}
.contact-cta .button{
 border-color: #fff;
 background: #fff;
 color: #071827;
 box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}
.contact-cta .button:hover{
 background: #f5f5f5;
 color: #071827;
}
@media (max-width: 540px){.hero{
 min-height: auto;
 padding-top: 60px;
 padding-bottom: 64px;
 }}
.note-body .button{
 margin-top: auto;
}
.note-body .button{
 align-self: flex-start;
 margin-top: auto;
 padding: 0.68rem 1.12rem;
 font-size: 0.84rem;
 line-height: 1.2;
 white-space: nowrap;
}
.note-body .button{
 padding: 0.62rem 1.04rem;
}
.article-main{
 background: linear-gradient(180deg, #ffffff 0%, #f6f9fb 100%);
 padding-bottom: 86px;
}
.breadcrumb{
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 width: min(920px, calc(100% - 40px));
 margin: 0 auto;
 padding: 28px 0 0;
 color: var(--muted);
 font-size: 0.86rem;
}
.breadcrumb a{
 color: var(--blue-dark);
 font-weight: 700;
}
.civio-article{
 width: min(920px, calc(100% - 40px));
 margin: 28px auto 0;
 padding: clamp(26px, 5vw, 58px);
 border: 1px solid var(--line);
 border-radius: 14px;
 background: #fff;
 box-shadow: 0 18px 48px rgba(20, 43, 61, 0.08);
}
.civio-hero{
 margin-bottom: clamp(36px, 5vw, 58px);
 padding-bottom: clamp(28px, 4vw, 44px);
 border-bottom: 1px solid var(--line);
}
.civio-label{
 display: inline-flex;
 margin-bottom: 16px;
 padding: 6px 12px;
 border-radius: 999px;
 background: #e8f1fb;
 color: #245a8d;
 font-size: 0.82rem;
 font-weight: 800;
 letter-spacing: 0.05em;
}
.civio-title{
 max-width: 780px;
 font-size: clamp(2rem, 4vw, 3.3rem);
 letter-spacing: -0.04em;
}
.civio-lead{
 max-width: 760px;
 margin-top: 18px;
 color: var(--muted);
 font-size: clamp(1rem, 1.1vw, 1.15rem);
 line-height: 1.95;
}
.civio-article-meta{
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin-top: 22px;
 color: var(--muted);
 font-size: 0.86rem;
}
.civio-article-meta span{
 display: inline-flex;
 align-items: center;
 padding: 4px 10px;
 border: 1px solid var(--line);
 border-radius: 999px;
 background: #fbfdfe;
}
.civio-section{
 margin-top: clamp(34px, 5vw, 54px);
}
.civio-section h2{
 margin-bottom: 18px;
 padding-left: 16px;
 border-left: 5px solid var(--blue-dark);
 font-size: clamp(1.35rem, 2.3vw, 2rem);
 letter-spacing: -0.03em;
}
.civio-section p,.civio-references p{
 margin-top: 16px;
 color: #111111;
 line-height: 2.05;
}
.civio-list{
 margin: 20px 0 0;
 padding-left: 1.25em;
 color: #111111;
 line-height: 2;
}
.civio-list li + li{
 margin-top: 8px;
}
.civio-keyword{
 color: var(--blue-dark);
 font-weight: 800;
}
.civio-note,.civio-box,.civio-quote{
 margin: 24px 0 0;
 padding: 20px 22px;
 border-radius: 12px;
 line-height: 1.9;
}
.civio-note{
 border: 1px solid #e5e5e5;
 background: #fafafa;
 color: var(--muted);
}
.civio-box{
 border-left: 5px solid var(--blue-dark);
 background: #fff3f4;
 color: #14384a;
 font-weight: 800;
}
.civio-quote{
 border: 1px solid #d7e3e8;
 background: linear-gradient(145deg, #fbfdfe, #fff3f4);
 color: #123246;
 font-size: 1.08rem;
 font-weight: 800;
}
.civio-grid-2{
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 16px;
 margin-top: 22px;
}
.civio-card{
 padding: 20px;
 border: 1px solid var(--line);
 border-radius: 12px;
 background: #fbfdfe;
}
.civio-card strong{
 display: block;
 margin-bottom: 8px;
 color: var(--blue-dark);
 font-size: 1.05rem;
}
.civio-card span{
 color: var(--muted);
 line-height: 1.8;
}
.civio-references{
 margin-top: clamp(38px, 6vw, 64px);
 padding-top: 28px;
 border-top: 1px solid var(--line);
}
.civio-references h3{
 color: var(--blue-dark);
 font-size: 1.25rem;
}
.article-footer-nav{
 width: min(920px, calc(100% - 40px));
 margin: 28px auto 0;
}
@media (max-width: 760px){.civio-article{
 width: min(100% - 28px, 920px);
 padding: 24px 20px 34px;
 }
.breadcrumb,.article-footer-nav{
 width: min(100% - 28px, 920px);
 }
.civio-grid-2{
 grid-template-columns: 1fr;
 }
.civio-title{
 font-size: clamp(1.75rem, 8vw, 2.35rem);
 }}
.civio-section table{
 width: 100%;
 border-collapse: collapse;
 margin: 22px 0;
 font-size: 0.95rem;
}
.civio-section th,.civio-section td{
 border: 1px solid var(--line);
 padding: 10px 12px;
 vertical-align: top;
 line-height: 1.8;
}
.civio-section th{
 background: #f3f8fb;
 color: var(--blue-dark);
 font-weight: 800;
}
.civio-summary-container{
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
 gap: 14px;
 margin-top: 20px;
}
.civio-summary-item{
 display: flex;
 gap: 8px;
 padding: 16px 18px;
 border: 1px solid var(--line);
 border-radius: 12px;
 background: #fbfdfe;
 line-height: 1.8;
}
.civio-summary-number{
 color: var(--blue-dark);
 font-weight: 800;
}
.civio-marker,.civio-marker-soft{
 background: linear-gradient(transparent 62%, rgba(224, 238, 247, 0.9) 62%);
 font-weight: 800;
}
.notes-hero .lead{
 max-width: 980px;
}
.article-main{
 background: linear-gradient(180deg, #ffffff 0%, #f6f9fb 100%);
}
.civio-section h3{
 margin: clamp(24px, 4vw, 38px) 0 14px;
 padding-left: 14px;
 border-left: 4px solid var(--blue-dark);
 color: var(--color-navy-900, #071827);
 font-size: clamp(1.1rem, 1.7vw, 1.45rem);
 line-height: 1.55;
}
.civio-section ul:not(.civio-list){
 margin: 20px 0 0;
 padding-left: 1.25em;
 color: #111111;
 line-height: 2;
}
.civio-section ul:not(.civio-list) li + li{
 margin-top: 8px;
}
.civio-section > div:not(.civio-box):not(.civio-note):not(.civio-quote):not(.civio-grid-2):not(.civio-summary-container){
 line-height: 2;
}
.notes-hero .lead{
 max-width: 1040px;
 font-size: clamp(1rem, 1.25vw, 1.16rem);
 line-height: 2.05;
}
.breadcrumb,.article-footer-nav{
 width: min(1080px, calc(100% - 40px));
}
.civio-article{
 width: min(1080px, calc(100% - 40px));
 padding: clamp(34px, 5.6vw, 72px);
 border-radius: 20px;
}
.civio-article .civio-hero{
 margin-bottom: clamp(42px, 6vw, 72px);
 padding-bottom: clamp(34px, 4.8vw, 58px);
}
.civio-title{
 max-width: 920px;
 font-size: clamp(2.2rem, 4.6vw, 3.65rem);
 line-height: 1.24;
}
.civio-title span{
 display: inline-block;
 margin-top: 0.42em;
 color: var(--muted);
 font-size: 0.62em;
 font-weight: 650;
 letter-spacing: -0.025em;
}
.civio-lead{
 max-width: 880px;
 font-size: clamp(1.06rem, 1.35vw, 1.22rem);
 line-height: 2.04;
}
.civio-section{
 max-width: 900px;
 margin-left: auto;
 margin-right: auto;
}
.civio-section p,.civio-references p,.civio-list,.civio-section ul:not(.civio-list){
 font-size: clamp(1rem, 1.08vw, 1.08rem);
}
.civio-section p,.civio-references p{
 line-height: 2.08;
}
.civio-section h2{
 margin-top: clamp(42px, 5vw, 66px);
 padding-left: 18px;
 border-left-width: 6px;
 font-size: clamp(1.42rem, 2.35vw, 2.1rem);
 line-height: 1.48;
}
.civio-section h3{
 font-size: clamp(1.18rem, 1.75vw, 1.52rem);
}
.civio-summary-section{
 padding: clamp(22px, 3vw, 32px);
 border: 1px solid var(--line);
 border-radius: 18px;
 background: linear-gradient(145deg, #fbfdfe, #f4f8fb);
}
.civio-summary-section h2,.civio-summary-section h3{
 margin-top: 0;
}
.civio-box,.civio-note,.civio-quote{
 border-radius: 16px;
 padding: clamp(20px, 2.6vw, 30px);
}
.civio-box{
 background: linear-gradient(145deg, #eef7f9, #f8fbfc);
 box-shadow: inset 5px 0 0 var(--blue-dark);
 border-left: 0;
}
.civio-quote{
 font-size: clamp(1.1rem, 1.4vw, 1.3rem);
 line-height: 1.9;
}
.civio-grid-2,.civio-summary-container,.civio-table-container,.civio-section table,.civio-interactive{
 max-width: 1040px;
 margin-left: auto;
 margin-right: auto;
}
.civio-card{
 border-radius: 16px;
 padding: clamp(20px, 2.4vw, 28px);
 background: linear-gradient(145deg, #ffffff, #f7fbfc);
 box-shadow: 0 12px 30px rgba(20, 43, 61, 0.05);
}
.civio-summary-item{
 border-radius: 16px;
 background: #fff;
 box-shadow: 0 10px 28px rgba(20, 43, 61, 0.045);
}
.civio-section > div:not([class]){
 margin: 22px 0;
}
.dx-tab.is-active{
 background: var(--blue-dark);
 color: #fff;
 border-color: var(--blue-dark);
}
.civio-result-box[hidden]{
 display: none;
}
.civio-checklist label{
 cursor: pointer;
}
.civio-btn{
 display: inline-flex;
 align-items: center;
 justify-content: center;
 border-radius: 999px;
 border: 1px solid var(--blue-dark);
 background: var(--blue-dark);
 color: #fff;
 padding: 12px 20px;
 font-weight: 800;
}
@media (max-width: 760px){.civio-article,.breadcrumb,.article-footer-nav{
 width: min(100% - 28px, 1120px);
 }
.civio-article{
 padding: 26px 20px 38px;
 }}
.civio-article--interactive .civio-hero{
 background:
 radial-gradient(circle at 16% 18%, rgba(47, 111, 136, 0.12), transparent 34%),
 linear-gradient(145deg, #f8fbfc 0%, #edf6f9 100%);
}
.leviathan-hero .civio-title{
 max-width: 920px;
}
.leviathan-question-box .civio-list{
 margin: 0;
}
.leviathan-asymmetry-grid .civio-card{
 display: grid;
 gap: 10px;
}
.leviathan-asymmetry-grid .civio-card strong{
 color: var(--blue-dark);
 font-size: 1.06rem;
}
.leviathan-asymmetry-grid .civio-card span{
 color: var(--muted);
 line-height: 1.8;
}
.leviathan-simulator,.leviathan-tab-area{
 padding: clamp(22px, 3vw, 32px);
 border: 1px solid #bfd6df;
 border-radius: 22px;
 background:
 linear-gradient(180deg, rgba(255,255,255,0.96), rgba(246,250,251,0.98)),
 radial-gradient(circle at 92% 6%, rgba(47,111,136,0.14), transparent 32%);
 box-shadow: 0 16px 42px rgba(20, 43, 61, 0.08);
}
.leviathan-interactive-title{
 display: flex;
 align-items: center;
 gap: 10px;
 color: var(--blue-dark);
 font-size: 1.08rem;
 margin-bottom: 8px;
}
.leviathan-slider-label{
 display: block;
 margin: 18px 0 8px;
 color: var(--ink);
 font-weight: 800;
}
.leviathan-slider-label span{
 color: var(--blue-dark);
}
.leviathan-range{
 width: 100%;
 accent-color: var(--blue-dark);
}
.leviathan-result-box{
 display: grid;
 justify-items: center;
 gap: 8px;
 margin-top: 18px;
 padding: clamp(18px, 2.4vw, 26px);
 border: 1px solid var(--line);
 border-radius: 18px;
 background: #fff;
 text-align: center;
}
.leviathan-result-label{
 color: var(--muted);
 font-size: 0.92rem;
}
.leviathan-result-box strong{
 color: #be123c;
 font-size: clamp(1.45rem, 3vw, 2.1rem);
 line-height: 1.25;
}
.leviathan-result-box small{
 color: var(--muted);
}
.leviathan-tabs{
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 12px;
}
.leviathan-tab{
 appearance: none;
 display: grid;
 gap: 5px;
 min-height: 92px;
 padding: 17px 18px;
 border: 1px solid var(--line);
 border-radius: 18px;
 background: #fff;
 color: var(--ink);
 cursor: pointer;
 text-align: left;
 box-shadow: 0 10px 28px rgba(20, 43, 61, 0.045);
 transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.leviathan-tab strong{
 color: var(--blue-dark);
 font-size: 1.02rem;
}
.leviathan-tab span{
 color: var(--muted);
 font-size: .9rem;
}
.leviathan-tab:hover{
 transform: translateY(-2px);
 box-shadow: 0 16px 34px rgba(20, 43, 61, 0.085);
}
.leviathan-tab.is-active{
 border-color: var(--blue-dark);
 background: linear-gradient(145deg, var(--blue-dark), #203f4c);
 color: #fff;
}
.leviathan-tab.is-active strong,.leviathan-tab.is-active span{
 color: #fff;
}
.leviathan-tab-panel{
 min-height: 118px;
 margin-top: 14px;
 padding: clamp(18px, 2.2vw, 26px);
 border: 1px solid var(--line);
 border-radius: 18px;
 background: #fff;
 color: var(--muted);
 line-height: 1.85;
}
.leviathan-tab-panel strong{
 color: var(--blue-dark);
}
.leviathan-checklist{
 display: grid;
 gap: 10px;
 margin: 18px auto 24px;
 padding: 0;
 max-width: 980px;
 list-style: none;
}
.leviathan-checklist li{
 border: 1px solid var(--line);
 border-radius: 16px;
 background: #fff;
 transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.leviathan-checklist li.is-checked{
 border-color: #9bd4b3;
 background: #f0fdf4;
}
.leviathan-checklist label{
 display: flex;
 align-items: flex-start;
 gap: 12px;
 padding: 15px 17px;
 cursor: pointer;
}
.leviathan-checklist input{
 flex: 0 0 auto;
 margin-top: 0.4em;
 transform: scale(1.15);
 accent-color: var(--blue-dark);
}
.leviathan-checklist span{
 color: var(--muted);
 line-height: 1.75;
}
.leviathan-checklist strong{
 color: var(--ink);
}
@media (max-width: 760px){.leviathan-tabs{
 grid-template-columns: 1fr;
 }
.leviathan-tab{
 min-height: auto;
 }}
.currency-hero .civio-title{
 max-width: 920px;
}
.currency-toggle,.currency-ecosystem{
 padding: clamp(22px, 3vw, 32px);
 border: 1px solid #bddbd5;
 border-radius: 22px;
 background:
 linear-gradient(180deg, rgba(255,255,255,0.96), rgba(246,251,250,0.98)),
 radial-gradient(circle at 92% 6%, rgba(13,148,136,0.13), transparent 32%);
 box-shadow: 0 16px 42px rgba(20, 43, 61, 0.08);
}
.currency-interactive-title{
 display: flex;
 align-items: center;
 gap: 10px;
 color: var(--blue-dark);
 font-size: 1.08rem;
 margin-bottom: 8px;
}
.currency-toggle-buttons,.currency-eco-selector{
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 12px;
 margin: 18px 0 14px;
}
.currency-eco-selector{
 grid-template-columns: repeat(3, minmax(0, 1fr));
}
.currency-toggle-btn,.currency-eco-btn,.currency-reflect-card{
 appearance: none;
 border: 1px solid var(--line);
 border-radius: 18px;
 background: #fff;
 color: var(--ink);
 cursor: pointer;
 text-align: left;
 box-shadow: 0 10px 28px rgba(20, 43, 61, 0.045);
 transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.currency-toggle-btn,.currency-eco-btn{
 padding: 16px 18px;
 font-weight: 900;
}
.currency-toggle-btn span{
 display: block;
 margin-top: 5px;
 color: var(--muted);
 font-size: .9rem;
 font-weight: 700;
}
.currency-toggle-btn:hover,.currency-eco-btn:hover,.currency-reflect-card:hover{
 transform: translateY(-2px);
 box-shadow: 0 16px 34px rgba(20, 43, 61, 0.085);
}
.currency-toggle-btn.is-active,.currency-eco-btn.is-active{
 border-color: #0d9488;
 background: linear-gradient(145deg, #0f766e, #134e4a);
 color: #fff;
}
.currency-toggle-btn.is-active span{
 color: rgba(255,255,255,.86);
}
.currency-pane{
 display: none;
 margin-top: 14px;
 padding: clamp(18px, 2.2vw, 26px);
 border: 1px solid var(--line);
 border-radius: 18px;
 background: #fff;
}
.currency-pane.is-active{
 display: block;
}
.currency-stat{
 margin-top: 16px;
}
.currency-stat-label{
 display: flex;
 justify-content: space-between;
 gap: 16px;
 margin-bottom: 7px;
 color: var(--ink);
 font-size: .92rem;
 font-weight: 800;
}
.currency-stat-bar{
 height: 10px;
 overflow: hidden;
 border-radius: 999px;
 background: #e5edf1;
}
.currency-stat-bar span{
 display: block;
 height: 100%;
 border-radius: inherit;
 background: #0d9488;
 transition: width .5s ease-out;
}
.currency-stat-bar span.muted{
 background: #64748b;
}
.currency-stat-bar span.accent{
 background: #d97706;
}
.currency-eco-flow{
 display: grid;
 gap: 12px;
 padding: clamp(18px, 2.2vw, 26px);
 border: 1px solid var(--line);
 border-radius: 18px;
 background: #fff;
}
.currency-flow-step{
 display: flex;
 align-items: flex-start;
 gap: 14px;
 color: var(--muted);
 line-height: 1.8;
}
.currency-flow-step span{
 display: inline-grid;
 place-items: center;
 flex: 0 0 auto;
 width: 28px;
 height: 28px;
 border-radius: 50%;
 background: var(--blue-dark);
 color: #fff;
 font-size: .85rem;
 font-weight: 900;
}
.currency-flow-step strong{
 color: var(--ink);
}
.currency-reflection-grid{
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 14px;
 margin-top: 18px;
}
.currency-reflect-card{
 display: grid;
 gap: 8px;
 min-height: 160px;
 padding: 18px;
}
.currency-reflect-card strong{
 color: #0f766e;
 font-size: 1rem;
}
.currency-reflect-card span{
 color: var(--ink);
 font-weight: 900;
}
.currency-reflect-card em{
 display: none;
 padding-top: 9px;
 border-top: 1px dashed var(--line);
 color: var(--muted);
 font-style: normal;
 font-size: .92rem;
 line-height: 1.75;
}
.currency-reflect-card.is-open{
 border-color: #0d9488;
 background: #f0fdfa;
}
.currency-reflect-card.is-open em{
 display: block;
}
@media (max-width: 760px){.currency-toggle-buttons,.currency-eco-selector,.currency-reflection-grid{
 grid-template-columns: 1fr;
 }}
.note-hero-image{
  margin: clamp(28px, 4vw, 44px) 0 0;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 64px rgba(7, 24, 39, 0.28);
}
.note-hero-image img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.note-hero-image figcaption{
  margin: 0;
  padding: 12px 16px 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.86rem;
  line-height: 1.75;
}
.leviathan-tab-panel p{
  margin: 0.65em 0 0;
}
.leviathan-tab-panel .small-note{
  color: var(--muted);
  font-size: 0.92rem;
}
.leviathan-checklist strong{
  color: var(--ink);
}
.civio-section h2{
  margin-top: clamp(42px, 5vw, 64px);
  margin-bottom: 20px;
  padding: 0 0 14px !important;
  border-left: 0 !important;
  border-bottom: 1px solid var(--line);
  color: var(--color-navy-900, #071827);
  font-size: clamp(1.32rem, 2.05vw, 1.78rem);
  line-height: 1.52;
  letter-spacing: -0.025em;
}
.civio-section h2::before{
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: var(--blue-dark);
  opacity: .72;
}
.civio-section h3{
  margin: clamp(24px, 3.5vw, 34px) 0 12px;
  padding-left: 0 !important;
  border-left: 0 !important;
  color: var(--color-navy-900, #071827);
  font-size: clamp(1.08rem, 1.45vw, 1.28rem);
  line-height: 1.55;
  letter-spacing: -0.01em;
}
.civio-summary-section h2::before,.civio-references h3::before{ content: none; display: none; }
.civio-references h3{
  padding: 0 0 12px !important;
  border-left: 0 !important;
  border-bottom: 1px solid var(--line);
  color: var(--blue-dark);
}
.note-hero-image--light{
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 18px 44px rgba(20, 43, 61, 0.10);
}
.note-hero-image--light figcaption{
  color: var(--muted);
  background: #fff;
}
.currency-article .civio-hero{
  background:
    radial-gradient(circle at 82% 12%, rgba(13,148,136,.10), transparent 32%),
    linear-gradient(145deg, #fbfdfe 0%, #f4faf9 100%);
}
.social-capital-grid .currency-reflect-card strong{
  color: var(--blue-dark);
}
.question-dx-article .civio-reading-note{
  margin: 24px 0 30px;
  padding: clamp(18px, 2.6vw, 24px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, #ffffff, #f7fbfc);
  box-shadow: 0 12px 30px rgba(20, 43, 61, 0.05);
}
.question-dx-article .civio-reading-note strong{
  color: var(--blue-dark);
}
.question-dx-article .civio-toc{
  margin: 28px 0 42px;
  padding: clamp(18px, 2.6vw, 26px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(20, 43, 61, 0.05);
}
.question-dx-article .civio-toc h2{
  margin: 0 0 12px;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--line);
  font-size: 1.05rem;
  letter-spacing: .04em;
}
.question-dx-article .civio-toc h2::before{
  display: none;
  content: none;
}
.question-dx-article .civio-toc ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
.question-dx-article .civio-toc li{
  border-top: 1px solid rgba(218, 229, 235, .72);
}
.question-dx-article .civio-toc li:first-child{
  border-top: 0;
}
.question-dx-article .civio-toc a{
  display: block;
  padding: 9px 0;
  color: var(--color-navy-900, #071827);
  text-decoration: none;
}
.question-dx-article .civio-toc a:hover{
  color: var(--blue-dark);
  text-decoration: none;
}
.question-dx-article .civio-interactive{
  margin: 32px auto;
  padding: clamp(22px, 3.2vw, 34px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
  box-shadow: 0 12px 34px rgba(20, 43, 61, 0.06);
}
.question-dx-article .civio-interactive h2,.question-dx-article .civio-interactive h3{
  margin: 0 0 14px;
  padding: 0 !important;
  border: 0 !important;
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
  line-height: 1.55;
}
.question-dx-article .civio-interactive h2::before,.question-dx-article .civio-interactive h3::before{
  display: none;
  content: none;
}
.question-dx-article .civio-interactive p{
  margin: 0 0 1em;
  color: var(--muted);
}
.question-dx-article .civio-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}
.question-dx-article .civio-tab{
  appearance: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--blue-dark);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  line-height: 1.2;
  padding: 11px 16px;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.question-dx-article .civio-tab:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(20, 43, 61, .08);
}
.question-dx-article .civio-tab.is-active{
  background: var(--blue-dark);
  border-color: var(--blue-dark);
  color: #fff;
}
.question-dx-article .civio-panel{
  display: none;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.question-dx-article .civio-panel.is-active{
  display: block;
}
.question-dx-article .civio-panel strong{
  color: var(--blue-dark);
}
.question-dx-article .civio-question-list{
  display: grid;
  gap: 10px;
  margin: 1.1em 0 0;
  padding: 0;
  list-style: none;
}
.question-dx-article .civio-question-list li{
  position: relative;
  padding: 13px 15px 13px 30px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.question-dx-article .civio-question-list li::before{
  content: "";
  position: absolute;
  left: 14px;
  top: 1.45em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blue-dark);
}
.question-dx-article .civio-question-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.question-dx-article .civio-question-card{
  min-height: 132px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.question-dx-article .civio-question-card:hover{
  transform: translateY(-1px);
  border-color: rgba(23, 50, 77, .28);
  box-shadow: 0 10px 24px rgba(20, 43, 61, .07);
}
.question-dx-article .civio-question-card h4{
  margin: 0 0 8px;
  color: var(--blue-dark);
  font-size: 1rem;
}
.question-dx-article .civio-question-card p{
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
}
.question-dx-article .civio-card-answer{
  display: none;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--line);
  color: var(--color-navy-900, #071827);
}
.question-dx-article .civio-question-card.is-open .civio-card-answer{
  display: block;
}
.question-dx-article .civio-flow{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.question-dx-article .civio-flow-step{
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  text-align: center;
}
.question-dx-article .civio-flow-step b{
  display: block;
  margin-bottom: 6px;
  color: var(--blue-dark);
}
.question-dx-article .civio-checklist{
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.question-dx-article .civio-check-row{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.question-dx-article .civio-check-row input{
  margin-top: .45em;
  accent-color: var(--blue-dark);
}
.question-dx-article .civio-check-row span{
  color: var(--color-navy-900, #071827);
}
.question-dx-article .civio-check-progress{
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #eef7f9;
  color: var(--blue-dark);
  font-weight: 800;
}
.question-dx-article .civio-main-refs{
  display: grid;
  gap: 10px;
  margin: 18px 0 28px;
}
.question-dx-article .civio-main-ref{
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  font-size: .94rem;
  line-height: 1.75;
}
.question-dx-article .civio-ref-group{
  padding: 8px 0;
  border-top: 1px solid var(--line);
}
.question-dx-article .civio-ref-group summary{
  cursor: pointer;
  color: var(--blue-dark);
  font-weight: 800;
  padding: 10px 0;
  list-style: none;
}
.question-dx-article .civio-ref-group summary::-webkit-details-marker{
  display: none;
}
.question-dx-article .civio-ref-group summary::before{
  content: "+";
  display: inline-block;
  width: 1.3em;
  color: var(--blue-dark);
}
.question-dx-article .civio-ref-group[open] summary::before{
  content: "−";
}
@media (max-width: 820px){.question-dx-article .civio-question-grid,.question-dx-article .civio-flow{
    grid-template-columns: 1fr;
  }}
.terada-resilient-article .note-hero-image--terada{
  max-width: 900px;
  margin: clamp(26px, 4vw, 42px) 0 0;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  background: #f7f1e7;
  box-shadow: 0 18px 44px rgba(20, 43, 61, 0.11);
}
.terada-resilient-article .note-hero-image--terada img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  background: #f7f1e7;
}
.terada-resilient-article .note-hero-image--terada figcaption{
  margin: 0;
  padding: 12px 16px 14px;
  color: var(--muted);
  background: #ffffff;
  border-top: 1px solid var(--line);
  font-size: 0.88rem;
  line-height: 1.75;
}
.terada-resilient-article .civio-checklist label{
  display: block;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfdfe;
}
.terada-resilient-article .civio-checklist input:checked + .check-text{
  color: var(--blue-dark);
  font-weight: 800;
}
.terada-resilient-article .civio-action-row{
  margin: 26px 0;
  text-align: center;
}
.terada-resilient-article .civio-result-box{
  text-align: center;
}
.terada-resilient-article #civio-total-score{
  display: inline-block;
  margin: 0 8px;
  color: var(--blue-dark);
  font-size: 2.2rem;
  font-weight: 900;
}
.terada-resilient-article .civio-result-detail{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(31, 81, 100, .18);
  text-align: left;
}
.terada-resilient-article .civio-result-detail ul{
  margin: 10px 0 0;
  padding-left: 1.25em;
}
.terada-resilient-article .civio-result-detail li + li{
  margin-top: 8px;
}
@media (max-width: 760px){.terada-resilient-article .note-hero-image--terada{
    border-radius: 16px;
  }}
:root{
  --civio-black: #080808;
  --civio-ink: #151515;
  --civio-muted: #555b61;
  --civio-line: #e5e5e5;
  --civio-soft: #f7f7f7;
  --civio-red: #d80000;
  --civio-red-dark: #a90000;
  --civio-shadow: 0 18px 42px rgba(0, 0, 0, 0.07);
}
body{
  color: var(--civio-ink);
  background: #fff;
}
a{
  color: var(--civio-ink);
}
a:hover{
  color: var(--civio-red);
}
.hero{
  min-height: min(680px, calc(100vh - 66px));
  grid-template-columns: minmax(520px, 1.02fr) minmax(360px, 0.98fr);
  gap: clamp(28px, 4.4vw, 72px);
  align-items: center;
  padding-top: clamp(54px, 6.2vw, 86px);
  padding-bottom: clamp(48px, 5.8vw, 78px);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 42%, rgba(255, 255, 255, 0.76) 100%),
    radial-gradient(circle at 74% 42%, rgba(216, 0, 0, 0.10), transparent 22%),
    linear-gradient(180deg, #fff 0%, #f8f8f8 100%);
}
.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 72% 32%, rgba(216, 0, 0, 0.72) 0 3px, transparent 4px),
    radial-gradient(circle at 88% 58%, rgba(216, 0, 0, 0.68) 0 3px, transparent 4px),
    radial-gradient(circle at 63% 64%, rgba(0, 0, 0, 0.58) 0 2px, transparent 3px);
  background-size: 92px 92px, 92px 92px, 100% 100%, 100% 100%, 100% 100%;
  mask-image: linear-gradient(to right, transparent 35%, #000 100%);
  opacity: 0.75;
}
.hero::after{
  right: 3vw;
  bottom: 7vw;
  width: min(42vw, 560px);
  height: min(42vw, 560px);
  border-color: rgba(216, 0, 0, 0.18);
  box-shadow:
    0 0 0 58px rgba(216, 0, 0, 0.035),
    0 0 0 116px rgba(0, 0, 0, 0.025);
}
.hero .eyebrow{
  color: var(--civio-red);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.hero .eyebrow::after{
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin-top: 16px;
  background: var(--civio-red);
}
.hero h1{
  max-width: 12em;
  font-size: clamp(2.85rem, 4.35vw, 4.75rem);
  line-height: 1.17;
}
.lead{
  color: var(--civio-muted);
}
.hero .lead{
  max-width: 43rem;
  color: #4b4f54;
  font-size: 1rem;
  line-height: 2;
}
.button{
  min-height: 46px;
  padding: 11px 22px;
  border-color: var(--civio-red);
  border-radius: 0;
  background: var(--civio-red);
  color: #fff;
  box-shadow: none;
}
.button:hover{
  background: var(--civio-red-dark);
  border-color: var(--civio-red-dark);
  color: #fff;
  text-decoration: none;
}
.button.secondary,.button.text-button{
  border-color: transparent;
  background: transparent;
  color: var(--civio-ink);
}
.button.secondary:hover,.button.text-button:hover{
  color: var(--civio-red);
  background: transparent;
}
.button.secondary::after,.button.text-button::after{
  content: " ->";
  color: currentColor;
}
.civio-article .civio-hero{
  padding-top: clamp(70px, 7vw, 104px);
  padding-bottom: clamp(46px, 5vw, 72px);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.84)),
    radial-gradient(circle at 82% 22%, rgba(216, 0, 0, 0.10), transparent 28%),
    linear-gradient(180deg, #fff, #f8f8f8);
  border-bottom: 1px solid var(--civio-line);
}
.civio-title{
  color: var(--civio-black);
}
.check-hero .lead{
  color: rgba(255, 255, 255, 0.78);
}
.contact-cta .button,section.section.contact-cta .button,.check-cta .button,.check-hero .button{
  border-color: var(--civio-red);
  background: var(--civio-red);
  color: #fff;
}
.contact-cta .button:hover,section.section.contact-cta .button:hover,.check-cta .button:hover,.check-hero .button:hover{
  border-color: #fff;
  background: #fff;
  color: var(--civio-black);
}
.civio-card,.civio-reading-note,.question-dx-article .civio-toc,.question-dx-article .civio-interactive,.leviathan-simulator,.leviathan-tab-area,.currency-toggle,.currency-ecosystem,.note-hero-image--light{
  border-color: var(--civio-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.leviathan-asymmetry-grid .civio-card strong,.currency-interactive-title,.leviathan-interactive-title,.question-dx-article .civio-tab,.question-dx-article .civio-panel strong,.question-dx-article .civio-question-card h4{
  color: var(--civio-red);
}
.question-dx-article .civio-tab.is-active,.leviathan-tab.is-active,.currency-toggle-btn.is-active,.currency-eco-btn.is-active{
  border-color: var(--civio-red);
  background: var(--civio-black);
  color: #fff;
}
.question-dx-article .civio-question-list li::before,.currency-flow-step span{
  background: var(--civio-red);
}
@media (max-width: 1100px){.hero{
    grid-template-columns: minmax(440px, 1fr) minmax(300px, 0.85fr);
  }
.hero h1{
    font-size: clamp(2.65rem, 5.7vw, 4.15rem);
  }}
@media (max-width: 860px){.hero{
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 54px;
  }
.hero::before{
    opacity: 0.38;
    mask-image: linear-gradient(to bottom, transparent 10%, #000 100%);
  }}
@media (max-width: 540px){.hero{
    padding-inline: 20px;
  }
.hero h1{
    font-size: clamp(2.25rem, 12.8vw, 3.15rem);
  }
.button{
    width: 100%;
  }}
:root{
  --ink:#111111!important;--muted:#555555!important;--line:#e5e5e5!important;--paper:#ffffff!important;--soft:#f7f7f7!important;--sand:#f4f4f4!important;--blue:#b5121b!important;--blue-dark:#b5121b!important;
  --color-navy-900:#111111!important;--color-navy-800:#1a1a1a!important;--color-blue-700:#b5121b!important;--color-blue-500:#d20a12!important;--color-blue-100:#f5f5f5!important;--color-blue-50:#fbfbfb!important;--color-gray-900:#111111!important;--color-gray-700:#4f4f4f!important;--color-gray-500:#777777!important;--color-line:#e5e5e5!important;
  --civio-bg:#f8f8f8!important;--civio-paper:#ffffff!important;--civio-ink:#111111!important;--civio-muted:#555555!important;--civio-line:#e5e5e5!important;--civio-soft:#f6f6f6!important;--civio-key:#b5121b!important;--civio-key-bg:#fff3f4!important;--civio-accent:#b5121b!important;
  --accent:#b5121b!important;--accent-soft:#fff3f4!important;
}
body{background:#ffffff!important;color:#111111!important;}
a{color:#b5121b;}
.hero,.civio-hero,.time-returning-embedded-page .hero{background:linear-gradient(135deg,#ffffff 0%,#f6f6f6 100%)!important;}
.hero::before{background-image:linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px)!important;}
.hero::after{border-color:rgba(181,18,27,.16)!important;box-shadow:0 0 0 80px rgba(181,18,27,.02),0 0 0 160px rgba(181,18,27,.012)!important;}
.civio-article,.article,.interactive-panel,.data-card,.case-display,.civio-box,.civio-note{border-color:#e5e5e5!important;background:#ffffff!important;box-shadow:0 10px 28px rgba(17,17,17,.055)!important;}
.tab-btn,.tab-button,.case-button,.civio-label{border-color:#e5e5e5!important;background:#fff3f4!important;color:#b5121b!important;}
.button,.metric-btn.active,.tab-btn.active,.tab-button.active,.case-button.active{background:#b5121b!important;border-color:#b5121b!important;color:#ffffff!important;}
.button.secondary,.button.text-button{background:#ffffff!important;border-color:#111111!important;color:#111111!important;}
.button.secondary:hover,.button.text-button:hover{border-color:#b5121b!important;color:#b5121b!important;}
.civio-references h3,.panel-title,.matrix-row strong,.currency-card strong,.label{color:#b5121b!important;}
.civio-hero,.matrix-head,.tab-content,.toc,.body,.time-returning-embedded-page{background:#ffffff!important;}
.article-footer-nav{display:flex!important;flex-wrap:wrap!important;gap:12px!important;justify-content:center!important;align-items:center!important;width:min(1080px,calc(100% - 40px))!important;margin:34px auto 0!important;padding-top:22px!important;border-top:1px solid #e5e5e5!important;}
.article-footer-nav .button{min-width:160px!important;}
.check-hero .lead,.page-hero.check-hero .lead{
  color:#111111!important;
  opacity:1!important;
  text-shadow:none!important;
}
.check-hero .lead,.page-hero.check-hero .lead{
  color:#555555!important;
}
.page-hero .lead,.contact-cta .lead,.section.alt .lead{
  color:#111111!important;
  text-shadow:none!important;
  opacity:1!important;
}
.page-hero .lead,.contact-cta .lead,.section.alt .lead{
  color:#555555!important;
}
.contact-cta .button,.page-hero .button{
  color:#ffffff!important;
}
.contact-cta .button.secondary,.page-hero .button.secondary{
  color:#111111!important;
}
.contact-cta .button.secondary:hover,.page-hero .button.secondary:hover{
  color:#b5121b!important;
}
