:root {
  --color-bg: #f7fafc;
  --color-surface: #ffffff;
  --color-surface-alt: #eef3f7;
  --color-text: #0e1a2b;
  --color-text-muted: #4b5b70;
  --color-primary: #2f8f6b;
  --color-primary-hover: #267557;
  --color-accent: #1f6fb2;
  --color-border: #d9e2ec;
  --color-success: #1e9e62;
  --color-warning: #b7791f;
  --color-error: #c53030;
  --font-heading: "Sora", system-ui, sans-serif;
  --font-body: "Source Sans 3", system-ui, sans-serif;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-pill: 999px;
  --shadow-soft: 0 6px 20px rgba(14, 26, 43, 0.08);
  --shadow-card-hover: 0 12px 30px rgba(14, 26, 43, 0.12);
  --shadow-hero: 0 18px 45px rgba(9, 18, 33, 0.22);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
}

@media (max-width: 1024px) {
  body {
    font-size: 17px;
  }
}

@media (max-width: 767px) {
  body {
    font-size: 16px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--space-4);
  font-family: var(--font-heading);
  line-height: 1.2;
  color: var(--color-text);
}

p {
  margin: 0 0 var(--space-4);
  color: var(--color-text-muted);
}

a {
  color: var(--color-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

a:hover,
a:focus-visible {
  color: var(--color-primary);
}

.aqsa-container {
  width: min(1200px, calc(100% - 48px));
  margin-inline: auto;
}

@media (max-width: 767px) {
  .aqsa-container {
    width: min(1200px, calc(100% - 32px));
  }
}

.aqsa-section {
  padding-block: var(--space-8);
}

@media (max-width: 767px) {
  .aqsa-section {
    padding-block: 40px;
  }
}

.site-main {
  min-height: 60vh;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.screen-reader-text:focus {
  top: var(--space-3);
  left: var(--space-3);
  width: auto;
  height: auto;
  margin: 0;
  clip: auto;
  padding: var(--space-2) var(--space-3);
  background: var(--color-surface);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  z-index: 9999;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid transparent;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.site-header.is-scrolled {
  border-color: var(--color-border);
  box-shadow: var(--shadow-soft);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding-block: var(--space-4);
}

.site-branding__link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.site-branding__name {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-text);
}

.primary-nav {
  margin-left: auto;
}

.site-header__actions {
  display: flex;
  align-items: center;
}

.aqsa-nav-list,
.aqsa-footer-nav-list,
.aqsa-mobile-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: var(--space-5);
}

.aqsa-nav-list a,
.aqsa-footer-nav-list a,
.aqsa-mobile-nav-list a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 var(--space-2);
  border-radius: var(--radius-pill);
  text-decoration: none;
  color: var(--color-text);
  font-weight: 600;
  transition: background-color 180ms ease, color 180ms ease;
}

.aqsa-nav-list .current-menu-item > a,
.aqsa-mobile-nav-list .current-menu-item > a {
  background: rgba(47, 143, 107, 0.12);
  color: var(--color-primary);
}

.aqsa-nav-list a:hover,
.aqsa-nav-list a:focus-visible {
  background: rgba(14, 26, 43, 0.06);
}

.mobile-nav-toggle {
  display: none;
  min-height: 44px;
  padding: 0 var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  color: var(--color-text);
  font-weight: 700;
  cursor: pointer;
}

.mobile-nav {
  border-top: 1px solid var(--color-border);
  background: var(--color-surface);
  padding: var(--space-4) 0;
}

.aqsa-mobile-nav-list {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.aqsa-mobile-nav-cta {
  margin-top: var(--space-4);
}

@media (max-width: 960px) {
  .primary-nav {
    display: none;
  }

  .site-header__actions {
    display: none;
  }

  .mobile-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

.aqsa-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: var(--space-6);
  align-items: stretch;
}

@media (max-width: 960px) {
  .aqsa-hero__grid {
    grid-template-columns: 1fr;
  }
}

.aqsa-eyebrow {
  margin-bottom: var(--space-3);
  color: #8de8c2;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.aqsa-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(90% 130% at 0% 0%, #204876 0%, #132943 44%, #0b1728 100%);
}

.aqsa-hero::before {
  content: "";
  position: absolute;
  top: -140px;
  right: -80px;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(141, 232, 194, 0.35), rgba(141, 232, 194, 0));
  pointer-events: none;
}

.aqsa-hero::after {
  content: "";
  position: absolute;
  bottom: -180px;
  left: -120px;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(31, 111, 178, 0.34), rgba(31, 111, 178, 0));
  pointer-events: none;
}

.aqsa-hero .aqsa-container {
  position: relative;
  z-index: 2;
}

.aqsa-hero__content h1 {
  max-width: 16ch;
  margin-bottom: var(--space-5);
  color: var(--color-surface);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.07;
}

.aqsa-hero__content p {
  max-width: 58ch;
  color: rgba(247, 250, 252, 0.9);
}

.aqsa-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.aqsa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  transition: all 180ms ease;
}

.aqsa-btn:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.aqsa-btn--primary {
  background: var(--color-primary);
  color: var(--color-surface);
}

.aqsa-btn--primary:hover {
  background: var(--color-primary-hover);
  color: var(--color-surface);
}

.aqsa-btn--secondary {
  border-color: var(--color-primary);
  background: transparent;
  color: var(--color-primary);
}

.aqsa-btn--secondary:hover {
  background: var(--color-surface-alt);
  color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.aqsa-btn--light {
  border-color: rgba(255, 255, 255, 0.65);
  color: var(--color-surface);
}

.aqsa-btn--light:hover {
  background: rgba(255, 255, 255, 0.14);
  color: var(--color-surface);
  border-color: var(--color-surface);
}

.aqsa-hero-stats {
  margin-top: var(--space-6);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.aqsa-metric {
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  padding: var(--space-3);
  backdrop-filter: blur(3px);
}

.aqsa-metric strong {
  display: block;
  color: #ffffff;
  font-family: var(--font-heading);
  font-size: 1.35rem;
}

.aqsa-metric span {
  display: block;
  color: rgba(247, 250, 252, 0.82);
  font-size: 0.92rem;
}

.aqsa-hero-card {
  align-self: center;
  border: 1px solid rgba(220, 230, 240, 0.85);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-hero);
  color: var(--color-text);
}

.aqsa-hero-card h2 {
  color: var(--color-text);
}

.aqsa-hero-flow {
  margin: 0 0 var(--space-5);
  padding: 0;
  list-style: none;
}

.aqsa-hero-flow li {
  position: relative;
  margin: 0;
  padding: 0 0 var(--space-3) 22px;
  color: var(--color-text-muted);
}

.aqsa-hero-flow li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--color-primary);
}

.aqsa-hero-card .aqsa-text-link {
  color: var(--color-primary);
}

.aqsa-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

.aqsa-card:hover {
  box-shadow: var(--shadow-card-hover);
}

.aqsa-content-card + .aqsa-content-card {
  margin-top: var(--space-5);
}

.aqsa-page__header {
  margin-bottom: var(--space-5);
}

.aqsa-page__content > :last-child {
  margin-bottom: 0;
}

input,
textarea,
select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 0 var(--space-3);
  font: inherit;
  color: var(--color-text);
  background: var(--color-surface);
}

textarea {
  min-height: 140px;
  padding-top: var(--space-3);
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 1px;
}

label {
  display: inline-block;
  margin-bottom: var(--space-2);
  font-weight: 600;
  color: var(--color-text);
}

.site-footer {
  border-top: 1px solid var(--color-border);
  background: var(--color-surface);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--space-5);
  align-items: center;
  padding-block: var(--space-6);
}

.site-footer__meta {
  margin: 0;
  font-size: 0.95rem;
}

.aqsa-section--surface {
  background: var(--color-surface-alt);
}

.aqsa-section-head {
  margin-bottom: var(--space-6);
}

.aqsa-section-head p {
  max-width: 66ch;
}

.aqsa-grid {
  display: grid;
  gap: var(--space-5);
}

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

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

.aqsa-card--service {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  border-top: 4px solid rgba(47, 143, 107, 0.36);
}

.aqsa-text-link {
  margin-top: auto;
  font-weight: 700;
  text-decoration: none;
}

.aqsa-service-tag {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 var(--space-3);
  border-radius: var(--radius-pill);
  background: rgba(31, 111, 178, 0.1);
  color: var(--color-accent);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.aqsa-card--service h3 {
  margin-bottom: var(--space-2);
}

.aqsa-card--service p {
  margin-bottom: 0;
}

.aqsa-card--service .aqsa-text-link::after {
  display: inline-block;
  content: " ->";
  transition: transform 180ms ease;
}

.aqsa-card--service:hover .aqsa-text-link::after {
  transform: translateX(3px);
}

.aqsa-trust-strip {
  padding-block: var(--space-4);
  background: var(--color-surface);
  border-block: 1px solid var(--color-border);
}

.aqsa-trust-strip__inner {
  display: grid;
  grid-template-columns: minmax(220px, auto) 1fr;
  gap: var(--space-4);
  align-items: center;
}

.aqsa-trust-strip__inner > p {
  margin: 0;
  color: var(--color-text);
  font-weight: 700;
}

.aqsa-brand-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.aqsa-brand-tags li {
  gap: var(--space-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  min-width: 96px;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-bg);
  color: var(--color-text);
  font-weight: 700;
}

.aqsa-brand-tags img {
  max-height: 24px;
  max-width: 96px;
  width: auto;
  object-fit: contain;
}

.aqsa-brand-tags span {
  line-height: 1;
}

.aqsa-home-richtext .aqsa-page__content {
  max-width: 78ch;
}

.aqsa-home-richtext__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.55fr);
  gap: var(--space-6);
  align-items: start;
}

.aqsa-home-visuals {
  position: sticky;
  top: calc(var(--space-8) + 30px);
  display: grid;
  gap: var(--space-4);
}

.aqsa-visual-slider {
  --swap-progress: 0;
  position: relative;
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  background: var(--color-surface);
  height: 330px;
}

.aqsa-visual-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 23, 40, 0) 45%, rgba(11, 23, 40, 0.35));
  pointer-events: none;
}

.aqsa-visual-slider__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 360ms ease;
}

.aqsa-visual-slider__image.is-primary {
  opacity: calc(1 - var(--swap-progress));
}

.aqsa-visual-slider__image.is-secondary {
  opacity: var(--swap-progress);
}

.aqsa-visual-card {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  background: var(--color-surface);
}

.aqsa-visual-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aqsa-visual-card--large {
  height: 270px;
}

.aqsa-visual-card--small {
  height: 180px;
}

.aqsa-visual-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: 34px;
  padding: 0 var(--space-3);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: 700;
  box-shadow: var(--shadow-soft);
  animation: aqsaFloat 5.5s ease-in-out infinite;
}

.aqsa-visual-chip--one {
  justify-self: start;
}

.aqsa-visual-chip--two {
  justify-self: end;
  animation-delay: 1.2s;
}

.aqsa-home-richtext h2 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-3);
}

.aqsa-home-richtext .aqsa-page__content h2:first-of-type {
  margin-top: 0;
}

.aqsa-home-richtext h3 {
  margin-top: var(--space-5);
  margin-bottom: var(--space-2);
}

.aqsa-home-richtext p {
  color: var(--color-text-muted);
}

.aqsa-home-richtext .aqsa-page__content p:empty,
.aqsa-home-richtext .aqsa-page__content h2:empty,
.aqsa-home-richtext .aqsa-page__content h3:empty {
  display: none;
}

.aqsa-card--empty-state {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 560px;
}

.aqsa-card--empty-state .aqsa-btn {
  align-self: flex-start;
}

.aqsa-service-media {
  position: relative;
  margin: calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-4);
  height: 145px;
  overflow: hidden;
  border-bottom: 1px solid var(--color-border);
}

.aqsa-service-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aqsa-service-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(14, 26, 43, 0.08), rgba(14, 26, 43, 0));
  pointer-events: none;
}

@keyframes aqsaFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

.aqsa-page-layout {
  display: grid;
  gap: var(--space-6);
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
}

.aqsa-page-side {
  position: sticky;
  top: calc(var(--space-8) + 30px);
  height: max-content;
}

.aqsa-steps {
  margin: 0 0 var(--space-5);
  padding-left: var(--space-5);
}

.aqsa-steps li + li {
  margin-top: var(--space-2);
}

.aqsa-case-card__image {
  display: block;
  margin: calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-4);
}

.aqsa-case-card__image img,
.aqsa-single-case__thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.aqsa-single-case__thumb {
  margin-bottom: var(--space-5);
  overflow: hidden;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}

.aqsa-cta-band {
  background: linear-gradient(125deg, #0e1a2b, #1f2f45);
}

.aqsa-cta-band h2,
.aqsa-cta-band p {
  color: var(--color-surface);
}

.aqsa-cta-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}

.aqsa-single-case {
  max-width: 900px;
}

.aqsa-case-detail {
  padding-block: 24px 40px;
  background: #edf2f8;
}

.aqsa-case-detail__stack {
  display: grid;
  gap: 18px;
}

.aqsa-case-detail__header {
  border-radius: 18px;
  border: 1px solid #d8e3f2;
  background: #ffffff;
  padding: clamp(20px, 2.4vw, 30px);
}

.aqsa-case-detail__eyebrow {
  margin-bottom: 6px;
  color: #4f6687;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.aqsa-case-detail__header h1 {
  margin-bottom: 8px;
  color: #0f2543;
  font-size: clamp(2rem, 3.6vw, 3.4rem);
  line-height: 1.03;
  letter-spacing: -0.02em;
}

