/*
Theme Name: SUVO
Theme URI: https://suvo.lt/
Author: SUVO
Description: Individualus SUVO WordPress temos sprendimas, perkeltas iš statinės svetainės.
Version: 1.5.41
Text Domain: suvo
Requires at least: 6.4
Requires PHP: 8.0
License: GPL-2.0-or-later
*/

* {
  box-sizing: border-box;
}

:root {
  --orange: #f3703a;
  --orange-dark: #e06836;
  --black: #111111;
  --dark: #1f1f1f;
  --graphite: #2d2d2d;
  --muted: #6f6f6f;
  --line: #e9e9e9;
  --white: #ffffff;
  --cream: #f7f3ef;
  --radius: 26px;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.16);
}

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--black);
  background: var(--white);
}

/* lighter typography pass */
h1,
h2,
h3,
strong {
  font-weight: 650;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  --header-fill: 0;
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: grid;
  grid-template-columns: auto minmax(320px, 1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 18px clamp(18px, 5vw, 72px);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0.42) 58%, rgba(0, 0, 0, 0) 100%);
  color: var(--white);
  border: 0;
  overflow: visible;
}

.site-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  --header-fade-height: 42px;
  height: calc(100% + var(--header-fade-height));
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    180deg,
    rgba(10, 10, 10, 0.96) 0%,
    rgba(10, 10, 10, 0.96) calc(100% - var(--header-fade-height)),
    rgba(10, 10, 10, 0.74) calc(100% - 28px),
    rgba(10, 10, 10, 0.32) calc(100% - 12px),
    rgba(10, 10, 10, 0) 100%
  );
  opacity: var(--header-fill);
  transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header > * {
  position: relative;
  z-index: 1;
}

.site-header.is-scrolled {
  box-shadow: none;
}

.brand {
  display: inline-flex;
  align-items: center;
  width: 148px;
  min-width: 148px;
}

.brand img {
  width: 148px;
  max-height: 72px;
  height: auto;
  object-fit: contain;
}

.main-nav {
  display: flex;
  justify-content: center;
  gap: clamp(14px, 2.2vw, 30px);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.main-nav a {
  white-space: nowrap;
  opacity: 0.9;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.main-nav a:hover,
.main-nav a[aria-current="page"] {
  color: var(--orange);
  opacity: 1;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 680;
  border: 1px solid transparent;
  transition: transform 0.2s ease, background 0.2s ease, border 0.2s ease;
}

.btn--primary {
  background: var(--orange);
  color: var(--white);
  box-shadow: 0 18px 35px rgba(243, 112, 58, 0.3);
}

.header-call {
  min-height: 48px;
  padding: 0 22px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 620;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.btn--primary:hover {
  background: var(--orange-dark);
  transform: translateY(-2px);
}

.language-dropdown {
  position: relative;
  z-index: 25;
}

.language-toggle {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 6px 8px 6px 7px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  appearance: none;
  color: var(--white);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 14px 28px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
  transition: background 0.2s ease, border 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.language-toggle:hover,
.language-dropdown.is-open .language-toggle {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.34);
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 18px 32px rgba(0, 0, 0, 0.24);
}

.lang-current,
.language-menu a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lang-current img,
.language-menu img {
  width: 32px !important;
  height: 22px !important;
  min-width: 32px;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.26);
  image-rendering: auto;
}

.lang-chevron {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.94);
  background: rgba(255, 255, 255, 0.16);
  transition: transform 0.22s ease, background 0.2s ease;
}

.lang-chevron::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: -3px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

.language-toggle:hover .lang-chevron,
.language-dropdown.is-open .lang-chevron {
  background: rgba(255, 255, 255, 0.24);
}

.language-dropdown.is-open .lang-chevron {
  transform: rotate(180deg);
}

.language-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: grid;
  gap: 6px;
  min-width: 60px;
  padding: 7px;
  border-radius: 18px;
  background: rgba(17, 17, 17, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 22px 45px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px) scale(0.98);
  transform-origin: top right;
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
}

.language-dropdown.is-open .language-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.language-menu a {
  width: 46px;
  height: 36px;
  padding: 0;
  border-radius: 13px;
  color: var(--white);
  border-bottom: 1px solid transparent;
  transition: background 0.2s ease, transform 0.2s ease;
}

.language-menu a:hover,
.language-menu a[aria-current="page"] {
  background: rgba(255, 255, 255, 0.14);
  transform: translateY(-1px);
}

.language-menu a:hover img,
.language-menu a[aria-current="page"] img {
  box-shadow: 0 0 0 2px rgba(243, 112, 58, 0.78);
}

.btn--ghost {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.06);
}

.btn--ghost:hover {
  border-color: var(--orange);
  transform: translateY(-2px);
}

.hero {
  position: relative;
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  align-items: end;
  gap: 56px;
  padding: 160px clamp(18px, 5vw, 72px) 72px;
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
}

.hero__backgrounds,
.hero__bg,
.hero__overlay {
  position: absolute;
  inset: 0;
}

.hero__backgrounds {
  z-index: 0;
  pointer-events: none;
}

.hero__bg {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.035);
  will-change: opacity;
}

.hero__bg--primary {
  background-image: url("assets/gallery/atliktas-darbas-02.webp");
  animation: heroBgPrimary 14s infinite ease-in-out;
}

.hero__bg--secondary {
  background-image: url("assets/images/hero-antikorozinis-purskimas.webp");
  animation: heroBgSecondary 14s infinite ease-in-out;
}

.hero__overlay {
  z-index: 1;
  background:
    radial-gradient(circle at 12% 18%, rgba(243, 112, 58, 0.28), transparent 34%),
    linear-gradient(110deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.7) 42%, rgba(0, 0, 0, 0.18) 100%),
    linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.48));
  pointer-events: none;
}

@keyframes heroBgPrimary {
  0%, 42% {
    opacity: 1;
  }

  50%, 92% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes heroBgSecondary {
  0%, 42% {
    opacity: 0;
  }

  50%, 92% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg--primary,
  .hero__bg--secondary {
    animation: none;
  }

  .hero__bg--primary {
    opacity: 1;
  }

  .hero__bg--secondary {
    opacity: 0;
  }
}

.hero__content,
.hero-card {
  position: relative;
  z-index: 2;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--orange);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 13px;
  font-weight: 620;
}

.hero h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(42px, 6.6vw, 86px);
  line-height: 1.04;
  letter-spacing: -0.032em;
}

.hero__lead {
  max-width: 680px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.6;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.trust-strip span {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.09);
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(10px);
  font-size: 14px;
  font-weight: 620;
}

.hero-card {
  align-self: end;
  padding: 30px;
  border-radius: var(--radius);
  background: rgba(20, 20, 20, 0.76);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}

.hero-card__tag {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--black);
  background: var(--white);
  font-weight: 620;
  font-size: 13px;
}

.hero-card h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.05;
}

.hero-card p {
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.section {
  padding: clamp(72px, 8vw, 118px) clamp(18px, 5vw, 72px);
}

.section--light {
  background: var(--cream);
}

.section-heading {
  max-width: 820px;
  margin-bottom: 42px;
}

.section-heading h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  letter-spacing: -0.04em;
}

.section-heading p:not(.eyebrow) {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.section-heading--dark h2,
.section-heading--dark p:not(.eyebrow) {
  color: var(--white);
}

.feature-grid,
.pricing-grid,
.product-grid,
.steps,
.city-grid,
.gallery-grid {
  display: grid;
  gap: 20px;
}

.feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-grid--centres {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-grid--centres .feature-card {
  min-height: 100%;
}

.feature-card {
  padding: 30px;
  background: var(--white);
  border-radius: var(--radius);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
}

.number {
  color: var(--orange);
  font-weight: 620;
}

.feature-card h3,
.steps h3,
.city-grid h3 {
  margin: 16px 0 10px;
  font-size: 22px;
}

.feature-card p,
.steps p,
.city-grid p {
  color: var(--muted);
  line-height: 1.65;
}

.services,
.contacts {
  background:
    radial-gradient(circle at 85% 12%, rgba(243, 112, 58, 0.25), transparent 28%),
    var(--dark);
}

.pricing-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.price-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  padding: 34px;
  border-radius: var(--radius);
  background: #282828;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.price-card--featured {
  background: linear-gradient(145deg, #2f2f2f, #171717);
  border-color: rgba(243, 112, 58, 0.5);
  box-shadow: 0 28px 70px rgba(243, 112, 58, 0.16);
}

.price-card__label {
  color: var(--orange);
  font-weight: 620;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.price-card h3 {
  margin: 0;
  font-size: 36px;
}

.price-card h3 strong {
  color: var(--orange);
}

.price-card p {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.price-card ul {
  margin: 0;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.9;
}

.product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-card {
  padding: 30px;
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(17, 17, 17, 0.06);
}

.product-card span {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--orange);
  font-size: 13px;
  font-weight: 620;
  letter-spacing: 0.14em;
}

.product-card h3 {
  margin: 0;
  font-size: 24px;
}

.product-card p {
  color: var(--muted);
  line-height: 1.7;
}

.steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.steps article {
  padding: 26px;
  border-radius: var(--radius);
  background: var(--white);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.steps span {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--orange);
  color: var(--white);
  font-weight: 620;
}

.about {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.55fr);
  gap: 42px;
  align-items: center;
  background: var(--black);
  color: var(--white);
}

.about__content h2 {
  margin: 0;
  max-width: 800px;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.about__content p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.74);
  line-height: 1.8;
  font-size: 18px;
}

.about__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.about__badges span {
  padding: 12px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.84);
  font-weight: 680;
}

.about__visual {
  min-height: 360px;
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(243, 112, 58, 0.18), rgba(0, 0, 0, 0.56)),
    url("assets/gallery/suvo-gallery/dengimo-procesas-02.webp") center / cover;
  display: flex;
  align-items: flex-end;
  padding: 24px;
  box-shadow: var(--shadow);
}

.visual-card {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(12px);
}

.visual-card__icon {
  display: inline-flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--orange);
  font-weight: 620;
  color: var(--white);
}

.visual-card p {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  line-height: 1.45;
}

.gallery-grid {
  grid-template-columns: 1.1fr 0.9fr 1fr;
  min-height: 280px;
}

.gallery-tile {
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.38)),
    url("assets/gallery/atliktas-darbas-01.webp") center / cover;
  box-shadow: var(--shadow);
}

.gallery-tile--dark {
  background:
    linear-gradient(180deg, rgba(243, 112, 58, 0.22), rgba(0, 0, 0, 0.5)),
    url("assets/gallery/atliktas-darbas-06.webp") center / cover;
}

.city-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.city-grid article {
  padding: 24px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.city-grid h3 {
  margin-top: 0;
}

.city-grid a {
  color: var(--orange);
  font-weight: 620;
}

.final-cta {
  margin-top: 28px;
  padding: clamp(30px, 5vw, 54px);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--black);
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(260px, 0.8fr) auto;
  align-items: center;
  gap: clamp(22px, 4vw, 48px);
}

.final-cta h2 {
  margin: 0;
  max-width: 620px;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.final-cta p {
  margin: 0;
  max-width: 430px;
  color: var(--muted);
  line-height: 1.65;
}

.final-cta .btn {
  width: max-content;
  min-width: 0;
  max-width: 100%;
  padding-inline: 28px;
  white-space: nowrap;
  justify-self: end;
  flex: 0 0 auto;
}


.page-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  padding: 160px clamp(18px, 5vw, 72px) 78px;
  color: var(--white);
  background:
    linear-gradient(110deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.70) 48%, rgba(0, 0, 0, 0.24) 100%),
    url("assets/gallery/atliktas-darbas-02.webp") center / cover;
}

.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(243, 112, 58, 0.25), transparent 34%),
    linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.42));
  pointer-events: none;
}

.page-hero > * {
  position: relative;
  z-index: 1;
  max-width: 980px;
}

.page-hero h1 {
  max-width: 940px;
  margin: 0;
  font-size: clamp(40px, 5.8vw, 78px);
  line-height: 1.04;
  letter-spacing: -0.03em;
}

.page-hero__lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.6;
}

.page-content .final-cta {
  margin-top: 36px;
}

.site-footer {
  position: relative;
  overflow: hidden;
  padding: clamp(58px, 7vw, 88px) clamp(18px, 5vw, 72px) 28px;
  background:
    radial-gradient(circle at 14% 0%, rgba(243, 112, 58, 0.26), transparent 34%),
    radial-gradient(circle at 86% 28%, rgba(243, 112, 58, 0.12), transparent 30%),
    linear-gradient(180deg, #151515 0%, #080808 100%);
  color: rgba(255, 255, 255, 0.76);
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 72%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 72%);
  opacity: 0.38;
}

.site-footer__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  margin: 0;
}

