/* ---------- Minimal reset ---------- */
*,*::before,*::after{box-sizing:border-box}
img{user-select:none;-webkit-user-drag:none}
html:focus-within{scroll-behavior:smooth}
body,h1,h2,h3,h4,p,ul,ol,li,figure{margin:0;padding:0}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
:root{
  --bg:#f6f7f9;
  --bg_green_light:#d8ead0;
  --bg_green_dark:#005332;
  --bg_white_transparent:rgba(255,255,255,.5);
  --card:#fff;
  --text:#0f172a;
  --muted:#475569;
  --brand:#0ea5e9;
  --brand-600:#0284c7;
  --accent:#4da26c;
  --border:#e5e7eb;
  --borderwhite:#ffffff;
  --main_btn_bg:#008c57;
  --main_btn_bg_hover:#015e3b;
  --ring:rgba(14,165,233,.35);
  --radius:16px;
  --shadow:0 3px 10px rgba(0,0,0,.16);
  --shadowsm:0 2px 5px rgba(0,0,0,.1);
}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Inter,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
body.no-scroll{overflow:hidden}
.hero-ready{}

/* ---------- Layout ---------- */
.container{width:min(1120px,90vw);margin-inline:auto}
.section{padding:64px 0 84px 0}
.row{display:flex;gap:.75rem}
.row.center{align-items:center}
.row.between{justify-content:space-between}
.row.start{justify-content:flex-start}
.row.gap-1{gap:1rem}
.media-rounded{border-radius:var(--radius);overflow:hidden}
.h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;margin-bottom:2rem}
.h3{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.3;margin-bottom:.5rem}
.muted{color:var(--muted)}
.icon{width:20px;height:20px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab, var(--bg_green_dark), transparent 20%);backdrop-filter:saturate(1.1) blur(8px);border-bottom:1px solid #609782}
.site-header .container{height:56px}
.site-header .brand{display:flex;align-items:center;gap:.5rem;font-weight:700}
.site-header .brand img{max-width:56px}
.site-header .brand .slogan{color: #fff;text-shadow: 1px 1px 2px #19310f}
@media (max-width:580px){.brand .slogan{display:none}}
.site-header .header-cta{display:flex;gap:.75rem;align-items:center}
.site-header .link-phone{color:#fff;font-weight:600;text-decoration:none;text-shadow: 1px 1px 2px #19310f}
.site-header .link-phone:hover{opacity:.8}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:5px;padding:.3rem 1rem;border:1px solid transparent;box-shadow:var(--shadow);transition:.2s ease-in-out}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.btn-lg{padding:.45rem 1rem;font-size:1.05rem}
.btn-primary{
  background:var(--main_btn_bg);
  background-image:url(assets/images/noise.png);
  color:white;
  font-weight: 600
  position: relative;
  box-shadow:
    0 1px 0 rgba(6, 77, 49, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 0 0 rgba(0, 0, 0, 0.5) inset,
    0 1.10em 0 rgba(255, 255, 255, 0.25) inset,
    0 -1.10em 1.25em rgba(0, 0, 0, 0.32) inset,
    0 1.10rem 1.25em rgba(255, 255, 255, 0.05) inset,
    0 1.10em 6px rgba(255, 255, 255, .1) inset;
  transition: all 150ms linear 0s;
  text-shadow: 1px 1px 1px #1e5b44;
}
.btn-primary:hover{
  /* background:var(--main_btn_bg_hover); */
  background-image:url(assets/images/noise.png);
  color:white;
  box-shadow:
    0 1px 0 rgba(6, 77, 49, 0.46),
    /* 0 1px 0 rgba(255, 255, 255, 0.25) inset, */
    0 0 0 rgba(0, 0, 0, 0.5) inset,
    /* 0 -1.10em 0 rgba(255, 255, 255, 0.25) inset, */
    0 1.10em 1.25em rgba(0, 0, 0, 0.32) inset,
    /* 0 -1.10rem 1.25em rgba(255, 255, 255, 0.05) inset, */
    0 -1.10em 6px rgba(255, 255, 255, .1) inset;
}
.btn-outline {
  background: rgba(255,255,255,0.5);
  background-image:url(assets/images/noise.png);
  color: #404040;
  font-weight: 600
  position: relative;
  box-shadow:
    0 1px 0 rgba(6, 77, 49, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 0 0 rgba(0, 0, 0, 0.5) inset,
    0 1.10em 0 rgba(255, 255, 255, 0.25) inset,
    0 -1.10em 1.25em rgba(0, 0, 0, 0.32) inset,
    0 1.10rem 1.25em rgba(255, 255, 255, 0.05) inset,
    0 1.10em 6px rgba(255, 255, 255, .1) inset;
  transition: all 150ms linear 0s;
  text-shadow: 1px 1px 1px #d9d9d9;
}
.btn-outline:hover{
  background:color-mix(in oklab, var(--card), transparent 25%);
  background-image:url(assets/images/noise.png);
  box-shadow:
    0 1px 0 rgba(6, 77, 49, 0.46),
    /* 0 1px 0 rgba(255, 255, 255, 0.25) inset, */
    0 0 0 rgba(0, 0, 0, 0.5) inset,
    /* 0 -1.10em 0 rgba(255, 255, 255, 0.25) inset, */
    0 1.10em 1.25em rgba(0, 0, 0, 0.32) inset,
    /* 0 -1.10rem 1.25em rgba(255, 255, 255, 0.05) inset, */
    0 -1.10em 6px rgba(255, 255, 255, .1) inset;
}
.w-full{width:100%}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:80svh;display:grid;place-items:center;overflow:hidden}
.hero { position: relative; padding-bottom: calc(var(--sep-h) - 1px); }
.hero > .row.separator{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--sep-h);
}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;transform:translateZ(0)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,.15))}
/* .hero-overlay{position:absolute;inset:0;background: url(assets/images/bg-dot-pattern.webp)} */
.hero-inner{position:relative;z-index:2;color:white;text-align:center}
.hero h1{font-size:clamp(1.75rem,3.5vw,3rem);line-height:1.15;margin:2.5rem 0 2rem 0;text-shadow: 1px 1px 2px #000}
.hero p{color:#f1f5f9;max-width:56ch;margin-inline:auto;text-shadow: 1px 1px 2px #000}
.hero .pill{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:30px;padding:.4rem .75rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.9rem;backdrop-filter:blur(3px);text-shadow: 1px 1px 2px #000}
@media (min-width:1440px){.hero .pill{margin-top:50px;margin-bottom:0px}}
@media (max-width:375px){.hero .pill{margin-top:50px;margin-bottom:0px}}
.hero-actions{margin-top:50px;margin-bottom:30px}
.hero-actions .btn{display: inline-block;margin-bottom:20px}
.hero-actions .btn-outline .icon{margin-right:5px;margin-bottom:-5px}
/* ---------- HERO reveal (perf-safe) ---------- */
/* Начальные состояния применяются ТОЛЬКО когда <html> имеет .js (весомость до CSS загрузки) */
/* лёгкий параллакс-зум на старте */
.js .hero-video{transform:scale(1.035);will-change: transform, opacity}
.js .hero-overlay{opacity:0.6; will-change: opacity}
.js .hero-inner > *{opacity:0;transform: translate3d(0,12px,0) scale(.995);will-change: opacity, transform;}
.js .hero-inner .hero-actions .btn{transform: translate3d(0,14px,0) scale(.98);}
/* Конечные состояния — активируются добавлением .hero-ready на <body> после первого кадра */
body.hero-ready .hero-video{transform:none;transition: transform 1200ms cubic-bezier(.22,.61,.36,1), opacity 800ms ease;}
body.hero-ready .hero-overlay{opacity:1;transition: opacity 700ms ease}
body.hero-ready .hero-inner > *{opacity:1; transform:none;transition-property: opacity, transform;transition-duration: 650ms;transition-timing-function: cubic-bezier(.22,.61,.36,1);transition-delay: calc(var(--i, 0) * 90ms);}
/* запасной стаггер, если JS не смог проставить --i у детей */
body.hero-ready .hero-inner > *:nth-child(1){ transition-delay: 0ms }
body.hero-ready .hero-inner > *:nth-child(2){ transition-delay: 90ms }
body.hero-ready .hero-inner > *:nth-child(3){ transition-delay: 180ms }
body.hero-ready .hero-inner > *:nth-child(4){ transition-delay: 270ms }
body.hero-ready .hero-inner > *:nth-child(5){ transition-delay: 360ms }
/* Уважение настроек доступности: без движения — без движения */
@media (prefers-reduced-motion: reduce){
  .js .hero-video, .js .hero-inner > *, .js .hero-inner .hero-actions .btn{ transform:none !important; opacity:1 !important; will-change:auto !important }
  body.hero-ready .hero-video, body.hero-ready .hero-inner > *{ transition:none !important }
}

/* ---------- Trust ---------- */
.advantages{background: url(assets/images/bg-white-wave.png) #fafffe fixed}
.trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.trust-item{padding:.75rem 1rem;border:1px solid var(--borderwhite);border-radius:12px;background:var(--bg_white_transparent);box-shadow:var(--shadowsm);font-size:17px;text-align:center;text-shadow: 1px 1px 2px #fff}
.trust .icon{display:block;font-size:1.5rem;line-height:1;color:var(--accent,currentColor);margin-top: 10px;margin-bottom:20px;width:100%}
/* сетка на lg */
@media (min-width:768px){.trust{grid-template-columns:repeat(5,1fr)}}

/* ---------- Cards / Grid ---------- */
#cabins{background: url(assets/images/bg-gplay.png) #fff fixed;padding-top: 0px}
.grid{display:grid;gap:1rem}
.grid.two{grid-template-columns:1fr}
.cards-3{grid-template-columns:1fr}
@media (min-width:768px){.grid.two{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.cards-3{grid-template-columns:repeat(3,1fr)}}

.card{display:flex;flex-direction:column;background: url(assets/images/noise.png) #fff;border:1px solid var(--borderwhite);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-shadow: 1px 1px 1px #fff;padding-bottom:20px}
.card .hint{font-size:70%;display:inline-block;vertical-align:text-top;margin-left:10px;color:#888}
.card-media{position:relative;aspect-ratio:16/9;background:#0b1220}
.card-media img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.9);color:#0b1220;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}
.card-body{padding:1rem}
.list{display:grid;gap:.35rem;margin:.5rem 0 0 0;padding-left:1.2rem}
.list li{list-style:disc}
.list-cards{display:grid;gap:.5rem}
.list-cards li{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--card)}

.fits{margin-top:.5rem;color:var(--muted);font-size:.9rem}
.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}


.geo{background: url(assets/images/bg-white-wave.png) #fafffe;border-top: 2px solid #fff;border-bottom: 2px solid #fff;box-shadow:var(--shadow);position:relative;z-index:5}
.geo .media-rounded{border: 2px solid #fff;box-shadow:var(--shadow)}
/* ---------- Map ---------- */
.map-rounded {
  width: 100%;
  height: 400px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  z-index: 0;
}
#poi-list .poi{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border:1px solid #d9d9d9;border-radius:12px;background:var(--card);cursor:pointer}
#poi-list li:hover {background: rgba(255, 255, 255, 0.08);border: 1px solid #fff;cursor: pointer;backdrop-filter: blur(0.5px);box-shadow: var(--shadow)}
#poi-list .poi:hover{background:rgba(255, 255, 255,.08)}
.leaflet-marker-icon.pin{background:transparent;border:0}
.pin{filter:grayscale(1) opacity(.6); transform:translateZ(0);
     transition:filter .15s ease, opacity .15s ease, transform .15s ease}
.pin.pin--active{filter:none; opacity:1; transform:translateY(-1px)}


/* ---------- Gallery ---------- */
#gallery{background: url(assets/images/bg-gplay.png) #fff fixed}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.gallery img{border-radius:12px}
@media (min-width:768px){.gallery{grid-template-columns:repeat(4,1fr)}}
/* ---------- Lightbox (gallery) ---------- */
.lb{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.75);backdrop-filter:blur(2px)}
.lb--open{display:flex;animation:lbFade .18s ease}
.lb__stage{position:relative;max-width:min(92vw,1400px);max-height:88vh;display:flex;align-items:center;justify-content:center}
.lb__img{max-width:100%;max-height:88vh;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.5);background:#111;border:1px solid #000}
.lb__caption{position:absolute;left:0;right:0;bottom:-3rem;margin:0 auto;max-width:min(92vw,1400px);display:flex;gap:.75rem;align-items:center;justify-content:space-between;color:#fff;font-size:.95rem;line-height:1.35}
.lb__text{opacity:.9}
.lb__count{opacity:.7;white-space:nowrap}
.lb__btn{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:rgba(0, 0, 0, 0.38);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.lb__btn:hover{background:rgba(0, 0, 0, 0.38)}
.lb__prev{outline:0;left:16px}
.lb__next{outline:0;right:16px}
.lb__close{outline:0;position:absolute;top:19px;right:5px;width:30px;height:30px}
.lb__icon{width:22px;height:22px}
@media (max-width:640px){
  .lb__caption{bottom:-2.25rem;font-size:.9rem}
  .lb__btn{width:40px;height:40px}
  .lb__icon{width:20px;height:20px}
}
@keyframes lbFade{from{opacity:0}to{opacity:1}}


/* ---------- Reviews ---------- */
.reviews{background: url(assets/images/bg-xv.png) #155e41;border-top: 1px solid #dee1e0;border-bottom: 1px solid #dee1e0;box-shadow: 0px 0px 10px rgba(0,0,0,0.5);position: relative}
.reviews h2{color:#fff;text-shadow: 1px 1px 3px rgb(7, 34, 23)}
.review{padding:1rem}
.review .stars{color:#f59e0b;font-size:1.1rem}
.review .meta{color:var(--muted);font-size:.85rem;margin-top:.35rem}

/* ---------- Prices ---------- */
.prices-block{background: url(assets/images/bg-gplay.png) #fff fixed}
.price{padding:1rem}
.price-value{color:#777;font-size:1.5rem;font-weight:700}
.price-value span{color:#0a5739}
.price .per{font-size:.9rem;color:var(--muted)}
.price .note{margin:.35rem 0 1rem;color:var(--muted)}


/* ---------- FAQ ---------- */
.faq-section{background: url(assets/images/bg-white-wave.png) #fafffe;border-top: 2px solid #fff;border-bottom: 2px solid #fff;box-shadow: var(--shadow);position: relative;z-index:10;box-shadow: 0px 6px 10px rgba(0,0,0,0.3)}
.faq{background: rgba(255,255,255,0.7);border:1px solid transparent;border-radius:10px;padding:2rem 1rem;margin:.5rem 0;transition:border-color .2s ease, box-shadow .2s ease}
.faq summary{cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}

.faq .faq-a{padding:10px 0 0 20px;margin:0;height:0;overflow:hidden;will-change:height;}
.faq[open]{box-shadow: 0px 0px 5px rgba(0,0,0,0.1);background: rgba(255,255,255,0.7);border-color:#fff}

/* ---------- Final CTA ---------- */
.final-cta{position:relative;min-height:60svh;display:grid;place-items:center;overflow:hidden;padding-bottom:150px}
.final-bg{position:absolute;inset:0}
/* # background:url('assets/IMG_FINAL.webp') center/cover no-repeat */
.final-overlay{position:absolute;inset:0;background:url(assets/images/bg-bright-squares.png) #17513a fixed}
.final-inner{background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  backdrop-filter: blur(6px);position:relative;z-index:1;color:white;margin-top:60px;padding-top:30px;text-align:center}
.final-inner h3{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:.5rem;text-shadow: 1px 1px 2px #083121}
.final-inner p{color:#ffffff;text-shadow: 1px 1px 1px #083121}

/* ---------- Footer ---------- */
.site-footer{color:#9dc8b7;padding:20px 0;background:#33755b;text-shadow: 1px 1px 1px #145139}

/* ---------- Utilities ---------- */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:8px;top:8px;width:auto;height:auto;z-index:1000;background:#111;color:#fff;padding:.5rem .75rem;border-radius:6px}
.noscript{padding:12px;background:#fde68a;border:1px solid #f59e0b;color:#78350f}

/* ---------- FAB ---------- */
.wa-fab{position:fixed;right:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:.5rem;background: var(--main_btn_bg);color:#fff;border-radius:999px;padding:.7rem 1rem;box-shadow:var(--shadow);background-image:url(assets/images/noise.png);
  box-shadow:
    0 1px 0 rgba(6, 77, 49, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 0 0 rgba(0, 0, 0, 0.5) inset,
    0 0.80em 0 rgba(255, 255, 255, 0.25) inset,
    0 -0.80em 1.25em rgba(0, 0, 0, 0.32) inset,
    0 0.80rem 1.25em rgba(255, 255, 255, 0.05) inset,
    0 0.10em 6px rgba(255, 255, 255, .1) inset;
  transition: all 150ms linear 0s;
  margin-bottom:30px;
}
.wa-fab:hover{
  filter:brightness(1.05);
  box-shadow:
    0 1px 0 rgba(6, 77, 49, 0.46),
    /* 0 1px 0 rgba(255, 255, 255, 0.25) inset, */
    0 0 0 rgba(0, 0, 0, 0.5) inset,
    /* 0 -1.10em 0 rgba(255, 255, 255, 0.25) inset, */
    0 1.10em 1.25em rgba(0, 0, 0, 0.32) inset,
    /* 0 -1.10rem 1.25em rgba(255, 255, 255, 0.05) inset, */
    0 -1.10em 6px rgba(255, 255, 255, .1) inset;
}
.wa-fab:focus-visible{outline:2px solid var(--ring);outline-offset:3px}

/* Tabs */
.tabs {margin-top:.75rem}
.tablist {display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.75rem}
.tab {
  appearance:none; border:1px solid #fff; background:var(--card);
  color:var(--text); padding:.5rem .9rem; border-radius:10px; cursor:pointer;
  font-weight:600; box-shadow:var(--shadow); transition:.18s ease;
}
.tab[aria-selected="true"]{outline: 2px solid rgb(50, 157, 115);outline-offset:1px}
.tab:hover { filter:brightness(1.02) }

/* Panels */
 /* плавное появление */
[role="tabpanel"]{transition: opacity .18s ease;}
[role="tabpanel"][hidden]{display:none !important}

/* Gallery grid (адаптив) */
/* #gallery{background:url(assets/images/bg-wood-pattern.png) #b5a280} */
.grid-gallery{display:grid; gap:.5rem;grid-template-columns: repeat(2, minmax(0,1fr));}
.grid-gallery img{width:100%;height:100%;object-fit:cover;border:1px solid var(--borderwhite);border-radius:12px;box-shadow: 0px 3px 5px rgba(0,0,0,0.3);aspect-ratio: 4 / 3;}
.grid-gallery img:hover{cursor:pointer}
@media (min-width:768px){.grid-gallery {grid-template-columns: repeat(4, minmax(0,1fr));}}


/* FOOTER WAVES — базовый */
:root { --sep-h: clamp(48px, 10vw, 120px); }
.row.separator{
  position: relative;
  left:auto; right:auto; top:auto; bottom:auto;
  height: var(--sep-h);
  margin: 0; padding: 0;
  display: block;
  line-height: 0;
  pointer-events: none;
  z-index: 1;                /* ниже .hero-inner (у него z-index:2) */
}
.svg-separator{
  position: absolute;
  inset: 0;                  /* растягиваем по контейнеру */
  width: 100%;
  height: 100%;
  display: block;
  background: transparent;
  transform: none !important;
  -webkit-transform: none !important;
}
.svg-separator.sep3 .wave-top,
.svg-separator.sep3 .wave-mid,
.svg-separator.sep3 .wave-shadow,
.svg-separator.sep3 .wave-base{
  transform: scaleX(5.5);
  transform-origin: left bottom;
}
.sep1, .sep3, .sep10 { transform: none !important; transform-origin: unset;}
.final-cta > .row.separator{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--sep-h);
  z-index: 1;
}
/* ------- Carousel (Reviews) ------- */
:root{
  --crsl-gap: 1rem;
  --crsl-spv: 1;          /* slides per view (mobile) */
}
@media (min-width: 640px){ :root{ --crsl-spv: 2; } }
@media (min-width: 1024px){ :root{ --crsl-spv: 3; } }
.carousel{ position:relative; margin-top:.75rem }
.crsl-viewport{overflow:hidden; outline: none; border-radius: 12px;}
.crsl-track{display:flex;gap: var(--crsl-gap);will-change: transform;transform: translate3d(0,0,0);transition: transform 420ms cubic-bezier(.22,.61,.36,1);padding-block: .25rem;}
@media (prefers-reduced-motion: reduce){.crsl-track{ transition:none !important }}
.crsl-slide{flex: 0 0 calc((100% - (var(--crsl-gap) * (var(--crsl-spv) - 1))) / var(--crsl-spv));min-width: 0;}
.crsl-btn{position:absolute; top:50%; transform:translateY(-50%);display:grid; place-items:center;width:40px; height:40px; border-radius:999px; border:1px solid #c1d7ce;background: rgba(255, 255, 255, 0.9); color:#3a9974; cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);z-index:2;}
.crsl-prev{left: .25rem}
.crsl-next{right: .25rem}
.crsl-btn:hover{background: rgba(255, 255, 255)}
@media (max-width: 640px){.crsl-btn{ width:36px; height:36px }}
.crsl-dots{display:flex; justify-content:center; gap:.5rem; margin-top:.5rem;}
.crsl-dot{appearance:none; width:8px; height:8px; border-radius:999px; border:0;background: rgba(255,255,255,.55);box-shadow: 0 0 0 1px rgba(0,0,0,.25) inset;cursor:pointer;}
.crsl-dot[aria-selected="true"]{width:18px; background:#fff;}
/* Подправим карточки внутри карусели (плотнее) */
.reviews .card.review{padding: .9rem}


