@layer page, design;
@layer design {
:root {
  --kb-site-header-height: 60px;
  --kb-site-navy: #16284a;
  --kb-site-blue: #2b5cdb;
  --kb-site-line: #e3e9f1;
  --kb-site-max: 1200px;
  --kb-site-font: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --kb-ui-heading: #13203a;
  --kb-ui-text: #334155;
  --kb-ui-muted: #64748b;
  --kb-ui-soft: #f6f8fc;
  --kb-ui-surface: #ffffff;
  --kb-ui-border: #dfe6f0;
  --kb-ui-primary: #2b5cdb;
  --kb-ui-primary-dark: #1f49bd;
  --kb-ui-primary-soft: #eef4ff;
}

html {
  scroll-padding-top: var(--kb-site-header-height);
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

body.lock {
  overflow: hidden;
}

img,
canvas,
svg,
video {
  max-width: 100%;
}

html body .header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: var(--kb-site-header-height);
  min-height: var(--kb-site-header-height);
  max-height: var(--kb-site-header-height);
  padding: 0;
  background: rgba(22, 40, 74, .98);
  color: #fff;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  box-shadow: none;
  backdrop-filter: blur(14px);
  font-family: var(--kb-site-font);
  font-size: 13px;
}

html body .header .container.header-inner {
  width: min(var(--kb-site-max), calc(100% - 48px));
  max-width: var(--kb-site-max);
  height: var(--kb-site-header-height);
  min-height: var(--kb-site-header-height);
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 30px;
}

html body .header .brand {
  height: var(--kb-site-header-height);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  color: #fff;
  line-height: 1;
  text-decoration: none;
}

html body .header .brand-symbol {
  width: 25px;
  height: 25px;
  min-width: 25px;
  min-height: 25px;
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 7px;
  background: transparent;
  box-shadow: none;
}

html body .header .brand-symbol svg,
html body .header .brand-symbol img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  filter: none;
}

html body .header .brand-symbol::before,
html body .header .brand-symbol::after {
  content: none;
  display: none;
}

html body .header .brand-copy {
  display: flex;
  align-items: center;
  margin: 0;
  line-height: 1;
}

html body .header .brand-copy strong {
  margin: 0;
  color: #fff;
  font-family: var(--kb-site-font);
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.01em;
  white-space: nowrap;
}

html body .header .brand-copy small {
  display: none;
}

html body .header .nav {
  height: var(--kb-site-header-height);
  display: flex;
  align-items: center;
  gap: 28px;
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  font-family: var(--kb-site-font);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

html body .header .nav > a,
html body .header .nav-dropdown-toggle {
  position: relative;
  height: var(--kb-site-header-height);
  min-height: var(--kb-site-header-height);
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #dde6f4;
  font-family: var(--kb-site-font);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

html body .header .nav > a:hover,
html body .header .nav > a.active,
html body .header .nav-dropdown.active > .nav-dropdown-toggle,
html body .header .nav-dropdown:hover > .nav-dropdown-toggle,
html body .header .nav-dropdown:focus-within > .nav-dropdown-toggle,
html body .header .nav-dropdown.is-open > .nav-dropdown-toggle {
  color: #fff;
}

html body .header .nav > a.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  display: block;
  background: #8fb6ff;
}

html body .header .nav-dropdown {
  position: relative;
  height: var(--kb-site-header-height);
  min-height: var(--kb-site-header-height);
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

html body .header .nav-dropdown-toggle::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 0 3px 7px;
  border: 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  background: transparent;
  transform: rotate(45deg);
  transition: transform .18s ease;
}

html body .header .nav-dropdown:hover > .nav-dropdown-toggle::after,
html body .header .nav-dropdown:focus-within > .nav-dropdown-toggle::after,
html body .header .nav-dropdown.is-open > .nav-dropdown-toggle::after {
  margin-bottom: -3px;
  transform: rotate(225deg);
}

html body .header .nav-dropdown-menu {
  position: absolute;
  z-index: 1200;
  top: 58px;
  left: 50%;
  width: 250px;
  max-height: calc(100vh - 82px);
  margin: 0;
  padding: 10px;
  overflow: auto;
  border: 1px solid rgba(22, 40, 74, .1);
  border-radius: 15px;
  background: #fff;
  color: #14213a;
  box-shadow: 0 22px 52px rgba(8, 23, 51, .22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

html body .header .nav-dropdown:hover > .nav-dropdown-menu,
html body .header .nav-dropdown:focus-within > .nav-dropdown-menu,
html body .header .nav-dropdown.is-open > .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

html body .header .nav-dropdown-menu::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  display: block;
  background: #fff;
  border-top: 1px solid rgba(22, 40, 74, .1);
  border-left: 1px solid rgba(22, 40, 74, .1);
  transform: translateX(-50%) rotate(45deg);
}

html body .header .nav-dropdown-menu > small {
  position: relative;
  z-index: 1;
  display: block;
  padding: 7px 10px 8px;
  color: #8997ab;
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .14em;
}

html body .header .nav-dropdown-menu > a {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 0;
  margin: 0;
  padding: 11px 13px;
  border-radius: 10px;
  background: transparent;
  color: #293956;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  white-space: normal;
}

html body .header .nav-dropdown-menu > a span {
  display: block;
  margin-top: 4px;
  color: #8693a7;
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1.45;
  white-space: normal;
}

html body .header .nav-dropdown-menu > a:hover,
html body .header .nav-dropdown-menu > a.active {
  background: #eef3fb;
  color: var(--kb-site-blue);
}

html body .header .tools-dropdown-menu {
  width: 600px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px 15px;
  padding: 12px;
}

html body .header .tools-dropdown-menu > small {
  grid-column: 1 / -1;
}

html body .header .tools-dropdown-menu::after {
  content: "";
  position: absolute;
  top: 51px;
  bottom: 12px;
  left: 50%;
  width: 1px;
  background: #e3e9f2;
  pointer-events: none;
}

html body .header .blog-dropdown-menu {
  width: 330px;
  padding: 12px;
}

html body .header .header-actions {
  height: var(--kb-site-header-height);
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin-left: auto;
}

html body .header .header-link,
html body .header .header-btn {
  height: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  font-family: var(--kb-site-font);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

html body .header .header-link {
  padding: 0 4px;
  background: transparent;
  color: #cdddf2;
  box-shadow: none;
}

html body .header .header-btn {
  background: var(--kb-site-blue);
  color: #fff;
  box-shadow: 0 9px 22px rgba(43, 92, 219, .28);
}

html body .header .menu-btn {
  display: none;
  width: 40px;
  height: 40px;
  min-height: 40px;
  margin-left: auto;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 10px;
  background: transparent;
  color: #fff;
}

html body .header .menu-btn span,
html body .header .menu-btn span::before,
html body .header .menu-btn span::after {
  position: relative;
  display: block;
  width: 19px;
  height: 2px;
  margin: auto;
  border-radius: 2px;
  background: #fff;
}

html body .header .menu-btn span::before,
html body .header .menu-btn span::after {
  content: "";
  position: absolute;
  left: 0;
}

html body .header .menu-btn span::before {
  top: -6px;
}

html body .header .menu-btn span::after {
  top: 6px;
}

html body .mobile-nav {
  position: fixed;
  z-index: 999;
  top: var(--kb-site-header-height);
  right: 0;
  left: 0;
  display: none;
  max-height: calc(100dvh - var(--kb-site-header-height));
  margin: 0;
  padding: 14px 22px 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--kb-site-navy);
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 24px 50px rgba(3, 15, 34, .3);
  font-family: var(--kb-site-font);
}

html body .mobile-nav.open {
  display: block;
}

html body .mobile-nav > a,
html body .mobile-nav > button,
html body .mobile-nav .mobile-nav-group > a {
  width: 100%;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 13px 4px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: transparent;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
}

html body .mobile-nav .mobile-nav-group {
  padding: 5px 0 9px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

html body .mobile-nav .mobile-nav-label {
  display: block;
  padding: 14px 4px 6px;
  color: #9fb5d6;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

html body .mobile-nav .mobile-nav-group > a {
  min-height: 46px;
  padding: 11px 4px 11px 14px;
  border-bottom: 0;
  font-size: 14px;
  font-weight: 650;
}

html body .mobile-nav a.active {
  color: #9ec1ff;
}

html body [data-kb-hero="main"] h1[data-kb-title-scale] {
  text-wrap: balance;
  word-break: keep-all;
}

html body [data-kb-hero="main"] h1[data-kb-title-scale="short"] {
  font-size: 46px;
  line-height: 1.18;
}

html body [data-kb-hero="main"] h1[data-kb-title-scale="medium"] {
  font-size: 42px;
  line-height: 1.2;
}

html body [data-kb-hero="main"] h1[data-kb-title-scale="long"] {
  font-size: 36px;
  line-height: 1.24;
}

html body [data-kb-hero="main"] h1[data-kb-title-scale="xlong"] {
  font-size: 32px;
  line-height: 1.28;
}

@media (max-width: 1180px) {
  html body .header .container.header-inner {
    width: calc(100% - 32px);
  }

  html body .header .nav,
  html body .header .header-actions {
    display: none;
  }

  html body .header .menu-btn {
    display: block;
  }
}

@media (max-width: 720px) {
  html body .header .container.header-inner {
    width: calc(100% - 32px);
    gap: 26px;
  }

  html body .mobile-nav {
    padding: 12px 17px 22px;
  }

  html body [data-kb-hero="main"] h1[data-kb-title-scale="short"] {
    font-size: 34px;
    line-height: 1.2;
  }

  html body [data-kb-hero="main"] h1[data-kb-title-scale="medium"] {
    font-size: 32px;
    line-height: 1.22;
  }

  html body [data-kb-hero="main"] h1[data-kb-title-scale="long"] {
    font-size: 28px;
    line-height: 1.26;
  }

  html body [data-kb-hero="main"] h1[data-kb-title-scale="xlong"] {
    font-size: 25px;
    line-height: 1.3;
  }

  html body.site-subpage .container,
  html body.site-subpage .shell {
    max-width: 100%;
  }

  html body.site-subpage dialog,
  html body.site-subpage .modal {
    max-width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }
}

html body #main-content #safe-rate-tool #calculator h2 {
  color: var(--kb-ui-heading);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;
}

html body #main-content #safe-rate-tool #calculator p {
  font-size: 15px;
  line-height: 1.7;
}

html body #main-content #safe-rate-tool #calculator .label {
  color: #344054;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
}

html body #main-content #safe-rate-tool #calculator :is(input, select, textarea) {
  min-height: 38px;
  padding: 8px 11px;
  border-color: #d6e0ec;
  border-radius: 9px;
  background: var(--kb-ui-surface);
  color: #20324d;
  font-size: 14px;
  font-weight: 500;
}

