

:root {
  --r30-navy: #1E3354;
  --r30-blue: #2E75B6;
  --r30-line: #C4CAD3;      
  --r30-rule: #E3E7EC;      
  --r30-sub: #6B7280;       
  --r30-label: #9CA3AF;     
  --r30-plate: #F5F7FA;     
  --r29-plate: #FFFFFF;
  --surface-tint: #FFFFFF;
}

.kd-header { background: var(--r30-navy); border-bottom: 3px solid var(--r30-blue); }
.kd-brand__mark { color: #fff; }
.kd-brand__sub { color: var(--r30-label); }
.kd-nav > .kd-nav__item > a, .kd-nav > a { color: #E6EBF2; }
.kd-nav > .kd-nav__item > a:hover, .kd-nav > .kd-nav__item > a[aria-current="page"] { color: #fff; }
.kd-nav__item > a::after { background: var(--r30-blue); }
.kd-dropdown { border-top-color: var(--r30-blue); }

.kd-pagehead { background: #fff; color: var(--r30-navy); border-bottom: 1px solid var(--r30-rule); }
.kd-pagehead__inner { padding: clamp(40px, 4.5vw, 64px) var(--r29-pad) clamp(28px, 3vw, 44px); }
.kd-pagehead h1 { color: var(--r30-navy); font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 800; letter-spacing: -.03em; }
.kd-pagehead p { color: var(--r30-sub); }
.kd-pagehead .kd-crumb, .kd-pagehead .kd-crumb a, .kd-crumb, .kd-crumb a { color: var(--r30-label); }
.kd-pagehead .kd-crumb a:hover, .kd-pagehead .kd-crumb [aria-current], .kd-crumb a:hover, .kd-crumb [aria-current] { color: var(--r30-navy); }

.kd-sectiontitle h2, .r29-head h2, .kd-subhead { color: var(--r30-navy); }
.r29-eyebrow, .r29 .kd-pindex .kd-sectiontitle h2::before {
  color: var(--r30-label); letter-spacing: .24em; font-weight: 700;
}
.kd-eyebrow--on-navy { color: var(--r30-label); }
.kd-subhead {
  border-top: 0; border-left: 4px solid var(--r30-blue); padding: 2px 0 2px 14px;
  font-size: clamp(1.2rem, 1.6vw, 1.45rem);
}
.r29-more { color: var(--r30-navy); }
.r29-more:hover { color: var(--r30-blue); }

.kd-section table thead th, .kd-spec thead th, table.kd-table thead th {
  border-top: 2px solid var(--r30-navy); color: var(--r30-navy);
}

.kd-photo, .kd-card__thumb, .kd-figure { background: #fff; }
.r29 .kd-pindex__plate { background: #fff; border: 1px solid var(--r30-rule); }
.r29 .kd-pindex__plate img, .r29-guides img { filter: none; }
.r29 .kd-pindex__item--cut .kd-pindex__plate img { mix-blend-mode: normal; }
.r29-glance__fig img { mix-blend-mode: normal; }
.r29-ind figure { background: #fff; }
.r29-sec--plate { background: #fff; border-top: 1px solid var(--r30-rule); border-bottom: 1px solid var(--r30-rule); }

.kd-band-soft { background: #fff; }

.kd-overview, .kd-panel, .kd-market, .kd-logos > *, .kd-cert__frame, .kd-step__pic--split { background: #fff; }
.kd-pindex__plate { background: #fff; border: 1px solid var(--r30-rule); }   
.kd-pindex__item:hover .kd-pindex__plate { background: #fff; }   

.kd-cert, .kd-band-soft .kd-cert { background: #fff; border: 1px solid var(--r30-line); }
.kd-cert:hover, .kd-band-soft .kd-cert:hover { background: #fff; box-shadow: none; border-color: var(--r30-navy); }

.r29-hero { background: #fff; color: var(--r30-navy); }
.r29-hero .r29-eyebrow { color: var(--r30-blue); }
.r29-hero h1 { color: var(--r30-navy); }
.r29-hero h1 em { color: var(--r30-blue); }
.r29-hero__lead { color: #4B5563; }
.r29-btn--line { border-color: var(--r30-navy); color: var(--r30-navy); }
.r29-btn--line:hover { border-color: var(--r30-blue); color: var(--r30-blue); }
.r29-facts { border-bottom: 1px solid var(--r30-rule); }
.r29-facts > div { border-left-color: var(--r30-rule); }
.r29-facts dt { color: var(--r30-sub); }
.r29-facts dd { color: var(--r30-blue); }
.r29-facts small { color: var(--r30-navy); }

.r29-nums > div { border-top-color: var(--r30-navy); }
.r29-nums .r29-nums__v { color: var(--r30-blue); }
.r29-nums .r29-nums__v small { color: var(--r30-navy); }

.r29-make { background: #fff; color: var(--r30-navy); border-top: 1px solid var(--r30-rule); }
.r29-make .r29-eyebrow { color: var(--r30-label); }
.r29-make h2 { color: var(--r30-navy); }
.r29-make__copy p { color: var(--r30-sub); }
.r29-make .r29-more { color: var(--r30-navy); }
.r29-make__nums > div { border-top-color: var(--r30-navy); }
.r29-make__nums dt { color: var(--r30-sub); }
.r29-make__nums dd { color: var(--r30-blue); }
.r29-make__nums small { color: var(--r30-navy); }
.r29-steps li { color: var(--r30-navy); }
.r29-steps li span { color: var(--r30-blue); }

.r29-logos, .r29-logos li { border-color: var(--r30-rule); }
.r29-logos img { filter: none; opacity: 1; }

.kd-cta { background: var(--r30-plate); border-top: 1px solid var(--r30-rule); }
.kd-cta__watermark { color: rgba(30, 51, 84, .04); }
.kd-cta .kd-eyebrow--on-navy { color: var(--r30-blue); }
.kd-cta h2 { color: var(--r30-navy); }
.kd-cta p { color: var(--r30-sub); }
.kd-cta__tel { color: var(--r30-navy); }
.kd-cta__tel svg { stroke: var(--r30-blue); }
.kd-cta .kd-btn--ghost { border-color: var(--r30-navy); color: var(--r30-navy); }
.kd-cta .kd-btn--ghost:hover { background: #fff; }

.kd-footer { background: #fff; color: var(--r30-sub); border-top: 3px solid var(--r30-navy); }
.kd-footer__cols { border-bottom-color: var(--r30-rule); }
.kd-footer__mark, .kd-footer__name, .kd-footer__col strong { color: var(--r30-navy); }
.kd-footer__tag { color: var(--r30-sub); }
.kd-footer__bottom { color: var(--r30-label); }
.kd-footer a { color: var(--r30-sub); }
.kd-footer a:hover { color: var(--r30-blue); }

.kd-logos img { filter: none; opacity: 1; }
.kd-subhead small { margin-left: 10px; font-size: .62em; font-weight: 600; color: var(--r30-label); letter-spacing: .08em; }
.r30-cap { margin: 0 0 12px; font-size: var(--fs-caption); font-weight: 700; color: var(--r30-sub); }
.r30-lead { margin: 0 0 18px; color: var(--r30-sub); }
.r30-lead b { color: var(--r30-navy); }
.r30-no { margin-right: 10px; color: var(--r30-blue); font-weight: 800; }

.r30-certs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--sp-12); align-items: start; margin-bottom: var(--sp-16); }
.kd-certs--3 { grid-template-columns: repeat(3, 1fr); }

.r30-kpis { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 var(--sp-12); }
.r30-kpis > div { border-top: 2px solid var(--r30-navy); padding: 16px 20px 4px 0; }
.r30-kpis dt { font-size: var(--fs-caption); font-weight: 600; color: var(--r30-sub); }
.r30-kpis dd { margin: 4px 0 0; font-size: clamp(2rem, 3.4vw, 2.8rem); font-weight: 800; color: var(--r30-blue); letter-spacing: -.02em; line-height: 1.1; }
.r30-kpis dd small { margin-left: 4px; font-size: .4em; font-weight: 700; color: var(--r30-navy); letter-spacing: 0; }

.kd-process--flow { --g: var(--sp-12); --d: 24px; --s: 6px; gap: var(--g); }
.kd-process--flow .kd-step { text-align: left; }
.kd-process--flow .kd-step::after { display: none; }
.kd-process--flow .r30-flow {
  display: flex; align-items: center; height: 52px; margin: 0 calc(var(--d) / -2 - var(--g) / 2) var(--sp-4) calc(var(--s) - var(--g) / 2 - var(--d) / 2);
  padding: 0 calc(var(--d) + 8px) 0 calc(var(--g) / 2 + var(--d) / 2 - var(--s) + 14px);
  background: linear-gradient(90deg, var(--c0) 0%, #5C93C6 100%); color: #fff; font-size: 1.0625rem; font-weight: 700;
  clip-path: polygon(0 0, calc(100% - var(--d)) 0, 100% 50%, calc(100% - var(--d)) 100%, 0 100%, var(--d) 50%);
}
.kd-process--flow .r30-flow .r30-no { color: #fff; font-size: 1.15em; }
.kd-process--flow .kd-step:nth-child(1) .r30-flow { --c0: #1E3354; margin-left: 0; padding-left: 16px; clip-path: polygon(0 0, calc(100% - var(--d)) 0, 100% 50%, calc(100% - var(--d)) 100%, 0 100%); }
.kd-process--flow .kd-step:nth-child(2) .r30-flow { --c0: #234771; }
.kd-process--flow .kd-step:nth-child(3) .r30-flow { --c0: #285B8F; }
.kd-process--flow .kd-step:nth-child(4) .r30-flow { --c0: #2C6EAC; margin-right: 0; }
.kd-process--flow .kd-step p { margin-top: var(--sp-3); padding-top: 8px; border-top: 2px solid var(--c0, #2E75B6); }
.kd-process--flow .kd-step:nth-child(1) p { --c0: #244A76; }
.kd-process--flow .kd-step:nth-child(2) p { --c0: #285E94; }
.kd-process--flow .kd-step:nth-child(3) p { --c0: #2D72B1; }
.kd-process--flow .kd-step:nth-child(4) p { --c0: #2E75B6; }
@media (max-width: 1024px) {
  .kd-process--flow { --g: var(--sp-8); }
  .kd-process--flow .kd-step .r30-flow { margin-left: 0; margin-right: 0; padding-left: calc(var(--d) + 12px); }
  .kd-process--flow .kd-step:nth-child(1) .r30-flow { padding-left: 16px; }
}

.r30-hcline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-6); margin-bottom: var(--sp-16); }
.r30-hcline figure, .r30-apps figure { margin: 0; }
.r30-hcline img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border: 1px solid var(--r30-rule); }
.r30-hcline__pair > div { display: grid; grid-template-rows: 1fr 1fr; gap: 6px; aspect-ratio: 5 / 4; }
.r30-hcline__pair img { aspect-ratio: auto; height: 100%; min-height: 0; }
.r30-hcline figcaption, .r30-apps figcaption { margin-top: 10px; font-size: var(--fs-cell); color: var(--r30-sub); line-height: 1.6; }
.r30-hcline figcaption b, .r30-apps figcaption b { display: block; color: var(--r30-navy); font-size: 1.05em; }
.r30-apps figcaption a { display: block; margin-top: 4px; font-weight: 600; color: var(--r30-blue); text-decoration: none; }

.r30-apps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-8); }
.r30-apps figure > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.r30-apps img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--r30-rule); }

@media (max-width: 900px) {
  .r30-certs { grid-template-columns: 1fr; gap: var(--sp-8); }
  .r30-hcline, .r30-apps { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .r30-kpis { grid-template-columns: 1fr; }
  .r30-kpis > div { padding-bottom: 12px; }
}

.r30-dethead { margin: var(--sp-8) 0 var(--sp-4); padding-left: 12px; border-left: 4px solid var(--r30-blue); font-size: var(--fs-h4); color: var(--r30-navy); }
.r30-details { gap: var(--sp-6) var(--sp-4); }
.r30-details .kd-figure { padding: 0; border: 0; background: #fff; }
.r30-details .kd-figure img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid var(--r30-rule); }
.r30-details figcaption { text-align: left; padding: 8px 0 0; font-size: var(--fs-caption); color: var(--r30-sub); line-height: 1.55; }
.r30-details figcaption b { display: block; color: var(--r30-navy); font-size: 1.08em; }
@media (max-width: 640px) { .r30-details { grid-template-columns: 1fr 1fr; } }
.r30-details .kd-figure img[src*="heavy-d4"] { object-fit: contain; }

.r30-howto { margin-top: 18px; }
.r30-howto img { width: 100%; height: auto; display: block; }
.r30-hq { display: grid; grid-template-columns: 2fr 1fr; gap: 14px 18px; align-items: start; }
.r30-hq figure { margin: 0; }
.r30-hq img { width: 100%; height: auto; display: block; background: #fff; }
.r30-hq figcaption { margin-top: 6px; font-size: .875rem; color: #4A5568; line-height: 1.45; }
.r30-hq figcaption b { display: block; color: var(--kd-navy, #1E3354); font-size: .9375rem; }
.kd-load2 img[src*="ft-stack"] { max-height: 420px; width: auto; max-width: 100%; margin: 0 auto; }
.kd-load2 figure { text-align: center; }

.kd-fold .kd-annotimg__frame:has(img[src*="ft-exploded"]) { max-width: 300px; margin: 0 auto; }
.kd-annotimg__frame > img, .kd-fold__folded img { height: auto; }
@media (max-width: 560px) {
  .r30-hq { grid-template-columns: 1fr 1fr; }
  .r30-hq figure:nth-child(odd) { grid-column: 1 / -1; }
}

.kd-vs__pic.r30-pics { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; aspect-ratio: auto; height: auto; padding: 0; background: none; }
.kd-vs__pic.r30-pics img { width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; display: block; max-height: none; }

.kd-subhead small, .r30-dethead small { font-size: .62em; font-weight: 500; color: var(--r30-sub, #6B7280); letter-spacing: .06em; margin-left: .5em; }
.r30-afcap { margin: 0; text-align: center; }
.r30-afcap img { width: 100%; max-width: 280px; height: auto; display: block; margin: 0 auto; border: 1px solid var(--r30-rule, #E2E6EC); }
.r30-afcap figcaption { margin-top: 8px; font-size: var(--fs-caption, .875rem); color: var(--r30-sub, #6B7280); }
.r30-afcap figcaption b { display: block; color: var(--r30-navy, #1E3354); }
.r30-steps3 { list-style: none; padding: 0; margin: 16px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.r30-steps3 li { font-size: var(--fs-caption, .875rem); color: var(--r30-sub, #6B7280); line-height: 1.5; }
.r30-steps3 img { width: 100%; height: 220px; object-fit: contain; display: block; margin-bottom: 10px; }
.r30-steps3 b { display: block; color: var(--r30-navy, #1E3354); font-size: 1rem; margin-bottom: 2px; }
.r30-sizes { list-style: none; padding: 0; margin: 12px 0 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px 12px; }
.r30-sizes li { text-align: center; font-size: .8125rem; font-weight: 700; color: var(--r30-navy, #1E3354); font-variant-numeric: tabular-nums; }
.r30-sizes img { width: 100%; height: auto; display: block; margin-bottom: 4px; }
.r30-afflow { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 16px; }
.r30-afflow figure { margin: 0; }
.r30-afflow__pair { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; }
.r30-afflow__pair img { width: 100%; height: 200px; object-fit: contain; display: block; }
.r30-afflow__pair span { font-size: 1.5rem; font-weight: 700; color: var(--r30-blue, #2E75B6); }
.r30-afflow figcaption { margin-top: 10px; font-size: var(--fs-caption, .875rem); color: var(--r30-sub, #6B7280); line-height: 1.5; }
.r30-afflow figcaption b { display: block; color: var(--r30-navy, #1E3354); font-size: 1rem; }
@media (max-width: 900px) { .r30-sizes { grid-template-columns: repeat(3, 1fr); } .r30-afflow { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .r30-steps3 { grid-template-columns: 1fr; } .r30-steps3 img { height: 180px; } .r30-sizes { grid-template-columns: repeat(2, 1fr); } }

.r29 .kd-pindex__items { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.r29 .kd-pindex__row.kd-pindex__row--pair { grid-template-columns: minmax(0, 1fr) calc((100% - 64px) / 5); gap: 16px; }
.kd-pindex__row--pair .kd-pindex__sub { display: grid; gap: 20px; align-content: start; }
.r29 .kd-pindex__row--pair .kd-pindex__sub:first-child .kd-pindex__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.r29 .kd-pindex__row--pair .kd-pindex__sub:last-child .kd-pindex__items { grid-template-columns: 1fr; }
@media (max-width: 900px) {
  .r29 .kd-pindex__row.kd-pindex__row--pair { grid-template-columns: 1fr; }
  .r29 .kd-pindex__items,
  .r29 .kd-pindex__row--pair .kd-pindex__sub:first-child .kd-pindex__items,
  .r29 .kd-pindex__row--pair .kd-pindex__sub:last-child .kd-pindex__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.r29 .r30-glance { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: start; }
.r30-glance__fig { margin: 0; display: grid; justify-items: center; }
.r30-glance__step { position: relative; width: 100%; display: grid; justify-items: center; }
.r30-glance__step img { display: block; width: 82%; height: auto; }
.r30-glance__step--folded img { width: 67%; }
.r30-glance__step > span { position: absolute; left: 0; bottom: 8%; font-size: 15px; font-weight: 700; color: var(--r30-navy); }
.r30-glance__arrow { margin: 14px 0 18px; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--r30-blue); }
.r30-glance__arrow::before { content: ""; width: 22px; height: 30px; background: var(--r30-blue);
  clip-path: polygon(30% 0, 70% 0, 70% 55%, 100% 55%, 50% 100%, 0 55%, 30% 55%); }
.r30-glance__fig figcaption { width: 100%; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--r30-rule); text-align: center; font-size: var(--fs-caption); color: var(--text-sub); }
.r30-glance__fig figcaption b { display: block; font-size: 15px; color: var(--r30-navy); margin-bottom: 4px; }
.r29 .r30-nums { column-gap: 48px; }
.r29 .r30-nums > div { border-top: 2px solid var(--r30-navy); padding: 20px 0 32px; display: flex; flex-direction: column; }
.r29 .r30-nums dt { font-size: 16px; font-weight: 700; color: var(--r30-navy); }
.r29 .r30-nums > div.is-navy .r29-nums__v { color: var(--r30-navy); }
.r30-nums__sub { margin: 4px 0 18px !important; font-size: 15px; font-weight: 700; color: var(--r30-navy); }
.r30-bars { display: grid; row-gap: 10px; }
.r30-bars p { margin: 0; display: grid; grid-template-columns: 52px 1fr; align-items: center; font-size: 13px; color: var(--text-sub); }
.r30-bars p > span { grid-column: 1; }
.r30-bars i, .r30-bars b { grid-row: 1; grid-column: 2; }
.r30-bars i { display: block; height: 16px; width: calc(var(--w) * .72); background: #C4CAD3; }
.r30-bars b { margin-left: calc(var(--w) * .72 + 8px); font-size: 14px; font-weight: 700; color: var(--text-sub); white-space: nowrap; }
.r30-bars p.is-on i { background: var(--r30-blue); }
.r30-bars p.is-on b { color: var(--r30-blue); }
.is-navy .r30-bars p.is-on i { background: var(--r30-navy); }
.is-navy .r30-bars p.is-on b { color: var(--r30-navy); }
.r30-line { position: relative; display: flex; justify-content: space-between; padding-top: 26px; font-size: 13px; color: var(--text-sub); }
.r30-line::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 18px; background: #E5E8EC; }
.r30-line i { position: absolute; top: 0; left: 0; height: 18px; width: var(--w); background: var(--r30-blue); }
.r30-line i::after { content: ""; position: absolute; right: -1px; top: -6px; bottom: -6px; width: 2px; background: var(--r30-navy); }
.r30-line b { position: absolute; top: 26px; left: var(--w); transform: translateX(-50%); color: var(--r30-blue); font-weight: 700; }
.r29 .r30-nums .r29-nums__why { margin-top: auto !important; padding-top: 12px; border-top: 1px solid var(--r30-rule); display: flex; justify-content: space-between; gap: 12px; }
.r29 .r30-nums .r29-nums__why a { margin: 0; white-space: nowrap; }
@media (max-width: 1024px) {
  .r29 .r30-glance { grid-template-columns: 1fr; }
  .r30-glance__fig { max-width: 420px; justify-self: center; }
}
@media (max-width: 640px) {
  .r29 .r30-nums { grid-template-columns: 1fr; }
}

.r29 .r29-make__nums { grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) minmax(0, 1fr); column-gap: 32px; }

.r29 .r29-make__nums dd { white-space: nowrap; }
@media (max-width: 640px) {
  .r29 .r29-make__nums { column-gap: 16px; }
  .r29 .r29-make__nums dd { font-size: 1.5rem; }
}

.r29-logos img[alt="현대자동차"], .r29-logos img[alt="한국GM"] { max-height: 64px; }

.r29-logos img[alt="르노코리아"] { max-height: 52px; }

.r30-table-fit { min-width: 0; }
.r30-table-fit td:last-child { white-space: nowrap; }

.kd-timeline::before { left: 8px; transform: none; }
.kd-timeline__row { grid-template-columns: 1fr; gap: 0; padding-left: 36px; margin-bottom: var(--sp-8); }
.kd-timeline__row--right > .kd-timeline__card { grid-column: 1; }
.kd-timeline__dot { left: 8px; transform: translateX(-50%); top: -5px; }
@media (min-width: 769px) {
  .kd-timeline__card { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 0 var(--sp-8); }
  .kd-timeline__card h3 { margin: 0; }
}

.kd-location dd a { color: inherit; text-decoration: none; }
.kd-location dd a.r30-maplink { display: block; margin-top: 6px; font-size: var(--fs-caption); font-weight: 600; color: var(--r30-blue); }
.kd-location dd a.r30-maplink::after { content: " ↗"; }
@media (max-width: 768px) {
  
  .r30-table-ip { min-width: 0; }
  .r30-table-ip th:first-child, .r30-table-ip td:first-child { display: none; }
  .r30-table-ip th, .r30-table-ip td { padding: 10px 8px; }
  .r30-table-ip td:nth-child(2), .r30-table-ip td:nth-child(3) { white-space: nowrap; }
  
  .kd-markets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }
  .kd-market { flex-direction: column; align-items: flex-start; gap: 8px; }
  
  .kd-step__pic--split { flex-direction: row; }
  .kd-step__pic--split img { width: calc(50% - 3px); }
}
@media (max-width: 768px) {
  .kd-market__txt { padding-left: 0; }
  .kd-market__no { position: static; margin-right: 6px; }
}

.kd-group-head { padding-bottom: 0; }
.kd-group-head + section { padding-top: 0; }

.kd-featlist .kd-feature.kd-feature--wide { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.kd-feature--wide .kd-feature__text { max-width: 820px; }
.kd-feature--wide .kd-feature__text p { font-size: 1rem; }
.kd-feature--wide .kd-feature__fig { margin: 0; }
.kd-feature--wide img { display: block; max-width: 100%; height: auto; }
.is-blue { color: var(--r30-blue); }
.is-green { color: #2E8B57; }

.f83-sub {
  margin: 0 0 14px; padding: 0 0 10px 12px; position: relative;
  border-bottom: 1px solid var(--r30-rule);
  font-size: 1rem; font-weight: 800; color: var(--r30-navy); line-height: 1.3;
}
.f83-sub::before { content: ""; position: absolute; left: 0; top: 1px; width: 4px; height: 1.15em; background: var(--r30-blue); }
.f83-sub span { margin-left: 6px; font-size: .8125rem; font-weight: 500; color: var(--r30-label); letter-spacing: .02em; }

.f83-two { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 40px; align-items: start; }
.f83-struct { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: end; }
.f83-lead { padding-left: 112px; }   
.f83-lead__frame { position: relative; max-width: 260px; }
.f83-lead__line {
  position: absolute; top: var(--y); right: calc(100% - var(--x)); width: calc(var(--x) + 56px);
  border-top: 1.5px solid var(--r30-navy);
}
.f83-lead__line::after { content: ""; position: absolute; right: -4px; top: -4.75px; width: 8px; height: 8px; border-radius: 50%; background: var(--r30-navy); }
.f83-lead__line b {
  position: absolute; left: -8px; top: 0; transform: translate(-100%, -50%);
  white-space: nowrap; font-size: 1rem; font-weight: 800; color: var(--r30-navy);
}
.f83-cap { margin: 0; }
.f83-cap figcaption, .f83-howto figcaption {
  margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--r30-rule);
  text-align: center; font-size: .875rem; color: var(--r30-sub); line-height: 1.5;
}
.f83-cap figcaption b { display: block; font-size: .9375rem; color: var(--r30-navy); }
.f83-howto { margin: 0; }
.f83-howto img { width: 100%; }
.f83-howto figcaption b { font-weight: 800; }

.f83-rate { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.25fr) minmax(0, 1.15fr); gap: 36px; align-items: start; }
.f83-spec { margin: 0 0 8px; font-size: .875rem; color: var(--r30-sub); }
.f83-nums dl { margin: 0; }
.f83-nums dl > div { padding: 14px 0; border-bottom: 1px solid var(--r30-rule); }
.f83-nums dd, .f83-big {
  margin: 0; font-size: clamp(2.4rem, 4vw, 3.4rem); font-weight: 800; line-height: 1;
  letter-spacing: -.03em; color: var(--r30-navy);
}
.f83-nums dd small, .f83-big small { margin-left: 4px; font-size: .38em; letter-spacing: 0; }
.f83-nums dd.is-blue, .f83-big.is-blue { color: var(--r30-blue); }
.f83-nums dt { margin-top: 6px; font-size: .875rem; color: var(--r30-sub); }
.f83-note { margin: 10px 0 0; font-size: .75rem; color: var(--r30-label); line-height: 1.5; }
.f83-hq { display: grid; gap: 20px; }
.f83-hq figure { margin: 0; }
.f83-hq figcaption { margin-bottom: 6px; font-size: .875rem; color: var(--r30-sub); }
.f83-hq figcaption b { color: var(--r30-navy); font-weight: 800; }
.f83-hq figcaption strong { margin: 0 4px; font-size: 1.25rem; font-weight: 800; color: var(--r30-navy); }
.f83-hq figcaption strong.is-blue { color: var(--r30-blue); }
.f83-hq img { width: 100%; }
.f83-circ { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); gap: 16px; align-items: center; margin: 0 0 20px; }
.f83-circ__pic { position: relative; }
.f83-circ__pic img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 3px solid var(--r30-blue); }
.f83-circ__pic b {
  position: absolute; left: 4%; top: 4%; display: grid; place-items: center;
  width: 30%; max-width: 40px; aspect-ratio: 1; border-radius: 50%;
  background: var(--r30-blue); color: #fff; font-size: 1.05rem; font-weight: 800; box-shadow: 0 0 0 2px #fff;
}
.f83-circ--b .f83-circ__pic img { border-color: var(--kd-coral); }
.f83-circ--b .f83-circ__pic b { background: var(--kd-coral); }
.f83-circ figcaption { font-size: .8125rem; color: var(--r30-sub); line-height: 1.5; }
.f83-circ figcaption small { display: block; font-size: .875rem; font-weight: 800; color: var(--r30-navy); }
.f83-circ figcaption strong { display: block; margin: 4px 0 6px; font-size: 1.15rem; font-weight: 800; color: var(--r30-blue); line-height: 1.3; }
.f83-circ--b figcaption strong { color: var(--kd-coral); }

.f83-load { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) minmax(0, 0.5fr); gap: 32px; align-items: start; }
.f83-big { margin-bottom: 18px; }
.f83-load__body { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: stretch; }
.f83-force { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 10px; color: var(--r30-blue); }
.is-heavy .f83-force { color: var(--r30-navy); }
.f83-force svg { display: block; fill: currentColor; }
.f83-force__down { width: 30px; flex: 1 1 auto; max-height: 190px; }
.f83-force__up { width: 54px; fill: var(--kd-coral) !important; }
.f83-badge {
  display: grid; justify-items: center; width: 100%; padding: 8px 0 6px;
  border: 2px solid currentColor; background: #fff;
  font-size: .75rem; font-weight: 600; color: var(--r30-sub);
}
.f83-badge b { font-size: 1.6rem; font-weight: 800; line-height: 1.1; color: var(--r30-blue); }
.is-heavy .f83-badge b { color: var(--r30-navy); }
.f83-stack { position: relative; display: block; max-width: 230px; }
.is-heavy .f83-stack { max-width: 250px; margin-right: 120px; }
.f83-stack img { width: 100%; }
.f83-alu__ring {
  position: absolute; left: 51%; top: 51%; width: 34px; height: 34px; transform: translate(-50%, -50%);
  border: 2px solid var(--r30-navy); border-radius: 50%; pointer-events: none;
}
.f83-alu__line { position: absolute; left: calc(51% + 17px); right: -16px; top: 51%; border-top: 1.5px solid var(--r30-navy); pointer-events: none; }
.f83-alu { position: absolute; left: calc(100% + 16px); top: 51%; transform: translateY(-38px); width: 104px; margin: 0; text-align: center; }
.f83-alu img { width: 76px; height: 76px; border-radius: 50%; border: 2px solid var(--r30-navy); object-fit: cover; }
.f83-alu figcaption { margin-top: 6px; font-size: .75rem; color: var(--r30-sub); line-height: 1.4; }
.f83-alu figcaption b { display: block; font-size: .8125rem; color: var(--r30-navy); }
.f83-reports figure { margin: 0 0 16px; text-align: center; }
.f83-reports img { width: 100%; max-width: 150px; margin: 0 auto; border: 1px solid var(--r30-rule); }
.f83-reports figcaption { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--r30-rule); font-size: .8125rem; color: var(--r30-sub); }
.f83-reports figcaption b { display: block; color: var(--r30-navy); }

.f83-pic--map img { width: 100%; max-width: 1000px; margin: 0 auto; }
.f83-cost { display: grid; grid-template-columns: minmax(0, .69fr) minmax(0, 1.19fr); gap: 28px; align-items: start; }
.f83-cost img, .f83-esg img { width: 100%; }
.f83-esg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

@media (max-width: 1024px) {
  .f83-two { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .f83-rate { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .f83-nums { grid-column: 1 / -1; }
  .f83-nums dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; }
  .f83-load { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .f83-reports { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 160px)) ; gap: 0 24px; }
  .f83-reports .f83-sub { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .f83-struct { grid-template-columns: minmax(0, 1fr); }
  .f83-lead { padding-left: 100px; }
  .f83-lead__line { width: calc(var(--x) + 44px); }
  .f83-lead__frame { max-width: 220px; }
  .f83-cap { max-width: 300px; }
  .f83-rate, .f83-load, .f83-cost, .f83-esg { grid-template-columns: minmax(0, 1fr); }
  .f83-nums dd { font-size: 2rem; }
  .f83-nums dt { font-size: .75rem; }
  .f83-load__body { grid-template-columns: 64px minmax(0, 1fr); }
  .f83-stack { max-width: 180px; }
  .is-heavy .f83-stack { max-width: 170px; margin-right: 100px; }
  .f83-alu { width: 92px; left: calc(100% + 8px); }
  .f83-alu__line { right: -8px; }
  .f83-esg img { max-width: 420px; margin: 0 auto; }
}

#features.is-tabbed .kd-featlist { border-top: 0; }
#features.is-tabbed .kd-featlist > .kd-feature { border-bottom: 0; padding-top: 32px; }
#features.is-tabbed .kd-featlist > .kd-feature:not(.is-on) { display: none; }
.f84-tabs { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--r30-rule); }
.f84-tabs[hidden], .f84-ctrl[hidden] { display: none; }
.f84-tabs button {
  appearance: none; background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px;
  padding: 14px 18px 12px; font: inherit; font-size: 1rem; font-weight: 700; color: var(--r30-sub);
  white-space: nowrap; cursor: pointer;
}
.f84-tabs button b { margin-right: 6px; font-weight: 800; color: var(--r30-label); font-variant-numeric: tabular-nums; }
.f84-tabs button:hover { color: var(--r30-navy); }
.f84-tabs button[aria-selected="true"] { color: var(--r30-blue); border-bottom-color: var(--r30-blue); }
.f84-tabs button[aria-selected="true"] b { color: var(--r30-blue); }
.f84-ctrl {
  display: flex; align-items: center; justify-content: flex-end; gap: 12px;
  padding-top: 16px; border-top: 1px solid var(--r30-rule);
}
.f84-ctrl__count { font-size: .9375rem; color: var(--r30-label); font-variant-numeric: tabular-nums; }
.f84-ctrl__count b { color: var(--r30-blue); font-weight: 800; }
.f84-ctrl__btn {
  display: inline-flex; align-items: center; gap: 6px; min-width: 44px; height: 44px; padding: 0 8px;
  background: none; border: 0; font: inherit; font-size: 1rem; font-weight: 700; color: var(--r30-navy); cursor: pointer;
}
.f84-ctrl__btn:hover { color: var(--r30-blue); }
.f84-ctrl__btn svg { width: 24px; height: 24px; }
@media (max-width: 640px) {
  .f84-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .f84-tabs button { padding: 12px 12px 10px; font-size: .9375rem; }
  .f84-ctrl__next { display: none; }
}

@media (min-width: 1025px) {
  
  .f83-two { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .f83-struct { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
  .f83-lead { padding-left: 96px; }
  .f83-lead__frame { max-width: 280px; }
  .f83-lead__line { width: calc(var(--x) + 40px); }

  .f83-rate { grid-template-columns: minmax(0, .7fr) minmax(0, .87fr) minmax(0, 1.43fr); align-items: stretch; }
  .f83-nums, .f83-joint { display: flex; flex-direction: column; }
  .f83-nums dl { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
  .f83-circ { grid-template-columns: minmax(0, 40%) minmax(0, 1fr); }
  .f83-joint .f83-circ--b { margin-top: auto; margin-bottom: 0; }
}

@media (min-width: 1025px) {
  .kd-product__grid:has(.r30-details) { align-items: stretch; }
  .kd-product__grid:has(.r30-details) > :last-child { display: flex; flex-direction: column; }
  .kd-product .r30-dethead { margin-top: auto; padding-top: 0; }   
  .kd-product .kd-speclist { margin-bottom: var(--sp-6); }
  .kd-product .r30-details { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .kd-product .r30-details figcaption { font-size: .75rem; line-height: 1.45; }
}

.f83-cost figure { margin: 0; }
.f85-cap { margin-top: 10px; font-size: .875rem; line-height: 1.6; color: var(--r30-sub); word-break: keep-all; }
.f85-esg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.f85-esg > section { --c: #1BA14C; --bg: #E9F6ED; background: #fff; border: 1px solid var(--r30-line); border-top: 6px solid var(--c); }
.f85-esg > section.is-s { --c: #2E75B6; --bg: #EAF1F9; }
.f85-esg > section.is-g { --c: #6C40A2; --bg: #EFECF5; }
.f85-esg__head { background: var(--bg); padding: 26px 26px 22px; }
.f85-esg h4 { margin: 0 0 12px; font-size: 1.625rem; font-weight: 700; line-height: 1.1; color: var(--c); letter-spacing: -.01em; }
.f85-esg h4 b { font-size: 2.5rem; font-weight: 800; }
.f85-esg__head p { margin: 0; font-size: .9375rem; line-height: 1.6; color: #3F4654; word-break: keep-all; }
.f85-esg ul { list-style: none; margin: 0; padding: 4px 26px 8px; }
.f85-esg li { position: relative; padding: 18px 0 18px 36px; border-top: 1px solid var(--r30-rule); }
.f85-esg li:first-child { border-top: 0; }
.f85-esg li::before {
  content: ""; position: absolute; left: 0; top: 19px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 24px no-repeat;
}
.f85-esg li strong { display: block; margin-bottom: 4px; font-size: 1.0625rem; font-weight: 700; color: var(--c); word-break: keep-all; }
.f85-esg li span { display: block; font-size: .9375rem; line-height: 1.55; color: #3F4654; word-break: keep-all; }
@media (max-width: 1024px) {
  .f85-esg { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin: 0 auto; }
}

.kd-subnav--2tier .kd-subnav__label {
  flex: none; display: inline-flex; align-items: center; margin-left: 12px; padding: 7px 4px 7px 0;
  font-size: var(--fs-caption); font-weight: var(--fw-bold); color: var(--kd-navy);
}

.kd-subnav--2tier .kd-subnav__label::before { content: ""; width: 1px; height: 18px; margin-right: 28px; background: #C4CAD3; }
.kd-subnav--2tier .kd-subnav__label::after { content: "›"; margin-left: 8px; color: var(--text-muted); font-weight: var(--fw-medium); }

.kd-product__name > a { color: inherit; text-decoration: none; }
.kd-product__name > a:hover { color: var(--kd-blue); }

.r30-afhero { align-items: center; }
.r30-afpts { list-style: none; padding: 0; margin: 16px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.r30-afpts li { font-size: var(--fs-caption, .875rem); color: var(--r30-sub, #6B7280); line-height: 1.5; word-break: keep-all; }
.r30-afpts img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; display: block; margin-bottom: 12px; background: #fff; }
.r30-afpts b { display: block; margin-bottom: 2px; font-size: 1.0625rem; color: var(--r30-navy, #1E3354); }
@media (max-width: 900px) { .r30-afpts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.r30-afkpi { list-style: none; padding: 0; margin: 0 0 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.r30-afkpi li { padding: 2px 16px; border-left: 1px solid var(--r30-rule, #E3E7EC); font-size: var(--fs-caption, .875rem); color: var(--r30-sub, #6B7280); line-height: 1.4; word-break: keep-all; }
.r30-afkpi li:first-child { padding-left: 0; border-left: 0; }
.r30-afkpi b { display: block; margin-bottom: 4px; font-size: 1.75rem; font-weight: 800; line-height: 1.15; color: var(--r30-blue, #2E75B6); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.r30-afkpi b small { margin-left: 2px; font-size: .55em; font-weight: 700; color: var(--r30-navy, #1E3354); }
.r30-em { font-style: normal; font-weight: 700; color: var(--r30-blue, #2E75B6); }
.r30-afpts__no { display: block; margin-bottom: 2px; font-size: 1.375rem; font-weight: 800; line-height: 1; color: var(--r30-blue, #2E75B6); font-variant-numeric: tabular-nums; }
.r30-afpts b { font-size: 1.1875rem; font-weight: 800; }
.r30-steps3 .r30-no { font-size: 1.375rem; vertical-align: -2px; }
.r30-afflow__img { width: 100%; height: 360px; object-fit: contain; display: block; }
.r30-afflow__tag { display: inline-block; margin-right: 8px; padding: 1px 8px; font-size: .8125rem; font-weight: 700; color: #fff; background: var(--r30-blue, #2E75B6); vertical-align: 2px; }
.r30-afflow__tag--back { background: var(--r30-navy, #1E3354); }
.r30-afflow figcaption b { font-size: 1.125rem; }
@media (max-width: 560px) { .r30-afkpi b { font-size: 1.125rem; white-space: nowrap; } .r30-afkpi li { padding: 2px 10px; } }
@media (max-width: 560px) { .r30-afflow__img { height: auto; } }

#af-box .kd-subhead--sm { margin-top: 112px; margin-bottom: 0; }
#af-box .r30-afpts, #af-box .r30-steps3, #af-box .r30-afflow { margin-top: 32px; }
#af-box .r30-afpts { gap: 40px 48px; }
#af-box .r30-afpts img { padding: 0 6%; box-sizing: border-box; margin-bottom: 20px; }
#af-box .r30-steps3 { gap: 48px; }
#af-box .r30-steps3 img { margin-bottom: 16px; }
#af-box .r30-afflow { gap: 64px; }
#af-box .r30-afflow figcaption { margin-top: 16px; }
#af-box .r30-afflow + .kd-note { margin-top: 32px; }
@media (max-width: 560px) {
  #af-box .kd-subhead--sm { margin-top: 64px; }
  #af-box .r30-afpts { gap: 32px 24px; }
  #af-box .r30-steps3, #af-box .r30-afflow { gap: 32px; }
}

#af-box .r30-afpts__no, #af-box .r30-steps3 .r30-no { color: var(--kd-coral, #E25942); }
#af-box .r30-afflow__tag--back { background: var(--kd-coral, #E25942); }
#af-box .r30-afflow__n { margin: 0 2px; font-size: 1.75rem; font-weight: 800; line-height: 1; color: var(--r30-blue, #2E75B6); font-variant-numeric: tabular-nums; vertical-align: -3px; }
#af-box .r30-afflow figure + figure .r30-afflow__n { color: var(--kd-coral, #E25942); }
.r30-afrate { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 40px; margin-top: 48px; padding: 24px 0; border-top: 2px solid var(--r30-navy, #1E3354); border-bottom: 1px solid var(--r30-rule, #E3E7EC); }
.r30-afrate p { margin: 0; }
.r30-afrate__v small { display: block; margin-bottom: 6px; font-size: .9375rem; font-weight: 700; color: var(--r30-navy, #1E3354); }
.r30-afrate__v b { display: block; font-size: 4rem; font-weight: 800; line-height: 1; color: var(--kd-coral, #E25942); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.r30-afrate__v b small { display: inline; margin: 0 0 0 4px; font-size: .4em; color: var(--kd-coral, #E25942); }
.r30-afrate__t { font-size: 1.125rem; font-weight: 700; line-height: 1.5; color: var(--r30-navy, #1E3354); word-break: keep-all; }
.r30-afrate__t b { color: var(--kd-coral, #E25942); }
.r30-afrate__t span { display: block; margin-top: 8px; font-size: var(--fs-caption, .875rem); font-weight: 400; color: var(--r30-sub, #6B7280); }
#af-box .r30-afrate + .kd-note { margin-top: 24px; }
@media (max-width: 560px) {
  .r30-afrate { grid-template-columns: 1fr; row-gap: 12px; margin-top: 32px; }
  .r30-afrate__v b { font-size: 3rem; }
  .r30-afrate__t { font-size: 1rem; }
}

.kd-cards--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .kd-cards--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .kd-cards--4 { grid-template-columns: 1fr; } }
.kd-card__body h4 a { color: inherit; text-decoration: none; }
.kd-card__body h4 a:hover { text-decoration: underline; }

.r30-photocap { margin: 10px 0 0; font-size: var(--fs-caption); color: var(--r30-sub); line-height: 1.55; }
.r30-photocap a, .kd-card__body p a { color: var(--r30-blue); font-weight: 600; text-decoration: none; }
.r30-photocap a:hover, .kd-card__body p a:hover { text-decoration: underline; }

#features .kd-featlist { border-top: 0; }
#features .kd-featlist > .kd-feature {
  border-bottom: 0; border-top: 2px solid var(--r30-navy);
  padding: 40px 0 112px;
}
#features .kd-featlist > .kd-feature:last-child { padding-bottom: 48px; }
#features .kd-feature__text {
  display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 24px; align-items: start;
}
#features .kd-feature__text > :not(.kd-feature__no) { grid-column: 2; }
#features .kd-feature__no {
  grid-column: 1; grid-row: 1 / span 3; margin: 0;
  font-size: 3.5rem; font-weight: 800; line-height: .9; letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
#features .kd-feature__text h3 { font-size: 1.875rem; line-height: 1.3; margin: 2px 0 10px; }
@media (max-width: 768px) {
  #features .kd-featlist > .kd-feature { padding: 28px 0 72px; }
  #features .kd-feature__text { column-gap: 16px; }
  #features .kd-feature__no { font-size: 2.5rem; }
  #features .kd-feature__text h3 { font-size: 1.375rem; }
}

.f97-cycle, .f97-cost { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 20px 56px; align-items: center; }
.f97-loop, .f97-chart { margin: 0; }
.f97-loop svg, .f97-chart svg { display: block; width: 100%; height: auto; font-family: inherit; }
.f97-cycle .f97-bar, .f97-barnote, .f97-costnote { grid-column: 1 / -1; }
.f97-barnote, .f97-costnote { margin-top: -8px; }
.f97-stats { margin: 0; }
.f97-stats > div { padding: 14px 0; border-bottom: 1px solid var(--r30-rule); }
.f97-stats > div:first-child { padding-top: 0; }
.f97-stats dd { margin: 0; font-size: 2.5rem; font-weight: 800; line-height: 1.05; color: var(--r30-navy); letter-spacing: -.01em; }
.f97-stats dd small { margin-left: 4px; font-size: .4em; font-weight: 700; letter-spacing: 0; }
.f97-stats dd.is-blue, .f97-stats .is-blue { color: var(--r30-blue); }
.f97-stats .is-coral { color: var(--kd-coral); }
.f97-stats dt { margin-top: 6px; font-size: .875rem; color: var(--r30-sub); line-height: 1.5; word-break: keep-all; }

.f97-node { fill: #fff; font-size: 17px; font-weight: 800; letter-spacing: .06em; text-anchor: middle; }
.f97-leg { fill: var(--r30-navy); font-size: 17px; font-weight: 700; text-anchor: middle; }
.f97-sub { fill: var(--r30-sub); font-size: 13px; text-anchor: middle; }
.f97-d { font-size: 24px; font-weight: 800; }
.f97-grid line { stroke: var(--r30-rule); stroke-width: 1; }
.f97-ax { fill: var(--r30-label); font-size: 12px; text-anchor: middle; }
.f97-lab { fill: var(--r30-navy); font-size: 13px; font-weight: 600; text-anchor: middle; }
.f97-lab.is-big { font-size: 17px; font-weight: 800; }
.f97-end { font-size: 20px; font-weight: 800; }
.f97-endsub { fill: var(--r30-sub); font-size: 12px; }
svg .is-start { text-anchor: start; } svg .is-end { text-anchor: end; }
svg .is-blue { fill: #2E75B6; } svg .is-teal { fill: #0F766E; } svg .is-navy { fill: #1E3354; } svg .is-coral { fill: #E25942; }

.f97-bar { display: flex; gap: 3px; }
.f97-bar > span { flex: var(--g) 1 0; min-width: 0; }
.f97-bar b { display: block; padding: 9px 0; color: #fff; font-size: 1.125rem; font-weight: 800; text-align: center; }
.f97-bar i { display: block; margin-top: 6px; font-style: normal; font-size: .8125rem; color: var(--r30-sub); text-align: center; word-break: keep-all; }
.f97-bar .is-blue b { background: #2E75B6; } .f97-bar .is-blue2 b { background: #3B82C4; }
.f97-bar .is-navy b { background: #1E3354; } .f97-bar .is-teal b { background: #0F766E; }

@media (max-width: 900px) {
  .f97-cycle, .f97-cost { grid-template-columns: minmax(0, 1fr); }
  .f97-stats dd { font-size: 2rem; }
  .f97-bar b { font-size: .9375rem; padding: 7px 0; }
  .f97-bar i { font-size: .75rem; }
}
@media (max-width: 600px) {
  .f97-ax { font-size: 18px; } .f97-endsub { font-size: 16px; }
}

.f97-loop .f97-node { font-size: 18px; } .f97-loop .f97-node.is-sm { font-size: 15px; }
.f97-loop .f97-leg { font-size: 19px; } .f97-loop .f97-d { font-size: 26px; } .f97-loop .f97-sub { font-size: 14px; }
.f97-loop3 { fill: #1E3354; font-size: 24px; font-weight: 800; text-anchor: middle; }

.f97-cost { grid-template-columns: minmax(0, .82fr) minmax(0, 1.5fr); align-items: start; }
.f97-tblwrap { margin: 0; }
.f97-tbl { width: 100%; border-collapse: collapse; font-size: .9375rem; text-align: center; }
.f97-tbl thead th { padding: 8px 4px; border-top: 2px solid var(--r30-navy); border-bottom: 1px solid var(--r30-navy); color: var(--r30-navy); font-weight: 800; line-height: 1.25; }
.f97-tbl thead small { display: block; font-size: .6875rem; font-weight: 500; color: var(--r30-sub); }
.f97-tbl tbody th, .f97-tbl tbody td { padding: 6px 4px; border-bottom: 1px solid var(--r30-rule); }
.f97-tbl tbody th { color: var(--r30-navy); font-weight: 700; }
.f97-tbl tr.is-gap th, .f97-tbl tr.is-gap td { padding: 0; line-height: 1.2; }
.f97-tbl tfoot th, .f97-tbl tfoot td { padding: 10px 4px; border-top: 2px solid var(--r30-navy); font-size: 1.25rem; font-weight: 800; }
.f97-tbl tfoot th { font-size: .9375rem; color: var(--r30-navy); }
.f97-tbl .is-coral { color: var(--kd-coral); } .f97-tbl .is-blue { color: var(--r30-blue); }
@media (max-width: 900px) { .f97-cost { grid-template-columns: minmax(0, 1fr); gap: 28px; } }

@media (max-width: 900px) {
  .r29-ind { gap: 64px; }
  .r29-ind article { display: flex; flex-direction: column; }
  .r29-ind .r29-no { order: 1; }
  .r29-ind h3 { order: 2; margin-bottom: 14px; }
  .r29-ind figure { order: 3; margin: 0 0 14px; }
  .r29-ind p:not(.r29-no) { order: 4; }
}

@media (max-width: 640px) {
  .f83-load > section:not(.f83-reports) {
    display: grid; grid-template-columns: 120px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 12px;
    grid-template-areas: "sub sub" "big stack" "force stack";
  }
  .f83-load > section:not(.f83-reports) > .f83-sub { grid-area: sub; }
  .f83-load .f83-load__body { display: contents; }
  .f83-load .f83-big { grid-area: big; margin: 0 0 14px; font-size: 1.75rem; }
  .f83-load .f83-force { grid-area: force; width: 64px; margin-left: 6px; }
  .f83-load .f83-force__down { max-height: none; }
  .f83-load .f83-badge { width: 64px; }
  .f83-badge b { font-size: 1.3rem; }
  .f83-load .f83-stack { grid-area: stack; justify-self: start; width: 100%; max-width: 160px; margin: 0; }
  .f83-load .is-heavy .f83-stack { max-width: 140px; margin: 0; }
  .f83-alu { width: 80px; left: calc(100% + 8px); }
  .f83-alu img { width: 56px; height: 56px; }
  .f83-alu__line { right: -8px; }
}

.kd-xsec > svg.kd-xsec__m { display: none; }
.kd-xsec__m .pin { fill: var(--kd-navy); }
.kd-xsec__m .is-kd .pin { fill: var(--kd-blue); }
.kd-xsec__m text { fill: #fff; font-size: 48px; font-weight: 800; text-anchor: middle; font-family: inherit; }
@media (max-width: 700px) {
  .kd-xsec > img { width: 80%; }
  .kd-xsec > svg.kd-xsec__m { display: block; position: absolute; inset: auto; left: 0; top: 0; width: 100%; height: auto; }
  .kd-xsec ol { counter-reset: xs; }
  .kd-xsec li { counter-increment: xs; }
  .kd-xsec li::before {
    content: counter(xs); display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 10px;
    border-radius: 50%; background: var(--kd-navy); color: #fff; font-size: .75rem; font-weight: 800; vertical-align: 1px;
  }
  .kd-xsec li.is-kd::before { background: var(--kd-blue); }
}

@media (max-width: 600px) {
  .f97-loop .f97-node, .f97-loop .f97-leg { font-size: 21px; } .f97-loop .f97-node.is-sm { font-size: 17px; }
  .f97-loop .f97-d { font-size: 29px; } .f97-loop .f97-sub { font-size: 16px; }
}

@media (max-width: 640px) {
  .f83-cap { margin-inline: auto; }
}
.f97-cycle > .f97-loop { grid-column: 1; grid-row: 1; }
.f97-cycle > .f97-bar { grid-column: 1; grid-row: 2; }
.f97-cycle > .f97-barnote { grid-column: 1; grid-row: 3; }
.f97-cycle > .f97-stats { grid-column: 2; grid-row: 1 / 4; align-self: center; }
@media (max-width: 900px) {
  .f97-cycle > .f97-loop, .f97-cycle > .f97-bar, .f97-cycle > .f97-barnote, .f97-cycle > .f97-stats { grid-column: 1; grid-row: auto; }
  .f97-cycle .f97-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; margin-top: 12px; }
  .f97-cycle .f97-stats > div { padding: 0; border-bottom: 0; text-align: center; }
  .f97-cycle .f97-stats dd small { margin-left: 2px; }
  .f97-cycle .f97-stats dt { font-size: .8125rem; }
}

.kd-form { grid-template-columns: minmax(0, 1fr); }
.kd-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kd-form__row--qty { grid-template-columns: minmax(0, 1fr) 240px; }
.kd-field { min-width: 0; }
.kd-field input, .kd-field textarea, .kd-field select { width: 100%; min-width: 0; box-sizing: border-box; }
.kd-qty input { width: auto; }
.kd-form__note { overflow-wrap: anywhere; }
@media (max-width: 860px) {
  .kd-form__row, .kd-form__row--qty { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 400px) {
  .kd-brand__mark { font-size: clamp(1rem, 5.2vw, 1.3rem); }
}

@media (max-width: 380px) {
  .f83-load .is-heavy .f83-stack { max-width: min(140px, calc(100% - 88px)); }
}

.kd-feat-hero { margin: 0 0 56px; }
.kd-feat-hero img { display: block; width: 100%; height: auto; aspect-ratio: 1920 / 824; object-fit: cover; }
.kd-feat-hero figcaption { margin-top: 10px; font-size: var(--fs-caption); color: var(--r30-sub); line-height: 1.55; }
@media (max-width: 600px) {
  .kd-feat-hero { margin-bottom: 40px; }
  .kd-feat-hero img { aspect-ratio: 4 / 3; object-position: 58% 50%; }   
}
