/* KEN Architects — main.css
 * Заготовка. Реальные стили придут с .ai-разбора.
 * Принципы: mobile-first, CSS variables для дизайн-токенов, никаких CSS-фреймворков.
 */

:root {
    --ken-color-bg:       #ffffff;
    --ken-color-text:     #0a0a0a;
    --ken-color-muted:    #6b6b6b;
    --ken-color-accent:   #c9a961; /* заглушка, поменяем под палитру дизайна */
    --ken-color-border:   #e5e5e5;

    --ken-font-sans:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --ken-font-display:   'Playfair Display', Georgia, serif; /* заглушка */

    --ken-container:      1280px;
    --ken-gap:            clamp(16px, 3vw, 32px);
    --ken-section-py:     clamp(48px, 8vw, 120px);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    font-family: var(--ken-font-sans);
    font-size: 16px;
    line-height: 1.6;
    color: var(--ken-color-text);
    background: var(--ken-color-bg);
    -webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.ken-container { max-width: var(--ken-container); margin: 0 auto; padding: 0 var(--ken-gap); }

.ken-section { padding: var(--ken-section-py) 0; }
.ken-section__title { font-family: var(--ken-font-display); font-size: clamp(28px, 5vw, 56px); margin: 0 0 1em; }

.ken-skip-link {
    position: absolute; left: -9999px; top: 0;
    background: #000; color: #fff; padding: 8px 12px; z-index: 9999;
}
.ken-skip-link:focus { left: 8px; top: 8px; }

/* Header */
.ken-header { position: sticky; top: 0; background: rgba(255,255,255,.95); backdrop-filter: blur(10px); z-index: 100; border-bottom: 1px solid var(--ken-color-border); }
.ken-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; gap: var(--ken-gap); }
.ken-menu { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.ken-menu a { font-weight: 500; }
.ken-burger { display: none; background: none; border: 0; cursor: pointer; width: 32px; height: 32px; }

/* Footer */
.ken-footer { padding: 48px 0; background: #0a0a0a; color: #fff; }
.ken-footer__inner { display: flex; flex-wrap: wrap; gap: var(--ken-gap); justify-content: space-between; align-items: center; }
.ken-footer-menu { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; }

/* Buttons */
.ken-btn { display: inline-block; padding: 14px 32px; background: var(--ken-color-text); color: #fff; border-radius: 2px; font-weight: 500; transition: background .2s; }
.ken-btn:hover { background: var(--ken-color-accent); }

/* 404 */
.ken-404 { text-align: center; padding: 80px 0; }
.ken-404__code { font-size: clamp(80px, 16vw, 200px); margin: 0; font-family: var(--ken-font-display); }

/* Mobile */
@media (max-width: 768px) {
    .ken-menu { display: none; }
    .ken-burger { display: block; }
}
