:root {
    --bs-main-color: #ffd104;
    --bs-accent-color: #25c1ed;
    --bs-accent-active: #65eaff;
    --bs-background: #03070c;
    --bs-surface-raised: #0b141d;
    --bs-grad-light: #208e9e;
    --bs-gradient-mid: #0e4855;
    --bs-body-color: #ffffff;
    --bs-text-secondary: #c5cad0;
    --bs-warning-bg: #dc2626;

    --bs-font-heading: 'Poppins', 'Segoe UI', sans-serif;
    --bs-font-base: 'Inter', 'Segoe UI', system-ui, sans-serif;

    --bs-size-h1: 56px;
    --bs-text-h2: 38px;
    --bs-fs-h3: 24px;
    --bs-type-h4: 18px;
    --bs-size-h5: 15px;
    --bs-text-h6: 13px;
    --bs-type-body: 16px;
    --bs-fs-small: 13px;
    --bs-text-xs: 11px;

    --bs-lh-tight: 1.05;
    --bs-leading-normal: 1.4;
    --bs-line-loose: 1.6;
    --bs-ls-tight: -0.02em;
    --bs-ls-normal: 0.02em;
    --bs-letter-wide: 0.1em;
    --bs-font-normal: 500;
    --bs-fw-medium: 700;
    --bs-weight-bold: 900;

    --bs-gutter-2xs: 2px;
    --bs-spacing-xs: 6px;
    --bs-gutter-sm: 10px;
    --bs-spacing-md: 16px;
    --bs-spacing-lg: 48px;
    --bs-gutter-xl: 80px;
    --bs-gap-2xl: 128px;
    --bs-gap-3xl: 200px;

    --bs-container: 1160px;
    --bs-readable-width: 720px;
    --bs-edge-desktop: 48px;
    --bs-container-padding-tablet: 32px;
    --bs-edge-mobile: 16px;
    --bs-container-inner: calc(var(--bs-container) + 2 * var(--bs-edge-desktop));

    --bs-corner-xs: 4px;
    --bs-radius-sm: 8px;
    --bs-corner: 12px;
    --bs-corner-lg: 20px;
    --bs-pill: 9999px;
    --bs-round-circle: 50%;
    --bs-depth-sm: 0 2px 6px rgba(0, 0, 0, 0.3);
    --bs-shade-md: 0 6px 18px rgba(0, 0, 0, 0.4);
    --bs-shade-lg: 0 12px 32px rgba(0, 0, 0, 0.5);

    --bs-duration-fast: 150ms;
    --bs-speed-base: 200ms;
    --bs-duration-slow: 300ms;
    --bs-easing: cubic-bezier(0.22, 0.61, 0.36, 1);
    --bs-ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1);

    --bs-sec-pad: 48px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bs-background);
    color: var(--bs-body-color);
    font-family: var(--bs-font-base);
    font-size: var(--bs-type-body);
    font-weight: var(--bs-font-normal);
    line-height: var(--bs-leading-normal);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bs-accent-color); }

h1, h2, h3 { font-family: var(--bs-font-heading); margin: 0 0 var(--bs-spacing-md); }
h1 { font-size: var(--bs-size-h1); font-weight: var(--bs-weight-bold); letter-spacing: var(--bs-ls-tight); line-height: var(--bs-lh-tight); text-transform: uppercase; }
h2 { font-size: var(--bs-text-h2); font-weight: var(--bs-fw-medium); letter-spacing: var(--bs-ls-tight); line-height: var(--bs-lh-tight); text-transform: uppercase; }
h3 { font-size: var(--bs-fs-h3); font-weight: var(--bs-fw-medium); }
p { margin: 0 0 var(--bs-spacing-md); }

.skip-link {
    position: absolute;
    left: var(--bs-spacing-md);
    top: var(--bs-spacing-md);
    z-index: 200;
    background: var(--bs-main-color);
    color: var(--bs-background);
    padding: var(--bs-gutter-sm) var(--bs-spacing-md);
    border-radius: var(--bs-radius-sm);
    font-weight: var(--bs-fw-medium);
    text-decoration: none;
}
.skip-link:not(:focus) { top: -200px !important; }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.main > section,
.main > aside { padding-block: var(--bs-sec-pad); }

