:root{
  --blue:#2559DD;
  --blue-deep:#1e4bc4;
  --blue-dark:#0e2c8a;
  --cyan:#8FF4FF;
  --cyan-soft:#EAF8FF;
  --cyan-deep:#4ad4e8;
  --bg-soft:#EAF8FF;
  --bg-cream:#EAF8FF;
  --white:#ffffff;
  --black:#0e1620;
  --gray-50:#f5f7fa;
  --gray-100:#e9eef5;
  --gray-300:#c4cdd8;
  --gray-500:#7a8699;
  --gray-700:#3d4757;
  --gray-900:#1d2433;
  --shadow-sm:0 2px 8px rgba(37,89,221,.08);
  --shadow-md:0 8px 28px rgba(37,89,221,.14);
  --shadow-lg:0 18px 50px rgba(37,89,221,.18);
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --transition:.4s cubic-bezier(.4,0,.2,1);
  --container:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Open Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:18px;line-height:1.65;color:var(--black);background:var(--white);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  hyphens:none;-webkit-hyphens:none;
  overflow-wrap:break-word;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
button{font-family:inherit;cursor:pointer;border:none;background:none}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;font-weight:800;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase}
.container{max-width:var(--container);margin:0 auto;padding:0 28px}
.section{padding:70px 0;position:relative}
.section-title{font-size:clamp(26px,3.4vw,42px);margin-bottom:14px;color:var(--black)}
@media(max-width:1024px){.section-title{font-size:36px}}
@media(max-width:767px){.section-title{font-size:30px}}
.section-subtitle{color:var(--gray-500);font-size:17px;max-width:680px;margin-bottom:46px}

/* СТИЛЬНЫЙ ШИЛЬДИК (BADGE) */
.badge-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 22px;border-radius:50px;
  background:linear-gradient(135deg,#dff5f9,#a9e6ec);
  border:1px solid rgba(74,212,232,.3);
  color:var(--blue);font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:13px;letter-spacing:.18em;
  text-transform:uppercase;
  box-shadow:0 4px 12px rgba(143,244,255,.25);
  position:relative;overflow:hidden;
  margin-bottom:32px;
}
.badge-pill::before{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.7) 50%,transparent 80%);
  transform:skewX(-20deg);
  animation:shineBadge 4s infinite;
}
@keyframes shineBadge{
  0%{left:-100%}50%{left:130%}100%{left:130%}
}
.badge-pill i{color:var(--cyan-deep)}
.badge-blue{background:linear-gradient(135deg,#dee9ff,#b5cdff);color:var(--blue-dark);border-color:rgba(37,89,221,.2)}
.badge-blue i{color:var(--blue)}

/* ===== БЛИКУЮЩАЯ КНОПКА ===== */
/* Иконки всегда справа у всех кнопок */
.btn i,.btn svg,.btn-mega i,.btn-mega svg{order:1}

.btn{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  padding:14px 36px;font-weight:700;font-size:14px;border-radius:30px;
  cursor:pointer;overflow:hidden;transition:all var(--transition);
  white-space:nowrap;border:none;isolation:isolate;text-transform:uppercase;letter-spacing:.05em;
}
.btn::before{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);
  transform:skewX(-25deg);transition:left .8s cubic-bezier(.4,0,.2,1);z-index:-1;
}
.btn:hover::before{left:130%}
.btn i{transition:transform .35s cubic-bezier(.4,0,.2,1)}
.btn-cyan{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 6px 20px rgba(37,89,221,.4)}
.btn-cyan:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(37,89,221,.55)}
.btn-blue{background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:#fff;box-shadow:0 6px 20px rgba(37,89,221,.4)}
.btn-blue:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(37,89,221,.55)}
.btn-blue:hover i{transform:translateX(4px)}
.btn-outline{background:transparent;border:2px solid #fff;color:#fff}
.btn-outline:hover{background:#fff;color:var(--blue);transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.12);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.25)}
.btn-ghost:hover{background:#fff;color:var(--blue)}

/* ===== STYLE: ПЛАВАЮЩИЙ GLASS HEADER (центрированный, max 1250) ===== */
.header{
  position:fixed;top:18px;left:50%;transform:translateX(-50%);
  width:calc(100% - 36px);max-width:1250px;z-index:100;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.55);
  border-radius:60px;
  box-shadow:0 12px 40px rgba(14,44,138,.08),0 1px 0 rgba(255,255,255,.6) inset;
  padding:10px 16px 10px 22px;
  transition:top .45s cubic-bezier(.4,0,.2,1),background .45s,box-shadow .45s,padding .45s;
}
.header.scrolled{
  top:10px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 40px rgba(14,44,138,.14),0 1px 0 rgba(255,255,255,.6) inset;
  padding:8px 14px 8px 18px;
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;
}
.logo{display:flex;align-items:center;gap:0;flex-shrink:0;text-decoration:none;margin-left:20px}
.logo-svg{height:30px;width:auto;display:block;transition:transform .4s}
.logo:hover .logo-svg{transform:scale(1.04)}

/* ===== ГЛАВНОЕ МЕНЮ - PILL КАПСУЛА ===== */
.nav-pill{
  display:flex;align-items:center;gap:2px;
  background:rgba(14,44,138,.04);
  border:1px solid rgba(14,44,138,.06);
  border-radius:50px;padding:5px;
}
.nav-item{position:relative}
.nav-link{
  padding:11px 18px;font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:13px;color:var(--black);
  letter-spacing:.05em;text-transform:uppercase;border-radius:50px;
  transition:all .3s;display:flex;align-items:center;gap:6px;
  white-space:nowrap;cursor:pointer;
}
.nav-link i{font-size:9px;opacity:.5;transition:transform .3s}
.nav-link:hover{background:#fff;color:var(--blue);box-shadow:0 4px 16px rgba(37,89,221,.15)}
.nav-item:hover .nav-link i{transform:rotate(180deg);opacity:1}
.nav-link.active{
  background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:#fff;
  box-shadow:0 6px 18px rgba(37,89,221,.35);
}

/* ===== DROPDOWN ===== */
.dropdown{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:280px;background:#fff;border-radius:20px;
  box-shadow:0 20px 60px rgba(14,44,138,.18),0 1px 0 rgba(255,255,255,.6) inset;
  padding:14px;opacity:0;visibility:hidden;transition:all .35s;
  border:1px solid var(--gray-100);z-index:50;
}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown a{
  display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;
  color:var(--gray-700);font-size:13.5px;font-weight:600;text-transform:none;
  letter-spacing:0;transition:all .25s;
}
.dropdown a i{color:var(--cyan-deep);width:18px;text-align:center}
.dropdown a:hover{background:var(--bg-soft);color:var(--blue);transform:translateX(4px)}

/* ===== ПРАВЫЕ ДЕЙСТВИЯ ===== */
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.phone-cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 22px;border-radius:50px;
  background:linear-gradient(135deg,var(--cyan),var(--cyan-deep));
  color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;
  letter-spacing:.02em;white-space:nowrap;
  box-shadow:0 8px 22px rgba(74,212,232,.4);
  position:relative;overflow:hidden;isolation:isolate;
  transition:all .35s;
}
.phone-cta::before{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);
  transform:skewX(-25deg);transition:left .8s;z-index:-1;
}
.phone-cta:hover::before{left:130%}
.phone-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(74,212,232,.55)}
.phone-cta i{font-size:12px}
.icon-btn{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(14,44,138,.06);color:var(--blue);font-size:14px;
  transition:all .3s;flex-shrink:0;
}
.icon-btn.tg:hover{background:#0088cc;color:#fff;transform:translateY(-2px)}
.icon-btn.fb:hover{background:#1877f2;color:#fff;transform:translateY(-2px)}

/* ===== БУРГЕР - акцентный круг ===== */
.burger{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  box-shadow:0 8px 22px rgba(37,89,221,.45);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  transition:all .35s;cursor:pointer;border:none;flex-shrink:0;
  position:relative;overflow:hidden;isolation:isolate;
}
.burger::before{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);
  transform:skewX(-25deg);transition:left .8s;z-index:-1;
}
.burger:hover::before{left:130%}
.burger span{width:20px;height:2px;background:#fff;border-radius:2px;transition:all .3s}
.burger:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 12px 28px rgba(37,89,221,.55)}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Слайдер с отступом от плавающего header */
.hero-wrap{padding:120px 28px 0;display:flex;justify-content:center}
.hero-wrap-inner{
  width:100%;max-width:1264px;border-radius:32px;overflow:hidden;position:relative;
  aspect-ratio:16/9;
}
@media (max-width:768px){
  .hero-wrap-inner{aspect-ratio:auto}
}

/* ===== HERO SLIDER ===== */
.hero{position:absolute;inset:0;overflow:hidden;background:#0e2c8a;touch-action:pan-y pinch-zoom;border-radius:32px}
.hero-slide{
  position:absolute;inset:0;
  opacity:0;visibility:hidden;
  transition:opacity .7s cubic-bezier(.4,0,.2,1),visibility .7s;
  display:flex;align-items:stretch;
  pointer-events:none;
}
.hero-slide.active{opacity:1;visibility:visible;pointer-events:auto;}
.hero-slide::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(14,44,138,1) 0%,rgba(14,44,138,.6) 45%,transparent 100%);
  mix-blend-mode:multiply;
}
/* Сейшелы — яркое фото, нужен плотный тёмный градиент */
.hero-slide:nth-child(2)::before{
  background:linear-gradient(105deg,rgba(0,65,95,1) 0%,rgba(0,90,120,.85) 25%,rgba(0,110,140,.55) 50%,rgba(0,130,160,.2) 72%,transparent 100%);
  mix-blend-mode:normal;
}
@media(max-width:768px){
  .hero-slide:nth-child(2)::before{
    background:linear-gradient(160deg,rgba(0,65,95,1) 0%,rgba(0,90,120,.9) 30%,rgba(0,110,140,.6) 58%,rgba(0,130,160,.2) 80%,transparent 100%);
    mix-blend-mode:normal;
  }
}
.hero-slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);transition:transform 8s ease-out}
.hero-slide.active .hero-slide-bg{transform:scale(1.15)}

/* Внутренний блок — заменяет .container, без auto-margin и max-width */
.hero-inner{
  position:relative;z-index:2;
  width:100%;height:100%;
  display:flex;flex-direction:column;
  justify-content:center;
  padding:60px 48px 110px 84px;
  box-sizing:border-box;
}
.hero-content{color:#fff;max-width:560px;animation:fadeUp 1.2s ease-out;text-align:left;}
.hero-eyebrow{
  display:inline-block;color:#8FF4FF;font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  margin-bottom:18px;
}
.hero-title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(30px,4vw,60px);line-height:1.05;margin-bottom:14px;text-shadow:0 4px 24px rgba(0,0,0,.35);text-transform:uppercase}
.hero-text{font-size:clamp(15px,1.4vw,19px);margin-bottom:0;color:rgba(255,255,255,.92);max-width:440px;line-height:1.65}

/* Кнопка — абсолютно, выровнена по левому padding hero-inner */
.hero-actions{
  position:absolute;bottom:74px;left:84px;z-index:5;
  display:flex;gap:12px;flex-wrap:wrap;
}

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

.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);padding:0}
.slider-dot.active{background:var(--cyan);width:34px;border-radius:5px}
.fleet-pagination{display:flex;justify-content:center;gap:8px;margin-top:20px}
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;
  background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);
  color:#fff;font-size:16px;z-index:5;transition:all var(--transition);
}
.hero-arrow:hover{background:var(--cyan);border-color:var(--cyan)}
.hero-arrow.prev{left:16px}
.hero-arrow.next{right:16px}

/* ===== HERO — МОБИЛЬНАЯ АДАПТАЦИЯ ===== */
@media(max-width:768px){
  .hero-wrap{padding-top:80px;padding-left:12px;padding-right:12px}
  .hero-wrap-inner{border-radius:20px;min-height:620px;min-height:calc(100svh - 80px);aspect-ratio:auto}
  .hero{border-radius:20px}
  .hero-slide::before{background:linear-gradient(180deg,rgba(14,44,138,1) 0%,rgba(14,44,138,.9) 30%,rgba(14,44,138,.7) 55%,rgba(14,44,138,.3) 80%,transparent 100%)}
  .hero-inner{padding:80px 20px 100px 20px;justify-content:flex-start;align-items:center;text-align:center}
  .hero-content{max-width:86%;text-align:center}
  .hero-eyebrow{font-size:11px;margin-bottom:12px}
  .hero-title{font-size:clamp(28px,7vw,40px);margin-bottom:12px}
  .hero-text{font-size:18px;line-height:1.6;max-width:100%}
  .hero-actions{bottom:98px;left:50%;transform:translateX(-50%);gap:10px;white-space:nowrap}
  .hero-arrow{width:36px;height:36px;font-size:13px}
  .hero-arrow.prev{left:8px}
  .hero-arrow.next{right:8px}
  .hero-dots{bottom:48px}
}

/* ===== О КОМАНДЕ (с typing) ===== */
.sections-band{background:linear-gradient(180deg,#fff 0%,#EAF8FF 30%,#EAF8FF 100%)}
.team-intro{padding:80px 0;background:transparent;position:relative}
.team-intro-grid{display:grid;grid-template-columns:.9fr 1.5fr;gap:60px;align-items:center}
.team-intro-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.team-intro-photo img{width:100%;height:auto;display:block}
.team-intro-photo::after{
  content:"";position:absolute;inset:0;border:3px solid var(--cyan);
  border-radius:var(--radius-lg);transform:translate(14px,14px);z-index:-1;
}
.team-intro-content h2{font-size:clamp(24px,3.2vw,46px);margin-bottom:24px;line-height:1.2;min-height:148px}
.team-intro-content h2 .typed{color:var(--black)}
.team-intro-content h2 .cursor{
  display:inline-block;width:3px;height:1em;background:var(--blue);
  vertical-align:text-bottom;margin-left:4px;animation:blink 1s infinite;
}
@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}
.team-intro-content p{color:var(--black);font-size:18px;line-height:1.75;margin-bottom:18px}
.team-intro-actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}

/* ===== КНОПКА "КНИГА С АВТОГРАФОМ" ===== */
/* ===== КНОПКА СЛАЙДЕРА ===== */
@property --bh{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes borderSpinHero{to{--bh:360deg}}
.btn-hero{
  background:linear-gradient(#fff,#fff) padding-box,
             conic-gradient(from var(--bh),#2559DD 0%,#2559DD 70%,#8FF4FF 82%,#2559DD 94%,#2559DD 100%) border-box;
  border:2px solid transparent;
  color:#2559DD;font-weight:700;
  box-shadow:0 4px 16px rgba(37,89,221,.25);
  letter-spacing:.02em;
  position:relative;overflow:hidden;
  animation:borderSpinHero 4s linear infinite;
}
.btn-hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .5s ease;
}
.btn-hero:hover::after{transform:translateX(100%)}
.btn-hero:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(37,89,221,.35)}
.btn-hero:hover i{transform:translateX(4px)}
.fleet-slide .btn-hero{background:#fff;border:none;animation:none;box-shadow:0 4px 16px rgba(37,89,221,.18)}

.btn-book{
  background:linear-gradient(135deg,#2559DD,#8FF4FF);
  border:none;
  color:#fff;font-weight:700;
  box-shadow:0 4px 16px rgba(37,89,221,.35);
  letter-spacing:.02em;
  position:relative;overflow:hidden;
}
.btn-book:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(37,89,221,.5)}
.btn-book:hover i{transform:translateX(4px)}

/* ===== СЧЁТЧИКИ ===== */
.stats{padding:20px 0;background:transparent}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.stat-item{
  text-align:left;padding:28px 18px 32px 22px;position:relative;min-height:220px;
  background:#fff;border-radius:20px;
  box-shadow:0 4px 20px rgba(37,89,221,.10);
  transition:transform .3s ease,box-shadow .3s ease;
}
.stat-item:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(37,89,221,.18)}
.stat-icon{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#EAF8FF,#c8f0ff);
  display:flex;align-items:center;justify-content:center;
  position:absolute;top:14px;right:14px;
  font-size:16px;color:var(--blue);
}
.stat-number{
  font-family:'Montserrat',sans-serif;font-weight:600;
  font-size:52px;color:var(--blue);line-height:1;
  display:flex;justify-content:flex-start;align-items:baseline;gap:4px;padding-right:52px;
}
.stat-prefix,.stat-suffix{font-size:.5em;color:var(--blue);font-weight:600}
.stat-bigtext{
  margin-top:6px;font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:15px;color:var(--blue);letter-spacing:.1em;text-transform:uppercase;
}
.stat-label{margin-top:10px;font-family:'Open Sans',sans-serif;font-size:18px;color:var(--black);font-weight:400;line-height:1.5;padding:0}


/* ===== УСЛУГИ (8) - современный минималистичный стиль ===== */
.services{background:#EAF8FF;padding:60px 0 40px;position:relative;overflow:hidden}

.services-panel{
  background:linear-gradient(180deg,#fff 0%,#EAF8FF 100%);
  border-radius:32px;
  padding:56px 36px;
  box-shadow:0 4px 40px rgba(37,89,221,.11), 0 2px 10px rgba(37,89,221,.07);
}
@media(max-width:1100px){.services-panel{padding:40px 24px;border-radius:24px}}
@media(max-width:600px){.services-panel{padding:28px 16px;border-radius:18px}}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:2}
.service-card{
  position:relative;background:#fff;border-radius:20px;
  overflow:hidden;cursor:pointer;
  transition:transform .4s cubic-bezier(.34,1.2,.64,1),box-shadow .4s,border-color .3s;
  box-shadow:0 6px 24px rgba(37,89,221,.13), 0 2px 6px rgba(37,89,221,.07);
}

.service-card:hover{
  transform:translateY(-9px);
  box-shadow:0 22px 44px rgba(37,89,221,.16);
}
.service-card-img{
  height:220px;
  position:relative;overflow:hidden;
}
.service-card-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,44,138,.08) 0%,rgba(14,44,138,.55) 100%);
  transition:opacity .4s;z-index:1;
}
.service-card:hover .service-card-img::after{opacity:.7}
.service-card-img-real{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.service-card:hover .service-card-img-real{transform:scale(1.07)}
.service-card-num{
  position:absolute;top:14px;left:14px;z-index:3;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;
  color:#2559DD;letter-spacing:.2em;
  background:rgba(255,255,255,.85);backdrop-filter:blur(8px);
  padding:5px 13px;border-radius:20px;
}
.service-card-arrow{
  position:absolute;top:14px;right:14px;z-index:3;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.15);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12px;
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-45deg);transition:all .35s cubic-bezier(.34,1.4,.64,1);
}
.service-card:hover .service-card-arrow{
  background:var(--cyan);border-color:var(--cyan);color:var(--blue-dark);
  transform:rotate(0) scale(1.1);
}
.services .section-title{margin-bottom:36px}
.service-card-body{
  padding:20px 22px 24px;background:#fff;
}
.service-card-title{
  font-family:'Montserrat',sans-serif;font-weight:900;
  font-size:24px;color:var(--blue);text-transform:uppercase;
  letter-spacing:.02em;margin-bottom:8px;transition:color .3s;
}
.service-card:hover .service-card-title{color:var(--cyan-deep)}
.service-card-text{
  font-size:18px;color:var(--black);line-height:1.6;
}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr}}

