/* ============================================================
   CAPITAL TOUR · Горы Аватара · Лендинг
   ============================================================ */

:root{
  /* Brand */
  --indigo:#4351DD;
  --indigo-bright:#6478FF;
  --indigo-50:#E4E7FD;
  --indigo-deep:#2D3AB8;
  --indigo-ink:#1A2068;

  --teal:#00B6AA;
  --teal-soft:#7FDAD3;
  --teal-50:#E5F8F7;
  --teal-deep:#009088;

  /* Neutral */
  --ink:#0B0F2C;
  --ink-2:#3A4163;
  --mute:#8A93B5;
  --line:#E8EBF5;
  --bg:#F5F6FB;
  --bg-2:#FAFBFE;
  --white:#FFFFFF;

  --warn:#FFC93C;
  --rose:#FF5C82;

  /* Radius */
  --r-sm:14px;
  --r-md:20px;
  --r-lg:28px;
  --r-xl:32px;
  --r-card:36px;
  --r-pill:999px;

  /* Shadows */
  --shadow-card:    0 40px 100px -28px rgba(11,15,44,0.30), 0 8px 28px -10px rgba(11,15,44,0.15);
  --shadow-pass:    0 30px 70px -20px rgba(11,15,44,0.55), 0 8px 24px -8px rgba(11,15,44,0.30);
  --shadow-cta:     0 14px 30px rgba(0,182,170,0.42);
  --shadow-cta-h:   0 18px 40px rgba(0,182,170,0.55);
  --shadow-pill:    0 8px 28px rgba(11,15,44,0.10);
  --shadow-modal:   0 50px 120px rgba(11,15,44,0.45);
  --shadow-mini:    0 6px 22px rgba(11,15,44,0.06);
  --shadow-mini-h:  0 14px 36px rgba(11,15,44,0.10);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}
body{
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:18px;
  line-height:1.5;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}

/* ============================================================
   ИКОНКИ (Bootstrap Icons) — базовые цвета/размеры в контексте
   ============================================================ */
.bi{display:inline-block;line-height:1;flex-shrink:0}

.eyebrow-dot .bi{font-size:11px;color:#fff}
.meta-pill .bi{font-size:17px;color:var(--teal-soft)}
.btn-primary .bi{font-size:16px}
.btn-ghost .play .bi{font-size:12px;color:var(--indigo);margin-left:1px}
.action-hint .bi{font-size:18px;color:var(--teal-soft);margin-top:1px}
.pass-brand-dot .bi{font-size:12px;color:#fff}
.route-plane .bi{font-size:15px;color:#fff;transform:rotate(45deg)}
.pass-price-extra .save .bi{font-size:13px;color:currentColor}
.pass-gift-icon .bi{font-size:14px;color:#fff}
.pass-cta .bi{font-size:16px}
.pass-foot .bi{font-size:14px;color:var(--teal-soft)}
.pass-trust-item .bi{font-size:18px;color:var(--teal-soft)}
.modal-close .bi{font-size:18px}
.modal-gift-icon .bi{font-size:22px;color:var(--indigo)}
.field-icon .bi{font-size:18px;color:inherit}
.modal-cta .bi{font-size:16px}
.modal-foot .bi{font-size:14px;color:var(--teal)}
.header-cta .bi{font-size:14px}

.container{max-width:1240px;margin:0 auto;padding:0 24px}

/* ============================================================
   ШАПКА — fixed, белая «пилюля»
   ============================================================ */
.header{
  position:fixed;top:14px;left:0;right:0;z-index:50;
  padding:0 24px;
  pointer-events:none;
}
.header-pill{
  pointer-events:auto;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(11,15,44,0.04);
  border-radius:var(--r-pill);
  padding:8px 10px 8px 22px;
  box-shadow:var(--shadow-pill);
  display:flex;align-items:center;gap:18px;
  max-width:1240px;margin:0 auto;
}
.logo{display:flex;align-items:center;gap:14px;flex-shrink:0}
.logo-img{height:34px;width:auto}
.logo-img--compact{display:none}
.logo-tag{
  font-size:11px;line-height:1.2;color:var(--mute);
  font-weight:600;max-width:120px;letter-spacing:0.01em;
  border-left:1px solid var(--line);padding-left:14px;
}

.nav{display:flex;align-items:center;gap:2px;margin-left:8px}
.nav a{
  padding:9px 14px;border-radius:var(--r-pill);
  font-size:14px;font-weight:600;color:var(--ink-2);
  letter-spacing:-0.005em;
  transition:background .2s ease, color .2s ease;
}
.nav a:hover{background:var(--indigo-50);color:var(--indigo)}

.header-spacer{flex:1}
.header-right{display:flex;align-items:center;gap:12px}
.msg-row{display:flex;gap:6px}
.msg-btn{
  width:40px;height:40px;border-radius:50%;
  background:var(--teal-50);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s ease, background .25s ease;
  position:relative;
}
.msg-btn:hover{background:var(--teal);transform:translateY(-2px)}
.msg-btn svg{width:18px;height:18px;fill:var(--teal);transition:fill .25s ease}
.msg-btn:hover svg{fill:#fff}
.msg-btn--max{background:var(--indigo)}
.msg-btn--max:hover{background:var(--indigo-deep);transform:translateY(-2px)}
.msg-btn--max img{width:22px;height:22px;display:block}

.header-phone{
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
  padding-left:14px;border-left:1px solid var(--line);
  gap:3px;line-height:1;
}
.header-phone strong{font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-0.01em;line-height:1}
.header-phone:hover strong{color:var(--indigo)}
.header-phone .work{font-size:12px;color:var(--ink-2);font-weight:600;display:flex;align-items:center;gap:6px;line-height:1}
.header-phone .work::before{content:'';width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}

.header-cta{
  position:relative;
  padding:11px 18px;background:var(--indigo);color:#fff;
  font-weight:700;font-size:14px;border-radius:var(--r-pill);
  display:flex;align-items:center;gap:8px;letter-spacing:-0.01em;
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.header-cta:hover{background:var(--indigo-deep);transform:translateY(-1px);box-shadow:0 10px 22px rgba(67,81,221,.32)}

.header-cta-tip{
  position:absolute;top:calc(100% + 12px);right:0;
  background:var(--ink);color:#fff;
  padding:9px 14px;border-radius:12px;
  font-size:12px;font-weight:600;white-space:nowrap;letter-spacing:-0.01em;
  box-shadow:0 12px 30px rgba(11,15,44,0.25);
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
  z-index:120;
}
.header-cta-tip::before{
  content:'';position:absolute;top:-5px;right:24px;
  width:10px;height:10px;background:var(--ink);
  transform:rotate(45deg);border-radius:2px;
}
.header-cta-tip .dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#22c55e;margin-right:7px;vertical-align:middle;
  box-shadow:0 0 0 3px rgba(34,197,94,.22);
  animation:pulse 2.2s infinite;
}
.header-cta:hover .header-cta-tip{opacity:1;transform:translateY(0)}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  padding:14px 24px;
  background:var(--bg);
  min-height:100vh;
  display:flex;align-items:flex-start;
}

.hero-card{
  position:relative;z-index:1;
  width:100%;max-width:1240px;margin:0 auto;
  background:#0B0F2C;
  border-radius:var(--r-card);
  box-shadow:var(--shadow-card);
  min-height:680px;
  overflow:hidden;
  isolation:isolate;
}

.hero-card-bg{
  position:absolute;inset:-18% -8%;z-index:0;
  background-image:url('../img/hero-sunset.webp');
  background-size:cover;background-position:center 35%;
  transform:scale(1.18);
  filter:saturate(1.06) contrast(1.02);
}
@supports (animation-timeline: scroll()){
  .hero-card-bg{
    will-change:transform;
    animation:heroParallax linear both;
    animation-timeline:scroll(root block);
    animation-range:0 140vh;
  }
  @keyframes heroParallax{
    from{transform:scale(1.18) translateY(-60px)}
    to{transform:scale(1.18) translateY(320px)}
  }
}

.hero-card::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse at 90% 15%, rgba(255,200,120,0.16) 0%, transparent 55%),
    linear-gradient(100deg, rgba(11,15,44,0.86) 0%, rgba(11,15,44,0.68) 35%, rgba(11,15,44,0.34) 60%, rgba(11,15,44,0.42) 100%);
}
.hero-card::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  opacity:.30;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.hero-inner{
  position:relative;z-index:3;
  display:grid;grid-template-columns:1.1fr 420px;gap:48px;align-items:center;
  padding:108px 52px 56px;
  min-height:680px;
}

.hero-text{
  display:flex;flex-direction:column;justify-content:center;
  color:#fff;
  text-shadow:0 2px 24px rgba(11,15,44,0.30);
}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 18px 7px 7px;
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.28);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-radius:var(--r-pill);
  font-size:13px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
  color:#fff;
  align-self:flex-start;
  margin-bottom:24px;
  animation:fadeUp .8s .05s both;
}
.eyebrow-dot{
  width:24px;height:24px;border-radius:50%;
  background:var(--teal);
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;flex-shrink:0;
}
.eyebrow-dot::before{
  content:'';position:absolute;inset:-4px;border-radius:50%;
  background:var(--teal);opacity:.40;animation:pulse 2.2s infinite;
}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.40}50%{transform:scale(1.45);opacity:0}}

/* Версия eyebrow для светлых секций */
.eyebrow--light{
  background:var(--teal-50);border:1px solid rgba(0,182,170,0.20);
  color:var(--teal-deep);backdrop-filter:none;
}