/* ===== HEADER (HEAD-15, NAV-01, AUTH-REGISTER) ===== */
.bolez { background: var(--bs-background); border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.bolez-inner {
    max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop));
    margin-inline: auto;
    padding-inline: var(--bs-edge-desktop);
    padding-block: 12px;
    display: flex;
    align-items: center;
    gap: var(--bs-spacing-md);
    min-height: 112px;
}
.bolez-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.bolez-logo-img { flex-shrink: 0; height: 88px; width: auto; min-width: 88px; }
.bolez-nav { margin-left: auto; }
.bolez-nav-list {
    display: flex; flex-wrap: nowrap; align-items: center;
    gap: var(--bs-spacing-md); list-style: none; margin: 0; padding: 0;
}
.bolez-link {
    font-family: var(--bs-font-heading); font-weight: var(--bs-fw-medium);
    font-size: var(--bs-text-h6); text-transform: uppercase; letter-spacing: var(--bs-letter-wide);
    color: var(--bs-body-color); text-decoration: none; white-space: nowrap;
    padding-block: var(--bs-gutter-2xs); transition: color var(--bs-duration-fast) var(--bs-easing);
}
.bolez-link:hover, .bolez-link[aria-current='page'] { color: var(--bs-accent-color); }
.bolez-auth { flex-shrink: 0; }
.bolez-auth-btn {
    display: inline-flex; align-items: center; white-space: nowrap; flex-shrink: 0;
    background: var(--bs-accent-color); border: 1px solid var(--bs-accent-color);
    color: var(--bs-background); text-decoration: none;
    font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-text-xs);
    text-transform: uppercase; letter-spacing: var(--bs-letter-wide);
    padding: 10px var(--bs-spacing-lg); border-radius: var(--bs-corner); min-height: 40px;
    transition: background var(--bs-speed-base) var(--bs-easing);
}
.bolez-auth-btn--bs-register:hover { background: var(--bs-accent-active); color: var(--bs-background); }
.bolez-toggle {
    display: none; margin-left: auto !important; flex-direction: column; gap: 5px;
    background: none; border: 0; cursor: pointer; padding: 8px; flex-shrink: 0;
}
.bolez-toggle-bar { width: 26px; height: 3px; background: var(--bs-body-color); border-radius: 2px; }
.bolez-drawer { display: none; background: var(--bs-background); border-top: 1px solid rgba(255, 255, 255, 0.08); }
.bolez-drawer.is-open { display: block; }
.bolez-drawer-list { list-style: none; margin: 0; padding: var(--bs-spacing-md) var(--bs-edge-mobile); }
.bolez-drawer-item { border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.bolez-drawer-link {
    display: block; padding: var(--bs-spacing-md) 0; color: var(--bs-body-color);
    text-decoration: none; font-family: var(--bs-font-heading); font-weight: var(--bs-fw-medium);
    text-transform: uppercase; letter-spacing: var(--bs-letter-wide); font-size: var(--bs-text-h6);
}
.bolez-drawer-link[aria-current='page'], .bolez-drawer-link:hover { color: var(--bs-accent-color); }

/* ===== HERO (HERO-06) ===== */
.sedodo {
    position: relative; overflow: hidden;
    min-height: 560px; display: flex; align-items: center;
    padding-inline: var(--bs-edge-desktop);
    max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto;
}
.sedodo-content { position: relative; z-index: 2; width: 52%; }
.sedodo h1 { color: var(--bs-body-color); }
.sedodo-subtitle { font-size: var(--bs-size-h5); line-height: var(--bs-leading-normal); color: var(--bs-text-secondary); max-width: 480px; margin-bottom: var(--bs-spacing-lg); }
.sedodo-cta {
    display: inline-flex; align-items: center; background: var(--bs-main-color);
    color: var(--bs-background); text-decoration: none;
    font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-text-h6);
    text-transform: uppercase; letter-spacing: var(--bs-letter-wide);
    padding: var(--bs-spacing-md) var(--bs-gutter-xl); border-radius: var(--bs-corner);
    transition: background var(--bs-speed-base) var(--bs-easing), transform var(--bs-speed-base) var(--bs-easing);
}
.sedodo-cta:hover { background: #ffe14d; color: var(--bs-background); transform: translateY(-1px); }
.sedodo-figure {
    position: absolute; right: 0; top: 50%; transform: translateY(-50%) rotate(2deg);
    width: 52%; margin: 0; border-radius: var(--bs-corner-lg); overflow: hidden;
    box-shadow: var(--bs-shade-lg); transition: transform var(--bs-duration-slow) var(--bs-easing);
}
.sedodo-figure img { width: 100%; height: 100%; object-fit: cover; }
.sedodo-figure:hover { transform: translateY(-50%) rotate(0deg) scale(1.02); }

/* ===== PAGE HEADER (PHEAD-02) ===== */
.nygasyk { background: var(--bs-background); text-align: center; }
.nygasyk-inner {
    max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto;
    padding-inline: var(--bs-edge-desktop);
    display: flex; flex-direction: column; align-items: center; gap: var(--bs-spacing-md);
}
.nygasyk-eyebrow { font-family: var(--bs-font-base); font-weight: var(--bs-fw-medium); font-size: var(--bs-fs-small); text-transform: uppercase; letter-spacing: var(--bs-letter-wide); color: var(--bs-accent-color); }
.nygasyk-title { color: var(--bs-body-color); margin: 0; }
.nygasyk-divider { width: 60px; height: 2px; background: var(--bs-accent-color); margin-inline: auto; }
.nygasyk-description { font-size: var(--bs-size-h5); line-height: var(--bs-leading-normal); color: var(--bs-text-secondary); max-width: 580px; margin: 0; }

/* ===== PROSE (PROSE-03) ===== */
.fuky-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-mobile); }
.fuky-figure { margin: 0 0 var(--bs-spacing-lg); border-radius: var(--bs-corner); overflow: hidden; }
.fuky-section { margin-bottom: var(--bs-spacing-lg); }
.fuky-section--a { --bs-note: var(--bs-accent-color); }
.fuky-section--alt { --bs-note: var(--bs-main-color); }
.fuky-h2 { font-size: var(--bs-text-h2); color: var(--bs-body-color); margin-top: var(--bs-spacing-lg); }
.fuky-p { font-family: var(--bs-font-base); font-size: var(--bs-type-body); line-height: var(--bs-line-loose); color: var(--bs-body-color); padding-left: var(--bs-spacing-lg); border-left: 3px solid var(--bs-note); }
.fuky-link { color: var(--bs-accent-color); text-decoration: underline; text-underline-offset: 3px; }
.fuky-link:hover { color: var(--bs-accent-active); text-decoration-thickness: 2px; }
.fuky-p strong { color: var(--bs-body-color); font-weight: var(--bs-weight-bold); }

