/* 7k728f.casino — 7K Casino / 7К Казино. Тема «Оливковая роща и пресс»:
   тёмная кора #161a13, оливковое масло #c2a63f, известковый #ece9dd. Префикс классов — oliv- */

:root {
  --oliv-bg: #161a13;
  --oliv-bg2: #1e231a;
  --oliv-bg3: #272d21;
  --oliv-line: #37402c;
  --oliv-line2: #4b563b;
  --oliv-txt: #ece9dd;
  --oliv-txt2: #b9bda9;
  --oliv-txt3: #8d9482;
  --oliv-oil: #c2a63f;
  --oliv-oil-l: #ddc264;
  --oliv-oil-d: #937c25;
  --oliv-leaf: #7e8f4e;
  --oliv-leaf-l: #9dae66;
  --oliv-ripe: #6b5f9c;
  --oliv-r: 10px;
  --oliv-r-s: 6px;
}

* { box-sizing: border-box }
html { scroll-behavior: smooth }
body {
  margin: 0;
  font: 17px/1.6 "Cabin Condensed", ui-sans-serif, -apple-system, "Segoe UI", system-ui, Arial, sans-serif;
  color: var(--oliv-txt);
  background:
    radial-gradient(980px 560px at 88% -14%, rgba(194, 166, 63, .13) 0%, transparent 62%),
    radial-gradient(820px 560px at -8% 56%, rgba(126, 143, 78, .12) 0%, transparent 60%),
    var(--oliv-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; height: auto }
a { color: var(--oliv-oil); text-decoration: none }
a:hover { text-decoration: underline }
.b { font-weight: 700 }

h1, h2, h3, h4,
.oliv-logo__t, .oliv-cta, .oliv-over, .oliv-strip__n, .oliv-kpi__n,
.oliv-wbox__step, .oliv-wbox__pct, .oliv-sbox__n, .oliv-sbox__h,
.oliv-card__cv, .oliv-ladder__n, .oliv-tour__kpi span,
.oliv-lv__cv, .oliv-lv__t, .oliv-ptimes .b, .oliv-foot__col h4 {
  font-family: "Marcellus", "Cabin Condensed", Georgia, system-ui, serif;
}

.oliv-skip {
  position: absolute; top: -46px; left: 8px;
  padding: 10px 14px; background: var(--oliv-oil); color: #1c1a0c;
  border-radius: var(--oliv-r-s); z-index: 100; font-weight: 700;
}
.oliv-skip:focus { top: 8px }

/* ===== ШАПКА ===== */
.oliv-bar {
  display: flex; align-items: center; gap: 16px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--oliv-line);
  background: rgba(22, 26, 19, .88);
  backdrop-filter: blur(10px);
  position: sticky; top: 0; z-index: 50;
}
.oliv-logo { display: flex; align-items: center; gap: 11px; color: var(--oliv-txt); min-height: 44px }
.oliv-logo:hover { text-decoration: none }
.oliv-logo__svg { width: 34px; height: 34px; flex: none; filter: drop-shadow(0 0 10px rgba(194, 166, 63, .5)) }
.oliv-logo__t { font-size: 19px; line-height: 1; letter-spacing: .2px }
.oliv-logo__sub {
  display: block; font-size: 10px; color: var(--oliv-txt3);
  letter-spacing: 2.2px; font-weight: 600; margin-top: 5px;
  text-transform: uppercase; font-family: "Cabin Condensed", sans-serif;
}
.oliv-nav { display: flex; gap: 20px; margin-left: auto; flex-wrap: wrap }
.oliv-nav a {
  color: var(--oliv-txt2); font-size: 15px; padding: 11px 0;
  border-bottom: 1px solid transparent; transition: color .15s, border-color .15s;
}
.oliv-nav a:hover { color: var(--oliv-oil); border-bottom-color: var(--oliv-oil); text-decoration: none }