.aqsa-case-detail__header p {
  margin: 0;
  max-width: 72ch;
  color: #445b77;
}

.aqsa-case-hero {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid #d8e3f2;
  min-height: clamp(260px, 34vw, 420px);
}

.aqsa-case-hero__media img {
  display: block;
  width: 100%;
  height: clamp(260px, 34vw, 420px);
  object-fit: cover;
}

.aqsa-case-hero__overlay {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: clamp(18px, 3.2vw, 32px);
  background: linear-gradient(180deg, rgba(8, 22, 41, 0.14) 0%, rgba(8, 22, 41, 0.86) 72%);
}

.aqsa-case-hero__eyebrow {
  margin: 0;
  color: #8bd9bc;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.aqsa-case-hero__overlay h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.6rem, 2.8vw, 3rem);
  line-height: 1.05;
}

.aqsa-case-hero__overlay p {
  margin: 0;
  max-width: 66ch;
  color: rgba(227, 237, 250, 0.95);
}

.aqsa-case-detail__split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.aqsa-case-panel {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #d8e3f2;
  padding: clamp(18px, 2.1vw, 24px);
}

.aqsa-case-panel h2 {
  margin-bottom: 12px;
  font-size: clamp(1.4rem, 2.1vw, 2rem);
  line-height: 1.1;
}

.aqsa-case-panel p {
  margin-bottom: 0;
}

.aqsa-case-panel--dark {
  background: radial-gradient(120% 120% at 0% 0%, #133f6d 0%, #0d2b4b 55%, #0a1f39 100%);
}

.aqsa-case-panel--dark h2,
.aqsa-case-panel--dark p {
  color: #ffffff;
}

.aqsa-case-panel--light {
  background: #ffffff;
}

.aqsa-case-panel--light h2 {
  color: #112847;
}

.aqsa-case-panel--light p {
  color: #435b79;
}

.aqsa-case-panel__media {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 14px;
}

.aqsa-case-panel__media img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.aqsa-case-panel--light ul {
  margin: 12px 0 0;
  padding-left: 18px;
  color: #1b3558;
}

.aqsa-case-panel--light li + li {
  margin-top: 6px;
}

.aqsa-case-panel--gallery h2 {
  text-align: center;
}

.aqsa-case-collage {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 132px;
  gap: 10px;
}

.aqsa-case-collage__item {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #d9e4f3;
  background: #f4f7fb;
}

.aqsa-case-collage__trigger {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.aqsa-case-collage__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 220ms ease;
}

.aqsa-case-collage__trigger:hover .aqsa-case-collage__img {
  transform: scale(1.03);
}

.aqsa-case-collage__item.is-featured {
  grid-column: span 2;
  grid-row: span 2;
}

.aqsa-case-collage__item.is-wide {
  grid-column: span 2;
}

body.aqsa-no-scroll {
  overflow: hidden;
}

.aqsa-case-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
}

.aqsa-case-lightbox[hidden] {
  display: none !important;
}

.aqsa-case-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 13, 25, 0.82);
}

.aqsa-case-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: calc(100vw - 40px);
  height: calc(100vh - 40px);
  max-width: 1320px;
  max-height: 920px;
  border-radius: 12px;
  background: #0a203a;
  border: 1px solid rgba(145, 178, 214, 0.36);
  box-shadow: 0 24px 70px rgba(4, 12, 25, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 64px;
  overflow: hidden;
}

.aqsa-case-lightbox__image {
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 8px;
}

.aqsa-case-lightbox__close,
.aqsa-case-lightbox__nav {
  position: absolute;
  border: 1px solid rgba(157, 190, 227, 0.46);
  background: rgba(8, 28, 50, 0.82);
  color: #eff7ff;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.aqsa-case-lightbox__close {
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  font-size: 1.6rem;
  line-height: 1;
}

.aqsa-case-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  font-size: 1.8rem;
  line-height: 1;
}

.aqsa-case-lightbox__nav--prev {
  left: 10px;
}

.aqsa-case-lightbox__nav--next {
  right: 10px;
}

.aqsa-case-lightbox__counter {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(8, 28, 50, 0.78);
  border: 1px solid rgba(157, 190, 227, 0.32);
  color: #dcecff;
  font-size: 0.92rem;
  font-weight: 700;
  pointer-events: none;
}

.aqsa-case-result h2 {
  margin-bottom: 12px;
  text-align: center;
}

.aqsa-case-facts {
  border-radius: 18px;
  border: 1px solid rgba(183, 214, 242, 0.2);
  background: radial-gradient(110% 130% at 0% 0%, #123b67 0%, #0d2848 56%, #091e38 100%);
  padding: clamp(20px, 2.7vw, 30px);
}

.aqsa-case-facts h2 {
  margin-bottom: 14px;
  text-align: center;
  color: #ffffff;
}

.aqsa-case-facts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.aqsa-case-fact {
  border-radius: 12px;
  border: 1px solid rgba(184, 212, 241, 0.22);
  background: rgba(6, 20, 40, 0.42);
  padding: 14px;
  text-align: center;
}

.aqsa-case-fact__icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin: 0 auto 8px;
  border-radius: 999px;
  background: rgba(27, 209, 132, 0.2);
  color: #7ff1c2;
  font-size: 0.8rem;
  font-weight: 800;
}

.aqsa-case-fact__label {
  margin: 0;
  color: #b8cbe5;
  font-size: 0.82rem;
}

.aqsa-case-fact__value {
  margin: 4px 0 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
}

.aqsa-woo-products ul.products {
  margin: 0;
}

.aqsa-woo-layout .woocommerce-result-count,
.aqsa-woo-layout .woocommerce-ordering {
  margin-bottom: var(--space-5);
}

.aqsa-woo-layout ul.products li.product {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
}

.aqsa-woo-layout ul.products li.product .button,
.aqsa-quote-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  min-height: 44px;
  border-radius: var(--radius-pill) !important;
  border: 1px solid transparent !important;
  background: var(--color-primary) !important;
  color: var(--color-surface) !important;
  font-weight: 700;
  transition: all 180ms ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--color-primary-hover) !important;
}

.aqsa-price-request {
  color: var(--color-warning);
  font-weight: 700;
}

.aqsa-quote-cta {
  margin-top: var(--space-4);
}

/* Woo single product (custom layout) */
.aqsa-woo-single-section {
  padding-block: 42px 76px;
  background: #e9eef5;
}

.aqsa-woo-single-wrap {
  max-width: 1320px;
}

.single-product .aqsa-inner-content .aqsa-woo-layout.aqsa-page--panel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.single-product .aqsa-woo-layout {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.aqsa-woo-single-wrap .woocommerce-notices-wrapper {
  margin-bottom: 14px;
}

.aqsa-woo-single-card {
  margin: 0;
  border: 1px solid rgba(53, 92, 141, 0.74);
  border-radius: 12px;
  padding: 18px;
  background: radial-gradient(120% 145% at 0% 0%, #0f335d 0%, #0a2546 48%, #081f3d 100%);
  box-shadow: 0 14px 30px rgba(5, 18, 35, 0.24);
  color: #deebfb;
}

.aqsa-woo-single-card__top {
  display: grid;
  grid-template-columns: minmax(380px, 0.85fr) minmax(0, 1.15fr);
  gap: 18px;
  align-items: start;
}

.aqsa-woo-single-card__media {
  border: 1px solid rgba(188, 209, 235, 0.42);
  border-radius: 14px;
  overflow: hidden;
  background: #f5f7fb;
}

.aqsa-woo-single-card__image-link {
  display: block;
  height: 100%;
}

.aqsa-woo-single-card__media img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: contain;
  object-position: center;
  display: block;
  background: #f5f7fb;
}

.aqsa-woo-single-card__summary h1 {
  margin: 0 0 6px;
  color: #f3f8ff;
  font-size: clamp(2.4rem, 3vw, 3.8rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
}

.aqsa-woo-single-card__price {
  margin: 0 0 14px;
  color: #67f3b3;
  font-size: clamp(2.15rem, 2.4vw, 2.95rem);
  font-weight: 800;
  line-height: 1;
}

.aqsa-woo-single-card__price .amount {
  color: inherit;
}

.aqsa-woo-single-card__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.aqsa-woo-single-feature {
  min-height: 120px;
  border-radius: 14px;
  border: 1px solid rgba(105, 191, 249, 0.26);
  background: linear-gradient(160deg, rgba(35, 62, 101, 0.72), rgba(16, 36, 67, 0.82));
  padding: 14px 12px;
  display: grid;
  gap: 10px;
  align-content: start;
  box-shadow: inset 0 0 0 1px rgba(132, 212, 255, 0.08);
}

.aqsa-woo-single-feature__icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(95, 246, 184, 0.26), rgba(72, 229, 162, 0.18));
  color: #6ff7be;
  font-weight: 800;
  font-size: 0.9rem;
  line-height: 1;
}

.aqsa-woo-single-feature span:last-child {
  color: rgba(222, 236, 252, 0.95);
  font-size: 1.05rem;
  line-height: 1.24;
}

.aqsa-woo-single-card__stock {
  margin: 0 0 14px;
  color: #bbf8dd;
  font-size: 1.22rem;
  font-weight: 700;
}

.aqsa-woo-single-card__cta {
  margin-bottom: 14px;
}

.aqsa-woo-single-card__cta .cart {
  margin: 0;
}

.aqsa-woo-single-card__button {
  width: 100%;
  justify-content: center;
  min-height: 62px;
  font-size: 1.9rem;
}

.aqsa-woo-single-card__meta {
  margin: 0;
  color: rgba(183, 208, 236, 0.92);
  font-size: 1.02rem;
}

.aqsa-woo-single-card__meta a {
  color: #95ffd8;
}

.aqsa-woo-single-card__tabs {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(151, 183, 220, 0.24);
}

.aqsa-woo-single-card .woocommerce-tabs ul.tabs {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  display: flex;
  gap: 10px;
  list-style: none;
}

.aqsa-woo-single-card .woocommerce-tabs ul.tabs::before,
.aqsa-woo-single-card .woocommerce-tabs ul.tabs li::before,
.aqsa-woo-single-card .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.aqsa-woo-single-card .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: 1px solid rgba(102, 247, 177, 0.56);
  border-radius: 999px;
  background: rgba(8, 32, 61, 0.82);
}

.aqsa-woo-single-card .woocommerce-tabs ul.tabs li a {
  color: #d8e8fb;
  font-weight: 700;
  padding: 8px 16px;
  text-decoration: none;
}

.aqsa-woo-single-card .woocommerce-tabs ul.tabs li.active {
  border-color: rgba(97, 245, 177, 0.9);
  background: rgba(52, 234, 159, 0.24);
}

.aqsa-woo-single-card .woocommerce-tabs ul.tabs li.active a {
  color: #8dffd3;
}

.aqsa-woo-single-card .woocommerce-Tabs-panel {
  margin: 0;
  color: rgba(214, 228, 245, 0.94);
}

.aqsa-woo-single-card .woocommerce-Tabs-panel p,
.aqsa-woo-single-card .woocommerce-Tabs-panel li {
  color: rgba(214, 228, 245, 0.94);
  font-size: 1rem;
}

.aqsa-woo-single-card .woocommerce-Tabs-panel h2 {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 1.6rem;
}

.aqsa-woo-single-card .woocommerce table.shop_attributes {
  border-collapse: collapse;
  border: 1px solid rgba(151, 183, 220, 0.28);
}

.aqsa-woo-single-card .woocommerce table.shop_attributes th,
.aqsa-woo-single-card .woocommerce table.shop_attributes td {
  border-color: rgba(151, 183, 220, 0.28);
}

.aqsa-woo-single-card .woocommerce table.shop_attributes th {
  color: #d9e9ff;
}

.aqsa-woo-single-card .woocommerce table.shop_attributes td {
  color: #b9d0ee;
}

.aqsa-woo-single-card__related {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(151, 183, 220, 0.24);
}

.aqsa-woo-single-card .related > h2 {
  margin-bottom: 12px;
  color: #ffffff;
  font-size: 1.9rem;
}

.aqsa-woo-single-card .related ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.aqsa-woo-single-card .related ul.products li.product {
  position: relative;
  float: none !important;
  clear: none !important;
  margin: 0;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  border-radius: 10px;
  border: 1px solid rgba(160, 191, 228, 0.3);
  background: rgba(13, 35, 64, 0.82);
  padding: 10px;
  display: flex;
  flex-direction: column;
}

.aqsa-woo-single-card .related ul.products li.product.first,
.aqsa-woo-single-card .related ul.products li.product.last {
  float: none !important;
  clear: none !important;
}

.aqsa-woo-single-card .related ul.products::before,
.aqsa-woo-single-card .related ul.products::after {
  display: none !important;
}

.aqsa-woo-single-card .related ul.products li.product a {
  color: #f2f8ff;
  text-decoration: none;
}

.aqsa-woo-single-card .related ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
}

.aqsa-woo-single-card .related ul.products li.product img {
  margin-bottom: 8px;
  border-radius: 8px;
  width: 100% !important;
  max-width: 100% !important;
  height: 180px !important;
  object-fit: contain;
  object-position: center;
  background: #f4f7fb;
  padding: 6px;
  float: none !important;
  display: block;
}

.aqsa-woo-single-card .related ul.products li.product a img + img {
  display: none !important;
}

.aqsa-woo-single-card .related ul.products li.product .woocommerce-loop-product__title {
  margin: 6px 0 6px;
  font-size: 1rem;
  line-height: 1.3;
  color: #f2f8ff !important;
  font-weight: 700;
}