/* ===== ITEMS GRID (GRID-12) ===== */
.suzul-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-desktop); }
.suzul-heading { font-size: var(--bs-text-h2); color: var(--bs-body-color); margin-bottom: var(--bs-spacing-lg); }
.suzul-list { list-style: none; margin: 0; padding: 0; }
.suzul-item { display: flex; gap: var(--bs-spacing-lg); padding-block: var(--bs-spacing-lg); border-bottom: 1px solid rgba(255, 255, 255, 0.08); align-items: flex-start; }
.suzul-item-initial {
    flex-shrink: 0; width: 120px; aspect-ratio: 1 / 1; border-radius: var(--bs-corner);
    background: var(--bs-accent-color); color: var(--bs-background);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-size-h1);
}
.suzul-item-body { flex: 1; }
.suzul-item-title { font-size: var(--bs-type-h4); font-weight: var(--bs-weight-bold); color: var(--bs-body-color); margin-bottom: var(--bs-gutter-sm); }
.suzul-item-text { font-size: var(--bs-type-body); line-height: var(--bs-leading-normal); color: var(--bs-text-secondary); margin: 0; }

/* ===== REVIEWS (REV-08) ===== */
.lilylu-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-desktop); }
.lilylu-heading { font-size: var(--bs-text-h2); color: var(--bs-body-color); margin-bottom: var(--bs-spacing-lg); }
.lilylu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--bs-spacing-lg); }
.lilylu-item { padding: var(--bs-spacing-lg); background: var(--bs-surface-raised); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: var(--bs-corner); }
.lilylu-item-header { display: flex; align-items: center; gap: var(--bs-gutter-sm); margin-bottom: var(--bs-spacing-md); }
.lilylu-avatar {
    flex-shrink: 0; width: 48px; height: 48px; border-radius: var(--bs-round-circle);
    background: var(--bs-accent-color); color: var(--bs-background);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-size-h5);
}
.lilylu-meta { display: flex; flex-direction: column; }
.lilylu-author { font-weight: var(--bs-fw-medium); color: var(--bs-body-color); }
.lilylu-rating { display: inline-flex; gap: 2px; margin-bottom: var(--bs-gutter-sm); }
.lilylu-star { position: relative; display: inline-block; font-size: 18px; line-height: 1; color: #6f757c; }
.lilylu-star-empty { color: inherit; }
.lilylu-star-fill { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: var(--bs-main-color); }
.lilylu-text { font-size: var(--bs-type-body); line-height: var(--bs-leading-normal); color: var(--bs-text-secondary); margin: 0; }

/* ===== FAQ (FAQ-01) ===== */
.fityneb-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-desktop); }
.fityneb-heading { font-size: var(--bs-text-h2); color: var(--bs-body-color); margin-bottom: var(--bs-spacing-lg); }
.fityneb-list { margin: 0; padding: 0; }
.fityneb-item { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.fityneb-term { margin: 0; }
.fityneb-question {
    width: 100%; display: flex; justify-content: space-between; align-items: center; gap: var(--bs-spacing-md);
    background: none; border: 0; cursor: pointer; text-align: left;
    padding-block: var(--bs-spacing-md); color: var(--bs-body-color);
    font-family: var(--bs-font-base); font-weight: var(--bs-weight-bold); font-size: var(--bs-size-h5);
}
.fityneb-question:hover { color: var(--bs-accent-color); }
.fityneb-icon { flex-shrink: 0; font-size: 24px; line-height: 1; color: var(--bs-accent-color); transition: transform var(--bs-speed-base) var(--bs-easing); }
.fityneb-question[aria-expanded='true'] .fityneb-icon { transform: rotate(45deg); }
.fityneb-answer { padding-top: var(--bs-gutter-sm); padding-bottom: var(--bs-spacing-md); }
.fityneb-answer p { font-size: var(--bs-type-body); line-height: var(--bs-line-loose); color: var(--bs-text-secondary); margin: 0; }

/* ===== DATA TABLE (TABLE-08) ===== */
.lema-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-desktop); }
.lema-heading { font-size: var(--bs-text-h2); color: var(--bs-body-color); margin-bottom: var(--bs-spacing-lg); }
.lema-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--bs-spacing-md); }
.lema-card { padding: var(--bs-spacing-lg); background: var(--bs-surface-raised); border-radius: var(--bs-corner); display: flex; flex-direction: column; gap: var(--bs-spacing-md); }
.lema-field { display: flex; flex-direction: column; gap: var(--bs-gutter-2xs); }
.lema-label { font-size: var(--bs-text-xs); text-transform: uppercase; letter-spacing: var(--bs-letter-wide); color: var(--bs-text-secondary); }
.lema-value { font-size: var(--bs-type-body); font-weight: var(--bs-fw-medium); color: var(--bs-body-color); }

