/* Mobile-only: glass liquid hero + drawer nav */

.hero-mobile-bar,
.hero-glass-floats,
.nav-glass-scene,
.nav-fab-rail,
.nav-profile-card,
.nav-mobile-footer {
  display: none;
}

/* Liquid glass blobs */
.liquid-blob {
  position: absolute;
  border-radius: 42% 58% 62% 38% / 38% 42% 58% 62%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.55) 0%,
    rgba(255, 255, 255, 0.12) 45%,
    rgba(38, 166, 154, 0.25) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.45);
  backdrop-filter: blur(18px) saturate(1.6);
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  box-shadow:
    0 20px 50px rgba(0, 91, 94, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  animation: liquidFloat 12s ease-in-out infinite;
  pointer-events: none;
}

@keyframes liquidFloat {
  0%,
  100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
  33% {
    transform: translate(8px, -12px) rotate(4deg) scale(1.05);
  }
  66% {
    transform: translate(-10px, 8px) rotate(-3deg) scale(0.96);
  }
}

/* Footer — mobile liquid blob (reference layout) */
@media (max-width: 980px) {
  .footer-mobile {
    display: block;
    padding: 0;
    margin-top: clamp(2rem, 6vw, 3rem);
  }

  .footer-desktop {
    display: none;
  }

  .site-footer {
    background: transparent;
    padding: 0;
    margin-top: 0;
    border-radius: 0;
  }

  .footer-mobile__blob {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: clamp(220px, 52vw, 280px);
    padding: clamp(2.25rem, 8vw, 3rem) 1.5rem calc(env(safe-area-inset-bottom, 0px) + 1.75rem);
    text-align: center;
    background: linear-gradient(
      175deg,
      rgba(38, 166, 154, 0.92) 0%,
      var(--primary) 38%,
      var(--primary-dark) 72%,
      #051f21 100%
    );
    border-radius: 52% 48% 0 0 / 28% 28% 0 0;
    box-shadow:
      0 -24px 64px rgba(0, 91, 94, 0.28),
      inset 0 2px 0 rgba(255, 255, 255, 0.22),
      inset 0 -30px 50px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    isolation: isolate;
  }

  .footer-mobile__glass {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
      160deg,
      rgba(255, 255, 255, 0.28) 0%,
      rgba(255, 255, 255, 0.06) 28%,
      transparent 55%
    );
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
  }

  .footer-mobile__blob::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline: 0;
    height: 42%;
    background: radial-gradient(ellipse 90% 80% at 50% 0%, rgba(255, 255, 255, 0.2), transparent 70%);
    pointer-events: none;
    z-index: 2;
  }

  .footer-mobile__blob::after {
    content: "";
    position: absolute;
    bottom: 0;
    inset-inline: 0;
    height: 35%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), transparent);
    pointer-events: none;
    z-index: 2;
  }

  .footer-mobile__liquid {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
  }

  .footer-liquid {
    position: absolute;
    opacity: 0.42;
    animation: liquidFloat 16s ease-in-out infinite;
  }

  .footer-liquid--1 {
    width: clamp(90px, 24vw, 130px);
    height: clamp(75px, 20vw, 110px);
    top: 6%;
    inset-inline-end: -10%;
    animation-delay: -2s;
  }

  .footer-liquid--2 {
    width: clamp(65px, 18vw, 95px);
    height: clamp(55px, 15vw, 80px);
    top: 35%;
    inset-inline-start: -8%;
    animation-delay: -8s;
    opacity: 0.28;
  }

  .footer-liquid--3 {
    width: clamp(50px, 14vw, 75px);
    height: clamp(42px, 12vw, 65px);
    bottom: 18%;
    inset-inline-end: 6%;
    animation-delay: -5s;
    opacity: 0.32;
  }

  .footer-mobile__tagline {
    position: relative;
    z-index: 3;
    margin: 0 0 1.35rem;
    font-size: clamp(1.05rem, 4.2vw, 1.25rem);
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.02em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  }

  .footer-mobile__social {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(0.65rem, 3.5vw, 1rem);
    margin-bottom: 1.35rem;
  }

  .footer-mobile__icon {
    display: grid;
    place-items: center;
    width: clamp(44px, 12vw, 52px);
    height: clamp(44px, 12vw, 52px);
    border-radius: 50%;
    background: #fff;
    color: var(--primary-dark);
    text-decoration: none;
    box-shadow:
      0 8px 22px rgba(0, 0, 0, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 1);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }

  .footer-mobile__icon:active {
    transform: scale(0.9);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
  }

  .footer-mobile__icon svg {
    width: 20px;
    height: 20px;
  }

  .footer-mobile__copy {
    position: relative;
    z-index: 3;
    margin: 0 0 0.85rem;
    font-size: 0.7rem;
    font-weight: 400;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.72);
    letter-spacing: 0.02em;
  }

  .footer-mobile__legal {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.25rem, 8vw, 2.5rem);
    font-size: 0.75rem;
    font-weight: 500;
  }

  .footer-mobile__legal a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: opacity 0.2s ease;
  }

  .footer-mobile__legal a:active {
    opacity: 0.75;
  }

  .footer-mobile .footer-credits {
    position: relative;
    z-index: 3;
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .footer-mobile .credits-text {
    color: rgba(255, 255, 255, 0.62);
  }

  .footer-mobile .credits-link {
    color: rgba(255, 255, 255, 0.95);
  }

  .footer-mobile .credits-link:hover {
    color: var(--accent);
  }
}