.aqsa-woo-single-card .related ul.products li.product .price {
  color: #78f7c1;
  margin: 0 0 8px;
  font-size: 1.02rem;
  font-weight: 700;
}

.aqsa-woo-single-card .related ul.products li.product .button {
  margin-top: auto;
  width: 100%;
  justify-content: center;
}

.aqsa-product-specs-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.aqsa-product-specs-list li {
  border: 1px solid rgba(113, 194, 248, 0.28);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(18, 40, 72, 0.58);
  display: grid;
  gap: 4px;
}

.aqsa-product-specs-list__label {
  color: rgba(170, 201, 232, 0.95);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.aqsa-product-specs-list__value {
  color: #e9f3ff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

@media (max-width: 1180px) {
  .aqsa-woo-single-card__top {
    grid-template-columns: 1fr;
  }

  .aqsa-woo-single-card__media img {
    min-height: 360px;
  }

  .aqsa-woo-single-card__features {
    grid-template-columns: 1fr 1fr;
  }

  .aqsa-woo-single-card__button {
    min-height: 58px;
    font-size: 1.5rem;
  }
}

@media (max-width: 767px) {
  .aqsa-woo-single-section {
    padding-block: 26px 44px;
  }

  .aqsa-woo-single-card {
    padding: 12px;
    border-radius: 12px;
  }

  .aqsa-woo-single-card__media img {
    min-height: 260px;
  }

  .aqsa-woo-single-card__summary h1 {
    font-size: 2rem;
  }

  .aqsa-woo-single-card__features {
    grid-template-columns: 1fr;
  }

  .aqsa-woo-single-card__button {
    min-height: 52px;
    font-size: 1.2rem;
  }

  .aqsa-woo-single-card .woocommerce-tabs ul.tabs {
    flex-wrap: wrap;
  }

  .aqsa-woo-single-card .related ul.products {
    grid-template-columns: 1fr;
  }

  .aqsa-product-specs-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .aqsa-hero__content h1 {
    max-width: none;
  }

  .aqsa-hero-stats {
    grid-template-columns: 1fr;
  }

  .aqsa-trust-strip__inner {
    grid-template-columns: 1fr;
  }

  .aqsa-home-richtext__layout {
    grid-template-columns: 1fr;
  }

  .aqsa-home-visuals {
    position: static;
    grid-template-columns: 1fr;
  }

  .aqsa-visual-slider {
    height: 190px;
  }

  .aqsa-visual-chip--one,
  .aqsa-visual-chip--two {
    justify-self: start;
  }

  .aqsa-grid--3,
  .aqsa-grid--4,
  .aqsa-page-layout {
    grid-template-columns: 1fr;
  }

  .aqsa-page-side {
    position: static;
  }

  .aqsa-cta-band__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer__inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .aqsa-footer-nav-list {
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ------------------------------
   Homepage redesign (v2)
------------------------------ */
:root {
  --color-primary-dark: #0a192f;
  --color-primary-light: #112240;
  --color-accent: #00d18a;
  --color-accent-hover: #00b878;
  --color-bg-light: #f8fafc;
  --color-glow: rgba(0, 209, 138, 0.2);
  --color-bg: #eef3f9;
  --color-surface: #ffffff;
  --color-surface-alt: #deebf8;
  --color-text: #11233d;
  --color-text-muted: #586781;
  --color-primary: #00d18a;
  --color-primary-hover: #00b878;
  --color-border: rgba(17, 35, 61, 0.15);
  --font-heading: "Montserrat", system-ui, sans-serif;
  --font-body: "Inter", "Source Sans 3", system-ui, sans-serif;
  --shadow-soft: 0 10px 28px rgba(10, 25, 47, 0.08);
  --shadow-card-hover: 0 16px 32px rgba(10, 25, 47, 0.14);
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
}

.aqsa-section {
  padding-block: 84px;
}

.site-header {
  background: rgba(18, 24, 34, 0.94);
  border-bottom: 1px solid #2a3445;
  backdrop-filter: blur(10px);
}

.site-header__inner {
  min-height: 64px;
  padding-block: 8px;
}

.site-branding {
  display: flex;
  align-items: center;
  line-height: 0;
}

.site-branding .custom-logo-link,
.site-branding__link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.site-branding__name {
  text-transform: uppercase;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  font-weight: 800;
  line-height: 1.2;
}

.site-branding__link img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(140px, 20vw);
  max-height: 40px !important;
  object-fit: contain;
  object-position: left center;
  vertical-align: middle;
}

.site-branding .custom-logo-link,
.site-branding img.custom-logo {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(140px, 20vw);
}

.site-branding img.custom-logo {
  height: 70px !important;
  max-height: 70px !important;
  object-fit: contain;
  object-position: left center;
}

.aqsa-nav-list {
  gap: 14px;
}

.aqsa-nav-list a,
.aqsa-mobile-nav-list a {
  min-height: 34px;
  padding: 0 10px;
  font-size: 0.87rem;
  color: #d9e2ee;
}

.aqsa-nav-list .current-menu-item > a,
.aqsa-mobile-nav-list .current-menu-item > a {
  background: rgba(98, 228, 166, 0.22);
  color: #76efbd;
}

.aqsa-nav-list a:hover,
.aqsa-nav-list a:focus-visible,
.aqsa-mobile-nav-list a:hover,
.aqsa-mobile-nav-list a:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.mobile-nav-toggle {
  border-color: #3a4659;
  background: rgba(20, 27, 38, 0.98);
  color: #e8eef7;
}

.mobile-nav {
  border-top-color: #2a3445;
  background: rgba(18, 24, 34, 0.98);
}

.site-header__actions .aqsa-btn {
  min-height: 36px;
  padding: 0 16px;
  font-size: 0.82rem;
}

.aqsa-btn {
  border-radius: 999px;
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: 0;
}

.aqsa-btn--primary {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #ffffff;
  box-shadow: 0 0 0 0 var(--color-glow);
}

.aqsa-btn--primary:hover,
.aqsa-btn--primary:focus-visible {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #ffffff;
  box-shadow: 0 0 0 10px var(--color-glow);
}

.aqsa-btn--ghost {
  border: 1px solid rgba(255, 255, 255, 0.42);
  color: #ffffff;
  background: transparent;
}

.aqsa-btn--ghost:hover,
.aqsa-btn--ghost:focus-visible {
  border-color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.aqsa-home-heading {
  margin-bottom: 34px;
}

.aqsa-home-heading h2 {
  margin-bottom: 8px;
  font-size: clamp(1.75rem, 3vw, 2.2rem);
}

.aqsa-home-heading p {
  margin-bottom: 0;
  max-width: 62ch;
}

/* Reusable slanted hero */
.aqsa-slanted-hero {
  position: relative;
  overflow: hidden;
}

.aqsa-slanted-hero > :not(.aqsa-hero-slant) {
  position: relative;
  z-index: 2;
}

.aqsa-hero-slant {
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -2px;
  width: calc(100% + 2px);
  height: 122px;
  background: #f7fafc;
  clip-path: polygon(0 100%, 100% 16%, 100% 100%, 0 100%);
  border-radius: 0;
  pointer-events: none;
  z-index: 1;
}

.aqsa-slanted-hero--card {
  padding-bottom: 86px;
}

.aqsa-slanted-hero--card .aqsa-hero-slant {
  height: 74px;
  clip-path: polygon(0 100%, 100% 34%, 100% 100%, 0 100%);
}

.aqsa-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.aqsa-home-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(112deg, #112a47 0%, #0b1f3b 52%, #071933 100%);
}

.aqsa-home-hero::before,
.aqsa-home-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.aqsa-home-hero::before {
  width: 260px;
  height: 260px;
  right: -90px;
  top: -90px;
  background: radial-gradient(circle, rgba(140, 255, 215, 0.12), rgba(140, 255, 215, 0));
}

.aqsa-home-hero::after {
  width: 280px;
  height: 280px;
  left: -110px;
  bottom: -110px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0));
}

.aqsa-home-hero .aqsa-container {
  position: relative;
  z-index: 1;
}

.aqsa-home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, 0.75fr);
  gap: 44px;
  align-items: center;
}

.aqsa-home-eyebrow {
  margin-bottom: 10px;
  color: #8bfbcc;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.84rem;
  font-weight: 700;
}

.aqsa-home-hero__content h1 {
  margin-bottom: 18px;
  max-width: 13ch;
  color: #ffffff;
  font-size: clamp(2.35rem, 4.2vw, 4.2rem);
  line-height: 1.03;
  letter-spacing: -0.02em;
}

.aqsa-home-hero__content > p {
  max-width: 56ch;
  color: rgba(219, 230, 247, 0.94);
  font-size: 1.08rem;
}

.aqsa-home-hero__stats {
  margin-top: 28px;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aqsa-home-metric {
  border: 1px solid rgba(214, 230, 250, 0.2);
  border-radius: 12px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.08);
}

.aqsa-home-metric strong {
  display: block;
  color: #ffffff;
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 6px;
}

.aqsa-home-metric span {
  color: rgba(220, 231, 245, 0.9);
  font-size: 0.9rem;
  line-height: 1.2;
}

.aqsa-home-hero__panel {
  border-radius: 16px;
  padding: 28px 24px;
  border: 1px solid #d6e2f0;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 44px rgba(2, 14, 32, 0.25);
}

.aqsa-home-hero__panel h2 {
  margin-bottom: 14px;
  font-size: 1.3rem;
  color: #0e213b;
}

.aqsa-home-hero__panel ul {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}

.aqsa-home-hero__panel li {
  position: relative;
  margin: 0;
  padding: 0 0 10px 20px;
  color: #354867;
  font-size: 0.95rem;
}

.aqsa-home-hero__panel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.52em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--color-accent);
}

.aqsa-home-panel-link {
  color: #0b9565;
  text-decoration: none;
  font-weight: 700;
}

.aqsa-home-panel-link:hover,
.aqsa-home-panel-link:focus-visible {
  color: #077d54;
}

/* Homepage hero refresh (match dark header transition) */
body.home .site-header {
  background: rgba(14, 20, 30, 0.96);
  border-bottom: 1px solid rgba(151, 173, 202, 0.14);
}

body.home .aqsa-home-hero {
  margin-top: -1px;
  padding-block: 48px 132px;
  background:
    radial-gradient(circle at -8% 112%, rgba(0, 209, 138, 0.16), rgba(0, 209, 138, 0) 44%),
    linear-gradient(180deg, #0f1723 0%, #102845 38%, #0c2440 62%, #091b34 100%);
}

body.home .aqsa-home-hero::before {
  width: 280px;
  height: 280px;
  right: -95px;
  top: -120px;
  background: radial-gradient(circle, rgba(100, 214, 255, 0.16), rgba(100, 214, 255, 0));
}

body.home .aqsa-home-hero::after {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -2px;
  width: calc(100% + 2px);
  height: 122px;
  background: #f7fafc;
  clip-path: polygon(0 100%, 100% 16%, 100% 100%, 0 100%);
  border-radius: 0;
  pointer-events: none;
  z-index: 1;
}

body.home .aqsa-home-hero__grid {
  position: relative;
  z-index: 2;
  align-items: start;
}

body.home .aqsa-home-hero__content h1 {
  max-width: 13ch;
  font-size: clamp(2.6rem, 5vw, 4.9rem);
  line-height: 1.02;
}

body.home .aqsa-home-hero__panel {
  background: rgba(245, 251, 255, 0.98);
  border-color: rgba(198, 216, 238, 0.86);
  box-shadow: 0 18px 36px rgba(2, 14, 32, 0.28);
}

body.home .aqsa-home-hero__panel li {
  color: #2f4360;
}

.aqsa-home-usp {
  background: #ffffff;
}

.aqsa-home-usp__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aqsa-home-usp__item {
  border: 1px solid #dde8f4;
  border-radius: 14px;
  background: #ffffff;
  padding: 24px;
  box-shadow: var(--shadow-soft);
}

.aqsa-home-usp__icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 209, 138, 0.14);
  color: #028a5e;
  margin-bottom: 10px;
  font-weight: 700;
}

.aqsa-home-usp__item h3 {
  margin-bottom: 8px;
  font-size: 1.2rem;
}

.aqsa-home-usp__item p {
  margin: 0;
  font-size: 0.97rem;
}

.aqsa-home-services {
  position: relative;
  overflow: hidden;
  background: linear-gradient(116deg, #122c49 0%, #0c233f 52%, #081933 100%);
}

.aqsa-home-services::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -60px;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(100, 217, 255, 0.12), rgba(100, 217, 255, 0));
  pointer-events: none;
}

.aqsa-home-services .aqsa-container {
  position: relative;
  z-index: 1;
}

.aqsa-home-services .aqsa-home-heading h2 {
  color: #ffffff;
}

.aqsa-home-services .aqsa-home-heading p {
  color: rgba(214, 227, 247, 0.86);
}

.aqsa-home-services__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.aqsa-home-service-card {
  border-radius: 18px;
  border: 1px solid rgba(205, 222, 244, 0.16);
  background: rgba(17, 34, 64, 0.92);
  box-shadow: 0 18px 34px rgba(3, 12, 28, 0.28);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.aqsa-home-service-card--primary {
  border-color: rgba(108, 238, 182, 0.32);
  background: linear-gradient(165deg, rgba(19, 44, 76, 0.98), rgba(12, 34, 62, 0.98));
}

.aqsa-home-service-card--secondary {
  background: linear-gradient(165deg, rgba(15, 30, 54, 0.9), rgba(11, 27, 46, 0.9));
}

.aqsa-home-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 40px rgba(2, 14, 32, 0.38);
}

.aqsa-home-service-card__image {
  display: block;
  height: 176px;
}