/* ===== КНОПКИ ===== */
.oliv-cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 11px 22px; border-radius: var(--oliv-r-s);
  font-weight: 700; font-size: 15px; letter-spacing: .3px;
  border: 1px solid transparent; white-space: nowrap;
  transition: transform .15s, box-shadow .2s, background .2s, border-color .2s;
  cursor: pointer;
}
.oliv-cta:hover { text-decoration: none; transform: translateY(-1px) }
.oliv-cta--sm { background: var(--oliv-bg3); color: var(--oliv-txt); border-color: var(--oliv-line) }
.oliv-cta--sm:hover { border-color: var(--oliv-oil); color: var(--oliv-oil) }
.oliv-cta--lg { padding: 15px 30px; font-size: 16px; min-height: 50px }
.oliv-cta--hot {
  background: linear-gradient(118deg, var(--oliv-oil) 0%, var(--oliv-leaf) 118%);
  color: #191707; border: 0;
  box-shadow: 0 12px 30px -12px rgba(194, 166, 63, .75);
}
.oliv-cta--hot:hover { box-shadow: 0 16px 38px -10px rgba(194, 166, 63, .9) }
.oliv-cta--ghost { background: transparent; color: var(--oliv-txt); border-color: var(--oliv-line2) }
.oliv-cta--ghost:hover { border-color: var(--oliv-oil); color: var(--oliv-oil) }

/* ===== СВОДНАЯ ПОЛОСА ===== */
.oliv-strip {
  display: grid; grid-template-columns: repeat(5, 1fr);
  padding: 10px 24px;
  border-bottom: 1px solid var(--oliv-line);
  background: linear-gradient(90deg, rgba(194, 166, 63, .06), rgba(126, 143, 78, .05));
}
.oliv-strip__cell {
  display: flex; flex-direction: column; gap: 2px;
  padding: 7px 16px;
  border-right: 1px solid var(--oliv-line);
}
.oliv-strip__cell:last-child { border-right: 0 }
.oliv-strip__n { font-size: 17px; color: var(--oliv-oil); letter-spacing: .2px }
.oliv-strip__l { font-size: 11px; color: var(--oliv-txt3); letter-spacing: .7px; text-transform: uppercase }

