:root {
      --ab-blue: #1b5fa8;
      --ab-blue-dark: #123f72;
      --ab-blue-light: #e8f0fa;
      --ab-green: #3fa67a;
      --ab-green-dark: #257452;
      --ab-green-light: #e5f5ed;
      --ab-rose: #d9607a;
      --ab-rose-dark: #ad3f58;
      --ab-rose-light: #fde9ef;
      --ab-orange: #ef8d2f;
      --ab-orange-dark: #c56c17;
      --ab-orange-light: #fff1df;
      --ab-cyan: #1ca6a5;
      --ab-cyan-dark: #0e7778;
      --ab-cyan-light: #e2f6f5;
      --ab-violet: #8b67b6;
      --ab-violet-dark: #67468e;
      --ab-violet-light: #f0eafb;
      --ab-bg: #f6f8fb;
      --ab-text: #1c2a3a;
      --ab-muted: #657489;
      --ab-border: #dfe6ef;
      --ab-white: #fff;
      --radius: 14px;
      --radius-sm: 9px;
      --shadow: 0 12px 36px rgba(24, 69, 112, .10);
      --shadow-md: 0 18px 50px rgba(24, 69, 112, .16);
      --font: 'Geologica', sans-serif;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    html,
    body { overflow-x: clip; }
    body {
      margin: 0;
      font-family: var(--font);
      color: var(--ab-text);
      background: #fff;
      font-size: 16px;
      line-height: 1.6;
    }
    h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.2; }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    .section { padding: 5rem 0; }
    .section-soft { background: var(--ab-bg); }
    .section-label {
      display: inline-block;
      margin-bottom: .55rem;
      color: var(--ab-blue);
      font-size: .76rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .section-title {
      margin-bottom: .8rem;
      font-size: clamp(1.7rem, 3vw, 2.35rem);
    }
    .section-lead {
      max-width: 680px;
      margin: 0;
      color: var(--ab-muted);
      font-size: 1rem;
    }

    .btn-ab {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .45rem;
      min-height: 44px;
      padding: .68rem 1.25rem;
      border: 1px solid transparent;
      border-radius: var(--radius-sm);
      font-size: .9rem;
      font-weight: 700;
      transition: transform .18s, background .18s, color .18s, border-color .18s;
    }
    .btn-ab:hover { transform: translateY(-1px); }
    .btn-primary-ab { background: var(--ab-blue); color: #fff; }
    .btn-primary-ab:hover { background: var(--ab-blue-dark); color: #fff; }
    .btn-primary {
      --bs-btn-color: #fff;
      --bs-btn-bg: var(--ab-blue);
      --bs-btn-border-color: var(--ab-blue);
      --bs-btn-hover-color: #fff;
      --bs-btn-hover-bg: var(--ab-blue-dark);
      --bs-btn-hover-border-color: var(--ab-blue-dark);
      --bs-btn-focus-shadow-rgb: 27, 95, 168;
      --bs-btn-active-color: #fff;
      --bs-btn-active-bg: var(--ab-blue-dark);
      --bs-btn-active-border-color: var(--ab-blue-dark);
      --bs-btn-disabled-color: #fff;
      --bs-btn-disabled-bg: var(--ab-blue);
      --bs-btn-disabled-border-color: var(--ab-blue);
    }
    .btn-outline-primary {
      --bs-btn-color: var(--ab-blue);
      --bs-btn-border-color: var(--ab-blue);
      --bs-btn-hover-color: #fff;
      --bs-btn-hover-bg: var(--ab-blue);
      --bs-btn-hover-border-color: var(--ab-blue);
      --bs-btn-focus-shadow-rgb: 27, 95, 168;
      --bs-btn-active-color: #fff;
      --bs-btn-active-bg: var(--ab-blue-dark);
      --bs-btn-active-border-color: var(--ab-blue-dark);
      --bs-btn-disabled-color: var(--ab-blue);
      --bs-btn-disabled-bg: transparent;
      --bs-btn-disabled-border-color: var(--ab-blue);
    }
    .btn-white-ab { background: #fff; color: var(--ab-blue); }
    .btn-white-ab:hover { background: var(--ab-blue-light); color: var(--ab-blue-dark); }
    .btn-outline-white-ab { border-color: rgba(255,255,255,.42); color: #fff; background: transparent; }
    .btn-outline-white-ab:hover { background: rgba(255,255,255,.12); color: #fff; }
    .btn-outline-ab { border-color: var(--ab-blue); color: var(--ab-blue); background: transparent; }
    .btn-outline-ab:hover { background: var(--ab-blue); color: #fff; }

    /* TOPBAR */
    .topbar {
      background: var(--ab-blue);
      color: rgba(255,255,255,.86);
      padding: .42rem 0;
      font-size: .8rem;
    }
    .topbar a { color: rgba(255,255,255,.86); }
    .topbar a:hover { color: #fff; }
    .topbar-item { display: inline-flex; align-items: center; gap: .35rem; }
    .topbar-address-short { display: none; }
    .topbar svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

    /* HEADER */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 1040;
      background: rgba(255,255,255,.97);
      border-bottom: 1px solid var(--ab-border);
      box-shadow: 0 3px 16px rgba(20, 66, 110, .07);
      backdrop-filter: blur(12px);
    }
    .navbar { min-height: 76px; }
    .brand {
      display: flex;
      align-items: center;
      gap: .68rem;
      min-width: 190px;
    }
    .brand-mark {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      color: #fff;
      border-radius: 13px;
      background: linear-gradient(145deg, var(--ab-blue), #3280cf);
      box-shadow: 0 8px 20px rgba(27,95,168,.20);
      flex: 0 0 auto;
    }
    .brand-mark svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .brand-title { display: block; color: var(--ab-blue); font-size: 1.25rem; font-weight: 800; line-height: 1; }
    .brand-subtitle { display: block; margin-top: .18rem; color: var(--ab-muted); font-size: .66rem; line-height: 1.2; }

    .nav-main .nav-link {
      display: flex;
      align-items: center;
      gap: .25rem;
      padding: .55rem .62rem !important;
      border-radius: 8px;
      color: var(--ab-text);
      font-size: .84rem;
      font-weight: 600;
      transition: background .15s, color .15s;
    }
    .nav-main .nav-link:hover,
    .nav-main .nav-link.show,
    .nav-main .nav-link.active { color: var(--ab-blue); background: var(--ab-blue-light); }
    .nav-main .dropdown-toggle::after { margin-left: .18rem; font-size: .72rem; }

    .dropdown-menu {
      min-width: 270px;
      padding: .55rem;
      border: 1px solid var(--ab-border);
      border-radius: 12px;
      box-shadow: var(--shadow);
    }
    .dropdown-item {
      padding: .65rem .72rem;
      border-radius: 8px;
      color: var(--ab-text);
      font-size: .86rem;
      font-weight: 500;
      white-space: normal;
    }
    .dropdown-item:hover { background: var(--ab-bg); color: var(--ab-blue); }
    .dropdown-title {
      padding: .35rem .72rem .5rem;
      color: var(--ab-muted);
      font-size: .7rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .direction-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
    .dot-med { background: var(--ab-cyan); }
    .dot-development { background: var(--ab-rose); }
    .dot-swim { background: var(--ab-blue); }
    .dot-wellness { background: var(--ab-orange); }
    .dot-dental { background: var(--ab-violet); }

    .header-actions { display: flex; align-items: center; gap: .65rem; }
    .header-phone { white-space: nowrap; }
    .header-phone strong { display: block; font-size: .92rem; line-height: 1.15; }
    .header-phone small { display: block; margin-top: .18rem; color: var(--ab-muted); font-size: .66rem; }
    .navbar-toggler { border: 0; box-shadow: none !important; }
    .navbar-toggler-icon {
      background-image:
        linear-gradient(var(--ab-blue), var(--ab-blue)),
        linear-gradient(var(--ab-blue), var(--ab-blue)),
        linear-gradient(var(--ab-blue), var(--ab-blue));
      background-repeat: no-repeat;
      background-position: center 4px, center 11px, center 18px;
      background-size: 24px 2px;
    }
    .main-nav-desktop { flex: 1 1 auto; min-width: 0; }
    .main-nav-desktop .main-nav-content {
      display: flex;
      align-items: center;
      width: 100%;
    }
    .main-nav-offcanvas {
      --bs-offcanvas-width: min(360px, 88vw);
      --bs-offcanvas-zindex: 1070;
    }
    .main-nav-offcanvas .offcanvas-body { padding: 0 1rem 1.25rem; }
    .main-nav-offcanvas .main-nav-content { display: block; }
    .main-nav-offcanvas .offcanvas-title { color: var(--ab-blue); font-weight: 800; }

    @media (min-width: 1200px) {
      .nav-main .dropdown:hover > .dropdown-menu,
      .nav-main .dropdown:focus-within > .dropdown-menu {
        display: block;
        margin-top: 0;
      }
    }

    /* SLIDER */
    .home-slider { position: relative; overflow: hidden; background: var(--ab-blue-dark); }
    .home-slider .carousel-item { min-height: 590px; }
    .home-slider.is-compact .carousel-item { min-height: 320px; }
    .hero-slide {
      min-height: inherit;
      position: relative;
      display: flex;
      align-items: center;
      color: #fff;
      background-size: cover;
      background-position: center;
      isolation: isolate;
    }
    .hero-slide::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -2;
      background: linear-gradient(90deg, rgba(10,45,80,.96) 0%, rgba(22,81,140,.88) 52%, rgba(22,81,140,.30) 100%);
    }
    .hero-slide::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .32;
      background:
        radial-gradient(circle at 83% 26%, rgba(255,255,255,.34), transparent 18%),
        linear-gradient(115deg, transparent 0 64%, rgba(255,255,255,.08) 64% 65%, transparent 65% 100%);
    }
    .hero-content { max-width: 680px; padding: 5.5rem 0 6rem; }
    .hero-content--wide { max-width: none; }
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: .42rem;
      margin-bottom: 1rem;
      padding: .34rem .88rem;
      border: 1px solid rgba(255,255,255,.28);
      border-radius: 50px;
      background: rgba(255,255,255,.13);
      backdrop-filter: blur(5px);
      font-size: .76rem;
      font-weight: 700;
      letter-spacing: .05em;
    }
    .hero-content .hero-title {
      max-width: 780px;
      margin-bottom: 1.15rem;
      font-size: clamp(2.25rem, 5vw, 4.35rem);
      letter-spacing: -.035em;
    }
    .hero-content .hero-title span { color: #9de4c3; }
    .hero-content p {
      max-width: 630px;
      margin-bottom: 1.8rem;
      color: rgba(255,255,255,.88);
      font-size: 1.08rem;
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
    .hero-points { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2.2rem; }
    .hero-content--wide .hero-points { width: 100%; justify-content: flex-start; }
    .hero-point { display: flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.82); font-size: .84rem; font-weight: 600; }
    .hero-point span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.14); }
    .hero-point svg { width: 13px; height: 13px; fill: none; stroke: #fff; stroke-width: 2.5; }
    .carousel-indicators { margin-bottom: 2rem; justify-content: flex-start; left: calc((100% - 1320px)/2); right: auto; }
    .carousel-indicators [data-bs-target] { width: 30px; height: 3px; border: 0; border-radius: 50px; }
    .carousel-control-prev, .carousel-control-next { width: 5%; }

    /* QUICK DIRECTIONS */
    .direction-bar-wrap { position: relative; z-index: 5; margin-top: -34px; }
    main > .direction-bar-wrap:first-child { margin-top: 0; padding-top: 2rem; }
    .direction-bar {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.9);
      border-radius: 16px;
      background: #fff;
      box-shadow: var(--shadow-md);
    }
    .direction-bar-item {
      position: relative;
      min-height: 92px;
      padding: 1rem .9rem;
      display: flex;
      align-items: center;
      gap: .75rem;
      border-right: 1px solid var(--ab-border);
      transition: transform .18s, background .18s;
    }
    .direction-bar-item:last-child { border-right: 0; }
    .direction-bar-item:hover { background: var(--ab-bg); }
    .direction-bar-icon {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      border-radius: 11px;
    }
    .direction-bar-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    .direction-bar-item strong { display: block; font-size: .84rem; line-height: 1.25; }
    .direction-bar-item small { display: block; margin-top: .2rem; color: var(--ab-muted); font-size: .68rem; }
    .dir-med .direction-bar-icon { background: var(--ab-cyan-light); color: var(--ab-cyan); }
    .dir-development .direction-bar-icon { background: var(--ab-rose-light); color: var(--ab-rose); }
    .dir-swim .direction-bar-icon { background: var(--ab-blue-light); color: var(--ab-blue); }
    .dir-wellness .direction-bar-icon { background: var(--ab-orange-light); color: var(--ab-orange); }
    .dir-dental .direction-bar-icon { background: var(--ab-violet-light); color: var(--ab-violet); }

    /* DIRECTION CARDS */
    .directions-grid {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 1rem;
      margin-top: 2rem;
    }
    .direction-card {
      position: relative;
      min-height: 335px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      overflow: hidden;
      padding: 1.7rem;
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 18px;
      background: linear-gradient(145deg, var(--card-bright), var(--card-dark));
      color: #fff;
      box-shadow: 0 14px 32px color-mix(in srgb, var(--card) 22%, transparent);
      transition: transform .2s, box-shadow .2s, border-color .2s;
    }
    .direction-card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px color-mix(in srgb, var(--card) 34%, transparent); }
    .direction-card::after {
      content: '';
      position: absolute;
      right: -80px;
      bottom: -110px;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      background: rgba(255,255,255,.12);
      opacity: 1;
      pointer-events: none;
    }
    .direction-card.large { grid-column: span 6; }
    .direction-card.small { grid-column: span 4; min-height: 300px; }
    .direction-card.medical { --card: var(--ab-cyan); --card-bright: #25b8b5; --card-dark: #087677; }
    .direction-card.development { --card: var(--ab-rose); --card-bright: #df7088; --card-dark: #a83b55; }
    .direction-card.swim { --card: var(--ab-blue); --card-bright: #337fc8; --card-dark: #164f8d; }
    .direction-card.wellness { --card: var(--ab-orange); --card-bright: #f29a45; --card-dark: #c26915; }
    .direction-card.dental { --card: var(--ab-violet); --card-bright: #9877c1; --card-dark: #644489; }
    .direction-card:hover { border-color: rgba(255,255,255,.48); }
    .direction-kicker { color: rgba(255,255,255,.78); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
    .direction-card h3 { max-width: 520px; margin: .5rem 0 .65rem; font-size: clamp(1.35rem, 2.3vw, 2rem); }
    .direction-card p { max-width: 510px; margin-bottom: 1rem; color: rgba(255,255,255,.88); font-size: .92rem; }
    .direction-links {
      position: relative;
      z-index: 2;
      display: flex;
      flex-wrap: wrap;
      gap: .45rem;
      max-width: 520px;
    }
    .direction-links a {
      padding: .36rem .65rem;
      border: 1px solid rgba(255,255,255,.28);
      border-radius: 50px;
      background: rgba(255,255,255,.13);
      color: #fff;
      font-size: .76rem;
      font-weight: 650;
      backdrop-filter: blur(5px);
      transition: background .18s, border-color .18s, transform .18s;
    }
    .direction-links a:hover { background: rgba(255,255,255,.24); border-color: rgba(255,255,255,.5); transform: translateY(-1px); }
    .direction-main-link {
      position: static;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      color: #fff;
      font-size: .86rem;
      font-weight: 800;
      margin-top: auto;
      padding-top: 1rem;
    }
    .direction-main-link::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
    }
    .direction-main-link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
    .direction-illustration {
      position: absolute;
      right: 1.2rem;
      bottom: .8rem;
      z-index: 1;
      width: 140px;
      height: 140px;
      display: grid;
      place-items: center;
      color: #fff;
      opacity: .34;
    }
    .direction-illustration svg { width: 106px; height: 106px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }


    /* ABOUT */
    .about-panel {
      overflow: hidden;
      border: 1px solid var(--ab-border);
      border-radius: 20px;
      background: #fff;
      box-shadow: var(--shadow);
    }
    .about-visual {
      min-height: 430px;
      background:
        linear-gradient(180deg, rgba(14,55,96,.05), rgba(14,55,96,.55)),
        url('/storage/app/uploads/public/67c/991/706/67c991706b551568466185.jpg') center 42%/cover;
    }
    .about-content { padding: 3rem; }
    .about-content p { color: var(--ab-muted); }
    .stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin-top: 1.5rem; }
    .stat-card { padding: 1rem; border-radius: 12px; background: var(--ab-bg); }
    .stat-card strong { display: block; color: var(--ab-blue); font-size: 1.55rem; line-height: 1.1; }
    .stat-card span { display: block; margin-top: .25rem; color: var(--ab-muted); font-size: .76rem; }


    /* SERVICES CAROUSEL */
    .services-carousel-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 1.5rem;
    }
    .service-slider-controls { display: flex; gap: .55rem; }
    .service-slider-control {
      width: 43px;
      height: 43px;
      display: grid;
      place-items: center;
      border: 1px solid var(--ab-border);
      border-radius: 10px;
      background: #fff;
      color: var(--ab-blue);
      transition: background .18s, color .18s, border-color .18s, transform .18s;
    }
    .service-slider-control:hover { background: var(--ab-blue); border-color: var(--ab-blue); color: #fff; transform: translateY(-1px); }
    .service-slider-control svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .services-carousel .services-carousel-head .splide__arrow {
      position: static;
      transform: none;
      opacity: 1;
    }
    .services-carousel .services-carousel-head .splide__arrow:hover { transform: translateY(-1px); }
    .services-carousel .services-carousel-head .splide__arrow i { font-size: 1rem; line-height: 1; }
    .services-carousel .splide__track { padding-bottom: .25rem; }
    .service-slide-card {
      --service-color: var(--ab-blue);
      --service-soft: var(--ab-blue-light);
      min-height: 310px;
      height: 100%;
      display: flex;
      flex-direction: column;
      padding: 1.45rem;
      border: 1px solid var(--ab-border);
      border-radius: 16px;
      background: #fff;
      transition: transform .2s, box-shadow .2s, border-color .2s;
    }
    .service-slide-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--service-color) 38%, white); }
    .service-med { --service-color: var(--ab-cyan); --service-soft: var(--ab-cyan-light); }
    .service-development { --service-color: var(--ab-rose); --service-soft: var(--ab-rose-light); }
    .service-swim { --service-color: var(--ab-blue); --service-soft: var(--ab-blue-light); }
    .service-wellness { --service-color: var(--ab-orange); --service-soft: var(--ab-orange-light); }
    .service-dental { --service-color: var(--ab-violet); --service-soft: var(--ab-violet-light); }
    .service-slide-icon {
      width: 50px;
      height: 50px;
      display: grid;
      place-items: center;
      margin-bottom: 1rem;
      border-radius: 13px;
      background: var(--service-soft);
      color: var(--service-color);
    }
    .service-slide-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .service-slide-icon i { font-size: 1.45rem; line-height: 1; }
    .service-slide-direction { color: var(--service-color); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
    .service-slide-card h3 { margin: .45rem 0 .55rem; font-size: 1.12rem; }
    .service-slide-card p { margin: 0; color: var(--ab-muted); font-size: .86rem; }
    .service-slide-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; padding-top: 1rem; color: var(--service-color); font-size: .83rem; font-weight: 800; }
    .service-slide-link svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; }

    /* CTA */
    .cta-section {
      position: relative;
      overflow: hidden;
      color: #fff;
      background: linear-gradient(135deg, #123f72 0%, var(--ab-blue) 58%, #2b86ca 100%);
    }
    .cta-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 85% 20%, rgba(255,255,255,.18), transparent 25%);
      pointer-events: none;
    }
    .cta-copy h2 { font-size: clamp(1.8rem, 3.5vw, 2.7rem); }
    .cta-copy p { max-width: 560px; color: rgba(255,255,255,.8); }

    /* SHARED SECTION FORMS */
    .section-form-band {
      --form-band-color: var(--ab-blue);
      --form-band-dark: var(--ab-blue-dark);
      position: relative;
      width: 100%;
      margin: 0;
      overflow: hidden;
      color: #fff;
      background-color: var(--form-band-dark);
      background-image: radial-gradient(circle at 85% 20%, rgba(255,255,255,.18), transparent 25%), linear-gradient(135deg, #123f72 0%, var(--ab-blue) 58%, #2b86ca 100%);
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }
    .page-body > .section-form-band {
      width: 100vw;
      margin-top: clamp(3rem, 6vw, 5.5rem);
      margin-bottom: clamp(3rem, 6vw, 5.5rem);
      margin-left: calc(50% - 50vw);
    }
    .page-body > .section-form-band:last-child { margin-bottom: 0; }
    .page-body > :is(.medicine-content-section--closing, .pool-closing) + .section-form-band { margin-top: 0; }
    .section-form-band--pool {
      background-image:
        url('../img/bg-primary-feedback-start.png'),
        url('../img/bg-primary-feedback-end.png'),
        linear-gradient(120deg, var(--ab-blue-dark), var(--ab-blue));
      background-position: bottom left, bottom right, center;
      background-repeat: no-repeat;
      background-size: auto 92%, auto 92%, cover;
    }
    .section-form-band--recovery {
      --form-band-color: #d7802c;
      --form-band-dark: #9e5518;
      background-image:
        url('../img/bg-warning-feedback-start.png'),
        url('../img/bg-warning-feedback-end.png'),
        linear-gradient(120deg, #9e5518, #d7802c);
      background-position: bottom left, bottom right, center;
      background-repeat: no-repeat;
      background-size: auto 92%, auto 92%, cover;
    }
    .section-form-band--development {
      --form-band-color: var(--ab-rose);
      --form-band-dark: #8f344c;
      background-image:
        radial-gradient(circle at 12% 85%, rgba(255,255,255,.14), transparent 28%),
        radial-gradient(circle at 90% 15%, rgba(255,255,255,.12), transparent 25%),
        linear-gradient(125deg, #853047, var(--ab-rose));
    }
    .section-form-band__inner { position: relative; z-index: 1; padding-top: 0; padding-bottom: 0; }
    .section-form-band__inner.container,
    .page-body .section-form-band__inner.container {
      width: 100%;
      max-width: 1320px;
      margin-right: auto;
      margin-left: auto;
      padding-right: clamp(1rem, 3vw, 2rem);
      padding-left: clamp(1rem, 3vw, 2rem);
    }
    .section-form-band__label {
      display: inline-block;
      margin-bottom: .65rem;
      color: #9de4c3;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .section-form-band__copy h2 { margin: 0 0 .8rem; color: #fff !important; font-size: clamp(1.8rem, 3.4vw, 2.65rem) !important; }
    .section-form-band__copy p { max-width: 580px; margin: 0; color: rgba(255,255,255,.84); font-size: 1.08rem !important; line-height: 1.65; }
    .section-form-band__messengers { display: grid; gap: .75rem; margin-top: 1.4rem; }
    .section-form-band__messengers > span { color: rgba(255,255,255,.84); font-weight: 650; }
    .section-form-band__messengers .btn { min-width: 120px; }
    .telegram-notice-form { position: relative; z-index: 2; }
    .contact-list { display: grid; gap: .9rem; margin-top: 1.5rem; }
    .contact-item { display: flex; align-items: flex-start; gap: .75rem; }
    .contact-item-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: rgba(255,255,255,.12); }
    .contact-item-icon svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2; }
    .contact-item-icon i { color: #fff; font-size: 1rem; line-height: 1; }
    .contact-item small { display: block; color: rgba(255,255,255,.58); font-size: .72rem; }
    .contact-item strong { display: block; font-size: .92rem; }
    .form-panel {
      position: relative;
      z-index: 2;
      padding: 1.7rem;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 16px;
      background: rgba(255,255,255,.11);
      backdrop-filter: blur(8px);
    }
    .form-label-ab { margin-bottom: .3rem; color: rgba(255,255,255,.76); font-size: .76rem; font-weight: 600; }
    .form-control-ab {
      width: 100%;
      padding: .67rem .85rem;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 9px;
      outline: 0;
      background: rgba(255,255,255,.1);
      color: #fff;
      font-family: inherit;
      font-size: .9rem;
    }
    .form-control-ab::placeholder { color: rgba(255,255,255,.45); }
    .form-control-ab:focus { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.15); }
    select.form-control-ab option { color: var(--ab-text); }
    .form-note { margin-top: .65rem; color: rgba(255,255,255,.5); font-size: .68rem; line-height: 1.4; }
    .form-note a { color: rgba(255,255,255,.84); text-decoration: underline; text-underline-offset: 2px; }

    /* CONTACTS */
    .contact-card {
      height: 100%;
      padding: 1.5rem;
      border: 1px solid var(--ab-border);
      border-radius: 16px;
      background: #fff;
    }
    .contact-card h4 { margin-bottom: .85rem; font-size: 1.05rem; }
    .contact-card p { color: var(--ab-muted); font-size: .88rem; }
    .map-placeholder {
      min-height: 360px;
      display: grid;
      place-items: center;
      overflow: hidden;
      border: 1px solid var(--ab-border);
      border-radius: 18px;
      background:
        linear-gradient(rgba(246,248,251,.68), rgba(246,248,251,.68)),
        repeating-linear-gradient(45deg, #dfe7ef 0 2px, transparent 2px 48px),
        repeating-linear-gradient(-45deg, #e9eef4 0 2px, transparent 2px 58px),
        #f5f7fa;
      color: var(--ab-blue);
      text-align: center;
      padding: 2rem;
    }
    .map-pin { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto .8rem; border-radius: 50%; background: var(--ab-blue); color: #fff; box-shadow: 0 10px 24px rgba(27,95,168,.25); }
    .map-pin svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; }


    .map-frame {
      min-height: 440px;
      height: 100%;
      overflow: hidden;
      border: 1px solid var(--ab-border);
      border-radius: 18px;
      background: var(--ab-bg);
    }
    .map-frame iframe { display: block; width: 100%; min-height: 440px; border: 0; }
    .map-frame-constructor { min-height: 600px; }
    .map-frame-constructor > * { width: 100% !important; }

    /* FOOTER */
    .site-footer { background: #0f2a44; color: rgba(255,255,255,.76); }
    .footer-main { padding: 3.2rem 0 1.4rem; }
    .footer-brand .brand-title { color: #fff; }
    .footer-brand .brand-subtitle { color: rgba(255,255,255,.5); }
    .footer-about { max-width: 250px; margin-top: .8rem; color: rgba(255,255,255,.5); font-size: .78rem; }
    .footer-title { margin-bottom: .85rem; color: rgba(255,255,255,.42); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
    .footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
    .footer-links a { color: rgba(255,255,255,.72); font-size: .82rem; }
    .footer-links a:hover { color: #fff; }
    .footer-phone { display: block; margin-bottom: .2rem; color: #fff; font-size: 1.06rem; font-weight: 700; }
    .footer-legal {
      display: flex;
      justify-content: space-between;
      gap: 1rem 2rem;
      flex-wrap: wrap;
      margin-top: 2rem;
      padding-top: 1.1rem;
      border-top: 1px solid rgba(255,255,255,.08);
      color: rgba(255,255,255,.58);
      font-size: .72rem;
    }
    .footer-legal > div { display: grid; gap: .25rem; }
    .footer-legal strong { color: rgba(255,255,255,.82); font-weight: 650; }
    .footer-company { text-align: right; }
    .footer-disclaimer { margin-top: .8rem; color: rgba(255,255,255,.38); font-size: .7rem; }
    .footer-privacy { padding: 1.35rem 0; color: #68788a; background: #f3f6f9; font-size: .72rem; line-height: 1.55; }
    .footer-privacy p { margin: 0; }
    .footer-privacy p + p { margin-top: .35rem; }
    .footer-privacy a { color: var(--ab-blue); text-decoration: underline; text-underline-offset: 2px; }
    .footer-developer { white-space: nowrap; }

    .mobile-sticky {
      display: none;
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1060;
      gap: .5rem;
      padding: .65rem .8rem;
      border-top: 1px solid var(--ab-border);
      background: #fff;
      box-shadow: 0 -5px 24px rgba(20,66,110,.12);
    }
    .mobile-sticky .btn-ab { flex: 1; min-height: 42px; padding: .55rem .5rem; font-size: .78rem; }

    @media (min-width: 1200px) {
      .navbar .dropdown:hover > .dropdown-menu { display: block; margin-top: 0; }
    }
    @media (max-width: 1399px) {
      .header-phone { display: none; }
      .nav-main .nav-link { padding-inline: .5rem !important; font-size: .8rem; }
      .carousel-indicators { left: calc((100% - 1140px)/2); }
    }
    @media (max-width: 1199px) {
      .navbar { min-height: 68px; }
      .navbar-collapse { padding: .75rem 0 1rem; }
      .nav-main { gap: .25rem !important; }
      .nav-main .nav-link { padding: .68rem .75rem !important; font-size: .88rem; }
      .dropdown-menu { border: 0; box-shadow: none; padding-top: 0; margin: 0 0 .3rem .65rem; }
      .header-actions { align-items: stretch; flex-wrap: wrap; margin-top: .7rem; }
      .direction-bar { grid-template-columns: repeat(3, 1fr); }
      .direction-bar-item:nth-child(3) { border-right: 0; }
      .direction-bar-item:nth-child(-n+3) { border-bottom: 1px solid var(--ab-border); }
      .direction-bar-item:nth-child(4) { grid-column: span 1; }
      .direction-bar-item:nth-child(5) { grid-column: span 2; border-right: 0; }
      .carousel-indicators { left: 5%; }
    }
    @media (max-width: 991px) {
      .home-slider .carousel-item { min-height: 520px; }
      .hero-content { padding: 4.2rem 0 5rem; }
      .hero-content .hero-title { font-size: clamp(2.1rem, 7vw, 3.3rem); }
      .direction-card.large, .direction-card.small { grid-column: span 6; }
      .direction-card.dental { grid-column: span 12; }
      .about-visual { min-height: 330px; }
      .about-content { padding: 2rem; }
    }
    @media (max-width: 767px) {
      body { padding-bottom: 68px; }
      .topbar .topbar-secondary { display: none !important; }
      .topbar .container > div { justify-content: center !important; }
      .topbar-address-full { display: none; }
      .topbar-address-short { display: inline; }
      .brand { min-width: auto; }
      .brand-subtitle { display: none; }
      .home-slider .carousel-item { min-height: 540px; }
      .services-carousel-head { align-items: center; }
      .service-slide-card { min-height: 285px; }
      .hero-slide::before { background: linear-gradient(90deg, rgba(10,45,80,.96), rgba(22,81,140,.82)); }
      .hero-content { padding: 3.6rem 0 5.2rem; }
      .hero-content p { font-size: .95rem; }
      .hero-points { gap: .7rem 1rem; }
      .carousel-control-prev, .carousel-control-next { display: none; }
      .carousel-indicators { left: 1rem; margin-left: 0; }
      .direction-bar-wrap { margin-top: -24px; }
      .direction-bar { grid-template-columns: 1fr; border-radius: 13px; }
      .direction-bar-item { min-height: 70px; border-right: 0; border-bottom: 1px solid var(--ab-border) !important; }
      .direction-bar-item:last-child { border-bottom: 0 !important; }
      .direction-bar-item:nth-child(4), .direction-bar-item:nth-child(5) { grid-column: auto; }
      .direction-card.large, .direction-card.small, .direction-card.dental { grid-column: span 12; min-height: 330px; }
      .direction-illustration { width: 110px; height: 110px; opacity: .55; }
      .direction-illustration svg { width: 84px; height: 84px; }
      .section { padding: 4rem 0; }
      .stats-grid { grid-template-columns: 1fr 1fr; }
      .mobile-sticky { display: flex; }
    }
    @media (max-width: 480px) {
      .brand-mark { width: 38px; height: 38px; }
      .brand-title { font-size: 1.08rem; }
      .hero-content .hero-title { font-size: 2rem; }
      .hero-actions .btn-ab { width: 100%; }
      .direction-card { padding: 1.35rem; }
      .direction-main-link { left: 1.35rem; }
      .direction-links { max-width: 85%; }
      .about-content { padding: 1.5rem; }
      .stats-grid { grid-template-columns: 1fr; }
    }

    /* OCTOBER CMS THEME INTEGRATION */
    .brand img { width: auto; max-width: 190px; max-height: 58px; }
    .footer-brand img { max-width: 180px; filter: brightness(0) invert(1); }
    .footer-address { font-size: .75rem; color: rgba(255,255,255,.55); }

    .home-slider { --home-slider-height: 720px; }
    .home-slider .splide__track { height: var(--home-slider-height); }
    .home-slider .splide__list { height: 100%; align-items: stretch; }
    .home-slider .splide__slide { height: 100%; min-height: 0; }
    .home-slider .splide__slide.is-image-slide { height: auto; }
    .home-slider .hero-slide,
    .home-slider .image-banner { height: 100%; min-height: 100%; }
    .home-slider .splide__pagination { bottom: 1.5rem; justify-content: center; padding-right: 1rem; padding-left: 1rem; }
    .home-slider .splide__pagination__page { width: 30px; height: 3px; margin: 3px; border-radius: 50px; background: rgba(255,255,255,.65); }
    .home-slider .splide__pagination__page.is-active { transform: none; background: #fff; }
    .home-slider .splide__arrow { background: rgba(255,255,255,.22); }
    .image-banner { display: block; background: var(--ab-bg); }
    .image-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .is-image-slide .image-banner,
    .is-image-slide .image-banner img { height: auto; }
    .is-image-slide .image-banner img { object-fit: contain; }

    .page-main { min-height: 35vh; }
    .page-content { overflow: hidden; padding: clamp(2.75rem, 5vw, 4.5rem) 0; }
    .page-content-shell { max-width: 1320px; }
    .page-heading { margin-bottom: clamp(1.75rem, 3vw, 2.75rem); text-align: center; }
    .page-title {
      max-width: 1050px;
      margin: 0 auto;
      color: var(--section-color, var(--ab-blue));
      font-size: clamp(2rem, 4vw, 3rem);
      letter-spacing: -.025em;
      text-wrap: balance;
    }
    .page-body { font-size: 1.075rem; line-height: 1.72; }
    .page-body > :first-child { margin-top: 0 !important; }
    .page-body > :last-child { margin-bottom: 0 !important; }
    .page-body .container,
    .page-body .container-fluid { width: 100%; max-width: none; padding-right: 0; padding-left: 0; }
    .page-body :where(h2, h3, h4):not(.text-white):not(.text-light):not(.text-danger) {
      color: var(--section-color, var(--ab-blue));
      text-wrap: balance;
    }
    .page-body h2,
    .page-body h2[class*="fs-"] { margin: 2.4rem 0 1rem; font-size: clamp(1.5rem, 2.5vw, 2rem) !important; }
    .page-body h3,
    .page-body h3[class*="fs-"] { margin: 1.8rem 0 .8rem; font-size: clamp(1.2rem, 2vw, 1.5rem) !important; }
    .page-body h4,
    .page-body h4[class*="fs-"] { margin: 1.35rem 0 .65rem; font-size: 1.12rem !important; }
    .page-body p,
    .page-body li { font-size: 1.075rem !important; }
    .page-body p { margin-bottom: 1rem; }
    .page-body a:not(.btn):not(.btn-ab):not(.stretched-link) { color: var(--section-color, var(--ab-blue)); }
    .page-body .table { margin: 1.5rem 0 2rem; border-color: var(--ab-border); }
    .page-body .table th { color: var(--ab-text); background: var(--section-soft, var(--ab-blue-light)); }
    .page-body .table td,
    .page-body .table th { padding: .75rem .9rem; vertical-align: middle; }
    .page-body .fr-file {
      display: flex;
      align-items: flex-start;
      gap: .75rem;
      padding: 1rem 1.15rem;
      border: 1px solid var(--ab-border);
      border-radius: var(--radius-sm);
      background: #fff;
      color: var(--section-color, var(--ab-blue));
      font-size: 1rem !important;
      font-weight: 650;
      box-shadow: 0 8px 24px rgba(24,69,112,.07);
    }
    .page-body .fr-file:hover { border-color: var(--section-color, var(--ab-blue)); box-shadow: var(--shadow); }
    .page-body .fr-file i { flex: 0 0 auto; font-size: 1.35rem; }

    .glightbox-inline-content { display: none; }
    .glightbox-inline-content.ginlined-content,
    .ginlined-content .glightbox-inline-content { display: block; }
    .glightbox-dialog { width: min(960px, calc(100vw - 2rem)); margin: 0 auto; }
    .glightbox-dialog .modal-content {
      display: grid;
      grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
      max-height: min(86vh, 820px);
      overflow-y: auto;
      border: 0;
      border-radius: var(--radius);
      background: #fff;
      box-shadow: var(--shadow-md);
    }
    .glightbox-dialog .modal-content > img {
      grid-column: 1;
      grid-row: 1 / span 3;
      width: 100%;
      height: auto;
      max-height: none;
      object-fit: contain;
      object-position: center top;
      align-self: start;
      background: var(--ab-bg);
    }
    .glightbox-dialog .modal-content > .position-absolute { display: none; }
    .glightbox-dialog .modal-body { grid-column: 2; padding: 1.4rem 1.6rem; }
    .glightbox-dialog .modal-title { color: var(--section-color, var(--ab-blue)); text-align: left !important; }
    .glightbox-dialog .modal-body.border-top { align-self: end; }

    .specialists-intro {
      max-width: 860px;
      margin: 0 auto 2rem;
      color: var(--ab-muted);
      text-align: center;
    }
    .specialists-grid,
    #masters > .row { align-items: stretch; gap: 1.25rem 0; }
    .specialists-grid .card,
    #masters .card {
      overflow: hidden;
      border: 1px solid var(--ab-border);
      border-radius: var(--radius);
      background: #fff;
      box-shadow: 0 10px 28px rgba(24,69,112,.09);
      transition: transform .2s, box-shadow .2s, border-color .2s;
    }
    .specialists-grid .card:hover,
    #masters .card:hover {
      transform: translateY(-4px);
      border-color: color-mix(in srgb, var(--section-color, var(--ab-blue)) 35%, white);
      box-shadow: var(--shadow);
    }
    .specialists-grid .card-img-top,
    #masters .card-img-top { width: 100%; height: auto; object-fit: contain; background: var(--section-soft, var(--ab-bg)); }
    .specialists-grid .specialist-card-photo,
    #masters .specialist-card-photo {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center top;
    }
    .specialists-grid .card-body,
    #masters .card-body { padding: 1rem 1.1rem 1.15rem; }
    .specialists-grid .card-title,
    #masters .card-title { margin: 0 0 .35rem; color: var(--ab-text); font-size: 1.05rem; }
    .specialists-grid .card-text,
    #masters .card-text { margin: 0; color: var(--ab-muted); font-size: .88rem; }
    .specialists-grid .card-text a,
    #masters .card-text a { color: var(--section-color, var(--ab-blue)); font-weight: 700; }
    .specialist-role { min-height: 2.5em; margin: 0 0 .65rem; color: var(--ab-muted); font-size: .86rem !important; line-height: 1.45; }
    .specialist-open { color: var(--section-color, var(--ab-blue)); font-weight: 700; text-decoration: none; }
    .specialist-open:hover { color: var(--section-color-dark, var(--ab-blue-dark)); }
    .specialist-card-placeholder,
    .specialist-modal-placeholder {
      display: grid;
      place-items: center;
      color: var(--section-color, var(--ab-blue));
      background: linear-gradient(145deg, var(--section-soft, var(--ab-bg)), #fff);
    }
    .specialist-card-placeholder { aspect-ratio: 4 / 5; }
    .specialist-card-placeholder span,
    .specialist-modal-placeholder span {
      display: grid;
      place-items: center;
      border-radius: 50%;
      color: #fff;
      background: var(--section-color, var(--ab-blue));
      font-weight: 800;
    }
    .specialist-card-placeholder span { width: 92px; height: 92px; font-size: 2rem; }
    .specialist-modal-placeholder span { width: 116px; height: 116px; font-size: 2.35rem; }
    .specialist-card-actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; }

    .specialist-modal .modal-dialog { max-width: min(760px, calc(100vw - 1.5rem)); }
    .specialist-modal .modal-content { overflow: hidden; border: 0; border-radius: 18px; box-shadow: var(--shadow-md); }
    .specialist-modal .modal-header { padding: 1.1rem 1.35rem; border-bottom-color: var(--ab-border); }
    .specialist-modal .modal-title { margin: 0; color: var(--section-color, var(--ab-blue)); font-size: 1.45rem !important; }
    .specialist-modal .modal-body { padding: 0; }
    .specialist-modal-media { display: grid; min-height: 220px; place-items: center; background: var(--section-soft, var(--ab-bg)); }
    .specialist-modal-placeholder { width: 100%; min-height: 280px; }
    .specialist-modal-photo {
      width: auto;
      max-width: 100%;
      max-height: min(52vh, 520px);
      margin: 0 auto;
      object-fit: contain;
      background: var(--section-soft, var(--ab-bg));
    }
    .specialist-modal-copy { padding: 1.35rem; }
    .specialist-modal-role { color: var(--section-color, var(--ab-blue)); font-weight: 700; }
    .specialist-modal-copy p { font-size: 1rem !important; }
    .specialist-modal-copy p:last-child { margin-bottom: 0; }
    .specialist-modal .modal-footer { justify-content: flex-start; padding: 1rem 1.35rem 1.25rem; }

    .scroll-top {
      position: fixed;
      right: 1.25rem;
      bottom: 1.25rem;
      z-index: 1000;
      width: 46px;
      height: 46px;
      border: 0;
      border-radius: 50%;
      color: #fff;
      background: var(--section-color, var(--ab-blue));
      box-shadow: var(--shadow-md);
    }

    @media (max-width: 767px) {
      .home-slider { --home-slider-height: 610px; }
      .home-slider .splide__pagination { padding-right: 1rem; padding-left: 1rem; }
      .home-slider .splide__arrow { display: none; }
      .hero-content--wide .hero-points { justify-content: flex-start; }
      .image-banner img { min-height: 0; object-fit: contain; }
      .page-content { padding: 2.75rem 0; }
      .page-heading { margin-bottom: 1.75rem; }
      .page-body .table-responsive {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
      }
      .page-body .table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        font-size: .82rem;
        line-height: 1.35;
        text-align: left;
        white-space: normal;
      }
      .page-body .table-responsive > .table { display: table; overflow: visible; }
      .page-body .table > :not(caption) > * > * {
        min-width: 0;
        padding: .5rem .55rem;
        text-align: left !important;
        white-space: normal;
        overflow-wrap: anywhere;
      }
      .glightbox-dialog .modal-content { display: block; max-height: 88vh; }
      .glightbox-dialog .modal-content > img { width: 100%; height: auto; max-height: none; }
      .glightbox-dialog .modal-body { padding: 1.15rem; }
      .section-form-band--pool,
      .section-form-band--recovery { background-size: auto 55%, auto 55%, cover; }
      .specialist-modal .modal-footer .btn { flex: 1 1 auto; }
      .footer-company { text-align: left; }
    }

    @media (max-width: 480px) {
      .home-slider { --home-slider-height: 690px; }
      .hero-content { padding: 2.75rem 0 4.75rem; }
      .hero-content .hero-title { overflow-wrap: break-word; }
      .hero-points { margin-top: 1.5rem; }
    }

    @media (max-width: 1199.98px) {
      .navbar-expand-xl .navbar-toggler { display: inline-grid; place-items: center; width: 44px; height: 44px; }
      .main-nav-offcanvas .offcanvas-body {
        overflow-y: auto;
      }
      .nav-main { align-items: stretch !important; }
      .nav-main .dropdown-toggle::after { display: none; }
      .nav-main .dropdown-menu {
        position: static;
        display: block;
        min-width: 0;
        margin: 0 .5rem .5rem;
        padding: .15rem .5rem .45rem 1rem;
        border: 0;
        border-left: 2px solid var(--section-color, var(--ab-blue));
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }
      .nav-main .dropdown-item { padding: .45rem .55rem; font-size: .82rem; }
    }