.aqsa-home-service-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--aqsa-home-service-image-position, 50% 50%) !important;
}

.aqsa-home-service-card__body {
  height: 100%;
  padding: 18px 18px 20px;
  display: grid;
  align-content: start;
}

.aqsa-home-service-card__tag {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  width: fit-content;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(0, 209, 138, 0.16);
  color: #8cffd2;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.aqsa-home-service-card h3 {
  margin: 12px 0 8px;
  font-size: 1.4rem;
}

.aqsa-home-service-card h3 a {
  color: #ffffff;
  text-decoration: none;
}

.aqsa-home-service-card p {
  margin: 0;
  color: rgba(210, 223, 243, 0.86);
}

.aqsa-home-service-card__link {
  margin-top: 14px;
  display: inline-flex;
  color: #8cffd2;
  text-decoration: none;
  font-weight: 700;
}

.aqsa-home-service-card__link:hover,
.aqsa-home-service-card__link:focus-visible {
  color: #bcffe5;
}

.aqsa-zonnepanelen-hero,
.aqsa-laadpalen-hero {
  padding-block: 48px 96px;
  color: #e7f1fb;
  background: linear-gradient(136deg, #0e2a4a 0%, #0d2440 54%, #091e36 100%);
}

.aqsa-zonnepanelen-hero__grid,
.aqsa-laadpalen-hero__grid {
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: end;
}

.aqsa-zonnepanelen-hero__eyebrow,
.aqsa-laadpalen-hero__eyebrow {
  margin: 0 0 8px;
  color: #99f6d3;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  font-weight: 800;
  text-transform: uppercase;
}

.aqsa-zonnepanelen-hero h1,
.aqsa-laadpalen-hero h1 {
  margin-bottom: 10px;
  color: #ffffff;
}

.aqsa-zonnepanelen-hero p,
.aqsa-laadpalen-hero p {
  margin: 0;
  color: rgba(218, 231, 247, 0.95);
}

.aqsa-zonnepanelen-hero__actions,
.aqsa-laadpalen-hero__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.aqsa-zonnepanelen-benefits,
.aqsa-laadpalen-benefits {
  background: #f1f6fb;
}

.aqsa-zonnepanelen-benefits__grid,
.aqsa-laadpalen-benefits__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aqsa-zonnepanelen-benefit-card,
.aqsa-laadpalen-benefit-card,
.aqsa-zonnepanelen-fit-card,
.aqsa-laadpalen-fit-card,
.aqsa-zonnepanelen-step-card,
.aqsa-laadpalen-step-card {
  border-radius: 14px;
  border: 1px solid #d6e2f1;
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.aqsa-zonnepanelen-benefit-card,
.aqsa-laadpalen-benefit-card {
  padding: 18px;
}

.aqsa-zonnepanelen-fit__grid,
.aqsa-laadpalen-fit__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aqsa-zonnepanelen-fit-card,
.aqsa-laadpalen-fit-card {
  padding: 22px;
}

.aqsa-zonnepanelen-fit-card--muted,
.aqsa-laadpalen-fit-card--muted {
  background: #f8fbff;
}

.aqsa-zonnepanelen-fit-card ul,
.aqsa-laadpalen-fit-card ul {
  margin: 0;
  padding-left: 20px;
}

.aqsa-zonnepanelen-process,
.aqsa-laadpalen-process {
  background: #f5f8fc;
}

.aqsa-zonnepanelen-process__grid,
.aqsa-laadpalen-process__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aqsa-zonnepanelen-step-card,
.aqsa-laadpalen-step-card {
  padding: 20px;
}

.aqsa-zonnepanelen-step-card__number,
.aqsa-laadpalen-step-card__number {
  margin: 0 0 10px;
  color: #165082;
  font-size: 0.86rem;
  font-weight: 800;
}

.aqsa-zonnepanelen-faq,
.aqsa-laadpalen-faq {
  background: #ffffff;
}

.aqsa-zonnepanelen-faq__list,
.aqsa-laadpalen-faq__list {
  display: grid;
  gap: 12px;
}

.aqsa-zonnepanelen-faq__item,
.aqsa-laadpalen-faq__item {
  border-radius: 12px;
  border: 1px solid #d6e2f1;
  background: #f8fbff;
  padding: 14px 16px;
}

.aqsa-zonnepanelen-faq__item summary,
.aqsa-laadpalen-faq__item summary {
  cursor: pointer;
  font-weight: 700;
  color: #14395f;
}

.aqsa-zonnepanelen-faq__item p,
.aqsa-laadpalen-faq__item p {
  margin: 10px 0 0;
  color: #355372;
}

.aqsa-zonnepanelen-cta,
.aqsa-laadpalen-cta {
  background: linear-gradient(124deg, #0d223d 0%, #0d2848 52%, #0a213d 100%);
}

.aqsa-zonnepanelen-cta__inner,
.aqsa-laadpalen-cta__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.aqsa-zonnepanelen-cta h2,
.aqsa-laadpalen-cta h2 {
  margin-bottom: 8px;
  color: #ffffff;
}

.aqsa-zonnepanelen-cta p,
.aqsa-laadpalen-cta p {
  margin: 0;
  color: rgba(221, 235, 251, 0.92);
}

/* Zonnepanelen Remake */
.aqsa-zonne-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(54px, 8vw, 86px) clamp(110px, 13vw, 152px);
  color: #e8f4ff;
  background: #08182f;
}

.aqsa-zonne-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(162deg, rgba(8, 24, 47, 0.82) 0%, rgba(8, 24, 47, 0.55) 42%, rgba(8, 24, 47, 0.85) 100%), var(--aqsa-zonne-hero-bg);
  background-size: cover;
  background-position: var(--aqsa-zonne-hero-bg-position, 50% 50%);
  transform: scale(1.03);
}

.aqsa-zonne-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 132px;
  background: linear-gradient(to top, rgba(8, 26, 49, 0.88) 0%, rgba(8, 26, 49, 0));
}

.aqsa-zonne-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.aqsa-zonne-hero__eyebrow {
  margin: 0 0 10px;
  color: #90f4cf;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.aqsa-zonne-hero h1 {
  margin-bottom: 12px;
  color: #ffffff;
  font-size: clamp(2rem, 4.3vw, 3.85rem);
  line-height: 1.03;
  letter-spacing: -0.02em;
}

.aqsa-zonne-hero p {
  margin: 0;
  max-width: 62ch;
  color: rgba(223, 237, 253, 0.95);
}

.aqsa-zonne-hero__actions {
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.aqsa-zonne-pills {
  margin-top: clamp(-80px, -9vw, -58px);
  padding-top: 0;
  position: relative;
  z-index: 2;
}

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

.aqsa-zonne-pill {
  border-radius: 14px;
  border: 1px solid #cbe7d9;
  background: linear-gradient(160deg, #e7f9f1 0%, #dff7ee 100%);
  box-shadow: 0 14px 30px rgba(8, 37, 65, 0.11);
  padding: 16px 14px;
}

.aqsa-zonne-pill__icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(0, 152, 108, 0.18);
  color: #0e6e51;
  font-size: 1rem;
  font-weight: 800;
}

.aqsa-zonne-pill h3 {
  margin: 10px 0 6px;
  color: #0f3559;
  font-size: 1rem;
  line-height: 1.2;
}

.aqsa-zonne-pill p {
  margin: 0;
  color: #456988;
  font-size: 0.86rem;
}

.aqsa-zonne-focus {
  background: linear-gradient(154deg, #0b2240 0%, #0b2849 50%, #0a203d 100%);
}

.aqsa-zonne-focus__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 18px;
  align-items: stretch;
}

.aqsa-zonne-focus__media {
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(151, 185, 219, 0.35);
  min-height: 240px;
}

.aqsa-zonne-focus__media .aqsa-before-after {
  height: 100%;
  min-height: 240px;
  border-radius: 0;
}

.aqsa-zonne-focus__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--aqsa-zonne-focus-image-position, 50% 50%);
  display: block;
}

.aqsa-zonne-focus__content {
  border-radius: 14px;
  border: 1px solid rgba(154, 191, 227, 0.26);
  background: rgba(6, 23, 44, 0.66);
  padding: clamp(18px, 2.8vw, 28px);
}

.aqsa-zonne-focus__eyebrow {
  margin: 0 0 8px;
  color: #8cf1cc;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 800;
}

.aqsa-zonne-focus h2 {
  margin-bottom: 10px;
  color: #ffffff;
}

.aqsa-zonne-focus p {
  margin: 0 0 14px;
  color: rgba(216, 233, 252, 0.9);
}

