
:root {
  --color-primary: #ff4702;
  --color-accent: #fdd104;
  --color-accent-pressed: #d0a900;
  --color-bg: #151414;
  --color-bg-elevated: #201e1e;
  --color-gradient-light: #ffe285;
  --color-gradient-mid: #ffdb3a;
  --color-text: #ffffff;
  --color-text-muted: #bdbdbd;
  --color-rg-banner: #dc2626;
  --font-display: "Jura", system-ui, sans-serif;
  --font-body: "Roboto", system-ui, sans-serif;
  --fs-h1: 72px;
  --fs-h2: 44px;
  --fs-h3: 28px;
  --fs-h4: 20px;
  --fs-h5: 16px;
  --fs-h6: 14px;
  --fs-body: 18px;
  --fs-small: 15px;
  --fs-micro: 12px;
  --lh-tight: 1.05;
  --lh-normal: 1.5;
  --lh-loose: 1.7;
  --ls-tight: -0.03em;
  --ls-normal: 0;
  --ls-wide: 0.05em;
  --fw-regular: 400;
  --fw-medium: 600;
  --fw-bold: 700;
  --space-2xs: 2px;
  --space-xs: 6px;
  --space-sm: 10px;
  --space-md: 16px;
  --space-lg: 48px;
  --space-xl: 80px;
  --space-2xl: 128px;
  --space-3xl: 200px;
  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --radius-pill: 9999px;
  --radius-circle: 50%;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.25);
  --shadow-md: 0 6px 16px rgba(0,0,0,0.35);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.45);
  --dur-fast: 200ms;
  --dur-base: 300ms;
  --dur-slow: 500ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --bp-sm: 520px;
  --bp-md: 820px;
  --bp-lg: 1180px;
  --bp-xl: 1560px;
  --container-site: 1380px;
  --container-readable: 720px;
  --container-padding-mobile: 16px;
  --container-padding-tablet: 24px;
  --container-padding-desktop: 48px;
  --rg-height: 34px;
}

* { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-pressed); }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); margin: 0 0 var(--space-md); line-height: var(--lh-tight); }
p { margin: 0 0 var(--space-md); }
ul { margin: 0; padding: 0; }

.skip-link {
  position: absolute; left: var(--space-md); top: -200px;
  background: var(--color-accent); color: var(--color-bg);
  padding: var(--space-sm) var(--space-md); border-radius: var(--radius-sm); z-index: 200;
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: var(--space-sm); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.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; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* buttons */
.btn {
  display: inline-block; font-family: var(--font-display); font-weight: var(--fw-bold);
  font-size: var(--fs-small); letter-spacing: var(--ls-wide); text-transform: uppercase;
  padding: 14px 28px; border-radius: var(--radius-pill); border: 2px solid transparent;
  cursor: pointer; transition: background var(--dur-base) var(--ease-spring), transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base);
}
.btn--primary { background: var(--color-accent); color: var(--color-bg); box-shadow: var(--shadow-md); }
.btn--primary:hover { background: var(--color-accent-pressed); color: var(--color-bg); transform: scale(1.02); box-shadow: var(--shadow-lg); }