/* ===== СОБЫТИЯ - модернизация ===== */
.events{background:#EAF8FF;padding:0 0 90px;position:relative;overflow:hidden;position:relative;z-index:1}
.events::before{content:"";position:absolute;top:40px;right:-100px;width:380px;height:380px;background:radial-gradient(circle,rgba(143,244,255,.18),transparent 70%);border-radius:50%}
.events-header{text-align:center;margin-bottom:60px}
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:60px;position:relative;z-index:2}
.event-card{
  background:#fff;border-radius:24px;overflow:hidden;
  border:none;box-shadow:0 4px 20px rgba(37,89,221,.10);
  transition:all .5s cubic-bezier(.34,1.56,.64,1);
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  cursor:pointer;position:relative;
}
.event-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(37,89,221,.18);border-color:transparent}
.event-image{height:230px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.event-image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(14,44,138,.6) 100%);
}
.event-image::before{
  content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;
  transition:transform .9s;
}
.event-card:hover .event-image{background-position:center 30%}
.event-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  background:rgba(255,255,255,.18);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.3);color:#fff;
  font-size:10px;font-weight:700;padding:7px 14px;border-radius:30px;
  text-transform:uppercase;letter-spacing:.18em;
}
.event-date-pill{
  position:absolute;bottom:16px;left:16px;z-index:2;
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  padding:10px 20px;border-radius:30px;
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:var(--blue);
  box-shadow:0 4px 16px rgba(37,89,221,.2);
}
.event-date-pill i{color:var(--cyan-deep);font-size:11px}
.event-body{padding:26px 24px 24px;flex:1;display:flex;flex-direction:column}
.event-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;color:var(--blue);margin-bottom:14px;text-transform:uppercase;line-height:1.15;transition:color .3s}
.event-card:hover .event-title{color:var(--cyan-deep)}
.event-meta{display:flex;flex-direction:column;gap:8px;color:var(--black);font-size:18px;margin-bottom:22px;flex:1}
.event-meta span{display:flex;align-items:center;gap:10px;font-weight:400}
.event-meta span i{color:var(--blue);width:18px;text-align:center}
.event-readmore{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--blue);
  text-transform:uppercase;letter-spacing:.1em;
  padding:10px 16px;border-radius:30px;
  background:#fff;border:2px solid var(--blue);
  align-self:flex-start;transition:all .35s;
}
.event-readmore i{transition:transform .35s}
.event-card:hover .event-readmore{background:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(37,89,221,.35)}
.event-card:hover .event-readmore i{transform:translateX(4px)}
.event-readmore:active{background:var(--blue);color:#fff}

.events .section-title{}

/* Мега-кнопка "Календарь событий 2026" */
.events-allbtn{text-align:center;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px}
.events-year-badge{
  position:absolute;top:-12px;right:-14px;
  font-size:11px;font-weight:800;letter-spacing:.12em;
  padding:5px 14px;border-radius:50px;
  background:#0e2c8a;color:#8FF4FF;
  display:inline-flex;align-items:center;gap:6px;
  text-transform:uppercase;white-space:nowrap;
  box-shadow:0 6px 20px rgba(14,44,138,.55),0 2px 8px rgba(14,44,138,.35);
  z-index:10;
}
.events-year-badge i{font-size:11px}
.btn-mega-wrap{position:relative;display:inline-block}
.btn-mega{
  display:inline-flex;align-items:center;gap:14px;
  padding:22px 52px 22px 44px;font-family:'Montserrat',sans-serif;
  font-weight:800;font-size:18px;letter-spacing:.05em;text-transform:uppercase;
  border-radius:60px;color:#fff;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-deep) 100%);
  box-shadow:0 10px 36px rgba(37,89,221,.38);
  position:relative;overflow:hidden;isolation:isolate;
  transition:all .4s cubic-bezier(.4,0,.2,1);
  text-decoration:none;
}
/* === Кнопка календаря: градиент + анимированная рамка === */
.btn-mega--spin{
  background:linear-gradient(135deg,#2559DD,#8FF4FF) padding-box,
             conic-gradient(from var(--bh),#0e2c8a 0%,#2559DD 40%,#8FF4FF 75%,#2559DD 90%,#0e2c8a 100%) border-box;
  border:2px solid transparent;
  color:#fff;
  animation:borderSpinHero 4s linear infinite;
  box-shadow:0 8px 28px rgba(37,89,221,.35);
}

.btn-mega::before{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);
  transform:skewX(-25deg);transition:left .8s cubic-bezier(.4,0,.2,1);z-index:1;
}
.btn-mega:hover::before{left:130%}
.btn-mega:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(37,89,221,.52)}
.btn-mega i{font-size:17px;transition:transform .35s}
.btn-mega:hover i{transform:rotate(15deg) scale(1.15)}
.btn-mega-badge{
  position:absolute;top:-16px;right:-8px;
  background:linear-gradient(135deg,#8FF4FF,#4ad4e8);
  color:var(--blue-dark);font-family:'Montserrat',sans-serif;
  font-weight:800;font-size:15px;letter-spacing:.08em;
  padding:6px 16px;border-radius:20px;
  box-shadow:0 4px 14px rgba(143,244,255,.5);
  animation:badgeWiggle 3s ease-in-out infinite;
  transform-origin:center bottom;
}
@keyframes badgeWiggle{
  0%,100%{transform:rotate(-4deg)}
  50%{transform:rotate(4deg)}
}


/* ===== ФЛОТ - чистый синий + canvas-волны сверху ===== */
.fleet{position:relative;padding:0;color:#fff;overflow-x:hidden;background:linear-gradient(180deg,#2559DD 0px,#2559DD 120px,#1A3A8A 100%);margin-top:-3px}
/* === fleet-wave-top: canvas-волна === */
.fleet-wave-top{
  position:relative;display:block;width:100%;
  height:clamp(80px,14vw,160px);
  background:#EAF8FF;overflow:hidden;
}
#fleet-wave-canvas{
  position:absolute;left:0;top:0;
  width:100%;height:100%;
  display:block;
}
/* === fleet-wave-bottom: нижняя canvas-волна === */
.fleet-wave-bottom{
  position:relative;display:block;width:100%;
  height:clamp(60px,10vw,120px);
  background:transparent;overflow:hidden;
}
#fleet-wave-bottom-canvas{
  position:absolute;left:0;top:0;
  width:100%;height:100%;display:block;
}
.fleet-inner{position:relative;z-index:2;padding:130px 0 40px}
.fleet-header{margin-bottom:30px;text-align:center}
.fleet-btn-wrap{margin-top:40px;text-align:center}
@media(min-width:1025px){
  .fleet-header{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;text-align:left}
  .fleet-header-content{grid-column:2}
  .fleet-btn-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;text-align:left}
  .fleet-btn-wrap a{grid-column:2;justify-self:start}
}
.fleet .section-title{color:#fff}
.fleet .section-subtitle{color:rgba(255,255,255,.85)}
.fleet-slider-wrap{position:relative;padding:0 80px}
.fleet-slider{position:relative;margin-top:30px}
.fleet-track{position:relative;min-height:580px}
.fleet-slide{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;
  position:absolute;top:0;left:0;width:100%;
  opacity:0;visibility:hidden;
  transition:opacity .7s cubic-bezier(.4,0,.2,1),visibility .7s;
  pointer-events:none;
}
.fleet-slide.active{
  opacity:1;visibility:visible;
  pointer-events:auto;
}
.fleet-photo-wrap{position:relative;width:100%;max-width:420px;transform:translateY(-80px)}
.fleet-photo{
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  aspect-ratio:3/4;background:#0a1a3a;
}
.fleet-photo img{
  width:100%;height:100%;display:block;
  object-fit:cover;object-position:center;
  filter:brightness(1.2) contrast(1.05) saturate(1.1);
}
.fleet-info{color:#fff}
.fleet-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.3em;color:var(--cyan);text-transform:uppercase;margin-bottom:18px}
.fleet-name{font-size:clamp(38px,4.6vw,68px);color:#fff;margin-bottom:18px;line-height:1}
.fleet-name span{color:#fff}
.fleet-model{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;color:rgba(255,255,255,.95);text-transform:uppercase;letter-spacing:.1em;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.25)}
.fleet-awards{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.fleet-awards span{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px}
.fleet-awards span i{color:var(--cyan);font-size:20px}
.fleet-specs{display:grid;grid-template-columns:1fr 1fr;gap:14px 36px;color:rgba(255,255,255,.95);margin-bottom:32px;font-size:16px}
.fleet-specs div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed rgba(255,255,255,.25)}
.fleet-specs strong{color:#fff;font-weight:800;font-size:17px}
.fleet-pagination{display:flex;justify-content:center;gap:8px;margin-top:28px}
.fleet-pagination button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);border:none;cursor:pointer;padding:0;transition:all .35s cubic-bezier(.4,0,.2,1)}
.fleet-pagination button.active{background:var(--cyan);width:34px;border-radius:5px}

/* Боковые стрелки переключения */
.fleet-arrow-side{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:60px;height:60px;border-radius:50%;
  background:rgba(255,255,255,.18);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.3);color:#fff;font-size:18px;
  transition:all .4s;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.fleet-arrow-side:hover{background:var(--cyan);border-color:var(--cyan);color:var(--blue-dark);transform:translateY(-50%) scale(1.1);box-shadow:0 8px 24px rgba(37,89,221,.35)}
.fleet-arrow-side.prev{left:0}
.fleet-arrow-side.next{right:0}

/* ===== РИЛСЫ - белый фон ===== */
.reels{background:#fff;color:var(--black);padding:40px 0 40px}
.reels .section-title{color:var(--black);text-align:center;margin-bottom:40px}
.reviews{background:#EAF8FF;padding:30px 0 30px}
.reviews-inner{background:linear-gradient(180deg,#2559DD 0%,#1A3A8A 100%);border-radius:32px;padding:56px 0 48px}
.reviews .section-title{color:#fff}
.reels .section-subtitle{display:none}
.reels-wrapper{position:relative}
.reels-track{display:flex;gap:18px;scroll-behavior:smooth;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:none;touch-action:pan-x}
.reels-track::-webkit-scrollbar{display:none}
.reel-item{flex:0 0 280px;height:498px;border-radius:var(--radius-md);overflow:hidden;position:relative;scroll-snap-align:start;background:#000;cursor:pointer;transition:transform .4s}
.reel-item:hover{transform:scale(1.02)}
.reel-item video{width:100%;height:100%;object-fit:cover}
.reel-item .reel-poster{position:absolute;inset:0;background-size:cover;background-position:center}
.reel-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.7) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;pointer-events:none}
.reel-expand,.reel-play{pointer-events:auto}
.reel-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.2);
  backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:20px;transition:all .3s;
}
.reel-item:hover .reel-play{opacity:0;pointer-events:none}
.reel-info{display:flex;align-items:center;gap:10px;color:#fff;font-size:13px}
.reel-info i{color:var(--cyan)}
.reel-expand{
  position:absolute;top:12px;right:12px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.15);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.3);color:#fff;font-size:13px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .3s;opacity:0;
}
.reel-item:hover .reel-expand{opacity:1}
.reel-expand:hover{background:var(--cyan);border-color:var(--cyan)}
/* Модальное окно */
.video-modal{
  position:fixed;inset:0;z-index:2000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;
}
.video-modal.open{opacity:1;visibility:visible}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);cursor:pointer}
.video-modal-box{
  position:relative;z-index:1;
  width:min(480px,96vw);
  border-radius:20px;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
  background:#000;
}
.video-modal-video{width:100%;display:block;height:min(85vh,854px);object-fit:contain}
.video-modal-close{
  position:absolute;top:12px;right:12px;z-index:2;
  width:36px;height:36px;border-radius:50%;
  background:rgba(0,0,0,.5);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);color:#fff;font-size:14px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;
}
.video-modal-close:hover{background:var(--cyan);border-color:var(--cyan)}
.video-modal-controls{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;background:rgba(0,0,0,.75);
}
.video-modal-btn{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .3s;
}
.video-modal-btn:hover{background:var(--cyan);border-color:var(--cyan)}
.video-modal-volume{display:flex;align-items:center;gap:10px;flex:1}
.video-modal-range{
  flex:1;-webkit-appearance:none;appearance:none;
  height:4px;border-radius:2px;
  background:rgba(255,255,255,.25);outline:none;cursor:pointer;
}
.video-modal-range::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;
  background:var(--cyan);cursor:pointer;transition:transform .2s;
}
.video-modal-range::-webkit-slider-thumb:hover{transform:scale(1.2)}
.video-modal-range::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;border:none;
  background:var(--cyan);cursor:pointer;
}
.reels-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:50px;height:50px;border-radius:50%;
  background:rgba(37,89,221,.08);backdrop-filter:blur(10px);
  border:1px solid rgba(37,89,221,.2);color:#fff;
  font-size:16px;transition:all var(--transition);
}
.reels-nav:hover{background:var(--cyan);border-color:var(--cyan);color:#fff;transform:translateY(-50%) scale(1.05)}
.reels-nav.prev{left:-20px}
.reels-nav.next{right:-20px}
.reels-pagination{display:flex;justify-content:center;gap:8px;margin-top:24px}
.reels-pagination .slider-dot{background:rgba(37,89,221,.25)}
.reels-pagination .slider-dot.active{background:var(--blue)}

/* ===== ДИАЛОГ + ОБУЧЕНИЕ ===== */
.dialog-cta{color:var(--black);background:linear-gradient(180deg,#fff 0%,#EAF8FF 100%);position:relative;padding-bottom:20px}
.dialog-cta::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="80"><path d="M0,15 C66,5 133,25 200,15 S333,25 400,15" fill="none" stroke="%232559DD" stroke-width="1.5" opacity="0.09"/><path d="M0,35 C66,25 133,45 200,35 S333,45 400,35" fill="none" stroke="%232559DD" stroke-width="1.5" opacity="0.06"/><path d="M0,55 C66,45 133,65 200,55 S333,65 400,55" fill="none" stroke="%232559DD" stroke-width="1.5" opacity="0.09"/><path d="M0,75 C66,65 133,85 200,75 S333,85 400,75" fill="none" stroke="%232559DD" stroke-width="1.5" opacity="0.06"/></svg>');
  background-size:400px 80px;
  background-repeat:repeat;
  animation:dialog-cta-waves 14s linear infinite;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,black 18%,black 82%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,black 18%,black 82%,transparent 100%);
}
@keyframes dialog-cta-waves{
  from{background-position:0 0}
  to{background-position:400px 0}
}
.dialog-cta > *{position:relative;z-index:1}

/* Верхняя часть — диалог на бледно-голубом фоне с волнами */
.dialog-part{
  background:linear-gradient(180deg,#fff 0%,#EAF8FF 100%);
  padding:40px 0 50px;
  position:relative;
}
.dialog-wrap-centered{max-width:860px;margin:0 auto;position:relative;z-index:2}
.dialog-wrap{
  background:#fff;
  border-radius:20px;
  padding:0;
  overflow:hidden;
  box-shadow:0 12px 50px rgba(37,89,221,.18);
  border:1px solid rgba(37,89,221,.12);
}
.dialog-header{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(90deg,#2563EB 0%,#1A3A8A 100%);
  padding:16px 22px;
  margin:0;border:none;
}
.dialog-avatar{width:58px;height:58px;border-radius:50%;background-image:url('../images/IMG_1273%201.png');background-size:cover;background-position:center top;flex-shrink:0}
.dialog-name{font-weight:600;color:#fff;font-size:15px}
.dialog-status{font-size:12px;color:#8FF4FF;display:flex;align-items:center;gap:5px;margin-top:2px}
.dialog-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.25)}
.dialog-messages{display:flex;flex-direction:column;gap:12px;height:360px;overflow-y:hidden;padding:20px 22px;background-color:#EAF8FF;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='80'%3E%3Cpath d='M0,10 C36,2 64,2 100,10 C136,18 164,18 200,10' stroke='%23B8D6EC' stroke-width='1.2' fill='none'/%3E%3Cpath d='M0,30 C36,22 64,22 100,30 C136,38 164,38 200,30' stroke='%23B8D6EC' stroke-width='1.2' fill='none'/%3E%3Cpath d='M0,50 C36,42 64,42 100,50 C136,58 164,58 200,50' stroke='%23B8D6EC' stroke-width='1.2' fill='none'/%3E%3Cpath d='M0,70 C36,62 64,62 100,70 C136,78 164,78 200,70' stroke='%23B8D6EC' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");background-size:200px 80px;background-repeat:repeat}
.message{display:flex;align-items:flex-end;gap:10px;opacity:0;transform:translateY(15px);animation:msgIn .5s forwards}
.message.client{justify-content:flex-end}
.msg-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;background-size:cover;background-position:center;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.msg-avatar.captain{background-image:url('../images/IMG_1273%201.png');background-position:center top}
.msg-avatar.client{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}
.msg-bubble{max-width:75%;padding:12px 18px;border-radius:18px;font-size:16px;line-height:1.6}
.message.captain .msg-bubble{background:#fff;color:var(--black);border-bottom-left-radius:4px;border:1px solid rgba(37,99,235,.1);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.message.client .msg-bubble{background:#2563EB;color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px rgba(37,99,235,.3)}
.message.typing .msg-bubble{display:flex;gap:4px;align-items:center;padding:14px 18px}
.message.typing .msg-bubble span{width:7px;height:7px;border-radius:50%;background:rgba(37,89,221,.3);animation:typing 1.2s infinite}
.message.client.typing .msg-bubble span{background:rgba(255,255,255,.75)}
.message.typing .msg-bubble span:nth-child(2){animation-delay:.2s}
.message.typing .msg-bubble span:nth-child(3){animation-delay:.4s}
.dialog-input-bar{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 20px;border-top:1px solid rgba(37,99,235,.08)}
.dialog-input-field{flex:1;background:#F0F6FF;border-radius:22px;padding:10px 18px;font-size:14px;color:#2563EB;border:1px solid rgba(37,99,235,.1);font-weight:500;cursor:pointer}
.dialog-input-send{width:38px;height:38px;border-radius:50%;background:#2563EB;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex-shrink:0;cursor:pointer}
@keyframes msgIn{to{opacity:1;transform:translateY(0)}}
@keyframes typing{0%,60%,100%{transform:scale(.6);opacity:.4}30%{transform:scale(1);opacity:1}}
.bubble-form-card{background:#fff;border-radius:14px 14px 14px 4px;border:1px solid rgba(37,99,235,.12);padding:16px 18px;max-width:88%;box-shadow:0 2px 8px rgba(37,99,235,.08)}
.bubble-form-card .bf-title{font-size:14px;font-weight:600;color:#1A2A4A;margin-bottom:12px}
.bubble-form-card input{width:100%;background:#F0F6FF;border:1px solid rgba(37,99,235,.15);border-radius:8px;padding:9px 12px;font-size:14px;color:#1A2A4A;margin-bottom:8px;outline:none;font-family:inherit}
.bubble-form-card input::placeholder{color:#9BAEC8}
.bubble-form-card textarea::placeholder{color:#9BAEC8}
.bubble-form-card input:focus{border-color:#2563EB}
.bubble-form-card .bf-submit{width:100%;background:#2563EB;color:#fff;border:none;border-radius:8px;padding:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;position:relative;overflow:hidden;isolation:isolate}
.bubble-form-card .bf-submit::before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.45) 50%,transparent 80%);transform:skewX(-25deg);transition:left .8s cubic-bezier(.4,0,.2,1);z-index:-1}
.bubble-form-card .bf-submit:hover::before{left:130%}
.bubble-form-card .bf-submit:hover{background:#1A4FD0;transform:translateY(-1px)}
.bubble-success{background:#fff;border-radius:14px 14px 14px 4px;border:1px solid rgba(34,197,94,.2);padding:14px 18px;max-width:88%;box-shadow:0 2px 8px rgba(34,197,94,.1)}
.bubble-success .bs-icon{font-size:22px;margin-bottom:6px}
.bubble-success .bs-text{font-size:14px;color:#1A2A4A;line-height:1.5}
.bubble-success .bs-text strong{color:#2563EB}
.dialog-input-bar.sent{opacity:.5;pointer-events:none}

/* Объединённый блок Диалог + Обучение */
.dialog-edu-section{background:transparent;padding:28px 0 32px}
.edu-panel{
  background:linear-gradient(180deg,#fff 0%,#EAF8FF 100%);
  border-radius:32px;
  padding:56px 36px;
  box-shadow:
    0 -8px 30px rgba(37,89,221,.05),
    0 2px 4px rgba(37,89,221,.04),
    0 6px 16px rgba(37,89,221,.06),
    0 16px 40px rgba(37,89,221,.09),
    0 32px 80px rgba(37,89,221,.06);
}
@media(max-width:1100px){.edu-panel{padding:40px 24px;border-radius:24px}}
@media(max-width:600px){.edu-panel{padding:28px 16px;border-radius:18px}}
@media(max-width:768px){
  .dialog-edu-section{padding:20px 0 28px}
  .edu-col>.team-intro-actions{padding-bottom:20px}
}
.dialog-edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.edu-col{display:flex;flex-direction:column;gap:0;align-items:flex-start;padding-left:20px}
.dialog-col .dialog-wrap{max-width:100%}
.nachim-part{background:#EAF8FF;padding:40px 0}
.nachim-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}
.nachim-part .section-title{text-align:center;color:var(--black)}
.nachim-text p{color:var(--gray-700);font-size:16px;line-height:1.7;margin-bottom:24px}
.nachim-issa{display:flex;align-items:center;gap:24px;margin-top:4px}
.nachim-issa img{height:90px;width:auto;flex-shrink:0}
.nachim-issa p{font-size:16px;color:var(--gray-700);line-height:1.7;margin:0}
.issa-logo-wrap{position:relative;flex-shrink:0;overflow:hidden;border-radius:8px}
.issa-logo-wrap::after{
  content:"";position:absolute;top:0;left:-80%;
  width:50%;height:100%;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.75) 50%,transparent 80%);
  transform:skewX(-20deg);animation:issaShine 3s ease-in-out infinite}
@keyframes issaShine{
  0%{left:-80%}
  40%,100%{left:160%}
}
.issa-logo-wrap img{height:90px;width:auto;display:block}
.dialog-cta-form{background:#fff;border-radius:var(--radius-lg);padding:40px 34px;box-shadow:0 4px 30px rgba(37,89,221,.1);border:1.5px solid var(--gray-100)}
.dialog-cta-form .cta-form-title{color:var(--black)}
@media(max-width:1100px){
  .dialog-edu-grid{gap:36px}
}
@media(max-width:768px){
  .dialog-edu-grid{grid-template-columns:1fr;gap:40px}
  .edu-col{display:contents}
  .dialog-edu-grid{gap:16px}
  .dialog-col{order:0;margin-bottom:32px}
  .edu-col>.badge-pill{order:1;justify-self:center;width:fit-content;margin-bottom:0 !important}
  .edu-col>.section-title{order:2;text-align:center !important;margin-top:16px !important;margin-bottom:0 !important}
  .edu-col>.nachim-issa{order:3;justify-content:center;margin-top:16px !important}
  .edu-col>.team-intro-actions{order:4;justify-content:center;margin-top:16px !important}
  .nachim-issa{justify-content:center}
  .nachim-issa p{text-align:left}
}
/* legacy CTA — скрыть */
.cta-sails{display:none}
/* review photo — see .review-card-photo */

/* ===== CTA "ПОД ПАРУСАМИ" - ровный анимированный градиент ===== */
.cta-sails{
  position:relative;padding:90px 0;color:#fff;
  background:linear-gradient(120deg,#2559DD 0%,#4ad4e8 25%,#0e2c8a 50%,#4ad4e8 75%,#2559DD 100%);
  background-size:300% 300%;
  animation:gradientShift 18s ease infinite;
  overflow:hidden;
}
@keyframes gradientShift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.cta-sails-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:50px 28px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.cta-sails-text h2{font-size:clamp(28px,3.6vw,48px);color:#fff;margin-bottom:22px;line-height:1.05}
.cta-sails-text p{color:rgba(255,255,255,.85);font-size:16px;margin-bottom:24px;line-height:1.65}
.cta-sails-issa{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.2);margin-bottom:18px}
.cta-sails-issa svg{flex-shrink:0}
.cta-sails-issa div{font-size:14px;color:rgba(255,255,255,.95)}
.cta-sails-issa strong{color:var(--cyan);font-weight:800}

/* ФОРМА */
.cta-form{
  background:#fff;color:var(--black);border-radius:var(--radius-lg);
  padding:36px 30px;box-shadow:0 25px 60px rgba(0,0,0,.25);
}
.cta-form-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;color:var(--blue);margin-bottom:8px;text-transform:uppercase;letter-spacing:.02em}
.cta-form-subtitle{color:var(--gray-500);font-size:14px;margin-bottom:24px}
.form-field{margin-bottom:16px;position:relative}
.form-field label{display:block;font-size:12px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.form-field input,.form-field textarea{
  width:100%;padding:14px 16px;border:2px solid var(--gray-100);border-radius:12px;
  font-family:'Open Sans',sans-serif;font-size:15px;color:var(--black);background:#fff;
  transition:all var(--transition);
}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(143,244,255,.15)}
.form-field textarea{resize:vertical;min-height:90px;font-family:inherit}
.form-consent{font-size:12px;color:var(--gray-500);margin-top:12px;line-height:1.5}
.form-consent a{color:var(--blue);text-decoration:underline}
.cta-form .btn{width:100%;justify-content:center;margin-top:8px}
.form-success{
  display:none;text-align:center;padding:30px 10px;
}
.form-success.show{display:block}
.form-success i{font-size:50px;color:var(--cyan-deep);margin-bottom:16px;display:block}
.form-success h3{font-family:'Montserrat',sans-serif;color:var(--blue);font-size:24px;margin-bottom:10px}
.form-success p{color:var(--gray-500);font-size:14px}


/* ===== МОБИЛЬНОЕ МЕНЮ ===== */
.mobile-overlay{position:fixed;inset:0;background:rgba(10,20,60,.55);backdrop-filter:blur(4px);z-index:900;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.mobile-overlay.active{opacity:1;visibility:visible}
.mobile-menu{position:fixed;top:0;right:0;width:min(320px,92vw);height:100%;background:#fff;z-index:901;padding:28px 24px;overflow-y:auto;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(37,89,221,.12)}
.mobile-menu.active{transform:translateX(0)}
.mobile-menu-close{width:38px;height:38px;border-radius:50%;background:#F0F6FF;border:1px solid var(--gray-100);color:var(--gray-500);font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}
.mobile-menu-close:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.mobile-menu-list{display:flex;flex-direction:column;gap:2px}
.mobile-menu-list a{display:block;padding:10px 18px;border-radius:10px;color:var(--black);font-size:15px;font-weight:500;text-decoration:none;transition:all .2s}
.mobile-menu-list a:hover{background:#EAF8FF;color:var(--blue)}
.mobile-menu-list a.featured{font-weight:700;color:var(--blue)}

/* ===== СЧЁТЧИК ===== */
.counter{display:inline-block}

/* ===== ОТЗЫВЫ — карточки ===== */
.reviews-panel{position:relative;display:flex;align-items:center;gap:0;margin-top:32px;padding:8px 0}
.reviews-clip{flex:1;overflow:hidden;position:relative;padding:10px 0 22px}
.reviews-viewport{overflow:visible;position:relative;width:100%}
.reviews-track{display:flex;align-items:flex-start;gap:24px;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.reviews-arrow{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;margin:0 20px;z-index:2}
.reviews-arrow:hover{background:rgba(255,255,255,.28);transform:scale(1.1)}
.review-card{
  flex:0 0 auto;background:#fff;border-radius:20px;
  display:flex;flex-direction:row;position:relative;
  height:260px;
  box-shadow:0 4px 24px rgba(37,89,221,.1);border:1px solid rgba(37,89,221,.08);
  transition:transform .3s,box-shadow .3s,height .45s cubic-bezier(.4,0,.2,1);
  contain:paint;
}
.review-card.is-expanded{height:auto}
.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(37,89,221,.18)}
.review-card-photo{
  flex:0 0 33%;
  background:#EAF8FF;
  align-self:stretch;
  clip-path:inset(0 0 0 0 round 20px 0 0 20px);
  overflow:hidden;
}
.review-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
/* Правило третей — голова на ~⅓ от верха видимой области.
   Значение в процентах = откуда в исходной картинке брать вертикальную опору. */
.review-card-photo img[src*="Lednyova-Ekaterina"]{object-position:center 15%}
.review-card-photo img[src*="20250413_123503"]{object-position:center 30%}
.review-card-photo img[src*="Flyora-Karimova"]{object-position:center 20%}
.review-no-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.review-card-body{padding:20px 22px 0 22px;display:flex;flex-direction:column;flex:1;min-width:0}
.review-author{margin-top:14px;padding-top:14px;padding-bottom:20px;border-top:1px solid rgba(74,212,232,.35)}
.review-name{font-weight:700;font-size:15px;color:var(--black)}
.review-role{font-size:13px;color:var(--blue);margin-top:2px;font-weight:500}
.review-allbtn{text-align:center;margin-top:20px}
.review-allbtn .btn-blue{
  background:#fff;color:var(--blue);
  box-shadow:0 6px 20px rgba(0,0,0,.15);
}
.review-allbtn .btn-blue::before{display:none}
.review-allbtn .btn-blue::after{
  content:'';position:absolute;inset:0;border-radius:30px;
  background:linear-gradient(120deg,transparent 30%,rgba(37,89,221,.12) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .5s ease;pointer-events:none;
}
.review-allbtn .btn-blue:hover::after{transform:translateX(100%)}
.review-allbtn .btn-blue:hover{
  background:#fff;transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.review-allbtn .btn-blue i{color:var(--blue)}
.review-dots{display:flex;justify-content:center;gap:8px;margin:16px 0 40px}
.review-dot{
  width:8px;height:8px;border-radius:50%;padding:0;border:none;cursor:pointer;
  background:rgba(255,255,255,.35);transition:background .3s,transform .3s,width .3s;
  flex-shrink:0;
}
.review-dot.active{background:var(--cyan);width:22px;border-radius:4px}
.review-dot:hover:not(.active){background:rgba(255,255,255,.65)}

/* ===== FAQ ===== */
.faq{background:#EAF8FF;padding:20px 0 90px;position:relative;overflow:hidden}
.faq::before{content:"";position:absolute;top:40px;right:-100px;width:380px;height:380px;background:radial-gradient(circle,rgba(143,244,255,.18),transparent 70%);border-radius:50%;pointer-events:none}
.faq .section-title{text-align:center}
.faq-list{display:flex;flex-direction:column;gap:14px;max-width:860px;margin:0 auto}
.faq-item{
  background:#fff;
  border:none;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(37,89,221,.08),0 2px 6px rgba(37,89,221,.05);
  transition:transform .3s ease,box-shadow .3s,border-color .3s;
}
.faq-item:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(37,89,221,.14)}
.faq-item.open{box-shadow:0 8px 28px rgba(37,89,221,.13),0 2px 6px rgba(37,89,221,.06)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:22px 26px;font-size:16px;font-weight:600;color:var(--black);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:inherit;transition:color .2s}
.faq-q:hover{color:var(--blue)}
.faq-item.open .faq-q{color:var(--blue)}
.faq-q i{font-size:13px;color:var(--blue);flex-shrink:0;transition:transform .35s;opacity:.6}
.faq-item.open .faq-q i{transform:rotate(180deg);opacity:1}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-a{max-height:400px}
.faq-a p{padding:0 26px 24px;color:var(--gray-700);font-size:15px;line-height:1.75;margin:0;border-top:1px solid rgba(74,212,232,.35);padding-top:14px}

/* ===== FOOTER ===== */
.footer{background:#0e1f5e;padding:0 0 0;color:#fff}
.footer-wave-top{position:relative;display:block;width:100%;height:clamp(80px,14vw,160px);background:linear-gradient(180deg,#EAF8FF 0%,#B8DFF0 100%);overflow:hidden}
#footer-wave-canvas{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.footer-content{padding:70px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px}
.footer-about p{color:rgba(255,255,255,.65);font-size:14px;line-height:1.75;margin:14px 0 22px}
.footer-social{display:flex;gap:10px}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);font-size:15px;transition:all .25s;text-decoration:none}
.footer-social a:hover{background:var(--cyan);border-color:var(--cyan);color:var(--blue-dark)}
.footer-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.45);margin-bottom:18px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links a{color:rgba(255,255,255,.7);font-size:14px;text-decoration:none;transition:color .2s;line-height:1.5}
.footer-links a:hover{color:var(--cyan)}
.footer-contact-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;font-size:14px;color:rgba(255,255,255,.7)}
.footer-contact-item i{color:var(--cyan);font-size:14px;margin-top:2px;flex-shrink:0;width:16px}
.footer-contact-item a{color:rgba(255,255,255,.9);text-decoration:none;transition:color .2s}
.footer-contact-item a:hover{color:var(--cyan)}
.footer-bottom{background:transparent;margin-top:50px;padding:18px 0;font-size:13px;color:rgba(255,255,255,.4);text-align:center}
@media(max-width:960px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:768px){.faq .section-title{text-align:center}}

.review-text-wrap{position:relative;margin-bottom:0}
.review-text{font-size:14px;color:var(--gray-700);line-height:1.7;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}
.review-text.collapsed{height:143px;max-height:143px}
.review-text.expanded{max-height:3000px;height:auto}
.review-text-fade{position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,#fff);pointer-events:none;transition:opacity .3s}
.review-text-fade.gone{opacity:0}
.review-expand-btn{
  position:absolute;bottom:12px;right:12px;
  width:26px;height:26px;border-radius:50%;
  background:var(--blue);color:#fff;border:none;cursor:pointer;
  display:none;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;line-height:1;z-index:2;
  transition:background .2s,transform .2s;flex-shrink:0;
}
.review-expand-btn:hover{background:var(--blue-deep);transform:scale(1.1)}
.review-expand-btn.show{display:flex}

/* --- Мобильные карточки отзывов --- */
@media(max-width:768px){
  .review-card-photo{width:120px}
  .review-card-body{padding:16px 16px}
}

/* ============================================================
   МОБИЛЬНАЯ АДАПТАЦИЯ — дополнительные блоки
   ============================================================ */

/* --- Статистика --- */
@media(max-width:768px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .stat-item{padding:20px 14px 16px}
  .stat-number{font-size:38px}
  .stat-bigtext{font-size:22px}
  .stat-label{font-size:16px}
  .stat-icon{width:32px;height:32px;font-size:13px;top:10px;right:10px}
}
@media(max-width:400px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-number{font-size:30px}
}

/* --- Ближайшие события --- */
@media(max-width:768px){
  .events-grid{grid-template-columns:1fr;gap:18px;margin-bottom:36px}
  .event-image{height:200px}
  .events-allbtn{gap:20px}
  .events-year-badge{font-size:10px;padding:4px 11px;top:-10px;right:-10px}
  .btn-mega--spin{font-size:13px;padding:14px 28px}
}

/* --- Кнопка btn-mega мобильная --- */
@media(max-width:600px){
  .btn-mega{font-size:14px;padding:16px 32px;gap:10px}
}

/* --- Лента отзывов --- */
@media(max-width:768px){
  .reviews-inner{border-radius:24px;padding:40px 0 36px}
  .reviews-arrow{width:36px;height:36px;font-size:13px;margin:0 8px}
  .review-allbtn{margin-top:12px}
  .review-card-photo{flex:0 0 30%}
}

/* --- Рилсы --- */
@media(max-width:768px){
  .reels-grid{gap:12px;padding:0 16px}
  .reel-item{flex:0 0 220px;height:390px}
}
@media(max-width:480px){
  .reel-item{flex:0 0 180px;height:320px}
}

/* --- Фоновая секция (sections-band) --- */
@media(max-width:768px){
  .sections-band{padding:0}
}


/* --- О команде --- */
@media(max-width:768px){
  .team-intro{padding:48px 0 40px}
  .team-intro-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .team-intro-photo{
    max-width:280px;
    margin:0 auto;
  }
  .team-intro-photo::after{
    transform:translate(8px,8px);
  }
  .team-intro-content{
    text-align:center;
  }
  .team-intro-content .badge-pill{
    margin:0 auto 16px;
  }
  .team-intro-content h2{
    font-size:clamp(26px,7vw,36px);
    min-height:auto;
    margin-bottom:16px;
  }
  .team-intro-content p{
    font-size:16px;
    line-height:1.7;
    text-align:left;
  }
  .team-intro-actions{
    justify-content:center;
    gap:10px;
  }
  .team-intro-actions .btn{
    font-size:13px;
    padding:12px 24px;
  }
}
@media(max-width:480px){
  .team-intro-photo{max-width:220px}
  .team-intro-actions{flex-direction:column;align-items:center}
  .team-intro-actions .btn{width:100%;justify-content:center}
}


/* --- Шапка мобильная --- */
@media(max-width:768px){
  .header{
    top:10px;
    width:calc(100% - 24px);
    padding:8px 10px 8px 14px;
    border-radius:50px;
  }
  .header.scrolled{
    top:8px;
    padding:6px 10px 6px 14px;
  }
  .header-inner{gap:8px}

  /* Скрываем навигационную капсулу — уходит в бургер-меню */
  .nav-pill{display:none}

  /* Телефон: скрываем номер, оставляем только иконку */
  .phone-cta span{display:none}
  .phone-cta{padding:10px 12px;gap:0;border-radius:50%;box-shadow:0 6px 18px rgba(74,212,232,.4)}
  .phone-cta i{font-size:15px}

  /* Логотип чуть меньше */
  .logo{margin-left:4px}
  .logo-svg{height:26px}

  /* Иконки соцсетей */
  .icon-btn{width:38px;height:38px;font-size:14px}

  /* Бургер */
  .burger{width:40px;height:40px}
  .burger span{width:17px}
}

@media(max-width:380px){
  /* На самых узких — прячем иконки соцсетей, оставляем телефон и бургер */
  .icon-btn.tg,.icon-btn.fb{display:none}
  .header{width:calc(100% - 16px)}
}


/* --- Шапка планшетная --- */

/* 769–1024px: уменьшаем элементы, сжимаем отступы */
@media(min-width:769px) and (max-width:1024px){
  .header{
    padding:8px 12px 8px 18px;
    width:calc(100% - 28px);
  }
  .header.scrolled{padding:6px 12px 6px 16px}

  .logo-svg{height:26px}
  .logo{margin-left:8px}

  /* Меню — компактнее */
  .nav-pill{gap:0;padding:4px}
  .nav-link{
    padding:9px 12px;
    font-size:11px;
    letter-spacing:.03em;
  }

  /* Телефон — скрываем номер, оставляем иконку */
  .phone-cta span{display:none}
  .phone-cta{
    padding:10px 12px;
    border-radius:50%;
    gap:0;
    box-shadow:0 6px 18px rgba(74,212,232,.4);
  }
  .phone-cta i{font-size:15px}

  .header-actions{gap:6px}
  .icon-btn{width:38px;height:38px;font-size:14px}
  .burger{width:40px;height:40px}
}

/* 1025–1200px: чуть уменьшаем отступы в меню */
@media(min-width:1025px) and (max-width:1200px){
  .nav-link{padding:10px 14px;font-size:12px}
  .phone-cta{padding:10px 18px;font-size:13px}
}


/* --- Счётчики планшетная --- */
@media(min-width:769px) and (max-width:1024px){
  .stats-grid{
    grid-template-columns:repeat(3,1fr);
    gap:14px;
  }
  .stat-item{
    padding:22px 14px 20px 18px;
    min-height:180px;
  }
  .stat-number{font-size:40px}
  .stat-bigtext{font-size:13px}
  .stat-label{font-size:16px}
  .stat-icon{width:34px;height:34px;font-size:14px;top:12px;right:12px}
}

/* 1025–1200px: 6 колонок, но компактнее */
@media(min-width:1025px) and (max-width:1200px){
  .stats-grid{gap:10px}
  .stat-item{padding:22px 12px 20px 16px;min-height:190px}
  .stat-number{font-size:44px}
  .stat-label{font-size:16px}
}


/* --- Контейнер и секции — выравнивание по баннеру (12px) --- */
@media(max-width:768px){
  .container{padding:0 12px}
  .section{padding:48px 0}
  /* Единый отступ: только badge-pill margin-bottom:32px, без доп. margin-top на заголовках */
  .section-title{margin-top:0 !important}
}

/* --- Собственный флот: мобильная и планшетная версии --- */
@media(max-width:1024px){
  .fleet-inner{padding:60px 0 32px}
  .fleet-slider-wrap{padding:0 36px}
  .fleet-arrow-side{width:36px;height:36px;font-size:13px;top:185px;transform:none}
  .fleet-arrow-side:hover{transform:none;scale:1.1}
  .fleet-arrow-side.prev{left:8px}
  .fleet-arrow-side.next{right:8px}
  .fleet-track{min-height:auto}
  .fleet-slide{grid-template-columns:1fr;gap:20px}
  .fleet-slide.active{position:relative}
  .fleet-photo-wrap{max-width:340px;transform:none;margin:0 auto}
  .fleet-photo{aspect-ratio:3/4}
  .fleet-info{text-align:left;padding-top:20px}
  .fleet-slide .btn-hero{display:block;width:fit-content;margin:40px auto 0}
  .fleet-name{font-size:clamp(26px,5vw,42px);margin-bottom:10px}
  .fleet-model{font-size:15px;margin-bottom:18px;padding-bottom:18px}
  .fleet-awards{margin-bottom:18px}
  .fleet-awards span{font-size:15px}
  .fleet-specs{grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:20px;font-size:14px}
  .fleet-pagination{justify-content:center;margin-top:48px}
  .fleet-header{display:block;text-align:center}
  .fleet-btn-wrap{display:block;text-align:center}
  .fleet-btn-wrap a{display:inline-block}
}


/* ===== Events fallback на главной ===== */
.events-empty{
  grid-column:1 / -1;
  text-align:center;
  padding:48px 24px;
  font-size:15px;
  color:var(--gray-500);
  background:rgba(255,255,255,.55);
  border:1px dashed #c0cef8;
  border-radius:16px;
}
.events-empty a{color:var(--blue);font-weight:600;text-decoration:none}
.events-empty a:hover{text-decoration:underline}

/* ===== Hero slide — поддержка видео-фона ===== */

/* .hero-slide имеет display:flex — overflow:hidden и position обязаны быть выставлены */
.hero-slide[data-slide-type="video"]{overflow:hidden}

.hero-slide-video{
  position:absolute !important;
  top:0; left:0; right:0; bottom:0;
  width:100% !important;
  height:100% !important;
  min-width:0;
  max-width:100%;
  object-fit:cover;
  z-index:0;
  display:block;
  pointer-events:none;        /* не блокирует клики по кнопкам */
}
.hero-slide-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.hero-slide-overlay--dark{
  background:linear-gradient(120deg,rgba(14,44,138,.55),rgba(14,44,138,.15));
}
.hero-slide-overlay--light{
  background:linear-gradient(120deg,rgba(14,44,138,.3),rgba(14,44,138,.05));
}
/* hero-inner — выше видео/overlay */
.hero-slide[data-slide-type="video"] .hero-inner{
  position:relative;
  z-index:2;
}
/* hero-actions — сохраняем absolute-позицию ИЗ базового стиля,
   но поднимаем z-index чтобы кнопка не оказалась под видео.
   Базовый стиль обычно: position:absolute; bottom:48px; left:60px; */
.hero-slide[data-slide-type="video"] .hero-actions{
  z-index:3;
}

/* ====================================================================
   Страница «Наши яхты»
   ==================================================================== */

.yachts-section{
  background:linear-gradient(180deg,#ffffff 0%,#EAF8FF 100%);
  padding:60px 0 100px;
}

.yachts-empty{
  text-align:center;
  padding:80px 24px;
  font-size:16px;
  color:var(--gray-500);
  background:#fff;
  border:1px dashed #c0cef8;
  border-radius:16px;
}

/* ---- Карточка яхты ---- */
.yacht-card{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:48px;
  margin-bottom:80px;
  align-items:center;
  background:#fff;
  border-radius:24px;
  padding:32px;
  box-shadow:0 14px 50px rgba(37,89,221,.08), 0 2px 6px rgba(37,89,221,.04);
}
.yacht-card--reverse{grid-template-columns:1fr 1.05fr}
.yacht-card--reverse .yacht-card__photo{order:2}

.yacht-card__photo{
  position:relative;
  aspect-ratio:4/3;
  border-radius:18px;
  overflow:hidden;
  background:#eef4ff;
}
.yacht-card__photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.yacht-card:hover .yacht-card__photo img{transform:scale(1.04)}

.yacht-card__photo-placeholder{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:64px;color:rgba(143,244,255,.45);
}
.yacht-card__year-pill{
  position:absolute;top:18px;left:18px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(6px);
  color:var(--blue-dark);
  padding:7px 14px;border-radius:20px;
  font-size:13px;font-weight:600;
  display:flex;align-items:center;gap:6px;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.yacht-card__year-pill i{color:var(--blue);font-size:11px}

/* --- body --- */
.yacht-card__eyebrow{
  display:inline-block;
  background:var(--cyan-soft);
  color:var(--blue-deep);
  padding:6px 14px;
  border-radius:20px;
  font-size:12px;font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.yacht-card__name{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:clamp(28px,3.5vw,46px);
  line-height:1.05;
  text-transform:uppercase;
  margin:0 0 8px;
  color:var(--black);
}
.yacht-card__name span{color:var(--blue)}
.yacht-card__model{
  font-size:14px;
  color:var(--gray-500);
  margin-bottom:18px;
  font-weight:500;
}
.yacht-card__desc{
  margin-bottom:22px;
}
.yacht-card__desc p{
  font-size:15px;
  line-height:1.65;
  color:var(--black);
  margin:0 0 10px;
}

/* --- awards --- */
.yacht-card__awards{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-bottom:22px;
}
.yacht-card__award{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;
  background:linear-gradient(135deg,#FFD24D33,#FFA94D22);
  border:1px solid #FFD24D55;
  border-radius:10px;
  font-size:13px;font-weight:600;
  color:#5a3a00;
}
.yacht-card__award i{color:#FF8800;font-size:13px}

/* --- specs --- */
.yacht-card__specs{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-bottom:24px;
}
.yacht-card__spec{
  background:linear-gradient(135deg,#EAF8FF,#fff);
  border:1px solid #d6eaff;
  border-radius:12px;
  padding:14px 16px;
  display:flex;flex-direction:column;gap:4px;
}
.yacht-card__spec-label{
  font-size:11px;
  color:var(--gray-500);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:600;
}
.yacht-card__spec-value{
  font-family:'Montserrat',sans-serif;
  font-size:22px;
  font-weight:800;
  color:var(--blue);
  line-height:1;
}

/* --- галерея под карточкой --- */
.yacht-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
  margin:0 0 80px;
  padding:0 8px;
}
.yacht-gallery__item{
  display:block;
  aspect-ratio:4/3;
  border-radius:14px;
  overflow:hidden;
  cursor:zoom-in;
  background:#eef4ff;
}
.yacht-gallery__item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.yacht-gallery__item:hover img{transform:scale(1.06)}

/* --- CTA в конце страницы --- */
.yachts-cta{
  text-align:center;
  padding:60px 32px;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  border-radius:24px;
  color:#fff;
  margin-top:40px;
  box-shadow:0 20px 60px rgba(37,89,221,.25);
}
.yachts-cta h3{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:clamp(24px,3vw,38px);
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin:0 0 14px;
  color:#fff;
}
.yachts-cta p{
  font-size:15px;
  color:rgba(255,255,255,.85);
  margin:0 auto 28px;
  max-width:520px;
}

/* --- адаптив --- */
@media (max-width: 900px){
  .yacht-card{
    grid-template-columns:1fr;
    gap:24px;
    padding:20px;
    margin-bottom:48px;
  }
  .yacht-card--reverse{grid-template-columns:1fr}
  .yacht-card--reverse .yacht-card__photo{order:0}
  .yacht-card__specs{grid-template-columns:repeat(2,1fr)}
  .yacht-gallery{
    grid-template-columns:repeat(2,1fr);
    margin-bottom:48px;
  }
}
@media (max-width: 480px){
  .yacht-card__specs{grid-template-columns:repeat(2,1fr)}
  .yacht-gallery{grid-template-columns:1fr}
}

/* ===== Yacht photo slider / single — фото вписаны (object-fit: contain) ===== */

.yacht-card__photo{
  position:relative;
  aspect-ratio:4/3;
  border-radius:18px;
  overflow:hidden;
  background:#0e2c8a; /* fallback под прозрачные краешки contain */
}

/* Чтобы year-pill оставался поверх слайдера */
.yacht-card__year-pill{z-index:5}

/* === Single photo (когда нет галереи) === */
.yacht-single-photo{
  position:relative;
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
}
.yacht-single-photo__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:blur(28px) saturate(1.15);
  transform:scale(1.15);              /* убираем blur edges */
  opacity:.55;
  z-index:0;
}
.yacht-single-photo img{
  position:relative;z-index:1;
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
  display:block;
}

/* === Multi-photo slider === */
.yacht-slider{
  position:relative;
  width:100%;height:100%;
  overflow:hidden;
}
.yacht-slider__track{
  display:flex;
  width:100%;height:100%;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
}
.yacht-slider__slide{
  flex:0 0 100%;
  position:relative;
  display:flex;align-items:center;justify-content:center;
  background:#0e2c8a;
}
.yacht-slider__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:blur(28px) saturate(1.15);
  transform:scale(1.15);
  opacity:.55;
  z-index:0;
}
.yacht-slider__slide img{
  position:relative;z-index:1;
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
  display:block;
}

/* Стрелки */
.yacht-slider__btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  border:none;
  color:var(--blue);
  font-size:14px;
  cursor:pointer;
  z-index:4;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
  transition:background .25s, transform .25s;
}
.yacht-slider__btn:hover{
  background:#fff;
  transform:translateY(-50%) scale(1.08);
}
.yacht-slider__btn--prev{left:14px}
.yacht-slider__btn--next{right:14px}

/* Точки */
.yacht-slider__dots{
  position:absolute;bottom:14px;left:50%;
  transform:translateX(-50%);
  display:flex;gap:7px;
  z-index:4;
  background:rgba(14,44,138,.45);
  padding:6px 12px;
  border-radius:18px;
  backdrop-filter:blur(8px);
}
.yacht-slider__dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.5);
  border:none;cursor:pointer;
  padding:0;
  transition:all .3s ease;
}
.yacht-slider__dot--active{
  background:#fff;
  width:24px;border-radius:5px;
}

/* На мобильных — стрелки чуть меньше */
@media (max-width:480px){
  .yacht-slider__btn{width:36px;height:36px;font-size:12px}
  .yacht-slider__btn--prev{left:8px}
  .yacht-slider__btn--next{right:8px}
}

/* ===== Лайтбокс для фото яхт (на странице «Наши яхты») ===== */

/* Курсор «увеличения» на фото яхты */
.yacht-slider__slide img,
.yacht-single-photo img{
  cursor:zoom-in;
}

.lightbox{
  position:fixed;inset:0;
  display:none;
  z-index:9999;
  align-items:center;justify-content:center;
}
.lightbox.active{display:flex}
.lightbox__overlay{
  position:absolute;inset:0;
  background:rgba(8,16,52,.93);
  backdrop-filter:blur(8px);
  z-index:0;
  cursor:zoom-out;
}
.lightbox__img-wrap{
  position:relative;z-index:1;
  max-width:90vw;max-height:88vh;
  display:flex;align-items:center;justify-content:center;
  animation:lbZoomIn .35s cubic-bezier(.2,.85,.35,1.05);
}
.lightbox__img{
  max-width:90vw;max-height:88vh;
  width:auto;height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 20px 80px rgba(0,0,0,.5);
  display:block;
}
@keyframes lbZoomIn{
  from{opacity:0;transform:scale(.92)}
  to  {opacity:1;transform:scale(1)}
}

.lightbox__close,
.lightbox__nav{
  position:absolute;z-index:2;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s, transform .25s;
}
.lightbox__close:hover,
.lightbox__nav:hover{
  background:rgba(255,255,255,.35);
  transform:scale(1.08);
}
.lightbox__close{
  top:22px;right:22px;
  width:48px;height:48px;border-radius:50%;
  font-size:18px;
}
.lightbox__nav{
  top:50%;transform:translateY(-50%);
  width:56px;height:56px;border-radius:50%;
  font-size:18px;
}
.lightbox__nav:hover{transform:translateY(-50%) scale(1.08)}
.lightbox__nav--prev{left:24px}
.lightbox__nav--next{right:24px}

.lightbox__counter{
  position:absolute;bottom:24px;left:50%;
  transform:translateX(-50%);
  background:rgba(0,0,0,.55);
  color:#fff;
  padding:8px 18px;
  border-radius:18px;
  font-size:13px;font-weight:600;
  letter-spacing:.05em;
  backdrop-filter:blur(8px);
  z-index:2;
}

/* Мобильный */
@media (max-width:768px){
  .lightbox__close{top:14px;right:14px;width:40px;height:40px;font-size:15px}
  .lightbox__nav{width:44px;height:44px;font-size:15px}
  .lightbox__nav--prev{left:10px}
  .lightbox__nav--next{right:10px}
  .lightbox__img{max-width:96vw;max-height:80vh;border-radius:8px}
}

/* Блокируем скролл body когда лайтбокс открыт */
body.lightbox-open{overflow:hidden}

/* ====================================================================
   Страница "Все отзывы" (.reviews-page) и одиночный отзыв (.review-single)
   ==================================================================== */

/* ---------- Все отзывы ---------- */
.reviews-page{
  background:linear-gradient(180deg,#ffffff 0%,#EAF8FF 100%);
  padding:60px 0 100px;
}
.reviews-page__empty{
  text-align:center;padding:80px 24px;
  font-size:16px;color:var(--gray-500);
  background:#fff;border:1px dashed #c0cef8;border-radius:16px;
}
.reviews-page__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));
  gap:28px;
}

/* Карточка-тайл */
.review-tile{
  display:flex;flex-direction:column;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  text-decoration:none;
  color:var(--black);
  box-shadow:0 8px 30px rgba(37,89,221,.08), 0 2px 6px rgba(37,89,221,.04);
  transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s;
}
.review-tile:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 50px rgba(37,89,221,.16);
}
.review-tile__photo{
  position:relative;
  width:100%;aspect-ratio:16/10;
  background:linear-gradient(135deg, #d6e8ff, #EAF8FF);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.review-tile__photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.review-tile:hover .review-tile__photo img{transform:scale(1.05)}
.review-tile__photo > .fa-user{
  font-size:64px;color:rgba(37,89,221,.25);
}
.review-tile__body{
  padding:24px 26px 26px;
  flex:1;display:flex;flex-direction:column;gap:14px;
  position:relative;
}
.review-tile__quote-mark{
  color:var(--cyan-deep);
  font-size:22px;
  opacity:.6;
}
.review-tile__text{
  font-size:15px;line-height:1.65;
  color:var(--black);
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.review-tile__author{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid rgba(37,89,221,.1);
}
.review-tile__name{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:17px;
  color:var(--blue-dark);
}
.review-tile__role{
  font-size:12px;color:var(--gray-500);
  margin-top:3px;
  text-transform:uppercase;letter-spacing:.05em;
}
.review-tile__more{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;
  color:var(--blue);
  margin-top:6px;
}
.review-tile__more i{transition:transform .3s}
.review-tile:hover .review-tile__more i{transform:translateX(4px)}

/* ---------- Одиночный отзыв ---------- */
.review-single{
  background:linear-gradient(180deg,#ffffff 0%,#EAF8FF 100%);
  padding:48px 0 100px;
  min-height:60vh;
}
.review-back{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--blue);font-weight:600;font-size:14px;
  text-decoration:none;
  margin-bottom:32px;
  padding:8px 16px;
  border-radius:20px;
  background:rgba(37,89,221,.08);
  transition:background .25s;
}
.review-back:hover{background:rgba(37,89,221,.16)}
.review-back i{transition:transform .3s}
.review-back:hover i{transform:translateX(-4px)}

.review-single__card{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:48px;
  align-items:start;
  background:#fff;
  border-radius:24px;
  padding:48px;
  box-shadow:0 16px 60px rgba(37,89,221,.1), 0 2px 6px rgba(37,89,221,.04);
}
.review-single__photo{
  position:relative;
  width:280px;height:280px;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg, #d6e8ff, #EAF8FF);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.review-single__photo img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.review-single__photo-placeholder{
  font-size:88px;color:rgba(37,89,221,.3);
  display:flex;align-items:center;justify-content:center;
}
.review-single__quote-icon{
  position:absolute;
  bottom:-14px;right:-14px;
  width:56px;height:56px;border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  box-shadow:0 10px 30px rgba(37,89,221,.4);
}

.review-single__body{
  padding-top:6px;
}
.review-single__text{
  position:relative;
  font-size:18px;
  line-height:1.75;
  color:var(--black);
  margin-bottom:34px;
  font-style:italic;
  padding-left:24px;
  border-left:4px solid var(--cyan-deep);
}
.review-single__text p{
  margin:0 0 18px;
}
.review-single__text p:last-child{margin-bottom:0}
.review-single__text::before{
  content:"«";
  position:absolute;
  top:-30px;left:-10px;
  font-family:'Montserrat',sans-serif;
  font-size:80px;
  font-weight:900;
  color:var(--cyan-deep);
  opacity:.35;
  line-height:1;
  pointer-events:none;
}

.review-single__author{
  padding-top:24px;
  border-top:2px solid rgba(37,89,221,.1);
}
.review-single__name{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:24px;
  color:var(--blue-dark);
  text-transform:uppercase;
  letter-spacing:.02em;
}
.review-single__role{
  font-size:14px;
  color:var(--gray-500);
  margin-top:4px;
  text-transform:uppercase;letter-spacing:.08em;
  font-weight:600;
}

.review-single__cta{
  text-align:center;
  margin-top:60px;
  padding:48px 32px;
  background:linear-gradient(135deg, var(--blue-dark), var(--blue));
  border-radius:24px;
  color:#fff;
  box-shadow:0 20px 60px rgba(37,89,221,.25);
}
.review-single__cta h3{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:clamp(22px, 2.5vw, 32px);
  text-transform:uppercase;
  margin:0 0 12px;
  color:#fff;
}
.review-single__cta p{
  color:rgba(255,255,255,.85);
  margin:0 auto 26px;
  max-width:480px;
  font-size:15px;
}

/* Адаптив */
@media (max-width: 900px){
  .review-single__card{
    grid-template-columns:1fr;
    gap:32px;
    padding:32px 24px;
  }
  .review-single__photo{
    width:220px;height:220px;
    margin:0 auto;
  }
  .review-single__text{font-size:16px;padding-left:18px}
  .review-single__text::before{font-size:60px;top:-22px}
}
@media (max-width: 600px){
  .reviews-page__grid{grid-template-columns:1fr;gap:20px}
  .review-single__cta{padding:36px 22px}
}

/* ===== Подпись под видео-рилзом (Жизнь в кадре) ===== */
.reel-item{position:relative}  /* base — на случай если не было */
.reel-caption{
  position:absolute;
  left:10px;right:10px;
  bottom:10px;
  z-index:3;
  background:rgba(14,44,138,.78);
  backdrop-filter:blur(10px);
  color:#fff;
  padding:8px 14px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  text-align:center;
  letter-spacing:.01em;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  pointer-events:none;
  /* Не более 2 строк */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
/* На мобильных подпись чуть меньше */
@media (max-width:768px){
  .reel-caption{
    font-size:12px;
    padding:6px 10px;
    left:6px;right:6px;bottom:6px;
  }
}

/* ===== Прогресс-бар в видео-модале (рилзы) ===== */
.video-modal-progress{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:8px 12px 4px;
  box-sizing:border-box;
}
.video-modal-time{
  color:#fff;
  font-size:12px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  min-width:34px;
  text-align:center;
  letter-spacing:.02em;
  user-select:none;
}
.video-modal-seek{
  flex:1;
  -webkit-appearance:none;
  appearance:none;
  background:rgba(255,255,255,.2);
  height:6px;
  border-radius:3px;
  outline:none;
  cursor:pointer;
  transition:height .2s;
}
.video-modal-seek:hover{height:8px}
.video-modal-seek::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:16px;height:16px;border-radius:50%;
  background:var(--cyan);
  cursor:pointer;
  border:2px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
  transition:transform .2s;
}
.video-modal-seek:hover::-webkit-slider-thumb,
.video-modal-seek:active::-webkit-slider-thumb{transform:scale(1.2)}
.video-modal-seek::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;
  background:var(--cyan);
  cursor:pointer;
  border:2px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
}
.video-modal-seek::-moz-range-track{
  background:transparent;height:6px;
}

/* На мобильных — компактнее */
@media (max-width:768px){
  .video-modal-time{font-size:11px;min-width:28px}
  .video-modal-seek{height:5px}
  .video-modal-seek::-webkit-slider-thumb{width:14px;height:14px}
}

/* ====================================================================
   Постер-обложка для рилзов «Жизнь в кадре»
   Виден всегда, когда нет hover; на hover плавно исчезает, открывая видео
   ==================================================================== */
.reel-item{position:relative}
.reel-item .reel-poster-cover{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .3s ease;
  pointer-events:none;
  z-index:2;          /* над <video>, но под overlay/кнопками play/expand */
}
.reel-item:hover .reel-poster-cover{opacity:0}

/* Overlay (кнопка play, expand, caption) должны быть выше постера */
.reel-item .reel-overlay,
.reel-item .reel-expand,
.reel-item .reel-caption{z-index:3}

/* ====================================================================
   Подписи рилзов — вариант 3 + фирменный Open Sans (не жирный)
   ==================================================================== */
.reel-item::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:110px;
  background:linear-gradient(to top, rgba(14,44,138,.85) 0%, rgba(14,44,138,.45) 45%, transparent 100%);
  pointer-events:none;
  z-index:3;
  border-bottom-left-radius:inherit;
  border-bottom-right-radius:inherit;
}
.reel-item .reel-caption{
  position:absolute;
  left:14px; right:14px; bottom:14px;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  color:#fff !important;
  font-family:'Open Sans', sans-serif !important;
  font-size:13px;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:none;
  line-height:1.35;
  text-shadow:0 1px 6px rgba(0,0,0,.55), 0 0 2px rgba(0,0,0,.35);
  z-index:4;
  pointer-events:none;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.reel-item .reel-overlay,
.reel-item .reel-expand{z-index:4}
.reel-item:hover::after{
  background:linear-gradient(to top, rgba(14,44,138,.7) 0%, rgba(14,44,138,.3) 40%, transparent 100%);
  transition:background .3s ease;
}
@media (max-width:767px){
  .reel-item .reel-caption{font-size:12px; left:10px; right:10px; bottom:10px}
  .reel-item::after{height:90px}
}

/* ====================================================================
   Страница «Все отзывы» — фото авторов не должны обрезать головы.
   object-position сдвинут к верху, чтобы лицо оставалось в кадре,
   обрезка идёт по нижней части.
   ==================================================================== */
.reviews-page .review-tile__photo{
  aspect-ratio:4/5;
}
.reviews-page .review-tile__photo img{
  object-fit:cover;
  object-position:center top;
}
@media (max-width:600px){
  .reviews-page .review-tile__photo{aspect-ratio:1/1}
}

/* ====================================================================
   Страница «Все отзывы» — горизонтальный layout как на главной:
   2 колонки, фото слева, текст справа
   ==================================================================== */
.reviews-page__grid{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:28px;
}

.review-tile{
  flex-direction:row !important;
  align-items:stretch;
  min-height:280px;
}

.review-tile__photo{
  width:38% !important;
  flex:0 0 38%;
  aspect-ratio:auto !important;
  height:auto;
  min-height:280px;
  align-self:stretch;
}
.review-tile__photo img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
}

.review-tile__body{
  flex:1;
  padding:26px 28px 22px;
}

@media (max-width:900px){
  .reviews-page__grid{grid-template-columns:1fr !important}
}
@media (max-width:600px){
  .review-tile{flex-direction:column !important; min-height:0}
  .review-tile__photo{
    width:100% !important;
    flex:0 0 auto;
    aspect-ratio:1/1 !important;
    min-height:0;
  }
}

/* ====================================================================
   Страница «Все отзывы» — заменяем ссылку "Прочитать весь отзыв"
   на круглую (+)-кнопку в правом нижнем углу (как в карточках главной)
   + роль — Open Sans, фирменный синий
   ==================================================================== */

/* Прячем длинную ссылку */
.review-tile .review-tile__more{display:none !important}

/* Body — relative для абсолютного позиционирования (+) */
.review-tile .review-tile__body{position:relative}

/* (+) — псевдоэлемент в правом нижнем углу */
.review-tile .review-tile__body::after{
  content:"+";
  position:absolute;
  bottom:14px; right:14px;
  width:30px; height:30px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;line-height:1;
  box-shadow:0 6px 16px rgba(37,89,221,.28);
  transition:transform .2s ease, background .2s ease;
  pointer-events:none;          /* клик уходит на родительский <a> */
}
.review-tile:hover .review-tile__body::after{
  background:var(--blue-deep);
  transform:scale(1.1);
}

/* Роль автора — Open Sans + фирменный синий */
.review-tile .review-tile__role{
  font-family:'Open Sans', sans-serif !important;
  color:var(--blue) !important;
  font-weight:600 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:13px !important;
}

/* ====================================================================
   Имя автора в карточках отзывов — фирменный синий #2559DD
   ==================================================================== */
.review-tile .review-tile__name{
  color:#2559DD !important;
}

/* ====================================================================
   Hero страницы «Все отзывы» — белая CTA-кнопка "Оставить отзыв"
   и роль автора в карточках — чёрной (приоритет над синим)
   ==================================================================== */
.page-hero-actions{
  margin-top:36px;
  display:flex;justify-content:center;
}
.btn-hero-white{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 30px;
  border-radius:999px;
  background:#fff;
  color:var(--blue);
  font-family:'Open Sans', sans-serif;
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.08);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-hero-white i{
  font-size:13px;
  color:var(--blue);
  transition:transform .25s ease;
}
.btn-hero-white:hover{
  transform:translateY(-2px);
  background:var(--cyan-soft);
  box-shadow:0 16px 40px rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.1);
}
.btn-hero-white:hover i{transform:translateX(3px)}

/* Роль автора — чёрный (перебиваем предыдущий синий) */
.review-tile .review-tile__role{
  color:var(--black) !important;
  opacity:.85;
}

/* ====================================================================
   Блок "Что говорят наши участники" на главной — анимированные blob'ы
   как в hero-баннере "Календарь событий"
   ==================================================================== */
.reviews-inner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.reviews-inner > .hero-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  pointer-events:none;
  will-change:transform;
  z-index:1;
}
.reviews-inner > .hero-blob-1{
  width:440px;height:440px;
  background:radial-gradient(circle,#2559DD 0%,rgba(37,89,221,0) 65%);
  top:-80px;left:-60px;opacity:.9;
  animation:rv-blob1 4s ease-in-out infinite;
}
.reviews-inner > .hero-blob-2{
  width:380px;height:380px;
  background:radial-gradient(circle,#8FF4FF 0%,rgba(143,244,255,0) 65%);
  top:-30px;right:5%;opacity:.55;
  animation:rv-blob2 3s ease-in-out infinite;
}
.reviews-inner > .hero-blob-3{
  width:360px;height:360px;
  background:radial-gradient(circle,#EAF8FF 0%,rgba(234,248,255,0) 65%);
  bottom:-50px;right:-40px;opacity:.4;
  animation:rv-blob3 5s ease-in-out infinite;
}
.reviews-inner > .hero-blob-4{
  width:320px;height:320px;
  background:radial-gradient(circle,#2559DD 0%,rgba(37,89,221,0) 65%);
  bottom:-20px;left:20%;opacity:.85;
  animation:rv-blob4 3.5s ease-in-out infinite;
}
.reviews-inner > .hero-blob-5{
  width:260px;height:260px;
  background:radial-gradient(circle,#8FF4FF 0%,rgba(143,244,255,0) 65%);
  top:50%;left:45%;opacity:.45;
  animation:rv-blob5 2.8s ease-in-out infinite;
}
.reviews-inner > .hero-blob-6{
  width:300px;height:300px;
  background:radial-gradient(circle,#EAF8FF 0%,rgba(234,248,255,0) 65%);
  bottom:10px;left:-30px;opacity:.4;
  animation:rv-blob6 4.5s ease-in-out infinite;
}
.reviews-inner > .hero-blob-7{
  width:340px;height:340px;
  background:radial-gradient(circle,#2559DD 0%,rgba(37,89,221,0) 65%);
  top:10%;right:25%;opacity:.7;
  animation:rv-blob7 3.8s ease-in-out infinite;
}
@keyframes rv-blob1{0%,100%{transform:translate(0,0)}50%{transform:translate(160px,100px)}}
@keyframes rv-blob2{0%,100%{transform:translate(0,0)}50%{transform:translate(-140px,90px)}}
@keyframes rv-blob3{0%,100%{transform:translate(0,0)}50%{transform:translate(-180px,-80px)}}
@keyframes rv-blob4{0%,100%{transform:translate(0,0)}50%{transform:translate(120px,-110px)}}
@keyframes rv-blob5{0%,100%{transform:translate(0,0)}50%{transform:translate(-160px,-80px)}}
@keyframes rv-blob6{0%,100%{transform:translate(0,0)}50%{transform:translate(190px,-70px)}}
@keyframes rv-blob7{0%,100%{transform:translate(0,0)}50%{transform:translate(-100px,100px)}}

/* Внутренний контент должен быть выше blob'ов */
.reviews-inner > .reveal,
.reviews-inner > .reviews-panel,
.reviews-inner > .review-allbtn{position:relative;z-index:2}

/* ====================================================================
   Тёмный фон для .reviews-inner — чтобы blob-ы проявились как
   в баннере «Календарь событий» (#0e1f5e)
   ==================================================================== */
.reviews-inner{
  background:#0e1f5e !important;
}
/* Чуть усилим яркость blob'ов */
.reviews-inner > .hero-blob-1{opacity:1 !important}
.reviews-inner > .hero-blob-2{opacity:.85 !important}
.reviews-inner > .hero-blob-3{opacity:.65 !important}
.reviews-inner > .hero-blob-4{opacity:.95 !important}
.reviews-inner > .hero-blob-5{opacity:.7 !important}
.reviews-inner > .hero-blob-6{opacity:.6 !important}
.reviews-inner > .hero-blob-7{opacity:.85 !important}

/* ====================================================================
   Мобильная карточка отзыва — ВАРИАНТ 1 "Социальная карточка"
   ┌──────────────────────────────┐
   │ [avatar]  Имя автора         │
   │           Роль               │
   │ ──────────────────────────── │
   │ ❝ Цитата на всю ширину...    │
   │                              │
   │                Читать → │
   └──────────────────────────────┘
   ==================================================================== */
@media (max-width:768px){

  .review-card{
    display:grid !important;
    grid-template-columns:56px 1fr !important;
    grid-template-rows:auto auto auto !important;
    column-gap:12px !important;
    row-gap:14px !important;
    padding:20px !important;
    height:auto !important;
    min-height:0 !important;
    overflow:hidden;
  }
  .review-card > .review-card-body{display:contents !important}
  .review-card .review-foot{display:contents !important}

  /* Аватар — слева сверху, рядом с именем */
  .review-card > .review-card-photo{
    grid-column:1 !important;
    grid-row:1 !important;
    width:56px !important;
    height:56px !important;
    flex:0 0 56px !important;
    aspect-ratio:1/1 !important;
    border-radius:50% !important;
    clip-path:none !important;
    overflow:hidden;
    align-self:center !important;
    background:#EAF8FF;
  }
  .review-card > .review-card-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 30% !important;
  }
  .review-card > .review-card-photo .review-no-photo{
    width:100%;height:100%;
    display:flex;align-items:center;justify-content:center;
  }
  .review-card > .review-card-photo .review-no-photo svg{width:36px;height:36px}

  /* Имя/роль — справа от аватара, строка 1 */
  .review-card .review-author,
  .review-card > .review-card-body > .review-author,
  .review-card > .review-author{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
    padding:0 !important;
    border:none !important;
    align-self:center !important;
    text-align:left !important;
    min-width:0;
  }
  .review-card .review-name{
    font-size:15px !important;
    color:#2559DD !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-align:left !important;
    margin:0 !important;
    padding:0 !important;
  }
  .review-card .review-role{
    font-family:'Open Sans', sans-serif !important;
    font-size:12px !important;
    color:var(--black) !important;
    opacity:.85 !important;
    margin:2px 0 0 0 !important;
    padding:0 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    line-height:1.3 !important;
    text-align:left !important;
  }

  /* Цитата на всю ширину, строка 2 */
  .review-card .review-text-wrap{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    min-width:0;
    padding-top:12px !important;
    border-top:1px solid rgba(37,89,221,.10) !important;
    position:relative;
  }
  .review-card .review-text-wrap::before{
    font-size:18px;
    margin-bottom:6px;
  }
  .review-card .review-text{
    font-size:14.5px !important;
    line-height:1.6 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    word-wrap:break-word;
  }

  /* "Читать полностью" — строка 3, справа */
  .review-card .review-card-link,
  .review-card > .review-card-body > .review-card-link,
  .review-card > .review-card-link{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    background:none !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    color:var(--blue) !important;
    font-weight:600 !important;
    font-size:13px !important;
    line-height:1.3 !important;
    white-space:nowrap !important;
    text-align:right !important;
    justify-self:end !important;
    align-self:end !important;
    width:auto !important;
  }
  .review-card .review-card-link i{
    margin-left:6px;
    font-size:11px;
  }

  /* Стрелки и блок */
  .reviews-panel .reviews-arrow{
    width:30px !important;
    height:30px !important;
    font-size:11px !important;
    margin:0 4px !important;
  }
  .reviews-inner{padding:36px 0 30px !important}
  .reviews-inner .container{padding-left:14px !important;padding-right:14px !important}
}

/* ====================================================================
   Симметричный мобильный отступ контейнера — увеличиваем с 12px до 20px,
   чтобы текст и блоки не «прилипали» к левому/правому краю экрана.
   ==================================================================== */
@media (max-width:768px){
  .container{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  /* В блоке отзывов оставляем чуть меньше, т.к. карточка-слайдер занимает всю ширину */
  .reviews-inner .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

/* ====================================================================
   Десктоп/планшет: цвета и компактная кнопка в отзывах на главной
   - Имя автора — фирменный синий #2559DD
   - Роль — чёрная (как на мобиле)
   - "Читать полностью" — поменьше шрифт и padding
   ==================================================================== */
@media (min-width:769px){
  .review-card .review-name{
    color:#2559DD !important;
    font-weight:700;
  }
  .review-card .review-role{
    font-family:'Open Sans', sans-serif !important;
    color:var(--black) !important;
    opacity:.85;
    font-weight:500 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
  }
  .review-card .review-card-link{
    font-size:12px !important;
    padding:6px 12px !important;
  }
  .review-card .review-card-link i{
    font-size:10px !important;
  }
}

/* ====================================================================
   Цвет разделителя + размер ссылки 'Читать полностью' в отзывах
   ==================================================================== */

/* МОБИЛЬНАЯ: разделительная полоса между шапкой и цитатой
   — цветом как на десктопе (cyan-deep rgba(74,212,232,.35)) */
@media (max-width:768px){
  .review-card .review-text-wrap{
    border-top-color:rgba(74,212,232,.35) !important;
  }
}

/* ДЕСКТОП / ПЛАНШЕТ: 'Читать полностью' — цвет фирменный синий, побольше */
@media (min-width:769px){
  .review-card .review-card-link{
    color:#2559DD !important;
    font-size:13px !important;
    padding:7px 14px !important;
  }
  .review-card .review-card-link i{
    color:#2559DD !important;
    font-size:11px !important;
  }
  .review-card .review-card-link:hover{
    color:#fff !important;
  }
  .review-card .review-card-link:hover i{
    color:#fff !important;
  }
}

/* ====================================================================
   Десктоп/планшет: 'Читать полностью' — текстовая ссылка по левому краю
   (без pill-фона, чтобы выравнивалась с именем/ролью/цитатой)
   ==================================================================== */
@media (min-width:769px){
  .review-card .review-card-link{
    background:none !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:6px 0 0 0 !important;
    color:#2559DD !important;
    font-size:13px !important;
    font-weight:600 !important;
    align-self:flex-start !important;
  }
  .review-card .review-card-link:hover{
    background:none !important;
    color:var(--blue-deep) !important;
  }
  .review-card .review-card-link:hover i{
    color:var(--blue-deep) !important;
  }
  .review-card .review-card-link i{
    margin-left:6px;
    font-size:11px;
    color:#2559DD !important;
  }
  /* Подвал .review-foot — выравниваем все элементы по левому краю */
  .review-card .review-foot{
    justify-content:flex-start !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
  }
  .review-card .review-foot .review-author{
    width:100%;
  }
}

/* ====================================================================
   Мобильные заголовки баннеров — крупнее, но влезают в ширину экрана.
   + Стрелки слайдера на мобильных скрываем (свайп остаётся).
   ==================================================================== */
@media (max-width:768px){
  .hero-title{
    font-size:clamp(30px, 7.5vw, 44px) !important;
    line-height:1.05;
    margin-bottom:14px;
    word-break:normal;
    overflow-wrap:break-word;
    hyphens:none;
  }
  .page-hero h1{
    font-size:clamp(30px, 7.5vw, 44px) !important;
    line-height:1.08;
    margin-bottom:14px;
    overflow-wrap:break-word;
  }
  .page-hero{padding:60px 22px !important}

  /* Скрываем стрелки hero-слайдера */
  .hero-arrow{display:none !important}
}

/* ====================================================================
   Мобиле: скрыть стрелки reels, уменьшить стрелки fleet (как в отзывах)
   ==================================================================== */
@media (max-width:768px){
  /* Жизнь в кадре — убираем стрелки совсем */
  .reels-nav{display:none !important}

  /* Собственный флот — компактные стрелки, как у отзывов */
  .fleet-arrow-side{
    width:30px !important;
    height:30px !important;
    font-size:11px !important;
  }
}

/* ====================================================================
   Мобиле: счётчики — крупная цифра, маленькие подписи (как на десктопе)
   ==================================================================== */
@media (max-width:768px){
  .stat-number{
    font-size:clamp(46px, 12vw, 58px) !important;
    font-weight:800 !important;
    line-height:1 !important;
    padding-right:36px !important;
  }
  .stat-prefix, .stat-suffix{
    font-size:.5em !important;
    font-weight:700 !important;
  }
  .stat-bigtext{
    font-size:13px !important;
    margin-top:4px !important;
    letter-spacing:.08em;
  }
  .stat-label{
    font-size:15px !important;
    margin-top:10px !important;
    line-height:1.4;
  }
}
@media (max-width:400px){
  .stat-number{font-size:clamp(40px, 11vw, 50px) !important}
  .stat-bigtext{font-size:12px !important}
  .stat-label{font-size:14px !important}
}

/* ====================================================================
   Унификация стрелок слайдеров: десктоп — компактные 40×40,
   мобиле — стрелки на фото-слайдере регат скрыты (есть свайп + точки)
   ==================================================================== */
@media (min-width:769px){
  .hero-arrow,
  .fleet-arrow-side,
  .reviews-panel .reviews-arrow,
  .reels-nav,
  .yacht-slider__btn,
  .photo-slider__btn{
    width:40px !important;
    height:40px !important;
    font-size:13px !important;
    border-radius:50% !important;
  }
}

/* Мобиле: фото-слайдер регат — стрелки скрываем, чтобы не заходили на фото */
@media (max-width:768px){
  .photo-slider__btn{display:none !important}
  /* Лайтбокс — на всякий случай тоже компактнее */
  .lightbox__nav{width:38px;height:38px;font-size:14px}
}

/* ====================================================================
   Стрелки рилзов — выровнены с play-кнопкой (десктоп, по высоте reel-item)
   reel-item height = 498px → центр на 249px
   ==================================================================== */
@media (min-width:769px){
  .reels-wrapper{position:relative}
  .reels-nav{
    top:249px !important;
  }
}

/* ====================================================================
   Счётчики — финальная версия:
   - Пропорции шрифтов как на мобиле (60/14/16 на десктопе)
   - Тень: мягкая, размытая, чуть тяжелее снизу — без острых краёв
   - Hover (включая тап на мобиле): подъём + пульсация иконки + градиент цифры
   - НИКАКОЙ постоянной пульсации на мобиле
   ==================================================================== */

/* Десктоп: пропорции шрифтов */
@media (min-width:769px){
  .stat-number{
    font-size:60px !important;
    font-weight:800 !important;
    padding-right:48px !important;
  }
  .stat-prefix, .stat-suffix{font-weight:700 !important}
  .stat-bigtext{font-size:14px !important; margin-top:4px !important; letter-spacing:.08em !important}
  .stat-label{font-size:16px !important; margin-top:10px !important}
}

/* Базовая мягкая тень (всегда видима, тяжелее снизу, без острых граней) */
.stat-item{
  box-shadow:
    0 14px 36px -8px rgba(14,44,138,.16),
    0 4px 10px -2px rgba(14,44,138,.06) !important;
  filter:none !important;
  border:none !important;          /* убираем border, чтобы не было резкой кромки */
  transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s ease !important;
}

/* Hover (тап на мобиле тоже срабатывает): глубже тень, подъём */
.stat-item:hover{
  transform:translateY(-6px) !important;
  box-shadow:
    0 28px 70px -10px rgba(14,44,138,.30),
    0 10px 22px -4px rgba(14,44,138,.14),
    0 2px 6px rgba(14,44,138,.05) !important;
}

/* Hover (включая тап) — цифра наливается градиентом */
.stat-number{
  transition:filter .35s ease;
}
.stat-item:hover .stat-number{
  background:linear-gradient(135deg, var(--blue) 0%, var(--cyan-deep) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 12px rgba(74,212,232,.40));
}
.stat-prefix, .stat-suffix{-webkit-text-fill-color:var(--blue); background:none}

/* Hover — иконка плавно пульсирует (мягким кольцом, без острого края) */
.stat-icon{transition:transform .35s ease}
.stat-item:hover .stat-icon{
  animation:stat-icon-pulse-soft 1.6s ease-in-out infinite;
}
@keyframes stat-icon-pulse-soft{
  0%   { transform:scale(1);    box-shadow:0 0 0 0  rgba(74,212,232,.45); }
  60%  { transform:scale(1.08); box-shadow:0 0 18px 6px rgba(74,212,232,0); }
  100% { transform:scale(1);    box-shadow:0 0 0 0  rgba(74,212,232,0); }
}

/* ====================================================================
   Hero-баннеры на мобиле: заголовки не вылазят за края.
   Длинные слова типа INTERNATIONAL должны помещаться в одну строку.
   ==================================================================== */
@media (max-width:768px){
  .page-hero{padding:64px 18px !important}
  .page-hero h1,
  .hero-title{
    font-size:clamp(30px, 8.4vw, 48px) !important;
    line-height:1.05 !important;
    margin:14px 0 14px !important;
    letter-spacing:-.015em !important;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }
}
@media (max-width:400px){
  .page-hero{padding:56px 14px !important}
  .page-hero h1,
  .hero-title{
    font-size:clamp(26px, 8vw, 36px) !important;
    letter-spacing:-.02em !important;
  }
}
@media (max-width:340px){
  .page-hero h1,
  .hero-title{font-size:24px !important}
}

/* ====================================================================
   Z-index счётчиков, чтобы тень не обрезалась соседней секцией.
   Карточки и сама секция .stats поднимаются над следующими секциями,
   и тень мягко уходит «в воздух», а не обрезается фоном.
   ==================================================================== */
.stats{
  position:relative;
  z-index:5;
  padding:20px 0 40px !important;     /* воздух снизу под тень */
}
.stat-item{
  position:relative;
  z-index:5;
}

/* ====================================================================
   Счётчики: плавная пульсация иконки + чистая цифра без градиента
   ==================================================================== */

/* Цифра — всегда сплошной фирменный синий, без градиента/glow */
.stat-number,
.stat-item:hover .stat-number{
  background:none !important;
  background-image:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-fill-color:var(--blue) !important;
  color:var(--blue) !important;
  filter:none !important;
}
.stat-prefix, .stat-suffix{
  -webkit-text-fill-color:var(--blue) !important;
  color:var(--blue) !important;
  background:none !important;
}

/* Иконка — плавная пульсация при hover (на тачах сработает при тапе и держится) */
.stat-icon{
  transition:transform .4s cubic-bezier(.4,0,.2,1);
  animation:none;
}
.stat-item:hover .stat-icon{
  animation:stat-icon-pulse-smooth 2.2s cubic-bezier(.45,.05,.55,.95) infinite;
}
@keyframes stat-icon-pulse-smooth{
  0%   { transform:scale(1);    box-shadow:0 0 0    0  rgba(74,212,232,0); }
  50%  { transform:scale(1.08); box-shadow:0 0 28px 8px rgba(74,212,232,.45); }
  100% { transform:scale(1);    box-shadow:0 0 0    0  rgba(74,212,232,0); }
}



/* ====================================================================
   Все отзывы — карточки единого размера + аккуратное кадрирование фото
   ==================================================================== */
.reviews-page .review-tile{
  height:280px !important;          /* фиксированная высота карточки */
  min-height:280px !important;
}
.reviews-page .review-tile__photo{
  width:38% !important;
  height:280px !important;
  min-height:280px !important;
  aspect-ratio:auto !important;
}
.reviews-page .review-tile__photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  /* center 25% — лицо обычно в верхней четверти портретного кадра,
     при cover оказывается ровно в середине круга, конечности в кадре */
  object-position:center 25% !important;
}
.reviews-page .review-tile__body{
  overflow:hidden;
  flex:1;
}
.reviews-page .review-tile__text{
  -webkit-line-clamp:5 !important;   /* короче — чтобы помещалось */
  line-clamp:5;
}

/* На планшете до 900px — сетка 1 колонка, фото слева */
@media (max-width:900px){
  .reviews-page .review-tile{height:auto !important; min-height:240px !important}
  .reviews-page .review-tile__photo{height:auto !important; min-height:240px !important}
}
/* Мобиле до 600px — вертикальная карточка */
@media (max-width:600px){
  .reviews-page .review-tile{height:auto !important; min-height:0 !important}
  .reviews-page .review-tile__photo{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1/1 !important;
    width:100% !important;
  }
}

/* ====================================================================
   Все отзывы: 6 строк текста в карточке + белый fade при переполнении
   ==================================================================== */
.reviews-page .review-tile{
  height:310px !important;            /* немного выше под 6 строк */
  min-height:310px !important;
}
.reviews-page .review-tile__photo{
  height:310px !important;
  min-height:310px !important;
}
.reviews-page .review-tile__body{
  position:relative;
}
.reviews-page .review-tile__text{
  -webkit-line-clamp:6 !important;
  line-clamp:6;
  font-size:14px;
  line-height:1.55;
  position:relative;
}
/* Белый fade поверх последней строки — индикатор обрезанного текста */
.reviews-page .review-tile__text::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:34px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 100%);
  pointer-events:none;
}

/* Планшет ≤900: одна колонка, высота вернётся к auto */
@media (max-width:900px){
  .reviews-page .review-tile,
  .reviews-page .review-tile__photo{
    height:auto !important;
    min-height:260px !important;
  }
}
/* Мобиле ≤600: вертикальная карточка */
@media (max-width:600px){
  .reviews-page .review-tile,
  .reviews-page .review-tile__photo{
    height:auto !important;
    min-height:0 !important;
  }
  .reviews-page .review-tile__photo{
    aspect-ratio:1/1 !important;
    width:100% !important;
  }
}

/* ====================================================================
   Все отзывы: fade только для обрезанных карточек (.is-clamped задаёт JS)
   ==================================================================== */
.reviews-page .review-tile__text::after{
  display:none !important;     /* по умолчанию fade выключен */
}
.reviews-page .review-tile__text.is-clamped::after{
  display:block !important;    /* включается, когда текст переполнен */
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:34px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 100%);
  pointer-events:none;
}

/* ====================================================================
   Отзывы: размер текста — немного крупнее базового, но не «много»
   ==================================================================== */
.review-card .review-text{
  font-size:16px !important;
  line-height:1.6 !important;
}
.reviews-page .review-tile__text{
  font-size:15px !important;
  line-height:1.6 !important;
}

/* Мобиле — чуть меньше для размещения в карточке */
@media (max-width:768px){
  .review-card .review-text{
    font-size:14.5px !important;
    line-height:1.55 !important;
  }
  .reviews-page .review-tile__text{
    font-size:14.5px !important;
    line-height:1.55 !important;
  }
}

/* ====================================================================
   Single review — Variant 1: премиум-портрет слева, цитата справа
   ==================================================================== */
.review-single{
  background:linear-gradient(180deg,#ffffff 0%,#EAF8FF 100%);
  padding:48px 0 100px;
  min-height:60vh;
}
.review-single__card{display:none}     /* старая старая разметка */
.review-single__cta{display:none}

/* Кнопка "Назад" */
.review-back{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--blue);font-weight:600;font-size:14px;
  text-decoration:none;
  margin-bottom:32px;
  padding:8px 16px;
  border-radius:20px;
  background:rgba(37,89,221,.08);
  transition:background .25s;
  font-family:'Open Sans', sans-serif;
}
.review-back:hover{background:rgba(37,89,221,.16)}
.review-back i{transition:transform .3s; font-size:12px}
.review-back:hover i{transform:translateX(-4px)}

/* Основная карточка — 2 колонки: фото слева + контент справа */
.review-card-single{
  display:grid;
  grid-template-columns:minmax(360px, 42%) 1fr;
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(37,89,221,.14), 0 4px 12px rgba(37,89,221,.06);
  min-height:560px;
}

.review-card-single__photo{
  position:relative;
  background:linear-gradient(135deg, #d6e8ff, #EAF8FF);
  align-self:stretch;
  overflow:hidden;
}
.review-card-single__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
  display:block;
}
.review-card-single__placeholder{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:120px;color:rgba(37,89,221,.25);
}

.review-card-single__content{
  padding:64px 60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
.review-card-single__quote-icon{
  font-size:54px;
  color:var(--cyan-deep);
  opacity:.55;
  line-height:1;
  margin-bottom:24px;
}
.review-card-single__text{
  font-family:'Open Sans', sans-serif;
  font-size:18px;
  line-height:1.8;
  color:var(--black);
  margin-bottom:36px;
}
.review-card-single__text p{margin:0 0 18px}
.review-card-single__text p:last-child{margin-bottom:0}

.review-card-single__author{
  padding-top:24px;
  border-top:1px solid rgba(74,212,232,.4);
}
.review-card-single__name{
  font-family:'Montserrat', sans-serif;
  font-weight:800;
  font-size:22px;
  color:#2559DD;
  text-transform:uppercase;
  letter-spacing:.02em;
  line-height:1.2;
}
.review-card-single__role{
  font-family:'Open Sans', sans-serif;
  font-size:14px;
  color:var(--black);
  opacity:.85;
  margin-top:6px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:600;
}

/* === Адаптив === */
@media (max-width:1024px){
  .review-card-single{
    grid-template-columns:minmax(300px, 40%) 1fr;
    min-height:480px;
  }
  .review-card-single__content{padding:48px 40px}
  .review-card-single__text{font-size:17px; line-height:1.7}
}
@media (max-width:768px){
  .review-single{padding:24px 0 60px}
  .review-card-single{
    grid-template-columns:1fr;
    min-height:0;
    border-radius:20px;
  }
  .review-card-single__photo{
    aspect-ratio:4/3;
  }
  .review-card-single__content{padding:32px 24px}
  .review-card-single__quote-icon{font-size:38px; margin-bottom:16px}
  .review-card-single__text{font-size:16px; line-height:1.65; margin-bottom:24px}
  .review-card-single__name{font-size:18px}
  .review-card-single__role{font-size:12px}
  .review-back{margin-bottom:18px}
}

/* ====================================================================
   Single review: фото меньше в 2 раза (десктоп и планшет)
   На мобиле остаётся как было
   ==================================================================== */
.review-card-single{
  grid-template-columns:minmax(220px, 26%) 1fr !important;
  min-height:420px !important;
}
@media (max-width:1024px){
  .review-card-single{
    grid-template-columns:minmax(200px, 30%) 1fr !important;
    min-height:380px !important;
  }
}
@media (max-width:768px){
  /* На мобиле фото идёт сверху на всю ширину — оставляем как было */
  .review-card-single{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
}

/* ====================================================================
   Single review: кнопка "Все отзывы" внизу по центру, синяя в стиле сайта
   ==================================================================== */
.review-single .review-back{display:none}    /* старая кнопка сверху */

.review-back-wrap{
  display:flex;
  justify-content:center;
  margin:48px 0 0;
}
.review-back-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 28px;
  font-size:14px;
  font-family:'Montserrat', sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-radius:999px;
}
.review-back-btn i{
  font-size:12px;
  transition:transform .3s;
}
.review-back-btn:hover i{
  transform:translateX(-4px);
}
@media (max-width:768px){
  .review-back-wrap{margin-top:32px}
  .review-back-btn{padding:12px 22px; font-size:13px}
}

/* ====================================================================
   Single review: отступ сверху, чтобы карточка не залезала под шапку
   ==================================================================== */
.review-single{
  padding-top:140px !important;
}
@media (max-width:768px){
  .review-single{
    padding-top:100px !important;
  }
}

/* ====================================================================
   Single review mobile: фото как на странице "Все отзывы"
   - квадрат 1:1, лицо в центре круга/квадрата
   ==================================================================== */
@media (max-width:600px){
  .review-card-single__photo{
    aspect-ratio:1/1 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }
  .review-card-single__photo img{
    object-fit:cover !important;
    object-position:center 25% !important;
  }
}

/* ====================================================================
   Все отзывы мобиле (≤600px): компактная карточка
   Фото 96×96 слева сверху + имя/роль справа, ниже цитата на всю ширину
   ==================================================================== */
@media (max-width:600px){
  .reviews-page .review-tile{
    display:grid !important;
    grid-template-columns:96px 1fr !important;
    column-gap:14px !important;
    row-gap:12px !important;
    padding:18px 18px 56px !important;
    height:auto !important;
    min-height:0 !important;
    align-items:start !important;
    position:relative;
    flex-direction:row !important;
  }

  /* Фото — квадрат 96×96 со скруглением */
  .reviews-page .review-tile__photo{
    grid-column:1 !important;
    grid-row:1 !important;
    width:96px !important;
    height:96px !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    border-radius:14px !important;
    overflow:hidden;
    flex:0 0 auto;
  }
  .reviews-page .review-tile__photo img{
    object-fit:cover !important;
    object-position:center 25% !important;
    width:100%;height:100%;
  }
  .reviews-page .review-tile__photo > .fa-user{
    font-size:44px !important;
  }

  /* Body — растворяем, дети становятся ячейками сетки .review-tile */
  .reviews-page .review-tile__body{
    display:contents !important;
  }

  /* Имя + роль рядом с фото, центрируем по вертикали */
  .reviews-page .review-tile__author{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    padding:0 !important;
    border:none !important;
    margin:0 !important;
  }

  /* Значок цитаты и текст — на всю ширину под аватаром */
  .reviews-page .review-tile__quote-mark{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    margin:0 !important;
  }
  .reviews-page .review-tile__text{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    -webkit-line-clamp:6 !important;
    line-clamp:6;
  }

  /* Скрываем "+" из body::after, рисуем заново на самой карточке */
  .reviews-page .review-tile__body::after{display:none !important}
  .reviews-page .review-tile::after{
    content:"+";
    position:absolute;
    bottom:14px;
    right:14px;
    width:32px;
    height:32px;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:700;
    line-height:1;
    box-shadow:0 6px 16px rgba(37,89,221,.28);
    pointer-events:none;
  }

  .reviews-page .review-tile__more{display:none !important}
}

/* ====================================================================
   Все отзывы мобиле: "Читать полностью →" вместо круглого "+"
   ==================================================================== */
@media (max-width:600px){
  /* Скрываем "+" */
  .reviews-page .review-tile::after{display:none !important}

  /* Подвал — больше места под ссылку */
  .reviews-page .review-tile{
    padding:18px 18px 18px !important;
  }

  /* "Читать полностью" — показываем как обычная текстовая ссылка */
  .reviews-page .review-tile__more{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    grid-column:1 / -1 !important;
    grid-row:4 !important;
    margin-top:6px !important;
    color:var(--blue);
    font-family:'Open Sans', sans-serif;
    font-weight:600;
    font-size:13px;
    line-height:1.3;
    white-space:nowrap;
  }
  .reviews-page .review-tile__more i{
    font-size:11px;
    transition:transform .25s ease;
  }
  .reviews-page .review-tile:hover .review-tile__more i{
    transform:translateX(3px);
  }
}

/* ====================================================================
   Все отзывы мобиле (≤600px) — Variant 2 «Социальная карточка»:
   ┌─────────────────────────┐
   │ [🔵 56px] Имя           │
   │          Роль           │
   │ ──────────────────────  │
   │ ❝ Цитата...             │
   │ ...текст...             │
   │                         │
   │           Читать → │
   └─────────────────────────┘
   ==================================================================== */
@media (max-width:600px){
  .reviews-page .review-tile{
    display:grid !important;
    grid-template-columns:56px 1fr !important;
    grid-template-rows:auto auto auto !important;
    column-gap:12px !important;
    row-gap:12px !important;
    padding:18px !important;
    height:auto !important;
    min-height:0 !important;
    align-items:start !important;
    position:relative;
    flex-direction:row !important;
  }

  /* === АВАТАР: круглый 56×56 в верхнем левом углу === */
  .reviews-page .review-tile__photo{
    grid-column:1 !important;
    grid-row:1 !important;
    width:56px !important;
    height:56px !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    border-radius:50% !important;
    overflow:hidden;
    flex:0 0 auto;
  }
  .reviews-page .review-tile__photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 25% !important;
  }
  .reviews-page .review-tile__photo > .fa-user{
    font-size:24px !important;
  }

  /* Body растворяем */
  .reviews-page .review-tile__body{display:contents !important}

  /* === ШАПКА: имя/роль рядом с аватаром === */
  .reviews-page .review-tile__author{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    padding:0 !important;
    border:none !important;
    margin:0 !important;
  }

  /* Тонкая разделительная линия снизу шапки */
  .reviews-page .review-tile__author::after{
    content:"";
    display:block;
    position:absolute;
    left:18px; right:18px;
    top:84px;  /* 18 padding + 56 avatar + ~10 gap */
    height:1px;
    background:rgba(74,212,232,.35);
  }

  /* === ЦИТАТА: значок + текст на всю ширину === */
  .reviews-page .review-tile__quote-mark{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    margin:8px 0 0 !important;
    font-size:18px !important;
  }
  .reviews-page .review-tile__text{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    -webkit-line-clamp:6 !important;
    line-clamp:6;
  }

  /* === Скрываем (+) кнопку, показываем ссылку «Читать полностью →» === */
  .reviews-page .review-tile::after{display:none !important}
  .reviews-page .review-tile__body::after{display:none !important}

  .reviews-page .review-tile__more{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    grid-column:1 / -1 !important;
    grid-row:4 !important;
    margin-top:10px !important;
    justify-self:end !important;
    color:var(--blue);
    font-family:'Open Sans', sans-serif;
    font-weight:600;
    font-size:13px;
    line-height:1.3;
    white-space:nowrap;
    text-align:right;
  }
  .reviews-page .review-tile__more i{
    font-size:11px;
    transition:transform .25s ease;
  }
  .reviews-page .review-tile:hover .review-tile__more i{
    transform:translateX(3px);
  }
}

/* ====================================================================
   Все отзывы: «Читать полностью →» вместо «+» на десктопе и планшете
   (мобиле уже было сделано раньше)
   ==================================================================== */
@media (min-width:601px){
  /* Скрываем "+" */
  .reviews-page .review-tile__body::after{display:none !important}

  /* "Читать полностью" — текстовая ссылка справа внизу карточки */
  .reviews-page .review-tile__more{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    margin-top:auto !important;
    align-self:flex-end !important;
    color:var(--blue);
    font-family:'Open Sans', sans-serif;
    font-weight:600;
    font-size:14px;
    line-height:1.3;
    white-space:nowrap;
    text-align:right;
    padding-top:10px;
  }
  .reviews-page .review-tile__more i{
    font-size:11px;
    transition:transform .25s ease;
  }
  .reviews-page .review-tile:hover .review-tile__more i{
    transform:translateX(3px);
  }
  /* body как flex column, чтобы align-self:flex-end сработал */
  .reviews-page .review-tile__body{
    display:flex !important;
    flex-direction:column !important;
  }
}

/* ====================================================================
   Все отзывы: меньше расстояние между сеткой отзывов и формой ниже
   ==================================================================== */
.reviews-page{
  padding-bottom:32px !important;
}
.reviews-page + .section--form,
section.section--form{
  padding-top:24px !important;
}
@media (max-width:600px){
  .reviews-page{padding-bottom:20px !important}
  section.section--form{padding-top:16px !important}
}

/* ====================================================================
   Включаем анимацию blob-ов на мобиле (плавно как в form-fblob).
   Блок «Что говорят наши участники» на главной.
   ==================================================================== */
@media (max-width:768px){
  .reviews-inner > .hero-blob{
    animation-play-state:running !important;
    will-change:transform;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transform:translateZ(0);
  }
  .reviews-inner > .hero-blob-1{animation:rv-blob1 7s ease-in-out infinite !important}
  .reviews-inner > .hero-blob-2{animation:rv-blob2 5.5s ease-in-out infinite !important}
  .reviews-inner > .hero-blob-3{animation:rv-blob3 8s ease-in-out infinite !important}
  .reviews-inner > .hero-blob-4{animation:rv-blob4 6.5s ease-in-out infinite !important}
  .reviews-inner > .hero-blob-5,
  .reviews-inner > .hero-blob-6,
  .reviews-inner > .hero-blob-7{display:none !important}
}

/* ====================================================================
   Страница «Яхтинг» — стили для блоков
   ==================================================================== */

.yachting-block{
  background:#fff;
  padding:80px 0;
}
.yachting-block--alt{
  background:#EAF8FF;
}

/* Коротко о главном */
.yachting-highlights{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.yh-card{
  background:#fff;
  border-radius:24px;
  padding:36px 32px;
  text-align:center;
  box-shadow:0 8px 30px rgba(37,89,221,.08), 0 2px 6px rgba(37,89,221,.04);
  border:1px solid rgba(37,89,221,.06);
  transition:transform .3s ease, box-shadow .3s ease;
}
.yachting-block--alt .yh-card{background:#fff}
.yh-card:hover{transform:translateY(-4px); box-shadow:0 18px 50px rgba(37,89,221,.16)}
.yh-card__icon{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg, var(--cyan-soft), #c8f0ff);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  color:var(--blue);font-size:24px;
}
.yh-card__title{
  font-family:'Montserrat', sans-serif;
  font-weight:800;
  font-size:18px;
  color:var(--blue-dark);
  text-transform:uppercase;
  letter-spacing:.02em;
  margin:0 0 14px;
}
.yh-card p{
  font-size:15px;color:var(--gray-700);line-height:1.65;margin:0;
}

/* Кому подходит */
.yachting-audience{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.ya-card{
  background:#fff;
  border-radius:20px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  box-shadow:0 6px 24px rgba(37,89,221,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.ya-card:hover{transform:translateY(-3px); box-shadow:0 14px 40px rgba(37,89,221,.14)}
.ya-card__ico{
  font-size:28px;
  color:var(--blue);
  background:var(--cyan-soft);
  width:54px;height:54px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
}
.ya-card p{
  font-size:16px;color:var(--black);line-height:1.6;margin:0;
}

/* Что вы получите */
.yachting-benefits{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.yb-item{
  background:#fff;
  border-radius:18px;
  padding:24px 26px;
  display:flex;
  align-items:flex-start;
  gap:18px;
  box-shadow:0 4px 20px rgba(37,89,221,.06);
  border:1px solid rgba(37,89,221,.05);
}
.yb-item__ico{
  font-size:22px;color:var(--blue);
  background:var(--cyan-soft);
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.yb-item h3{
  font-family:'Montserrat', sans-serif;
  font-weight:700;
  font-size:16px;color:var(--blue-dark);
  text-transform:uppercase;letter-spacing:.02em;
  margin:0 0 6px;
}
.yb-item p{
  font-size:15px;color:var(--gray-700);line-height:1.55;margin:0;
}

/* Формат участия */
.yachting-format{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.yf-item{
  background:#fff;
  border-radius:18px;
  padding:28px 26px;
  display:flex;
  flex-direction:column;
  gap:16px;
  align-items:flex-start;
  box-shadow:0 4px 20px rgba(37,89,221,.07);
  transition:transform .3s ease;
}
.yf-item:hover{transform:translateY(-3px)}
.yf-item__ico{
  font-size:24px;color:var(--blue);
  background:var(--cyan-soft);
  width:54px;height:54px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
}
.yf-item p{
  font-size:15px;color:var(--black);line-height:1.6;margin:0;
}
.yf-item strong{color:var(--blue); font-weight:700}

/* Что взять с собой */
.yachting-gear{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
  max-width:920px;
  margin:0 auto;
}
.yg-item{
  background:#fff;
  border-radius:14px;
  padding:18px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
  font-size:14px;
  color:var(--black);
  line-height:1.4;
  box-shadow:0 4px 14px rgba(37,89,221,.07);
}
.yg-item i{
  font-size:24px;color:var(--blue);
  background:var(--cyan-soft);
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* Готовы присоединиться? — 3 шага */
.yachting-steps{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  max-width:780px;margin:0 auto;
}
.ys-step{
  background:#fff;
  border-radius:20px;
  padding:36px 24px 28px;
  text-align:center;
  position:relative;
  box-shadow:0 6px 24px rgba(37,89,221,.08);
}
.ys-step__num{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--blue-deep));
  color:#fff;
  font-family:'Montserrat', sans-serif;
  font-weight:900;
  font-size:24px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
  box-shadow:0 8px 22px rgba(37,89,221,.35);
}
.ys-step h3{
  font-family:'Montserrat', sans-serif;
  font-weight:800;
  font-size:20px;
  color:var(--blue-dark);
  text-transform:uppercase;
  letter-spacing:.02em;
  margin:0 0 8px;
}
.ys-step p{
  font-size:14px;color:var(--gray-700);line-height:1.5;margin:0;
}

/* === Адаптив === */
@media (max-width:900px){
  .yachting-highlights,
  .yachting-audience,
  .yachting-format{grid-template-columns:1fr 1fr; gap:18px}
  .yachting-benefits{grid-template-columns:1fr; gap:18px}
  .yachting-steps{grid-template-columns:1fr 1fr; gap:18px; max-width:520px}
  .yachting-gear{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:600px){
  .yachting-block{padding:56px 0}
  .yachting-highlights,
  .yachting-audience,
  .yachting-format,
  .yachting-steps{grid-template-columns:1fr; max-width:none}
  .yh-card,
  .ya-card,
  .yf-item,
  .ys-step{padding:24px 22px}
  .yh-card__icon{width:54px;height:54px;font-size:20px}
  .yh-card__title{font-size:16px}
  .yh-card p{font-size:14.5px}
  .ya-card p{font-size:15px}
  .yb-item{padding:18px 20px; gap:14px}
  .yb-item__ico{width:42px;height:42px;font-size:18px}
  .yb-item h3{font-size:15px}
  .yb-item p{font-size:14px}
}

/* ====================================================================
   Hero на странице Яхтинг — компактный заголовок + подзаголовок-текст
   ==================================================================== */
.hero--single .hero-title,
.hero-title--compact{
  font-size:clamp(26px, 3.6vw, 52px) !important;
  line-height:1.1 !important;
  margin-bottom:14px;
}
.hero--single .hero-title span,
.hero-title--compact span{
  white-space:nowrap;
}
.hero--single .hero-text{
  font-size:clamp(15px, 1.4vw, 18px);
  color:rgba(255,255,255,.92);
  line-height:1.55;
  max-width:560px;
  margin:0 0 24px;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
@media (max-width:768px){
  .hero--single .hero-title,
  .hero-title--compact{
    font-size:clamp(24px, 7vw, 36px) !important;
  }
  .hero--single .hero-title span,
  .hero-title--compact span{
    white-space:normal;
  }
  .hero--single .hero-title br,
  .hero-title--compact br{
    display:none;
  }
  .hero--single .hero-text{
    font-size:14px;
    margin-bottom:18px;
  }
}


/* ====================================================================
   Подсветка активной страницы в меню
   ==================================================================== */
/* Главное меню (десктоп) .nav-pill: активный пункт фирменным синим */
.nav-pill a.is-active,
.nav-pill .nav-link.is-active{
  color:#2559DD !important;
  font-weight:600 !important;
}
/* Бургерное меню: активный пункт — вертикальная синяя полоска слева
   + лёгкий градиентный фон */
.mobile-menu a.is-active,
.mobile-menu-list a.is-active{
  color:#2559DD !important;
  border-left:3px solid #2559DD !important;
  border-radius:0 8px 8px 0 !important;
  background:linear-gradient(90deg, rgba(37,89,221,.08), transparent 60%) !important;
}

/* ====================================================================
   Подвал — нижняя полоса. Содержимое выровнено по той же сетке, что
   и .footer-grid выше (4 колонки). Слева копирайт под лого сайта,
   справа под колонкой «Контакты» — крупный логотип разработчика.
   Лого выровнено по левому краю столбца, не обрезается.
   ==================================================================== */
.footer-bottom{
  max-width:var(--container);
  margin:40px auto 0;
  padding:24px 28px 30px;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:50px;
  align-items:center;
  background:transparent;
  border:0;
}
.footer-bottom .footer-copy,
.footer-bottom > p{
  grid-column:2 / span 2;        /* копирайт по сетке колонки «Услуги» */
  font-size:12px;
  color:rgba(255,255,255,.55);
  margin:0;
  text-align:left;
  line-height:1.55;
}
.footer-credit{
  grid-column:4;                  /* под колонкой «Контакты», по левому краю столбца */
  justify-self:start;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  text-decoration:none;
  color:#fff;
  transition:opacity .25s ease;
}
.footer-credit:hover{ opacity:.85; }
.footer-credit__text{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  margin-bottom:14px;
}
.footer-credit__row{
  display:flex;
  align-items:center;
  gap:18px;
}
/* Прямоугольная область для лого — широкая, не обрезается.
   Натуральные пропорции сохраняются через height:auto + max-width. */
.footer-credit__logo{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:90px;
  object-fit:contain;
}
.footer-credit__name{
  font-family:'Montserrat', sans-serif;
  font-weight:700;
  font-size:18px;
  color:#fff;
  letter-spacing:.04em;
}
@media (max-width:1024px){
  .footer-credit__logo{ max-height:70px; }
}
@media (max-width:768px){
  .footer-bottom{
    grid-template-columns:1fr;
    gap:18px;
    padding:20px 20px 26px;
    justify-items:center;
    text-align:center;
  }
  .footer-bottom .footer-copy,
  .footer-bottom > p{
    grid-column:1;
    text-align:center;
  }
  .footer-credit{
    grid-column:1;
    justify-self:center;
    align-items:center;
    text-align:center;
  }
  .footer-credit__logo{ max-height:100px; }
  .footer-credit__name{ font-size:16px; }
}
@media (max-width:600px){
  .footer-credit__logo{ max-height:80px; }
}

/* ====================================================================
   Шаблон page.php — типографика для обычных страниц (Политика и т.п.)
   ==================================================================== */
.page-content{
  padding:120px 0 60px;
  background:linear-gradient(180deg, #FFFFFF 0%, #EAF8FF 100%);
}
.page-content .container{
  max-width:920px;
}
.page-content__title{
  font-family:'Montserrat', sans-serif;
  font-size:42px;
  font-weight:800;
  color:#0E1F5E;
  text-align:center;
  margin:40px auto 20px;
  line-height:1.2;
  text-transform:none;
}
.page-content__body{
  text-align:left;
}
.page-content__body h2{
  font-family:'Montserrat', sans-serif;
  font-size:20px;
  font-weight:700;
  color:#0E1F5E;
  text-align:left;
  margin:40px 0 16px;
  line-height:1.35;
  text-transform:none;
}
.page-content__body h3{
  font-family:'Montserrat', sans-serif;
  font-size:20px;
  font-weight:600;
  color:#2559DD;
  text-align:left;
  margin:24px 0 12px;
  line-height:1.35;
  text-transform:none;
}
.page-content__body p,
.page-content__body li{
  font-family:'Open Sans', sans-serif;
  font-size:15px;
  line-height:1.7;
  color:#000;
  text-align:left;
  margin:0 0 12px;
}
.page-content__body ul{
  padding-left:22px;
  margin:0 0 18px;
}
.page-content__body li{ margin-bottom:8px; }
.page-content__body a{
  color:#2559DD;
  text-decoration:underline;
}
.page-content__body a:hover{ color:#0E1F5E; }
@media (max-width:768px){
  .page-content{ padding:90px 0 50px; }
  .page-content__title{ font-size:28px; margin:30px auto 16px; }
  .page-content__body h2,
  .page-content__body h3{ font-size:18px; margin:30px 0 12px; }
}

/* ====================================================================
   Кнопка «Наверх» (back-to-top) — глобально на всех страницах.
   Появляется после прокрутки > 400px, плавный smooth-scroll к началу.
   ==================================================================== */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:52px;
  height:52px;
  border-radius:50%;
  border:0;
  cursor:pointer;
  background:linear-gradient(135deg, #B5E4EF 0%, #62B7CE 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(14,31,94,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px) scale(.9);
  transition:opacity .3s ease, transform .3s ease, box-shadow .25s ease, visibility .3s;
  z-index:9999;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.back-to-top:hover{
  transform:translateY(-3px) scale(1);
  box-shadow:0 12px 26px rgba(14,31,94,.32);
}
.back-to-top:active{
  transform:translateY(-1px) scale(.98);
}
.back-to-top__arrows{
  position:relative;
  width:22px;
  height:22px;
  display:block;
  overflow:visible;
}
.back-to-top__arrow{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  display:block;
  transform:translateY(0);
  opacity:1;
  will-change:transform, opacity;
}
/* Вторая стрелка в покое скрыта — покажется только на hover */
.back-to-top__arrow--2{
  opacity:0;
  transform:translateY(70%);
}
/* При наведении обе стрелки бегут вверх (эффект «поезд»), только пока hover */
.back-to-top:hover .back-to-top__arrow{
  animation:btt-slide 1s ease-in-out infinite;
}
.back-to-top:hover .back-to-top__arrow--2{
  animation-delay:.5s;
}
@keyframes btt-slide{
  0%   { transform:translateY(70%);  opacity:0; }
  25%  { opacity:1; }
  75%  { opacity:1; }
  100% { transform:translateY(-70%); opacity:0; }
}
@media (max-width:768px){
  .back-to-top{
    right:16px;
    bottom:16px;
    width:44px;
    height:44px;
  }
  .back-to-top__arrows{ width:18px; height:18px; }
}

/* ====================================================================
   Заглушка «Страница в разработке» — для пустых страниц услуг.
   Используется на /yacht-transfer/, /yacht-rental/, /yacht-brokerage-services/, /yacht-consulting/
   ==================================================================== */
.coming-soon{
  text-align:center !important;
  padding:20px 0 40px;
  max-width:720px;
  margin:0 auto !important;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.coming-soon__svg{
  max-width:520px;
  width:100%;
  margin:0 auto 32px;
  display:block;
}
.coming-soon__title{
  font-family:'Montserrat', sans-serif;
  font-size:28px;
  font-weight:800;
  color:#0e1f5e;
  margin:0 auto 16px;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-align:center !important;
}
.coming-soon__text{
  font-family:'Open Sans', sans-serif;
  font-size:16px;
  line-height:1.65;
  color:#000;
  max-width:620px;
  margin:0 auto 32px;
  text-align:center !important;
}
.coming-soon__actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.coming-soon__actions .btn{
  min-width:220px;
  justify-content:center;
  color:#FFFFFF !important;
}
.coming-soon__actions .btn i,
.coming-soon__actions .btn span{
  color:#FFFFFF !important;
}
@media (max-width:600px){
  .coming-soon__title{ font-size:22px; }
  .coming-soon__text{ font-size:15px; }
  .coming-soon__actions .btn{ width:100%; }
}