.aqsa-zonne-focus__specs {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.aqsa-zonne-focus__specs li {
  border-radius: 10px;
  border: 1px solid rgba(151, 189, 223, 0.26);
  background: rgba(11, 36, 64, 0.74);
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.aqsa-zonne-focus__specs span {
  color: #b5cbe6;
  font-size: 0.86rem;
}

.aqsa-zonne-focus__specs strong {
  color: #ffffff;
  font-size: 0.9rem;
}

.aqsa-zonne-process {
  background: #eef4fb;
}

.aqsa-zonne-heading h2 {
  margin-bottom: 6px;
}

.aqsa-zonne-heading p {
  margin: 0;
  color: #4f6986;
}

.aqsa-zonne-process__list {
  margin-top: 18px;
  display: grid;
  gap: 14px;
}

.aqsa-zonne-process-step {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 180px;
  gap: 12px;
  align-items: center;
}

.aqsa-zonne-process-step__number {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  font-weight: 800;
  color: #00a86c;
}

.aqsa-zonne-process-step__content {
  border-radius: 12px;
  border: 1px solid #d2dfef;
  background: #ffffff;
  padding: 16px;
}

.aqsa-zonne-process-step__content h3 {
  margin: 0 0 6px;
  color: #143d66;
}

.aqsa-zonne-process-step__content p {
  margin: 0;
  color: #4d6782;
}

.aqsa-zonne-process-step__media {
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid #d2dfef;
}

.aqsa-zonne-process-step__media img {
  width: 100%;
  height: 122px;
  object-fit: cover;
  object-position: var(--aqsa-zonne-process-image-position, 50% 50%);
  display: block;
}

.aqsa-zonne-calc {
  background: linear-gradient(150deg, #071c37 0%, #0a2647 56%, #081f3c 100%);
}

.aqsa-zonne-calc__panel {
  border-radius: 14px;
  border: 1px solid rgba(155, 187, 220, 0.3);
  background: rgba(9, 30, 56, 0.78);
  padding: clamp(18px, 2.8vw, 28px);
}

.aqsa-zonne-calc .aqsa-zonne-heading h2,
.aqsa-zonne-calc .aqsa-zonne-heading p {
  color: #ffffff;
}

.aqsa-zonne-calc__fields {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}

.aqsa-zonne-calc__fields label {
  border-radius: 12px;
  border: 1px solid rgba(159, 191, 226, 0.28);
  background: rgba(4, 19, 36, 0.48);
  padding: 12px;
  display: grid;
  gap: 8px;
}

.aqsa-zonne-calc__fields span {
  color: #bdd3ec;
  font-size: 0.88rem;
}

.aqsa-zonne-calc__fields input[type="range"] {
  width: 100%;
}

.aqsa-zonne-calc__fields strong {
  color: #93ffd3;
}

.aqsa-zonne-calc__result {
  margin: 14px 0 0;
  color: #d4e6fb;
}

.aqsa-zonne-calc__result strong {
  color: #8dffcf;
}

.aqsa-zonne-calc__meta {
  margin: 8px 0 0;
  color: rgba(189, 213, 239, 0.84);
  font-size: 0.82rem;
}

.aqsa-laad-calc__tabs {
  margin-top: 16px;
  display: inline-flex;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  border: 1px solid rgba(159, 191, 226, 0.28);
  background: rgba(4, 19, 36, 0.48);
}

.aqsa-laad-calc__tabs button {
  min-height: 34px;
  border: 0;
  border-radius: 999px;
  padding: 0 14px;
  color: #bdd3ec;
  font-size: 0.82rem;
  font-weight: 700;
  background: transparent;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}

.aqsa-laad-calc__tabs button.is-active {
  color: #0c2a49;
  background: #8dffcf;
}

.aqsa-laad-calc__tabs button:focus-visible {
  outline: 2px solid rgba(141, 255, 207, 0.85);
  outline-offset: 2px;
}

.aqsa-laad-calc__results {
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 191, 226, 0.28);
  background: rgba(4, 19, 36, 0.48);
  padding: 12px;
}

.aqsa-laad-calc__results [data-laad-panel] p {
  margin: 0;
}

.aqsa-laad-calc__note {
  margin: 8px 0 0;
  color: rgba(189, 213, 239, 0.84);
  font-size: 0.82rem;
}

.aqsa-zonne-trust {
  background: #f8fbff;
}

.aqsa-zonne-trust__grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.aqsa-zonne-review {
  border-radius: 12px;
  border: 1px solid #d5e2f2;
  background: #ffffff;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.aqsa-zonne-review img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  object-position: var(--aqsa-zonne-review-image-position, 50% 50%);
  display: block;
}

.aqsa-zonne-review__body {
  padding: 14px;
}

.aqsa-zonne-review__name {
  margin: 0;
  color: #103961;
  font-weight: 800;
}

.aqsa-zonne-review__role {
  margin: 2px 0 8px;
  color: #5d7896;
  font-size: 0.86rem;
}

.aqsa-zonne-review__body p {
  color: #4f6985;
}

.aqsa-zonne-cta {
  background: linear-gradient(130deg, #091a33 0%, #0b2443 52%, #0a1f3b 100%);
}

.aqsa-zonne-cta__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.aqsa-zonne-cta h2 {
  margin-bottom: 8px;
  color: #ffffff;
}

.aqsa-zonne-cta p {
  margin: 0;
  color: rgba(213, 229, 248, 0.92);
}

@media (max-width: 1100px) {
  .aqsa-zonne-pills__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aqsa-zonne-focus__grid {
    grid-template-columns: 1fr;
  }

  .aqsa-zonne-process-step {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .aqsa-zonne-process-step__media {
    grid-column: 1 / -1;
    margin-left: 46px;
  }
}

@media (max-width: 767px) {
  .aqsa-zonne-hero {
    padding-block: 42px 112px;
  }

  .aqsa-zonne-hero h1 {
    font-size: clamp(1.8rem, 9vw, 2.6rem);
  }

  .aqsa-zonne-pills {
    margin-top: -84px;
  }

  .aqsa-zonne-pills__grid,
  .aqsa-zonne-trust__grid {
    grid-template-columns: 1fr;
  }

  .aqsa-zonne-process-step {
    grid-template-columns: 1fr;
  }

  .aqsa-zonne-process-step__number {
    width: 38px;
    height: 38px;
  }

  .aqsa-zonne-process-step__media {
    margin-left: 0;
    grid-column: auto;
  }

  .aqsa-zonne-cta__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .aqsa-laad-calc__tabs {
    display: flex;
    width: 100%;
    border-radius: 12px;
  }

  .aqsa-laad-calc__tabs button {
    flex: 1 1 0;
    min-height: 36px;
    padding-inline: 10px;
  }
}

.aqsa-home-partners {
  background: #ffffff;
  border-top: 1px solid #e6edf5;
  border-bottom: 1px solid #e6edf5;
}

.aqsa-home-partners__inner {
  display: grid;
  gap: 18px;
}

.aqsa-home-brands-slider {
  overflow: hidden;
  width: 100%;
  padding-block: 8px;
  mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.aqsa-home-brands-track {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 52px;
  width: max-content;
  animation: aqsaBrandSlide 28s linear infinite;
}

.aqsa-home-brands-slider:hover .aqsa-home-brands-track {
  animation-play-state: paused;
}

.aqsa-home-brands-track li {
  min-width: 170px;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #62728d;
  font-size: 1.6rem;
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.aqsa-home-brands-track img {
  max-width: 170px;
  max-height: 40px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.9;
}

.aqsa-home-projects {
  background: var(--color-bg);
}

.aqsa-home-projects__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  gap: 18px;
}

.aqsa-home-projects__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aqsa-home-project-card {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #cfdded;
  box-shadow: var(--shadow-soft);
  background: #ffffff;
}

.aqsa-home-project-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 260ms ease;
}

.aqsa-home-project-card:hover img {
  transform: scale(1.05);
}

.aqsa-home-review {
  border: 1px solid #d9e5f3;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: var(--shadow-soft);
  padding: 20px;
}

.aqsa-home-review__stars {
  margin-bottom: 10px;
  color: #ffc13d;
  letter-spacing: 0.08em;
}

.aqsa-home-review p {
  margin-bottom: 10px;
}

.aqsa-home-review__author {
  margin: 0;
  color: #1b2d48;
  font-weight: 700;
}

.aqsa-home-cta {
  position: relative;
  overflow: hidden;
  padding-bottom: 42px;
  background: linear-gradient(145deg, #09172d, #0e2547 60%, #0a1f3b);
}

.aqsa-home-cta::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -150px;
  bottom: -200px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(0, 209, 138, 0.12), rgba(0, 209, 138, 0));
  pointer-events: none;
}

.aqsa-home-cta .aqsa-container {
  position: relative;
  z-index: 1;
}

.aqsa-home-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.aqsa-home-cta h2 {
  color: #ffffff;
  margin-bottom: 6px;
}

.aqsa-home-cta p {
  margin: 0;
  color: rgba(216, 230, 248, 0.9);
}

.site-footer {
  margin-top: -1px;
  border-top: 0;
  background: linear-gradient(180deg, #0b2140 0%, #0a1f3d 26%, #081a33 58%, #07152a 100%);
  color: #c6d4e8;
}

.site-footer p,
.site-footer a,
.site-footer li {
  color: #c6d4e8;
}

.site-footer__top {
  padding-block: 26px 28px;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr));
}

.site-footer__title {
  display: inline-block;
  margin-bottom: 10px;
  font-family: var(--font-heading);
  font-size: 1.22rem;
  color: #ffffff;
}

.site-footer__heading {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 1.02rem;
}

.site-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.site-footer__links a {
  color: #c6d4e8;
  text-decoration: none;
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible {
  color: #8ffbd0;
}

.site-footer__newsletter {
  margin-top: 12px;
  display: flex;
  gap: 8px;
}

.site-footer__newsletter input {
  min-height: 40px;
  border: 1px solid rgba(177, 203, 232, 0.35);
  border-radius: 999px;
  background: rgba(8, 24, 46, 0.64);
  color: #ffffff;
  padding: 0 14px;
}

.site-footer__newsletter input::placeholder {
  color: rgba(198, 212, 232, 0.8);
}

.site-footer__newsletter button {
  border: 0;
  min-height: 40px;
  border-radius: 999px;
  padding: 0 16px;
  background: var(--color-accent);
  color: #ffffff;
  font-family: var(--font-heading);
  font-weight: 700;
  cursor: pointer;
}

.site-footer__newsletter button:hover {
  background: var(--color-accent-hover);
}

.site-footer__bottom {
  border-top: 1px solid rgba(188, 206, 229, 0.2);
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

@keyframes aqsaBrandSlide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.site-footer .aqsa-footer-nav-list {
  gap: 12px;
}

.site-footer .aqsa-footer-nav-list a {
  color: #c6d4e8;
  padding: 0;
  min-height: auto;
  font-size: 0.84rem;
}

.site-footer .aqsa-footer-nav-list a:hover,
.site-footer .aqsa-footer-nav-list a:focus-visible {
  color: #8ffbd0;
  background: transparent;
}

.site-footer__meta {
  margin: 0;
  color: rgba(198, 212, 232, 0.86);
  font-size: 0.84rem;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1100px) {
  .aqsa-home-hero__grid {
    grid-template-columns: 1fr;
  }

  .aqsa-home-hero__content h1 {
    max-width: 16ch;
  }

  .aqsa-home-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aqsa-home-brands-track {
    gap: 36px;
  }

  .aqsa-home-projects__layout {
    grid-template-columns: 1fr;
  }

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

  .aqsa-zonnepanelen-hero__grid,
  .aqsa-laadpalen-hero__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .aqsa-section {
    padding-block: 56px;
  }

  .site-header__inner {
    min-height: 64px;
  }

  .aqsa-home-hero__content h1 {
    font-size: clamp(2rem, 9.2vw, 2.8rem);
  }

  .aqsa-home-hero__content > p {
    font-size: 1rem;
  }

  .aqsa-home-hero {
    padding-block: 36px 88px;
    background: linear-gradient(180deg, #0f1723 0%, #102845 38%, #0c2440 62%, #091b34 100%);
  }

  body.home .aqsa-home-hero::after {
    left: -1px;
    right: -1px;
    bottom: -2px;
    width: calc(100% + 2px);
    height: 78px;
    clip-path: polygon(0 100%, 100% 20%, 100% 100%);
    border-radius: 0;
  }

  .aqsa-home-hero__stats {
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .aqsa-home-metric {
    padding: 10px 10px;
  }

  .aqsa-home-metric strong {
    font-size: clamp(1.2rem, 5.6vw, 1.5rem);
    margin-bottom: 4px;
  }

  .aqsa-home-metric span {
    font-size: 0.76rem;
  }

  .aqsa-home-hero__panel {
    padding: 22px 18px;
  }

  .aqsa-home-usp__grid,
  .aqsa-home-projects__grid,
  .site-footer__top {
    grid-template-columns: 1fr;
  }

  .aqsa-home-brands-slider {
    mask-image: none;
  }

  .aqsa-home-brands-track {
    gap: 24px;
    animation-duration: 22s;
  }

  .aqsa-home-brands-track li {
    min-width: 126px;
    min-height: 46px;
    font-size: 1.25rem;
  }

  .aqsa-home-brands-track img {
    max-width: 126px;
    max-height: 30px;
  }

  .aqsa-home-service-card__image {
    height: 150px;
  }

  .aqsa-home-services__grid,
  .aqsa-zonnepanelen-benefits__grid,
  .aqsa-laadpalen-benefits__grid,
  .aqsa-zonnepanelen-fit__grid,
  .aqsa-laadpalen-fit__grid,
  .aqsa-zonnepanelen-process__grid,
  .aqsa-laadpalen-process__grid {
    grid-template-columns: 1fr;
  }

  .aqsa-zonnepanelen-cta__inner,
  .aqsa-laadpalen-cta__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .aqsa-home-cta__inner,
  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer .aqsa-footer-nav-list {
    flex-wrap: wrap;
    gap: 10px;
  }

  .site-footer__newsletter {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Footer refinement v2 */
.aqsa-home-cta {
  padding-block: 76px 18px;
  background: linear-gradient(148deg, #091a33 0%, #0d2748 54%, #0b213f 100%);
}

.aqsa-home-cta__inner {
  min-height: 132px;
  border-radius: 16px;
  padding: 28px 30px;
  border: 1px solid rgba(183, 211, 239, 0.18);
  background: rgba(8, 22, 43, 0.28);
}

.aqsa-home-cta h2 {
  font-size: clamp(1.8rem, 3vw, 2.35rem);
}

.aqsa-home-cta p {
  font-size: 1.25rem;
  color: rgba(218, 232, 248, 0.96);
}

.aqsa-home-cta .aqsa-btn--primary {
  min-height: 54px;
  padding-inline: 26px;
  font-size: 1.3rem;
}

.site-footer {
  margin-top: 0;
  background: linear-gradient(180deg, #0d2748 0%, #0b2341 26%, #0a1f3b 52%, #091a34 100%);
  border-radius: 0 !important;
  overflow: visible !important;
}

.site-footer__top,
.site-footer__bottom {
  border-radius: 0 !important;
}

.site-footer__top {
  padding-block: 52px 34px;
  gap: 42px;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr);
}

.site-footer__title {
  margin-bottom: 14px;
  font-size: 2rem;
  line-height: 1.1;
}

.site-footer__heading {
  margin-bottom: 12px;
  font-size: 1.55rem;
  line-height: 1.15;
}

.site-footer p,
.site-footer li,
.site-footer a {
  font-size: 1.06rem;
  line-height: 1.6;
}

.site-footer__links {
  gap: 10px;
}

.site-footer__newsletter {
  margin-top: 16px;
  gap: 10px;
}

.site-footer__newsletter input {
  min-height: 48px;
  padding-inline: 18px;
  font-size: 1rem;
}

.site-footer__newsletter button {
  min-height: 48px;
  padding-inline: 20px;
  font-size: 1rem;
}

.site-footer__bottom {
  min-height: 82px;
}

.site-footer .aqsa-footer-nav-list {
  gap: 18px;
  flex-wrap: wrap;
}

.site-footer .aqsa-footer-nav-list a {
  font-size: 0.98rem;
}

.site-footer__meta {
  font-size: 1rem;
}

@media (max-width: 1100px) {
  .aqsa-home-cta {
    padding-block: 64px 14px;
  }

  .aqsa-home-cta__inner {
    padding: 24px 22px;
  }

  .aqsa-home-cta .aqsa-btn--primary {
    font-size: 1.1rem;
  }

  .site-footer__top {
    gap: 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .aqsa-home-cta {
    padding-block: 52px 10px;
  }

  .aqsa-home-cta__inner {
    min-height: auto;
    border-radius: 14px;
    padding: 20px 16px;
    gap: 14px;
  }

  .aqsa-home-cta h2 {
    font-size: 1.55rem;
  }

  .aqsa-home-cta p {
    font-size: 1.02rem;
  }

  .aqsa-home-cta .aqsa-btn--primary {
    min-height: 46px;
    width: 100%;
    font-size: 0.95rem;
  }

  .site-footer__top {
    padding-block: 36px 22px;
    gap: 20px;
    grid-template-columns: 1fr;
  }

  .site-footer__title {
    margin-bottom: 8px;
    font-size: 1.5rem;
  }

  .site-footer__heading {
    margin-bottom: 8px;
    font-size: 1.2rem;
  }

  .site-footer p,
  .site-footer li,
  .site-footer a {
    font-size: 0.95rem;
    line-height: 1.5;
  }

  .site-footer__newsletter {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .site-footer__newsletter input {
    flex: 1 1 180px;
    min-height: 42px;
    font-size: 0.92rem;
  }

  .site-footer__newsletter button {
    min-height: 42px;
    font-size: 0.92rem;
  }

  .site-footer__bottom {
    min-height: 62px;
    padding-block: 14px;
    gap: 10px;
  }

  .site-footer .aqsa-footer-nav-list a,
  .site-footer__meta {
    font-size: 0.86rem;
  }
}

/* Inner pages */
.aqsa-inner-hero {
  position: relative;
  overflow: hidden;
  padding-block: 72px 118px;
  background: linear-gradient(114deg, #102947 0%, #0b2240 46%, #091c36 100%);
}

.aqsa-inner-hero::before,
.aqsa-inner-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.aqsa-inner-hero::before {
  right: -70px;
  top: -70px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(0, 209, 138, 0.14), rgba(0, 209, 138, 0));
}

.aqsa-inner-hero::after {
  left: -100px;
  bottom: -100px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(108, 155, 255, 0.12), rgba(108, 155, 255, 0));
}

.aqsa-inner-hero .aqsa-container {
  position: relative;
  z-index: 1;
}

.aqsa-inner-hero__eyebrow {
  margin-bottom: 8px;
  color: #90fbd0;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  text-transform: uppercase;
  font-weight: 700;
}

.aqsa-inner-hero h1 {
  margin-bottom: 12px;
  color: #ffffff;
  font-size: clamp(2rem, 4.2vw, 3.2rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
}

.aqsa-inner-hero p {
  margin: 0;
  max-width: 70ch;
  color: rgba(216, 229, 247, 0.94);
  font-size: 1.06rem;
}

.aqsa-inner-content {
  background: var(--color-bg);
}

.aqsa-page--panel {
  border: 1px solid #d8e4f2;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 16px 32px rgba(10, 25, 47, 0.09);
  padding: 28px;
}

.aqsa-page__content > :last-child {
  margin-bottom: 0;
}

.aqsa-page__content h2,
.aqsa-page__content h3,
.aqsa-page__content h4 {
  margin-top: 1.35em;
}

.aqsa-page__content p,
.aqsa-page__content li {
  color: #465978;
}

.aqsa-page__content ul,
.aqsa-page__content ol {
  padding-left: 22px;
}

.aqsa-side-card {
  border: 1px solid rgba(174, 199, 229, 0.36);
  border-radius: 16px;
  background: linear-gradient(156deg, #0e2746, #0b203b 55%, #091a31);
  color: #d0ddf2;
  box-shadow: 0 18px 34px rgba(8, 20, 40, 0.34);
}

.aqsa-side-card h3 {
  margin-bottom: 12px;
  color: #ffffff;
}

.aqsa-side-card p,
.aqsa-side-card li,
.aqsa-side-card a {
  color: #d0ddf2;
}

.aqsa-side-card ul,
.aqsa-side-card ol {
  margin: 0 0 18px;
  padding-left: 20px;
}

.aqsa-side-card .aqsa-btn--secondary {
  border-color: rgba(197, 219, 247, 0.45);
  color: #ffffff;
}

.aqsa-side-card .aqsa-btn--secondary:hover {
  border-color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.aqsa-list-grid {
  align-items: stretch;
}

.aqsa-list-card {
  height: 100%;
  border-radius: 14px;
  border: 1px solid #d8e4f2;
  background: #ffffff;
}

.aqsa-list-card h2,
.aqsa-list-card h3 {
  margin-bottom: 10px;
  font-size: 1.3rem;
}

.aqsa-list-card h2 a,
.aqsa-list-card h3 a {
  color: #182d4b;
  text-decoration: none;
}

.aqsa-list-card p {
  margin: 0;
}

.aqsa-not-found-card {
  max-width: 760px;
}

.aqsa-woo-layout.aqsa-page--panel {
  padding: 26px;
}

.aqsa-woo-layout .woocommerce-products-header {
  margin-bottom: 18px;
}

.pagination .nav-links,
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}

.pagination .page-numbers,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 38px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfdeef;
  border-radius: 999px;
  background: #ffffff;
  color: #193053;
  text-decoration: none;
  font-weight: 700;
}

.pagination .page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: #ffffff;
}

@media (max-width: 960px) {
  .aqsa-inner-hero {
    padding-block: 58px 96px;
  }

  .aqsa-page--panel {
    padding: 22px;
  }
}

@media (max-width: 767px) {
  .aqsa-inner-hero {
    padding-block: 48px 84px;
  }

  .aqsa-inner-hero h1 {
    font-size: clamp(1.7rem, 9vw, 2.25rem);
  }

  .aqsa-inner-hero p {
    font-size: 0.98rem;
  }

  .aqsa-page--panel {
    border-radius: 12px;
    padding: 16px;
  }

  .aqsa-list-card h2,
  .aqsa-list-card h3 {
    font-size: 1.12rem;
  }
}

/* Thuisbatterij page */
.aqsa-battery-hero {
  padding-block: 56px 112px;
  background: radial-gradient(circle at 85% 18%, rgba(75, 179, 143, 0.2) 0%, rgba(75, 179, 143, 0) 34%),
    linear-gradient(122deg, #0b2340 0%, #0a1f39 52%, #08192f 100%);
}

.aqsa-battery-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.aqsa-battery-hero__eyebrow {
  margin-bottom: 10px;
  color: #92f5d0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.76rem;
  font-weight: 700;
}

.aqsa-battery-hero__content h1 {
  margin-bottom: 12px;
  color: #ffffff;
  font-size: clamp(2rem, 3.4vw, 2.9rem);
  line-height: 1.06;
}

.aqsa-battery-hero__content p {
  margin: 0;
  max-width: 60ch;
  color: rgba(220, 231, 246, 0.92);
  font-size: 1.03rem;
}

.aqsa-battery-hero__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.aqsa-battery-hero__actions .aqsa-btn {
  justify-content: center;
  min-height: 44px;
  min-width: 200px;
}

.aqsa-battery-products {
  padding-block: 54px;
}

.aqsa-battery-products--dark {
  background: #ffffff;
}

.aqsa-battery-products h2 {
  margin-bottom: 10px;
  font-size: clamp(1.55rem, 2.2vw, 2.1rem);
  line-height: 1.15;
}

.aqsa-battery-products__intro {
  margin: 0 0 24px;
  max-width: 72ch;
  color: #475d7d;
  font-size: 1rem;
}

.aqsa-battery-products__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aqsa-battery-product-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid #d5e1f0;
  background: #ffffff;
  color: #153153;
  box-shadow: 0 14px 28px rgba(13, 33, 58, 0.08);
}

.aqsa-battery-product-card--light {
  background: #f8fbff;
}

.aqsa-battery-product-card__image {
  display: block;
  height: 208px;
  border-bottom: 1px solid #dfe8f4;
}

.aqsa-battery-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aqsa-battery-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px;
}

.aqsa-battery-product-card__meta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin: 0 0 10px;
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(37, 181, 125, 0.12);
  color: #1f7f5e;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.aqsa-battery-product-card h3 {
  margin-bottom: 8px;
  font-size: 1.15rem;
  line-height: 1.25;
}

.aqsa-battery-product-card h3 a {
  color: #102945;
  text-decoration: none;
}

.aqsa-battery-product-card ul {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}

.aqsa-battery-product-card li {
  margin: 0;
  color: #4e6380;
  font-size: 0.92rem;
  line-height: 1.4;
}

.aqsa-battery-product-card li + li {
  margin-top: 5px;
}

.aqsa-battery-product-card li::before {
  content: "•";
  color: #22b877;
  margin-right: 6px;
}

.aqsa-battery-product-card__price {
  margin: auto 0 14px;
  color: #1d8f66;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1;
}

.aqsa-battery-product-card__actions {
  display: flex;
  align-items: stretch;
}

.aqsa-battery-product__btn {
  width: 100%;
  min-height: 40px;
  padding: 0 14px;
  font-size: 0.88rem;
}

.aqsa-battery-empty {
  grid-column: 1 / -1;
}

.aqsa-battery-products--light {
  background: #eef3f9;
}

.aqsa-battery-faq {
  padding-top: 12px;
  padding-bottom: 54px;
  background: #eef3f9;
}

.aqsa-battery-faq__wrap {
  max-width: 980px;
}

.aqsa-battery-faq__item + .aqsa-battery-faq__item {
  margin-top: 10px;
}

.aqsa-battery-faq__button {
  width: 100%;
  min-height: 54px;
  border: 1px solid #cfdcec;
  border-radius: 10px;
  background: #ffffff;
  color: #112a46;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  font-weight: 700;
  cursor: pointer;
}

.aqsa-battery-faq__button[aria-expanded="true"] {
  border-color: #6cd8ae;
}

.aqsa-battery-faq__icon {
  color: #19a06f;
  font-size: 1.2rem;
  line-height: 1;
}

.aqsa-battery-faq__panel {
  border: 1px solid #cfdcec;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #ffffff;
  padding: 16px;
}

.aqsa-battery-faq__panel p {
  margin: 0;
  color: #425977;
}

.aqsa-battery-appointment {
  background: radial-gradient(circle at 88% 20%, rgba(84, 202, 153, 0.18) 0%, rgba(84, 202, 153, 0) 32%),
    linear-gradient(124deg, #091d36 0%, #0a2341 100%);
}

.aqsa-battery-appointment__panel {
  border: 1px solid rgba(172, 196, 225, 0.28);
  border-radius: 16px;
  background: rgba(7, 22, 40, 0.48);
  padding: 24px;
}

.aqsa-battery-appointment h2 {
  color: #ffffff;
  margin-bottom: 10px;
  text-align: center;
}

.aqsa-battery-appointment p {
  color: rgba(216, 228, 244, 0.9);
  text-align: center;
}

.aqsa-battery-inline-form {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.aqsa-battery-inline-form input,
.aqsa-battery-inline-form select {
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid rgba(178, 203, 232, 0.35);
  background: rgba(9, 26, 49, 0.7);
  color: #ffffff;
  padding-inline: 12px;
}

.aqsa-battery-inline-form input::placeholder {
  color: rgba(206, 220, 240, 0.76);
}

.aqsa-battery-inline-form button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--color-accent);
  color: #ffffff;
  font-family: var(--font-heading);
  font-size: 0.94rem;
  font-weight: 700;
  cursor: pointer;
}

.aqsa-battery-inline-form button:hover {
  background: var(--color-accent-hover);
}

.aqsa-battery-appointment__form .wpcf7-form,
.aqsa-battery-appointment__form form {
  margin-top: 12px;
}

@media (max-width: 1100px) {
  .aqsa-battery-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aqsa-battery-inline-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aqsa-battery-inline-form button {
    grid-column: span 2;
  }
}

@media (max-width: 767px) {
  .site-branding__link img,
  .site-branding .custom-logo-link img,
  .site-branding .custom-logo-link,
  .site-branding .custom-logo {
    max-width: min(120px, 48vw);
    max-height: 34px !important;
  }

  .aqsa-battery-hero {
    padding-block: 42px 92px;
  }

  .aqsa-battery-hero__grid {
    grid-template-columns: 1fr;
  }

  .aqsa-battery-hero__actions {
    width: 100%;
  }

  .aqsa-battery-hero__actions .aqsa-btn {
    width: 100%;
  }

  .aqsa-battery-products {
    padding-block: 36px;
  }

  .aqsa-battery-products__grid,
  .aqsa-battery-inline-form {
    grid-template-columns: 1fr;
  }

  .aqsa-battery-product-card__image {
    height: 188px;
  }

  .aqsa-battery-inline-form button {
    grid-column: auto;
  }

  .aqsa-battery-faq__button {
    padding: 10px 12px;
    font-size: 0.92rem;
  }

  .aqsa-battery-appointment__panel {
    padding: 16px;
  }
}

/* Installatie page */
.aqsa-install-hero {
  position: relative;
  overflow: hidden;
  padding-block: 52px 108px;
  background: linear-gradient(112deg, #0f2b49 0%, #0b2240 54%, #091c37 100%);
}

.aqsa-install-hero::after {
  content: "";
  position: absolute;
  right: -72px;
  top: -72px;
  width: 210px;
  height: 210px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(0, 209, 138, 0.15), rgba(0, 209, 138, 0));
}

.aqsa-install-hero .aqsa-container {
  position: relative;
  z-index: 1;
}

.aqsa-install-hero__eyebrow {
  margin-bottom: 8px;
  color: #91fbd0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  font-weight: 700;
}

.aqsa-install-hero h1 {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: clamp(2rem, 3.8vw, 3.15rem);
  line-height: 1.04;
}

.aqsa-install-hero p {
  margin: 0;
  max-width: 72ch;
  color: rgba(215, 228, 247, 0.92);
}

.aqsa-install-process {
  padding-block: 26px 30px;
  background: #ffffff;
}

.aqsa-install-process__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aqsa-install-process__item {
  text-align: center;
}

.aqsa-install-process__icon {
  margin-inline: auto;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 209, 138, 0.12);
  color: #0f7f59;
  font-size: 1.32rem;
}

.aqsa-install-process__number {
  margin: 8px auto 10px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-accent);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 800;
}

.aqsa-install-process__item h3 {
  margin-bottom: 6px;
  color: #102542;
  font-size: 1.15rem;
}

.aqsa-install-process__item p {
  margin: 0;
  color: #4e607b;
  font-size: 0.9rem;
  line-height: 1.35;
}

.aqsa-install-stages {
  padding-block: 0;
  background: #eef3f9;
}

.aqsa-install-stages__list {
  display: grid;
  gap: 0;
}

.aqsa-install-stage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  height: clamp(300px, 31vw, 420px);
}

.aqsa-install-stage.is-reverse .aqsa-install-stage__media {
  order: 2;
}

.aqsa-install-stage.is-reverse .aqsa-install-stage__content {
  order: 1;
}

.aqsa-install-stage__media {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.aqsa-install-stage__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.aqsa-install-stage__content {
  padding: clamp(22px, 2.6vw, 42px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.aqsa-install-stage.is-dark .aqsa-install-stage__content {
  justify-content: center;
}

.aqsa-install-stage.is-dark {
  background: linear-gradient(140deg, #0f2a48, #0b2240 58%, #091b34);
}

.aqsa-install-stage.is-light {
  background: #ffffff;
}

.aqsa-install-stage__number {
  margin: 0 0 4px;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
  font-weight: 800;
  color: #58d8a8;
}

.aqsa-install-stage h2 {
  margin-bottom: 8px;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
}

.aqsa-install-stage p {
  margin-bottom: 10px;
}

.aqsa-install-stage.is-dark h2 {
  color: #ffffff;
}

.aqsa-install-stage.is-dark p {
  color: rgba(212, 224, 243, 0.92);
}

.aqsa-install-stage.is-light h2 {
  color: #132946;
}

.aqsa-install-stage.is-light p {
  color: #4f5f79;
}

.aqsa-install-stage__link {
  align-self: flex-start;
  color: #6ff0c0;
  text-decoration: none;
  font-weight: 700;
}

.aqsa-install-stage.is-light .aqsa-install-stage__link {
  color: #0d8f62;
}

.aqsa-install-cards {
  padding-block: 22px 40px;
  background: #0a213f;
}

.aqsa-install-cards__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aqsa-install-card {
  border: 1px solid rgba(172, 197, 227, 0.24);
  border-radius: 12px;
  background: rgba(9, 26, 49, 0.84);
  padding: 16px;
}

.aqsa-install-card h3 {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 1.05rem;
}

.aqsa-install-card p {
  margin-bottom: 10px;
  color: rgba(208, 221, 240, 0.9);
  font-size: 0.9rem;
}

.aqsa-install-card a {
  color: #89ffd3;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.9rem;
}

@media (max-width: 1100px) {
  .aqsa-install-process__grid,
  .aqsa-install-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aqsa-install-stage,
  .aqsa-install-stage.is-reverse {
    grid-template-columns: 1fr;
    height: auto;
  }

  .aqsa-install-stage.is-reverse .aqsa-install-stage__media,
  .aqsa-install-stage.is-reverse .aqsa-install-stage__content {
    order: initial;
  }

  .aqsa-install-stage__media {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .aqsa-install-stage.is-dark .aqsa-install-stage__content {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .aqsa-install-hero {
    padding-block: 40px 88px;
  }

  .aqsa-install-process {
    padding-block: 20px 24px;
  }

  .aqsa-install-process__grid,
  .aqsa-install-cards__grid {
    grid-template-columns: 1fr;
  }

  .aqsa-install-stage__content {
    padding: 18px 16px;
  }

  .aqsa-install-stage {
    height: auto;
  }

  .aqsa-install-stage__media {
    aspect-ratio: 4 / 3;
  }

  .aqsa-install-cards {
    padding-block: 18px 28px;
  }
}

/* Portfolio page */
.aqsa-portfolio-hero {
  margin-top: -1px;
  padding-block: 52px 122px;
  background: radial-gradient(90% 120% at 0% 0%, #123d6b 0%, #0f2c4b 50%, #0a1f3b 100%);
}

.aqsa-portfolio-hero .aqsa-container {
  position: relative;
  z-index: 2;
}

.aqsa-portfolio-hero__inner h1 {
  margin-bottom: 10px;
  max-width: 17ch;
  color: #ffffff;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.aqsa-portfolio-hero__inner > p {
  margin-bottom: 18px;
  max-width: 60ch;
  color: rgba(219, 232, 248, 0.92);
}

.aqsa-portfolio-page {
  padding-block: 0 8px;
  background: #edf2f8;
}

.aqsa-portfolio-page__stack {
  display: grid;
  gap: 18px;
}

.aqsa-portfolio-block {
  border-radius: 20px;
  overflow: hidden;
}

.aqsa-portfolio-spotlight {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 16px;
  border-radius: 16px;
  border: 1px solid rgba(182, 213, 245, 0.2);
  background: rgba(6, 20, 40, 0.36);
  padding: 14px;
  text-decoration: none;
}

.aqsa-portfolio-spotlight__image {
  border-radius: 12px;
  overflow: hidden;
}

.aqsa-portfolio-spotlight__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
}

.aqsa-portfolio-spotlight__content h2 {
  margin: 8px 0 8px;
  color: #ffffff;
  font-size: clamp(1.4rem, 2.2vw, 2.2rem);
  line-height: 1.08;
}

.aqsa-portfolio-spotlight__content p {
  margin: 0;
  color: rgba(214, 228, 245, 0.95);
  font-size: 1rem;
  line-height: 1.45;
}

.aqsa-portfolio-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(27, 197, 132, 0.18);
  color: #66ebb6;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.aqsa-portfolio-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.aqsa-portfolio-badges span {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(150, 179, 210, 0.22);
  color: #dbe8f9;
  font-size: 0.8rem;
  font-weight: 700;
}

.aqsa-portfolio-block--white {
  border: 1px solid #d9e4f2;
  background: #ffffff;
  padding: clamp(20px, 2.7vw, 32px);
}

.aqsa-portfolio-beforeafter__eyebrow {
  margin-bottom: 6px;
  color: #607697;
  font-weight: 700;
  text-align: center;
}

.aqsa-portfolio-beforeafter h2 {
  margin-bottom: 16px;
  text-align: center;
  color: #112847;
  font-size: clamp(1.4rem, 2vw, 2.1rem);
}

.aqsa-before-after-pills {
  display: grid;
  gap: 12px;
}

.aqsa-before-after-pills__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.aqsa-before-after-pills__controls button {
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #bfd2e8;
  background: #f4f8fe;
  color: #244d79;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 180ms ease;
}

.aqsa-before-after-pills__controls button.is-active,
.aqsa-before-after-pills__controls button:hover {
  border-color: #16b874;
  background: #16b874;
  color: #ffffff;
}

.aqsa-before-after-pills__link {
  justify-self: center;
  color: #0f9f66;
  text-decoration: none;
  font-weight: 800;
}

.aqsa-before-after {
  --position: 50%;
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  height: clamp(270px, 28vw, 380px);
  background: #0d1f38;
}

.aqsa-before-after > img,
.aqsa-before-after__after img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aqsa-before-after__after {
  position: absolute;
  inset: 0;
  clip-path: inset(0 0 0 var(--position));
}

.aqsa-before-after__divider {
  position: absolute;
  inset-block: 0;
  left: var(--position);
  width: 2px;
  background: rgba(255, 255, 255, 0.92);
  transform: translateX(-50%);
}

.aqsa-before-after__divider span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  background: #1bd184;
  box-shadow: 0 10px 24px rgba(9, 28, 54, 0.35);
}

.aqsa-before-after__divider span::before,
.aqsa-before-after__divider span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

.aqsa-before-after__divider span::before {
  left: 16px;
  transform: translateY(-50%) rotate(-135deg);
}

.aqsa-before-after__divider span::after {
  right: 16px;
  transform: translateY(-50%) rotate(45deg);
}

.aqsa-before-after__range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
}

.aqsa-before-after__label {
  position: absolute;
  bottom: 10px;
  z-index: 2;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(10, 24, 45, 0.66);
  color: #ffffff;
  font-size: 0.86rem;
  font-weight: 700;
}

.aqsa-before-after__label--left {
  left: 10px;
}

.aqsa-before-after__label--right {
  right: 10px;
}

.aqsa-portfolio-block--spotlight {
  border: 1px solid #d9e4f2;
  background: #ffffff;
  padding: clamp(20px, 2.5vw, 30px);
}

.aqsa-portfolio-mini-spotlight {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.95fr);
  gap: 22px;
  align-items: center;
}

.aqsa-portfolio-mini-spotlight__eyebrow {
  margin-bottom: 6px;
  color: #4d5f7a;
  font-weight: 700;
}

.aqsa-portfolio-mini-spotlight__copy h2 {
  margin-bottom: 10px;
  color: #152d4b;
  font-size: clamp(1.6rem, 2.2vw, 2.6rem);
  line-height: 1.08;
}

.aqsa-portfolio-mini-spotlight__copy p {
  margin-bottom: 14px;
  color: #485a73;
}

.aqsa-portfolio-mini-spotlight__copy a {
  color: #149462;
  text-decoration: none;
  font-weight: 700;
}

.aqsa-portfolio-mini-spotlight__media {
  border-radius: 16px;
  overflow: hidden;
}

.aqsa-portfolio-mini-spotlight__media img {
  display: block;
  width: 100%;
  height: clamp(240px, 23vw, 330px);
  object-fit: cover;
}

.aqsa-portfolio-filters h2 {
  margin-bottom: 14px;
  text-align: center;
  color: #142b49;
  font-size: clamp(1.5rem, 2vw, 2.1rem);
}

.aqsa-portfolio-filter-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}

.aqsa-portfolio-filter-buttons button {
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #bfd2e8;
  background: #f3f8fe;
  color: #1d4f7f;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 180ms ease;
}

.aqsa-portfolio-filter-buttons button.is-active,
.aqsa-portfolio-filter-buttons button:hover {
  border-color: #16b874;
  background: #16b874;
  color: #ffffff;
}

.aqsa-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(var(--aqsa-portfolio-cols, 4), minmax(0, 1fr));
  grid-auto-rows: 98px;
  grid-auto-flow: dense;
  gap: 10px;
}

.aqsa-portfolio-grid__item {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  grid-row: span 2;
}

.aqsa-portfolio-grid__item.is-hidden {
  display: none;
}

.aqsa-portfolio-grid__item a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.aqsa-portfolio-grid__item img,
.aqsa-portfolio-grid__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aqsa-portfolio-grid__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(85% 85% at 32% 20%, #1a5f97 0%, #0e2b4c 70%, #081b35 100%);
  color: #4cf0b4;
  font-size: 2.4rem;
  font-weight: 700;
}

.aqsa-portfolio-grid__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px;
  background: linear-gradient(180deg, rgba(8, 21, 41, 0.08), rgba(6, 17, 33, 0.65));
}

.aqsa-portfolio-grid__tag {
  align-self: flex-start;
  min-height: 24px;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(18, 201, 132, 0.2);
  color: #d8ffef;
  font-size: 0.72rem;
  font-weight: 700;
}

.aqsa-portfolio-grid__location {
  align-self: flex-start;
  color: #ffffff;
  font-size: 0.88rem;
  font-weight: 700;
}

.aqsa-portfolio-grid__item.is-pattern-1,
.aqsa-portfolio-grid__item.is-pattern-3 {
  grid-row: span 3;
}

.aqsa-portfolio-grid__item.is-pattern-5 {
  grid-row: span 2;
}

.aqsa-portfolio-empty {
  display: grid;
  place-items: center;
  min-height: 180px;
  border-radius: 12px;
  border: 1px dashed #bfd2e8;
  color: #46617f;
  text-align: center;
}

.aqsa-portfolio-grid > .aqsa-portfolio-empty {
  grid-column: 1 / -1;
}

.aqsa-portfolio-cta {
  background: radial-gradient(90% 160% at 0% 0%, #123a67 0%, #0d2848 55%, #091e38 100%);
}

.aqsa-portfolio-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-block: 24px;
}

.aqsa-portfolio-cta h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.35rem, 2.2vw, 2.2rem);
}

@media (max-width: 1200px) {
  .aqsa-portfolio-spotlight {
    grid-template-columns: 1fr;
  }

  .aqsa-portfolio-spotlight__image img {
    min-height: 200px;
  }

  .aqsa-portfolio-mini-spotlight {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .aqsa-case-detail {
    padding-block: 20px 30px;
  }

  .aqsa-case-detail__split {
    grid-template-columns: 1fr;
  }

  .aqsa-case-facts__grid {
    grid-template-columns: 1fr;
  }

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

  .aqsa-portfolio-page {
    padding-block: 0;
  }

  .aqsa-before-after {
    height: 320px;
  }

  .aqsa-portfolio-grid {
    --aqsa-portfolio-cols: 3;
  }
}

@media (max-width: 767px) {
  .aqsa-case-detail__header,
  .aqsa-case-hero,
  .aqsa-case-panel,
  .aqsa-case-facts {
    border-radius: 14px;
  }

  .aqsa-case-hero__media img {
    height: 230px;
  }

  .aqsa-case-collage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 110px;
  }

  .aqsa-portfolio-grid {
    --aqsa-portfolio-cols: 2;
    grid-auto-rows: 90px;
  }

  .aqsa-portfolio-grid__item {
    grid-row: span 2 !important;
  }

  .aqsa-case-collage__item.is-featured,
  .aqsa-case-collage__item.is-wide {
    grid-column: span 2;
    grid-row: span 2;
  }

  .aqsa-case-lightbox__dialog {
    width: calc(100vw - 12px);
    height: calc(100vh - 12px);
    max-height: none;
    padding: 14px 44px;
  }

  .aqsa-case-lightbox__nav {
    width: 38px;
    height: 38px;
    font-size: 1.4rem;
  }

  .aqsa-case-lightbox__close {
    top: 8px;
    right: 8px;
    width: 36px;
    height: 36px;
  }

  .aqsa-before-after-pills__controls {
    justify-content: flex-start;
  }

  .aqsa-before-after-pills__controls button {
    font-size: 0.76rem;
  }

  .aqsa-portfolio-block--white,
  .aqsa-portfolio-block--spotlight {
    padding: 16px;
    border-radius: 14px;
  }

  .aqsa-portfolio-hero {
    padding-block: 40px 90px;
  }

  .aqsa-portfolio-hero__inner h1 {
    font-size: clamp(1.7rem, 9vw, 2.4rem);
  }

  .aqsa-portfolio-hero .aqsa-hero-slant {
    height: 72px;
    clip-path: polygon(0 100%, 100% 20%, 100% 100%, 0 100%);
  }

  .aqsa-portfolio-beforeafter h2,
  .aqsa-portfolio-filters h2 {
    font-size: 1.35rem;
  }

  .aqsa-before-after {
    height: 235px;
  }

  .aqsa-before-after__divider span {
    width: 42px;
    height: 42px;
  }

  .aqsa-before-after__label {
    font-size: 0.74rem;
  }

  .aqsa-portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 90px;
  }

  .aqsa-portfolio-grid__item.is-pattern-5 {
    grid-column: span 1;
  }

  .aqsa-portfolio-cta__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Contact page */
.aqsa-contact-showcase {
  position: relative;
  overflow: hidden;
  padding-block: 64px;
  background: radial-gradient(95% 130% at 0% 0%, #123b68 0%, #0f2c4c 44%, #0a1e38 100%);
}

.aqsa-contact-showcase::before {
  content: "";
  position: absolute;
  right: -110px;
  top: -90px;
  width: 300px;
  height: 300px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(0, 209, 138, 0.25), rgba(0, 209, 138, 0));
  pointer-events: none;
}

.aqsa-contact-showcase__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.95fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: start;
}

.aqsa-contact-showcase__left h1 {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.aqsa-contact-showcase__intro {
  margin-bottom: 18px;
  max-width: 58ch;
  color: rgba(214, 227, 245, 0.92);
  font-size: clamp(1rem, 1.05vw, 1.2rem);
  line-height: 1.5;
}

.aqsa-contact-list {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.aqsa-contact-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.aqsa-contact-item__icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(14, 45, 76, 0.72);
  border: 1px solid rgba(85, 246, 173, 0.36);
  box-shadow: 0 4px 10px rgba(0, 209, 138, 0.1);
}

.aqsa-contact-item__icon svg {
  width: 20px;
  height: 20px;
  fill: #42efaa;
}

.aqsa-contact-item__body a,
.aqsa-contact-item__body span {
  color: #f2f7ff;
  text-decoration: none;
  font-weight: 700;
  font-size: clamp(1.04rem, 1.2vw, 1.35rem);
  letter-spacing: -0.01em;
}

.aqsa-contact-showcase__address {
  margin-bottom: 12px;
  color: #edf4ff;
  font-size: clamp(1.02rem, 1.1vw, 1.35rem);
  font-weight: 600;
}

.aqsa-contact-map {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(154, 186, 219, 0.32);
  background: rgba(8, 24, 43, 0.5);
  min-height: 220px;
}

.aqsa-contact-map iframe {
  display: block;
  width: 100%;
  height: 260px;
  border: 0;
}

.aqsa-contact-map__fallback {
  min-height: 220px;
  padding: 16px;
  display: grid;
  gap: 8px;
  place-content: center;
  text-align: center;
  color: #dbe8f8;
}

.aqsa-contact-form-panel {
  border-radius: 18px;
  border: 1px solid rgba(112, 247, 180, 0.35);
  background: linear-gradient(140deg, rgba(173, 190, 213, 0.26), rgba(142, 166, 196, 0.14));
  padding: clamp(16px, 2vw, 28px);
  box-shadow: 0 12px 30px rgba(3, 15, 35, 0.32);
}

.aqsa-contact-fallback-form,
.aqsa-contact-form-panel .wpcf7 form {
  display: grid;
  gap: 12px;
}

.aqsa-contact-fallback-form input,
.aqsa-contact-fallback-form textarea,
.aqsa-contact-form-panel .wpcf7 input,
.aqsa-contact-form-panel .wpcf7 textarea {
  width: 100%;
  min-height: 52px;
  border-radius: 8px;
  border: 1px solid rgba(94, 214, 168, 0.55);
  background: rgba(7, 29, 52, 0.84);
  color: #eff8ff;
  padding: 12px 16px;
  font-size: 1rem;
  box-shadow: inset 0 0 0 1px rgba(6, 25, 44, 0.45);
}

.aqsa-contact-fallback-form textarea,
.aqsa-contact-form-panel .wpcf7 textarea {
  min-height: 118px;
  border-radius: 8px;
  resize: vertical;
}

.aqsa-contact-fallback-form input::placeholder,
.aqsa-contact-fallback-form textarea::placeholder,
.aqsa-contact-form-panel .wpcf7 input::placeholder,
.aqsa-contact-form-panel .wpcf7 textarea::placeholder {
  color: rgba(202, 220, 241, 0.78);
}

.aqsa-contact-fallback-form button,
.aqsa-contact-form-panel .wpcf7 input[type="submit"] {
  min-height: 54px;
  border-radius: 10px;
  border: 0;
  background: linear-gradient(180deg, #3eea95, #1ecc7a);
  color: #0f2a47;
  font-weight: 800;
  font-size: clamp(1rem, 1.1vw, 1.3rem);
  cursor: pointer;
}

.aqsa-contact-fallback-form input:focus,
.aqsa-contact-fallback-form textarea:focus,
.aqsa-contact-form-panel .wpcf7 input:focus,
.aqsa-contact-form-panel .wpcf7 textarea:focus {
  outline: none;
  border-color: rgba(104, 244, 188, 0.95);
  box-shadow: inset 0 0 0 1px rgba(6, 25, 44, 0.45), 0 0 0 3px rgba(69, 225, 164, 0.16);
}

.aqsa-contact-form-panel .wpcf7 .wpcf7-spinner {
  display: none;
}

@media (max-width: 1024px) {
  .aqsa-contact-showcase__grid {
    grid-template-columns: 1fr;
  }

  .aqsa-contact-item__body a,
  .aqsa-contact-item__body span {
    font-size: 1.2rem;
  }
}

@media (max-width: 767px) {
  .aqsa-contact-showcase {
    padding-block: 30px;
  }

  .aqsa-contact-showcase__left h1 {
    font-size: clamp(1.9rem, 10vw, 2.8rem);
  }

  .aqsa-contact-item__icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 8px;
  }

  .aqsa-contact-item__icon svg {
    width: 18px;
    height: 18px;
  }

  .aqsa-contact-item__body a,
  .aqsa-contact-item__body span {
    font-size: 1.03rem;
  }

  .aqsa-contact-showcase__address {
    font-size: 1.04rem;
  }

  .aqsa-contact-map iframe {
    height: 220px;
  }
}

/* Offerte page */
.aqsa-offerte-hero {
  position: relative;
  overflow: hidden;
  padding-block: 72px 126px;
  background: linear-gradient(118deg, #112a47 0%, #0c2240 54%, #091a33 100%);
}

.aqsa-offerte-hero::before {
  content: "";
  position: absolute;
  right: -120px;
  top: -120px;
  width: 340px;
  height: 340px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(88, 255, 201, 0.2), rgba(88, 255, 201, 0));
  pointer-events: none;
}

.aqsa-offerte-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: clamp(22px, 4vw, 58px);
  align-items: center;
}

.aqsa-offerte-hero__eyebrow {
  margin-bottom: 8px;
  color: #90ffd3;
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.aqsa-offerte-hero__content h1 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: clamp(2.15rem, 3.9vw, 3.5rem);
  line-height: 1.06;
}

.aqsa-offerte-hero__content p {
  margin-bottom: 20px;
  max-width: 58ch;
  color: rgba(220, 231, 247, 0.93);
}

.aqsa-offerte-hero__panel {
  border-radius: 16px;
  padding: 22px;
  border: 1px solid rgba(206, 224, 246, 0.45);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 20px 40px rgba(4, 13, 28, 0.26);
}

.aqsa-offerte-hero__panel h2 {
  margin-bottom: 12px;
  font-size: 1.5rem;
}

.aqsa-offerte-hero__panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.aqsa-offerte-hero__panel li {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: #3a4d6b;
}

.aqsa-offerte-hero__panel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.56em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #00d18a;
}