@media (max-width: 980px) {
  .services-luxury {
    display: none;
  }

  .services-compact {
    display: none;
  }

  .services-mobile {
    display: block;
  }

  .section-services {
    padding: 0 0 clamp(2rem, 5vw, 3rem);
    overflow: hidden;
  }

  .section-services > .container.services-products {
    width: calc(100% - 2rem);
    margin-top: 0.5rem;
    padding-top: 1.5rem;
    border-top: none;
  }

  .section-services .services-products .section-head {
    margin-bottom: 1rem;
  }

  .section-services .services-products .section-head h2 {
    font-size: 1.25rem;
  }

  .section-services .products-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  /* --- Services mobile app-style --- */
  .services-mobile__header {
    position: relative;
    padding: clamp(1.25rem, 4vw, 1.75rem) clamp(1rem, 4vw, 1.35rem) clamp(1.75rem, 5vw, 2.25rem);
    background: linear-gradient(155deg, var(--primary-dark) 0%, var(--primary) 55%, #0a4a4d 100%);
    border-radius: 0 0 clamp(28px, 7vw, 40px) clamp(28px, 7vw, 40px);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 20px 48px rgba(13, 58, 60, 0.22);
  }

  .services-mobile__header-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
  }

  .svc-liquid {
    position: absolute;
    opacity: 0.4;
    animation: liquidFloat 14s ease-in-out infinite;
  }

  .svc-liquid--1 {
    width: 110px;
    height: 90px;
    top: -12%;
    inset-inline-end: -8%;
    animation-delay: -2s;
  }

  .svc-liquid--2 {
    width: 80px;
    height: 70px;
    bottom: 10%;
    inset-inline-start: -5%;
    animation-delay: -7s;
    opacity: 0.28;
  }

  .svc-liquid--3 {
    width: 70px;
    height: 55px;
    bottom: 12%;
    inset-inline-end: 8%;
    opacity: 0.35;
    animation-delay: -4s;
  }

  .services-mobile__header-inner {
    position: relative;
    z-index: 1;
  }

  .services-mobile__eyebrow {
    margin: 0 0 0.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.72);
  }

  .services-mobile__title {
    margin: 0 0 0.85rem;
    font-size: clamp(1.45rem, 5.5vw, 1.85rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
  }

  .services-mobile__glass-bar {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
  }

  .services-mobile__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    width: 100%;
    margin-bottom: 0.15rem;
  }

  .services-mobile__chip {
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.92);
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
  }

  .services-mobile__cta-glass {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.65rem 0.75rem;
    border-radius: 18px;
    text-decoration: none;
    color: var(--primary-dark);
    background: rgba(255, 255, 255, 0.52);
    backdrop-filter: blur(20px) saturate(1.5);
    -webkit-backdrop-filter: blur(20px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow:
      0 14px 36px rgba(0, 0, 0, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.85);
    transition: transform 0.22s ease, background 0.22s ease;
    position: relative;
    overflow: hidden;
  }

  .services-mobile__cta-glass:active {
    transform: scale(0.98);
    background: rgba(255, 255, 255, 0.72);
  }

  .services-mobile__cta-orb {
    flex-shrink: 0;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent) 0%, var(--primary) 100%);
    box-shadow:
      0 6px 16px rgba(38, 166, 154, 0.45),
      inset 0 1px 0 rgba(255, 255, 255, 0.4);
    animation: liquidFloat 10s ease-in-out infinite;
  }

  .services-mobile__cta-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    text-align: start;
  }

  .services-mobile__cta-text strong {
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--primary-dark);
  }

  .services-mobile__cta-text small {
    font-size: 0.62rem;
    font-weight: 500;
    color: var(--muted);
    line-height: 1.3;
  }

  .services-mobile__cta-arrow {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 50%;
    background: rgba(0, 91, 94, 0.1);
    color: var(--primary);
  }

  .services-mobile__call-glass {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(14px) saturate(1.4);
    -webkit-backdrop-filter: blur(14px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow:
      0 10px 24px rgba(0, 0, 0, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transition: transform 0.2s ease, background 0.2s ease;
  }

  .services-mobile__call-glass:active {
    transform: scale(0.94);
    background: rgba(255, 255, 255, 0.32);
  }

  .services-mobile__body {
    position: relative;
    margin-top: -0.75rem;
    padding: 0 0.85rem;
  }

  .services-mobile__body::before {
    content: "";
    position: absolute;
    inset: -20% -30% auto;
    height: 60%;
    background: radial-gradient(ellipse at 50% 0%, rgba(38, 166, 154, 0.12), transparent 65%);
    pointer-events: none;
  }

  .services-mobile__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    position: relative;
    z-index: 1;
    padding: 0.25rem 0 0;
  }

  .services-mobile-tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    min-height: 118px;
    padding: 0.75rem 0.7rem;
    border-radius: 18px;
    text-decoration: none;
    color: var(--text);
    background: rgba(255, 255, 255, 0.58);
    backdrop-filter: blur(18px) saturate(1.45);
    -webkit-backdrop-filter: blur(18px) saturate(1.45);
    border: 1px solid rgba(255, 255, 255, 0.75);
    box-shadow:
      0 10px 28px rgba(13, 58, 60, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
  }

  .services-mobile-tile:active {
    transform: scale(0.97);
    background: rgba(255, 255, 255, 0.78);
  }

  .services-mobile-tile__icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: linear-gradient(145deg, rgba(0, 91, 94, 0.12), rgba(38, 166, 154, 0.2));
    color: var(--primary-dark);
    flex-shrink: 0;
  }

  .services-mobile-tile__icon svg {
    width: 18px;
    height: 18px;
  }

  .services-mobile-tile__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
  }

  .services-mobile-tile__label {
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--primary-dark);
  }

  .services-mobile-tile__desc {
    font-size: 0.65rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--muted);
  }

  .services-mobile-feature {
    position: relative;
    margin-top: 1rem;
    border-radius: 22px;
    overflow: hidden;
    min-height: 168px;
    box-shadow: 0 18px 44px rgba(13, 58, 60, 0.18);
  }

  .services-mobile-feature__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .services-mobile-feature__glass {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 168px;
    padding: 1.15rem 1.1rem;
    background: linear-gradient(
      105deg,
      rgba(13, 58, 60, 0.88) 0%,
      rgba(0, 91, 94, 0.55) 55%,
      rgba(38, 166, 154, 0.25) 100%
    );
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .services-mobile-feature__text h3 {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.25;
  }

  .services-mobile-feature__text p {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.78);
    max-width: 14rem;
  }

  .services-mobile-feature__cta {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent) 0%, #1d8f86 100%);
    color: #fff;
    text-decoration: none;
    box-shadow:
      0 10px 24px rgba(38, 166, 154, 0.45),
      inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transition: transform 0.2s ease;
  }

  .services-mobile-feature__cta:active {
    transform: scale(0.94);
  }
}