/* ===== CTA (CTA-06 sticky bottom banner) ===== */
.mydybo { position: sticky; bottom: 0; z-index: 80; width: 100%; background: var(--bs-accent-color); box-shadow: var(--bs-shade-lg); padding-block: 0 !important; }
.mydybo-inner {
    max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto;
    padding: var(--bs-spacing-md) var(--bs-edge-desktop);
    display: flex; align-items: center; gap: var(--bs-spacing-md);
}
.mydybo-title { font-family: var(--bs-font-heading); font-size: var(--bs-type-body); font-weight: var(--bs-weight-bold); color: var(--bs-background); margin: 0; text-transform: none; flex: 1; letter-spacing: normal; line-height: var(--bs-leading-normal); }
.mydybo-button {
    flex-shrink: 0; display: inline-flex; align-items: center; background: var(--bs-background); color: var(--bs-main-color);
    text-decoration: none; font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-text-h6);
    text-transform: uppercase; letter-spacing: var(--bs-letter-wide); padding: var(--bs-gutter-sm) var(--bs-spacing-lg); border-radius: var(--bs-pill);
    transition: background var(--bs-speed-base) var(--bs-easing), color var(--bs-speed-base) var(--bs-easing);
}
.mydybo-button:hover { background: #000000; color: var(--bs-accent-active); }
.mydybo-close { flex-shrink: 0; background: none; border: 0; color: var(--bs-background); font-size: 24px; line-height: 1; cursor: pointer; padding: 0 var(--bs-spacing-xs); }
.mydybo.is-hidden { display: none; }

/* ===== BYLINE (BYLINE-07) ===== */
.nilufo { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-desktop); }
.nilufo-card { padding: var(--bs-spacing-lg); background: var(--bs-surface-raised); border-radius: var(--bs-corner); box-shadow: var(--bs-depth-sm); }
.nilufo-header { display: flex; align-items: center; gap: var(--bs-spacing-md); margin-bottom: var(--bs-spacing-md); }
.nilufo-portrait { width: 72px; height: 72px; border-radius: var(--bs-round-circle); object-fit: cover; object-position: center 20%; background: var(--bs-surface-raised); border: 2px solid var(--bs-surface-raised); box-sizing: content-box; flex-shrink: 0; }
.nilufo-headtext { display: flex; flex-direction: column; }
.nilufo-name { font-family: var(--bs-font-heading); font-size: var(--bs-type-h4); font-weight: var(--bs-weight-bold); margin: 0; text-transform: none; }
.nilufo-namelink { color: var(--bs-body-color); text-decoration: none; }
.nilufo-namelink:hover { color: var(--bs-accent-color); }
.nilufo-role { font-size: var(--bs-fs-small); color: var(--bs-text-secondary); margin: 0; }
.nilufo-bio { font-size: var(--bs-type-body); line-height: var(--bs-line-loose); color: var(--bs-text-secondary); margin-bottom: var(--bs-spacing-md); }
.nilufo-expertise { display: flex; flex-wrap: wrap; gap: var(--bs-spacing-xs); margin-bottom: var(--bs-spacing-md); }
.nilufo-tag { display: inline-block; padding: var(--bs-gutter-2xs) var(--bs-gutter-sm); background: var(--bs-main-color); color: var(--bs-background); border-radius: var(--bs-pill); font-size: var(--bs-text-xs); text-transform: uppercase; letter-spacing: var(--bs-ls-normal); }
.nilufo-link { color: var(--bs-accent-color); text-decoration: underline; text-underline-offset: 3px; font-weight: var(--bs-fw-medium); }
.nilufo-link:hover { color: var(--bs-accent-active); }

