/*
 * Kybervega design system — loaded after Blocksy.
 * Tokens come from the Kybervega brand guide (Sept 2025).
 * Structure: 1 fonts · 2 tokens · 3 base type · 4 buttons/links · 5 header · 6 footer
 *            7 layout sections · 8 components · 9 consent banner · 10 utilities
 */

/* 1 — FONTS (self-hosted, latin subset) ---------------------------------- */
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto-400.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/roboto-400-italic.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/roboto-500.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/roboto-700.woff2) format("woff2")}
/* metric-matched fallbacks keep layout shift low while fonts load */
@font-face{font-family:"Poppins Fallback";src:local("Arial");size-adjust:112%;ascent-override:93%;descent-override:31%;line-gap-override:8%}
@font-face{font-family:"Roboto Fallback";src:local("Arial");size-adjust:100%;ascent-override:93%;descent-override:24%;line-gap-override:0%}

/* 2 — TOKENS ------------------------------------------------------------- */
:root{
  --kv-indigo:#602ff7;
  --kv-indigo-600:#5127d1;
  --kv-orange:#ff914d;
  --kv-orange-600:#e06f21;
  --kv-yellow:#ffde59;
  --kv-ink:#102136;
  --kv-text:#4d5d6d;
  --kv-line:#e7ebee;
  --kv-surface:#f3f5f7;
  --kv-white:#fff;
  --kv-font-head:Poppins,"Poppins Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --kv-font-body:Roboto,"Roboto Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --kv-container:1160px;
  --kv-gutter:clamp(1.25rem,4vw,2rem);
  --kv-radius:8px;
  --kv-radius-lg:12px;
  --kv-section:clamp(3.25rem,7vw,5.5rem);
  --kv-measure:44rem;
  --kv-header-h:76px;
}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--kv-header-h) + 1rem)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* 3 — BASE TYPE ---------------------------------------------------------- */
html body{font-family:var(--kv-font-body);font-size:1rem;line-height:1.6;color:var(--kv-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6,
html body .wp-block-heading,html body .page-title,html body .entry-title{font-family:var(--kv-font-head);color:var(--kv-ink);line-height:1.25;letter-spacing:-.005em;margin:0}
html body h1{font-size:clamp(2rem,1.6rem + 1.5vw,2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}
html body h2{font-size:clamp(1.625rem,1.4rem + .95vw,2.1875rem);font-weight:600;line-height:1.22;text-wrap:balance}
html body h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.875rem);font-weight:600;line-height:1.28}
html body h4{font-size:clamp(1.2rem,1.1rem + .35vw,1.5rem);font-weight:500}
html body h5{font-size:1.25rem;font-weight:500}
html body h6{font-size:1rem;font-weight:500}
html body p{margin:0}
html body strong{color:var(--kv-ink);font-weight:500}
html body .entry-content li{line-height:1.6}
html body ::selection{background:var(--kv-yellow);color:var(--kv-ink)}

/* 4 — BUTTONS & LINKS ---------------------------------------------------- */
html body .entry-content a:not(.wp-block-button__link):not(.kv-plain),
html body .kv-footer a.kv-inline{color:var(--kv-indigo);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
html body .entry-content a:not(.wp-block-button__link):not(.kv-plain):hover{color:var(--kv-indigo-600);text-decoration-thickness:2px}
html body :focus-visible{outline:3px solid var(--kv-indigo);outline-offset:3px;border-radius:2px}
html body .kv-section--ink :focus-visible{outline-color:var(--kv-yellow)}
html body .wp-block-button__link,
html body .ct-header .ct-button,
html body .kv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.8em 1.6em;
  font-family:var(--kv-font-head);font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;text-align:center;
  color:#fff;background:var(--kv-indigo);border:2px solid var(--kv-indigo);border-radius:var(--kv-radius);box-shadow:none;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease}
html body .wp-block-button__link:hover,html body .ct-header .ct-button:hover,html body .kv-btn:hover{color:#fff;background:var(--kv-indigo-600);border-color:var(--kv-indigo-600)}
html body .is-style-outline>.wp-block-button__link{color:var(--kv-indigo);background:transparent;border-color:var(--kv-indigo)}
html body .is-style-outline>.wp-block-button__link:hover{color:var(--kv-indigo-600);background:rgba(96,47,247,.07);border-color:var(--kv-indigo-600)}
html body .is-style-kv-accent>.wp-block-button__link{color:var(--kv-ink);background:var(--kv-orange);border-color:var(--kv-orange)}
html body .is-style-kv-accent>.wp-block-button__link:hover{color:var(--kv-ink);background:var(--kv-orange-600);border-color:var(--kv-orange-600)}
html body .kv-section--ink .is-style-outline>.wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.7)}
html body .kv-section--ink .is-style-outline>.wp-block-button__link:hover{color:#fff;background:rgba(255,255,255,.1);border-color:#fff}
html body .wp-block-buttons{gap:.75rem 1rem}

/* 5 — HEADER (Blocksy header builder, restyled) -------------------------- */
html body [data-header] .ct-header [data-row*="middle"]{background:#fff;box-shadow:0 1px 0 var(--kv-line)}
html body .ct-header .site-title,html body .ct-header .site-title a{font-family:var(--kv-font-head);font-size:1.125rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--kv-indigo)}
html body .ct-header .site-branding{display:flex;align-items:center;gap:.65rem}
html body .ct-header .site-branding .site-logo-container{flex:none;margin:0}
html body .ct-header .site-branding img{height:44px;width:auto;max-width:none;max-height:none}
@media (max-width:689px){html body .ct-header .site-branding img{height:38px}html body .ct-header .site-title,html body .ct-header .site-title a{font-size:1rem;letter-spacing:.14em}}
html body .ct-header .ct-menu-link,html body .ct-header .menu>li>a{font-family:var(--kv-font-head);font-size:.9375rem;font-weight:500;color:var(--kv-ink);letter-spacing:0}
html body .ct-header .menu>li>a:hover,html body .ct-header .menu>li.current-menu-item>a,html body .ct-header .menu>li.current-menu-ancestor>a{color:var(--kv-indigo)}
html body .ct-header .ct-button{min-height:44px;padding:.6em 1.25em;font-size:.9375rem}
html body .ct-header .ct-header-trigger{color:var(--kv-ink)}
html body #offcanvas .ct-panel-inner,html body #offcanvas .ct-panel-content{background:#fff}
html body #offcanvas .menu a,html body #offcanvas .ct-menu-link{font-family:var(--kv-font-head);font-size:1.25rem;font-weight:500;color:var(--kv-ink)}
html body #offcanvas .menu a:hover{color:var(--kv-indigo)}
html body #offcanvas .ct-toggle-close{color:var(--kv-ink)}

/* 6 — FOOTER ------------------------------------------------------------- */
html body [data-footer] .ct-footer,html body .ct-footer{background:var(--kv-surface);color:var(--kv-text)}
html body .ct-footer [data-row]{background:transparent}
html body .ct-footer [data-row*="middle"]{padding-block:clamp(2.5rem,5vw,4rem) 1rem}
html body .ct-footer [data-row*="bottom"]{border-top:1px solid var(--kv-line)}
html body .ct-footer .kv-footer-title{font-family:var(--kv-font-head);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--kv-ink);margin:0 0 .9rem}
html body .ct-footer .kv-footer-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
html body .ct-footer a{color:var(--kv-text);text-decoration:none}
html body .ct-footer a:hover{color:var(--kv-indigo);text-decoration:underline;text-underline-offset:.2em}
html body .ct-footer .kv-footer-brand{font-family:var(--kv-font-head);font-weight:600;font-size:1.125rem;letter-spacing:.16em;color:var(--kv-indigo);text-transform:uppercase;margin:0 0 .75rem}
html body .ct-footer .kv-footer-note{font-size:.9375rem;max-width:22rem}
html body .ct-footer .kv-footer-note + .kv-footer-note{margin-top:.75rem}
html body .ct-footer .wp-block-social-links{gap:.5rem;margin-top:1rem}
html body .ct-footer .wp-block-social-links .wp-social-link.wp-social-link{background:transparent;color:var(--kv-ink)}
html body .ct-footer .wp-block-social-links .wp-social-link svg{fill:currentColor}
html body .ct-footer .wp-block-social-links .wp-social-link a{color:var(--kv-ink);padding:.5rem;border:1px solid var(--kv-line);border-radius:var(--kv-radius);background:#fff}
html body .ct-footer .wp-block-social-links .wp-social-link a:hover{color:var(--kv-indigo);border-color:var(--kv-indigo)}
html body .ct-footer .ct-footer-copyright{font-size:.875rem}
@media (max-width:999px){html body .ct-footer [data-row*="middle"] .ct-container>div{row-gap:2rem}}

/* 7 — PAGE LAYOUT -------------------------------------------------------- */
html body .entry-content>.kv-section{margin-block:0}
html body .kv-section{padding-block:var(--kv-section);background:#fff;position:relative}
html body .kv-section--alt{background:var(--kv-surface)}
html body .kv-section--ink{background:var(--kv-ink);color:#cdd5df}
html body .kv-section--ink h1,html body .kv-section--ink h2,html body .kv-section--ink h3,html body .kv-section--ink strong{color:#fff}
html body .kv-section--ink a:not(.wp-block-button__link){color:#fff}
/* same width logic as Blocksy's .ct-container so header, content and footer edges line up */
html body .kv-container{width:var(--theme-container-width,min(100%,90vw));max-width:var(--theme-normal-container-max-width,1200px);margin-inline:auto;padding-inline:0;box-sizing:border-box}
html body .kv-container>*+*{margin-top:1.25rem}
/* baseline vertical rhythm for groups nested in sections (zero specificity so components can override) */
html body .kv-section :where(.wp-block-group:not(.kv-grid):not(.kv-split):not(.kv-container):not(.kv-scope))>*+*{margin-top:1rem}
html body .kv-container>.kv-intro+*,html body .kv-container>.kv-intro~*:not(.kv-intro){margin-top:clamp(1.75rem,3vw,2.5rem)}
html body .kv-prose{max-width:var(--kv-measure)}
html body .kv-prose>*+*{margin-top:1.1rem}
html body .kv-prose>h2{margin-top:2.5rem}
html body .kv-prose>h3{margin-top:1.9rem}
html body .kv-prose ul,html body .kv-prose ol,html body .kv-container>ul,html body .kv-container>ol{padding-left:1.25rem}
html body .kv-prose li+li,html body .kv-container>ul li+li{margin-top:.4rem}
html body .kv-prose li::marker{color:var(--kv-indigo)}

/* hero */
html body .kv-hero{background:#fff;padding-block:clamp(3rem,7vw,5.5rem) clamp(2.75rem,6vw,4.5rem);border-bottom:1px solid var(--kv-line);position:relative;overflow:hidden}
html body .kv-hero .kv-container{position:relative;z-index:1}
html body .kv-hero .kv-container>*+*{margin-top:1.25rem}
html body .kv-hero h1{max-width:20ch}
html body .kv-hero--home h1{max-width:18ch;font-size:clamp(2.125rem,1.5rem + 2.4vw,3.25rem)}
html body .kv-hero .kv-lead{max-width:40rem}
html body .kv-hero--home::after{content:"";position:absolute;right:-4%;top:50%;width:min(52vw,640px);aspect-ratio:640/520;transform:translateY(-50%);background:url(../img/circuit.svg) no-repeat center/contain;opacity:.13;pointer-events:none}
@media (max-width:781px){html body .kv-hero--home::after{width:110vw;opacity:.07;right:-40%;top:auto;bottom:-6%;transform:none}}
html body .kv-hero .kv-meta{margin-top:1.5rem}
html body .kv-hero .wp-block-buttons{margin-top:1.75rem}

/* 8 — COMPONENTS --------------------------------------------------------- */
html body .kv-eyebrow{font-family:var(--kv-font-head);font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--kv-indigo);margin:0}
html body .kv-lead{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.6;color:var(--kv-text)}
html body .kv-section--ink .kv-lead{color:#cdd5df}
html body .kv-intro{max-width:var(--kv-measure)}
html body .kv-intro>*+*{margin-top:.9rem}
html body .kv-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;font-size:.875rem;color:var(--kv-text);margin:0}
html body .kv-meta span+span::before{content:"";display:inline-block;width:4px;height:4px;margin-right:1.25rem;vertical-align:middle;border-radius:50%;background:var(--kv-yellow);box-shadow:0 0 0 1px rgba(16,33,54,.25)}
html body .kv-meta a{color:var(--kv-indigo)}

/* grids: hairline items, not boxed cards */
html body .kv-grid{display:grid;gap:clamp(1.5rem,3vw,2.25rem) clamp(1.5rem,3vw,2.5rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr))}
html body .kv-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
html body .kv-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr))}
@media (min-width:1000px){html body .kv-grid--3{grid-template-columns:repeat(3,1fr)}html body .kv-grid--2{grid-template-columns:repeat(2,1fr)}}
html body .kv-grid>*{margin:0}
html body .kv-item{border-top:2px solid var(--kv-ink);padding-top:1.1rem}
html body .kv-section--alt .kv-item{border-top-color:var(--kv-ink)}
html body .kv-item>*+*{margin-top:.55rem}
html body .kv-item .wp-block-heading{font-size:1.1875rem;font-weight:600;line-height:1.3}
html body .kv-item p{font-size:1rem}
html body .kv-item .kv-item__tag{font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--kv-indigo)}
html body .kv-item ul{padding-left:1.1rem;margin:.6rem 0 0}
html body .kv-item li+li{margin-top:.25rem}
html body .kv-item li{font-size:.9375rem}

/* numbered steps */
html body ol.kv-steps{list-style:none;counter-reset:kv;padding:0;margin:0;display:grid;gap:1.1rem;max-width:var(--kv-measure)}
html body ol.kv-steps>li{counter-increment:kv;position:relative;padding-left:3.25rem;min-height:2.25rem}
html body ol.kv-steps>li::before{content:counter(kv);position:absolute;left:0;top:-.1rem;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--kv-indigo);color:#fff;font-family:var(--kv-font-head);font-weight:600;font-size:.9375rem;display:grid;place-items:center}

/* tables (decision / source tables) */
html body .wp-block-table.kv-table{margin:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--kv-line);border-radius:var(--kv-radius-lg);background:#fff}
html body .kv-table table{width:100%;min-width:36rem;border-collapse:collapse;font-size:.9375rem;line-height:1.5;border:0;margin:0}
html body .kv-table th,html body .kv-table td{padding:.9rem 1.1rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--kv-line)}
html body .kv-table thead th{font-family:var(--kv-font-head);font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--kv-ink);background:var(--kv-surface);border-bottom:1px solid var(--kv-line)}
html body .kv-table tbody tr:last-child td{border-bottom:0}
html body .kv-table tbody td:first-child{font-weight:500;color:var(--kv-ink);min-width:11rem}
html body .kv-table-note{font-size:.875rem;margin-top:.9rem}