.site-footer__main {
  display: grid;
  grid-template-columns: minmax(260px, 1.45fr) minmax(150px, 0.72fr) minmax(210px, 0.92fr) minmax(230px, 0.9fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.site-footer__brand p,
.site-footer__column p,
.site-footer__column span,
.site-footer__bottom p {
  margin: 0;
}

.site-footer__logo {
  display: inline-flex;
  width: 142px;
  margin-bottom: 24px;
}

.site-footer__logo img {
  width: 142px;
  max-height: 96px;
  object-fit: contain;
}

.site-footer__brand p {
  max-width: 430px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.75;
  font-size: 15px;
}

.site-footer__cta {
  margin-top: 24px;
  min-height: 46px;
  padding-inline: 20px;
  font-size: 13px;
  font-weight: 650;
}

.site-footer__column h2 {
  margin: 0 0 18px;
  color: var(--white);
  font-size: 13px;
  font-weight: 680;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-footer__column ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__column li,
.site-footer__contact p,
.site-footer__contact span {
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.55;
  font-size: 15px;
}

.site-footer__column a,
.site-footer__link {
  color: rgba(255, 255, 255, 0.78);
  transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer__column a:hover,
.site-footer__link:hover {
  color: var(--orange);
}

.site-footer__legal a {
  display: inline-flex;
  width: fit-content;
}

.site-footer__legal a::after {
  content: "→";
  margin-left: 8px;
  color: var(--orange);
  opacity: 0.78;
  transition: transform 0.2s ease;
}

.site-footer__legal a:hover::after {
  transform: translateX(3px);
}

.site-footer__services a {
  display: inline-flex;
  width: fit-content;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.site-footer__services a:hover {
  text-decoration-color: currentColor;
}

.site-footer__phone {
  display: inline-flex;
  margin: 8px 0 12px;
  color: var(--white) !important;
  font-size: 21px;
  font-weight: 680;
  letter-spacing: -0.02em;
}

.site-footer__link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  color: var(--orange);
  font-weight: 650;
}

.site-footer__link::after {
  content: "→";
  margin-left: 8px;
  transition: transform 0.2s ease;
}

.site-footer__link:hover::after {
  transform: translateX(3px);
}

.site-footer__centres {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: clamp(36px, 5vw, 58px);
  padding: 18px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px);
}

.site-footer__centres-title {
  grid-column: 1 / -1;
  margin-bottom: 2px;
  color: rgba(255, 255, 255, 0.88);
}

.site-footer__centre {
  display: grid;
  gap: 5px;
  min-height: 112px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.065);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.site-footer__centre:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(243, 112, 58, 0.36);
}

.site-footer__centre strong {
  color: var(--white);
  font-size: 17px;
}

.site-footer__centre span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
}

.site-footer__centre em {
  margin-top: 2px;
  color: var(--orange);
  font-style: normal;
  font-weight: 680;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
}

@media (max-width: 1080px) {
  .site-footer__main {
    grid-template-columns: minmax(0, 1.2fr) minmax(180px, 0.8fr);
  }

  .site-footer__centres {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .site-footer {
    padding: 54px 18px 24px;
  }

  .site-footer__main,
  .site-footer__centres {
    grid-template-columns: 1fr;
  }

  .site-footer__logo,
  .site-footer__logo img {
    width: 126px;
  }

  .site-footer__centres {
    padding: 14px;
  }

  .site-footer__centre {
    min-height: auto;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 1120px) {
  .site-header {
    grid-template-columns: auto 1fr;
  }

  .main-nav {
    order: 3;
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .header-actions {
    justify-self: end;
  }
}

@media (max-width: 980px) {
  .site-header {
    position: absolute;
    grid-template-columns: auto 1fr;
  }

  .main-nav {
    display: none;
  }

  .header-actions {
    justify-self: end;
  }

  .hero,
  .page-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 128px;
  }

  .hero-card {
    max-width: 520px;
  }

  .feature-grid,
  .pricing-grid,
  .product-grid,
  .steps,
  .city-grid,
  .about,
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .final-cta {
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 22px;
  }

  .final-cta .btn {
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .site-header {
    padding: 14px 16px;
    gap: 12px;
  }

  .brand {
    width: 108px;
    min-width: 108px;
  }

  .brand img {
    width: 108px;
  }

  .header-actions {
    gap: 8px;
  }

  .header-call {
    min-height: 40px;
    padding: 0 14px;
    font-size: 11px;
  }

  .language-toggle {
    min-height: 40px;
    padding: 5px 8px 5px 6px;
  }

  .lang-current img,
  .language-menu img {
    width: 26px;
    height: 18px;
  }

  .language-menu {
    min-width: 58px;
  }

  .hero {
    padding: 112px 18px 44px;
  }

  .hero h1,
  .page-hero h1 {
    font-size: 44px;
    line-height: 1.08;
    letter-spacing: -0.018em;
  }

  .hero__actions,
  .trust-strip {
    flex-direction: column;
    align-items: stretch;
  }

  .section {
    padding: 64px 18px;
  }

  .final-cta {
    padding: 32px 28px;
    gap: 18px;
  }

  .final-cta h2 {
    font-size: clamp(28px, 9vw, 36px);
    line-height: 1.12;
  }

  .final-cta p {
    line-height: 1.6;
  }

  .final-cta .btn {
    margin-top: 4px;
  }
}


@media (max-width: 430px) {
  .header-call {
    max-width: 154px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .language-toggle {
    gap: 6px;
  }
}

/* Language switcher repair: separate classes, no browser-native dropdown, crisp SVG flags. */
.language-dropdown,
.language-toggle,
.language-menu,
.lang-current,
.lang-chevron {
  all: unset;
}

.suvo-lang {
  position: relative !important;
  z-index: 60 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

.suvo-lang__button {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  min-width: 82px !important;
  height: 48px !important;
  padding: 6px 8px 6px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  cursor: pointer !important;
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), 0 14px 28px rgba(0,0,0,0.22) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  line-height: 1 !important;
}

.suvo-lang__button:hover,
.suvo-lang.is-open .suvo-lang__button {
  background: rgba(255, 255, 255, 0.23) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
}

.suvo-lang__flag {
  display: block !important;
  width: 30px !important;
  height: 20px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  object-fit: cover !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.30) !important;
  image-rendering: auto !important;
}

.suvo-lang__chevron {
  position: relative !important;
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.22) !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
}

.suvo-lang__chevron::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  margin-top: 3px !important;
  border-top: 2px solid currentColor !important;
  border-left: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
}

.suvo-lang.is-open .suvo-lang__chevron {
  transform: rotate(180deg) !important;
}

.suvo-lang__menu[hidden] {
  display: none !important;
}

.suvo-lang__menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  width: 64px !important;
  padding: 10px 8px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  border-radius: 18px !important;
  background: rgba(16, 16, 16, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 22px 45px rgba(0,0,0,0.34) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.suvo-lang__option {
  width: 48px !important;
  height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.18s ease, transform 0.18s ease !important;
}

.suvo-lang__option:hover,
.suvo-lang__option[aria-current="page"] {
  background: rgba(255,255,255,0.12) !important;
}

.suvo-lang__option:hover {
  transform: translateY(-1px) !important;
}

.suvo-lang__option[aria-current="page"] .suvo-lang__flag {
  box-shadow: 0 0 0 2px rgba(243, 112, 58, 0.78) !important;
}

@media (max-width: 560px) {
  .suvo-lang__button {
    min-width: 72px !important;
    height: 42px !important;
    padding: 5px 7px 5px 8px !important;
    gap: 8px !important;
  }

  .suvo-lang__flag {
    width: 28px !important;
    height: 18px !important;
    min-width: 28px !important;
    max-width: 28px !important;
  }

  .suvo-lang__chevron {
    width: 24px !important;
    height: 24px !important;
    flex-basis: 24px !important;
  }

  .suvo-lang__menu {
    width: 60px !important;
    padding: 9px 7px !important;
  }

  .suvo-lang__option {
    width: 46px !important;
    height: 32px !important;
  }
}


/* Final responsive header: one-row layout, staged CTA hiding and mobile burger menu. */
.site-header {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(16px, 2vw, 28px);
  min-height: 108px;
  padding: 18px clamp(22px, 5vw, 72px);
}

.brand {
  flex: 0 0 auto;
  width: clamp(128px, 10vw, 148px);
  min-width: clamp(128px, 10vw, 148px);
}

.brand img {
  width: clamp(128px, 10vw, 148px);
}

.main-nav {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(16px, 2vw, 30px);
  overflow: hidden;
}

.main-nav a {
  flex: 0 0 auto;
}

.header-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: 0;
}

.header-call {
  flex: 0 0 auto;
  gap: 8px;
  min-height: 48px;
  padding: 0 22px;
  overflow: hidden;
  white-space: nowrap;
}

.header-call__label,
.header-call__number {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.mobile-menu-toggle {
  display: none;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 14px 28px rgba(0,0,0,0.20);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  cursor: pointer;
  transition: background 0.2s ease, border 0.2s ease, transform 0.2s ease;
}

.mobile-menu-toggle:hover,
.mobile-menu-toggle.is-open {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.34);
}

.mobile-menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 0.22s ease, opacity 0.18s ease;
}

.mobile-menu-toggle.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.mobile-menu-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav[hidden] {
  display: none !important;
}

.mobile-nav {
  position: absolute;
  top: calc(100% - 10px);
  left: clamp(16px, 5vw, 72px);
  right: clamp(16px, 5vw, 72px);
  z-index: 5;
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 24px;
  background: rgba(12, 12, 12, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.mobile-nav a {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 0 16px;
  border-radius: 16px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 15px;
  font-weight: 620;
  white-space: nowrap;
  transition: background 0.18s ease, color 0.18s ease;
}

.mobile-nav a:hover,
.mobile-nav a[aria-current="page"] {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.10);
}

@media (max-width: 1280px) {
  .site-header {
    gap: 20px;
    padding-left: clamp(18px, 4vw, 56px);
    padding-right: clamp(18px, 4vw, 56px);
  }

  .main-nav {
    gap: clamp(14px, 1.7vw, 24px);
    font-size: 13.5px;
  }

  .header-call {
    padding-left: 20px;
    padding-right: 20px;
    letter-spacing: 0.07em;
  }
}

@media (max-width: 1180px) {
  .site-header {
    gap: 18px;
  }

  .brand,
  .brand img {
    width: 132px;
    min-width: 132px;
  }

  .header-call__label {
    display: none;
  }

  .header-call {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (max-width: 1060px) {
  .header-call {
    display: none;
  }
}

@media (max-width: 980px) {
  .site-header {
    position: fixed;
    display: flex;
    min-height: 94px;
    padding: 14px clamp(18px, 5vw, 40px);
    gap: 14px;
  }

  .main-nav {
    display: none;
  }

  .mobile-menu-toggle {
    display: inline-flex;
  }

  .header-actions {
    margin-left: auto;
    gap: 10px;
  }

  .hero,
  .page-hero {
    padding-top: 128px;
  }
}

@media (max-width: 560px) {
  .site-header {
    min-height: 82px;
    padding: 12px 16px;
    gap: 10px;
  }

  .brand,
  .brand img {
    width: 112px;
    min-width: 112px;
  }

  .mobile-menu-toggle {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }

  .suvo-lang__button {
    min-width: 70px !important;
    height: 42px !important;
  }

  .mobile-nav {
    left: 14px;
    right: 14px;
    top: calc(100% - 8px);
  }
}

@media (max-width: 380px) {
  .site-header {
    padding-left: 12px;
    padding-right: 12px;
  }

  .brand,
  .brand img {
    width: 104px;
    min-width: 104px;
  }

  .header-actions {
    gap: 8px;
  }

  .mobile-menu-toggle {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }

  .suvo-lang__button {
    min-width: 66px !important;
    height: 40px !important;
    gap: 6px !important;
  }
}

/* Responsive header stability patch: keep one row and reveal controls in stages. */
.site-header {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(14px, 1.7vw, 26px) !important;
  width: 100% !important;
  min-height: 104px !important;
  height: auto !important;
  padding: 18px clamp(20px, 4.8vw, 72px) !important;
}

.brand {
  flex: 0 0 clamp(124px, 9.8vw, 148px) !important;
  width: clamp(124px, 9.8vw, 148px) !important;
  min-width: clamp(124px, 9.8vw, 148px) !important;
}

.brand img {
  width: 100% !important;
  max-height: 72px !important;
}

.main-nav {
  order: 0 !important;
  grid-column: auto !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(13px, 1.65vw, 30px) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.main-nav a {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

.header-actions {
  order: 1 !important;
  grid-column: auto !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  white-space: nowrap !important;
}

.header-call {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.header-call__label,
.header-call__number {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

.header-call__number {
  margin-left: 8px !important;
}

.mobile-menu-toggle {
  display: none !important;
}

@media (max-width: 1320px) {
  .site-header {
    padding-left: clamp(18px, 4vw, 56px) !important;
    padding-right: clamp(18px, 4vw, 56px) !important;
    gap: 18px !important;
  }

  .main-nav {
    gap: clamp(12px, 1.35vw, 24px) !important;
    font-size: 13.5px !important;
  }

  .header-call {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 1180px) {
  .brand {
    flex-basis: 130px !important;
    width: 130px !important;
    min-width: 130px !important;
  }

  .site-header {
    gap: 16px !important;
  }

  .header-call__label {
    display: none !important;
  }

  .header-call__number {
    margin-left: 0 !important;
  }

  .header-call {
    padding-left: 20px !important;
    padding-right: 20px !important;
    min-width: 174px !important;
  }
}

@media (max-width: 1060px) {
  .site-header {
    padding-left: clamp(16px, 3.5vw, 42px) !important;
    padding-right: clamp(16px, 3.5vw, 42px) !important;
    gap: 14px !important;
  }

  .main-nav {
    gap: clamp(10px, 1.1vw, 18px) !important;
    font-size: 13px !important;
  }
}

@media (max-width: 940px) {
  .header-call {
    display: none !important;
  }

  .header-actions {
    margin-left: 0 !important;
  }
}

@media (max-width: 820px) {
  .site-header {
    min-height: 92px !important;
    padding: 14px clamp(16px, 5vw, 36px) !important;
    gap: 12px !important;
  }

  .main-nav {
    display: none !important;
  }

  .header-actions {
    margin-left: auto !important;
    gap: 10px !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
  }

  .hero,
  .page-hero {
    padding-top: 124px !important;
  }
}

@media (max-width: 560px) {
  .site-header {
    min-height: 78px !important;
    padding: 12px 14px !important;
    gap: 8px !important;
  }

  .brand {
    flex-basis: 106px !important;
    width: 106px !important;
    min-width: 106px !important;
  }

  .header-actions {
    gap: 8px !important;
  }

  .mobile-menu-toggle {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
  }

  .suvo-lang__button {
    min-width: 66px !important;
    height: 40px !important;
    padding: 5px 6px 5px 7px !important;
    gap: 6px !important;
  }

  .suvo-lang__flag {
    width: 26px !important;
    height: 17px !important;
    min-width: 26px !important;
    max-width: 26px !important;
  }

  .suvo-lang__chevron {
    width: 22px !important;
    height: 22px !important;
    flex-basis: 22px !important;
  }
}

@media (max-width: 360px) {
  .brand {
    flex-basis: 96px !important;
    width: 96px !important;
    min-width: 96px !important;
  }

  .mobile-menu-toggle {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }

  .suvo-lang__button {
    min-width: 62px !important;
    height: 38px !important;
  }
}


/* Atlikti darbai carousel */
.gallery-preview {
  overflow: hidden;
}

.work-carousel {
  position: relative;
  width: min(980px, calc(100% - 180px));
  margin: 0 auto;
  overflow: visible;
  isolation: isolate;
}

.work-carousel__viewport {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  background: rgba(16, 16, 16, 0.96);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.22);
}

.work-carousel__viewport::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.12), transparent 26%, transparent 74%, rgba(0, 0, 0, 0.18));
}

.work-carousel__track {
  display: flex;
  transform: translate3d(0, 0, 0);
  transition: transform 780ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.work-carousel__slide {
  min-width: 100%;
  margin: 0;
}

.work-carousel__image-button {
  display: block;
  width: 100%;
  height: clamp(300px, 42vw, 520px);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.work-carousel__image-button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.work-carousel__control {
  position: absolute;
  top: calc((clamp(300px, 42vw, 520px)) / 2);
  z-index: 4;
  display: inline-flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  color: var(--white);
  background: rgba(18, 18, 18, 0.78);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.work-carousel__control:hover {
  background: rgba(243, 112, 58, 0.94);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(-50%) scale(1.04);
}

.work-carousel__control--prev {
  left: -74px;
}

.work-carousel__control--next {
  right: -74px;
}

.work-carousel__control span {
  display: block;
  width: 14px;
  height: 14px;
  border-top: 3px solid currentColor;
  border-right: 3px solid currentColor;
}

.work-carousel__control--prev span {
  transform: rotate(-135deg) translate(-1px, -1px);
}

.work-carousel__control--next span {
  transform: rotate(45deg) translate(-1px, 1px);
}

.work-carousel__bottom {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.work-carousel__progress {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 0 10px;
}

.work-carousel__progress span {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(18, 18, 18, 0.18);
  transition: width 360ms ease, background 360ms ease, opacity 360ms ease, transform 360ms ease;
}

.work-carousel__progress span.is-active {
  width: 28px;
  background: var(--orange);
  opacity: 1;
}

.work-carousel__progress span:not(.is-active) {
  opacity: 0.7;
}

.work-lightbox[hidden] {
  display: none;
}

.work-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: clamp(16px, 3vw, 40px);
}

.work-lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(12px);
  cursor: zoom-out;
}

.work-lightbox__panel {
  position: relative;
  z-index: 1;
  display: grid;
  max-width: min(1200px, calc(100vw - clamp(190px, 16vw, 260px)));
  max-height: 92vh;
  overflow: visible;
  padding: clamp(10px, 1.6vw, 18px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 28px;
  background: rgba(15, 15, 15, 0.96);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.48);
}

.work-lightbox__panel img {
  display: block;
  max-width: 100%;
  max-height: calc(92vh - 88px);
  border-radius: 20px;
  object-fit: contain;
}

.work-lightbox__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  color: var(--white);
  background: rgba(0, 0, 0, 0.7);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.work-lightbox__nav {
  position: absolute;
  top: 50%;
  z-index: 20;
  display: inline-flex;
  width: clamp(48px, 4.6vw, 64px);
  height: clamp(48px, 4.6vw, 64px);
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  color: var(--white);
  background: var(--orange);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.52), 0 0 0 8px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.work-lightbox__nav:hover {
  background: #ff814a;
  border-color: rgba(255, 255, 255, 0.44);
}

.work-lightbox__nav--prev {
  left: calc(-1 * clamp(74px, 6.8vw, 104px));
  transform: translateY(-50%);
}

.work-lightbox__nav--prev:hover {
  transform: translateY(-50%) scale(1.04);
}

.work-lightbox__nav--next {
  right: calc(-1 * clamp(74px, 6.8vw, 104px));
  transform: translateY(-50%);
}

.work-lightbox__nav--next:hover {
  transform: translateY(-50%) scale(1.04);
}

.work-lightbox__nav span {
  display: block;
  width: 14px;
  height: 14px;
  border-top: 3px solid currentColor;
  border-right: 3px solid currentColor;
}

.work-lightbox__nav--prev span {
  transform: rotate(-135deg);
  margin-left: 5px;
}

.work-lightbox__nav--next span {
  transform: rotate(45deg);
  margin-right: 5px;
}

.work-lightbox__caption {
  margin: 12px 6px 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.92rem;
}

body.work-lightbox-open {
  overflow: hidden;
}

@media (max-width: 900px) {
  .work-carousel {
    width: min(100% - 96px, 720px);
  }

  .work-carousel__control {
    width: 46px;
    height: 46px;
  }

  .work-carousel__control--prev {
    left: -56px;
  }

  .work-carousel__control--next {
    right: -56px;
  }

  .work-lightbox__panel {
    max-width: 100%;
  }

  .work-lightbox__nav--prev {
    left: 12px;
    transform: translateY(-50%);
  }

  .work-lightbox__nav--prev:hover {
    transform: translateY(-50%) scale(1.04);
  }

  .work-lightbox__nav--next {
    right: 12px;
    transform: translateY(-50%);
  }

  .work-lightbox__nav--next:hover {
    transform: translateY(-50%) scale(1.04);
  }
}

@media (max-width: 640px) {
  .work-carousel {
    width: calc(100% - 22px);
  }

  .work-carousel__viewport {
    border-radius: 22px;
  }

  .work-carousel__image-button {
    height: clamp(260px, 70vw, 440px);
  }

  .work-carousel__control {
    top: calc((clamp(260px, 70vw, 440px)) / 2);
    width: 42px;
    height: 42px;
  }

  .work-carousel__control--prev {
    left: 10px;
  }

  .work-carousel__control--next {
    right: 10px;
  }

  .work-carousel__bottom {
    margin-top: 14px;
  }

  .work-carousel__progress {
    gap: 6px;
    padding: 0 6px;
  }

  .work-carousel__progress span {
    width: 6px;
    height: 6px;
  }

  .work-carousel__progress span.is-active {
    width: 24px;
  }
}

.prefooter-social {
  padding: clamp(52px, 6vw, 78px) clamp(18px, 5vw, 72px);
  background: var(--cream);
}

.prefooter-social__inner,
.prefooter-partner__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}

.prefooter-social__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: clamp(30px, 5vw, 52px);
  border-radius: var(--radius);
  color: var(--white);
  background:
    radial-gradient(circle at 88% 18%, rgba(243, 112, 58, 0.34), transparent 28%),
    linear-gradient(135deg, #1b1b1b 0%, #111111 58%, #2a1711 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--shadow);
}

.prefooter-social h2,
.prefooter-partner h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.prefooter-social p:not(.eyebrow),
.prefooter-partner p:not(.eyebrow),
.prefooter-badge p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
  font-size: 17px;
}

.prefooter-social__inner .btn {
  flex: 0 0 auto;
}

.prefooter-partner {
  padding: clamp(52px, 6vw, 82px) clamp(18px, 5vw, 72px);
  background:
    radial-gradient(circle at 14% 0%, rgba(243, 112, 58, 0.16), transparent 30%),
    linear-gradient(180deg, #181818 0%, #101010 100%);
  color: var(--white);
}

.prefooter-partner__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(420px, 0.78fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.prefooter-partner__content {
  max-width: 640px;
}

.prefooter-partner__button {
  margin-top: 26px;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
}

.prefooter-partner__button:hover {
  border-color: rgba(243, 112, 58, 0.7);
  background: rgba(243, 112, 58, 0.14);
}

.prefooter-badges {
  display: grid;
  gap: 14px;
}

.prefooter-badge {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 126px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px);
}

.prefooter-badge img {
  width: 92px;
  height: 82px;
  object-fit: contain;
  padding: 8px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
}

.prefooter-badge h3 {
  margin: 0;
  color: var(--white);
  font-size: 19px;
  line-height: 1.16;
  letter-spacing: -0.02em;
}

.prefooter-badge p {
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .prefooter-social__inner,
  .prefooter-partner__inner {
    grid-template-columns: 1fr;
  }

  .prefooter-social__inner {
    display: grid;
  }

  .prefooter-social__inner .btn,
  .prefooter-partner__button {
    width: fit-content;
  }
}

@media (max-width: 560px) {
  .prefooter-social,
  .prefooter-partner {
    padding-inline: 16px;
  }

  .prefooter-social__inner {
    padding: 28px;
  }

  .prefooter-badge {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
    padding: 15px;
  }

  .prefooter-badge img {
    width: 76px;
    height: 68px;
    padding: 7px;
  }

  .prefooter-badge h3 {
    font-size: 17px;
  }

  .prefooter-badge p {
    font-size: 13px;
  }
}

/* prefooter-fix cache bust 20260618 */

/* footer-legal-weight 20260618 */


/* final-cta-boundary-fix 20260618 */
.final-cta {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.78fr) minmax(190px, max-content);
  gap: clamp(18px, 3vw, 38px);
  overflow: hidden;
}

.final-cta h2,
.final-cta p {
  min-width: 0;
}

.final-cta .btn {
  width: auto;
  max-width: 100%;
  min-width: 190px;
  padding-inline: clamp(20px, 2.2vw, 28px);
  white-space: nowrap;
  text-align: center;
}

@media (max-width: 1180px) and (min-width: 981px) {
  .final-cta {
    grid-template-columns: minmax(0, 1fr) minmax(184px, max-content);
    grid-template-areas:
      "title action"
      "text action";
    align-items: center;
    gap: 14px clamp(20px, 3vw, 32px);
    padding: clamp(30px, 4vw, 44px);
  }

  .final-cta h2 {
    grid-area: title;
    max-width: none;
    font-size: clamp(34px, 4.1vw, 44px);
    line-height: 1.1;
  }

  .final-cta p {
    grid-area: text;
    max-width: 480px;
  }

  .final-cta .btn {
    grid-area: action;
    justify-self: end;
    align-self: center;
    min-width: 184px;
    padding-inline: 24px;
  }
}

@media (max-width: 980px) {
  .final-cta {
    overflow: visible;
  }

  .final-cta .btn {
    justify-self: start;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .final-cta {
    gap: 16px;
  }

  .final-cta .btn {
    margin-top: 0;
  }
}

/* final-cta-overlap-fix 20260618 */
@media (max-width: 980px) {
  .final-cta {
    grid-template-columns: 1fr;
    grid-template-areas: none;
    align-items: flex-start;
    gap: clamp(14px, 3.5vw, 22px);
    overflow: visible;
  }

  .final-cta h2,
  .final-cta p,
  .final-cta .btn {
    grid-area: auto;
  }

  .final-cta h2 {
    max-width: 720px;
  }

  .final-cta p {
    max-width: 620px;
    margin: 0;
  }

  .final-cta .btn {
    justify-self: start;
    align-self: start;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    margin-top: 2px;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .final-cta p {
    max-width: 560px;
  }
}

@media (max-width: 560px) {
  .final-cta {
    padding: 30px 26px;
    gap: 14px;
  }

  .final-cta p {
    line-height: 1.55;
  }
}

@media (max-width: 640px) {
  .work-lightbox {
    padding: 12px;
  }

  .work-lightbox__panel {
    max-width: 100%;
    padding: 8px;
    border-radius: 22px;
  }

  .work-lightbox__panel img {
    max-height: calc(92vh - 60px);
    border-radius: 16px;
  }

  .work-lightbox__nav {
    width: 44px;
    height: 44px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5);
  }

  .work-lightbox__nav span {
    width: 11px;
    height: 11px;
    border-top-width: 2px;
    border-right-width: 2px;
  }

  .work-lightbox__nav--prev {
    left: 12px;
    transform: translateY(-50%);
  }

  .work-lightbox__nav--prev:hover {
    transform: translateY(-50%) scale(1.04);
  }

  .work-lightbox__nav--next {
    right: 12px;
    transform: translateY(-50%);
  }

  .work-lightbox__nav--next:hover {
    transform: translateY(-50%) scale(1.04);
  }
}



/* products-page-v1 20260622 */
.products-page .page-hero--products {
  min-height: 660px;
  align-items: center;
  padding-top: 148px;
  padding-bottom: 76px;
  background:
    linear-gradient(112deg, rgba(7, 7, 7, 0.94) 0%, rgba(11, 11, 11, 0.84) 48%, rgba(8, 8, 8, 0.46) 100%),
    url("assets/gallery/atliktas-darbas-02.webp") center / cover;
}

.products-page .page-hero--products::after {
  background:
    radial-gradient(circle at 13% 18%, rgba(243, 112, 58, 0.34), transparent 29%),
    radial-gradient(circle at 82% 78%, rgba(243, 112, 58, 0.18), transparent 26%),
    linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.42));
}

.products-hero__grid {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  align-items: end;
  gap: clamp(36px, 6vw, 94px);
}

.products-hero__content h1 {
  max-width: 820px;
}

.products-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.products-hero__tags span {
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 650;
}

.products-system-card {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 28px;
  background:
    linear-gradient(150deg, rgba(243, 112, 58, 0.18), transparent 56%),
    rgba(18, 18, 18, 0.82);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32);
  backdrop-filter: blur(18px);
}

.products-system-card::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  right: -72px;
  bottom: -78px;
  border: 1px solid rgba(243, 112, 58, 0.45);
  border-radius: 50%;
  box-shadow: 0 0 0 26px rgba(243, 112, 58, 0.05), 0 0 0 52px rgba(243, 112, 58, 0.03);
}

.products-system-card > * {
  position: relative;
  z-index: 1;
}

.products-system-card__label,
.product-detail-card__eyebrow {
  margin: 0;
  color: var(--orange);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.products-system-card h2 {
  max-width: 270px;
  margin: 12px 0 24px;
  color: var(--white);
  font-size: 30px;
  line-height: 1.07;
  letter-spacing: -0.035em;
}

.products-system-card ol {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.products-system-card li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.products-system-card li > span {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(243, 112, 58, 0.15);
  color: var(--orange);
  font-size: 11px;
  font-weight: 760;
}

.products-system-card strong,
.products-system-card small {
  display: block;
}

.products-system-card strong {
  color: var(--white);
  font-size: 14px;
}

.products-system-card small {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  line-height: 1.45;
}

.product-purpose {
  overflow: hidden;
}

.product-purpose__heading {
  margin-bottom: 46px;
}

.product-purpose__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.product-purpose-card {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  padding: 30px;
  border: 1px solid rgba(16, 16, 16, 0.07);
  border-radius: 26px;
  background: var(--white);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.06);
}

.product-purpose-card::after {
  content: "";
  position: absolute;
  width: 172px;
  height: 172px;
  right: -72px;
  bottom: -78px;
  border: 1px solid rgba(243, 112, 58, 0.24);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(243, 112, 58, 0.035), 0 0 0 60px rgba(243, 112, 58, 0.022);
}

.product-purpose-card > * {
  position: relative;
  z-index: 1;
}

.product-purpose-card__index {
  position: absolute;
  top: 26px;
  right: 28px;
  color: rgba(17, 17, 17, 0.25);
  font-size: 13px;
  font-weight: 740;
  letter-spacing: 0.12em;
}

.product-purpose-card h3 {
  max-width: 270px;
  margin: 26px 0 12px;
  font-size: 25px;
  line-height: 1.13;
  letter-spacing: -0.025em;
}

.product-purpose-card p {
  max-width: 350px;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.product-purpose-card__icon {
  position: relative;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: rgba(243, 112, 58, 0.12);
}

.product-purpose-card__icon--penetration i {
  position: absolute;
  width: 7px;
  height: 28px;
  border-radius: 999px;
  background: var(--orange);
  transform: rotate(45deg);
}

.product-purpose-card__icon--penetration i:nth-child(1) { transform: translate(-11px, -8px) rotate(45deg); opacity: 0.44; }
.product-purpose-card__icon--penetration i:nth-child(2) { transform: translate(0, 0) rotate(45deg); }
.product-purpose-card__icon--penetration i:nth-child(3) { transform: translate(11px, 8px) rotate(45deg); opacity: 0.68; }

.product-purpose-card__icon--shield i {
  width: 28px;
  height: 32px;
  border: 3px solid var(--orange);
  border-radius: 15px 15px 18px 18px;
  transform: rotate(45deg);
}

.product-purpose-card__icon--finish i {
  position: absolute;
  width: 30px;
  height: 30px;
  border: 3px solid var(--orange);
  border-radius: 50%;
}

.product-purpose-card__icon--finish i:nth-child(1) { width: 38px; height: 38px; opacity: 0.54; }
.product-purpose-card__icon--finish i:nth-child(2) { width: 22px; height: 22px; background: var(--orange); }

.products-showcase {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 12%, rgba(243, 112, 58, 0.22), transparent 28%),
    radial-gradient(circle at 86% 76%, rgba(243, 112, 58, 0.12), transparent 28%),
    #111;
}

.products-showcase__heading {
  position: relative;
  z-index: 1;
}

.products-showcase__heading p:not(.eyebrow) {
  max-width: 780px;
}

.product-detail-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.product-detail-card {
  display: grid;
  grid-template-columns: minmax(190px, 0.72fr) minmax(0, 1fr);
  overflow: hidden;
  min-height: 365px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 28px;
  background: #1c1c1c;
  color: var(--white);
}

.product-detail-card__visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.22));
}

.product-detail-card__visual::before,
.product-detail-card__visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.product-detail-card__visual::before {
  width: 210px;
  height: 210px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 28px rgba(255, 255, 255, 0.025), 0 0 0 56px rgba(255, 255, 255, 0.018);
}

.product-detail-card__visual::after {
  width: 120px;
  height: 120px;
  background: rgba(243, 112, 58, 0.14);
  filter: blur(18px);
}

.product-detail-card--rust150 .product-detail-card__visual::after { background: rgba(197, 111, 45, 0.21); }
.product-detail-card--216 .product-detail-card__visual::after { background: rgba(180, 143, 89, 0.20); }
.product-detail-card--bronze .product-detail-card__visual::after { background: rgba(180, 113, 58, 0.28); }

.product-can {
  position: relative;
  z-index: 1;
  width: 134px;
  height: 208px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 18px 13px 15px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 14px 14px 18px 18px;
  box-shadow: inset 12px 0 20px rgba(255, 255, 255, 0.08), inset -14px 0 22px rgba(0, 0, 0, 0.2), 0 26px 38px rgba(0, 0, 0, 0.44);
  text-align: center;
}

.product-can::before,
.product-can::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
}

.product-can::before {
  top: 35%;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
}

.product-can::after {
  inset: auto 0 0;
  height: 26px;
  background: rgba(0, 0, 0, 0.18);
}