/* RG banner */
.rg-banner {
  margin: 0; background: var(--color-rg-banner); color: #fff;
  font-size: var(--fs-micro); text-align: center; min-height: var(--rg-height);
  display: flex; align-items: center; justify-content: center; gap: var(--space-xs); padding: var(--space-xs) var(--space-md);
}
.rg-banner a { color: #fff; text-decoration: underline; }
.rg-banner a:hover { color: #fff; }

/* ---------- header (HEAD-08 bordered plate, NAV-02) ---------- */
.xele { background: var(--color-bg); border-top: 2px solid var(--color-accent); border-bottom: 2px solid var(--color-text); }
.xele-row {
  display: flex; align-items: center; gap: var(--space-md);
  height: 108px; max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto; padding-inline: var(--container-padding-desktop);
}
.xele-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.xele-logo-img { height: 88px; width: auto; }
.xele-nav { margin-left: auto; }
.xele-nav-list { display: flex; align-items: center; gap: var(--space-md); list-style: none; }
.xele-nav-item { position: relative; display: flex; align-items: center; }
.xele-nav-item--more { position: relative; }
.xele-nav-item + .xele-nav-item::before { content: ""; width: 4px; height: 4px; border-radius: var(--radius-circle); background: var(--color-accent); margin-right: var(--space-md); }
.xele-link {
  font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small);
  letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-text);
  background: none; border: 0; cursor: pointer; padding: var(--space-xs) 0; transition: color var(--dur-fast);
  display: inline-flex; align-items: center; gap: var(--space-2xs);
}
.xele-link:hover, .xele-link[aria-current="page"] { color: var(--color-accent); }
.xele-more-toggle { position: relative; }
.xele-more-menu {
  position: absolute; top: 100%; right: 0; margin-top: var(--space-sm); min-width: 220px;
  background: var(--color-bg-elevated); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg); padding: var(--space-sm); list-style: none; z-index: 60;
}
.xele-more-menu[hidden] { display: none; }
.xele-more-link { display: block; font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-text); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-sm); }
.xele-more-link:hover, .xele-more-link[aria-current="page"] { color: var(--color-accent); background: rgba(253,209,4,0.08); }
.xele-more-chevron { font-size: var(--fs-micro); }
.xele-auth-btn {
  flex-shrink: 0; white-space: nowrap; font-family: var(--font-display); font-weight: var(--fw-bold);
  font-size: var(--fs-small); letter-spacing: var(--ls-wide); text-transform: uppercase;
  background: var(--color-accent); color: var(--color-bg); padding: 12px var(--space-md); border-radius: var(--radius-pill);
  transition: background var(--dur-fast);
}
.xele-auth-btn:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.xele-toggle { display: none; margin-left: auto; width: 44px; height: 44px; background: none; border: 2px solid var(--color-accent); border-radius: var(--radius-sm); cursor: pointer; position: relative; }
.xele-toggle-bar, .xele-toggle-bar::before, .xele-toggle-bar::after { content: ""; position: absolute; left: 9px; width: 22px; height: 2px; background: var(--color-text); transition: transform var(--dur-fast); }
.xele-toggle-bar { top: 21px; }
.xele-toggle-bar::before { top: -7px; }
.xele-toggle-bar::after { top: 7px; }
.xele-toggle[aria-expanded="true"] .xele-toggle-bar { background: transparent; }
.xele-toggle[aria-expanded="true"] .xele-toggle-bar::before { transform: translateY(7px) rotate(45deg); }
.xele-toggle[aria-expanded="true"] .xele-toggle-bar::after { transform: translateY(-7px) rotate(-45deg); }
.xele-mobile { display: none; border-top: 2px solid var(--color-accent); background: var(--color-bg); }
.xele-mobile.is-open { display: block; }
.xele-mobile-list { list-style: none; padding: var(--space-sm) var(--container-padding-mobile) var(--space-md); }
.xele-mobile-link { display: block; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h5); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-text); padding: var(--space-md) 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.xele-mobile-link:hover, .xele-mobile-link[aria-current="page"] { color: var(--color-accent); }

@media (max-width: 1179px) {
  .xele-nav, .xele-auth-btn { display: none; }
  .xele-toggle { display: block; }
  .xele-row { height: 84px; padding-inline: var(--container-padding-mobile); }
  .xele-logo-img { height: 60px; }
}

/* ---------- hero (HERO-12 editorial long-read) ---------- */
.vamur { padding-block: var(--space-2xl) var(--space-lg); }
.vamur-text { max-width: 760px; margin-inline: auto; padding-inline: var(--container-padding-desktop); text-align: center; }
.vamur-kicker { font-size: var(--fs-small); font-style: italic; color: var(--color-accent); letter-spacing: var(--ls-wide); margin-bottom: var(--space-md); }
.vamur h1 { font-size: var(--fs-h1); font-weight: var(--fw-bold); letter-spacing: var(--ls-tight); }
.vamur-lead { font-size: var(--fs-h5); font-style: italic; color: var(--color-text-muted); max-width: 600px; margin-inline: auto; margin-bottom: var(--space-lg); line-height: var(--lh-normal); }
.vamur-actions { margin: 0; }
.vamur-figure { margin: var(--space-lg) auto 0; max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); padding-inline: var(--container-padding-desktop); }
.vamur-img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--radius-md); }
.vamur-caption { font-size: var(--fs-micro); font-style: italic; color: var(--color-text-muted); padding-top: var(--space-xs); text-align: center; }

