/* v1.2 — standalone navigation, clear first screen, real catalogue imagery. */
.site-navigation {
  position: absolute;
  z-index: 40;
  top: 93px;
  left: max(28px, calc((100vw - 1420px) / 2));
  right: max(28px, calc((100vw - 1420px) / 2));
  display: block;
  padding: 0 15px;
  background: rgba(7, 29, 39, .97);
  color: #fff;
  box-shadow: 0 15px 45px rgba(4, 24, 32, .25);
  border: 1px solid rgba(187, 225, 220, .2);
}
.site-navigation .nav-inner {
  max-width: 1370px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1px;
}
.site-navigation .nav-inner > a,
.site-navigation .nav-parent {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 57px;
  padding: 12px 14px;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
  color: #e9f4f1;
  white-space: nowrap;
  opacity: 1;
}
.site-navigation .nav-inner > a:hover,
.site-navigation .nav-parent:hover,
.site-navigation .nav-group:focus-within > .nav-parent,
.site-navigation .nav-group:hover > .nav-parent {
  color: #b7e8db;
  background: rgba(255, 255, 255, .07);
}
.site-navigation .nav-parent .nav-chevron {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-right: 1.8px solid #99d8cd;
  border-bottom: 1.8px solid #99d8cd;
  transform: translateY(-2px) rotate(45deg);
  margin-left: 2px;
  vertical-align: middle;
}
.site-navigation .nav-group:hover .nav-chevron,
.site-navigation .nav-group:focus-within .nav-chevron { border-color: #fff; }
.site-navigation .nav-group { position: relative; }
.site-navigation .nav-dropdown {
  position: absolute;
  z-index: 60;
  top: calc(100% - 1px);
  left: 0;
  width: max-content;
  min-width: 270px;
  max-width: 350px;
  display: none;
  padding: 13px;
  background: #fff;
  color: #173940;
  box-shadow: 0 20px 55px rgba(7, 32, 40, .22);
  border-top: 3px solid #6eb2a7;
  gap: 3px;
}
.site-navigation .nav-group:hover .nav-dropdown,
.site-navigation .nav-group:focus-within .nav-dropdown { display: grid; }
.site-navigation .nav-dropdown a {
  padding: 11px 14px;
  font-size: 12px;
  font-weight: 700;
  color: #27474c;
  line-height: 1.4;
  white-space: normal;
  opacity: 1;
}
.site-navigation .nav-dropdown a:hover { color: #0c3038; background: #e8f4f0; }
.site-navigation .nav-dropdown .nav-dropdown-all {
  color: #17636b;
  background: #edf6f3;
  margin-top: 6px;
}
.nav-expand { display: none; }
body[data-page="home"] .hero { height: min(820px, 100svh); min-height: 690px; }
body[data-page="home"] .hero-content { padding-top: 165px; }
body[data-page="home"] .catalog-teaser { padding-top: 86px; padding-bottom: 88px; }
body[data-page="home"] .calculator { padding-top: 92px; padding-bottom: 92px; }
.bs-page-hero { padding-top: 225px; }
.bs-page-hero--detail { padding-top: 210px; }
.article-thumb--first:before { background-image: url('../assets/indoor-pool.webp'); }
.article-thumb--second:before { background-image: url('../assets/hero-pool.webp'); }
.article-thumb--third:before { background-image: url('../assets/spa-tub.webp'); }
.bs-static-page { max-width: 950px; }
.bs-static-page p, .bs-static-page li { color: #4a6569; font-size: 16px; line-height: 1.9; }
.bs-static-page li { margin: 7px 0; }
.bs-static-page h2 { font-size: clamp(32px, 4vw, 48px); margin: 25px 0 15px; }
.bs-static-page .btn { margin-top: 25px; }
.bs-contact-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 38px 0; }
.bs-contact-details > div { padding: 22px; background: #e8f1ee; }
.bs-contact-details small { display: block; font-size: 10px; font-weight: 800; letter-spacing: .14em; color: #577d82; margin-bottom: 8px; }
.bs-contact-details a, .bs-contact-details strong { display: block; font-size: clamp(15px, 1.8vw, 23px); color: #153c44; font-weight: 750; }
.bs-listing .bs-editorial-card img { object-fit: contain; background: #edf3f2; padding: 13px; }
.bs-crumbs { display:flex;align-items:center;gap:11px;flex-wrap:wrap;color:#71898c;font-size:12px;font-weight:700;margin:-24px 0 42px; }
.bs-crumbs a { color:#2b646a;text-decoration:none; }
.bs-crumbs a:hover { text-decoration:underline; }
.bs-section-top { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:32px;align-items:end;margin:0 0 28px; }
.bs-section-top--models { margin:78px 0 27px; }
.bs-section-top h2 { color:#153840;font-size:clamp(29px,3.2vw,45px);font-weight:750;line-height:1.16;letter-spacing:-.035em;margin:10px 0 0; }
.bs-section-top p { font-size:15px;color:#587178;line-height:1.7;max-width:430px;margin:0 0 3px; }
.bs-section-kicker { display:block;font-size:10px;font-weight:850;letter-spacing:.17em;color:#43867d; }
.bs-category-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.bs-category-card { display:block;text-decoration:none!important;color:#183c43!important;border:1px solid #d9e6e3;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s; }
.bs-category-card:hover { transform:translateY(-4px);border-color:#82aaa3;box-shadow:0 18px 40px #133c4720; }
.bs-category-photo { width:100%;aspect-ratio:1.57;position:relative;overflow:hidden;background:#e0eeea; }
.bs-category-photo img { width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s; }
.bs-category-card:hover img { transform:scale(1.045); }
.bs-category-photo:after { content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0a303c88);pointer-events:none; }
.bs-category-photo>span { position:absolute;left:20px;bottom:17px;z-index:1;font-size:10px;color:#fff;font-weight:850;letter-spacing:.18em; }
.bs-category-copy { display:flex;gap:12px;justify-content:space-between;align-items:center;padding:22px 20px 23px;min-height:141px; }
.bs-category-copy h3 { color:#163942;font-size:19px;line-height:1.3;margin:0 0 9px;font-weight:800; }
.bs-category-copy p { color:#617a7f;font-size:13px;line-height:1.55;margin:0; }
.bs-category-arrow { border:1px solid #c6ddd8;border-radius:50%;display:grid;place-items:center;width:38px;height:38px;min-width:38px;color:#15515a;font-size:20px; }
.bs-category-card:hover .bs-category-arrow { background:#145260;color:white; }
.bs-empty-panel { margin:0 0 33px;padding:32px 38px;background:#edf5f1;border-left:3px solid #79afa5; }
.bs-empty-panel h3 { font-size:24px;margin:0 0 10px;color:#183f47; }
.bs-empty-panel p { max-width:740px;line-height:1.7;color:#536e72; }
.bs-category-text-link { font-weight:800;color:#15565c;text-decoration:underline;text-underline-offset:5px; }
.bs-contact-socials { display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px; }
.bs-contact-socials a { display:inline-flex;min-height:46px;align-items:center;background:#e8f2ee;color:#145760;font-weight:750;padding:10px 16px;text-decoration:none; }
.floating-actions .float-symbol { font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center; }
.floating-actions .float-btn { display:flex;align-items:center;justify-content:center;gap:5px; }
@media (max-width: 1140px) {
  .site-navigation { left: 18px; right: 18px; padding: 0 5px; }
  .site-navigation .nav-inner > a, .site-navigation .nav-parent { padding-inline: 9px; font-size: 11px; }
}
@media (max-width: 900px) {
  .bs-category-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }
  .site-navigation { display: none; position: absolute; top: 75px; left: 15px; right: 15px; padding: 10px 17px; max-height: calc(100svh - 90px); overflow-y: auto; }
  .header.nav-open ~ .site-navigation { display: block; }
  .site-navigation .nav-inner { flex-direction: column; align-items: stretch; gap: 0; }
  .site-navigation .nav-inner > a, .site-navigation .nav-parent { min-height: 45px; width: auto; padding: 11px 9px; font-size: 14px; }
  .site-navigation .nav-group { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border-bottom: 1px solid #ffffff19; }
  .site-navigation .nav-group .nav-dropdown { display: none; position: static; width: 100%; min-width: 0; max-width: 100%; padding: 4px 8px 10px; box-shadow: none; border-top: none; background: #113a45; color: #fff; }
  .site-navigation .nav-group.nav-group--open .nav-dropdown { display: grid; }
  .site-navigation .nav-dropdown a { color: #e3f1ed; padding: 11px 14px; }
  .site-navigation .nav-dropdown a:hover { color: #16323a; }
  .site-navigation .nav-dropdown .nav-dropdown-all { color: #bce7d8; background: #1c5260; }
  .site-navigation .nav-expand { display: grid; place-items: center; border: 1px solid #ffffff45; border-radius: 0; background: transparent; color: #fff; height: 30px; width: 33px; margin-right: 8px; font-size: 20px; }
  .header { z-index: 42; }
  body[data-page="home"] .hero-content { padding-top: 90px; }
  .bs-page-hero, .bs-page-hero--detail { padding-top: 125px; }
}
@media (max-width: 650px) {
  .bs-category-grid { grid-template-columns:1fr; }
  .bs-category-photo { aspect-ratio:1.85; }
  .bs-category-copy { min-height:auto;padding:18px; }
  .bs-section-top { grid-template-columns:1fr;gap:12px; }
  .bs-section-top--models { margin-top:58px; }
  .bs-empty-panel { padding:22px; }
  body[data-page="home"] .hero { min-height: 670px; height: 88svh; }
  body[data-page="home"] .catalog-teaser { padding: 62px 0 65px; }
  body[data-page="home"] .calculator { padding: 67px 0; }
  .bs-contact-details { grid-template-columns: 1fr; }
}

/* v1.4 — compact centred navigation, six solutions, engineering catalogue, footer. */
@media (min-width: 901px) {
  .site-navigation {
    top: 96px;
    left: 50%;
    right: auto;
    width: min(1380px, calc(100% - 50px));
    transform: translateX(-50%);
    padding: 0 12px;
    border-top-color: rgba(164,211,203,.55);
  }
  .site-navigation .nav-inner { max-width: 100%; justify-content: space-between; }
  .site-navigation .nav-inner > a,
  .site-navigation .nav-parent { min-height: 49px; padding: 10px 12px; font-size: 11.5px; gap: 8px; }
  .bs-page-hero { padding-top: 205px; }
  .bs-page-hero--detail { padding-top: 198px; }
}
@media (min-width:901px) and (max-width:1190px) {
  .site-navigation .nav-inner > a,
  .site-navigation .nav-parent { font-size: 10.5px; padding: 9px 8px; }
}

body[data-page="home"] .solutions { background: #f4f6f3; }
body[data-page="home"] .solutions.section-pad { padding-top: 92px; padding-bottom: 95px; }
.solutions .solution-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.solutions .solution-grid .solution-card { min-height: 330px; height: 330px; grid-column: auto; }
.solutions .solution-card__top { top: 22px; left: 24px; font-size: 9px; letter-spacing: .17em; }
.solutions .solution-card__bottom { left: 24px; right: 24px; bottom: 23px; gap: 12px; }
.solutions .solution-card h3 { font-family: var(--serif); font-size: clamp(30px,2.8vw,41px); line-height: 1.06; margin-bottom: 9px; }
.solutions .solution-card p { font-size: 12px; line-height: 1.55; max-width: 285px; }
.solutions .solution-card__cover { background: linear-gradient(0deg,rgba(3,18,25,.87) 0%,rgba(3,18,25,.12) 64%),linear-gradient(180deg,rgba(3,18,25,.45),transparent 40%); }

.bs-benefits { background:#fff; }
.bs-benefits-head { max-width: 780px; margin: 0 0 42px; }
.bs-benefits-head h2 { font-family:var(--serif);font-size:clamp(42px,5vw,65px);font-weight:500;line-height:1.03;letter-spacing:-.03em;margin:15px 0 17px; }
.bs-benefits-head h2 em { color:#4b8d88; }
.bs-benefits-head p { margin:0;max-width:610px;color:#677a7c;line-height:1.7; }
.bs-benefits-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d9e4e0;border:1px solid #d9e4e0; }
.bs-benefit { background:#fafcfb;padding:35px 32px 33px;min-height:242px;transition:background .2s; }
.bs-benefit:hover { background:#eff7f4; }
.bs-benefit-icon { display:grid;place-items:center;width:54px;height:54px;background:#e1efeb;color:#236b68;border-radius:13px;margin-bottom:23px; }
.bs-benefit-icon svg { width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.bs-benefit h3 { font-size:18px;font-weight:800;color:#163b43;margin:0 0 9px;line-height:1.3; }
.bs-benefit p { font-size:13px;color:#607579;line-height:1.7;margin:0; }
.bs-benefits-footer { display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:30px;color:#567378;font-size:13px; }

.bs-equipment-overview { display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;margin:0 0 35px;padding:38px 43px;background:#0c323d;color:#fff; }
.bs-equipment-overview span { display:block;color:#8cd7cb;font-size:10px;letter-spacing:.19em;font-weight:800;margin-bottom:13px; }
.bs-equipment-overview h2 { font-family:var(--serif);font-weight:500;letter-spacing:-.03em;line-height:1.05;font-size:clamp(30px,3.7vw,48px);margin:0; }
.bs-equipment-overview p { color:#c6d6d6;font-size:14px;line-height:1.8;margin:0; }
.bs-equipment-overview--services { background:#e9f2ef;color:#123b44; }
.bs-equipment-overview--services p { color:#536e72; }
.bs-equipment-overview--services span { color:#286f67; }
.bs-equipment-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.bs-equipment-card { overflow:hidden;border:1px solid #dce6e3;background:#fff;transition:transform .2s,border-color .2s,box-shadow .2s; }
.bs-equipment-card:hover { transform:translateY(-3px);border-color:#9ac8bd;box-shadow:0 14px 33px #133c4717; }
.bs-equipment-link { display:block;height:100%;color:inherit;text-decoration:none; }
.bs-equipment-image { position:relative;aspect-ratio:1.55;background:#e8f2ef;overflow:hidden; }
.bs-equipment-image img { width:100%;height:100%;object-fit:contain;padding:17px;transition:transform .25s; }
.bs-equipment-card:hover .bs-equipment-image img { transform:scale(1.05); }
.bs-equipment-index { position:absolute;left:14px;top:14px;background:#0d3f49;color:#fff;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.1em; }
.bs-equipment-placeholder { display:grid;place-items:center;height:100%;font-size:11px;font-weight:750;letter-spacing:.1em;color:#436d72; }
.bs-equipment-info { padding:22px 20px 24px;display:flex;flex-direction:column;min-height:242px; }
.bs-equipment-info small { font-size:9px;font-weight:800;letter-spacing:.13em;color:#54877e; }
.bs-equipment-info h2 { font-size:18px;line-height:1.26;color:#153c44;font-family:var(--sans);font-weight:800;margin:10px 0 8px; }
.bs-equipment-info p { display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#60787a;font-size:12px;line-height:1.65;margin:0 0 15px; }
.bs-equipment-more { margin-top:auto;font-size:11px;font-weight:800;color:#195d5f;display:flex;justify-content:space-between;gap:10px;align-items:center; }
.bs-equipment-more b { font-size:18px; }
.bs-section-description { margin:-10px 0 40px;padding:25px 30px;border-left:3px solid #78a99f;background:#eff5f2;color:#456367;line-height:1.85; }
.bs-section-description>*:first-child { margin-top:0; }
.bs-section-description>*:last-child { margin-bottom:0; }

.bs-footer { padding:76px 0 25px;background:radial-gradient(ellipse at 15% 0,#133b42 0,#091e27 58%); }
.bs-footer-main { display:grid;grid-template-columns:minmax(250px,1.55fr) minmax(140px,.95fr) minmax(140px,.95fr) minmax(120px,.8fr) minmax(170px,1.1fr);gap:38px;padding-bottom:63px; }
.bs-footer-about .brand { display:inline-flex;margin-bottom:23px; }
.bs-footer-about>p { max-width:300px;font-size:13px;line-height:1.82;color:#a4bbc0;margin:0 0 29px; }
.bs-footer-cta { display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #5f9995;padding:12px 16px;color:#d3f0e9;font-size:12px;font-weight:750; }
.bs-footer-cta span { font-size:17px; }
.bs-footer h3 { margin:4px 0 24px;font-size:13px;font-weight:800;color:#f3faf8; }
.bs-footer-column a, .bs-footer-contact>a { display:block;width:max-content;max-width:100%;font-size:12px;line-height:1.5;color:#adbec2;margin:0 0 15px;text-decoration:none;transition:color .15s; }
.bs-footer-column a:hover,.bs-footer-contact a:hover { color:#91dcc9; }
.bs-footer-contact p { font-size:12px;color:#adbec2;line-height:1.7;margin:0 0 12px; }
.bs-footer-contact .bs-footer-phone { color:#fff;font-size:16px;font-weight:800;margin-bottom:8px;white-space:nowrap; }
.bs-footer-social { display:flex;gap:8px;flex-wrap:wrap;margin-top:20px; }
.bs-footer-social a { border:1px solid #487079;padding:6px 9px;border-radius:4px;color:#c0e5df;font-size:10px; }
.bs-footer-bottom { display:flex;justify-content:space-between;gap:22px;align-items:center;border-top:1px solid #325059;padding-top:26px;font-size:11px;color:#8ca8ae;flex-wrap:wrap; }
.bs-footer-bottom a { color:#99b7b8;text-decoration:none; }
.bs-footer-bottom a:hover { color:#fff; }
.bs-footer-bottom strong { color:#b5e4dc; }

.floating-actions { right:19px;bottom:25px;gap:9px; }
.floating-actions .float-btn { width:172px;height:39px;padding:0 11px;border-radius:10px;display:flex;align-items:center;justify-content:flex-start;gap:9px;box-shadow:0 7px 22px #041b2730;font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap; }
.floating-actions .float-btn--telegram { background:#28a6e0; }
.floating-actions .float-btn--max { background:#6a42ed; }
.floating-actions .float-btn:hover { filter:brightness(1.08);transform:translateY(-1px); }
.floating-actions .float-btn .bs-float-icon { display:block;width:19px;height:19px;min-width:19px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.floating-actions .float-btn .bs-float-label { display:inline;position:static;transform:none;opacity:1;background:none;padding:0;font-size:11px;pointer-events:auto;color:#fff;white-space:nowrap; }

@media (max-width:1200px) {
  .bs-footer-main { grid-template-columns:1.4fr repeat(3,1fr);gap:32px; }
  .bs-footer-contact { grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 25px; }
  .bs-footer-contact h3, .bs-footer-social { grid-column:1/-1; }
  .bs-equipment-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .site-navigation { transform:none;width:auto; }
  .solutions .solution-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solutions .solution-grid .solution-card { height:310px;min-height:310px; }
  .bs-benefits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bs-equipment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bs-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bs-footer-about { grid-column:1/-1; }
  .bs-footer-contact { grid-column:auto;display:block; }
}
@media (max-width:620px) {
  .solutions .solution-grid { grid-template-columns:1fr;gap:12px; }
  .solutions .solution-grid .solution-card { height:290px;min-height:290px; }
  body[data-page="home"] .solutions.section-pad { padding:67px 0; }
  .bs-benefits-grid { grid-template-columns:1fr; }
  .bs-benefit { min-height:0;padding:27px 25px; }
  .bs-benefits-footer { align-items:flex-start;flex-direction:column; }
  .bs-equipment-overview { grid-template-columns:1fr;padding:25px;gap:15px; }
  .bs-equipment-grid { grid-template-columns:1fr; }
  .bs-equipment-image { aspect-ratio:1.8; }
  .bs-equipment-info { min-height:0; }
  .bs-footer { padding-top:59px; }
  .bs-footer-main { gap:24px 18px; }
  .bs-footer-contact { grid-column:1/-1; }
  .bs-footer-column a { font-size:11px; }
  .bs-footer-bottom { flex-direction:column;align-items:flex-start;gap:13px; }
  .floating-actions { right:10px;bottom:16px; }
  .floating-actions .float-btn { width:158px;height:38px;font-size:10px;padding:0 9px; }
  .floating-actions .float-btn .bs-float-label { font-size:10px; }
}

/* v1.4.1 — one discreet divider exactly through the menu's centre.
   The previous header border and navigation's upper border visually doubled. */
@media (min-width:901px) {
  .header { border-bottom-color: transparent; }
  body::before {
    content: '';
    position: absolute;
    z-index: 28;
    left: 0;
    right: 0;
    top: 121px;
    border-top: 1px solid rgba(169, 208, 203, .24);
    pointer-events: none;
  }
  .site-navigation {
    border: 1px solid rgba(169, 208, 203, .15);
    border-top-color: rgba(169, 208, 203, .08);
    box-shadow: 0 12px 27px rgba(4, 24, 32, .18);
  }
}