/* ===== AUTHOR CARD (AUTH-07) ===== */
.gemox-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-desktop); }
.gemox-card { display: grid; grid-template-columns: 100px 1fr; gap: var(--bs-spacing-lg); background: var(--bs-surface-raised); padding: var(--bs-gutter-xl); border-radius: var(--bs-corner); border-left: 4px solid var(--bs-accent-color); }
.gemox-portrait { width: 100px; height: 100px; border-radius: var(--bs-round-circle); object-fit: cover; object-position: center 20%; background: var(--bs-surface-raised); border: 3px solid var(--bs-surface-raised); box-sizing: content-box; }
.gemox-body { display: flex; flex-direction: column; }
.gemox-quote { font-family: var(--bs-font-heading); font-size: var(--bs-size-h1); line-height: 0.6; color: var(--bs-accent-color); }
.gemox-bio { font-size: var(--bs-size-h5); line-height: var(--bs-leading-normal); color: var(--bs-body-color); font-style: italic; margin-bottom: var(--bs-spacing-md); }
.gemox-attrib { font-size: var(--bs-fs-small); letter-spacing: var(--bs-letter-wide); color: var(--bs-text-secondary); margin: 0; }
.gemox-articles { margin-top: var(--bs-spacing-lg); }
.gemox-articles-heading { font-family: var(--bs-font-heading); font-size: var(--bs-type-h4); font-weight: var(--bs-weight-bold); color: var(--bs-body-color); margin-bottom: var(--bs-spacing-md); text-transform: none; }
.gemox-articles-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--bs-spacing-xs); }
.gemox-articles-item { font-size: var(--bs-type-body); line-height: var(--bs-leading-normal); color: var(--bs-text-secondary); }