.product-can--rust80 { background: linear-gradient(160deg, #8b6e48, #4e3e2e 62%, #302419); }
.product-can--rust150 { background: linear-gradient(160deg, #916838, #573b1f 62%, #2d1a0b); }
.product-can--216 { background: linear-gradient(160deg, #806a4b, #42382b 63%, #211d17); }
.product-can--bronze { background: linear-gradient(160deg, #b4743f, #6e401f 62%, #33200f); }

.product-can__cap {
  position: absolute;
  top: -10px;
  width: 76px;
  height: 20px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, #3a3a3a, #171717);
}

.product-can__brand,
.product-can strong,
.product-can__type {
  position: relative;
  z-index: 1;
}

.product-can__brand {
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.product-can strong {
  color: var(--white);
  font-size: 23px;
  line-height: 0.91;
  letter-spacing: -0.065em;
}

.product-can--216 strong {
  font-size: 48px;
}

.product-can__type {
  margin-top: 13px;
  color: rgba(255, 255, 255, 0.73);
  font-size: 8px;
  font-weight: 760;
  letter-spacing: 0.13em;
}

.product-detail-card__body {
  padding: 30px 30px 28px 10px;
}

.product-detail-card__body h3 {
  margin: 11px 0 13px;
  color: var(--white);
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.product-detail-card__body > p:not(.product-detail-card__eyebrow) {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.62;
}

.product-detail-card__body ul {
  display: grid;
  gap: 7px;
  margin: 19px 0 0;
  padding: 0;
  list-style: none;
}

.product-detail-card__body li {
  position: relative;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.81);
  font-size: 13px;
  line-height: 1.46;
}

.product-detail-card__body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.48em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange);
}

.product-system {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(34px, 6vw, 88px);
  align-items: start;
}

.product-system__intro h2 {
  max-width: 500px;
  margin: 0;
  font-size: clamp(38px, 4.1vw, 62px);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.product-system__intro > p:not(.eyebrow) {
  max-width: 525px;
  margin: 25px 0 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.72;
}

.product-system__flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-system__flow article {
  position: relative;
  min-height: 220px;
  padding: 24px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 24px;
  background: var(--white);
}

.product-system__flow span {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--black);
  color: var(--orange);
  font-size: 11px;
  font-weight: 780;
}

.product-system__flow h3 {
  margin: 20px 0 10px;
  font-size: 21px;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.product-system__flow p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.product-system__note {
  grid-column: 2;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  margin-top: 4px;
  padding: 16px 18px;
  border: 1px solid rgba(243, 112, 58, 0.26);
  border-radius: 18px;
  background: rgba(243, 112, 58, 0.07);
}

.product-system__note span {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--orange);
  color: var(--white);
  font-weight: 800;
  font-size: 14px;
}

.product-system__note p {
  margin: 3px 0 0;
  color: #5f4939;
  font-size: 14px;
  line-height: 1.58;
}

.products-cta-section {
  padding-top: 0;
  background: var(--cream);
}

.products-final-cta {
  margin-top: 0;
}

.products-final-cta .eyebrow {
  margin-bottom: 11px;
}

.products-final-cta h2 {
  max-width: 600px;
}

@media (max-width: 1080px) {
  .products-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 340px);
    gap: 34px;
  }

  .product-detail-card {
    grid-template-columns: 165px minmax(0, 1fr);
  }

  .product-detail-card__body {
    padding-left: 0;
  }

  .product-system {
    grid-template-columns: 1fr;
  }

  .product-system__intro h2,
  .product-system__intro > p:not(.eyebrow) {
    max-width: 720px;
  }

  .product-system__note {
    grid-column: auto;
    max-width: 720px;
  }
}

@media (max-width: 820px) {
  .products-page .page-hero--products {
    min-height: auto;
    padding-top: 132px;
  }

  .products-hero__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .products-system-card {
    max-width: 560px;
  }

  .product-purpose__grid,
  .product-detail-grid {
    grid-template-columns: 1fr;
  }

  .product-detail-card {
    grid-template-columns: 178px minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  .products-page .page-hero--products {
    padding: 116px 18px 48px;
  }

  .products-hero__tags {
    gap: 8px;
  }

  .products-hero__tags span {
    padding: 8px 10px;
    font-size: 12px;
  }

  .products-system-card {
    padding: 24px 22px;
    border-radius: 23px;
  }

  .products-system-card h2 {
    font-size: 27px;
  }

  .product-purpose-card {
    min-height: 280px;
    padding: 26px;
  }

  .product-detail-card {
    grid-template-columns: 1fr;
  }

  .product-detail-card__visual {
    min-height: 230px;
  }

  .product-detail-card__body {
    padding: 26px;
  }

  .product-detail-card__body h3 {
    font-size: 28px;
  }

  .product-system__flow {
    grid-template-columns: 1fr;
  }

  .product-system__flow article {
    min-height: 0;
  }

  .product-system__note {
    padding: 15px;
  }
}

/* products-page-v2 20260622 */
.products-page .products-hero__tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 640;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.products-page .products-hero__tags a:hover {
  transform: translateY(-1px);
  border-color: rgba(243, 112, 58, 0.38);
  background: rgba(243, 112, 58, 0.16);
}

.products-overview {
  padding-top: 54px;
  padding-bottom: 20px;
}

.products-overview__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  gap: 22px;
  align-items: stretch;
}

.products-overview__panel > div {
  padding: 32px;
  border-radius: 30px;
  background: var(--white);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.06);
}

.products-overview__panel h2 {
  margin: 10px 0 14px;
  font-size: clamp(32px, 3.6vw, 52px);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.products-overview__panel p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  line-height: 1.72;
}

.products-overview__note {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(243, 112, 58, 0.18);
  background: linear-gradient(180deg, rgba(243, 112, 58, 0.08), rgba(243, 112, 58, 0.03));
}

.products-overview__note strong {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(243, 112, 58, 0.14);
  color: var(--orange);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.products-catalog {
  background:
    radial-gradient(circle at 12% 8%, rgba(243, 112, 58, 0.10), transparent 18%),
    radial-gradient(circle at 88% 92%, rgba(243, 112, 58, 0.08), transparent 24%),
    var(--cream);
}

.products-catalog__list {
  display: grid;
  gap: 28px;
  margin-top: 42px;
}

.product-spec-card {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 32px;
  background: var(--white);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.05);
}

.product-spec-card--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
}

.product-spec-card--reverse .product-spec-card__media {
  order: 2;
}

.product-spec-card--reverse .product-spec-card__content {
  order: 1;
}

.product-spec-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 42px 24px 30px;
  background:
    radial-gradient(circle at 50% 16%, rgba(243, 112, 58, 0.20), transparent 24%),
    linear-gradient(180deg, #111 0%, #171717 100%);
}

.product-spec-card__media::after {
  content: "";
  position: absolute;
  inset: auto 18px 18px;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.product-spec-card__media img {
  width: min(230px, 100%);
  height: auto;
  display: block;
  filter: drop-shadow(0 20px 26px rgba(0, 0, 0, 0.34));
}

.product-spec-card__badge {
  position: absolute;
  top: 22px;
  left: 22px;
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(243, 112, 58, 0.18);
  color: rgba(255, 255, 255, 0.92);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.product-spec-card__content {
  padding: 34px 34px 32px;
}

.product-spec-card__eyebrow {
  margin: 0;
  color: var(--orange);
  font-size: 12px;
  font-weight: 680;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.product-spec-card__content h3 {
  margin: 12px 0 14px;
  font-size: clamp(30px, 3.5vw, 42px);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.product-spec-card__lead {
  margin: 0;
  color: #4b4f57;
  font-size: 17px;
  line-height: 1.78;
}

.product-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.product-spec-item {
  min-height: 142px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 22px;
  background: #faf7f4;
}

.product-spec-item h4 {
  margin: 0 0 8px;
  color: #151515;
  font-size: 14px;
  font-weight: 650;
  letter-spacing: -0.01em;
}

.product-spec-item p {
  margin: 0;
  color: #60666f;
  font-size: 14px;
  line-height: 1.68;
}

@media (max-width: 1080px) {
  .products-overview__panel {
    grid-template-columns: 1fr;
  }

  .product-spec-card,
  .product-spec-card--reverse {
    grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  }

  .product-spec-card--reverse .product-spec-card__media,
  .product-spec-card--reverse .product-spec-card__content {
    order: initial;
  }

  .product-spec-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .products-overview {
    padding-top: 40px;
  }

  .product-spec-card,
  .product-spec-card--reverse {
    grid-template-columns: 1fr;
  }

  .product-spec-card__media {
    min-height: 300px;
    padding-bottom: 34px;
  }

  .product-spec-card__content {
    padding: 30px 24px 24px;
  }
}

@media (max-width: 560px) {
  .products-overview__panel > div {
    padding: 24px;
    border-radius: 24px;
  }

  .products-page .products-hero__tags a {
    padding: 8px 10px;
    font-size: 12px;
  }

  .product-spec-card {
    border-radius: 24px;
  }

  .product-spec-card__media {
    min-height: 250px;
    padding: 48px 18px 24px;
  }

  .product-spec-card__badge {
    top: 18px;
    left: 18px;
    font-size: 11px;
  }

  .product-spec-card__media img {
    width: min(200px, 100%);
  }

  .product-spec-card__content {
    padding: 24px 18px 18px;
  }

  .product-spec-item {
    min-height: 0;
    padding: 16px;
    border-radius: 18px;
  }
}

/* products-page-v3 20260622: compact product information layout */
.products-catalog__heading {
  max-width: 790px;
}

.products-compact-list {
  display: grid;
  gap: 24px;
  margin-top: 38px;
}

.product-compact-card {
  display: grid;
  grid-template-columns: minmax(260px, 305px) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.09);
  border-radius: 30px;
  background: var(--white);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.055);
}

.product-compact-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 350px;
  padding: 48px 24px 32px;
  overflow: hidden;
  background:
    radial-gradient(circle at 52% 20%, rgba(243, 112, 58, 0.20), transparent 24%),
    linear-gradient(155deg, #222 0%, #101010 92%);
}

.product-compact-card__media::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(255, 255, 255, 0.018), 0 0 0 60px rgba(255, 255, 255, 0.012);
}

.product-compact-card__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: min(182px, 75%);
  max-height: 270px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 26px rgba(0, 0, 0, 0.42));
}

.product-compact-card__badge {
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 20px;
  display: inline-flex;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 999px;
  background: rgba(243, 112, 58, 0.18);
  color: rgba(255, 255, 255, 0.92);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.product-compact-card__content {
  padding: 30px 32px 28px;
}

.product-compact-card__intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.product-compact-card__eyebrow {
  margin: 0;
  color: var(--orange);
  font-size: 12px;
  font-weight: 690;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.product-compact-card__content h3 {
  margin: 10px 0 0;
  color: #151515;
  font-size: clamp(31px, 3.2vw, 44px);
  line-height: 0.98;
  letter-spacing: -0.05em;
}
.product-compact-card__lead {
  max-width: 920px;
  margin: 16px 0 0;
  color: #535a64;
  font-size: 16px;
  line-height: 1.7;
}

.product-quick-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0 0;
}

.product-quick-facts > div {
  min-height: 87px;
  padding: 13px 14px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 16px;
  background: #faf8f6;
}

.product-quick-facts dt {
  margin: 0 0 6px;
  color: #171717;
  font-size: 12px;
  font-weight: 700;
}

.product-quick-facts dd {
  margin: 0;
  color: #656b74;
  font-size: 12px;
  line-height: 1.5;
}

.product-info-accordion-group {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}

.product-info-accordion {
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.095);
  border-radius: 16px;
  background: #fff;
}

.product-info-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 54px;
  padding: 0 17px;
  cursor: pointer;
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 680;
  list-style: none;
}

.product-info-accordion summary::-webkit-details-marker {
  display: none;
}

.product-info-accordion summary:hover {
  background: rgba(243, 112, 58, 0.045);
}

.product-info-accordion__icon {
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  background: rgba(243, 112, 58, 0.12);
}

.product-info-accordion__icon::before,
.product-info-accordion__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1.5px;
  border-radius: 99px;
  background: var(--orange);
  transform: translate(-50%, -50%);
}

.product-info-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 180ms ease;
}

.product-info-accordion[open] .product-info-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.product-info-accordion__body {
  display: grid;
  gap: 10px;
  padding: 2px 17px 17px;
  border-top: 1px solid rgba(17, 17, 17, 0.07);
  color: #60666e;
  font-size: 14px;
  line-height: 1.65;
}

.product-info-accordion__body p {
  margin: 11px 0 0;
}

.product-info-accordion__body strong {
  color: #212121;
}

.product-info-accordion--aid {
  border-color: rgba(243, 112, 58, 0.18);
  background: linear-gradient(90deg, rgba(243, 112, 58, 0.055), rgba(243, 112, 58, 0.015));
}

@media (max-width: 1080px) {
  .product-compact-card {
    grid-template-columns: minmax(225px, 270px) minmax(0, 1fr);
  }

  .product-compact-card__media {
    min-height: 320px;
  }

  .product-quick-facts {
    grid-template-columns: 1fr;
  }

  .product-quick-facts > div {
    min-height: 0;
  }
}

@media (max-width: 820px) {
  .product-compact-card {
    grid-template-columns: 1fr;
  }

  .product-compact-card__media {
    min-height: 278px;
  }

  .product-compact-card__media img {
    max-height: 220px;
  }

  .product-quick-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .product-compact-card {
    border-radius: 24px;
  }

  .product-compact-card__content {
    padding: 23px 18px 18px;
  }

  .product-compact-card__intro {
    display: block;
  }
}

/* products-page-v4 20260622: product picker + single detail workspace */
.products-explorer {
  background:
    radial-gradient(circle at 10% 4%, rgba(243, 112, 58, 0.08), transparent 18%),
    linear-gradient(180deg, #fbf8f5 0%, var(--cream) 100%);
}

.products-explorer__heading {
  max-width: 790px;
}

.product-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 36px;
}

.product-picker__item {
  min-width: 0;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 11px 14px 11px 11px;
  border: 1px solid rgba(17, 17, 17, 0.09);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  color: #1b1b1b;
  cursor: pointer;
  text-align: left;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.product-picker__item:hover {
  transform: translateY(-2px);
  border-color: rgba(243, 112, 58, 0.3);
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.06);
}

.product-picker__item.is-active {
  border-color: #191919;
  background: #171717;
  color: var(--white);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

.product-picker__image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(145deg, #272727, #111);
}

.product-picker__image::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
}

.product-picker__image img {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 42px;
  max-height: 62px;
  filter: drop-shadow(0 7px 7px rgba(0, 0, 0, 0.45));
}

.product-picker__copy {
  min-width: 0;
}

.product-picker__copy small,
.product-picker__copy strong {
  display: block;
}

.product-picker__copy small {
  overflow: hidden;
  color: #7a7d82;
  font-size: 10px;
  font-weight: 670;
  letter-spacing: 0.09em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.product-picker__item.is-active .product-picker__copy small {
  color: rgba(255, 255, 255, 0.54);
}

.product-picker__copy strong {
  overflow: hidden;
  margin-top: 5px;
  font-size: 15px;
  font-weight: 680;
  letter-spacing: -0.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-detail-stage {
  margin-top: 22px;
}

.product-detail-panel {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.09);
  border-radius: 32px;
  background: var(--white);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.055);
}

.product-detail-panel__visual {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  padding: 54px 28px 32px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(243, 112, 58, 0.20), transparent 27%),
    radial-gradient(circle at 50% 68%, rgba(255, 255, 255, 0.76), transparent 37%),
    linear-gradient(150deg, #f7f0eb, #e6ded8);
}

.product-detail-panel__visual::before {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  border: 1px solid rgba(34, 34, 34, 0.10);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(34, 34, 34, 0.025), 0 0 0 60px rgba(34, 34, 34, 0.016);
}
.product-detail-panel__image {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(235px, 76%);
  height: 350px;
}

.product-detail-panel__image img {
  display: block;
  max-width: 100%;
  max-height: 340px;
  filter: drop-shadow(0 18px 18px rgba(0, 0, 0, 0.27));
}

.product-detail-panel__visual > p {
  position: relative;
  z-index: 1;
  margin: 14px 0 0;
  color: #6d625e;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-detail-panel__content {
  padding: 34px 38px 34px;
}

.product-detail-panel__topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.product-detail-panel__eyebrow {
  margin: 0;
  color: var(--orange);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.product-detail-panel__content h3 {
  margin: 11px 0 14px;
  color: #151515;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.product-detail-panel__lead {
  max-width: 940px;
  margin: 0;
  color: #535a64;
  font-size: 17px;
  line-height: 1.72;
}

.product-detail-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 25px 0 0;
  border-top: 1px solid rgba(17, 17, 17, 0.10);
  border-bottom: 1px solid rgba(17, 17, 17, 0.10);
}

.product-detail-summary > div {
  min-height: 104px;
  padding: 18px 18px 17px 0;
}

.product-detail-summary > div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(17, 17, 17, 0.10);
}

.product-detail-summary dt {
  margin: 0 0 7px;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 700;
}

.product-detail-summary dd {
  margin: 0;
  color: #666c75;
  font-size: 13px;
  line-height: 1.55;
}

.product-detail-tabs {
  display: inline-flex;
  gap: 4px;
  margin-top: 24px;
  padding: 4px;
  border: 1px solid rgba(17, 17, 17, 0.09);
  border-radius: 15px;
  background: #f7f5f3;
}

.product-detail-tabs button {
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #5d626b;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 660;
  padding: 10px 14px;
  transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.product-detail-tabs button:hover {
  color: #1a1a1a;
}

.product-detail-tabs button.is-active {
  background: var(--white);
  color: #191919;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
}

.product-detail-tab-panels {
  margin-top: 14px;
}

.product-detail-tab-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-height: 153px;
  padding: 19px 20px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 20px;
  background: #fbfaf9;
}

.product-detail-tab-panel[hidden] {
  display: none;
}

.product-detail-tab-panel > div {
  padding-right: 18px;
}

.product-detail-tab-panel > div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(17, 17, 17, 0.08);
}

.product-detail-tab-panel > div:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.product-detail-tab-panel strong {
  display: block;
  color: #1c1c1c;
  font-size: 14px;
  font-weight: 700;
}

.product-detail-tab-panel p {
  margin: 8px 0 0;
  color: #60666f;
  font-size: 14px;
  line-height: 1.66;
}

.product-detail-tab-panel--safety {
  background: linear-gradient(135deg, rgba(243, 112, 58, 0.08), rgba(255, 255, 255, 0.75));
  border-color: rgba(243, 112, 58, 0.18);
}

@media (max-width: 1120px) {
  .product-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-detail-panel {
    grid-template-columns: minmax(235px, 300px) minmax(0, 1fr);
  }

  .product-detail-panel__content {
    padding: 30px;
  }

  .product-detail-summary {
    grid-template-columns: 1fr;
  }

  .product-detail-summary > div,
  .product-detail-summary > div + div {
    min-height: 0;
    padding: 14px 0;
    border-left: 0;
  }

  .product-detail-summary > div + div {
    border-top: 1px solid rgba(17, 17, 17, 0.08);
  }
}

@media (max-width: 820px) {
  .product-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-detail-panel {
    grid-template-columns: 1fr;
  }

  .product-detail-panel__visual {
    min-height: 310px;
  }

  .product-detail-panel__image {
    height: 230px;
  }

  .product-detail-panel__image img {
    max-height: 226px;
  }
}

@media (max-width: 560px) {
  .product-picker {
    display: flex;
    gap: 10px;
    margin-inline: -4px;
    padding: 2px 4px 7px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .product-picker__item {
    flex: 0 0 194px;
  }

  .product-detail-panel {
    border-radius: 24px;
  }

  .product-detail-panel__visual {
    min-height: 270px;
    padding: 50px 18px 24px;
  }
}

/* products-page-v5 20260622: sequential product panels + full visual media */
.product-detail-stage {
  display: grid;
  gap: 30px;
  margin-top: 40px;
}

.product-detail-panel {
  grid-template-columns: minmax(340px, 0.82fr) minmax(0, 1.45fr);
  align-items: stretch;
}

.product-detail-panel__visual {
  align-self: stretch;
  min-height: 620px;
  padding: 0;
  background: #eee7e2;
}

.product-detail-panel__visual::before {
  display: none;
}

.product-detail-panel__image {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
}

.product-detail-panel__image img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  filter: none;
}
.product-detail-tabs {
  display: flex;
  flex-wrap: wrap;
}

.product-detail-tabs button {
  min-height: 42px;
}

.product-detail-tab-panel--aid {
  background: linear-gradient(135deg, rgba(243, 112, 58, 0.10), rgba(255, 250, 246, 0.92));
  border-color: rgba(243, 112, 58, 0.22);
}

@media (max-width: 1120px) {
  .product-detail-panel {
    grid-template-columns: minmax(280px, 0.76fr) minmax(0, 1.24fr);
  }

  .product-detail-panel__visual {
    min-height: 560px;
  }
}

@media (max-width: 820px) {
  .product-detail-stage {
    gap: 22px;
    margin-top: 28px;
  }

  .product-detail-panel {
    grid-template-columns: 1fr;
  }

  .product-detail-panel__visual {
    min-height: 460px;
  }
}

@media (max-width: 560px) {
  .product-detail-panel__visual {
    min-height: 370px;
  }

  .product-detail-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .product-detail-tabs button {
    min-height: 46px;
    padding: 9px 8px;
    font-size: 12px;
    line-height: 1.18;
  }
}


/* products-image-balanced-v9 20260622 */
.products-page .product-detail-panel {
  grid-template-columns: clamp(250px, 19vw, 300px) minmax(0, 1fr);
  align-items: stretch;
}

.products-page .product-detail-panel__visual {
  min-height: 0;
  padding: 24px 20px;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 24%, rgba(243, 112, 58, 0.28), transparent 34%),
    radial-gradient(circle at 50% 78%, rgba(255, 255, 255, 0.08), transparent 36%),
    linear-gradient(180deg, #231b18 0%, #171210 100%);
}

.products-page .product-detail-panel__image {
  position: relative;
  inset: auto;
  z-index: 1;
  width: min(214px, 84%);
  min-height: 390px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.products-page .product-detail-panel__image img {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 430px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 22px 24px rgba(0, 0, 0, 0.34));
}

.products-page .product-detail-panel__content {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 32px 34px 30px;
}

.products-page .product-detail-summary {
  margin-top: 24px;
}

.products-page .product-detail-summary > div {
  min-height: 92px;
  padding-top: 16px;
  padding-bottom: 16px;
}

.products-page .product-detail-tabs {
  margin-top: 20px;
}

.products-page .product-detail-tab-panel {
  min-height: 0;
  padding: 18px 20px;
}

/* platesnei RUST STOP 80 skaidriai drobei reikia kiek daugiau vietos */
.products-page [data-product-panel="rust80"] .product-detail-panel__image {
  width: min(240px, 92%);
}

@media (max-width: 1120px) {
  .products-page .product-detail-panel {
    grid-template-columns: clamp(230px, 27vw, 280px) minmax(0, 1fr);
  }

  .products-page .product-detail-panel__visual {
    padding: 22px 18px;
  }

  .products-page .product-detail-panel__image {
    width: min(196px, 82%);
    min-height: 350px;
  }

  .products-page .product-detail-panel__image img {
    max-height: 390px;
  }

  .products-page [data-product-panel="rust80"] .product-detail-panel__image {
    width: min(220px, 94%);
  }
}

@media (max-width: 820px) {
  .products-page .product-detail-panel {
    grid-template-columns: 1fr;
  }

  .products-page .product-detail-panel__visual {
    min-height: 0;
    padding: 54px 18px 24px;
  }

  .products-page .product-detail-panel__image {
    width: min(210px, 54%);
    min-height: 300px;
  }

  .products-page .product-detail-panel__image img {
    max-height: 320px;
  }

  .products-page [data-product-panel="rust80"] .product-detail-panel__image {
    width: min(240px, 68%);
  }
}

@media (max-width: 560px) {
  .products-page .product-detail-panel__visual {
    padding: 52px 16px 18px;
  }

  .products-page .product-detail-panel__image {
    width: min(176px, 64%);
    min-height: 250px;
  }

  .products-page .product-detail-panel__image img {
    max-height: 255px;
  }

  .products-page [data-product-panel="rust80"] .product-detail-panel__image {
    width: min(210px, 78%);
  }
}


/* products-panel-refinement-v10 20260622 */
/* Labels removed; tabs are intentionally compact rather than stretching across the panel. */
.products-page .product-detail-tabs {
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  margin-top: 20px;
}

/* RUST STOP 80 source had a much wider transparent canvas than the other packshots.
   The updated asset is cropped, while this small final adjustment keeps its visible can equal in scale. */
.products-page [data-product-panel="rust80"] .product-detail-panel__image {
  width: min(226px, 88%);
}

.products-page [data-product-panel="rust80"] .product-detail-panel__image img {
  max-height: 450px;
}

@media (max-width: 1120px) {
  .products-page [data-product-panel="rust80"] .product-detail-panel__image {
    width: min(208px, 90%);
  }

  .products-page [data-product-panel="rust80"] .product-detail-panel__image img {
    max-height: 412px;
  }
}