html body #main-content #safe-rate-tool #calculator .btn {
  min-height: 36px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
}

@media (max-width: 720px) {
  html body #main-content #safe-rate-tool #calculator :is(input, select, textarea) {
    font-size: 16px;
  }

  html body #main-content #safe-rate-tool #calculator .btn {
    font-size: 14px;
  }
}

@media (max-width: 390px) {
  html body .mobile-nav {
    padding-right: 14px;
    padding-left: 14px;
  }

  html body .mobile-nav > a,
  html body .mobile-nav > button {
    font-size: 14px;
  }

  html body .mobile-nav .mobile-nav-group > a {
    font-size: 13px;
  }
}

html body {
  color: var(--kb-ui-text);
  font-family: var(--kb-site-font);
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html body :where(button, input, select, textarea, table) {
  font-family: var(--kb-site-font);
}

html body main :where(.section-head, .hero-choice-head, .transport-intro, .faq-wrap, .quote-layout) h2 {
  color: var(--kb-ui-heading);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.025em;
}

html body main :where(.nt-tool-head, .kb-section-title, .panel-heading, .simple-calc-head, .shell-head, .tool-head) h2 {
  color: var(--kb-ui-heading);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.02em;
}

html body main :where(.post-body, .article-body, .post-content, .article-content, .body) .section > h2,
html body main :where(.post-body, .article-body, .post-content, .article-content) > h2 {
  color: var(--kb-ui-heading);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: -.02em;
}

html body main :where(.service-card, .process, .term-card, .post-card, .blog-card, .info-grid, .form-block, .card, .nt-card) h3 {
  color: var(--kb-ui-heading);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: -.015em;
}

html body main :where(.post-body, .article-body, .post-content, .article-content, .body .section) p,
html body main :where(.post-body, .article-body, .post-content, .article-content, .body .section) li {
  color: var(--kb-ui-text);
  font-size: 15px;
  line-height: 1.75;
}

html body main :where(.section, .panel, .card, .nt-card, .tool-shell, .post-card, .service-card, .form-card, .field-card) p {
  font-size: 15px;
  line-height: 1.7;
}

html body main :where(.section-head, .nt-tool-head, .panel-heading, .shell-head, .kb-section-title, .post-card, .blog-card, .service-card, .form-card, .field-card) p {
  color: var(--kb-ui-muted);
}

html body main :where(label, .label, .field-label, .form-label) {
  color: #344054;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: -.01em;
}

html body main :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
  select,
  textarea
) {
  min-height: 38px;
  padding: 8px 11px;
  border-color: #d6e0ec;
  border-radius: 9px;
  background: var(--kb-ui-surface);
  color: #20324d;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

html body main :where(input, select, textarea)::placeholder {
  color: #8a98ab;
  opacity: 1;
}

html body main :where(input, select, textarea):disabled {
  background: #f3f6fa;
  color: #8a96a8;
  cursor: not-allowed;
}

html body main :where(button, .btn, .nt-btn, .primary-btn, .secondary-btn, .top-btn) {
  min-height: 36px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -.01em;
}

html body main :where(.primary, .primary-btn, .btn-primary, .nt-btn.primary, button[type="submit"]) {
  border-color: var(--kb-ui-primary);
  background: var(--kb-ui-primary);
  color: #fff;
}

html body main :where(.secondary, .secondary-btn, .btn-secondary) {
  border-color: #d7e0ee;
  background: #f3f6fb;
  color: #234a9a;
}

html body main table {
  color: var(--kb-ui-text);
}

html body main th {
  border-color: var(--kb-ui-border);
  background: var(--kb-ui-soft);
  color: #42526b;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

html body main td {
  border-color: var(--kb-ui-border);
  color: #24364f;
  font-size: 14px;
  line-height: 1.55;
}

html body main :where(.card, .nt-card, .panel, .form-card, .field-card, .post-card, .term-card, .service-card, .tool-shell) {
  border-color: var(--kb-ui-border);
}

html body main :where(.nt-card, .panel, .form-card, .field-card, .post-card, .term-card, .service-card, .tool-shell) {
  background-color: var(--kb-ui-surface);
}

html body main :where(.tag, .pill, .badge, .status, .mini-label, .kicker, .eyebrow) {
  font-size: 12px;
  line-height: 1.25;
}

html body main :where(.muted, .sub, .caption, .helper, .hint) {
  color: var(--kb-ui-muted);
  font-size: 13px;
  line-height: 1.55;
}

html body footer {
  font-family: var(--kb-site-font);
  font-size: 13px;
}

html body footer :where(p, a, li, small) {
  font-size: 13px;
  line-height: 1.6;
}

html body footer :where(h3, h4) {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}

@media (max-width: 720px) {
  html body {
    font-size: 15px;
  }

  html body main :where(.section-head, .hero-choice-head, .transport-intro, .faq-wrap, .quote-layout) h2 {
    font-size: 24px;
  }

  html body main :where(.nt-tool-head, .kb-section-title, .panel-heading, .simple-calc-head, .shell-head, .tool-head) h2 {
    font-size: 20px;
  }

  html body main :where(.post-body, .article-body, .post-content, .article-content, .body) .section > h2,
  html body main :where(.post-body, .article-body, .post-content, .article-content) > h2 {
    font-size: 22px;
  }

  html body main :where(.service-card, .process, .term-card, .post-card, .blog-card, .info-grid, .form-block, .card, .nt-card) h3 {
    font-size: 17px;
  }

  html body main :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
    select,
    textarea
  ) {
    font-size: 16px;
  }

  html body main :where(button, .btn, .nt-btn, .primary-btn, .secondary-btn, .top-btn) {
    font-size: 14px;
  }
}

html body:is(.site-home, .site-subpage) main h2:not([data-kb-ui-native]) {
  color: var(--kb-ui-heading);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -.02em;
}

html body:is(.site-home, .site-subpage) main :is(.section-head, .hero-choice-head, .transport-intro, .faq-wrap, .quote-layout) h2:not([data-kb-ui-native]) {
  font-size: 28px;
  line-height: 1.35;
}

html body:is(.site-home, .site-subpage) main :is(.post-body, .article-body, .post-content, .article-content, .body) .section > h2:not([data-kb-ui-native]),
html body:is(.site-home, .site-subpage) main :is(.post-body, .article-body, .post-content, .article-content) > h2:not([data-kb-ui-native]) {
  font-size: 24px;
  line-height: 1.45;
}

html body:is(.site-home, .site-subpage) main h3:not([data-kb-ui-native]) {
  color: var(--kb-ui-heading);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: -.015em;
}

html body:is(.site-home, .site-subpage) main :is(.cta, .navy, .navy-copy, .dark, [class*="navy"], [class*="dark"]) :is(h2, h3):not([data-kb-ui-native]) {
  color: #fff;
}

html body:is(.site-home, .site-subpage) main p:not([data-kb-ui-native]),
html body:is(.site-home, .site-subpage) main li:not([data-kb-ui-native]) {
  font-size: 15px;
  line-height: 1.7;
}

html body:is(.site-home, .site-subpage) main :is(.post-body, .article-body, .post-content, .article-content, .body .section) :is(p, li):not([data-kb-ui-native]) {
  color: var(--kb-ui-text);
  line-height: 1.75;
}

html body:is(.site-home, .site-subpage) main :is(.section-head, .nt-tool-head, .panel-heading, .shell-head, .kb-section-title, .post-card, .blog-card, .service-card, .form-card, .field-card, .blog-section, .policy-content) p:not([data-kb-ui-native]) {
  color: var(--kb-ui-muted);
}

html body:is(.site-home, .site-subpage) main :is(label, .label, .field-label, .form-label):not([data-kb-ui-native]) {
  color: #344054;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
}

html body:is(.site-home, .site-subpage) main :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
  select,
  textarea
):not([data-kb-ui-native]) {
  min-height: 38px;
  padding: 8px 11px;
  border-color: #d6e0ec;
  border-radius: 9px;
  background: var(--kb-ui-surface);
  color: #20324d;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

html body:is(.site-home, .site-subpage) main :is(button, .btn, .nt-btn, .primary-btn, .secondary-btn, .top-btn):not([data-kb-ui-native]) {
  min-height: 36px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -.01em;
}

html body:is(.site-home, .site-subpage) main th:not([data-kb-ui-native]) {
  border-color: var(--kb-ui-border);
  background: var(--kb-ui-soft);
  color: #42526b;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

html body:is(.site-home, .site-subpage) main td:not([data-kb-ui-native]) {
  border-color: var(--kb-ui-border);
  color: #24364f;
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 720px) {
  html body:is(.site-home, .site-subpage) main :is(.section-head, .hero-choice-head, .transport-intro, .faq-wrap, .quote-layout) h2:not([data-kb-ui-native]) {
    font-size: 24px;
  }

  html body:is(.site-home, .site-subpage) main :is(.post-body, .article-body, .post-content, .article-content, .body) .section > h2:not([data-kb-ui-native]),
  html body:is(.site-home, .site-subpage) main :is(.post-body, .article-body, .post-content, .article-content) > h2:not([data-kb-ui-native]) {
    font-size: 22px;
  }

  html body:is(.site-home, .site-subpage) main h3:not([data-kb-ui-native]) {
    font-size: 17px;
  }

  html body:is(.site-home, .site-subpage) main :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
    select,
    textarea
  ):not([data-kb-ui-native]) {
    font-size: 16px;
  }

  html body:is(.site-home, .site-subpage) main :is(button, .btn, .nt-btn, .primary-btn, .secondary-btn, .top-btn):not([data-kb-ui-native]) {
    font-size: 14px;
  }
}

html body.site-home [data-kb-hero="main"] .hero-choice-head h2,
html body.site-home [data-kb-hero="main"] .hero-choice-head h2:not([data-kb-ui-native]){
  color:#ffffff;
}
html body.site-home [data-kb-hero="main"] .hero-choice-head p,
html body.site-home [data-kb-hero="main"] .hero-choice-head p:not([data-kb-ui-native]),
html body.site-home [data-kb-hero="main"] .hero-choice-head span,
html body.site-home [data-kb-hero="main"] .hero-choice-head small{
  color:rgba(236,244,255,.88);
}
html body.site-home [data-kb-hero="main"] .hero-choice-head{
  color:#fff;
}
html body .search-strip .search-box{
  position:relative;
  display:block;
}
html body .search-strip .search-box svg{
  position:absolute;
  left:18px;
  top:50%;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  pointer-events:none;
  z-index:2;
}
html body .search-strip .search-box input,
html body .search-strip .search-box input:not([data-kb-ui-native]){
  padding-left:56px;
  padding-right:18px;
}
html body .search-strip .search-box input[type="search"]::-webkit-search-decoration,
html body .search-strip .search-box input[type="search"]::-webkit-search-cancel-button,
html body .search-strip .search-box input[type="search"]::-webkit-search-results-button,
html body .search-strip .search-box input[type="search"]::-webkit-search-results-decoration{
  -webkit-appearance:none;
}

:root{
  --kb-brand:#2864e8;--kb-brand-dark:#1c4fbf;--kb-navy:#10284c;--kb-navy-deep:#071a35;
  --kb-ink:#172640;--kb-text:#45556e;--kb-muted:#718099;--kb-line:#dce4ef;
  --kb-soft:#f5f8fc;--kb-white:#fff;--kb-max:1200px;--kb-header:68px;
  --kb-font:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.kb-unified-site{margin:0;overflow-x:hidden;background:#fff;color:var(--kb-text);font-family:var(--kb-font);font-size:16px;line-height:1.68;letter-spacing:-.016em;-webkit-font-smoothing:antialiased}
body.kb-unified-site h1,body.kb-unified-site h2,body.kb-unified-site h3,body.kb-unified-site h4{font-family:var(--kb-font);letter-spacing:-.04em}
body.kb-unified-site :focus-visible{outline:3px solid rgba(40,100,232,.35);outline-offset:3px}
body.kb-unified-site input:focus,body.kb-unified-site select:focus,body.kb-unified-site textarea:focus{border-color:var(--kb-brand);box-shadow:0 0 0 4px rgba(40,100,232,.12)}

body.kb-unified-site .header,body.kb-unified-site .kb-header{height:var(--kb-header);background:rgba(16,40,76,.98);border-bottom:1px solid rgba(255,255,255,.11);color:#fff;backdrop-filter:blur(14px)}
body.kb-unified-site .header .header-inner,body.kb-unified-site .kb-header .kb-header-inner{width:min(var(--kb-max),calc(100% - 48px));height:100%;margin-inline:auto;display:flex;align-items:center}
body.kb-unified-site .brand,body.kb-unified-site .kb-logo{color:#fff}
body.kb-unified-site .brand-copy strong,body.kb-unified-site .kb-logo strong{color:#fff}
body.kb-unified-site .nav>a,body.kb-unified-site .nav-dropdown-toggle,body.kb-unified-site .kb-nav>a{color:#dce6f5}
body.kb-unified-site .nav>a:hover,body.kb-unified-site .nav>a.active,body.kb-unified-site .nav-dropdown:hover>.nav-dropdown-toggle,body.kb-unified-site .kb-nav>a:hover,body.kb-unified-site .kb-nav>a.active{color:#fff}
body.kb-unified-site .header-btn,body.kb-unified-site .kb-quote{background:var(--kb-brand);color:#fff;border-color:transparent;box-shadow:0 9px 22px rgba(40,100,232,.28)}
body.kb-unified-site .header-btn:hover,body.kb-unified-site .kb-quote:hover{background:var(--kb-brand-dark)}
body.kb-unified-site .nav-dropdown-menu{border:1px solid rgba(17,39,74,.12);border-radius:15px;background:#fff;color:var(--kb-ink);box-shadow:0 22px 54px rgba(4,18,44,.24)}
body.kb-unified-site .nav-dropdown-menu a:hover,body.kb-unified-site .nav-dropdown-menu a.active{background:#eef4ff;color:var(--kb-brand)}

body.kb-unified-site .kb-page-hero{
  position:relative;isolation:isolate;min-height:360px;overflow:hidden;
  background:linear-gradient(120deg,#0d2039 0%,#173d66 64%,#176a8b 100%);color:#fff;
}
body.kb-unified-site .kb-page-hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle at 102% -32%,rgba(88,209,232,.24) 0 250px,transparent 252px),
    radial-gradient(circle at 72% 124%,rgba(75,143,242,.18) 0 170px,transparent 172px);
}
body.kb-unified-site .kb-page-hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,23,43,.58) 0%,rgba(8,30,54,.24) 54%,rgba(10,46,69,.06) 100%);
}
body.kb-unified-site .kb-page-hero>.kb-hero-frame{
  width:min(var(--kb-max),calc(100% - 48px));min-height:360px;margin-inline:auto;padding:58px 0;
  position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;
}
body.kb-unified-site .kb-page-hero>*:not(.kb-hero-frame){position:relative;z-index:2}
body.kb-unified-site .kb-page-hero:not(.kb-hero-has-panel)>.kb-hero-frame>*{max-width:760px}
body.kb-unified-site .kb-page-hero.kb-hero-has-panel>.kb-hero-frame{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.78fr);gap:52px;align-items:center}
body.kb-unified-site .kb-page-hero .hero-copy{max-width:690px;text-align:left}
body.kb-unified-site .kb-page-hero :is(.eyebrow,.tool-kicker){display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;color:#c9dcff;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
body.kb-unified-site .kb-page-hero :is(.eyebrow,.tool-kicker)::before{content:"";width:8px;height:8px;border-radius:50%;background:#76aaff;box-shadow:0 0 0 5px rgba(118,170,255,.15)}
body.kb-unified-site .kb-page-hero h1{margin:0;color:#fff;font-size:clamp(34px,4vw,52px);font-weight:820;line-height:1.16;letter-spacing:-.052em;text-align:left;text-wrap:balance}
body.kb-unified-site .kb-page-hero h1 em,body.kb-unified-site .kb-page-hero h1 span{color:#9fc4ff;font-style:normal}
body.kb-unified-site .kb-page-hero>.kb-hero-frame>p,body.kb-unified-site .kb-page-hero .hero-copy>p,body.kb-unified-site .kb-page-hero .hero-desc{max-width:68ch;margin:19px 0 0;color:rgba(241,247,255,.92);font-size:16px;line-height:1.82;text-align:left}
body.kb-unified-site .kb-page-hero :is(.badges,.tool-badges,.hero-tags,.hero-pills){display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;justify-content:flex-start}
body.kb-unified-site .kb-page-hero :is(.badges,.tool-badges,.hero-tags,.hero-pills)>*{min-height:31px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(7,28,57,.38);color:#edf5ff;font-size:11px;font-weight:750}
body.kb-unified-site .kb-page-hero :is(.hero-actions,.actions){display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;justify-content:flex-start}
body.kb-unified-site .kb-page-hero :is(.hero-actions,.actions) .btn{min-height:48px;padding:0 22px;border-radius:12px;font-weight:800}
body.kb-unified-site .kb-page-hero :is(.hero-actions,.actions) .primary{background:var(--kb-brand);border-color:var(--kb-brand);color:#fff}
body.kb-unified-site .kb-page-hero :is(.hero-actions,.actions) .glass{background:rgba(8,30,60,.42);border-color:rgba(255,255,255,.3);color:#fff}
body.kb-unified-site .kb-page-hero :is(.hero-panel,.hero-board,.route-card,.hero-card,.hero-metrics){border-color:rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(7,27,56,.78),rgba(8,29,58,.64));color:#fff;box-shadow:0 26px 68px rgba(5,20,48,.24);backdrop-filter:blur(16px)}
body.kb-unified-site .kb-page-hero :is(.hero-panel,.hero-board,.route-card,.hero-card) :is(h2,h3,strong){color:#fff}
body.kb-unified-site .kb-page-hero :is(.hero-panel,.hero-board,.route-card,.hero-card) :is(p,li,span,small){color:rgba(239,246,255,.88)}
body.kb-unified-site .kb-page-hero.article-hero,body.kb-unified-site .kb-page-hero.blog-hero{min-height:350px}
body.kb-unified-site .kb-page-hero.article-hero>.kb-hero-frame,body.kb-unified-site .kb-page-hero.blog-hero>.kb-hero-frame{min-height:350px;padding-block:54px}
body.kb-unified-site .kb-page-hero.article-hero h1{max-width:900px;font-size:clamp(31px,3.7vw,49px)}
body.kb-unified-site .kb-page-hero .article-meta{color:#c6d4e8}
body.kb-unified-site .kb-page-hero .effective{display:inline-flex;margin-top:18px;padding:7px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(7,28,57,.4);color:#e6f0ff}

body.kb-unified-site main{background:#fff}
body.kb-unified-site .tool-shell,body.kb-unified-site .panel,body.kb-unified-site .card{border-color:var(--kb-line)}
body.kb-unified-site .footer,body.kb-unified-site .kb-footer,body.kb-unified-site>footer{background:#0e203d;color:#d7e1ef}

@media(max-width:1080px){
 body.kb-unified-site .kb-page-hero.kb-hero-has-panel>.kb-hero-frame{grid-template-columns:minmax(0,1fr) minmax(290px,.72fr);gap:32px}
}
@media(max-width:820px){
 body.kb-unified-site .header .header-inner,body.kb-unified-site .kb-header .kb-header-inner{width:calc(100% - 32px)}
 body.kb-unified-site .kb-page-hero::after{background:linear-gradient(90deg,rgba(7,23,43,.72),rgba(8,30,54,.40) 72%,rgba(10,46,69,.18))}
 body.kb-unified-site .kb-page-hero>.kb-hero-frame,body.kb-unified-site .kb-page-hero.article-hero>.kb-hero-frame,body.kb-unified-site .kb-page-hero.blog-hero>.kb-hero-frame{width:calc(100% - 32px);min-height:unset;padding:58px 0}
 body.kb-unified-site .kb-page-hero.kb-hero-has-panel>.kb-hero-frame{display:grid;grid-template-columns:1fr;gap:26px}
 body.kb-unified-site .kb-page-hero h1{font-size:clamp(32px,8vw,45px)}
}
@media(max-width:560px){
 body.kb-unified-site .kb-page-hero{min-height:unset}
 body.kb-unified-site .kb-page-hero>.kb-hero-frame,body.kb-unified-site .kb-page-hero.article-hero>.kb-hero-frame,body.kb-unified-site .kb-page-hero.blog-hero>.kb-hero-frame{width:calc(100% - 28px);padding:48px 0}
 body.kb-unified-site .kb-page-hero h1,body.kb-unified-site .kb-page-hero.article-hero h1{font-size:clamp(30px,10vw,39px);line-height:1.2}
 body.kb-unified-site .kb-page-hero>.kb-hero-frame>p,body.kb-unified-site .kb-page-hero .hero-copy>p,body.kb-unified-site .kb-page-hero .hero-desc{font-size:15px;line-height:1.75}
 body.kb-unified-site .kb-page-hero :is(.hero-actions,.actions){width:100%}
 body.kb-unified-site .kb-page-hero :is(.hero-actions,.actions) .btn{flex:1 1 150px}
}

.kb-svg-fill{display:block;width:100%;height:100%}
.kb-mt-5{margin-top:5px}.kb-mt-8{margin-top:8px}.kb-mt-15{margin-top:15px}.kb-mt-16{margin-top:16px}.kb-mt-18{margin-top:18px}.kb-mt-20{margin-top:20px}.kb-mt-34{margin-top:34px}
.kb-progress-zero{width:0%}.kb-min-w-170{min-width:170px}.kb-text-right-mt5{text-align:right;margin-top:5px}
.kb-muted-strong{color:#7b899d;font-weight:600}.kb-accent-soft{color:#a8c8ff}.kb-accent-blue{color:#9fc2ff}
.kb-visually-hidden{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

body.kb-unified-site .form-section .form-guide .kb-on-dark-title,
body.kb-unified-site .quote-section .quote-guide .kb-on-dark-title,
body.kb-unified-site .form-section .form-guide h2,
body.kb-unified-site .quote-section .quote-guide h2{color:#fff;text-shadow:0 1px 10px rgba(2,12,29,.18)}
body.kb-unified-site .form-section .form-guide>p,
body.kb-unified-site .quote-section .quote-guide>p{color:rgba(239,246,255,.86)}

body.site-home [data-kb-hero="main"] .hero-choice-head h2{color:#fff}
body.site-home [data-kb-hero="main"] .hero-choice-head p,
body.site-home [data-kb-hero="main"] .hero-choice-head span{color:rgba(236,244,255,.88)}

body.kb-unified-site .search-strip .search-box{position:relative;display:block}
body.kb-unified-site .search-strip .search-box svg{position:absolute;left:18px;top:50%;width:20px;height:20px;transform:translateY(-50%);pointer-events:none;z-index:2}
body.kb-unified-site .search-strip .search-box input{padding-left:56px;padding-right:18px}
body.kb-unified-site .search-strip .search-box input[type="search"]::-webkit-search-decoration,
body.kb-unified-site .search-strip .search-box input[type="search"]::-webkit-search-cancel-button,
body.kb-unified-site .search-strip .search-box input[type="search"]::-webkit-search-results-button,
body.kb-unified-site .search-strip .search-box input[type="search"]::-webkit-search-results-decoration{-webkit-appearance:none}
}

@layer design {.kb-mb-5{margin-bottom:5px}.kb-mb-8{margin-bottom:8px}}

@layer design {
  :root {
    --kb-v13-navy-950: #071a32;
    --kb-v13-navy-900: #0b2442;
    --kb-v13-navy-800: #12375f;
    --kb-v13-blue-700: #2458d3;
    --kb-v13-blue-600: #2e6be6;
    --kb-v13-blue-500: #4b86f7;
    --kb-v13-cyan-500: #19b8c8;
    --kb-v13-cyan-300: #74d9e3;
    --kb-v13-amber-500: #f5a524;
    --kb-v13-ink: #10213b;
    --kb-v13-text: #40516b;
    --kb-v13-muted: #6c7d95;
    --kb-v13-line: #dbe5f1;
    --kb-v13-soft: #f4f8fd;
    --kb-v13-soft-blue: #edf4ff;
    --kb-v13-surface: #ffffff;
    --kb-v13-shadow-sm: 0 8px 22px rgba(17, 43, 82, .055);
    --kb-v13-shadow: 0 18px 46px rgba(17, 43, 82, .09);
    --kb-v13-shadow-lg: 0 28px 72px rgba(8, 31, 65, .14);
    --kb-v13-radius-sm: 12px;
    --kb-v13-radius: 18px;
    --kb-v13-radius-lg: 24px;
    --kb-v13-ease: cubic-bezier(.22, .61, .36, 1);
    --kb-ui-heading: var(--kb-v13-ink);
    --kb-ui-text: var(--kb-v13-text);
    --kb-ui-muted: var(--kb-v13-muted);
    --kb-ui-soft: var(--kb-v13-soft);
    --kb-ui-border: var(--kb-v13-line);
    --kb-ui-primary: var(--kb-v13-blue-600);
    --kb-ui-primary-dark: var(--kb-v13-blue-700);
    --kb-ui-primary-soft: var(--kb-v13-soft-blue);
    --kb-brand: var(--kb-v13-blue-600);
    --kb-brand-dark: var(--kb-v13-blue-700);
    --kb-navy: var(--kb-v13-navy-900);
  }

  html {
    background: #fff;
    scroll-behavior: smooth;
  }

  body.kb-unified-site {
    color: var(--kb-v13-text);
    background:
      radial-gradient(circle at 4% 12%, rgba(75, 134, 247, .055), transparent 26rem),
      radial-gradient(circle at 96% 38%, rgba(25, 184, 200, .045), transparent 24rem),
      #fff;
  }

  body.kb-unified-site main {
    position: relative;
    background: transparent;
  }

  body.kb-unified-site ::selection {
    background: rgba(46, 107, 230, .2);
    color: var(--kb-v13-navy-950);
  }

  html body.kb-unified-site .header {
    background: linear-gradient(110deg, rgba(7, 26, 50, .985), rgba(13, 42, 77, .975) 58%, rgba(13, 55, 86, .97));
    border-bottom: 1px solid rgba(167, 205, 255, .13);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .025);
    transition: box-shadow .32s var(--kb-v13-ease), background .32s var(--kb-v13-ease);
  }

  html body.kb-unified-site.kb-scrolled .header,
  html body.kb-unified-site.kb-scrolled header.header {
    box-shadow: 0 14px 36px rgba(5, 24, 51, .2);
  }

  html body.kb-unified-site .header .brand-symbol {
    box-shadow: 0 7px 18px rgba(36, 88, 211, .24);
    transition: transform .28s var(--kb-v13-ease), box-shadow .28s var(--kb-v13-ease);
  }

  html body.kb-unified-site .header .nav > a::before,
  html body.kb-unified-site .header .nav-dropdown-toggle::before {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 8px;
    left: 50%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--kb-v13-blue-500), var(--kb-v13-cyan-300));
    opacity: 0;
    transition: right .24s var(--kb-v13-ease), left .24s var(--kb-v13-ease), opacity .24s ease;
  }

  html body.kb-unified-site .header .nav > a:hover::before,
  html body.kb-unified-site .header .nav-dropdown:hover > .nav-dropdown-toggle::before,
  html body.kb-unified-site .header .nav-dropdown:focus-within > .nav-dropdown-toggle::before {
    right: 0;
    left: 0;
    opacity: 1;
  }

  html body.kb-unified-site .header .nav > a.active::after {
    background: linear-gradient(90deg, var(--kb-v13-blue-500), var(--kb-v13-cyan-300));
    box-shadow: 0 0 14px rgba(116, 217, 227, .32);
  }

  html body.kb-unified-site .header .header-btn {
    border: 1px solid rgba(255, 255, 255, .12);
    background: linear-gradient(135deg, var(--kb-v13-blue-600), #397fee);
    box-shadow: 0 10px 24px rgba(36, 88, 211, .3);
  }

  html body.kb-unified-site .header .nav-dropdown-menu {
    border-color: rgba(27, 63, 111, .12);
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 26px 64px rgba(4, 23, 52, .24);
    backdrop-filter: blur(18px);
  }

  html body.kb-unified-site .header .nav-dropdown-menu a {
    border-radius: 10px;
    transition: background .18s ease, color .18s ease, transform .18s var(--kb-v13-ease);
  }

  html body.kb-unified-site .header .nav-dropdown-menu a:hover {
    background: linear-gradient(100deg, #edf4ff, #f2fbfc);
    color: var(--kb-v13-blue-700);
    transform: translateX(3px);
  }

  body.site-subpage.kb-unified-site .kb-page-hero {
    min-height: 370px;
    background: linear-gradient(118deg, var(--kb-v13-navy-950) 0%, var(--kb-v13-navy-800) 58%, #126b82 100%);
    background-size: 145% 145%;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .08);
  }

  body.site-subpage.kb-unified-site .kb-page-hero::before {
    inset: -18%;
    background:
      radial-gradient(circle at 83% 22%, rgba(79, 196, 221, .28) 0 8%, transparent 27%),
      radial-gradient(circle at 68% 102%, rgba(75, 134, 247, .24) 0 11%, transparent 31%),
      radial-gradient(circle at 4% 7%, rgba(89, 139, 247, .16) 0 7%, transparent 26%);
    filter: blur(.2px);
    transform: translate3d(0, 0, 0) scale(1.03);
  }

  body.site-subpage.kb-unified-site .kb-page-hero::after {
    background:
      linear-gradient(90deg, rgba(5, 22, 43, .72) 0%, rgba(8, 34, 62, .33) 59%, rgba(8, 54, 74, .08) 100%),
      linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: auto, 52px 52px, 52px 52px;
    background-position: 0 0, center center, center center;
    mask-image: linear-gradient(90deg, #000 0%, #000 70%, rgba(0, 0, 0, .75) 100%);
  }

  body.site-subpage.kb-unified-site .kb-page-hero > .kb-hero-frame {
    min-height: 370px;
    padding-block: 64px;
  }

  body.site-subpage.kb-unified-site .kb-page-hero .eyebrow,
  body.site-subpage.kb-unified-site .kb-page-hero .tool-kicker {
    color: #d3e7ff;
  }

  body.site-subpage.kb-unified-site .kb-page-hero .eyebrow::before,
  body.site-subpage.kb-unified-site .kb-page-hero .tool-kicker::before {
    background: var(--kb-v13-cyan-300);
    box-shadow: 0 0 0 5px rgba(116, 217, 227, .13), 0 0 22px rgba(116, 217, 227, .34);
  }

  body.site-subpage.kb-unified-site .kb-page-hero h1 {
    text-shadow: 0 14px 38px rgba(3, 18, 39, .25);
  }

  body.site-subpage.kb-unified-site .kb-page-hero h1 em,
  body.site-subpage.kb-unified-site .kb-page-hero h1 span {
    color: #9edcff;
  }

  body.site-subpage.kb-unified-site .kb-page-hero :is(.badges, .tool-badges, .hero-tags, .hero-pills) > * {
    border-color: rgba(197, 230, 255, .22);
    background: linear-gradient(135deg, rgba(255, 255, 255, .105), rgba(121, 211, 227, .075));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
    backdrop-filter: blur(10px);
  }

  body.site-subpage.kb-unified-site .kb-page-hero :is(.hero-panel, .hero-board, .route-card, .hero-card, .hero-metrics) {
    border: 1px solid rgba(196, 227, 255, .18);
    border-radius: var(--kb-v13-radius-lg);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, .115), rgba(255, 255, 255, .045)),
      rgba(6, 27, 55, .48);
    box-shadow: 0 26px 66px rgba(2, 18, 41, .26), inset 0 1px 0 rgba(255, 255, 255, .09);
    backdrop-filter: blur(18px) saturate(125%);
  }

  body.site-home.kb-unified-site [data-kb-hero="main"] {
    isolation: isolate;
  }

  body.site-home.kb-unified-site [data-kb-hero="main"] .hero-choice,
  body.site-home.kb-unified-site [data-kb-hero="main"] .hero-choice-card {
    border-color: rgba(183, 216, 255, .17);
    box-shadow: 0 22px 58px rgba(3, 20, 46, .18);
  }

  body.site-home.kb-unified-site [data-kb-hero="main"] .hero-choice-card {
    transition: transform .3s var(--kb-v13-ease), border-color .3s ease, box-shadow .3s ease, background .3s ease;
  }

  body.kb-unified-site main > .section,
  body.kb-unified-site main > section.section {
    position: relative;
  }

  body.kb-unified-site main > .section.soft,
  body.kb-unified-site main > section.soft,
  body.kb-unified-site .section.soft {
    background:
      radial-gradient(circle at 8% 10%, rgba(75, 134, 247, .055), transparent 22rem),
      radial-gradient(circle at 92% 88%, rgba(25, 184, 200, .045), transparent 20rem),
      linear-gradient(180deg, #f7faff, #f3f7fc);
  }

  body.kb-unified-site .section-head {
    position: relative;
  }

  body.kb-unified-site .section-head::after {
    content: "";
    position: absolute;
    bottom: -17px;
    left: 0;
    width: 74px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--kb-v13-blue-600), var(--kb-v13-cyan-500));
    box-shadow: 0 5px 16px rgba(46, 107, 230, .18);
  }

  body.kb-unified-site :is(.kicker, .mini-label, .tool-kicker) {
    color: var(--kb-v13-blue-600);
  }

  body.kb-unified-site .kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  body.kb-unified-site .kicker::before {
    content: "";
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--kb-v13-blue-600), var(--kb-v13-cyan-500));
  }

  body.kb-unified-site :is(.tool-shell, .kbfx-card, .form-card, .panel) {
    border-color: var(--kb-v13-line);
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--kb-v13-shadow);
  }

  body.kb-unified-site :is(.tool-shell, .kbfx-card, .form-card, .panel) {
    border-radius: var(--kb-v13-radius);
  }

  body.kb-unified-site :is(
    .tool-card, .service-card, .guide-card, .route-card, .post-card, .summary-card,
    .term-card, .news-item, .type-item, .photo-card, .field-card, .nt-card,
    .source-card, .fsc-card, .rate-card, .vehicle-card, .process-item, .trust-card,
    .promo-card, .strength-panel, .quick-summary, .toc, .related-tools-card
  ) {
    border-color: var(--kb-v13-line);
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    box-shadow: var(--kb-v13-shadow-sm);
  }

  body.kb-unified-site :is(
    .tool-card, .service-card, .guide-card, .route-card, .post-card, .summary-card,
    .term-card, .news-item, .type-item, .photo-card, .field-card, .nt-card,
    .source-card, .fsc-card, .rate-card, .vehicle-card, .process-item, .trust-card,
    .promo-card, .strength-panel
  ) {
    transition:
      transform .3s var(--kb-v13-ease),
      border-color .3s ease,
      box-shadow .3s var(--kb-v13-ease),
      background .3s ease;
  }

  body.kb-unified-site :is(.shell-head, .nt-tool-head, .panel-heading, .kb-section-title) {
    border-color: var(--kb-v13-line);
  }

  body.kb-unified-site .shell-head {
    background: linear-gradient(105deg, #f8fbff, #f3f8ff 56%, #f1fbfc);
  }

  body.kb-unified-site :is(.tool-icon, .section-number, .news-num, .type-num, .step-num, .process-num) {
    color: var(--kb-v13-blue-700);
    background: linear-gradient(145deg, #e9f1ff, #e4f8fa);
    box-shadow: inset 0 0 0 1px rgba(66, 119, 220, .055);
  }

  body.kb-unified-site .tool-card .tool-icon {
    transition: transform .3s var(--kb-v13-ease), box-shadow .3s ease;
  }

  body.kb-unified-site .kb-source-strip {
    border-color: #d7e6f3;
    border-radius: 14px;
    background: linear-gradient(105deg, #f5f9ff, #eef9fb);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
  }

  body.kb-unified-site .kb-source-dot {
    background: var(--kb-v13-cyan-500);
    box-shadow: 0 0 0 5px rgba(25, 184, 200, .1), 0 0 16px rgba(25, 184, 200, .22);
  }

  body.kb-unified-site :is(.tag, .pill, .nt-badge, .status, .rate-period-badge) {
    border-color: rgba(46, 107, 230, .11);
    background: linear-gradient(135deg, #edf4ff, #eefafb);
    color: var(--kb-v13-blue-700);
  }

  body.kb-unified-site :is(.btn, .nt-btn, .native-btn, .primary-btn, .secondary-btn, .header-btn, .top-btn, .kb-top-button, .transport-cta, .promo-cta) {
    position: relative;
    overflow: hidden;
    transition:
      transform .24s var(--kb-v13-ease),
      box-shadow .24s var(--kb-v13-ease),
      border-color .24s ease,
      background .24s ease,
      color .24s ease;
  }

  body.kb-unified-site :is(.btn.primary, .nt-btn.primary, .native-btn.primary, .primary-btn, .header-btn, .transport-cta, .promo-cta) {
    border-color: transparent;
    background: linear-gradient(135deg, var(--kb-v13-blue-700), var(--kb-v13-blue-500) 62%, #3a8fd8);
    color: #fff;
    box-shadow: 0 10px 24px rgba(36, 88, 211, .22);
  }

  body.kb-unified-site :is(.btn.secondary, .nt-btn.secondary, .native-btn.secondary, .secondary-btn, .btn.ghost) {
    border-color: #cfdced;
    background: linear-gradient(180deg, #fff, #f6f9fd);
    color: #27405f;
  }

  body.kb-unified-site :is(.btn, .nt-btn, .native-btn, .primary-btn, .header-btn, .transport-cta, .promo-cta)::after {
    content: "";
    position: absolute;
    top: -40%;
    bottom: -40%;
    left: -56%;
    width: 34%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .36), transparent);
    transform: skewX(-18deg);
    transition: left .55s var(--kb-v13-ease);
    pointer-events: none;
  }

  body.kb-unified-site main :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
    select, textarea
  ) {
    border-color: #d5e0ed;
    background: linear-gradient(180deg, #fff, #fbfdff);
    box-shadow: inset 0 1px 2px rgba(14, 39, 76, .025);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  }

  body.kb-unified-site main :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
    select, textarea
  ):hover {
    border-color: #bdcde1;
  }

  body.kb-unified-site main :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
    select, textarea
  ):focus {
    border-color: var(--kb-v13-blue-500);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(75, 134, 247, .115), 0 10px 24px rgba(17, 43, 82, .055);
  }

  body.kb-unified-site :is(.nt-table-wrap, .result-table-wrap, .table-wrap, .vehicle-table-wrap, .table-card) {
    border-color: var(--kb-v13-line);
    background: #fff;
    box-shadow: var(--kb-v13-shadow-sm);
  }

  body.kb-unified-site :is(.nt-table, .data-table, .result-table, .vehicle-table) thead th,
  body.kb-unified-site :is(.nt-table-wrap, .result-table-wrap, .table-wrap, .vehicle-table-wrap) thead th {
    background: linear-gradient(180deg, #f1f6fd, #ebf2fb);
    color: #314866;
    border-bottom-color: #d5e1ef;
  }

  body.kb-unified-site :is(.nt-table, .data-table, .result-table, .vehicle-table) tbody tr,
  body.kb-unified-site :is(.nt-table-wrap, .result-table-wrap, .table-wrap, .vehicle-table-wrap) tbody tr {
    transition: background .18s ease, box-shadow .18s ease;
  }

  body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details) {
    border-color: var(--kb-v13-line);
    background: linear-gradient(180deg, #fff, #fbfdff);
    box-shadow: var(--kb-v13-shadow-sm);
    transition: border-color .24s ease, box-shadow .24s ease, transform .24s var(--kb-v13-ease);
  }

  body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details)[open] {
    border-color: rgba(46, 107, 230, .28);
    box-shadow: 0 16px 38px rgba(17, 43, 82, .09);
  }

  body.kb-unified-site :is(.faq-q, .faq-wrap summary, .faq summary) {
    color: var(--kb-v13-ink);
  }

  body.kb-unified-site .cta {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 88% 18%, rgba(25, 184, 200, .24), transparent 22rem),
      radial-gradient(circle at 10% 100%, rgba(75, 134, 247, .2), transparent 19rem),
      linear-gradient(118deg, var(--kb-v13-navy-950), #123d68 60%, #126d80);
  }

  body.kb-unified-site .cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: .5;
    pointer-events: none;
  }

  body.kb-unified-site .cta > * {
    position: relative;
    z-index: 1;
  }

  body.kb-unified-site :is(.article-body, .post-content, .article-content) h2 {
    position: relative;
    padding-left: 17px;
  }

  body.kb-unified-site :is(.article-body, .post-content, .article-content) h2::before {
    content: "";
    position: absolute;
    top: .18em;
    bottom: .18em;
    left: 0;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--kb-v13-blue-600), var(--kb-v13-cyan-500));
  }

  body.kb-unified-site :is(.quick-summary, .brief, blockquote) {
    border-color: #d6e4f2;
    background:
      radial-gradient(circle at 100% 0, rgba(25, 184, 200, .06), transparent 14rem),
      linear-gradient(135deg, #f5f9ff, #f8fcfd);
  }

  body.kb-unified-site .toc a {
    transition: color .18s ease, transform .18s var(--kb-v13-ease);
  }

  body.kb-unified-site .related-tools-card.kb-related-tools-unified {
    border-color: var(--kb-v13-line);
    background:
      radial-gradient(circle at 96% 2%, rgba(25, 184, 200, .07), transparent 13rem),
      linear-gradient(180deg, #fbfdff, #f5f9fe);
    box-shadow: var(--kb-v13-shadow-sm);
  }

  body.kb-unified-site .related-tools-card.kb-related-tools-unified .tool-nav a {
    border-color: #d8e3ef;
    background: rgba(255, 255, 255, .92);
    transition: transform .22s var(--kb-v13-ease), border-color .22s ease, box-shadow .22s ease, color .22s ease;
  }

  body.kb-unified-site :is(.footer, .kb-footer) {
    position: relative;
    background:
      radial-gradient(circle at 90% 0, rgba(25, 184, 200, .09), transparent 19rem),
      linear-gradient(120deg, #071a32, #0d2a4c 68%, #0e3954);
    border-top: 1px solid rgba(169, 208, 255, .1);
  }

  .kb-scroll-progress {
    position: fixed;
    z-index: 1900;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    pointer-events: none;
    transform: scaleX(var(--kb-scroll-progress, 0));
    transform-origin: left center;
    background: linear-gradient(90deg, var(--kb-v13-blue-500), var(--kb-v13-cyan-300), #b4edff);
    box-shadow: 0 0 12px rgba(116, 217, 227, .4);
    transition: transform .08s linear;
  }

  @media (hover: hover) and (pointer: fine) {
    html body.kb-unified-site .header .brand:hover .brand-symbol {
      transform: translateY(-1px) rotate(-2deg) scale(1.04);
      box-shadow: 0 10px 24px rgba(36, 88, 211, .36);
    }

    body.site-home.kb-unified-site [data-kb-hero="main"] .hero-choice-card:hover {
      transform: translateY(-5px);
      border-color: rgba(158, 209, 255, .34);
      box-shadow: 0 30px 70px rgba(2, 19, 44, .26);
    }

    body.kb-unified-site :is(
      .tool-card, .service-card, .guide-card, .route-card, .post-card, .summary-card,
      .term-card, .news-item, .type-item, .photo-card, .source-card, .fsc-card,
      .rate-card, .vehicle-card, .process-item, .trust-card, .promo-card, .strength-panel
    ):hover {
      transform: translateY(-5px);
      border-color: rgba(75, 134, 247, .28);
      background: linear-gradient(180deg, #fff, #f8fbff);
      box-shadow: var(--kb-v13-shadow);
    }

    body.kb-unified-site .tool-card:hover .tool-icon {
      transform: translateY(-2px) rotate(-2deg) scale(1.06);
      box-shadow: 0 12px 24px rgba(46, 107, 230, .14);
    }

    body.kb-unified-site :is(.btn, .nt-btn, .native-btn, .primary-btn, .secondary-btn, .header-btn, .transport-cta, .promo-cta):hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 30px rgba(36, 88, 211, .22);
    }

    body.kb-unified-site :is(.btn, .nt-btn, .native-btn, .primary-btn, .header-btn, .transport-cta, .promo-cta):hover::after {
      left: 126%;
    }

    body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details):hover {
      transform: translateY(-2px);
      border-color: rgba(75, 134, 247, .22);
      box-shadow: 0 14px 34px rgba(17, 43, 82, .08);
    }

    body.kb-unified-site .related-tools-card.kb-related-tools-unified .tool-nav a:hover {
      transform: translateY(-3px);
      border-color: rgba(75, 134, 247, .3);
      color: var(--kb-v13-blue-700);
      box-shadow: 0 12px 24px rgba(17, 43, 82, .08);
    }

    body.kb-unified-site .toc a:hover {
      color: var(--kb-v13-blue-700);
      transform: translateX(3px);
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    body.site-subpage.kb-unified-site .kb-page-hero {
      animation: kbV13HeroGradient 15s ease-in-out infinite alternate;
    }

    body.site-subpage.kb-unified-site .kb-page-hero::before {
      animation: kbV13HeroOrbs 12s ease-in-out infinite alternate;
    }

    body.site-subpage.kb-unified-site.kb-page-ready .kb-page-hero > .kb-hero-frame > * {
      animation: kbV13HeroIntro .72s var(--kb-v13-ease) both;
    }

    body.site-subpage.kb-unified-site.kb-page-ready .kb-page-hero > .kb-hero-frame > *:nth-child(2) { animation-delay: .07s; }
    body.site-subpage.kb-unified-site.kb-page-ready .kb-page-hero > .kb-hero-frame > *:nth-child(3) { animation-delay: .14s; }
    body.site-subpage.kb-unified-site.kb-page-ready .kb-page-hero > .kb-hero-frame > *:nth-child(4) { animation-delay: .21s; }
    body.site-subpage.kb-unified-site.kb-page-ready .kb-page-hero > .kb-hero-frame > *:nth-child(5) { animation-delay: .28s; }

    html.kb-motion-ready .kb-reveal {
      opacity: 0;
      filter: blur(4px);
      transform: translate3d(0, 24px, 0) scale(.988);
      transition:
        opacity .62s var(--kb-v13-ease),
        filter .62s var(--kb-v13-ease),
        transform .62s var(--kb-v13-ease);
      transition-delay: var(--kb-delay, 0ms);
      will-change: opacity, transform, filter;
    }

    html.kb-motion-ready .kb-reveal.is-visible {
      opacity: 1;
      filter: blur(0);
      transform: translate3d(0, 0, 0) scale(1);
    }

    @keyframes kbV13HeroGradient {
      0% { background-position: 0% 45%; }
      100% { background-position: 100% 55%; }
    }

    @keyframes kbV13HeroOrbs {
      0% { transform: translate3d(-1.5%, -1%, 0) scale(1.03); }
      100% { transform: translate3d(2%, 1.5%, 0) scale(1.08); }
    }

    @keyframes kbV13HeroIntro {
      from { opacity: 0; transform: translate3d(0, 18px, 0); }
      to { opacity: 1; transform: translate3d(0, 0, 0); }
    }
  }

  @media (max-width: 820px) {
    body.site-subpage.kb-unified-site .kb-page-hero,
    body.site-subpage.kb-unified-site .kb-page-hero > .kb-hero-frame {
      min-height: auto;
    }

    body.site-subpage.kb-unified-site .kb-page-hero > .kb-hero-frame {
      padding-block: 54px;
    }

    body.site-subpage.kb-unified-site .kb-page-hero::after {
      background-size: auto, 38px 38px, 38px 38px;
    }
  }

  @media (max-width: 560px) {
    body.kb-unified-site .section-head::after {
      bottom: -13px;
      width: 58px;
    }

    body.site-subpage.kb-unified-site .kb-page-hero > .kb-hero-frame {
      padding-block: 46px;
    }

    .kb-scroll-progress {
      height: 2px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .kb-scroll-progress { transition: none; }
    body.site-subpage.kb-unified-site .kb-page-hero,
    body.site-subpage.kb-unified-site .kb-page-hero::before,
    body.site-subpage.kb-unified-site .kb-page-hero > .kb-hero-frame > * {
      animation: none;
    }
  }
}

@layer design {
  body.kb-unified-site .cta :is(h2, h3, strong) { color: #fff; }
  body.kb-unified-site .cta p { color: rgba(236, 246, 255, .86); }
  body.kb-unified-site .cta .btn {
    border-color: rgba(255, 255, 255, .18);
    background: #fff;
    color: var(--kb-v13-navy-900);
    box-shadow: 0 14px 34px rgba(2, 19, 44, .2);
  }

  @media (prefers-reduced-motion: no-preference) {
    body.site-home.kb-unified-site.kb-page-ready [data-kb-hero="main"] .hero-copy > * {
      animation: kbV13HeroIntro .72s var(--kb-v13-ease) both;
    }
    body.site-home.kb-unified-site.kb-page-ready [data-kb-hero="main"] .hero-copy > *:nth-child(2) { animation-delay: .07s; }
    body.site-home.kb-unified-site.kb-page-ready [data-kb-hero="main"] .hero-copy > *:nth-child(3) { animation-delay: .14s; }
    body.site-home.kb-unified-site.kb-page-ready [data-kb-hero="main"] .hero-copy > *:nth-child(4) { animation-delay: .21s; }
    body.site-home.kb-unified-site.kb-page-ready [data-kb-hero="main"] .hero-copy > *:nth-child(5) { animation-delay: .28s; }
    body.site-home.kb-unified-site.kb-page-ready [data-kb-hero="main"] .hero-choice {
      animation: kbV13HeroIntro .82s .18s var(--kb-v13-ease) both;
    }
  }
}

@layer design {
  :root {
    --kb-v13-navy-950: #06182f;
    --kb-v13-navy-900: #0a2342;
    --kb-v13-navy-800: #12385f;
    --kb-v13-blue-700: #1d4fbd;
    --kb-v13-blue-600: #285fd2;
    --kb-v13-blue-500: #437ce6;
    --kb-v13-cyan-500: #148da3;
    --kb-v13-cyan-300: #63c5d0;
    --kb-v13-ink: #0d1f36;
    --kb-v13-text: #2f4058;
    --kb-v13-muted: #596b83;
    --kb-v13-line: #d2deeb;
    --kb-v13-soft: #f5f8fc;
    --kb-v13-soft-blue: #eaf1ff;
    --kb-v13-shadow-sm: 0 8px 22px rgba(15, 38, 72, .07);
    --kb-v13-shadow: 0 18px 44px rgba(15, 38, 72, .11);
    --kb-v13-shadow-lg: 0 28px 68px rgba(8, 29, 60, .16);
  }

  body.kb-unified-site {
    color: var(--kb-v13-text);
  }

  body.kb-unified-site :is(h1, h2, h3, h4, h5, h6) {
    color: var(--kb-v13-ink);
  }

  body.kb-unified-site main :is(.label, .field-label, .form-label) {
    color: #263951;
    font-weight: 800;
  }

  body.kb-unified-site main .muted {
    color: var(--kb-v13-muted);
  }

  body.kb-unified-site main :is(input, select, textarea) {
    border-color: #c9d6e5;
    background-color: #fff;
    color: #172a45;
  }

  body.kb-unified-site main :is(input, textarea)::placeholder {
    color: #8190a4;
    opacity: 1;
  }

  body.kb-unified-site main :is(input, select, textarea):hover:not(:disabled) {
    border-color: #9fb5d0;
  }

  body.kb-unified-site main :is(input, select, textarea):focus {
    border-color: var(--kb-v13-blue-600);
    box-shadow: 0 0 0 4px rgba(40, 95, 210, .13);
  }

  body.kb-unified-site :is(
    .card, .tool-card, .service-card, .guide-card, .route-card, .post-card,
    .summary-card, .term-card, .source-card, .fsc-card, .rate-card,
    .vehicle-card, .process-item, .trust-card, .promo-card
  ) {
    border-color: var(--kb-v13-line);
  }

  body.kb-unified-site :is(.tab, .filter-tabs button, .route-tabs button, .type-filter button) {
    border-color: #cbd8e7;
    color: #3e516b;
  }

  body.kb-unified-site :is(.tab.on, .tab.active, .filter-tabs button.active, .route-tabs button.active, .type-filter button.active) {
    border-color: var(--kb-v13-blue-600);
    background: var(--kb-v13-blue-600);
    color: #fff;
  }

  /* safe-rate equipment sizing is controlled by assets/css/pages/safe-rate.css. */
}

@layer design {

  body.page-safe-rate #calculator .guideBox {
    padding: 11px 13px;
    border-color: #d7e2ef;
    background: linear-gradient(180deg, #f8fbff, #f5f8fc);
  }

  body.page-safe-rate #calculator .guideBox .guideTitle {
    margin: 0 0 7px;
    color: #274d86;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: -.01em;
  }

  body.page-safe-rate #calculator .guideBox .guideList {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.page-safe-rate #calculator .guideBox .guideList li {
    position: relative;
    margin: 0;
    padding-left: 12px;
    color: #607087;
    font-size: 10.25px;
    font-weight: 550;
    line-height: 1.52;
    letter-spacing: -.012em;
  }

  body.page-safe-rate #calculator .guideBox .guideList li::before {
    content: "";
    position: absolute;
    top: .68em;
    left: 1px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #6c8fc5;
  }

  body.kb-unified-site :is(.faq-wrap, .faq-list, .faq) {
    display: block;
    width: 100%;
  }

  body.kb-unified-site :is(.faq-list, .faq) {
    max-width: 940px;
    margin-inline: auto;
    border-top: 1px solid #cfdceb;
  }

  body.kb-unified-site .faq-wrap > details:first-of-type {
    margin-top: 20px;
    border-top: 1px solid #cfdceb;
  }

  body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details) {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #d8e2ee;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    overflow: visible;
  }

  body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details)[open] {
    border-color: #c7d6e8;
    background: linear-gradient(90deg, rgba(234, 242, 255, .55), transparent 78%);
    box-shadow: none;
  }

  body.kb-unified-site :is(.faq-item summary, .faq-wrap summary, .faq summary, .faq-q) {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 68px;
    margin: 0;
    padding: 18px 52px 18px 4px;
    color: #142943;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.48;
    letter-spacing: -.018em;
    list-style: none;
    cursor: pointer;
    transition: color .2s ease, padding-left .25s var(--kb-v13-ease);
  }

  body.kb-unified-site :is(.faq-item summary, .faq-wrap summary, .faq summary)::-webkit-details-marker {
    display: none;
  }

  body.kb-unified-site :is(.faq-item summary, .faq-wrap summary, .faq summary)::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 5px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #cdd9e8;
    border-radius: 50%;
    background: #fff;
    color: #315e9d;
    font-size: 19px;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
    transition: transform .28s var(--kb-v13-ease), background .22s ease, color .22s ease, border-color .22s ease;
  }

  body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details)[open] > summary {
    color: #1d4f9d;
    padding-left: 9px;
  }

  body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details)[open] > summary::after {
    content: "−";
    border-color: #2f67c8;
    background: #2f67c8;
    color: #fff;
    transform: translateY(-50%) rotate(180deg);
  }

  body.kb-unified-site :is(.faq-answer, .faq-a) {
    margin: 0;
    padding: 0 54px 20px 9px;
    color: #52647b;
    font-size: 13.5px;
    line-height: 1.76;
    letter-spacing: -.012em;
  }

  body.kb-unified-site details[open] > :is(.faq-answer, .faq-a) {
    animation: kbV15FaqAnswer .34s var(--kb-v13-ease) both;
  }

  @media (hover: hover) and (pointer: fine) {
    body.kb-unified-site :is(.faq-item, .faq-wrap details, .faq details):hover {
      border-color: #c2d2e5;
      background: linear-gradient(90deg, rgba(242, 247, 254, .72), transparent 82%);
      box-shadow: none;
      transform: none;
    }

    body.kb-unified-site :is(.faq-item summary, .faq-wrap summary, .faq summary):hover {
      color: #2457aa;
      padding-left: 9px;
    }
  }

  html.kb-motion-ready .kb-reveal {
    opacity: 0;
    filter: none;
    transform: translate3d(0, 24px, 0);
    clip-path: inset(0 0 8% 0 round 12px);
    transition:
      opacity .68s var(--kb-v13-ease),
      transform .68s var(--kb-v13-ease),
      clip-path .72s var(--kb-v13-ease);
    transition-delay: var(--kb-delay, 0ms);
    will-change: opacity, transform, clip-path;
  }

  html.kb-motion-ready .kb-reveal[data-kb-motion="left"] {
    transform: translate3d(-22px, 15px, 0) scale(.992);
  }

  html.kb-motion-ready .kb-reveal[data-kb-motion="right"] {
    transform: translate3d(22px, 15px, 0) scale(.992);
  }

  html.kb-motion-ready .kb-reveal[data-kb-motion="scale"] {
    transform: translate3d(0, 14px, 0) scale(.974);
    clip-path: inset(4% 2% 4% 2% round 16px);
  }

  html.kb-motion-ready .kb-reveal[data-kb-motion="line"] {
    transform: translate3d(0, 10px, 0);
    clip-path: inset(0 100% 0 0);
  }

  html.kb-motion-ready .kb-reveal.is-visible,
  html.kb-motion-ready .kb-reveal[data-kb-motion].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    clip-path: inset(0 0 0 0 round 0);
  }

  body.kb-unified-site .section-head.kb-reveal::after {
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .64s calc(var(--kb-delay, 0ms) + 170ms) var(--kb-v13-ease);
  }

  body.kb-unified-site .section-head.kb-reveal.is-visible::after {
    transform: scaleX(1);
  }

  @media (prefers-reduced-motion: no-preference) {
    body.kb-unified-site.kb-page-ready :is(.header, .kb-header) {
      animation: kbV15HeaderIn .55s var(--kb-v13-ease) both;
    }

    body.site-subpage.kb-unified-site.kb-page-ready .kb-page-hero > .kb-hero-frame > *,
    body.site-home.kb-unified-site.kb-page-ready [data-kb-hero="main"] .hero-copy > * {
      animation-name: kbV15HeroIntro;
      animation-duration: .72s;
      animation-timing-function: var(--kb-v13-ease);
      animation-fill-mode: both;
    }

    body.site-subpage.kb-unified-site .kb-page-hero::before {
      animation: kbV15HeroAmbient 14s ease-in-out infinite alternate;
    }
  }

  @keyframes kbV15HeaderIn {
    from { opacity: 0; transform: translate3d(0, -14px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @keyframes kbV15HeroIntro {
    from { opacity: 0; transform: translate3d(0, 22px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @keyframes kbV15HeroAmbient {
    0% { transform: translate3d(-1%, -1%, 0) scale(1.02); opacity: .76; }
    100% { transform: translate3d(1.5%, 1%, 0) scale(1.06); opacity: .96; }
  }

  @keyframes kbV15FaqAnswer {
    from { opacity: 0; transform: translate3d(0, -5px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @media (max-width: 640px) {
    body.page-safe-rate #calculator .guideBox .guideTitle { font-size: 10.5px; }
    body.page-safe-rate #calculator .guideBox .guideList li { font-size: 9.75px; line-height: 1.5; }

    body.kb-unified-site :is(.faq-item summary, .faq-wrap summary, .faq summary, .faq-q) {
      min-height: 62px;
      padding: 15px 44px 15px 2px;
      font-size: 14px;
    }

    body.kb-unified-site :is(.faq-item summary, .faq-wrap summary, .faq summary)::after {
      right: 2px;
      width: 29px;
      height: 29px;
      font-size: 17px;
    }

    body.kb-unified-site :is(.faq-answer, .faq-a) {
      padding: 0 42px 17px 4px;
      font-size: 13px;
      line-height: 1.7;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    html.kb-motion-ready .kb-reveal,
    html.kb-motion-ready .kb-reveal[data-kb-motion] {
      opacity: 1;
      transform: none;
      clip-path: none;
      transition: none;
    }
  }

  body.kb-unified-site :is(.faq-wrap, .faq-list, .faq) {
    content-visibility: visible;
    contain: none;
  }

  body.kb-unified-site :is(details.faq-item, .faq-wrap > details, .faq > details) {
    overflow: visible;
  }

  body.kb-unified-site :is(details.faq-item, .faq-wrap > details, .faq > details) > summary {
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  body.kb-unified-site :is(details.faq-item, .faq-wrap > details, .faq > details):not([open]) > :is(.faq-answer, .faq-a) {
    display: none;
  }

  body.kb-unified-site :is(details.faq-item, .faq-wrap > details, .faq > details)[open] > :is(.faq-answer, .faq-a) {
    display: block;
    animation: kbV16FaqOpen .28s var(--kb-v13-ease) both;
  }

  body.kb-unified-site :is(details.faq-item, .faq-wrap > details, .faq > details).kb-faq-toggling {
    pointer-events: none;
  }

  body.kb-unified-site input[type="file"] {
    color: #42556f;
    font-weight: 650;
  }

  body.kb-unified-site input[type="file"]::file-selector-button {
    min-height: 38px;
    margin-right: 10px;
    padding: 0 15px;
    border: 1px solid #2d63ca;
    border-radius: 9px;
    background: linear-gradient(135deg, #2f68d8, #2457bc);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 7px 16px rgba(31, 82, 174, .18);
    transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  }

  body.kb-unified-site input[type="file"]::-webkit-file-upload-button {
    min-height: 38px;
    margin-right: 10px;
    padding: 0 15px;
    border: 1px solid #2d63ca;
    border-radius: 9px;
    background: linear-gradient(135deg, #2f68d8, #2457bc);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 7px 16px rgba(31, 82, 174, .18);
  }

  body.kb-unified-site :is(.dropzone > label[for], .ocean-rate-admin-actions > label[for="oceanRateFile"], #importBtn) {
    border-color: #2d63ca;
    background: linear-gradient(135deg, #2f68d8, #2457bc);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(31, 82, 174, .18);
  }

  @media (hover: hover) and (pointer: fine) {
    body.kb-unified-site input[type="file"]::file-selector-button:hover,
    body.kb-unified-site input[type="file"]::-webkit-file-upload-button:hover,
    body.kb-unified-site :is(.dropzone > label[for], .ocean-rate-admin-actions > label[for="oceanRateFile"], #importBtn):hover {
      border-color: #1f4ea8;
      background: linear-gradient(135deg, #285fcf, #1f4ea8);
      color: #fff;
      box-shadow: 0 10px 22px rgba(31, 82, 174, .24);
      transform: translateY(-1px);
    }
  }

  @keyframes kbV16FaqOpen {
    from { opacity: 0; transform: translate3d(0, -7px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @media (max-width: 640px) {
    body.kb-unified-site input[type="file"]::file-selector-button,
    body.kb-unified-site input[type="file"]::-webkit-file-upload-button {
      min-height: 40px;
      padding-inline: 13px;
      font-size: 13px;
    }
  }
}

@layer design {

  :root {
    --kb-mobile-gutter: 14px;
    --kb-mobile-radius: 15px;
  }

  body.kb-unified-site .kb-empty-compact { padding: 18px 12px; }
  body.kb-unified-site .kb-empty-spacious { padding: 24px 12px; }

  body.kb-unified-site img,
  body.kb-unified-site video,
  body.kb-unified-site canvas,
  body.kb-unified-site iframe { height: auto; }

  body.kb-unified-site iframe { max-width: 100%; }

  body.kb-unified-site :is(.table-wrap,.table-scroll,.nt-table-wrap,.result-table-wrap,.vehicle-table-wrap) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  @supports (content-visibility: auto) {
    body.kb-unified-site main > section:not(:first-child):not(.faq-section):not(.quote-section),
    body.kb-unified-site .article-body > section:not(.faq):not(.faq-section) {
      content-visibility: auto;
      contain-intrinsic-size: auto 620px;
    }
  }

  @media (max-width: 820px) {
    html { scroll-padding-top: 60px; }

    body.kb-unified-site {
      min-width: 0;
      font-size: 15px;
      line-height: 1.65;
      overflow-wrap: anywhere;
    }

    body.kb-unified-site :is(.container,.shell,.page-shell,.article-wrap,.page-wrap) {
      width: calc(100% - 28px);
      max-width: none;
      margin-inline: auto;
    }

    body.kb-unified-site :is(.hero-inner,.hero-grid,.kb-hero-frame,.tool-hero-inner) {
      min-height: 0;
      padding-block: 48px;
      gap: 24px;
    }

    body.kb-unified-site :is(.hero-inner,.hero-grid,.kb-page-hero.kb-hero-has-panel > .kb-hero-frame) {
      grid-template-columns: minmax(0,1fr);
    }

    body.kb-unified-site [data-kb-hero="main"] h1 {
      max-width: 100%;
      font-size: clamp(30px, 9vw, 42px);
      line-height: 1.2;
      letter-spacing: -.042em;
    }

    body.kb-unified-site [data-kb-hero="main"] :is(p,.hero-desc,.hero-copy) {
      max-width: 100%;
      font-size: 14px;
      line-height: 1.72;
    }

    body.kb-unified-site :is(.section,.tool-section,.blog-section,.faq-section,.quote-section) {
      padding-block: 54px;
    }

    body.kb-unified-site :is(.section-head,.tool-head,.panel-heading,.blog-summary,.table-tools,.vehicle-meta,.fsc-head) {
      align-items: flex-start;
      flex-direction: column;
      gap: 10px;
    }

    body.kb-unified-site :is(.form-grid,.quote-grid,.guide-grid,.source-grid,.summary-grid,.service-grid,.process,.vehicle-filter-grid,.rate-grid,.fsc-grid) {
      grid-template-columns: minmax(0,1fr);
    }

    body.kb-unified-site :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
      max-width: 100%;
      font-size: 16px;
    }

    body.kb-unified-site :is(button,.btn,.nt-btn,.primary-btn,.secondary-btn,.ghost-btn,[role="button"]) {
      min-height: 44px;
      touch-action: manipulation;
    }

    body.kb-unified-site :is(.hero-actions,.actions,.nt-actions,.kb-embed-actions,.ocean-rate-admin-actions) {
      width: 100%;
      gap: 9px;
    }

    body.kb-unified-site :is(.hero-actions,.actions,.nt-actions) > :is(button,.btn,a) {
      flex: 1 1 150px;
    }

    body.kb-unified-site :is(.card,.nt-card,.panel,.tool-shell,.form-block,.service-card,.guide-card,.post-card) {
      border-radius: var(--kb-mobile-radius);
    }

    body.kb-unified-site :is(dialog,.dialog,.modal,.modal-panel) {
      max-width: calc(100vw - 24px);
      max-height: calc(100dvh - 24px);
    }

    body.kb-unified-site .footer-grid {
      grid-template-columns: repeat(2,minmax(0,1fr));
      gap: 28px 20px;
    }
  }

  @media (max-width: 520px) {
    body.kb-unified-site :is(.container,.shell,.page-shell,.article-wrap,.page-wrap) {
      width: calc(100% - 24px);
    }

    body.kb-unified-site :is(.hero-inner,.hero-grid,.kb-hero-frame,.tool-hero-inner) {
      padding-block: 40px;
    }

    body.kb-unified-site [data-kb-hero="main"] h1 {
      font-size: clamp(28px, 9.5vw, 37px);
    }

    body.kb-unified-site :is(.section,.tool-section,.blog-section,.faq-section,.quote-section) {
      padding-block: 46px;
    }

    body.kb-unified-site :is(.section-head h2,.faq-wrap > h2,.tool-head h2) {
      font-size: 24px;
    }

    body.kb-unified-site .footer-grid {
      grid-template-columns: minmax(0,1fr);
    }

    body.kb-unified-site input[type="file"] {
      width: 100%;
      font-size: 13px;
    }

    body.kb-unified-site input[type="file"]::file-selector-button,
    body.kb-unified-site input[type="file"]::-webkit-file-upload-button {
      display: block;
      width: 100%;
      margin: 0 0 8px;
    }

    body.kb-unified-site .kb-scroll-progress { display: none; }
  }

  @media (max-width: 820px), (prefers-reduced-motion: reduce) {
    body.kb-unified-site .kb-reveal {
      transition-duration: .38s;
      transition-delay: min(var(--kb-delay,0ms), 140ms);
    }

    body.kb-unified-site .kb-page-hero::before,
    body.kb-unified-site .kb-page-hero::after {
      animation-duration: 24s;
    }
  }
}

@layer design {

  html body.site-subpage.kb-unified-site main .kb-blog-cta {
    color: #ffffff;
  }

  html body.site-subpage.kb-unified-site main .kb-blog-cta.kb-blog-cta > :is(h2, h3) {
    color: #ffffff;
    text-shadow: 0 2px 18px rgba(0, 18, 45, .18);
  }

  html body.site-subpage.kb-unified-site main .kb-blog-cta.kb-blog-cta > p {
    color: rgba(240, 248, 255, .92);
    opacity: 1;
  }

  html body.site-subpage.kb-unified-site main .kb-blog-cta :is(.action-row, .actions, .buttons) .btn {
    border-color: rgba(255, 255, 255, .24);
    background: #ffffff;
    color: #0a2342;
  }

  html body.site-subpage.kb-unified-site main .kb-blog-cta :is(.action-row, .actions, .buttons) .btn:hover,
  html body.site-subpage.kb-unified-site main .kb-blog-cta :is(.action-row, .actions, .buttons) .btn:focus-visible {
    border-color: #ffffff;
    background: #f2f7ff;
    color: #071d39;
  }

  @media (max-width: 560px) {
    html body.site-subpage.kb-unified-site main .kb-blog-cta :is(.action-row, .actions, .buttons) {
      display: grid;
      grid-template-columns: 1fr;
    }

    html body.site-subpage.kb-unified-site main .kb-blog-cta :is(.action-row, .actions, .buttons) .btn {
      width: 100%;
    }
  }
}


@layer design {
  /* KBRIDGE footer heading visibility fix - 2026-08-08 */
  html body.kb-unified-site :is(.footer, .kb-footer) :is(h3, h4),
  html body.kb-unified-site .footer-grid :is(h3, h4) {
    color: #ffffff !important;
    opacity: 1;
  }
}