/* faq */
html body .kv-faq{max-width:var(--kv-measure);border-top:1px solid var(--kv-line)}
html body .kv-faq .wp-block-details{margin:0;border-bottom:1px solid var(--kv-line);padding:0}
html body .kv-faq .wp-block-details summary{cursor:pointer;list-style:none;position:relative;padding:1.1rem 2.5rem 1.1rem 0;font-family:var(--kv-font-head);font-size:1.0625rem;font-weight:500;color:var(--kv-ink);line-height:1.4}
html body .kv-faq .wp-block-details summary::-webkit-details-marker{display:none}
html body .kv-faq .wp-block-details summary::after{content:"";position:absolute;right:.35rem;top:50%;width:.6rem;height:.6rem;margin-top:-.45rem;border-right:2px solid var(--kv-indigo);border-bottom:2px solid var(--kv-indigo);transform:rotate(45deg);transition:transform .2s ease}
html body .kv-faq .wp-block-details[open] summary::after{transform:rotate(-135deg);margin-top:-.15rem}
html body .kv-faq .wp-block-details[open]>*:not(summary){animation:kv-fade .2s ease}
html body .kv-faq .wp-block-details>p{padding:0 2.5rem 1.25rem 0;margin:0}
@keyframes kv-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* callout (disclosure / notes) */
html body .kv-callout{max-width:var(--kv-measure);padding:1.15rem 1.35rem;background:var(--kv-surface);border-radius:var(--kv-radius)}
html body .kv-section--alt .kv-callout{background:#fff}
html body .kv-callout>*+*{margin-top:.5rem}
html body .kv-callout .kv-callout__title{font-family:var(--kv-font-head);font-size:.9375rem;font-weight:600;color:var(--kv-ink)}
html body .kv-callout p{font-size:.9688rem}

/* on-page jump list */
html body .kv-toc{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:1rem 0 0;border-top:1px solid var(--kv-line);font-size:.9375rem}
html body .kv-toc a{color:var(--kv-ink);text-decoration:none;font-weight:500;border-bottom:2px solid transparent;padding-bottom:2px}
html body .kv-toc a:hover{color:var(--kv-indigo);border-bottom-color:var(--kv-indigo)}
html body .kv-toc-label{font-family:var(--kv-font-head);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--kv-ink);margin:0 0 .6rem}

