html, body { margin: 0; }
.kitel-site,
.kitel-content-shell,
.kitel-main,
:where(.kitel-chrome, .kitel-chrome *) { box-sizing: border-box; }
.kitel-site {
    --kitel-section-space: 100px;
    --kitel-section-links-space: 39px;
    --kitel-content-space: 104px;
    --kitel-sidebar-gap: 119px;
    --kitel-sidebar-space: 100px;
    --kitel-density-page-title: var(--kitel-text-page);
    --kitel-density-description: var(--kitel-text-lg);
    --kitel-density-heading-gap: 50px;
    --kitel-density-title-description-gap: var(--kitel-space-1);
    --kitel-density-list-min-height: 950px;
    --kitel-community-band-height: var(--kitel-space-8);
    --kitel-community-intro-space: 72px;
    --kitel-community-intro-padding: 20px 28px;
    color: var(--kitel-text);
    background: var(--kitel-surface);
    font-family: var(--kitel-font);
    font-size: var(--kitel-text-sm);
    line-height: 1.4;
}
.kitel-chrome [hidden] { display: none !important; }
:where(.kitel-chrome a, a.kitel-chrome) { color: inherit; text-decoration: none; }
:where(.kitel-chrome button, .kitel-chrome input) { font-family: inherit; }
.kitel-skip {
    position: absolute;
    left: -9999px;
    z-index: 1000;
    padding: 10px 16px;
    background: #fff;
}
.kitel-skip:focus { left: 16px; top: 8px; }

.kitel-header { --kitel-nav-column: 147px; --kitel-nav-gap: 36px; --kitel-header-gap: clamp(32px, 5.36vw, 103px); position: relative; z-index: 100; background: #fff; }
/* Header and panel share the same fluid tracks; no viewport coordinates. */
.kitel-header__inner,
.kitel-mega__inner {
    width: min(1760px, calc(100% - 48px));
    display: grid;
    grid-template-columns: 90px minmax(16px, 1fr) calc(4 * var(--kitel-nav-column) + 3 * var(--kitel-nav-gap)) var(--kitel-header-gap) 493px;
    margin-inline: auto;
}
.kitel-header__inner { height: 80px; align-items: center; }
.kitel-brand { grid-column: 1; margin-left: 20px; display: flex; flex: 0 0 70px; align-items: center; }
.kitel-brand img { display: block; width: 70px; height: 70px; }
.kitel-nav { grid-column: 3; display: grid; grid-template-columns: repeat(4, var(--kitel-nav-column)); gap: var(--kitel-nav-gap); align-self: stretch; }
.kitel-nav__link {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    font-size: var(--kitel-text-md);
    white-space: nowrap;
}
.kitel-nav__link::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--kitel-primary);
    content: "";
    opacity: 0;
}
.kitel-nav__link:hover::after,
.kitel-nav__link:focus-visible::after { opacity: .45; }
.kitel-nav__link.is-active::after { opacity: 1; }
.kitel-header__actions { grid-column: 5; display: flex; align-items: center; gap: 16px; margin-left: auto; }
.kitel-search {
    display: flex;
    width: 255px;
    height: 40px;
    align-items: center;
    border-radius: var(--kitel-radius-pill);
    background: var(--kitel-surface-subtle);
}
.kitel-search input {
    width: 100%;
    min-width: 0;
    padding: 0 12px 0 18px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--kitel-text);
}
.kitel-search button { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border: 0; background: none; cursor: pointer; }
.kitel-search img,
.kitel-language img { display: block; width: 24px; height: 24px; }
.kitel-account { display: flex; align-items: center; gap: 16px; white-space: nowrap; font-size: var(--kitel-text-md); }
.kitel-account a:hover { color: var(--kitel-primary); }
.kitel-language { display: grid; width: 40px; height: 40px; place-items: center; }

