.kp-page { background: #fff; color: #203a45; font: 400 16px/1.8 Inter, Arial, sans-serif; }
.kp-page * { box-sizing: border-box; }
.kp-page h1, .kp-page h2, .kp-page p, .kp-page ul, .kp-page ol { margin: 0; padding: 0; color: inherit; line-height: inherit; }
.kp-page a { color: #006b5b; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.kp-page a:focus-visible { outline: 3px solid #009e83; outline-offset: 4px; border-radius: 2px; }
.kp-hero { background: #092e35; color: #fff; border-bottom: 5px solid #25b391; padding: 24px 0 48px; }
.kp-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: #aec9ca; }
.kp-breadcrumb a { color: #d2e9e3; }
.kp-hero-content { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-top: 40px; }
.kp-page .kp-eyebrow { color: #74d9b9; letter-spacing: 1.8px; font-size: 11px; font-weight: 700; margin-bottom: 14px; }
.kp-page h1 { font-size: clamp(38px, 4.5vw, 58px); line-height: 1.1; letter-spacing: -1.8px; font-weight: 750; }
.kp-page .kp-lead { font-size: 17px; color: #c9dedd; margin-top: 20px; line-height: 1.7; }
.kp-version { border-left: 1px solid #416165; padding-left: 28px; flex-shrink: 0; }
.kp-version span { display: block; color: #84b2af; font-size: 10px; font-weight: 700; letter-spacing: 1.6px; }
.kp-version time { display: block; font-size: 20px; font-weight: 600; padding: 5px 0; }
.kp-version p { font-size: 12px; color: #b9d0d0; }
.kp-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 72px; padding-top: 52px; padding-bottom: 64px; align-items: start; }
.kp-sidebar { position: sticky; top: 100px; }
.kp-contents { border-bottom: 1px solid #dde8e5; padding-bottom: 22px; }
.kp-contents h2 { font-size: 14px; font-weight: 750; margin-bottom: 15px; }
.kp-contents a { display: flex; align-items: baseline; gap: 12px; padding: 9px 10px; margin-left: -10px; border-radius: 6px; color: #69847c; text-decoration: none; font-size: 11px; line-height: 1.5; }
.kp-contents a span { font-size: 13px; color: #3d5a52; }
.kp-contents a:hover { background: #eff7f3; }
.kp-help { padding: 22px 0; }
.kp-help h2 { font-size: 15px; font-weight: 700; line-height: 1.5; }
.kp-help p { color: #627770; font-size: 13px; margin: 10px 0; }
.kp-help a { font-size: 13px; font-weight: 600; }
.kp-policy { min-width: 0; max-width: 790px; }
.kp-policy section { scroll-margin-top: 110px; border-bottom: 1px solid #e0e9e6; padding: 32px 0; }
.kp-policy section:first-child { padding-top: 0; }
.kp-policy h2 { display: flex; align-items: baseline; gap: 13px; font-size: 23px; line-height: 1.4; font-weight: 700; letter-spacing: -.5px; margin-bottom: 18px; }
.kp-policy h2 > span { font-size: 12px; letter-spacing: 0; color: #00816a; flex-shrink: 0; }
.kp-policy p { font-size: 15px; color: #4c625c; margin-bottom: 15px; line-height: 1.85; }
.kp-policy p:last-child { margin-bottom: 0; }
.kp-policy ul, .kp-policy ol { margin: 12px 0 20px; padding-left: 24px; color: #4c625c; font-size: 15px; }
.kp-policy ul { list-style: disc; }
.kp-policy ol { list-style: decimal; }
.kp-policy li { padding-left: 5px; margin-bottom: 8px; }
.kp-policy li::marker { color: #00816a; }
.kp-page .kp-callout { padding: 18px 20px; border-left: 3px solid #00816a; background: #f0f8f4; font-weight: 600; color: #205447; }
.kp-policy .kp-contact { background: #f4f8f6; padding: 28px; border: 1px solid #e0e9e6; border-radius: 12px; margin-top: 32px; }
.kp-contact address { font-size: 15px; line-height: 2; font-style: normal; color: #4c625c; margin: 0; }
.kp-contact strong { color: #203a45; }
@media (max-width: 1000px) { .kp-layout { gap: 35px; grid-template-columns: 225px minmax(0, 1fr); } .kp-hero-content { gap: 24px; } }
@media (max-width: 760px) { .kp-hero-content { flex-direction: column; align-items: stretch; padding-top: 28px; } .kp-version { padding: 18px 0 0; border-left: 0; border-top: 1px solid #416165; } .kp-hero { padding-bottom: 30px; } .kp-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-top: 30px; padding-bottom: 40px; } .kp-sidebar { position: static; } .kp-contents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; } .kp-contents h2 { grid-column: 1 / -1; } .kp-contents a { margin-left: 0; padding: 8px 0; } .kp-help { padding-bottom: 0; } .kp-policy h2 { font-size: 21px; } .kp-policy .kp-contact { padding: 22px 18px; } }
@media (max-width: 400px) { .kp-contents { grid-template-columns: minmax(0, 1fr); } }
@media print { .kp-sidebar { display: none; } .kp-layout { display: block; } .kp-hero { background: white; color: black; } .kp-policy { max-width: none; } .kp-hero p, .kp-version span, .kp-version p { color: #333; } }