@media (max-width: 380px) {
  .services-mobile-tile__label {
    font-size: 0.72rem;
  }

  .services-mobile-tile__desc {
    font-size: 0.6rem;
  }

  .services-mobile-tile {
    min-height: 108px;
    padding: 0.65rem 0.6rem;
  }

  .services-mobile__cta-text strong {
    font-size: 0.76rem;
  }

  .services-mobile__cta-text small {
    font-size: 0.58rem;
  }
}

/* About — mobile editorial (hero + 2×2 features) */
@media (max-width: 980px) {
  .section-about {
    padding-block: 0;
    overflow: hidden;
  }

  .about-mobile {
    display: block;
  }

  .about-desktop {
    display: none;
  }

  .section-about > .container:last-child {
    padding-block: 1.25rem 2rem;
  }

  .section-about .about-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .section-about .stat-card {
    padding: 0.75rem 0.35rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(0, 91, 94, 0.12);
  }

  .section-about .stat-card strong {
    font-size: 1.35rem;
  }

  .section-about .stat-card span {
    font-size: 0.68rem;
  }

  .about-mobile-hero {
    position: relative;
    width: 100%;
    background: #0a2f31;
    overflow: hidden;
  }

  .about-mobile-hero__frame {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    height: min(125vw, 72vh, 520px);
    min-height: clamp(240px, 58vw, 320px);
    overflow: hidden;
  }

  .about-mobile-hero__frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% 42%;
    filter: saturate(1.08) contrast(1.04);
  }

  .about-mobile-hero__glass {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
  }

  .about-liquid {
    position: absolute;
    opacity: 0.55;
    animation: liquidFloat 14s ease-in-out infinite;
  }

  .about-liquid--a {
    width: clamp(100px, 28vw, 160px);
    height: clamp(80px, 22vw, 130px);
    top: 12%;
    inset-inline-end: -8%;
    animation-delay: -2s;
  }

  .about-liquid--b {
    width: clamp(70px, 20vw, 110px);
    height: clamp(60px, 16vw, 95px);
    bottom: 22%;
    inset-inline-start: 4%;
    animation-delay: -6s;
    opacity: 0.4;
  }

  .about-mobile-hero__shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.22) 0%,
      transparent 38%,
      rgba(38, 166, 154, 0.12) 62%,
      rgba(13, 58, 60, 0.35) 100%
    );
    mix-blend-mode: soft-light;
  }

  .about-mobile-hero__tag {
    position: absolute;
    bottom: 0;
    inset-inline-start: 0;
    z-index: 2;
    padding: 1rem 1.15rem 1.1rem;
    min-width: min(72%, 240px);
    background: linear-gradient(
      135deg,
      rgba(13, 58, 60, 0.94) 0%,
      rgba(0, 91, 94, 0.9) 100%
    );
    backdrop-filter: blur(16px) saturate(1.4);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-inline-end: 3px solid var(--accent);
    box-shadow:
      0 16px 40px rgba(0, 0, 0, 0.25),
      inset 0 1px 0 rgba(255, 255, 255, 0.15);
  }

  .about-mobile-hero__tag-line {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 0.2rem;
  }

  .about-mobile-hero__tag-title {
    display: block;
    font-size: clamp(1.35rem, 5.5vw, 1.65rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #fff;
  }

  .about-mobile-features {
    background: linear-gradient(180deg, var(--bg-dark) 0%, #082628 100%);
    color: #fff;
    padding-bottom: 0.25rem;
  }

  .about-mobile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid rgba(255, 255, 255, 0.1);
  }

  .about-mobile-cell {
    padding: clamp(1.15rem, 4vw, 1.5rem) clamp(0.75rem, 3vw, 1rem);
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.08);
    margin: -0.5px;
    background: rgba(0, 0, 0, 0.08);
  }

  .about-mobile-cell:nth-child(1),
  .about-mobile-cell:nth-child(2) {
    border-bottom-color: rgba(255, 255, 255, 0.14);
  }

  .about-mobile-cell__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0 auto 0.75rem;
    background: #fff;
    border-radius: 10px;
    color: var(--primary-dark);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  }

  .about-mobile-cell__icon svg {
    width: 22px;
    height: 22px;
  }

  .about-mobile-cell h3 {
    margin: 0 0 0.45rem;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.25;
    color: #fff;
  }

  .about-mobile-cell p {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.62);
    max-width: 14rem;
    margin-inline: auto;
  }
}