/* ===== ЭКРАН ЗНАКОМСТВА ===== */
.oliv-hero {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px;
  padding: 52px 24px 34px;
  max-width: 1220px; margin: 0 auto;
  align-items: center;
}
.oliv-chip {
  display: inline-block;
  font-size: 11px; letter-spacing: 1.6px; color: var(--oliv-oil);
  background: rgba(194, 166, 63, .08);
  border: 1px solid rgba(194, 166, 63, .28);
  padding: 7px 13px; border-radius: 3px;
  margin: 0 0 18px; text-transform: uppercase; font-weight: 700;
}
h1 {
  font-size: clamp(29px, 4.2vw, 48px); line-height: 1.1;
  margin: 0 0 18px; letter-spacing: -.4px; font-weight: 400;
}
.oliv-acc { color: var(--oliv-oil) }
.oliv-hero__sub { color: var(--oliv-txt2); font-size: 17px; margin: 0 0 14px; line-height: 1.65 }
.oliv-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; margin: 26px 0 28px }
.oliv-hero__pic { margin: 0 }
.oliv-hero__svg {
  display: block; width: 100%; height: auto;
  border-radius: var(--oliv-r); border: 1px solid var(--oliv-line);
  background:
    radial-gradient(420px 320px at 32% 26%, rgba(194, 166, 63, .2), transparent 62%),
    radial-gradient(360px 280px at 76% 78%, rgba(126, 143, 78, .2), transparent 66%),
    linear-gradient(140deg, #1a1f16 0%, #272d21 100%);
  aspect-ratio: 16 / 11;
  box-shadow: 0 24px 62px -24px rgba(194, 166, 63, .45);
}
.oliv-hero__pic figcaption {
  margin-top: 12px; font-size: 13px; color: var(--oliv-txt3);
  font-style: italic; text-align: right;
}
.oliv-kpi {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
  padding: 20px 0 0; border-top: 1px solid var(--oliv-line);
}
.oliv-kpi__i { display: flex; flex-direction: column; gap: 3px }
.oliv-kpi__n { font-size: 25px; color: var(--oliv-oil); letter-spacing: -.2px; line-height: 1.1 }
.oliv-kpi__l { font-size: 11px; color: var(--oliv-txt3); text-transform: uppercase; letter-spacing: 1.2px }

/* ===== ОБЩЕЕ ДЛЯ СЕКЦИЙ ===== */
section { max-width: 1220px; margin: 0 auto; padding: 56px 24px }
.oliv-over {
  display: inline-block;
  font-size: 11px; letter-spacing: 2.6px; text-transform: uppercase;
  color: var(--oliv-leaf-l); font-weight: 700; margin: 0 0 10px;
}
h2 {
  font-size: clamp(23px, 3vw, 34px); line-height: 1.2;
  margin: 0 0 16px; letter-spacing: -.2px; font-weight: 400;
}
h3 {
  font-size: clamp(17px, 2vw, 21px); line-height: 1.32;
  margin: 26px 0 10px; color: var(--oliv-oil); font-weight: 400;
}
p { margin: 0 0 14px }
.oliv-lead { color: var(--oliv-txt2); font-size: 17px; margin-bottom: 24px; max-width: 820px }

/* ===== СТАРТОВЫЙ ПАКЕТ ===== */
.oliv-welcome {
  background:
    radial-gradient(700px 340px at 84% 26%, rgba(126, 143, 78, .1) 0%, transparent 70%),
    rgba(30, 35, 26, .6);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  margin: 30px 24px; max-width: none;
}
.oliv-wgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 22px 0 26px }
.oliv-wbox {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  padding: 24px 22px;
  position: relative; overflow: hidden;
  transition: border-color .2s, transform .15s;
}
.oliv-wbox:hover { border-color: var(--oliv-oil); transform: translateY(-2px) }
.oliv-wbox::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(140deg, rgba(194, 166, 63, .08), transparent 58%);
  pointer-events: none;
}
.oliv-wbox__step { font-size: 11px; color: var(--oliv-leaf-l); font-weight: 700; letter-spacing: 2px; margin-bottom: 8px; text-transform: uppercase }
.oliv-wbox__pct { font-size: 32px; line-height: 1; color: var(--oliv-oil); margin-bottom: 10px }
.oliv-wbox__t { font-weight: 700; font-size: 17px; margin-bottom: 7px }
.oliv-wbox__s { font-size: 15px; color: var(--oliv-txt2); line-height: 1.5 }

/* ===== ТРИ ШАГА ===== */
.oliv-sgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 22px }
.oliv-sbox {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-left: 3px solid var(--oliv-leaf);
  border-radius: var(--oliv-r);
  padding: 24px; position: relative;
}
.oliv-sbox__n {
  position: absolute; top: 12px; right: 22px;
  font-size: 58px; line-height: 1; color: var(--oliv-bg3);
}
.oliv-sbox__h { font-size: 20px; margin-bottom: 12px; color: var(--oliv-oil) }
.oliv-sbox p { color: var(--oliv-txt2); font-size: 15px; margin: 0 }