.hero-rating{
  display:inline-flex;align-items:center;gap:8px;
  color:#fff;font-size:14px;font-weight:600;
  margin-bottom:16px;
  animation:fadeUp .8s .1s both;
}
.hero-rating .stars{display:inline-flex;gap:1px}
.hero-rating .stars svg{width:16px;height:16px;fill:#FFC93C}
.hero-rating b{font-weight:800;color:#fff;font-size:15px}
.hero-rating .reviews{color:rgba(255,255,255,0.78);font-weight:500}

.hero h1{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;
  font-size:clamp(40px, 4.4vw, 64px);
  line-height:1.0;
  letter-spacing:-0.03em;
  color:#fff;
  margin-bottom:20px;
  animation:fadeUp .9s .15s both;
}
.hero h1 .accent{
  background:linear-gradient(110deg, var(--teal-soft) 0%, var(--teal) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  font-weight:800;
}

.hero-subtitle{
  font-size:19px;line-height:1.5;
  color:#fff;font-weight:500;
  max-width:580px;margin-bottom:26px;
  animation:fadeUp .9s .25s both;
}
.hero-subtitle strong{color:#fff;font-weight:800}

.hero-meta{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-bottom:32px;
  animation:fadeUp .9s .3s both;
}
.meta-pill{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 18px;
  background:rgba(255,255,255,0.12);
  border:1.5px solid rgba(255,255,255,0.28);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-radius:var(--r-pill);
  font-size:16px;font-weight:700;color:#fff;
  letter-spacing:-0.005em;
}

.hero-actions{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  animation:fadeUp .9s .4s both;
}
.btn-primary{
  padding:20px 34px;
  background:var(--teal);color:#fff;
  font-weight:800;font-size:17px;letter-spacing:-0.01em;
  border-radius:var(--r-pill);
  display:inline-flex;align-items:center;gap:12px;
  box-shadow:var(--shadow-cta);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  position:relative;overflow:hidden;
}
.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transform:translateX(-100%);transition:transform .65s ease;
}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-2px);box-shadow:var(--shadow-cta-h)}
.btn-primary:hover::before{transform:translateX(100%)}
.btn-primary:hover .bi{transform:translateX(4px)}
.btn-primary .bi{transition:transform .25s ease}

.btn-ghost{
  padding:18px 26px;
  color:#fff;font-weight:700;font-size:16px;
  border-radius:var(--r-pill);
  display:inline-flex;align-items:center;gap:12px;
  border:1.5px solid rgba(255,255,255,0.30);
  background:rgba(255,255,255,0.10);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
  letter-spacing:-0.01em;
}
.btn-ghost:hover{background:rgba(255,255,255,0.18);border-color:rgba(255,255,255,0.5);transform:translateY(-1px)}
.btn-ghost .play{
  width:28px;height:28px;border-radius:50%;background:#fff;color:var(--indigo);
  display:inline-flex;align-items:center;justify-content:center;
}

.action-hint-wrap{max-width:520px}
.action-hint{
  margin-top:16px;
  font-size:13px;color:rgba(255,255,255,0.92);font-weight:500;line-height:1.45;
  display:flex;align-items:flex-start;gap:8px;
  max-width:100%;
  animation:fadeUp .9s .55s both;
}
.action-hint strong{color:#fff;font-weight:700}

/* ============================================================
   BOARDING PASS
   ============================================================ */
.pass-wrap{
  width:100%;max-width:420px;justify-self:end;
  animation:fadeUp 1s .35s both;
}
.pass{
  position:relative;
  background:linear-gradient(155deg, #1A2068 0%, #2D3AB8 55%, #4351DD 100%);
  border-radius:28px;
  box-shadow:var(--shadow-pass);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.pass::before{
  content:'';position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(127,218,211,0.40), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(100,120,255,0.35), transparent 55%);
  pointer-events:none;
}
.pass-top{
  padding:16px 22px 12px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  position:relative;z-index:1;
  border-bottom:1px dashed rgba(255,255,255,0.22);
}
.pass-brand{
  display:flex;align-items:center;gap:9px;
  font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:rgba(255,255,255,0.85);
}
.pass-brand-dot{
  width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,0.16);
  display:inline-flex;align-items:center;justify-content:center;
}
.pass-tag{
  font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  padding:5px 11px;border-radius:var(--r-pill);
  background:rgba(0,182,170,0.30);color:var(--teal-soft);
  border:1px solid rgba(127,218,211,0.4);white-space:nowrap;
}
.pass-route{
  position:relative;z-index:1;
  padding:18px 22px 16px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;
}
.route-col{display:flex;flex-direction:column;gap:3px}
.route-col.right{text-align:right;align-items:flex-end}
.route-code{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:38px;font-weight:700;line-height:0.95;letter-spacing:-0.04em;color:#fff;
}
.route-city{font-size:13px;font-weight:600;color:rgba(255,255,255,0.78)}
.route-time{font-size:11px;font-weight:700;color:var(--teal-soft);letter-spacing:0.05em;text-transform:uppercase;margin-top:1px}

.route-line{position:relative;width:80px;height:30px;display:flex;align-items:center;justify-content:center}
.route-line::before, .route-line::after{
  content:'';position:absolute;top:50%;height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 100%);
}
.route-line::before{left:0;right:50%}
.route-line::after{right:0;left:50%}
.route-plane{
  position:relative;z-index:2;
  width:32px;height:32px;border-radius:50%;
  background:var(--teal);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px rgba(0,182,170,0.5);
  animation:planeFloat 3.4s ease-in-out infinite;
}
@keyframes planeFloat{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}

.pass-perf{position:relative;z-index:1;height:18px;display:flex;align-items:center;background:transparent}
.pass-perf::before, .pass-perf::after{
  content:'';position:absolute;width:22px;height:22px;border-radius:50%;
  background:var(--bg);top:50%;transform:translateY(-50%);
}
.pass-perf::before{left:-11px}
.pass-perf::after{right:-11px}
.pass-perf .dashes{
  flex:1;height:1px;margin:0 18px;
  background-image:linear-gradient(90deg, rgba(255,255,255,0.45) 50%, transparent 50%);
  background-size:8px 1px;background-repeat:repeat-x;
}

.pass-body{position:relative;z-index:1;padding:16px 22px 18px}
.pass-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  padding-bottom:14px;border-bottom:1px dashed rgba(255,255,255,0.22);margin-bottom:14px;
}
.pass-stat .lbl{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-bottom:4px}
.pass-stat .val{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:19px;font-weight:700;line-height:1;color:#fff;letter-spacing:-0.02em;
}
.pass-stat .val small{font-size:11px;font-weight:600;color:rgba(255,255,255,0.7);margin-left:2px}