/* ---------- page-header (PHEAD-10 manifesto) ---------- */
.lixale { padding-block: var(--space-xl); background: var(--color-bg); }
.lixale-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); text-align: center; }
.lixale-title { font-size: clamp(40px, 7vw, 80px); line-height: var(--lh-tight); font-weight: var(--fw-bold); margin-bottom: var(--space-sm); }
.lixale-dot { display: block; color: var(--color-accent); font-size: var(--fs-h2); font-family: var(--font-display); margin-bottom: var(--space-sm); }
.lixale-desc { font-style: italic; font-size: var(--fs-h4); color: var(--color-text-muted); max-width: 600px; margin-inline: auto; }

/* ---------- prose (PROSE-04 drop-cap magazine) ---------- */
.fugyky { padding-block: var(--space-lg); }
.fugyky-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.fugyky-readable { max-width: var(--container-readable); margin-inline: auto; }
.fugyky-block { margin-bottom: var(--space-lg); }
.fugyky-h2 { font-size: var(--fs-h2); font-weight: var(--fw-medium); letter-spacing: var(--ls-tight); margin-bottom: var(--space-md); }
.fugyky-block p { font-size: var(--fs-body); line-height: var(--lh-loose); color: var(--color-text); }
.fugyky-block > p:first-of-type::first-letter { font-size: 4em; float: left; line-height: 0.8; margin-right: 0.1em; margin-top: 0.05em; color: var(--color-accent); font-family: var(--font-display); font-weight: var(--fw-bold); }
.fugyky-list { list-style: none; margin: 0 0 var(--space-md); padding: 0; }
.fugyky-list li { position: relative; padding-left: var(--space-lg); margin-bottom: var(--space-sm); line-height: var(--lh-normal); }
.fugyky-list li::before { content: "▸"; position: absolute; left: var(--space-md); color: var(--color-accent); }
.fugyky-block a { text-decoration: underline; }

/* ---------- items-grid (GRID-10 compact 4-col) ---------- */
.supo { padding-block: var(--space-lg); }
.supo-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.supo-title { font-size: var(--fs-h2); font-weight: var(--fw-medium); text-align: center; margin-bottom: var(--space-lg); letter-spacing: var(--ls-tight); }
.supo-list { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }
.supo-card { background: rgba(255,71,2,0.06); border-radius: var(--radius-sm); padding: var(--space-md); min-height: 180px; transition: transform var(--dur-base), box-shadow var(--dur-base); }
.supo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.supo-num { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h3); color: var(--color-accent); display: block; margin-bottom: var(--space-sm); }
.supo-card-title { font-family: var(--font-body); font-size: var(--fs-h5); font-weight: var(--fw-bold); margin-bottom: var(--space-sm); }
.supo-card-text { font-size: var(--fs-small); color: var(--color-text-muted); line-height: var(--lh-normal); margin: 0; }
.page-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-md); }
.page-fig { margin: 0; }
.page-fig img { width: 100%; max-height: 58vh; border-radius: var(--radius-md); object-fit: cover; }
.page-fig figcaption { font-size: var(--fs-micro); font-style: italic; color: var(--color-text-muted); padding-top: var(--space-xs); }

/* ---------- data-table (TABLE-05 compact dense) ---------- */
.dobuvin { padding-block: var(--space-lg); }
.dobuvin-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.dobuvin-title { font-size: var(--fs-h3); text-align: center; margin-bottom: var(--space-md); }
.dobuvin-scroll { overflow-x: auto; border-radius: var(--radius-md); border: 1px solid rgba(255,255,255,0.08); }
.dobuvin-table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.dobuvin-table th { background: var(--color-bg-elevated); padding: var(--space-sm); font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: var(--ls-wide); font-weight: var(--fw-bold); color: var(--color-text); text-align: left; }
.dobuvin-table td { padding: var(--space-xs) var(--space-sm); border-bottom: 1px solid rgba(255,255,255,0.06); color: var(--color-text-muted); }
.dobuvin-table tr:hover td { color: var(--color-text); }