@media (max-width: 820px) {
  .products-page [data-product-panel="rust80"] .product-detail-panel__image {
    width: min(222px, 64%);
  }

  .products-page [data-product-panel="rust80"] .product-detail-panel__image img {
    max-height: 330px;
  }
}

@media (max-width: 560px) {
  .products-page .product-detail-tabs {
    align-self: stretch;
    width: 100%;
  }

  .products-page [data-product-panel="rust80"] .product-detail-panel__image {
    width: min(192px, 72%);
  }

  .products-page [data-product-panel="rust80"] .product-detail-panel__image img {
    max-height: 270px;
  }
}


/* products-tab-height-stable-v13 20260622 */
/* JS nustato konkretų kiekvieno produkto aukštį pagal ilgiausią jo skirtuko tekstą.
   CSS paliekamas tik saugus minimalus aukštis, kad nebūtų tuščių blokų. */
.products-page .product-detail-tab-panels {
  min-height: 136px;
}

.products-page .product-detail-tab-panel {
  height: auto;
  min-height: 136px;
  align-content: start;
  box-sizing: border-box;
}

@media (max-width: 1120px) {
  .products-page .product-detail-tab-panels,
  .products-page .product-detail-tab-panel {
    min-height: 154px;
  }
}

@media (max-width: 820px) {
  .products-page .product-detail-tab-panels,
  .products-page .product-detail-tab-panel {
    min-height: 0;
  }
}

/* products-hero-layout-v14 20260623 */
.products-page .page-hero--products {
  min-height: 760px;
  padding-top: 160px;
  padding-bottom: 72px;
}

.products-page .page-hero--products > .products-hero__grid {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  grid-template-columns: minmax(0, 1fr) 380px;
  align-items: end;
  gap: clamp(48px, 5vw, 96px);
}

.products-page .products-hero__content {
  max-width: 880px;
  align-self: end;
}

.products-page .products-hero__content h1 {
  max-width: 820px;
  font-size: clamp(46px, 5.35vw, 78px);
  line-height: 1.035;
  letter-spacing: -0.04em;
}

.products-page .products-hero__content .page-hero__lead {
  max-width: 700px;
}

.products-page .products-system-card {
  width: 100%;
  max-width: 380px;
  justify-self: end;
  align-self: end;
}

@media (max-width: 1120px) {
  .products-page .page-hero--products {
    min-height: 700px;
  }

  .products-page .page-hero--products > .products-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 340px);
    gap: 34px;
  }

  .products-page .products-hero__content h1 {
    max-width: 680px;
    font-size: clamp(44px, 5.4vw, 64px);
  }
}

@media (max-width: 820px) {
  .products-page .page-hero--products {
    min-height: auto;
    padding-top: 140px;
    padding-bottom: 58px;
  }

  .products-page .page-hero--products > .products-hero__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .products-page .products-hero__content h1 {
    max-width: 720px;
  }

  .products-page .products-system-card {
    justify-self: start;
    max-width: 560px;
  }
}

@media (max-width: 560px) {
  .products-page .page-hero--products {
    padding-top: 120px;
    padding-bottom: 48px;
  }

  .products-page .products-hero__content h1 {
    font-size: clamp(40px, 12vw, 54px);
  }
}

/* contact-centres-navigator-v1 20260623 */
.contact-hero {
  min-height: 620px;
  align-items: center;
  padding-top: 142px;
  padding-bottom: 74px;
}

.contact-hero > .contact-hero__grid {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 370px);
  align-items: end;
  gap: clamp(42px, 7vw, 132px);
}

.contact-hero__content h1 {
  max-width: 760px;
}

.contact-hero__content .page-hero__lead {
  max-width: 680px;
}

.contact-hero__card {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 28px;
  background:
    linear-gradient(150deg, rgba(243, 112, 58, 0.17), transparent 48%),
    rgba(19, 17, 16, 0.80);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.32);
  backdrop-filter: blur(16px);
}

.contact-hero__card-label {
  display: inline-flex;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--orange);
  background: rgba(243, 112, 58, 0.12);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.contact-hero__card h2 {
  max-width: 260px;
  margin: 18px 0 12px;
  color: var(--white);
  font-size: 34px;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.contact-hero__card > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.65;
}

.contact-hero__facts {
  display: grid;
  gap: 0;
  margin-top: 22px;
}

.contact-hero__facts span {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 630;
}

.contact-hero__facts b {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--orange);
  background: rgba(243, 112, 58, 0.13);
  font-size: 10px;
}

.centres-navigator {
  /* Desktop sections have generous top padding, so a small anchor offset keeps
     the heading and map close to the header without covering the content. */
  scroll-margin-top: 18px;
  background:
    radial-gradient(circle at 78% 14%, rgba(243, 112, 58, 0.08), transparent 28%),
    var(--cream);
}

@media (max-width: 980px) {
  /* On mobile the shorter section padding needs a larger clear area below the
     fixed header, while still bringing the map noticeably higher into view. */
  .centres-navigator {
    scroll-margin-top: 72px;
  }
}

.centres-navigator__heading {
  max-width: 780px;
}

.centres-navigator__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, 0.88fr);
  gap: clamp(20px, 3vw, 38px);
  align-items: stretch;
}

.centres-map {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.07);
  border-radius: 32px;
  background:
    radial-gradient(circle at 10% 18%, rgba(243, 112, 58, 0.26), transparent 26%),
    radial-gradient(circle at 88% 78%, rgba(243, 112, 58, 0.13), transparent 28%),
    linear-gradient(145deg, #1e1a18, #11100f 72%);
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.16);
}

.centres-map::after {
  content: "";
  position: absolute;
  inset: 50% -18% auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.13), transparent);
  transform: rotate(-11deg);
  pointer-events: none;
}

.centres-map__topline {
  position: absolute;
  z-index: 2;
  top: 26px;
  left: 28px;
  right: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  font-weight: 690;
}

.centres-map__topline span {
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.centres-map__topline small {
  color: rgba(255, 255, 255, 0.50);
  font-size: 12px;
  font-weight: 560;
}

.centres-map__shape {
  position: absolute;
  inset: 70px 4% 26px;
  width: 92%;
  height: calc(100% - 96px);
}

.centres-map__pin {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  color: rgba(255, 255, 255, 0.82);
  background: transparent;
  cursor: pointer;
  font: inherit;
  transform: translate(-50%, -50%);
}

.centres-map__pin span {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border: 3px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 7px rgba(243, 112, 58, 0.14), 0 5px 14px rgba(0, 0, 0, 0.34);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.centres-map__pin em {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(12, 11, 10, 0.68);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  backdrop-filter: blur(6px);
  transition: color 180ms ease, background 180ms ease;
}

.centres-map__pin:hover span,
.centres-map__pin.is-active span {
  transform: scale(1.23);
  background: var(--white);
  box-shadow: 0 0 0 9px rgba(243, 112, 58, 0.22), 0 7px 18px rgba(0, 0, 0, 0.36);
}

.centres-map__pin:hover em,
.centres-map__pin.is-active em {
  color: var(--white);
  background: var(--orange);
}

.centres-map__pin:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 5px;
  border-radius: 10px;
}

.centres-map__pin--klaipeda { left: 20%; top: 55%; }
.centres-map__pin--taurage { left: 30%; top: 75%; }
.centres-map__pin--siauliai { left: 46%; top: 36%; }
.centres-map__pin--panevezys { left: 64%; top: 40%; }
.centres-map__pin--utena { left: 78%; top: 32%; }
.centres-map__pin--kaunas { left: 48%; top: 65%; }
.centres-map__pin--marijampole { left: 41%; top: 82%; }
.centres-map__pin--vilnius { left: 74%; top: 72%; }

.centre-active-wrap {
  min-width: 0;
}

.centre-active-card {
  height: 100%;
  padding: clamp(28px, 3vw, 38px);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 32px;
  background: var(--white);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.06);
}

.centre-active-card[hidden] {
  display: none !important;
}

.centre-active-card__eyebrow {
  margin: 0;
  color: var(--orange);
  font-size: 12px;
  font-weight: 710;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.centre-active-card__title {
  margin: 11px 0 12px;
  color: #171717;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.centre-active-card__intro {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.centre-active-card__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 26px 0 0;
  border-top: 1px solid rgba(17, 17, 17, 0.09);
  border-bottom: 1px solid rgba(17, 17, 17, 0.09);
}

.centre-active-card__details > div {
  min-height: 94px;
  padding: 17px 16px 17px 0;
}

.centre-active-card__details > div:nth-child(even) {
  padding-left: 16px;
  border-left: 1px solid rgba(17, 17, 17, 0.09);
}

.centre-active-card__details > div:nth-child(n + 3) {
  border-top: 1px solid rgba(17, 17, 17, 0.09);
}

.centre-active-card__details dt {
  margin: 0 0 7px;
  color: #191919;
  font-size: 12px;
  font-weight: 720;
}

.centre-active-card__details dd {
  margin: 0;
  color: #626874;
  font-size: 15px;
  line-height: 1.58;
}

.centre-active-card__details a {
  color: #464b54;
  text-decoration-color: rgba(243, 112, 58, 0.58);
  text-underline-offset: 3px;
}

.centre-active-card__details a:hover {
  color: var(--orange);
}

.centre-active-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.centre-active-card__actions .btn--outline {
  border: 1px solid rgba(17, 17, 17, 0.18);
  background: transparent;
  color: #202020;
}

.centre-active-card__actions .btn--outline:hover {
  border-color: var(--orange);
  background: rgba(243, 112, 58, 0.08);
  transform: translateY(-2px);
}

.centres-navigator__city-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.centres-navigator__city-list button {
  padding: 10px 14px;
  border: 1px solid rgba(17, 17, 17, 0.11);
  border-radius: 999px;
  color: #343941;
  background: var(--white);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.centres-navigator__city-list button:hover,
.centres-navigator__city-list button.is-active {
  border-color: var(--orange);
  color: var(--white);
  background: var(--orange);
  transform: translateY(-1px);
}

.centres-directory {
  padding-top: 30px;
}

.centres-directory__heading {
  margin-bottom: 30px;
}

.centres-directory__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.centre-directory-card {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.045);
}

.centre-directory-card > span {
  color: var(--orange);
  font-size: 12px;
  font-weight: 730;
  letter-spacing: 0.13em;
}

.centre-directory-card h3 {
  margin: 16px 0 9px;
  color: #181818;
  font-size: 24px;
  letter-spacing: -0.035em;
}

.centre-directory-card p {
  min-height: 47px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.58;
}

.centre-directory-card > a {
  margin-top: 12px;
  color: #282828;
  font-size: 14px;
  font-weight: 680;
  text-decoration: none;
}

.centre-directory-card > a:hover {
  color: var(--orange);
}

.centre-directory-card button {
  margin-top: auto;
  padding: 12px 0 0;
  border: 0;
  color: #595f68;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 690;
}

.centre-directory-card button::after {
  content: " →";
  color: var(--orange);
}

.centre-directory-card button:hover,
.centre-directory-card button.is-active {
  color: var(--orange);
}

.contact-final-cta {
  margin-top: 26px;
}

@media (max-width: 1180px) {
  .contact-hero > .contact-hero__grid {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 38px;
  }

  .centres-navigator__layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.88fr);
  }

  .centres-directory__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .contact-hero {
    min-height: auto;
    padding-top: 132px;
  }

  .contact-hero > .contact-hero__grid,
  .centres-navigator__layout {
    grid-template-columns: 1fr;
  }

  .contact-hero__card {
    max-width: 620px;
  }

  .centres-map {
    min-height: 500px;
  }

  .centre-active-card {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .contact-hero {
    padding: 118px 18px 48px;
  }

  .contact-hero__card {
    padding: 24px;
    border-radius: 24px;
  }

  .contact-hero__card h2 {
    font-size: 30px;
  }

  .centres-map {
    min-height: 420px;
    border-radius: 24px;
  }

  .centres-map__topline {
    top: 20px;
    left: 20px;
    right: 20px;
  }

  .centres-map__topline small {
    display: none;
  }

  .centres-map__shape {
    inset: 62px 0 16px;
    width: 100%;
    height: calc(100% - 78px);
  }

  .centres-map__pin {
    gap: 3px;
  }

  .centres-map__pin span {
    width: 12px;
    height: 12px;
    border-width: 2px;
  }

  .centres-map__pin em {
    padding: 4px 5px;
    font-size: 9px;
  }

  .centres-map__pin--klaipeda { left: 17%; top: 55%; }
  .centres-map__pin--taurage { left: 28%; top: 75%; }
  .centres-map__pin--siauliai { left: 44%; top: 37%; }
  .centres-map__pin--panevezys { left: 64%; top: 40%; }
  .centres-map__pin--utena { left: 79%; top: 32%; }
  .centres-map__pin--kaunas { left: 48%; top: 65%; }
  .centres-map__pin--marijampole { left: 40%; top: 82%; }
  .centres-map__pin--vilnius { left: 75%; top: 72%; }

  .centre-active-card {
    padding: 24px 20px;
    border-radius: 24px;
  }

  .centre-active-card__details {
    grid-template-columns: 1fr;
  }

  .centre-active-card__details > div,
  .centre-active-card__details > div:nth-child(even) {
    min-height: 0;
    padding: 14px 0;
    border-left: 0;
  }

  .centre-active-card__details > div + div {
    border-top: 1px solid rgba(17, 17, 17, 0.09);
  }

  .centres-navigator__city-list {
    gap: 8px;
  }

  .centres-navigator__city-list button {
    padding: 9px 12px;
    font-size: 12px;
  }

  .centres-directory__grid {
    grid-template-columns: 1fr;
  }

  .centre-directory-card {
    min-height: 0;
  }
}

/* contact-centres-navigator-v2 20260623: real interactive map */
.centres-map.centres-map--leaflet {
  min-height: 560px;
  isolation: isolate;
  border-color: rgba(23, 31, 25, 0.14);
  background: #e8eee8;
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.10);
}

.centres-map.centres-map--leaflet::after {
  display: none;
}

.centres-map__canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.centres-map__topline {
  z-index: 550;
  top: 20px;
  left: 20px;
  right: auto;
  gap: 13px;
  width: fit-content;
  padding: 10px 13px;
  border: 1px solid rgba(30, 34, 31, 0.11);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 9px 20px rgba(0, 0, 0, 0.10);
  color: #252725;
  pointer-events: none;
  backdrop-filter: blur(8px);
}

.centres-map__topline span {
  font-size: 11px;
  letter-spacing: 0.11em;
}

.centres-map__topline small {
  color: #6c756c;
  font-size: 11px;
}

.centres-map__hint {
  position: absolute;
  z-index: 550;
  right: 18px;
  bottom: 14px;
  max-width: 250px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid rgba(30, 34, 31, 0.10);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.90);
  color: #545e55;
  font-size: 12px;
  line-height: 1.35;
  box-shadow: 0 7px 16px rgba(0, 0, 0, 0.08);
  pointer-events: none;
  backdrop-filter: blur(8px);
}

.centres-map--leaflet .leaflet-container {
  width: 100%;
  height: 100%;
  background: #e8eee8;
  font-family: inherit;
}

.centres-map--leaflet .leaflet-control-zoom {
  margin: 18px 18px 0 0;
  overflow: hidden;
  border: 1px solid rgba(25, 31, 27, 0.14);
  border-radius: 13px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}

.centres-map--leaflet .leaflet-control-zoom a {
  width: 34px;
  height: 34px;
  border: 0;
  color: #252825;
  background: rgba(255, 255, 255, 0.95);
  font-size: 20px;
  line-height: 34px;
}

.centres-map--leaflet .leaflet-control-zoom a:hover {
  color: var(--orange);
  background: var(--white);
}

.centres-map--leaflet .leaflet-control-attribution {
  padding: 3px 7px;
  border-radius: 8px 0 0 0;
  background: rgba(255, 255, 255, 0.82);
  color: #6f776e;
  font-size: 10px;
}

.centres-map--leaflet .leaflet-control-attribution a {
  color: #586659;
}

.suvo-leaflet-marker {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.suvo-map-marker {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transform: translate(-50%, -50%);
  cursor: pointer;
  pointer-events: auto;
}

.suvo-map-marker__core {
  position: relative;
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  border: 3px solid var(--white);
  border-radius: 50% 50% 50% 0;
  background: var(--orange);
  box-shadow: 0 0 0 5px rgba(243, 112, 58, 0.19), 0 7px 15px rgba(45, 31, 22, 0.30);
  transform: rotate(-45deg);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.suvo-map-marker__core::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--white);
  transform: translate(-50%, -50%);
}

.suvo-map-marker__label {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 8px;
  border: 1px solid rgba(27, 34, 29, 0.13);
  border-radius: 999px;
  color: #263027;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 5px 12px rgba(31, 38, 32, 0.12);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: color 180ms ease, background 180ms ease, box-shadow 180ms ease;
  backdrop-filter: blur(6px);
}

.suvo-leaflet-marker:hover .suvo-map-marker__core,
.suvo-leaflet-marker.is-active .suvo-map-marker__core {
  background: #d95724;
  box-shadow: 0 0 0 8px rgba(243, 112, 58, 0.26), 0 10px 20px rgba(45, 31, 22, 0.34);
  transform: rotate(-45deg) scale(1.18);
}

.suvo-leaflet-marker:hover .suvo-map-marker__label,
.suvo-leaflet-marker.is-active .suvo-map-marker__label {
  border-color: var(--orange);
  color: var(--white);
  background: var(--orange);
  box-shadow: 0 7px 16px rgba(243, 112, 58, 0.30);
}

@media (max-width: 920px) {
  .centres-map.centres-map--leaflet {
    min-height: 510px;
  }
}

@media (max-width: 620px) {
  .centres-map.centres-map--leaflet {
    min-height: 440px;
  }

  .centres-map__topline {
    top: 14px;
    left: 14px;
    padding: 8px 10px;
  }

  .centres-map__topline small,
  .centres-map__hint {
    display: none;
  }

  .centres-map--leaflet .leaflet-control-zoom {
    margin: 14px 14px 0 0;
  }

  .centres-map--leaflet .leaflet-control-zoom a {
    width: 31px;
    height: 31px;
    font-size: 18px;
    line-height: 31px;
  }

  .suvo-map-marker {
    gap: 4px;
  }

  .suvo-map-marker__core {
    width: 15px;
    height: 15px;
    border-width: 2px;
  }

  .suvo-map-marker__label {
    min-height: 21px;
    padding: 4px 6px;
    font-size: 9px;
  }
}

/* contact-centres-navigator-v3 20260623: clean dark map + address-pinned markers */
.centres-navigator__layout {
  align-items: start;
}

.centres-map.centres-map--leaflet {
  min-height: 590px;
  border-color: rgba(17, 17, 17, 0.14);
  background: #151515;
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.18);
}

.centres-map__canvas {
  position: absolute;
  inset: 0;
}

.centres-map--leaflet .leaflet-container {
  background: #151515;
  font-family: inherit;
}

.centres-map--leaflet .leaflet-tile-pane {
  filter: saturate(0.76) contrast(1.04) brightness(0.90);
}

.centres-map--leaflet .leaflet-control-attribution {
  padding: 3px 7px;
  border-radius: 8px 0 0 0;
  background: rgba(15, 15, 15, 0.72);
  color: rgba(255, 255, 255, 0.46);
  font-size: 10px;
}

.centres-map--leaflet .leaflet-control-attribution a {
  color: rgba(255, 255, 255, 0.65);
}

.suvo-leaflet-marker {
  width: 36px !important;
  height: 48px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.suvo-map-marker {
  display: block;
  width: 36px;
  height: 48px;
  cursor: pointer;
  filter: drop-shadow(0 7px 10px rgba(0, 0, 0, 0.42));
  transform-origin: 50% 92%;
  transition: transform 180ms ease, filter 180ms ease;
}

.suvo-map-marker svg {
  display: block;
  width: 100%;
  height: 100%;
}

.suvo-map-marker__pin {
  fill: var(--orange);
  stroke: rgba(255, 255, 255, 0.96);
  stroke-width: 2.4;
  transition: fill 180ms ease;
}

.suvo-map-marker__dot {
  fill: #ffffff;
}

.suvo-leaflet-marker:hover .suvo-map-marker,
.suvo-leaflet-marker.is-active .suvo-map-marker {
  transform: scale(1.16);
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0)) drop-shadow(0 0 13px rgba(243, 112, 58, 0.62)) drop-shadow(0 10px 14px rgba(0, 0, 0, 0.50));
}

.suvo-leaflet-marker:hover .suvo-map-marker__pin,
.suvo-leaflet-marker.is-active .suvo-map-marker__pin {
  fill: #ff8a58;
}

.centre-active-card {
  height: auto;
}

.centre-active-card--directory {
  min-height: 590px;
  display: flex;
  flex-direction: column;
}

.centre-active-card--directory .centre-active-card__title {
  max-width: 480px;
}

.centre-active-card__directory {
  display: grid;
  gap: 0;
  max-height: 390px;
  margin-top: 24px;
  overflow-y: auto;
  border-top: 1px solid rgba(17, 17, 17, 0.09);
  border-bottom: 1px solid rgba(17, 17, 17, 0.09);
  scrollbar-width: thin;
  scrollbar-color: rgba(243, 112, 58, 0.55) transparent;
}

.centre-active-card__directory button {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 2px;
  border: 0;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  color: #24272d;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: color 160ms ease, padding 160ms ease;
}

.centre-active-card__directory button:last-child {
  border-bottom: 0;
}

.centre-active-card__directory button:hover {
  padding-left: 8px;
  color: var(--orange);
}

.centre-active-card__directory span {
  display: grid;
  gap: 3px;
}

.centre-active-card__directory strong {
  font-size: 15px;
  font-weight: 720;
}

.centre-active-card__directory small {
  color: #737985;
  font-size: 13px;
  line-height: 1.35;
}

.centre-active-card__directory i {
  color: var(--orange);
  font-size: 18px;
  font-style: normal;
  transition: transform 160ms ease;
}

.centre-active-card__directory button:hover i {
  transform: translateX(3px);
}

.contact-help-section {
  padding-top: 0;
}

@media (max-width: 1180px) {
  .centres-map.centres-map--leaflet,
  .centre-active-card--directory {
    min-height: 550px;
  }
}

@media (max-width: 920px) {
  .centres-map.centres-map--leaflet {
    min-height: 500px;
  }

  .centre-active-card--directory {
    min-height: 0;
  }

  .centre-active-card__directory {
    max-height: 420px;
  }
}

@media (max-width: 620px) {
  .centres-map.centres-map--leaflet {
    min-height: 410px;
    border-radius: 24px;
  }


  .centre-active-card__directory {
    max-height: 390px;
  }
}


