/* ============================================================================ */
/* HERO PREMIUM — стилистика layered on top of refresh.css                     */
/* ============================================================================ */

:root{
  --psr-premium-ease: cubic-bezier(.2,.8,.2,1);
}

/* ============================================================================ */
/* Targeted: декоративный текст не выделяется (I-beam курсор не появляется)    */
/* Body НЕ имеет user-select:none — чтобы не ломать event handling             */
/* ============================================================================ */
h1, h2, h3, h4, h5, h6,
button, a, label,
.btn, .btn *,
.psr-section-divider, .psr-section-divider *,
[role="button"],
.exclusive-benefits-h1, .exclusive-benefits-h1 *,
.psr-track-card *,
.psr-stat *,
.psr-coverage *,
.three-buttons, .three-buttons *,
.saving-text, .saving-text *,
.psr-wordmark, .psr-wordmark *{
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
input, textarea, select, [contenteditable="true"], [contenteditable=""]{
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text;
  cursor: text;
}
button, a[href], a[data-auth-modal], [role="button"], label, .btn{
  cursor: pointer;
}

/* ---- Subtle grain over the hero for a textured, premium feel ---- */
.get-quote-section{ isolation: isolate; }
.get-quote-section::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  z-index:3;
  opacity:.045;
  mix-blend-mode:overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/></svg>");
  background-size: 220px 220px;
}