/* ===== LEGAL (LEGAL-05) ===== */
.kurofom-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-mobile); }
.kurofom-intro { font-size: var(--bs-size-h5); line-height: var(--bs-leading-normal); color: var(--bs-body-color); margin-bottom: var(--bs-spacing-lg); }
.kurofom-list { margin: 0; }
.kurofom-term { position: relative; font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-type-h4); color: var(--bs-body-color); margin-top: var(--bs-spacing-lg); margin-bottom: var(--bs-spacing-xs); padding-top: var(--bs-gutter-sm); }
.kurofom-term::before { content: ''; display: block; width: 30px; height: 2px; background: var(--bs-accent-color); margin-bottom: var(--bs-gutter-sm); }
.kurofom-definition { margin-inline-start: 0; font-size: var(--bs-type-body); line-height: var(--bs-line-loose); color: var(--bs-text-secondary); margin-bottom: var(--bs-spacing-md); }
.kurofom-contacts { margin-top: var(--bs-spacing-lg); padding: var(--bs-spacing-lg); background: var(--bs-surface-raised); border-radius: var(--bs-corner); }
.kurofom-contacts-heading { font-family: var(--bs-font-heading); font-size: var(--bs-type-h4); color: var(--bs-body-color); margin-bottom: var(--bs-spacing-md); text-transform: none; }
.kurofom-contact-list { margin: 0; padding-left: var(--bs-spacing-md); }
.kurofom-contact-item { font-size: var(--bs-type-body); line-height: var(--bs-line-loose); color: var(--bs-text-secondary); }
.kurofom-link { color: var(--bs-accent-color); text-decoration: underline; }
.kurofom-link:hover { color: var(--bs-accent-active); }
.kurofom-disclaimer { margin-top: var(--bs-spacing-lg); padding: var(--bs-spacing-md); background: rgba(220, 38, 38, 0.1); border-left: 3px solid var(--bs-warning-bg); border-radius: var(--bs-corner-xs); font-size: var(--bs-fs-small); line-height: var(--bs-leading-normal); color: var(--bs-body-color); }
.kurofom-updated { margin-top: var(--bs-spacing-md); font-size: var(--bs-text-xs); text-transform: uppercase; letter-spacing: var(--bs-letter-wide); color: var(--bs-text-secondary); }