/* contact-centres-navigator-v4 20260623: compact directory and matched desktop panels */
@media (min-width: 921px) {
  .centres-navigator__layout {
    align-items: stretch;
  }

  .centres-map.centres-map--leaflet,
  .centre-active-wrap {
    height: 590px;
    min-height: 590px;
  }

  .centre-active-wrap {
    display: flex;
    min-width: 0;
  }

  .centre-active-wrap > .centre-active-card {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

.centre-active-card--directory {
  justify-content: flex-start;
}

.centre-active-card__directory {
  margin-top: 0;
  max-height: none;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.centre-active-card__directory button {
  box-sizing: border-box;
  padding: 14px 10px;
  transform: translateX(0);
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.centre-active-card__directory button:hover {
  padding-left: 10px;
  color: var(--orange);
  background: rgba(243, 112, 58, 0.055);
  transform: translateX(5px);
}

.centre-active-card__directory span,
.centre-active-card__directory i {
  transition: transform 160ms ease;
}

.centre-active-card__directory button:hover i {
  transform: translateX(3px);
}

@media (min-width: 921px) and (max-width: 1180px) {
  .centres-map.centres-map--leaflet,
  .centre-active-wrap {
    height: 550px;
    min-height: 550px;
  }
}

@media (max-width: 920px) {
  .centre-active-wrap {
    height: auto;
    min-height: 0;
  }

  .centre-active-wrap > .centre-active-card {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .centre-active-card__directory {
    max-height: 420px;
    overflow-y: auto;
  }
}

/* contact-centres-navigator-v5 20260623: lighter map, fixed pins, back control and bounded zoom */
.centres-map.centres-map--leaflet {
  background: #e4ddd5;
  border-color: rgba(38, 28, 22, 0.16);
  box-shadow: 0 24px 56px rgba(49, 31, 20, 0.13);
}

.centres-map--leaflet .leaflet-container {
  background: #e4ddd5;
}

.centres-map--leaflet .leaflet-tile-pane {
  filter: sepia(0.12) saturate(0.72) contrast(0.96) brightness(0.98);
}

.centres-map--leaflet .leaflet-control-zoom {
  margin: 16px 16px 0 0;
  border-color: rgba(53, 39, 29, 0.16);
  box-shadow: 0 8px 18px rgba(38, 24, 16, 0.16);
}

.centres-map--leaflet .leaflet-control-zoom a {
  color: #3d3029;
  background: rgba(255, 252, 249, 0.94);
}

.centres-map--leaflet .leaflet-control-zoom a:hover {
  color: var(--orange);
  background: #fff;
}

.centres-map--leaflet .leaflet-control-attribution {
  background: rgba(255, 252, 249, 0.74);
  color: rgba(61, 48, 41, 0.66);
}

.centres-map--leaflet .leaflet-control-attribution a {
  color: rgba(96, 67, 46, 0.85);
}

/* The marker stays anchored to the exact coordinate; hover only changes emphasis. */
.suvo-map-marker,
.suvo-leaflet-marker:hover .suvo-map-marker,
.suvo-leaflet-marker.is-active .suvo-map-marker {
  transform: none !important;
}

.suvo-leaflet-marker:hover .suvo-map-marker,
.suvo-leaflet-marker.is-active .suvo-map-marker {
  filter: drop-shadow(0 0 11px rgba(243, 112, 58, 0.52)) drop-shadow(0 9px 13px rgba(0, 0, 0, 0.38));
}

.suvo-leaflet-marker:hover .suvo-map-marker__pin,
.suvo-leaflet-marker.is-active .suvo-map-marker__pin {
  fill: #ff8752;
}

.centre-active-card__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 0 0 19px;
  padding: 0;
  border: 0;
  color: #5d554e;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  transition: color 160ms ease, transform 160ms ease;
}

.centre-active-card__back span {
  display: inline-block;
  width: auto;
  height: auto;
  color: var(--orange);
  background: transparent;
  font-size: 20px;
  line-height: 1;
}

.centre-active-card__back:hover {
  color: var(--orange);
  transform: translateX(-2px);
}

.centre-active-card__back:focus-visible {
  outline: 3px solid rgba(243, 112, 58, 0.28);
  outline-offset: 4px;
  border-radius: 7px;
}

@media (max-width: 620px) {
  .centres-map--leaflet .leaflet-control-zoom {
    margin: 13px 13px 0 0;
  }

  .centre-active-card__back {
    margin-bottom: 16px;
  }
}


/* contact-centres-navigator-v6 20260623: horizontal bottom-left zoom + wheel zoom */
.centres-map--leaflet .leaflet-bottom.leaflet-left {
  left: 18px;
  bottom: 18px;
}

.centres-map--leaflet .leaflet-bottom.leaflet-left .leaflet-control {
  margin: 0;
}

.centres-map--leaflet .leaflet-control-zoom {
  display: inline-flex;
  flex-direction: row;
  align-items: stretch;
  overflow: hidden;
  margin: 0 !important;
  border: 1px solid rgba(53, 39, 29, 0.18);
  border-radius: 12px;
  background: rgba(255, 252, 249, 0.96);
  box-shadow: 0 10px 22px rgba(38, 24, 16, 0.18);
}

.centres-map--leaflet .leaflet-control-zoom a,
.centres-map--leaflet .leaflet-control-zoom a.leaflet-control-zoom-in,
.centres-map--leaflet .leaflet-control-zoom a.leaflet-control-zoom-out {
  float: none;
  width: 42px;
  height: 42px;
  min-width: 42px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  color: #3d3029;
  background: transparent;
  font-size: 22px;
  line-height: 40px;
  text-align: center;
}

.centres-map--leaflet .leaflet-control-zoom a + a {
  border-left: 1px solid rgba(53, 39, 29, 0.14) !important;
}

.centres-map--leaflet .leaflet-control-zoom a:hover {
  color: var(--orange);
  background: rgba(243, 112, 58, 0.10);
}

@media (max-width: 620px) {
  .centres-map--leaflet .leaflet-bottom.leaflet-left {
    left: 13px;
    bottom: 13px;
  }

  .centres-map--leaflet .leaflet-control-zoom a,
  .centres-map--leaflet .leaflet-control-zoom a.leaflet-control-zoom-in,
  .centres-map--leaflet .leaflet-control-zoom a.leaflet-control-zoom-out {
    width: 40px;
    height: 40px;
    min-width: 40px;
    font-size: 21px;
    line-height: 38px;
  }
}

/* contact-centres-google-maps-v1 20260623 */
.centres-map.centres-map--google {
  min-height: 590px;
  isolation: isolate;
  border-color: rgba(17, 17, 17, 0.12);
  background: #e5e2de;
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.14);
}

.centres-map.centres-map--google::after {
  display: none;
}

.centres-map--google .centres-map__canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #e5e2de;
  font-family: inherit;
}

.centres-map--google .gm-style {
  font-family: inherit;
}

.centres-map--google .gm-style .gm-style-iw-c,
.centres-map--google .gm-style .gm-style-iw-d {
  font-family: inherit;
}

.centres-map__setup {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 10px;
  padding: 34px;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 50% 35%, rgba(243, 112, 58, 0.32), transparent 28%),
    linear-gradient(145deg, #2a1d17, #171210);
}

.centres-map__setup[hidden] {
  display: none;
}

.centres-map__setup strong {
  font-size: 18px;
}

.centres-map__setup p {
  max-width: 360px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  line-height: 1.6;
}

.centres-map__setup.is-error {
  background:
    radial-gradient(circle at 50% 35%, rgba(243, 112, 58, 0.42), transparent 28%),
    linear-gradient(145deg, #331a15, #171210);
}

.suvo-google-zoom-control {
  display: inline-flex;
  overflow: hidden;
  margin: 0 0 18px 18px;
  border: 1px solid rgba(38, 28, 22, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 22px rgba(38, 24, 16, 0.20);
}

.suvo-google-zoom-control button {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  color: #3d3029;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 23px;
  line-height: 1;
  transition: color 160ms ease, background 160ms ease;
}

.suvo-google-zoom-control button + button {
  border-left: 1px solid rgba(53, 39, 29, 0.14);
}

.suvo-google-zoom-control button:hover {
  color: var(--orange);
  background: rgba(243, 112, 58, 0.10);
}

.suvo-google-zoom-control button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid rgba(243, 112, 58, 0.35);
  outline-offset: -3px;
}

.suvo-google-marker {
  --suvo-marker-color: var(--orange);
  position: relative;
  display: inline-grid;
  width: 38px;
  height: 50px;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  isolation: isolate;
  transform: none !important;
  transform-origin: 50% 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* A true flat 2D map pin: no CSS rotation, perspective, bevel, gradient or shadow. */
.suvo-google-marker__halo {
  position: absolute;
  top: 1px;
  left: 1px;
  z-index: 0;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(243, 112, 58, 0.18);
  border-radius: 50%;
  background: rgba(243, 112, 58, 0.08);
  opacity: 0;
  transition: opacity 160ms ease, border-color 160ms ease, background 160ms ease;
}

.suvo-google-marker__icon {
  position: relative;
  z-index: 1;
  display: block;
  width: 38px;
  height: 50px;
  overflow: visible;
  transform: none !important;
  filter: none !important;
}

.suvo-google-marker__shape {
  fill: var(--suvo-marker-color);
  stroke: #fff;
  stroke-width: 2;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transition: fill 160ms ease;
}

.suvo-google-marker__dot {
  fill: #fff;
}

/* Zooming moves the marker beneath a stationary pointer. Suppress hover changes
   only while zooming, so markers do not flash or appear to pulse. */
.centres-map--google.is-zooming .suvo-google-marker,
.centres-map--google.is-zooming .suvo-google-marker__halo,
.centres-map--google.is-zooming .suvo-google-marker__icon,
.centres-map--google.is-zooming .suvo-google-marker__shape {
  transition: none !important;
}

.centres-map--google.is-zooming .suvo-google-marker:not(.is-active):hover .suvo-google-marker__halo {
  opacity: 0;
}

.centres-map--google.is-zooming .suvo-google-marker:not(.is-active):hover {
  --suvo-marker-color: var(--orange);
}

.suvo-google-marker:hover,
.suvo-google-marker.is-active {
  --suvo-marker-color: #ff8752;
}

.suvo-google-marker:hover .suvo-google-marker__halo,
.suvo-google-marker.is-active .suvo-google-marker__halo {
  opacity: 1;
  border-color: rgba(243, 112, 58, 0.34);
  background: rgba(243, 112, 58, 0.12);
}

.suvo-google-marker:focus-visible {
  outline: 3px solid rgba(243, 112, 58, 0.45);
  outline-offset: 4px;
  border-radius: 10px;
}

@media (min-width: 921px) {
  .centres-map.centres-map--google,
  .centre-active-wrap {
    height: 590px;
    min-height: 590px;
  }
}

@media (min-width: 921px) and (max-width: 1180px) {
  .centres-map.centres-map--google,
  .centre-active-wrap {
    height: 550px;
    min-height: 550px;
  }
}

@media (max-width: 920px) {
  .centres-map.centres-map--google {
    min-height: 500px;
  }
}

@media (max-width: 620px) {
  .centres-map.centres-map--google {
    min-height: 410px;
    border-radius: 24px;
  }

  .suvo-google-zoom-control {
    margin: 0 0 13px 13px;
  }

  .suvo-google-zoom-control button {
    width: 40px;
    height: 40px;
    font-size: 21px;
  }
}

/* contact-help-gap-fix 20260623: keep the intended spacing without exposing the body background through a collapsed child margin. */
.contact-help-section {
  padding-top: 26px;
}

.contact-help-section .contact-final-cta {
  margin-top: 0;
}


/* contact-form-v1 20260623 */
.contact-form-section {
  padding-top: 30px;
}

.contact-form-card {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(32px, 5vw, 84px);
  align-items: start;
  padding: clamp(30px, 4.2vw, 58px);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--black);
  box-shadow: var(--shadow);
}

.contact-form-card__intro {
  display: grid;
  align-content: start;
  gap: 18px;
  padding-top: 5px;
}

.contact-form-card__intro .eyebrow {
  margin: 0;
}

.contact-form-card__intro h2 {
  max-width: 510px;
  margin: 0;
  font-size: clamp(31px, 3.1vw, 48px);
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.contact-form-card__intro > p {
  max-width: 460px;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.contact-form-card__phone {
  width: fit-content;
  margin-top: 4px;
  color: var(--black);
  font-size: 14px;
  text-decoration: none;
}

.contact-form-card__phone strong {
  color: var(--orange);
}

.contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.contact-form__field {
  display: grid;
  gap: 8px;
}

.contact-form__field--full,
.contact-form__footer,
.contact-form__notice {
  grid-column: 1 / -1;
}

.contact-form label {
  color: var(--black);
  font-size: 13px;
  font-weight: 720;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(23, 21, 19, 0.15);
  border-radius: 14px;
  outline: none;
  background: #fbfaf8;
  color: var(--black);
  font: inherit;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.contact-form input {
  min-height: 52px;
  padding: 0 15px;
}

.contact-form textarea {
  min-height: 142px;
  padding: 14px 15px;
  resize: vertical;
  line-height: 1.55;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: rgba(243, 112, 58, 0.85);
  background: var(--white);
  box-shadow: 0 0 0 4px rgba(243, 112, 58, 0.12);
}

.contact-form__trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.contact-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding-top: 4px;
}

.contact-form__footer p {
  max-width: 465px;
  margin: 0;
  color: #737985;
  font-size: 12px;
  line-height: 1.55;
}

.contact-form__footer p a {
  color: inherit;
  text-decoration-color: rgba(23, 21, 19, 0.38);
  text-underline-offset: 3px;
}

.contact-form__footer .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.contact-form__notice {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.45;
}

.contact-form__notice.is-success {
  background: rgba(45, 132, 74, 0.11);
  color: #216b3a;
}

.contact-form__notice.is-error {
  background: rgba(184, 58, 40, 0.10);
  color: #a33424;
}

@media (max-width: 920px) {
  .contact-form-card {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .contact-form-card__intro {
    padding-top: 0;
  }
}

@media (max-width: 560px) {
  .contact-form-section {
    padding-top: 22px;
  }

  .contact-form-card {
    padding: 28px 22px;
    border-radius: 24px;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-form__field--full,
  .contact-form__footer,
  .contact-form__notice {
    grid-column: auto;
  }

  .contact-form__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-form__footer .btn {
    width: 100%;
  }
}


/* contact-heading-and-form-copy-v1 20260623 */
.centres-navigator__heading {
  max-width: 760px;
  margin: 0 0 clamp(24px, 3vw, 36px);
}

.centres-navigator__heading .eyebrow {
  margin: 0 0 12px;
}

.centres-navigator__heading h2 {
  margin: 0;
  font-size: clamp(32px, 3.35vw, 52px);
  line-height: 1.06;
  letter-spacing: -0.045em;
}

@media (max-width: 560px) {
  .centres-navigator__heading {
    margin-bottom: 22px;
  }
}


/* contact-heading-hero-alignment-v1 20260623 */
/* Keep the contact hero card aligned with the page’s right content edge on desktop. */
.contact-hero > .contact-hero__grid {
  width: 100%;
}

/* Use a single line for the centre navigator heading whenever the available width allows it. */
.centres-navigator__heading {
  max-width: none;
}

@media (min-width: 980px) {
  .centres-navigator__heading h2 {
    white-space: nowrap;
    font-size: clamp(32px, 3vw, 52px);
  }
}

/* contact-form-anchor-offset-v1 20260623
   Keep the form fully visible when linked from a page with the fixed desktop header. */
#susisiekite {
  scroll-margin-top: 156px;
}

@media (max-width: 980px) {
  #susisiekite {
    scroll-margin-top: 28px;
  }
}


/* desktop-header-logo-left-alignment-v1 20260623 */
/* The logo art is letterboxed inside the wider desktop brand slot because of its fixed maximum height.
   Keep that slot for balanced navigation, but align the visible logo artwork with the content gutter. */
@media (min-width: 821px) {
  .site-header .brand img {
    object-position: left center !important;
  }
}


/* cookie-consent-v1 20260624 */
.suvo-cookie-banner {
  position: fixed;
  z-index: 10020;
  right: 0;
  bottom: 0;
  left: 0;
  color: rgba(255, 255, 255, 0.92);
  background:
    radial-gradient(circle at 78% 120%, rgba(243, 112, 58, 0.26), transparent 38%),
    linear-gradient(100deg, #11100f 0%, #181311 52%, #21140f 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 -18px 44px rgba(0, 0, 0, 0.25);
}

.suvo-cookie-banner[hidden],
.suvo-cookie-dialog[hidden] {
  display: none !important;
}

.suvo-cookie-banner__inner {
  width: min(1320px, calc(100% - 64px));
  min-height: 134px;
  margin: 0 auto;
  padding: 22px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
}

.suvo-cookie-banner__copy {
  max-width: 780px;
}

.suvo-cookie-banner__eyebrow,
.suvo-cookie-dialog__eyebrow {
  margin: 0 0 7px;
  color: var(--orange);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.suvo-cookie-banner h2,
.suvo-cookie-dialog h2 {
  margin: 0;
  color: inherit;
  font-size: clamp(21px, 1.8vw, 28px);
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.suvo-cookie-banner__copy > p:not(.suvo-cookie-banner__eyebrow) {
  max-width: 710px;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 13px;
  line-height: 1.55;
}

.suvo-cookie-banner__links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 10px;
}

.suvo-cookie-banner__links a {
  color: rgba(255, 255, 255, 0.84);
  font-size: 12px;
  text-decoration-color: rgba(243, 112, 58, 0.76);
  text-underline-offset: 4px;
}

.suvo-cookie-banner__links a:hover {
  color: #fff;
}

.suvo-cookie-banner__actions,
.suvo-cookie-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.suvo-cookie-button {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.015em;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.suvo-cookie-button:hover {
  transform: translateY(-1px);
}

.suvo-cookie-button:focus-visible,
.suvo-cookie-dialog__close:focus-visible,
.suvo-cookie-toggle input:focus-visible + span {
  outline: 3px solid rgba(243, 112, 58, 0.52);
  outline-offset: 3px;
}

.suvo-cookie-button--ghost {
  border-color: rgba(255, 255, 255, 0.33);
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
}

.suvo-cookie-button--ghost:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.10);
}

.suvo-cookie-button--accept {
  color: #fff;
  background: var(--orange);
  box-shadow: 0 14px 28px rgba(243, 112, 58, 0.22);
}

.suvo-cookie-button--accept:hover {
  background: #ff7d49;
  box-shadow: 0 18px 34px rgba(243, 112, 58, 0.32);
}

.suvo-cookie-dialog {
  position: fixed;
  z-index: 10030;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 26px;
}

.suvo-cookie-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 9, 8, 0.72);
  backdrop-filter: blur(5px);
}

.suvo-cookie-dialog__panel {
  position: relative;
  z-index: 1;
  width: min(684px, 100%);
  max-height: min(760px, calc(100vh - 52px));
  overflow: auto;
  padding: 30px;
  border: 1px solid rgba(74, 47, 33, 0.16);
  border-radius: 26px;
  color: var(--black);
  background:
    radial-gradient(circle at 96% 4%, rgba(243, 112, 58, 0.14), transparent 22%),
    #fffdfa;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.35);
}

.suvo-cookie-dialog__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #4c4641;
  background: rgba(23, 21, 19, 0.06);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

.suvo-cookie-dialog__close:hover {
  color: var(--orange);
  background: rgba(243, 112, 58, 0.12);
}

.suvo-cookie-dialog__panel h2 {
  max-width: calc(100% - 52px);
  color: var(--black);
  font-size: clamp(28px, 4vw, 36px);
}

.suvo-cookie-dialog__intro {
  max-width: 560px;
  margin: 10px 0 24px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.suvo-cookie-dialog__categories {
  display: grid;
  gap: 10px;
}

.suvo-cookie-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 18px;
  border: 1px solid rgba(42, 30, 23, 0.12);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.72);
}

.suvo-cookie-category__copy {
  min-width: 0;
}

.suvo-cookie-category__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}

.suvo-cookie-category h3 {
  margin: 0;
  color: var(--black);
  font-size: 15px;
  letter-spacing: -0.015em;
}

.suvo-cookie-category p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.suvo-cookie-category__badge {
  color: #25814a;
  font-size: 11px;
  font-weight: 740;
  white-space: nowrap;
}

.suvo-cookie-toggle {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  width: 48px;
  height: 28px;
  align-items: center;
  border-radius: 999px;
}

.suvo-cookie-toggle input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.suvo-cookie-toggle > span {
  position: relative;
  display: block;
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: #d3d7de;
  box-shadow: inset 0 0 0 1px rgba(23, 21, 19, 0.06);
  cursor: pointer;
  transition: background 170ms ease;
}

.suvo-cookie-toggle > span::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16);
  transition: transform 170ms ease;
}

.suvo-cookie-toggle input:checked + span {
  background: var(--orange);
}

.suvo-cookie-toggle input:checked + span::after {
  transform: translateX(20px);
}

.suvo-cookie-toggle--locked > span {
  cursor: default;
  background: #2d8a52;
}

.suvo-cookie-toggle--locked > span::after {
  transform: translateX(20px);
}

.suvo-cookie-dialog__actions {
  margin-top: 24px;
}

.suvo-cookie-dialog__actions .suvo-cookie-button--ghost {
  border-color: rgba(23, 21, 19, 0.18);
  color: var(--black);
  background: transparent;
}

.suvo-cookie-dialog__actions .suvo-cookie-button--ghost:hover {
  border-color: rgba(23, 21, 19, 0.36);
  background: rgba(23, 21, 19, 0.04);
}

.suvo-cookie-button--save {
  border-color: var(--black);
  color: #fff;
  background: var(--black);
}

.suvo-cookie-button--save:hover {
  background: #2e2926;
}

.suvo-cookie-dialog-open {
  overflow: hidden;
}

.centres-map__setup-button {
  margin-top: 4px;
  border-color: rgba(255, 255, 255, 0.46);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.centres-map__setup-button:hover {
  border-color: rgba(255, 255, 255, 0.72);
  color: #fff;
  background: rgba(255, 255, 255, 0.15);
}

@media (max-width: 980px) {
  .suvo-cookie-banner__inner {
    width: min(100% - 40px, 680px);
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 20px 0;
  }

  .suvo-cookie-banner__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .suvo-cookie-banner__inner {
    width: min(100% - 28px, 520px);
    gap: 15px;
    padding: 17px 0;
  }

  .suvo-cookie-banner h2 {
    font-size: 21px;
  }

  .suvo-cookie-banner__copy > p:not(.suvo-cookie-banner__eyebrow) {
    font-size: 12px;
  }

  .suvo-cookie-banner__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .suvo-cookie-banner__actions .suvo-cookie-button--accept {
    grid-column: 1 / -1;
  }

  .suvo-cookie-button {
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    font-size: 11px;
  }

  .suvo-cookie-dialog {
    padding: 14px;
  }

  .suvo-cookie-dialog__panel {
    max-height: calc(100vh - 28px);
    padding: 24px 18px 18px;
    border-radius: 22px;
  }

  .suvo-cookie-dialog__close {
    top: 11px;
    right: 11px;
  }

  .suvo-cookie-category {
    align-items: flex-start;
    padding: 15px;
  }

  .suvo-cookie-category p {
    font-size: 12px;
  }

  .suvo-cookie-dialog__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .suvo-cookie-dialog__actions .suvo-cookie-button--accept {
    grid-column: 1 / -1;
  }
}


/* About page refresh 2026-06-24 */
.about-hero {
  position: relative;
  isolation: isolate;
  min-height: 650px;
  display: flex;
  align-items: end;
  overflow: hidden;
  padding: 154px clamp(18px, 5vw, 72px) 78px;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(8, 8, 8, 0.90) 0%, rgba(8, 8, 8, 0.74) 42%, rgba(8, 8, 8, 0.24) 100%),
    url("assets/gallery/atliktas-darbas-08.webp") center 52% / cover;
}

.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 20%, rgba(243, 112, 58, 0.30), transparent 33%),
    linear-gradient(180deg, transparent 52%, rgba(0, 0, 0, 0.46) 100%);
}

.about-hero__inner,
.about-origin__inner,
.about-testing__inner,
.about-proof__inner,
.about-centres__inner,
.about-final-cta__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}

.about-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 780px) minmax(250px, 330px);
  justify-content: space-between;
  align-items: end;
  gap: clamp(36px, 8vw, 136px);
}

.about-hero__content h1 {
  max-width: 800px;
  margin: 12px 0 22px;
  font-size: clamp(46px, 5.5vw, 78px);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.about-hero__lead {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.6;
}

.about-hero .hero__actions {
  margin-top: 32px;
}

.about-hero__note {
  display: grid;
  gap: 10px;
  padding: 26px 28px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(243, 112, 58, 0.20), transparent 60%),
    rgba(16, 15, 14, 0.78);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(12px);
}

.about-hero__note .eyebrow {
  margin: 0;
}

.about-hero__note strong {
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.about-hero__note span {
  max-width: 230px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.55;
}

.about-origin {
  padding-top: clamp(82px, 9vw, 130px);
  padding-bottom: clamp(82px, 9vw, 130px);
}

.about-origin__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(350px, 0.85fr);
  align-items: start;
  gap: clamp(42px, 8vw, 132px);
}