.aqsa-offerte-usp {
  background: #ffffff;
}

.aqsa-offerte-usp__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aqsa-offerte-usp__item {
  border-radius: 14px;
  border: 1px solid #dce6f2;
  background: #ffffff;
  padding: 20px;
  box-shadow: var(--shadow-soft);
}

.aqsa-offerte-usp__icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #068a60;
  background: rgba(0, 209, 138, 0.16);
  margin-bottom: 10px;
}

.aqsa-offerte-usp__item h3 {
  margin-bottom: 6px;
  font-size: 1.25rem;
}

.aqsa-offerte-usp__item p {
  margin: 0;
  font-size: 0.98rem;
}

.aqsa-offerte-form-section {
  background: #eef3f9;
}

.aqsa-offerte-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

.aqsa-offerte-side {
  position: sticky;
  top: calc(var(--space-8) + 24px);
  display: grid;
  gap: 14px;
}

.aqsa-offerte-side__image {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #d6e3f2;
}

.aqsa-offerte-side__image img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
}

.aqsa-offerte-side__card {
  border-radius: 14px;
  border: 1px solid #d6e3f2;
  background: #ffffff;
  padding: 18px;
}

.aqsa-offerte-side__card h3 {
  margin-bottom: 8px;
}

.aqsa-offerte-side__card p {
  margin: 0;
}