/* ---------- reviews (REV-08 avatar-initials) ---------- */
.gura { padding-block: var(--space-lg); }
.gura-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.gura-title { font-size: var(--fs-h2); font-weight: var(--fw-medium); text-align: center; margin-bottom: var(--space-lg); letter-spacing: var(--ls-tight); }
.gura-list { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.gura-card { background: var(--color-bg-elevated); border-radius: var(--radius-lg); padding: var(--space-md); transition: transform var(--dur-base), box-shadow var(--dur-base); }
.gura-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.gura-head { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-sm); }
.gura-avatar { width: 48px; height: 48px; flex-shrink: 0; border-radius: var(--radius-circle); background: var(--color-accent); color: var(--color-bg); font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h5); display: flex; align-items: center; justify-content: center; }
.gura-meta { display: flex; flex-direction: column; }
.gura-author { font-weight: var(--fw-bold); }
.gura-date { font-size: var(--fs-micro); color: var(--color-text-muted); }
.gura-stars { color: var(--color-accent); font-size: var(--fs-h5); margin-bottom: var(--space-sm); letter-spacing: 2px; }
.gura-text { font-size: var(--fs-small); color: var(--color-text-muted); line-height: var(--lh-normal); margin: 0; }

/* ---------- faq (FAQ-03 two-column card) ---------- */
.kybas { padding-block: var(--space-lg); }
.kybas-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.kybas-title { font-size: var(--fs-h2); font-weight: var(--fw-medium); text-align: center; margin-bottom: var(--space-lg); letter-spacing: var(--ls-tight); }
.kybas-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
.kybas-card { border: 1px solid rgba(255,255,255,0.15); border-radius: var(--radius-md); background: var(--color-bg); padding: var(--space-lg); }
.kybas-q { font-size: var(--fs-h5); font-weight: var(--fw-bold); color: var(--color-text); margin-bottom: var(--space-md); font-family: var(--font-body); }
.kybas-q-prefix { font-family: var(--font-display); font-weight: var(--fw-bold); color: var(--color-accent); }
.kybas-a { font-size: var(--fs-body); line-height: var(--lh-normal); color: var(--color-text-muted); margin: 0; }

/* ---------- cta (CTA-07 vertical card w/ decorative number) ---------- */
.kysyba { padding-block: var(--space-lg); }
.kysyba-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.kysyba-card { border: 2px solid var(--color-accent); border-radius: var(--radius-lg); background: var(--color-bg); padding: var(--space-lg); text-align: center; max-width: 900px; margin-inline: auto; }
.kysyba-num { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h1); color: var(--color-accent); display: block; line-height: 1; margin-bottom: var(--space-md); }
.kysyba-title { font-size: var(--fs-h3); margin-bottom: var(--space-md); }
.kysyba-text { color: var(--color-text-muted); line-height: var(--lh-loose); max-width: 580px; margin-inline: auto; margin-bottom: var(--space-lg); }
.kysyba-action { margin: 0; }

/* ---------- legal (LEGAL-05 definition list) ---------- */
.garilip { padding-block: var(--space-lg); }
.garilip-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.garilip-intro { max-width: var(--container-readable); margin-inline: auto; color: var(--color-text-muted); line-height: var(--lh-loose); margin-bottom: var(--space-lg); }
.garilip-list { max-width: var(--container-readable); margin-inline: auto; }
.garilip-term { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h4); color: var(--color-text); margin-block-start: var(--space-lg); margin-block-end: var(--space-xs); position: relative; padding-top: var(--space-md); }
.garilip-term::before { content: ""; position: absolute; top: 0; left: 0; width: 30px; height: 2px; background: var(--color-accent); }
.garilip-definition { margin-inline-start: 0; font-size: var(--fs-body); line-height: var(--lh-loose); color: var(--color-text-muted); margin-block-end: var(--space-md); }
.garilip-definition p { margin-bottom: var(--space-sm); }
.garilip-support { max-width: var(--container-readable); margin: var(--space-lg) auto 0; }
.garilip-support-title { font-size: var(--fs-h4); margin-bottom: var(--space-sm); }
.garilip-support-list { list-style: none; }
.garilip-support-list li { padding-left: var(--space-lg); position: relative; margin-bottom: var(--space-sm); color: var(--color-text-muted); }
.garilip-support-list li::before { content: "▸"; position: absolute; left: var(--space-md); color: var(--color-accent); }
.garilip-disclaimer { max-width: var(--container-readable); margin: var(--space-lg) auto 0; font-size: var(--fs-small); color: var(--color-text-muted); font-style: italic; }