.kitel-mega {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    min-height: 300px;
    border-top: 1px solid var(--kitel-border);
    background: #fff;
    box-shadow: var(--kitel-shadow-panel);
}
.kitel-mega__inner { min-height: 300px; }
.kitel-mega__columns { grid-column: 3; display: grid; grid-template-columns: repeat(4, var(--kitel-nav-column)); gap: var(--kitel-nav-gap); }
.kitel-mega__column { padding: 36px 0 32px 10px; border-left: 1px solid var(--kitel-border); }
.kitel-mega__column:last-child { border-right: 1px solid var(--kitel-border); }
.kitel-mega__column ul,
.kitel-mobile__list,
.kitel-footer__column ul,
.kitel-section-nav__links { margin: 0; padding: 0; list-style: none; }
.kitel-mega__column li + li { margin-top: 20px; }
.kitel-mega__column a { color: var(--kitel-text-muted); font-size: var(--kitel-text-sm); white-space: nowrap; }
.kitel-mega__column a:hover,
.kitel-mega__column a.is-active { color: var(--kitel-primary); }

.kitel-mobile-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; }
.kitel-mobile-toggle span,
.kitel-mobile-toggle span::before,
.kitel-mobile-toggle span::after { display: block; width: 22px; height: 2px; background: var(--kitel-text); content: ""; }
.kitel-mobile-toggle span { position: relative; }
.kitel-mobile-toggle span::before { position: absolute; top: -7px; }
.kitel-mobile-toggle span::after { position: absolute; top: 7px; }
.kitel-mobile { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100vh - 80px); overflow: auto; padding: 16px 24px 32px; border-top: 1px solid var(--kitel-border); background: #fff; box-shadow: var(--kitel-shadow-panel); }
.kitel-mobile__list > li { border-bottom: 1px solid var(--kitel-border); }
.kitel-mobile__list details { padding: 8px 0; }
.kitel-mobile__list summary { padding: 10px 0; font-size: var(--kitel-text-md); cursor: pointer; }
.kitel-mobile__list ul { margin: 0 0 12px; padding: 0 0 0 16px; list-style: none; }
.kitel-mobile__list ul li { padding: 8px 0; }
.kitel-mobile__all { color: var(--kitel-primary); }
.kitel-mobile__account { display: flex; gap: 24px; margin-top: 24px; }