.aqsa-offerte-form-wrap {
  border-radius: 16px;
  border: 1px solid #d4e2f1;
  background: #ffffff;
  padding: clamp(18px, 2.6vw, 32px);
  box-shadow: var(--shadow-soft);
}

.aqsa-offerte-form-wrap h2 {
  margin-bottom: 8px;
}

.aqsa-offerte-form-wrap > p {
  margin-bottom: 18px;
}

.aqsa-offerte-alert {
  margin-bottom: 16px;
  border-radius: 10px;
  padding: 11px 14px;
  border: 1px solid transparent;
  font-size: 0.95rem;
}

.aqsa-offerte-alert.is-success {
  border-color: rgba(28, 180, 110, 0.28);
  background: rgba(28, 180, 110, 0.09);
  color: #196e4d;
}

.aqsa-offerte-alert.is-error {
  border-color: rgba(214, 74, 74, 0.28);
  background: rgba(214, 74, 74, 0.08);
  color: #8f2d2d;
}

.aqsa-offerte-alert ul {
  margin: 0;
  padding-left: 18px;
}

.aqsa-offerte-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 12px;
}

.aqsa-offerte-grid--radios {
  grid-template-columns: 1fr;
}

.aqsa-offerte-field {
  display: grid;
  gap: 6px;
}

