:root {
    color-scheme: light;
    --kz-ink: #18343b;
    --kz-muted: #607276;
    --kz-paper: #f6f8f5;
    --kz-line: #dce4df;
    --kz-accent: #067b68;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 98px; }
body.kz-page { margin: 0; background: #fff; color: var(--kz-ink); font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.kz-page a { color: inherit; text-decoration: none; }
.kz-page a:focus-visible { outline: 3px solid #08a68c; outline-offset: 5px; border-radius: 3px; }
.kz-wrap { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.kz-skip { position: fixed; top: 10px; left: 16px; z-index: 10; padding: 10px 18px; background: #fff; transform: translateY(-150%); }
.kz-skip:focus { transform: translateY(0); }
.kz-header { background: #fff; border-bottom: 1px solid var(--kz-line); }
.kz-header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.kz-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.kz-brand-mark { position: relative; display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid #8db4a4; border-radius: 12px; color: var(--kz-accent); font-size: 29px; line-height: 1; font-weight: 650; }
.kz-brand-mark > span { position: absolute; top: 2px; right: -4px; font-size: 18px; background: #fff; padding-inline: 2px; }
.kz-brand strong { display: block; font-size: 20px; line-height: 1.25; letter-spacing: -.6px; }
.kz-brand small { display: block; color: var(--kz-muted); font-size: 12px; letter-spacing: 1.5px; }
.kz-nav { display: flex; gap: 25px; font-size: 14px; }
.kz-nav a:hover, .kz-footer a:hover { color: var(--kz-accent); }
.kz-header-phone { font-size: 16px; font-weight: 650; white-space: nowrap; }
.kz-hero { background: var(--kz-paper); padding-top: 72px; }
.kz-hero-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 70px; align-items: center; }
.kz-hero-portrait { display: flex; align-self: stretch; align-items: flex-end; justify-content: center; margin: 0; min-width: 0; }
.kz-hero-photo { display: block; width: 100%; max-width: 410px; height: auto; max-height: 580px; object-fit: contain; object-position: center bottom; background: transparent; }
.kz-eyebrow { margin: 0 0 20px; font-size: 12px; text-transform: uppercase; letter-spacing: 1.8px; font-weight: 650; color: var(--kz-accent); }
.kz-eyebrow > span { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 8px; vertical-align: 1px; }
.kz-hero h1 { margin: 0 0 25px; font-size: clamp(36px, 4.1vw, 58px); line-height: 1.12; letter-spacing: -2.3px; font-weight: 650; }
.kz-hero h1 > span { color: #5f7776; font-weight: 450; }
.kz-lead { max-width: 640px; color: #4b6266; font-size: 17px; line-height: 1.7; margin: 0 0 30px; }
.kz-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.kz-button { display: inline-flex; align-items: center; gap: 22px; justify-content: space-between; padding: 14px 20px; border-radius: 7px; font-weight: 600; font-size: 14px; min-height: 52px; }
.kz-button-primary { background: var(--kz-accent); color: #fff !important; border: 1px solid var(--kz-accent); }
.kz-button-primary:hover { background: #056453; }
.kz-button-light { background: transparent; border: 1px solid #cbd8d0; }
.kz-button-light:hover { background: #eaf0eb; }
.kz-hero-contact { font-size: 13px; color: var(--kz-muted); margin: 24px 0 0; }
.kz-hero-contact strong { color: var(--kz-ink); font-weight: 600; }
.kz-hero-contact > span { padding-inline: 8px; }
.kz-hero-contact a { white-space: nowrap; }
.kz-coverage { display: grid; grid-template-columns: 190px 1fr; align-items: start; gap: 25px; border-top: 1px solid var(--kz-line); padding-block: 25px; margin-top: 58px; }
.kz-coverage-label { font-size: 12px; color: var(--kz-muted); }
.kz-coverage p { font-size: 13px; margin: 0; line-height: 1.8; }
.kz-coverage p > span { display: block; color: var(--kz-muted); }
.kz-section { padding-block: 84px; }
.kz-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 35px; }
.kz-page h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; letter-spacing: -1.3px; font-weight: 600; }
.kz-section-heading .kz-eyebrow { margin-bottom: 13px; }
.kz-section-heading > p { max-width: 390px; margin: 0; color: var(--kz-muted); font-size: 15px; }
.kz-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.kz-service { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--kz-line); border-radius: 11px; min-width: 0; }
.kz-service-number { font-size: 12px; font-weight: 600; color: #77908b; margin-bottom: 24px; }
.kz-service h3 { font-size: 20px; font-weight: 600; letter-spacing: -.4px; line-height: 1.3; margin: 0 0 13px; }
.kz-service p { margin: 0 0 24px; font-size: 14px; color: var(--kz-muted); line-height: 1.75; }
.kz-service-tag { font-size: 11px; padding: 5px 10px; border-radius: 4px; color: #48665d; background: #edf3ee; margin-top: auto; align-self: start; }
.kz-service-accent { background: #eaf2e9; border-color: #d7e5d5; }
.kz-service-accent > a { font-size: 13px; font-weight: 600; color: #126754; margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kz-purpose { background: var(--kz-paper); padding-block: 65px; }
.kz-purpose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.kz-purpose .kz-eyebrow { margin-bottom: 16px; }
.kz-purpose p:not(.kz-eyebrow) { margin: 0 0 18px; font-size: 15px; color: var(--kz-muted); }
.kz-text-link { font-size: 14px; color: var(--kz-accent) !important; font-weight: 650; display: inline-block; border-bottom: 1px solid #9fbdb1; padding-bottom: 3px; }
.kz-text-link > span { padding-left: 15px; }
.kz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.kz-steps > li { border-top: 1px solid #cbd9d0; padding-top: 22px; }
.kz-steps span { color: var(--kz-accent); font-size: 13px; font-weight: 650; }
.kz-steps h3 { font-size: 19px; line-height: 1.35; font-weight: 600; margin: 17px 0 12px; }
.kz-steps p { font-size: 14px; color: var(--kz-muted); margin: 0; }
.kz-price-note { display: grid; grid-template-columns: 240px 1fr; gap: 28px; border: 1px solid var(--kz-line); border-radius: 8px; padding: 25px 28px; margin-top: 40px; background: #fafbf9; }
.kz-price-note strong { font-size: 16px; font-weight: 600; }
.kz-price-note p { margin: 0; font-size: 14px; color: var(--kz-muted); }
.kz-contacts { background: #183d43; color: #fff; padding-block: 67px; }
.kz-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.kz-contacts .kz-eyebrow { color: #b6d8ad; margin-bottom: 15px; }
.kz-contacts h2 { font-size: clamp(29px, 3vw, 39px); }
.kz-contacts p:not(.kz-eyebrow) { font-size: 15px; color: #d4e3db; max-width: 420px; }
.kz-contact-person { margin-top: 27px; margin-bottom: 0; }
.kz-contact-person strong { display: block; color: #fff; font-weight: 600; font-size: 22px; margin-top: 3px; }
.kz-contact-links { display: flex; flex-direction: column; justify-content: center; gap: 27px; min-width: 0; }
.kz-contact-links a { display: block; padding-bottom: 18px; border-bottom: 1px solid #63817a; }
.kz-contact-links a:hover { color: #b6d8ad; }
.kz-contact-links small { display: block; color: #c7d8ce; font-size: 12px; margin-bottom: 7px; }
.kz-contact-links span { display: flex; justify-content: space-between; align-items: center; gap: 15px; overflow-wrap: anywhere; line-height: 1.4; }
.kz-contact-links b { font-weight: 400; font-size: 23px; }
.kz-contact-phone span { font-size: clamp(21px, 2.5vw, 31px); letter-spacing: -.6px; }
.kz-contact-email span { font-size: clamp(18px, 2vw, 24px); }
.kz-footer { background: #122e34; color: #bdd0c5; padding-block: 21px; }
.kz-footer-inner { display: flex; justify-content: space-between; gap: 20px; font-size: 12px; }
.kz-footer p { margin: 0; }
@media (min-width: 1600px) { .kz-hero { padding-top: 85px; } }
@media (max-width: 1000px) {
    .kz-header-inner { gap: 18px; }
    .kz-nav { gap: 15px; font-size: 12px; }
    .kz-header-phone { font-size: 14px; }
    .kz-hero-grid { gap: 35px; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
    .kz-hero h1 { letter-spacing: -1.6px; }
    .kz-purpose-grid, .kz-contact-grid { gap: 45px; }
    .kz-service { padding: 22px; }
    .kz-section-heading { gap: 30px; }
}
@media (max-width: 760px) {
    .kz-wrap { width: calc(100% - 36px); }
    .kz-header-inner { min-height: 100px; flex-wrap: wrap; gap: 12px 20px; padding-block: 17px 13px; }
    .kz-brand strong { font-size: 18px; }
    .kz-brand-mark { width: 36px; height: 36px; font-size: 25px; }
    .kz-header-phone { margin-left: auto; font-size: 13px; }
    .kz-nav { order: 3; width: 100%; justify-content: space-between; gap: 12px; font-size: 12px; }
    .kz-hero { padding-top: 40px; }
    .kz-hero-grid { grid-template-columns: 1fr; gap: 34px; }
    .kz-hero-photo { width: auto; max-width: 100%; max-height: 420px; }
    .kz-hero h1 { font-size: clamp(36px, 7.8vw, 53px); letter-spacing: -1.5px; }
    .kz-eyebrow { font-size: 10px; letter-spacing: 1.3px; }
    .kz-lead { font-size: 16px; }
    .kz-coverage { grid-template-columns: 1fr; gap: 8px; margin-top: 34px; padding-block: 20px; }
    .kz-section { padding-block: 54px; }
    .kz-section-heading { display: block; margin-bottom: 26px; }
    .kz-section-heading > p { margin-top: 19px; max-width: none; }
    .kz-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .kz-service h3 { font-size: 18px; }
    .kz-service-number { margin-bottom: 17px; }
    .kz-service-tag { font-size: 10px; }
    .kz-purpose { padding-block: 44px; }
    .kz-purpose-grid, .kz-contact-grid { grid-template-columns: 1fr; gap: 28px; }
    .kz-purpose h2 { margin-bottom: 0; }
    .kz-steps { grid-template-columns: 1fr; gap: 24px; }
    .kz-steps h3 { margin-block: 10px; }
    .kz-price-note { grid-template-columns: 1fr; gap: 12px; margin-top: 30px; padding: 22px; }
    .kz-contacts { padding-block: 48px; }
    .kz-contact-grid { gap: 32px; }
    .kz-contact-links { gap: 22px; }
    .kz-contact-phone span { font-size: 29px; }
    .kz-contact-email span { font-size: 23px; }
}
@media (max-width: 420px) {
    .kz-header-inner { gap: 12px; }
    .kz-brand { gap: 8px; }
    .kz-brand strong { font-size: 16px; letter-spacing: -.5px; }
    .kz-brand small { font-size: 10px; }
    .kz-brand-mark { width: 30px; height: 30px; font-size: 22px; border-radius: 9px; }
    .kz-header-phone { font-size: 12px; }
    .kz-hero h1 { font-size: 36px; letter-spacing: -1.4px; }
    .kz-actions { flex-direction: column; }
    .kz-button { justify-content: space-between; width: 100%; }
    .kz-hero-contact > span { padding-inline: 4px; }
    .kz-service-grid { grid-template-columns: 1fr; }
    .kz-service { padding: 24px; }
    .kz-contact-phone span { font-size: 26px; }
    .kz-contact-email span { font-size: 20px; }
    .kz-footer-inner { flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.kz-language-row { display: flex; justify-content: flex-end; padding-top: 12px; }
.kz-languages { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; border: 1px solid var(--kz-line); border-radius: 9px; font-size: 12px; line-height: 1.5; }
.kz-languages a { padding: 5px 10px; border-radius: 6px; white-space: nowrap; }
.kz-languages a:hover { background: #eaf0eb; }
.kz-languages a[aria-current="page"] { background: var(--kz-accent); color: #fff; }
@media (max-width: 760px) {
    .kz-language-row { justify-content: center; }
    .kz-nav { flex-wrap: wrap; }
}
@media (max-width: 420px) {
    .kz-languages a { padding: 5px 8px; }
    .kz-hero h1 { overflow-wrap: anywhere; }
}