@media (max-width: 980px) {
  /* --- Header minimal --- */
  .header-stack {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0, 91, 94, 0.06);
    padding: 0.35rem 0;
  }

  .site-header--center {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.35rem 0;
    gap: 0.75rem;
  }

  .brand--center {
    flex: 0 0 auto;
    order: 1;
    margin: 0;
  }

  .brand__img--full {
    display: none;
  }

  .brand__img--mark {
    display: block;
    width: clamp(42px, 11vw, 46px);
    height: clamp(42px, 11vw, 46px);
    padding: 3px;
    border-radius: 14px;
    object-fit: contain;
    object-position: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(0, 91, 94, 0.1);
    box-shadow:
      0 6px 18px rgba(0, 91, 94, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.95);
  }

  .site-header--center .nav-wrap {
    width: auto;
    flex: 0 0 auto;
    order: 2;
    margin-inline-start: auto;
  }

  /* Premium menu trigger */
  .nav-trigger {
    --trigger-size: 46px;
    position: relative;
    width: var(--trigger-size);
    height: var(--trigger-size);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
  }

  .nav-trigger__glow {
    position: absolute;
    inset: -6px;
    border-radius: 20px;
    background: radial-gradient(circle, rgba(38, 166, 154, 0.45), transparent 68%);
    opacity: 0.75;
    animation: triggerPulse 2.8s ease-in-out infinite;
    pointer-events: none;
  }

  .nav-trigger__ring {
    position: absolute;
    inset: -2px;
    border-radius: 17px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(38, 166, 154, 0.5), rgba(0, 91, 94, 0.6));
    pointer-events: none;
  }

  .nav-trigger__panel {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: linear-gradient(145deg, #0a4a4d 0%, #005b5e 45%, #167d7d 100%);
    box-shadow:
      0 10px 28px rgba(0, 91, 94, 0.35),
      inset 0 1px 0 rgba(255, 255, 255, 0.25),
      inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }

  .nav-trigger__dots {
    display: grid;
    grid-template-columns: repeat(3, 5px);
    gap: 4px;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .nav-trigger__dots span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 6px rgba(255, 255, 255, 0.35);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .nav-trigger:active .nav-trigger__panel {
    transform: scale(0.94);
  }

  .nav-trigger[aria-expanded="true"] .nav-trigger__glow {
    opacity: 1;
    animation: triggerPulseActive 1.6s ease-in-out infinite;
  }

  .nav-trigger[aria-expanded="true"] .nav-trigger__dots {
    transform: rotate(90deg) scale(0.92);
  }

  .nav-trigger[aria-expanded="true"] .nav-trigger__dots span:nth-child(1),
  .nav-trigger[aria-expanded="true"] .nav-trigger__dots span:nth-child(3),
  .nav-trigger[aria-expanded="true"] .nav-trigger__dots span:nth-child(7),
  .nav-trigger[aria-expanded="true"] .nav-trigger__dots span:nth-child(9) {
    opacity: 0;
    transform: scale(0);
  }

  .nav-trigger[aria-expanded="true"] .nav-trigger__dots span:nth-child(5) {
    transform: scale(1.15);
  }

  .nav-trigger--hero {
    --trigger-size: 54px;
  }

  .nav-trigger--hero .nav-trigger__panel {
    border-radius: 17px;
    background: linear-gradient(145deg, #062a2c 0%, #005b5e 50%, #26a69a 100%);
    box-shadow:
      0 14px 36px rgba(0, 91, 94, 0.4),
      0 0 0 1px rgba(255, 255, 255, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);
  }

  .nav-trigger--hero .nav-trigger__dots {
    grid-template-columns: repeat(3, 6px);
    gap: 5px;
  }

  .nav-trigger--hero .nav-trigger__dots span {
    width: 6px;
    height: 6px;
  }

  @keyframes triggerPulse {
    0%,
    100% {
      transform: scale(1);
      opacity: 0.55;
    }
    50% {
      transform: scale(1.08);
      opacity: 0.9;
    }
  }

  @keyframes triggerPulseActive {
    0%,
    100% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.12);
    }
  }

  .menu-toggle {
    display: inline-grid;
  }

  /* --- Mobile drawer nav --- */
  .nav-links {
    position: fixed;
    inset: 0;
    z-index: 10000;
    width: min(100%, 400px);
    max-width: 100%;
    margin-inline-start: auto;
    min-height: 100dvh;
    min-height: 100svh;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: linear-gradient(
      165deg,
      #005b5e 0%,
      #167d7d 38%,
      #0d3a3c 72%,
      #062a2c 100%
    );
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.35s step-end;
    overflow: hidden;
  }

  .nav-links.open {
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }

  .nav-glass-scene {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .liquid-blob--nav1 {
    width: 140px;
    height: 140px;
    top: 12%;
    inset-inline-start: -30px;
    animation-delay: 0s;
  }

  .liquid-blob--nav2 {
    width: 200px;
    height: 180px;
    bottom: 18%;
    inset-inline-end: -50px;
    animation-delay: -3s;
  }

  .liquid-blob--nav3 {
    width: 100px;
    height: 100px;
    top: 45%;
    inset-inline-end: 20%;
    animation-delay: -6s;
  }

  .nav-glass-waves {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 42%;
    background:
      radial-gradient(ellipse 90% 70% at 50% 100%, rgba(38, 166, 154, 0.35), transparent 65%),
      radial-gradient(ellipse 60% 50% at 20% 90%, rgba(255, 255, 255, 0.12), transparent 55%);
    border-radius: 60% 60% 0 0 / 30% 30% 0 0;
    opacity: 0.9;
  }

  .nav-mobile-head {
    position: relative;
    z-index: 2;
    display: block;
    padding: calc(env(safe-area-inset-top, 0px) + 0.75rem) 1rem 1rem;
    background: transparent;
    border-radius: 0;
  }

  .nav-mobile-head__inner {
    padding: 0;
  }

  .nav-mobile-toolbar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 0;
  }

  .nav-mobile-close {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(8px);
  }

  .nav-profile-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    padding: 0.65rem 0.85rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    color: #fff;
  }

  .nav-profile-card__img {
    width: 52px;
    height: 52px;
    padding: 3px;
    border-radius: 14px;
    object-fit: contain;
    object-position: center;
    background: rgba(255, 255, 255, 0.95);
  }

  .nav-profile-card strong {
    display: block;
    font-size: 0.88rem;
    line-height: 1.3;
  }

  .nav-profile-card span {
    font-size: 0.72rem;
    opacity: 0.85;
  }

  .nav-fab-rail {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    position: absolute;
    top: 50%;
    inset-inline-start: 0.65rem;
    transform: translateY(-50%);
    z-index: 3;
    padding: 0.5rem 0.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(12px);
  }

  .nav-fab {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: 0;
    color: var(--primary);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease;
  }

  .nav-fab--close {
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, var(--accent), var(--primary));
    color: #fff;
  }

  .nav-fab:active {
    transform: scale(0.94);
  }

  .nav-mobile-links {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.5rem 1rem 1rem;
    padding-inline-start: 4.75rem;
    flex: 1;
    overflow-y: auto;
  }

  .nav-mobile-section {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    color: rgba(255, 255, 255, 0.45);
    margin: 0.25rem 0 0.5rem;
    text-transform: uppercase;
  }

  .nav-links .nav-item-link {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.8rem 0.9rem;
    color: #fff;
    border-radius: 16px;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border: 1px solid transparent;
  }

  .nav-links .nav-item-link.active {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.25);
  }

  .nav-item-ico {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    flex-shrink: 0;
  }

  .nav-item-ico svg {
    width: 20px;
    height: 20px;
  }

  .nav-mobile-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    padding: 1rem 1.15rem calc(env(safe-area-inset-bottom, 0px) + 1rem);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
  }

  .nav-mobile-footer__phone {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
  }

  .nav-mobile-footer__phone .icon-phone-bubble--nav {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
  }

  /* --- Mobile hero (app style) --- */
  .hero-stage {
    min-height: calc(100svh - 58px);
    align-items: stretch;
    flex-direction: column;
    background: #f4f9f8;
    padding-bottom: 0;
  }

  .hero-stage::after {
    display: none;
  }

  .hero-overlay {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.25) 0%,
      rgba(244, 249, 248, 0.5) 60%,
      rgba(244, 249, 248, 0.75) 100%
    );
  }

  .hero-glass-floats {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    overflow: hidden;
  }

  .liquid-blob--h1 {
    width: 120px;
    height: 110px;
    top: 8%;
    inset-inline-end: -20px;
    animation-delay: 0s;
  }

  .liquid-blob--h2 {
    width: 90px;
    height: 95px;
    top: 35%;
    inset-inline-start: -15px;
    animation-delay: -4s;
  }

  .liquid-blob--h3 {
    width: 70px;
    height: 70px;
    bottom: 28%;
    inset-inline-end: 15%;
    animation-delay: -7s;
  }

  .hero-inner {
    position: relative;
    z-index: 7;
    max-width: none;
    width: 100%;
    text-align: start;
    padding: 3.25rem 1.15rem 6.5rem;
    margin-top: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .glass-hero {
    background: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(24px) saturate(1.5);
    -webkit-backdrop-filter: blur(24px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 28px;
    padding: 1.5rem 1.25rem;
    box-shadow: 0 24px 60px rgba(13, 58, 60, 0.1);
    text-align: start;
  }

  .hero h1 {
    font-size: clamp(1.55rem, 7vw, 2rem);
    line-height: 1.25;
    text-align: start;
  }

  .hero-lead {
    text-align: start;
    margin-inline: 0;
    font-size: 0.92rem;
    line-height: 1.75;
  }

  .hero-actions {
    display: none;
  }

  .hero-mobile-bar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9;
    padding: 0.85rem 1.15rem calc(env(safe-area-inset-bottom, 0px) + 0.85rem);
    background: linear-gradient(180deg, transparent, rgba(244, 249, 248, 0.95) 25%);
  }

  .hero-mobile-menu {
    flex-shrink: 0;
  }

  .hero-mobile-cta {
    flex: 1;
    justify-content: center;
    padding: 0.9rem 1.25rem;
    font-size: 1rem;
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(0, 91, 94, 0.3);
  }

  .hero-stats {
    position: relative;
    z-index: 1;
  }

  .hero-stats__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 0.75rem;
  }
}