.aqsa-offerte-field.is-conditional {
  display: none;
}

.aqsa-offerte-field.is-conditional.is-visible {
  display: grid;
}

.aqsa-offerte-field--full {
  grid-column: 1 / -1;
}

.aqsa-offerte-field span,
.aqsa-offerte-fieldset legend {
  color: #2d3d57;
  font-size: 0.9rem;
  font-weight: 700;
}

.aqsa-offerte-field input,
.aqsa-offerte-field select,
.aqsa-offerte-field textarea {
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid #c8d7e8;
  background: #fbfdff;
  color: #12233d;
  padding: 10px 12px;
  font: inherit;
}

.aqsa-offerte-field textarea {
  min-height: 114px;
  border-radius: 12px;
  resize: vertical;
}

.aqsa-offerte-field small {
  color: #60718a;
  font-size: 0.84rem;
  line-height: 1.35;
}

.aqsa-offerte-field input:focus,
.aqsa-offerte-field select:focus,
.aqsa-offerte-field textarea:focus {
  outline: 2px solid rgba(0, 209, 138, 0.22);
  outline-offset: 1px;
  border-color: #72dcb2;
}

.aqsa-offerte-fieldset {
  margin: 0;
  border: 1px solid #d8e4f2;
  border-radius: 12px;
  padding: 10px 12px 11px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}

.aqsa-offerte-fieldset legend {
  padding: 0 4px;
}

.aqsa-offerte-fieldset label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #41556f;
  font-size: 0.95rem;
}

.aqsa-offerte-fieldset input[type="radio"] {
  accent-color: #00d18a;
}

.aqsa-offerte-consent {
  margin: 10px 0 14px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.aqsa-offerte-consent input {
  width: 20px;
  height: 20px;
  margin: 0;
  flex: 0 0 20px;
  accent-color: #00d18a;
}

.aqsa-offerte-consent span {
  color: #4a5c75;
  font-size: 0.92rem;
}

.aqsa-offerte-submit {
  min-width: 220px;
}

@media (max-width: 1024px) {
  .aqsa-offerte-hero__grid,
  .aqsa-offerte-form-layout {
    grid-template-columns: 1fr;
  }

  .aqsa-offerte-side {
    position: static;
  }
}

@media (max-width: 767px) {
  .aqsa-offerte-hero {
    padding-block: 36px 92px;
  }

  .aqsa-hero-slant {
    height: 84px;
    clip-path: polygon(0 100%, 100% 20%, 100% 100%, 0 100%);
  }

  .aqsa-slanted-hero--card {
    padding-bottom: 68px;
  }

  .aqsa-slanted-hero--card .aqsa-hero-slant {
    height: 56px;
    clip-path: polygon(0 100%, 100% 30%, 100% 100%, 0 100%);
  }

  .aqsa-offerte-usp__grid,
  .aqsa-offerte-grid {
    grid-template-columns: 1fr;
  }

  .aqsa-offerte-form-wrap {
    border-radius: 14px;
    padding: 16px;
  }

  .aqsa-offerte-submit {
    width: 100%;
  }
}

/* ============================================================
   Floating WhatsApp button
   ============================================================ */
.aqsa-whatsapp-fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .25);
  transition: transform .2s ease, box-shadow .2s ease;
}

.aqsa-whatsapp-fab:hover,
.aqsa-whatsapp-fab:focus-visible {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .3);
}

.aqsa-whatsapp-fab svg {
  width: 30px;
  height: 30px;
  fill: #fff;
}

@media (max-width: 768px) {
  .aqsa-whatsapp-fab {
    bottom: 16px;
    right: 16px;
    width: 50px;
    height: 50px;
  }

  .aqsa-whatsapp-fab svg {
    width: 26px;
    height: 26px;
  }
}