.about-origin__copy h2,
.about-testing__content h2,
.about-proof__content h2,
.about-centres h2,
.about-final-cta h2 {
  margin: 12px 0 22px;
  font-size: clamp(38px, 4.5vw, 64px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.about-origin__copy > p:not(.eyebrow) {
  max-width: 700px;
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.72;
}

.about-origin__facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.about-fact {
  min-height: 168px;
  display: grid;
  align-content: space-between;
  gap: 16px;
  padding: 26px;
  border: 1px solid rgba(17, 17, 17, 0.07);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.055);
}

.about-fact__number {
  color: var(--orange);
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 700;
  line-height: 0.92;
  letter-spacing: -0.06em;
}

.about-fact__label {
  color: #4d4d4d;
  font-size: 15px;
  font-weight: 620;
  line-height: 1.35;
}

.about-fact--wide {
  grid-column: 1 / -1;
  min-height: 150px;
  background:
    radial-gradient(circle at 88% 22%, rgba(243, 112, 58, 0.24), transparent 32%),
    linear-gradient(145deg, #24201e, #111111);
  color: var(--white);
}

.about-fact__kicker {
  color: var(--orange);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.about-fact--wide strong {
  max-width: 420px;
  font-size: 19px;
  line-height: 1.35;
}

.about-testing {
  background:
    radial-gradient(circle at 12% 18%, rgba(243, 112, 58, 0.20), transparent 32%),
    linear-gradient(135deg, #211f1d 0%, #111111 68%);
  color: var(--white);
}

.about-testing__inner {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  align-items: stretch;
  gap: clamp(38px, 8vw, 130px);
}

.about-testing__visual {
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: flex-start;
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 30px;
  background:
    radial-gradient(circle at 84% 12%, rgba(243, 112, 58, 0.34), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}

.about-testing__label {
  margin-bottom: auto;
  color: var(--orange);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.about-testing__visual strong {
  color: var(--white);
  font-size: clamp(84px, 11vw, 146px);
  line-height: 0.8;
  letter-spacing: -0.10em;
}

.about-testing__visual strong small {
  margin-left: 6px;
  font-size: 0.38em;
  letter-spacing: -0.04em;
}

.about-testing__visual--copy strong {
  max-width: 320px;
  font-size: clamp(52px, 6.4vw, 92px);
  line-height: 0.84;
  letter-spacing: -0.075em;
}

.about-testing__visual p {
  max-width: 240px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.70);
  font-size: 16px;
  line-height: 1.5;
}

.about-testing__content {
  align-self: center;
}

.about-testing__content h2 {
  max-width: 650px;
}

.about-testing__content > p:not(.eyebrow) {
  max-width: 660px;
  color: rgba(255,255,255,0.72);
  font-size: 18px;
  line-height: 1.72;
}

.about-checklist {
  display: grid;
  gap: 13px;
  margin: 30px 0;
  padding: 0;
  list-style: none;
}

.about-checklist li {
  position: relative;
  padding-left: 30px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.about-checklist li::before {
  content: "";
  position: absolute;
  top: 0.36em;
  left: 0;
  width: 15px;
  height: 8px;
  border-left: 2px solid var(--orange);
  border-bottom: 2px solid var(--orange);
  transform: rotate(-45deg);
}

.text-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--white);
  font-weight: 700;
}

.text-link span {
  color: var(--orange);
  font-size: 20px;
  transition: transform 0.2s ease;
}

.text-link:hover span {
  transform: translateX(4px);
}

.about-proof {
  padding-top: clamp(82px, 9vw, 130px);
  padding-bottom: clamp(82px, 9vw, 130px);
}

.about-proof__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
  align-items: center;
  gap: clamp(38px, 7vw, 112px);
}

.about-proof__media {
  min-height: 440px;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: 0 28px 68px rgba(0,0,0,0.16);
  background: #161616;
}

.about-proof__media img {
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
}

.about-proof__content p:not(.eyebrow) {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.72;
}

.about-proof__content .btn {
  margin-top: 16px;
}

.about-centres {
  color: var(--white);
  background:
    radial-gradient(circle at 78% 18%, rgba(243, 112, 58, 0.28), transparent 28%),
    linear-gradient(135deg, #202020, #111111);
}

.about-centres__inner {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 44px;
}

.about-centres h2 {
  margin-bottom: 18px;
}

.about-centres p:not(.eyebrow) {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,0.70);
  font-size: 18px;
  line-height: 1.7;
}

.about-centres__action {
  display: grid;
  justify-items: start;
  gap: 16px;
  flex: 0 0 auto;
}

.about-centres__action > span {
  color: var(--orange);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.about-final-cta {
  padding-top: clamp(76px, 8vw, 108px);
  padding-bottom: clamp(76px, 8vw, 108px);
}

.about-final-cta__inner {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 46px;
  padding: clamp(34px, 5vw, 58px);
  border-radius: 30px;
  background: var(--white);
  box-shadow: 0 22px 60px rgba(0,0,0,0.07);
}

.about-final-cta h2 {
  max-width: 680px;
  margin-bottom: 16px;
}

.about-final-cta p:not(.eyebrow) {
  max-width: 600px;
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.68;
}

.about-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  flex: 0 0 auto;
}

.btn--outline-dark {
  color: var(--black);
  border-color: rgba(17, 17, 17, 0.22);
  background: transparent;
}

.btn--outline-dark:hover {
  border-color: var(--orange);
  color: var(--orange);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .about-hero {
    min-height: 590px;
    padding-top: 138px;
  }

  .about-hero__inner,
  .about-origin__inner,
  .about-testing__inner,
  .about-proof__inner {
    grid-template-columns: 1fr;
  }

  .about-hero__inner {
    gap: 32px;
  }

  .about-hero__note {
    max-width: 360px;
  }

  .about-origin__facts {
    max-width: 680px;
  }

  .about-testing__visual {
    min-height: 300px;
  }

  .about-proof__media,
  .about-proof__media img {
    min-height: 350px;
  }

  .about-centres__inner,
  .about-final-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .about-final-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .about-hero {
    min-height: 720px;
    padding-top: 132px;
    padding-bottom: 44px;
    background-position: 58% center;
  }

  .about-hero__content h1 {
    margin: 10px 0 18px;
    font-size: clamp(43px, 12.5vw, 59px);
  }

  .about-hero__lead,
  .about-origin__copy > p:not(.eyebrow),
  .about-testing__content > p:not(.eyebrow),
  .about-proof__content p:not(.eyebrow),
  .about-centres p:not(.eyebrow),
  .about-final-cta p:not(.eyebrow) {
    font-size: 16px;
  }

  .about-hero .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
    margin-top: 26px;
  }

  .about-hero .hero__actions .btn {
    width: 100%;
  }

  .about-hero__note {
    width: 100%;
    max-width: none;
    padding: 21px 22px;
    border-radius: 23px;
  }

  .about-origin__facts {
    grid-template-columns: 1fr 1fr;
  }

  .about-fact {
    min-height: 148px;
    padding: 21px;
  }

  .about-fact--wide {
    min-height: 142px;
  }

  .about-testing__visual {
    min-height: 250px;
    padding: 24px;
    border-radius: 24px;
  }

  .about-testing__visual strong {
    font-size: 84px;
  }

  .about-proof__media,
  .about-proof__media img {
    min-height: 280px;
  }

  .about-centres__action,
  .about-centres__action .btn {
    width: 100%;
  }

  .about-final-cta__inner {
    padding: 30px 24px;
    border-radius: 25px;
  }

  .about-final-cta__actions,
  .about-final-cta__actions .btn {
    width: 100%;
  }
}


/* Legal pages */
.legal-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 154px clamp(18px, 5vw, 72px) 76px;
  color: var(--white);
  background:
    radial-gradient(circle at 84% 14%, rgba(243, 112, 58, 0.30), transparent 28%),
    linear-gradient(135deg, #22201e 0%, #111111 72%);
}

.legal-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.42;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent);
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent);
}

.legal-hero__inner,
.legal-content__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}

.legal-hero h1 {
  max-width: 780px;
  margin: 12px 0 18px;
  font-size: clamp(42px, 5.5vw, 72px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.legal-hero__lead {
  max-width: 700px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(17px, 1.8vw, 21px);
  line-height: 1.62;
}

.legal-content {
  background: var(--cream);
}

.legal-card {
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 30px;
  background: var(--white);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.06);
}

.legal-card + .legal-card {
  margin-top: 20px;
}

.legal-card h2 {
  margin: 0 0 18px;
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.legal-card h3 {
  margin: 34px 0 12px;
  font-size: clamp(20px, 2.3vw, 27px);
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.legal-card h3:first-child {
  margin-top: 0;
}

.legal-card p,
.legal-card li {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.72;
}

.legal-card p {
  margin: 0 0 14px;
}

.legal-card ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding-left: 21px;
}

.legal-card a:not(.btn) {
  color: #9d3d19;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.legal-meta {
  margin: 0 0 26px;
  color: var(--orange);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.legal-summary {
  margin: 24px 0 30px;
  padding: 22px 24px;
  border-left: 3px solid var(--orange);
  border-radius: 0 16px 16px 0;
  background: rgba(243, 112, 58, 0.09);
}

.legal-summary p:last-child {
  margin-bottom: 0;
}

.legal-table-wrap {
  overflow-x: auto;
  margin-top: 18px;
  border: 1px solid rgba(17, 17, 17, 0.09);
  border-radius: 18px;
}

.legal-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: var(--white);
}

.legal-table th,
.legal-table td {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  text-align: left;
  vertical-align: top;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.legal-table th {
  color: var(--dark);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(17, 17, 17, 0.035);
}

.legal-table tr:last-child td {
  border-bottom: 0;
}

@media (max-width: 680px) {
  .legal-hero {
    padding-top: 132px;
    padding-bottom: 58px;
  }

  .legal-card {
    border-radius: 22px;
  }

  .legal-card p,
  .legal-card li {
    font-size: 16px;
  }
}


/* About and anti-corrosion coating page refresh 2026-06-24 */
.about-hero {
  min-height: 760px;
  padding: 160px clamp(18px, 5vw, 72px) 72px;
}

.about-hero__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* Anti-corrosion coating page */
.coating-hero {
  position: relative;
  isolation: isolate;
  min-height: 760px;
  display: flex;
  align-items: end;
  overflow: hidden;
  padding: 160px clamp(18px, 5vw, 72px) 72px;
  color: var(--white);
  background:
    linear-gradient(105deg, rgba(8, 8, 8, 0.92) 0%, rgba(8, 8, 8, 0.76) 43%, rgba(8, 8, 8, 0.24) 100%),
    url("assets/images/hero-antikorozinis-purskimas.webp") center 55% / cover;
}

.coating-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 18%, rgba(243, 112, 58, 0.34), transparent 34%),
    linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, 0.50) 100%);
}

.coating-hero__inner,
.coating-intro__heading,
.coating-plans__heading,
.coating-process__inner,
.coating-choice__inner,
.coating-faq__heading,
.coating-faq__grid,
.coating-final-cta__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}

.coating-hero__inner {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 790px) minmax(270px, 350px);
  align-items: end;
  justify-content: space-between;
  gap: clamp(36px, 8vw, 136px);
}

.coating-hero__content h1 {
  max-width: 830px;
  margin: 12px 0 22px;
  font-size: clamp(46px, 5.8vw, 82px);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.coating-hero__lead {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.6;
}

.coating-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.coating-hero__trust span {
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(10px);
  font-size: 13px;
  font-weight: 620;
}

.coating-hero__summary {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(243, 112, 58, 0.22), transparent 60%),
    rgba(16, 15, 14, 0.80);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(12px);
}

.coating-hero__summary .eyebrow {
  margin: 0 0 10px;
}

.coating-hero__summary h2 {
  margin: 0;
  font-size: clamp(25px, 2.3vw, 32px);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.coating-hero__summary ul {
  display: grid;
  gap: 10px;
  margin: 22px 0;
  padding: 0;
  list-style: none;
}

.coating-hero__summary li {
  display: grid;
  gap: 3px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.coating-hero__summary li strong {
  color: var(--white);
  font-size: 17px;
}

.coating-hero__summary li span,
.coating-hero__summary > p:last-child {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.55;
}

.coating-hero__summary > p:last-child {
  margin: 0;
  font-size: 14px;
}

.coating-intro {
  padding-top: clamp(82px, 9vw, 130px);
  padding-bottom: clamp(82px, 9vw, 130px);
}

.coating-intro__heading {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.72fr);
  align-items: end;
  gap: clamp(36px, 8vw, 120px);
  margin-bottom: 56px;
}

.coating-intro__heading h2,
.coating-plans__heading h2,
.coating-process__content h2,
.coating-choice__content h2,
.coating-faq__heading h2,
.coating-final-cta h2 {
  margin: 12px 0 0;
  font-size: clamp(38px, 4.5vw, 64px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.coating-intro__heading > p,
.coating-plans__heading > p,
.coating-process__lead,
.coating-choice__content > p,
.coating-final-cta p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.72;
}

.coating-coverage {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  width: 100%;
  max-width: none;
  margin: 0;
}

.coating-coverage__item {
  position: relative;
  min-height: 260px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 24px;
  background: var(--white);
}

.coating-coverage__item::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -46px;
  width: 148px;
  height: 148px;
  border: 1px solid rgba(243, 112, 58, 0.23);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(243, 112, 58, 0.055);
}

.coating-coverage__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 48px;
  border-radius: 50%;
  background: rgba(243, 112, 58, 0.12);
  color: var(--orange-dark);
  font-size: 13px;
  font-weight: 720;
}

.coating-coverage__item h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  font-size: 27px;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.coating-coverage__item p {
  position: relative;
  z-index: 1;
  max-width: 315px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.coating-plans {
  color: var(--white);
  background:
    radial-gradient(circle at 14% 10%, rgba(243, 112, 58, 0.24), transparent 30%),
    linear-gradient(180deg, #1d1b1a 0%, #0e0e0e 100%);
}

.coating-plans__heading {
  width: 100%;
  max-width: none;
  margin: 0 0 50px;
}

.coating-plans__heading h2 {
  max-width: 1180px;
}

.coating-plans__heading > p {
  max-width: 740px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.70);
}

.coating-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  max-width: none;
  margin: 0;
}

.coating-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 620px;
  padding: clamp(28px, 3.5vw, 46px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.055);
}

.coating-plan--featured {
  border-color: rgba(243, 112, 58, 0.68);
  background:
    linear-gradient(150deg, rgba(243, 112, 58, 0.18), transparent 46%),
    rgba(255, 255, 255, 0.075);
}

.coating-plan__badge {
  position: absolute;
  top: 26px;
  right: 28px;
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--orange);
  color: var(--white);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.coating-plan__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.coating-plan__kicker {
  display: block;
  margin-bottom: 13px;
  color: var(--orange);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.coating-plan h3 {
  margin: 0;
  font-size: clamp(34px, 3.6vw, 48px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.coating-plan__price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin: 0;
  color: var(--white);
  font-size: clamp(39px, 4.4vw, 62px);
  font-weight: 720;
  line-height: 0.88;
  letter-spacing: -0.055em;
}

.coating-plan__price span {
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.64);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.coating-plan__price strong {
  display: block;
  white-space: nowrap;
  font: inherit;
}

.coating-plan__price small {
  display: inline;
  font-size: 0.5em;
  vertical-align: 0.2em;
}

.coating-plan__lead {
  max-width: 570px;
  margin: 30px 0 24px;
  color: rgba(255, 255, 255, 0.80);
  font-size: 17px;
  line-height: 1.65;
}

.coating-plan__list {
  display: grid;
  gap: 0;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
  text-align: center;
}

/* Abu apsaugos planų CTA laikomi prie kortelių apačios, nepriklausomai nuo turinio ilgio. */
.coating-plan > .btn {
  margin-top: auto;
}

.coating-plan__list li {
  display: block;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.coating-plan__list span {
  display: block;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.6;
}

.btn--outline-light {
  margin-top: auto;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(255, 255, 255, 0.06);
}

.btn--outline-light:hover {
  border-color: var(--orange);
  background: rgba(243, 112, 58, 0.12);
  transform: translateY(-2px);
}

.coating-plans__note {
  width: 100%;
  max-width: none;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.56);
  font-size: 14px;
  line-height: 1.6;
}

.coating-process {
  padding-top: clamp(82px, 9vw, 130px);
  padding-bottom: clamp(82px, 9vw, 130px);
}

.coating-process__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(360px, 0.8fr);
  align-items: start;
  gap: clamp(42px, 8vw, 132px);
}

.coating-process__lead {
  max-width: 650px;
  margin-top: 22px;
}

.coating-steps {
  display: grid;
  gap: 0;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: coating-step;
}

.coating-steps li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  padding: 20px 0;
  border-top: 1px solid rgba(17, 17, 17, 0.12);
}

.coating-steps li:last-child {
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}

.coating-steps > li > span {
  display: inline-flex;
  align-items: flex-start;
  padding-top: 2px;
  color: var(--orange-dark);
  font-size: 13px;
  font-weight: 740;
  letter-spacing: 0.08em;
}

.coating-steps h3 {
  margin: 0 0 7px;
  font-size: 19px;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.coating-steps p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.coating-process__visual {
  position: sticky;
  top: 116px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  background: #ddd;
}

.coating-process__visual img {
  width: 100%;
  min-height: 580px;
  object-fit: cover;
}

.coating-process__visual figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 17px;
  background: rgba(15, 15, 15, 0.80);
  color: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(10px);
  font-size: 13px;
  line-height: 1.5;
}

.coating-choice {
  padding-top: clamp(82px, 9vw, 130px);
  padding-bottom: clamp(82px, 9vw, 130px);
  background: var(--cream);
}

.coating-choice__inner {
  display: grid;
  grid-template-columns: minmax(360px, 0.82fr) minmax(0, 0.9fr);
  align-items: stretch;
  overflow: hidden;
  border-radius: 30px;
  background: var(--white);
}

.coating-choice__image {
  min-height: 590px;
}

.coating-choice__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coating-choice__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(34px, 5vw, 76px);
}

.coating-choice__content > p {
  margin-top: 23px;
}

.coating-choice__content ul {
  display: grid;
  gap: 10px;
  margin: 28px 0 34px;
  padding: 0;
  list-style: none;
}

.coating-choice__content li {
  position: relative;
  padding-left: 20px;
  color: var(--muted);
  line-height: 1.55;
}

.coating-choice__content li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange);
}

.coating-choice__content .btn {
  margin-top: auto;
}

.coating-faq {
  padding-top: clamp(82px, 9vw, 130px);
  padding-bottom: clamp(82px, 9vw, 130px);
}

.coating-faq__heading {
  margin-bottom: 44px;
}

.coating-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.coating-faq__item {
  border: 1px solid rgba(17, 17, 17, 0.12);
  border-radius: 20px;
  background: var(--white);
}

.coating-faq__item[open] {
  border-color: rgba(243, 112, 58, 0.42);
}

.coating-faq__item summary {
  position: relative;
  padding: 25px 64px 25px 25px;
  cursor: pointer;
  list-style: none;
  font-size: 18px;
  font-weight: 680;
  line-height: 1.35;
}

.coating-faq__item summary::-webkit-details-marker {
  display: none;
}

.coating-faq__item summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 24px;
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: rgba(243, 112, 58, 0.13);
  color: var(--orange-dark);
  font-size: 22px;
  font-weight: 450;
  transform: translateY(-50%);
}

.coating-faq__item[open] summary::after {
  content: "−";
}

.coating-faq__item p {
  margin: -3px 25px 25px;
  color: var(--muted);
  line-height: 1.68;
}

.coating-final-cta {
  padding: clamp(64px, 8vw, 110px) clamp(18px, 5vw, 72px);
  color: var(--white);
  background:
    radial-gradient(circle at 82% 12%, rgba(243, 112, 58, 0.40), transparent 26%),
    linear-gradient(115deg, #27221f 0%, #111111 72%);
}

.coating-final-cta__inner {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
}

.coating-final-cta h2 {
  max-width: 780px;
}

.coating-final-cta p:not(.eyebrow) {
  max-width: 700px;
  margin-top: 23px;
  color: rgba(255, 255, 255, 0.76);
}

.coating-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  flex: 0 0 auto;
}

@media (max-width: 980px) {
  .about-hero {
    min-height: 590px;
    padding-top: 138px;
  }

  .coating-hero {
    min-height: 640px;
    padding-top: 138px;
  }

  .coating-hero__inner,
  .coating-intro__heading,
  .coating-process__inner,
  .coating-choice__inner {
    grid-template-columns: 1fr;
  }

  .coating-hero__inner {
    gap: 32px;
  }

  .coating-hero__summary {
    max-width: 400px;
  }

  .coating-intro__heading {
    align-items: start;
    margin-bottom: 42px;
  }

  .coating-plan-grid,
  .coating-faq__grid {
    grid-template-columns: 1fr;
  }

  .coating-plan {
    min-height: 0;
  }

  .coating-process__visual {
    position: relative;
    top: auto;
    order: -1;
  }

  .coating-process__visual img {
    min-height: 420px;
  }


  .coating-choice__image {
    min-height: 400px;
  }

  .coating-final-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .coating-final-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .about-hero {
    min-height: 720px;
    padding-top: 132px;
    padding-bottom: 44px;
  }

  .coating-hero {
    min-height: 760px;
    padding-top: 132px;
    padding-bottom: 44px;
    background-position: 58% center;
  }

  .coating-hero__content h1 {
    margin: 10px 0 18px;
    font-size: clamp(43px, 12.5vw, 59px);
  }

  .coating-hero__lead,
  .coating-intro__heading > p,
  .coating-plans__heading > p,
  .coating-process__lead,
  .coating-choice__content > p,
  .coating-final-cta p:not(.eyebrow) {
    font-size: 16px;
  }

  .coating-hero .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
    margin-top: 26px;
  }

  .coating-hero .hero__actions .btn {
    width: 100%;
  }

  .coating-hero__trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 20px;
  }

  .coating-hero__summary {
    width: 100%;
    max-width: none;
    padding: 22px;
    border-radius: 23px;
  }

  .coating-intro,
  .coating-process,
  .coating-choice,
  .coating-faq {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .coating-intro__heading {
    gap: 20px;
    margin-bottom: 30px;
  }

  .coating-coverage {
    grid-template-columns: 1fr;
  }

  .coating-coverage__item {
    min-height: 220px;
    padding: 25px;
  }

  .coating-coverage__number {
    margin-bottom: 30px;
  }

  .coating-plans__heading {
    margin-bottom: 32px;
  }

  .coating-plan {
    padding: 26px 22px;
    border-radius: 24px;
  }

  .coating-plan__badge {
    top: 18px;
    right: 18px;
  }

  .coating-plan__top {
    display: block;
  }

  .coating-plan h3 {
    max-width: 220px;
    font-size: 38px;
  }

  .coating-plan__price {
    display: inline-flex;
    align-items: flex-start;
    margin-top: 30px;
    font-size: 52px;
  }

  .coating-plan__lead {
    margin: 24px 0 17px;
    font-size: 16px;
  }

  .coating-plan__list {
    margin-bottom: 26px;
  }

  .coating-plan__list li {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 16px 0;
  }

  .coating-plan__list span {
    font-size: 14px;
  }

  .coating-plan .btn {
    width: 100%;
  }

  .coating-plans__note {
    font-size: 13px;
  }

  .coating-steps {
    margin-top: 30px;
  }

  .coating-steps li {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 0;
  }

  .coating-steps h3 {
    font-size: 17px;
  }

  .coating-steps p {
    font-size: 15px;
  }

  .coating-process__visual {
    border-radius: 24px;
  }

  .coating-process__visual img {
    min-height: 310px;
  }

  .coating-process__visual figcaption {
    right: 12px;
    bottom: 12px;
    left: 12px;
    padding: 12px;
    font-size: 12px;
  }

  .coating-choice {
    padding: 68px 18px 64px;
  }

  .coating-choice__inner {
    border-radius: 25px;
  }

  .coating-choice__image {
    min-height: 300px;
  }

  .coating-choice__content {
    padding: 30px 24px;
  }

  .coating-choice__content ul {
    margin: 22px 0 28px;
  }

  .coating-choice__content .btn {
    width: 100%;
  }

  .coating-faq__heading {
    margin-bottom: 30px;
  }

  .coating-faq__item {
    border-radius: 17px;
  }

  .coating-faq__item summary {
    padding: 21px 54px 21px 20px;
    font-size: 16px;
  }

  .coating-faq__item summary::after {
    right: 18px;
    width: 26px;
    height: 26px;
  }

  .coating-faq__item p {
    margin: -3px 20px 21px;
    font-size: 15px;
  }

  .coating-final-cta {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .coating-final-cta__actions,
  .coating-final-cta__actions .btn {
    width: 100%;
  }
}


/* Cookie policy actions 2026-06-24 */
.legal-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.legal-card__actions .btn {
  min-height: 50px;
}

@media (max-width: 620px) {
  .legal-card__actions,
  .legal-card__actions .btn {
    width: 100%;
  }
}


/* anchor-navigation-v1 20260624
   Fixed desktop header needs deliberate anchor spacing. Package links retain enough
   of the section introduction in view, while product links land immediately below the header. */
@media (min-width: 981px) {
  #padengiamos-zonos,
  #apsaugos-sprendimai,
  #kaina-pagal-automobilio-modeli-ir-bukle {
    scroll-margin-top: 164px;
  }

  #2-sluoksniu-apsauga,
  #rudims-stop-4-sluoksniu-sistema {
    scroll-margin-top: clamp(380px, 42vh, 460px);
  }

  .products-page .product-detail-panel {
    scroll-margin-top: 180px;
  }
}