/* featured link block (home) */
html body .kv-feature{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:1fr;padding:clamp(1.5rem,3.5vw,2.5rem);border:1px solid var(--kv-line);border-radius:var(--kv-radius-lg);background:#fff}
@media (min-width:900px){html body .kv-feature{grid-template-columns:1.15fr 1fr;align-items:center}}
html body .kv-feature>*{margin:0}
html body .kv-feature ul{margin:.75rem 0 0;padding-left:1.2rem}
html body .kv-feature li+li{margin-top:.4rem}
html body .kv-feature li::marker{color:var(--kv-indigo)}

/* solution list (hub) */
html body .kv-solution{display:grid;gap:.6rem;padding:1.5rem 0;border-top:1px solid var(--kv-line)}
html body .kv-solution:last-of-type{border-bottom:1px solid var(--kv-line)}
html body .kv-solution>*{margin:0}
html body .kv-solution .wp-block-heading a{color:var(--kv-ink);text-decoration:none}
html body .kv-solution .wp-block-heading a:hover{color:var(--kv-indigo)}
html body .kv-solution .kv-more{font-family:var(--kv-font-head);font-weight:500;font-size:.9375rem}

/* big mailto */
html body .kv-mail{font-family:var(--kv-font-head);font-size:clamp(1.25rem,1rem + 1.6vw,2rem);font-weight:600;line-height:1.3;word-break:break-word}
html body .entry-content a.kv-mail{color:var(--kv-indigo);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}

/* two-column intro layout */
html body .kv-split{display:grid;gap:clamp(1.5rem,4vw,4rem);grid-template-columns:1fr}
@media (min-width:900px){html body .kv-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
html body .kv-split>*{margin:0}
html body .kv-split>*+*{margin-top:0}
html body .kv-scope{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
html body .kv-scope li{border-top:1px solid var(--kv-line);padding-top:1rem}
html body .kv-scope li:first-child{border-top:0;padding-top:0}
html body .kv-scope strong{display:block;font-family:var(--kv-font-head);font-size:1.0625rem;font-weight:600;color:var(--kv-ink)}

/* legal documents */
html body .kv-legal h2{font-size:1.375rem;margin-top:2.25rem}
html body .kv-legal h2:first-child{margin-top:0}
html body .kv-legal .kv-meta{margin-bottom:1.5rem}
html body .kv-legal table{margin-top:1rem}

/* 404 */
html body .kv-404-code{font-family:var(--kv-font-head);font-weight:700;font-size:clamp(4rem,12vw,7rem);line-height:1;color:var(--kv-indigo);margin:0;letter-spacing:-.03em}


/* 9 — CONSENT UI (Complianz banner and "Manage consent" tab: Signal Sheet type and touch sizes) ---------- */
/* Complianz reads its palette from these variables; overriding them keeps the plugin's own CSS untouched.
   Accept and Deny are both solid, same size and weight: refusing is exactly as easy as accepting. */
html:root{--cmplz_banner_width:460px;--cmplz_banner_background_color:#fff;--cmplz_banner_border_color:#102136;--cmplz_banner_border_width:2px 2px 2px 2px;--cmplz_banner_border_radius:4px 4px 4px 4px;--cmplz_title_font_size:16px;--cmplz_text_color:#102136;--cmplz_hyperlink_color:#602ff7;--cmplz_text_font_size:14px;--cmplz_link_font_size:13px;--cmplz_category_body_font_size:13px;--cmplz_button_accept_background_color:#602ff7;--cmplz_button_accept_border_color:#602ff7;--cmplz_button_accept_text_color:#fff;--cmplz_button_deny_background_color:#102136;--cmplz_button_deny_border_color:#102136;--cmplz_button_deny_text_color:#fff;--cmplz_button_settings_background_color:#fff;--cmplz_button_settings_border_color:#102136;--cmplz_button_settings_text_color:#102136;--cmplz_button_border_radius:4px 4px 4px 4px;--cmplz_button_font_size:14px;--cmplz_slider_active_color:#602ff7;--cmplz_slider_inactive_color:#5b6b7c;--cmplz_slider_bullet_color:#fff}
/* Opt-out mode: Complianz ships the Deny and View-preferences buttons in the banner markup but hides them with display:none.
   Showing them gives visitors a working "opt out" and a preferences panel, using the plugin's own handlers. */
.cmplz-cookiebanner.optout .cmplz-buttons .cmplz-btn.cmplz-deny,.cmplz-cookiebanner.optout .cmplz-buttons .cmplz-btn.cmplz-view-preferences{display:block}
.cmplz-cookiebanner,#cmplz-manage-consent .cmplz-manage-consent{font-family:var(--kv-font-body)}
.cmplz-cookiebanner .cmplz-title,.cmplz-cookiebanner .cmplz-btn,#cmplz-manage-consent .cmplz-manage-consent{font-family:var(--kv-font-head)}
.cmplz-cookiebanner .cmplz-title{font-weight:600;letter-spacing:-.01em}
.cmplz-cookiebanner .cmplz-btn{min-height:44px;font-weight:500;font-size:.875rem}
.cmplz-cookiebanner .cmplz-btn:focus-visible,.cmplz-cookiebanner a:focus-visible,#cmplz-manage-consent .cmplz-manage-consent:focus-visible{outline:3px solid var(--kv-yellow);outline-offset:2px}
@media (max-width:640px){
.cmplz-cookiebanner{max-width:calc(100vw - 1rem)}
/* compact on phones so the notice stays restrained: two primary buttons on one row, preferences below */
.cmplz-cookiebanner.optout .cmplz-buttons{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:.5rem;align-items:stretch;height:auto}
.cmplz-cookiebanner.optout .cmplz-buttons .cmplz-btn{box-sizing:border-box;margin:0;height:auto;min-height:44px;max-width:none;padding:.45rem .6rem;line-height:1.2}
.cmplz-cookiebanner.optout .cmplz-buttons .cmplz-btn.cmplz-accept,.cmplz-cookiebanner.optout .cmplz-buttons .cmplz-btn.cmplz-deny{flex:1 1 calc(50% - .25rem);width:auto}
.cmplz-cookiebanner.optout .cmplz-buttons .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner.optout .cmplz-buttons .cmplz-btn.cmplz-save-preferences{flex:1 1 100%;width:auto}
.cmplz-cookiebanner .cmplz-message{font-size:13px;line-height:1.45}
}

/* No notice on arrival: the banner and the floating tab stay hidden. The footer "Cookie Settings" link sets html.kv-cs-open
   (signal.js) to show the banner on request. Analytics stays on by default; Complianz remains the preference backend. */
.cmplz-cookiebanner,#cmplz-manage-consent{display:none!important}
html.kv-cs-open .cmplz-cookiebanner.cmplz-show{display:block!important}

/* 10 — UTILITIES --------------------------------------------------------- */
html body .kv-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html body .kv-no-margin{margin:0!important}

/* 11 — SYSTEM v1.2 (Batch A): reading scale, decision devices, page components ------------------
   Appended so it overrides sections 3–8. All components are ordinary Gutenberg blocks + these classes:
   .kv-hero .kv-crumb .kv-jump .kv-choose .kv-split .kv-matrix .kv-pathway .kv-models .kv-criteria
   .kv-callout .kv-faq .kv-related .kv-sources. rem-based: type, spacing and container scale together. */
:root{--kv-text:#3a4a5c;--kv-header-h:88px;--kv-measure:68ch;--kv-line-strong:#cbd3dc;--kv-indigo-700:#4a20c4;--kv-tint:#f6f4ff;--kv-tint-line:#ddd5fb;--kv-section:clamp(3.5rem,7vw,6rem)}
html{scroll-padding-top:4.75rem}
html body{--theme-normal-container-max-width:75rem}
@media (min-width:1500px){html{font-size:106.25%}}
@media (min-width:1900px){html{font-size:112.5%}}
html body{font-size:1.0625rem;line-height:1.65}
html body h1{font-size:clamp(2.375rem,1.7rem + 2.6vw,3.875rem);line-height:1.06;letter-spacing:-.022em}
html body h2{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem);line-height:1.18;letter-spacing:-.012em}
html body h3{font-size:clamp(1.1875rem,1.1rem + .35vw,1.4375rem);line-height:1.3}
html body .kv-section :where(p,li){max-width:72ch}
html body .kv-lead{font-size:clamp(1.1875rem,1.05rem + .4vw,1.375rem);line-height:1.55;max-width:60ch}
html body .kv-section{padding-block:var(--kv-section)}
html body .kv-container>h3{margin-top:2.75rem}
html body .kv-container>h3+*{margin-top:.85rem}
html body .kv-container>h2+.kv-lead{margin-top:1rem}
html body .kv-container>.kv-lead+*{margin-top:2rem}

/* buttons */
html body .wp-block-button__link,html body .kv-btn{min-height:52px;font-size:1.0625rem;padding:.8em 1.75em}

/* header: larger mark and wordmark.
   Logo lockup (owner 2026-10-13, Logos for Kybervega/FINAL 13 Oct 2026 Kybervega Logo Symbol With Site Wordmark/kybervega-logo-lockup-specification.json): at 1280px and wider the symbol is
   4x the wordmark's font size (96px beside 24px), both on one vertical centre. Narrower windows use the compact 64px symbol.
   The email footer logo is built from the same specification. Blocksy's generated global.css sets the row height and the logo
   box, so both are set here on selectors that outrank it; the row grid becomes logo / menu / button so the menu can never sit
   under the wordmark (it did between 1000px and 1200px before this change). Measured on the live DOM at 320 to 1920px. */
html body[data-header] .ct-header [data-row*="middle"]{--height:108px;min-height:108px}
html body .ct-header .site-branding{gap:.75rem;align-items:center}
html body .ct-header [data-id="logo"] .site-logo-container{--logo-max-height:96px;height:96px;line-height:0}
html body .ct-header .site-branding img{height:96px}
html body .ct-header .site-title,html body .ct-header .site-title a{font-size:1.5rem;letter-spacing:.13em;line-height:1}
html body .ct-header .ct-menu-link,html body .ct-header .menu>li>a{font-size:1.0625rem}
html body .ct-header .ct-button{min-height:48px;padding:.65em 1.5em;font-size:1rem}
@media (min-width:1000px){html body #header [data-row*="middle"][data-column-set="3"]>.ct-container{grid-template-columns:auto minmax(0,1fr) auto;column-gap:1.25rem}}
@media (max-width:1279px){
  html body[data-header] .ct-header [data-row*="middle"]{--height:80px;min-height:80px}
  html body .ct-header .site-branding{gap:.5rem}
  html body .ct-header [data-id="logo"] .site-logo-container{--logo-max-height:64px;height:64px}
  html body .ct-header .site-branding img{height:64px}
}
@media (min-width:1000px) and (max-width:1279px){
  html body .ct-header .site-title,html body .ct-header .site-title a{font-size:1.1875rem;letter-spacing:.12em}
  html body .ct-header .ct-menu-link,html body .ct-header .menu>li>a{font-size:1rem}
}
@media (min-width:1000px) and (max-width:1199px){
  html body #header [data-row*="middle"][data-column-set="3"]>.ct-container{column-gap:.5rem}
  html body .ct-header nav .menu>li>a{padding-inline:10px;font-size:.9375rem}
  html body .ct-header .ct-button{padding:.6em 1em;font-size:.9375rem}
}
@media (max-width:689px){
  html body[data-header] .ct-header [data-row*="middle"]{--height:76px;min-height:76px}
  html body .ct-header .site-title,html body .ct-header .site-title a{font-size:1.1875rem;letter-spacing:.12em}
}

/* hero: breadcrumb (not an eyebrow), title, lead, meta; circuit motif on the empty side */
html body .kv-hero{padding-block:clamp(2.75rem,5.5vw,4.75rem) clamp(2.5rem,5vw,4rem)}
html body .kv-hero h1{max-width:20ch;font-weight:700}
html body .kv-hero .kv-lead{max-width:46rem}
html body .entry-content .kv-crumb,html body .kv-crumb{font-size:.9375rem;color:var(--kv-text);margin:0 0 1.25rem}
html body .entry-content .kv-crumb a{color:var(--kv-text);text-decoration:none;border-bottom:1px solid var(--kv-line-strong)}
html body .entry-content .kv-crumb a:hover{color:var(--kv-indigo-700);border-bottom-color:var(--kv-indigo)}
html body .kv-hero:not(.kv-hero--home)::after{content:"";position:absolute;right:-3%;top:50%;width:min(44vw,600px);aspect-ratio:640/520;transform:translateY(-50%);background:url(../img/circuit.svg) no-repeat center/contain;opacity:.16;pointer-events:none}
@media (max-width:781px){html body .kv-hero:not(.kv-hero--home)::after{width:90vw;right:-45%;top:auto;bottom:-10%;transform:none;opacity:.08}}

/* sticky in-page navigation (a native Group + List) */
html body .kv-jump{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--kv-line-strong);padding:0}
html body.admin-bar .kv-jump{top:32px}
html body .kv-jump .kv-container{display:flex;align-items:center;gap:1.5rem;padding-block:0}
html body .kv-jump .kv-container>*{margin:0}
html body .kv-jump__label{font-family:var(--kv-font-head);font-size:.875rem;font-weight:600;color:var(--kv-ink);white-space:nowrap;flex:none}
html body .kv-jump__list{display:flex;gap:0 1.6rem;list-style:none;padding:0;overflow-x:auto;flex:1;scrollbar-width:none;max-width:none}
html body .kv-jump__list::-webkit-scrollbar{display:none}
html body .kv-jump__list li{flex:none;margin:0}
html body .entry-content .kv-jump__list a{display:block;padding:.95rem 0;font-size:.9375rem;font-weight:500;color:var(--kv-text);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}
html body .entry-content .kv-jump__list a:hover,html body .entry-content .kv-jump__list a:focus-visible{color:var(--kv-ink);border-bottom-color:var(--kv-indigo)}
@media (max-width:781px){html body .kv-jump__label{display:none}}

/* short answer: ruled rows (Group > Heading + Paragraph), label left / reasoning right */
html body .kv-choose{margin:2.25rem 0 0;border-top:2px solid var(--kv-ink)}
html body .kv-choose__row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:.4rem 2.75rem;padding:1.35rem 0;border-bottom:1px solid var(--kv-line-strong)}
html body .kv-choose__row>*{margin:0}
html body .kv-choose__row h3{font-size:1.1875rem;line-height:1.3;margin:0}
html body .kv-choose__row p{max-width:none}
@media (max-width:781px){html body .kv-choose__row{grid-template-columns:minmax(0,1fr)}}

/* two-column section: sticky heading left, reading column right */
html body .kv-split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1.5rem clamp(2rem,5vw,5rem);align-items:start}
html body .kv-split__head{position:sticky;top:5rem;align-self:start}
html body .kv-split__body>*+*{margin-top:1.1rem}
html body .kv-split__body>h3{margin-top:2.25rem}
html body .kv-split__body>h3+*{margin-top:.75rem}
html body .kv-split__body ul,html body .kv-split__body ol.wp-block-list:not(.kv-steps){padding-left:1.25rem}
html body .kv-split__body li+li{margin-top:.55rem}
html body .kv-split__body li::marker{color:var(--kv-indigo)}
html body .kv-split__body .kv-matrix{margin-top:1.5rem}
@media (max-width:899px){html body .kv-split{grid-template-columns:minmax(0,1fr)}html body .kv-split__head{position:static}}
html body .kv-split__head,html body .kv-split__body{min-width:0}

/* decision matrix: ink header row is the Kybervega table signature */
html body .wp-block-table.kv-matrix{margin:2rem 0 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--kv-line-strong);border-radius:8px;background:#fff;scrollbar-color:var(--kv-line-strong) transparent}
html body .kv-matrix table{width:100%;min-width:40rem;border-collapse:separate;border-spacing:0;font-size:1rem;line-height:1.5;font-variant-numeric:tabular-nums;border:0;margin:0}
html body .kv-matrix--wide table{min-width:66rem}
html body .kv-matrix th,html body .kv-matrix td{padding:1.05rem 1.2rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--kv-line)}
html body .kv-matrix thead th{background:var(--kv-ink);color:#fff;font-family:var(--kv-font-head);font-size:.9375rem;font-weight:600;line-height:1.35;border-bottom:0;text-transform:none;letter-spacing:0;vertical-align:bottom}
html body .kv-matrix tbody td:first-child{font-family:var(--kv-font-head);font-weight:600;color:var(--kv-ink);min-width:11rem;background:#fbfcfd;position:sticky;left:0;box-shadow:1px 0 0 var(--kv-line)}
html body .kv-matrix thead th:first-child{position:sticky;left:0;z-index:2}
html body .kv-matrix tbody tr:last-child td{border-bottom:0}
html body .kv-matrix tbody tr:hover td{background:var(--kv-tint)}
html body .kv-matrix td strong{color:var(--kv-indigo-700);font-weight:600}
html body .kv-matrix figcaption{position:sticky;left:0;padding:.85rem 1.2rem;font-size:.875rem;line-height:1.5;color:var(--kv-text);background:#fff;border-top:1px solid var(--kv-line);margin:0;text-align:left}

/* choose-a-path (CMS): numbered questions on a rail, outcomes beside them */
html body .kv-pathway{display:grid;margin-top:2.5rem;counter-reset:kvstep}
html body .kv-step{display:grid;grid-template-columns:minmax(0,4.5fr) minmax(0,7.5fr);gap:1.25rem clamp(2rem,5vw,4.5rem);position:relative;padding-bottom:2.75rem;counter-increment:kvstep;align-items:start}
html body .kv-step:last-child{padding-bottom:0}
html body .kv-step::before{content:"";position:absolute;left:1.0625rem;top:2.6rem;bottom:.35rem;width:2px;background:var(--kv-line-strong)}
html body .kv-step:last-child::before{display:none}
html body .kv-q{position:relative;padding-left:3.5rem;min-height:2.25rem}
html body .kv-q::before{content:counter(kvstep);position:absolute;left:0;top:0;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--kv-ink);color:#fff;display:grid;place-items:center;font-family:var(--kv-font-head);font-weight:600;font-size:.9375rem}
html body .kv-q>*{margin:0}
html body .kv-q>*+*{margin-top:.5rem}
html body .kv-q__title{font-family:var(--kv-font-head);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--kv-ink);padding-top:.2rem}
html body .kv-q p:not(.kv-q__title){font-size:1rem}
html body .kv-a{position:relative;background:var(--kv-tint);border:1px solid var(--kv-tint-line);border-radius:8px;padding:1.5rem 1.75rem}
html body .kv-a::before{content:"";position:absolute;right:100%;top:1.15rem;width:clamp(2rem,5vw,4.5rem);height:2px;background:var(--kv-line-strong)}
html body .kv-a>*{margin:0}
html body .kv-a>*+*{margin-top:.7rem}
html body .kv-a__label{font-family:var(--kv-font-head);font-size:.875rem;font-weight:600;color:var(--kv-indigo-700)}
html body .kv-a h3{font-size:1.5rem}
html body .kv-a__line{font-size:1rem}
@media (max-width:781px){
  html body .kv-step{grid-template-columns:minmax(0,1fr);padding-bottom:2rem}
  html body .kv-step::before,html body .kv-a::before{display:none}
}

/* model and criteria lists: ruled columns, not cards */
html body .kv-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem clamp(2rem,4vw,4rem);margin-top:2.25rem}
@media (min-width:1000px){html body .kv-models--three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:781px){html body .kv-models{grid-template-columns:1fr}}
html body .kv-models>*,html body .kv-choose>*,html body .kv-pathway>*{margin:0}
html body .kv-model{border-top:3px solid var(--kv-ink);padding-top:1.15rem}
html body .kv-model>*{margin:0}
html body .kv-model>*+*{margin-top:.7rem}
html body .kv-pair{margin-top:.9rem}
html body .kv-pair p{font-size:1rem;margin-top:.45rem}
html body .kv-pair strong{color:var(--kv-indigo-700);font-weight:600}
html body .kv-criteria{margin-top:2.25rem}
html body .kv-criteria .kv-item{border-top:1px solid var(--kv-ink);padding-top:1rem}
html body .kv-criteria .kv-item h3{font-size:1.25rem}
html body .kv-criteria .kv-item p{font-size:1.0625rem}

/* callout: tinted panel, no side stripe */
html body .kv-callout{max-width:none;padding:1.25rem 1.5rem;background:var(--kv-tint);border:1px solid var(--kv-tint-line);border-radius:8px}
html body .kv-section--alt .kv-callout{background:#fff}
html body .kv-callout .kv-callout__title{font-family:var(--kv-font-head);font-size:1rem;font-weight:600;color:var(--kv-ink)}
html body .kv-callout p{font-size:1rem;max-width:none}

/* numbered steps */
html body ol.kv-steps{max-width:none}

/* faq */
html body .kv-faq{max-width:56rem;margin-top:2rem;border-top:2px solid var(--kv-ink)}
html body .kv-faq .wp-block-details{border-bottom:1px solid var(--kv-line-strong)}
html body .kv-faq .wp-block-details summary{font-size:1.1875rem;padding:1.2rem 2.75rem 1.2rem 0}
html body .kv-faq .wp-block-details summary:hover{color:var(--kv-indigo-700)}
html body .kv-faq .wp-block-details>p{max-width:64ch}

/* related guides + sources */
html body .kv-related{list-style:none;margin:2rem 0 0;padding:0;max-width:none;border-top:2px solid var(--kv-ink)}
html body .kv-section .kv-related li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:.4rem 2.75rem;align-items:baseline;padding:1.35rem 0;margin:0;max-width:none;border-bottom:1px solid var(--kv-line-strong)}
html body .kv-related li::marker{content:none}
html body .entry-content .kv-related a{color:var(--kv-ink);text-decoration:none;font-family:var(--kv-font-head);font-size:1.25rem}
html body .entry-content .kv-related a:hover strong{color:var(--kv-indigo-700);text-decoration:underline;text-underline-offset:.2em}
html body .kv-related strong{font-weight:600}
@media (max-width:781px){html body .kv-section .kv-related li{grid-template-columns:1fr}}
html body .kv-sources{list-style:none;margin:1.25rem 0 0;padding:0}
html body .kv-section .kv-sources li{margin:0;padding:.85rem 0;border-bottom:1px solid var(--kv-line-strong);font-size:.9375rem;max-width:none}
html body .kv-sources a{font-weight:500}

/* footer: ink, compact */
html body [data-footer] .ct-footer,html body .ct-footer{background:var(--kv-ink)!important;color:#c3cddb}
html body .ct-footer [data-row*="middle"]{padding-block:clamp(2.5rem,4.5vw,3.75rem) .5rem;min-height:0}
html body .ct-footer [data-row*="bottom"]{border-top:1px solid rgba(255,255,255,.14);min-height:0}
html body .ct-footer .kv-footer-title{color:#fff;font-size:.875rem}
html body .ct-footer .kv-footer-list{font-size:1rem}
html body .ct-footer a{color:#c3cddb}
html body .ct-footer a:hover{color:#fff}
html body .ct-footer .kv-footer-brand{color:#fff;font-size:1.25rem}
/* footer logo (owner 2026-10-13): the symbol beside the wordmark; 4rem here (a little under the header's 4x) so the lockup fits the footer's first column */
html body .ct-footer .kv-footer-brand{display:flex;align-items:center;gap:.5rem;line-height:1}
html body .ct-footer .kv-footer-brand::before{content:"";flex:none;width:4rem;height:4rem;background:url(../img/kybervega-logo.webp) center/contain no-repeat}
html body .ct-footer .kv-footer-note{font-size:1rem;color:#c3cddb}
html body .ct-footer .wp-block-social-links .wp-social-link a{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
html body .ct-footer .wp-block-social-links .wp-social-link a:hover{color:var(--kv-yellow);border-color:var(--kv-yellow)}
html body .ct-footer .ct-footer-copyright,html body .ct-footer .ct-footer-copyright a{color:#9fb0c3;font-size:.9375rem}
html body .ct-footer :focus-visible{outline-color:var(--kv-yellow)}

/* hero meta: separator after each item, so a wrapped line never starts with a dot */
html body .kv-meta span+span::before{content:none;display:none}
html body .kv-meta span:not(:last-child)::after{content:"";display:inline-block;width:4px;height:4px;margin-left:1.25rem;vertical-align:middle;border-radius:50%;background:var(--kv-yellow);box-shadow:0 0 0 1px rgba(16,33,54,.25)}
html body .ct-footer .wp-block-social-links .wp-social-link a,html body .ct-footer .wp-block-social-links .wp-social-link svg{color:#fff!important;fill:#fff!important}
html body .ct-footer .wp-block-social-links .wp-social-link a:hover,html body .ct-footer .wp-block-social-links .wp-social-link a:hover svg{color:var(--kv-yellow)!important;fill:var(--kv-yellow)!important}

/* list resets for components that live directly in a container */
html body .entry-content ul.kv-related,html body .entry-content ul.kv-sources{padding-left:0;padding-inline-start:0;margin-left:0}
html body .kv-sources a{display:block;margin-bottom:.2rem}
html body .kv-jump .kv-jump__list li+li{margin:0}

/* browser surfaces */
html body ::selection{background:var(--kv-yellow);color:var(--kv-ink)}
html body .kv-matrix{scrollbar-width:thin}

/* 12 — COMMERCIAL SOLUTION COMPONENTS (v1.3.0) ---------------------------------------------------
   Patterns: solution-provider-status, solution-fit-rows, provider-comparison-table, provider-cards,
   solution-page-populated. Ordinary Gutenberg blocks + these classes; no data is rendered by code. */
html body h1,html body h2,html body h3{text-wrap:balance}
html body .kv-section :where(p){text-wrap:pretty}
html body .kv-section--tight{padding-block:clamp(1.5rem,3vw,2.25rem)}

/* compact status strip (pre-approval) */
html body .kv-status{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:.4rem 2rem;align-items:baseline;padding:1rem 1.35rem;background:var(--kv-tint);border:1px solid var(--kv-tint-line);border-radius:8px}
html body .kv-status>*{margin:0}
html body .kv-status__title{font-family:var(--kv-font-head);font-weight:600;font-size:1rem;color:var(--kv-ink)}
html body .kv-status p:not(.kv-status__title){font-size:1rem;max-width:none}
@media (max-width:781px){html body .kv-status{grid-template-columns:minmax(0,1fr)}}

/* recommendation rows: situation | best fit | disclosed CTA */
html body .kv-fitrows{margin-top:2rem;border-top:2px solid var(--kv-ink)}
html body .kv-fitrow{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,3fr);gap:.75rem 2.5rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--kv-line-strong)}
html body .kv-fitrow>*,html body .kv-fitrow__need>*,html body .kv-fitrow__pick>*,html body .kv-fitrow__cta>*{margin:0}
html body .kv-fitrow__need h3{font-size:1.1875rem;line-height:1.3;margin-bottom:.4rem}
html body .kv-fitrow__need p,html body .kv-fitrow__why{font-size:1rem}
html body .kv-fitrow__label{font-family:var(--kv-font-head);font-size:.8125rem;font-weight:600;color:var(--kv-indigo-700)}
html body .kv-fitrow__name{font-family:var(--kv-font-head);font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--kv-ink);margin:.15rem 0 .35rem}
@media (max-width:999px){html body .kv-fitrow{grid-template-columns:minmax(0,1fr)}}
html body .kv-disclosed{font-size:.8125rem;line-height:1.45;color:var(--kv-text);margin:.6rem 0 0;max-width:none}

/* provider comparison table */
html body .kv-compare table{min-width:72rem}
html body .kv-compare td:last-child{min-width:10.5rem}
html body .kv-compare time{white-space:nowrap}
html body .entry-content .kv-compare td a:not(.wp-block-button__link):not(.kv-plain){display:inline-block;padding:.45rem .95rem;background:var(--kv-indigo);color:#fff;border-radius:8px;font-family:var(--kv-font-head);font-weight:500;font-size:.9375rem;text-decoration:none;transition:background-color .15s ease}
html body .entry-content .kv-compare td a:not(.wp-block-button__link):not(.kv-plain):hover{background:var(--kv-indigo-600);color:#fff;text-decoration:none}
html body .kv-compare td:first-child strong{color:var(--kv-ink)}
html body .kv-fitrow__name strong{font-weight:600}
html body .kv-compare td small{display:block;margin-top:.4rem;font-size:.75rem;line-height:1.4;color:var(--kv-text)}

/* provider cards (detail) */
html body .kv-providers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.5rem;margin-top:2rem}
html body .kv-provider{display:flex;flex-direction:column;gap:1.1rem;padding:1.5rem;background:#fff;border:1px solid var(--kv-line-strong);border-radius:8px}
html body .kv-provider>*,html body .kv-provider__head>*,html body .kv-provider__foot>*{margin:0}
html body .kv-provider__head h3{font-size:1.375rem}
html body .kv-provider__tag{font-size:1rem;color:var(--kv-text);margin-top:.35rem}
html body .kv-provider__logo{margin:0 0 .75rem}
html body .kv-provider__logo img{max-height:2.5rem;width:auto}
html body .kv-provider__facts{border-top:1px solid var(--kv-line)}
html body .kv-fact{display:grid;grid-template-columns:7.25rem minmax(0,1fr);gap:.75rem;margin:0;padding:.7rem 0;border-bottom:1px solid var(--kv-line);font-size:1rem;max-width:none}
html body .kv-fact strong{font-family:var(--kv-font-head);font-size:.875rem;font-weight:600;color:var(--kv-ink)}
html body .kv-provider__foot{margin-top:auto}
html body .kv-provider__checked{font-size:.875rem;margin-bottom:.8rem}
html body .kv-provider .wp-block-details summary{font-family:var(--kv-font-head);font-weight:500;cursor:pointer;padding:.5rem 0}
@media (max-width:480px){html body .kv-fact{grid-template-columns:6.75rem minmax(0,1fr)}}