/* ===== КАТАЛОГ ===== */
.oliv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 14px; margin: 24px 0 }
.oliv-card {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .15s, border-color .2s, box-shadow .25s;
}
.oliv-card:hover {
  transform: translateY(-3px); border-color: var(--oliv-oil);
  box-shadow: 0 18px 36px -16px rgba(194, 166, 63, .45);
}
.oliv-card__cv {
  width: 100%; aspect-ratio: 4 / 3;
  display: flex; align-items: center; justify-content: center;
  font-size: 21px; color: rgba(236, 233, 221, .95);
  text-align: center; padding: 14px; line-height: 1.18;
  position: relative; overflow: hidden;
}
.oliv-card__cv::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(162deg, transparent 42%, rgba(0, 0, 0, .34) 100%);
  pointer-events: none;
}
.oliv-cv1 { background: linear-gradient(135deg, #2a2a10 0%, #c2a63f 100%); color: #1c1a0c }
.oliv-cv2 { background: linear-gradient(135deg, #221f14 0%, #937c25 100%) }
.oliv-cv3 { background: linear-gradient(135deg, #1d2415 0%, #7e8f4e 100%); color: #14180e }
.oliv-cv4 { background: linear-gradient(135deg, #2b2714 0%, #ddc264 100%); color: #1c1a0c }
.oliv-cv5 { background: linear-gradient(135deg, #1b2018 0%, #9dae66 100%); color: #14180e }
.oliv-cv6 { background: linear-gradient(135deg, #24201a 0%, #b09540 100%); color: #1c1a0c }
.oliv-cv7 { background: linear-gradient(135deg, #1f2419 0%, #6f8347 100%) }
.oliv-cv8 { background: linear-gradient(135deg, #262019 0%, #6b5f9c 100%) }
.oliv-cv9 { background: linear-gradient(135deg, #2a2712 0%, #cbb04c 100%); color: #1c1a0c }
.oliv-cv10 { background: linear-gradient(135deg, #1c2218 0%, #8a9a58 100%); color: #14180e }
.oliv-cv11 { background: linear-gradient(135deg, #231f16 0%, #a68b31 100%); color: #1c1a0c }
.oliv-cv12 { background: linear-gradient(135deg, #202318 0%, #c2a63f 100%); color: #1c1a0c }

.oliv-card h3 { font-size: 16px; margin: 12px 14px 4px; color: var(--oliv-txt); font-weight: 700; font-family: "Cabin Condensed", sans-serif }
.oliv-card p { font-size: 13px; color: var(--oliv-txt3); margin: 0 14px 12px; line-height: 1.4 }
.oliv-card__b {
  display: block; min-height: 44px; padding: 12px;
  margin: auto 12px 12px;
  background: var(--oliv-bg3); color: var(--oliv-txt);
  text-align: center; border-radius: var(--oliv-r-s); font-size: 14px; font-weight: 700;
  border: 1px solid var(--oliv-line); transition: all .15s;
}
.oliv-card__b:hover { background: var(--oliv-oil); border-color: var(--oliv-oil); color: #1c1a0c; text-decoration: none }

.oliv-tags { margin: 22px 0 0 }
.oliv-tags__h { font-size: 12px; color: var(--oliv-leaf-l); margin-bottom: 10px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 700 }
.oliv-tags__l { display: flex; flex-wrap: wrap; gap: 8px }
.oliv-tags__l span {
  padding: 7px 13px;
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: 3px; font-size: 13px; color: var(--oliv-txt2);
}

/* ===== КЛУБ ===== */
.oliv-ladder { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 16px; align-items: end }
.oliv-ladder__s {
  background: var(--oliv-bg3);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r-s);
  padding: 12px 8px; text-align: center;
}
.oliv-ladder__s:nth-child(2) { transform: translateY(-6px) }
.oliv-ladder__s:nth-child(3) { transform: translateY(-12px) }
.oliv-ladder__s:nth-child(4) { transform: translateY(-18px); border-color: var(--oliv-line2) }
.oliv-ladder__s:nth-child(5) { transform: translateY(-24px); border-color: var(--oliv-leaf); background: var(--oliv-bg2) }
.oliv-ladder__s:nth-child(6) {
  transform: translateY(-30px); border-color: var(--oliv-oil);
  background: linear-gradient(140deg, var(--oliv-bg2), rgba(194, 166, 63, .14));
}
.oliv-ladder__n { font-size: 14px; color: var(--oliv-txt); display: block; line-height: 1; margin-bottom: 6px }
.oliv-ladder__c { font-size: 12px; color: var(--oliv-txt2) }
.oliv-ladder__s:nth-child(6) .oliv-ladder__n { color: var(--oliv-oil) }

.oliv-lgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 24px }
.oliv-lbox {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  padding: 22px 24px; transition: border-color .2s;
}
.oliv-lbox:hover { border-color: var(--oliv-leaf) }
.oliv-lbox__h { font-weight: 700; font-size: 18px; margin-bottom: 10px; color: var(--oliv-leaf-l) }
.oliv-lbox p { color: var(--oliv-txt2); font-size: 15px; margin: 0; line-height: 1.6 }

/* ===== ТУРНИР ===== */
.oliv-tour {
  background:
    radial-gradient(640px 340px at 50% 46%, rgba(194, 166, 63, .12) 0%, transparent 70%),
    var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  margin: 30px 24px; max-width: none; text-align: center;
}
.oliv-tour .oliv-lead { margin-left: auto; margin-right: auto }
.oliv-tour__btns { margin: 22px 0 28px }
.oliv-tour__kpi { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px }
.oliv-tour__kpi > div {
  background: var(--oliv-bg3);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  padding: 20px 16px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.oliv-tour__kpi span { font-size: 24px; color: var(--oliv-oil); margin-bottom: 4px }
.oliv-tour__kpi .b { font-size: 15px; color: var(--oliv-txt); font-family: "Cabin Condensed", sans-serif; margin: 0 }
.oliv-tour__kpi i { font-size: 13px; color: var(--oliv-txt3); font-style: normal; line-height: 1.4 }

/* ===== LIVE ===== */
.oliv-lvgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(275px, 1fr)); gap: 14px; margin-top: 22px }
.oliv-lv {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  overflow: hidden; position: relative;
  transition: transform .15s, border-color .2s, box-shadow .25s;
}
.oliv-lv:hover { transform: translateY(-3px); border-color: var(--oliv-leaf); box-shadow: 0 18px 36px -16px rgba(126, 143, 78, .45) }
.oliv-lv__cv {
  width: 100%; aspect-ratio: 16 / 9;
  display: flex; align-items: center; justify-content: center;
  font-size: 19px; color: rgba(236, 233, 221, .95);
  padding: 12px; text-align: center; line-height: 1.2;
}
.oliv-lvc1 { background: linear-gradient(135deg, #2a2a10 0%, #c2a63f 100%); color: #1c1a0c }
.oliv-lvc2 { background: linear-gradient(135deg, #221f14 0%, #937c25 100%) }
.oliv-lvc3 { background: linear-gradient(135deg, #1d2415 0%, #7e8f4e 100%); color: #14180e }
.oliv-lvc4 { background: linear-gradient(135deg, #262019 0%, #6b5f9c 100%) }
.oliv-lvc5 { background: linear-gradient(135deg, #2b2714 0%, #ddc264 100%); color: #1c1a0c }
.oliv-lvc6 { background: linear-gradient(135deg, #1b2018 0%, #9dae66 100%); color: #14180e }
.oliv-lv__b { padding: 15px 17px 17px; position: relative }
.oliv-lv__t { font-size: 17px; margin-bottom: 4px }
.oliv-lv__s { font-size: 13px; color: var(--oliv-txt3); margin-bottom: 10px }
.oliv-lv__m { font-size: 14px; color: var(--oliv-leaf-l); font-weight: 600; margin-bottom: 4px }
.oliv-lv__p { font-size: 13px; color: var(--oliv-txt3) }
.oliv-lv__badge {
  position: absolute; top: 14px; right: 17px;
  background: var(--oliv-oil); color: #1c1a0c;
  padding: 3px 10px; border-radius: 3px;
  font-size: 10px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase;
}

/* ===== РАЗБОР ПЛОЩАДКИ ===== */
.oliv-brand h3 { border-left: 3px solid var(--oliv-oil); padding-left: 14px; margin-top: 32px }
.oliv-brand p { color: var(--oliv-txt); line-height: 1.72 }
.oliv-badges {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--oliv-line);
}
.oliv-bdg {
  padding: 8px 14px;
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-oil);
  border-radius: 3px; font-size: 13px; color: var(--oliv-txt); letter-spacing: .3px;
}

/* ===== ОТЗЫВЫ ===== */
.oliv-rgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 22px }
.oliv-rbox {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  padding: 22px 24px;
  display: flex; flex-direction: column; gap: 14px;
}
.oliv-rbox__st { color: var(--oliv-oil); font-size: 16px; letter-spacing: 4px }
.oliv-rbox__st--4 .oliv-star-off { color: var(--oliv-line2) }
.oliv-rbox__q { font-size: 15px; line-height: 1.6; color: var(--oliv-txt); margin: 0 }
.oliv-rbox__m {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; color: var(--oliv-txt3);
  border-top: 1px solid var(--oliv-line); padding-top: 14px;
}
.oliv-rbox__a {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; flex: none;
  background: linear-gradient(140deg, var(--oliv-oil), var(--oliv-leaf));
  border-radius: 50%; color: #1c1a0c; font-weight: 700; font-size: 15px;
}

/* ===== КАССА ===== */
.oliv-pgrid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; margin: 22px 0 }
.oliv-pbox {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r-s);
  padding: 18px 12px; text-align: center;
  display: flex; flex-direction: column; gap: 4px;
}
.oliv-pbox .b { font-size: 16px; color: var(--oliv-txt) }
.oliv-pbox i { font-size: 11px; color: var(--oliv-txt3); font-style: normal; text-transform: uppercase; letter-spacing: 1px }
.oliv-ptimes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 8px }
.oliv-ptimes > div {
  background: var(--oliv-bg3);
  border: 1px solid var(--oliv-line);
  border-left: 3px solid var(--oliv-oil);
  border-radius: var(--oliv-r-s);
  padding: 15px 18px;
  display: flex; flex-direction: column; gap: 4px;
}
.oliv-ptimes .b { font-size: 18px; color: var(--oliv-oil); font-weight: 400 }
.oliv-ptimes span { font-size: 13px; color: var(--oliv-txt2) }

/* ===== ФИНАЛЬНЫЙ БЛОК ===== */
.oliv-final {
  text-align: center; padding: 54px 24px;
  background:
    radial-gradient(600px 300px at 50% 50%, rgba(194, 166, 63, .16) 0%, transparent 70%),
    var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r);
  margin: 30px 24px; max-width: none;
}
.oliv-final h2 { margin-bottom: 10px }
.oliv-final p { color: var(--oliv-txt2); margin-bottom: 24px }

/* ===== ВОПРОСЫ ===== */
.oliv-faq h2 { margin-bottom: 22px }
details {
  background: var(--oliv-bg2);
  border: 1px solid var(--oliv-line);
  border-radius: var(--oliv-r-s);
  padding: 16px 20px; margin: 0 0 10px;
  transition: border-color .2s;
}
details[open] { border-color: var(--oliv-oil) }
summary {
  cursor: pointer; font-weight: 700; list-style: none;
  position: relative; padding-right: 34px;
  display: flex; align-items: center; min-height: 28px; font-size: 17px;
}
summary::-webkit-details-marker { display: none }
summary::after {
  content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 24px; height: 24px;
  border: 1px solid var(--oliv-line2); border-radius: 3px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: var(--oliv-oil); font-size: 17px;
  transition: transform .25s;
}
details[open] summary::after { transform: translateY(-50%) rotate(45deg); border-color: var(--oliv-oil) }
details p { margin: 12px 0 0; color: var(--oliv-txt2); font-size: 16px; line-height: 1.66 }

/* ===== ЗАМЕТКА АВТОРА ===== */
.oliv-author {
  background: rgba(30, 35, 26, .55);
  border: 1px solid var(--oliv-line);
  border-left: 3px solid var(--oliv-leaf);
  border-radius: var(--oliv-r);
  margin: 30px 24px; max-width: none;
}
.oliv-author p { color: var(--oliv-txt2); font-size: 15px; line-height: 1.72 }
.oliv-author h2 { font-size: clamp(20px, 2.5vw, 26px) }

/* ===== ПОДВАЛ ===== */
.oliv-foot { margin-top: 24px; border-top: 1px solid var(--oliv-line); background: rgba(22, 26, 19, .65) }
.oliv-foot__top {
  max-width: 1220px; margin: 0 auto;
  padding: 42px 24px 26px;
  display: grid; grid-template-columns: 1.4fr 2fr; gap: 36px;
}
.oliv-foot__brand { font-size: 15px; color: var(--oliv-txt2); line-height: 1.65 }
.oliv-foot__logo { display: flex; align-items: center; gap: 10px; margin-bottom: 16px }
.oliv-foot__logo span { display: flex; flex-direction: column; line-height: 1.15 }
.oliv-foot__logo .b { color: var(--oliv-txt); font-size: 17px; margin-bottom: 2px; font-family: "Marcellus", serif; font-weight: 400 }
.oliv-foot__legal { font-size: 13px; color: var(--oliv-txt3); margin: 0; line-height: 1.65 }
.oliv-foot__legal .b { color: var(--oliv-oil) }
.oliv-foot__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px }
.oliv-foot__col h4 {
  font-size: 12px; color: var(--oliv-leaf-l); font-weight: 400;
  text-transform: uppercase; letter-spacing: 1.8px; margin: 0 0 12px;
}
.oliv-foot__col ul { list-style: none; padding: 0; margin: 0 }
.oliv-foot__col li { font-size: 14px; color: var(--oliv-txt2); padding: 4px 0; transition: color .15s }
.oliv-foot__col li:hover { color: var(--oliv-txt) }
.oliv-foot__bot {
  border-top: 1px solid var(--oliv-line);
  padding: 16px 24px; max-width: 1220px; margin: 0 auto;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px;
  font-size: 13px; color: var(--oliv-txt3);
}

/* ===== АДАПТАЦИЯ ===== */
@media (max-width: 1024px) {
  .oliv-pgrid { grid-template-columns: repeat(4, 1fr) }
  .oliv-tour__kpi { grid-template-columns: repeat(2, 1fr) }
  .oliv-rgrid { grid-template-columns: 1fr }
  .oliv-foot__top { grid-template-columns: 1fr }
  .oliv-strip { grid-template-columns: repeat(3, 1fr) }
  .oliv-strip__cell:nth-child(4), .oliv-strip__cell:nth-child(5) { border-top: 1px solid var(--oliv-line); padding-top: 9px }
  .oliv-ladder { grid-template-columns: repeat(3, 1fr); align-items: stretch }
  .oliv-ladder__s { transform: none !important }
}

@media (max-width: 880px) {
  .oliv-hero { grid-template-columns: 1fr; gap: 26px; padding-top: 32px }
  .oliv-hero__pic { order: -1 }
  .oliv-nav { display: none }
  .oliv-bar { padding: 11px 14px }
  section { padding: 38px 16px }
  .oliv-welcome, .oliv-tour, .oliv-final, .oliv-author { padding: 38px 18px; margin: 22px 14px }
  .oliv-wgrid { grid-template-columns: 1fr }
  .oliv-sgrid { grid-template-columns: 1fr }
  .oliv-lgrid { grid-template-columns: 1fr }
  .oliv-foot__top { padding: 30px 16px 22px; gap: 22px }
  .oliv-foot__cols { grid-template-columns: repeat(2, 1fr); gap: 18px }
  .oliv-strip { padding: 8px 14px; grid-template-columns: repeat(2, 1fr) }
  .oliv-strip__cell { padding: 5px 10px }
  .oliv-ptimes { grid-template-columns: 1fr }
  .oliv-kpi { grid-template-columns: repeat(2, 1fr) }
  .oliv-pgrid { grid-template-columns: repeat(3, 1fr) }
}

@media (max-width: 620px) {
  .oliv-grid { grid-template-columns: 1fr }
  .oliv-lvgrid { grid-template-columns: 1fr }
  .oliv-pgrid { grid-template-columns: repeat(2, 1fr) }
  .oliv-tour__kpi { grid-template-columns: 1fr }
  .oliv-foot__cols { grid-template-columns: 1fr }
  .oliv-ladder { grid-template-columns: repeat(2, 1fr) }
  .oliv-hero__btns { flex-direction: column; align-items: stretch }
  .oliv-cta--lg { width: 100% }
  .oliv-strip { grid-template-columns: 1fr }
  .oliv-strip__cell { border-right: 0; border-bottom: 1px solid var(--oliv-line) }
  .oliv-strip__cell:last-child { border-bottom: 0 }
  .oliv-kpi { grid-template-columns: 1fr }
  .oliv-foot__bot { flex-direction: column }
}