@media (max-width: 480px) {
  .nav-links {
    width: 100%;
  }

  .nav-fab-rail {
    inset-inline-start: 0.5rem;
  }

  .nav-mobile-links {
    padding-inline-start: 4.25rem;
  }

  .hero-inner {
    padding-bottom: 7rem;
  }
}

/* Branches + Contact — mobile polish */
@media (max-width: 980px) {
  .section-branches {
    padding-block: clamp(2.5rem, 6vw, 3.5rem) clamp(1.5rem, 4vw, 2rem);
  }

  .branches-showcase {
    padding: 0;
  }

  .locations-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .location-card--glass {
    padding: 1.35rem 1.25rem;
  }

  .location-phones a {
    width: 100%;
    justify-content: flex-start;
    padding: 0.55rem 0.9rem;
  }

  .location-phones .icon-phone-bubble {
    width: 2.15rem;
    height: 2.15rem;
  }

  .section-contact {
    padding-block: 0 clamp(1.5rem, 4vw, 2rem);
    margin-top: -0.5rem;
  }

  .contact-hero--glass {
    padding: 2rem 1.25rem 2.25rem;
    border-radius: 24px;
  }

  .contact-hero--glass h2 {
    font-size: 1.55rem;
  }

  .contact-phones-big {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }

  .phone-pill--glass {
    justify-content: center;
    width: 100%;
    padding: 1rem 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .liquid-blob,
  .about-liquid,
  .services-liquid,
  .svc-liquid,
  .footer-liquid,
  .branches-liquid,
  .contact-liquid,
  .nav-trigger__glow {
    animation: none;
  }

  .nav-links {
    transition: none;
  }
}