@media (max-width: 980px) {
  #padengiamos-zonos,
  #apsaugos-sprendimai,
  #kaina-pagal-automobilio-modeli-ir-bukle,
  #2-sluoksniu-apsauga,
  #rudims-stop-4-sluoksniu-sistema,
  .products-page .product-detail-panel {
    scroll-margin-top: 106px;
  }
}


/* Anti-corrosion service layout, FAQ and CTA refinements — 2026-06-24 */
@media (min-width: 981px) {
  /*
   * Keep the process photo supportive rather than dominant.
   * The text column carries the process narrative; the image follows its scale.
   */
  .coating-process__inner {
    grid-template-columns: minmax(0, 1.16fr) minmax(360px, 0.72fr);
    align-items: stretch;
    gap: clamp(48px, 6vw, 96px);
  }

  /*
   * Keep the process image static and equal to the full height of the
   * information column. The image no longer sticks while the steps scroll.
   */
  .coating-process__visual {
    position: relative;
    top: auto;
    width: 100%;
    max-width: 520px;
    min-height: 0;
    height: 100%;
    align-self: stretch;
    justify-self: end;
  }

  .coating-process__visual img {
    display: block;
    width: 100%;
    min-height: 0;
    height: 100%;
    object-fit: cover;
  }

  /*
   * On desktop the FAQ works as an always-visible information grid,
   * not as an accordion. Mobile remains an expandable accordion.
   */
  .coating-faq__item summary {
    padding-right: 25px;
    cursor: default;
    pointer-events: none;
  }

  .coating-faq__item summary::after {
    display: none;
  }

  /*
   * Match the About page CTA action layout while keeping the dark coating-page
   * section style: copy on the left, a compact two-button stack on the right.
   */
  .coating-final-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }

  .coating-final-cta__actions {
    width: min(100%, 320px);
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    align-self: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 0;
    margin-left: auto;
  }

  .coating-final-cta__actions .btn {
    width: 100%;
    min-height: 54px;
    justify-content: center;
  }
}


/* Responsive image sources — 2026-06-24
   CSS background images cannot use HTML srcset. Smaller local WebP sources are
   selected on narrow screens to avoid downloading desktop-sized backgrounds. */
@media (max-width: 700px) {
  .hero__bg--primary {
    background-image: url("assets/gallery/responsive/atliktas-darbas-02-800.webp");
  }

  .hero__bg--secondary {
    background-image: url("assets/images/responsive/hero-antikorozinis-purskimas-800.webp");
  }

  .coating-hero {
    background-image:
      linear-gradient(105deg, rgba(8, 8, 8, 0.92) 0%, rgba(8, 8, 8, 0.76) 43%, rgba(8, 8, 8, 0.24) 100%),
      url("assets/images/responsive/hero-antikorozinis-purskimas-800.webp");
  }

  .about-hero {
    background-image:
      linear-gradient(90deg, rgba(8, 8, 8, 0.90) 0%, rgba(8, 8, 8, 0.74) 42%, rgba(8, 8, 8, 0.24) 100%),
      url("assets/gallery/responsive/atliktas-darbas-08-800.webp");
  }

  .about__visual {
    background-image:
      linear-gradient(180deg, rgba(243, 112, 58, 0.18), rgba(0, 0, 0, 0.56)),
      url("assets/gallery/suvo-gallery/dengimo-procesas-02.webp");
  }

  .gallery-tile {
    background-image:
      linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.38)),
      url("assets/gallery/responsive/atliktas-darbas-01-800.webp");
  }

  .gallery-tile--dark {
    background-image:
      linear-gradient(180deg, rgba(243, 112, 58, 0.22), rgba(0, 0, 0, 0.5)),
      url("assets/gallery/responsive/atliktas-darbas-06-800.webp");
  }

  .page-hero {
    background-image:
      linear-gradient(110deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.70) 48%, rgba(0, 0, 0, 0.24) 100%),
      url("assets/gallery/responsive/atliktas-darbas-02-800.webp");
  }

  .products-page .page-hero--products {
    background-image:
      linear-gradient(112deg, rgba(7, 7, 7, 0.94) 0%, rgba(11, 11, 11, 0.84) 48%, rgba(8, 8, 8, 0.46) 100%),
      url("assets/gallery/responsive/atliktas-darbas-02-800.webp");
  }
}

/* WordPress fallback pages */
.suvo-generic-page,
.suvo-404 {
  min-height: 70vh;
  padding: 180px clamp(24px, 6vw, 96px) 96px;
  background: var(--cream);
}

.suvo-generic-page__content,
.suvo-404__inner {
  max-width: 860px;
  margin: 0 auto;
}

.suvo-generic-page__content h1,
.suvo-404__inner h1 {
  font-size: clamp(42px, 6vw, 76px);
  line-height: 0.96;
  margin: 0 0 24px;
}

.suvo-generic-page__content > * + * {
  margin-top: 18px;
}

.suvo-404 {
  display: grid;
  place-items: center;
  text-align: center;
  background: radial-gradient(circle at 20% 10%, rgba(243, 112, 58, 0.28), transparent 34%), var(--black);
  color: var(--white);
}

.suvo-404__inner > p:first-child {
  color: var(--orange);
  font-weight: 750;
  letter-spacing: 0.12em;
}

.suvo-404__inner .btn {
  margin-top: 16px;
}


/* products-hero-simplified-v11 20260629
   The former right-side explainer card was removed to keep the hero focused
   on the page purpose and product quick links. */
.products-page .products-hero__grid {
  grid-template-columns: minmax(0, 1fr);
  max-width: 980px;
  gap: 0;
}

.products-page .products-hero__content {
  max-width: 900px;
}

/* Keep tags pill-shaped even when only the product page styles are cached. */
.products-page .products-hero__tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.84);
  font-size: 13px;
  font-weight: 640;
  line-height: 1.2;
  text-decoration: none;
}

.products-page .products-hero__tags a:hover,
.products-page .products-hero__tags a:focus-visible {
  border-color: rgba(243, 112, 58, 0.52);
  background: rgba(243, 112, 58, 0.18);
}

@media (max-width: 700px) {
  .products-page .products-hero__grid {
    max-width: none;
  }

  .products-page .products-hero__tags a {
    padding: 8px 10px;
    font-size: 12px;
  }
}


/* Mobile refinements: compact trust pills and a supporting process visual — 2026-06-29 */
@media (max-width: 620px) {
  /*
   * Keep each trust item sized to its own label. The pills still stack
   * vertically for readability, but they no longer stretch across the hero.
   */
  .hero .trust-strip,
  .coating-hero__trust {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 8px;
  }

  .hero .trust-strip span,
  .coating-hero__trust span {
    display: inline-flex;
    flex: 0 0 auto;
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
  }

  /*
   * On phones the work-process narrative comes first. The image remains a
   * compact supporting visual instead of becoming a full-screen panel.
   */
  .coating-process__inner {
    gap: 30px;
  }

  .coating-process__visual {
    order: 2;
    width: 100%;
    max-width: 560px;
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
    align-self: start;
    justify-self: start;
    border-radius: 22px;
  }

  .coating-process__visual img {
    width: 100%;
    min-height: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}


/* Mobile trust layout and coating image lightbox — 2026-06-29 */
@media (max-width: 620px) {
  /*
   * Keep trust points compact but let as many as fit share a row.
   * The next point only wraps when there is no remaining room.
   */
  .hero .trust-strip,
  .coating-hero__trust {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    width: auto;
    gap: 8px;
  }

  .hero .trust-strip span,
  .coating-hero__trust span {
    width: auto;
    max-width: 100%;
  }
}

/* Visuals can be opened for a closer inspection without affecting layout. */
.coating-process__visual[data-suvo-image-lightbox],
.coating-choice__image[data-suvo-image-lightbox] {
  position: relative;
  cursor: zoom-in;
}

.coating-process__visual[data-suvo-image-lightbox]::after,
.coating-choice__image[data-suvo-image-lightbox]::after {
  content: "↗";
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: rgba(12, 12, 12, 0.76);
  color: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);
  font-size: 20px;
  line-height: 1;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 180ms ease, transform 180ms ease, background 180ms ease;
  pointer-events: none;
}

.coating-process__visual[data-suvo-image-lightbox]:hover::after,
.coating-process__visual[data-suvo-image-lightbox]:focus-visible::after,
.coating-choice__image[data-suvo-image-lightbox]:hover::after,
.coating-choice__image[data-suvo-image-lightbox]:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.coating-process__visual[data-suvo-image-lightbox]:focus-visible,
.coating-choice__image[data-suvo-image-lightbox]:focus-visible {
  outline: 3px solid rgba(243, 112, 58, 0.9);
  outline-offset: 4px;
}

.suvo-image-lightbox[hidden] {
  display: none;
}

.suvo-image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: clamp(16px, 3vw, 40px);
}

.suvo-image-lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.84);
  backdrop-filter: blur(10px);
  cursor: zoom-out;
}

.suvo-image-lightbox__panel {
  position: relative;
  z-index: 1;
  display: grid;
  max-width: min(1280px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: clamp(8px, 1.2vw, 14px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 24px;
  background: rgba(16, 16, 16, 0.96);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.54);
}

.suvo-image-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 64px);
  border-radius: 17px;
  object-fit: contain;
}

.suvo-image-lightbox__close {
  position: absolute;
  top: -12px;
  right: -12px;
  z-index: 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: #1b1b1b;
  color: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.36);
  cursor: pointer;
  font-size: 29px;
  line-height: 1;
}

.suvo-image-lightbox__close:hover,
.suvo-image-lightbox__close:focus-visible {
  background: var(--orange);
}

html.suvo-image-lightbox-open,
html.suvo-image-lightbox-open body {
  overflow: hidden;
}

@media (max-width: 620px) {
  .coating-process__visual[data-suvo-image-lightbox]::after,
  .coating-choice__image[data-suvo-image-lightbox]::after {
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    opacity: 1;
    transform: none;
    font-size: 18px;
  }

  .suvo-image-lightbox {
    padding: 14px;
  }

  .suvo-image-lightbox__panel {
    max-width: calc(100vw - 28px);
    max-height: calc(100vh - 28px);
    border-radius: 18px;
  }

  .suvo-image-lightbox__image {
    max-height: calc(100vh - 56px);
    border-radius: 12px;
  }

  .suvo-image-lightbox__close {
    top: -10px;
    right: -7px;
    width: 38px;
    height: 38px;
    font-size: 27px;
  }
}


/* Homepage centres CTA — 2026-06-29
   The detailed city list lives on the contacts page. The home page now
   uses one concise route to the full, up-to-date centre directory. */
.home-centres {
  padding-block: clamp(72px, 8vw, 112px);
}

.home-centres__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(30px, 5vw, 54px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 88% 18%, rgba(243, 112, 58, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.045));
  box-shadow: 0 26px 58px rgba(0, 0, 0, 0.18);
}

.home-centres__copy {
  max-width: 760px;
}

.home-centres__copy h2 {
  margin: 0;
  color: var(--white);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.home-centres__copy p:not(.eyebrow) {
  margin: 18px 0 0;
  max-width: 620px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 17px;
  line-height: 1.7;
}

.home-centres__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.home-centres__actions .btn {
  width: max-content;
  min-width: 0;
  white-space: nowrap;
}

@media (max-width: 820px) {
  .home-centres__card {
    grid-template-columns: 1fr;
  }

  .home-centres__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .home-centres {
    padding-block: 64px;
  }

  .home-centres__card {
    padding: 28px 22px;
    border-radius: 22px;
    gap: 24px;
  }

  .home-centres__copy h2 {
    font-size: clamp(30px, 9vw, 40px);
  }

  .home-centres__actions {
    width: 100%;
  }

  .home-centres__actions .btn {
    width: 100%;
  }
}

/* Home centres and completed-work desktop layout — 2026-06-29 */
.home-centres__card {
  width: 100%;
  max-width: none;
  margin: 0;
}

@media (min-width: 981px) {
  .gallery-preview__inner {
    display: grid;
    grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(48px, 6vw, 108px);
    align-items: start;
  }

  .gallery-preview__inner > .section-heading {
    max-width: 560px;
    margin: 0;
    padding-top: clamp(4px, 1vw, 18px);
  }

  .gallery-preview__inner .work-carousel {
    width: calc(100% - 148px);
    max-width: none;
    margin: 0 auto;
  }

  .gallery-preview__inner .work-carousel__image-button {
    height: clamp(340px, 32vw, 520px);
  }

  .gallery-preview__inner .work-carousel__control {
    top: calc((clamp(340px, 32vw, 520px)) / 2);
  }
}

@media (max-width: 980px) {
  .gallery-preview__inner > .section-heading {
    margin-bottom: 42px;
  }
}


/* Feature card numbering aligned with the home "Products" card pattern — 2026-06-29 */
.feature-card .number {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--orange);
  font-size: 13px;
  font-weight: 620;
  letter-spacing: 0.14em;
}

.feature-card .number + h3 {
  margin: 0 0 10px;
}


/* UI refinements 2026-06-29: FAQ controls and About CTA */
@media (max-width: 620px) {
  /*
   * Keep the + / − glyph optically centred inside the circular FAQ control.
   * `line-height: 1` prevents the font baseline from shifting the glyph.
   */
  .coating-faq__item summary::after {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-family: Arial, Helvetica, sans-serif;
    padding: 0 0 1px;
  }
}

@media (min-width: 981px) {
  /*
   * Desktop: keep both actions together in a clear vertical stack at the
   * right edge of the About page CTA. Tablet and mobile retain their
   * existing layout.
   */
  .about-final-cta__actions {
    width: min(100%, 300px);
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
  }

  .about-final-cta__actions .btn {
    width: 100%;
    justify-content: center;
  }
}


/* About page refinements — 2026-06-29
   Keep the proof photo proportional to the content, group desktop CTAs more
   deliberately, and allow the proof photo to open in the existing lightbox. */
.about-proof__media[data-suvo-image-lightbox] {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  text-align: left;
  cursor: zoom-in;
  appearance: none;
  -webkit-appearance: none;
}

.about-proof__media[data-suvo-image-lightbox]::after {
  content: "↗";
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: rgba(12, 12, 12, 0.76);
  color: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);
  font-size: 20px;
  line-height: 1;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 180ms ease, transform 180ms ease, background 180ms ease;
  pointer-events: none;
}

.about-proof__media[data-suvo-image-lightbox]:hover::after,
.about-proof__media[data-suvo-image-lightbox]:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.about-proof__media[data-suvo-image-lightbox]:focus-visible {
  outline: 3px solid rgba(243, 112, 58, 0.9);
  outline-offset: 4px;
}

@media (min-width: 981px) {
  /*
   * The photo is decorative support for the proof copy, not the dominant
   * element. Making it an absolutely-filled child means the grid row is
   * sized by the text column and the photo always matches that height.
   */
  .about-proof__inner {
    align-items: stretch;
  }

  .about-proof__media {
    min-height: 0;
  }

  .about-proof__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }

  /*
   * Align both CTA groups around the centre of their text blocks. Larger,
   * full-width controls read as one intentional action group rather than
   * separate buttons floating at the far edge.
   */
  .about-centres__inner,
  .about-final-cta__inner {
    align-items: center;
  }

  .about-centres__action {
    width: min(100%, 320px);
    align-self: center;
    justify-items: stretch;
    gap: 14px;
  }

  .about-centres__action > span {
    text-align: center;
  }

  .about-centres__action .btn {
    width: 100%;
    min-height: 56px;
    justify-content: center;
  }

  .about-final-cta__actions {
    width: min(100%, 320px);
    align-self: center;
    gap: 12px;
  }

  .about-final-cta__actions .btn {
    min-height: 54px;
  }
}

@media (max-width: 620px) {
  .about-proof__media[data-suvo-image-lightbox]::after {
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    opacity: 1;
    transform: none;
    font-size: 18px;
  }

  .about-centres__action > span {
    width: 100%;
    text-align: center;
  }
}

/* About page: origin goal and laboratory testing visual refinement */
@media (min-width: 700px) {
  .about-fact--wide {
    align-content: center;
    gap: 10px;
  }

  .about-fact--wide strong {
    max-width: none;
    font-size: clamp(18px, 1.32vw, 21px);
    line-height: 1.3;
  }
}

.about-testing__visual--copy {
  justify-content: center;
  gap: 28px;
  min-height: 390px;
}

.about-testing__visual--copy .about-testing__label {
  margin: 0;
}

.about-testing__visual-copy {
  display: grid;
  justify-items: start;
  gap: 20px;
}

.about-testing__visual--copy strong {
  max-width: 390px;
  font-size: clamp(50px, 5.25vw, 78px);
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.about-testing__caption {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0.03em;
  line-height: 1.35;
}

.about-testing__caption::before {
  content: "";
  width: 42px;
  height: 1px;
  background: var(--orange);
}

@media (max-width: 980px) {
  .about-testing__visual--copy {
    min-height: 300px;
  }
}

@media (max-width: 620px) {
  .about-fact--wide strong {
    max-width: 100%;
  }

  .about-testing__visual--copy {
    min-height: 250px;
    gap: 22px;
    padding: 24px;
  }

  .about-testing__visual--copy strong {
    max-width: 310px;
    font-size: clamp(46px, 14vw, 68px);
    line-height: 0.9;
  }

  .about-testing__visual-copy {
    gap: 14px;
  }

  .about-testing__caption {
    font-size: 13px;
  }
}

/* About page: refined laboratory testing information card */
.about-testing__visual--copy {
  justify-content: space-between;
  gap: 28px;
  min-height: 390px;
  padding: 32px 34px;
}

.about-testing__visual-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

.about-testing__visual--copy .about-testing__label {
  margin: 0;
}

.about-testing__status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid rgba(243, 112, 58, 0.36);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.10em;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
}

.about-testing__visual-copy {
  display: grid;
  justify-items: start;
  gap: 16px;
  width: 100%;
}

.about-testing__visual--copy strong {
  max-width: 460px;
  color: var(--white);
  font-size: clamp(43px, 4.1vw, 64px);
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.about-testing__visual--copy strong span {
  display: block;
}

.about-testing__visual-copy p {
  max-width: 390px;
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 16px;
  line-height: 1.55;
}

.about-testing__visual-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-testing__visual-metrics li {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.12);
  color: rgba(255, 255, 255, 0.84);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.1;
}

@media (max-width: 980px) {
  .about-testing__visual--copy {
    min-height: 320px;
  }
}

@media (max-width: 620px) {
  .about-testing__visual--copy {
    min-height: 0;
    gap: 24px;
    padding: 24px;
  }

  .about-testing__visual-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .about-testing__visual--copy strong {
    max-width: 340px;
    font-size: clamp(39px, 11vw, 54px);
  }

  .about-testing__visual-copy p {
    font-size: 15px;
  }

  .about-testing__visual-metrics {
    gap: 7px;
  }

  .about-testing__visual-metrics li {
    min-height: 28px;
    padding: 6px 9px;
    font-size: 11px;
  }
}


/* Atliktų darbų nuotraukų peržiūra — pilno ekrano showcase. */
.work-lightbox[hidden] {
  display: none;
}

.work-lightbox {
  position: fixed;
  z-index: 1000001;
  inset: 0;
}

.work-lightbox__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(12, 23, 17, 0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: zoom-out;
}

.work-lightbox__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  height: 100%;
  padding: 30px 86px 52px;
  place-items: center;
  pointer-events: none;
}

.work-lightbox__figure {
  position: relative;
  display: grid;
  width: min(1600px, 100%);
  height: 100%;
  margin: 0;
  place-items: center;
  pointer-events: auto;
}

.work-lightbox__figure > img,
.work-lightbox__image {
  display: block;
  width: min(100%, 1600px);
  height: auto;
  max-height: calc(100vh - 82px);
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

.work-lightbox__counter {
  position: absolute;
  right: 0;
  bottom: -34px;
  left: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.work-lightbox__close,
.work-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: grid;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  background: rgba(20, 31, 24, 0.64);
  color: #fff;
  cursor: pointer;
  place-items: center;
  pointer-events: auto;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.work-lightbox__close:hover,
.work-lightbox__nav:hover {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(35, 52, 41, 0.94);
}

.work-lightbox__close:focus-visible,
.work-lightbox__nav:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}

.work-lightbox__close {
  top: 22px;
  right: 22px;
  width: 46px;
  height: 46px;
  font-size: 0;
}

.work-lightbox__close::before,
.work-lightbox__close::after {
  position: absolute;
  width: 16px;
  height: 1px;
  background: currentColor;
  content: "";
}

.work-lightbox__close::before {
  transform: rotate(45deg);
}

.work-lightbox__close::after {
  transform: rotate(-45deg);
}

.work-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
}

.work-lightbox__nav:hover {
  transform: translateY(calc(-50% - 1px));
}

.work-lightbox__nav--prev {
  left: 18px;
}

.work-lightbox__nav--next {
  right: 18px;
}