/* ===== CONTACT FORM (FORM-06) ===== */
.xozos-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-mobile); }
.xozos-intro { font-size: var(--bs-size-h5); line-height: var(--bs-leading-normal); color: var(--bs-text-secondary); margin-bottom: var(--bs-spacing-lg); }
.xozos-success { display: none; margin-bottom: var(--bs-spacing-md); padding: var(--bs-spacing-md); background: rgba(37, 193, 100, 0.14); border: 1px solid rgba(37, 193, 100, 0.4); border-radius: var(--bs-corner); color: #d8ffe6; }
.xozos-success.is-visible { display: block; }
.xozos-form { display: flex; flex-direction: column; gap: var(--bs-spacing-md); background: var(--bs-surface-raised); padding: var(--bs-spacing-lg); border-radius: var(--bs-corner); box-shadow: var(--bs-depth-sm); }
.xozos-field { position: relative; }
.xozos-input, .xozos-textarea {
    width: 100%; background: var(--bs-background); color: var(--bs-body-color);
    border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--bs-corner);
    font-family: var(--bs-font-base); font-size: var(--bs-type-body);
    padding: var(--bs-spacing-lg) var(--bs-spacing-md) var(--bs-gutter-sm);
}
.xozos-textarea { min-height: 120px; resize: vertical; }
.xozos-input:focus, .xozos-textarea:focus { outline: none; border-color: var(--bs-accent-color); }
.xozos-label { position: absolute; top: 18px; left: var(--bs-spacing-md); color: var(--bs-text-secondary); pointer-events: none; transition: top var(--bs-duration-fast) var(--bs-easing), font-size var(--bs-duration-fast) var(--bs-easing), color var(--bs-duration-fast) var(--bs-easing); }
.xozos-input:focus + .xozos-label, .xozos-input:not(:placeholder-shown) + .xozos-label,
.xozos-textarea:focus + .xozos-label, .xozos-textarea:not(:placeholder-shown) + .xozos-label { top: var(--bs-spacing-xs); font-size: var(--bs-text-xs); color: var(--bs-accent-color); }
.xozos-submit {
    align-self: flex-start; background: var(--bs-accent-color); color: var(--bs-background); border: 0;
    font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-text-h6);
    text-transform: uppercase; letter-spacing: var(--bs-letter-wide); cursor: pointer;
    padding: var(--bs-spacing-md) var(--bs-gutter-xl); border-radius: var(--bs-corner); min-height: 48px;
    transition: background var(--bs-speed-base) var(--bs-easing);
}
.xozos-submit:hover { background: var(--bs-accent-active); color: var(--bs-background); }

/* ===== ERROR (ERR-04) ===== */
.magak { position: relative; min-height: 70vh; display: flex; align-items: center; justify-content: center; text-align: center; background: linear-gradient(180deg, var(--bs-gradient-mid), var(--bs-background)); }
.magak-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-mobile); }
.magak-title { color: var(--bs-body-color); font-size: var(--bs-size-h1); margin-bottom: var(--bs-spacing-md); }
.magak-text { font-size: var(--bs-size-h5); line-height: var(--bs-leading-normal); color: var(--bs-text-secondary); margin-bottom: var(--bs-spacing-lg); }
.magak-button {
    display: inline-flex; align-items: center; background: var(--bs-accent-color); color: var(--bs-background);
    text-decoration: none; font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-text-h6);
    text-transform: uppercase; letter-spacing: var(--bs-letter-wide); padding: var(--bs-spacing-md) var(--bs-gutter-xl); border-radius: var(--bs-corner);
    transition: background var(--bs-speed-base) var(--bs-easing);
}
.magak-button:hover { background: var(--bs-accent-active); color: var(--bs-background); }

/* ===== FOOTER (FOOT-03 massive centered) ===== */
.seta { background: var(--bs-background); border-top: 1px solid rgba(255, 255, 255, 0.06); }
.seta-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; padding-inline: var(--bs-edge-desktop); padding-block: 56px; display: flex; flex-direction: column; align-items: center; gap: var(--bs-spacing-lg); text-align: center; }
.seta-logo { display: inline-flex; }
.seta-logo-img { height: 72px; width: auto; }
.seta-nav-list { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--bs-spacing-lg); list-style: none; margin: 0; padding: 0; }
.seta-nav-link { font-family: var(--bs-font-heading); font-weight: var(--bs-fw-medium); font-size: var(--bs-type-body); color: var(--bs-body-color); text-decoration: none; }
.seta-nav-link:hover { color: var(--bs-accent-color); }
.seta-tagline { font-size: var(--bs-fs-small); line-height: var(--bs-line-loose); color: var(--bs-text-secondary); max-width: 480px; margin: 0; }
.seta-legal-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--bs-gutter-sm); }
.seta-legal-link { font-size: var(--bs-text-xs); text-transform: uppercase; letter-spacing: var(--bs-letter-wide); color: var(--bs-text-secondary); text-decoration: none; }
.seta-legal-link:hover { color: var(--bs-accent-color); }
.seta-dot { color: var(--bs-text-secondary); }
.seta-copyright { font-size: var(--bs-text-xs); color: var(--bs-text-secondary); }
.seta-top { font-size: var(--bs-text-xs); text-transform: uppercase; letter-spacing: var(--bs-letter-wide); color: var(--bs-accent-color); text-decoration: none; }
.seta-top:hover { color: var(--bs-accent-active); }