/* ---------- contact form (FORM-05 bordered editorial) ---------- */
.mobapi { padding-block: var(--space-lg); }
.mobapi-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.mobapi-intro { max-width: var(--container-readable); margin-inline: auto; color: var(--color-text-muted); line-height: var(--lh-loose); margin-bottom: var(--space-lg); text-align: center; }
.mobapi-form { max-width: var(--container-readable); margin-inline: auto; border: 2px solid var(--color-accent); border-radius: var(--radius-md); padding: var(--space-lg); }
.mobapi-field { margin-bottom: var(--space-lg); }
.mobapi-label { display: block; font-size: var(--fs-small); color: var(--color-text-muted); margin-bottom: var(--space-xs); }
.mobapi-input { width: 100%; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,0.12); color: var(--color-text); font-family: var(--font-body); font-size: var(--fs-h5); padding: var(--space-sm) 0; border-radius: 0; }
.mobapi-input:focus { outline: none; border-bottom-color: var(--color-accent); }
.mobapi-textarea { resize: vertical; }
.mobapi-submit { margin-top: var(--space-sm); }
.mobapi-success { max-width: var(--container-readable); margin: var(--space-md) auto 0; padding: var(--space-md); background: rgba(253,209,4,0.1); border-radius: var(--radius-md); color: var(--color-text); text-align: center; }
.mobapi-contacts { max-width: var(--container-readable); margin: var(--space-md) auto 0; text-align: center; color: var(--color-text-muted); font-size: var(--fs-small); }

/* ---------- author card (AUTH-05 compact inline) ---------- */
.tirema { padding-block: var(--space-lg); }
.tirema-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); }
.tirema-card { background: var(--color-bg-elevated); border-radius: var(--radius-md); padding: var(--space-lg); display: flex; gap: var(--space-md); max-width: 760px; margin-inline: auto; }
.tirema-portrait { width: 96px; height: 96px; flex-shrink: 0; border-radius: var(--radius-circle); object-fit: cover; }
.tirema-body { display: flex; flex-direction: column; gap: var(--space-xs); }
.tirema-role { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-accent); margin: 0; }
.tirema-name { font-size: var(--fs-h4); font-weight: var(--fw-bold); font-family: var(--font-display); margin: 0; }
.tirema-bio { font-size: var(--fs-small); color: var(--color-text-muted); line-height: var(--lh-normal); margin: 0; }
.tirema-expertise { list-style: none; margin: var(--space-xs) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.tirema-expertise li { font-size: var(--fs-micro); background: rgba(253,209,4,0.1); color: var(--color-text); padding: var(--space-2xs) var(--space-sm); border-radius: var(--radius-pill); }

/* ---------- byline (BYLINE-03 thin strip) ---------- */
.daxesu { border-top: 1px solid rgba(255,255,255,0.08); border-bottom: 1px solid rgba(255,255,255,0.08); padding-block: var(--space-md); margin-top: var(--space-lg); }
.daxesu-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); display: flex; align-items: center; gap: var(--space-sm); }
.daxesu-portrait { width: 40px; height: 40px; border-radius: var(--radius-circle); object-fit: cover; flex-shrink: 0; }
.daxesu-meta { font-size: var(--fs-small); color: var(--color-text-muted); }
.daxesu-name { color: var(--color-accent); }
.daxesu-name:hover { text-decoration: underline; }
.daxesu-role { color: var(--color-text-muted); }

/* ---------- footer (FOOT-01 three-column classic) ---------- */
.futagok { background: var(--color-primary); color: var(--color-text); padding-block: var(--space-xl); margin-top: var(--space-xl); }
.futagok-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.futagok-col { min-width: 0; }
.futagok-col--brand { display: flex; flex-direction: column; }
.futagok-col--nav, .futagok-col--legal { display: block; }
.futagok-logo { display: inline-flex; align-items: center; }
.futagok-logo-img { height: 72px; width: auto; }
.futagok-tagline { color: var(--color-text); font-size: var(--fs-small); line-height: var(--lh-normal); margin-top: var(--space-md); max-width: 340px; }
.futagok-heading { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h6); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-text); margin-bottom: var(--space-md); }
.futagok-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-sm); }
.futagok-link { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: var(--fs-small); color: var(--color-text); }
.futagok-link:hover { color: var(--color-bg); }
.futagok-bottom { border-top: 1px solid rgba(255,255,255,0.25); margin-top: var(--space-lg); padding-block: var(--space-md); text-align: center; }
.futagok-bottom small { font-size: var(--fs-micro); color: var(--color-text); }

