/* ООО «Шашка» — Taxi-checker / Чекер paradigm. Black + taxi-yellow + white. */

:root{
  --black:#111111;
  --ink:#111111;
  --yellow:#FFCC00;
  --yellow-hi:#FFD400;
  --white:#ffffff;
  --paper:#f7f7f7;
  --muted:#555555;
  --accent:#d61f26;
  --line:#e2e2e2;
  --display:'Anton', 'Oswald', system-ui, sans-serif;
  --cond:'Oswald', system-ui, sans-serif;
  --body:'Inter', system-ui, sans-serif;
  --wrap:1200px;
  --check:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
.is-hidden{display:none}
.skip{position:absolute;left:-999px;top:0;background:var(--yellow);color:#111;padding:10px 16px;z-index:100;font-weight:700}
.skip:focus{left:8px;top:8px}

.wrap{width:min(var(--wrap),92%);margin-inline:auto}

/* ---- Checker motifs ---- */
.checker-strip{
  height:var(--check);
  background-image:
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:calc(var(--check)*2) calc(var(--check)*2);
  background-position:0 0, var(--check) var(--check);
  background-color:var(--yellow);
  animation:slide 6s linear infinite;
}
.checker-strip--bottom{animation-direction:reverse}
.checker-band{
  height:calc(var(--check)*1.4);
  background-image:
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:calc(var(--check)*2.8) calc(var(--check)*2.8);
  background-position:0 0, calc(var(--check)*1.4) calc(var(--check)*1.4);
  background-color:var(--yellow);
  animation:slide 9s linear infinite;
}
@keyframes slide{from{background-position:0 0, var(--check) var(--check)}to{background-position:calc(var(--check)*2) 0, calc(var(--check)*3) var(--check)}}

/* ---- Buttons ---- */
.btn{
  font-family:var(--cond);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.95rem;
  padding:14px 26px;
  border:3px solid var(--black);
  border-radius:0;
  cursor:pointer;
  transition:.18s ease;
  display:inline-block;
}
.btn--yellow{background:var(--yellow);color:#111}
.btn--yellow:hover{background:#111;color:var(--yellow)}
.btn--black{background:#111;color:var(--yellow)}
.btn--black:hover{background:var(--yellow);color:#111}

/* ---- Topbar ---- */
.topbar{position:sticky;top:0;z-index:50;background:#111;border-bottom:4px solid var(--yellow)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand__mark{
  width:26px;height:26px;flex:none;
  background-image:linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:13px 13px;background-position:0 0,6.5px 6.5px;background-color:var(--yellow);
  border:2px solid var(--yellow);
}
.brand__name{font-family:var(--display);font-size:1.5rem;letter-spacing:.12em;color:var(--yellow)}
.nav{display:flex;align-items:center}
.nav__toggle{display:none;font-family:var(--cond);font-weight:700;text-transform:uppercase;background:var(--yellow);color:#111;border:none;padding:8px 16px;cursor:pointer}
.nav__menu{list-style:none;display:flex;gap:6px;margin:0;padding:0}
.nav__menu a{
  display:block;text-decoration:none;color:#fff;font-family:var(--cond);font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;padding:8px 12px;transition:.15s;
}
.nav__menu a:hover{color:var(--yellow)}
.nav__cta{background:var(--yellow);color:#111 !important}
.nav__cta:hover{background:#fff;color:#111 !important}

/* ---- Hero ---- */
.hero{background:var(--yellow);position:relative}
.hero__in{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:56px 0 60px}
.hero__kicker{font-family:var(--cond);text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:.9rem;margin:0 0 12px;color:#111}
.hero__title{
  font-family:var(--display);
  font-size:clamp(3.4rem,9vw,7rem);
  line-height:.9;
  margin:0 0 20px;
  text-transform:uppercase;
  color:#111;
  letter-spacing:.01em;
}
.hero__lead{max-width:46ch;font-size:1.08rem;margin:0 0 28px;color:#1a1a1a}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__card{background:#111;color:#fff;padding:30px;border:4px solid #111;box-shadow:14px 14px 0 rgba(0,0,0,.15)}
.hero__card-tag{display:inline-block;background:var(--yellow);color:#111;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;padding:4px 12px;margin-bottom:16px}
.hero__card-title{font-family:var(--display);text-transform:uppercase;font-size:1.9rem;margin:0 0 12px;color:var(--yellow)}
.hero__card-text{color:#d8d8d8;font-size:.98rem;margin:0 0 22px}
.hero__card-stats{list-style:none;display:flex;gap:28px;margin:0;padding:18px 0 0;border-top:2px solid #333}
.hero__card-stats b{display:block;font-family:var(--display);font-size:2.4rem;color:var(--yellow);line-height:1}
.hero__card-stats span{font-size:.82rem;color:#bbb}

/* ---- Stats band ---- */
.stats{background:#111;padding:44px 0}
.stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.stat{border-left:4px solid var(--yellow);padding-left:20px}
.stat__num{font-family:var(--display);font-size:3.2rem;color:var(--yellow);line-height:1;display:block}
.stat__title{display:block;font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:#fff;margin:6px 0 4px}
.stat__text{color:#aaa;font-size:.92rem}

/* ---- Blocks ---- */
.block{padding:64px 0}
.block--alt{background:#111;color:#fff}
.block__head{max-width:64ch;margin-bottom:36px}
.tag{display:inline-block;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;padding:5px 14px;margin-bottom:14px}
.tag--dark{background:#111;color:var(--yellow)}
.tag--yellow{background:var(--yellow);color:#111}
.block__title{font-family:var(--display);text-transform:uppercase;font-size:clamp(2rem,5vw,3.2rem);line-height:.95;margin:0 0 14px}
.block--alt .block__title{color:var(--yellow)}
.block__lead{font-size:1.05rem;margin:0;color:var(--muted);max-width:60ch}
.block--alt .block__lead{color:#bbb}
.block__cta{margin-top:34px}

/* rental cards */
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pcard{position:relative;background:#fff;border:3px solid #111;padding:26px 24px 24px;overflow:hidden}
.pcard__corner{position:absolute;top:0;right:0;width:44px;height:44px;
  background-image:linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:11px 11px;background-position:0 0,5.5px 5.5px;background-color:var(--yellow)}
.pcard h3{font-family:var(--cond);text-transform:uppercase;font-size:1.3rem;margin:0 0 10px}
.pcard p{margin:0;color:var(--muted)}

/* ads cards */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.acard{background:#1c1c1c;border:2px solid #333;border-top:5px solid var(--yellow);padding:22px 20px;transition:.18s}
.acard:hover{background:var(--yellow);color:#111;border-color:#111}
.acard__no{font-family:var(--display);font-size:1.6rem;color:var(--yellow);display:block;margin-bottom:8px}
.acard:hover .acard__no{color:#111}
.acard h3{font-family:var(--cond);text-transform:uppercase;font-size:1.15rem;margin:0 0 8px;color:#fff}
.acard:hover h3{color:#111}
.acard p{margin:0;font-size:.92rem;color:#aaa}
.acard:hover p{color:#222}

/* ---- Fleet ---- */
.fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.car{background:#fff;border:3px solid #111;display:flex;flex-direction:column;border-top:6px solid #111;position:relative;transition:.18s}
.car::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background-image:linear-gradient(45deg,var(--yellow) 25%,transparent 25%,transparent 75%,var(--yellow) 75%),linear-gradient(45deg,var(--yellow) 25%,transparent 25%,transparent 75%,var(--yellow) 75%);
  background-size:12px 12px;background-position:0 0,6px 6px;background-color:#111}
.car:hover{transform:translateY(-4px);box-shadow:10px 10px 0 rgba(17,17,17,.14)}
.car__media{aspect-ratio:16/10;overflow:hidden;background:#eee;border-bottom:3px solid #111}
.car__media img{width:100%;height:100%;object-fit:cover}
.car__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.car__class{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600;color:var(--muted)}
.car__name{font-family:var(--cond);text-transform:uppercase;font-size:1.3rem;margin:0}
.car__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px}
.car__price{background:var(--yellow);color:#111;font-family:var(--cond);font-weight:700;font-size:.92rem;padding:5px 10px;white-space:nowrap}
.car__btn{background:#111;color:var(--yellow);border:none;font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em;padding:8px 14px;cursor:pointer;transition:.15s}
.car__btn:hover{background:var(--yellow);color:#111;outline:2px solid #111}

/* ---- Process tiles ---- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ptile{position:relative;background:#fff;color:#111;border:3px solid var(--yellow);padding:26px 22px;overflow:hidden}
.ptile__no{font-family:var(--display);font-size:3rem;line-height:1;color:var(--yellow);display:block;margin-bottom:10px;-webkit-text-stroke:2px #111}
.ptile h3{font-family:var(--cond);text-transform:uppercase;font-size:1.15rem;margin:0 0 6px}
.ptile p{margin:0;color:var(--muted);font-size:.92rem}
.ptile::after{content:"";position:absolute;bottom:0;left:0;right:0;height:8px;
  background-image:linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:14px 14px;background-position:0 0,7px 7px;background-color:var(--yellow)}

/* ---- Lead ---- */
.lead{background:var(--yellow);padding:64px 0}
.lead__in{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
.lead__title{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.4rem,6vw,4rem);margin:0 0 14px;color:#111}
.lead__intro p{color:#1a1a1a;font-size:1.02rem}
.lead__intro a{color:#111;font-weight:700}
.lead__points{list-style:none;margin:20px 0 0;padding:0}
.lead__points li{padding:8px 0 8px 28px;position:relative;font-weight:600;border-bottom:1px solid rgba(0,0,0,.15)}
.lead__points li::before{content:"";position:absolute;left:0;top:12px;width:14px;height:14px;background:#111;
  background-image:linear-gradient(45deg,var(--yellow) 25%,transparent 25%,transparent 75%,var(--yellow) 75%),linear-gradient(45deg,var(--yellow) 25%,transparent 25%,transparent 75%,var(--yellow) 75%);
  background-size:7px 7px;background-position:0 0,3.5px 3.5px}

.form{background:#111;border:4px solid #111;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:14px 14px 0 rgba(0,0,0,.18)}
.field{display:flex;flex-direction:column;gap:6px;grid-column:1/-1}
.field--half{grid-column:span 1}
.field label{font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600;color:var(--yellow)}
.field input,.field select,.field textarea{
  font-family:var(--body);font-size:.98rem;padding:11px 12px;border:2px solid #444;background:#1c1c1c;color:#fff;border-radius:0;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--yellow)}
.field textarea{resize:vertical}
.form__submit{grid-column:1/-1;margin-top:4px}
#formMessage{grid-column:1/-1;margin:0;font-weight:600;color:#fff}
#formMessage.is-error{color:#ff8a8a}
#formMessage.is-success{color:var(--yellow)}
#mailLink{grid-column:1/-1;color:var(--yellow);font-weight:700}

/* ---- Requisites ---- */
.requisites{background:var(--paper);padding-top:48px}
.requisites details{background:#fff;border:3px solid #111}
.requisites summary{font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:1.05rem;padding:18px 22px;cursor:pointer;background:var(--yellow);color:#111}
.req{margin:0;padding:8px 22px 22px}
.req>div{display:grid;grid-template-columns:240px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.req>div:last-child{border-bottom:none}
.req dt{font-weight:700;color:#111;margin:0}
.req dd{margin:0;color:var(--muted)}

/* ---- Footer ---- */
.footer{background:#111;color:#fff;border-top:4px solid var(--yellow);padding:36px 0}
.footer__in{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between}
.footer__brand{display:flex;align-items:center;gap:12px;font-family:var(--cond);text-transform:uppercase;font-weight:700;letter-spacing:.05em}
.footer__nav{display:flex;gap:22px;flex-wrap:wrap}
.footer__nav a{color:var(--yellow);text-decoration:none;font-weight:600;font-size:.92rem}
.footer__nav a:hover{text-decoration:underline}
.footer__copy{width:100%;color:#888;font-size:.85rem;margin:8px 0 0}

/* ---- Responsive ---- */
@media (max-width:900px){
  .hero__in{grid-template-columns:1fr;gap:30px}
  .stats__grid{grid-template-columns:1fr;gap:18px}
  .cards4{grid-template-columns:1fr 1fr}
  .process{grid-template-columns:1fr 1fr}
  .lead__in{grid-template-columns:1fr;gap:30px}
  .nav__toggle{display:block}
  .nav__menu{
    position:absolute;top:64px;left:0;right:0;background:#111;flex-direction:column;gap:0;
    border-bottom:4px solid var(--yellow);padding:8px 0;display:none;
  }
  .nav__menu.is-open{display:flex}
  .nav__menu a{padding:14px 20px;border-top:1px solid #222}
  .nav__cta{margin:6px 20px 0}
}
@media (max-width:600px){
  .block{padding:44px 0}
  .cards2{grid-template-columns:1fr}
  .cards4{grid-template-columns:1fr}
  .process{grid-template-columns:1fr}
  .fleet{grid-template-columns:1fr}
  .form{grid-template-columns:1fr;padding:20px}
  .field--half{grid-column:1/-1}
  .req>div{grid-template-columns:1fr;gap:2px}
  .hero__card-stats{gap:18px}
  .footer__in{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  .checker-strip,.checker-band{animation:none}
  html{scroll-behavior:auto}
  .car:hover{transform:none}
}


/* === Этап 1: фундамент (авто-добавлено) === */
img { height: auto; }
.skip-link {
  position: absolute; left: -9999px; top: 12px; z-index: 999;
  padding: 10px 18px; background: #111; color: #fff; border-radius: 6px;
  font-size: .9rem; text-decoration: none;
}
.skip-link:focus { left: 12px; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }

/* === Этап 2: функциональность === */

/* anchors under sticky topbar */
#calc,#faq{scroll-margin-top:76px}

/* --- 1. Лайтбокс автопарка --- */
.car__zoom{
  display:block;width:100%;padding:0;margin:0;border:0;background:none;
  cursor:zoom-in;appearance:none;font:inherit;
}
.car__zoom:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}
.carbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:18px}
.carbox[hidden]{display:none}
.carbox__backdrop{position:absolute;inset:0;background:rgba(17,17,17,.84)}
.carbox__panel{
  position:relative;width:100%;max-width:720px;max-height:calc(100vh - 36px);
  overflow:auto;background:var(--white);border:4px solid var(--yellow);
  box-shadow:14px 14px 0 rgba(0,0,0,.35);
}
.carbox__checker{
  height:14px;
  background-image:
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:14px 14px;background-position:0 0,7px 7px;
  background-color:var(--yellow);
}
.carbox__close{
  position:absolute;top:24px;right:10px;z-index:2;width:42px;height:42px;
  background:var(--black);color:var(--yellow);border:2px solid var(--yellow);
  font-size:1.15rem;line-height:1;cursor:pointer;
}
.carbox__close:hover{background:var(--yellow);color:var(--black);border-color:var(--black)}
.carbox__img{width:100%;max-height:56vh;object-fit:cover;display:block;border-bottom:3px solid var(--black)}
.carbox__info{padding:18px 22px 22px}
.carbox__class{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600;color:var(--muted)}
.carbox__name{font-family:var(--display);text-transform:uppercase;font-size:1.7rem;margin:4px 0 14px;color:var(--black)}
.carbox__row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.carbox__price{background:var(--yellow);color:var(--black);font-family:var(--cond);font-weight:700;font-size:1.05rem;padding:7px 14px;white-space:nowrap}
.carbox__cta{
  font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  font-size:.95rem;padding:12px 24px;background:var(--black);color:var(--yellow);
  border:3px solid var(--black);cursor:pointer;transition:.15s;
}
.carbox__cta:hover{background:var(--yellow);color:var(--black)}

/* --- 2. Фильтр парка --- */
.fleet-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.fleet-filter__btn{
  position:relative;overflow:hidden;
  font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  font-size:.85rem;padding:10px 18px;background:var(--white);color:var(--black);
  border:3px solid var(--black);cursor:pointer;transition:.15s;
}
.fleet-filter__btn:hover{background:var(--yellow)}
.fleet-filter__btn[aria-pressed="true"]{background:var(--black);color:var(--yellow)}
.fleet-filter__btn[aria-pressed="true"]::after{
  content:"";position:absolute;top:0;right:0;width:16px;height:16px;
  background-image:
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:8px 8px;background-position:0 0,4px 4px;
  background-color:var(--yellow);
}
.car.is-filtered{display:none}

/* --- 3. Липкая мобильная CTA --- */
.sticky-cta{display:none}
@media (max-width:900px){
  .sticky-cta{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:150;
    background:var(--black);border-top:3px solid var(--yellow);
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  }
  .sticky-cta.sticky-cta--hidden{display:none}
  .sticky-cta__btn{
    display:block;max-width:100%;text-align:center;text-decoration:none;
    background:var(--yellow);color:var(--black);
    font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;
    font-size:1.05rem;padding:14px 10px;border:3px solid var(--black);
  }
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}

/* --- 4. Калькулятор аренды --- */
.calc{padding-top:0}
.calc__box{
  background:var(--black);border:4px solid var(--black);
  box-shadow:10px 10px 0 rgba(17,17,17,.14);
  padding:26px;display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;
}
.calc__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.calc__field--car{flex:1 1 220px;max-width:100%}
.calc__field label{font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600;color:var(--yellow)}
.calc__field select{
  font-family:var(--body);font-size:.98rem;padding:11px 12px;max-width:100%;
  border:2px solid #444;background:#1c1c1c;color:var(--white);border-radius:0;
}
.calc__field select:focus{outline:none;border-color:var(--yellow)}
.calc__stepper{display:flex}
.calc__step{
  width:46px;background:var(--yellow);color:var(--black);border:2px solid var(--black);
  font-size:1.35rem;font-weight:700;line-height:1;cursor:pointer;transition:.15s;
}
.calc__step:hover{background:var(--white)}
.calc__stepper input{
  width:72px;text-align:center;font-family:var(--body);font-size:1rem;padding:10px 6px;
  border:2px solid #444;background:#1c1c1c;color:var(--white);border-radius:0;
}
.calc__stepper input:focus{outline:none;border-color:var(--yellow)}
.calc__result{display:flex;flex-direction:column;gap:5px;min-width:0}
.calc__label{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600;color:#bbb}
.calc__total{
  display:inline-block;background:var(--yellow);color:var(--black);
  font-family:var(--display);font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.15;
  padding:8px 18px;white-space:nowrap;max-width:100%;
}
.calc__note{color:#999;font-size:.78rem}
.calc__cta{margin-left:auto}
@media (max-width:600px){
  .calc__box{padding:20px}
  .calc__cta{margin-left:0;width:100%;text-align:center}
}

/* --- 5. FAQ --- */
.faq__list{display:grid;gap:14px;max-width:880px}
.faq__item{background:var(--white);border:3px solid var(--black);border-left:10px solid var(--yellow)}
.faq__item summary{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.03em;font-weight:700;
  font-size:1rem;padding:16px 56px 16px 20px;cursor:pointer;position:relative;list-style:none;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:1.25rem;line-height:1;
  background:var(--yellow);color:var(--black);border:2px solid var(--black);
}
.faq__item[open] summary{background:var(--yellow)}
.faq__item[open] summary::after{content:"−";background:var(--black);color:var(--yellow);border-color:var(--yellow)}
.faq__checker{
  display:none;height:8px;
  background-image:
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),
    linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%);
  background-size:8px 8px;background-position:0 0,4px 4px;
  background-color:var(--yellow);
}
.faq__item[open] .faq__checker{display:block}
.faq__item p{margin:0;padding:14px 20px 18px;color:var(--muted)}

/* --- 6. Печать реквизитов --- */
.req__actions{padding:0 22px 22px}
.print-req{
  font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  font-size:.88rem;padding:11px 20px;background:var(--yellow);color:var(--black);
  border:3px solid var(--black);cursor:pointer;transition:.15s;
}
.print-req:hover{background:var(--black);color:var(--yellow)}
@media print{
  body.print-requisites *{visibility:hidden}
  body.print-requisites .requisites,
  body.print-requisites .requisites *{visibility:visible}
  body.print-requisites .requisites{
    position:absolute;left:0;top:0;width:100%;margin:0;padding:0;
    background:#fff;color:#000;
  }
  body.print-requisites .requisites details,
  body.print-requisites .requisites summary{
    background:#fff;color:#000;border:none;box-shadow:none;padding-left:0;
  }
  body.print-requisites .req{padding:0}
  body.print-requisites .req dt,
  body.print-requisites .req dd{color:#000}
  body.print-requisites .print-req,
  body.print-requisites .req__actions{display:none}
}

@media (prefers-reduced-motion:reduce){
  .car__zoom,.carbox__cta,.carbox__close,.fleet-filter__btn,.calc__step,.print-req{transition:none}
}

/* === Этап 2: лайтбокс/CTA — база (доделка) === */
.chklb { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; }
.chklb[hidden] { display: none; }
.chklb__back { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.chklb__panel { position: relative; max-width: 720px; width: 100%; max-height: 90vh; overflow: auto; }
.chklb__img { width: 100%; display: block; }
.chklb__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.chklb__title { margin: 0; flex: 1 1 auto; }
.chklb__close { position: absolute; top: 10px; right: 10px; z-index: 2; cursor: pointer; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.chklb__cta { cursor: pointer; }
body.chklb-open { overflow: hidden; }
.chkcta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; display: none; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); transition: transform .3s ease; }
.chkcta--off { transform: translateY(110%); }
.chkcta__btn { display: block; text-align: center; text-decoration: none; padding: 15px; font-weight: 700; }
@media (max-width: 900px) {
  .chkcta { display: block; }
  body.chkcta-on { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) { .chkcta { transition: none; } }

/* скин Шашка: чёрно-жёлтый чекер */
.chklb__panel { background: #fff; border: 4px solid #111; }
.chklb__panel::before { content: ""; display: block; height: 16px;
  background: repeating-linear-gradient(90deg, #111 0 16px, #ffd400 16px 32px); }
.chklb__meta { padding: 18px 22px 22px; }
.chklb__title { font-family: 'Anton', sans-serif; font-weight: 400; letter-spacing: .02em; font-size: 1.4rem; text-transform: uppercase; }
.chklb__cls { font-family: 'Oswald', sans-serif; text-transform: uppercase; font-size: .8rem; letter-spacing: .1em; }
.chklb__price { background: #ffd400; padding: 4px 10px; font-weight: 800; }
.chklb__close { background: #ffd400; color: #111; border: 3px solid #111; font-weight: 800; }
.chklb__cta { background: #111; color: #ffd400; border: none; padding: 13px 28px; font-family: 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: .06em; }


/* === Этап 3: тонировка фото и микро-детали === */
#fleet img, .chklb__img, .car-modal__img, .lightbox__img {
  filter: saturate(1.15) contrast(1.08);
}
::selection { background: #ffd400; color: #111; }
html { scrollbar-color: #ffd400 #1c1c1c; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #1c1c1c; }
::-webkit-scrollbar-thumb { background: #ffd400; border-radius: 6px; border: 2px solid #1c1c1c; }

/* === Этап 3: wow === */

.chk-progress { position: fixed; top: 0; left: 0; height: 10px; width: 0; z-index: 300; pointer-events: none;
  background: repeating-linear-gradient(90deg, #111 0 10px, #ffd400 10px 20px); }
@media (prefers-reduced-motion: reduce) { .chk-progress { display:none; } }


/* === Этап 4: отзывы === */
.chkrev { padding: clamp(48px,6vw,76px) clamp(18px,4vw,48px); }
.chkrev__wrap { max-width: 1200px; margin: 0 auto; }
.chkrev__title { margin: 0 0 30px; }
.chkrev__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.chkrev__item { margin: 0; padding: 24px 24px 20px; border-left: 3px solid #ffd400; position: relative; }
.chkrev__item::before { content: "\201C"; position: absolute; top: 6px; right: 16px; font-size: 3rem; line-height: 1; color: #ffd400; opacity: .35; font-family: Georgia, serif; }
.chkrev__item blockquote { margin: 0 0 14px; font-size: 1.02rem; line-height: 1.55; }
.chkrev__item figcaption { font-size: .82rem; opacity: .75; }
.chkrev__note { margin-top: 16px; font-size: .74rem; opacity: .5; }
@media (max-width: 900px) { .chkrev__grid { grid-template-columns: 1fr; } }
.chkrev__item { background: rgba(0,0,0,.025); }

/* === Этап 4: правки вёрстки === */
@media (max-width: 900px) {
  .lead .wrap { grid-template-columns: 1fr !important; }
  .lead__intro { max-width: 100%; }
}
.chkrev__title { font-family: 'Anton', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .02em; }

/* === Этап 4: тап-таргеты === */
@media (max-width: 900px) {
  nav a, footer a { padding-top: 8px; padding-bottom: 8px; }
}

/* === Этап 4: анти-переполнение v2 === */
@media (max-width: 900px) {
  html, body { overflow-x: clip; }
}

@media (max-width: 900px) {
  .lead__in > * { min-width: 0; }
  .lead__title, .lead__intro h2 { white-space: normal; overflow-wrap: break-word; }
  .lead__points li { white-space: normal; }
}
/* === Этап 4: форма на мобиле (анти-min-content) === */
@media (max-width: 900px) {
  #lead * { min-width: 0; }
  #lead input, #lead select, #lead textarea { width: 100%; }
  #lead .chkconsent input[type="checkbox"] { width: 16px; flex: 0 0 auto; }
}

/* === Этап 4: рекламный шоукейс === */
.chkads { margin: 34px 0 0; }
.chkads img { width: 100%; height: auto; display: block; border-radius: 6px;
  border: 1px solid #ffd400; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.chkads figcaption { margin-top: 10px; font-size: .82rem; opacity: .75;
  padding-left: 12px; border-left: 3px solid #ffd400; }

/* === Этап 5: согласие ПДн === */
.chkconsent { display: flex; gap: 10px; align-items: flex-start; font-size: .82rem;
  line-height: 1.5; opacity: .9; grid-column: 1 / -1; margin: 4px 0 2px; }
.chkconsent input { margin-top: 3px; width: 16px; height: 16px; flex: 0 0 auto;
  accent-color: #ffd400; }
.chkconsent a { text-decoration: underline; }

/* === Этап 6: аудит (доверие, форма, форматы) === */
.chktrust { display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:center; align-items:center;
  padding:14px 20px; font-size:.82rem; letter-spacing:.02em; opacity:.92;
  border-top:1px solid #ffd40055; border-bottom:1px solid #ffd40055; }
.chktrust span { white-space:nowrap; }
.chktrust span::before { content:"✓ "; color:#ffd400; font-weight:700; }
.chkformats { list-style:none; margin:26px 0 0; padding:0; display:grid;
  grid-template-columns:repeat(6,1fr); gap:10px; }
.chkformats li { display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:14px 6px; font-size:.78rem; text-align:center; border:1px solid #ffd40044;
  border-radius:8px; color:inherit; }
.chkformats svg { color:#ffd400; }
.chkmore { grid-column:1/-1; margin:2px 0; }
.chkmore summary { cursor:pointer; font-size:.85rem; opacity:.8; padding:8px 0; }
.chkmore summary:hover { opacity:1; }
.chkmore__grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-top:12px; }
.chknote { grid-column:1/-1; font-size:.8rem; opacity:.65; margin:8px 0 0; line-height:1.5; }
@media (max-width:900px){ .chkformats { grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .chkmore__grid { grid-template-columns:1fr; } .chkformats { grid-template-columns:repeat(2,1fr); } }

/* === P1: юрссылки в футере === */
footer a[href^="privacy"], footer a[href^="terms"], footer a[href^="mailto"] {
  opacity: .62; font-size: .86em; }
footer a[href^="privacy"]:hover, footer a[href^="terms"]:hover, footer a[href^="mailto"]:hover { opacity: 1; }

/* === Волна 1: интеграция === */

.chktrust { border: none; background: #111; color: #ffd400; font-family: 'Oswald', sans-serif; text-transform: uppercase; font-size: .8rem; letter-spacing: .06em; position: relative; padding: 18px 20px; }
.chktrust::before, .chktrust::after { content: ""; position: absolute; left: 0; right: 0; height: 8px; background: repeating-linear-gradient(90deg, #111 0 8px, #ffd400 8px 16px); }
.chktrust::before { top: -8px; } .chktrust::after { bottom: -8px; }
.chktrust span::before { content: "▪ "; color: #ffd400; }
.chkformats li { border: 2px solid #111; border-radius: 0; position: relative; }
.chkformats li::before { content: ""; position: absolute; top: 0; right: 0; width: 10px; height: 10px; background: repeating-linear-gradient(90deg,#111 0 5px,#ffd400 5px 10px); }
.chkrev__item::before { content: "♟"; font-size: 2rem; }

/* === Волна 3: композиционный ритм === */
/* акт «Парк + Калькулятор»: секции сшиваются */
#fleet:has(+ #calc) { padding-bottom: clamp(14px, 2.2vw, 28px); }
#fleet + #calc { padding-top: clamp(14px, 2.2vw, 28px); }
/* акт «Отзывы + FAQ» */
#reviews:has(+ #faq) { padding-bottom: clamp(16px, 2.4vw, 30px); }
#reviews + #faq { padding-top: clamp(16px, 2.4vw, 30px); }
/* вдох перед актом отзывов */
* + #reviews { margin-top: clamp(8px, 1.6vw, 22px); }
/* сценарии/сравнение прижаты к trust-полосе */
.chktrust + .chkscen, .chktrust + .chkcompare { padding-top: clamp(18px, 2.6vw, 30px); }

/* === Волна 5: футер-подвал === */
.chkfoot { margin-top: clamp(30px,4vw,54px); padding: clamp(28px,4vw,46px) clamp(20px,4vw,48px) 26px; border-top: 1px solid #ffd40055; }
.chkfoot__grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 26px; }
.chkfoot__brand strong { font-size: 1.15rem; }
.chkfoot__brand p { margin: 8px 0 0; font-size: .85rem; opacity: .7; max-width: 32ch; }
.chkfoot__col { display: flex; flex-direction: column; gap: 8px; font-size: .88rem; }
.chkfoot__col span { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; opacity: .55; }
.chkfoot__col a { opacity: .85; } .chkfoot__col a:hover { opacity: 1; color: #ffd400; }
.chkfoot__legal { max-width: 1200px; margin: 26px auto 0; font-size: .74rem; opacity: .5; }
@media (max-width: 900px) { .chkfoot__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .chkfoot__grid { grid-template-columns: 1fr; } }
.chkfoot { border-top: none; position: relative; background: #111; color: #f5f5f2; }
.chkfoot::before { content:''; position:absolute; top:0; left:0; right:0; height:10px; background: repeating-linear-gradient(90deg,#111 0 10px,#ffd400 10px 20px); }


/* === Итерация 2: модули === */

/* Калькулятор — пресеты срока */
.calc__field--days { max-width: 100%; }
.calc__presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.calc__preset { min-width: 54px; padding: 10px 12px; font-family: var(--cond); font-weight: 600; font-size: 1rem;
  background: #1c1c1c; color: var(--white); border: 2px solid #444; border-radius: 0; cursor: pointer; transition: .15s; }
.calc__preset:hover { border-color: var(--yellow-hi); }
.calc__preset.is-active { background: var(--yellow-hi); color: var(--black); border-color: var(--yellow-hi);
  box-shadow: inset 0 0 0 2px var(--black); }
.calc__presets input { width: 84px; text-align: center; font-family: var(--body); font-size: 1rem; padding: 10px 6px;
  border: 2px solid #444; background: #1c1c1c; color: var(--white); border-radius: 0; }
.calc__presets input:focus { outline: none; border-color: var(--yellow-hi); }

/* Отзывы — шахматная доска */
.chkrev__board { display: grid; grid-template-columns: repeat(3,1fr); border: 4px solid var(--black);
  box-shadow: 10px 10px 0 rgba(17,17,17,.14); }
.chkrev__cell { margin: 0; padding: 26px 24px 22px; }
.chkrev__cell--dark { background: var(--black); color: #f5f5f2; }
.chkrev__cell--dark figcaption { color: var(--yellow-hi); }
.chkrev__cell--light { background: var(--yellow-hi); color: var(--black); }
.chkrev__cell--light figcaption { color: rgba(17,17,17,.75); }
.chkrev__piece { display: block; font-size: 1.7rem; line-height: 1; margin-bottom: 12px; }
.chkrev__cell blockquote { margin: 0 0 14px; font-size: 1rem; line-height: 1.55; }
.chkrev__cell figcaption { font-family: var(--cond); text-transform: uppercase; letter-spacing: .05em; font-size: .78rem; }
@media (max-width: 900px) { .chkrev__board { grid-template-columns: 1fr; } }

/* Футер — жёлтая нав-строка, шахматная кайма, инверсия */
.chkfoot { background: var(--yellow-hi); color: var(--black); border-top: none; margin-top: clamp(36px,5vw,60px);
  position: relative; padding: 44px clamp(20px,4vw,48px) 34px; }
.chkfoot::before, .chkfoot::after { content: ""; position: absolute; left: 0; right: 0; height: 12px;
  background: repeating-linear-gradient(90deg, var(--black) 0 12px, var(--yellow-hi) 12px 24px); }
.chkfoot::before { top: 0; }
.chkfoot::after { bottom: 0; }
.chkfoot__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px clamp(16px,2.5vw,30px);
  max-width: 1200px; margin: 0 auto; font-family: var(--display); text-transform: uppercase;
  letter-spacing: .03em; font-size: 1.05rem; }
.chkfoot__nav a { text-decoration: none; padding: 4px 8px; }
.chkfoot__nav a:hover { background: var(--black); color: var(--yellow-hi); }
.chkfoot__logo { font-size: 1.3rem; background: var(--black); color: var(--yellow-hi); padding: 6px 12px; }
.chkfoot__logo:hover { color: var(--white); }
.chkfoot__mail { margin-left: auto; font-family: var(--body); text-transform: none; letter-spacing: 0;
  font-size: .92rem; border: 2px solid var(--black); }
.chkfoot__legal { max-width: 1200px; margin: 20px auto 0; font-size: .76rem; opacity: .9; color: var(--black);
  display: flex; flex-wrap: wrap; gap: 6px 16px; }
.chkfoot__legal a { text-decoration: underline; }
@media (max-width: 700px) { .chkfoot__mail { margin-left: 0; } }

/* === Итерация 3: легенда === */
.rules{background:var(--white);border-top:var(--check) solid transparent;
  border-image:repeating-linear-gradient(90deg,var(--black) 0 var(--check),var(--yellow-hi) var(--check) calc(var(--check)*2)) 1}
.rules__list{list-style:none;margin:0;padding:0;max-width:820px}
.rules__row{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;
  padding:20px 0;border-bottom:1px solid var(--line)}
.rules__row:last-child{border-bottom:none}
.rules__move{font-family:var(--display);font-size:2rem;line-height:1;color:var(--black);
  background:var(--yellow-hi);text-align:center;padding:10px 0 6px;box-shadow:4px 4px 0 var(--black)}
.rules__row:nth-child(even) .rules__move{background:var(--black);color:var(--yellow-hi);box-shadow:4px 4px 0 var(--yellow-hi)}
.rules__body h3{font-family:var(--cond);text-transform:uppercase;font-size:1.15rem;margin:0 0 6px}
.rules__body p{margin:0;color:var(--muted);font-size:.95rem;max-width:62ch}
@media (max-width:900px){
  .rules__row{grid-template-columns:48px 1fr;gap:14px;padding:16px 0}
  .rules__move{font-size:1.5rem;padding:8px 0 5px}
}