.kitel-site[data-section="news"] { --kitel-section-space: 120px; --kitel-section-links-space: 19px; --kitel-content-space: 114px; }
.kitel-site[data-section="etc"] { --kitel-sidebar-gap: 21px; --kitel-sidebar-space: 130px; }
.kitel-site.density-productive {
    --kitel-section-space: var(--kitel-space-3);
    --kitel-section-links-space: 0px;
    --kitel-content-space: var(--kitel-space-4);
    --kitel-density-page-title: var(--kitel-text-page-productive);
    --kitel-density-description: var(--kitel-text-description-productive);
    --kitel-density-heading-gap: var(--kitel-space-2);
    --kitel-density-title-description-gap: var(--kitel-space-2);
    --kitel-density-list-min-height: 640px;
    --kitel-community-band-height: var(--kitel-space-7);
    --kitel-community-intro-space: var(--kitel-space-4);
    --kitel-community-intro-padding: 16px 24px;
}
.kitel-section-banner { margin-top: var(--kitel-section-space); background: var(--kitel-primary); color: #fff; }
.kitel-section-banner__inner { display: flex; height: 80px; align-items: center; gap: 66px; font-size: 40px; font-weight: 600; }
.kitel-section-banner img { display: block; width: 24px; height: 24px; filter: brightness(0) invert(1); }
.kitel-section-nav__title { min-width: 80px; line-height: 29px; display: inline-block; margin: 0; padding-bottom: 0; border-bottom: 2px solid var(--kitel-primary); font-size: var(--kitel-text-lg); font-weight: 500; }
.kitel-section-nav__links { display: flex; flex-wrap: wrap; gap: 44px; margin-top: 34px; }
.kitel-section-nav__links a { color: var(--kitel-text-muted); }
.kitel-section-nav__links a:hover,
.kitel-section-nav__links a.is-active { color: var(--kitel-text); }
.kitel-section-nav--horizontal { display: flex; flex-direction: column; align-items: center; padding-top: var(--kitel-section-space); }
.kitel-section-nav--horizontal .kitel-section-nav__title { text-align: center; }
.kitel-section-nav--horizontal .kitel-section-nav__links { justify-content: center; margin-top: var(--kitel-section-links-space); line-height: 19px; }
.density-productive .kitel-section-nav--horizontal { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: var(--kitel-space-3); padding-bottom: var(--kitel-space-2); border-bottom: 1px solid var(--kitel-border); }
.density-productive .kitel-section-nav--horizontal .kitel-section-nav__title { min-width: 0; border-bottom: 0; font-size: var(--kitel-text-sm); font-weight: 600; line-height: 24px; }
.density-productive .kitel-section-nav--horizontal .kitel-section-nav__links { gap: var(--kitel-space-3); margin-top: 0; }
.kitel-content-shell.has-sidebar { display: grid; width: min(var(--kitel-content-width), calc(100% - 48px)); grid-template-columns: 176px minmax(0, 1fr); gap: var(--kitel-sidebar-gap); margin: var(--kitel-sidebar-space) auto 0; }
.kitel-content-shell.has-horizontal-nav { padding-top: var(--kitel-content-space); }
.density-productive .kitel-content-shell:not(.has-horizontal-nav):not(.has-sidebar) { padding-top: var(--kitel-space-4); }
.kitel-section-nav--vertical .kitel-section-nav__title { font-size: var(--kitel-text-lg); }
.kitel-section-nav--vertical .kitel-section-nav__links { flex-direction: column; gap: 20px; margin-top: 20px; padding-left: 16px; }
.kitel-section-nav--vertical .kitel-section-nav__links a { white-space: normal; }
.kitel-main { min-width: 0; min-height: 40vh; }
/* List pages keep the white content surface through a short viewport. */
.kitel-content-shell.has-horizontal-nav:has(.kitel-list-surface) { min-height: calc(100dvh - 145px); }
.kitel-footer { display: flow-root; min-height: 579px; clear: both; background: var(--kitel-surface-footer); }
.kitel-footer__sitemap { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 77px; min-height: 367px; padding-top: 120px; padding-bottom: 70px; }
.kitel-footer__column { width: max-content; max-width: 100%; }
.kitel-footer__title { display: block; margin-bottom: 18px; font-size: var(--kitel-text-lg); font-weight: 400; line-height: 29px; }
.kitel-footer__column li + li { margin-top: 8px; }
.kitel-footer__column li a { display: block; color: var(--kitel-text-muted); font-size: var(--kitel-text-sm); line-height: 19px; white-space: nowrap; }
.kitel-footer__column:first-child li a { font-size: var(--kitel-text-xs); }
.kitel-footer__column li a:hover,
.kitel-footer__column li a.is-active { color: var(--kitel-primary); }
.kitel-footer__meta { min-height: 212px; padding: 40px 24px 80px; border-top: 1px solid var(--kitel-border); color: #666; text-align: center; font-size: var(--kitel-text-sm); line-height: 1.5; }
.kitel-footer__meta span { display: block; }

/* The navigation changes form when its content no longer fits beside search and account actions. */
@media (max-width: 1320px) {
    .kitel-header { --kitel-nav-column: 120px; --kitel-nav-gap: 20px; --kitel-header-gap: 32px; }
}
@media (max-width: 1120px) {
    .kitel-nav,
    .kitel-mega { display: none !important; }
    .kitel-header__inner { display: flex; gap: 16px; }
    .kitel-brand { margin-left: 0; }
    .kitel-mobile-toggle { display: flex; }
    .kitel-header__actions { margin-left: auto; }
}
@media (max-width: 720px) {
    .kitel-header__inner { width: calc(100% - 32px); }
    .kitel-brand,
    .kitel-brand img { width: 48px; height: 48px; flex-basis: 48px; }
    .kitel-header__actions > .kitel-search { display: none; }
    .kitel-mobile__search { width: 100%; margin-bottom: 16px; }
    .kitel-account,
    .kitel-language { display: none; }
    .kitel-footer__sitemap { gap: 40px; padding-top: 64px; }
    .kitel-content-shell.has-sidebar { grid-template-columns: 1fr; gap: 32px; margin-top: 48px; }
    .kitel-section-nav--vertical .kitel-section-nav__links { flex-direction: row; padding-left: 0; }
    .kitel-section-banner__inner { font-size: 32px; }
}
@media (max-width: 480px) {
    .kitel-section-nav__links { gap: 16px; }
    .kitel-footer__column { width: calc(50% - 20px); }
    .kitel-footer__column li a { white-space: normal; }
}