/* ---------- error (ERR-08 search-suggestion) ---------- */
.zogupek { padding-block: var(--space-2xl); }
.zogupek-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; padding-inline: var(--container-padding-desktop); text-align: center; }
.zogupek-title { font-size: var(--fs-h1); font-weight: var(--fw-bold); margin-bottom: var(--space-md); }
.zogupek-text { color: var(--color-text-muted); max-width: 600px; margin: 0 auto var(--space-lg); line-height: var(--lh-loose); }
.zogupek-action { margin-bottom: var(--space-lg); }
.zogupek-suggestions { background: var(--color-bg-elevated); border-radius: var(--radius-md); padding: var(--space-lg); max-width: 700px; margin-inline: auto; }
.zogupek-suggestions-heading { font-size: var(--fs-h4); margin-bottom: var(--space-md); }
.zogupek-suggestions-list { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-md); justify-content: center; }
.zogupek-suggestions-list a { font-size: var(--fs-body); color: var(--color-accent); }
.zogupek-suggestions-list a:hover { text-decoration: underline; color: var(--color-accent-pressed); }

/* ---------- cookie (COOK-04 slide-up + backdrop) ---------- */
.zyfisab-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 89; display: none; }
.zyfisab-backdrop.is-visible { display: block; }
.zyfisab { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--color-bg); border-top: 4px solid var(--color-accent); padding: var(--space-lg); transform: translateY(110%); transition: transform var(--dur-slow) var(--ease-spring); }
.zyfisab.is-visible { transform: translateY(0); }
.zyfisab-inner { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-md); align-items: center; text-align: center; }
.zyfisab-title { font-size: var(--fs-h4); margin: 0; }
.zyfisab-message { max-width: 720px; line-height: var(--lh-loose); color: var(--color-text-muted); margin: 0; }
.zyfisab-actions { display: flex; gap: var(--space-md); }
.zyfisab-button { height: 48px; padding-inline: var(--space-lg); border-radius: var(--radius-pill); font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); cursor: pointer; border: 2px solid var(--color-accent); }
.zyfisab-button--accept { background: var(--color-accent); color: var(--color-bg); }
.zyfisab-button--accept:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.zyfisab-button--decline { background: transparent; color: var(--color-text); }
.zyfisab-button--decline:hover { background: rgba(255,255,255,0.08); color: var(--color-text); }

/* ---------- responsive ---------- */
@media (max-width: 1179px) {
  .supo-list { grid-template-columns: repeat(3, 1fr); }
  .gura-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 819px) {
  .vamur { padding-block: var(--space-lg); }
  .vamur h1 { font-size: var(--fs-h1); }
  .vamur-text, .vamur-figure { padding-inline: var(--container-padding-mobile); }
  .vamur-figure { max-width: 100%; }
  .vamur-img { aspect-ratio: 16 / 9; }
  .supo-list { grid-template-columns: repeat(2, 1fr); }
  .kybas-list { grid-template-columns: 1fr; }
  .tirema-card { flex-direction: column; align-items: flex-start; }
  .futagok-inner { grid-template-columns: 1fr 1fr; }
  .futagok-col--brand { grid-column: 1 / -1; }
  .vamur, .fugyky, .supo, .gura, .kybas, .kysyba, .dobuvin, .garilip, .mobapi, .tirema, .lixale, .zogupek { padding-inline: 0; }
  .fugyky-inner, .supo-inner, .gura-inner, .kybas-inner, .kysyba-inner, .dobuvin-inner, .garilip-inner, .mobapi-inner, .tirema-inner, .lixale-inner, .zogupek-inner, .futagok-inner, .daxesu-inner { padding-inline: var(--container-padding-mobile); }
}
@media (max-width: 519px) {
  :root { --fs-h1: 40px; --fs-h2: 30px; --fs-h3: 22px; --fs-body: 17px; }
  .supo-list, .gura-list { grid-template-columns: 1fr; }
  .futagok-inner { grid-template-columns: 1fr; }
  .zogupek-title { font-size: var(--fs-h1); }
}
@media (max-width: 720px) {
  .zyfisab, .zyfisab-inner { padding: 12px 14px !important; gap: 8px !important; font-size: 13px !important; line-height: 1.35 !important; }
  .zyfisab-title { display: none !important; }
  .zyfisab-actions { flex-direction: column; width: 100%; }
  .zyfisab-button { width: 100%; padding: 8px 14px !important; font-size: 12px !important; min-height: 44px !important; }
}

@media (max-width: 1217px) {
  .xele-nav,
  .xele-nav-list,
  .xele-link,
  .xele-auth-btn { display: none !important; }
  .xele-toggle { display: flex !important; }
}