/* ===== COOKIE (COOK-02 full-width bottom strip) ===== */
.tulito { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; background: var(--bs-main-color); border-top: 1px solid rgba(0, 0, 0, 0.15); padding: var(--bs-spacing-md) var(--bs-edge-desktop); }
.tulito.is-visible { display: block; }
.tulito-inner { max-width: calc(var(--bs-container) + 2 * var(--bs-edge-desktop)); margin-inline: auto; display: flex; align-items: center; gap: var(--bs-spacing-md); justify-content: space-between; }
.tulito-message { flex: 1; font-size: var(--bs-fs-small); line-height: 1.35; color: #08111a; margin: 0; }
.tulito-actions { flex-shrink: 0; display: flex; gap: var(--bs-gutter-sm); }
.tulito-button { cursor: pointer; font-family: var(--bs-font-heading); font-weight: var(--bs-weight-bold); font-size: var(--bs-text-xs); text-transform: uppercase; letter-spacing: var(--bs-letter-wide); min-height: 36px; padding: 0 var(--bs-spacing-md); border-radius: var(--bs-corner); }
.tulito-button--bs-accept { background: var(--bs-background); color: var(--bs-main-color); border: 1px solid var(--bs-background); }
.tulito-button--bs-accept:hover { background: #000000; color: var(--bs-accent-active); }
.tulito-button--bs-decline { background: transparent; color: #08111a; border: 1px solid rgba(0, 0, 0, 0.4); }
.tulito-button--bs-decline:hover { background: #e6bd03; color: #08111a; }

/* ===== SECTION ROOTS / STRUCTURAL ===== */
.fuky, .suzul, .lilylu, .fityneb, .lema, .gemox, .xozos, .kurofom { display: block; width: 100%; }
.bolez-nav-item { display: flex; align-items: center; }
.fityneb-question-text { flex: 1; }
.seta-nav { width: 100%; }
.seta-nav-item { display: inline-flex; }

/* ===== RESPONSIVE (desktop-first) ===== */
@media (max-width: 1140px) {
    :root { --bs-edge-desktop: 32px; }
    .bolez-nav { display: none; }
    .bolez-auth { order: 2; }
    .bolez-toggle { display: flex; }
    .lilylu-grid { grid-template-columns: repeat(2, 1fr); }
    h1, .nygasyk-title, .sedodo h1, .magak-title { font-size: 40px; }
    h2, .fuky-h2, .suzul-heading, .lilylu-heading, .fityneb-heading, .lema-heading { font-size: 28px; }
}
@media (max-width: 780px) {
    :root { --bs-edge-desktop: 16px; }
    .bolez-inner { min-height: 88px; }
    .bolez-logo-img { height: 64px; min-width: 64px; }
    .sedodo { flex-direction: column; min-height: 0; padding-block: var(--bs-sec-pad); }
    .sedodo-content { width: 100%; }
    .sedodo-figure { position: static; width: 100%; transform: none; margin-top: var(--bs-spacing-lg); }
    .sedodo-figure:hover { transform: none; }
    .lilylu-grid { grid-template-columns: 1fr; }
    .suzul-item { flex-direction: column; }
    .suzul-item-initial { width: 80px; font-size: 40px; }
    .gemox-card { grid-template-columns: 1fr; padding: var(--bs-spacing-lg); }
    .mydybo-inner { flex-wrap: wrap; }
    h1, .nygasyk-title, .sedodo h1, .magak-title { font-size: 34px; }
}
@media (max-width: 700px) {
    .tulito-inner { flex-direction: column; align-items: stretch; }
    .tulito-actions { width: 100%; }
    .tulito-button { flex: 1 1 auto; }
}
@media (max-width: 540px) {
    .mydybo-title { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* fix: меню шире контейнера */
.bolez-nav-list{gap:12px !important;}
.bolez-link{font-size:0.8rem !important;letter-spacing:0 !important;}