.pass-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.pass-price .lbl{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-bottom:6px}
.pass-price .val{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:34px;font-weight:700;line-height:0.95;color:#fff;letter-spacing:-0.035em;
  display:flex;align-items:baseline;gap:5px;
}
.pass-price .val .cur{font-size:19px;font-weight:600;color:rgba(255,255,255,0.78)}
.pass-price .per{font-size:11px;color:rgba(255,255,255,0.7);margin-top:5px;font-weight:500}
.pass-price-extra{text-align:right;display:flex;flex-direction:column;gap:5px;align-items:flex-end;font-size:11px;font-weight:600;color:rgba(255,255,255,0.7)}
.pass-price-extra strong{color:#fff;font-weight:700}
.pass-price-extra .save{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:var(--r-pill);
  background:rgba(0,182,170,0.22);color:var(--teal-soft);
  font-size:11px;font-weight:700;letter-spacing:0.04em;
  border:1px solid rgba(127,218,211,0.4);
}
.pass-gift{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:12px;margin-bottom:12px;
  font-size:12px;color:rgba(255,255,255,0.92);font-weight:500;line-height:1.35;
}
.pass-gift-icon{
  width:28px;height:28px;border-radius:8px;
  background:var(--teal);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pass-gift strong{color:#fff;font-weight:700;display:block;font-size:12px;margin-bottom:1px}

.pass-cta{
  width:100%;padding:14px 20px;
  background:var(--teal);color:#fff;
  font-weight:700;font-size:15px;letter-spacing:-0.01em;
  border-radius:var(--r-pill);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 12px 26px rgba(0,182,170,0.5);
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
  position:relative;overflow:hidden;
}
.pass-cta::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transform:translateX(-100%);transition:transform .65s ease;
}
.pass-cta:hover{background:#00CFC2;transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,182,170,0.6)}
.pass-cta:hover::before{transform:translateX(100%)}
.pass-cta:hover .bi{transform:translateX(4px)}
.pass-cta .bi{transition:transform .25s ease}

.pass-foot{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:rgba(255,255,255,0.7);font-weight:500}
.pass-foot strong{color:#fff;font-weight:700}

.pass-barcode{position:relative;z-index:1;padding:0 22px 14px;display:flex;align-items:center;gap:14px;opacity:0.5}
.pass-barcode .bars{
  flex:1;height:22px;
  background-image:repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px 3px, #fff 3px 6px, transparent 6px 9px, #fff 9px 11px, transparent 11px 16px);
}
.pass-barcode .id{font-family:ui-monospace,'SF Mono',monospace;font-size:10px;letter-spacing:0.15em;color:rgba(255,255,255,0.85);white-space:nowrap}

.pass-trust{
  display:flex;flex-direction:column;gap:8px;
  margin-top:16px;padding:0 4px;
  animation:fadeUp .9s .55s both;
}
.pass-trust-item{
  display:flex;align-items:center;gap:9px;
  color:#fff;font-size:13px;font-weight:600;line-height:1.3;
}
.pass-trust-item span{color:rgba(255,255,255,0.85)}
.pass-trust-item strong{color:#fff;font-weight:700}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* Hero scroll-cue */
.scroll-cue{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:5;
  color:rgba(255,255,255,0.78);
  font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  animation:fadeUp 1s 1s both, scrollCue 2.4s 1.6s infinite;
  text-shadow:0 1px 12px rgba(11,15,44,0.4);
}
.scroll-cue .bi{font-size:20px;color:var(--teal-soft);margin-top:2px}
@keyframes scrollCue{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-7px)}
}
@media (max-width:1240px){.scroll-cue{display:none}}

/* ============================================================
   ОБЩАЯ СЕКЦИЯ — заголовки, хедер
   ============================================================ */
.section{padding:24px 0}
.section--tight{padding:14px 0}
.section--dark{background:var(--ink);color:#fff}

.section-head{
  max-width:760px;margin:0 auto 28px;
  text-align:center;
}
.section-head--left{text-align:left;margin-left:0}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 18px 7px 7px;
  background:var(--teal-50);
  border:1px solid rgba(0,182,170,0.20);
  border-radius:var(--r-pill);
  font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--teal-deep);
  margin-bottom:18px;
}
.section-eyebrow .dot{
  width:22px;height:22px;border-radius:50%;background:var(--teal);
  display:inline-flex;align-items:center;justify-content:center;
}
.section-eyebrow .dot .bi{font-size:11px;color:#fff}

.section-title{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;
  font-size:clamp(32px, 3.5vw, 52px);
  line-height:1.05;
  letter-spacing:-0.025em;
  color:var(--ink);
  margin-bottom:16px;
}
.section-title .accent{
  background:linear-gradient(110deg, var(--indigo) 0%, var(--teal) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.section-subtitle{
  font-size:18px;line-height:1.55;color:var(--ink-2);font-weight:500;
  max-width:680px;margin:0 auto;
}
.section-head--left .section-subtitle{margin-left:0}

/* ============================================================
   2. МЕСТА — мозайка карточек
   ============================================================ */
.places{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  grid-template-rows:repeat(2,minmax(220px,1fr));
  gap:16px;max-width:1240px;margin:0 auto;
}
.place{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:#0B0F2C;color:#fff;
  min-height:220px;
  cursor:default;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.place:hover{transform:translateY(-4px)}
.place--big{grid-row:span 2}
.place-img{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1s ease;
  transform:scale(1.02);
}
.place:hover .place-img{transform:scale(1.08)}
.place::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,15,44,0.10) 0%, rgba(11,15,44,0.40) 50%, rgba(11,15,44,0.85) 100%);
}
.place-content{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:24px;display:flex;flex-direction:column;gap:6px;
}
.place--big .place-content{padding:32px}
.place-tag{
  display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  padding:5px 12px;border-radius:var(--r-pill);
  background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.28);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fff;
  margin-bottom:8px;
}
.place-tag .bi{font-size:11px;color:var(--teal-soft)}
.place h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:24px;line-height:1.05;letter-spacing:-0.02em;
  color:#fff;margin-bottom:4px;
}
.place--big h3{font-size:34px}
.place-meta{font-size:13px;color:rgba(255,255,255,0.85);line-height:1.45;font-weight:500}
.place-meta strong{color:#fff;font-weight:700}

/* ============================================================
   3. ПРОГРАММА — аккордеон
   ============================================================ */
.program{
  max-width:1240px;margin:0 auto;
  display:flex;flex-direction:column;gap:8px;
}
.program-day{
  background:#fff;border-radius:var(--r-md);
  border:1px solid var(--line);
  overflow:hidden;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.program-day.is-open{border-color:var(--indigo);box-shadow:var(--shadow-mini-h)}
.program-day-head{
  width:100%;padding:18px 22px;
  display:flex;align-items:center;gap:18px;text-align:left;
  background:#fff;
}
.program-day-num{
  flex-shrink:0;
  width:46px;height:46px;border-radius:14px;
  background:var(--indigo-50);color:var(--indigo);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:800;font-size:18px;letter-spacing:-0.02em;
  transition:background .25s ease, color .25s ease;
}
.program-day.is-open .program-day-num{background:var(--indigo);color:#fff}
.program-day-info{flex:1;min-width:0}
.program-day-info .lbl{
  font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--mute);margin-bottom:3px;
}
.program-day-info h4{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:18px;letter-spacing:-0.01em;color:var(--ink);
  line-height:1.25;
}
.program-day-toggle{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;
  background:var(--bg);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.program-day-toggle .bi{font-size:14px;transition:transform .3s ease}
.program-day.is-open .program-day-toggle{background:var(--teal);color:#fff}
.program-day.is-open .program-day-toggle .bi{transform:rotate(45deg)}
.program-day-body{
  max-height:0;overflow:hidden;
  transition:max-height .4s ease;
}
.program-day.is-open .program-day-body{max-height:600px}
.program-day-content{
  padding:0 22px 22px 86px;
  font-size:15px;line-height:1.6;color:var(--ink-2);
}
.program-day-content ul{margin-top:8px;padding-left:18px;display:flex;flex-direction:column;gap:5px}
.program-day-content li{padding-left:4px}
.program-day-content strong{color:var(--ink);font-weight:700}

/* ============================================================
   4. ЧТО ВКЛЮЧЕНО / РАЗБИВКА ЦЕНЫ
   ============================================================ */
.compare{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  max-width:1240px;margin:0 auto;
}
.compare-card{
  background:#fff;border-radius:var(--r-lg);
  padding:32px;border:1px solid var(--line);
  display:flex;flex-direction:column;
}
.compare-card--bad{background:var(--bg-2)}
.compare-card--good{
  background:linear-gradient(155deg, var(--indigo-ink) 0%, var(--indigo-deep) 100%);
  color:#fff;border:0;box-shadow:var(--shadow-card);
  position:relative;overflow:hidden;
}
.compare-card--good::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 100% 0%, rgba(127,218,211,0.30), transparent 60%);
  pointer-events:none;
}
.compare-head{
  display:flex;align-items:center;gap:12px;margin-bottom:24px;
  position:relative;
}
.compare-head .bi{font-size:24px}
.compare-card--bad .compare-head .bi{color:var(--mute)}
.compare-card--good .compare-head .bi{color:var(--teal-soft)}
.compare-card--bad .compare-head h3{color:var(--ink-2)}
.compare-card--good .compare-head h3{color:#fff}
.compare-head h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:20px;font-weight:700;letter-spacing:-0.01em;
}
.compare-list{display:flex;flex-direction:column;gap:14px;flex:1;position:relative;z-index:1}
.compare-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.compare-card--good .compare-row{border-bottom-color:rgba(255,255,255,0.18)}
.compare-row:last-of-type{border-bottom:0;padding-bottom:0}
.compare-row .item{font-size:15px;color:inherit;font-weight:500}
.compare-row .price{
  font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-0.01em;
  font-size:16px;white-space:nowrap;
}
.compare-card--good .compare-row .price{color:var(--teal-soft)}
.compare-total{
  margin-top:18px;padding-top:18px;border-top:2px solid var(--ink);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.compare-card--good .compare-total{border-top-color:var(--teal)}
.compare-total .lbl{font-size:14px;font-weight:700;letter-spacing:0.02em;color:var(--mute);text-transform:uppercase}
.compare-card--good .compare-total .lbl{color:rgba(255,255,255,0.7)}
.compare-total .val{
  font-family:'Bricolage Grotesque',sans-serif;font-weight:800;
  font-size:32px;letter-spacing:-0.025em;color:var(--ink);
}
.compare-card--good .compare-total .val{color:#fff}
.compare-save{
  margin-top:14px;padding:10px 14px;border-radius:var(--r-pill);
  background:rgba(0,182,170,0.20);color:var(--teal-soft);
  border:1px solid rgba(127,218,211,0.40);
  text-align:center;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.compare-save .bi{font-size:14px}

/* ============================================================
   5. КВИЗ
   ============================================================ */
.quiz{
  max-width:1240px;margin:0 auto;
  background:#fff;border-radius:var(--r-card);
  box-shadow:var(--shadow-card);
  padding:40px;position:relative;overflow:hidden;
}
.quiz::before{
  content:'';position:absolute;top:-100px;right:-100px;
  width:300px;height:300px;border-radius:50%;
  background:var(--indigo-50);filter:blur(40px);z-index:0;
}
.quiz-progress{
  position:relative;z-index:1;
  margin-bottom:28px;display:flex;align-items:center;gap:8px;
}
.quiz-progress-bar{
  flex:1;height:6px;border-radius:var(--r-pill);background:var(--line);overflow:hidden;
}
.quiz-progress-fill{
  height:100%;background:linear-gradient(90deg,var(--indigo),var(--teal));
  border-radius:var(--r-pill);
  transition:width .4s ease;
  width:25%;
}
.quiz-progress-text{font-size:13px;font-weight:700;color:var(--mute);white-space:nowrap}
.quiz-progress-text b{color:var(--ink)}

.quiz-step{position:relative;z-index:1;display:none}
.quiz-step.is-active{display:block;animation:fadeUp .4s ease both}
.quiz-step h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:28px;letter-spacing:-0.02em;color:var(--ink);
  margin-bottom:8px;
}
.quiz-step p.hint{font-size:14px;color:var(--ink-2);margin-bottom:24px}
.quiz-options{display:grid;gap:12px;margin-bottom:24px}
.quiz-options--cols-2{grid-template-columns:repeat(2,1fr)}
.quiz-options--cols-3{grid-template-columns:repeat(3,1fr)}
.quiz-options--cols-4{grid-template-columns:repeat(4,1fr)}
.quiz-option{
  padding:18px 20px;border:2px solid var(--line);
  background:#fff;border-radius:var(--r-md);
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  text-align:left;font-weight:600;
  transition:all .2s ease;cursor:pointer;
}
.quiz-option:hover{border-color:var(--indigo);background:var(--bg-2);transform:translateY(-1px)}
.quiz-option.is-selected{border-color:var(--teal);background:var(--teal-50);box-shadow:0 0 0 4px rgba(0,182,170,0.10)}
.quiz-option .bi{font-size:24px;color:var(--indigo);margin-bottom:6px}
.quiz-option.is-selected .bi{color:var(--teal-deep)}
.quiz-option .top{font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-0.01em}
.quiz-option .sub{font-size:13px;color:var(--ink-2);font-weight:500}
.quiz-option--badge .badge{
  position:absolute;top:8px;right:10px;
  font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;
  padding:3px 8px;border-radius:var(--r-pill);
  background:var(--teal);color:#fff;
}
.quiz-option--badge{position:relative}

.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}
.quiz-back{
  padding:14px 20px;border-radius:var(--r-pill);
  background:var(--bg);color:var(--ink-2);font-weight:700;font-size:14px;
  display:inline-flex;align-items:center;gap:8px;
  transition:background .2s ease, color .2s ease;
}
.quiz-back:hover{background:var(--line);color:var(--ink)}
.quiz-back .bi{font-size:14px}
.quiz-next{
  padding:16px 28px;border-radius:var(--r-pill);
  background:var(--teal);color:#fff;font-weight:800;font-size:15px;
  display:inline-flex;align-items:center;gap:10px;letter-spacing:-0.01em;
  box-shadow:var(--shadow-cta);
  transition:background .25s ease, transform .2s ease, box-shadow .25s ease;
  margin-left:auto;
}
.quiz-next:hover:not(:disabled){background:var(--teal-deep);transform:translateY(-1px);box-shadow:var(--shadow-cta-h)}
.quiz-next:disabled{opacity:0.45;cursor:not-allowed}
.quiz-next .bi{font-size:16px}

/* Final step — form */
.quiz-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.quiz-form .field{margin:0}
.quiz-perks{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;
}
.quiz-perk{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  padding:14px;background:var(--bg-2);border-radius:var(--r-sm);
  font-size:12px;color:var(--ink-2);font-weight:500;line-height:1.4;
}
.quiz-perk .bi{font-size:20px;color:var(--teal)}
.quiz-perk strong{color:var(--ink);font-weight:700;font-size:13px}

/* Success screen */
.quiz-success{display:none;text-align:center;padding:32px 16px}
.quiz-success.is-active{display:block;animation:fadeUp .5s ease both}
.quiz-success-icon{
  width:88px;height:88px;border-radius:50%;background:var(--teal);
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
  box-shadow:0 20px 50px rgba(0,182,170,0.4);
}
.quiz-success-icon .bi{font-size:42px;color:#fff}
.quiz-success h3{
  font-family:'Bricolage Grotesque',sans-serif;font-weight:700;
  font-size:30px;letter-spacing:-0.02em;color:var(--ink);margin-bottom:10px;
}
.quiz-success p{font-size:16px;color:var(--ink-2);max-width:480px;margin:0 auto}

/* ============================================================
   6. ПОЧЕМУ ИМЕННО С НАМИ
   ============================================================ */
.usp-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  max-width:1240px;margin:0 auto;
}
.usp{
  background:#fff;border-radius:var(--r-lg);
  padding:30px 26px 28px;border:1px solid var(--line);
  display:flex;flex-direction:column;gap:14px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.usp:hover{transform:translateY(-4px);box-shadow:var(--shadow-mini-h);border-color:transparent}
.usp-icon{
  width:56px;height:56px;border-radius:18px;
  background:linear-gradient(135deg, var(--indigo) 0%, var(--indigo-deep) 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 24px rgba(67,81,221,0.30);
}
.usp-icon .bi{font-size:26px}
.usp:nth-child(2) .usp-icon{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);box-shadow:0 12px 24px rgba(0,182,170,0.30)}
.usp:nth-child(3) .usp-icon{background:linear-gradient(135deg, #FF7A45 0%, #E25C2A 100%);box-shadow:0 12px 24px rgba(255,122,69,0.30)}
.usp:nth-child(4) .usp-icon{background:linear-gradient(135deg, #6478FF 0%, #4351DD 100%);box-shadow:0 12px 24px rgba(100,120,255,0.30)}

.usp h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:20px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);
  line-height:1.15;
}
.usp p{font-size:14px;color:var(--ink-2);line-height:1.55;font-weight:500}
.usp p strong{color:var(--ink);font-weight:700}

/* ============================================================
   7. ГАРАНТИИ — цифры
   ============================================================ */
.section-trust{
  background:linear-gradient(155deg, var(--indigo-ink) 0%, var(--indigo-deep) 60%, var(--indigo) 100%);
  color:#fff;border-radius:var(--r-card);
  padding:64px 40px;
  max-width:1240px;margin:0 auto;
  position:relative;overflow:hidden;
}
.section-trust::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(127,218,211,0.30), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(100,120,255,0.30), transparent 55%);
  pointer-events:none;
}
.section-trust .section-eyebrow{background:rgba(255,255,255,0.14);color:#fff;border-color:rgba(255,255,255,0.28)}
.section-trust .section-title{color:#fff;position:relative;z-index:1}
.section-trust .section-subtitle{color:rgba(255,255,255,0.85);position:relative;z-index:1}
.trust-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  margin-top:40px;position:relative;z-index:1;
}
.trust-stat{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.16);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-radius:var(--r-md);padding:24px;
  display:flex;flex-direction:column;gap:8px;
}
.trust-stat .bi{font-size:28px;color:var(--teal-soft);margin-bottom:6px}
.trust-stat .num{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:800;font-size:42px;line-height:1;letter-spacing:-0.035em;color:#fff;
}
.trust-stat .num small{font-size:18px;font-weight:700;color:rgba(255,255,255,0.7);margin-left:4px}
.trust-stat .lbl{font-size:13px;color:rgba(255,255,255,0.85);font-weight:500;line-height:1.4}
.trust-stat .lbl strong{color:#fff;font-weight:700}

/* ============================================================
   8. ОТЕЛИ
   ============================================================ */
.hotels{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  max-width:1240px;margin:0 auto;
}
.hotel{
  background:#fff;border-radius:var(--r-lg);
  border:2px solid var(--line);
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  position:relative;
}
.hotel:hover{transform:translateY(-4px);box-shadow:var(--shadow-mini-h)}
.hotel--featured{border-color:var(--teal);box-shadow:var(--shadow-mini-h)}
.hotel-badge{
  position:absolute;top:14px;right:14px;z-index:2;
  padding:6px 12px;border-radius:var(--r-pill);
  background:var(--teal);color:#fff;
  font-size:11px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;
}
.hotel-img{
  height:180px;
  background-size:cover;background-position:center;
  position:relative;
}
.hotel-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(11,15,44,0.30) 100%);
}
.hotel-stars{
  position:absolute;bottom:12px;left:14px;z-index:2;
  display:inline-flex;gap:2px;
  padding:4px 10px;border-radius:var(--r-pill);
  background:rgba(11,15,44,0.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.hotel-stars .bi{font-size:13px;color:#FFC93C}
.hotel-body{padding:24px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.hotel-body h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:20px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);
}
.hotel-features{display:flex;flex-direction:column;gap:8px;flex:1}
.hotel-feature{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--ink-2);font-weight:500}
.hotel-feature .bi{font-size:16px;color:var(--teal);margin-top:2px;flex-shrink:0}
.hotel-price{
  display:flex;align-items:baseline;gap:6px;padding-top:14px;border-top:1px dashed var(--line);
}
.hotel-price .lbl{font-size:13px;color:var(--mute);font-weight:600}
.hotel-price .val{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:800;font-size:28px;color:var(--ink);letter-spacing:-0.025em;
}
.hotel-price .cur{font-size:18px;font-weight:600;color:var(--mute)}
.hotel-cta{
  padding:14px;text-align:center;border-radius:var(--r-pill);
  background:var(--bg);color:var(--ink);font-weight:700;font-size:14px;
  transition:background .25s ease, color .25s ease;display:flex;align-items:center;justify-content:center;gap:8px;
}
.hotel-cta:hover{background:var(--ink);color:#fff}
.hotel--featured .hotel-cta{background:var(--teal);color:#fff;box-shadow:var(--shadow-cta)}
.hotel--featured .hotel-cta:hover{background:var(--teal-deep);box-shadow:var(--shadow-cta-h)}
.hotel-cta .bi{font-size:14px}

/* ============================================================
   9. МЕНЕДЖЕР
   ============================================================ */
.manager{
  display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;
  background:#fff;border-radius:var(--r-card);
  padding:36px;max-width:1240px;margin:0 auto;
  box-shadow:var(--shadow-mini);border:1px solid var(--line);
}
.manager-photo{
  width:140px;height:140px;border-radius:50%;
  background:linear-gradient(155deg, var(--indigo) 0%, var(--indigo-deep) 60%, var(--teal) 130%);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:#fff;
  font-size:64px;letter-spacing:-0.04em;
  flex-shrink:0;position:relative;
  box-shadow:0 20px 50px rgba(67,81,221,0.30);
}
.manager-photo::after{
  content:'';position:absolute;bottom:6px;right:6px;
  width:22px;height:22px;border-radius:50%;
  background:#22c55e;border:4px solid #fff;
}
.manager-info h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:30px;font-weight:700;letter-spacing:-0.025em;color:var(--ink);
  margin-bottom:6px;
}
.manager-info .role{
  font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--teal-deep);margin-bottom:14px;
}
.manager-info p{font-size:15px;color:var(--ink-2);line-height:1.55;max-width:440px}
.manager-contacts{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.manager-msg{
  display:flex;align-items:center;gap:12px;
  padding:12px 18px;border-radius:var(--r-pill);
  font-weight:700;font-size:14px;color:#fff;
  transition:transform .25s ease, box-shadow .25s ease;
  white-space:nowrap;
}
.manager-msg:hover{transform:translateY(-1px)}
.manager-msg .bi{font-size:18px}
.manager-msg--wa{background:#25D366;box-shadow:0 10px 22px rgba(37,211,102,0.30)}
.manager-msg--tg{background:#26A5E4;box-shadow:0 10px 22px rgba(38,165,228,0.30)}
.manager-msg--max{background:var(--indigo);box-shadow:0 10px 22px rgba(67,81,221,0.30)}
.manager-msg--max img{width:18px;height:18px}
.manager-msg--wa:hover{box-shadow:0 14px 30px rgba(37,211,102,0.45)}
.manager-msg--tg:hover{box-shadow:0 14px 30px rgba(38,165,228,0.45)}
.manager-msg--max:hover{box-shadow:0 14px 30px rgba(67,81,221,0.45)}

/* ============================================================
   10. FAQ
   ============================================================ */
.faq{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.faq-item{
  background:#fff;border-radius:var(--r-md);
  border:1px solid var(--line);
  overflow:hidden;transition:border-color .25s ease;
}
.faq-item.is-open{border-color:var(--indigo)}
.faq-item-head{
  width:100%;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:17px;font-weight:700;letter-spacing:-0.01em;color:var(--ink);
}
.faq-item-toggle{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:var(--bg);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease, color .25s ease;
}
.faq-item-toggle .bi{font-size:14px;transition:transform .3s ease}
.faq-item.is-open .faq-item-toggle{background:var(--teal);color:#fff}
.faq-item.is-open .faq-item-toggle .bi{transform:rotate(45deg)}
.faq-item-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.is-open .faq-item-body{max-height:400px}
.faq-item-content{
  padding:0 22px 22px;font-size:15px;line-height:1.6;color:var(--ink-2);
}
.faq-item-content strong{color:var(--ink);font-weight:700}

/* ============================================================
   11. ФИНАЛЬНЫЙ CTA
   ============================================================ */
.final{
  background:linear-gradient(155deg, var(--indigo-ink) 0%, var(--indigo-deep) 60%, var(--indigo) 100%);
  color:#fff;border-radius:var(--r-card);
  padding:60px 50px;max-width:1240px;margin:0 auto;
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;
}
.final::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(127,218,211,0.30), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(100,120,255,0.30), transparent 55%);
  pointer-events:none;
}
.final-text{position:relative;z-index:1;color:#fff}
.final-text .section-eyebrow{background:rgba(255,255,255,0.14);color:#fff;border-color:rgba(255,255,255,0.28);margin-bottom:18px}
.final-text h2{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:clamp(32px,3.2vw,46px);font-weight:700;line-height:1.05;letter-spacing:-0.025em;
  color:#fff;margin-bottom:14px;
}
.final-text h2 .accent{
  background:linear-gradient(110deg, var(--teal-soft) 0%, var(--teal) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.final-text p{font-size:17px;line-height:1.55;color:rgba(255,255,255,0.85);margin-bottom:22px;max-width:480px}
.final-perks{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.final-perk{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#fff}
.final-perk .bi{font-size:18px;color:var(--teal-soft)}
.final-form{
  position:relative;z-index:1;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-radius:var(--r-xl);padding:28px;
}
.final-form h3{
  font-size:20px;font-weight:800;letter-spacing:-0.01em;color:#fff;margin-bottom:6px;
}
.final-form .sub{font-size:13px;color:rgba(255,255,255,0.7);margin-bottom:18px}
.final-form .field input{
  background:rgba(255,255,255,0.10);border:1.5px solid rgba(255,255,255,0.20);
  color:#fff;
}
.final-form .field input::placeholder{color:rgba(255,255,255,0.55)}
.final-form .field input:focus{background:rgba(255,255,255,0.18);border-color:var(--teal-soft);box-shadow:0 0 0 4px rgba(127,218,211,0.18)}
.final-form .field-icon{color:rgba(255,255,255,0.55)}
.final-form .field-input-wrap:focus-within .field-icon{color:var(--teal-soft)}
.final-form .field label{color:rgba(255,255,255,0.85)}
.final-form .modal-cta{background:var(--teal)}
.final-form .modal-foot{color:rgba(255,255,255,0.7)}

/* ============================================================
   ФУТЕР
   ============================================================ */
.footer{
  background:#0B0F2C;color:#fff;padding:60px 0 30px;
}
.footer-top{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;
  padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.10);
}
.footer-brand{display:flex;flex-direction:column;gap:14px;max-width:320px}
.footer-logo img{height:36px;filter:brightness(0) invert(1)}
.footer-brand p{font-size:14px;color:rgba(255,255,255,0.65);line-height:1.55}
.footer-msg-row{display:flex;gap:8px;margin-top:8px}
.footer-msg-row .msg-btn{background:rgba(255,255,255,0.08);width:42px;height:42px}
.footer-msg-row .msg-btn:hover{background:var(--teal)}
.footer-msg-row .msg-btn svg{fill:#fff}
.footer-msg-row .msg-btn--max{background:var(--indigo)}
.footer-msg-row .msg-btn--max:hover{background:var(--indigo-deep)}

.footer-col h4{
  font-size:13px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;
  color:#fff;margin-bottom:16px;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:14px;color:rgba(255,255,255,0.65);transition:color .2s ease;display:inline-flex;align-items:center;gap:8px}
.footer-col a:hover{color:#fff}
.footer-col a .bi{font-size:14px;color:var(--teal-soft)}

.footer-bottom{
  padding-top:24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  font-size:12px;color:rgba(255,255,255,0.55);font-weight:500;
}
.footer-bottom a{color:rgba(255,255,255,0.65);transition:color .2s ease}
.footer-bottom a:hover{color:#fff;text-decoration:underline}
.footer-bottom .legals{display:flex;gap:18px}

/* ============================================================
   MODAL
   ============================================================ */
.modal-overlay{
  position:fixed;inset:0;z-index:90;
  background:rgba(11,15,44,0.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.modal-overlay.is-open{opacity:1;pointer-events:auto}
.modal{
  width:100%;max-width:480px;max-height:92vh;overflow-y:auto;
  background:#fff;border-radius:var(--r-xl);
  box-shadow:var(--shadow-modal);
  transform:translateY(20px) scale(.97);opacity:0;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .3s ease;
  display:flex;flex-direction:column;
}
.modal-overlay.is-open .modal{transform:translateY(0) scale(1);opacity:1}
.modal-head{padding:22px 26px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.modal-head h3{font-size:19px;font-weight:800;letter-spacing:-0.01em;color:var(--ink)}
.modal-head p{font-size:13px;color:var(--mute);margin-top:3px;font-weight:500}
.modal-close{
  width:38px;height:38px;border-radius:50%;background:var(--bg);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .25s ease, color .25s ease;
}
.modal-close:hover{background:var(--ink);color:#fff}
.modal-body{padding:18px 26px 26px}

.modal-gift{display:flex;gap:12px;padding:12px 14px;background:var(--indigo-50);border-radius:var(--r-md);margin-bottom:16px;align-items:center}
.modal-gift-icon{
  width:42px;height:42px;border-radius:11px;background:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 4px 10px rgba(67,81,221,0.14);
}
.modal-gift-text{font-size:13px;color:var(--ink-2);line-height:1.4}
.modal-gift-text strong{color:var(--indigo);font-weight:700;display:block;margin-bottom:2px;font-size:13px}

.field{margin-bottom:12px}
.field label{display:block;font-size:12px;font-weight:700;color:var(--ink-2);letter-spacing:0.02em;margin-bottom:6px}
.field-input-wrap{position:relative}
.field input{
  width:100%;padding:13px 16px 13px 44px;
  background:var(--bg);border:1.5px solid var(--line);
  border-radius:var(--r-sm);font-size:15px;font-weight:500;color:var(--ink);
  outline:none;transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.field input:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px var(--teal-50)}
.field input::placeholder{color:var(--mute);font-weight:400}
.field-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--mute);pointer-events:none;transition:color .2s ease}
.field-input-wrap:focus-within .field-icon{color:var(--teal)}

.modal-cta{
  width:100%;padding:16px;background:var(--teal);color:#fff;
  font-weight:700;font-size:15px;border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;
  box-shadow:var(--shadow-cta);
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.modal-cta:hover{background:var(--teal-deep);transform:translateY(-1px);box-shadow:var(--shadow-cta-h)}
.modal-foot{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--mute);font-weight:500}
.modal-policy{margin-top:12px;font-size:11px;color:var(--mute);text-align:center;line-height:1.5}
.modal-policy a{color:var(--indigo);text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   АДАПТИВ
   ============================================================ */
/* === АДАПТИВ: 1200px === */
@media (max-width:1200px){
  .nav a:nth-child(n+4){display:none}
  .logo-tag{display:none}
}

/* === АДАПТИВ: 1080px (планшет/малый ноут) === */
@media (max-width:1080px){
  .hero-card{min-height:auto}
  .hero-inner{grid-template-columns:1fr;gap:24px;padding:90px 28px 28px}
  .pass-wrap{justify-self:stretch;max-width:none}
  .nav{display:none}
  .places{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .place--big{grid-column:span 2;grid-row:auto}
  .compare{grid-template-columns:1fr}
  .usp-grid{grid-template-columns:repeat(2,1fr)}
  .trust-stats{grid-template-columns:repeat(2,1fr)}
  .hotels{grid-template-columns:1fr}
  .manager{grid-template-columns:1fr;text-align:center}
  .manager-photo{margin:0 auto}
  .manager-info p{margin:0 auto}
  .manager-contacts{align-items:center}
  .final{grid-template-columns:1fr;padding:36px 28px}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px}
  .quiz-form{grid-template-columns:1fr}
  .quiz-perks{grid-template-columns:1fr}
}

/* === АДАПТИВ: 880px (большой телефон / маленький планшет) === */
@media (max-width:1240px){
  .header{top:8px;padding:0 8px}
  .header-pill{padding:6px 6px 6px 12px;gap:8px}
  .logo-img--full{display:none}
  .logo-img--compact{display:block;height:28px}
  .msg-row{display:none}
  .header-phone{border-left:none;padding-left:0}
  .header-phone strong{font-size:13px}
  .header-phone .work{font-size:11px}
  .header-cta{padding:8px 12px;font-size:12px}
  .header-cta-text{display:none}
  .quiz-options--cols-2,.quiz-options--cols-3,.quiz-options--cols-4{grid-template-columns:1fr 1fr}
}

/* === АДАПТИВ: 720px (телефон) === */
@media (max-width:720px){
  .container{padding:0 16px}
  .hero{padding:8px}
  .hero-card{border-radius:24px}
  .hero-inner{padding:80px 18px 22px;gap:20px}
  .hero h1{font-size:clamp(26px, 7.4vw, 44px);line-height:1.05;margin-bottom:14px}
  .hero-subtitle{font-size:15px;margin-bottom:18px}
  .hero-rating{font-size:13px;margin-bottom:12px}
  .hero-rating b{font-size:14px}
  .eyebrow{font-size:11px;padding:6px 12px 6px 6px;margin-bottom:16px}
  .meta-pill{font-size:13px;padding:8px 12px;gap:7px}
  .meta-pill .bi{font-size:14px}
  .hero-meta{gap:8px;margin-bottom:20px}
  .hero-actions{flex-direction:column;gap:10px;align-items:stretch}
  .btn-primary,.btn-ghost{width:100%;justify-content:center;flex:none;min-width:0}
  .btn-primary{font-size:15px;padding:16px 22px}
  .btn-ghost{font-size:14px;padding:14px 18px}
  .action-hint{font-size:12px;margin-top:14px}
  .scroll-cue{display:none}

  .pass-top{padding:14px 18px 10px}
  .pass-route{padding:16px 18px 14px;gap:8px}
  .route-code{font-size:28px}
  .route-line{width:auto;min-width:50px}
  .route-city{font-size:12px}
  .route-time{font-size:10px}
  .route-plane{width:28px;height:28px}
  .pass-body{padding:14px 18px 16px}
  .pass-grid{gap:6px;padding-bottom:12px;margin-bottom:12px}
  .pass-stat .lbl{font-size:9px}
  .pass-stat .val{font-size:16px}
  .pass-stat .val small{font-size:10px}
  .pass-price-row{gap:10px;margin-bottom:12px}
  .pass-price .val{font-size:28px}
  .pass-price .val .cur{font-size:16px}
  .pass-price .per{font-size:10px}
  .pass-price-extra{font-size:10px;gap:4px}
  .pass-price-extra .save{font-size:10px;padding:3px 8px}
  .pass-gift{padding:8px 10px;font-size:11px;margin-bottom:10px}
  .pass-gift-icon{width:24px;height:24px}
  .pass-cta{padding:13px 16px;font-size:14px}
  .pass-foot{font-size:11px}
  .pass-barcode{padding:0 18px 12px}
  .pass-barcode .id{font-size:9px}
  .pass-trust-item{font-size:12px}

  .section{padding:18px 0}
  .section--tight{padding:10px 0}
  .section-head{margin-bottom:20px}
  .section-title{font-size:clamp(22px, 7vw, 36px);margin-bottom:10px}
  .section-subtitle{font-size:14px}
  .section-eyebrow{font-size:11px;padding:5px 12px 5px 5px;margin-bottom:12px}
  .section-eyebrow .dot{width:20px;height:20px}

  .places{grid-template-columns:1fr;gap:10px}
  .place--big{grid-column:auto}
  /* На мобильном фото сверху, контент в потоке снизу — длинный текст не вылезает */
  .place,.place--big{
    min-height:auto;
    display:flex;flex-direction:column;
    background:#0B0F2C;
  }
  .place-img{position:relative;inset:auto;aspect-ratio:16/10}
  .place::after{display:none}
  .place-content,.place--big .place-content{
    position:relative;left:auto;right:auto;bottom:auto;
    padding:14px 18px 18px;
  }
  .place h3,.place--big h3{font-size:18px}
  .place--big h3{font-size:20px}
  .place-meta{font-size:12px}
  .place-tag{margin-bottom:6px}

  /* === STORIES — слайдер с авто-прогрессом === */
  .stories-strip{
    display:block;position:relative;
    aspect-ratio:9/14;max-width:380px;margin:0 auto;
    border-radius:24px;overflow:hidden;
    background:#0B0F2C;
    box-shadow:var(--shadow-pass);
  }
  .stories-strip .story{
    position:absolute;inset:0;
    aspect-ratio:auto;border-radius:0;
    opacity:0;visibility:hidden;
    transition:opacity .3s ease;
    transform:none;
  }
  .stories-strip .story:hover{transform:none}
  .stories-strip .story.is-active{opacity:1;visibility:visible}
  .stories-strip .story-content{padding:22px 22px 26px}
  .stories-strip .story-title{font-size:18px}
  .stories-strip .story-tag{margin-bottom:10px}
  .stories-strip .story-views{font-size:12px}
  .stories-strip .story-ring{top:42px;left:18px;width:42px;height:42px}
  .stories-strip .story-ring-inner{font-size:15px}
  .stories-strip .story-play{display:none}
  .stories-strip .story::after{
    background:linear-gradient(180deg, rgba(11,15,44,0.40) 0%, rgba(11,15,44,0.05) 25%, rgba(11,15,44,0.20) 60%, rgba(11,15,44,0.92) 100%);
  }

  .stories-progress{
    position:absolute;top:14px;left:14px;right:14px;z-index:5;
    display:flex;gap:5px;
  }
  .stories-progress-seg{
    flex:1;height:3px;border-radius:99px;
    background:rgba(255,255,255,0.30);
    overflow:hidden;
  }
  .stories-progress-seg span{
    display:block;height:100%;width:0;background:#fff;
    border-radius:99px;
  }
  .stories-progress-seg.is-done span{width:100%}
  .stories-progress-seg.is-active span{
    animation:storyProgress 5s linear forwards;
  }
  @keyframes storyProgress{from{width:0}to{width:100%}}

  .stories-tap{
    position:absolute;inset:0;z-index:4;display:flex;
  }
  .stories-tap > button{
    flex:1;background:transparent;border:0;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .stories-paused .stories-progress-seg.is-active span{animation-play-state:paused}

  .mosaic{grid-template-columns:1fr;grid-auto-rows:180px;gap:10px}
  .mosaic-cell--w2,.mosaic-cell--h2,.mosaic-cell--w2.mosaic-cell--h2{grid-column:auto;grid-row:auto}

  .compare-card{padding:22px 18px}
  .compare-head h3{font-size:17px}
  .compare-row .item,.compare-row .price{font-size:13px}
  .compare-total .val{font-size:24px}
  .compare-save{font-size:12px}

  .quiz{padding:22px 16px}
  .quiz-step h3{font-size:20px}
  .quiz-step p.hint{font-size:13px;margin-bottom:18px}
  .quiz-options--cols-2,.quiz-options--cols-3,.quiz-options--cols-4{grid-template-columns:1fr}
  .quiz-option{padding:14px 16px}
  .quiz-option .top{font-size:14px}
  .quiz-option .sub{font-size:12px}
  .quiz-option .bi{font-size:20px;margin-bottom:4px}
  .quiz-perks{grid-template-columns:1fr;gap:8px}
  .quiz-form{grid-template-columns:1fr;gap:10px}
  .quiz-progress-text{font-size:11px}
  .quiz-next{padding:13px 18px;font-size:13px}
  .quiz-back{padding:11px 14px;font-size:12px}
  .quiz-success-icon{width:72px;height:72px}
  .quiz-success-icon .bi{font-size:34px}
  .quiz-success h3{font-size:24px}
  .quiz-success p{font-size:14px}

  .usp-grid{grid-template-columns:1fr;gap:12px}
  .usp{padding:22px 20px;gap:12px}
  .usp-icon{width:48px;height:48px;border-radius:14px}
  .usp-icon .bi{font-size:22px}
  .usp h3{font-size:17px}
  .usp p{font-size:13px}

  .section-trust{padding:32px 22px;border-radius:24px}
  .trust-stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
  .trust-stat{padding:18px 14px}
  .trust-stat .num{font-size:30px}
  .trust-stat .num small{font-size:13px}
  .trust-stat .lbl{font-size:11px}
  .trust-stat .bi{font-size:22px}

  .hotels{grid-template-columns:1fr;gap:14px}
  .hotel-img{height:160px}
  .hotel-body{padding:20px 18px;gap:12px}
  .hotel-body h3{font-size:18px}
  .hotel-feature{font-size:13px}
  .hotel-price .val{font-size:24px}

  .team-grid{grid-template-columns:1fr;gap:14px}
  .team-card{padding:22px 18px}
  .team-photo{width:84px;height:84px;font-size:34px}
  .team-name{font-size:16px}
  .team-role{font-size:11px}
  .team-bio{font-size:12px}

  .reviews-grid{grid-template-columns:1fr;gap:14px}
  .review{padding:20px 18px}
  .review-text{font-size:13px;-webkit-line-clamp:6}
  .review-name{font-size:14px}
  .review-when{font-size:11px}
  .review-source{font-size:10px;padding:3px 8px}
  .review-stars .bi{font-size:13px}

  .partners{padding:24px 18px;border-radius:24px}
  .partners-head{margin-bottom:18px}
  .partners-head h3{font-size:17px}
  .partners-head p{font-size:12px}
  .partners-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .partner-logo{height:54px}

  .program-day-head{padding:14px 16px;gap:12px}
  .program-day-num{width:38px;height:38px;font-size:14px;border-radius:11px}
  .program-day-info .lbl{font-size:10px}
  .program-day-info h4{font-size:14px}
  .program-day-toggle{width:32px;height:32px}
  .program-day-content{padding:0 16px 16px 66px;font-size:13px}

  .faq-item-head{font-size:14px;padding:14px 16px;gap:10px}
  .faq-item-toggle{width:30px;height:30px}
  .faq-item-content{padding:0 16px 16px;font-size:13px}

  .cta-strip{padding:18px 18px;flex-direction:column;align-items:stretch;text-align:center;gap:14px;border-radius:24px}
  .cta-strip-text h4{font-size:17px}
  .cta-strip-text p{font-size:12px}
  .cta-strip-actions{flex-direction:column;justify-content:stretch;gap:8px}
  .cta-strip-btn{width:100%;justify-content:center;font-size:13px;padding:13px 18px}

  .manager{padding:22px 18px;gap:18px}

  .office{border-radius:24px}
  .office-info{padding:24px 18px;gap:16px}
  .office-info h3{font-size:24px}
  .office-info p{font-size:14px}
  .office-row{gap:12px}
  .office-row-icon{width:38px;height:38px}
  .office-row-icon .bi{font-size:16px}
  .office-row-text .lbl{font-size:10px}
  .office-row-text .val{font-size:13px}
  .office-cta{padding:12px 18px;font-size:13px}
  .office-map{min-height:240px}

  .final{padding:30px 22px;border-radius:24px}
  .final-text h2{font-size:clamp(24px, 7vw, 32px)}
  .final-text p{font-size:14px}
  .final-perk{font-size:12px}
  .final-form{padding:22px 18px}
  .final-form h3{font-size:17px}

  .footer{padding:40px 0 24px}
  .footer-top{grid-template-columns:1fr;gap:24px;padding-bottom:24px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
  .footer-bottom .legals{flex-wrap:wrap;gap:12px}

  .modal-overlay{padding:14px}
  .modal{border-radius:24px}
  .modal-head{padding:18px 20px 14px}
  .modal-head h3{font-size:17px}
  .modal-body{padding:14px 20px 22px}
  .modal-gift{padding:10px 12px}
  .modal-gift-icon{width:36px;height:36px}
  .modal-cta{padding:14px;font-size:14px}

  .review-modal-overlay{padding:3vh 12px}
  .review-modal{border-radius:24px}
  .review-modal-head{padding:18px 20px 14px;gap:10px}
  .review-modal-meta .review-avatar{width:42px;height:42px;font-size:15px}
  .review-modal-meta .review-name{font-size:15px}
  .review-modal-meta .review-when{font-size:12px}
  .review-modal-body{padding:18px 20px 22px}
  .review-modal-text{font-size:14px}
  .review-modal-photos{grid-template-columns:1fr 1fr;gap:6px}
  .review-modal-foot{flex-direction:column;align-items:stretch;gap:12px}

  .lightbox{padding:18px}
  .lightbox-close{top:14px;right:14px;width:38px;height:38px}

  .cookie{
    bottom:10px;left:10px;right:10px;padding:14px 16px;
    border-radius:22px;gap:12px;
  }
  .cookie-icon{width:36px;height:36px}
  .cookie-text{font-size:12px;min-width:0}
  .cookie-actions{flex-direction:column-reverse;width:100%;gap:6px}
  .cookie-btn{width:100%;justify-content:center;font-size:12px;padding:10px 14px}
}

/* === АДАПТИВ: 380px (узкие смартфоны / 300-380) === */
@media (max-width:380px){
  .container{padding:0 12px}
  .header{padding:0 6px;top:6px}
  .header-pill{padding:5px 5px 5px 10px;gap:6px}
  .logo-img--compact{height:24px}
  .header-phone{padding-left:0;gap:2px}
  .header-phone strong{font-size:12px;letter-spacing:-0.02em}
  .header-phone .work{font-size:10px}
  .header-phone .work::before{width:5px;height:5px;box-shadow:0 0 0 2px rgba(34,197,94,.18)}
  .header-cta{padding:7px 9px;font-size:11px}

  .hero{padding:6px}
  .hero-card{border-radius:20px}
  .hero-inner{padding:62px 14px 18px;gap:16px}
  .hero h1{font-size:clamp(22px, 8vw, 32px)}
  .hero-subtitle{font-size:14px}
  .eyebrow{font-size:10px;letter-spacing:0.03em}
  .eyebrow-dot{width:20px;height:20px}
  .hero-rating .stars svg{width:14px;height:14px}
  .meta-pill{font-size:12px;padding:7px 10px}
  .meta-pill .bi{font-size:13px}
  .btn-primary{font-size:14px;padding:14px 18px}
  .btn-ghost{font-size:13px;padding:13px 16px}
  .action-hint{font-size:11px}

  .pass{border-radius:22px}
  .pass-top{padding:12px 14px 8px}
  .pass-brand{font-size:9px;letter-spacing:0.10em;gap:6px}
  .pass-brand-dot{width:18px;height:18px}
  .pass-tag{font-size:9px;padding:4px 8px}
  .pass-route{padding:12px 14px;gap:6px}
  .route-code{font-size:22px}
  .route-line{min-width:34px}
  .route-plane{width:24px;height:24px}
  .route-city{font-size:11px}
  .route-time{font-size:9px}
  .pass-body{padding:12px 14px 14px}
  .pass-stat .val{font-size:14px}
  .pass-stat .val small{font-size:9px}
  .pass-price .val{font-size:24px}
  .pass-price .val .cur{font-size:14px}
  .pass-cta{font-size:13px;padding:12px 14px}
  .pass-barcode{padding:0 14px 10px;gap:10px}

  .section{padding:14px 0}
  .section-title{font-size:clamp(20px, 7.5vw, 30px)}
  .section-subtitle{font-size:13px}

  .place,.place--big{min-height:auto}
  .place-content,.place--big .place-content{padding:12px 14px 14px}
  .place h3,.place--big h3{font-size:16px}
  .place--big h3{font-size:18px}

  .stories-strip{gap:8px}
  .story-title{font-size:12px}
  .story-ring{width:32px;height:32px;top:8px;left:8px}
  .story-ring-inner{font-size:12px}

  .mosaic-cap{padding:10px 12px}
  .mosaic-cap-text{font-size:12px}

  .review{padding:16px 14px}
  .review-avatar{width:38px;height:38px;font-size:14px}
  .review-text{font-size:12px}
  .review-more{font-size:11px;padding:6px 10px}
  .review-foot{font-size:11px;flex-wrap:wrap;gap:6px}

  .compare-card{padding:18px 14px}
  .compare-head h3{font-size:15px}
  .compare-row{padding-bottom:10px;gap:10px}
  .compare-row .item,.compare-row .price{font-size:12px}
  .compare-total .val{font-size:20px}
  .compare-total .lbl{font-size:11px}

  .quiz{padding:18px 14px}
  .quiz-step h3{font-size:18px}
  .quiz-option{padding:12px 14px}
  .quiz-form{gap:8px}
  .quiz-back{padding:10px 12px}
  .quiz-next{padding:12px 16px;font-size:12px}

  .usp{padding:18px 16px}
  .usp h3{font-size:16px}
  .usp p{font-size:12px}

  .section-trust{padding:24px 16px;border-radius:20px}
  .trust-stat{padding:14px 12px}
  .trust-stat .num{font-size:24px}
  .trust-stat .num small{font-size:11px}
  .trust-stat .lbl{font-size:10px}

  .hotel-body{padding:18px 14px}
  .hotel-body h3{font-size:16px}
  .hotel-feature{font-size:12px}
  .hotel-price .val{font-size:22px}

  .team-card{padding:18px 14px}
  .team-photo{width:72px;height:72px;font-size:28px}
  .team-name{font-size:15px}
  .team-bio{font-size:12px}

  .partners{padding:20px 14px;border-radius:20px}
  .partners-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .partner-logo{height:46px;padding:6px}

  .program-day-head{padding:12px 14px;gap:10px}
  .program-day-num{width:34px;height:34px;font-size:13px;border-radius:9px}
  .program-day-info h4{font-size:13px}
  .program-day-content{padding:0 14px 14px 58px;font-size:12px}

  .faq-item-head{font-size:13px;padding:12px 14px}
  .faq-item-content{padding:0 14px 14px;font-size:12px}

  .cta-strip{padding:16px 14px;border-radius:20px}
  .cta-strip-text h4{font-size:15px}
  .cta-strip-text p{font-size:11px}

  .office{border-radius:20px}
  .office-info{padding:20px 14px}
  .office-info h3{font-size:20px}
  .office-info p{font-size:13px}
  .office-row{gap:10px}
  .office-row-text .val{font-size:12px}
  .office-map{min-height:200px}

  .final{padding:24px 16px;border-radius:20px}
  .final-text h2{font-size:clamp(22px, 7.5vw, 28px)}
  .final-text p{font-size:13px}
  .final-perk{font-size:11px}
  .final-form{padding:18px 14px;border-radius:20px}
  .final-form h3{font-size:15px}

  .footer{padding:32px 0 20px}
  .footer-top{gap:20px;padding-bottom:20px}
  .footer-col h4{font-size:12px;margin-bottom:12px}
  .footer-col a{font-size:13px}
  .footer-bottom{font-size:11px}

  .modal{border-radius:20px}
  .modal-head{padding:16px 16px 12px}
  .modal-body{padding:12px 16px 18px}
  .modal-cta{padding:12px;font-size:13px}

  .review-modal-overlay{padding:14px 8px}
  .review-modal{border-radius:20px}
  .review-modal-head{padding:14px 16px 10px}
  .review-modal-body{padding:14px 16px 18px}
  .review-modal-text{font-size:13px}
  .review-modal-photos{grid-template-columns:1fr}

  .cookie{padding:12px 14px;border-radius:18px}
  .cookie-icon{width:32px;height:32px}
  .cookie-text{font-size:11px}
  .cookie-btn{font-size:11px}
}
/* ============================================================
   STORIES — мессенджер-стиль (Telegram-like)
   ============================================================ */
.stories-strip{
  display:flex;flex-wrap:nowrap;gap:14px;
  max-width:1240px;margin:0 auto;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  padding-bottom:8px;scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.22) transparent;
}
.stories-strip::-webkit-scrollbar{height:8px}
.stories-strip::-webkit-scrollbar-track{background:transparent}
.stories-strip::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18);border-radius:99px}
.story{
  position:relative;cursor:pointer;
  flex:0 0 clamp(180px,18vw,220px);scroll-snap-align:start;
  aspect-ratio:9/14;border-radius:var(--r-md);overflow:hidden;
  background:#0B0F2C;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.story:hover{transform:translateY(-4px) scale(1.02)}
.story-img{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1s ease;
}
.story:hover .story-img{transform:scale(1.08)}
.story::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,15,44,0) 0%, rgba(11,15,44,0.10) 50%, rgba(11,15,44,0.85) 100%);
}
.story-ring,.stories-modal-ring{display:none}
.story-content{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px;
  color:#fff;
}
.story-tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px;border-radius:var(--r-pill);
  background:rgba(255,255,255,0.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:#fff;margin-bottom:8px;
  border:1px solid rgba(255,255,255,0.22);
}
.story-tag .bi{font-size:10px;color:var(--teal-soft)}
.story-title{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:15px;line-height:1.15;letter-spacing:-0.01em;color:#fff;
  margin-bottom:3px;
}
.story-views{
  display:flex;align-items:center;gap:5px;
  font-size:11px;color:rgba(255,255,255,0.78);font-weight:500;
}
.story-views .bi{font-size:11px;color:var(--teal-soft)}
.story-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,0.92);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .25s ease;
}
.story:hover .story-play{opacity:1}
.story-play .bi{font-size:16px;color:var(--indigo);margin-left:3px}
@media (max-width:540px){.story{flex-basis:160px}}

/* Стрелки-навигация слайдера историй (десктоп/планшет) */
.stories-slider{position:relative;max-width:1240px;margin:0 auto}
.stories-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:6;
  width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,0.96);box-shadow:0 8px 22px rgba(11,15,44,0.22);
  display:flex;align-items:center;justify-content:center;
  color:var(--indigo);font-size:20px;line-height:0;
  transition:opacity .2s ease,transform .2s ease,background .2s ease;
}
.stories-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.08)}
.stories-arrow--prev{left:6px}
.stories-arrow--next{right:6px}
.stories-arrow.is-hidden{opacity:0;pointer-events:none}
.stories-no-arrows .stories-arrow{display:none}
@media (max-width:720px){.stories-arrow{display:none!important}}

/* ============================================================
   PHOTOS MOSAIC — реальные кадры из туров
   ============================================================ */
.mosaic{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:200px;gap:14px;
  max-width:1240px;margin:0 auto;
}
.mosaic-cell{
  position:relative;border-radius:var(--r-md);overflow:hidden;
  background:#0B0F2C;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.mosaic-cell:hover{transform:translateY(-3px)}
.mosaic-cell--w2{grid-column:span 2}
.mosaic-cell--h2{grid-row:span 2}
.mosaic-cell--w2.mosaic-cell--h2{grid-column:span 2;grid-row:span 2}
.mosaic-img{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1s ease;transform:scale(1.02);
}
.mosaic-cell:hover .mosaic-img{transform:scale(1.08)}
.mosaic-cell::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(11,15,44,0.65) 100%);
}
.mosaic-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.mosaic-cap-text{
  color:#fff;font-size:13px;font-weight:600;line-height:1.3;
}
.mosaic-cap-text strong{color:#fff;font-weight:800}
.mosaic-cap-text .where{font-size:11px;color:rgba(255,255,255,0.7);font-weight:500;display:block;margin-top:2px}
.mosaic-cap-flag{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:var(--r-pill);
  background:var(--teal);color:#fff;
  font-size:11px;font-weight:800;letter-spacing:0.04em;
  white-space:nowrap;
}
.mosaic-cap-flag .bi{font-size:10px}
@media (max-width:1080px){
  .mosaic{grid-template-columns:repeat(2,1fr)}
  .mosaic-cell--w2{grid-column:span 2}
}

/* ============================================================
   REVIEWS — карточки с пометкой источника
   ============================================================ */
.reviews-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  max-width:1240px;margin:0 auto;
}
.review{
  background:#fff;border-radius:var(--r-lg);
  padding:24px;border:1px solid var(--line);
  display:flex;flex-direction:column;gap:14px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.review:hover{transform:translateY(-3px);box-shadow:var(--shadow-mini-h)}
.review-head{display:flex;align-items:center;gap:12px}
.review-avatar{
  width:46px;height:46px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg, var(--indigo-bright) 0%, var(--indigo-deep) 100%);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:18px;letter-spacing:-0.02em;
  font-family:'Bricolage Grotesque',sans-serif;
}
.review-meta{flex:1;min-width:0}
.review-name{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-0.01em;
}
.review-when{
  font-size:12px;color:var(--mute);font-weight:500;margin-top:2px;
  display:flex;align-items:center;gap:5px;
}
.review-source{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px;border-radius:var(--r-pill);
  font-size:11px;font-weight:700;letter-spacing:0.02em;
  white-space:nowrap;
}
.review-source--2gis{background:#41CD45;color:#fff}
.review-source--yandex{background:#FF0000;color:#fff}
.review-source--google{background:#4285F4;color:#fff}
.review-source--whatsapp{background:#25D366;color:#fff}
.review-source--telegram{background:#26A5E4;color:#fff}
.review-source--turbina{background:#FF7A45;color:#fff}
.review-source .bi{font-size:11px}
.review-stars{display:inline-flex;gap:1px}
.review-stars .bi{font-size:14px;color:#FFC93C}
.review-text{font-size:14px;color:var(--ink-2);line-height:1.55;font-weight:500;flex:1}
.review-text strong{color:var(--ink);font-weight:700}
.review-foot{
  padding-top:12px;border-top:1px dashed var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:12px;color:var(--mute);font-weight:500;
}
.review-tour{
  display:inline-flex;align-items:center;gap:5px;color:var(--indigo);font-weight:700;
}
.review-tour .bi{font-size:12px;color:var(--teal)}
@media (max-width:1080px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.reviews-grid{grid-template-columns:1fr}}

/* ============================================================
   TEAM — реальные сотрудники
   ============================================================ */
.team-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  max-width:1240px;margin:0 auto;
}
.team-card{
  background:#fff;border-radius:var(--r-lg);
  padding:24px;border:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-mini-h);border-color:var(--indigo)}
.team-photo{
  width:100px;height:100px;border-radius:50%;
  background:linear-gradient(155deg, var(--indigo) 0%, var(--indigo-deep) 60%, var(--teal) 130%);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:#fff;
  font-size:42px;letter-spacing:-0.04em;position:relative;
  box-shadow:0 14px 36px rgba(67,81,221,0.30);
}
.team-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  border-radius:50%;
}
.team-photo[data-online]::after{
  content:'';position:absolute;bottom:4px;right:4px;
  width:18px;height:18px;border-radius:50%;
  background:#22c55e;border:3px solid #fff;
}
.team-name{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:18px;letter-spacing:-0.01em;color:var(--ink);
}
.team-role{
  font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--teal-deep);
}
.team-bio{font-size:13px;color:var(--ink-2);line-height:1.5;font-weight:500}
.team-msgs{display:flex;gap:6px;margin-top:6px}
.team-msgs a{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);color:var(--ink-2);
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.team-msgs a:hover{transform:translateY(-2px)}
.team-msgs a .bi{font-size:14px}
.team-msgs a.wa:hover{background:#25D366;color:#fff}
.team-msgs a.tg:hover{background:#26A5E4;color:#fff}
.team-msgs a.max{background:var(--indigo-50);color:var(--indigo)}
.team-msgs a.max:hover{background:var(--indigo);color:#fff}
.team-msgs a.max img{width:14px;height:14px}
@media (max-width:1080px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.team-grid{grid-template-columns:1fr}}

/* ============================================================
   PARTNERS — стрип логотипов
   ============================================================ */
.partners{
  background:#fff;border-radius:var(--r-card);
  padding:36px 40px;max-width:1240px;margin:0 auto;
  border:1px solid var(--line);
  box-shadow:var(--shadow-mini);
}
.partners-head{
  display:flex;align-items:center;gap:14px;margin-bottom:24px;
}
.partners-head .bi{font-size:22px;color:var(--teal)}
.partners-head h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:20px;letter-spacing:-0.01em;color:var(--ink);
}
.partners-head p{font-size:13px;color:var(--mute);margin-top:2px}
.partners-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:24px;align-items:center;
}
.partner-logo{
  height:60px;
  display:flex;align-items:center;justify-content:center;
  padding:10px;border-radius:var(--r-md);
  background:var(--bg-2);
  filter:grayscale(1);opacity:.65;
  transition:filter .25s ease, opacity .25s ease, transform .25s ease;
}
.partner-logo:hover{filter:grayscale(0);opacity:1;transform:translateY(-2px)}
.partner-logo img{max-height:36px;max-width:100%;object-fit:contain}
@media (max-width:1080px){.partners-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:540px){.partners-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   OFFICE + MAP
   ============================================================ */
.office{
  display:grid;grid-template-columns:1fr 1.4fr;gap:0;
  max-width:1240px;margin:0 auto;
  background:#fff;border-radius:var(--r-card);
  overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow-mini);
}
.office-info{padding:40px;display:flex;flex-direction:column;gap:20px}
.office-info h3{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:32px;line-height:1.05;letter-spacing:-0.02em;color:var(--ink);
}
.office-info h3 .accent{
  background:linear-gradient(110deg, var(--indigo) 0%, var(--teal) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.office-info p{font-size:15px;color:var(--ink-2);line-height:1.55;font-weight:500}
.office-list{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.office-row{
  display:flex;align-items:flex-start;gap:14px;
}
.office-row-icon{
  width:42px;height:42px;border-radius:13px;flex-shrink:0;
  background:var(--indigo-50);color:var(--indigo);
  display:flex;align-items:center;justify-content:center;
}
.office-row-icon .bi{font-size:18px}
.office-row-text{flex:1;min-width:0}
.office-row-text .lbl{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--mute);margin-bottom:3px}
.office-row-text .val{font-size:15px;font-weight:700;color:var(--ink);line-height:1.35}
.office-row-text .val a{color:var(--ink);transition:color .2s ease}
.office-row-text .val a:hover{color:var(--indigo)}
.office-cta{
  display:inline-flex;align-items:center;gap:10px;align-self:flex-start;
  padding:14px 22px;border-radius:var(--r-pill);
  background:var(--teal);color:#fff;font-weight:700;font-size:14px;
  box-shadow:var(--shadow-cta);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  margin-top:6px;
}
.office-cta:hover{background:var(--teal-deep);transform:translateY(-1px);box-shadow:var(--shadow-cta-h)}
.office-cta .bi{font-size:14px}
.office-map{
  position:relative;min-height:420px;background:var(--indigo-50);
}
.office-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:1080px){
  .office{grid-template-columns:1fr}
  .office-map{min-height:320px}
}

/* ============================================================
   CTA STRIP — узкая полоска между секциями для лидогенерации
   ============================================================ */
.cta-strip-wrap{padding:8px 0}
.cta-strip{
  max-width:1240px;margin:0 auto;
  background:linear-gradient(105deg, var(--indigo-ink) 0%, var(--indigo) 60%, var(--teal) 130%);
  border-radius:var(--r-card);
  padding:22px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  position:relative;overflow:hidden;
  box-shadow:0 24px 60px -16px rgba(67,81,221,0.30);
}
.cta-strip::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 100% 0%, rgba(127,218,211,0.30), transparent 55%);
  pointer-events:none;
}
.cta-strip-text{position:relative;z-index:1;color:#fff;flex:1;min-width:280px}
.cta-strip-text h4{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-0.02em;color:#fff;
  margin-bottom:4px;
}
.cta-strip-text h4 .accent{
  background:linear-gradient(110deg, var(--teal-soft) 0%, #fff 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.cta-strip-text p{font-size:13px;color:rgba(255,255,255,0.85);font-weight:500}
.cta-strip-actions{position:relative;z-index:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cta-strip-btn{
  padding:14px 24px;border-radius:var(--r-pill);
  font-weight:800;font-size:14px;letter-spacing:-0.01em;
  display:inline-flex;align-items:center;gap:10px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.cta-strip-btn--primary{
  background:var(--teal);color:#fff;
  box-shadow:0 12px 26px rgba(0,182,170,0.45);
}
.cta-strip-btn--primary:hover{background:#00CFC2;transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,182,170,0.55)}
.cta-strip-btn--ghost{
  background:rgba(255,255,255,0.12);color:#fff;
  border:1.5px solid rgba(255,255,255,0.30);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.cta-strip-btn--ghost:hover{background:rgba(255,255,255,0.20);border-color:rgba(255,255,255,0.50);transform:translateY(-1px)}
.cta-strip-btn .bi{font-size:14px}
.cta-strip-btn--primary:hover .bi{transform:translateX(3px);transition:transform .25s ease}
@media (max-width:720px){
  .cta-strip{padding:18px 22px;flex-direction:column;align-items:stretch;text-align:center}
  .cta-strip-actions{justify-content:center}
}

/* ============================================================
   ОТЗЫВЫ — расширенные карточки + лого источников
   ============================================================ */
.review-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.review-more{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  padding:8px 14px;border-radius:var(--r-pill);
  background:var(--indigo-50);color:var(--indigo);
  font-size:12px;font-weight:700;letter-spacing:-0.005em;
  transition:background .25s ease, color .25s ease;
}
.review-more:hover{background:var(--indigo);color:#fff}
.review-more .bi{font-size:12px;transition:transform .25s ease}
.review-more:hover .bi{transform:translateX(3px)}

/* SVG-логотипы источников внутри бейджа */
.review-source svg{height:13px;width:auto;display:block}
.review-source .src-logo{height:14px;width:auto}
.review-source--2gis{background:#19AA1E}
.review-source--yandex{background:#FC3F1D}
.review-source--google{background:#fff;color:#1A1A1A;border:1px solid var(--line)}
.review-source--whatsapp{background:#25D366}
.review-source--telegram{background:#26A5E4}
.review-source--turbina{background:#FF7A45}

/* ============================================================
   REVIEW MODAL — отдельная для полного отзыва с фото
   ============================================================ */
.review-modal-overlay{
  position:fixed;inset:0;z-index:90;
  background:rgba(11,15,44,0.70);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
  /* overlay сам скроллится, чтобы длинные модалки нормально читались */
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:5vh 20px;
}
.review-modal-overlay.is-open{opacity:1;pointer-events:auto}
.review-modal{
  width:100%;max-width:680px;
  margin:0 auto;  /* центрируем по горизонтали */
  background:#fff;border-radius:var(--r-xl);
  box-shadow:var(--shadow-modal);
  transform:translateY(20px) scale(.97);opacity:0;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .3s ease;
}
.review-modal-overlay.is-open .review-modal{transform:translateY(0) scale(1);opacity:1}
.review-modal-head{
  padding:24px 28px 18px;border-bottom:1px solid var(--line);
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
}
.review-modal-meta{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.review-modal-meta .review-avatar{width:54px;height:54px;font-size:20px}
.review-modal-meta .review-name{font-size:18px}
.review-modal-meta .review-when{font-size:13px}
.review-modal-body{padding:22px 28px 28px}
.review-modal-source{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap;
}
.review-modal-stars{display:inline-flex;gap:1px}
.review-modal-stars .bi{font-size:18px;color:#FFC93C}
.review-modal-text{
  font-size:16px;line-height:1.6;color:var(--ink);font-weight:500;
  margin-bottom:18px;white-space:pre-line;
}
.review-modal-text strong{font-weight:700}
.review-modal-photos{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;
}
.review-modal-photo{
  aspect-ratio:1/1;border-radius:14px;overflow:hidden;cursor:pointer;
  background:var(--bg);
}
.review-modal-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.review-modal-photo:hover img{transform:scale(1.06)}
.review-modal-foot{
  padding-top:16px;border-top:1px dashed var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  font-size:13px;color:var(--mute);
}

/* IMAGE LIGHTBOX (для скриншотов в отзывах) */
.lightbox{
  position:fixed;inset:0;z-index:200;
  background:rgba(11,15,44,0.90);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
  display:flex;align-items:center;justify-content:center;
  padding:32px;
}
.lightbox.is-open{opacity:1;pointer-events:auto}
.lightbox img{max-width:100%;max-height:100%;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,0.55)}
.lightbox-close{
  position:absolute;top:24px;right:24px;
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,0.16);color:#fff;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(10px);
  transition:background .25s ease, transform .25s ease;
}
.lightbox-close:hover{background:rgba(255,255,255,0.28);transform:scale(1.05)}
.lightbox-close .bi{font-size:18px}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.cookie{
  position:fixed;bottom:18px;left:18px;right:18px;z-index:80;
  max-width:780px;margin:0 auto;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  padding:18px 22px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  box-shadow:0 24px 60px rgba(11,15,44,0.20);
  transform:translateY(120%);opacity:0;
  transition:transform .45s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
}
.cookie.is-open{transform:translateY(0);opacity:1}
.cookie-icon{
  width:42px;height:42px;border-radius:13px;flex-shrink:0;
  background:var(--indigo-50);color:var(--indigo);
  display:flex;align-items:center;justify-content:center;
}
.cookie-icon .bi{font-size:20px}
.cookie-text{flex:1;min-width:240px;font-size:13px;color:var(--ink-2);line-height:1.45;font-weight:500}
.cookie-text strong{color:var(--ink);font-weight:700}
.cookie-text a{color:var(--indigo);text-decoration:underline;text-underline-offset:2px}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
.cookie-btn{
  padding:11px 18px;border-radius:var(--r-pill);
  font-weight:700;font-size:13px;letter-spacing:-0.01em;
  display:inline-flex;align-items:center;gap:8px;
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.cookie-btn--primary{background:var(--teal);color:#fff;box-shadow:var(--shadow-cta)}
.cookie-btn--primary:hover{background:var(--teal-deep);transform:translateY(-1px)}
.cookie-btn--secondary{background:var(--bg);color:var(--ink-2)}
.cookie-btn--secondary:hover{background:var(--line);color:var(--ink)}
@media (max-width:540px){
  .cookie{flex-direction:column;align-items:stretch;text-align:left}
  .cookie-actions{justify-content:flex-end}
}

/* ============================================================
   STORIES MODAL — фуллскрин-плеер с прогресс-барами и swipe
   ============================================================ */
.stories-modal-overlay{
  position:fixed;inset:0;z-index:1000;
  background:rgba(11,15,44,0.92);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
}
.stories-modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}

.stories-modal-close{
  position:absolute;top:24px;right:24px;z-index:10;
  width:44px;height:44px;border-radius:50%;border:0;
  background:rgba(255,255,255,0.14);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease, transform .2s ease;
}
.stories-modal-close:hover{background:rgba(255,255,255,0.24);transform:rotate(90deg)}
.stories-modal-close .bi{font-size:18px}

.stories-modal-frame{
  position:relative;
  width:min(420px, calc(100vw - 32px));
  aspect-ratio:9/14;max-height:calc(100vh - 80px);
  border-radius:24px;overflow:hidden;
  background:#0B0F2C;
  box-shadow:0 30px 80px rgba(0,0,0,0.55);
}

.stories-modal-stage{position:absolute;inset:0}
.stories-modal-stage::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(11,15,44,0.40) 0%, rgba(11,15,44,0.05) 25%, rgba(11,15,44,0.20) 60%, rgba(11,15,44,0.92) 100%);
}
.stories-modal-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}

.stories-modal-meta{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  padding:22px 22px 26px;color:#fff;
}
.stories-modal-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:#fff;margin-bottom:10px;
}
.stories-modal-tag .bi{font-size:8px;color:var(--teal-soft)}
.stories-modal-title{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:18px;font-weight:700;color:#fff;line-height:1.25;letter-spacing:-0.01em;
  margin:0;
}

.stories-modal-ring{
  position:absolute;top:42px;left:18px;z-index:2;
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(45deg,#FF7A18 0%,#AF002D 50%,#319197 100%);
  padding:2px;
}
.stories-modal-ring-inner{
  width:100%;height:100%;border-radius:50%;
  background:#0B0F2C;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:15px;
}

.stories-modal-progress{
  position:absolute;top:14px;left:14px;right:14px;z-index:5;
  display:flex;gap:5px;
}
.stories-modal-seg{
  flex:1;height:3px;border-radius:99px;
  background:rgba(255,255,255,0.30);overflow:hidden;
}
.stories-modal-seg span{
  display:block;height:100%;width:0;background:#fff;border-radius:99px;
}
.stories-modal-seg.is-done span{width:100%}
.stories-modal-seg.is-active span{
  animation:storyProgress 5s linear forwards;
}
@keyframes storyProgress{from{width:0}to{width:100%}}

.stories-modal-tap{
  position:absolute;inset:0;z-index:4;display:flex;
}
.stories-modal-tap-btn{
  flex:1;background:transparent;border:0;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.stories-modal-paused .stories-modal-seg.is-active span{animation-play-state:paused}

@media (max-width:540px){
  .stories-modal-close{top:14px;right:14px}
  .stories-modal-frame{
    width:100vw;height:100vh;max-height:100vh;
    aspect-ratio:auto;border-radius:0;
  }
}

/* ============================================================
   CONTACT-SWITCH — переключатель канала связи в формах (пилюли)
   ============================================================ */
.contact-switch-wrap{margin:14px 0 18px}
.contact-switch-label{
  font-size:14px;font-weight:600;color:var(--ink);margin-bottom:10px;
}
.contact-switch{
  display:flex;flex-wrap:wrap;gap:8px;
}
.contact-opt{
  padding:9px 18px;border-radius:999px;
  background:#fff;border:1.5px solid rgba(11,15,44,0.12);
  font-size:13px;font-weight:600;color:var(--ink);
  cursor:pointer;transition:all .2s ease;
  white-space:nowrap;
}
.contact-opt:hover{border-color:var(--indigo);color:var(--indigo)}
.contact-opt.is-active{
  background:var(--indigo);border-color:var(--indigo);color:#fff;
  box-shadow:0 6px 14px rgba(67,81,221,0.32);
}

/* Адаптация под тёмный фон .final-form */
.final-form .contact-switch-label{color:rgba(255,255,255,0.85)}
.final-form .contact-opt{
  background:rgba(255,255,255,0.10);
  border-color:rgba(255,255,255,0.22);
  color:#fff;
}
.final-form .contact-opt:hover{
  background:rgba(255,255,255,0.18);
  border-color:rgba(255,255,255,0.45);
  color:#fff;
}
.final-form .contact-opt.is-active{
  background:#fff;border-color:#fff;color:var(--indigo);
  box-shadow:0 6px 14px rgba(0,0,0,0.20);
}

/* ============================================================
   DEPARTURE — фото аэропорта вылета (доверие)
   ============================================================ */
.departure{
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:36px;align-items:stretch;
  padding:0;
}
.departure-img{
  position:relative;border-radius:28px;overflow:hidden;min-height:520px;
  background-size:cover;background-position:center;
  box-shadow:var(--shadow-card);
  transition:transform .6s ease;
}
.departure-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,15,44,0) 30%, rgba(11,15,44,0.55) 100%);
  pointer-events:none;
}
.departure-badge{
  position:absolute;top:22px;left:22px;z-index:2;
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:999px;
  background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);
  font-size:12px;font-weight:700;letter-spacing:0.04em;color:var(--ink);
  box-shadow:0 8px 22px rgba(11,15,44,0.18);
}
.departure-badge .bi{font-size:14px;color:var(--teal)}

.departure-content{
  display:flex;flex-direction:column;gap:18px;
  padding:8px 4px;
}
.departure-title{
  font-family:'Bricolage Grotesque','Manrope',sans-serif;
  font-size:42px;line-height:1.06;font-weight:700;letter-spacing:-0.02em;
  color:var(--ink);margin:6px 0 0;
}
.departure-title .accent{
  background:linear-gradient(110deg, var(--indigo) 0%, var(--teal) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.departure-lead{
  font-size:17px;line-height:1.55;color:var(--ink-2);font-weight:500;margin:0;
}
.departure-lead strong{color:var(--ink);font-weight:700}

.departure-facts{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  margin-top:10px;
}
.departure-fact{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px;border-radius:18px;
  background:#fff;border:1px solid rgba(11,15,44,0.06);
  box-shadow:0 6px 18px -10px rgba(11,15,44,0.10);
}
.departure-fact-ic{
  flex:0 0 38px;width:38px;height:38px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--teal-50);color:var(--teal-deep);
}
.departure-fact-ic .bi{font-size:18px}
.departure-fact-h{
  font-size:14px;font-weight:700;color:var(--ink);line-height:1.25;margin-bottom:4px;
}
.departure-fact-p{
  font-size:13px;line-height:1.5;color:var(--ink-2);font-weight:500;
}

.departure-cta{
  align-self:flex-start;margin-top:6px;
}

@media (max-width:1080px){
  .departure{grid-template-columns:1fr;gap:20px}
  .departure-img{min-height:280px}
  .departure-title{font-size:32px}
  .departure-facts{grid-template-columns:1fr 1fr}
  .departure-content{padding:0;gap:14px}
}
@media (max-width:720px){
  .departure-facts{grid-template-columns:1fr}
}
@media (max-width:540px){
  .departure-img{min-height:200px;border-radius:18px}
  .departure-badge{
    top:14px;left:14px;font-size:11px;padding:8px 12px;gap:6px;
    max-width:calc(100% - 28px);
  }
  .departure-badge span{white-space:normal;line-height:1.3}
  .departure-title{font-size:26px;line-height:1.1}
  .departure-lead{font-size:15px}
  .departure-fact{padding:14px;gap:12px}
  .departure-fact-ic{flex-basis:34px;width:34px;height:34px;border-radius:10px}
  .departure-fact-ic .bi{font-size:16px}
  .departure-cta{width:100%;justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Плейсхолдер под ленивые фоновые картинки (до загрузки [data-bg]) */
[data-bg]{background-color:#0e1330}
