/* Светлая editorial-механика Lexus LX570. */
:root {
  --paper: #f4efe6;
  --paper-soft: #fbf8f2;
  --paper-warm: #e9e1d5;
  --surface: #fffdf8;
  --ink: #11100f;
  --muted: #6d675f;
  --line: #d2cabf;
  --line-dark: #958d82;
  --red: #d71920;
  --red-dark: #aa1015;
  --red-soft: #f2d8d5;
}

body { background: var(--paper); }
.site-header { background: #fbf8f2; }
.site-brand img { width: 122px; }
.site-nav { gap: clamp(24px, 2.8vw, 46px); }
.site-nav a { font-size: 17px; }

/* Первый экран: фотография показывается целиком, без масок и градиентов. */
.hero.hero--approved { padding-top: 76px; background: var(--paper-soft); }
.hero--approved .hero__frame {
  display: grid;
  grid-template-columns: minmax(420px, 46%) minmax(0, 54%);
  grid-template-rows: minmax(560px, 1fr) auto;
  width: min(1440px, 100%);
  min-height: 720px;
  margin-inline: auto;
  overflow: hidden;
  border-bottom: 1px solid var(--line-dark);
  background: var(--paper-soft);
}
.hero--approved .hero__frame::before,
.hero--approved .hero__photo::after,
.hero--approved .hero__content::after { display: none; content: none; }
.hero--approved .hero__photo {
  position: relative;
  grid-column: 2;
  grid-row: 1 / 3;
  min-height: 720px;
  padding: clamp(24px, 3vw, 44px);
  overflow: hidden;
  border-left: 1px solid var(--line-dark);
  background: var(--paper-warm);
}
.hero--approved .hero__photo img {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.hero--approved .hero__content {
  position: relative;
  inset: auto;
  grid-column: 1;
  grid-row: 1;
  width: auto;
  padding: clamp(54px, 5.5vw, 84px) clamp(34px, 5vw, 76px) 48px;
}
.hero--approved .hero__date { margin-bottom: 24px; font-size: 15px; letter-spacing: .1em; }
.hero--approved h1 {
  width: auto;
  max-width: 590px;
  margin: 0;
  font-size: clamp(68px, 5.6vw, 96px);
  line-height: .9;
  letter-spacing: -.035em;
}
.hero--approved .hero__lead {
  margin-top: 30px;
  font-family: var(--body);
  font-size: 19px;
  font-weight: 600;
  text-transform: none;
}
.hero--approved .hero__broadcast-copy {
  position: static;
  width: auto;
  max-width: 430px;
  min-height: 0;
  margin-top: 20px;
  padding: 20px 0 0;
  border-top: 2px solid var(--red);
  background: transparent;
  color: var(--ink);
  font-family: var(--body);
  font-size: 14px;
  line-height: 1.55;
}
.hero--approved .hero__offer {
  position: static;
  z-index: 2;
  display: grid;
  grid-column: 1;
  grid-row: 2;
  width: auto;
  min-width: 0;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line-dark);
  border-right: 1px solid var(--line-dark);
  background: var(--paper-soft);
}
.hero--approved .hero__offer-option { min-width: 0; padding: 18px 22px; border-right: 1px solid var(--line); }
.hero--approved .hero__offer-option:nth-child(2) { border-right: 0; }
.hero--approved .hero__offer-option strong { font-size: 23px; }
.hero--approved .hero__offer-option span { color: var(--muted); font-size: 12px; }
.hero--approved .hero__offer-cta {
  grid-column: 1 / -1;
  min-height: 64px;
  background: var(--red);
  color: #fff;
  font-size: 21px;
}

.purchase-section--approved { padding-block: 96px; }
.purchase-section--approved .purchase-showcase { gap: 38px; }
.purchase-section--approved .purchase-product-shot { min-height: 760px; border: 1px solid var(--line-dark); }
.purchase-section--approved .purchase-product-shot img { object-position:76% center; filter: saturate(.76) contrast(1.02); }
@media(max-width:900px){.purchase-section--approved .purchase-product-shot img{object-position:center}}
.purchase-section--approved .purchase-card { border-radius: 0; }
.purchase-section--approved .purchase-card--bundle { border-width: 2px; }
.purchase-section--approved .quantity-control { border-radius: 0; }

.vehicle-section--approved { border-block: 1px solid var(--line-dark); background: #eee7dc; }
.vehicle-showcase__heading h2 { color: var(--ink); }
.vehicle-shot { border-radius: 0; }
.vehicle-shot img { filter: saturate(.84); }
.vehicle-shot--main img { object-position: center; }

.bonus-prizes-section,
.creator-story-section { background: var(--paper); color: var(--ink); }
.bonus-prize,
.creator-story,
.winners-gallery-slide { border-radius: 0; }
.creator-story-links a,
.bonus-prize__body a,
.bonus-prize__repost-button { border-radius: 0; }
.winners-gallery-section { background: #171614; }
.winners-gallery-controls button { border-radius: 0; }

/* FAQ: компактная вводная колонка и цельная карточка вопросов. */
.faq-section {
  padding-block: clamp(76px, 8vw, 120px);
  border-top: 1px solid var(--line-dark);
  background: var(--paper-soft);
}
.faq-section .faq-grid {
  display: grid;
  grid-template-columns: minmax(250px, .38fr) minmax(0, .62fr);
  gap: clamp(44px, 6vw, 92px);
  align-items: start;
}
.faq-section .section-heading { position: sticky; top: 112px; margin: 0; }
.faq-section .section-heading h2 {
  max-width: 360px;
  margin-top: 22px;
  font-size: clamp(54px, 5vw, 76px);
  line-height: .96;
}
.faq-section .faq-list {
  overflow: hidden;
  border: 1px solid var(--line-dark);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: 0 24px 60px rgba(55, 45, 35, .09);
}
.faq-section .faq-item { border-bottom: 1px solid var(--line); }
.faq-section .faq-item:last-child { border-bottom: 0; }
.faq-section .faq-item button {
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  gap: 18px;
  min-height: 90px;
  padding: 22px 26px;
}
.faq-section .faq-item button strong { font-size: 18px; line-height: 1.35; }
.faq-section .faq-item button i { font-size: 26px; }
.faq-section .faq-item > div p {
  max-width: 700px;
  padding: 0 60px 26px 78px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

/* Предфутер: короткий призыв без декоративной ломки текста. */
.final-cta {
  display: block;
  width: 100%;
  padding-block: clamp(64px, 6vw, 92px);
  border-block: 1px solid #3b3935;
  border-radius: 0;
  background: var(--ink);
  color: #fff;
  overflow: visible;
}
.final-cta::before,
.final-cta::after { display: none; content: none; }
.final-cta .final-cta__inner {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) minmax(280px, 340px);
  gap: clamp(30px, 4vw, 64px);
  align-items: center;
}
.final-cta .final-cta__index {
  align-self: start;
  color: var(--red);
  font-size: 20px;
  line-height: 1;
}
.final-cta .final-cta__copy { min-width: 0; }
.final-cta .final-cta__copy p { color: #aaa49b; }
.final-cta .final-cta__copy h2 {
  max-width: 780px;
  margin: 0;
  color: #fff;
  font-size: clamp(48px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -.025em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.final-cta .final-cta__action {
  min-width: 0;
  padding-left: 30px;
  border-left: 1px solid #3b3935;
}
.final-cta .final-cta__action p {
  color: #aaa49b;
  font-size: 14px;
  line-height: 1.55;
}
.final-cta .button { width: 100%; min-width: 0; }
.site-footer { background: #0f0f0e; }

@media (max-width: 980px) {
  .hero--approved .hero__frame { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto auto; min-height: 0; }
  .hero--approved .hero__content { grid-column: 1; grid-row: 1; padding: 52px 32px 44px; }
  .hero--approved h1 { font-size: clamp(64px, 12vw, 90px); }
  .hero--approved .hero__photo {
    grid-column: 1;
    grid-row: 2;
    min-height: 0;
    aspect-ratio: 4 / 3;
    padding: 26px;
    border-top: 1px solid var(--line-dark);
    border-left: 0;
  }
  .hero--approved .hero__offer { grid-column: 1; grid-row: 3; width: 100%; border-right: 0; }
  .faq-section .faq-grid { grid-template-columns: 1fr; gap: 36px; }
  .faq-section .section-heading { position: static; }
  .faq-section .section-heading h2 { max-width: 600px; }
  .final-cta .final-cta__inner { grid-template-columns: 86px minmax(0, 1fr); gap: 28px; }
  .final-cta .final-cta__action { grid-column: 2; padding: 24px 0 0; border-top: 1px solid #3b3935; border-left: 0; }
}

@media (max-width: 620px) {
  .site-header__inner { width: calc(100% - 24px); }
  .site-brand img { width: 82px; }
  .hero.hero--approved { padding-top: 58px; }
  .hero--approved .hero__content { padding: 38px 20px 34px; }
  .hero--approved h1 { font-size: clamp(52px, 15vw, 68px); line-height: .92; }
  .hero--approved .hero__date { margin-bottom: 18px; font-size: 12px; }
  .hero--approved .hero__lead { margin-top: 24px; font-size: 16px; }
  .hero--approved .hero__broadcast-copy { margin-top: 18px; padding-top: 16px; font-size: 13px; }
  .hero--approved .hero__photo { padding: 14px; }
  .hero--approved .hero__offer-option { padding: 15px 14px; }
  .hero--approved .hero__offer-option strong { font-size: 19px; }
  .hero--approved .hero__offer-option span { font-size: 10px; }
  .hero--approved .hero__offer-cta { min-height: 58px; font-size: 19px; }
  .purchase-section--approved .purchase-product-shot { min-height: 0; }

  .faq-section { padding-block: 68px; }
  .faq-section .section-heading h2 { margin-top: 14px; font-size: 44px; }
  .faq-section .faq-list { border-radius: 14px; }
  .faq-section .faq-item button {
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    gap: 10px;
    min-height: 76px;
    padding: 18px 15px;
  }
  .faq-section .faq-item button strong { font-size: 15px; }
  .faq-section .faq-item button i { font-size: 22px; }
  .faq-section .faq-item > div p { padding: 0 40px 22px 49px; font-size: 14px; }

  .final-cta { padding-block: 58px; }
  .final-cta .final-cta__inner { grid-template-columns: 1fr; gap: 20px; }
  .final-cta .final-cta__index { font-size: 16px; }
  .final-cta .final-cta__copy h2 { max-width: 100%; font-size: clamp(40px, 12vw, 50px); line-height: 1; }
  .final-cta .final-cta__action { grid-column: 1; padding-top: 20px; }
  .final-cta .final-cta__action p { margin-bottom: 18px; font-size: 13px; }
  .final-cta .button { min-height: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.hero--backup{display:none!important}
.hero-studio{overflow:hidden;padding-top:76px;background:#f6f1ea;color:#111}
.hero-studio__topline{display:none}
.hero-studio__stage{position:relative;isolation:isolate;min-height:clamp(560px,calc(100svh - 300px),650px);overflow:hidden;background:#f3eee7 url('../../promo-selector/img/selector-studio-desktop-v1.webp') center/cover no-repeat}
.hero-studio__stage h1{position:absolute;z-index:1;top:6%;left:8.5%;width:42%;margin:0;color:#aa9c8d;font-family:var(--display);font-size:clamp(112px,9vw,172px);font-weight:600;line-height:.75;letter-spacing:-.04em;text-align:left;text-transform:uppercase}
.hero-studio__stage h1 span{display:block}
.hero-studio__stage h1 span+span{margin-top:.1em;color:#b9aa9b;font-size:.7em;letter-spacing:-.02em}
.hero-studio__car{position:absolute;z-index:2;right:15.5%;bottom:18px;width:min(56vw,970px);aspect-ratio:1204/650;overflow:hidden;pointer-events:none}
.hero-studio__car img{position:absolute;top:-30.77%;left:-9.47%;width:120.27%;max-width:none;height:auto;filter:drop-shadow(0 18px 14px rgba(38,29,22,.18))}
.hero-studio__promise{position:absolute;z-index:3;bottom:46px;left:8.5%;display:grid;width:min(390px,30vw);gap:6px;padding-left:20px;margin:0;border-left:3px solid var(--red);font-family:var(--display);text-transform:uppercase}
.hero-studio__promise span{color:#d71820;font-size:20px;font-weight:700;letter-spacing:.05em}
.hero-studio__promise strong{color:#111;font-size:clamp(30px,2.05vw,39px);font-weight:600;line-height:.94;letter-spacing:-.018em}
.hero-studio__offer{display:grid;min-height:112px;padding:18px clamp(28px,8vw,160px);grid-template-columns:minmax(210px,.75fr) minmax(260px,1fr) minmax(560px,2.1fr);align-items:center;gap:30px;background:#faf7f2}
.hero-studio__offer p{margin:0;font-size:17px}
.hero-studio__offer a{text-decoration:none}
.hero-studio__cta{display:grid;min-height:62px;place-items:center;background:var(--red);color:#fff;font-family:var(--display);font-size:21px;text-transform:uppercase;transition:transform .2s ease,background .2s ease}
.hero-studio__cta:hover{transform:translateY(-2px);background:#c5161c}
.hero-studio__facts{display:grid;grid-template-columns:1fr 1.2fr;align-items:center}
.hero-studio__facts a{display:grid;grid-template-columns:repeat(3,auto);align-items:center;justify-content:space-around;gap:16px;color:#111;font-family:var(--display);font-size:16px;text-transform:uppercase}
.hero-studio__facts a+a{margin-left:20px}
.hero-studio__facts span{position:relative;padding-left:22px}
.hero-studio__facts span:before{position:absolute;top:50%;left:0;width:1px;height:42px;background:var(--red);content:'';transform:translateY(-50%) rotate(20deg)}
@media(max-width:1120px){.hero-studio__stage{min-height:520px}.hero-studio__stage h1{left:5%;font-size:clamp(92px,11vw,138px)}.hero-studio__car{right:3%;bottom:18px;width:min(75vw,860px)}.hero-studio__promise{bottom:34px;left:5%;width:280px}.hero-studio__promise span{font-size:17px}.hero-studio__promise strong{font-size:29px}.hero-studio__offer{padding-inline:34px;grid-template-columns:minmax(180px,.7fr) minmax(220px,.9fr) minmax(410px,1.8fr);gap:20px}.hero-studio__facts{grid-template-columns:1fr}.hero-studio__facts a+a{display:none}}
@media(max-width:760px){.hero-studio{padding-top:64px}.hero-studio__stage{min-height:410px;background-image:url('../../promo-selector/img/selector-studio-mobile-v1.webp');background-position:center}.hero-studio__stage h1{top:18px;left:16px;width:calc(100% - 32px);font-size:clamp(62px,17vw,96px);line-height:.72}.hero-studio__stage h1 span+span{margin-top:.1em;font-size:.62em}.hero-studio__car{right:-3%;bottom:20px;width:106%;max-width:none}.hero-studio__promise{top:139px;bottom:auto;left:16px;width:178px;gap:3px;padding-left:11px;border-left-width:2px}.hero-studio__promise span{font-size:11px}.hero-studio__promise strong{font-size:18px;line-height:.95}.hero-studio__offer{min-height:0;padding:14px 16px 18px;grid-template-columns:1fr;gap:10px}.hero-studio__offer p{display:none}.hero-studio__cta{min-height:54px;font-size:19px}.hero-studio__facts a{font-size:14px;gap:12px}.hero-studio__facts span{padding-left:18px}.hero-studio__facts span:before{height:30px}}
@media(max-width:420px){.hero-studio{padding-top:58px}.hero-studio__stage{min-height:360px}.hero-studio__stage h1{top:16px;font-size:16.5vw}.hero-studio__car{right:-2%;bottom:18px;width:104%}.hero-studio__promise{top:118px;left:14px;width:168px}.hero-studio__promise span{font-size:10px}.hero-studio__promise strong{font-size:16px}}
