/* Homepage Part 1: hero, existing calculator, products and existing Public AI.
   Every new rule is limited to these sections; shared/lower sections stay below. */
.kv-home .kv-overview {
  display:grid;
  grid-template-columns:minmax(0,1.78fr) minmax(0,1fr);
  gap:20px;
  align-items:stretch;
}
.kv-home .kv-hero {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:8px;
  min-width:0;
  padding:26px 18px 22px 24px;
  border-radius:20px;
  background:
    linear-gradient(132deg,transparent 55%,#91ebcf24 55%,#b0f2df2e 66%,transparent 66%),
    linear-gradient(132deg,transparent 74%,#8be9ca40 74%,#b7f3dd26 86%,transparent 86%),
    radial-gradient(ellipse at 92% 80%,#9aecdc40,transparent 55%),
    linear-gradient(125deg,var(--surface),var(--surface-strong));
  align-items:center;
}
.kv-home .kv-hero-copy { position:relative;min-width:0;z-index:1; }
.kv-home .kv-eyebrow {
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 11px;border-radius:24px;
  background:var(--surface-strong);color:var(--brand-ink);font-size:13px;
}
.kv-home .kv-hero h1 {
  font-size:clamp(44px,3.5vw,52px);line-height:1.04;letter-spacing:-2px;
  margin:18px 0 16px;color:var(--text-primary);overflow-wrap:anywhere;
}
.kv-home .kv-hero-description { font-size:16px;line-height:1.5;color:var(--text-secondary);margin:0;max-width:470px; }
.kv-home .kv-hero-actions { display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 26px; }
.kv-home .kv-hero-actions .cv1-button { min-height:50px;font-size:13px;padding:12px 14px;gap:8px;border-radius:12px; }
.kv-home .kv-hero-actions .cv1-button-primary { box-shadow:0 5px 14px #0861e924; }
.kv-home .kv-hero-features { display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:0;margin:0;list-style:none; }
.kv-home .kv-hero-features li,.kv-home .kv-hero-features a { display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.4;color:var(--text-secondary); }
.kv-home .kv-hero-features svg { flex:none;color:var(--text-primary); }
.kv-home .kv-hero-features a { min-height:44px; }
.kv-home .kv-hero-features a:hover span { text-decoration:underline; }
.kv-home .kv-phone-scene { min-width:0;display:flex;align-items:center;justify-content:center; }
.kv-home .kv-phone-figure { display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:285px;margin:0; }
.kv-home .kv-phone-picture { display:block;width:100%;aspect-ratio:2/3; }
.kv-home .kv-phone-picture img { display:block;width:100%;height:100%;object-fit:contain; }
.kv-home .kv-phone-figure figcaption { color:var(--text-secondary);font-size:11px;line-height:1.3;text-align:center; }

/* Presentation only: all inputs, ranges, states and server formulae are reused. */
.kv-home .kv-overview>.pc-widget { align-self:stretch;min-width:0;padding:16px;border-radius:20px;box-shadow:var(--shadow-soft); }
.kv-home .kv-overview .pc-widget>header h2 { font-size:23px;letter-spacing:-.8px;line-height:1.15; }
.kv-home .kv-overview .pc-widget>header p { font-size:13px;line-height:1.4;margin-bottom:6px; }
.kv-home .kv-overview .pc-tabs { gap:4px;padding:0;background:transparent;margin:10px 0; }
.kv-home .kv-overview .numeric-field { gap:2px; }
.kv-home .kv-overview .pc-tabs button { border-radius:9px;background:var(--surface-muted);font-size:13px;min-height:40px; }
.kv-home .kv-overview .pc-tabs button[aria-selected=true] { background:var(--brand);color:#fff;box-shadow:0 3px 8px #0861e91a; }
.kv-home .kv-overview .numeric-field input[type=text],
.kv-home .kv-overview .pc-select-field select { border-color:var(--border);background:var(--surface);border-radius:9px;box-shadow:0 2px 0 var(--surface-strong); }
.kv-home .kv-overview .pc-metrics { gap:7px; }
.kv-home .kv-overview .pc-results { margin:8px 0; }
.kv-home .kv-overview .pc-metrics>div { padding:8px;background:linear-gradient(135deg,var(--surface-strong),var(--surface-muted));border-radius:10px; }
.kv-home .kv-overview .pc-metrics strong { font-size:16px;letter-spacing:-.5px; }
.kv-home .kv-overview .pc-submit { min-height:46px;border-radius:11px; }
.kv-home .kv-overview .pc-workspace-link { color:var(--brand-ink);font-size:12px; }
.kv-home .kv-overview .pc-notice { font-size:11px;line-height:1.4; }

/* The registry still determines the card count, labels and destinations. */
.kv-home .kv-products { margin:18px 0 16px; }
.kv-home .kv-products .kv-section-header { gap:10px;margin-bottom:12px; }
.kv-home .kv-products .kv-section-header h2 { font-size:25px;margin-bottom:3px; }
.kv-home .kv-products .kv-section-header p { font-size:13px; }
.kv-home .kv-products .kv-soft-link { border-radius:24px;background:var(--surface-strong);color:var(--brand-ink); }
.kv-home .kv-products-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px; }
.kv-home .kv-product-card {
  position:relative;min-width:0;display:flex;flex-direction:column;
  padding:16px 14px 10px;min-height:236px;border:1px solid transparent;border-radius:15px;
  background:linear-gradient(145deg,var(--surface-muted),var(--surface-strong));
  transition:transform .18s,border-color .18s;
}
.kv-home a.kv-product-card:hover { transform:translateY(-3px);border-color:var(--brand); }
.kv-home .kv-product-card { scroll-margin-top:96px; }
.kv-home .kv-product-card:target { border-color:var(--brand); }
.kv-home .kv-product-card>strong { font-size:17px;letter-spacing:-.5px;line-height:1.2;overflow-wrap:anywhere; }
.kv-home .kv-product-card>p { font-size:13px;line-height:1.4;color:var(--text-secondary);margin:6px 0 4px; }
.kv-home .kv-product-card>small { color:var(--text-secondary);font-size:12px; }
.kv-home .kv-product-art { display:block;min-width:0;margin:auto 0 12px; }
.kv-home .kv-product-art img { display:block;width:100%;height:132px;object-fit:contain;filter:drop-shadow(0 4px 4px #10295318); }
.kv-home .kv-product-arrow { position:absolute;left:12px;bottom:10px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--brand);box-shadow:var(--shadow-soft); }
/* Sparse collections keep the same compact tracks, not full-width banners. */

/* One assistant, including an honest disconnected state in the same branded area. */
.kv-home .hp-ai-card {
  display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px 20px;
  padding:20px 24px;margin-bottom:20px;border-radius:18px;color:var(--text-primary);
  background:
    linear-gradient(132deg,transparent 73%,#9eeecf2e 73%,#9eeecf45 82%,transparent 82%),
    linear-gradient(110deg,var(--surface-strong),var(--surface-muted) 55%,#a6efd633);
}
.kv-home .hp-ai-mascot { grid-column:1;grid-row:1/3;display:block;width:120px;height:112px;align-self:center; }
.kv-home .hp-ai-mascot img { display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.2); }
.kv-home .hp-ai-header { grid-column:2;display:flex;align-items:center;gap:18px;flex-wrap:wrap; }
.kv-home .hp-ai-header h2 { font-size:29px;letter-spacing:-1px;line-height:1.15;margin:0; }
.kv-home .hp-ai-disclosure { margin-left:auto;color:var(--text-secondary);font-size:12px;line-height:1.6; }
.kv-home .hp-ai-disclosure summary { display:flex;align-items:center;min-height:32px;cursor:pointer;list-style:none; }
.kv-home .hp-ai-disclosure summary::-webkit-details-marker { display:none; }
.kv-home .hp-ai-disclosure summary:focus-visible { outline:2px solid var(--brand);outline-offset:3px;border-radius:4px; }
.kv-home .hp-ai-disclosure[open] { flex-basis:100%;margin-left:0; }
.kv-home .hp-ai-disclosure p { margin:4px 0 0; }
.kv-home .hp-ai-form { grid-column:2;grid-row:2;min-width:0; }
.kv-home .hp-ai-composer { display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:var(--surface);border-radius:28px;padding:6px 6px 6px 20px;box-shadow:var(--shadow-soft); }
.kv-home .hp-ai-composer:focus-within { border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 18%,transparent); }
.kv-home .hp-ai-composer textarea { flex:1;min-width:0;resize:none;max-height:136px;border:0;background:transparent;color:var(--text-primary);padding:8px 0;font:inherit;font-size:16px;line-height:24px;min-height:40px; }
.kv-home .hp-ai-composer textarea::placeholder { color:var(--text-secondary);opacity:1; }
/* The surrounding composer retains visible keyboard focus without a second square outline. */
.kv-home .hp-ai-composer textarea:focus,.kv-home .hp-ai-composer textarea:focus-visible { outline:none;box-shadow:none; }
.kv-home .hp-ai-submit { width:48px;height:44px;flex:none;display:grid;place-items:center;border:0;border-radius:24px;background:var(--brand);color:#fff;cursor:pointer; }
.kv-home .hp-ai-submit span { display:none; }
.kv-home .hp-ai-counter { display:block;text-align:right;font-size:12px;color:var(--text-secondary);margin-top:6px; }
.kv-home .hp-ai-messages { grid-column:2;grid-row:3;min-width:0;max-height:360px;overflow:auto; }
.kv-home .hp-ai-messages[hidden],.kv-home .hp-ai-counter[hidden] { display:none; }
.kv-home .hp-ai-message-group { margin:10px 0; }
.kv-home .hp-ai-message { padding:12px 0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.6; }
.kv-home .hp-ai-message.is-user { width:fit-content;max-width:90%;margin-left:auto;padding:10px 16px;border-radius:18px;background:var(--surface-strong); }
.kv-home .hp-ai-status:empty,.kv-home .hp-ai-error[hidden] { display:none; }
.kv-home .hp-ai-status,.kv-home .hp-ai-error { font-size:13px; }
.kv-home .hp-ai-error { color:var(--danger); }
.kv-home .kv-ai-help { grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;padding:9px 18px;background:var(--surface);border:1px solid var(--border);border-radius:26px; }
.kv-home .kv-ai-help p { margin:0;color:var(--text-secondary);font-size:14px; }
.kv-home .kv-ai-help a { display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--brand-ink);font-size:13px; }

@media(max-width:1279px) and (min-width:1025px) {
  .kv-home .kv-overview { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px; }
  .kv-home .kv-hero { grid-template-columns:minmax(0,1fr) 180px;padding:22px 18px; }
  .kv-home .kv-hero h1 { font-size:40px;letter-spacing:-1.5px; }
  .kv-home .kv-hero-actions .cv1-button { padding-inline:12px; }
  .kv-home .kv-overview>.pc-widget { padding:16px; }
  .kv-home .kv-overview .pc-widget>header h2 { font-size:21px; }
  .kv-home .kv-product-card { padding-inline:12px; }
  .kv-home .kv-product-card>strong { font-size:16px; }
}
@media(max-width:1024px) {
  .kv-home .kv-overview { grid-template-columns:minmax(0,1fr);gap:16px; }
  .kv-home .kv-hero { grid-template-columns:minmax(0,1fr) minmax(200px,.55fr);padding:26px; }
  .kv-home .kv-hero h1 { font-size:46px; }
  .kv-home .kv-phone-figure { max-width:220px; }
  .kv-home .kv-overview>.pc-widget { padding:20px; }
  .kv-home .kv-products-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .kv-home .kv-hero { grid-template-columns:minmax(0,1fr) 104px;padding:22px 18px 16px;gap:0 12px; }
  .kv-home .kv-hero-copy { display:contents; }
  .kv-home .kv-hero-copy>:not(.kv-hero-features) { grid-column:1/-1; }
  .kv-home .kv-hero h1 { font-size:36px;letter-spacing:-1.3px;margin:18px 0 14px; }
  .kv-home .kv-eyebrow { font-size:12px; }
  .kv-home .kv-hero-description { font-size:15px; }
  .kv-home .kv-hero-actions { display:grid;gap:10px;margin:20px 0 18px; }
  .kv-home .kv-hero-actions .cv1-button { width:100%;min-height:48px; }
  .kv-home .kv-hero-features { grid-column:1;grid-row:5;flex-direction:column;align-items:flex-start;gap:12px; }
  .kv-home .kv-hero-features li,.kv-home .kv-hero-features a { gap:6px;font-size:11px; }
  .kv-home .kv-hero-features svg { width:20px;height:20px; }
  .kv-home .kv-phone-scene { grid-column:2;grid-row:5; }
  .kv-home .kv-phone-figure { max-width:104px;gap:2px; }
  .kv-home .kv-phone-figure figcaption { font-size:10px; }
  .kv-home .kv-overview>.pc-widget { padding:18px 14px; }
  .kv-home .kv-overview .pc-widget>header h2 { font-size:23px; }
  .kv-home .kv-overview .pc-metrics strong { font-size:16px; }
  .kv-home .kv-products .kv-section-header h2 { font-size:23px; }
  .kv-home .kv-products .kv-section-header p { font-size:12px;line-height:1.5; }
  .kv-home .kv-products-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .kv-home .kv-product-card { min-height:220px;padding:14px 12px 10px; }
  .kv-home .kv-product-card>strong { font-size:16px; }
  .kv-home .kv-product-art img { height:125px; }
  .kv-home .hp-ai-card { grid-template-columns:60px minmax(0,1fr);gap:12px;padding:18px 16px; }
  .kv-home .hp-ai-mascot { grid-row:1;width:60px;height:60px; }
  .kv-home .hp-ai-mascot img { transform:none; }
  .kv-home .hp-ai-header { gap:4px; }
  .kv-home .hp-ai-header h2 { font-size:26px; }
  .kv-home .hp-ai-form,.kv-home .hp-ai-messages,.kv-home .kv-ai-help { grid-column:1/-1; }
  .kv-home .hp-ai-composer { gap:6px;padding-left:14px;border-radius:22px; }
  .kv-home .hp-ai-disclosure summary { min-height:44px; }
  .kv-home .kv-ai-help { border-radius:16px;padding:12px 14px; }
  .kv-home .kv-ai-help p { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
  .kv-home .kv-product-card { transition:none; }
  .kv-home .kv-product-card:hover { transform:none; }
}

/* Shared section-heading helpers: also used by the accepted product row. */
.kv-section-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px}.kv-section-header h2{font-size:25px;line-height:1.2;letter-spacing:-.8px;margin:0 0 5px}.kv-section-header p{font-size:14px;color:var(--text-secondary);margin:0}.kv-section-header>a{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:13px;min-height:44px}.kv-soft-link{padding:8px 14px;border-radius:12px;background:var(--surface-muted)}

/* Lower homepage only. Keep empty states content-sized, never fake data rows. */
.kv-home .kv-market-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;margin:16px 0}
.kv-home .kv-rates,.kv-home .hp-catalog-section{min-width:0;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.kv-home .kv-market-row .kv-section-header,.kv-home .hp-catalog-header{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 4px}
.kv-home .kv-market-row h2{font-size:22px;line-height:1.3;letter-spacing:-.6px;margin:0 0 4px}
.kv-home .kv-market-row header p{font-size:13px;line-height:1.45;color:var(--text-secondary);margin:0}
.kv-home .kv-market-row .kv-section-header>a,.kv-home .hp-section-actions>a{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:36px;padding:7px 10px;border-radius:10px;background:var(--surface-muted);color:var(--brand-ink);font-size:13px;white-space:nowrap}
.kv-home .hp-section-actions{flex:none;display:grid;max-width:100%}
.kv-home .hp-section-actions>a,.kv-home .hp-catalog-link-size{grid-area:1/1}
.kv-home .hp-catalog-link-size{display:grid;visibility:hidden;pointer-events:none}
.kv-home .hp-catalog-link-size>span{grid-area:1/1;display:flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;font-size:13px;white-space:nowrap}
.kv-home .kv-rates-table{max-width:100%;overflow:auto}
.kv-home .kv-rates-table:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.kv-home .kv-rates table{width:100%;min-width:22em;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.4}
.kv-home .kv-rates th{font-size:13px;font-weight:400;color:var(--text-secondary);text-align:right;padding:7px 0 7px 10px}
.kv-home .kv-rates th:first-child{text-align:left;width:44%;padding-left:0}
.kv-home .kv-rates td{padding:8px 0 8px 10px;border-top:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kv-home .kv-rates td:first-child{text-align:left;padding-left:0;white-space:normal}
.kv-home .kv-rates td strong{display:block;font-size:14px;line-height:15px;font-weight:600}
.kv-home .kv-rates td small{display:block;color:var(--text-secondary);font-size:12px;line-height:15px}
.kv-home .kv-rates td:first-child small{margin-left:34px}
.kv-home .kv-currency{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--surface-strong);border-radius:50%;color:var(--brand);margin:2px 8px 0 0;float:left;font-weight:600}
.kv-home .kv-rates td[data-direction=up]{color:var(--success)}
.kv-home .kv-rates td[data-direction=down]{color:var(--danger)}
.kv-home .kv-rates-warning{font-size:13px;color:var(--text-secondary);line-height:1.45;margin:0 0 8px}
.kv-home .kv-rates-warning[hidden]{display:none}
.kv-home .kv-rates-details{font-size:13px;color:var(--text-secondary);margin-top:8px;border-top:1px solid var(--border)}
.kv-home .kv-rates-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;cursor:pointer;color:var(--brand-ink)}
.kv-home .kv-rates-details[open] summary svg{transform:rotate(180deg)}
.kv-home .kv-rates-details p{margin:0 0 8px;line-height:1.5}
.kv-home .kv-rates-details a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}
.kv-home .kv-empty{display:flex;align-items:center;gap:10px;margin:16px 0 12px;padding:14px;border-radius:10px;background:var(--surface-muted);color:var(--text-secondary);font-size:14px;line-height:1.5}
.kv-home .kv-empty svg{flex:none;color:var(--brand)}
.kv-home .kv-empty p{margin:0}
.kv-home .hp-tablist{display:flex;flex-wrap:nowrap;gap:5px;margin:6px -3px 8px;padding:3px;max-width:calc(100% + 6px);overflow-x:auto}
.kv-home .hp-tablist button{flex:none;white-space:nowrap;padding:8px 12px;min-height:38px;border:0;border-radius:8px;font:inherit;font-size:14px;line-height:1.35;background:var(--surface-muted);color:var(--text-secondary);cursor:pointer}
.kv-home .hp-tablist button[aria-selected=true]{color:#fff;background:var(--brand)}
.kv-home .hp-tablist button:focus-visible{outline:2px solid var(--brand-ink);outline-offset:1px}
.kv-home .hp-section-actions>[hidden]{display:none}
.kv-home .hp-broker-directories{display:flex;flex-wrap:wrap;gap:0 16px;border-top:1px solid var(--border)}
.kv-home .hp-broker-directories a{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:13px;color:var(--brand-ink)}
.kv-home .hp-catalog-panel[hidden]{display:none}
.hp-catalog-ready .kv-home .hp-catalog-panels{display:grid}
.hp-catalog-ready .kv-home .hp-catalog-panel{grid-area:1/1;align-self:start;min-width:0}
.hp-catalog-ready .kv-home .hp-catalog-panel[data-active=false]{visibility:hidden;pointer-events:none}
.kv-home .hp-organization-table{display:grid}
.kv-home .hp-organization-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 0;border-top:1px solid var(--border);gap:3px 12px;color:var(--text-primary)}
.kv-home .hp-organization-card header{display:flex;align-items:center;gap:10px;min-width:0;grid-row:1/span 2}
.kv-home .hp-org-monogram{background:var(--surface-strong);color:var(--brand);border-radius:8px;width:32px;min-width:32px;height:32px;display:grid;place-items:center;font-size:12px;font-weight:700}
.kv-home .hp-org-heading{min-width:0}
.kv-home .hp-org-heading small{display:block;font-size:12px;line-height:1.4;color:var(--text-secondary)}
.kv-home .hp-org-heading strong{font-size:14px;font-weight:600;line-height:1.4;display:block;overflow-wrap:anywhere}
.kv-home .hp-org-meta{font-size:13px;line-height:1.5;color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kv-home .hp-org-meta>span{display:block}
.kv-home .hp-org-rating{color:var(--text-primary)}
.kv-home .hp-org-rating svg{color:#c58a15;fill:currentColor}
.kv-home .hp-organization-card footer{grid-column:2;grid-row:2;font-size:12px;line-height:1.4;color:var(--text-secondary);text-align:right;overflow-wrap:anywhere}
.kv-home .hp-organization-card .hp-card-arrow{display:none}
.kv-home .hp-catalog-empty{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px 10px;padding:14px 0;font-size:14px;color:var(--text-secondary);line-height:1.5;border-top:1px solid var(--border)}
.kv-home .hp-catalog-empty p{margin:4px 0 0;font-size:13px}
.kv-home .hp-catalog-empty>a{grid-column:2;display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--brand-ink);font-size:13px}
.kv-home .hp-catalog-note{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;border-top:1px solid var(--border);padding-top:8px;font-size:12px;color:var(--text-secondary)}
.kv-home .hp-demo-note{padding:4px 8px;background:var(--surface-muted);border-radius:6px}
.kv-home .hp-catalog-methodology-link{display:inline-flex;align-items:center;min-height:32px;color:var(--brand-ink)}
.kv-home .kv-info-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.kv-home .kv-info-banner{display:flex;align-items:center;gap:14px;padding:8px 18px 8px 12px;border-radius:14px;background:linear-gradient(120deg,#e8f3ff,#f1f9fc 56%,#e1faef)}
.kv-home .kv-info-banner picture{display:block;flex:none;width:96px;height:96px}
.kv-home .kv-info-banner img{display:block;width:100%;height:100%;object-fit:contain}
.kv-home .kv-info-banner h2{font-size:22px;line-height:1.25;letter-spacing:-.5px;margin:0 0 7px;color:var(--text-primary)}
.kv-home .kv-info-banner p{display:inline-block;font-size:13px;line-height:1.5;margin:0;color:var(--text-secondary)}
html[data-theme=dark] .kv-home .kv-info-banner{background:linear-gradient(120deg,#122b45,#152a37 56%,#15392f)}
.kv-home .hp-security{margin:20px 0 0}
.kv-home .hp-security-header h2{font-size:25px;letter-spacing:-.8px;line-height:1.2;margin:0 0 12px}
.kv-home .hp-security-grid{display:grid;grid-template-columns:1.15fr 1.15fr .9fr;gap:12px}
.kv-home .hp-security-grid>article{display:flex;gap:14px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);min-width:0}
.kv-home .hp-assurance-icon{display:flex;flex:none;color:var(--brand);padding-top:1px}
.kv-home .hp-security .hp-assurance-shield,.kv-home .hp-security .hp-assurance-lock{width:32px;align-items:flex-start;padding-top:0}
.kv-home .hp-security .hp-assurance-shield svg{color:#08a665}
.kv-home .hp-security .hp-assurance-shield svg path:first-child{fill:currentColor;stroke:currentColor}
.kv-home .hp-security .hp-assurance-shield svg path:last-child{stroke:#fff;stroke-width:2}
.kv-home .hp-security .hp-assurance-lock svg{color:#0866ef}
.kv-home .hp-security .hp-assurance-lock svg rect{fill:currentColor;stroke:currentColor}
.kv-home .hp-security .hp-assurance-lock svg circle{fill:#fff;stroke:#fff}
.kv-home .hp-security h3{font-size:15px;line-height:1.35;margin:0 0 10px}
.kv-home .hp-security p,.kv-home .hp-security li,.kv-home .hp-security dl{font-size:13px;color:var(--text-secondary);line-height:1.55;margin:0}
.kv-home .hp-security ul{padding-left:16px;margin:0}
.kv-home .hp-security li+li{margin-top:4px}
.kv-home .hp-security a{font-size:13px;display:inline-flex;align-items:center;min-height:36px;color:var(--brand-ink);overflow-wrap:anywhere}
.kv-home .hp-security dl>div{display:flex;flex-wrap:wrap;gap:6px}
.kv-home .hp-security dd{margin:0}
.kv-home .pf-footer{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:16px 0 22px}
.kv-home .pf-footer>div{display:flex;align-items:center;gap:16px}
.kv-home .pf-footer p{max-width:330px;font-size:12px;line-height:1.5}
.kv-home .pf-footer nav{flex-wrap:wrap;gap:4px 16px;font-size:12px}
.kv-home .pf-footer nav a{display:inline-flex;align-items:center;min-height:36px;color:var(--text-secondary)}
.kv-home .pf-footer small{grid-column:auto;font-size:12px;white-space:nowrap}

/* Legacy tools styles retained; their routes/components are not part of this change. */
.kv-tools{margin:26px 0}.kv-tools nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kv-tools nav>a{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.kv-tool-icon{display:grid;place-items:center;background:var(--surface-strong);color:var(--brand);width:38px;height:42px;flex:none;border-radius:10px}.kv-tools nav>a>span:nth-child(2){flex:1}.kv-tools strong{display:block;font-size:14px}.kv-tools small{display:block;font-size:13px;color:var(--text-secondary)}.kv-tools nav>a>svg{flex:none;color:var(--brand)}
@media(max-width:1100px){
 .kv-home .kv-market-row .kv-section-header,.kv-home .hp-catalog-header{flex-wrap:wrap}
 .kv-home .kv-info-banner h2{font-size:20px}
 .kv-home .pf-footer{grid-template-columns:1fr auto}
 .kv-home .pf-footer>div{grid-column:1/-1}
}
@media(max-width:900px){
 .kv-home .kv-market-row,.kv-home .hp-security-grid{grid-template-columns:1fr}
 .kv-tools nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kv-home .kv-info-banner{gap:8px;padding:12px}
 .kv-home .kv-info-banner picture{width:72px;height:72px}
}
@media(max-width:600px){
 .kv-section-header{align-items:flex-start}.kv-section-header h2{font-size:23px}.kv-section-header>a{font-size:13px}.kv-section-header p{font-size:13px}
 .kv-tools nav{grid-template-columns:1fr}
 .kv-home .kv-rates,.kv-home .hp-catalog-section{padding:16px}
 .kv-home .hp-organization-card{grid-template-columns:minmax(0,1fr) minmax(0,42%)}
 .kv-home .kv-market-row h2{font-size:21px}
 .kv-home .kv-rates th:first-child{width:42%}
 .kv-home .kv-rates th,.kv-home .kv-rates td{padding-left:6px}
 .kv-home .kv-rates th:first-child,.kv-home .kv-rates td:first-child{padding-left:0}
 .kv-home .kv-info-banners{grid-template-columns:1fr;gap:12px}
 .kv-home .kv-info-banner{gap:12px}
 .kv-home .kv-info-banner h2{font-size:19px}
 .kv-home .hp-security-header h2{font-size:23px}
 .kv-home .hp-security-grid>article{padding:16px}
 .kv-home .pf-footer>div{flex-direction:column;align-items:flex-start;gap:10px}
 .kv-home .pf-footer{grid-template-columns:1fr;gap:12px}
 .kv-home .pf-footer p{max-width:none}
}