/* =================== Eyebrow trust badge =================== */
.psr-eyebrow{
  --b: 1.6px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 18px 8px 8px;
  border-radius:999px;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  color:#0f1115;
  font-weight:700;
  font-size:13px;
  letter-spacing:.01em;
  position:relative;
  box-shadow: 0 6px 22px rgba(240,26,38,.09), 0 1px 3px rgba(15,17,21,.06);
  margin: 6px auto 16px;
  align-self:center;
  animation: psrEyebrowIn .8s var(--psr-premium-ease) .1s backwards;
  z-index: 5;
}
.psr-eyebrow::before{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  padding:var(--b);
  background: conic-gradient(from 0deg, rgba(240,26,38,0) 0%, #F01A26 14%, #ff7b83 22%, rgba(240,26,38,0) 38%, rgba(240,26,38,0) 62%, #F01A26 78%, #ff7b83 84%, rgba(240,26,38,0) 96%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  animation: psrEyebrowSpin 7s linear infinite;
  pointer-events:none;
}
.psr-eyebrow .pulse-dot{
  position:relative;
  width:22px; height:22px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%;
  background: linear-gradient(135deg, #ff4652, #E30613);
  color:#fff;
  flex:0 0 22px;
  box-shadow: 0 4px 10px rgba(240,26,38,.35);
}
.psr-eyebrow .pulse-dot::after{
  content:"";
  position:absolute; inset:-4px;
  border-radius:50%;
  box-shadow: 0 0 0 0 rgba(240,26,38,.55);
  animation: psrPulse 2s infinite cubic-bezier(.4,0,.6,1);
}
.psr-eyebrow .pulse-dot svg{ width:12px; height:12px; fill:#fff; }
.psr-eyebrow .sep{
  width:1px; height:14px;
  background: linear-gradient(180deg, transparent, rgba(15,17,21,.18), transparent);
  margin: 0 2px;
}
.psr-eyebrow .stars{
  color:#f5a623;
  letter-spacing:1.5px;
  font-size:12px;
  line-height:1;
}
.psr-eyebrow .reviews{
  color:#5b5f66;
  font-weight:600;
  font-size:12px;
}

/* =================== Rotating destination subhead =================== */
.psr-rotator{
  text-align:center;
  font-size: clamp(15px, 1.4vw, 19px);
  font-weight: 600;
  color:#3a3f4a;
  margin: -2px auto 14px;
  display:inline-flex;
  align-self:center;
  gap:.35em;
  flex-wrap:nowrap;
  align-items:baseline;
  animation: psrEyebrowIn .9s var(--psr-premium-ease) .3s backwards;
  z-index: 5;
  position: relative;
}
.psr-rotator .static{ opacity:.85; }
.psr-rotator .typed-wrap{
  position:relative;
  display:inline-block;
  min-width: 5ch;
  font-weight:800;
  background: linear-gradient(90deg, #E30613 0%, #ff7079 50%, #E30613 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: psrShimmer 5s linear infinite;
  white-space: nowrap;
}
.psr-rotator .typed-cursor{
  color: var(--psr-red);
  font-weight: 300;
  opacity: .75;
  margin-left: 2px;
}

/* =================== Весь hero-блок чуть левее =================== */
@media (min-width: 992px){
  .get-quote-section .main-section{
    transform: translateX(-14px);
  }
}
/* На мобилке/планшете — без сдвига, чтобы контент был ровно по центру */
@media (max-width: 991px){
  .get-quote-section .main-section{
    transform: none !important;
  }
}

/* =================== Headline — centered editorial premium (tight & refined) =================== */
.saving-text{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 4px !important;
  margin: 12px auto 26px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 680px !important;
  overflow: visible !important;
}
.saving-text .saving-text-main{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  font-size: clamp(12px, 1.15vw, 15px) !important;
  font-weight: 800 !important;
  color: #6b7380 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  line-height: 1.25 !important;
  max-width: none !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
}
/* Тонкие градиент-штрихи по бокам eyebrow */
.saving-text .saving-text-main::before,
.saving-text .saving-text-main::after{
  content: "";
  display: inline-block;
  width: clamp(26px, 3.2vw, 44px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240,26,38,.55), transparent);
  flex-shrink: 0;
}
.saving-text .presco-texts{
  display: inline-block !important;
  font-size: clamp(42px, 5.4vw, 78px) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  white-space: nowrap !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 4px 18px 18px 18px !important;       /* запас под swoosh и sparkle */
  background: linear-gradient(100deg, #ff3b41 0%, #E30613 30%, #ff6169 52%, #E30613 74%, #ff3b41 100%) !important;
  background-size: 260% 100% !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  animation:
    psrShimmer 6s linear infinite,
    psrHeadlineBreathe 5s ease-in-out infinite,
    psrHeadlineIn .9s cubic-bezier(.2,.9,.3,1) .1s backwards;
  filter: drop-shadow(0 8px 36px rgba(240,26,38,.28));
  overflow: visible !important;
  position: relative;
  transform-origin: center bottom;
}

/* Rough hand-drawn красный swoosh под текстом */
.saving-text .presco-texts::after{
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: 4px;
  height: 12px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 16' fill='none' preserveAspectRatio='none'><defs><linearGradient id='u' x1='0' x2='1' y1='0' y2='0'><stop offset='0' stop-color='%23ff4652'/><stop offset='.5' stop-color='%23E30613'/><stop offset='1' stop-color='%23ff4652'/></linearGradient></defs><path d='M4 10 Q 80 2 175 7 T 345 6 T 476 10' stroke='url(%23u)' stroke-width='3.5' stroke-linecap='round' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: scaleX(0);
  transform-origin: left center;
  animation: psrUnderlineDraw 1.1s cubic-bezier(.2,.8,.2,1) .9s forwards;
  filter: drop-shadow(0 3px 8px rgba(240,26,38,.35));
  -webkit-text-fill-color: initial;
  pointer-events: none;
}

/* Sparkle 4-лучевая звезда в верхнем правом углу */
.saving-text .presco-texts::before{
  content: "";
  position: absolute;
  top: -4px;
  right: -8px;
  width: clamp(18px, 1.8vw, 26px);
  height: clamp(18px, 1.8vw, 26px);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><defs><linearGradient id='sg' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23ff6169'/><stop offset='1' stop-color='%23E30613'/></linearGradient></defs><path d='M16 0 L18.5 13.5 L32 16 L18.5 18.5 L16 32 L13.5 18.5 L0 16 L13.5 13.5 Z' fill='url(%23sg)'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-text-fill-color: initial;
  opacity: 0;
  filter: drop-shadow(0 4px 10px rgba(240,26,38,.45));
  animation:
    psrSparkleIn .5s cubic-bezier(.2,.8,.2,1) 1.15s forwards,
    psrSparkleSpin 6s ease-in-out 1.15s infinite;
  pointer-events: none;
}

@keyframes psrHeadlineIn{
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
@keyframes psrUnderlineDraw{
  to { transform: scaleX(1); }
}
@keyframes psrSparkleIn{
  from { opacity: 0; transform: scale(.4); }
  to   { opacity: .9; transform: scale(1); }
}
@keyframes psrSparkleSpin{
  0%, 100% { transform: rotate(0) scale(1); }
  25%      { transform: rotate(90deg) scale(1.14); }
  50%      { transform: rotate(180deg) scale(1); }
  75%      { transform: rotate(270deg) scale(1.14); }
}
@keyframes psrHeadlineBreathe{
  0%, 100% { filter: drop-shadow(0 8px 36px rgba(240,26,38,.28)); }
  50%      { filter: drop-shadow(0 12px 48px rgba(240,26,38,.42)); }
}

/* Мягкая aura-подсветка под Presco Delivery + пульсация */
.saving-text::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(280px, 40vw, 520px);
  height: 90px;
  background: radial-gradient(ellipse, rgba(240,26,38,.22) 0%, rgba(240,26,38,.08) 45%, transparent 75%);
  pointer-events: none;
  z-index: -1;
  filter: blur(10px);
  animation: psrAuraPulse 5s ease-in-out infinite;
}
@keyframes psrAuraPulse{
  0%, 100% { opacity: .75; transform: translateX(-50%) scale(1); }
  50%      { opacity: 1;   transform: translateX(-50%) scale(1.08); }
}

@media (prefers-reduced-motion: reduce){
  .saving-text .presco-texts,
  .saving-text .presco-texts .letter,
  .saving-text::after{
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* Гасим letter-span, если шаблон отдаёт */
.saving-text .presco-texts .letter,
.saving-text .presco-texts .letter.in{
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  display: inline !important;
  background: inherit !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Мобилка/планшет — если вдруг не влезает, разрешаем мягкий перенос */
@media (max-width: 560px){
  .saving-text .saving-text-main{ white-space: normal !important; font-size: 14px !important; }
  .saving-text .presco-texts{ font-size: clamp(32px, 10vw, 44px) !important; white-space: nowrap !important; }
}

/* =================== Full-viewport hero + scroll hint ===================
   2026-05-20: breakpoint расширен с 992 до 1367 — на planshet'ах (≤1366) hero
   не растягивается на 100vh, чтобы соответствовать mobile-like layout. */
@media (min-width: 1367px){
  .get-quote-section{
    min-height: calc(100vh - 80px) !important;
    padding-top: 24px !important;
    padding-bottom: 80px !important;
  }
}

/* Scroll-hint внизу hero — адаптивный отступ под любой монитор */
.psr-scroll-hint{
  position: absolute;
  bottom: clamp(80px, 11vh, 170px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 7;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #5b5f66;
  animation: psrScrollIn 1s var(--psr-premium-ease) 1.6s backwards;
  transition:
    transform .45s var(--psr-premium-ease),
    color .3s var(--psr-premium-ease),
    opacity .45s var(--psr-premium-ease);
  will-change: opacity, transform;
}
/* Скрытие при прокрутке (>1/3 высоты экрана) — плавное исчезновение вниз */
.psr-scroll-hint.is-hidden{
  opacity: 0;
  transform: translateX(-50%) translateY(14px);
  pointer-events: none;
}
@media (min-height: 1100px){
  .psr-scroll-hint{ bottom: clamp(120px, 12vh, 200px); }
}
@media (min-height: 1400px){
  .psr-scroll-hint{ bottom: clamp(160px, 14vh, 250px); }
}
.psr-scroll-hint:hover{
  color: var(--psr-red);
  transform: translateX(-50%) translateY(-2px);
}
.psr-scroll-hint-text{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.psr-scroll-hint-mouse{
  width: 22px;
  height: 34px;
  border-radius: 12px;
  border: 1.6px solid currentColor;
  position: relative;
  display: inline-flex;
  justify-content: center;
  padding-top: 5px;
}
.psr-scroll-hint-wheel{
  width: 3px;
  height: 7px;
  border-radius: 2px;
  background: currentColor;
  animation: psrScrollWheel 1.8s ease-in-out infinite;
}
@keyframes psrScrollWheel{
  0%   { transform: translateY(0); opacity: 1; }
  60%  { transform: translateY(8px); opacity: .15; }
  100% { transform: translateY(0); opacity: 0; }
}
@keyframes psrScrollIn{
  from { opacity: 0; transform: translateX(-50%) translateY(8px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@media (max-width: 991px){
  .psr-scroll-hint{ display: none !important; }
}
#hero-scroll-anchor{
  height: 0;
  scroll-margin-top: 80px;
}

/* =================== Hero partners — плашка в top-right hero =================== */
@media (min-width: 992px){
  .psr-hero-partners{
    position: absolute;
    top: 50px;
    right: clamp(30px, calc(8vw - 30px), 90px);
    z-index: 6;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px 20px 18px;
    width: clamp(440px, 36vw, 520px);
    border-radius: 22px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,246,242,.94) 100%);
    backdrop-filter: blur(22px) saturate(1.45);
    -webkit-backdrop-filter: blur(22px) saturate(1.45);
    border: 1px solid rgba(255,255,255,.98);
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 30px 64px -22px rgba(15,17,21,.22),
      0 12px 28px -10px rgba(240,26,38,.18);
    animation: psrEyebrowIn .8s var(--psr-premium-ease) .2s backwards;
    overflow: hidden;
  }
  /* Тонкий красный акцент-мазок слева */
  .psr-hero-partners::after{
    content: "";
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 3px;
    background: linear-gradient(180deg, transparent, #ff4652, #E30613, #ff4652, transparent);
    border-radius: 0 3px 3px 0;
  }
  .psr-hero-partners::before{
    content: "";
    position: absolute; inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(240,26,38,.06), rgba(255,255,255,0) 50%);
  }
  .our-partners-horizontal-slider{
    display: none !important;
  }
}
@media (max-width: 991px){
  /* На мобилке partners-marquee показываем в виде компактной верхней плашки */
  .psr-hero-partners{
    position: relative !important;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    margin: 14px 14px 18px;
    padding: 12px 14px 14px;
    border-radius: 16px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,246,242,.92) 100%);
    border: 1px solid rgba(255,255,255,.95);
    box-shadow:
      0 1px 0 rgba(255,255,255,.9) inset,
      0 12px 28px -10px rgba(15,17,21,.14),
      0 6px 14px -4px rgba(240,26,38,.12);
    overflow: hidden;
    z-index: 4;
  }
  .psr-hero-partners::after{
    content: "";
    position: absolute;
    left: 0; top: 18%; bottom: 18%;
    width: 3px;
    background: linear-gradient(180deg, transparent, #ff4652, #E30613, #ff4652, transparent);
    border-radius: 0 3px 3px 0;
  }
  .psr-hero-partners-head{ flex-wrap: wrap; row-gap: 6px; column-gap: 10px; justify-content: center !important; padding-left: 0 !important; }
  /* Убираем декоративную палочку перед label на мобилке */
  .psr-hero-partners-label::before{ display: none !important; }
  /* Скрываем вертикальный stripe слева */
  .psr-hero-partners::after{ display: none !important; }
  .psr-hero-partners-label{
    font-size: 10.5px !important;
    letter-spacing: .14em !important;
    white-space: normal !important;
    text-align: center;
    flex: 1 1 100%;
    justify-content: center;
    gap: 0 !important;
  }
  .psr-hero-partners-tag{
    font-size: 10px !important;
    padding: 3px 10px !important;
    flex: 0 0 auto;
  }
  .psr-hero-marquee{
    mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%) !important;
  }
  .psr-hero-marquee-track{ animation-duration: 30s !important; gap: 10px !important; }
  .psr-hero-logo{ width: 84px !important; height: 44px !important; padding: 6px 8px !important; }
  .psr-hero-logo img{ max-height: 24px !important; }
  /* Прячем второй (нижний, в секции `.partners-horizontal-slider`) — он дублирует */
  .our-partners-horizontal-slider{ display: none !important; }
}
.psr-hero-partners-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-left: 2px;
}
.psr-hero-partners-label{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: #3a3f4a;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.psr-hero-partners-label::before{
  content: "";
  display: inline-block;
  width: 14px; height: 2px;
  background: linear-gradient(90deg, #E30613, #ff4652);
  border-radius: 2px;
}
.psr-hero-partners-tag{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 11px 4px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .02em;
  color: #0a8a5f;
  background: rgba(18,185,129,.09);
  border: 1px solid rgba(18,185,129,.24);
  text-transform: none;
}
.psr-hero-partners-dot{
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #12b981;
  box-shadow: 0 0 0 0 rgba(18,185,129,.55);
  animation: psrLivePulse 1.8s infinite;
  flex-shrink: 0;
}
.psr-hero-marquee{
  position: relative;
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.psr-hero-marquee-track{
  display: flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  animation: psrHeroMarquee 28s linear infinite;
  will-change: transform;
}
.psr-hero-partners:hover .psr-hero-marquee-track{
  animation-play-state: paused;
}
.psr-hero-logo{
  flex: 0 0 auto;
  width: 88px;
  height: 48px;
  padding: 6px 10px;
  border-radius: 11px;
  background: #ffffff;
  border: 1px solid rgba(15,17,21,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 2px 5px -1px rgba(15,17,21,.06),
    0 1px 2px rgba(15,17,21,.04);
  transition: transform .3s var(--psr-premium-ease), box-shadow .3s var(--psr-premium-ease), border-color .3s var(--psr-premium-ease);
}
.psr-hero-logo img{
  max-height: 26px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  filter: none;
  opacity: 1;
  transition: transform .3s var(--psr-premium-ease);
}
.psr-hero-logo:hover{
  border-color: rgba(240,26,38,.3);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 12px 24px -8px rgba(240,26,38,.25),
    0 4px 10px -2px rgba(15,17,21,.1);
  transform: translateY(-3px) scale(1.04);
}
.psr-hero-logo:hover img{
  transform: scale(1.06);
}
@keyframes psrHeroMarquee{
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .psr-hero-marquee-track{ animation: none; }
  .psr-scroll-hint-wheel{ animation: none; }
}

/* =================== Красивый разделитель между hero и how-it-works =================== */
.psr-section-divider{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 28px clamp(20px, 5vw, 60px);
  max-width: 1200px;
  margin: 0 auto;
  background: transparent;
}
.psr-section-divider-line{
  flex: 1 1 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(15,17,21,.08) 15%, rgba(240,26,38,.35) 50%, rgba(15,17,21,.08) 85%, transparent 100%);
  max-width: 420px;
}
/* Ромб-орнамент в центре */
.psr-section-divider-ornament{
  flex: 0 0 auto;
  width: 8px; height: 8px;
  background: linear-gradient(135deg, #ff4652, #E30613);
  transform: rotate(45deg);
  border-radius: 2px;
  box-shadow:
    0 0 0 4px rgba(240,26,38,.10),
    0 2px 8px rgba(240,26,38,.35);
  position: relative;
}
.psr-section-divider-ornament::before,
.psr-section-divider-ornament::after{
  content: "";
  position: absolute;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(240,26,38,.45);
  transform: rotate(-45deg);
}
.psr-section-divider-ornament::before{
  left: -14px; top: 50%; margin-top: -1.5px;
}
.psr-section-divider-ornament::after{
  right: -14px; top: 50%; margin-top: -1.5px;
}
#hero-scroll-anchor{
  position: absolute;
  top: -80px;
  left: 0;
  width: 0; height: 0;
  pointer-events: none;
  scroll-margin-top: 80px;
}
/* Мягкий fade от hero-фона к белому */
.get-quote-section{
  box-shadow: 0 40px 60px -40px rgba(15,17,21,.04);
}
.psr-section-divider::before{
  content: "";
  position: absolute;
  top: -60px;
  left: 0; right: 0;
  height: 60px;
  background: linear-gradient(180deg, rgba(242,244,248,0) 0%, #f2f4f8 100%);
  pointer-events: none;
  z-index: -1;
}

/* =================== Trust-кнопки — крупнее =================== */
.three-buttons{
  padding: 16px 20px !important;
  gap: 14px !important;
}
.three-buttons img{
  width: 46px !important; height: 46px !important;
  padding: 12px !important;
  border-radius: 13px !important;
}
.three-buttons span{
  font-size: 15px !important;
  line-height: 1.35 !important;
}

/* =================== Tracking card — увеличил max-width =================== */
@media (min-width: 992px){
  .psr-van-3d.psr-wordmark-stage .psr-track-card,
  .psr-van-3d .psr-track-card{
    max-width: 500px !important;
  }
}
/* Гасим letter-span анимации, если шаблон их отдаёт */
.saving-text .presco-texts .letter,
.saving-text .presco-texts .letter.in{
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  display: inline !important;
  background: inherit !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* =================== Premium trust cards (restyle .three-buttons) =================== */
.three-buttons-section{
  gap: 16px !important;
  padding: 6px 0 2px !important;
  position: relative;
  z-index: 5;
}
.three-buttons{
  position:relative;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.9) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.6) inset,
    0 12px 32px -12px rgba(15,17,21,.18),
    0 4px 12px -4px rgba(240,26,38,.10);
  transition: transform .3s var(--psr-premium-ease), box-shadow .35s ease, border-color .35s ease;
  overflow:hidden;
  transform-style: preserve-3d;
  will-change: transform;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
}
.three-buttons::before{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,0) 42%);
  pointer-events:none;
  opacity:.7;
}
.three-buttons::after{
  content:"";
  position:absolute; top:0; left:-70%;
  width:60%; height:100%;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.7) 50%, transparent 100%);
  transform: skewX(-18deg);
  transition: left .9s var(--psr-premium-ease);
  pointer-events:none;
  filter: blur(2px);
}
.three-buttons:hover{
  border-color: rgba(240,26,38,.28) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.6) inset,
    0 22px 44px -14px rgba(15,17,21,.22),
    0 10px 20px -6px rgba(240,26,38,.22);
}
.three-buttons:hover::after{ left: 140%; }
.three-buttons img{
  width: 40px !important; height: 40px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #ff4652 0%, #E30613 100%) !important;
  box-shadow: 0 8px 16px -6px rgba(240,26,38,.55), inset 0 1px 0 rgba(255,255,255,.3);
  flex-shrink:0;
  margin: 0 !important;
}
.three-buttons span{
  text-align:left !important;
  font-weight: 600 !important;
  color:#1a1d22 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  flex: 1;
}
/* Vanilla-tilt glare */
.three-buttons .js-tilt-glare{
  border-radius:inherit;
  overflow:hidden;
}

/* =================== Stats row =================== */
.psr-stats-row{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 22px auto 6px;
  width: 100%;
  max-width: 760px;
  padding: 18px 22px;
  border-radius: 20px;
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.88);
  box-shadow: 0 22px 50px -20px rgba(15,17,21,.18), 0 1px 0 rgba(255,255,255,.7) inset;
  position: relative;
  z-index: 5;
  animation: psrEyebrowIn 1s var(--psr-premium-ease) .4s backwards;
}
.psr-stats-row::before{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(240,26,38,.06), rgba(255,255,255,0) 45%);
}
.psr-stat{
  text-align:center;
  position:relative;
  padding: 4px 6px;
}
.psr-stat + .psr-stat::before{
  content:"";
  position:absolute; left:0; top:18%; bottom:18%;
  width:1px;
  background: linear-gradient(180deg, transparent, rgba(240,26,38,.22), transparent);
}
.psr-stat-num{
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
  background: linear-gradient(135deg, #0f1115 0%, #E30613 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.psr-stat-label{
  font-size: 11px;
  font-weight: 800;
  color: #5b5f66;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-top: 8px;
}

/* =================== Right column: restructure as vertical stack =================== */
@media (min-width: 992px){
  .psr-van-3d.psr-wordmark-stage{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px;
    padding: 6px 18px 6px 0;
    max-width: 560px !important;
    min-height: 620px !important;
  }
  /* Wordmark becomes a compact eyebrow above the tracking card */
  .psr-van-3d .psr-wordmark .line-a{
    font-size: clamp(13px, 1vw, 16px) !important;
    font-weight: 700 !important;
    color: #5b5f66 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
  }
  .psr-van-3d .psr-wordmark .line-b{
    font-size: clamp(36px, 4.4vw, 64px) !important;
    line-height: 1 !important;
    letter-spacing: -.03em !important;
  }
  /* Step 3 keeps floating near the card edge */
  .psr-van-3d .psr-step-3{
    left: auto !important;
    right: -28px !important;
    top: 32% !important;
  }
  /* Tracking card сдвинут на 40px ниже */
  .psr-van-3d .psr-track-card{
    margin-top: 40px !important;
  }
}

/* =================== Tracking card =================== */
.psr-track-card{
  position: relative;
  width: 100%;
  max-width: 460px;
  padding: 18px 20px 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(22px) saturate(1.4);
  -webkit-backdrop-filter: blur(22px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 24px 60px -24px rgba(15,17,21,.24),
    0 12px 30px -12px rgba(240,26,38,.18);
  z-index: 2;
  animation: psrEyebrowIn .9s var(--psr-premium-ease) .35s backwards;
  transform: translateX(clamp(16px, 2.4vw, 40px)) perspective(1200px) rotateY(-4deg) rotateX(2deg);
  transform-style: preserve-3d;
  transition: transform .5s var(--psr-premium-ease);
}
.psr-track-card:hover{
  transform: translateX(clamp(16px, 2.4vw, 40px)) perspective(1200px) rotateY(-1deg) rotateX(0deg) translateY(-2px);
}
@media (max-width: 991px){
  .psr-track-card,
  .psr-track-card:hover{
    transform: none;
  }
}
.psr-track-card::before{
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(240,26,38,.08), rgba(255,255,255,0) 45%);
  pointer-events: none;
}
/* Sheen */
.psr-track-card::after{
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(240,26,38,.18) 50%, rgba(255,255,255,.0));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

.psr-track-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.psr-track-id{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'SFMono-Regular', ui-monospace, Menlo, monospace;
  font-size: 12.5px;
  font-weight: 700;
  color: #1a1d22;
  letter-spacing: .01em;
}
.psr-track-id svg{ width: 16px; height: 16px; }
.psr-track-id-num{ color: var(--psr-red); }
.psr-track-status{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  background: rgba(18,185,129,.10);
  color: #0a8a5f;
  font-weight: 800;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  border: 1px solid rgba(18,185,129,.2);
}
.psr-track-live{
  background: #12b981;
  box-shadow: 0 0 0 0 rgba(18,185,129,.6);
  animation: psrLivePulse 1.8s infinite;
}

.psr-track-route{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.psr-track-city{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.psr-track-city:last-child{
  justify-content: flex-end;
}
.psr-track-flag{
  width: 38px; height: 26px;
  flex-shrink: 0;
  border-radius: 5px;
  overflow: hidden;
  display: inline-flex;
  box-shadow:
    0 0 0 1px rgba(15,17,21,.08),
    0 4px 10px -2px rgba(15,17,21,.18);
  background: #f1f3f5;
  transition: transform .4s var(--psr-premium-ease), box-shadow .4s var(--psr-premium-ease);
}
.psr-track-flag svg{
  width: 100%; height: 100%;
  display: block;
}
.psr-track-card:hover .psr-track-flag{
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(15,17,21,.1),
    0 6px 14px -2px rgba(15,17,21,.22);
}
.psr-track-city-body{
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  min-width: 0;
}
.psr-track-city-body .label{
  font-size: 10px;
  font-weight: 800;
  color: #9ba0a7;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.psr-track-city-body .name{
  font-size: 14px;
  font-weight: 700;
  color: #0f1115;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.psr-track-arrow{
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff4652, #E30613);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 18px -6px rgba(240,26,38,.55), inset 0 1px 0 rgba(255,255,255,.3);
  animation: psrArrowNudge 2.2s ease-in-out infinite;
}
.psr-track-arrow svg{ width: 18px; height: 18px; }
.psr-track-arrow svg path{ stroke: #fff; }
@keyframes psrArrowNudge{
  0%, 100%{ transform: translateX(0); }
  50%{ transform: translateX(3px); }
}

.psr-track-progress{
  padding: 4px 4px 6px;
  margin-bottom: 12px;
}
.psr-track-line{
  position: relative;
  height: 4px;
  border-radius: 4px;
  background: #eceef2;
  margin: 12px 12px 16px;
  --fill: 12.5%;
}
.psr-track-fill{
  position: absolute;
  top: 0; left: 0; height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff4652, #E30613);
  width: var(--fill);
  transition: width 7s linear;
  box-shadow: 0 0 12px rgba(240,26,38,.4);
}
/* Instant reset at the start of each new cycle — no visible rewind */
.psr-track-line.is-reset .psr-track-fill,
.psr-track-line.is-reset .psr-track-pkg{
  transition: none !important;
}
/* Package icon that slides along with the fill end */
.psr-track-pkg{
  position: absolute;
  top: 50%;
  left: var(--fill);
  width: 24px; height: 24px;
  padding: 3px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #E30613;
  box-shadow: 0 4px 10px -2px rgba(240,26,38,.45), 0 0 0 3px rgba(240,26,38,.15);
  transform: translate(-50%, -50%);
  transition: left 7s linear;
  z-index: 2;
}
.psr-track-pkg svg{ width: 100%; height: 100%; display: block; }
.psr-track-pkg::after{
  content: "";
  position: absolute; inset: -6px;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(240,26,38,.55);
  animation: psrPkgPulse 1.8s infinite cubic-bezier(.4,0,.6,1);
  pointer-events: none;
}
@keyframes psrPkgPulse{
  0%   { box-shadow: 0 0 0 0 rgba(240,26,38,.5); }
  70%  { box-shadow: 0 0 0 10px rgba(240,26,38,0); }
  100% { box-shadow: 0 0 0 0 rgba(240,26,38,0); }
}
.psr-track-steps{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  position: relative;
}
.psr-track-step{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  position: relative;
  background: transparent !important;
}
.psr-track-step .dot{
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #d6d9e0;
  transition: all .4s var(--psr-premium-ease);
}
.psr-track-step.is-done .dot{
  background: #E30613;
  border-color: #E30613;
  box-shadow: 0 0 0 3px rgba(240,26,38,.18);
}
.psr-track-step.is-active .dot{
  background: #E30613;
  border-color: #E30613;
  box-shadow: 0 0 0 4px rgba(240,26,38,.22);
  animation: psrStepPulse 1.6s infinite;
}
.psr-track-step .lbl{
  font-size: 10.5px;
  font-weight: 700;
  color: #9ba0a7;
  text-transform: uppercase;
  letter-spacing: .06em;
  transition: color .4s var(--psr-premium-ease);
}
.psr-track-step.is-done .lbl,
.psr-track-step.is-active .lbl{ color: #1a1d22; }
@keyframes psrStepPulse{
  0%,100%{ box-shadow: 0 0 0 4px rgba(240,26,38,.22); transform: scale(1); }
  50%    { box-shadow: 0 0 0 8px rgba(240,26,38,.08); transform: scale(1.12); }
}

/* Smooth fade when rotating shipment data */
.psr-track-card [data-track-field]{
  transition: opacity .35s var(--psr-premium-ease), transform .35s var(--psr-premium-ease);
}
.psr-track-card.is-swapping [data-track-field]{
  opacity: 0;
  transform: translateY(-4px);
}

.psr-track-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid rgba(15,17,21,.06);
  font-size: 12.5px;
  font-weight: 700;
  color: #3a3f4a;
}
.psr-track-meta{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.psr-track-meta svg{ width: 14px; height: 14px; }
.psr-track-price{
  font-size: 16px;
  font-weight: 900;
  background: linear-gradient(135deg, #1a1d22, #E30613);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -.01em;
}

/* =================== Coverage ribbon =================== */
.psr-coverage{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  border: 1px solid rgba(255,255,255,.88);
  box-shadow: 0 10px 24px -10px rgba(15,17,21,.18);
  max-width: 460px;
  z-index: 2;
}
.psr-coverage-label{
  font-size: 10px;
  font-weight: 800;
  color: #5b5f66;
  text-transform: uppercase;
  letter-spacing: .14em;
  white-space: nowrap;
}
.psr-coverage-flags{
  display: inline-flex;
  gap: 4px;
  font-size: 16px;
  line-height: 1;
  overflow: hidden;
  max-width: 240px;
}
.psr-coverage-flags span{
  transition: transform .3s var(--psr-premium-ease);
}
.psr-coverage:hover .psr-coverage-flags span{
  transform: translateY(-2px);
}
.psr-coverage-count{
  font-size: 11px;
  font-weight: 800;
  color: var(--psr-red);
  white-space: nowrap;
}

/* ============================================================================ */
/* EXCLUSIVE BENEFITS — modernised to match hero language                       */
/* ============================================================================ */
.exclusive-benefits{
  background: linear-gradient(180deg, #ffffff 0%, #fdf6f1 100%) !important;
  padding: 60px 0 80px !important;
  position: relative;
}
.exclusive-benefits::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 80px;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, rgba(240,26,38,.08), transparent 70%);
  pointer-events: none;
}

.exclusive-benefits .exclusive-benefits-header{
  padding: 10px 0 22px !important;
  margin-bottom: 10px !important;
  gap: 18px !important;
  position: relative;
  z-index: 3;
}
.exclusive-benefits .exclusive-benefits-h1{
  pointer-events: none;
  cursor: default !important;
  user-select: none;
}
.exclusive-benefits .exclusive-benefits-h1 a{
  pointer-events: none;
  cursor: default !important;
  user-select: none;
  text-decoration: none !important;
}
.exclusive-benefits .exclusive-benefits-h1 a:hover{
  text-decoration: none !important;
}
/* Non-interactive text in this section gets default cursor (no I-beam) */
/* (removed broad cursor:default rule with :not() — it could break in some browsers) */

.exclusive-benefits .exclusive-benefits-h1{
  text-align: center !important;
  font-size: clamp(30px, 3.8vw, 56px) !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  line-height: 1.05 !important;
  color: #1c140f !important;
  margin: 0 !important;
  position: relative;
}
.exclusive-benefits .exclusive-benefits-h1 a{
  display: inline-block !important;
  font-style: italic !important;
  font-size: inherit !important;
  color: transparent !important;
  background: linear-gradient(100deg, #ff3b41 0%, #E30613 30%, #ff6169 52%, #E30613 74%, #ff3b41 100%) !important;
  background-size: 240% 100% !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  animation: psrShimmer 7s linear infinite;
  letter-spacing: -.038em !important;
  text-decoration: none !important;
  position: relative;
  padding: 0 4px !important;
  filter: drop-shadow(0 6px 22px rgba(240,26,38,.22));
}

/* "Create an Account" button — enhanced */
.exclusive-benefits .button-header{
  background: linear-gradient(180deg, #ff4652, #E30613) !important;
  border: 0 !important;
  padding: 14px 36px !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  box-shadow:
    0 12px 28px -8px rgba(240,26,38,.5),
    0 1px 0 rgba(255,255,255,.2) inset;
  transition: transform .2s, box-shadow .25s;
  position: relative;
  overflow: hidden;
  z-index: 10 !important;
  pointer-events: auto !important;
  isolation: isolate;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.exclusive-benefits .button-header::before{
  content: "";
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.35) 50%, transparent 100%);
  transform: skewX(-20deg);
  transition: left .8s var(--psr-premium-ease);
  pointer-events: none;
}
/* Кнопка целиком: pointer-курсор, не выделяемая, кликабельная */
.exclusive-benefits a.button-header,
.exclusive-benefits a.button-header *,
.exclusive-benefits a.button-header::before,
.exclusive-benefits a.button-header::after{
  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  -webkit-touch-callout: none;
}
/* Force button to be on TOP of everything, fully clickable */
.exclusive-benefits a.button-header{
  pointer-events: auto !important;
  position: relative !important;
  z-index: 999 !important;
  isolation: isolate;
  display: inline-block !important;
  text-decoration: none !important;
}
/* Декоративные псевдо НЕ ловят клики */
.exclusive-benefits a.button-header::before,
.exclusive-benefits a.button-header::after{
  pointer-events: none !important;
}
/* Любые потомки кнопки тоже клик не перехватывают */
.exclusive-benefits a.button-header *{
  pointer-events: none !important;
}
.exclusive-benefits .button-header:hover{
  transform: translateY(-2px);
  box-shadow:
    0 18px 34px -8px rgba(240,26,38,.6),
    0 1px 0 rgba(255,255,255,.2) inset;
}
.exclusive-benefits .button-header:hover::before{ left: 160%; }

/* Benefit cards — thematic, numbered, with icons */
.exclusive-benefits .exclusive-benefits-block{
  gap: 18px !important;
  max-width: 720px;
  position: relative;
  z-index: 2;
  counter-reset: psrBenefit;
}
.exclusive-benefits .exclusive-benefits-holder{
  counter-increment: psrBenefit;
  gap: 22px !important;
  padding: 28px 34px 30px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(255,252,248,.9) 100%) !important;
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid rgba(255,255,255,.96) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 16px 36px -14px rgba(15,17,21,.12),
    0 6px 14px -4px rgba(240,26,38,.08);
  transition: transform .35s var(--psr-premium-ease), box-shadow .35s ease, border-color .35s ease;
  position: relative;
  overflow: hidden;
}

/* Левая градиентная полоска (brand-signature) */
.exclusive-benefits .exclusive-benefits-holder::before{
  content: "";
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 4px;
  background: linear-gradient(180deg, transparent, #ff4652, #E30613, transparent);
  border-radius: 0 4px 4px 0;
  opacity: .9;
  transition: opacity .3s ease, transform .3s ease;
}
.exclusive-benefits .exclusive-benefits-holder:hover::before{
  opacity: 1;
  transform: scaleY(1.15);
}

/* Огромная цифра-watermark в правом верхнем углу */
.exclusive-benefits .exclusive-benefits-holder::after{
  content: "0" counter(psrBenefit);
  position: absolute;
  top: 10px;
  right: 28px;
  font-size: 92px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.05em;
  color: transparent;
  -webkit-text-stroke: 2px rgba(240,26,38,.10);
  font-family: 'Nunito Sans', -apple-system, sans-serif;
  pointer-events: none;
  transition: transform .4s var(--psr-premium-ease), color .3s ease, -webkit-text-stroke-color .3s ease;
  z-index: 1;
}
.exclusive-benefits .exclusive-benefits-holder:hover::after{
  transform: translateY(-4px) scale(1.08);
  -webkit-text-stroke-color: rgba(240,26,38,.22);
}

/* Hover — lift + deeper shadow */
.exclusive-benefits .exclusive-benefits-holder:hover{
  transform: translateY(-4px);
  border-color: rgba(240,26,38,.22) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 26px 52px -14px rgba(15,17,21,.18),
    0 14px 28px -8px rgba(240,26,38,.2);
}

/* Тематичные подкладки по nth-child */
.exclusive-benefits .exclusive-benefits-holder:nth-child(1){
  background: linear-gradient(135deg, #ffffff 0%, #fff4f5 100%) !important;
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(2){
  background: linear-gradient(135deg, #ffffff 0%, #f5f6f9 100%) !important;
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(2)::after{
  -webkit-text-stroke: 2px rgba(26,29,34,.12);
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(2):hover::after{
  -webkit-text-stroke-color: rgba(26,29,34,.24);
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(2)::before{
  background: linear-gradient(180deg, transparent, #3a3f4a, #1a1d22, transparent);
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(3){
  background: linear-gradient(135deg, #ffffff 0%, #fff8f0 100%) !important;
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(3)::after{
  -webkit-text-stroke: 2px rgba(245,122,23,.18);
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(3):hover::after{
  -webkit-text-stroke-color: rgba(245,122,23,.3);
}
.exclusive-benefits .exclusive-benefits-holder:nth-child(3)::before{
  background: linear-gradient(180deg, transparent, #ff9a3c, #f57a17, transparent);
}

/* Hide decorative arrow */
.exclusive-benefits .exclusive-benefits-arrow{ display: none !important; }

/* Body */
.exclusive-benefits .block-exlusive{
  gap: 14px !important;
  width: 100%;
  position: relative;
  z-index: 2;
  padding-right: 60px; /* место под цифру-watermark */
}

/* Badge-pill с shine-effect */
.exclusive-benefits .block-exlusive > div:first-child{
  display: inline-flex;
  align-items: center;
}
.exclusive-benefits .block-exlusive > div:first-child span{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 20px 9px 16px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
  color: #fff !important;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 14px -4px rgba(15,17,21,.18), 0 1px 0 rgba(255,255,255,.25) inset;
}
/* Shine sweep на badge на hover карточки */
.exclusive-benefits .block-exlusive > div:first-child span::after{
  content: "";
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.4) 50%, transparent 100%);
  transform: skewX(-20deg);
  transition: left .8s var(--psr-premium-ease);
}
.exclusive-benefits .exclusive-benefits-holder:hover .block-exlusive > div:first-child span::after{
  left: 160%;
}
/* Иконка перед текстом badge (через ::before) */
.exclusive-benefits .block-exlusive > div:first-child span::before{
  content: "";
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
}
.exclusive-benefits .transparency-color{
  background: linear-gradient(135deg, #ff4652, #E30613) !important;
  box-shadow: 0 6px 14px -4px rgba(240,26,38,.4), 0 1px 0 rgba(255,255,255,.25) inset !important;
}
.exclusive-benefits .transparency-color::before{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/><circle cx='12' cy='12' r='3' stroke='%23fff' stroke-width='2'/></svg>");
}
.exclusive-benefits .rates-color{
  background: linear-gradient(135deg, #1a1d22, #3a3f4a) !important;
  box-shadow: 0 6px 14px -4px rgba(15,17,21,.3), 0 1px 0 rgba(255,255,255,.2) inset !important;
}
.exclusive-benefits .rates-color::before{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M3 3v18h18' stroke='%23fff' stroke-width='2' stroke-linecap='round'/><path d='M7 14l4-4 4 4 5-6' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.exclusive-benefits .shipment-color{
  background: linear-gradient(135deg, #ff9a3c, #f57a17) !important;
  box-shadow: 0 6px 14px -4px rgba(245,122,23,.4), 0 1px 0 rgba(255,255,255,.25) inset !important;
}
.exclusive-benefits .shipment-color::before{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M21 8l-9-5-9 5 9 5 9-5z' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/><path d='M3 8v8l9 5 9-5V8M12 13v8' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/></svg>");
}

/* Description text */
.exclusive-benefits .exclusive-benefits-inscription{
  font-size: 15.5px !important;
  color: #3a2e25 !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  max-width: 520px;
}

@media (max-width: 640px){
  .exclusive-benefits .exclusive-benefits-holder{
    padding: 22px 18px 22px !important;
  }
  /* Скрываем декоративную вертикальную полоску слева на мобилке */
  .exclusive-benefits .exclusive-benefits-holder::before{
    display: none !important;
  }
  .exclusive-benefits .exclusive-benefits-holder::after{
    font-size: 64px;
    right: 18px;
    top: 8px;
  }
  .exclusive-benefits .block-exlusive{
    padding-right: 12px;
    min-width: 0;
    width: 100%;
  }
  .exclusive-benefits .block-exlusive > div:first-child{
    max-width: calc(100% - 70px) !important;
    align-self: flex-start !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    display: inline-flex !important;
  }
  .exclusive-benefits .block-exlusive > div:first-child span{
    max-width: 100% !important;
    white-space: nowrap !important;
    text-align: left;
    font-size: 12px !important;
    padding: 8px 14px 8px 12px !important;
    line-height: 1.2 !important;
  }
  /* Цифру-водяной знак уменьшаем и слегка прячем чтобы не пересекалась */
  .exclusive-benefits .exclusive-benefits-holder::after{
    font-size: 52px !important;
    opacity: .8;
  }
  .exclusive-benefits .exclusive-benefits-inscription{
    font-size: 14px !important;
  }
}

/* Hand picture — меньше и чуть деликатнее */
.exclusive-benefits .exclusive-benefits-hand-picture{
  align-self: flex-end;
  animation: psrHandFloat 6s ease-in-out infinite;
}
.exclusive-benefits .exclusive-benefits-hand-picture img{
  max-width: 320px !important;
  filter: drop-shadow(0 24px 36px rgba(15,17,21,.12));
}
@keyframes psrHandFloat{
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50%      { transform: translateY(-10px) rotate(1deg); }
}

@media (max-width: 991px){
  .exclusive-benefits .exclusive-benefits-hand-picture{ display: none !important; }
  .exclusive-benefits .exclusive-benefits-block{ max-width: 100%; }
}
@media (prefers-reduced-motion: reduce){
  .exclusive-benefits .exclusive-benefits-hand-picture,
  .exclusive-benefits .exclusive-benefits-h1 a{ animation: none !important; }
}

/* ============================================================================ */
/* OUR PARTNERS — soft warm palette, glass logo cards                           */
/* ============================================================================ */
.partners{
  background: linear-gradient(180deg, #fdf6f1 0%, #f9ece2 100%) !important;
  padding: 64px 0 !important;
  position: relative;
  overflow: visible;
}
/* Ensure tooltip-overflow wrappers don't clip */
.partners .container,
.partners .inner-partners,
.partners .partners-images{
  overflow: visible !important;
}
.partners::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 40% at 15% 30%, rgba(240,26,38,.10), transparent 70%),
    radial-gradient(50% 35% at 85% 70%, rgba(245,122,23,.08), transparent 70%);
  pointer-events: none;
}

.partners .inner-partners{
  position: relative;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.partners .inner-partners::before{ display: none !important; }

.partners .middle-text{
  color: #1c140f !important;
  font-weight: 900 !important;
  font-style: italic !important;
  font-size: clamp(32px, 4vw, 56px) !important;
  letter-spacing: -.028em !important;
  margin-bottom: 8px !important;
  text-align: center !important;
  background: linear-gradient(100deg, #1c140f 0%, #3a2e25 100%) !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 4px 18px rgba(15,17,21,.1));
}
/* Red swoosh под заголовком */
.partners .middle-text{
  position: relative;
  display: inline-block !important;
  margin: 0 auto 20px !important;
}
.partners .inner-partners > p.text-center:first-child{
  display: block !important;
  text-align: center;
}
.partners .main-partner-text{
  color: #5b4a3e !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  margin: 0 auto 36px !important;
  max-width: 600px;
  text-align: center !important;
}

/* Логотипы — glass-карточки в сетке */
.partners .partners-images{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.partners .block-pictures{
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.95) !important;
  border-radius: 22px !important;
  padding: 26px 22px !important;
  height: 168px !important;
  width: auto !important;
  aspect-ratio: auto !important;
  box-sizing: border-box !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 10px 26px -8px rgba(15,17,21,.13),
    0 4px 10px -2px rgba(240,26,38,.07);
  transition:
    transform .4s var(--psr-premium-ease),
    box-shadow .4s ease,
    background .5s ease,
    border-color .35s ease;
  position: relative;
  overflow: hidden;
  align-items: center !important;
  isolation: isolate;
  cursor: pointer;
}
.partners .block-pictures:hover{
  transform: translateY(-6px);
  border-color: rgba(240,26,38,.5) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 30px 54px -18px rgba(240,26,38,.45),
    0 14px 24px -8px rgba(15,17,21,.14);
}
.partners .block-pictures img{
  max-height: 64px !important;
  max-width: 86% !important;
  width: auto !important;
  object-fit: contain;
  position: relative;
  z-index: 0;
  transition: opacity .4s ease;
}
.partners .block-pictures:hover img{
  opacity: 0;
}

/* ============== Curtain: один плавный slide-up снизу ============== */
/* ::before — фон-занавес + название перевозчика сверху */
.partners .block-pictures::before{
  content: attr(data-carrier);
  position: absolute;
  top: -26px;
  right: -22px;
  bottom: -26px;
  left: -22px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 24px 110px 24px;
  box-sizing: border-box;
  background:
    radial-gradient(140% 90% at 50% 0%, rgba(255,255,255,.18) 0%, transparent 55%),
    linear-gradient(135deg, #f01a26 0%, #c11018 100%);
  color: #fff;
  font-family: inherit;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.2;
  letter-spacing: -.01em;
  text-align: center;
  text-shadow: 0 1px 3px rgba(0,0,0,.22);
  border-radius: inherit;
  transform: translateY(220px);
  transition: transform .7s cubic-bezier(.22, .61, .36, 1);
  z-index: 1;
  pointer-events: none;
}
/* ::after — список плюсов внизу карточки */
.partners .block-pictures::after{
  content: attr(data-perks);
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 22px;
  white-space: pre-line;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .005em;
  color: #ffffff;
  text-align: left;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.32);
  transform: translateY(220px);
  transition: transform .7s cubic-bezier(.22, .61, .36, 1);
  z-index: 2;
  pointer-events: none;
}
.partners .block-pictures:hover::before,
.partners .block-pictures:hover::after{
  transform: translateY(0);
}

/* Touch — fallback: tap reveals */
@media (hover: none){
  .partners .block-pictures:active img,
  .partners .block-pictures:focus-within img{ opacity: 0; }
  .partners .block-pictures:active::before,
  .partners .block-pictures:focus-within::before,
  .partners .block-pictures:active::after,
  .partners .block-pictures:focus-within::after{
    transform: translateY(0);
  }
}

@media (max-width: 991px){
  .partners .partners-images{ grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 760px; }
  .partners .block-pictures{ height: 150px !important; padding: 22px 18px !important; }
}
@media (max-width: 768px){
  .partners .partners-images{ grid-template-columns: repeat(2, 1fr); gap: 14px; max-width: 100%; }
  .partners .block-pictures{ height: 168px !important; padding: 20px 16px !important; border-radius: 18px !important; }
  .partners .block-pictures img{ max-height: 52px !important; }
  /* ::before-curtain: переопределяем negative-inset и padding для мобилки */
  .partners .block-pictures::before{
    top: -20px !important;
    right: -16px !important;
    bottom: -20px !important;
    left: -16px !important;
    padding: 16px 12px 96px 12px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    align-items: center !important;
  }
  .partners .block-pictures::after{
    font-size: 12.5px !important;
    bottom: 14px !important;
    left: 14px !important;
    right: 14px !important;
    line-height: 1.5 !important;
    padding-top: 8px !important;
    font-weight: 600 !important;
  }
}


/* =================== Decorative floaters — clean, consistent, subtle =================== */
.psr-floater{
  position: absolute;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: .28;
  z-index: 1;
  color: #E30613;
  animation: psrFloatBob 8s ease-in-out infinite;
  filter: drop-shadow(0 3px 8px rgba(240,26,38,.12));
}
.psr-floater svg{
  width: 100%;
  height: 100%;
  display: block;
  stroke: currentColor;
}
/* Позиции: вокруг tracking-card, не спереди */
.psr-floater-a{ top: 8%;  left:  4%;  animation-delay: 0s;   animation-duration: 9s;  }
.psr-floater-b{ top: 18%; right: 6%;  animation-delay: 2s;   animation-duration: 7.5s; opacity: .22; }
.psr-floater-c{ bottom: 14%; left: 8%; animation-delay: 4s; animation-duration: 10s; opacity: .24; }
/* Все декоративные иконки (коробка / часы / глобус) скрыты по запросу */
.psr-floater,
.psr-floater-a,
.psr-floater-b,
.psr-floater-c{ display: none !important; }

/* ============================================================================ */
/* "Presco Delivery" — bold + italic как в оригинале, только без линии-волны     */
/* под текстом и без звезды-спарка справа сверху.                                */
/* ============================================================================ */
.saving-text .presco-texts::after,
.saving-text .presco-texts::before{
  display: none !important;
}
/* Мобилка/планшет — нет смысла */
@media (max-width: 991px){
  .psr-floater{ display: none !important; }
}
@keyframes psrFloatBob{
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@media (prefers-reduced-motion: reduce){
  .psr-floater{ animation: none !important; }
}

/* =================== Responsive (tracking card hidden on mobile) =================== */
@media (max-width: 991px){
  .psr-track-card,
  .psr-coverage,
  .psr-floater{ display: none !important; }
}

/* =================== Live shipment toast (social proof) =================== */
.psr-live-toast{
  position: absolute;
  left: 24px;
  bottom: 26px;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: 0 14px 34px -12px rgba(15,17,21,.22), 0 1px 0 rgba(255,255,255,.7) inset;
  font-size: 12.5px;
  color: #1a1d22;
  opacity: 0;
  transform: translateY(12px) scale(.96);
  transition: opacity .45s var(--psr-premium-ease), transform .45s var(--psr-premium-ease);
  pointer-events: none;
  max-width: 280px;
}
.psr-live-toast.show{
  opacity: 1;
  transform: none;
}
.psr-live-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #12b981;
  box-shadow: 0 0 0 0 rgba(18,185,129,.55);
  animation: psrLivePulse 1.8s infinite;
  flex-shrink: 0;
}
@keyframes psrLivePulse{
  0%   { box-shadow: 0 0 0 0 rgba(18,185,129,.55); }
  70%  { box-shadow: 0 0 0 10px rgba(18,185,129,0); }
  100% { box-shadow: 0 0 0 0 rgba(18,185,129,0); }
}
.psr-live-flag{ font-size: 18px; line-height: 1; }
.psr-live-body{ display: flex; flex-direction: column; line-height: 1.25; }
.psr-live-body .row1{ font-weight: 700; color: #0f1115; }
.psr-live-body .row1 .psr-live-city{ color: var(--psr-red); }
.psr-live-body .row2{ font-size: 11px; color: #5b5f66; font-weight: 600; }
@media (max-width: 991px){
  .psr-live-toast{ display: none; }
}

/* =================== Partners marquee =================== */
.our-partners-horizontal-slider{
  background: linear-gradient(180deg, #f7f8fb 0%, #eef0f5 100%) !important;
  padding: 26px 0 30px !important;
  position:relative;
  overflow:hidden;
}
.our-partners-horizontal-slider::before,
.our-partners-horizontal-slider::after{
  content:"";
  position:absolute; top:0; bottom:0;
  width: 80px;
  z-index: 3;
  pointer-events:none;
}
.our-partners-horizontal-slider::before{
  left:0;
  background: linear-gradient(90deg, #f2f4f8 0%, rgba(242,244,248,0) 100%);
}
.our-partners-horizontal-slider::after{
  right:0;
  background: linear-gradient(-90deg, #eef0f5 0%, rgba(238,240,245,0) 100%);
}
.our-partners-horizontal-slider .container{
  position: relative;
  z-index: 2;
}
.our-partners-horizontal-slider h1{
  color:#5b5f66 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
  margin-bottom: 20px !important;
  text-align:center;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 14px;
}
.our-partners-horizontal-slider h1::before,
.our-partners-horizontal-slider h1::after{
  content:"";
  display:inline-block;
  width: 48px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240,26,38,.55), transparent);
}

/* Marquee body */
.psr-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.psr-marquee-track{
  display:flex;
  gap: 56px;
  width: max-content;
  animation: psrMarquee 36s linear infinite;
  will-change: transform;
}
.psr-marquee:hover .psr-marquee-track{ animation-play-state: paused; }
.psr-marquee-item{
  flex: 0 0 auto;
  height: 58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0 10px;
}
.psr-marquee-item img{
  max-height: 42px;
  width:auto;
  filter: grayscale(1) contrast(.85);
  opacity: .62;
  transition: filter .4s var(--psr-premium-ease), opacity .4s var(--psr-premium-ease), transform .4s var(--psr-premium-ease);
}
.psr-marquee-item:hover img{
  filter: none;
  opacity: 1;
  transform: scale(1.1);
}
/* Hide unmounted slider till we rebuild */
#hz-slider:not(.psr-marquee){
  opacity: 0;
  min-height: 58px;
}
@media (prefers-reduced-motion: reduce){
  .psr-marquee-track{ animation: none !important; }
  .psr-eyebrow::before{ animation: none !important; }
}

/* =================== Keyframes =================== */
@keyframes psrEyebrowSpin{ to { transform: rotate(1turn); } }
@keyframes psrEyebrowIn{
  from { opacity:0; transform: translateY(10px) scale(.97); }
  to   { opacity:1; transform: none; }
}
@keyframes psrPulse{
  0%   { box-shadow: 0 0 0 0 rgba(240,26,38,.55); }
  70%  { box-shadow: 0 0 0 14px rgba(240,26,38,0); }
  100% { box-shadow: 0 0 0 0 rgba(240,26,38,0); }
}
@keyframes psrShimmer{
  from { background-position: 0% 50%; }
  to   { background-position: 200% 50%; }
}

/* =================== Responsive tweaks =================== */
@media (max-width: 991px){
  .psr-stats-row{
    grid-template-columns: repeat(3, 1fr);
    padding: 14px 14px;
    gap: 6px;
  }
  .psr-stat-num{ font-size: 22px; }
  .psr-stat-label{ font-size: 10px; letter-spacing: .05em; }
}
@media (max-width: 560px){
  .psr-eyebrow{ font-size: 11px; padding: 6px 12px 6px 6px; gap: 6px; }
  .psr-eyebrow .reviews{ display:none; }
  .psr-eyebrow .sep{ display:none; }
  .psr-rotator{ font-size: 14px; }
  .three-buttons{ padding: 10px 12px !important; }
  .three-buttons span{ font-size: 12px !important; }
  .three-buttons img{ width: 32px !important; height: 32px !important; padding: 7px !important; }
  .psr-stats-row{
    padding: 12px 6px;
    border-radius: 14px;
    gap: 2px;
  }
  .psr-stat-num{ font-size: 20px; }
  .psr-stat-label{ font-size: 9px; letter-spacing: .04em; margin-top: 4px; }
  .our-partners-horizontal-slider::before,
  .our-partners-horizontal-slider::after{ width: 40px; }
  .psr-marquee-track{ gap: 32px; animation-duration: 28s; }
  .psr-marquee-item img{ max-height: 30px; }
}

/* ============================================================================ */
/* APP "COMING SOON" treatment — премиум-беядж + preview-stores                 */
/* ============================================================================ */
.application .phone-block{ position: relative; }

/* Floating badge над группой телефонов */
.psr-coming-soon-badge{
  position: absolute;
  top: -56px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 12;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 22px;
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(255,255,255,.22) 0%, transparent 60%),
    linear-gradient(135deg, #f01a26 0%, #c11018 100%);
  color: #fff;
  font-family: inherit;
  font-weight: 800;
  font-size: 11.5px;
  letter-spacing: .22em;
  border-radius: 999px;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow:
    0 1px 0 rgba(255,255,255,.28) inset,
    0 14px 30px -8px rgba(240,26,38,.55),
    0 4px 10px -2px rgba(15,17,21,.14);
  overflow: hidden;
  isolation: isolate;
  animation: psrCSBadgeFloat 4.5s ease-in-out infinite;
}
.psr-coming-soon-badge::after{
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 70%;
  height: 100%;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.42) 50%, transparent 100%);
  transform: skewX(-18deg);
  animation: psrCSBadgeShine 3.6s ease-in-out infinite;
  z-index: 1;
  pointer-events: none;
}
.psr-cs-text{ position: relative; z-index: 2; }
.psr-cs-pulse{
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  z-index: 2;
  box-shadow: 0 0 8px rgba(255,255,255,.7);
}
.psr-cs-pulse::before{
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  animation: psrCSPulseRing 1.9s cubic-bezier(.22,.61,.36,1) infinite;
}
@keyframes psrCSPulseRing{
  0%   { transform: scale(1);   opacity: .6; }
  80%  { transform: scale(2.6); opacity: 0; }
  100% { transform: scale(2.6); opacity: 0; }
}
@keyframes psrCSBadgeFloat{
  0%, 100% { transform: translate(-50%, 0); }
  50%      { transform: translate(-50%, -6px); }
}
@keyframes psrCSBadgeShine{
  0%        { left: -120%; }
  55%, 100% { left: 140%; }
}

/* Wrap вокруг кнопок store */
.psr-app-coming-wrap{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

/* Pill над кнопками */
.psr-app-coming-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  background:
    linear-gradient(135deg, rgba(240,26,38,.10) 0%, rgba(193,16,24,.06) 100%);
  border: 1px solid rgba(240,26,38,.30);
  color: #c11018;
  font-family: inherit;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .12em;
  border-radius: 999px;
  text-transform: uppercase;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 6px 16px -8px rgba(240,26,38,.25);
}
.psr-app-coming-dot{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f01a26;
  flex-shrink: 0;
  animation: psrCSDotPulse 1.8s ease-in-out infinite;
}
@keyframes psrCSDotPulse{
  0%, 100% { transform: scale(1);   box-shadow: 0 0 0 0 rgba(240,26,38,.5); }
  50%      { transform: scale(1.25);box-shadow: 0 0 0 6px rgba(240,26,38,0); }
}

/* Preview-state для кнопок store */
.psr-app-stores-preview{
  position: relative;
  pointer-events: none;
}
.psr-app-stores-preview .mobile-application-picture{
  position: relative;
  transition: transform .35s var(--psr-premium-ease);
}
.psr-app-stores-preview .mobile-application-picture img{
  filter: grayscale(.20) drop-shadow(0 6px 16px rgba(0,0,0,.08));
  opacity: .88;
  transition: filter .4s ease, opacity .4s ease;
}
.psr-app-stores-preview .mobile-application-picture::after{
  content: 'SOON';
  position: absolute;
  top: -8px;
  right: -8px;
  background: linear-gradient(135deg, #f01a26 0%, #c11018 100%);
  color: #fff;
  font-family: inherit;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: .14em;
  padding: 4px 9px;
  border-radius: 999px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.30) inset,
    0 8px 18px -4px rgba(240,26,38,.55);
  pointer-events: none;
  transform: rotate(8deg);
  z-index: 3;
}

/* Note под кнопками */
.psr-app-coming-note{
  text-align: center;
  color: #5b4a3e;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.65;
  font-weight: 500;
  max-width: 480px;
  margin: 4px 0 0 0;
  padding: 0 16px;
}
.psr-app-coming-note strong{
  color: #c11018;
  font-weight: 800;
}

@media (prefers-reduced-motion: reduce){
  .psr-coming-soon-badge,
  .psr-coming-soon-badge::after,
  .psr-cs-pulse::before,
  .psr-app-coming-dot{ animation: none !important; }
}

/* ============================================================================ */
/* MOBILE: форма всегда видна, CTA-кнопка и модалка отключены                    */
/* ============================================================================ */

/* CTA-кнопка и модалка отключены на всех экранах */
.psr-mobile-quote-cta,
.psr-mobile-quote-hint,
.psr-quote-modal-backdrop,
.psr-quote-modal-close{ display: none !important; }

@media (max-width: 768px){
  /* Форма всегда видна на мобилке */
  .main-section .new-form-wrapper{ display: block !important; }

  /* Показываем CTA-кнопку */
  .psr-mobile-quote-cta{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 18px auto 0;
    padding: 18px 28px;
    border: none;
    border-radius: 999px;
    background:
      radial-gradient(140% 100% at 50% 0%, rgba(255,255,255,.22) 0%, transparent 60%),
      linear-gradient(135deg, #f01a26 0%, #c11018 100%);
    color: #fff;
    font-family: inherit;
    font-weight: 800;
    font-size: 17px;
    letter-spacing: -.005em;
    line-height: 1;
    cursor: pointer;
    box-shadow:
      0 1px 0 rgba(255,255,255,.22) inset,
      0 18px 38px -10px rgba(240,26,38,.55),
      0 6px 14px -4px rgba(15,17,21,.18);
    transition: transform .25s var(--psr-premium-ease), box-shadow .3s ease;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    width: min(92%, 340px);
  }
  .psr-mobile-quote-cta::after{
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.32) 50%, transparent 100%);
    transform: translateX(-100%) skewX(-18deg);
    animation: psrCTAShine 3.6s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
  }
  .psr-mqc-icon, .psr-mqc-text, .psr-mqc-arrow{ position: relative; z-index: 2; display: inline-flex; align-items: center; }
  .psr-mqc-arrow{ transition: transform .35s var(--psr-premium-ease); }
  .psr-mobile-quote-cta:active{ transform: scale(.97); }
  .psr-mobile-quote-cta:active .psr-mqc-arrow{ transform: translateX(4px); }
  @keyframes psrCTAShine{
    0%       { transform: translateX(-100%) skewX(-18deg); }
    55%, 100%{ transform: translateX(220%) skewX(-18deg); }
  }

  .psr-mobile-quote-hint{
    display: block;
    margin: 10px auto 0;
    text-align: center;
    color: #6b5a4d;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .005em;
  }

  /* Backdrop — лёгкое затемнение как у Google, без блюра */
  .psr-quote-modal-backdrop{
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(32, 33, 36, 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
  }
  body.psr-quote-modal-open{ overflow: hidden; }
  body.psr-quote-modal-open .psr-quote-modal-backdrop{
    opacity: 1;
    pointer-events: auto;
  }

  /* Form modal: bottom-sheet снизу */
  body.psr-quote-modal-open .main-section .new-form-wrapper{
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92vh;
    margin: 0 !important;
    padding: 56px 18px 24px !important;
    border-radius: 22px 22px 0 0 !important;
    background: #fff !important;
    box-shadow: 0 -22px 50px rgba(15,17,21,.25) !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    animation: psrSheetIn .42s cubic-bezier(.22, .8, .36, 1);
    isolation: isolate;
  }
  @keyframes psrSheetIn{
    from { transform: translateY(102%); }
    to   { transform: translateY(0); }
  }

  /* Грабельная "ручка" сверху бэк-шита */
  body.psr-quote-modal-open .main-section .new-form-wrapper::before{
    content: '';
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 44px;
    height: 4px;
    border-radius: 999px;
    background: rgba(15,17,21,.18);
  }

  /* Close X */
  body.psr-quote-modal-open .psr-quote-modal-close{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 22px;
    right: 14px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(15,17,21,.06);
    border: none;
    color: #1a1d22;
    cursor: pointer;
    z-index: 10;
    transition: background .2s ease;
    -webkit-tap-highlight-color: transparent;
  }
  body.psr-quote-modal-open .psr-quote-modal-close:active{ background: rgba(15,17,21,.14); }
}

/* Очень узкие экраны — больше воздуха в модалке */
@media (max-width: 380px){
  .psr-mobile-quote-cta{ font-size: 15.5px; padding: 16px 22px; gap: 10px; }
  body.psr-quote-modal-open .main-section .new-form-wrapper{ padding: 52px 14px 20px !important; }
}

/* ============================================================================ */
/* MOBILE: общие правки                                                         */
/* ============================================================================ */
@media (max-width: 991px){
  /* Жёстко прячем синюю desktop "Ship Now" кнопку на мобилке/планшете */
  header .pulse-btn[style*="0056a7"],
  header a[style*="0056a7"][class*="pulse-btn"]{
    display: none !important;
  }
}

@media (max-width: 768px){
  /* Нижний safe-area отступ, чтобы плавающие кнопки не закрывали контент */
  body{ padding-bottom: env(safe-area-inset-bottom, 0); }

  /* Floating WhatsApp — поменьше и не перекрывает контент */
  .whatsapp-float{
    width: 50px !important;
    height: 50px !important;
    bottom: 16px !important;
    right: 14px !important;
    box-shadow: 0 8px 22px rgba(37,211,102,.35) !important;
  }
  .whatsapp-float img{ padding: 8px !important; }

  /* Google reCAPTCHA badge — мобильное позиционирование задано в refresh.css */

  /* OUR PARTNERS — уменьшаем флангирующие линии и переносим текст красиво */
  .our-partners-horizontal-slider h1{
    font-size: 11px !important;
    letter-spacing: .14em !important;
    flex-wrap: wrap;
    line-height: 1.5;
    padding: 0 14px;
    gap: 10px;
  }
  .our-partners-horizontal-slider h1::before,
  .our-partners-horizontal-slider h1::after{
    width: 24px;
    flex-shrink: 0;
  }

  /* Trust-cards: иконка выше текста + улучшенный layout */
  .three-buttons{
    flex-direction: column !important;
    text-align: center !important;
    padding: 14px 10px !important;
    gap: 8px !important;
    min-height: 96px;
    justify-content: center !important;
  }
  .three-buttons span{
    text-align: center !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }
  .three-buttons img{
    width: 36px !important;
    height: 36px !important;
    padding: 8px !important;
  }
  .three-buttons-section{
    gap: 10px !important;
    padding: 4px 0 !important;
  }

  /* Section dividers — на мобилке только маленький ромбик-орнамент по центру, без линий */
  .psr-section-divider{
    padding: 14px 0 !important;
  }
  .psr-section-divider-line{
    display: none !important;
  }
  .psr-section-divider-ornament{
    transform: scale(.7);
    opacity: .6;
  }
  .psr-section-divider-ornament::before,
  .psr-section-divider-ornament::after{
    display: none !important;
  }

  /* Дополнительный нижний padding у последней секции (чтобы плавающие кнопки не закрывали) */
  footer, .psr-footer{ padding-bottom: 80px !important; }

  /* Hero: компактнее заголовки + нормальный отступ сверху */
  .get-quote-section{ padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
  /* Скрываем десктопный декор который не помещается на мобилке */
  .psr-van-3d, .psr-wordmark-stage, .psr-wordmark{ display: none !important; }
  .get-quote-section .main-section,
  .main-section{ padding: 8px 0 14px !important; padding-top: 8px !important; padding-bottom: 14px !important; min-height: 0 !important; }
  .container-inner{ padding-left: 16px !important; padding-right: 16px !important; }
  .saving-text{ padding: 0 8px !important; margin-top: 0 !important; }
  .saving-text-main{ font-size: 18px !important; letter-spacing: .12em !important; }
  .presco-texts{ font-size: 36px !important; }

  /* Секции "How It Works" / "Exclusive Benefits" / "Our Partners" / "Application" */
  section{ scroll-margin-top: 80px; }
  .how-it-works, .exclusive-benefits, .partners, .application{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .partners .container{ padding: 0 4px !important; }
  .partners .partners-images{ gap: 12px !important; }
}

/* Узкие — компакт ещё */
@media (max-width: 420px){
  .three-buttons span{ font-size: 11.5px !important; }
  .three-buttons img{ width: 32px !important; height: 32px !important; padding: 7px !important; }
  .saving-text-main{ font-size: 16px !important; }
  .presco-texts{ font-size: 30px !important; }
}

@media (max-width: 991px){
  /* Бейдж выносится JS'ом ВЫШЕ заголовка — переключаем на normal flow с центрированием */
  .psr-coming-soon-badge{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    font-size: 10.5px;
    padding: 9px 18px;
    gap: 8px;
    letter-spacing: .18em;
    align-self: center;
  }
  .psr-cs-pulse{ width: 8px; height: 8px; }
  /* Уменьшаем отступы у application-секции на мобилке */
  .application{ padding: 24px 0 !important; }
  .application .container{ padding: 0 !important; }
  .application .inner-application{ padding: 0 16px !important; gap: 16px !important; }
  .application .inner-application > div.d-flex{ gap: 14px !important; }
  .application .tablet-mobile-heading{ margin-top: 0 !important; margin-bottom: 0 !important; text-align: center; }
  /* Кружки с цифрами — нормальный размер, чтобы цифры были видны */
  .application .circle-puncts{
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    flex-shrink: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    aspect-ratio: 1 / 1 !important;
  }
  .application .puncts-inscription{ font-size: 13px !important; }
  .application .puncts-inscription-line{ margin-top: 0 !important; }
}
@media (max-width: 768px){
  .psr-coming-soon-badge{ font-size: 10px; padding: 8px 16px; letter-spacing: .14em; }
  .psr-app-coming-pill{
    font-size: 8.5px !important;
    padding: 6px 12px !important;
    gap: 5px !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
    line-height: 1.2;
  }
  .psr-app-coming-dot{ width: 6px !important; height: 6px !important; }
  .psr-app-coming-note{ font-size: 12.5px; line-height: 1.55; }
  /* SOON-теги внутри кнопок-сторов */
  .psr-app-stores-preview{ gap: 12px !important; padding: 0 8px; justify-content: center; }
  .psr-app-stores-preview .mobile-application-picture{
    position: relative;
    flex: 0 1 auto !important;
    width: auto !important;
  }
  .psr-app-stores-preview .mobile-application-picture img{
    display: block;
    width: 130px !important;
    max-width: 130px !important;
  }
  .psr-app-stores-preview .mobile-application-picture::after{
    font-size: 8.5px !important;
    padding: 2px 6px !important;
    top: -6px !important;
    right: -6px !important;
    transform: rotate(8deg) !important;
    border-radius: 999px !important;
    letter-spacing: .1em !important;
  }
}