.work-lightbox__nav span {
  display: block;
  width: 14px;
  height: 14px;
  margin: 0;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.work-lightbox__nav--prev span {
  transform: rotate(-135deg);
}

.work-lightbox__nav--next span {
  transform: rotate(45deg);
}

body.work-lightbox-open {
  overflow: hidden;
}

@media (max-width: 760px) {
  .work-lightbox__dialog {
    padding: 62px 22px 48px;
  }

  .work-lightbox__close {
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
  }

  .work-lightbox__nav {
    width: 46px;
    height: 46px;
  }

  .work-lightbox__nav--prev {
    left: 10px;
  }

  .work-lightbox__nav--next {
    right: 10px;
  }

  .work-lightbox__counter {
    bottom: -28px;
  }
}


/* Home page: slightly tighter vertical rhythm between primary sections — 2026-07-02 */
.suvo-page-home .intro,
.suvo-page-home .services,
.suvo-page-home .products,
.suvo-page-home .process,
.suvo-page-home .about,
.suvo-page-home .gallery-preview {
  padding-block: clamp(62px, 6.4vw, 96px);
}

.suvo-page-home .home-centres {
  padding-block: clamp(60px, 6.3vw, 92px);
}

.suvo-page-home .prefooter-social {
  padding-block: clamp(44px, 5.2vw, 68px);
}

.suvo-page-home .prefooter-partner {
  padding-block: clamp(46px, 5.4vw, 72px);
}

@media (max-width: 560px) {
  .suvo-page-home .intro,
  .suvo-page-home .services,
  .suvo-page-home .products,
  .suvo-page-home .process,
  .suvo-page-home .about,
  .suvo-page-home .gallery-preview,
  .suvo-page-home .home-centres {
    padding-block: 52px;
  }

  .suvo-page-home .prefooter-social {
    padding-block: 42px;
  }

  .suvo-page-home .prefooter-partner {
    padding-block: 46px;
  }
}

/* Homepage heading width refinement — 2026-07-02
   On desktop these four section headings may use the full content width.
   This avoids premature wrapping while preserving the compact mobile layout. */
@media (min-width: 981px) {
  .suvo-page-home .intro > .section-heading,
  .suvo-page-home .services > .section-heading,
  .suvo-page-home .products > .section-heading,
  .suvo-page-home .process > .section-heading {
    max-width: none;
  }

  .suvo-page-home .intro > .section-heading > p:not(.eyebrow),
  .suvo-page-home .services > .section-heading > p:not(.eyebrow),
  .suvo-page-home .products > .section-heading > p:not(.eyebrow),
  .suvo-page-home .process > .section-heading > p:not(.eyebrow) {
    max-width: 760px;
  }
}


/* Home product preview and controlled desktop line break — 2026-07-02 */
@media (min-width: 981px) {
  .home-intro__desktop-break {
    display: block;
  }
}

.home-product-showcase {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.home-product-showcase__item {
  min-width: 0;
}

.home-product-showcase__link {
  display: flex;
  height: 100%;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 24px;
  background: var(--white);
  color: var(--black);
  text-decoration: none;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.07);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home-product-showcase__link:hover {
  transform: translateY(-4px);
  border-color: rgba(243, 112, 58, 0.48);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.12);
}

.home-product-showcase__link:focus-visible {
  outline: 3px solid rgba(243, 112, 58, 0.45);
  outline-offset: 4px;
}

.home-product-showcase__visual {
  position: relative;
  display: flex;
  box-sizing: border-box;
  height: clamp(254px, 18vw, 296px);
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  padding: 18px 24px 14px;
  background:
    radial-gradient(circle at 50% 6%, rgba(243, 112, 58, 0.2), transparent 55%),
    linear-gradient(145deg, #272321 0%, #121212 70%);
}

.home-product-showcase__visual::after {
  position: absolute;
  right: -34px;
  bottom: -36px;
  width: 132px;
  height: 132px;
  border: 1px solid rgba(243, 112, 58, 0.35);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgba(243, 112, 58, 0.035);
  content: "";
}

.home-product-showcase__visual img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 54% !important;
  max-height: calc(100% - 8px) !important;
  object-fit: contain !important;
  object-position: center bottom;
  filter: drop-shadow(0 16px 17px rgba(0, 0, 0, 0.34));
  transition: transform 220ms ease;
}

.home-product-showcase__link:hover .home-product-showcase__visual img {
  transform: translateY(-4px) scale(1.025);
}

.home-product-showcase__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.home-product-showcase__body h3 {
  margin: 0;
  font-size: clamp(21px, 1.7vw, 25px);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.home-product-showcase__body p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.58;
}

.home-product-showcase__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 20px;
  color: var(--black);
  font-size: 14px;
  font-weight: 700;
}

.home-product-showcase__arrow {
  color: var(--orange);
  font-size: 18px;
  line-height: 1;
  transition: transform 180ms ease;
}

.home-product-showcase__link:hover .home-product-showcase__arrow {
  transform: translateX(3px);
}

@media (max-width: 980px) {
  .home-intro__desktop-break {
    display: none;
  }

  .home-product-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-product-showcase__visual {
    height: 252px;
    padding: 18px 20px 12px;
  }
}

@media (max-width: 560px) {
  .home-product-showcase {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .home-product-showcase__visual {
    height: 248px;
    padding: 16px 18px 12px;
  }

  .home-product-showcase__visual img {
    max-width: 48% !important;
    max-height: calc(100% - 6px) !important;
  }

  .home-product-showcase__body {
    padding: 22px;
  }
}


/* Home product showcase: full product packs, not cropped caps — 2026-07-02 */
.suvo-page-home .home-product-showcase__visual {
  isolation: isolate;
}

.suvo-page-home .home-product-showcase__visual img {
  flex: 0 1 auto;
  align-self: flex-end;
}

.suvo-page-home .home-product-showcase__body h3:first-child {
  margin-top: 0;
}


/* product-aid-mobile-stack-v1 20260702
   The "Swallowed / Inhaled" safety panel uses the full card width on small screens,
   avoiding narrow two-column text blocks. */
@media (max-width: 640px) {
  .products-page .product-detail-tab-panel--aid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 18px 20px;
  }

  .products-page .product-detail-tab-panel--aid > div {
    padding-right: 0;
  }

  .products-page .product-detail-tab-panel--aid > div + div {
    margin-top: 16px;
    padding-top: 16px;
    padding-left: 0;
    border-top: 1px solid rgba(243, 112, 58, 0.22);
    border-left: 0;
  }
}


/* product-tabs-mobile-stack-v2 20260702
   On small screens every product information tab uses a single full-width column,
   not narrow side-by-side blocks. */
@media (max-width: 640px) {
  .products-page .product-detail-tab-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 18px 20px;
  }

  .products-page .product-detail-tab-panel > div {
    padding-right: 0;
  }

  .products-page .product-detail-tab-panel > div + div {
    margin-top: 16px;
    padding-top: 16px;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
  }

  .products-page .product-detail-tab-panel--safety > div + div,
  .products-page .product-detail-tab-panel--aid > div + div {
    border-top-color: rgba(243, 112, 58, 0.22);
  }
}


/* Global header inquiry CTA no longer displays a universal phone number. */
@media (max-width: 1180px) {
  .header-call__label {
    display: inline-flex !important;
  }

  .header-call {
    min-width: 0 !important;
  }
}

.contact-form-card__phone a {
  color: inherit;
  text-decoration: none;
}

.contact-form-card__phone a strong {
  color: var(--orange);
}


/* Header inquiry CTA responsive text — 2026-07-02
   Full width: "Teirautis kainos"; tighter header: "Teirautis";
   small screens keep only the menu and language controls. */
.header-call__label {
  align-items: center;
  justify-content: center;
}

.header-call__label--full {
  display: inline-flex !important;
}

.header-call__label--short {
  display: none !important;
}

@media (max-width: 1180px) {
  .header-call {
    min-width: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .header-call__label--full {
    display: none !important;
  }

  .header-call__label--short {
    display: inline-flex !important;
  }
}

@media (max-width: 940px) {
  .header-call {
    display: none !important;
  }
}

/* Gallery page placeholder */
.page-hero--gallery {
  background-image:
    linear-gradient(110deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.70) 48%, rgba(0, 0, 0, 0.24) 100%),
    url("assets/gallery/atliktas-darbas-18.webp");
}

.gallery-roadmap__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 920px;
}

@media (max-width: 760px) {
  .gallery-roadmap__grid {
    grid-template-columns: 1fr;
  }
}


/* Home products heading link — 2026-07-09 */
.home-products-heading {
  max-width: none;
  margin-bottom: 42px;
}

.home-products-heading__top {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: clamp(28px, 4vw, 72px);
  align-items: end;
}

.home-products-heading__title {
  min-width: 0;
  max-width: 1280px;
}

.home-products-heading__intro {
  max-width: 860px;
  margin: 28px 0 0;
}

.home-products-heading__action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  gap: 9px;
  color: var(--black);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
  transform: translateY(-4px);
}

.home-products-heading__action span:first-child {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size 180ms ease;
}

.home-products-heading__arrow {
  color: var(--orange);
  font-size: 18px;
  line-height: 1;
  transition: transform 180ms ease;
}

.home-products-heading__action:hover span:first-child,
.home-products-heading__action:focus-visible span:first-child {
  background-size: 100% 1px;
}

.home-products-heading__action:hover .home-products-heading__arrow,
.home-products-heading__action:focus-visible .home-products-heading__arrow {
  transform: translateX(4px);
}

.home-products-heading__action:focus-visible {
  outline: 3px solid rgba(243, 112, 58, 0.35);
  outline-offset: 8px;
  border-radius: 999px;
}

@media (max-width: 980px) {
  .home-products-heading__top {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .home-products-heading__action {
    justify-self: start;
    transform: none;
  }
}

@media (max-width: 680px) {
  .home-products-heading {
    margin-bottom: 34px;
  }

  .home-products-heading__intro {
    margin-top: 22px;
  }
}



/* Gallery page and SUVO gallery management output — 2026-07-10 */
.page-hero--gallery {
  background-image:
    linear-gradient(110deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.70) 48%, rgba(0, 0, 0, 0.24) 100%),
    url("assets/gallery/suvo-gallery/dengimo-procesas-04.webp");
}

.suvo-gallery-section {
  padding-block: clamp(70px, 7vw, 112px);
}

.suvo-gallery-empty {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}

.suvo-gallery-groups {
  display: grid;
  gap: clamp(72px, 7vw, 120px);
}

.suvo-gallery-group {
  display: grid;
  gap: clamp(24px, 3vw, 36px);
}

.suvo-gallery-group__heading {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(280px, 0.42fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: end;
}

.suvo-gallery-group__heading h2 {
  margin: 0;
  color: var(--black);
  font-size: clamp(34px, 4.4vw, 66px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.suvo-gallery-group__heading p {
  margin: 18px 0 0;
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.suvo-gallery-carousel {
  position: relative;
  min-width: 0;
}

.suvo-gallery-carousel__viewport {
  overflow: hidden;
  margin-inline: calc(var(--container-padding, 24px) * -1);
  padding-inline: var(--container-padding, 24px);
}

.suvo-gallery-carousel__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-padding-inline: var(--container-padding, 24px);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.suvo-gallery-carousel__track::-webkit-scrollbar {
  display: none;
}

.suvo-gallery-slide {
  flex: 0 0 clamp(280px, 28vw, 430px);
  scroll-snap-align: start;
}

.suvo-gallery-card {
  display: flex;
  min-width: 0;
  height: auto;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 26px;
  background: var(--white);
  box-shadow: 0 18px 44px rgba(17, 17, 17, 0.08);
  color: var(--black);
  cursor: zoom-in;
  text-align: left;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.suvo-gallery-card:hover,
.suvo-gallery-card:focus-visible {
  border-color: rgba(243, 112, 58, 0.34);
  box-shadow: 0 24px 58px rgba(17, 17, 17, 0.12);
  transform: translateY(-3px);
  outline: none;
}

.suvo-gallery-card__image {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #1a1715;
}

.suvo-gallery-card__image::after {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: var(--black);
  content: "↗";
  font-size: 19px;
  font-weight: 700;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.suvo-gallery-card:hover .suvo-gallery-card__image::after,
.suvo-gallery-card:focus-visible .suvo-gallery-card__image::after {
  opacity: 1;
  transform: translateY(0);
}

.suvo-gallery-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
}

.suvo-gallery-card:hover .suvo-gallery-card__image img,
.suvo-gallery-card:focus-visible .suvo-gallery-card__image img {
  transform: scale(1.035);
}

.suvo-gallery-carousel__controls {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 22px;
}

.suvo-gallery-carousel__button {
  display: inline-grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(17, 17, 17, 0.12);
  border-radius: 999px;
  background: var(--white);
  color: var(--black);
  cursor: pointer;
  font: inherit;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 14px 30px rgba(17, 17, 17, 0.08);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, opacity 180ms ease;
}

.suvo-gallery-carousel__button:hover,
.suvo-gallery-carousel__button:focus-visible {
  border-color: rgba(243, 112, 58, 0.44);
  background: var(--orange);
  color: var(--white);
  transform: translateY(-2px);
  outline: none;
}

.suvo-gallery-carousel__button:disabled {
  cursor: default;
  opacity: 0.4;
  transform: none;
}

@media (max-width: 900px) {
  .suvo-gallery-group__heading {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .suvo-gallery-group__heading p {
    margin-top: 14px;
  }

  .suvo-gallery-slide {
    flex-basis: clamp(270px, 70vw, 420px);
  }
}

@media (max-width: 560px) {
  .suvo-gallery-section {
    padding-block: 56px;
  }

  .suvo-gallery-groups {
    gap: 58px;
  }

  .suvo-gallery-card {
    border-radius: 20px;
  }

  .suvo-gallery-card__image::after {
    opacity: 1;
    transform: none;
  }

  .suvo-gallery-carousel__controls {
    justify-content: flex-start;
  }
}



/* Gallery carousel refinement — 2026-07-12 */
.suvo-gallery-carousel__viewport {
  margin-inline: 0;
  padding: clamp(28px, 3.2vw, 42px) 0;
  overflow: hidden;
}

.suvo-gallery-carousel__track {
  --suvo-gallery-gap: clamp(18px, 2.2vw, 28px);
  --suvo-gallery-slide-size: calc((100% - (var(--suvo-gallery-gap) * 2)) / 3);
  gap: var(--suvo-gallery-gap);
  overflow: visible;
  scroll-behavior: auto;
  scroll-padding-inline: 0;
  scroll-snap-type: none;
  scrollbar-width: none;
  transform: translate3d(0, 0, 0);
  transition: transform 680ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.suvo-gallery-carousel__track.is-jump {
  transition: none;
}

.suvo-gallery-slide {
  flex: 0 0 var(--suvo-gallery-slide-size);
  scroll-snap-align: none;
  transform: scale(0.98);
  transform-origin: center center;
  opacity: 1;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), border-color 180ms ease, box-shadow 180ms ease;
}

.suvo-gallery-slide.is-active {
  position: relative;
  z-index: 2;
  transform: scale(1.045);
}

.suvo-gallery-slide.suvo-gallery-card:hover,
.suvo-gallery-slide.suvo-gallery-card:focus-visible {
  transform: scale(0.99) translateY(-2px);
}

.suvo-gallery-slide.is-active.suvo-gallery-card:hover,
.suvo-gallery-slide.is-active.suvo-gallery-card:focus-visible {
  transform: scale(1.055) translateY(-2px);
}

.suvo-gallery-slide.is-clone {
  pointer-events: none;
}

.suvo-gallery-card {
  width: 100%;
}

.suvo-gallery-card__image {
  aspect-ratio: 16 / 10;
}

.suvo-gallery-card:hover .suvo-gallery-card__image img,
.suvo-gallery-card:focus-visible .suvo-gallery-card__image img {
  transform: none;
}

.suvo-gallery-carousel__controls {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .suvo-gallery-carousel__viewport {
    margin-inline: calc(var(--container-padding, 24px) * -1);
    padding: 22px var(--container-padding, 24px);
  }

  .suvo-gallery-carousel__track {
    --suvo-gallery-slide-size: min(78vw, 420px);
  }

  .suvo-gallery-slide,
  .suvo-gallery-slide.is-active {
    transform: none;
  }

  .suvo-gallery-slide.suvo-gallery-card:hover,
  .suvo-gallery-slide.suvo-gallery-card:focus-visible,
  .suvo-gallery-slide.is-active.suvo-gallery-card:hover,
  .suvo-gallery-slide.is-active.suvo-gallery-card:focus-visible {
    transform: translateY(-2px);
  }
}

/* Gallery lightbox uses the same full-screen preview language as the home page carousel. */
body.suvo-page-gallery .work-lightbox__dialog {
  padding: 30px 86px 52px;
}

@media (max-width: 760px) {
  body.suvo-page-gallery .work-lightbox__dialog {
    padding: 62px 22px 48px;
  }
}


/* Gallery mobile carousel layout and home About visual update — 2026-07-12 */
@media (max-width: 760px) {
  .suvo-gallery-group__heading {
    display: block;
    text-align: center;
  }

  .suvo-gallery-group__heading h2 {
    margin-inline: auto;
    max-width: 11ch;
  }

  .suvo-gallery-group__heading p {
    max-width: 310px;
    margin: 14px auto 0;
  }

  .suvo-gallery-carousel {
    --suvo-gallery-mobile-button: 38px;
    --suvo-gallery-mobile-button-gap: 10px;
    --suvo-gallery-mobile-side-space: calc(var(--suvo-gallery-mobile-button) + var(--suvo-gallery-mobile-button-gap));
    --suvo-gallery-mobile-image-height: calc((100vw - (var(--container-padding, 24px) * 2) - (var(--suvo-gallery-mobile-side-space) * 2)) * 0.625);
  }

  .suvo-gallery-carousel__viewport {
    margin-inline: 0;
    padding: 18px var(--suvo-gallery-mobile-side-space);
  }

  .suvo-gallery-carousel__track {
    --suvo-gallery-gap: 0px;
    --suvo-gallery-slide-size: 100%;
    gap: 0;
  }

  .suvo-gallery-slide,
  .suvo-gallery-slide.is-active {
    transform: none;
  }

  .suvo-gallery-slide:not(.is-active) {
    opacity: 0;
    pointer-events: none;
  }

  .suvo-gallery-slide.is-active {
    opacity: 1;
  }

  .suvo-gallery-card,
  .suvo-gallery-card:hover,
  .suvo-gallery-card:focus-visible {
    transform: none;
  }

  .suvo-gallery-card__image {
    aspect-ratio: 16 / 10;
  }

  .suvo-gallery-carousel__controls {
    position: absolute;
    z-index: 4;
    top: 18px;
    right: 0;
    left: 0;
    display: flex;
    height: var(--suvo-gallery-mobile-image-height);
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    margin: 0;
    pointer-events: none;
  }

  .suvo-gallery-carousel__button {
    width: var(--suvo-gallery-mobile-button);
    height: 100%;
    border-radius: 18px;
    pointer-events: auto;
  }

  .suvo-gallery-carousel__button:hover,
  .suvo-gallery-carousel__button:focus-visible {
    transform: none;
  }
}

@media (max-width: 380px) {
  .suvo-gallery-carousel {
    --suvo-gallery-mobile-button: 34px;
    --suvo-gallery-mobile-button-gap: 8px;
  }

  .suvo-gallery-carousel__button {
    border-radius: 16px;
  }
}


/* Gallery mobile controls refinement — 2026-07-12 */
.suvo-gallery-card__image::after,
.suvo-gallery-card:hover .suvo-gallery-card__image::after,
.suvo-gallery-card:focus-visible .suvo-gallery-card__image::after {
  display: none;
  content: none;
}

@media (max-width: 760px) {
  .suvo-gallery-carousel {
    --suvo-gallery-mobile-button: 44px;
    --suvo-gallery-mobile-button-gap: 16px;
    --suvo-gallery-mobile-side-space: calc(var(--suvo-gallery-mobile-button) + var(--suvo-gallery-mobile-button-gap));
  }

  .suvo-gallery-carousel__viewport {
    padding-inline: var(--suvo-gallery-mobile-side-space);
  }

  .suvo-gallery-carousel__controls {
    align-items: center;
  }

  .suvo-gallery-carousel__button {
    width: var(--suvo-gallery-mobile-button);
    height: var(--suvo-gallery-mobile-button);
    border-radius: 999px;
  }
}

@media (max-width: 380px) {
  .suvo-gallery-carousel {
    --suvo-gallery-mobile-button: 40px;
    --suvo-gallery-mobile-button-gap: 12px;
  }

  .suvo-gallery-carousel__button {
    border-radius: 999px;
  }
}

/* Mobile gallery carousel repair — 2026-07-12
   Keeps each gallery image full-width on mobile and overlays compact arrows
   on the image instead of reserving side gutters. */
@media (max-width: 760px) {
  .suvo-gallery-carousel {
    --suvo-gallery-mobile-button: 42px;
    --suvo-gallery-mobile-image-height: calc((100vw - (var(--container-padding, 24px) * 2)) * 0.625);
  }

  .suvo-gallery-carousel__viewport {
    margin-inline: 0;
    padding: 18px 0 8px;
    overflow: hidden;
  }

  .suvo-gallery-carousel__track {
    --suvo-gallery-gap: 0px;
    --suvo-gallery-slide-size: 100%;
    gap: 0;
  }

  .suvo-gallery-slide,
  .suvo-gallery-slide.is-active {
    flex-basis: 100%;
    max-width: 100%;
    transform: none;
  }

  .suvo-gallery-slide:not(.is-active) {
    opacity: 0;
    pointer-events: none;
  }

  .suvo-gallery-card,
  .suvo-gallery-card:hover,
  .suvo-gallery-card:focus-visible {
    width: 100%;
    transform: none;
  }

  .suvo-gallery-card__image {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 20px;
  }

  .suvo-gallery-carousel__controls {
    position: absolute;
    z-index: 5;
    top: calc(18px + (var(--suvo-gallery-mobile-image-height) / 2));
    right: 12px;
    left: 12px;
    display: flex;
    height: auto;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    margin: 0;
    transform: translateY(-50%);
    pointer-events: none;
  }

  .suvo-gallery-carousel__button {
    width: var(--suvo-gallery-mobile-button);
    height: var(--suvo-gallery-mobile-button);
    border-radius: 999px;
    pointer-events: auto;
  }

  .suvo-gallery-carousel__button:hover,
  .suvo-gallery-carousel__button:focus-visible {
    transform: none;
  }
}

@media (max-width: 380px) {
  .suvo-gallery-carousel {
    --suvo-gallery-mobile-button: 38px;
  }

  .suvo-gallery-carousel__controls {
    right: 10px;
    left: 10px;
  }
}



/* Mobile gallery carousel animation polish — 2026-07-12
   Do not hide non-active slides during mobile transitions. The viewport already
   masks adjacent slides, so keeping neighbouring slides visible allows the
   track to glide smoothly instead of fading the old image out before the next
   one slides in. */
@media (max-width: 760px) {
  .suvo-gallery-carousel__track {
    transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .suvo-gallery-slide,
  .suvo-gallery-slide.is-active,
  .suvo-gallery-slide:not(.is-active) {
    opacity: 1;
    pointer-events: auto;
  }

  .suvo-gallery-slide.is-clone {
    pointer-events: none;
  }
}


/* mobile-lightbox-counter-and-product-spacing-v1 20260709
   Keep the fullscreen carousel counter visible in small landscape viewports and
   add clearer spacing between multiple safety/info paragraphs on mobile. */
.work-lightbox__counter {
  position: fixed;
  right: 0;
  bottom: calc(14px + env(safe-area-inset-bottom));
  left: 0;
  z-index: 3;
  pointer-events: none;
}

@media (max-height: 520px) and (orientation: landscape) {
  .work-lightbox__dialog {
    padding-top: 18px;
    padding-bottom: 44px;
  }

  .work-lightbox__figure > img,
  .work-lightbox__image {
    max-height: calc(100vh - 74px);
  }

  .work-lightbox__counter {
    bottom: calc(10px + env(safe-area-inset-bottom));
  }

  .work-lightbox__close {
    top: calc(12px + env(safe-area-inset-top));
    right: calc(12px + env(safe-area-inset-right));
  }

  .work-lightbox__nav--prev {
    left: calc(10px + env(safe-area-inset-left));
  }

  .work-lightbox__nav--next {
    right: calc(10px + env(safe-area-inset-right));
  }
}

@media (max-width: 640px) {
  .products-page .product-detail-tab-panel p + strong {
    margin-top: 18px;
  }

  .products-page .product-detail-tab-panel strong + p {
    margin-top: 7px;
  }
}
/* product-tab-heading-spacing-v31 20260710
   Keep every product tab panel visually consistent: description tab also has
   a panel heading, and a second heading inside a panel gets breathing room. */
.products-page .product-detail-tab-panel p + strong {
  margin-top: 22px;
}

.products-page .product-detail-tab-panel strong + p {
  margin-top: 8px;
}

@media (max-width: 640px) {
  .products-page .product-detail-tab-panel p + strong {
    margin-top: 18px;
  }
}

