/* ===== Base / tokens (brand #00B348) ===== */
:root {
  --green: #00b348;
  --green-dark: #005c24;
  --green-mid: #00963c;
  --green-light: #4dd17a;
  --accent: #00b348;
  --text: #1a1a1a;
  --muted: #5a6b5e;
  --cream: #f3faf5;
  --soft: #e6f7ec;
  --hero-bg: #ffffff;
  --white: #ffffff;
  --border: #cce8d6;
  --container: 1180px;
  --gutter: clamp(16px, 4vw, 20px);
  --header-height: 88px;
  --font: "Nunito Sans", system-ui, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 12px);
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background: var(--white);
  line-height: 1.5;
  overflow-x: clip;
}

body.nav-open {
  overflow: hidden;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

.container {
  width: min(var(--container), calc(100% - (var(--gutter) * 2)));
  margin-inline: auto;
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);
}

/* ===== Header ===== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--header-height);
  background: var(--white);
  border-bottom: 1px solid var(--border);
  overflow: visible;
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  height: var(--header-height);
}

.logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.logo img {
  height: 72px;
  width: auto;
  max-width: min(260px, 58vw);
  object-fit: contain;
  object-position: left center;
}

.nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
}

.nav-link,
.nav-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 6px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text);
  transition: color 0.2s ease, background 0.2s ease;
}

.nav-link:hover,
.nav-link:focus-visible,
.nav-trigger:hover,
.nav-trigger:focus-visible {
  color: var(--green);
}

.nav-trigger.is-open {
  background: var(--soft);
  color: var(--green-dark);
}

.nav-chevron {
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s ease;
}

.nav-trigger.is-open .nav-chevron {
  transform: rotate(-135deg) translateY(-2px);
}

.nav-item.has-mega {
  position: static;
}

/* ===== Mega menu ===== */
.mega-menu[hidden] {
  display: none;
}

.mega-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--header-height);
  z-index: 120;
  padding: 28px 0 36px;
  background: var(--white);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 18px 40px rgba(0, 92, 36, 0.12);
  max-height: calc(100vh - var(--header-height));
  overflow-y: auto;
}

.mega-menu__inner {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 36px;
  align-items: start;
}

.mega-menu__inner--results {
  grid-template-columns: 1fr 1fr;
  gap: 48px 64px;
  width: min(760px, calc(100% - (var(--gutter) * 2)));
  max-width: 760px;
  margin-inline: auto;
  justify-content: center;
}

.mega-results-left {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.mega-results-left .mega-group + .mega-group {
  margin-top: 0;
}

.mega-featured {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
}

.mega-featured__item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  margin-inline: -12px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 800;
  color: var(--text);
  transition: color 0.2s ease, background 0.2s ease;
}

.mega-featured__item:hover,
.mega-featured__item:focus-visible {
  color: var(--green-dark);
  background: var(--soft);
}

.mega-featured__item .mega-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
}

.mega-menu--process {
  padding: 20px 0 24px;
}

.mega-menu--process .mega-menu__inner.mega-menu__inner--process {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 14px;
  width: min(980px, calc(100% - 40px));
  max-width: 980px;
  margin-inline: auto;
  grid-template-columns: none;
}

.mega-menu--process .mega-card {
  flex: 1 1 0;
  min-width: 0;
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background: var(--cream);
  height: 108px;
  border: 1px solid transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.mega-menu--process .mega-card img {
  width: 100%;
  height: 108px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.35s ease;
}

.mega-menu--process .mega-card:hover,
.mega-menu--process .mega-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--border);
  box-shadow: 0 14px 28px rgba(0, 92, 36, 0.14);
}

.mega-menu--process .mega-card:hover img,
.mega-menu--process .mega-card:focus-visible img {
  transform: scale(1.04);
}

/* About mega menu */
.mega-menu--about {
  padding: 28px 0 32px;
}

.mega-menu--about .mega-menu__inner.mega-menu__inner--about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 56px;
  width: min(640px, calc(100% - 40px));
  max-width: 640px;
  margin-inline: auto;
  justify-content: center;
  align-items: start;
}

.mega-about-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mega-about__item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  margin-inline: -12px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--text);
  transition: color 0.2s ease, background 0.2s ease;
}

.mega-about__item:hover,
.mega-about__item:focus-visible {
  color: var(--green-dark);
  background: var(--soft);
}

.mega-about__icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1;
}

.mega-about__icon--blue { background: #5b9bd5; }
.mega-about__icon--teal { background: #4db6ac; }
.mega-about__icon--sky { background: #64b5f6; }
.mega-about__icon--dark { background: #1a1a1a; font-size: 0.65rem; }
.mega-about__icon--mint { background: #26a69a; }
.mega-about__icon--green { background: var(--green); }
.mega-about__icon--lime { background: #81c784; }
.mega-about__icon--peach { background: #ffb74d; }

/* Learn mega menu */
.mega-menu--learn {
  padding: 28px 0 32px;
}

.mega-menu--learn .mega-menu__inner.mega-menu__inner--learn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 48px;
  width: min(720px, calc(100% - 40px));
  max-width: 720px;
  margin-inline: auto;
  align-items: start;
}

.mega-learn__item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  margin-inline: -12px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--text);
  transition: color 0.2s ease, background 0.2s ease;
}

.mega-learn__item:hover,
.mega-learn__item:focus-visible {
  color: var(--green-dark);
  background: var(--soft);
}

.mega-learn__thumb {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  flex-shrink: 0;
  display: inline-grid;
  place-items: center;
  color: var(--white);
}

.mega-learn__thumb svg {
  width: 22px;
  height: 22px;
  display: block;
}

.mega-learn__thumb--blog {
  background: #5b9bd5;
}

.mega-learn__thumb--growth {
  background: var(--green-mid);
}

.mega-learn__thumb--seo {
  background: #26a69a;
}

.mega-learn__thumb--google {
  background: #f4a261;
}

.mega-learn__thumb--franchise {
  background: #7e57c2;
}

.mega-learn__thumb--rfp {
  background: #e06b5a;
}

.mega-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 28px 24px;
  border-radius: 12px;
  background: linear-gradient(155deg, #003d18 0%, var(--green-dark) 42%, var(--green-mid) 78%, var(--green) 100%);
  color: var(--white);
  box-shadow: 0 14px 32px rgba(0, 92, 36, 0.22);
}

.mega-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 90% 10%, rgba(77, 209, 122, 0.35), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(255, 255, 255, 0.12), transparent 40%);
}

.mega-cta > * {
  position: relative;
  z-index: 1;
}

.mega-cta h3 {
  margin: 0 0 10px;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.2;
}

.mega-cta > p {
  margin: 0 0 20px;
  font-size: 0.9rem;
  line-height: 1.55;
  opacity: 0.95;
}

.mega-cta__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mega-cta__field {
  position: relative;
}

.mega-cta__globe {
  position: absolute;
  left: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid #9a9a9a;
  border-radius: 50%;
  transform: translateY(-50%);
}

.mega-cta__globe::before,
.mega-cta__globe::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #9a9a9a;
  border-radius: 50%;
}

.mega-cta__globe::before {
  width: 6px;
  height: 14px;
}

.mega-cta__globe::after {
  width: 14px;
  height: 6px;
}

.mega-cta__field input {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px 10px 36px;
  border: none;
  border-radius: 4px;
  background: var(--white);
  font-family: inherit;
  font-size: 1rem; /* ≥16px avoids iOS focus zoom */
  color: var(--text);
  outline: none;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  transition: box-shadow 0.2s ease;
}

.mega-cta__field input:focus {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
}

.mega-cta__form button {
  min-height: 46px;
  padding: 10px 16px;
  border: 0;
  border-radius: 4px;
  background: var(--white);
  color: var(--green-dark);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.mega-cta__form button:hover,
.mega-cta__form button:focus-visible {
  background: var(--soft);
  transform: translateY(-1px);
}

.mega-cta__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.mega-cta__proof span {
  padding: 7px 11px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.mega-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 24px;
}

.mega-group + .mega-group {
  margin-top: 26px;
}

.mega-group h4,
.mega-group .mega-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--text);
}

.mega-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 92, 36, 0.12);
}

.mega-icon--blue { background: #4f7cff; }
.mega-icon--green { background: var(--green); }
.mega-icon--orange { background: #e89a3c; }
.mega-icon--purple { background: #8b6cff; }
.mega-icon--teal { background: #2aa8a0; }
.mega-icon--lime { background: var(--green-mid); }
.mega-icon--navy { background: #355c7d; }
.mega-icon--coral { background: #e06b5a; }

.mega-group ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mega-group li {
  position: relative;
  padding-left: 0;
  font-size: 0.86rem;
  line-height: 1.4;
}

.mega-group li::before {
  display: none;
}

.mega-group a {
  display: block;
  padding: 7px 10px;
  margin-inline: -10px;
  border-radius: 4px;
  border-left: 2px solid transparent;
  color: #5f6b66;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.mega-group a:hover,
.mega-group a:focus-visible {
  color: var(--green-dark);
  background: var(--soft);
  border-left-color: var(--green);
}

/* Desktop mega menu polish */
@media (min-width: 1101px) {
  .mega-menu:not([hidden]) {
    animation: mega-panel-in 0.22s ease-out;
  }

  .mega-menu {
    padding: 32px 0 40px;
    background:
      linear-gradient(180deg, var(--soft) 0%, var(--white) 42%, var(--white) 100%);
    border-top: 3px solid var(--green);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 28px 56px rgba(0, 92, 36, 0.14);
  }

  .mega-menu__inner {
    grid-template-columns: 300px 1fr;
    gap: 40px;
  }

  .mega-cta {
    position: sticky;
    top: 12px;
    padding: 32px 26px;
  }

  .mega-cta h3 {
    font-size: 1.65rem;
  }

  .mega-columns {
    gap: 32px 28px;
  }

  .mega-group + .mega-group {
    margin-top: 30px;
  }

  .mega-menu--process {
    padding: 28px 0 32px;
  }

  .mega-menu--process .mega-menu__inner.mega-menu__inner--process {
    gap: 16px;
    width: min(1040px, calc(100% - 40px));
  }

  .mega-menu--process .mega-card {
    height: 124px;
    border-radius: 12px;
  }

  .mega-menu--process .mega-card img {
    height: 124px;
  }

  .mega-menu__inner--results,
  .mega-menu--about .mega-menu__inner.mega-menu__inner--about,
  .mega-menu--learn .mega-menu__inner.mega-menu__inner--learn {
    padding: 8px 0;
  }
}

@keyframes mega-panel-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mega-menu:not([hidden]) {
    animation: none;
  }
}

/* ===== Services mega (reference panel design) ===== */
.mega-menu--panel,
.mega-menu--services,
.mega-menu--results,
.mega-menu--about,
.mega-menu--learn,
.mega-menu--process {
  padding: 0;
  background: var(--white);
  border: none;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 24px 48px rgba(15, 40, 24, 0.12);
  overflow: visible;
  left: 0;
  right: 0;
  width: 100%;
}

.mega-menu--panel .container,
.mega-menu--services .container,
.mega-menu--results .container,
.mega-menu--about .container,
.mega-menu--learn .container,
.mega-menu--process .container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.mega-services-panel {
  display: block;
  width: 100%;
  max-width: none;
  background: #f7faf8;
  border: none;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}

.mega-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 22px clamp(20px, 3vw, 40px);
  background: #f7faf8;
  align-content: start;
  align-items: start;
}

.mega-services-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mega-svc-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 16px 14px;
  background: var(--white);
  border: 1px solid #e6eee9;
  border-radius: 14px;
  min-width: 0;
  height: auto;
  align-self: start;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.mega-svc-card:hover,
.mega-svc-card:focus-within {
  border-color: #cfe8d8;
  box-shadow: 0 12px 28px rgba(0, 92, 36, 0.12);
  transform: translateY(-1px);
  z-index: 5;
}

.mega-svc-card h4,
.mega-svc-card .mega-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 4px;
  padding: 0;
  border: 0;
  font-size: 0.95rem;
  font-weight: 800;
  color: #14261b;
  line-height: 1.25;
}

.mega-svc-card .mega-heading a {
  color: inherit;
  text-decoration: none;
}

.mega-svc-card .mega-heading a:hover,
.mega-svc-card .mega-heading a:focus-visible {
  color: var(--green);
  text-decoration: underline;
}

.mega-svc-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  flex-shrink: 0;
  background: var(--soft);
}

.mega-svc-card--web .mega-svc-icon { background: #e8f0ff; box-shadow: inset 0 0 0 1px #d0e0ff; }
.mega-svc-card--social .mega-svc-icon { background: #f3eaff; box-shadow: inset 0 0 0 1px #e2d2ff; }
.mega-svc-card--content .mega-svc-icon { background: #eef2f7; box-shadow: inset 0 0 0 1px #dde5ef; }
.mega-svc-card--seo .mega-svc-icon { background: #e6f7ec; box-shadow: inset 0 0 0 1px #cce8d6; }
.mega-svc-card--cro .mega-svc-icon { background: #e6f7f5; box-shadow: inset 0 0 0 1px #c5ebe6; }
.mega-svc-card--ecom .mega-svc-icon { background: #ffeef2; box-shadow: inset 0 0 0 1px #ffd6e0; }
.mega-svc-card--ppc .mega-svc-icon { background: #fff2e5; box-shadow: inset 0 0 0 1px #ffe0c2; }
.mega-svc-card--brand .mega-svc-icon { background: #e8f8ee; box-shadow: inset 0 0 0 1px #ccefd8; }

.mega-svc-icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

.mega-svc-card--web .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f7cff' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M3 9h18M8 20h8'/%3E%3C/svg%3E");
}
.mega-svc-card--social .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b6cff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3'/%3E%3Cpath d='M4 20a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
}
.mega-svc-card--content .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6b66' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 4h10l4 4v12H5V4z'/%3E%3Cpath d='M9 12h6M9 16h6'/%3E%3C/svg%3E");
}
.mega-svc-card--seo .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300b348' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
}
.mega-svc-card--cro .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232aa8a0' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 16l5-5 4 4 7-7'/%3E%3Cpath d='M14 8h6v6'/%3E%3C/svg%3E");
}
.mega-svc-card--ecom .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e06b5a' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16l-1.5 10H5.5L4 6z'/%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='16' cy='20' r='1.5'/%3E%3C/svg%3E");
}
.mega-svc-card--ppc .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e89a3c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 3v18M7 8h7a3 3 0 0 1 0 6H9'/%3E%3C/svg%3E");
}
.mega-svc-card--brand .mega-svc-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300963c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 3l2.2 4.5 5 .7-3.6 3.5.9 5L12 14.8 7.5 16.7l.9-5L4.8 8.2l5-.7L12 3z'/%3E%3C/svg%3E");
}

.mega-svc-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.mega-svc-card li {
  padding: 0;
  font-size: 0.84rem;
  line-height: 1.4;
}

.mega-svc-card li::before {
  display: none;
}

/* Show only first 3 sub-services until card hover/focus */
.mega-svc-card ul > li:nth-child(n + 4) {
  display: none;
}

.mega-svc-card:hover ul > li:nth-child(n + 4),
.mega-svc-card:focus-within ul > li:nth-child(n + 4) {
  display: block;
}

.mega-svc-card a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 0;
  margin: 0;
  border-radius: 0;
  border-left: 0;
  color: #6b7a70;
  transition: color 0.15s ease, background 0.15s ease, padding 0.15s ease;
}

.mega-svc-card a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent var(--green);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.mega-svc-card ul a:hover,
.mega-svc-card ul a:focus-visible {
  background: #e9f8ef;
  color: var(--green-dark);
  border-left-color: transparent;
  padding-inline: 8px;
  border-radius: 8px;
}

.mega-svc-card ul a:hover::after,
.mega-svc-card ul a:focus-visible::after {
  opacity: 1;
  transform: translateX(0);
}

.mega-svc-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 8px;
  padding: 8px 0 0 !important;
  border-top: 1px solid #eef3f0;
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--green) !important;
  background: none !important;
  border-radius: 0 !important;
}

.mega-svc-more span {
  font-size: 1rem;
  line-height: 1;
}

.mega-svc-more::after {
  display: none !important;
}

.mega-svc-more:hover,
.mega-svc-more:focus-visible {
  color: var(--green-dark) !important;
  background: none !important;
  padding-inline: 0 !important;
}

.nav-item.has-mega:has(#services-mega:not([hidden])) > .nav-trigger,
.nav-item.has-mega:has(#results-mega:not([hidden])) > .nav-trigger,
.nav-item.has-mega:has(#about-mega:not([hidden])) > .nav-trigger,
.nav-item.has-mega:has(#learn-mega:not([hidden])) > .nav-trigger,
.nav-item.has-mega:has(#process-mega:not([hidden])) > .nav-trigger,
.nav-item.has-mega:has(#services-trigger.is-open) > .nav-trigger,
.nav-item.has-mega:has(#results-trigger.is-open) > .nav-trigger,
.nav-item.has-mega:has(#about-trigger.is-open) > .nav-trigger,
.nav-item.has-mega:has(#learn-trigger.is-open) > .nav-trigger,
.nav-item.has-mega:has(#process-trigger.is-open) > .nav-trigger {
  background: #e9f8ef;
  color: var(--green-dark);
  border-radius: 999px;
  padding-inline: 12px;
}

@media (min-width: 1101px) {
  .mega-menu--panel,
  .mega-menu--services,
  .mega-menu--results,
  .mega-menu--about,
  .mega-menu--learn,
  .mega-menu--process {
    padding: 0;
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;
    background: var(--white);
    border-top: 1px solid var(--border);
    box-shadow: 0 24px 48px rgba(15, 40, 24, 0.12);
  }

  /* Override legacy process image-row layout when using cards */
  .mega-menu--process .mega-menu__inner.mega-menu__inner--process {
    display: contents;
  }
}

@media (max-width: 1100px) {
  /* Mobile/tablet: fit panel megas inside the slide-down nav */
  .nav-item.has-mega {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .mega-menu--panel,
  .mega-menu--services,
  .mega-menu--results,
  .mega-menu--about,
  .mega-menu--learn,
  .mega-menu--process {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    animation: none !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 0 10px;
    margin: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  .mega-menu--panel .container,
  .mega-menu--services .container,
  .mega-menu--results .container,
  .mega-menu--about .container,
  .mega-menu--learn .container,
  .mega-menu--process .container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  .mega-services-panel {
    width: 100%;
    background: transparent;
    overflow: visible;
  }

  .mega-services-grid,
  .mega-services-grid--three {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 8px 0 4px;
    background: transparent;
    width: 100%;
  }

  .mega-svc-card {
    position: relative;
    top: auto;
    padding: 12px 12px 10px;
    width: 100%;
    max-width: 100%;
  }

  .mega-svc-card:hover,
  .mega-svc-card:focus-within {
    transform: none;
    box-shadow: 0 4px 14px rgba(0, 92, 36, 0.08);
  }

  /* Keep lists compact on touch; expand on card open/focus */
  .mega-svc-card ul > li:nth-child(n + 4) {
    display: none;
  }

  .mega-svc-card.is-open ul > li:nth-child(n + 4),
  .mega-svc-card:focus-within ul > li:nth-child(n + 4) {
    display: block;
  }

  .nav-trigger {
    scroll-margin-top: 8px;
  }
}

@media (max-width: 640px) {
  .mega-services-grid,
  .mega-services-grid--three {
    grid-template-columns: 1fr;
    padding: 6px 0 2px;
  }

  .mega-svc-card h4,
.mega-svc-card .mega-heading {
    font-size: 0.9rem;
  }

  .mega-svc-card li {
    font-size: 0.82rem;
  }
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-self: end;
}

.header-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--green);
  white-space: nowrap;
  transition: color 0.2s ease;
}

.header-phone:hover,
.header-phone:focus-visible {
  color: var(--green-dark);
}

.icon-phone {
  color: var(--green);
  flex-shrink: 0;
}

.search-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  transition: filter 0.2s ease;
}

.search-btn:hover,
.search-btn:focus-visible {
  filter: brightness(1.08);
  color: var(--white);
}

.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 8px;
  justify-self: end;
}

.nav-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--text);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.nav-toggle.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.nav-toggle.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.nav-mobile-phone {
  display: none;
}

/* ===== Header tablet / mobile ===== */
@media (max-width: 1100px) {
  :root {
    --header-height: 72px;
  }

  .logo img {
    height: 52px;
  }

  .mega-menu__inner {
    grid-template-columns: 240px 1fr;
    gap: 24px;
  }

  .mega-menu--process .mega-menu__inner.mega-menu__inner--process {
    display: flex;
    grid-template-columns: none;
  }

  .mega-columns {
    gap: 20px 16px;
  }

  .header-inner {
    grid-template-columns: 1fr auto auto;
    gap: 8px;
  }

  .nav-toggle {
    display: flex;
  }

  .nav {
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 8px var(--gutter) 28px;
    background: var(--white);
    border-bottom: 1px solid var(--border);
    display: none;
    max-height: none;
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-anchor: none;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 16px 32px rgba(0, 92, 36, 0.12);
    z-index: 90;
    scroll-padding-top: 8px;
  }

  .nav-item.has-mega,
  .mega-menu--panel,
  .mega-services-grid,
  .mega-svc-card {
    overflow-anchor: none;
  }

  .nav.is-open {
    display: flex;
  }

  .nav-link,
  .nav-trigger {
    width: 100%;
    justify-content: space-between;
    padding: 14px 0;
    border-radius: 0;
    border-bottom: 1px solid var(--border);
    font-size: 1rem;
    font-weight: 900;
    flex-shrink: 0;
  }

  .nav-trigger.is-open {
    background: transparent;
    color: var(--green);
  }

  .nav-mobile-phone {
    display: inline-flex;
    color: var(--green);
    border-bottom: none;
    margin-top: 8px;
    padding-top: 16px;
  }

  .mega-menu {
    position: static;
    padding: 0 0 12px;
    border-bottom: none;
    box-shadow: none;
    max-height: none;
    overflow: visible;
    width: 100%;
  }

  .mega-menu--panel,
  .mega-menu--services,
  .mega-menu--results,
  .mega-menu--about,
  .mega-menu--learn,
  .mega-menu--process {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    animation: none !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 4px 0 12px;
    margin: 0;
    background: #f7faf8;
    border: none;
    border-radius: 12px;
    box-shadow: none;
    flex-shrink: 0;
  }

  .mega-services-grid,
  .mega-services-grid--three {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px;
    background: transparent;
    width: 100%;
  }

  .mega-svc-card {
    position: relative;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    padding: 12px 12px 10px;
    width: 100%;
    max-width: 100%;
  }

  .mega-menu__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    width: 100%;
  }

  .mega-menu__inner--results {
    max-width: none;
    width: 100%;
    margin-inline: auto;
  }

  .mega-featured {
    gap: 16px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
  }

  .mega-menu--process .mega-menu__inner.mega-menu__inner--process {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    grid-template-columns: none;
  }

  .mega-menu--process .mega-card,
  .mega-menu--process .mega-card img {
    height: 84px;
  }

  .mega-menu--about .mega-menu__inner.mega-menu__inner--about {
    width: 100%;
    max-width: none;
    gap: 20px 32px;
  }

  .mega-menu--learn .mega-menu__inner.mega-menu__inner--learn {
    width: 100%;
    max-width: none;
    gap: 18px 28px;
  }

  .mega-columns {
    grid-template-columns: 1fr;
  }

  .mega-group + .mega-group {
    margin-top: 18px;
  }

  /* Keep search reachable; phone stays in the mobile drawer */
  .header-inner {
    grid-template-columns: 1fr auto auto;
    gap: 8px;
  }

  .logo {
    order: 1;
  }

  .header-actions {
    display: flex;
    order: 2;
    gap: 0;
    align-items: center;
  }

  .header-phone {
    display: none;
  }

  .search-btn {
    width: 44px;
    height: 44px;
  }

  .nav-toggle {
    order: 3;
    width: 44px;
    height: 44px;
  }

  .nav {
    order: 4;
  }

  .nav-link,
  .nav-trigger {
    min-height: 48px;
  }
}

@media (max-width: 640px) {
  .mega-menu--process .mega-menu__inner.mega-menu__inner--process {
    flex-wrap: wrap;
  }

  .mega-menu--process .mega-card {
    flex: 1 1 calc(50% - 5px);
    height: 96px;
  }

  .mega-menu--process .mega-card img {
    height: 96px;
  }

  .mega-menu--about .mega-menu__inner.mega-menu__inner--about {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .mega-about-col {
    gap: 16px;
  }

  .mega-menu--learn .mega-menu__inner.mega-menu__inner--learn {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 480px) {
  :root {
    --header-height: 64px;
  }

  .logo img {
    height: 44px;
  }

  .mega-menu--process .mega-card {
    flex: 1 1 100%;
    height: 100px;
  }

  .mega-menu--process .mega-card img {
    height: 100px;
  }
}

/* ===== Utilities ===== */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ===== Hero ===== */
.hero {
  background: var(--hero-bg);
  padding: clamp(48px, 6.5vw, 88px) 0 clamp(48px, 6vw, 80px);
  overflow: hidden;
  min-height: clamp(460px, 56vw, 600px);
}

.hero-grid {
  display: grid;
  /* Near 50/50 with a slight lean to the video column. */
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(20px, 3vw, 36px);
}

.hero-copy {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.hero-eyebrow {
  margin: 0 0 14px;
  font-size: clamp(0.75rem, 1.5vw, 1.15rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.hero-title {
  margin: 0 0 clamp(24px, 4vw, 36px);
  font-size: clamp(2rem, 3.4vw, 3.75rem);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  overflow-wrap: normal;
  word-break: normal;
}

.hero-title-green {
  display: block;
  white-space: nowrap;
  color: var(--green-dark);
  font-weight: 800;
}

.hero-title-amp {
  display: inline-block;
  margin-right: 0.2em;
  color: var(--green);
  font-weight: 800;
  white-space: nowrap;
}

.hero-title-accent {
  color: var(--green);
  font-weight: 800;
  white-space: nowrap;
}

.hero-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  max-width: 520px;
  margin-bottom: 28px;
}

.hero-input {
  flex: 1 1 180px;
  min-width: 0;
  min-height: 52px;
  padding: 12px 18px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--white);
  font-family: inherit;
  font-size: 1rem; /* ≥16px avoids iOS focus zoom */
  color: var(--text);
  outline: none;
  transition: border-color 0.2s ease;
}

.hero-input::placeholder {
  color: #999;
}

.hero-input:focus {
  border-color: var(--green);
}

.hero-btn {
  flex: 0 1 auto;
  min-height: 52px;
  padding: 12px 22px;
  border-radius: 4px;
  background: linear-gradient(135deg, var(--green-dark) 0%, var(--green) 100%);
  color: var(--white);
  font-size: clamp(0.68rem, 1.5vw, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: filter 0.2s ease, opacity 0.2s ease;
  white-space: nowrap;
}

.hero-btn:hover,
.hero-btn:focus-visible {
  filter: brightness(1.08);
}

.hero-trust {
  width: 100%;
}

.hero-trust-label {
  margin: 0 0 10px;
  font-size: clamp(0.75rem, 1.4vw, 0.85rem);
  font-weight: 600;
  color: var(--muted);
}

.hero-trust-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
}

.hero-trust-logos span {
  font-size: clamp(0.65rem, 1.3vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #9a9a9a;
}

.hero-visual {
  /* Reclaims the container's right gutter so the video can grow toward the
     viewport edge. Uses live gutter math so it never overflows the page. */
  --hero-bleed: max(0px, calc((100vw - min(var(--container), 100vw - 40px)) / 2 - 16px));
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
  /* Grows past the right gutter only — never into the left copy column. */
  width: calc(100% + var(--hero-bleed));
  margin-top: clamp(-32px, -2vw, -12px);
  margin-bottom: clamp(-32px, -2vw, -12px);
  /* Clip any scaled overflow on the left so it cannot cover the headline. */
  overflow: hidden;
  background: transparent;
  z-index: 1;
}

.hero-visual .hero-video {
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: contain;
  /* Transparent WebM — alpha blends with the hero background. */
  background: transparent;
  transform: scale(1.22);
  transform-origin: right center;
}

/* Mid desktops: keep logo readable without pushing header off-screen */
@media (max-width: 1200px) {
  .logo img {
    height: 58px;
  }

  .nav {
    gap: 14px;
  }

  .nav-link,
  .nav-trigger {
    font-size: 0.85rem;
    padding: 10px 4px;
  }

  .hero-visual .hero-video {
    transform: scale(1.12);
  }
}

/* Large tablets / small desktops — stack with hamburger nav */
@media (max-width: 1100px) {
  .hero {
    min-height: 0;
    padding: 40px 0 48px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    text-align: center;
  }

  .hero-title {
    font-size: clamp(2rem, 4vw, 3.2rem);
  }

  .hero-form {
    margin-inline: auto;
    justify-content: center;
    flex-direction: column;
    align-items: stretch;
    max-width: 440px;
  }

  .hero-input,
  .hero-btn {
    width: 100%;
    flex: 1 1 auto;
    white-space: normal;
  }

  .hero-trust-logos {
    justify-content: center;
  }

  .hero-visual {
    --hero-bleed: 0px;
    justify-content: center;
    order: 2;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: calc(50% - 50vw);
    overflow: visible;
  }

  .hero-copy {
    order: 1;
  }

  .hero-visual .hero-video {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    transform: none;
  }

  .hero-title-amp,
  .hero-title-accent {
    white-space: normal;
  }
}

/* Keep legacy 960 stack rules as tightening only */
@media (max-width: 960px) {
  .hero {
    padding: 36px 0 44px;
  }

  .hero-form {
    max-width: 400px;
  }
}

/* Phones */
@media (max-width: 640px) {
  .hero {
    padding: 28px 0 36px;
  }

  .hero-eyebrow {
    letter-spacing: 0.06em;
    line-height: 1.4;
  }

  .hero-title {
    font-size: clamp(1.75rem, 8.5vw, 2.4rem);
    margin-bottom: 22px;
    line-height: 1.08;
  }

  .hero-form {
    max-width: 100%;
    margin-bottom: 22px;
  }

  .hero-btn {
    font-size: 0.8125rem;
    padding: 14px 18px;
    letter-spacing: 0.04em;
  }

  .hero-eyebrow {
    font-size: 0.8125rem;
  }

  .hero-trust-logos span {
    font-size: 0.75rem;
  }

  .hero-title-green,
  .hero-title-amp,
  .hero-title-accent {
    white-space: normal;
  }

  .hero-trust-logos {
    gap: 10px 14px;
    justify-content: center;
  }

  .hero-visual .hero-video {
    width: 100%;
    max-width: none;
    transform: none;
  }
}

/* Small phones */
@media (max-width: 380px) {
  .hero-title {
    font-size: 1.7rem;
  }

  .hero-title-amp,
  .hero-title-accent {
    white-space: normal;
  }

  .hero-eyebrow {
    font-size: 0.7rem;
  }

  .hero-input {
    min-height: 48px;
    font-size: 1rem;
  }
}

/* ===== Reviews bar ===== */
.reviews {
  background: linear-gradient(135deg, var(--green-dark) 0%, var(--green-mid) 55%, var(--green) 100%);
  padding: 36px 0;
  color: var(--white);
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.review-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  padding: 8px 28px;
}

.review-item:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12%;
  bottom: 12%;
  width: 1px;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(255, 255, 255, 0.45) 20%,
    rgba(255, 255, 255, 0.45) 80%,
    transparent 100%
  );
}

.review-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.review-icon {
  width: 24px;
  height: 24px;
  color: var(--white);
  flex-shrink: 0;
}

.review-stars {
  display: flex;
  gap: 5px;
}

.review-stars span {
  width: 15px;
  height: 15px;
  background: #ffd54f;
  clip-path: polygon(
    50% 0%,
    61% 35%,
    98% 35%,
    68% 57%,
    79% 91%,
    50% 70%,
    21% 91%,
    32% 57%,
    2% 35%,
    39% 35%
  );
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.18));
}

.review-count {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 0.95;
}

@media (max-width: 900px) {
  .review-item {
    padding: 8px 16px;
    gap: 8px;
  }

  .review-brand {
    font-size: 0.95rem;
  }

  .review-stars span {
    width: 13px;
    height: 13px;
  }
}

@media (max-width: 700px) {
  .reviews {
    padding: 28px 0;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .review-item {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    gap: 10px 14px;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .review-item:not(:first-child)::before {
    display: none;
  }

  .review-brand {
    font-size: 1.05rem;
    gap: 12px;
  }

  .review-icon {
    width: 28px;
    height: 28px;
    padding: 5px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.18);
    box-sizing: content-box;
  }

  .review-stars {
    margin-left: auto;
  }

  .review-stars span {
    width: 16px;
    height: 16px;
  }

  .review-count {
    width: 100%;
    font-size: 0.82rem;
    font-weight: 600;
    opacity: 0.9;
    padding-top: 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
}

@media (max-width: 380px) {
  .review-item {
    padding: 14px 14px;
  }

  .review-brand {
    font-size: 0.95rem;
  }

  .review-stars span {
    width: 14px;
    height: 14px;
  }
}

/* ===== Case studies ===== */
.section-heading {
  text-align: center;
  margin-bottom: 40px;
}

.section-heading h2 {
  margin: 0 0 8px;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 700;
  color: var(--green-dark);
}

.section-arrow {
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-top: 4px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.section-arrow::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--green);
  border-bottom: 2px solid var(--green);
  transform: translateX(-50%) rotate(45deg);
}

.section-arrow:hover,
.section-arrow:focus-visible {
  transform: translateY(3px);
  opacity: 0.85;
  outline: none;
}

.section-arrow:focus-visible {
  box-shadow: 0 0 0 2px var(--soft), 0 0 0 4px var(--green);
  border-radius: 50%;
}

.case-studies {
  padding: 80px 0;
  background: var(--white);
}

.case-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.case-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 92, 36, 0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.case-card:hover {
  box-shadow: 0 18px 40px rgba(0, 92, 36, 0.12);
  transform: translateY(-3px);
}

.case-media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  padding: 0;
  border: none;
  border-radius: 0;
  overflow: hidden;
  background: #0f1a12;
}

.case-media__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.case-media__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.case-media--one,
.case-media--two {
  background: #0f1a12;
}

.case-media--image {
  background: #f3faf6;
}

.case-media--image::after {
  display: none;
}

.case-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 40, 18, 0.15) 0%,
    rgba(0, 40, 18, 0.45) 100%
  );
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.case-media.is-playing::after {
  opacity: 0;
}

.case-play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--white);
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.case-play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 10px 0 10px 16px;
  border-color: transparent transparent transparent var(--green-dark);
}

.case-play:hover,
.case-play:focus-visible {
  transform: translate(-50%, -50%) scale(1.06);
}

.case-media.is-playing .case-play {
  opacity: 0;
  pointer-events: none;
}

.case-media:not(.is-playing) .case-media__video {
  pointer-events: none;
}

.case-quote {
  margin: 0;
  padding: 16px 20px;
  background: var(--soft);
  color: var(--green-dark);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
  border-left: 4px solid var(--green);
}

.case-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 18px 16px 10px;
}

.case-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 16px 12px;
  text-align: center;
  background: linear-gradient(180deg, var(--cream) 0%, #eaf7ef 100%);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.case-stat strong {
  display: block;
  font-size: clamp(1.45rem, 3.2vw, 1.85rem);
  font-weight: 800;
  color: var(--green);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.case-stat span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.3;
}

.case-text {
  margin: 0;
  padding: 8px 20px 4px;
  font-size: 0.92rem;
  color: var(--muted);
  line-height: 1.7;
  flex: 1;
}

.case-link {
  display: inline-block;
  margin: 12px 20px 20px;
  padding-bottom: 4px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--green);
  border-bottom: 2px solid var(--green);
  align-self: flex-start;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.case-link:hover,
.case-link:focus-visible {
  color: var(--green-dark);
  border-color: var(--green-dark);
}

/* Video modal */
.video-modal[hidden] {
  display: none;
}

.video-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 20px;
}

.video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 92, 36, 0.72);
}

.video-modal__panel {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  padding: 28px;
  border-radius: 12px;
  background: var(--white);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.video-modal__close {
  position: absolute;
  top: 10px;
  right: 14px;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--muted);
}

.video-modal__close:hover,
.video-modal__close:focus-visible {
  color: var(--green-dark);
}

.video-modal__panel h3 {
  margin: 0 0 16px;
  font-size: 1.15rem;
  color: var(--green-dark);
}

.video-modal__frame {
  display: block;
  min-height: 0;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
  color: var(--muted);
  text-align: center;
}

.video-modal__frame video {
  width: 100%;
  height: auto;
  max-height: min(70vh, 520px);
  display: block;
  background: #000;
}

@media (max-width: 960px) {
  .case-grid {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin-inline: auto;
    gap: 24px;
  }

  .case-studies {
    padding: 56px 0;
  }

  .case-card:hover {
    transform: none;
  }
}

@media (max-width: 640px) {
  .case-stats {
    gap: 10px;
    padding: 14px 14px 8px;
  }

  .case-stat {
    padding: 14px 10px;
    border-radius: 10px;
  }

  .case-stat strong {
    font-size: 1.55rem;
  }

  .case-stat span {
    font-size: 0.68rem;
  }

  .case-quote {
    padding: 14px 16px;
    font-size: 0.9rem;
  }

  .case-text {
    padding: 6px 16px 2px;
    font-size: 0.88rem;
    line-height: 1.65;
  }

  .case-link {
    margin: 12px 16px 18px;
  }
}

@media (max-width: 380px) {
  .case-stats {
    grid-template-columns: 1fr;
  }
}

/* ===== Testimonials ===== */
.testimonials {
  padding: 80px 0;
  background: var(--cream);
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.testimonial-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  padding: 24px 22px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0, 92, 36, 0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.testimonial-card:hover {
  box-shadow: 0 18px 40px rgba(0, 92, 36, 0.12);
  transform: translateY(-3px);
}

.testimonial-profile {
  display: flex;
  align-items: center;
  gap: 14px;
}

.testimonial-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--green-dark), var(--green));
  color: var(--white);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 6px 16px rgba(0, 92, 36, 0.22);
}

.testimonial-name {
  margin: 0 0 3px;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--green-dark);
}

.testimonial-role {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--muted);
}

.testimonial-stars {
  display: flex;
  gap: 4px;
  margin-top: -4px;
}

.testimonial-stars span {
  width: 14px;
  height: 14px;
  background: #ffd54f;
  clip-path: polygon(
    50% 0%,
    61% 35%,
    98% 35%,
    68% 57%,
    79% 91%,
    50% 70%,
    21% 91%,
    32% 57%,
    2% 35%,
    39% 35%
  );
}

.testimonial-pull {
  margin: 0;
  padding: 14px 16px;
  background: linear-gradient(135deg, var(--soft) 0%, var(--cream) 100%);
  border-left: 4px solid var(--green);
  border-radius: 0 10px 10px 0;
  font-size: 0.95rem;
  font-weight: 700;
  font-style: italic;
  color: var(--green-dark);
  line-height: 1.45;
}

.testimonial-body {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.7;
  flex: 1;
}

@media (max-width: 900px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: none;
    margin-inline: 0;
    gap: 18px;
  }

  .testimonials {
    padding: 56px 0;
  }

  .testimonial-card:hover {
    transform: none;
  }
}

@media (max-width: 640px) {
  .testimonials-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-inline: auto;
    gap: 14px;
  }

  .testimonial-card {
    padding: 20px 18px;
    gap: 14px;
  }

  .testimonial-avatar {
    width: 52px;
    height: 52px;
  }

  .testimonial-pull {
    padding: 12px 14px;
    font-size: 0.9rem;
  }

  .testimonial-body {
    font-size: 0.88rem;
    line-height: 1.65;
  }
}

/* ===== Why choose us ===== */
.why {
  padding: 80px 0;
  background: var(--white);
}

.why-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 56px;
}

.why-intro h2 {
  margin: 0 0 18px;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 700;
  color: var(--green-dark);
}

.why-intro p {
  margin: 0 0 14px;
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.7;
}

.why-intro p:last-child {
  margin-bottom: 0;
}

.why-media-inner {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  overflow: hidden;
  background: #0a120e;
}

.why-media-inner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.why-media-label {
  position: absolute;
  left: 14px;
  bottom: 12px;
  z-index: 1;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(0, 92, 36, 0.88);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.why-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.why-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--soft);
  color: var(--green);
}

.why-icon svg {
  width: 24px;
  height: 24px;
}

.why-card h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--green-dark);
  line-height: 1.35;
}

.why-card p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.6;
  flex: 1;
}

.why-card a {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--green);
  align-self: flex-start;
  border-bottom: 2px solid var(--green);
  padding-bottom: 2px;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.why-card a:hover,
.why-card a:focus-visible {
  color: var(--green-dark);
  border-color: var(--green-dark);
}

@media (max-width: 1000px) {
  .why-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 800px) {
  .why-top {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 40px;
  }

  .why {
    padding: 56px 0;
  }
}

@media (max-width: 520px) {
  .why-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Awards ===== */
.awards {
  padding: 80px 0;
  background: var(--white);
}

.awards .section-heading {
  margin-bottom: 36px;
}

.awards-row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.award-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 110px;
  padding: 22px 16px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(180deg, var(--white) 0%, var(--cream) 100%);
  color: var(--green-dark);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.35;
  box-shadow: 0 8px 22px rgba(0, 92, 36, 0.05);
  transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.award-badge__icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--soft) 0%, var(--cream) 100%);
  border: 1px solid var(--border);
  color: var(--green);
  flex-shrink: 0;
}

.award-badge__icon svg {
  width: 22px;
  height: 22px;
  display: block;
}

.award-badge:hover {
  color: var(--green-dark);
  border-color: rgba(0, 179, 72, 0.4);
  box-shadow: 0 16px 32px rgba(0, 92, 36, 0.12);
  transform: translateY(-3px);
}

.award-badge:hover .award-badge__icon {
  background: linear-gradient(135deg, var(--green-dark), var(--green));
  border-color: transparent;
  color: var(--white);
}

@media (max-width: 1000px) {
  .awards-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .awards {
    padding: 56px 0;
  }

  .awards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .award-badge {
    min-height: 96px;
    padding: 18px 12px;
    font-size: 0.7rem;
    gap: 8px;
  }

  .award-badge__icon {
    width: 38px;
    height: 38px;
  }

  .award-badge__icon svg {
    width: 20px;
    height: 20px;
  }

  .award-badge:hover {
    transform: none;
  }
}

@media (max-width: 380px) {
  .award-badge {
    min-height: 88px;
    font-size: 0.65rem;
    letter-spacing: 0.04em;
  }
}

/* ===== Blog ===== */
.blog {
  padding: 80px 0;
  background: var(--cream);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.blog-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 28px 24px;
  background: var(--white);
  border-radius: 8px;
  border: 1px solid transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.blog-card:hover {
  border-color: var(--border);
  box-shadow: 0 12px 28px rgba(0, 92, 36, 0.08);
}

.blog-category {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--green);
}

.blog-card-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--green-dark);
  flex: 1;
}

.blog-date {
  font-size: 0.8rem;
  color: var(--muted);
}

.blog-link {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--green);
  align-self: flex-start;
  border-bottom: 2px solid var(--green);
  padding-bottom: 2px;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.blog-link:hover,
.blog-link:focus-visible {
  color: var(--green-dark);
  border-color: var(--green-dark);
}

@media (max-width: 900px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: none;
    margin-inline: 0;
  }

  .blog {
    padding: 56px 0;
  }
}

@media (max-width: 640px) {
  .blog-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin-inline: auto;
  }
}

/* ===== Services ===== */
.services {
  padding: 80px 0;
  background: linear-gradient(180deg, var(--white) 0%, var(--cream) 100%);
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}

.service-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
  padding: 24px 22px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0, 92, 36, 0.05);
  transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.service-card:hover {
  border-color: rgba(0, 179, 72, 0.35);
  box-shadow: 0 18px 40px rgba(0, 92, 36, 0.12);
  transform: translateY(-3px);
}

.service-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--soft) 0%, var(--cream) 100%);
  color: var(--green);
  border: 1px solid var(--border);
  flex-shrink: 0;
}

.service-icon svg {
  width: 24px;
  height: 24px;
}

.service-card h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--green-dark);
  line-height: 1.35;
}

.service-card p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.65;
  flex: 1;
}

@media (max-width: 900px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .service-card:hover {
    transform: none;
  }
}

@media (max-width: 560px) {
  .services {
    padding: 56px 0;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .service-card {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 14px;
    padding: 18px 16px;
  }

  .service-icon {
    width: 44px;
    height: 44px;
  }

  .service-icon svg {
    width: 22px;
    height: 22px;
  }

  .service-card h3 {
    flex: 1;
    min-width: 0;
    align-self: center;
    font-size: 1rem;
  }

  .service-card p {
    width: 100%;
    font-size: 0.88rem;
    line-height: 1.6;
  }
}

/* ===== CTA ===== */
.cta {
  padding: 72px 0;
  background: linear-gradient(135deg, var(--green-dark) 0%, var(--green-mid) 55%, var(--green) 100%);
  color: var(--white);
  text-align: center;
}

.cta-inner {
  max-width: 720px;
}

.cta h2 {
  margin: 0 0 12px;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.cta-text {
  margin: 0 0 28px;
  font-size: 1rem;
  opacity: 0.92;
}

.cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 24px;
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cta-btn--solid {
  background: var(--white);
  color: var(--green-dark);
}

.cta-btn--solid:hover,
.cta-btn--solid:focus-visible {
  background: var(--soft);
}

.cta-btn--outline {
  border: 2px solid var(--white);
  color: var(--white);
}

.cta-btn--outline:hover,
.cta-btn--outline:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

/* ===== Pre-footer ===== */
.prefooter {
  padding: 56px 0;
  background: var(--cream);
  border-top: 1px solid var(--border);
}

.prefooter-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: center;
}

.prefooter-logo img {
  height: 64px;
  width: auto;
  max-width: min(280px, 100%);
  margin-bottom: 14px;
}

.prefooter-about p {
  margin: 0;
  max-width: 360px;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.65;
}

.prefooter-social {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
}

.social-links {
  display: flex;
  align-items: center;
  gap: 14px;
}

.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 4px;
  border-radius: 0;
  background: none;
  color: var(--green-dark);
  transition: color 0.2s ease, transform 0.2s ease;
}

.social-links a svg {
  width: 22px;
  height: 22px;
  display: block;
}

.social-links a:hover,
.social-links a:focus-visible {
  color: var(--green);
  filter: none;
  transform: translateY(-1px);
}

.prefooter-phone {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--green-dark);
}

.prefooter-phone:hover,
.prefooter-phone:focus-visible {
  color: var(--green);
}

/* ===== Footer ===== */
.site-footer {
  background: #0f1a12;
  color: #c5d0c8;
  padding: 56px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding-bottom: 40px;
}

.footer-col h3 {
  margin: 0 0 16px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white);
}

.footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-col a {
  font-size: 0.88rem;
  color: #a7b5ac;
  transition: color 0.2s ease;
}

.footer-col a:hover,
.footer-col a:focus-visible {
  color: var(--green-light);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 18px 0 24px;
}

.footer-bottom p {
  margin: 0;
  font-size: 0.8rem;
  color: #8a968e;
  text-align: center;
}

@media (max-width: 900px) {
  .prefooter-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 24px;
  }

  .prefooter-about p {
    margin-inline: auto;
  }

  .prefooter-logo {
    display: inline-flex;
  }

  .prefooter-logo img {
    height: 56px;
    margin-inline: auto;
  }

  .prefooter-social {
    align-items: center;
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 24px;
  }
}

@media (max-width: 520px) {
  .cta {
    padding: 56px 0;
  }

  .cta h2 {
    font-size: clamp(1.5rem, 7vw, 2rem);
  }

  .cta-btn {
    width: 100%;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-col ul {
    align-items: center;
  }
}

/* Video modal small screens */
@media (max-width: 640px) {
  .video-modal__panel {
    width: calc(100% - 24px);
    padding: 20px 16px 16px;
  }

  .case-play {
    width: 52px;
    height: 52px;
  }

  .section-heading {
    margin-bottom: 28px;
  }
}

/* Extra-small devices */
@media (max-width: 360px) {
  :root {
    --gutter: 14px;
    --header-height: 60px;
  }

  .logo img {
    height: 40px;
    max-width: min(200px, 62vw);
  }

  .hero-title {
    font-size: 1.55rem;
  }

  .hero-btn,
  .cta-btn {
    letter-spacing: 0.04em;
  }
}

/* ===== Contact page — proposal pipeline (SMM-aligned) ===== */
.page-contact {
  background: #fff;
}

.page-contact .nav-link[href="contact.html"] {
  color: var(--green);
}

.page-contact .ct-kicker {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green);
}

.page-contact .ct-head {
  margin-bottom: clamp(24px, 4vw, 36px);
}

.page-contact .ct-head--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.page-contact .ct-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-contact .ct-head p {
  margin: 0;
  color: #4a5d50;
  font-size: 1.02rem;
  line-height: 1.65;
}

.page-contact .ct-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-contact .ct-btn--solid {
  background: var(--green);
  color: #fff;
}

.page-contact .ct-btn--solid:hover,
.page-contact .ct-btn--solid:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: translateY(-1px);
}

.page-contact .ct-btn--ghost {
  border: 2px solid #c5ddcf;
  color: #143226;
  background: #fff;
}

.page-contact .ct-btn--ghost:hover,
.page-contact .ct-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green-dark);
}

.page-contact .ct-btn--on-dark {
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
  background: transparent;
}

.page-contact .ct-btn--on-dark:hover,
.page-contact .ct-btn--on-dark:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
}

.page-contact .ct-breadcrumb {
  padding: 14px 0;
  background: #f3faf6;
  border-bottom: 1px solid #d9ebe0;
}

.page-contact .ct-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4a5d50;
}

.page-contact .ct-breadcrumb__list li:not(:last-child)::after {
  content: "/";
  margin-left: 8px;
  color: #9bb5a6;
}

.page-contact .ct-breadcrumb__list a {
  color: var(--green-dark);
}

.page-contact .ct-breadcrumb__list a:hover,
.page-contact .ct-breadcrumb__list a:focus-visible {
  color: var(--green);
}

.page-contact .ct-breadcrumb__list li[aria-current="page"] {
  color: #102016;
}

.page-contact .ct-hero {
  padding: clamp(36px, 6vw, 72px) 0 clamp(28px, 5vw, 56px);
  background: linear-gradient(180deg, #eef8f2 0%, #f7fcf9 42%, #ffffff 100%);
}

.page-contact .ct-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

/* Brand line + H1 stack: brand keeps hero size, H1 uses relative em from former span rules */
.svc-h1-stack .svc-h1-brand {
  margin: 0;
  padding: 0;
  font-size: 1em;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.svc-h1-stack > h1 {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
}
.page-contact .ct-hero .svc-h1-stack {
  margin: 0 0 16px;
  font-size: clamp(2.05rem, 4.6vw, 3.35rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-contact .ct-hero h1 {
  display: block;
  color: var(--green);
}

.page-contact .ct-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5d50;
  font-size: 1.06rem;
  line-height: 1.7;
}

.page-contact .ct-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-contact .ct-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-contact .ct-hero__chips li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px 7px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #d4eadc;
  font-size: 0.8rem;
  font-weight: 800;
  color: #1d3a28;
}

.page-contact .ct-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}

.page-contact .ct-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 28px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.1);
  animation: ct-hero-in 0.75s ease-out both;
}

.page-contact .ct-hero__copy {
  animation: ct-hero-in 0.65s ease-out both;
}

@keyframes ct-hero-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-contact .ct-hero__copy,
  .page-contact .ct-hero__media img {
    animation: none;
  }
}

.page-contact .ct-desk {
  padding: clamp(40px, 6vw, 80px) 0;
  background: #fff;
}

.page-contact .ct-desk__grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-contact .ct-pipeline {
  position: sticky;
  top: calc(var(--header-height) + 16px);
  padding: 8px 0 0;
}

.page-contact .ct-pipeline h2 {
  margin: 0 0 20px;
  font-size: clamp(1.45rem, 2.6vw, 1.85rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #102016;
}

.page-contact .ct-pipeline__list {
  display: grid;
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.page-contact .ct-pipeline__list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  background: #f4faf6;
  border: 1px solid #dceee3;
}

.page-contact .ct-pipeline__list li:nth-child(1) { border-radius: 22px; width: 100%; }
.page-contact .ct-pipeline__list li:nth-child(2) { border-radius: 18px; width: 94%; }
.page-contact .ct-pipeline__list li:nth-child(3) { border-radius: 14px; width: 88%; }

.page-contact .ct-pipeline__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #143226;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 900;
}

.page-contact .ct-pipeline__list h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 800;
  color: #102016;
}

.page-contact .ct-pipeline__list p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #4a5d50;
}

.page-contact .ct-pipeline__call p {
  margin: 0 0 4px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4a5d50;
}

.page-contact .ct-pipeline__call a {
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--green);
}

.page-contact .ct-pipeline__call a:hover,
.page-contact .ct-pipeline__call a:focus-visible {
  color: var(--green-dark);
}

.page-contact .ct-form-wrap {
  padding: clamp(22px, 3vw, 32px);
  background: #f7fcf9;
  border: 1px solid #d9ebe0;
  border-radius: 24px;
}

.page-contact .ct-form-wrap__head {
  margin-bottom: 22px;
}

.page-contact .ct-form-wrap__head h2 {
  margin: 0 0 8px;
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 900;
  color: #102016;
}

.page-contact .ct-form-wrap__head p:last-child {
  margin: 0;
  color: #4a5d50;
  line-height: 1.6;
}

.page-contact .ct-form {
  position: relative;
  display: grid;
  gap: 16px;
}

.page-contact .ct-form__row--2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-contact .ct-field {
  display: grid;
  gap: 6px;
}

.page-contact .ct-field label,
.page-contact .ct-field legend {
  font-size: 0.82rem;
  font-weight: 800;
  color: #1d3a28;
}

.page-contact .ct-field input,
.page-contact .ct-field select,
.page-contact .ct-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #cfe3d7;
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  color: #102016;
}

.page-contact .ct-field textarea {
  min-height: 120px;
  resize: vertical;
}

.page-contact .ct-field input:focus,
.page-contact .ct-field select:focus,
.page-contact .ct-field textarea:focus {
  outline: none;
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(46, 139, 87, 0.15);
}

.page-contact .ct-services {
  border: 0;
  padding: 0;
  margin: 0;
}

.page-contact .ct-services__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

.page-contact .ct-services__grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #dceee3;
  font-size: 0.86rem;
  font-weight: 700;
  color: #1d3a28;
  cursor: pointer;
}

.page-contact .ct-services__grid input {
  width: auto;
  min-height: 0;
  accent-color: var(--green);
}

.page-contact .ct-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #4a5d50;
  font-weight: 600;
}

.page-contact .ct-consent input {
  margin-top: 3px;
  accent-color: var(--green);
}

.page-contact .ct-honey,
.ct-honey {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.page-contact .ct-form__status {
  margin: 0 0 0.85rem;
  padding: 0.75rem 0.9rem;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
  background: var(--soft);
  color: var(--green-dark);
  border: 1px solid var(--border);
}

.page-contact .ct-form__status--ok {
  background: #e6f7ec;
  border-color: #9fd4b4;
  color: var(--green-dark);
}

.page-contact .ct-form__status--err {
  background: #fdeeee;
  border-color: #f0b4b4;
  color: #8a1f1f;
}

.page-contact .ct-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 22px;
  border: 0;
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 900;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-contact .ct-submit:disabled {
  opacity: 0.7;
  cursor: wait;
}

.page-contact .ct-submit:hover,
.page-contact .ct-submit:focus-visible {
  background: var(--green-dark);
  transform: translateY(-1px);
}

.page-contact .ct-hurry {
  margin: 18px 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #4a5d50;
}

.page-contact .ct-hurry a {
  color: var(--green);
  font-weight: 900;
}

.page-contact .ct-steps {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #f3faf6;
}

.page-contact .ct-steps__rails {
  display: grid;
  gap: 12px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  max-width: 820px;
}

.page-contact .ct-steps__rails li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #dceee3;
}

.page-contact .ct-steps__rails li:nth-child(1) { width: 100%; border-radius: 22px; }
.page-contact .ct-steps__rails li:nth-child(2) { width: 92%; border-radius: 18px; margin-left: auto; }
.page-contact .ct-steps__rails li:nth-child(3) { width: 84%; border-radius: 14px; margin-left: auto; }

.page-contact .ct-steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #143226;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 900;
}

.page-contact .ct-steps__rails h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #102016;
}

.page-contact .ct-steps__rails p {
  margin: 0;
  color: #4a5d50;
  line-height: 1.6;
}

.page-contact .ct-connect {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-contact .ct-connect__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-contact .ct-connect__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(16, 40, 26, 0.1);
}

.page-contact .ct-connect__copy h2 {
  margin: 0 0 18px;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #102016;
}

.page-contact .ct-connect__meta {
  display: grid;
  gap: 16px;
  margin: 0 0 20px;
}

.page-contact .ct-connect__meta div {
  padding-bottom: 14px;
  border-bottom: 1px solid #dceee3;
}

.page-contact .ct-connect__meta div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.page-contact .ct-connect__meta dt {
  margin: 0 0 4px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green);
}

.page-contact .ct-connect__meta dd {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #102016;
  line-height: 1.5;
}

.page-contact .ct-connect__meta a {
  color: var(--green);
}

.page-contact .ct-byline {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #4a5d50;
}

.page-contact .ct-byline span {
  display: block;
  margin-top: 6px;
  font-weight: 800;
  color: #1d3a28;
}

.page-contact .ct-results {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #f3faf6;
}

.page-contact .ct-results__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-contact .ct-results__grid article {
  padding: 22px 20px;
  background: #fff;
  border: 1px solid #dceee3;
  border-radius: 18px;
  text-align: center;
}

.page-contact .ct-results__grid strong {
  display: block;
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  font-weight: 900;
  color: var(--green);
  line-height: 1.1;
}

.page-contact .ct-results__grid span {
  display: block;
  margin: 8px 0 6px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #102016;
}

.page-contact .ct-results__grid p {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: #4a5d50;
}

.page-contact .ct-quotes {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-contact .ct-quotes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.page-contact .ct-quotes__grid blockquote {
  margin: 0;
  padding: 24px 22px;
  background: #f4faf6;
  border: 1px solid #dceee3;
  border-radius: 20px;
  border-left: 4px solid var(--green);
}

.page-contact .ct-quotes__grid p {
  margin: 0 0 14px;
  font-size: 1rem;
  line-height: 1.7;
  color: #1d3a28;
  font-weight: 600;
}

.page-contact .ct-quotes__grid footer {
  font-size: 0.85rem;
  font-weight: 800;
  color: #4a5d50;
}

.page-contact .ct-cta {
  padding: clamp(48px, 7vw, 80px) 0;
  background: linear-gradient(135deg, #0a3311 0%, #143226 55%, #1b4d26 100%);
  color: #fff;
}

.page-contact .ct-cta__inner {
  text-align: center;
  max-width: 36rem;
  margin: 0 auto;
}

.page-contact .ct-cta h2 {
  margin: 0 0 10px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -0.02em;
}

.page-contact .ct-cta p {
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.page-contact .ct-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.page-contact .ct-cta .ct-btn--solid {
  background: #fff;
  color: #0a3311;
}

.page-contact .ct-cta .ct-btn--solid:hover,
.page-contact .ct-cta .ct-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #0a3311;
}

@media (max-width: 960px) {
  .page-contact .ct-hero__grid,
  .page-contact .ct-desk__grid,
  .page-contact .ct-connect__grid {
    grid-template-columns: 1fr;
  }

  .page-contact .ct-pipeline {
    position: static;
  }

  .page-contact .ct-pipeline__list li:nth-child(2),
  .page-contact .ct-pipeline__list li:nth-child(3),
  .page-contact .ct-steps__rails li:nth-child(2),
  .page-contact .ct-steps__rails li:nth-child(3) {
    width: 100%;
    margin-left: 0;
  }

  .page-contact .ct-results__grid,
  .page-contact .ct-quotes__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-contact .ct-form__row--2,
  .page-contact .ct-services__grid {
    grid-template-columns: 1fr;
  }

  .page-contact .ct-hero__actions,
  .page-contact .ct-cta__actions {
    flex-direction: column;
  }

  .page-contact .ct-btn,
  .page-contact .ct-submit {
    width: 100%;
  }
}

/* ===== Service pages (WordPress & future service templates) ===== */
.page-service .svc-breadcrumb {
  padding: 14px 0;
  background: linear-gradient(180deg, #f3faf5 0%, #ffffff 100%);
  border-bottom: 1px solid var(--border);
}

.svc-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--muted);
}

.svc-breadcrumb__list li:not(:last-child)::after {
  content: "/";
  margin-left: 10px;
  color: #9bb5a4;
  font-weight: 600;
}

.svc-breadcrumb__list a {
  color: var(--green-dark);
  text-decoration: none;
}

.svc-breadcrumb__list a:hover,
.svc-breadcrumb__list a:focus-visible {
  color: var(--green);
}

.svc-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(40px, 7vw, 72px) 0 clamp(36px, 5vw, 56px);
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(0, 179, 72, 0.12), transparent 55%),
    radial-gradient(ellipse 60% 50% at 0% 100%, rgba(0, 92, 36, 0.06), transparent 50%),
    linear-gradient(165deg, #f7fcf8 0%, #ffffff 48%, #eef8f1 100%);
}

.svc-hero__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.svc-hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.svc-hero__orb--a {
  width: 220px;
  height: 220px;
  top: -60px;
  right: 8%;
  background: rgba(0, 179, 72, 0.16);
}

.svc-hero__orb--b {
  width: 160px;
  height: 160px;
  bottom: -40px;
  left: 5%;
  background: rgba(0, 150, 60, 0.1);
}

.svc-hero__mesh {
  position: absolute;
  inset: 0;
  opacity: 0.35;
  background-image:
    linear-gradient(rgba(0, 92, 36, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 92, 36, 0.04) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, #000 20%, transparent 90%);
}

.svc-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin-inline: 0;
  margin-right: auto;
  text-align: left;
  animation: svc-rise 0.65s ease-out both;
}

@keyframes svc-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.svc-eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green);
}

.svc-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(1.85rem, 4.5vw, 2.75rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--green-dark);
}

.svc-hero__lead {
  margin: 0 0 24px;
  font-size: clamp(1.02rem, 2vw, 1.15rem);
  line-height: 1.65;
  color: var(--muted);
  max-width: 62ch;
}

.svc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.svc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 10px;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.svc-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.svc-btn--solid:hover,
.svc-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
  transform: translateY(-1px);
}

.svc-btn--ghost {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--border);
}

.svc-btn--ghost:hover,
.svc-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.svc-section-head {
  margin-bottom: clamp(22px, 3vw, 32px);
  max-width: 640px;
}

.svc-section-head h2 {
  margin: 0;
  font-size: clamp(1.45rem, 3vw, 1.9rem);
  font-weight: 900;
  line-height: 1.2;
  color: var(--text);
}

.svc-intro {
  padding: clamp(40px, 6vw, 64px) 0;
  background: var(--white);
}

.svc-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.7fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.svc-intro__copy p {
  margin: 0 0 16px;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--muted);
}

.svc-intro__copy p:last-child {
  margin-bottom: 0;
}

.svc-byline {
  margin-top: 18px !important;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  font-size: 0.85rem !important;
  line-height: 1.6;
}

.svc-byline span {
  display: block;
  margin-top: 4px;
  font-weight: 700;
  color: var(--green-dark);
}

.svc-intro__aside {
  padding: 22px 20px;
  background: linear-gradient(160deg, #eef8f1 0%, #f7fcf8 100%);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.svc-highlights {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.svc-highlights li {
  position: relative;
  padding-left: 28px;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--green-dark);
}

.svc-highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: inset 0 0 0 4px #dff5e7;
}

.svc-audience {
  padding: clamp(40px, 6vw, 64px) 0;
  background: linear-gradient(180deg, #f3faf5 0%, #ffffff 100%);
}

.svc-audience__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.svc-audience__list li {
  padding: 16px 18px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.4;
}

.svc-includes {
  padding: clamp(40px, 6vw, 72px) 0;
  background: var(--white);
}

.svc-includes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.svc-include {
  padding: 22px 20px;
  border: 1px solid #e6eee9;
  border-radius: 14px;
  background: #fafdfb;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.svc-include:hover {
  border-color: #cfe8d8;
  box-shadow: 0 10px 28px rgba(0, 92, 36, 0.08);
}

.svc-include h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--green-dark);
}

.svc-include p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--muted);
}

.svc-process {
  padding: clamp(40px, 6vw, 72px) 0;
  background: linear-gradient(165deg, #0f2a1a 0%, #164528 45%, #0f2a1a 100%);
  color: #e8f6ec;
}

.svc-process .svc-eyebrow {
  color: var(--green-light);
}

.svc-process .svc-section-head h2 {
  color: var(--white);
}

.svc-process__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  counter-reset: svc-step;
}

.svc-process__list li {
  position: relative;
  padding: 22px 18px 20px 18px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  counter-increment: svc-step;
}

.svc-process__list li::before {
  content: counter(svc-step, decimal-leading-zero);
  display: block;
  margin-bottom: 10px;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: var(--green-light);
}

.svc-process__list h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--white);
}

.svc-process__list p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(232, 246, 236, 0.78);
}

.svc-why {
  padding: clamp(40px, 6vw, 72px) 0;
  background: var(--white);
}

.svc-why__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.svc-why__item {
  padding: 24px 22px;
  border-left: 3px solid var(--green);
  background: linear-gradient(90deg, #f3faf5 0%, #ffffff 70%);
  border-radius: 0 12px 12px 0;
}

.svc-why__item h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: var(--text);
}

.svc-why__item p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.svc-faq {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #f3faf5;
}

.svc-faq__inner {
  max-width: 820px;
}

.svc-faq__list {
  display: grid;
  gap: 10px;
}

.svc-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0 18px;
}

.svc-faq__item summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 28px 16px 0;
  font-weight: 800;
  color: var(--text);
  position: relative;
}

.svc-faq__item summary::-webkit-details-marker {
  display: none;
}

.svc-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--green);
}

.svc-faq__item[open] summary::after {
  content: "-";
}

.svc-faq__item p {
  margin: 0 0 16px;
  padding-top: 0;
  color: var(--muted);
  line-height: 1.65;
  border-top: 1px solid #e6eee9;
  padding-top: 12px;
}

.svc-cta {
  padding: clamp(48px, 7vw, 80px) 0;
  background:
    radial-gradient(ellipse 70% 80% at 50% 120%, rgba(0, 179, 72, 0.22), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #eef8f1 100%);
  text-align: center;
}

.svc-cta__inner {
  max-width: 640px;
}

.svc-cta h2 {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 3.5vw, 2.1rem);
  font-weight: 900;
  color: var(--green-dark);
}

.svc-cta p {
  margin: 0 0 22px;
  color: var(--muted);
  line-height: 1.65;
}

.svc-cta .svc-btn {
  margin-bottom: 12px;
}

.svc-cta__note {
  margin: 0 !important;
  font-size: 0.9rem;
  color: #7a8f80 !important;
}

.svc-related {
  padding: clamp(36px, 5vw, 56px) 0 64px;
  background: var(--white);
  border-top: 1px solid var(--border);
}

.svc-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.svc-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  text-decoration: none;
  background: #f7fcf8;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.svc-related__list a:hover,
.svc-related__list a:focus-visible {
  background: var(--soft);
  border-color: var(--green);
  color: var(--green);
}

@media (prefers-reduced-motion: reduce) {
  .svc-hero__inner {
    animation: none;
  }

  .svc-btn--solid:hover,
  .svc-btn--solid:focus-visible {
    transform: none;
  }
}

@media (max-width: 900px) {
  .svc-intro__grid,
  .svc-includes__grid,
  .svc-why__grid,
  .svc-audience__list {
    grid-template-columns: 1fr;
  }

  .svc-process__list {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .svc-hero__actions {
    flex-direction: column;
  }

  .svc-btn {
    width: 100%;
  }

  .svc-process__list {
    grid-template-columns: 1fr;
  }
}

/* ===== Hub pages — child service link cards ===== */
a.hub-child {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

a.hub-child:hover,
a.hub-child:focus-visible {
  border-color: #cfe8d8;
  box-shadow: 0 10px 28px rgba(0, 92, 36, 0.08);
}

a.hub-child:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}

a.hub-child h3 {
  color: var(--green-dark);
}

.page-hub .svc-includes .svc-section-head p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.6;
  max-width: 62ch;
}

/* ===== Shopify service page — distinct ecommerce layout ===== */
.page-shopify .svc-breadcrumb {
  background: #ffffff;
  border-bottom: 1px solid #e8eee9;
}

.page-shopify .svc-hero--shopify {
  padding: clamp(36px, 6vw, 64px) 0;
  background:
    linear-gradient(135deg, #0f2a1a 0%, #163d24 42%, #1a4d2e 100%);
  color: #e8f6ec;
}

.page-shopify .svc-hero--shopify .svc-eyebrow {
  color: var(--green-light);
}

.page-shopify .svc-hero--shopify h1 {
  color: var(--white);
}

.page-shopify .svc-hero--shopify .svc-hero__lead {
  color: rgba(232, 246, 236, 0.82);
}

.page-shopify .svc-hero__stripe {
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background: repeating-linear-gradient(
    -18deg,
    transparent,
    transparent 18px,
    rgba(255, 255, 255, 0.06) 18px,
    rgba(255, 255, 255, 0.06) 19px
  );
  pointer-events: none;
}

.page-shopify .svc-hero--shopify .svc-hero__orb--a {
  background: rgba(0, 179, 72, 0.28);
  right: 35%;
  top: -80px;
}

.page-shopify .svc-hero--shopify .svc-hero__orb--b {
  background: rgba(77, 209, 122, 0.18);
  left: auto;
  right: -40px;
  bottom: 10%;
}

.page-shopify .svc-hero--shopify .svc-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.page-shopify .svc-hero--shopify .svc-btn--ghost {
  border-color: rgba(255, 255, 255, 0.35);
  color: var(--white);
  background: rgba(255, 255, 255, 0.06);
}

.page-shopify .svc-hero--shopify .svc-btn--ghost:hover,
.page-shopify .svc-hero--shopify .svc-btn--ghost:focus-visible {
  border-color: var(--green-light);
  color: var(--green-light);
  background: rgba(255, 255, 255, 0.1);
}

.svc-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.svc-intro--shopify {
  padding-top: clamp(36px, 5vw, 56px);
  background: #fafdfb;
}

.svc-intro__copy--wide {
  max-width: 820px;
  margin-bottom: 28px;
}

.svc-intro__copy--wide p {
  margin: 0 0 16px;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--muted);
}

.svc-highlights--row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.svc-highlights--row li {
  position: relative;
  padding: 14px 12px 14px 36px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 800;
  color: var(--green-dark);
  line-height: 1.3;
}

.svc-highlights--row li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  border-radius: 4px;
  background: var(--green);
  box-shadow: inset 0 0 0 3px #dff5e7;
}

.svc-audience--shopify {
  background: var(--white);
}

.svc-audience__list--tiles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.svc-audience__list--tiles li {
  background: linear-gradient(165deg, #f3faf5, #ffffff);
  border-color: #d7eadf;
  box-shadow: 0 8px 20px rgba(0, 92, 36, 0.05);
  text-align: center;
}

.svc-audience__list--tiles li:last-child {
  grid-column: 2;
}

.svc-includes--shopify {
  background: linear-gradient(180deg, #f3faf5 0%, #ffffff 40%);
}

.svc-includes__grid--trio {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.svc-includes--shopify .svc-include {
  background: var(--white);
  border-radius: 16px;
  border-top: 3px solid var(--green);
  padding-top: 20px;
}

.svc-process--shopify {
  background: #f7faf8;
  color: inherit;
}

.svc-process--shopify .svc-eyebrow {
  color: var(--green);
}

.svc-process--shopify .svc-section-head h2 {
  color: var(--text);
}

.svc-process__list--timeline {
  grid-template-columns: 1fr;
  max-width: 760px;
  margin-inline: auto;
  gap: 0;
  position: relative;
}

.svc-process__list--timeline::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, var(--green), #cce8d6);
}

.svc-process__list--timeline li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 0 16px;
  padding: 0 0 22px;
  background: transparent;
  border: none;
  border-radius: 0;
  align-items: start;
}

.svc-process__list--timeline li::before {
  grid-row: 1 / span 2;
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  letter-spacing: 0;
  box-shadow: 0 0 0 6px #e6f7ec;
  position: relative;
  z-index: 1;
}

.svc-process__list--timeline h3 {
  color: var(--green-dark);
  margin-top: 8px;
}

.svc-process__list--timeline p {
  color: var(--muted);
  grid-column: 2;
}

.svc-why--shopify {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-why--shopify .svc-eyebrow {
  color: var(--green-light);
}

.svc-why--shopify .svc-section-head h2 {
  color: var(--white);
}

.svc-why__grid--cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.svc-why--shopify .svc-why__item {
  padding: 22px 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-left: none;
  border-radius: 14px;
}

.svc-why--shopify .svc-why__item h3 {
  color: var(--white);
}

.svc-why--shopify .svc-why__item p {
  color: rgba(232, 246, 236, 0.75);
}

.svc-faq--shopify {
  background: var(--white);
}

.svc-faq--shopify .svc-faq__item {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom: 1px solid var(--border);
  background: transparent;
  padding-inline: 0;
}

.svc-faq--shopify .svc-faq__item:first-child {
  border-top: 1px solid var(--border);
}

.svc-cta--shopify {
  background:
    linear-gradient(120deg, #00b348 0%, #00963c 45%, #005c24 100%);
  text-align: left;
}

.svc-cta--shopify .svc-cta__inner {
  max-width: 720px;
  display: grid;
  gap: 8px;
  justify-items: start;
}

.svc-cta--shopify h2,
.svc-cta--shopify p {
  color: var(--white) !important;
}

.svc-cta--shopify .svc-cta__note {
  color: rgba(255, 255, 255, 0.78) !important;
}

.svc-cta--shopify .svc-btn--solid {
  background: var(--white);
  color: var(--green-dark);
  border-color: var(--white);
}

.svc-cta--shopify .svc-btn--solid:hover,
.svc-cta--shopify .svc-btn--solid:focus-visible {
  background: #eef8f1;
  color: var(--green-dark);
  border-color: #eef8f1;
}

.svc-related--shopify .svc-related__list a {
  border-radius: 10px;
  background: var(--white);
  border-color: #d7eadf;
}

@media (max-width: 1100px) {
  .svc-why__grid--cards {
    grid-template-columns: 1fr 1fr;
  }

  .svc-includes__grid--trio {
    grid-template-columns: 1fr 1fr;
  }

  .svc-highlights--row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .svc-audience__list--tiles {
    grid-template-columns: 1fr;
  }

  .svc-audience__list--tiles li:last-child {
    grid-column: auto;
  }
}

@media (max-width: 640px) {
  .svc-highlights--row,
  .svc-includes__grid--trio,
  .svc-why__grid--cards {
    grid-template-columns: 1fr;
  }

  .svc-process__list--timeline::before {
    left: 21px;
  }

  .svc-cta--shopify {
    text-align: center;
  }

  .svc-cta--shopify .svc-cta__inner {
    justify-items: center;
  }
}

/* ===== Landing page design service — conversion-focused layout ===== */
.page-landing .svc-breadcrumb {
  background: #ffffff;
  border-bottom: 1px solid #e5efe8;
}

.page-landing .svc-hero--landing {
  padding: clamp(44px, 7vw, 80px) 0;
  background:
    linear-gradient(180deg, #ffffff 0%, #f4fbf6 55%, #e8f6ec 100%);
  border-bottom: 1px solid var(--border);
}

.page-landing .svc-hero__band {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--green), #4dd17a 50%, var(--green-dark));
}

.page-landing .svc-hero--landing .svc-hero__orb--a {
  width: 280px;
  height: 280px;
  right: -40px;
  top: 20%;
  background: rgba(0, 179, 72, 0.1);
}

.page-landing .svc-hero--landing .svc-hero__orb--b {
  width: 180px;
  height: 180px;
  left: 10%;
  bottom: -60px;
  background: rgba(0, 92, 36, 0.06);
}

.page-landing .svc-hero--landing h1 {
  max-width: 16ch;
}

.page-landing .svc-hero--landing .svc-hero__inner {
  margin-inline: 0;
  margin-right: auto;
  text-align: left;
}

.svc-intro--landing {
  background: var(--white);
}

.svc-intro__rail {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.7fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: stretch;
}

.svc-intro__rail .svc-intro__copy p {
  margin: 0 0 16px;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--muted);
}

.svc-goal-card {
  padding: 24px 22px;
  background: #0f2a1a;
  color: #e8f6ec;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.svc-goal-card__label {
  margin: 0 0 14px;
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--white);
}

.svc-goal-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.svc-goal-card li {
  position: relative;
  padding-left: 22px;
  font-size: 0.95rem;
  font-weight: 700;
  color: rgba(232, 246, 236, 0.9);
}

.svc-goal-card li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--green-light);
  font-weight: 900;
}

.svc-audience--landing {
  background: #f7faf8;
}

.svc-audience__list--checks {
  grid-template-columns: 1fr 1fr;
}

.svc-audience__list--checks li {
  position: relative;
  padding-left: 44px;
  border: none;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.svc-audience__list--checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.05em;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' d='M3.5 8.2l3 3 6-6'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.svc-includes--landing {
  background: var(--white);
}

.svc-includes__grid--stack {
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--border);
}

.svc-includes--landing .svc-include {
  margin: 0;
  padding: 22px 20px 22px 0;
  border: none;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.svc-includes--landing .svc-include:nth-child(odd) {
  padding-right: 24px;
  border-right: 1px solid var(--border);
}

.svc-includes--landing .svc-include:nth-child(even) {
  padding-left: 24px;
}

.svc-includes--landing .svc-include:hover {
  box-shadow: none;
  border-color: var(--border);
}

.svc-process--landing {
  background: linear-gradient(165deg, #f3faf5 0%, #ffffff 100%);
  color: inherit;
}

.svc-process--landing .svc-eyebrow {
  color: var(--green);
}

.svc-process--landing .svc-section-head h2 {
  color: var(--text);
}

.svc-process__list--steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  counter-reset: landing-step;
}

.svc-process__list--steps li {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px 16px 16px;
  counter-increment: landing-step;
}

.svc-process__list--steps li::before {
  content: counter(landing-step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  border-radius: 8px;
  background: var(--soft);
  color: var(--green-dark);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0;
}

.svc-process__list--steps li:last-child {
  grid-column: 2 / span 2;
}

.svc-process__list--steps h3 {
  color: var(--green-dark);
  font-size: 1rem;
}

.svc-process__list--steps p {
  color: var(--muted);
  font-size: 0.9rem;
}

.svc-why--landing {
  background: var(--white);
}

.svc-why__grid--pair {
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.svc-why--landing .svc-why__item {
  padding: 24px;
  background: #f7fcf8;
  border: 1px solid var(--border);
  border-left: 4px solid var(--green);
  border-radius: 12px;
}

.svc-faq--landing {
  background: #fafdfb;
}

.svc-faq--landing .svc-faq__item {
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--border);
  padding-inline: 18px;
}

.svc-cta--landing {
  background: #f3faf5;
  padding: clamp(40px, 6vw, 64px) 0;
}

.svc-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(24px, 4vw, 36px);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(0, 92, 36, 0.08);
  text-align: left;
  max-width: none;
}

.svc-cta__copy {
  flex: 1 1 320px;
  max-width: 640px;
}

.svc-cta--landing h2 {
  margin: 0 0 10px;
  color: var(--green-dark);
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  font-weight: 900;
}

.svc-cta--landing p {
  margin: 0 0 8px;
  color: var(--muted);
}

.svc-cta--landing .svc-cta__note {
  margin: 0 !important;
  color: #7a8f80 !important;
  font-size: 0.9rem;
}

.svc-cta--landing .svc-btn {
  flex-shrink: 0;
}

.svc-related--landing .svc-related__list a {
  border-radius: 8px;
}

@media (max-width: 900px) {
  .svc-intro__rail,
  .svc-audience__list--checks,
  .svc-includes__grid--stack,
  .svc-why__grid--pair,
  .svc-process__list--steps {
    grid-template-columns: 1fr;
  }

  .svc-includes--landing .svc-include:nth-child(odd),
  .svc-includes--landing .svc-include:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
    border-right: none;
  }

  .svc-process__list--steps li:last-child {
    grid-column: auto;
  }

  .svc-cta__panel {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .svc-cta--landing .svc-btn {
    width: 100%;
  }
}

/* ===== Website redesign service — modernization layout ===== */
.page-redesign .svc-breadcrumb {
  background: linear-gradient(90deg, #eef8f1, #ffffff);
  border-bottom: 1px solid var(--border);
}

.page-redesign .svc-hero--redesign {
  padding: clamp(44px, 7vw, 76px) 0;
  background:
    linear-gradient(105deg, #ffffff 0%, #ffffff 48%, #e6f7ec 48%, #d8f0e0 100%);
}

.page-redesign .svc-hero__split-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 85% 30%, rgba(0, 179, 72, 0.18), transparent 42%);
}

.page-redesign .svc-hero--redesign .svc-hero__orb--a {
  right: 12%;
  top: -30px;
  background: rgba(0, 179, 72, 0.14);
}

.page-redesign .svc-hero--redesign .svc-hero__orb--b {
  left: auto;
  right: 28%;
  bottom: -50px;
  background: rgba(0, 92, 36, 0.08);
}

.svc-intro--redesign {
  background: var(--white);
  padding-top: clamp(36px, 5vw, 56px);
}

.svc-transform {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  max-width: 820px;
}

.svc-transform li {
  display: grid;
  gap: 6px;
  padding: 18px 20px;
  border-radius: 14px;
  border: 1px solid var(--border);
}

.svc-transform li:first-child {
  background: #f4f6f5;
  color: var(--muted);
}

.svc-transform li:last-child {
  background: #e6f7ec;
  border-color: #b8e0c6;
}

.svc-transform strong {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-dark);
}

.svc-transform span {
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--text);
}

.svc-audience--redesign {
  background: #f7faf8;
}

.svc-audience__list--grid3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.svc-audience__list--grid3 li {
  background: var(--white);
  border-color: #d7eadf;
  min-height: 100%;
}

.svc-includes--redesign {
  background: var(--white);
}

.svc-includes__grid--numbered {
  grid-template-columns: 1fr 1fr;
  counter-reset: redesign-item;
  gap: 14px;
}

.svc-includes--redesign .svc-include {
  counter-increment: redesign-item;
  position: relative;
  padding-left: 58px;
  background: #fafdfb;
  border-radius: 14px;
}

.svc-includes--redesign .svc-include::before {
  content: counter(redesign-item, decimal-leading-zero);
  position: absolute;
  left: 16px;
  top: 20px;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: var(--green);
}

.svc-process--redesign {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-process--redesign .svc-eyebrow {
  color: var(--green-light);
}

.svc-process--redesign .svc-section-head h2 {
  color: var(--white);
}

.svc-process__list--flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  counter-reset: redesign-step;
}

.svc-process__list--flow li {
  padding: 20px 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  counter-increment: redesign-step;
}

.svc-process__list--flow li::before {
  content: counter(redesign-step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
}

.svc-process__list--flow li:last-child {
  grid-column: 2;
}

.svc-process__list--flow h3 {
  color: var(--white);
  font-size: 1rem;
}

.svc-process__list--flow p {
  color: rgba(232, 246, 236, 0.76);
  font-size: 0.9rem;
}

.svc-why--redesign {
  background: #f3faf5;
}

.svc-why__grid--rows {
  grid-template-columns: 1fr;
  gap: 10px;
}

.svc-why--redesign .svc-why__item {
  display: grid;
  grid-template-columns: minmax(180px, 0.4fr) 1fr;
  gap: 12px 24px;
  align-items: start;
  padding: 18px 20px;
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 4px solid var(--green);
  border-radius: 12px;
}

.svc-why--redesign .svc-why__item h3 {
  margin: 0;
}

.svc-why--redesign .svc-why__item p {
  margin: 0;
}

.svc-faq--redesign {
  background: var(--white);
}

.svc-faq--redesign .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fafdfb;
  padding-inline: 16px;
}

.svc-cta--redesign {
  background:
    linear-gradient(135deg, #163d24 0%, #0f2a1a 55%, #1a4d2e 100%);
  text-align: left;
}

.svc-cta--redesign .svc-cta__inner {
  max-width: 680px;
  text-align: left;
}

.svc-cta--redesign h2,
.svc-cta--redesign p {
  color: var(--white) !important;
}

.svc-cta--redesign .svc-cta__note {
  color: rgba(255, 255, 255, 0.75) !important;
}

.svc-cta--redesign .svc-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.svc-cta--redesign .svc-btn--solid:hover,
.svc-cta--redesign .svc-btn--solid:focus-visible {
  background: var(--green-light);
  border-color: var(--green-light);
  color: var(--green-dark);
}

@media (max-width: 900px) {
  .page-redesign .svc-hero--redesign {
    background: linear-gradient(180deg, #ffffff 0%, #eef8f1 100%);
  }

  .svc-transform,
  .svc-audience__list--grid3,
  .svc-includes__grid--numbered,
  .svc-process__list--flow,
  .svc-why--redesign .svc-why__item {
    grid-template-columns: 1fr;
  }

  .svc-process__list--flow li:last-child {
    grid-column: auto;
  }
}

/* ===== E-commerce website development — store-focused layout ===== */
.page-ecommerce .svc-breadcrumb {
  background: #ffffff;
  border-bottom: 1px solid #e5efe8;
}

.page-ecommerce .svc-hero--ecommerce {
  padding: clamp(44px, 7vw, 78px) 0;
  background:
    radial-gradient(ellipse 70% 80% at 100% 0%, rgba(0, 179, 72, 0.16), transparent 50%),
    linear-gradient(160deg, #f7fcf8 0%, #ffffff 45%, #eef8f1 100%);
}

.page-ecommerce .svc-hero__dots {
  position: absolute;
  inset: 0;
  opacity: 0.4;
  pointer-events: none;
  background-image: radial-gradient(rgba(0, 92, 36, 0.14) 1.2px, transparent 1.2px);
  background-size: 18px 18px;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 100%);
}

.page-ecommerce .svc-hero--ecommerce .svc-hero__orb--a {
  right: 8%;
  top: -40px;
  background: rgba(0, 179, 72, 0.16);
}

.page-ecommerce .svc-hero--ecommerce .svc-hero__orb--b {
  left: auto;
  right: 22%;
  bottom: -30px;
  background: rgba(0, 150, 60, 0.1);
}

.svc-intro--ecommerce {
  background: var(--white);
}

.svc-pillars {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  max-width: 720px;
}

.svc-pillars li {
  padding: 14px 12px;
  text-align: center;
  font-size: 0.92rem;
  font-weight: 900;
  color: var(--green-dark);
  background: #e6f7ec;
  border: 1px solid #cce8d6;
  border-radius: 999px;
}

.svc-audience--ecommerce {
  background: linear-gradient(180deg, #f3faf5, #ffffff);
}

.svc-includes--ecommerce {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-includes--ecommerce .svc-eyebrow {
  color: var(--green-light);
}

.svc-includes--ecommerce .svc-section-head h2 {
  color: var(--white);
}

.svc-includes__grid--masonry {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.svc-includes--ecommerce .svc-include {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  box-shadow: none;
}

.svc-includes--ecommerce .svc-include:hover {
  border-color: rgba(77, 209, 122, 0.45);
  box-shadow: none;
}

.svc-includes--ecommerce .svc-include h3 {
  color: var(--white);
}

.svc-includes--ecommerce .svc-include p {
  color: rgba(232, 246, 236, 0.75);
}

.svc-process--ecommerce {
  background: #f7faf8;
  color: inherit;
}

.svc-process--ecommerce .svc-eyebrow {
  color: var(--green);
}

.svc-process--ecommerce .svc-section-head h2 {
  color: var(--text);
}

.svc-process__list--rail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  counter-reset: ecom-step;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  background: var(--white);
}

.svc-process__list--rail li {
  margin: 0;
  padding: 22px 20px 20px 64px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  background: transparent;
  counter-increment: ecom-step;
  position: relative;
}

.svc-process__list--rail li:nth-child(2n) {
  border-right: none;
}

.svc-process__list--rail li:nth-last-child(-n + 2) {
  border-bottom: none;
}

.svc-process__list--rail li::before {
  content: counter(ecom-step, decimal-leading-zero);
  position: absolute;
  left: 18px;
  top: 24px;
  margin: 0;
  width: auto;
  height: auto;
  background: none;
  color: var(--green);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow: none;
}

.svc-process__list--rail h3 {
  color: var(--green-dark);
  margin-top: 0;
}

.svc-process__list--rail p {
  color: var(--muted);
}

.svc-why--ecommerce {
  background: var(--white);
}

.svc-why__grid--quad {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.svc-why--ecommerce .svc-why__item {
  padding: 22px 18px;
  background: linear-gradient(180deg, #f3faf5, #ffffff);
  border: 1px solid var(--border);
  border-left: none;
  border-top: 3px solid var(--green);
  border-radius: 14px;
}

.svc-faq--ecommerce {
  background: #fafdfb;
}

.svc-faq--ecommerce .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--white);
  padding-inline: 16px;
}

.svc-cta--ecommerce {
  background: linear-gradient(120deg, #e6f7ec 0%, #ffffff 55%, #f3faf5 100%);
  padding: clamp(40px, 6vw, 64px) 0;
}

.svc-cta--ecommerce .svc-cta__panel {
  background: #0f2a1a;
  border-color: transparent;
  box-shadow: 0 20px 48px rgba(15, 42, 26, 0.22);
}

.svc-cta--ecommerce h2,
.svc-cta--ecommerce p,
.svc-cta--ecommerce .svc-cta__note {
  color: var(--white) !important;
}

.svc-cta--ecommerce .svc-cta__note {
  opacity: 0.78;
}

.svc-cta--ecommerce .svc-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.svc-cta--ecommerce .svc-btn--solid:hover,
.svc-cta--ecommerce .svc-btn--solid:focus-visible {
  background: var(--green-light);
  border-color: var(--green-light);
  color: var(--green-dark);
}

@media (max-width: 1100px) {
  .svc-why__grid--quad {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .svc-pillars,
  .svc-includes__grid--masonry,
  .svc-process__list--rail,
  .svc-why__grid--quad {
    grid-template-columns: 1fr;
  }

  .svc-process__list--rail li {
    border-right: none;
  }

  .svc-process__list--rail li:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--border);
  }

  .svc-process__list--rail li:last-child {
    border-bottom: none;
  }
}

/* ===== Custom web application development — software product layout ===== */
.page-webapp .svc-breadcrumb {
  background: #0f2a1a;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-webapp .svc-breadcrumb__list,
.page-webapp .svc-breadcrumb__list a {
  color: rgba(232, 246, 236, 0.85);
}

.page-webapp .svc-breadcrumb__list li:not(:last-child)::after {
  color: rgba(255, 255, 255, 0.35);
}

.page-webapp .svc-breadcrumb__list a:hover,
.page-webapp .svc-breadcrumb__list a:focus-visible {
  color: var(--green-light);
}

.page-webapp .svc-breadcrumb__list li[aria-current="page"] {
  color: var(--white);
}

.page-webapp .svc-hero--webapp {
  padding: clamp(44px, 7vw, 80px) 0;
  background:
    linear-gradient(145deg, #0f2a1a 0%, #163d24 50%, #1a4d2e 100%);
  color: #e8f6ec;
}

.page-webapp .svc-hero--webapp .svc-eyebrow {
  color: var(--green-light);
}

.page-webapp .svc-hero--webapp h1,
.page-webapp .svc-hero--webapp .svc-hero__lead {
  color: var(--white);
}

.page-webapp .svc-hero--webapp .svc-hero__lead {
  color: rgba(232, 246, 236, 0.82);
}

.page-webapp .svc-hero__code-lines {
  position: absolute;
  inset: 0;
  opacity: 0.12;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 22px,
    rgba(255, 255, 255, 0.35) 22px,
    rgba(255, 255, 255, 0.35) 23px
  );
}

.page-webapp .svc-hero--webapp .svc-hero__orb--a {
  background: rgba(0, 179, 72, 0.28);
  right: 10%;
}

.page-webapp .svc-hero--webapp .svc-hero__orb--b {
  background: rgba(77, 209, 122, 0.16);
  left: auto;
  right: -20px;
  bottom: 15%;
}

.page-webapp .svc-hero--webapp .svc-btn--ghost {
  border-color: rgba(255, 255, 255, 0.35);
  color: var(--white);
  background: rgba(255, 255, 255, 0.06);
}

.page-webapp .svc-hero--webapp .svc-btn--ghost:hover,
.page-webapp .svc-hero--webapp .svc-btn--ghost:focus-visible {
  border-color: var(--green-light);
  color: var(--green-light);
}

.svc-intro--webapp {
  background: var(--white);
}

.svc-intro--webapp .svc-intro__copy p {
  margin: 0 0 16px;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--muted);
}

.svc-stack-card {
  padding: 22px 20px;
  border-radius: 16px;
  background: linear-gradient(165deg, #e6f7ec, #f7fcf8);
  border: 1px solid var(--border);
}

.svc-stack-card__label {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 900;
  color: var(--green-dark);
}

.svc-stack-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.svc-stack-card li {
  padding: 10px 12px;
  background: var(--white);
  border: 1px solid #d7eadf;
  border-radius: 10px;
  font-weight: 800;
  font-size: 0.9rem;
  color: var(--text);
}

.svc-audience--webapp {
  background: #f7faf8;
}

.svc-includes--webapp {
  background: var(--white);
}

.svc-includes--webapp .svc-include {
  background: #fafdfb;
  border-top: 3px solid var(--green);
}

.svc-scope--webapp {
  padding: clamp(40px, 6vw, 64px) 0;
  background: #f3faf5;
}

.svc-scope__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}

.svc-scope__list li {
  position: relative;
  padding: 14px 14px 14px 40px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.4;
}

.svc-scope__list li::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 1.05em;
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background: var(--green);
  box-shadow: inset 0 0 0 3px #dff5e7;
}

.svc-process--webapp {
  background: #f7faf8;
  color: inherit;
}

.svc-process--webapp .svc-eyebrow {
  color: var(--green);
}

.svc-process--webapp .svc-section-head h2 {
  color: var(--text);
}

.svc-why--webapp {
  background: #0f2a1a;
}

.svc-why--webapp .svc-eyebrow {
  color: var(--green-light);
}

.svc-why--webapp .svc-section-head h2 {
  color: var(--white);
}

.svc-why--webapp .svc-why__item {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 3px solid var(--green);
  border-left: none;
  border-radius: 14px;
}

.svc-why--webapp .svc-why__item h3 {
  color: var(--white);
}

.svc-why--webapp .svc-why__item p {
  color: rgba(232, 246, 236, 0.75);
}

.svc-faq--webapp {
  background: var(--white);
}

.svc-faq--webapp .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fafdfb;
  padding-inline: 16px;
}

.svc-cta--webapp {
  background: linear-gradient(120deg, #00b348 0%, #00963c 40%, #005c24 100%);
  text-align: left;
}

.svc-cta--webapp .svc-cta__inner {
  max-width: 680px;
}

.svc-cta--webapp h2,
.svc-cta--webapp p,
.svc-cta--webapp .svc-cta__note {
  color: var(--white) !important;
}

.svc-cta--webapp .svc-cta__note {
  opacity: 0.8;
}

.svc-cta--webapp .svc-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.svc-cta--webapp .svc-btn--solid:hover,
.svc-cta--webapp .svc-btn--solid:focus-visible {
  background: #eef8f1;
  border-color: #eef8f1;
  color: var(--green-dark);
}

@media (max-width: 900px) {
  .svc-scope__list {
    grid-template-columns: 1fr;
  }
}

/* ===== Social media strategy — planning / content pillars layout ===== */
.page-smm-strategy .svc-breadcrumb {
  background: #f4fbf7;
  border-bottom: 1px solid #d9ebe0;
}

.page-smm-strategy .svc-hero--smm {
  padding: clamp(44px, 7vw, 80px) 0;
  background:
    radial-gradient(ellipse 70% 55% at 92% 8%, rgba(0, 179, 72, 0.18), transparent 52%),
    radial-gradient(ellipse 50% 45% at 0% 100%, rgba(0, 92, 36, 0.08), transparent 48%),
    linear-gradient(160deg, #f2faf5 0%, #ffffff 42%, #eaf7ef 100%);
}

.page-smm-strategy .svc-hero--smm .svc-hero__bloom {
  position: absolute;
  width: min(48vw, 420px);
  height: min(48vw, 420px);
  right: -6%;
  top: -18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 179, 72, 0.14), transparent 68%);
}

.page-smm-strategy .svc-hero--smm .svc-hero__orb--a {
  width: 180px;
  height: 180px;
  top: 18%;
  right: 12%;
  background: rgba(0, 179, 72, 0.14);
}

.page-smm-strategy .svc-hero--smm .svc-hero__orb--b {
  width: 140px;
  height: 140px;
  left: auto;
  right: 28%;
  bottom: 8%;
  background: rgba(0, 150, 60, 0.1);
}

.page-smm-strategy .svc-hero--smm .svc-hero__inner {
  max-width: 720px;
}

.page-smm-strategy .svc-hero--smm .svc-eyebrow {
  color: var(--green);
}

.svc-intro--smm {
  padding: clamp(36px, 5vw, 56px) 0;
  background: var(--white);
}

.svc-intro--smm .container {
  display: grid;
  gap: 28px;
}

.svc-focus {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.svc-focus li {
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  background: #eef8f1;
  border: 1px solid #cfe8d8;
  letter-spacing: 0.01em;
}

.svc-audience--smm {
  background: #f7faf8;
}

.svc-audience--smm .svc-audience__list--grid3 li {
  border-radius: 14px;
  border-left: 3px solid var(--green);
  background: var(--white);
}

.svc-includes--smm {
  background: var(--white);
}

.svc-includes--smm .svc-include {
  background: #fafdfb;
  border: 1px solid #e2efe7;
  border-radius: 14px;
  border-top: 3px solid var(--green);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.svc-includes--smm .svc-include:hover {
  border-color: #b8dcc6;
  transform: translateY(-2px);
}

.svc-process--smm {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-process--smm .svc-eyebrow {
  color: var(--green-light);
}

.svc-process--smm .svc-section-head h2 {
  color: var(--white);
}

.svc-process--smm .svc-process__list--steps li {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
}

.svc-process--smm .svc-process__list--steps li::before {
  background: var(--green);
  color: var(--white);
}

.svc-process--smm .svc-process__list--steps h3 {
  color: var(--white);
}

.svc-process--smm .svc-process__list--steps p {
  color: rgba(232, 246, 236, 0.78);
}

.svc-why--smm {
  background: #f3faf5;
}

.svc-why--smm .svc-why__item {
  background: var(--white);
  border: 1px solid #d7eadf;
  border-radius: 14px;
  border-left: 4px solid var(--green);
}

.svc-faq--smm {
  background: var(--white);
}

.svc-faq--smm .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fafdfb;
  padding-inline: 16px;
}

.svc-cta--smm {
  background: #f3faf5;
  padding: clamp(40px, 6vw, 64px) 0;
  text-align: left;
}

.svc-cta--smm .svc-cta__panel {
  background:
    linear-gradient(125deg, #00b348 0%, #00963c 45%, #005c24 100%);
  border: none;
  box-shadow: 0 18px 44px rgba(0, 92, 36, 0.22);
}

.svc-cta--smm h2,
.svc-cta--smm p,
.svc-cta--smm .svc-cta__note {
  color: var(--white) !important;
}

.svc-cta--smm .svc-cta__note {
  opacity: 0.85;
}

.svc-cta--smm .svc-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
  flex-shrink: 0;
}

.svc-cta--smm .svc-btn--solid:hover,
.svc-cta--smm .svc-btn--solid:focus-visible {
  background: #eef8f1;
  border-color: #eef8f1;
  color: var(--green-dark);
}

.svc-related--smm .svc-related__list a {
  border-radius: 10px;
}

@media (max-width: 900px) {
  .svc-audience--smm .svc-audience__list--grid3 {
    grid-template-columns: 1fr;
  }

  .svc-cta--smm .svc-btn--solid {
    width: 100%;
  }
}

/* ===== Content creation & scheduling — calendar / pipeline layout ===== */
.page-content-sched .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-content-sched .svc-hero--content {
  padding: clamp(44px, 7vw, 80px) 0;
  background:
    radial-gradient(ellipse 70% 55% at 92% 8%, rgba(0, 179, 72, 0.16), transparent 52%),
    radial-gradient(ellipse 50% 45% at 0% 100%, rgba(0, 92, 36, 0.07), transparent 48%),
    linear-gradient(160deg, #f2faf5 0%, #ffffff 42%, #eaf7ef 100%);
}

.page-content-sched .svc-hero__cal {
  position: absolute;
  inset: 0;
  opacity: 0.22;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0, 92, 36, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 92, 36, 0.07) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(120deg, transparent 20%, #000 55%, transparent 95%);
}

.page-content-sched .svc-hero--content .svc-hero__orb--a {
  background: rgba(0, 179, 72, 0.16);
  right: 8%;
  top: -40px;
}

.page-content-sched .svc-hero--content .svc-hero__orb--b {
  background: rgba(0, 150, 60, 0.12);
  left: auto;
  right: 22%;
  bottom: 10%;
}

.page-content-sched .svc-hero--content .svc-eyebrow {
  color: var(--green);
}

.svc-intro--content {
  padding: clamp(36px, 5vw, 56px) 0;
  background: var(--white);
}

.svc-intro--content .container {
  display: grid;
  gap: 28px;
}

.svc-pipeline {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.svc-pipeline li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--soft);
  border: 1px solid var(--border);
  font-weight: 800;
  color: var(--text);
}

.svc-pipeline li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--green);
  color: var(--white);
  font-size: 0.8rem;
  font-weight: 900;
}

.svc-audience--content {
  background: #f7faf8;
}

.svc-includes--content {
  background: var(--white);
}

.svc-includes--content .svc-include {
  counter-increment: redesign-item;
  position: relative;
  padding-left: 58px;
  background: #fafdfb;
  border: 1px solid var(--border);
  border-radius: 14px;
}

.svc-includes--content .svc-includes__grid--numbered {
  counter-reset: redesign-item;
}

.svc-includes--content .svc-include::before {
  content: counter(redesign-item, decimal-leading-zero);
  position: absolute;
  left: 16px;
  top: 20px;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: var(--green);
}

.svc-process--content {
  background: #f7faf8;
}

.svc-process--content .svc-process__list--timeline::before {
  background: linear-gradient(180deg, var(--green), #cce8d6);
}

.svc-process--content .svc-process__list--timeline li::before {
  background: var(--green);
  box-shadow: 0 0 0 6px #e6f7ec;
}

.svc-why--content {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-why--content .svc-eyebrow {
  color: var(--green-light);
}

.svc-why--content .svc-section-head h2 {
  color: var(--white);
}

.svc-why--content .svc-why__item {
  padding: 22px 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-left: none;
  border-radius: 14px;
  border-top: 3px solid var(--green);
}

.svc-why--content .svc-why__item h3 {
  color: var(--white);
}

.svc-why--content .svc-why__item p {
  color: rgba(232, 246, 236, 0.75);
}

.svc-faq--content {
  background: var(--white);
}

.svc-faq--content .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fafdfb;
  padding-inline: 16px;
}

.svc-cta--content {
  background: var(--cream);
  padding: clamp(40px, 6vw, 64px) 0;
  text-align: left;
}

.svc-cta--content .svc-cta__panel {
  background: linear-gradient(125deg, var(--green) 0%, var(--green-mid) 45%, var(--green-dark) 100%);
  border: none;
  box-shadow: 0 18px 44px rgba(0, 92, 36, 0.22);
}

.svc-cta--content h2,
.svc-cta--content p,
.svc-cta--content .svc-cta__note {
  color: var(--white) !important;
}

.svc-cta--content .svc-cta__note {
  opacity: 0.85;
}

.svc-cta--content .svc-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
  flex-shrink: 0;
}

.svc-cta--content .svc-btn--solid:hover,
.svc-cta--content .svc-btn--solid:focus-visible {
  background: #eef8f1;
  border-color: #eef8f1;
  color: var(--green-dark);
}

.svc-related--content .svc-related__list a {
  border-radius: 10px;
  background: var(--soft);
  border-color: var(--border);
}

@media (max-width: 900px) {
  .svc-pipeline {
    grid-template-columns: 1fr 1fr;
  }

  .svc-includes--content .svc-includes__grid--numbered,
  .svc-why--content .svc-why__grid--cards {
    grid-template-columns: 1fr;
  }

  .svc-cta--content .svc-btn--solid {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .svc-pipeline {
    grid-template-columns: 1fr;
  }
}

/* ===== Community management — conversation / engagement layout ===== */
.page-community .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-community .svc-hero--community {
  padding: clamp(44px, 7vw, 80px) 0;
  background:
    radial-gradient(ellipse 65% 50% at 90% 0%, rgba(0, 179, 72, 0.16), transparent 55%),
    radial-gradient(ellipse 50% 45% at 0% 100%, rgba(0, 92, 36, 0.08), transparent 50%),
    linear-gradient(160deg, #f2faf5 0%, #ffffff 45%, #eef8f1 100%);
}

.page-community .svc-hero__chat {
  position: absolute;
  border-radius: 18px 18px 18px 4px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(0, 179, 72, 0.22);
  box-shadow: 0 10px 28px rgba(0, 92, 36, 0.06);
}

.page-community .svc-hero__chat--a {
  width: 160px;
  height: 64px;
  right: 12%;
  top: 22%;
}

.page-community .svc-hero__chat--b {
  width: 120px;
  height: 48px;
  right: 22%;
  top: 42%;
  border-radius: 18px 18px 4px 18px;
  background: rgba(0, 179, 72, 0.14);
  border-color: rgba(0, 179, 72, 0.28);
}

.page-community .svc-hero--community .svc-hero__orb--a {
  background: rgba(0, 179, 72, 0.16);
  right: 6%;
}

.page-community .svc-hero--community .svc-hero__orb--b {
  background: rgba(0, 150, 60, 0.12);
  left: auto;
  right: 28%;
  bottom: 12%;
}

.page-community .svc-hero--community .svc-eyebrow {
  color: var(--green);
}

.svc-intro--community {
  padding: clamp(36px, 5vw, 56px) 0;
  background: var(--white);
}

.svc-intro--community .container {
  display: grid;
  gap: 28px;
}

.svc-focus--community li {
  background: var(--soft);
  border-color: var(--border);
  color: var(--green-dark);
}

.svc-audience--community {
  background: #f7faf8;
}

.svc-audience--community .svc-audience__list--tiles li {
  background: var(--white);
  border-color: var(--border);
  border-left: 3px solid var(--green);
}

.svc-includes--community {
  background: var(--white);
}

.svc-includes--community .svc-include {
  background: #fafdfb;
  border: 1px solid var(--border);
  border-radius: 14px;
  border-top: 3px solid var(--green);
}

.svc-process--community {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-process--community .svc-eyebrow {
  color: var(--green-light);
}

.svc-process--community .svc-section-head h2 {
  color: var(--white);
}

.svc-process--community .svc-process__list--steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 1100px;
  margin-inline: auto;
}

.svc-process--community .svc-process__list--steps li {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  min-height: 100%;
}

.svc-process--community .svc-process__list--steps li:last-child {
  grid-column: 2;
}

.svc-process--community .svc-process__list--steps li::before {
  background: var(--green);
  color: var(--white);
}

.svc-process--community .svc-process__list--steps h3 {
  color: var(--white);
}

.svc-process--community .svc-process__list--steps p {
  color: rgba(232, 246, 236, 0.78);
}

@media (max-width: 900px) {
  .svc-process--community .svc-process__list--steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .svc-process--community .svc-process__list--steps li:last-child {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  .svc-process--community .svc-process__list--steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .svc-process--community .svc-process__list--steps li:last-child {
    grid-column: 1 / -1;
    max-width: 420px;
    margin-inline: auto;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .svc-process--community .svc-process__list--steps {
    grid-template-columns: 1fr;
  }

  .svc-process--community .svc-process__list--steps li:last-child {
    grid-column: auto;
    max-width: none;
  }
}

.svc-why--community {
  background: var(--cream);
}

.svc-why--community .svc-why__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  border-left: 4px solid var(--green);
}

.svc-faq--community {
  background: var(--white);
}

.svc-faq--community .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fafdfb;
  padding-inline: 16px;
}

.svc-cta--community {
  background: var(--cream);
  padding: clamp(40px, 6vw, 64px) 0;
  text-align: left;
}

.svc-cta--community .svc-cta__panel {
  background: linear-gradient(125deg, var(--green) 0%, var(--green-mid) 45%, var(--green-dark) 100%);
  border: none;
  box-shadow: 0 18px 44px rgba(0, 92, 36, 0.22);
}

.svc-cta--community h2,
.svc-cta--community p,
.svc-cta--community .svc-cta__note {
  color: var(--white) !important;
}

.svc-cta--community .svc-cta__note {
  opacity: 0.85;
}

.svc-cta--community .svc-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
  flex-shrink: 0;
}

.svc-cta--community .svc-btn--solid:hover,
.svc-cta--community .svc-btn--solid:focus-visible {
  background: #eef8f1;
  border-color: #eef8f1;
  color: var(--green-dark);
}

.svc-related--community .svc-related__list a {
  border-radius: 10px;
  background: var(--soft);
  border-color: var(--border);
}

@media (max-width: 900px) {
  .page-community .svc-hero__chat {
    display: none;
  }

  .svc-cta--community .svc-btn--solid {
    width: 100%;
  }
}

/* ===== Influencer marketing — creator network / campaign layout ===== */
.page-influencer .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-influencer .svc-hero--influencer {
  padding: clamp(44px, 7vw, 80px) 0;
  background:
    radial-gradient(ellipse 60% 50% at 88% 10%, rgba(0, 179, 72, 0.16), transparent 55%),
    radial-gradient(ellipse 45% 40% at 5% 90%, rgba(0, 92, 36, 0.08), transparent 50%),
    linear-gradient(155deg, #f2faf5 0%, #ffffff 42%, #eef8f1 100%);
}

.page-influencer .svc-hero__ring {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(0, 179, 72, 0.28);
  pointer-events: none;
}

.page-influencer .svc-hero__ring--a {
  width: 220px;
  height: 220px;
  right: 8%;
  top: 12%;
}

.page-influencer .svc-hero__ring--b {
  width: 140px;
  height: 140px;
  right: 18%;
  top: 28%;
  border-color: rgba(0, 150, 60, 0.22);
}

.page-influencer .svc-hero--influencer .svc-hero__orb--a {
  background: rgba(0, 179, 72, 0.16);
  right: 10%;
}

.page-influencer .svc-hero--influencer .svc-hero__orb--b {
  background: rgba(0, 150, 60, 0.12);
  left: auto;
  right: 26%;
  bottom: 10%;
}

.page-influencer .svc-hero--influencer .svc-eyebrow {
  color: var(--green);
}

.svc-intro--influencer {
  padding: clamp(36px, 5vw, 56px) 0;
  background: var(--white);
}

.svc-intro--influencer .container {
  display: grid;
  gap: 28px;
}

.svc-focus--influencer li {
  background: var(--soft);
  border-color: var(--border);
  color: var(--green-dark);
}

.svc-audience--influencer {
  background: #f7faf8;
}

.svc-audience--influencer .svc-audience__list--grid3 li {
  background: var(--white);
  border-color: var(--border);
  border-left: 3px solid var(--green);
  border-radius: 14px;
}

.svc-includes--influencer {
  background: var(--white);
}

.svc-includes--influencer .svc-include {
  counter-increment: redesign-item;
  position: relative;
  padding-left: 58px;
  background: #fafdfb;
  border: 1px solid var(--border);
  border-radius: 14px;
}

.svc-includes--influencer .svc-includes__grid--numbered {
  counter-reset: redesign-item;
}

.svc-includes--influencer .svc-include::before {
  content: counter(redesign-item, decimal-leading-zero);
  position: absolute;
  left: 16px;
  top: 20px;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: var(--green);
}

.svc-process--influencer {
  background: #f7faf8;
}

.svc-process--influencer .svc-process__list--timeline::before {
  background: linear-gradient(180deg, var(--green), #cce8d6);
}

.svc-process--influencer .svc-process__list--timeline li::before {
  background: var(--green);
  box-shadow: 0 0 0 6px #e6f7ec;
}

.svc-why--influencer {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-why--influencer .svc-eyebrow {
  color: var(--green-light);
}

.svc-why--influencer .svc-section-head h2 {
  color: var(--white);
}

.svc-why--influencer .svc-why__item {
  padding: 22px 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-left: none;
  border-radius: 14px;
  border-top: 3px solid var(--green);
}

.svc-why--influencer .svc-why__item h3 {
  color: var(--white);
}

.svc-why--influencer .svc-why__item p {
  color: rgba(232, 246, 236, 0.75);
}

.svc-faq--influencer {
  background: var(--white);
}

.svc-faq--influencer .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fafdfb;
  padding-inline: 16px;
}

.svc-cta--influencer {
  background: var(--cream);
  padding: clamp(40px, 6vw, 64px) 0;
  text-align: left;
}

.svc-cta--influencer .svc-cta__panel {
  background: linear-gradient(125deg, var(--green) 0%, var(--green-mid) 45%, var(--green-dark) 100%);
  border: none;
  box-shadow: 0 18px 44px rgba(0, 92, 36, 0.22);
}

.svc-cta--influencer h2,
.svc-cta--influencer p,
.svc-cta--influencer .svc-cta__note {
  color: var(--white) !important;
}

.svc-cta--influencer .svc-cta__note {
  opacity: 0.85;
}

.svc-cta--influencer .svc-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
  flex-shrink: 0;
}

.svc-cta--influencer .svc-btn--solid:hover,
.svc-cta--influencer .svc-btn--solid:focus-visible {
  background: #eef8f1;
  border-color: #eef8f1;
  color: var(--green-dark);
}

.svc-related--influencer .svc-related__list a {
  border-radius: 10px;
  background: var(--soft);
  border-color: var(--border);
}

@media (max-width: 900px) {
  .page-influencer .svc-hero__ring {
    display: none;
  }

  .svc-includes--influencer .svc-includes__grid--numbered,
  .svc-why--influencer .svc-why__grid--cards,
  .svc-audience--influencer .svc-audience__list--grid3 {
    grid-template-columns: 1fr;
  }

  .svc-cta--influencer .svc-btn--solid {
    width: 100%;
  }
}

/* ===== Social media ads management — performance / bars layout ===== */
.page-ads .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-ads .svc-hero--ads {
  padding: clamp(44px, 7vw, 80px) 0;
  background:
    radial-gradient(ellipse 70% 55% at 92% 8%, rgba(0, 179, 72, 0.16), transparent 52%),
    radial-gradient(ellipse 50% 45% at 0% 100%, rgba(0, 92, 36, 0.07), transparent 48%),
    linear-gradient(160deg, #f2faf5 0%, #ffffff 42%, #eaf7ef 100%);
}

.page-ads .svc-hero__bars {
  position: absolute;
  right: 8%;
  bottom: 18%;
  width: 180px;
  height: 120px;
  opacity: 0.35;
  pointer-events: none;
  background:
    linear-gradient(var(--green), var(--green)) 0 100% / 28px 40% no-repeat,
    linear-gradient(var(--green-mid), var(--green-mid)) 42px 100% / 28px 65% no-repeat,
    linear-gradient(var(--green-dark), var(--green-dark)) 84px 100% / 28px 85% no-repeat,
    linear-gradient(var(--green-light), var(--green-light)) 126px 100% / 28px 55% no-repeat;
}

.page-ads .svc-hero--ads .svc-hero__orb--a {
  background: rgba(0, 179, 72, 0.16);
  right: 8%;
}

.page-ads .svc-hero--ads .svc-hero__orb--b {
  background: rgba(0, 150, 60, 0.12);
  left: auto;
  right: 24%;
  bottom: 10%;
}

.page-ads .svc-hero--ads .svc-eyebrow {
  color: var(--green);
}

.svc-intro--ads {
  padding: clamp(36px, 5vw, 56px) 0;
  background: var(--white);
}

.svc-intro--ads .container {
  display: grid;
  gap: 28px;
}

.svc-focus--ads li {
  background: var(--soft);
  border-color: var(--border);
  color: var(--green-dark);
}

.svc-audience--ads {
  background: #f7faf8;
}

.svc-includes--ads {
  background: var(--white);
}

.svc-includes--ads .svc-include {
  background: #fafdfb;
  border: 1px solid var(--border);
  border-radius: 14px;
  border-top: 3px solid var(--green);
}

.svc-process--ads {
  background: #0f2a1a;
  color: #e8f6ec;
}

.svc-process--ads .svc-eyebrow {
  color: var(--green-light);
}

.svc-process--ads .svc-section-head h2 {
  color: var(--white);
}

.svc-process--ads .svc-process__list--steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 1100px;
  margin-inline: auto;
}

.svc-process--ads .svc-process__list--steps li {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  min-height: 100%;
}

.svc-process--ads .svc-process__list--steps li:last-child {
  grid-column: 2;
}

.svc-process--ads .svc-process__list--steps li::before {
  background: var(--green);
  color: var(--white);
}

.svc-process--ads .svc-process__list--steps h3 {
  color: var(--white);
}

.svc-process--ads .svc-process__list--steps p {
  color: rgba(232, 246, 236, 0.78);
}

@media (max-width: 900px) {
  .svc-process--ads .svc-process__list--steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .svc-process--ads .svc-process__list--steps li:last-child {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  .svc-process--ads .svc-process__list--steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .svc-process--ads .svc-process__list--steps li:last-child {
    grid-column: 1 / -1;
    max-width: 420px;
    margin-inline: auto;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .svc-process--ads .svc-process__list--steps {
    grid-template-columns: 1fr;
  }

  .svc-process--ads .svc-process__list--steps li:last-child {
    grid-column: auto;
    max-width: none;
  }
}

.svc-why--ads {
  background: var(--cream);
}

.svc-why--ads .svc-why__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  border-left: 4px solid var(--green);
}

.svc-faq--ads {
  background: var(--white);
}

.svc-faq--ads .svc-faq__item {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fafdfb;
  padding-inline: 16px;
}

.svc-cta--ads {
  background: var(--cream);
  padding: clamp(40px, 6vw, 64px) 0;
  text-align: left;
}

.svc-cta--ads .svc-cta__panel {
  background: linear-gradient(125deg, var(--green) 0%, var(--green-mid) 45%, var(--green-dark) 100%);
  border: none;
  box-shadow: 0 18px 44px rgba(0, 92, 36, 0.22);
}

.svc-cta--ads h2,
.svc-cta--ads p,
.svc-cta--ads .svc-cta__note {
  color: var(--white) !important;
}

.svc-cta--ads .svc-cta__note {
  opacity: 0.85;
}

.svc-cta--ads .svc-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
  flex-shrink: 0;
}

.svc-cta--ads .svc-btn--solid:hover,
.svc-cta--ads .svc-btn--solid:focus-visible {
  background: #eef8f1;
  border-color: #eef8f1;
  color: var(--green-dark);
}

.svc-related--ads .svc-related__list a {
  border-radius: 10px;
  background: var(--soft);
  border-color: var(--border);
}

@media (max-width: 900px) {
  .page-ads .svc-hero__bars {
    display: none;
  }

  .svc-audience--ads .svc-audience__list--checks {
    grid-template-columns: 1fr;
  }

  .svc-cta--ads .svc-btn--solid {
    width: 100%;
  }
}

/* ===== Reels & short-form video — screenshot layout ===== */
.page-reels .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.rvid-eyebrow {
  margin: 0 0 12px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6b7c70;
}

.rvid-section-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 36px;
}

.rvid-section-head--left {
  text-align: left;
  margin-inline: 0;
}

.rvid-section-head h2 {
  margin: 0 0 10px;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 900;
  color: var(--green-dark);
  line-height: 1.2;
}

.rvid-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.rvid-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 10px;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.rvid-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.rvid-btn--solid:hover,
.rvid-btn--solid:focus-visible {
  background: var(--green-mid);
  border-color: var(--green-mid);
  color: var(--white);
}

.rvid-btn--ghost {
  background: var(--white);
  border-color: var(--green);
  color: var(--green-dark);
}

.rvid-btn--ghost:hover,
.rvid-btn--ghost:focus-visible {
  background: var(--soft);
}

.rvid-btn--on-green {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.rvid-btn--on-green:hover,
.rvid-btn--on-green:focus-visible {
  background: #eef8f1;
}

.rvid-btn--outline {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.75);
  color: var(--white);
}

.rvid-btn--outline:hover,
.rvid-btn--outline:focus-visible {
  background: rgba(255, 255, 255, 0.1);
}

/* Hero */
.rvid-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(40px, 6vw, 80px) 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(0, 179, 72, 0.1), transparent 28%),
    radial-gradient(circle at 78% 72%, rgba(0, 179, 72, 0.08), transparent 24%),
    #ffffff;
}

.rvid-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.rvid-hero__copy h1 {
  margin: 0 0 16px;
  font-size: clamp(1.9rem, 4vw, 2.85rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--green);
}

.rvid-hero__lead {
  margin: 0 0 24px;
  max-width: 32em;
  color: #5a6b5e;
  font-size: 1.05rem;
  line-height: 1.65;
}

.rvid-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}

.rvid-hero__stats {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 520px;
}

.rvid-hero__stats li {
  display: grid;
  gap: 4px;
  padding: 0 18px;
  border-right: 1px solid #d7e5dc;
}

.rvid-hero__stats li:first-child {
  padding-left: 0;
}

.rvid-hero__stats li:last-child {
  border-right: none;
  padding-right: 0;
}

.rvid-hero__stats strong {
  font-size: 1.45rem;
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.rvid-hero__stats span {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7a8f80;
}

.rvid-hero__visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
}

.rvid-hero__video {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: min(72vh, 620px);
  object-fit: contain;
  object-position: center;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

/* Platforms bar */
.rvid-platforms {
  background: var(--green);
  color: var(--white);
  padding: 26px 0;
}

.rvid-platforms__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.rvid-platforms__grid article {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 0 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.28);
}

.rvid-platforms__grid article:first-child {
  padding-left: 0;
}

.rvid-platforms__grid article:last-child {
  border-right: none;
  padding-right: 0;
}

.rvid-platforms__icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: var(--white);
  background: none;
  border-radius: 0;
}

.rvid-platforms__icon svg {
  width: 28px;
  height: 28px;
  display: block;
}

.rvid-platforms h3 {
  margin: 0 0 2px;
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--white);
}

.rvid-platforms p {
  margin: 0;
  font-size: 0.84rem;
  opacity: 0.9;
  color: var(--white);
}

/* Gallery */
.rvid-chevron {
  display: block;
  width: 12px;
  height: 12px;
  margin: 10px auto 0;
  border-right: 2px solid var(--green);
  border-bottom: 2px solid var(--green);
  transform: rotate(45deg);
}

.rvid-gallery {
  padding: clamp(32px, 4vw, 52px) 0 clamp(48px, 7vw, 84px);
  background: var(--white);
}

.rvid-gallery .rvid-section-head {
  max-width: 100%;
  margin-bottom: 32px;
}

.rvid-gallery .rvid-section-head h2 {
  font-size: clamp(1.35rem, 2.6vw, 1.95rem);
}

.rvid-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  max-width: 950px;
  margin-inline: auto;
}

.rvid-card {
  background: var(--white);
  border: none;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(15, 42, 26, 0.08);
}

.rvid-card__media {
  position: relative;
  aspect-ratio: 5 / 6;
  background: #0f2a1a;
}

.rvid-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #0f2a1a;
  transition: transform 0.4s ease;
}

.rvid-card:hover .rvid-card__image {
  transform: scale(1.04);
}

.rvid-card__body {
  padding: 16px 16px 18px;
}

.rvid-card h3 {
  margin: 0 0 10px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #1a1a1a;
}

.rvid-card__meta {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  color: #6b7c70;
  font-size: 0.84rem;
  font-weight: 700;
}

.rvid-card__meta li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.rvid-card__meta svg {
  width: 15px;
  height: 15px;
  color: var(--green);
  flex-shrink: 0;
}

.rvid-card__meta li:nth-child(n + 2) svg {
  color: #8a9b8e;
}

/* Performance */
.rvid-perf {
  padding: clamp(48px, 7vw, 84px) 0;
  background: #f3faf5;
}

.rvid-perf .rvid-section-head {
  margin-bottom: 36px;
}

.rvid-perf__grid {
  display: grid;
  grid-template-columns: 1.35fr 1.1fr 0.9fr;
  gap: 16px;
  align-items: stretch;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.rvid-perf__panel {
  padding: 20px;
  border-radius: 18px;
  background: var(--white);
  border: none;
  box-shadow: 0 12px 32px rgba(15, 42, 26, 0.07);
}

.rvid-perf__head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.rvid-perf__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--soft);
  color: var(--green);
}

.rvid-perf__icon svg {
  width: 18px;
  height: 18px;
}

.rvid-perf__head h3 {
  margin: 0 0 2px;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--green-dark);
}

.rvid-perf__head p {
  margin: 0;
  font-size: 0.82rem;
  color: #7a8f80;
  line-height: 1.4;
}

.rvid-chart--line {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 8px;
  align-items: stretch;
}

.rvid-chart__y {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2px 0 22px;
  font-size: 0.68rem;
  font-weight: 700;
  color: #8a9b8e;
  text-align: right;
}

.rvid-chart__plot {
  min-width: 0;
}

.rvid-chart--line svg {
  width: 100%;
  height: 160px;
  display: block;
}

.rvid-chart__axis {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: 0.72rem;
  color: #8a9b8e;
  font-weight: 700;
}

.rvid-vbars {
  margin: 0;
  padding: 8px 4px 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  min-height: 220px;
}

.rvid-vbars li {
  display: grid;
  grid-template-rows: auto 1fr auto;
  justify-items: center;
  gap: 8px;
  height: 100%;
  text-align: center;
}

.rvid-vbars strong {
  font-size: 0.85rem;
  font-weight: 800;
  color: #1a1a1a;
}

.rvid-vbars i {
  align-self: end;
  display: block;
  width: 100%;
  max-width: 42px;
  height: var(--h);
  min-height: 28px;
  border-radius: 8px 8px 4px 4px;
  background: var(--green);
}

.rvid-vbars span {
  font-size: 0.78rem;
  font-weight: 700;
  color: #6b7c70;
}

.rvid-perf__metrics {
  display: grid;
  gap: 12px;
}

.rvid-metric {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 12px 32px rgba(15, 42, 26, 0.07);
}

.rvid-metric__label {
  margin: 0 0 2px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #6b7c70;
}

.rvid-metric__value {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1.1;
  color: var(--green);
}

.rvid-metric__note {
  margin: 2px 0 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a9b8e;
}

/* Includes */
.rvid-includes {
  padding: clamp(48px, 7vw, 80px) 0;
  background: var(--white);
}

.rvid-includes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.rvid-include {
  padding: 22px 18px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: #fafdfb;
}

.rvid-include__icon {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--soft);
  color: var(--green);
  font-weight: 900;
  font-size: 0.85rem;
}

.rvid-include h3 {
  margin: 0 0 8px;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--green-dark);
}

.rvid-include p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

/* Process */
.rvid-process {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f7faf8;
}

.rvid-process__track {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  counter-reset: none;
}

.rvid-process__track li {
  position: relative;
  padding: 18px 14px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  text-align: center;
}

.rvid-process__track li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 28px;
  right: -10px;
  width: 12px;
  height: 2px;
  background: var(--green);
  opacity: 0.45;
  z-index: 1;
}

.rvid-process__num {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-weight: 900;
  font-size: 0.85rem;
}

.rvid-process__track h3 {
  margin: 0 0 8px;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--green-dark);
}

.rvid-process__track p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--muted);
}

/* Case study */
.rvid-case {
  padding: clamp(48px, 7vw, 80px) 0;
  background: var(--white);
}

.rvid-case__card {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 16px 40px rgba(0, 92, 36, 0.08);
}

.rvid-case__media {
  min-height: 320px;
  background: #f4f8f5;
}

.rvid-case__image {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  display: block;
}

.rvid-case__copy {
  padding: clamp(22px, 4vw, 36px);
}

.rvid-case__copy h3 {
  margin: 0 0 10px;
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--green-dark);
}

.rvid-case__copy > p {
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.6;
}

.rvid-case__stats {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.rvid-case__stats li {
  display: grid;
  gap: 2px;
}

.rvid-case__stats strong {
  color: var(--green);
  font-size: 1.2rem;
  font-weight: 900;
}

.rvid-case__stats span {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--muted);
}

.rvid-case__chart {
  padding: 12px;
  border-radius: 12px;
  background: #fafdfb;
  border: 1px solid #e2efe7;
}

.rvid-case__chart-label {
  margin: 0 0 6px;
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--green-dark);
}

.rvid-case__chart svg {
  width: 100%;
  height: 90px;
  display: block;
}

.rvid-intro {
  padding: 8px 0 40px;
  background: var(--white);
}

.rvid-intro__inner {
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.rvid-intro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
  font-size: 1.02rem;
}

.rvid-byline {
  margin-top: 18px !important;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  font-size: 0.85rem !important;
  line-height: 1.6;
}

.rvid-byline span {
  display: block;
  margin-top: 4px;
  font-weight: 700;
  color: var(--green-dark);
}

/* FAQ */
.rvid-faq {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #f7faf8;
}

.rvid-faq__list {
  max-width: 820px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
}

.rvid-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0 16px;
}

.rvid-faq__item summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 0;
  font-weight: 800;
  color: var(--green-dark);
  position: relative;
  padding-right: 28px;
}

.rvid-faq__item summary::-webkit-details-marker {
  display: none;
}

.rvid-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 16px;
  color: var(--green);
  font-weight: 900;
}

.rvid-faq__item[open] summary::after {
  content: "-";
}

.rvid-faq__item p {
  margin: 0 0 16px;
  padding-top: 12px;
  border-top: 1px solid #e6eee9;
  color: var(--muted);
  line-height: 1.65;
}

/* CTA */
.rvid-cta {
  padding: clamp(48px, 7vw, 84px) 0;
  background: linear-gradient(125deg, var(--green) 0%, var(--green-mid) 45%, var(--green-dark) 100%);
  text-align: center;
  color: var(--white);
}

.rvid-cta__inner {
  max-width: 760px;
}

.rvid-cta h2 {
  margin: 0 0 12px;
  font-size: clamp(1.6rem, 3.5vw, 2.3rem);
  font-weight: 900;
  color: var(--white);
}

.rvid-cta p {
  margin: 0 0 24px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.65;
}

.rvid-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

/* Related */
.rvid-related {
  padding: 40px 0 56px;
  background: var(--white);
  border-top: 1px solid var(--border);
}

.rvid-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rvid-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  background: var(--soft);
  text-decoration: none;
}

.rvid-related__list a:hover,
.rvid-related__list a:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

@media (max-width: 1100px) {
  .rvid-perf__grid {
    grid-template-columns: 1fr 1fr;
  }

  .rvid-perf__metrics {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .rvid-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rvid-process__track li:nth-child(3)::after {
    display: none;
  }
}

@media (max-width: 900px) {
  .rvid-hero__grid,
  .rvid-case__card,
  .rvid-gallery__grid,
  .rvid-perf__grid,
  .rvid-includes__grid,
  .rvid-platforms__grid {
    grid-template-columns: 1fr;
  }

  .rvid-gallery__grid {
    max-width: 380px;
    margin-inline: auto;
  }

  .rvid-perf__metrics {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .rvid-hero__visual {
    order: -1;
  }

  .rvid-hero__video {
    max-height: min(56vh, 480px);
  }

  .rvid-hero__stats li {
    border-right: none;
    padding: 0;
  }

  .rvid-platforms__grid {
    gap: 0;
  }

  .rvid-platforms__grid article {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    padding: 14px 0;
  }

  .rvid-platforms__grid article:last-child {
    border-bottom: none;
  }

  .rvid-process__track {
    grid-template-columns: 1fr 1fr;
  }

  .rvid-process__track li::after {
    display: none;
  }

  .rvid-hero__stats,
  .rvid-case__stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .rvid-process__track {
    grid-template-columns: 1fr;
  }

  .rvid-cta__actions,
  .rvid-hero__actions {
    flex-direction: column;
  }

  .rvid-cta__actions .rvid-btn,
  .rvid-hero__actions .rvid-btn {
    width: 100%;
  }
}

/* =========================================================
   WordPress Development page redesign (.page-wordpress / .wpd-*)
   ========================================================= */

.page-wordpress .wpd-eyebrow {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-wordpress .wpd-section-head {
  margin-bottom: clamp(28px, 4vw, 44px);
  max-width: 720px;
}

.page-wordpress .wpd-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-wordpress .wpd-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-wordpress .wpd-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 1.02rem;
}

.page-wordpress .wpd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-wordpress .wpd-btn--solid {
  background: var(--green);
  color: #fff;
  border: 2px solid var(--green);
}

.page-wordpress .wpd-btn--solid:hover,
.page-wordpress .wpd-btn--solid:focus-visible {
  background: var(--green-mid);
  border-color: var(--green-mid);
  transform: translateY(-1px);
}

.page-wordpress .wpd-btn--ghost {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--border);
}

.page-wordpress .wpd-btn--ghost:hover,
.page-wordpress .wpd-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-wordpress .wpd-icon,
.page-wordpress .wpd-service__icon,
.page-wordpress .wpd-why__icon,
.page-wordpress .wpd-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
}

/* --- Hero --- */
.page-wordpress .wpd-hero {
  padding: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 48px);
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%, rgba(0, 179, 72, 0.09), transparent 58%),
    linear-gradient(180deg, #f3faf6 0%, #f8fcf9 45%, #ffffff 100%);
  overflow: hidden;
}

.page-wordpress .wpd-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-wordpress .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-wordpress .wpd-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 4vw, 2.85rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-wordpress .wpd-hero h1 span {
  display: block;
  color: var(--green);
}

.page-wordpress .wpd-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-wordpress .wpd-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-wordpress .wpd-hero .wpd-btn {
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 0.92rem;
}

.page-wordpress .wpd-hero .wpd-btn--ghost {
  color: var(--green);
  border-color: var(--green);
  background: #fff;
}

.page-wordpress .wpd-hero .wpd-btn--ghost:hover,
.page-wordpress .wpd-hero .wpd-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-wordpress .wpd-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-wordpress .wpd-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-wordpress .wpd-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green);
}

.page-wordpress .wpd-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-wordpress .wpd-hero__pill-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.page-wordpress .wpd-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-wordpress .wpd-hero__pill-text small {
  font-size: 0.62rem;
  font-weight: 600;
  color: #7a8f80;
  line-height: 1.25;
}

.page-wordpress .wpd-hero__media {
  background: transparent;
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-wordpress .wpd-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Built for What's Next --- */
.page-wordpress .wpd-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #eef7f1;
}

.page-wordpress .wpd-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-wordpress .wpd-next__intro {
  max-width: 340px;
}

.page-wordpress .wpd-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 900;
  line-height: 1.2;
  color: #141c17;
}

.page-wordpress .wpd-next__intro p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-wordpress .wpd-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-wordpress .wpd-next__card {
  padding: 18px 16px 20px;
  border: none;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-wordpress .wpd-next__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 42, 26, 0.09);
}

.page-wordpress .wpd-next__card .wpd-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green-dark);
}

.page-wordpress .wpd-next__card h3 {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #141c17;
}

.page-wordpress .wpd-next__card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-wordpress .wpd-byline {
  max-width: 100%;
  margin: 14px 0 0 !important;
  text-align: left;
}

/* --- Services --- */
.page-wordpress .wpd-services {
  padding: clamp(24px, 3.5vw, 40px) 0 clamp(40px, 6vw, 72px);
  background: #fff;
}

.page-wordpress .wpd-services .wpd-section-head {
  max-width: min(960px, 100%);
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-wordpress .wpd-services .wpd-eyebrow {
  margin: 0 0 10px;
  color: var(--green);
}

.page-wordpress .wpd-services .wpd-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  white-space: nowrap;
  line-height: 1.25;
}

.page-wordpress .wpd-services .wpd-section-head > p:not(.wpd-eyebrow) {
  max-width: 640px;
  margin-inline: auto;
  font-size: 0.95rem;
}

.page-wordpress .wpd-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-wordpress .wpd-service {
  position: relative;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 8px 14px;
  align-items: center;
  min-height: 118px;
  padding: 18px 48px 18px 16px;
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 42, 26, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-wordpress .wpd-service:hover {
  border-color: var(--border);
  box-shadow: 0 10px 24px rgba(15, 42, 26, 0.08);
}

.page-wordpress .wpd-service__icon {
  grid-row: 1 / span 2;
  width: 88px;
  height: 88px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  object-fit: contain;
  display: block;
}

.page-wordpress .wpd-service__copy {
  min-width: 0;
  padding-top: 0;
}

.page-wordpress .wpd-service h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 800;
  color: #141c17;
}

.page-wordpress .wpd-service p {
  margin: 0;
  padding-right: 4px;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-wordpress .wpd-service__go {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  color: var(--green);
  border: 1.5px solid var(--green);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.page-wordpress .wpd-service__go:hover,
.page-wordpress .wpd-service__go:focus-visible {
  background: var(--green);
  color: #fff;
  transform: translateX(2px);
}

@media (max-width: 1100px) {
  .page-wordpress .wpd-services .wpd-section-head h2 {
    white-space: normal;
  }
}

/* --- Performance --- */
.page-wordpress .wpd-perf {
  position: relative;
  padding: clamp(40px, 6vw, 72px) 0;
  background:
    radial-gradient(circle at 12% 78%, rgba(0, 179, 72, 0.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(0, 179, 72, 0.1), transparent 26%),
    linear-gradient(180deg, #eef8f1 0%, #f7fcf8 55%, #ffffff 100%);
  overflow: hidden;
}

.page-wordpress .wpd-perf .wpd-eyebrow {
  color: var(--green);
}

.page-wordpress .wpd-perf .wpd-section-head {
  max-width: 420px;
  margin-bottom: 20px;
}

.page-wordpress .wpd-perf .wpd-section-head h2 {
  color: #141c17;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
}

.page-wordpress .wpd-perf .wpd-section-head p {
  color: #5a6b5e;
  font-size: 0.95rem;
}

.page-wordpress .wpd-perf__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: start;
}

.page-wordpress .wpd-perf__media {
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

.page-wordpress .wpd-perf__media img {
  display: block;
  width: 100%;
  height: auto;
}

.page-wordpress .wpd-perf__dash {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 14px;
}

.page-wordpress .wpd-metric {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  padding: 16px 16px 14px;
}

.page-wordpress .wpd-metric h3 {
  margin: 0 0 12px;
  font-size: 0.88rem;
  font-weight: 800;
  color: #141c17;
}

.page-wordpress .wpd-metric--vitals {
  grid-column: 1;
}

.page-wordpress .wpd-metric--speed {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.page-wordpress .wpd-metric--seo {
  grid-column: 1;
}

.page-wordpress .wpd-metric--mobile {
  grid-column: 2;
}

.page-wordpress .wpd-metric--security {
  grid-column: 1;
}

.page-wordpress .wpd-metric--conv {
  grid-column: 2;
}

.page-wordpress .wpd-metric__rings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  text-align: center;
}

.page-wordpress .wpd-ring-wrap {
  display: grid;
  gap: 6px;
  justify-items: center;
}

.page-wordpress .wpd-ring {
  --val: 90;
  width: 100%;
  max-width: 72px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle closest-side, #fff 66%, transparent 67% 100%),
    conic-gradient(var(--green) calc(var(--val) * 1%), #e6f0ea 0);
}

.page-wordpress .wpd-ring span {
  font-size: 0.95rem;
  font-weight: 900;
  color: #141c17;
  line-height: 1;
}

.page-wordpress .wpd-ring-wrap small {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  color: #7a8f80;
  line-height: 1.2;
}

.page-wordpress .wpd-speed {
  position: relative;
  width: min(100%, 140px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin-top: 4px;
}

.page-wordpress .wpd-speed__gauge {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle closest-side, #fff 62%, transparent 63% 100%),
    conic-gradient(var(--green) calc(var(--val) * 1%), #e6f0ea 0);
}

.page-wordpress .wpd-speed strong {
  position: relative;
  z-index: 1;
  font-size: 2rem;
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.page-wordpress .wpd-metric__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.page-wordpress .wpd-metric__top h3 {
  margin: 0;
}

.page-wordpress .wpd-metric__chip {
  font-size: 0.65rem;
  font-weight: 700;
  color: #5a6b5e;
  background: #eef8f1;
  border: 1px solid #d7eadf;
  border-radius: 999px;
  padding: 4px 8px;
  white-space: nowrap;
}

.page-wordpress .wpd-chart-line {
  display: block;
  width: 100%;
  height: auto;
}

.page-wordpress .wpd-chart-axis {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 4px;
  font-size: 0.62rem;
  font-weight: 700;
  color: #8aa094;
  text-align: center;
}

.page-wordpress .wpd-mobile-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.page-wordpress .wpd-mobile-bar__track {
  flex: 1;
  height: 10px;
  border-radius: 999px;
  background: #e8f1eb;
  overflow: hidden;
}

.page-wordpress .wpd-mobile-bar__track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-mid), var(--green));
}

.page-wordpress .wpd-mobile-bar strong {
  font-size: 0.95rem;
  font-weight: 900;
  color: var(--green);
}

.page-wordpress .wpd-metric ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.page-wordpress .wpd-metric ul li {
  position: relative;
  padding-left: 22px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #3f5346;
}

.page-wordpress .wpd-metric ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: inset 0 0 0 0 transparent;
}

.page-wordpress .wpd-metric ul li::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.35em;
  width: 7px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.page-wordpress .wpd-metric__sec-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.page-wordpress .wpd-metric__sec-head h3 {
  margin: 0;
}

.page-wordpress .wpd-shield {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #e3f6ea;
  color: var(--green);
}

.page-wordpress .wpd-conv {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  min-height: 92px;
}

.page-wordpress .wpd-bars {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 88px;
  flex: 1;
}

.page-wordpress .wpd-bars span {
  flex: 1;
  height: var(--h);
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, var(--green-light), var(--green));
}

.page-wordpress .wpd-conv__up {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  color: var(--green);
}

.page-wordpress .wpd-conv__up strong {
  font-size: 1.15rem;
  font-weight: 900;
}

/* --- Process --- */
.page-wordpress .wpd-process {
  padding: clamp(52px, 7vw, 96px) 0;
  background-color: #f6f7f6;
  background-image:
    radial-gradient(rgba(18, 32, 24, 0.035) 0.7px, transparent 0.7px);
  background-size: 4px 4px;
}

.page-wordpress .wpd-process .wpd-section-head {
  max-width: 640px;
  margin-bottom: clamp(36px, 5vw, 56px);
}

.page-wordpress .wpd-process .wpd-section-head p:not(.wpd-eyebrow) {
  font-size: 1rem;
  color: #6b7a70;
}

.page-wordpress .wpd-process__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-wordpress .wpd-process__track::before {
  content: "";
  position: absolute;
  top: 28px;
  left: calc(100% / 12);
  right: calc(100% / 12);
  border-top: 2px dotted #cfd6d1;
  pointer-events: none;
  z-index: 0;
}

.page-wordpress .wpd-process__track li {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 6px;
}

.page-wordpress .wpd-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  box-shadow:
    0 0 0 4px #f6f7f6,
    0 8px 18px rgba(0, 179, 72, 0.22);
}

.page-wordpress .wpd-process__icon svg {
  display: block;
}

.page-wordpress .wpd-process__num {
  display: block;
  margin-bottom: 6px;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--green);
  line-height: 1;
}

.page-wordpress .wpd-process__track h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 800;
  color: #122018;
  line-height: 1.25;
}

.page-wordpress .wpd-process__track p {
  margin: 0;
  max-width: 180px;
  font-size: 0.84rem;
  line-height: 1.5;
  color: #6b7a70;
}

/* --- Needs strip --- */
.page-wordpress .wpd-needs {
  padding: clamp(48px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, #ffffff 0%, transparent 70%),
    #eef7f1;
}

.page-wordpress .wpd-needs .wpd-section-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-wordpress .wpd-needs .wpd-section-head p:not(.wpd-eyebrow) {
  font-size: 1rem;
  color: #5a6b5e;
}

.page-wordpress .wpd-needs__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-wordpress .wpd-needs__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 132px;
  padding: 18px 10px 16px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 800;
  color: #1a2420;
  line-height: 1.25;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.06);
  border: 1px solid rgba(0, 179, 72, 0.06);
}

.page-wordpress .wpd-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  color: var(--green);
  background: none;
  border: 0;
  border-radius: 0;
}

.page-wordpress .wpd-needs__icon svg {
  display: block;
}

/* --- Work / portfolio --- */
.page-wordpress .wpd-work {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-wordpress .wpd-work__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}

.page-wordpress .wpd-work__copy {
  max-width: 340px;
}

.page-wordpress .wpd-work__copy .wpd-eyebrow {
  color: var(--green);
}

.page-wordpress .wpd-work__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-wordpress .wpd-work__copy p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-wordpress .wpd-work__showcase {
  min-width: 0;
}

.page-wordpress .wpd-work__media {
  overflow: visible;
  margin-bottom: 10px;
}

.page-wordpress .wpd-work__media img {
  display: block;
  width: 100%;
  height: auto;
}

.page-wordpress .wpd-work__projects {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0 2%;
  list-style: none;
}

.page-wordpress .wpd-work__projects li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.page-wordpress .wpd-work__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  border-radius: 999px;
  background: #e8f7ee;
  color: var(--green);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.page-wordpress .wpd-work__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
}

.page-wordpress .wpd-work__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.72rem;
  font-weight: 800;
  color: #3f5346;
  white-space: nowrap;
}

.page-wordpress .wpd-work__meta svg {
  color: var(--green);
  flex-shrink: 0;
}

/* --- Why --- */
.page-wordpress .wpd-why {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-wordpress .wpd-why .wpd-section-head {
  max-width: 560px;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: left;
  margin-inline: 0;
}

.page-wordpress .wpd-why .wpd-section-head p:not(.wpd-eyebrow) {
  color: #5a6b5e;
  font-size: 1rem;
}

.page-wordpress .wpd-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-wordpress .wpd-why__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 20px 20px;
  border: 1px solid rgba(0, 179, 72, 0.06);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-wordpress .wpd-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #e3f6ea;
  color: var(--green);
}

.page-wordpress .wpd-why__item h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #122018;
  line-height: 1.3;
}

.page-wordpress .wpd-why__item p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-wordpress .wpd-faq {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-wordpress .wpd-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.page-wordpress .wpd-faq .wpd-section-head {
  max-width: 420px;
  margin-bottom: 0;
}

.page-wordpress .wpd-faq .wpd-section-head > p:not(.wpd-eyebrow):not(.wpd-byline) {
  color: #5a6b5e;
  font-size: 0.98rem;
  margin-bottom: 14px;
}

.page-wordpress .wpd-faq .wpd-byline {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #7a8f80;
}

.page-wordpress .wpd-faq__list {
  display: grid;
  gap: 12px;
}

.page-wordpress .wpd-faq__item {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 12px;
  padding: 0 18px;
  box-shadow: 0 4px 14px rgba(15, 42, 26, 0.03);
}

.page-wordpress .wpd-faq__item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 36px 18px 0;
  font-weight: 800;
  font-size: 0.95rem;
  color: #122018;
  position: relative;
  line-height: 1.4;
}

.page-wordpress .wpd-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-wordpress .wpd-faq__num {
  color: #7a8f80;
  font-weight: 800;
  flex-shrink: 0;
}

.page-wordpress .wpd-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.page-wordpress .wpd-faq__item[open] summary::after {
  content: "-";
}

.page-wordpress .wpd-faq__item p {
  margin: 0 0 18px;
  padding-right: 28px;
  padding-left: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-wordpress .wpd-cta {
  padding: clamp(48px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse 50% 80% at 15% 50%, rgba(0, 179, 72, 0.18), transparent 60%),
    linear-gradient(180deg, #eef8f1 0%, #ffffff 100%);
}

.page-wordpress .wpd-cta__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-wordpress .wpd-cta__media {
  background: transparent;
}

.page-wordpress .wpd-cta__media img {
  display: block;
  width: 100%;
  height: auto;
}

.page-wordpress .wpd-cta__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900;
  color: var(--green-dark);
}

.page-wordpress .wpd-cta__copy > p {
  margin: 0 0 22px;
  color: var(--muted);
  line-height: 1.65;
  max-width: 36rem;
}

.page-wordpress .wpd-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.page-wordpress .wpd-cta__note {
  margin: 0;
  font-size: 0.9rem;
  color: #7a8f80;
}

/* --- Related --- */
.page-wordpress .wpd-related {
  padding: clamp(36px, 5vw, 56px) 0 64px;
  background: #fff;
  border-top: 1px solid var(--border);
}

.page-wordpress .wpd-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-wordpress .wpd-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  text-decoration: none;
  background: #f7fcf8;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-wordpress .wpd-related__list a:hover,
.page-wordpress .wpd-related__list a:focus-visible {
  background: var(--soft);
  border-color: var(--green);
  color: var(--green);
}

/* --- Responsive --- */
@media (max-width: 1100px) {
  .page-wordpress .wpd-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px 20px;
  }

  .page-wordpress .wpd-process__track::before {
    display: none;
  }

  .page-wordpress .wpd-needs__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .page-wordpress .wpd-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-wordpress .wpd-work__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-wordpress .wpd-work__copy {
    max-width: 560px;
    text-align: center;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .page-wordpress .wpd-hero__grid,
  .page-wordpress .wpd-perf__grid,
  .page-wordpress .wpd-faq__inner,
  .page-wordpress .wpd-cta__grid {
    grid-template-columns: 1fr;
  }

  .page-wordpress .wpd-perf__dash {
    grid-template-columns: 1fr 1fr;
  }

  .page-wordpress .wpd-hero__media {
    order: -1;
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  /* WooCommerce: text first, image below on mobile */
  .page-woocommerce.page-wordpress .wpd-hero__copy {
    order: 1;
  }

  .page-woocommerce.page-wordpress .wpd-hero__media {
    order: 2;
  }

  .page-wordpress .wpd-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-wordpress .wpd-hero h1 span {
    display: block;
  }

  .page-wordpress .wpd-next__layout {
    grid-template-columns: 1fr;
  }

  .page-wordpress .wpd-next__intro {
    max-width: 560px;
  }

  .page-wordpress .wpd-next__grid,
  .page-wordpress .wpd-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-wordpress .wpd-cta__media {
    max-width: 360px;
    margin-inline: auto;
  }

  .page-wordpress .wpd-work__meta {
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .page-wordpress .wpd-next__grid,
  .page-wordpress .wpd-services__grid,
  .page-wordpress .wpd-why__grid,
  .page-wordpress .wpd-process__track {
    grid-template-columns: 1fr;
  }

  .page-wordpress .wpd-perf__dash {
    grid-template-columns: 1fr;
  }

  .page-wordpress .wpd-metric--vitals,
  .page-wordpress .wpd-metric--speed,
  .page-wordpress .wpd-metric--seo,
  .page-wordpress .wpd-metric--mobile,
  .page-wordpress .wpd-metric--security,
  .page-wordpress .wpd-metric--conv {
    grid-column: 1;
  }

  .page-wordpress .wpd-needs__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-wordpress .wpd-work__tag {
    font-size: 0.68rem;
    padding: 6px 8px;
  }

  .page-wordpress .wpd-work__meta span {
    font-size: 0.62rem;
  }

  .page-wordpress .wpd-hero__actions,
  .page-wordpress .wpd-cta__actions {
    flex-direction: column;
  }

  .page-wordpress .wpd-hero__actions .wpd-btn,
  .page-wordpress .wpd-cta__actions .wpd-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-wordpress .wpd-btn--solid:hover,
  .page-wordpress .wpd-next__card:hover {
    transform: none;
  }
}

/* =========================================================
   Shopify Development page redesign (.page-shopify / .shp-*)
   ========================================================= */

.page-shopify .shp-eyebrow {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-shopify .shp-section-head {
  margin-bottom: clamp(28px, 4vw, 44px);
  max-width: 720px;
}

.page-shopify .shp-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-shopify .shp-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-shopify .shp-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 1.02rem;
}

.page-shopify .shp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-shopify .shp-btn--solid {
  background: var(--green);
  color: #fff;
  border: 2px solid var(--green);
}

.page-shopify .shp-btn--solid:hover,
.page-shopify .shp-btn--solid:focus-visible {
  background: var(--green-mid);
  border-color: var(--green-mid);
  transform: translateY(-1px);
}

.page-shopify .shp-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-shopify .shp-btn--ghost:hover,
.page-shopify .shp-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-shopify .shp-icon,
.page-shopify .shp-service__icon,
.page-shopify .shp-why__icon,
.page-shopify .shp-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
}

/* --- Hero --- */
.page-shopify .shp-hero {
  padding: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 48px);
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%, rgba(0, 179, 72, 0.09), transparent 58%),
    linear-gradient(180deg, #f3faf6 0%, #f8fcf9 45%, #ffffff 100%);
  overflow: hidden;
}

.page-shopify .shp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-shopify .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-shopify .shp-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 4vw, 2.85rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-shopify .shp-hero h1 span {
  display: block;
  color: var(--green);
}

.page-shopify .shp-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-shopify .shp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-shopify .shp-hero .shp-btn {
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 0.92rem;
}

.page-shopify .shp-hero .shp-btn--ghost {
  color: var(--green);
  border-color: var(--green);
  background: #fff;
}

.page-shopify .shp-hero .shp-btn--ghost:hover,
.page-shopify .shp-hero .shp-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-shopify .shp-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-shopify .shp-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-shopify .shp-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green);
}

.page-shopify .shp-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-shopify .shp-hero__pill-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.page-shopify .shp-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-shopify .shp-hero__pill-text small {
  font-size: 0.62rem;
  font-weight: 600;
  color: #7a8f80;
  line-height: 1.25;
}

.page-shopify .shp-hero__media {
  background: transparent;
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-shopify .shp-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Built for What's Next --- */
.page-shopify .shp-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #eef7f1;
}

.page-shopify .shp-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-shopify .shp-next__intro {
  max-width: 340px;
}

.page-shopify .shp-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 900;
  line-height: 1.2;
  color: #141c17;
}

.page-shopify .shp-next__intro p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-shopify .shp-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-shopify .shp-next__card {
  padding: 18px 16px 20px;
  border: none;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-shopify .shp-next__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 42, 26, 0.09);
}

.page-shopify .shp-next__card .shp-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green-dark);
}

.page-shopify .shp-next__card h3 {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #141c17;
}

.page-shopify .shp-next__card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-shopify .shp-byline {
  max-width: 100%;
  margin: 14px 0 0 !important;
  text-align: left;
}

/* --- Services --- */
.page-shopify .shp-services {
  padding: clamp(24px, 3.5vw, 40px) 0 clamp(40px, 6vw, 72px);
  background: #fff;
}

.page-shopify .shp-services .shp-section-head {
  max-width: min(960px, 100%);
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-shopify .shp-services .shp-eyebrow {
  margin: 0 0 10px;
  color: var(--green);
}

.page-shopify .shp-services .shp-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  white-space: normal;
  line-height: 1.25;
}

.page-shopify .shp-services .shp-section-head > p:not(.shp-eyebrow) {
  max-width: 640px;
  margin-inline: auto;
  font-size: 0.95rem;
}

.page-shopify .shp-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-shopify .shp-service {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 22px 22px 56px;
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 42, 26, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-shopify .shp-service:hover {
  border-color: var(--border);
  box-shadow: 0 10px 24px rgba(15, 42, 26, 0.08);
}

.page-shopify .shp-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  background: #e3f6ea !important;
  color: var(--green);
}

.page-shopify .shp-service h3 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  color: #141c17;
}

.page-shopify .shp-service p {
  margin: 0;
  padding-right: 4px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-shopify .shp-service__go {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  border: 0;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-shopify .shp-service__go:hover,
.page-shopify .shp-service__go:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: translateX(2px);
}

@media (max-width: 1100px) {
  .page-shopify .shp-services .shp-section-head h2 {
    white-space: normal;
  }
}

/* --- Performance --- */
.page-shopify .shp-perf {
  position: relative;
  padding: clamp(40px, 6vw, 72px) 0;
  background:
    radial-gradient(circle at 12% 78%, rgba(0, 179, 72, 0.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(0, 179, 72, 0.1), transparent 26%),
    linear-gradient(180deg, #eef8f1 0%, #f7fcf8 55%, #ffffff 100%);
  overflow: hidden;
}

.page-shopify .shp-perf .shp-eyebrow {
  color: var(--green);
}

.page-shopify .shp-perf .shp-section-head {
  max-width: 420px;
  margin-bottom: 20px;
}

.page-shopify .shp-perf .shp-section-head h2 {
  color: #141c17;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
}

.page-shopify .shp-perf .shp-section-head p {
  color: #5a6b5e;
  font-size: 0.95rem;
}

.page-shopify .shp-perf__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: start;
}

.page-shopify .shp-perf__left,
.page-shopify .shp-perf__dash {
  min-width: 0;
}

.page-shopify .shp-perf__media {
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

.page-shopify .shp-perf__media img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.page-shopify .shp-perf__dash {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 14px);
}

.page-shopify .shp-metric {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  padding: clamp(12px, 2.2vw, 16px);
  min-width: 0;
}

.page-shopify .shp-metric h3 {
  margin: 0 0 12px;
  font-size: 0.88rem;
  font-weight: 800;
  color: #141c17;
}

.page-shopify .shp-metric--speed {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: space-between;
  min-height: 200px;
  background:
    radial-gradient(ellipse 80% 70% at 50% 72%, rgba(0, 179, 72, 0.08), transparent 70%),
    #fff;
}

.page-shopify .shp-metric--mobile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 200px;
  background:
    linear-gradient(180deg, #fff 0%, #f7fcf8 100%);
}

.page-shopify .shp-metric--conv {
  display: flex;
  flex-direction: column;
  min-height: 200px;
  background:
    radial-gradient(ellipse 90% 60% at 70% 80%, rgba(0, 179, 72, 0.07), transparent 65%),
    #fff;
}

.page-shopify .shp-metric--conv .shp-metric__top {
  margin-bottom: 10px;
}

.page-shopify .shp-metric--conv .shp-chart-line {
  flex: 1;
  width: 100%;
  min-height: 96px;
}

.page-shopify .shp-metric__up {
  display: block;
  margin-top: 4px;
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--green);
}

.page-shopify .shp-bars-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.page-shopify .shp-bars-list li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 8px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #3f5346;
}

.page-shopify .shp-bars-list__track {
  grid-column: 1 / -1;
  height: 8px;
  border-radius: 999px;
  background: #e8f1eb;
  overflow: hidden;
}

.page-shopify .shp-bars-list__track > span {
  display: block;
  height: 100%;
  background: var(--green);
  border-radius: inherit;
}

.page-shopify .shp-metric__rings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  text-align: center;
}

.page-shopify .shp-ring-wrap {
  display: grid;
  gap: 6px;
  justify-items: center;
}

.page-shopify .shp-ring {
  --val: 90;
  width: 100%;
  max-width: 72px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle closest-side, #fff 66%, transparent 67% 100%),
    conic-gradient(var(--green) calc(var(--val) * 1%), #e6f0ea 0);
}

.page-shopify .shp-ring span {
  font-size: 0.95rem;
  font-weight: 900;
  color: #141c17;
  line-height: 1;
}

.page-shopify .shp-ring-wrap small {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  color: #7a8f80;
  line-height: 1.2;
}

.page-shopify .shp-speed {
  position: relative;
  width: min(100%, 132px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin: 6px auto 2px;
}

.page-shopify .shp-speed__gauge {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from -90deg,
    var(--green) 0 calc(var(--val) * 1%),
    #e4efe8 0
  );
  box-shadow:
    inset 0 0 0 1px rgba(0, 179, 72, 0.06),
    0 10px 24px rgba(0, 179, 72, 0.12);
}

.page-shopify .shp-speed__gauge::after {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(15, 42, 26, 0.04);
}

.page-shopify .shp-speed__value {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2px;
  place-items: center;
  line-height: 1;
}

.page-shopify .shp-speed__value strong {
  font-size: 2.15rem;
  font-weight: 900;
  color: #141c17;
  letter-spacing: -0.03em;
}

.page-shopify .shp-speed__value span {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--green);
}

.page-shopify .shp-metric__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.page-shopify .shp-metric__top h3 {
  margin: 0;
}

.page-shopify .shp-metric__chip {
  font-size: 0.65rem;
  font-weight: 700;
  color: #5a6b5e;
  background: #eef8f1;
  border: 1px solid #d7eadf;
  border-radius: 999px;
  padding: 4px 8px;
  white-space: nowrap;
}

.page-shopify .shp-metric__chip--up {
  font-size: 0.78rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #00a040, var(--green));
  border-color: transparent;
  padding: 5px 11px;
  box-shadow: 0 4px 12px rgba(0, 179, 72, 0.28);
}

.page-shopify .shp-chart-line {
  display: block;
  width: 100%;
  height: auto;
}

.page-shopify .shp-chart-axis {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 4px;
  font-size: 0.62rem;
  font-weight: 700;
  color: #8aa094;
  text-align: center;
}

.page-shopify .shp-mobile-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 4px 0 14px;
  min-width: 0;
}

.page-shopify .shp-mobile-bar__icon {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--green);
  background: #e8f8ee;
  border: 1px solid #d4eedc;
}

.page-shopify .shp-mobile-bar__track {
  flex: 1 1 auto;
  min-width: 0;
  height: 12px;
  border-radius: 999px;
  background: #e8f1eb;
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(15, 42, 26, 0.06);
}

.page-shopify .shp-mobile-bar__track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #00a040, var(--green) 55%, #2fd46a);
  box-shadow: 0 0 10px rgba(0, 179, 72, 0.35);
}

.page-shopify .shp-mobile-bar strong {
  flex: 0 0 auto;
  font-size: 1.05rem;
  font-weight: 900;
  color: #141c17;
  letter-spacing: -0.02em;
}

.page-shopify .shp-metric ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.page-shopify .shp-metric ul li {
  position: relative;
  padding-left: 22px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #3f5346;
}

.page-shopify .shp-metric ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: inset 0 0 0 0 transparent;
}

.page-shopify .shp-metric ul li::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.35em;
  width: 7px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.page-shopify .shp-metric__sec-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.page-shopify .shp-metric__sec-head h3 {
  margin: 0;
}

.page-shopify .shp-shield {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #e3f6ea;
  color: var(--green);
}

.page-shopify .shp-conv {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  min-height: 92px;
}

.page-shopify .shp-bars {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 88px;
  flex: 1;
}

.page-shopify .shp-bars span {
  flex: 1;
  height: var(--h);
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, var(--green-light), var(--green));
}

.page-shopify .shp-conv__up {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  color: var(--green);
}

.page-shopify .shp-conv__up strong {
  font-size: 1.15rem;
  font-weight: 900;
}

/* --- Process --- */
.page-shopify .shp-process {
  padding: clamp(52px, 7vw, 96px) 0;
  background: #fff;
}

.page-shopify .shp-process .shp-section-head {
  max-width: 640px;
  margin-bottom: clamp(40px, 5vw, 60px);
}

.page-shopify .shp-process .shp-section-head p:not(.shp-eyebrow) {
  font-size: 1rem;
  color: #6b7a70;
}

.page-shopify .shp-process__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0;
  padding: 8px 0 0;
  list-style: none;
}

.page-shopify .shp-process__track::before {
  content: "";
  position: absolute;
  top: 40px;
  left: 8.333%;
  right: 8.333%;
  height: 0;
  border-top: 2px dashed #c8d9ce;
  pointer-events: none;
  z-index: 0;
}

.page-shopify .shp-process__track li {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 4px;
  min-width: 0;
}

.page-shopify .shp-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  border: 4px solid #fff;
  outline: 2px solid #d7eadf;
  box-shadow: none;
}

.page-shopify .shp-process__icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

.page-shopify .shp-process__num {
  display: block;
  margin-bottom: 8px;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
  line-height: 1;
}

.page-shopify .shp-process__track h3 {
  margin: 0 0 8px;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem);
  font-weight: 800;
  color: #122018;
  line-height: 1.25;
}

.page-shopify .shp-process__track p {
  margin: 0;
  max-width: 160px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #6b7a70;
}

/* --- Needs strip --- */
.page-shopify .shp-needs {
  padding: clamp(48px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, #ffffff 0%, transparent 70%),
    #eef7f1;
}

.page-shopify .shp-needs .shp-section-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-shopify .shp-needs .shp-section-head p:not(.shp-eyebrow) {
  font-size: 1rem;
  color: #5a6b5e;
}

.page-shopify .shp-needs__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-shopify .shp-needs__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 132px;
  padding: 18px 10px 16px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 800;
  color: #1a2420;
  line-height: 1.25;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.06);
  border: 1px solid rgba(0, 179, 72, 0.06);
}

.page-shopify .shp-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  color: var(--green);
  background: none;
  border: 0;
  border-radius: 0;
}

.page-shopify .shp-needs__icon svg {
  display: block;
}

/* --- Work / portfolio --- */
.page-shopify .shp-work {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-shopify .shp-work__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}

.page-shopify .shp-work__copy {
  max-width: 340px;
}

.page-shopify .shp-work__copy .shp-eyebrow {
  color: var(--green);
}

.page-shopify .shp-work__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-shopify .shp-work__copy p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-shopify .shp-work__showcase {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-shopify .shp-work__media {
  overflow: visible;
  margin-bottom: 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-shopify .shp-work__media img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
  filter: none;
  transition: none;
}

.page-shopify .shp-work__showcase:hover .shp-work__media img {
  transform: none;
}

.page-shopify .shp-work__projects {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-shopify .shp-work__projects li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 16px 12px 18px;
  border-radius: 14px;
  background: #f7fcf8;
  border: 1.5px solid #d7eadf;
  box-shadow: none;
  filter: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.page-shopify .shp-work__projects li:hover {
  transform: none;
  border-color: var(--green);
  background: #eef8f1;
}

.page-shopify .shp-work__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.page-shopify .shp-work__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
}

.page-shopify .shp-work__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 800;
  color: #1f3d2a;
  white-space: nowrap;
}

.page-shopify .shp-work__meta svg {
  color: var(--green);
  flex-shrink: 0;
}

/* --- Why --- */
.page-shopify .shp-why {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-shopify .shp-why .shp-section-head {
  max-width: 560px;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: left;
  margin-inline: 0;
}

.page-shopify .shp-why .shp-section-head p:not(.shp-eyebrow) {
  color: #5a6b5e;
  font-size: 1rem;
}

.page-shopify .shp-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-shopify .shp-why__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 20px 20px;
  border: 1px solid rgba(0, 179, 72, 0.06);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-shopify .shp-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #e3f6ea;
  color: var(--green);
}

.page-shopify .shp-why__item h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #122018;
  line-height: 1.3;
}

.page-shopify .shp-why__item p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-shopify .shp-faq {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-shopify .shp-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.page-shopify .shp-faq .shp-section-head {
  max-width: 420px;
  margin-bottom: 0;
}

.page-shopify .shp-faq .shp-section-head > p:not(.shp-eyebrow):not(.shp-byline) {
  color: #5a6b5e;
  font-size: 0.98rem;
  margin-bottom: 14px;
}

.page-shopify .shp-faq .shp-byline {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #7a8f80;
}

.page-shopify .shp-faq__list {
  display: grid;
  gap: 12px;
}

.page-shopify .shp-faq__item {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 12px;
  padding: 0 18px;
  box-shadow: 0 4px 14px rgba(15, 42, 26, 0.03);
}

.page-shopify .shp-faq__item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 36px 18px 0;
  font-weight: 800;
  font-size: 0.95rem;
  color: #122018;
  position: relative;
  line-height: 1.4;
}

.page-shopify .shp-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-shopify .shp-faq__num {
  color: #7a8f80;
  font-weight: 800;
  flex-shrink: 0;
}

.page-shopify .shp-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.page-shopify .shp-faq__item[open] summary::after {
  content: "-";
}

.page-shopify .shp-faq__item p {
  margin: 0 0 18px;
  padding-right: 28px;
  padding-left: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-shopify .shp-cta {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.page-shopify .shp-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 40px);
  align-items: center;
  padding: clamp(28px, 4.5vw, 52px) clamp(24px, 4vw, 48px);
  border-radius: 28px;
  border: 1px solid #d7eadf;
  background:
    radial-gradient(ellipse 45% 70% at 88% 42%, rgba(0, 179, 72, 0.16), transparent 62%),
    radial-gradient(ellipse 35% 50% at 8% 90%, rgba(0, 179, 72, 0.08), transparent 55%),
    linear-gradient(145deg, #eef9f2 0%, #f7fcf9 48%, #ffffff 100%);
  box-shadow: 0 18px 48px rgba(15, 42, 26, 0.06);
  overflow: hidden;
}

.page-shopify .shp-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-shopify .shp-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-shopify .shp-cta__copy h2 span {
  color: var(--green);
}

.page-shopify .shp-cta__copy > p {
  margin: 0 0 24px;
  color: #4a5d52;
  line-height: 1.65;
  max-width: 34rem;
  font-size: 1.02rem;
}

.page-shopify .shp-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.page-shopify .shp-cta__actions .shp-btn {
  border-radius: 999px;
  padding: 14px 24px;
  box-shadow: 0 8px 20px rgba(0, 179, 72, 0.12);
}

.page-shopify .shp-cta__actions .shp-btn--ghost {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.88);
}

.page-shopify .shp-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-shopify .shp-cta__trust li {
  position: relative;
  padding-left: 18px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #5a6f62;
}

.page-shopify .shp-cta__trust li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

.page-shopify .shp-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 460px;
  isolation: isolate;
}

.page-shopify .shp-cta__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 22px 36px rgba(0, 100, 40, 0.18));
  animation: shp-cta-float 5.5s ease-in-out infinite;
}

.page-shopify .shp-cta__orb {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #7dffb0, var(--green) 55%, #007a32);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}

.page-shopify .shp-cta__orb--a {
  width: 54px;
  height: 54px;
  top: 8%;
  right: 6%;
  animation: shp-cta-orb 6s ease-in-out infinite;
}

.page-shopify .shp-cta__orb--b {
  width: 28px;
  height: 28px;
  bottom: 18%;
  left: 4%;
  opacity: 0.4;
  animation: shp-cta-orb 7.5s ease-in-out infinite reverse;
}

.page-shopify .shp-cta__orb--c {
  width: 18px;
  height: 18px;
  top: 42%;
  left: 12%;
  opacity: 0.35;
  animation: shp-cta-orb 5s ease-in-out infinite;
}

@keyframes shp-cta-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes shp-cta-orb {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.06); }
}

/* --- Related --- */
.page-shopify .shp-related {
  padding: clamp(36px, 5vw, 56px) 0 64px;
  background: #fff;
  border-top: 1px solid var(--border);
}

.page-shopify .shp-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-shopify .shp-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  text-decoration: none;
  background: #f7fcf8;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-shopify .shp-related__list a:hover,
.page-shopify .shp-related__list a:focus-visible {
  background: var(--soft);
  border-color: var(--green);
  color: var(--green);
}

/* --- Responsive --- */
@media (max-width: 1100px) {
  .page-shopify .shp-perf__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-shopify .shp-perf .shp-section-head {
    max-width: none;
  }

  .page-shopify .shp-perf__media {
    max-width: 560px;
    margin-inline: auto;
  }

  .page-shopify .shp-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 24px;
  }

  .page-shopify .shp-process__track::before {
    display: none;
  }

  .page-shopify .shp-process__track li {
    padding: 0 10px;
  }

  .page-shopify .shp-process__track p {
    max-width: 200px;
  }

  .page-shopify .shp-needs__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .page-shopify .shp-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-shopify .shp-work__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-shopify .shp-work__copy {
    max-width: 560px;
    text-align: center;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .page-shopify .shp-hero__grid,
  .page-shopify .shp-faq__inner,
  .page-shopify .shp-cta__panel {
    grid-template-columns: 1fr;
  }

  .page-shopify .shp-perf__dash {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-shopify .shp-metric--speed,
  .page-shopify .shp-metric--mobile,
  .page-shopify .shp-metric--conv {
    min-height: 0;
  }

  .page-shopify .shp-speed {
    width: min(100%, 118px);
  }

  .page-shopify .shp-speed__value strong {
    font-size: 1.85rem;
  }

  .page-shopify .shp-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-shopify .shp-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-shopify .shp-hero h1 span {
    display: block;
  }

  .page-shopify .shp-next__layout {
    grid-template-columns: 1fr;
  }

  .page-shopify .shp-next__intro {
    max-width: 560px;
  }

  .page-shopify .shp-next__grid,
  .page-shopify .shp-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-shopify .shp-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-shopify .shp-work__meta {
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .page-shopify .shp-next__grid,
  .page-shopify .shp-services__grid,
  .page-shopify .shp-why__grid,
  .page-shopify .shp-process__track {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 360px;
    margin-inline: auto;
  }

  .page-shopify .shp-process__track li {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 16px;
    text-align: left;
    align-items: start;
  }

  .page-shopify .shp-process__icon {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .page-shopify .shp-process__num {
    margin-bottom: 4px;
  }

  .page-shopify .shp-process__track p {
    max-width: none;
  }

  .page-shopify .shp-perf__dash {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-inline: auto;
  }

  .page-shopify .shp-perf__media {
    max-width: 100%;
  }

  .page-shopify .shp-metric__top {
    flex-wrap: wrap;
  }

  .page-shopify .shp-mobile-bar__icon {
    width: 34px;
    height: 34px;
  }

  .page-shopify .shp-needs__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-shopify .shp-work__tag {
    font-size: 0.68rem;
    padding: 6px 8px;
  }

  .page-shopify .shp-work__meta span {
    font-size: 0.62rem;
  }

  .page-shopify .shp-hero__actions,
  .page-shopify .shp-cta__actions {
    flex-direction: column;
  }

  .page-shopify .shp-hero__actions .shp-btn,
  .page-shopify .shp-cta__actions .shp-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-shopify .shp-btn--solid:hover,
  .page-shopify .shp-next__card:hover,
  .page-shopify .shp-work__projects li:hover {
    transform: none;
  }

  .page-shopify .shp-work__showcase:hover .shp-work__media img {
    transform: none;
  }

  .page-shopify .shp-cta__media img,
  .page-shopify .shp-cta__orb {
    animation: none;
  }
}

/* =========================================================
   Landing Page Design redesign (.page-landing / .lpd-*)
   ========================================================= */

.page-landing .lpd-eyebrow {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-landing .lpd-section-head {
  margin-bottom: clamp(28px, 4vw, 44px);
  max-width: 720px;
}

.page-landing .lpd-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-landing .lpd-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-landing .lpd-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 1.02rem;
}

.page-landing .lpd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-landing .lpd-btn--solid {
  background: var(--green);
  color: #fff;
  border: 2px solid var(--green);
}

.page-landing .lpd-btn--solid:hover,
.page-landing .lpd-btn--solid:focus-visible {
  background: var(--green-mid);
  border-color: var(--green-mid);
  transform: translateY(-1px);
}

.page-landing .lpd-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-landing .lpd-btn--ghost:hover,
.page-landing .lpd-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-landing .lpd-icon,
.page-landing .lpd-service__icon,
.page-landing .lpd-why__icon,
.page-landing .lpd-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
}

/* --- Hero --- */
.page-landing .lpd-hero {
  padding: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 48px);
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%, rgba(0, 179, 72, 0.09), transparent 58%),
    linear-gradient(180deg, #f3faf6 0%, #f8fcf9 45%, #ffffff 100%);
  overflow: hidden;
}

.page-landing .lpd-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-landing .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-landing .lpd-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 4vw, 2.85rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-landing .lpd-hero h1 span {
  display: block;
  color: var(--green);
}

.page-landing .lpd-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-landing .lpd-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-landing .lpd-hero .lpd-btn {
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 0.92rem;
}

.page-landing .lpd-hero .lpd-btn--ghost {
  color: var(--green);
  border-color: var(--green);
  background: #fff;
}

.page-landing .lpd-hero .lpd-btn--ghost:hover,
.page-landing .lpd-hero .lpd-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-landing .lpd-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-landing .lpd-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-landing .lpd-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green);
}

.page-landing .lpd-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-landing .lpd-hero__pill-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.page-landing .lpd-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-landing .lpd-hero__pill-text small {
  font-size: 0.62rem;
  font-weight: 600;
  color: #7a8f80;
  line-height: 1.25;
}

.page-landing .lpd-hero__media {
  background: transparent;
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-landing .lpd-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Built for What's Next --- */
.page-landing .lpd-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #eef7f1;
}

.page-landing .lpd-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-landing .lpd-next__intro {
  max-width: 340px;
}

.page-landing .lpd-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 900;
  line-height: 1.2;
  color: #141c17;
}

.page-landing .lpd-next__intro p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-landing .lpd-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-landing .lpd-next__card {
  padding: 18px 16px 20px;
  border: none;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-landing .lpd-next__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 42, 26, 0.09);
}

.page-landing .lpd-next__card .lpd-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green-dark);
}

.page-landing .lpd-next__card h3 {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #141c17;
}

.page-landing .lpd-next__card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-landing .lpd-byline {
  max-width: 100%;
  margin: 14px 0 0 !important;
  text-align: left;
}

/* --- Services --- */
.page-landing .lpd-services {
  padding: clamp(24px, 3.5vw, 40px) 0 clamp(40px, 6vw, 72px);
  background: #fff;
}

.page-landing .lpd-services .lpd-section-head {
  max-width: min(960px, 100%);
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-landing .lpd-services .lpd-eyebrow {
  margin: 0 0 10px;
  color: var(--green);
}

.page-landing .lpd-services .lpd-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  white-space: normal;
  line-height: 1.25;
}

.page-landing .lpd-services .lpd-section-head > p:not(.lpd-eyebrow) {
  max-width: 640px;
  margin-inline: auto;
  font-size: 0.95rem;
}

.page-landing .lpd-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-landing .lpd-service {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 22px 22px 56px;
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 42, 26, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-landing .lpd-service:hover {
  border-color: var(--border);
  box-shadow: 0 10px 24px rgba(15, 42, 26, 0.08);
}

.page-landing .lpd-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  background: #e3f6ea !important;
  color: var(--green);
}

.page-landing .lpd-service h3 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  color: #141c17;
}

.page-landing .lpd-service p {
  margin: 0;
  padding-right: 4px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-landing .lpd-service__go {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  border: 0;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-landing .lpd-service__go:hover,
.page-landing .lpd-service__go:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: translateX(2px);
}

@media (max-width: 1100px) {
  .page-landing .lpd-services .lpd-section-head h2 {
    white-space: normal;
  }
}

/* --- Performance (conversion scoreboard, distinct from Shopify/WP dash) --- */
.page-landing .lpd-perf {
  position: relative;
  padding: clamp(52px, 7vw, 96px) 0;
  background:
    linear-gradient(180deg, #ffffff 0%, #f4faf6 48%, #ffffff 100%);
  overflow: hidden;
}

.page-landing .lpd-perf__head {
  margin-inline: auto;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: center;
  max-width: 640px;
}

.page-landing .lpd-perf__head .lpd-eyebrow {
  color: var(--green);
}

.page-landing .lpd-perf__head h2 {
  color: #141c17;
}

.page-landing .lpd-perf__head p {
  color: #5a6b5e;
}

.page-landing .lpd-perf__panel {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 0;
  align-items: stretch;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #d7eadf;
  background: #0f2a1a;
  box-shadow: 0 18px 40px rgba(15, 42, 26, 0.12);
  margin-bottom: clamp(18px, 3vw, 24px);
}

.page-landing .lpd-perf__panel-copy {
  padding: clamp(28px, 4vw, 44px) clamp(24px, 3.5vw, 40px);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(ellipse 80% 70% at 10% 90%, rgba(0, 179, 72, 0.35), transparent 55%),
    linear-gradient(160deg, #0f2a1a 0%, #163524 100%);
}

.page-landing .lpd-perf__kicker {
  margin: 0 0 12px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8fd9a8;
}

.page-landing .lpd-perf__big {
  margin: 0;
  font-size: clamp(3.2rem, 7vw, 4.6rem);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: #fff;
}

.page-landing .lpd-perf__big-label {
  margin: 12px 0 22px;
  max-width: 18rem;
  font-size: 0.98rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
}

.page-landing .lpd-perf__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.page-landing .lpd-perf__checks li {
  position: relative;
  padding-left: 26px;
  font-size: 0.9rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}

.page-landing .lpd-perf__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.2l2.4 2.4L12 5' stroke='%2300B348' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat,
    #e3f6ea;
}

.page-landing .lpd-perf__panel-media {
  position: relative;
  min-height: 280px;
  background: #e8f5ec;
}

.page-landing .lpd-perf__panel-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-landing .lpd-perf__funnel {
  list-style: none;
  margin: 0 0 clamp(18px, 3vw, 24px);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.page-landing .lpd-perf__funnel li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 16px;
  background: #fff;
  border: 1px solid #dceee3;
  border-radius: 14px;
  min-width: 0;
}

.page-landing .lpd-perf__funnel li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -8px;
  width: 12px;
  height: 2px;
  background: #b7dcc5;
  z-index: 1;
}

.page-landing .lpd-perf__funnel-step {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--green);
}

.page-landing .lpd-perf__funnel strong {
  font-size: 0.95rem;
  font-weight: 800;
  color: #141c17;
}

.page-landing .lpd-perf__funnel-val {
  margin-top: 4px;
  font-size: 1.35rem;
  font-weight: 900;
  color: #0f2a1a;
  line-height: 1;
}

.page-landing .lpd-perf__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.page-landing .lpd-perf__kpi {
  text-align: center;
  padding: 20px 12px;
  border-radius: 14px;
  background: #f0f8f3;
  border: 1px solid #d7eadf;
}

.page-landing .lpd-perf__kpi strong {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(1.35rem, 2.5vw, 1.7rem);
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.page-landing .lpd-perf__kpi span {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #5a6b5e;
  line-height: 1.35;
}

/* --- Process --- */
.page-landing .lpd-process {
  padding: clamp(52px, 7vw, 96px) 0;
  background: #fff;
}

.page-landing .lpd-process .lpd-section-head {
  max-width: 640px;
  margin-bottom: clamp(40px, 5vw, 60px);
}

.page-landing .lpd-process .lpd-section-head p:not(.lpd-eyebrow) {
  font-size: 1rem;
  color: #6b7a70;
}

.page-landing .lpd-process__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0;
  padding: 8px 0 0;
  list-style: none;
}

.page-landing .lpd-process__track::before {
  content: "";
  position: absolute;
  top: 40px;
  left: 8.333%;
  right: 8.333%;
  height: 0;
  border-top: 2px dashed #c8d9ce;
  pointer-events: none;
  z-index: 0;
}

.page-landing .lpd-process__track li {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 4px;
  min-width: 0;
}

.page-landing .lpd-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  border: 4px solid #fff;
  outline: 2px solid #d7eadf;
  box-shadow: none;
}

.page-landing .lpd-process__icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

.page-landing .lpd-process__num {
  display: block;
  margin-bottom: 8px;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
  line-height: 1;
}

.page-landing .lpd-process__track h3 {
  margin: 0 0 8px;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem);
  font-weight: 800;
  color: #122018;
  line-height: 1.25;
}

.page-landing .lpd-process__track p {
  margin: 0;
  max-width: 160px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #6b7a70;
}

/* --- Needs strip --- */
.page-landing .lpd-needs {
  padding: clamp(48px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, #ffffff 0%, transparent 70%),
    #eef7f1;
}

.page-landing .lpd-needs .lpd-section-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-landing .lpd-needs .lpd-section-head p:not(.lpd-eyebrow) {
  font-size: 1rem;
  color: #5a6b5e;
}

.page-landing .lpd-needs__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-landing .lpd-needs__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 132px;
  padding: 18px 10px 16px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 800;
  color: #1a2420;
  line-height: 1.25;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.06);
  border: 1px solid rgba(0, 179, 72, 0.06);
}

.page-landing .lpd-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  color: var(--green);
  background: none;
  border: 0;
  border-radius: 0;
}

.page-landing .lpd-needs__icon svg {
  display: block;
}

/* --- Work / portfolio --- */
.page-landing .lpd-work {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-landing .lpd-work__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}

.page-landing .lpd-work__copy {
  max-width: 340px;
}

.page-landing .lpd-work__copy .lpd-eyebrow {
  color: var(--green);
}

.page-landing .lpd-work__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-landing .lpd-work__copy p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-landing .lpd-work__showcase {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-landing .lpd-work__media {
  overflow: visible;
  margin-bottom: 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-landing .lpd-work__media img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
  filter: none;
  transition: none;
}

.page-landing .lpd-work__showcase:hover .lpd-work__media img {
  transform: none;
}

.page-landing .lpd-work__projects {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-landing .lpd-work__projects li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 16px 12px 18px;
  border-radius: 14px;
  background: #f7fcf8;
  border: 1.5px solid #d7eadf;
  box-shadow: none;
  filter: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.page-landing .lpd-work__projects li:hover {
  transform: none;
  border-color: var(--green);
  background: #eef8f1;
}

.page-landing .lpd-work__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.page-landing .lpd-work__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
}

.page-landing .lpd-work__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 800;
  color: #1f3d2a;
  white-space: nowrap;
}

.page-landing .lpd-work__meta svg {
  color: var(--green);
  flex-shrink: 0;
}

/* --- Why --- */
.page-landing .lpd-why {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-landing .lpd-why .lpd-section-head {
  max-width: 560px;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: left;
  margin-inline: 0;
}

.page-landing .lpd-why .lpd-section-head p:not(.lpd-eyebrow) {
  color: #5a6b5e;
  font-size: 1rem;
}

.page-landing .lpd-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-landing .lpd-why__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 20px 20px;
  border: 1px solid rgba(0, 179, 72, 0.06);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-landing .lpd-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #e3f6ea;
  color: var(--green);
}

.page-landing .lpd-why__item h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #122018;
  line-height: 1.3;
}

.page-landing .lpd-why__item p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-landing .lpd-faq {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-landing .lpd-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.page-landing .lpd-faq .lpd-section-head {
  max-width: 420px;
  margin-bottom: 0;
}

.page-landing .lpd-faq .lpd-section-head > p:not(.lpd-eyebrow):not(.lpd-byline) {
  color: #5a6b5e;
  font-size: 0.98rem;
  margin-bottom: 14px;
}

.page-landing .lpd-faq .lpd-byline {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #7a8f80;
}

.page-landing .lpd-faq__list {
  display: grid;
  gap: 12px;
}

.page-landing .lpd-faq__item {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 12px;
  padding: 0 18px;
  box-shadow: 0 4px 14px rgba(15, 42, 26, 0.03);
}

.page-landing .lpd-faq__item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 36px 18px 0;
  font-weight: 800;
  font-size: 0.95rem;
  color: #122018;
  position: relative;
  line-height: 1.4;
}

.page-landing .lpd-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-landing .lpd-faq__num {
  color: #7a8f80;
  font-weight: 800;
  flex-shrink: 0;
}

.page-landing .lpd-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.page-landing .lpd-faq__item[open] summary::after {
  content: "-";
}

.page-landing .lpd-faq__item p {
  margin: 0 0 18px;
  padding-right: 28px;
  padding-left: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-landing .lpd-cta {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.page-landing .lpd-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 40px);
  align-items: center;
  padding: clamp(28px, 4.5vw, 52px) clamp(24px, 4vw, 48px);
  border-radius: 28px;
  border: 1px solid #d7eadf;
  background:
    radial-gradient(ellipse 45% 70% at 88% 42%, rgba(0, 179, 72, 0.16), transparent 62%),
    radial-gradient(ellipse 35% 50% at 8% 90%, rgba(0, 179, 72, 0.08), transparent 55%),
    linear-gradient(145deg, #eef9f2 0%, #f7fcf9 48%, #ffffff 100%);
  box-shadow: 0 18px 48px rgba(15, 42, 26, 0.06);
  overflow: hidden;
}

.page-landing .lpd-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-landing .lpd-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-landing .lpd-cta__copy h2 span {
  color: var(--green);
}

.page-landing .lpd-cta__copy > p {
  margin: 0 0 24px;
  color: #4a5d52;
  line-height: 1.65;
  max-width: 34rem;
  font-size: 1.02rem;
}

.page-landing .lpd-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.page-landing .lpd-cta__actions .lpd-btn {
  border-radius: 999px;
  padding: 14px 24px;
  box-shadow: 0 8px 20px rgba(0, 179, 72, 0.12);
}

.page-landing .lpd-cta__actions .lpd-btn--ghost {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.88);
}

.page-landing .lpd-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-landing .lpd-cta__trust li {
  position: relative;
  padding-left: 18px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #5a6f62;
}

.page-landing .lpd-cta__trust li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

.page-landing .lpd-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 460px;
  isolation: isolate;
}

.page-landing .lpd-cta__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 22px 36px rgba(0, 100, 40, 0.18));
  animation: lpd-cta-float 5.5s ease-in-out infinite;
}

.page-landing .lpd-cta__orb {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #7dffb0, var(--green) 55%, #007a32);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}

.page-landing .lpd-cta__orb--a {
  width: 54px;
  height: 54px;
  top: 8%;
  right: 6%;
  animation: lpd-cta-orb 6s ease-in-out infinite;
}

.page-landing .lpd-cta__orb--b {
  width: 28px;
  height: 28px;
  bottom: 18%;
  left: 4%;
  opacity: 0.4;
  animation: lpd-cta-orb 7.5s ease-in-out infinite reverse;
}

.page-landing .lpd-cta__orb--c {
  width: 18px;
  height: 18px;
  top: 42%;
  left: 12%;
  opacity: 0.35;
  animation: lpd-cta-orb 5s ease-in-out infinite;
}

@keyframes lpd-cta-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes lpd-cta-orb {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.06); }
}

/* --- Related --- */
.page-landing .lpd-related {
  padding: clamp(36px, 5vw, 56px) 0 64px;
  background: #fff;
  border-top: 1px solid var(--border);
}

.page-landing .lpd-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-landing .lpd-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  text-decoration: none;
  background: #f7fcf8;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-landing .lpd-related__list a:hover,
.page-landing .lpd-related__list a:focus-visible {
  background: var(--soft);
  border-color: var(--green);
  color: var(--green);
}

/* --- Responsive --- */
@media (max-width: 1100px) {
  .page-landing .lpd-perf__panel {
    grid-template-columns: 1fr;
  }

  .page-landing .lpd-perf__panel-media {
    min-height: 240px;
    order: 2;
  }

  .page-landing .lpd-perf__panel-copy {
    order: 1;
  }

  .page-landing .lpd-perf__funnel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-landing .lpd-perf__funnel li:not(:last-child)::after {
    display: none;
  }

  .page-landing .lpd-perf__kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-landing .lpd-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 24px;
  }

  .page-landing .lpd-process__track::before {
    display: none;
  }

  .page-landing .lpd-process__track li {
    padding: 0 10px;
  }

  .page-landing .lpd-process__track p {
    max-width: 200px;
  }

  .page-landing .lpd-needs__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .page-landing .lpd-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-landing .lpd-work__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-landing .lpd-work__copy {
    max-width: 560px;
    text-align: center;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .page-landing .lpd-hero__grid,
  .page-landing .lpd-faq__inner,
  .page-landing .lpd-cta__panel {
    grid-template-columns: 1fr;
  }

  .page-landing .lpd-speed__value strong {
    font-size: 1.85rem;
  }

  .page-landing .lpd-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-landing .lpd-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-landing .lpd-hero h1 span {
    display: block;
  }

  .page-landing .lpd-next__layout {
    grid-template-columns: 1fr;
  }

  .page-landing .lpd-next__intro {
    max-width: 560px;
  }

  .page-landing .lpd-next__grid,
  .page-landing .lpd-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-landing .lpd-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-landing .lpd-work__meta {
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .page-landing .lpd-next__grid,
  .page-landing .lpd-services__grid,
  .page-landing .lpd-why__grid,
  .page-landing .lpd-process__track {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 360px;
    margin-inline: auto;
  }

  .page-landing .lpd-process__track li {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 16px;
    text-align: left;
    align-items: start;
  }

  .page-landing .lpd-process__icon {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .page-landing .lpd-process__num {
    margin-bottom: 4px;
  }

  .page-landing .lpd-process__track p {
    max-width: none;
  }

  .page-landing .lpd-perf__funnel,
  .page-landing .lpd-perf__kpis {
    grid-template-columns: 1fr 1fr;
  }

  .page-landing .lpd-needs__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-landing .lpd-work__tag {
    font-size: 0.68rem;
    padding: 6px 8px;
  }

  .page-landing .lpd-work__meta span {
    font-size: 0.62rem;
  }

  .page-landing .lpd-hero__actions,
  .page-landing .lpd-cta__actions {
    flex-direction: column;
  }

  .page-landing .lpd-hero__actions .lpd-btn,
  .page-landing .lpd-cta__actions .lpd-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-landing .lpd-btn--solid:hover,
  .page-landing .lpd-next__card:hover,
  .page-landing .lpd-work__projects li:hover {
    transform: none;
  }

  .page-landing .lpd-work__showcase:hover .lpd-work__media img {
    transform: none;
  }

  .page-landing .lpd-cta__media img,
  .page-landing .lpd-cta__orb {
    animation: none;
  }
}

/* =========================================================
   Service page UI variants — shared system, distinct personality
   Shopify = baseline | WordPress = structured | Landing = campaign
   ========================================================= */

/* --- WordPress: structured / editorial --- */
.page-wordpress .wpd-hero {
  background:
    linear-gradient(90deg, rgba(0, 179, 72, 0.07) 0, rgba(0, 179, 72, 0.07) 6px, transparent 6px),
    radial-gradient(ellipse 48% 62% at 82% 28%, rgba(0, 179, 72, 0.08), transparent 60%),
    linear-gradient(165deg, #eef7f1 0%, #f7fbf8 42%, #ffffff 100%);
}

.page-wordpress .svc-breadcrumb {
  background: #f4f8f5;
  border-bottom: 1px solid #dce8e0;
}

.page-wordpress .wpd-btn,
.page-wordpress .wpd-hero .wpd-btn,
.page-wordpress .wpd-cta .wpd-btn {
  border-radius: 6px;
}

.page-wordpress .wpd-hero__pill-icon {
  border-radius: 8px;
  background: #fff;
  border: 1px solid #d7ebdd;
  box-shadow: 0 1px 0 rgba(15, 42, 26, 0.04);
}

.page-wordpress .wpd-next__card {
  border-radius: 10px;
  border-top: 3px solid var(--green);
  box-shadow: none;
  background: #f7fbf8;
}

.page-wordpress .wpd-next__card:hover {
  background: #fff;
  box-shadow: 0 8px 20px rgba(15, 42, 26, 0.06);
}

.page-wordpress .wpd-next__card .wpd-icon {
  border-radius: 8px;
}

.page-wordpress .wpd-service {
  border-radius: 10px;
  border-left: 3px solid transparent;
}

.page-wordpress .wpd-service:hover {
  border-left-color: var(--green);
}

.page-wordpress .wpd-process__track::before {
  height: 2px;
  background: repeating-linear-gradient(
    90deg,
    #cfe8d7 0 10px,
    transparent 10px 18px
  );
}

.page-wordpress .wpd-process__icon {
  border-radius: 10px;
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

.page-wordpress .wpd-faq__item {
  border-radius: 8px;
  border-left: 3px solid transparent;
}

.page-wordpress .wpd-faq__item[open] {
  border-left-color: var(--green);
  background: #f7fbf8;
}

.page-wordpress .wpd-cta {
  border-radius: 12px;
  background:
    linear-gradient(135deg, #0f2a1a 0%, #163524 55%, #1a4030 100%);
}

.page-wordpress .wpd-metric {
  border-radius: 10px;
}

/* --- Landing Page: campaign / conversion --- */
.page-landing .lpd-hero {
  background:
    radial-gradient(circle at 12% 88%, rgba(0, 179, 72, 0.1), transparent 42%),
    radial-gradient(ellipse 50% 55% at 88% 18%, rgba(0, 179, 72, 0.12), transparent 55%),
    linear-gradient(200deg, #e8f6ee 0%, #f5fbf7 38%, #ffffff 100%);
}

.page-landing .svc-breadcrumb {
  background: transparent;
  border-bottom: 0;
}

.page-landing .lpd-breadcrumb .svc-breadcrumb__list {
  padding-top: 10px;
}

.page-landing .lpd-btn--solid,
.page-landing .lpd-hero .lpd-btn--solid,
.page-landing .lpd-cta .lpd-btn--solid {
  border-radius: 999px;
  padding-inline: 26px;
}

.page-landing .lpd-btn--ghost,
.page-landing .lpd-hero .lpd-btn--ghost,
.page-landing .lpd-cta .lpd-btn--ghost {
  border-radius: 999px;
  padding-inline: 24px;
}

.page-landing .lpd-hero__pills li {
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #dceee3;
  border-radius: 12px;
}

.page-landing .lpd-hero__pill-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #dff5e8;
}

.page-landing .lpd-next__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 18px;
  padding: 26px 18px 22px;
  background: #fff;
  border: 1px solid #e2eee6;
  box-shadow: 0 10px 28px rgba(15, 42, 26, 0.05);
}

.page-landing .lpd-next__card .lpd-icon {
  margin-inline: auto;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #e3f6ea;
}

.page-landing .lpd-service {
  border-radius: 18px;
  padding-top: 26px;
  border: 1px solid #e2eee6;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcf9 100%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.page-landing .lpd-service:hover {
  border-color: rgba(0, 179, 72, 0.35);
  box-shadow: 0 14px 30px rgba(0, 179, 72, 0.1);
  transform: translateY(-3px);
}

.page-landing .lpd-service__icon {
  border-radius: 50%;
  width: 52px;
  height: 52px;
}

.page-landing .lpd-service__go {
  border-radius: 10px;
  width: 38px;
  height: 34px;
}

.page-landing .lpd-process__track::before {
  border-top-style: solid;
  border-top-color: #c5e0d0;
  opacity: 0.85;
}

.page-landing .lpd-process__icon {
  background: #143226;
  outline-color: #b7dcc5;
}

.page-landing .lpd-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  height: 1.65rem;
  padding: 0 8px;
  margin-bottom: 8px;
  border-radius: 999px;
  background: #e3f6ea;
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.page-landing .lpd-faq__item {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e2eee6;
  background: #fff;
}

.page-landing .lpd-faq__item[open] {
  border-color: rgba(0, 179, 72, 0.28);
  box-shadow: 0 8px 22px rgba(0, 179, 72, 0.08);
}

.page-landing .lpd-faq__item[open] summary {
  background: #eef8f1;
}

.page-landing .lpd-cta {
  border-radius: 24px;
  background:
    radial-gradient(ellipse 60% 80% at 85% 20%, rgba(0, 179, 72, 0.28), transparent 55%),
    linear-gradient(145deg, #0c2418 0%, #143226 50%, #0f2a1a 100%);
}

.page-landing .lpd-needs__item {
  border-radius: 16px;
}

/* --- Shopify: keep baseline; light unique polish --- */
.page-shopify .shp-hero {
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%, rgba(0, 179, 72, 0.1), transparent 58%),
    linear-gradient(180deg, #f0f8f3 0%, #f8fcf9 48%, #ffffff 100%);
}

.page-shopify .shp-service__icon {
  border-radius: 12px;
}

.page-shopify .shp-process__num {
  color: var(--green);
  letter-spacing: 0.04em;
}

@media (prefers-reduced-motion: reduce) {
  .page-landing .lpd-service:hover {
    transform: none;
  }
}

/* =========================================================
   Website Redesign page (.page-redesign / .wrd-*) (.page-redesign / .wrd-*)
   ========================================================= */

.page-redesign .wrd-eyebrow {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-redesign .wrd-section-head {
  margin-bottom: clamp(28px, 4vw, 44px);
  max-width: 720px;
}

.page-redesign .wrd-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-redesign .wrd-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-redesign .wrd-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 1.02rem;
}

.page-redesign .wrd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-redesign .wrd-btn--solid {
  background: var(--green);
  color: #fff;
  border: 2px solid var(--green);
}

.page-redesign .wrd-btn--solid:hover,
.page-redesign .wrd-btn--solid:focus-visible {
  background: var(--green-mid);
  border-color: var(--green-mid);
  transform: translateY(-1px);
}

.page-redesign .wrd-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-redesign .wrd-btn--ghost:hover,
.page-redesign .wrd-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-redesign .wrd-icon,
.page-redesign .wrd-service__icon,
.page-redesign .wrd-why__icon,
.page-redesign .wrd-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
}

/* --- Hero --- */
.page-redesign .wrd-hero {
  padding: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 48px);
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%, rgba(0, 179, 72, 0.09), transparent 58%),
    linear-gradient(180deg, #f3faf6 0%, #f8fcf9 45%, #ffffff 100%);
  overflow: hidden;
}

.page-redesign .wrd-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-redesign .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-redesign .wrd-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 4vw, 2.85rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-redesign .wrd-hero h1 span {
  display: block;
  color: var(--green);
}

.page-redesign .wrd-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-redesign .wrd-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-redesign .wrd-hero .wrd-btn {
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 0.92rem;
}

.page-redesign .wrd-hero .wrd-btn--ghost {
  color: var(--green);
  border-color: var(--green);
  background: #fff;
}

.page-redesign .wrd-hero .wrd-btn--ghost:hover,
.page-redesign .wrd-hero .wrd-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-redesign .wrd-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-redesign .wrd-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-redesign .wrd-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green);
}

.page-redesign .wrd-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-redesign .wrd-hero__pill-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.page-redesign .wrd-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-redesign .wrd-hero__pill-text small {
  font-size: 0.62rem;
  font-weight: 600;
  color: #7a8f80;
  line-height: 1.25;
}

.page-redesign .wrd-hero__media {
  background: transparent;
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-redesign .wrd-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Built for What's Next --- */
.page-redesign .wrd-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #eef7f1;
}

.page-redesign .wrd-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-redesign .wrd-next__intro {
  max-width: 340px;
}

.page-redesign .wrd-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 900;
  line-height: 1.2;
  color: #141c17;
}

.page-redesign .wrd-next__intro p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-redesign .wrd-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-redesign .wrd-next__card {
  padding: 18px 16px 20px;
  border: none;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-redesign .wrd-next__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 42, 26, 0.09);
}

.page-redesign .wrd-next__card .wrd-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green-dark);
}

.page-redesign .wrd-next__card h3 {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #141c17;
}

.page-redesign .wrd-next__card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-redesign .wrd-byline {
  max-width: 100%;
  margin: 14px 0 0 !important;
  text-align: left;
}

/* --- Services --- */
.page-redesign .wrd-services {
  padding: clamp(24px, 3.5vw, 40px) 0 clamp(40px, 6vw, 72px);
  background: #fff;
}

.page-redesign .wrd-services .wrd-section-head {
  max-width: min(960px, 100%);
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-redesign .wrd-services .wrd-eyebrow {
  margin: 0 0 10px;
  color: var(--green);
}

.page-redesign .wrd-services .wrd-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  white-space: normal;
  line-height: 1.25;
}

.page-redesign .wrd-services .wrd-section-head > p:not(.wrd-eyebrow) {
  max-width: 640px;
  margin-inline: auto;
  font-size: 0.95rem;
}

.page-redesign .wrd-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-redesign .wrd-service {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 22px 22px 56px;
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 42, 26, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-redesign .wrd-service:hover {
  border-color: var(--border);
  box-shadow: 0 10px 24px rgba(15, 42, 26, 0.08);
}

.page-redesign .wrd-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  background: #e3f6ea !important;
  color: var(--green);
}

.page-redesign .wrd-service h3 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  color: #141c17;
}

.page-redesign .wrd-service p {
  margin: 0;
  padding-right: 4px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-redesign .wrd-service__go {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  border: 0;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-redesign .wrd-service__go:hover,
.page-redesign .wrd-service__go:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: translateX(2px);
}

@media (max-width: 1100px) {
  .page-redesign .wrd-services .wrd-section-head h2 {
    white-space: normal;
  }
}

/* --- Performance (before/after compare — distinct personality) --- */
.page-redesign .wrd-perf {
  position: relative;
  padding: clamp(52px, 7vw, 96px) 0;
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(0, 179, 72, 0.08), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f3f9f5 100%);
  overflow: hidden;
}

.page-redesign .wrd-perf__head {
  margin-inline: auto;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: center;
  max-width: 640px;
}

.page-redesign .wrd-perf__compare {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.1fr) minmax(0, 0.85fr);
  gap: 14px;
  align-items: stretch;
  margin-bottom: clamp(18px, 3vw, 24px);
}

.page-redesign .wrd-perf__side {
  padding: clamp(22px, 3vw, 28px) clamp(18px, 2.5vw, 24px);
  border-radius: 16px;
  border: 1px solid #dceee3;
  background: #fff;
}

.page-redesign .wrd-perf__side--before {
  background: #f7f8f7;
  border-color: #e2e6e3;
}

.page-redesign .wrd-perf__side--after {
  background: #0f2a1a;
  border-color: #0f2a1a;
  color: #fff;
}

.page-redesign .wrd-perf__label {
  margin: 0 0 8px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7a8f80;
}

.page-redesign .wrd-perf__side--after .wrd-perf__label {
  color: #8fd9a8;
}

.page-redesign .wrd-perf__side h3 {
  margin: 0 0 14px;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.25;
  color: #141c17;
}

.page-redesign .wrd-perf__side--after h3 {
  color: #fff;
}

.page-redesign .wrd-perf__side ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.page-redesign .wrd-perf__side li {
  position: relative;
  padding-left: 18px;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #5a6b5e;
}

.page-redesign .wrd-perf__side--after li {
  color: rgba(255, 255, 255, 0.88);
}

.page-redesign .wrd-perf__side li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c5cfc8;
}

.page-redesign .wrd-perf__side--after li::before {
  background: var(--green);
}

.page-redesign .wrd-perf__media {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #d7eadf;
  background: #e8f5ec;
  min-height: 220px;
}

.page-redesign .wrd-perf__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-redesign .wrd-perf__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.page-redesign .wrd-perf__kpi {
  text-align: center;
  padding: 18px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #dceee3;
}

.page-redesign .wrd-perf__kpi strong {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(1.3rem, 2.4vw, 1.65rem);
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.page-redesign .wrd-perf__kpi span {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #5a6b5e;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .page-redesign .wrd-perf__compare {
    grid-template-columns: 1fr 1fr;
  }

  .page-redesign .wrd-perf__media {
    grid-column: 1 / -1;
    order: -1;
    min-height: 240px;
  }
}

@media (max-width: 700px) {
  .page-redesign .wrd-perf__compare,
  .page-redesign .wrd-perf__kpis {
    grid-template-columns: 1fr;
  }
}

/* --- Process --- */
.page-redesign .wrd-process {
  padding: clamp(52px, 7vw, 96px) 0;
  background: #fff;
}

.page-redesign .wrd-process .wrd-section-head {
  max-width: 640px;
  margin-bottom: clamp(40px, 5vw, 60px);
}

.page-redesign .wrd-process .wrd-section-head p:not(.wrd-eyebrow) {
  font-size: 1rem;
  color: #6b7a70;
}

.page-redesign .wrd-process__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0;
  padding: 8px 0 0;
  list-style: none;
}

.page-redesign .wrd-process__track::before {
  content: "";
  position: absolute;
  top: 40px;
  left: 8.333%;
  right: 8.333%;
  height: 0;
  border-top: 2px dashed #c8d9ce;
  pointer-events: none;
  z-index: 0;
}

.page-redesign .wrd-process__track li {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 4px;
  min-width: 0;
}

.page-redesign .wrd-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  border: 4px solid #fff;
  outline: 2px solid #d7eadf;
  box-shadow: none;
}

.page-redesign .wrd-process__icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

.page-redesign .wrd-process__num {
  display: block;
  margin-bottom: 8px;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
  line-height: 1;
}

.page-redesign .wrd-process__track h3 {
  margin: 0 0 8px;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem);
  font-weight: 800;
  color: #122018;
  line-height: 1.25;
}

.page-redesign .wrd-process__track p {
  margin: 0;
  max-width: 160px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #6b7a70;
}

/* --- Needs strip --- */
.page-redesign .wrd-needs {
  padding: clamp(48px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, #ffffff 0%, transparent 70%),
    #eef7f1;
}

.page-redesign .wrd-needs .wrd-section-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-redesign .wrd-needs .wrd-section-head p:not(.wrd-eyebrow) {
  font-size: 1rem;
  color: #5a6b5e;
}

.page-redesign .wrd-needs__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-redesign .wrd-needs__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 132px;
  padding: 18px 10px 16px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 800;
  color: #1a2420;
  line-height: 1.25;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.06);
  border: 1px solid rgba(0, 179, 72, 0.06);
}

.page-redesign .wrd-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  color: var(--green);
  background: none;
  border: 0;
  border-radius: 0;
}

.page-redesign .wrd-needs__icon svg {
  display: block;
}

/* --- Work / portfolio --- */
.page-redesign .wrd-work {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-redesign .wrd-work__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}

.page-redesign .wrd-work__copy {
  max-width: 340px;
}

.page-redesign .wrd-work__copy .wrd-eyebrow {
  color: var(--green);
}

.page-redesign .wrd-work__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-redesign .wrd-work__copy p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-redesign .wrd-work__showcase {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-redesign .wrd-work__media {
  overflow: visible;
  margin-bottom: 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-redesign .wrd-work__media img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
  filter: none;
  transition: none;
}

.page-redesign .wrd-work__showcase:hover .wrd-work__media img {
  transform: none;
}

.page-redesign .wrd-work__projects {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-redesign .wrd-work__projects li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 16px 12px 18px;
  border-radius: 14px;
  background: #f7fcf8;
  border: 1.5px solid #d7eadf;
  box-shadow: none;
  filter: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.page-redesign .wrd-work__projects li:hover {
  transform: none;
  border-color: var(--green);
  background: #eef8f1;
}

.page-redesign .wrd-work__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.page-redesign .wrd-work__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
}

.page-redesign .wrd-work__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 800;
  color: #1f3d2a;
  white-space: nowrap;
}

.page-redesign .wrd-work__meta svg {
  color: var(--green);
  flex-shrink: 0;
}

/* --- Why --- */
.page-redesign .wrd-why {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-redesign .wrd-why .wrd-section-head {
  max-width: 560px;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: left;
  margin-inline: 0;
}

.page-redesign .wrd-why .wrd-section-head p:not(.wrd-eyebrow) {
  color: #5a6b5e;
  font-size: 1rem;
}

.page-redesign .wrd-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-redesign .wrd-why__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 20px 20px;
  border: 1px solid rgba(0, 179, 72, 0.06);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-redesign .wrd-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #e3f6ea;
  color: var(--green);
}

.page-redesign .wrd-why__item h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #122018;
  line-height: 1.3;
}

.page-redesign .wrd-why__item p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-redesign .wrd-faq {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-redesign .wrd-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.page-redesign .wrd-faq .wrd-section-head {
  max-width: 420px;
  margin-bottom: 0;
}

.page-redesign .wrd-faq .wrd-section-head > p:not(.wrd-eyebrow):not(.wrd-byline) {
  color: #5a6b5e;
  font-size: 0.98rem;
  margin-bottom: 14px;
}

.page-redesign .wrd-faq .wrd-byline {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #7a8f80;
}

.page-redesign .wrd-faq__list {
  display: grid;
  gap: 12px;
}

.page-redesign .wrd-faq__item {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 12px;
  padding: 0 18px;
  box-shadow: 0 4px 14px rgba(15, 42, 26, 0.03);
}

.page-redesign .wrd-faq__item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 36px 18px 0;
  font-weight: 800;
  font-size: 0.95rem;
  color: #122018;
  position: relative;
  line-height: 1.4;
}

.page-redesign .wrd-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-redesign .wrd-faq__num {
  color: #7a8f80;
  font-weight: 800;
  flex-shrink: 0;
}

.page-redesign .wrd-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.page-redesign .wrd-faq__item[open] summary::after {
  content: "-";
}

.page-redesign .wrd-faq__item p {
  margin: 0 0 18px;
  padding-right: 28px;
  padding-left: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-redesign .wrd-cta {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.page-redesign .wrd-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 40px);
  align-items: center;
  padding: clamp(28px, 4.5vw, 52px) clamp(24px, 4vw, 48px);
  border-radius: 28px;
  border: 1px solid #d7eadf;
  background:
    radial-gradient(ellipse 45% 70% at 88% 42%, rgba(0, 179, 72, 0.16), transparent 62%),
    radial-gradient(ellipse 35% 50% at 8% 90%, rgba(0, 179, 72, 0.08), transparent 55%),
    linear-gradient(145deg, #eef9f2 0%, #f7fcf9 48%, #ffffff 100%);
  box-shadow: 0 18px 48px rgba(15, 42, 26, 0.06);
  overflow: hidden;
}

.page-redesign .wrd-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-redesign .wrd-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-redesign .wrd-cta__copy h2 span {
  color: var(--green);
}

.page-redesign .wrd-cta__copy > p {
  margin: 0 0 24px;
  color: #4a5d52;
  line-height: 1.65;
  max-width: 34rem;
  font-size: 1.02rem;
}

.page-redesign .wrd-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.page-redesign .wrd-cta__actions .wrd-btn {
  border-radius: 999px;
  padding: 14px 24px;
  box-shadow: 0 8px 20px rgba(0, 179, 72, 0.12);
}

.page-redesign .wrd-cta__actions .wrd-btn--ghost {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.88);
}

.page-redesign .wrd-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-redesign .wrd-cta__trust li {
  position: relative;
  padding-left: 18px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #5a6f62;
}

.page-redesign .wrd-cta__trust li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

.page-redesign .wrd-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 460px;
  isolation: isolate;
}

.page-redesign .wrd-cta__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 22px 36px rgba(0, 100, 40, 0.18));
  animation: wrd-cta-float 5.5s ease-in-out infinite;
}

.page-redesign .wrd-cta__orb {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #7dffb0, var(--green) 55%, #007a32);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}

.page-redesign .wrd-cta__orb--a {
  width: 54px;
  height: 54px;
  top: 8%;
  right: 6%;
  animation: wrd-cta-orb 6s ease-in-out infinite;
}

.page-redesign .wrd-cta__orb--b {
  width: 28px;
  height: 28px;
  bottom: 18%;
  left: 4%;
  opacity: 0.4;
  animation: wrd-cta-orb 7.5s ease-in-out infinite reverse;
}

.page-redesign .wrd-cta__orb--c {
  width: 18px;
  height: 18px;
  top: 42%;
  left: 12%;
  opacity: 0.35;
  animation: wrd-cta-orb 5s ease-in-out infinite;
}

@keyframes wrd-cta-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes wrd-cta-orb {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.06); }
}

/* --- Related --- */
.page-redesign .wrd-related {
  padding: clamp(36px, 5vw, 56px) 0 64px;
  background: #fff;
  border-top: 1px solid var(--border);
}

.page-redesign .wrd-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-redesign .wrd-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  text-decoration: none;
  background: #f7fcf8;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-redesign .wrd-related__list a:hover,
.page-redesign .wrd-related__list a:focus-visible {
  background: var(--soft);
  border-color: var(--green);
  color: var(--green);
}

/* --- Responsive --- */
@media (max-width: 1100px) {

  .page-redesign .wrd-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 24px;
  }

  .page-redesign .wrd-process__track::before {
    display: none;
  }

  .page-redesign .wrd-process__track li {
    padding: 0 10px;
  }

  .page-redesign .wrd-process__track p {
    max-width: 200px;
  }

  .page-redesign .wrd-needs__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .page-redesign .wrd-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-redesign .wrd-work__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-redesign .wrd-work__copy {
    max-width: 560px;
    text-align: center;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .page-redesign .wrd-hero__grid,
  .page-redesign .wrd-faq__inner,
  .page-redesign .wrd-cta__panel {
    grid-template-columns: 1fr;
  }

  .page-redesign .wrd-speed__value strong {
    font-size: 1.85rem;
  }

  .page-redesign .wrd-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-redesign .wrd-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-redesign .wrd-hero h1 span {
    display: block;
  }

  .page-redesign .wrd-next__layout {
    grid-template-columns: 1fr;
  }

  .page-redesign .wrd-next__intro {
    max-width: 560px;
  }

  .page-redesign .wrd-next__grid,
  .page-redesign .wrd-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-redesign .wrd-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-redesign .wrd-work__meta {
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .page-redesign .wrd-next__grid,
  .page-redesign .wrd-services__grid,
  .page-redesign .wrd-why__grid,
  .page-redesign .wrd-process__track {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 360px;
    margin-inline: auto;
  }

  .page-redesign .wrd-process__track li {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 16px;
    text-align: left;
    align-items: start;
  }

  .page-redesign .wrd-process__icon {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .page-redesign .wrd-process__num {
    margin-bottom: 4px;
  }

  .page-redesign .wrd-process__track p {
    max-width: none;
  }

  .page-redesign .wrd-needs__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-redesign .wrd-work__tag {
    font-size: 0.68rem;
    padding: 6px 8px;
  }

  .page-redesign .wrd-work__meta span {
    font-size: 0.62rem;
  }

  .page-redesign .wrd-hero__actions,
  .page-redesign .wrd-cta__actions {
    flex-direction: column;
  }

  .page-redesign .wrd-hero__actions .wrd-btn,
  .page-redesign .wrd-cta__actions .wrd-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-redesign .wrd-btn--solid:hover,
  .page-redesign .wrd-next__card:hover,
  .page-redesign .wrd-work__projects li:hover {
    transform: none;
  }

  .page-redesign .wrd-work__showcase:hover .wrd-work__media img {
    transform: none;
  }

  .page-redesign .wrd-cta__media img,
  .page-redesign .wrd-cta__orb {
    animation: none;
  }
}

/* --- Website Redesign personality (transformation) --- */
.page-redesign .wrd-hero {
  background:
    linear-gradient(105deg, rgba(0, 179, 72, 0.06) 0%, transparent 42%),
    radial-gradient(ellipse 50% 60% at 88% 30%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(180deg, #eef6f1 0%, #f8fcf9 50%, #ffffff 100%);
}

.page-redesign .wrd-btn--solid,
.page-redesign .wrd-hero .wrd-btn--solid {
  border-radius: 8px;
}

.page-redesign .wrd-btn--ghost,
.page-redesign .wrd-hero .wrd-btn--ghost {
  border-radius: 8px;
}

.page-redesign .wrd-hero__pill-icon {
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
}

.page-redesign .wrd-next__card {
  border-radius: 12px;
  border-left: 3px solid var(--green);
  box-shadow: none;
  background: #f7fbf8;
}

.page-redesign .wrd-service {
  border-radius: 12px;
}

.page-redesign .wrd-service__icon {
  border-radius: 8px;
}

.page-redesign .wrd-process__icon {
  border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

/* =========================================================
   E-commerce Website Development page (.page-ecommerce / .ecom-*) (.page-ecommerce / .ecom-*)
   ========================================================= */

.page-ecommerce .ecom-eyebrow {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-ecommerce .ecom-section-head {
  margin-bottom: clamp(28px, 4vw, 44px);
  max-width: 720px;
}

.page-ecommerce .ecom-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-ecommerce .ecom-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-ecommerce .ecom-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 1.02rem;
}

.page-ecommerce .ecom-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-ecommerce .ecom-btn--solid {
  background: var(--green);
  color: #fff;
  border: 2px solid var(--green);
}

.page-ecommerce .ecom-btn--solid:hover,
.page-ecommerce .ecom-btn--solid:focus-visible {
  background: var(--green-mid);
  border-color: var(--green-mid);
  transform: translateY(-1px);
}

.page-ecommerce .ecom-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-ecommerce .ecom-btn--ghost:hover,
.page-ecommerce .ecom-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-ecommerce .ecom-icon,
.page-ecommerce .ecom-service__icon,
.page-ecommerce .ecom-why__icon,
.page-ecommerce .ecom-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
}

/* --- Hero --- */
.page-ecommerce .ecom-hero {
  padding: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 48px);
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%, rgba(0, 179, 72, 0.09), transparent 58%),
    linear-gradient(180deg, #f3faf6 0%, #f8fcf9 45%, #ffffff 100%);
  overflow: hidden;
}

.page-ecommerce .ecom-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-ecommerce .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-ecommerce .ecom-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 4vw, 2.85rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-ecommerce .ecom-hero h1 span {
  display: block;
  color: var(--green);
}

.page-ecommerce .ecom-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-ecommerce .ecom-hero__lead a {
  color: var(--green-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.page-ecommerce .ecom-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-ecommerce .ecom-hero .ecom-btn {
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 0.92rem;
}

.page-ecommerce .ecom-hero .ecom-btn--ghost {
  color: var(--green);
  border-color: var(--green);
  background: #fff;
}

.page-ecommerce .ecom-hero .ecom-btn--ghost:hover,
.page-ecommerce .ecom-hero .ecom-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-ecommerce .ecom-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-ecommerce .ecom-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-ecommerce .ecom-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green);
}

.page-ecommerce .ecom-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-ecommerce .ecom-hero__pill-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.page-ecommerce .ecom-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-ecommerce .ecom-hero__pill-text small {
  font-size: 0.62rem;
  font-weight: 600;
  color: #7a8f80;
  line-height: 1.25;
}

.page-ecommerce .ecom-hero__media {
  background: transparent;
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-ecommerce .ecom-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Built for What's Next --- */
.page-ecommerce .ecom-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #eef7f1;
}

.page-ecommerce .ecom-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-ecommerce .ecom-next__intro {
  max-width: 340px;
}

.page-ecommerce .ecom-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 900;
  line-height: 1.2;
  color: #141c17;
}

.page-ecommerce .ecom-next__intro p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-ecommerce .ecom-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-ecommerce .ecom-next__card {
  padding: 18px 16px 20px;
  border: none;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-ecommerce .ecom-next__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 42, 26, 0.09);
}

.page-ecommerce .ecom-next__card .ecom-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green-dark);
}

.page-ecommerce .ecom-next__card h3 {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #141c17;
}

.page-ecommerce .ecom-next__card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-ecommerce .ecom-byline {
  max-width: 100%;
  margin: 14px 0 0 !important;
  text-align: left;
}

/* --- Services --- */
.page-ecommerce .ecom-services {
  padding: clamp(24px, 3.5vw, 40px) 0 clamp(40px, 6vw, 72px);
  background: #fff;
}

.page-ecommerce .ecom-services .ecom-section-head {
  max-width: min(960px, 100%);
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-ecommerce .ecom-services .ecom-eyebrow {
  margin: 0 0 10px;
  color: var(--green);
}

.page-ecommerce .ecom-services .ecom-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  white-space: normal;
  line-height: 1.25;
}

.page-ecommerce .ecom-services .ecom-section-head > p:not(.ecom-eyebrow) {
  max-width: 640px;
  margin-inline: auto;
  font-size: 0.95rem;
}

.page-ecommerce .ecom-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-ecommerce .ecom-service {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 22px 22px 56px;
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 42, 26, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-ecommerce .ecom-service:hover {
  border-color: var(--border);
  box-shadow: 0 10px 24px rgba(15, 42, 26, 0.08);
}

.page-ecommerce .ecom-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  background: #e3f6ea !important;
  color: var(--green);
}

.page-ecommerce .ecom-service h3 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  color: #141c17;
}

.page-ecommerce .ecom-service p {
  margin: 0;
  padding-right: 4px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-ecommerce .ecom-service__go {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  border: 0;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-ecommerce .ecom-service__go:hover,
.page-ecommerce .ecom-service__go:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: translateX(2px);
}

@media (max-width: 1100px) {
  .page-ecommerce .ecom-services .ecom-section-head h2 {
    white-space: normal;
  }
}

/* --- Performance (shopping journey — distinct personality) --- */
.page-ecommerce .ecom-perf {
  position: relative;
  padding: clamp(52px, 7vw, 96px) 0;
  background:
    linear-gradient(180deg, #f4faf6 0%, #ffffff 55%, #f7fbf8 100%);
  overflow: hidden;
}

.page-ecommerce .ecom-perf__head {
  margin-inline: auto;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: center;
  max-width: 640px;
}

.page-ecommerce .ecom-perf__stage {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(16px, 3vw, 28px);
  align-items: stretch;
  margin-bottom: clamp(18px, 3vw, 24px);
}

.page-ecommerce .ecom-perf__media {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #d7eadf;
  background: #eef7f1;
  min-height: 280px;
}

.page-ecommerce .ecom-perf__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-ecommerce .ecom-perf__journey {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.page-ecommerce .ecom-perf__journey li {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 2px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #dceee3;
  border-left: 3px solid var(--green);
}

.page-ecommerce .ecom-perf__jnum {
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--green);
}

.page-ecommerce .ecom-perf__journey strong {
  font-size: 0.98rem;
  font-weight: 800;
  color: #141c17;
}

.page-ecommerce .ecom-perf__journey li > span:last-child {
  font-size: 0.82rem;
  color: #5a6b5e;
}

.page-ecommerce .ecom-perf__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.page-ecommerce .ecom-perf__kpi {
  text-align: center;
  padding: 18px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #dceee3;
}

.page-ecommerce .ecom-perf__kpi strong {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(1.3rem, 2.4vw, 1.65rem);
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.page-ecommerce .ecom-perf__kpi span {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #5a6b5e;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .page-ecommerce .ecom-perf__stage {
    grid-template-columns: 1fr;
  }

  .page-ecommerce .ecom-perf__kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Process --- */
.page-ecommerce .ecom-process {
  padding: clamp(52px, 7vw, 96px) 0;
  background: #fff;
}

.page-ecommerce .ecom-process .ecom-section-head {
  max-width: 640px;
  margin-bottom: clamp(40px, 5vw, 60px);
}

.page-ecommerce .ecom-process .ecom-section-head p:not(.ecom-eyebrow) {
  font-size: 1rem;
  color: #6b7a70;
}

.page-ecommerce .ecom-process__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0;
  padding: 8px 0 0;
  list-style: none;
}

.page-ecommerce .ecom-process__track::before {
  content: "";
  position: absolute;
  top: 40px;
  left: 8.333%;
  right: 8.333%;
  height: 0;
  border-top: 2px dashed #c8d9ce;
  pointer-events: none;
  z-index: 0;
}

.page-ecommerce .ecom-process__track li {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 4px;
  min-width: 0;
}

.page-ecommerce .ecom-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  border: 4px solid #fff;
  outline: 2px solid #d7eadf;
  box-shadow: none;
}

.page-ecommerce .ecom-process__icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

.page-ecommerce .ecom-process__num {
  display: block;
  margin-bottom: 8px;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
  line-height: 1;
}

.page-ecommerce .ecom-process__track h3 {
  margin: 0 0 8px;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem);
  font-weight: 800;
  color: #122018;
  line-height: 1.25;
}

.page-ecommerce .ecom-process__track p {
  margin: 0;
  max-width: 160px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #6b7a70;
}

/* --- Needs strip --- */
.page-ecommerce .ecom-needs {
  padding: clamp(48px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, #ffffff 0%, transparent 70%),
    #eef7f1;
}

.page-ecommerce .ecom-needs .ecom-section-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-ecommerce .ecom-needs .ecom-section-head p:not(.ecom-eyebrow) {
  font-size: 1rem;
  color: #5a6b5e;
}

.page-ecommerce .ecom-needs__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ecommerce .ecom-needs__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 132px;
  padding: 18px 10px 16px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 800;
  color: #1a2420;
  line-height: 1.25;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.06);
  border: 1px solid rgba(0, 179, 72, 0.06);
}

.page-ecommerce .ecom-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  color: var(--green);
  background: none;
  border: 0;
  border-radius: 0;
}

.page-ecommerce .ecom-needs__icon svg {
  display: block;
}

/* --- Work / portfolio --- */
.page-ecommerce .ecom-work {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-ecommerce .ecom-work__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}

.page-ecommerce .ecom-work__copy {
  max-width: 340px;
}

.page-ecommerce .ecom-work__copy .ecom-eyebrow {
  color: var(--green);
}

.page-ecommerce .ecom-work__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-ecommerce .ecom-work__copy p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-ecommerce .ecom-work__showcase {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-ecommerce .ecom-work__media {
  overflow: visible;
  margin-bottom: 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-ecommerce .ecom-work__media img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
  filter: none;
  transition: none;
}

.page-ecommerce .ecom-work__showcase:hover .ecom-work__media img {
  transform: none;
}

.page-ecommerce .ecom-work__projects {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ecommerce .ecom-work__projects li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 16px 12px 18px;
  border-radius: 14px;
  background: #f7fcf8;
  border: 1.5px solid #d7eadf;
  box-shadow: none;
  filter: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.page-ecommerce .ecom-work__projects li:hover {
  transform: none;
  border-color: var(--green);
  background: #eef8f1;
}

.page-ecommerce .ecom-work__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.page-ecommerce .ecom-work__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
}

.page-ecommerce .ecom-work__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 800;
  color: #1f3d2a;
  white-space: nowrap;
}

.page-ecommerce .ecom-work__meta svg {
  color: var(--green);
  flex-shrink: 0;
}

/* --- Why --- */
.page-ecommerce .ecom-why {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-ecommerce .ecom-why .ecom-section-head {
  max-width: 560px;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: left;
  margin-inline: 0;
}

.page-ecommerce .ecom-why .ecom-section-head p:not(.ecom-eyebrow) {
  color: #5a6b5e;
  font-size: 1rem;
}

.page-ecommerce .ecom-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-ecommerce .ecom-why__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 20px 20px;
  border: 1px solid rgba(0, 179, 72, 0.06);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-ecommerce .ecom-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #e3f6ea;
  color: var(--green);
}

.page-ecommerce .ecom-why__item h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #122018;
  line-height: 1.3;
}

.page-ecommerce .ecom-why__item p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-ecommerce .ecom-faq {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-ecommerce .ecom-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.page-ecommerce .ecom-faq .ecom-section-head {
  max-width: 420px;
  margin-bottom: 0;
}

.page-ecommerce .ecom-faq .ecom-section-head > p:not(.ecom-eyebrow):not(.ecom-byline) {
  color: #5a6b5e;
  font-size: 0.98rem;
  margin-bottom: 14px;
}

.page-ecommerce .ecom-faq .ecom-byline {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #7a8f80;
}

.page-ecommerce .ecom-faq__list {
  display: grid;
  gap: 12px;
}

.page-ecommerce .ecom-faq__item {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 12px;
  padding: 0 18px;
  box-shadow: 0 4px 14px rgba(15, 42, 26, 0.03);
}

.page-ecommerce .ecom-faq__item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 36px 18px 0;
  font-weight: 800;
  font-size: 0.95rem;
  color: #122018;
  position: relative;
  line-height: 1.4;
}

.page-ecommerce .ecom-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-ecommerce .ecom-faq__num {
  color: #7a8f80;
  font-weight: 800;
  flex-shrink: 0;
}

.page-ecommerce .ecom-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.page-ecommerce .ecom-faq__item[open] summary::after {
  content: "-";
}

.page-ecommerce .ecom-faq__item p {
  margin: 0 0 18px;
  padding-right: 28px;
  padding-left: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-ecommerce .ecom-cta {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.page-ecommerce .ecom-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 40px);
  align-items: center;
  padding: clamp(28px, 4.5vw, 52px) clamp(24px, 4vw, 48px);
  border-radius: 28px;
  border: 1px solid #d7eadf;
  background:
    radial-gradient(ellipse 45% 70% at 88% 42%, rgba(0, 179, 72, 0.16), transparent 62%),
    radial-gradient(ellipse 35% 50% at 8% 90%, rgba(0, 179, 72, 0.08), transparent 55%),
    linear-gradient(145deg, #eef9f2 0%, #f7fcf9 48%, #ffffff 100%);
  box-shadow: 0 18px 48px rgba(15, 42, 26, 0.06);
  overflow: hidden;
}

.page-ecommerce .ecom-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-ecommerce .ecom-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-ecommerce .ecom-cta__copy h2 span {
  color: var(--green);
}

.page-ecommerce .ecom-cta__copy > p {
  margin: 0 0 24px;
  color: #4a5d52;
  line-height: 1.65;
  max-width: 34rem;
  font-size: 1.02rem;
}

.page-ecommerce .ecom-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.page-ecommerce .ecom-cta__actions .ecom-btn {
  border-radius: 999px;
  padding: 14px 24px;
  box-shadow: 0 8px 20px rgba(0, 179, 72, 0.12);
}

.page-ecommerce .ecom-cta__actions .ecom-btn--ghost {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.88);
}

.page-ecommerce .ecom-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ecommerce .ecom-cta__trust li {
  position: relative;
  padding-left: 18px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #5a6f62;
}

.page-ecommerce .ecom-cta__trust li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

.page-ecommerce .ecom-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 460px;
  isolation: isolate;
}

.page-ecommerce .ecom-cta__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 22px 36px rgba(0, 100, 40, 0.18));
  animation: ecom-cta-float 5.5s ease-in-out infinite;
}

.page-ecommerce .ecom-cta__orb {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #7dffb0, var(--green) 55%, #007a32);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}

.page-ecommerce .ecom-cta__orb--a {
  width: 54px;
  height: 54px;
  top: 8%;
  right: 6%;
  animation: ecom-cta-orb 6s ease-in-out infinite;
}

.page-ecommerce .ecom-cta__orb--b {
  width: 28px;
  height: 28px;
  bottom: 18%;
  left: 4%;
  opacity: 0.4;
  animation: ecom-cta-orb 7.5s ease-in-out infinite reverse;
}

.page-ecommerce .ecom-cta__orb--c {
  width: 18px;
  height: 18px;
  top: 42%;
  left: 12%;
  opacity: 0.35;
  animation: ecom-cta-orb 5s ease-in-out infinite;
}

@keyframes ecom-cta-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes ecom-cta-orb {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.06); }
}

/* --- Related --- */
.page-ecommerce .ecom-related {
  padding: clamp(36px, 5vw, 56px) 0 64px;
  background: #fff;
  border-top: 1px solid var(--border);
}

.page-ecommerce .ecom-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-ecommerce .ecom-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  text-decoration: none;
  background: #f7fcf8;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-ecommerce .ecom-related__list a:hover,
.page-ecommerce .ecom-related__list a:focus-visible {
  background: var(--soft);
  border-color: var(--green);
  color: var(--green);
}

/* --- Responsive --- */
@media (max-width: 1100px) {

  .page-ecommerce .ecom-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 24px;
  }

  .page-ecommerce .ecom-process__track::before {
    display: none;
  }

  .page-ecommerce .ecom-process__track li {
    padding: 0 10px;
  }

  .page-ecommerce .ecom-process__track p {
    max-width: 200px;
  }

  .page-ecommerce .ecom-needs__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .page-ecommerce .ecom-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-ecommerce .ecom-work__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-ecommerce .ecom-work__copy {
    max-width: 560px;
    text-align: center;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .page-ecommerce .ecom-hero__grid,
  .page-ecommerce .ecom-faq__inner,
  .page-ecommerce .ecom-cta__panel {
    grid-template-columns: 1fr;
  }

  .page-ecommerce .ecom-speed__value strong {
    font-size: 1.85rem;
  }

  .page-ecommerce .ecom-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-ecommerce .ecom-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-ecommerce .ecom-hero h1 span {
    display: block;
  }

  .page-ecommerce .ecom-next__layout {
    grid-template-columns: 1fr;
  }

  .page-ecommerce .ecom-next__intro {
    max-width: 560px;
  }

  .page-ecommerce .ecom-next__grid,
  .page-ecommerce .ecom-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-ecommerce .ecom-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-ecommerce .ecom-work__meta {
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .page-ecommerce .ecom-next__grid,
  .page-ecommerce .ecom-services__grid,
  .page-ecommerce .ecom-why__grid,
  .page-ecommerce .ecom-process__track {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 360px;
    margin-inline: auto;
  }

  .page-ecommerce .ecom-process__track li {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 16px;
    text-align: left;
    align-items: start;
  }

  .page-ecommerce .ecom-process__icon {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .page-ecommerce .ecom-process__num {
    margin-bottom: 4px;
  }

  .page-ecommerce .ecom-process__track p {
    max-width: none;
  }

  .page-ecommerce .ecom-needs__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-ecommerce .ecom-work__tag {
    font-size: 0.68rem;
    padding: 6px 8px;
  }

  .page-ecommerce .ecom-work__meta span {
    font-size: 0.62rem;
  }

  .page-ecommerce .ecom-hero__actions,
  .page-ecommerce .ecom-cta__actions {
    flex-direction: column;
  }

  .page-ecommerce .ecom-hero__actions .ecom-btn,
  .page-ecommerce .ecom-cta__actions .ecom-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-ecommerce .ecom-btn--solid:hover,
  .page-ecommerce .ecom-next__card:hover,
  .page-ecommerce .ecom-work__projects li:hover {
    transform: none;
  }

  .page-ecommerce .ecom-work__showcase:hover .ecom-work__media img {
    transform: none;
  }

  .page-ecommerce .ecom-cta__media img,
  .page-ecommerce .ecom-cta__orb {
    animation: none;
  }
}

/* --- Website Redesign personality (transformation) --- */
.page-ecommerce .ecom-hero {
  background:
    linear-gradient(105deg, rgba(0, 179, 72, 0.06) 0%, transparent 42%),
    radial-gradient(ellipse 50% 60% at 88% 30%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(180deg, #eef6f1 0%, #f8fcf9 50%, #ffffff 100%);
}

.page-ecommerce .ecom-btn--solid,
.page-ecommerce .ecom-hero .ecom-btn--solid {
  border-radius: 8px;
}

.page-ecommerce .ecom-btn--ghost,
.page-ecommerce .ecom-hero .ecom-btn--ghost {
  border-radius: 8px;
}

.page-ecommerce .ecom-hero__pill-icon {
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
}

.page-ecommerce .ecom-next__card {
  border-radius: 12px;
  border-left: 3px solid var(--green);
  box-shadow: none;
  background: #f7fbf8;
}

.page-ecommerce .ecom-service {
  border-radius: 12px;
}

.page-ecommerce .ecom-service__icon {
  border-radius: 8px;
}

.page-ecommerce .ecom-process__icon {
  border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

/* --- Ecommerce personality (commerce / shoppable) --- */
.page-ecommerce .ecom-hero {
  background:
    radial-gradient(ellipse 60% 50% at 85% 35%, rgba(0, 179, 72, 0.1), transparent 58%),
    linear-gradient(180deg, #eaf6ef 0%, #f7fcf9 48%, #ffffff 100%);
}

.page-ecommerce .ecom-btn--solid,
.page-ecommerce .ecom-hero .ecom-btn--solid {
  border-radius: 10px;
}

.page-ecommerce .ecom-hero__pill-icon {
  border-radius: 50%;
  background: #e3f6ea;
  border: 0;
}

.page-ecommerce .ecom-next__card {
  border-left: 0;
  border-top: 3px solid var(--green);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-ecommerce .ecom-service__icon {
  border-radius: 12px;
}

.page-ecommerce .ecom-faq__item[open] summary::after {
  content: "-";
}

/* =========================================================
   Custom Web Application Development page (.page-webapp / .cwa-*) (.page-webapp / .cwa-*)
   ========================================================= */

.page-webapp .cwa-eyebrow {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-webapp .cwa-section-head {
  margin-bottom: clamp(28px, 4vw, 44px);
  max-width: 720px;
}

.page-webapp .cwa-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-webapp .cwa-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-webapp .cwa-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 1.02rem;
}

.page-webapp .cwa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-webapp .cwa-btn--solid {
  background: var(--green);
  color: #fff;
  border: 2px solid var(--green);
}

.page-webapp .cwa-btn--solid:hover,
.page-webapp .cwa-btn--solid:focus-visible {
  background: var(--green-mid);
  border-color: var(--green-mid);
  transform: translateY(-1px);
}

.page-webapp .cwa-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-webapp .cwa-btn--ghost:hover,
.page-webapp .cwa-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-webapp .cwa-icon,
.page-webapp .cwa-service__icon,
.page-webapp .cwa-why__icon,
.page-webapp .cwa-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
}

/* --- Hero --- */
.page-webapp .cwa-hero {
  padding: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 48px);
  background:
    radial-gradient(ellipse 55% 70% at 78% 42%, rgba(0, 179, 72, 0.09), transparent 58%),
    linear-gradient(180deg, #f3faf6 0%, #f8fcf9 45%, #ffffff 100%);
  overflow: hidden;
}

.page-webapp .cwa-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-webapp .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

.page-webapp .cwa-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 4vw, 2.85rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-webapp .cwa-hero h1 span {
  display: block;
  color: var(--green);
}

.page-webapp .cwa-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-webapp .cwa-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-webapp .cwa-hero .cwa-btn {
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 0.92rem;
}

.page-webapp .cwa-hero .cwa-btn--ghost {
  color: var(--green);
  border-color: var(--green);
  background: #fff;
}

.page-webapp .cwa-hero .cwa-btn--ghost:hover,
.page-webapp .cwa-hero .cwa-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-webapp .cwa-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-webapp .cwa-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-webapp .cwa-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green);
}

.page-webapp .cwa-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-webapp .cwa-hero__pill-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.page-webapp .cwa-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-webapp .cwa-hero__pill-text small {
  font-size: 0.62rem;
  font-weight: 600;
  color: #7a8f80;
  line-height: 1.25;
}

.page-webapp .cwa-hero__media {
  background: transparent;
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-webapp .cwa-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Built for What's Next --- */
.page-webapp .cwa-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #eef7f1;
}

.page-webapp .cwa-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-webapp .cwa-next__intro {
  max-width: 340px;
}

.page-webapp .cwa-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 900;
  line-height: 1.2;
  color: #141c17;
}

.page-webapp .cwa-next__intro p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-webapp .cwa-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-webapp .cwa-next__card {
  padding: 18px 16px 20px;
  border: none;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-webapp .cwa-next__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 42, 26, 0.09);
}

.page-webapp .cwa-next__card .cwa-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e3f6ea;
  color: var(--green-dark);
}

.page-webapp .cwa-next__card h3 {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #141c17;
}

.page-webapp .cwa-next__card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-webapp .cwa-byline {
  max-width: 100%;
  margin: 14px 0 0 !important;
  text-align: left;
}

/* --- Services --- */
.page-webapp .cwa-services {
  padding: clamp(24px, 3.5vw, 40px) 0 clamp(40px, 6vw, 72px);
  background: #fff;
}

.page-webapp .cwa-services .cwa-section-head {
  max-width: min(960px, 100%);
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-webapp .cwa-services .cwa-eyebrow {
  margin: 0 0 10px;
  color: var(--green);
}

.page-webapp .cwa-services .cwa-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  white-space: normal;
  line-height: 1.25;
}

.page-webapp .cwa-services .cwa-section-head > p:not(.cwa-eyebrow) {
  max-width: 640px;
  margin-inline: auto;
  font-size: 0.95rem;
}

.page-webapp .cwa-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-webapp .cwa-service {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 22px 22px 56px;
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 42, 26, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-webapp .cwa-service:hover {
  border-color: var(--border);
  box-shadow: 0 10px 24px rgba(15, 42, 26, 0.08);
}

.page-webapp .cwa-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  background: #e3f6ea !important;
  color: var(--green);
}

.page-webapp .cwa-service h3 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  color: #141c17;
}

.page-webapp .cwa-service p {
  margin: 0;
  padding-right: 4px;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-webapp .cwa-service__go {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  border: 0;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-webapp .cwa-service__go:hover,
.page-webapp .cwa-service__go:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: translateX(2px);
}

@media (max-width: 1100px) {
  .page-webapp .cwa-services .cwa-section-head h2 {
    white-space: normal;
  }
}

/* --- Performance (capability stack — distinct personality) --- */
.page-webapp .cwa-perf {
  position: relative;
  padding: clamp(52px, 7vw, 96px) 0;
  background:
    radial-gradient(ellipse 55% 40% at 20% 20%, rgba(0, 179, 72, 0.07), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f3f9f5 100%);
  overflow: hidden;
}

.page-webapp .cwa-perf__head {
  margin-inline: auto;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: center;
  max-width: 640px;
}

.page-webapp .cwa-perf__stage {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(16px, 3vw, 28px);
  align-items: stretch;
  margin-bottom: clamp(18px, 3vw, 24px);
}

.page-webapp .cwa-perf__media {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #d7eadf;
  background: #eef7f1;
  min-height: 280px;
}

.page-webapp .cwa-perf__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-webapp .cwa-perf__stack {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.page-webapp .cwa-perf__stack li {
  padding: 16px 18px;
  border-radius: 12px;
  background: #0f2a1a;
  color: #fff;
  border: 1px solid #163524;
}

.page-webapp .cwa-perf__stack li:nth-child(even) {
  background: #fff;
  color: #141c17;
  border-color: #dceee3;
}

.page-webapp .cwa-perf__stack strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.98rem;
  font-weight: 800;
}

.page-webapp .cwa-perf__stack li:nth-child(odd) strong {
  color: #8fd9a8;
}

.page-webapp .cwa-perf__stack span {
  display: block;
  font-size: 0.84rem;
  line-height: 1.45;
  opacity: 0.88;
}

.page-webapp .cwa-perf__stack li:nth-child(even) span {
  color: #5a6b5e;
  opacity: 1;
}

.page-webapp .cwa-perf__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.page-webapp .cwa-perf__kpi {
  text-align: center;
  padding: 18px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #dceee3;
}

.page-webapp .cwa-perf__kpi strong {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.page-webapp .cwa-perf__kpi span {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #5a6b5e;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .page-webapp .cwa-perf__stage {
    grid-template-columns: 1fr;
  }

  .page-webapp .cwa-perf__kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Process --- */
.page-webapp .cwa-process {
  padding: clamp(52px, 7vw, 96px) 0;
  background: #fff;
}

.page-webapp .cwa-process .cwa-section-head {
  max-width: 640px;
  margin-bottom: clamp(40px, 5vw, 60px);
}

.page-webapp .cwa-process .cwa-section-head p:not(.cwa-eyebrow) {
  font-size: 1rem;
  color: #6b7a70;
}

.page-webapp .cwa-process__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0;
  padding: 8px 0 0;
  list-style: none;
}

.page-webapp .cwa-process__track::before {
  content: "";
  position: absolute;
  top: 40px;
  left: 8.333%;
  right: 8.333%;
  height: 0;
  border-top: 2px dashed #c8d9ce;
  pointer-events: none;
  z-index: 0;
}

.page-webapp .cwa-process__track li {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 4px;
  min-width: 0;
}

.page-webapp .cwa-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  border: 4px solid #fff;
  outline: 2px solid #d7eadf;
  box-shadow: none;
}

.page-webapp .cwa-process__icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

.page-webapp .cwa-process__num {
  display: block;
  margin-bottom: 8px;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
  line-height: 1;
}

.page-webapp .cwa-process__track h3 {
  margin: 0 0 8px;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem);
  font-weight: 800;
  color: #122018;
  line-height: 1.25;
}

.page-webapp .cwa-process__track p {
  margin: 0;
  max-width: 160px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #6b7a70;
}

/* --- Needs strip --- */
.page-webapp .cwa-needs {
  padding: clamp(48px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, #ffffff 0%, transparent 70%),
    #eef7f1;
}

.page-webapp .cwa-needs .cwa-section-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-webapp .cwa-needs .cwa-section-head p:not(.cwa-eyebrow) {
  font-size: 1rem;
  color: #5a6b5e;
}

.page-webapp .cwa-needs__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-webapp .cwa-needs__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 132px;
  padding: 18px 10px 16px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 800;
  color: #1a2420;
  line-height: 1.25;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.06);
  border: 1px solid rgba(0, 179, 72, 0.06);
}

.page-webapp .cwa-needs__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  color: var(--green);
  background: none;
  border: 0;
  border-radius: 0;
}

.page-webapp .cwa-needs__icon svg {
  display: block;
}

/* --- Work / portfolio --- */
.page-webapp .cwa-work {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-webapp .cwa-work__grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}

.page-webapp .cwa-work__copy {
  max-width: 340px;
}

.page-webapp .cwa-work__copy .cwa-eyebrow {
  color: var(--green);
}

.page-webapp .cwa-work__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 900;
  line-height: 1.2;
  color: #122018;
}

.page-webapp .cwa-work__copy p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #5a6b5e;
}

.page-webapp .cwa-work__showcase {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-webapp .cwa-work__media {
  overflow: visible;
  margin-bottom: 18px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

.page-webapp .cwa-work__media img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
  filter: none;
  transition: none;
}

.page-webapp .cwa-work__showcase:hover .cwa-work__media img {
  transform: none;
}

.page-webapp .cwa-work__projects {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-webapp .cwa-work__projects li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 16px 12px 18px;
  border-radius: 14px;
  background: #f7fcf8;
  border: 1.5px solid #d7eadf;
  box-shadow: none;
  filter: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.page-webapp .cwa-work__projects li:hover {
  transform: none;
  border-color: var(--green);
  background: #eef8f1;
}

.page-webapp .cwa-work__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.page-webapp .cwa-work__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
}

.page-webapp .cwa-work__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 800;
  color: #1f3d2a;
  white-space: nowrap;
}

.page-webapp .cwa-work__meta svg {
  color: var(--green);
  flex-shrink: 0;
}

/* --- Why --- */
.page-webapp .cwa-why {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-webapp .cwa-why .cwa-section-head {
  max-width: 560px;
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: left;
  margin-inline: 0;
}

.page-webapp .cwa-why .cwa-section-head p:not(.cwa-eyebrow) {
  color: #5a6b5e;
  font-size: 1rem;
}

.page-webapp .cwa-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-webapp .cwa-why__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 20px 20px;
  border: 1px solid rgba(0, 179, 72, 0.06);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-webapp .cwa-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #e3f6ea;
  color: var(--green);
}

.page-webapp .cwa-why__item h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #122018;
  line-height: 1.3;
}

.page-webapp .cwa-why__item p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-webapp .cwa-faq {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-webapp .cwa-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.page-webapp .cwa-faq .cwa-section-head {
  max-width: 420px;
  margin-bottom: 0;
}

.page-webapp .cwa-faq .cwa-section-head > p:not(.cwa-eyebrow):not(.cwa-byline) {
  color: #5a6b5e;
  font-size: 0.98rem;
  margin-bottom: 14px;
}

.page-webapp .cwa-faq .cwa-byline {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #7a8f80;
}

.page-webapp .cwa-faq__list {
  display: grid;
  gap: 12px;
}

.page-webapp .cwa-faq__item {
  background: #fff;
  border: 1px solid #e5eee8;
  border-radius: 12px;
  padding: 0 18px;
  box-shadow: 0 4px 14px rgba(15, 42, 26, 0.03);
}

.page-webapp .cwa-faq__item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 36px 18px 0;
  font-weight: 800;
  font-size: 0.95rem;
  color: #122018;
  position: relative;
  line-height: 1.4;
}

.page-webapp .cwa-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-webapp .cwa-faq__num {
  color: #7a8f80;
  font-weight: 800;
  flex-shrink: 0;
}

.page-webapp .cwa-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.page-webapp .cwa-faq__item[open] summary::after {
  content: "-";
}

.page-webapp .cwa-faq__item p {
  margin: 0 0 18px;
  padding-right: 28px;
  padding-left: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-webapp .cwa-cta {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.page-webapp .cwa-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 40px);
  align-items: center;
  padding: clamp(28px, 4.5vw, 52px) clamp(24px, 4vw, 48px);
  border-radius: 28px;
  border: 1px solid #d7eadf;
  background:
    radial-gradient(ellipse 45% 70% at 88% 42%, rgba(0, 179, 72, 0.16), transparent 62%),
    radial-gradient(ellipse 35% 50% at 8% 90%, rgba(0, 179, 72, 0.08), transparent 55%),
    linear-gradient(145deg, #eef9f2 0%, #f7fcf9 48%, #ffffff 100%);
  box-shadow: 0 18px 48px rgba(15, 42, 26, 0.06);
  overflow: hidden;
}

.page-webapp .cwa-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-webapp .cwa-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-webapp .cwa-cta__copy h2 span {
  color: var(--green);
}

.page-webapp .cwa-cta__copy > p {
  margin: 0 0 24px;
  color: #4a5d52;
  line-height: 1.65;
  max-width: 34rem;
  font-size: 1.02rem;
}

.page-webapp .cwa-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.page-webapp .cwa-cta__actions .cwa-btn {
  border-radius: 999px;
  padding: 14px 24px;
  box-shadow: 0 8px 20px rgba(0, 179, 72, 0.12);
}

.page-webapp .cwa-cta__actions .cwa-btn--ghost {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.88);
}

.page-webapp .cwa-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-webapp .cwa-cta__trust li {
  position: relative;
  padding-left: 18px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #5a6f62;
}

.page-webapp .cwa-cta__trust li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

.page-webapp .cwa-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 460px;
  isolation: isolate;
}

.page-webapp .cwa-cta__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 22px 36px rgba(0, 100, 40, 0.18));
  animation: cwa-cta-float 5.5s ease-in-out infinite;
}

.page-webapp .cwa-cta__orb {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #7dffb0, var(--green) 55%, #007a32);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}

.page-webapp .cwa-cta__orb--a {
  width: 54px;
  height: 54px;
  top: 8%;
  right: 6%;
  animation: cwa-cta-orb 6s ease-in-out infinite;
}

.page-webapp .cwa-cta__orb--b {
  width: 28px;
  height: 28px;
  bottom: 18%;
  left: 4%;
  opacity: 0.4;
  animation: cwa-cta-orb 7.5s ease-in-out infinite reverse;
}

.page-webapp .cwa-cta__orb--c {
  width: 18px;
  height: 18px;
  top: 42%;
  left: 12%;
  opacity: 0.35;
  animation: cwa-cta-orb 5s ease-in-out infinite;
}

@keyframes cwa-cta-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes cwa-cta-orb {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.06); }
}

/* --- Related --- */
.page-webapp .cwa-related {
  padding: clamp(36px, 5vw, 56px) 0 64px;
  background: #fff;
  border-top: 1px solid var(--border);
}

.page-webapp .cwa-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-webapp .cwa-related__list a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
  text-decoration: none;
  background: #f7fcf8;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-webapp .cwa-related__list a:hover,
.page-webapp .cwa-related__list a:focus-visible {
  background: var(--soft);
  border-color: var(--green);
  color: var(--green);
}

/* --- Responsive --- */
@media (max-width: 1100px) {

  .page-webapp .cwa-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 24px;
  }

  .page-webapp .cwa-process__track::before {
    display: none;
  }

  .page-webapp .cwa-process__track li {
    padding: 0 10px;
  }

  .page-webapp .cwa-process__track p {
    max-width: 200px;
  }

  .page-webapp .cwa-needs__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .page-webapp .cwa-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-webapp .cwa-work__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-webapp .cwa-work__copy {
    max-width: 560px;
    text-align: center;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .page-webapp .cwa-hero__grid,
  .page-webapp .cwa-faq__inner,
  .page-webapp .cwa-cta__panel {
    grid-template-columns: 1fr;
  }

  .page-webapp .cwa-speed__value strong {
    font-size: 1.85rem;
  }

  .page-webapp .cwa-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-webapp .cwa-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-webapp .cwa-hero h1 span {
    display: block;
  }

  .page-webapp .cwa-next__layout {
    grid-template-columns: 1fr;
  }

  .page-webapp .cwa-next__intro {
    max-width: 560px;
  }

  .page-webapp .cwa-next__grid,
  .page-webapp .cwa-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-webapp .cwa-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-webapp .cwa-work__meta {
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .page-webapp .cwa-next__grid,
  .page-webapp .cwa-services__grid,
  .page-webapp .cwa-why__grid,
  .page-webapp .cwa-process__track {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 360px;
    margin-inline: auto;
  }

  .page-webapp .cwa-process__track li {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 16px;
    text-align: left;
    align-items: start;
  }

  .page-webapp .cwa-process__icon {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .page-webapp .cwa-process__num {
    margin-bottom: 4px;
  }

  .page-webapp .cwa-process__track p {
    max-width: none;
  }

  .page-webapp .cwa-needs__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-webapp .cwa-work__tag {
    font-size: 0.68rem;
    padding: 6px 8px;
  }

  .page-webapp .cwa-work__meta span {
    font-size: 0.62rem;
  }

  .page-webapp .cwa-hero__actions,
  .page-webapp .cwa-cta__actions {
    flex-direction: column;
  }

  .page-webapp .cwa-hero__actions .cwa-btn,
  .page-webapp .cwa-cta__actions .cwa-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-webapp .cwa-btn--solid:hover,
  .page-webapp .cwa-next__card:hover,
  .page-webapp .cwa-work__projects li:hover {
    transform: none;
  }

  .page-webapp .cwa-work__showcase:hover .cwa-work__media img {
    transform: none;
  }

  .page-webapp .cwa-cta__media img,
  .page-webapp .cwa-cta__orb {
    animation: none;
  }
}

/* --- Website Redesign personality (transformation) --- */
.page-webapp .cwa-hero {
  background:
    linear-gradient(105deg, rgba(0, 179, 72, 0.06) 0%, transparent 42%),
    radial-gradient(ellipse 50% 60% at 88% 30%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(180deg, #eef6f1 0%, #f8fcf9 50%, #ffffff 100%);
}

.page-webapp .cwa-btn--solid,
.page-webapp .cwa-hero .cwa-btn--solid {
  border-radius: 8px;
}

.page-webapp .cwa-btn--ghost,
.page-webapp .cwa-hero .cwa-btn--ghost {
  border-radius: 8px;
}

.page-webapp .cwa-hero__pill-icon {
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
}

.page-webapp .cwa-next__card {
  border-radius: 12px;
  border-left: 3px solid var(--green);
  box-shadow: none;
  background: #f7fbf8;
}

.page-webapp .cwa-service {
  border-radius: 12px;
}

.page-webapp .cwa-service__icon {
  border-radius: 8px;
}

.page-webapp .cwa-process__icon {
  border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

/* --- Ecommerce personality (commerce / shoppable) --- */
.page-webapp .cwa-hero {
  background:
    radial-gradient(ellipse 60% 50% at 85% 35%, rgba(0, 179, 72, 0.1), transparent 58%),
    linear-gradient(180deg, #eaf6ef 0%, #f7fcf9 48%, #ffffff 100%);
}

.page-webapp .cwa-btn--solid,
.page-webapp .cwa-hero .cwa-btn--solid {
  border-radius: 10px;
}

.page-webapp .cwa-hero__pill-icon {
  border-radius: 50%;
  background: #e3f6ea;
  border: 0;
}

.page-webapp .cwa-next__card {
  border-left: 0;
  border-top: 3px solid var(--green);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 42, 26, 0.05);
}

.page-webapp .cwa-service__icon {
  border-radius: 12px;
}

.page-webapp .cwa-faq__item[open] summary::after {
  content: "-";
}

/* --- Web app personality (product / systems) --- */
.page-webapp .cwa-hero {
  background:
    linear-gradient(160deg, #e8f4ec 0%, #f5faf7 40%, #ffffff 100%);
}

.page-webapp .cwa-btn--solid,
.page-webapp .cwa-hero .cwa-btn--solid {
  border-radius: 6px;
}

.page-webapp .cwa-hero__pill-icon {
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
}

.page-webapp .cwa-next__card {
  border-top: 0;
  border-left: 0;
  border-radius: 10px;
  background: #f7fbf8;
  box-shadow: inset 0 0 0 1px #dceee3;
}

.page-webapp .cwa-service {
  border-radius: 10px;
}

.page-webapp .cwa-service__icon {
  border-radius: 8px;
  background: #143226 !important;
  color: #fff;
}

.page-webapp .cwa-faq__item[open] summary::after {
  content: "-";
}

/* ==========================================================================
   Social Media Strategy page (.page-smm-strategy / .sms-*)
   Feed / calendar personality — not a web-storefront clone
   ========================================================================== */

.page-smm-strategy .sms-kicker {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-smm-strategy .sms-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-smm-strategy .sms-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-smm-strategy .sms-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-smm-strategy .sms-head p {
  margin: 0;
  color: #5a6b5e;
  font-size: 1.02rem;
  line-height: 1.65;
}

.page-smm-strategy .sms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-smm-strategy .sms-btn--solid {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
}

.page-smm-strategy .sms-btn--solid:hover,
.page-smm-strategy .sms-btn--solid:focus-visible {
  background: #00963c;
  border-color: #00963c;
}

.page-smm-strategy .sms-btn--ghost {
  background: transparent;
  color: #163322;
  border: 1px solid #b7d8c3;
}

.page-smm-strategy .sms-btn--ghost:hover,
.page-smm-strategy .sms-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-smm-strategy .svc-breadcrumb {
  background: #f3faf6;
  border-bottom: 1px solid #d9ebe0;
}

/* --- Hero --- */
.page-smm-strategy .sms-hero {
  padding: clamp(36px, 6vw, 72px) 0 clamp(28px, 5vw, 56px);
  background:
    linear-gradient(180deg, #eef8f2 0%, #f7fcf9 42%, #ffffff 100%);
}

.page-smm-strategy .sms-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-smm-strategy .sms-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(2.05rem, 4.6vw, 3.35rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-smm-strategy .sms-hero h1 span {
  display: block;
  color: var(--green);
}

.page-smm-strategy .sms-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5d50;
  font-size: 1.06rem;
  line-height: 1.7;
}

.page-smm-strategy .sms-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-smm-strategy .sms-hero__channels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-smm-strategy .sms-hero__channels li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px 7px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #d4eadc;
  font-size: 0.8rem;
  font-weight: 800;
  color: #1d3a28;
}

.page-smm-strategy .sms-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}

.page-smm-strategy .sms-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 28px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.1);
}

/* --- Growth system rails --- */
.page-smm-strategy .sms-system {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-smm-strategy .sms-system__rails {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-smm-strategy .sms-system__rails li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 18px 20px;
  background: #f4faf6;
  border: 1px solid #dceee3;
}

.page-smm-strategy .sms-system__rails li:nth-child(1) { width: 100%; border-radius: 22px; }
.page-smm-strategy .sms-system__rails li:nth-child(2) { width: 92%; border-radius: 20px; }
.page-smm-strategy .sms-system__rails li:nth-child(3) { width: 84%; border-radius: 18px; }
.page-smm-strategy .sms-system__rails li:nth-child(4) { width: 76%; border-radius: 16px; }

.page-smm-strategy .sms-system__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #143226;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
}

.page-smm-strategy .sms-system__rails h3 {
  margin: 0 0 6px;
  font-size: 1.15rem;
  font-weight: 800;
  color: #122018;
}

.page-smm-strategy .sms-system__rails p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

/* --- Services as playlist rows --- */
.page-smm-strategy .sms-services {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-smm-strategy .sms-services__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-smm-strategy .sms-service {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 20px 18px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 18px;
}

.page-smm-strategy .sms-service__num {
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--green);
  line-height: 1;
}

.page-smm-strategy .sms-service h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-smm-strategy .sms-service p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.95rem;
  line-height: 1.6;
}

.page-smm-strategy .sms-service__go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #eef8f1;
  color: var(--green);
}

.page-smm-strategy .sms-service__go:hover,
.page-smm-strategy .sms-service__go:focus-visible {
  background: var(--green);
  color: #fff;
}

/* --- Funnel / performance --- */
.page-smm-strategy .sms-perf {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-smm-strategy .sms-perf__board {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-smm-strategy .sms-perf__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
}

.page-smm-strategy .sms-funnel {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-smm-strategy .sms-funnel li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 16px 16px 14px;
  background: #f3faf6;
  border-left: 6px solid var(--green);
}

.page-smm-strategy .sms-funnel li:nth-child(1) { width: 100%; border-radius: 0 22px 22px 0; }
.page-smm-strategy .sms-funnel li:nth-child(2) { width: 92%; border-radius: 0 18px 18px 0; }
.page-smm-strategy .sms-funnel li:nth-child(3) { width: 84%; border-radius: 0 14px 14px 0; }
.page-smm-strategy .sms-funnel li:nth-child(4) { width: 76%; border-radius: 0 10px 10px 0; background: #143226; color: #fff; border-left-color: #7ed39a; }

.page-smm-strategy .sms-funnel__step {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--green);
}

.page-smm-strategy .sms-funnel li:nth-child(4) .sms-funnel__step {
  color: #9ee0b4;
}

.page-smm-strategy .sms-funnel strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.05rem;
  color: #122018;
}

.page-smm-strategy .sms-funnel li:nth-child(4) strong {
  color: #fff;
}

.page-smm-strategy .sms-funnel p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

.page-smm-strategy .sms-funnel li:nth-child(4) p {
  color: #d7eadf;
}

/* --- Process spine --- */
.page-smm-strategy .sms-process {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-smm-strategy .sms-process__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-smm-strategy .sms-spine {
  margin: 0;
  padding: 0 0 0 22px;
  list-style: none;
  border-left: 2px solid #cfe8d8;
}

.page-smm-strategy .sms-spine li {
  position: relative;
  padding: 0 0 26px 22px;
}

.page-smm-strategy .sms-spine li:last-child {
  padding-bottom: 0;
}

.page-smm-strategy .sms-spine li::before {
  content: "";
  position: absolute;
  left: -29px;
  top: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px #e8f6ee;
}

.page-smm-strategy .sms-spine h3 {
  margin: 0 0 6px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-smm-strategy .sms-spine p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

/* --- Needs chips --- */
.page-smm-strategy .sms-needs {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-smm-strategy .sms-needs__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-smm-strategy .sms-needs__chips li {
  padding: 12px 18px;
  border-radius: 999px;
  background: #eef8f1;
  border: 1px solid #cfe8d8;
  font-size: 0.92rem;
  font-weight: 800;
  color: #1d3a28;
}

/* --- Work --- */
.page-smm-strategy .sms-work {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-smm-strategy .sms-work__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-smm-strategy .sms-work__copy p:not(.sms-kicker) {
  margin: 0 0 20px;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-smm-strategy .sms-work__tags {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-smm-strategy .sms-work__tags li {
  padding: 14px 16px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #d7eadf;
}

.page-smm-strategy .sms-work__tags span {
  display: block;
  font-weight: 800;
  color: #122018;
}

.page-smm-strategy .sms-work__tags small {
  color: #5a6b5e;
  font-size: 0.88rem;
}

.page-smm-strategy .sms-work__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
}

/* --- Why --- */
.page-smm-strategy .sms-why {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-smm-strategy .sms-why__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-smm-strategy .sms-why__grid article {
  padding: 22px 20px;
  background: #f4faf6;
  border-radius: 16px;
  border-top: 4px solid var(--green);
}

.page-smm-strategy .sms-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-smm-strategy .sms-why__grid p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

/* --- FAQ --- */
.page-smm-strategy .sms-faq {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-smm-strategy .sms-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-smm-strategy .sms-byline {
  margin-top: 18px !important;
  padding-top: 16px;
  border-top: 1px solid #d7eadf;
  font-size: 0.92rem !important;
  color: #5a6b5e !important;
}

.page-smm-strategy .sms-byline span {
  display: block;
  margin-top: 6px;
  font-weight: 800;
  color: #1d3a28;
}

.page-smm-strategy .sms-faq__list {
  display: grid;
  gap: 10px;
}

.page-smm-strategy .sms-faq__item {
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 14px;
  padding: 4px 16px;
}

.page-smm-strategy .sms-faq__item summary {
  position: relative;
  padding: 14px 28px 14px 0;
  cursor: pointer;
  font-weight: 800;
  color: #122018;
  list-style: none;
}

.page-smm-strategy .sms-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-smm-strategy .sms-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--green);
}

.page-smm-strategy .sms-faq__item[open] summary::after {
  content: "-";
}

.page-smm-strategy .sms-faq__item p {
  margin: 0 0 16px;
  color: #5a6b5e;
  line-height: 1.65;
}

/* --- CTA --- */
.page-smm-strategy .sms-cta {
  padding: clamp(36px, 6vw, 72px) 0;
  background: #fff;
}

.page-smm-strategy .sms-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 36px);
  align-items: center;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 28px;
  background: #122018;
  color: #fff;
}

.page-smm-strategy .sms-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8fd9a8;
}

.page-smm-strategy .sms-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  font-weight: 900;
  line-height: 1.15;
}

.page-smm-strategy .sms-cta__copy > p {
  margin: 0 0 20px;
  color: #d7eadf;
  line-height: 1.65;
}

.page-smm-strategy .sms-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.page-smm-strategy .sms-cta .sms-btn--ghost {
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}

.page-smm-strategy .sms-cta .sms-btn--ghost:hover,
.page-smm-strategy .sms-cta .sms-btn--ghost:focus-visible {
  border-color: #fff;
  color: #fff;
}

.page-smm-strategy .sms-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #b7d8c3;
  font-size: 0.86rem;
  font-weight: 700;
}

.page-smm-strategy .sms-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.page-smm-strategy .sms-related {
  padding-bottom: clamp(36px, 5vw, 56px);
}

@media (max-width: 980px) {
  .page-smm-strategy .sms-hero__grid,
  .page-smm-strategy .sms-perf__board,
  .page-smm-strategy .sms-process__layout,
  .page-smm-strategy .sms-work__grid,
  .page-smm-strategy .sms-faq__inner,
  .page-smm-strategy .sms-cta__panel,
  .page-smm-strategy .sms-services__list,
  .page-smm-strategy .sms-why__grid {
    grid-template-columns: 1fr;
  }

  .page-smm-strategy .sms-system__rails li,
  .page-smm-strategy .sms-funnel li {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .page-smm-strategy .sms-hero__actions,
  .page-smm-strategy .sms-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .page-smm-strategy .sms-service {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .page-smm-strategy .sms-service__go {
    grid-column: 2;
  }
}

/* ==========================================================================
   Content Creation & Scheduling (.page-content-sched / .ccs-*)
   Studio / calendar personality — distinct from Strategy rails
   ========================================================================== */

.page-content-sched .ccs-kicker {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-content-sched .ccs-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-content-sched .ccs-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-content-sched .ccs-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-content-sched .ccs-head p {
  margin: 0;
  color: #5a6b5e;
  font-size: 1.02rem;
  line-height: 1.65;
}

.page-content-sched .ccs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-content-sched .ccs-btn--solid {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
}

.page-content-sched .ccs-btn--solid:hover,
.page-content-sched .ccs-btn--solid:focus-visible {
  background: #00963c;
  border-color: #00963c;
}

.page-content-sched .ccs-btn--ghost {
  background: transparent;
  color: #163322;
  border: 1px solid #b7d8c3;
}

.page-content-sched .ccs-btn--ghost:hover,
.page-content-sched .ccs-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-content-sched .svc-breadcrumb {
  background: #f3faf6;
  border-bottom: 1px solid #d9ebe0;
}

/* --- Hero --- */
.page-content-sched .ccs-hero {
  padding: clamp(36px, 6vw, 72px) 0 clamp(28px, 5vw, 56px);
  background:
    linear-gradient(115deg, #eaf6ef 0%, #f8fcfa 45%, #ffffff 100%);
}

.page-content-sched .ccs-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-content-sched .ccs-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 4.4vw, 3.2rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-content-sched .ccs-hero h1 span {
  display: block;
  color: var(--green);
}

.page-content-sched .ccs-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5d50;
  font-size: 1.06rem;
  line-height: 1.7;
}

.page-content-sched .ccs-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-content-sched .ccs-hero__formats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-content-sched .ccs-hero__formats li {
  padding: 8px 14px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #d4eadc;
  font-size: 0.8rem;
  font-weight: 800;
  color: #1d3a28;
  box-shadow: 0 4px 12px rgba(16, 40, 26, 0.04);
}

.page-content-sched .ccs-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.1);
}

/* --- Production tape --- */
.page-content-sched .ccs-flow {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-content-sched .ccs-tape {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}

.page-content-sched .ccs-tape::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: #cfe8d8;
  z-index: 0;
}

.page-content-sched .ccs-tape li {
  position: relative;
  z-index: 1;
  padding: 0 12px;
  text-align: center;
}

.page-content-sched .ccs-tape__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  box-shadow: 0 0 0 6px #fff;
}

.page-content-sched .ccs-tape h3 {
  margin: 0 0 8px;
  font-size: 1.12rem;
  font-weight: 800;
  color: #122018;
}

.page-content-sched .ccs-tape p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

/* --- Services grid --- */
.page-content-sched .ccs-services {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-content-sched .ccs-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-content-sched .ccs-service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px 20px 20px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 14px;
  border-bottom: 3px solid var(--green);
}

.page-content-sched .ccs-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: #143226;
  color: #fff;
}

.page-content-sched .ccs-service h3 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-content-sched .ccs-service p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.94rem;
  line-height: 1.6;
  flex: 1;
}

.page-content-sched .ccs-service__go {
  position: absolute;
  top: 18px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #eef8f1;
  color: var(--green);
}

.page-content-sched .ccs-service__go:hover,
.page-content-sched .ccs-service__go:focus-visible {
  background: var(--green);
  color: #fff;
}

/* --- Perf / week strip --- */
.page-content-sched .ccs-perf {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-content-sched .ccs-perf__board {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-content-sched .ccs-perf__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

.page-content-sched .ccs-week {
  padding: 22px 20px;
  background: #f3faf6;
  border: 1px solid #d7eadf;
  border-radius: 16px;
}

.page-content-sched .ccs-week__label {
  margin: 0 0 14px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--green);
}

.page-content-sched .ccs-week__days {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.page-content-sched .ccs-week__days li {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  background: #fff;
  border-radius: 10px;
  border-left: 4px solid var(--green);
}

.page-content-sched .ccs-week__days li:nth-child(even) {
  border-left-color: #143226;
}

.page-content-sched .ccs-week__days span {
  font-size: 0.78rem;
  font-weight: 800;
  color: #5a6b5e;
  text-transform: uppercase;
}

.page-content-sched .ccs-week__days strong {
  font-size: 0.95rem;
  color: #122018;
}

.page-content-sched .ccs-week__checks {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-content-sched .ccs-week__checks li {
  position: relative;
  padding-left: 22px;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1d3a28;
}

.page-content-sched .ccs-week__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: var(--green);
}

/* --- Process frames --- */
.page-content-sched .ccs-process {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-content-sched .ccs-frames {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-content-sched .ccs-frames li {
  padding: 20px 18px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 12px;
  box-shadow: inset 0 3px 0 var(--green);
}

.page-content-sched .ccs-frames__num {
  display: block;
  margin-bottom: 10px;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
}

.page-content-sched .ccs-frames h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-content-sched .ccs-frames p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

/* --- Needs --- */
.page-content-sched .ccs-needs {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-content-sched .ccs-needs__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-content-sched .ccs-needs__chips li {
  padding: 12px 18px;
  border-radius: 8px;
  background: #eef8f1;
  border: 1px solid #cfe8d8;
  font-size: 0.92rem;
  font-weight: 800;
  color: #1d3a28;
}

/* --- Work --- */
.page-content-sched .ccs-work {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-content-sched .ccs-work__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-content-sched .ccs-work__copy p:not(.ccs-kicker) {
  margin: 0 0 20px;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-content-sched .ccs-work__tags {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-content-sched .ccs-work__tags li {
  padding: 14px 16px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #d7eadf;
  border-left: 4px solid var(--green);
}

.page-content-sched .ccs-work__tags span {
  display: block;
  font-weight: 800;
  color: #122018;
}

.page-content-sched .ccs-work__tags small {
  color: #5a6b5e;
  font-size: 0.88rem;
}

.page-content-sched .ccs-work__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* --- Why --- */
.page-content-sched .ccs-why {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-content-sched .ccs-why__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-content-sched .ccs-why__grid article {
  padding: 22px 20px;
  background: #f4faf6;
  border-radius: 12px;
  border-left: 4px solid var(--green);
}

.page-content-sched .ccs-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-content-sched .ccs-why__grid p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

/* --- FAQ --- */
.page-content-sched .ccs-faq {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-content-sched .ccs-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-content-sched .ccs-byline {
  margin-top: 18px !important;
  padding-top: 16px;
  border-top: 1px solid #d7eadf;
  font-size: 0.92rem !important;
  color: #5a6b5e !important;
}

.page-content-sched .ccs-byline span {
  display: block;
  margin-top: 6px;
  font-weight: 800;
  color: #1d3a28;
}

.page-content-sched .ccs-faq__list {
  display: grid;
  gap: 10px;
}

.page-content-sched .ccs-faq__item {
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 10px;
  padding: 4px 16px;
}

.page-content-sched .ccs-faq__item summary {
  position: relative;
  padding: 14px 28px 14px 0;
  cursor: pointer;
  font-weight: 800;
  color: #122018;
  list-style: none;
}

.page-content-sched .ccs-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-content-sched .ccs-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--green);
}

.page-content-sched .ccs-faq__item[open] summary::after {
  content: "-";
}

.page-content-sched .ccs-faq__item p {
  margin: 0 0 16px;
  color: #5a6b5e;
  line-height: 1.65;
}

/* --- CTA --- */
.page-content-sched .ccs-cta {
  padding: clamp(36px, 6vw, 72px) 0;
  background: #fff;
}

.page-content-sched .ccs-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 36px);
  align-items: center;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 18px;
  background: #122018;
  color: #fff;
}

.page-content-sched .ccs-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8fd9a8;
}

.page-content-sched .ccs-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  font-weight: 900;
  line-height: 1.15;
}

.page-content-sched .ccs-cta__copy > p {
  margin: 0 0 20px;
  color: #d7eadf;
  line-height: 1.65;
}

.page-content-sched .ccs-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.page-content-sched .ccs-cta .ccs-btn--ghost {
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}

.page-content-sched .ccs-cta .ccs-btn--ghost:hover,
.page-content-sched .ccs-cta .ccs-btn--ghost:focus-visible {
  border-color: #fff;
  color: #fff;
}

.page-content-sched .ccs-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #b7d8c3;
  font-size: 0.86rem;
  font-weight: 700;
}

.page-content-sched .ccs-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
}

.page-content-sched .ccs-related {
  padding-bottom: clamp(36px, 5vw, 56px);
}

@media (max-width: 980px) {
  .page-content-sched .ccs-hero__grid,
  .page-content-sched .ccs-perf__board,
  .page-content-sched .ccs-work__grid,
  .page-content-sched .ccs-faq__inner,
  .page-content-sched .ccs-cta__panel,
  .page-content-sched .ccs-why__grid {
    grid-template-columns: 1fr;
  }

  .page-content-sched .ccs-tape,
  .page-content-sched .ccs-services__grid,
  .page-content-sched .ccs-frames {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-content-sched .ccs-tape::before {
    display: none;
  }

  .page-content-sched .ccs-tape li {
    text-align: left;
    padding: 16px;
    background: #f4faf6;
    border-radius: 12px;
    border: 1px solid #dceee3;
  }
}

@media (max-width: 640px) {
  .page-content-sched .ccs-hero__actions,
  .page-content-sched .ccs-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .page-content-sched .ccs-tape,
  .page-content-sched .ccs-services__grid,
  .page-content-sched .ccs-frames {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Community Management (.page-community / .cmm-*)
   Conversation / inbox personality — distinct from Strategy & Content
   ========================================================================== */

.page-community .cmm-kicker {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-community .cmm-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-community .cmm-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-community .cmm-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-community .cmm-head p {
  margin: 0;
  color: #5a6b5e;
  font-size: 1.02rem;
  line-height: 1.65;
}

.page-community .cmm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-community .cmm-btn--solid {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
}

.page-community .cmm-btn--solid:hover,
.page-community .cmm-btn--solid:focus-visible {
  background: #00963c;
  border-color: #00963c;
}

.page-community .cmm-btn--ghost {
  background: transparent;
  color: #163322;
  border: 1px solid #b7d8c3;
}

.page-community .cmm-btn--ghost:hover,
.page-community .cmm-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-community .svc-breadcrumb {
  background: #f3faf6;
  border-bottom: 1px solid #d9ebe0;
}

/* --- Hero --- */
.page-community .cmm-hero {
  padding: clamp(36px, 6vw, 72px) 0 clamp(28px, 5vw, 56px);
  background:
    radial-gradient(ellipse 55% 50% at 100% 0%, rgba(0, 179, 72, 0.12), transparent 60%),
    linear-gradient(180deg, #eef8f2 0%, #ffffff 55%);
}

.page-community .cmm-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-community .cmm-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 4.4vw, 3.2rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-community .cmm-hero h1 span {
  display: block;
  color: var(--green);
}

.page-community .cmm-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5d50;
  font-size: 1.06rem;
  line-height: 1.7;
}

.page-community .cmm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-community .cmm-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-community .cmm-hero__tags li {
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #d4eadc;
  font-size: 0.8rem;
  font-weight: 800;
  color: #1d3a28;
}

.page-community .cmm-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 28px 12px 28px 12px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.1);
}

/* --- Chat bubbles value --- */
.page-community .cmm-care {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-community .cmm-bubbles {
  display: grid;
  gap: 14px;
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.page-community .cmm-bubbles__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  max-width: 92%;
  padding: 18px 20px;
  border: 1px solid #d7eadf;
}

.page-community .cmm-bubbles__item--left {
  justify-self: start;
  border-radius: 18px 18px 18px 4px;
  background: #f3faf6;
}

.page-community .cmm-bubbles__item--right {
  justify-self: end;
  border-radius: 18px 18px 4px 18px;
  background: #143226;
  color: #fff;
  border-color: #143226;
}

.page-community .cmm-bubbles__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
}

.page-community .cmm-bubbles__item--right .cmm-bubbles__num {
  background: #7ed39a;
  color: #143226;
}

.page-community .cmm-bubbles h3 {
  margin: 0 0 6px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #122018;
}

.page-community .cmm-bubbles__item--right h3 {
  color: #fff;
}

.page-community .cmm-bubbles p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.55;
  font-size: 0.95rem;
}

.page-community .cmm-bubbles__item--right p {
  color: #d7eadf;
}

/* --- Inbox service rows --- */
.page-community .cmm-services {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-community .cmm-inbox {
  display: grid;
  gap: 10px;
}

.page-community .cmm-inbox__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px 18px 18px 16px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 14px;
  border-left: 5px solid var(--green);
}

.page-community .cmm-inbox__row:nth-child(even) {
  border-left-color: #143226;
}

.page-community .cmm-inbox__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef8f1;
  color: #1d3a28;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.page-community .cmm-inbox__row:nth-child(even) .cmm-inbox__badge {
  background: #143226;
  color: #fff;
}

.page-community .cmm-inbox h3 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-community .cmm-inbox p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

.page-community .cmm-inbox__go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #eef8f1;
  color: var(--green);
}

.page-community .cmm-inbox__go:hover,
.page-community .cmm-inbox__go:focus-visible {
  background: var(--green);
  color: #fff;
}

/* --- Triage lanes perf --- */
.page-community .cmm-perf {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-community .cmm-perf__board {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-community .cmm-perf__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.page-community .cmm-lanes {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-community .cmm-lanes li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px 16px 16px 14px;
  border-radius: 14px;
}

.page-community .cmm-lanes li:nth-child(1) { background: #eef8f1; }
.page-community .cmm-lanes li:nth-child(2) { background: #d9f0e2; }
.page-community .cmm-lanes li:nth-child(3) { background: #1d3a28; color: #fff; }
.page-community .cmm-lanes li:nth-child(4) { background: #122018; color: #fff; }

.page-community .cmm-lanes__step {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--green);
}

.page-community .cmm-lanes li:nth-child(n+3) .cmm-lanes__step {
  color: #9ee0b4;
}

.page-community .cmm-lanes strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.05rem;
  color: #122018;
}

.page-community .cmm-lanes li:nth-child(n+3) strong {
  color: #fff;
}

.page-community .cmm-lanes p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.9rem;
  line-height: 1.5;
}

.page-community .cmm-lanes li:nth-child(n+3) p {
  color: #d7eadf;
}

/* --- Process steps --- */
.page-community .cmm-process {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-community .cmm-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-community .cmm-steps li {
  padding: 22px 18px 20px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 16px 16px 16px 4px;
}

.page-community .cmm-steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
}

.page-community .cmm-steps h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-community .cmm-steps p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

/* --- Needs --- */
.page-community .cmm-needs {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-community .cmm-needs__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-community .cmm-needs__chips li {
  padding: 12px 18px;
  border-radius: 999px;
  background: #eef8f1;
  border: 1px solid #cfe8d8;
  font-size: 0.92rem;
  font-weight: 800;
  color: #1d3a28;
}

/* --- Work --- */
.page-community .cmm-work {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-community .cmm-work__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-community .cmm-work__copy p:not(.cmm-kicker) {
  margin: 0 0 20px;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-community .cmm-work__tags {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-community .cmm-work__tags li {
  padding: 14px 16px;
  background: #fff;
  border-radius: 14px 14px 14px 4px;
  border: 1px solid #d7eadf;
}

.page-community .cmm-work__tags span {
  display: block;
  font-weight: 800;
  color: #122018;
}

.page-community .cmm-work__tags small {
  color: #5a6b5e;
  font-size: 0.88rem;
}

.page-community .cmm-work__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

/* --- Why --- */
.page-community .cmm-why {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-community .cmm-why__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-community .cmm-why__grid article {
  padding: 22px 20px;
  background: #f4faf6;
  border-radius: 16px 16px 16px 4px;
  border-bottom: 3px solid var(--green);
}

.page-community .cmm-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-community .cmm-why__grid p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

/* --- FAQ --- */
.page-community .cmm-faq {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-community .cmm-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-community .cmm-byline {
  margin-top: 18px !important;
  padding-top: 16px;
  border-top: 1px solid #d7eadf;
  font-size: 0.92rem !important;
  color: #5a6b5e !important;
}

.page-community .cmm-byline span {
  display: block;
  margin-top: 6px;
  font-weight: 800;
  color: #1d3a28;
}

.page-community .cmm-faq__list {
  display: grid;
  gap: 10px;
}

.page-community .cmm-faq__item {
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 14px;
  padding: 4px 16px;
}

.page-community .cmm-faq__item summary {
  position: relative;
  padding: 14px 28px 14px 0;
  cursor: pointer;
  font-weight: 800;
  color: #122018;
  list-style: none;
}

.page-community .cmm-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-community .cmm-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--green);
}

.page-community .cmm-faq__item[open] summary::after {
  content: "-";
}

.page-community .cmm-faq__item p {
  margin: 0 0 16px;
  color: #5a6b5e;
  line-height: 1.65;
}

/* --- CTA --- */
.page-community .cmm-cta {
  padding: clamp(36px, 6vw, 72px) 0;
  background: #fff;
}

.page-community .cmm-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 36px);
  align-items: center;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 28px 12px 28px 12px;
  background: #122018;
  color: #fff;
}

.page-community .cmm-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8fd9a8;
}

.page-community .cmm-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  font-weight: 900;
  line-height: 1.15;
}

.page-community .cmm-cta__copy > p {
  margin: 0 0 20px;
  color: #d7eadf;
  line-height: 1.65;
}

.page-community .cmm-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.page-community .cmm-cta .cmm-btn--ghost {
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}

.page-community .cmm-cta .cmm-btn--ghost:hover,
.page-community .cmm-cta .cmm-btn--ghost:focus-visible {
  border-color: #fff;
  color: #fff;
}

.page-community .cmm-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #b7d8c3;
  font-size: 0.86rem;
  font-weight: 700;
}

.page-community .cmm-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.page-community .cmm-related {
  padding-bottom: clamp(36px, 5vw, 56px);
}

@media (max-width: 980px) {
  .page-community .cmm-hero__grid,
  .page-community .cmm-perf__board,
  .page-community .cmm-work__grid,
  .page-community .cmm-faq__inner,
  .page-community .cmm-cta__panel,
  .page-community .cmm-why__grid {
    grid-template-columns: 1fr;
  }

  .page-community .cmm-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-community .cmm-bubbles__item {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .page-community .cmm-hero__actions,
  .page-community .cmm-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .page-community .cmm-steps {
    grid-template-columns: 1fr;
  }

  .page-community .cmm-inbox__row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .page-community .cmm-inbox__go {
    grid-column: 2;
    justify-self: start;
  }
}

/* ==========================================================================
   Influencer Marketing (.page-influencer / .inf-*)
   Casting / creator partnership personality — distinct from other SMM pages
   ========================================================================== */

.page-influencer .inf-kicker {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-influencer .inf-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-influencer .inf-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-influencer .inf-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-influencer .inf-head p {
  margin: 0;
  color: #5a6b5e;
  font-size: 1.02rem;
  line-height: 1.65;
}

.page-influencer .inf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-influencer .inf-btn--solid {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
}

.page-influencer .inf-btn--solid:hover,
.page-influencer .inf-btn--solid:focus-visible {
  background: #00963c;
  border-color: #00963c;
}

.page-influencer .inf-btn--ghost {
  background: transparent;
  color: #163322;
  border: 1px solid #b7d8c3;
}

.page-influencer .inf-btn--ghost:hover,
.page-influencer .inf-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-influencer .svc-breadcrumb {
  background: #f3faf6;
  border-bottom: 1px solid #d9ebe0;
}

/* --- Hero --- */
.page-influencer .inf-hero {
  padding: clamp(36px, 6vw, 72px) 0 clamp(28px, 5vw, 56px);
  background:
    linear-gradient(135deg, #e8f5ed 0%, #f7fcf9 38%, #ffffff 100%);
}

.page-influencer .inf-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-influencer .inf-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 4.4vw, 3.2rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-influencer .inf-hero h1 span {
  display: block;
  color: var(--green);
}

.page-influencer .inf-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5d50;
  font-size: 1.06rem;
  line-height: 1.7;
}

.page-influencer .inf-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-influencer .inf-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-influencer .inf-hero__tags li {
  padding: 8px 14px;
  border-radius: 8px;
  background: #143226;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
}

.page-influencer .inf-hero__tags li:nth-child(even) {
  background: #fff;
  color: #1d3a28;
  border: 1px solid #d4eadc;
}

.page-influencer .inf-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px 32px 12px 32px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.1);
}

/* --- Casting board path --- */
.page-influencer .inf-path {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-influencer .inf-cast {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-influencer .inf-cast li {
  padding: 22px 18px 20px;
  background: #f3faf6;
  border: 1px solid #d7eadf;
  border-radius: 14px;
  border-top: 4px solid var(--green);
}

.page-influencer .inf-cast li:nth-child(even) {
  background: #143226;
  border-color: #143226;
  border-top-color: #7ed39a;
  color: #fff;
}

.page-influencer .inf-cast__num {
  display: block;
  margin-bottom: 12px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
}

.page-influencer .inf-cast li:nth-child(even) .inf-cast__num {
  color: #9ee0b4;
}

.page-influencer .inf-cast h3 {
  margin: 0 0 8px;
  font-size: 1.12rem;
  font-weight: 800;
  color: #122018;
}

.page-influencer .inf-cast li:nth-child(even) h3 {
  color: #fff;
}

.page-influencer .inf-cast p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

.page-influencer .inf-cast li:nth-child(even) p {
  color: #d7eadf;
}

/* --- Services casting cards --- */
.page-influencer .inf-services {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-influencer .inf-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-influencer .inf-service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 20px 20px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 16px;
}

.page-influencer .inf-service__tag {
  display: inline-flex;
  align-self: flex-start;
  padding: 5px 10px;
  border-radius: 6px;
  background: #eef8f1;
  color: var(--green);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page-influencer .inf-service h3 {
  margin: 0;
  padding-right: 36px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-influencer .inf-service p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.94rem;
  line-height: 1.6;
  flex: 1;
}

.page-influencer .inf-service__go {
  position: absolute;
  top: 18px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #143226;
  color: #fff;
}

.page-influencer .inf-service__go:hover,
.page-influencer .inf-service__go:focus-visible {
  background: var(--green);
}

/* --- Score / measurement path --- */
.page-influencer .inf-perf {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-influencer .inf-perf__board {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-influencer .inf-perf__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

.page-influencer .inf-score {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-influencer .inf-score li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
  background: #f3faf6;
  border-radius: 12px;
  border-left: 5px solid var(--green);
}

.page-influencer .inf-score li:nth-child(1) { width: 78%; }
.page-influencer .inf-score li:nth-child(2) { width: 86%; }
.page-influencer .inf-score li:nth-child(3) { width: 94%; }
.page-influencer .inf-score li:nth-child(4) {
  width: 100%;
  background: #143226;
  border-left-color: #7ed39a;
  color: #fff;
}

.page-influencer .inf-score__step {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--green);
}

.page-influencer .inf-score li:nth-child(4) .inf-score__step {
  color: #9ee0b4;
}

.page-influencer .inf-score strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.05rem;
  color: #122018;
}

.page-influencer .inf-score li:nth-child(4) strong {
  color: #fff;
}

.page-influencer .inf-score p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.9rem;
  line-height: 1.5;
}

.page-influencer .inf-score li:nth-child(4) p {
  color: #d7eadf;
}

/* --- Process slates --- */
.page-influencer .inf-process {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-influencer .inf-slates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-influencer .inf-slates li {
  padding: 20px 18px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 12px;
  box-shadow: inset 0 3px 0 #143226;
}

.page-influencer .inf-slates li:nth-child(even) {
  box-shadow: inset 0 3px 0 var(--green);
}

.page-influencer .inf-slates__num {
  display: block;
  margin-bottom: 10px;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
}

.page-influencer .inf-slates h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-influencer .inf-slates p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

/* --- Needs --- */
.page-influencer .inf-needs {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-influencer .inf-needs__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-influencer .inf-needs__chips li {
  padding: 12px 18px;
  border-radius: 8px;
  background: #eef8f1;
  border: 1px solid #cfe8d8;
  font-size: 0.92rem;
  font-weight: 800;
  color: #1d3a28;
}

/* --- Work --- */
.page-influencer .inf-work {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-influencer .inf-work__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-influencer .inf-work__copy p:not(.inf-kicker) {
  margin: 0 0 20px;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-influencer .inf-work__tags {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-influencer .inf-work__tags li {
  padding: 14px 16px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7eadf;
  border-top: 3px solid var(--green);
}

.page-influencer .inf-work__tags span {
  display: block;
  font-weight: 800;
  color: #122018;
}

.page-influencer .inf-work__tags small {
  color: #5a6b5e;
  font-size: 0.88rem;
}

.page-influencer .inf-work__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* --- Why --- */
.page-influencer .inf-why {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-influencer .inf-why__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-influencer .inf-why__grid article {
  padding: 22px 20px;
  background: #f4faf6;
  border-radius: 14px;
  border-right: 4px solid var(--green);
}

.page-influencer .inf-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-influencer .inf-why__grid p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

/* --- FAQ --- */
.page-influencer .inf-faq {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-influencer .inf-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-influencer .inf-byline {
  margin-top: 18px !important;
  padding-top: 16px;
  border-top: 1px solid #d7eadf;
  font-size: 0.92rem !important;
  color: #5a6b5e !important;
}

.page-influencer .inf-byline span {
  display: block;
  margin-top: 6px;
  font-weight: 800;
  color: #1d3a28;
}

.page-influencer .inf-faq__list {
  display: grid;
  gap: 10px;
}

.page-influencer .inf-faq__item {
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 12px;
  padding: 4px 16px;
}

.page-influencer .inf-faq__item summary {
  position: relative;
  padding: 14px 28px 14px 0;
  cursor: pointer;
  font-weight: 800;
  color: #122018;
  list-style: none;
}

.page-influencer .inf-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-influencer .inf-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--green);
}

.page-influencer .inf-faq__item[open] summary::after {
  content: "-";
}

.page-influencer .inf-faq__item p {
  margin: 0 0 16px;
  color: #5a6b5e;
  line-height: 1.65;
}

/* --- CTA --- */
.page-influencer .inf-cta {
  padding: clamp(36px, 6vw, 72px) 0;
  background: #fff;
}

.page-influencer .inf-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 36px);
  align-items: center;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 12px 32px 12px 32px;
  background: #122018;
  color: #fff;
}

.page-influencer .inf-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8fd9a8;
}

.page-influencer .inf-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  font-weight: 900;
  line-height: 1.15;
}

.page-influencer .inf-cta__copy > p {
  margin: 0 0 20px;
  color: #d7eadf;
  line-height: 1.65;
}

.page-influencer .inf-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.page-influencer .inf-cta .inf-btn--ghost {
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}

.page-influencer .inf-cta .inf-btn--ghost:hover,
.page-influencer .inf-cta .inf-btn--ghost:focus-visible {
  border-color: #fff;
  color: #fff;
}

.page-influencer .inf-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #b7d8c3;
  font-size: 0.86rem;
  font-weight: 700;
}

.page-influencer .inf-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
}

.page-influencer .inf-related {
  padding-bottom: clamp(36px, 5vw, 56px);
}

@media (max-width: 980px) {
  .page-influencer .inf-hero__grid,
  .page-influencer .inf-perf__board,
  .page-influencer .inf-work__grid,
  .page-influencer .inf-faq__inner,
  .page-influencer .inf-cta__panel,
  .page-influencer .inf-why__grid {
    grid-template-columns: 1fr;
  }

  .page-influencer .inf-cast,
  .page-influencer .inf-services__grid,
  .page-influencer .inf-slates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-influencer .inf-score li {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .page-influencer .inf-hero__actions,
  .page-influencer .inf-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .page-influencer .inf-cast,
  .page-influencer .inf-services__grid,
  .page-influencer .inf-slates {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Social Media Ads Management (.page-ads / .sma-*)
   Media-buy / paid path personality — distinct from other SMM pages
   ========================================================================== */

.page-ads .sma-kicker {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
}

.page-ads .sma-head {
  max-width: 640px;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-ads .sma-head--center {
  margin-inline: auto;
  text-align: center;
}

.page-ads .sma-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-ads .sma-head p {
  margin: 0;
  color: #5a6b5e;
  font-size: 1.02rem;
  line-height: 1.65;
}

.page-ads .sma-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-ads .sma-btn--solid {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
}

.page-ads .sma-btn--solid:hover,
.page-ads .sma-btn--solid:focus-visible {
  background: #00963c;
  border-color: #00963c;
}

.page-ads .sma-btn--ghost {
  background: transparent;
  color: #163322;
  border: 1px solid #b7d8c3;
}

.page-ads .sma-btn--ghost:hover,
.page-ads .sma-btn--ghost:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.page-ads .svc-breadcrumb {
  background: #f3faf6;
  border-bottom: 1px solid #d9ebe0;
}

/* --- Hero --- */
.page-ads .sma-hero {
  padding: clamp(36px, 6vw, 72px) 0 clamp(28px, 5vw, 56px);
  background:
    linear-gradient(160deg, #e6f4eb 0%, #f5faf7 42%, #ffffff 100%);
}

.page-ads .sma-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-ads .sma-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 4.4vw, 3.15rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-ads .sma-hero h1 span {
  display: block;
  color: var(--green);
}

.page-ads .sma-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5d50;
  font-size: 1.06rem;
  line-height: 1.7;
}

.page-ads .sma-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-ads .sma-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ads .sma-hero__tags li {
  padding: 7px 12px;
  border-radius: 6px;
  background: #143226;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.page-ads .sma-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.1);
}

/* --- Budget bars value --- */
.page-ads .sma-buy {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-ads .sma-bars {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ads .sma-bars li {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  overflow: hidden;
  padding: 18px 20px;
  background: #f3faf6;
  border: 1px solid #d7eadf;
  border-radius: 10px;
}

.page-ads .sma-bars__fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 179, 72, 0.1);
  pointer-events: none;
}

.page-ads .sma-bars li:nth-child(1) .sma-bars__fill { width: 28%; }
.page-ads .sma-bars li:nth-child(2) .sma-bars__fill { width: 48%; }
.page-ads .sma-bars li:nth-child(3) .sma-bars__fill { width: 68%; }
.page-ads .sma-bars li:nth-child(4) {
  background: #143226;
  border-color: #143226;
  color: #fff;
}
.page-ads .sma-bars li:nth-child(4) .sma-bars__fill {
  width: 100%;
  background: rgba(126, 211, 154, 0.12);
}

.page-ads .sma-bars__num {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
}

.page-ads .sma-bars li:nth-child(4) .sma-bars__num {
  background: #7ed39a;
  color: #143226;
}

.page-ads .sma-bars h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 6px;
  font-size: 1.12rem;
  font-weight: 800;
  color: #122018;
}

.page-ads .sma-bars li:nth-child(4) h3 {
  color: #fff;
}

.page-ads .sma-bars p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #5a6b5e;
  line-height: 1.55;
  font-size: 0.95rem;
}

.page-ads .sma-bars li:nth-child(4) p {
  color: #d7eadf;
}

/* --- Services --- */
.page-ads .sma-services {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-ads .sma-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-ads .sma-service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 18px 18px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 10px;
  border-bottom: 3px solid #143226;
}

.page-ads .sma-service:nth-child(even) {
  border-bottom-color: var(--green);
}

.page-ads .sma-service__obj {
  display: inline-flex;
  align-self: flex-start;
  padding: 4px 10px;
  border-radius: 4px;
  background: #143226;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.page-ads .sma-service h3 {
  margin: 0;
  padding-right: 36px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-ads .sma-service p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.93rem;
  line-height: 1.6;
  flex: 1;
}

.page-ads .sma-service__go {
  position: absolute;
  top: 16px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: #eef8f1;
  color: var(--green);
}

.page-ads .sma-service__go:hover,
.page-ads .sma-service__go:focus-visible {
  background: var(--green);
  color: #fff;
}

/* --- Conversion ladder --- */
.page-ads .sma-perf {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-ads .sma-perf__board {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-ads .sma-perf__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.page-ads .sma-ladder {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ads .sma-ladder li {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  overflow: hidden;
  padding: 16px 16px 16px 14px;
  background: #f3faf6;
  border-radius: 10px;
  border: 1px solid #d7eadf;
}

.page-ads .sma-ladder__meter {
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  background: rgba(0, 179, 72, 0.14);
}

.page-ads .sma-ladder li:nth-child(1) .sma-ladder__meter { width: 30%; }
.page-ads .sma-ladder li:nth-child(2) .sma-ladder__meter { width: 50%; }
.page-ads .sma-ladder li:nth-child(3) .sma-ladder__meter { width: 72%; }
.page-ads .sma-ladder li:nth-child(4) {
  background: #122018;
  border-color: #122018;
  color: #fff;
}
.page-ads .sma-ladder li:nth-child(4) .sma-ladder__meter {
  width: 100%;
  background: rgba(0, 179, 72, 0.28);
}

.page-ads .sma-ladder__step,
.page-ads .sma-ladder strong,
.page-ads .sma-ladder p {
  position: relative;
  z-index: 1;
}

.page-ads .sma-ladder__step {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--green);
}

.page-ads .sma-ladder li:nth-child(4) .sma-ladder__step {
  color: #9ee0b4;
}

.page-ads .sma-ladder strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.05rem;
  color: #122018;
}

.page-ads .sma-ladder li:nth-child(4) strong {
  color: #fff;
}

.page-ads .sma-ladder p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.9rem;
  line-height: 1.5;
}

.page-ads .sma-ladder li:nth-child(4) p {
  color: #d7eadf;
}

/* --- Process --- */
.page-ads .sma-process {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-ads .sma-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ads .sma-steps li {
  padding: 20px 18px;
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 10px;
  border-left: 4px solid var(--green);
}

.page-ads .sma-steps li:nth-child(even) {
  border-left-color: #143226;
}

.page-ads .sma-steps__num {
  display: block;
  margin-bottom: 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--green);
}

.page-ads .sma-steps h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-ads .sma-steps p {
  margin: 0;
  color: #5a6b5e;
  font-size: 0.92rem;
  line-height: 1.55;
}

/* --- Needs --- */
.page-ads .sma-needs {
  padding: clamp(40px, 6vw, 72px) 0;
  background: #fff;
}

.page-ads .sma-needs__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ads .sma-needs__chips li {
  padding: 11px 16px;
  border-radius: 6px;
  background: #eef8f1;
  border: 1px solid #cfe8d8;
  font-size: 0.9rem;
  font-weight: 800;
  color: #1d3a28;
}

/* --- Work --- */
.page-ads .sma-work {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #eef7f1;
}

.page-ads .sma-work__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 4vw, 40px);
  align-items: center;
}

.page-ads .sma-work__copy p:not(.sma-kicker) {
  margin: 0 0 20px;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-ads .sma-work__tags {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-ads .sma-work__tags li {
  padding: 14px 16px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #d7eadf;
  border-left: 4px solid #143226;
}

.page-ads .sma-work__tags li:nth-child(even) {
  border-left-color: var(--green);
}

.page-ads .sma-work__tags span {
  display: block;
  font-weight: 800;
  color: #122018;
}

.page-ads .sma-work__tags small {
  color: #5a6b5e;
  font-size: 0.88rem;
}

.page-ads .sma-work__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* --- Why --- */
.page-ads .sma-why {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #fff;
}

.page-ads .sma-why__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-ads .sma-why__grid article {
  padding: 22px 20px;
  background: #f4faf6;
  border-radius: 10px;
  border-top: 3px solid var(--green);
}

.page-ads .sma-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #122018;
}

.page-ads .sma-why__grid p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

/* --- FAQ --- */
.page-ads .sma-faq {
  padding: clamp(44px, 7vw, 88px) 0;
  background: #f6fbf8;
}

.page-ads .sma-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-ads .sma-byline {
  margin-top: 18px !important;
  padding-top: 16px;
  border-top: 1px solid #d7eadf;
  font-size: 0.92rem !important;
  color: #5a6b5e !important;
}

.page-ads .sma-byline span {
  display: block;
  margin-top: 6px;
  font-weight: 800;
  color: #1d3a28;
}

.page-ads .sma-faq__list {
  display: grid;
  gap: 10px;
}

.page-ads .sma-faq__item {
  background: #fff;
  border: 1px solid #d7eadf;
  border-radius: 10px;
  padding: 4px 16px;
}

.page-ads .sma-faq__item summary {
  position: relative;
  padding: 14px 28px 14px 0;
  cursor: pointer;
  font-weight: 800;
  color: #122018;
  list-style: none;
}

.page-ads .sma-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-ads .sma-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--green);
}

.page-ads .sma-faq__item[open] summary::after {
  content: "-";
}

.page-ads .sma-faq__item p {
  margin: 0 0 16px;
  color: #5a6b5e;
  line-height: 1.65;
}

/* --- CTA --- */
.page-ads .sma-cta {
  padding: clamp(36px, 6vw, 72px) 0;
  background: #fff;
}

.page-ads .sma-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(20px, 3.5vw, 36px);
  align-items: center;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 12px;
  background: #122018;
  color: #fff;
}

.page-ads .sma-cta__eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8fd9a8;
}

.page-ads .sma-cta__copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  font-weight: 900;
  line-height: 1.15;
}

.page-ads .sma-cta__copy > p {
  margin: 0 0 20px;
  color: #d7eadf;
  line-height: 1.65;
}

.page-ads .sma-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.page-ads .sma-cta .sma-btn--ghost {
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}

.page-ads .sma-cta .sma-btn--ghost:hover,
.page-ads .sma-cta .sma-btn--ghost:focus-visible {
  border-color: #fff;
  color: #fff;
}

.page-ads .sma-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #b7d8c3;
  font-size: 0.86rem;
  font-weight: 700;
}

.page-ads .sma-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.page-ads .sma-related {
  padding-bottom: clamp(36px, 5vw, 56px);
}

@media (max-width: 980px) {
  .page-ads .sma-hero__grid,
  .page-ads .sma-perf__board,
  .page-ads .sma-work__grid,
  .page-ads .sma-faq__inner,
  .page-ads .sma-cta__panel,
  .page-ads .sma-why__grid {
    grid-template-columns: 1fr;
  }

  .page-ads .sma-services__grid,
  .page-ads .sma-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .page-ads .sma-hero__actions,
  .page-ads .sma-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .page-ads .sma-services__grid,
  .page-ads .sma-steps {
    grid-template-columns: 1fr;
  }
}

/* ===== Site search overlay ===== */
body.search-open {
  overflow: hidden;
}

.site-search {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 12vh 20px 24px;
}

.site-search[hidden] {
  display: none;
}

.site-search__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 51, 17, 0.45);
}

.site-search__panel {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(10, 51, 17, 0.18);
  overflow: hidden;
}

.site-search__form {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid var(--border);
}

.site-search__input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  font: inherit;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  background: transparent;
}

.site-search__input::placeholder {
  color: var(--muted);
  font-weight: 600;
}

.site-search__close {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: var(--cream);
  color: var(--green-dark);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.site-search__close:hover,
.site-search__close:focus-visible {
  background: var(--green);
  color: var(--white);
}

.site-search__results {
  list-style: none;
  margin: 0;
  padding: 8px;
  max-height: min(52vh, 420px);
  overflow-y: auto;
}

.site-search__item a {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 10px;
  color: inherit;
  text-decoration: none;
}

.site-search__item.is-active a,
.site-search__item a:hover,
.site-search__item a:focus-visible {
  background: var(--cream);
}

.site-search__title {
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--text);
}

.site-search__blurb {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--muted);
}

.site-search__hint {
  margin: 0;
  padding: 10px 18px 16px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--muted);
}

/* ===== Blog Writing — editorial / publishing (not SMM) ===== */
.page-blog-writing {
  background: #fff;
}

.page-blog-writing .blg-kicker {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #1f6b45;
}

.page-blog-writing .blg-head {
  margin-bottom: clamp(24px, 4vw, 36px);
}

.page-blog-writing .blg-head--center {
  text-align: center;
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
}

.page-blog-writing .blg-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #122018;
}

.page-blog-writing .blg-head p {
  margin: 0;
  color: #4d5f54;
  line-height: 1.65;
}

.page-blog-writing .blg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 4px;
  font-size: 0.88rem;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-blog-writing .blg-btn--solid {
  background: #1f6b45;
  color: #fff;
}

.page-blog-writing .blg-btn--solid:hover,
.page-blog-writing .blg-btn--solid:focus-visible {
  background: #0a3311;
  color: #fff;
  transform: translateY(-1px);
}

.page-blog-writing .blg-btn--ghost {
  border: 1.5px solid #b9d4c4;
  color: #143226;
  background: #fff;
}

.page-blog-writing .blg-btn--ghost:hover,
.page-blog-writing .blg-btn--ghost:focus-visible {
  border-color: #1f6b45;
  color: #0a3311;
}

.page-blog-writing .blg-btn--on-dark {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
  background: transparent;
}

.page-blog-writing .blg-btn--on-dark:hover,
.page-blog-writing .blg-btn--on-dark:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  color: #fff;
}

.page-blog-writing .blg-crumb {
  padding: 14px 0;
  background: #f6faf7;
  border-bottom: 1px solid #d7e8de;
}

.page-blog-writing .blg-crumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4d5f54;
}

.page-blog-writing .blg-crumb li:not(:last-child)::after {
  content: "›";
  margin-left: 8px;
  color: #9bb5a6;
}

.page-blog-writing .blg-crumb a {
  color: #0a3311;
}

.page-blog-writing .blg-crumb li[aria-current="page"] {
  color: #122018;
}

/* Hero — editorial split, sharper corners than SMM pills */
.page-blog-writing .blg-hero {
  padding: clamp(40px, 6vw, 80px) 0 clamp(32px, 5vw, 56px);
  background:
    linear-gradient(90deg, #f4f9f6 0%, #f4f9f6 48%, #ffffff 48%, #ffffff 100%);
}

.page-blog-writing .blg-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.page-blog-writing .blg-hero .svc-h1-stack {
  margin: 0 0 16px;
  font-size: clamp(2.1rem, 4.5vw, 3.4rem);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: #122018;
}

.page-blog-writing .blg-hero h1 {
  display: block;
  margin-top: 8px;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: #1f6b45;
}

.page-blog-writing .blg-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4d5f54;
  font-size: 1.05rem;
  line-height: 1.7;
}

.page-blog-writing .blg-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-blog-writing .blg-hero__topics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-blog-writing .blg-hero__topics li {
  position: relative;
  padding-left: 14px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1d3a28;
}

.page-blog-writing .blg-hero__topics li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 6px;
  height: 6px;
  background: #1f6b45;
}

.page-blog-writing .blg-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 20px 44px rgba(18, 40, 28, 0.12);
  animation: blg-rise 0.7s ease-out both;
}

.page-blog-writing .blg-hero__copy {
  animation: blg-rise 0.55s ease-out both;
}

@keyframes blg-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .page-blog-writing .blg-hero__copy,
  .page-blog-writing .blg-hero__media img {
    animation: none;
  }
}

/* Masthead strip */
.page-blog-writing .blg-mast {
  padding: 14px 0;
  background: #122018;
  color: #e8f6ee;
}

.page-blog-writing .blg-mast__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.page-blog-writing .blg-mast__rule {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
}

/* Outline spine — unique to editorial */
.page-blog-writing .blg-outline {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-blog-writing .blg-outline__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-blog-writing .blg-outline__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.2vw, 2.35rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #122018;
}

.page-blog-writing .blg-outline__copy p {
  margin: 0;
  color: #4d5f54;
  line-height: 1.7;
  max-width: 32rem;
}

.page-blog-writing .blg-outline__spine {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 2px solid #cfe3d7;
}

.page-blog-writing .blg-outline__spine li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 0 0 22px 22px;
  position: relative;
}

.page-blog-writing .blg-outline__spine li:last-child {
  padding-bottom: 0;
}

.page-blog-writing .blg-outline__spine li::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1f6b45;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px #cfe3d7;
}

.page-blog-writing .blg-outline__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  padding: 4px 8px;
  background: #122018;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.page-blog-writing .blg-outline__spine strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.02rem;
  color: #122018;
}

.page-blog-writing .blg-outline__spine p {
  margin: 0;
  font-size: 0.92rem;
  color: #4d5f54;
  line-height: 1.55;
}

.page-blog-writing .blg-outline__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 16px 36px rgba(18, 40, 28, 0.1);
}

/* Pillars — magazine columns */
.page-blog-writing .blg-pillars {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f6faf7;
}

.page-blog-writing .blg-pillars__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 2px solid #122018;
  border-bottom: 2px solid #122018;
}

.page-blog-writing .blg-pillars__cols article {
  padding: 28px 24px;
  border-right: 1px solid #cfe3d7;
}

.page-blog-writing .blg-pillars__cols article:last-child {
  border-right: 0;
}

.page-blog-writing .blg-pillars__label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1f6b45;
}

.page-blog-writing .blg-pillars__cols h3 {
  margin: 0 0 10px;
  font-size: 1.35rem;
  font-weight: 900;
  color: #122018;
}

.page-blog-writing .blg-pillars__cols p {
  margin: 0;
  color: #4d5f54;
  line-height: 1.6;
}

/* SEO brief sheet */
.page-blog-writing .blg-brief {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-blog-writing .blg-brief__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-blog-writing .blg-brief__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 16px 36px rgba(18, 40, 28, 0.1);
}

.page-blog-writing .blg-brief__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-blog-writing .blg-brief__copy > p {
  margin: 0 0 20px;
  color: #4d5f54;
  line-height: 1.7;
}

.page-blog-writing .blg-brief__sheet {
  margin: 0;
  border: 1px solid #cfe3d7;
  background: #f6faf7;
}

.page-blog-writing .blg-brief__sheet div {
  display: grid;
  grid-template-columns: minmax(110px, 0.4fr) minmax(0, 1fr);
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #d7e8de;
}

.page-blog-writing .blg-brief__sheet div:last-child {
  border-bottom: 0;
}

.page-blog-writing .blg-brief__sheet dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1f6b45;
}

.page-blog-writing .blg-brief__sheet dd {
  margin: 0;
  font-weight: 700;
  color: #122018;
}

/* Includes checklist */
.page-blog-writing .blg-includes {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f6faf7;
}

.page-blog-writing .blg-includes__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 900px;
  margin-inline: auto;
}

.page-blog-writing .blg-includes__list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-bottom: 1px solid #d7e8de;
}

.page-blog-writing .blg-includes__list span {
  font-size: 0.85rem;
  font-weight: 900;
  color: #1f6b45;
}

.page-blog-writing .blg-includes__list h3 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-blog-writing .blg-includes__list p {
  margin: 0;
  font-size: 0.92rem;
  color: #4d5f54;
  line-height: 1.5;
}

/* Process chapters */
.page-blog-writing .blg-process {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-blog-writing .blg-process__chapters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-blog-writing .blg-process__chapters li {
  padding: 20px 16px;
  background: #f6faf7;
  border-top: 3px solid #1f6b45;
}

.page-blog-writing .blg-process__chapters em {
  display: block;
  margin-bottom: 8px;
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1f6b45;
}

.page-blog-writing .blg-process__chapters strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1.05rem;
  color: #122018;
}

.page-blog-writing .blg-process__chapters p {
  margin: 0;
  font-size: 0.88rem;
  color: #4d5f54;
  line-height: 1.5;
}

/* Sample article column */
.page-blog-writing .blg-sample {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #f0f6f2;
}

.page-blog-writing .blg-sample__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-blog-writing .blg-sample__article {
  padding: clamp(24px, 3vw, 36px);
  background: #fff;
  border: 1px solid #d7e8de;
  box-shadow: 0 12px 32px rgba(18, 40, 28, 0.06);
}

.page-blog-writing .blg-sample__eyebrow {
  margin: 0 0 8px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1f6b45;
}

.page-blog-writing .blg-sample__article > h2 {
  margin: 0 0 10px;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #122018;
}

.page-blog-writing .blg-sample__dek {
  margin: 0 0 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid #d7e8de;
  color: #4d5f54;
  line-height: 1.6;
}

.page-blog-writing .blg-sample__body h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #122018;
}

.page-blog-writing .blg-sample__body p {
  margin: 0 0 18px;
  color: #4d5f54;
  line-height: 1.7;
}

.page-blog-writing .blg-sample__body p:last-child {
  margin-bottom: 0;
}

.page-blog-writing .blg-sample__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 16px 36px rgba(18, 40, 28, 0.1);
}

/* Why */
.page-blog-writing .blg-why {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-blog-writing .blg-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-blog-writing .blg-why__grid article {
  padding: 8px 0;
  border-top: 2px solid #122018;
}

.page-blog-writing .blg-why__grid h3 {
  margin: 14px 0 8px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #122018;
}

.page-blog-writing .blg-why__grid p {
  margin: 0;
  color: #4d5f54;
  line-height: 1.6;
}

/* FAQ */
.page-blog-writing .blg-faq {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f6faf7;
}

.page-blog-writing .blg-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-blog-writing .blg-byline {
  margin-top: 16px !important;
  font-size: 0.88rem !important;
}

.page-blog-writing .blg-byline span {
  display: block;
  margin-top: 4px;
  font-weight: 800;
  color: #1d3a28;
}

.page-blog-writing .blg-faq__list {
  display: grid;
  gap: 10px;
}

.page-blog-writing .blg-faq__item {
  background: #fff;
  border: 1px solid #d7e8de;
}

.page-blog-writing .blg-faq__item summary {
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 800;
  color: #122018;
  list-style: none;
}

.page-blog-writing .blg-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-blog-writing .blg-faq__item summary::after {
  content: "+";
  float: right;
  font-weight: 900;
  color: #1f6b45;
}

.page-blog-writing .blg-faq__item[open] summary::after {
  content: "–";
}

.page-blog-writing .blg-faq__item p {
  margin: 0;
  padding: 0 18px 16px;
  color: #4d5f54;
  line-height: 1.65;
}

/* CTA */
.page-blog-writing .blg-cta {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #122018;
  color: #fff;
}

.page-blog-writing .blg-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.page-blog-writing .blg-cta h2 {
  margin: 0 0 8px;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 900;
  letter-spacing: -0.02em;
}

.page-blog-writing .blg-cta p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  max-width: 36rem;
  line-height: 1.6;
}

.page-blog-writing .blg-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-blog-writing .blg-cta .blg-btn--solid {
  background: #fff;
  color: #122018;
}

.page-blog-writing .blg-cta .blg-btn--solid:hover,
.page-blog-writing .blg-cta .blg-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #122018;
}

@media (max-width: 980px) {
  .page-blog-writing .blg-hero {
    background: linear-gradient(180deg, #f4f9f6 0%, #fff 55%);
  }

  .page-blog-writing .blg-hero__grid,
  .page-blog-writing .blg-outline__grid,
  .page-blog-writing .blg-brief__grid,
  .page-blog-writing .blg-sample__grid,
  .page-blog-writing .blg-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-blog-writing .blg-pillars__cols,
  .page-blog-writing .blg-why__grid {
    grid-template-columns: 1fr;
  }

  .page-blog-writing .blg-pillars__cols article {
    border-right: 0;
    border-bottom: 1px solid #cfe3d7;
  }

  .page-blog-writing .blg-pillars__cols article:last-child {
    border-bottom: 0;
  }

  .page-blog-writing .blg-process__chapters {
    grid-template-columns: 1fr 1fr;
  }

  .page-blog-writing .blg-includes__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-blog-writing .blg-process__chapters {
    grid-template-columns: 1fr;
  }

  .page-blog-writing .blg-hero__actions,
  .page-blog-writing .blg-cta__actions {
    flex-direction: column;
  }

  .page-blog-writing .blg-btn {
    width: 100%;
  }

  .page-blog-writing .blg-brief__sheet div {
    grid-template-columns: 1fr;
  }

  .page-blog-writing .blg-mast__inner {
    flex-wrap: wrap;
  }
}

/* ===== Copywriting — headline board / message house (not SMM, not blog) ===== */
.page-copywriting {
  background: #fff;
}

.page-copywriting .cpy-kicker {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #0e7a4a;
}

.page-copywriting .cpy-head {
  margin-bottom: clamp(24px, 4vw, 36px);
}

.page-copywriting .cpy-head--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.page-copywriting .cpy-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #101f16;
}

.page-copywriting .cpy-head p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.65;
}

.page-copywriting .cpy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-copywriting .cpy-btn--solid {
  background: #0e7a4a;
  color: #fff;
}

.page-copywriting .cpy-btn--solid:hover,
.page-copywriting .cpy-btn--solid:focus-visible {
  background: #0a3311;
  color: #fff;
  transform: translateY(-1px);
}

.page-copywriting .cpy-btn--ghost {
  border: 1.5px solid #b7d4c5;
  color: #143226;
  background: #fff;
}

.page-copywriting .cpy-btn--ghost:hover,
.page-copywriting .cpy-btn--ghost:focus-visible {
  border-color: #0e7a4a;
  color: #0a3311;
}

.page-copywriting .cpy-btn--on-dark {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
  background: transparent;
}

.page-copywriting .cpy-btn--on-dark:hover,
.page-copywriting .cpy-btn--on-dark:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  color: #fff;
}

.page-copywriting .cpy-crumb {
  padding: 14px 0;
  background: #ecf7f0;
  border-bottom: 1px solid #cfe6d8;
}

.page-copywriting .cpy-crumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4a5c51;
}

.page-copywriting .cpy-crumb li:not(:last-child)::after {
  content: "/";
  margin-left: 8px;
  color: #9bb5a6;
}

.page-copywriting .cpy-crumb a { color: #0a3311; }
.page-copywriting .cpy-crumb li[aria-current="page"] { color: #101f16; }

/* Hero — angled wash, pill CTAs (distinct from blog squares) */
.page-copywriting .cpy-hero {
  padding: clamp(40px, 6vw, 80px) 0;
  background:
    linear-gradient(115deg, #e8f6ee 0%, #e8f6ee 42%, #ffffff 42.1%, #ffffff 100%);
}

.page-copywriting .cpy-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: center;
}

.page-copywriting .cpy-hero .svc-h1-stack {
  margin: 0 0 16px;
  font-size: clamp(2.1rem, 4.5vw, 3.35rem);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: #101f16;
}

.page-copywriting .cpy-hero h1 {
  display: block;
  margin-top: 10px;
  font-size: clamp(1.2rem, 2.3vw, 1.6rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: #0e7a4a;
}

.page-copywriting .cpy-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5c51;
  font-size: 1.05rem;
  line-height: 1.7;
}

.page-copywriting .cpy-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.page-copywriting .cpy-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-copywriting .cpy-hero__tags li {
  padding: 6px 12px;
  border: 1px dashed #8fbfa3;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  color: #1d3a28;
  background: rgba(255, 255, 255, 0.7);
}

.page-copywriting .cpy-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px 4px 20px 4px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.12);
  animation: cpy-rise 0.7s ease-out both;
}

.page-copywriting .cpy-hero__copy {
  animation: cpy-rise 0.55s ease-out both;
}

@keyframes cpy-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .page-copywriting .cpy-hero__copy,
  .page-copywriting .cpy-hero__media img { animation: none; }
}

/* Headline board — stacked offset cards */
.page-copywriting .cpy-board {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-copywriting .cpy-board__stack {
  display: grid;
  gap: 14px;
  max-width: 720px;
  margin: 0 auto 36px;
}

.page-copywriting .cpy-board__card {
  padding: 20px 22px;
  border: 1px solid #cfe6d8;
  background: #f4fbf7;
  box-shadow: 0 10px 28px rgba(16, 40, 26, 0.06);
}

.page-copywriting .cpy-board__card--a {
  transform: rotate(-1.1deg);
  border-left: 5px solid #0e7a4a;
}

.page-copywriting .cpy-board__card--b {
  transform: rotate(0.8deg);
  border-left: 5px solid #143226;
  background: #fff;
}

.page-copywriting .cpy-board__card--c {
  transform: rotate(-0.5deg);
  border-left: 5px solid #5aa87a;
}

.page-copywriting .cpy-board__card span {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0e7a4a;
}

.page-copywriting .cpy-board__card h3 {
  margin: 0 0 8px;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #101f16;
}

.page-copywriting .cpy-board__card p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.55;
}

.page-copywriting .cpy-board__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Message house levels */
.page-copywriting .cpy-house {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #ecf7f0;
}

.page-copywriting .cpy-house__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-copywriting .cpy-house__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #101f16;
}

.page-copywriting .cpy-house__copy > p {
  margin: 0 0 22px;
  color: #4a5c51;
  line-height: 1.7;
  max-width: 34rem;
}

.page-copywriting .cpy-house__levels {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.page-copywriting .cpy-house__levels li {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #cfe6d8;
}

.page-copywriting .cpy-house__levels li:nth-child(1) { width: 100%; border-radius: 16px 16px 4px 4px; }
.page-copywriting .cpy-house__levels li:nth-child(2) { width: 92%; border-radius: 4px; }
.page-copywriting .cpy-house__levels li:nth-child(3) { width: 84%; border-radius: 4px; }
.page-copywriting .cpy-house__levels li:nth-child(4) { width: 76%; border-radius: 4px 4px 16px 16px; background: #143226; border-color: #143226; color: #fff; }

.page-copywriting .cpy-house__levels strong {
  font-size: 0.95rem;
  color: #101f16;
}

.page-copywriting .cpy-house__levels li:nth-child(4) strong { color: #fff; }

.page-copywriting .cpy-house__levels span {
  font-size: 0.88rem;
  color: #4a5c51;
  line-height: 1.45;
}

.page-copywriting .cpy-house__levels li:nth-child(4) span { color: rgba(255, 255, 255, 0.78); }

.page-copywriting .cpy-house__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px 4px 16px 4px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Channel lanes */
.page-copywriting .cpy-lanes {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-copywriting .cpy-lanes__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}

.page-copywriting .cpy-lanes__track article {
  padding: 22px 20px;
  background: #f4fbf7;
  border-top: 4px solid #0e7a4a;
}

.page-copywriting .cpy-lanes__track article:nth-child(2) { border-top-color: #143226; }
.page-copywriting .cpy-lanes__track article:nth-child(3) { border-top-color: #5aa87a; }

.page-copywriting .cpy-lanes__mark {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #143226;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-copywriting .cpy-lanes__track h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #101f16;
}

.page-copywriting .cpy-lanes__track p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.55;
}

.page-copywriting .cpy-lanes__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Includes */
.page-copywriting .cpy-includes {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #ecf7f0;
}

.page-copywriting .cpy-includes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-copywriting .cpy-includes__grid li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 18px 16px;
  background: #fff;
  border: 1px solid #cfe6d8;
  border-radius: 12px;
}

.page-copywriting .cpy-includes__grid strong {
  font-size: 0.9rem;
  font-weight: 900;
  color: #0e7a4a;
}

.page-copywriting .cpy-includes__grid h3 {
  margin: 0 0 4px;
  font-size: 1.02rem;
  font-weight: 800;
  color: #101f16;
}

.page-copywriting .cpy-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5c51;
  line-height: 1.5;
}

/* Rewrite rounds */
.page-copywriting .cpy-rounds {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-copywriting .cpy-rounds__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-copywriting .cpy-rounds__list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 18px 14px;
  background: #101f16;
  color: #fff;
  border-radius: 14px;
}

.page-copywriting .cpy-rounds__list li:nth-child(even) {
  background: #0e7a4a;
}

.page-copywriting .cpy-rounds__list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  font-size: 0.75rem;
  font-weight: 900;
}

.page-copywriting .cpy-rounds__list h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 800;
}

.page-copywriting .cpy-rounds__list p {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.8);
}

/* Why */
.page-copywriting .cpy-why {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f4fbf7;
}

.page-copywriting .cpy-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.page-copywriting .cpy-why__grid article {
  padding: 22px 20px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #cfe6d8;
}

.page-copywriting .cpy-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #101f16;
}

.page-copywriting .cpy-why__grid p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.6;
}

/* FAQ */
.page-copywriting .cpy-faq {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-copywriting .cpy-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-copywriting .cpy-byline {
  margin-top: 16px !important;
  font-size: 0.88rem !important;
}

.page-copywriting .cpy-byline span {
  display: block;
  margin-top: 4px;
  font-weight: 800;
  color: #1d3a28;
}

.page-copywriting .cpy-faq__list {
  display: grid;
  gap: 10px;
}

.page-copywriting .cpy-faq__item {
  background: #f4fbf7;
  border: 1px solid #cfe6d8;
  border-radius: 12px;
}

.page-copywriting .cpy-faq__item summary {
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 800;
  color: #101f16;
  list-style: none;
}

.page-copywriting .cpy-faq__item summary::-webkit-details-marker { display: none; }

.page-copywriting .cpy-faq__item summary::after {
  content: "+";
  float: right;
  font-weight: 900;
  color: #0e7a4a;
}

.page-copywriting .cpy-faq__item[open] summary::after { content: "–"; }

.page-copywriting .cpy-faq__item p {
  margin: 0;
  padding: 0 18px 16px;
  color: #4a5c51;
  line-height: 1.65;
}

/* CTA */
.page-copywriting .cpy-cta {
  padding: clamp(48px, 7vw, 80px) 0;
  background: linear-gradient(120deg, #0a3311 0%, #0e7a4a 100%);
  color: #fff;
}

.page-copywriting .cpy-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.page-copywriting .cpy-cta h2 {
  margin: 0 0 8px;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 900;
  letter-spacing: -0.02em;
}

.page-copywriting .cpy-cta p {
  margin: 0;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.6;
}

.page-copywriting .cpy-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-copywriting .cpy-cta .cpy-btn--solid {
  background: #fff;
  color: #0a3311;
}

.page-copywriting .cpy-cta .cpy-btn--solid:hover,
.page-copywriting .cpy-cta .cpy-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #0a3311;
}

@media (max-width: 980px) {
  .page-copywriting .cpy-hero {
    background: linear-gradient(180deg, #e8f6ee 0%, #fff 50%);
  }

  .page-copywriting .cpy-hero__grid,
  .page-copywriting .cpy-house__grid,
  .page-copywriting .cpy-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-copywriting .cpy-lanes__track,
  .page-copywriting .cpy-why__grid {
    grid-template-columns: 1fr;
  }

  .page-copywriting .cpy-rounds__list {
    grid-template-columns: 1fr 1fr;
  }

  .page-copywriting .cpy-includes__grid {
    grid-template-columns: 1fr;
  }

  .page-copywriting .cpy-house__levels li {
    width: 100% !important;
  }

  .page-copywriting .cpy-board__card {
    transform: none !important;
  }
}

@media (max-width: 640px) {
  .page-copywriting .cpy-rounds__list {
    grid-template-columns: 1fr;
  }

  .page-copywriting .cpy-hero__actions,
  .page-copywriting .cpy-cta__actions {
    flex-direction: column;
  }

  .page-copywriting .cpy-btn {
    width: 100%;
  }
}

/* ===== Email Marketing — drip sequence / inbox (not SMM, blog, or copy) ===== */
.page-email {
  background: #fff;
}

.page-email .eml-kicker {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #178a55;
}

.page-email .eml-head {
  margin-bottom: clamp(24px, 4vw, 36px);
}

.page-email .eml-head--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.page-email .eml-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #0f1f16;
}

.page-email .eml-head p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.65;
}

.page-email .eml-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-email .eml-btn--solid {
  background: #178a55;
  color: #fff;
}

.page-email .eml-btn--solid:hover,
.page-email .eml-btn--solid:focus-visible {
  background: #0a3311;
  color: #fff;
  transform: translateY(-1px);
}

.page-email .eml-btn--ghost {
  border: 1.5px solid #b7d4c5;
  color: #143226;
  background: #fff;
}

.page-email .eml-btn--ghost:hover,
.page-email .eml-btn--ghost:focus-visible {
  border-color: #178a55;
  color: #0a3311;
}

.page-email .eml-btn--on-dark {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
  background: transparent;
}

.page-email .eml-btn--on-dark:hover,
.page-email .eml-btn--on-dark:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  color: #fff;
}

.page-email .eml-crumb {
  padding: 14px 0;
  background: #eef8f2;
  border-bottom: 1px solid #d2e8db;
}

.page-email .eml-crumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4a5c51;
}

.page-email .eml-crumb li:not(:last-child)::after {
  content: "›";
  margin-left: 8px;
  color: #9bb5a6;
}

.page-email .eml-crumb a { color: #0a3311; }
.page-email .eml-crumb li[aria-current="page"] { color: #0f1f16; }

/* Hero */
.page-email .eml-hero {
  padding: clamp(40px, 6vw, 80px) 0;
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%, rgba(23, 138, 85, 0.12), transparent 55%),
    #fff;
}

.page-email .eml-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: center;
}

.page-email .eml-hero .svc-h1-stack {
  margin: 0 0 16px;
  font-size: clamp(2.1rem, 4.5vw, 3.35rem);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: #0f1f16;
}

.page-email .eml-hero h1 {
  display: block;
  margin-top: 10px;
  font-size: clamp(1.2rem, 2.3vw, 1.6rem);
  font-weight: 700;
  line-height: 1.35;
  color: #178a55;
}

.page-email .eml-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: #4a5c51;
  font-size: 1.05rem;
  line-height: 1.7;
}

.page-email .eml-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.page-email .eml-hero__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 800;
  color: #1d3a28;
}

.page-email .eml-hero__flow li:nth-child(odd) {
  padding: 6px 12px;
  background: #eef8f2;
  border: 1px solid #cfe6d8;
  border-radius: 8px;
}

.page-email .eml-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 22px 48px rgba(16, 40, 26, 0.12);
  animation: eml-rise 0.7s ease-out both;
}

.page-email .eml-hero__copy {
  animation: eml-rise 0.55s ease-out both;
}

@keyframes eml-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .page-email .eml-hero__copy,
  .page-email .eml-hero__media img { animation: none; }
}

/* Drip track — unique connected sequence */
.page-email .eml-drip {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef8f2;
}

.page-email .eml-drip__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 36px;
  padding: 0;
  list-style: none;
  position: relative;
}

.page-email .eml-drip__track::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 8%;
  right: 8%;
  height: 3px;
  background: linear-gradient(90deg, #178a55, #0a3311);
  z-index: 0;
}

.page-email .eml-drip__track li {
  position: relative;
  z-index: 1;
  padding: 0 10px;
  text-align: center;
}

.page-email .eml-drip__day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  height: 56px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: #0f1f16;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow: 0 0 0 6px #eef8f2;
}

.page-email .eml-drip__track li:nth-child(2) .eml-drip__day,
.page-email .eml-drip__track li:nth-child(4) .eml-drip__day {
  background: #178a55;
}

.page-email .eml-drip__track h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #0f1f16;
}

.page-email .eml-drip__track p {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5c51;
  line-height: 1.5;
}

.page-email .eml-drip__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Subject lab */
.page-email .eml-subjects {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-email .eml-subjects__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-email .eml-subjects__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 900;
  color: #0f1f16;
}

.page-email .eml-subjects__copy > p {
  margin: 0 0 22px;
  color: #4a5c51;
  line-height: 1.7;
  max-width: 34rem;
}

.page-email .eml-subjects__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.page-email .eml-subjects__list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px 16px;
  background: #eef8f2;
  border: 1px solid #d2e8db;
  border-radius: 12px;
}

.page-email .eml-subjects__list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #178a55;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 900;
}

.page-email .eml-subjects__list strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.92rem;
  color: #0f1f16;
}

.page-email .eml-subjects__list p {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #178a55;
}

.page-email .eml-subjects__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Inbox mock */
.page-email .eml-inbox {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #0f1f16;
  color: #fff;
}

.page-email .eml-inbox .eml-kicker { color: #7ed39a; }
.page-email .eml-inbox .eml-head h2 { color: #fff; }
.page-email .eml-inbox .eml-head p { color: rgba(255, 255, 255, 0.75); }

.page-email .eml-inbox__mock {
  max-width: 640px;
  margin: 0 auto;
  background: #fff;
  color: #0f1f16;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35);
}

.page-email .eml-inbox__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 12px 16px;
  background: #eef8f2;
  border-bottom: 1px solid #d2e8db;
  font-size: 0.78rem;
  font-weight: 700;
  color: #4a5c51;
}

.page-email .eml-inbox__body {
  padding: 22px 20px 26px;
}

.page-email .eml-inbox__greeting {
  margin: 0 0 12px;
  font-weight: 800;
}

.page-email .eml-inbox__body p {
  margin: 0 0 14px;
  color: #4a5c51;
  line-height: 1.65;
}

.page-email .eml-inbox__body h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f1f16;
}

.page-email .eml-inbox__cta {
  display: inline-flex;
  margin-top: 8px;
  padding: 12px 18px;
  border-radius: 8px;
  background: #178a55;
  color: #fff;
  font-weight: 800;
}

.page-email .eml-inbox__cta:hover,
.page-email .eml-inbox__cta:focus-visible {
  background: #0a3311;
  color: #fff;
}

/* Includes */
.page-email .eml-includes {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-email .eml-includes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-email .eml-includes__grid li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 18px 16px;
  background: #eef8f2;
  border: 1px solid #d2e8db;
  border-radius: 12px;
}

.page-email .eml-includes__grid strong {
  color: #178a55;
  font-weight: 900;
}

.page-email .eml-includes__grid h3 {
  margin: 0 0 4px;
  font-size: 1.02rem;
  font-weight: 800;
  color: #0f1f16;
}

.page-email .eml-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5c51;
  line-height: 1.5;
}

/* Ops */
.page-email .eml-ops {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #eef8f2;
}

.page-email .eml-ops__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-email .eml-ops__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

.page-email .eml-ops__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 900;
  color: #0f1f16;
}

.page-email .eml-ops__copy > p {
  margin: 0 0 18px;
  color: #4a5c51;
  line-height: 1.7;
}

.page-email .eml-ops__checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.page-email .eml-ops__checks li {
  position: relative;
  padding: 12px 14px 12px 40px;
  background: #fff;
  border: 1px solid #d2e8db;
  border-radius: 10px;
  font-weight: 700;
  color: #1d3a28;
}

.page-email .eml-ops__checks li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 12px;
  color: #178a55;
  font-weight: 900;
}

/* Why */
.page-email .eml-why {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-email .eml-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-email .eml-why__grid article {
  padding: 22px 20px;
  border-radius: 14px;
  background: #eef8f2;
  border: 1px solid #d2e8db;
}

.page-email .eml-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #0f1f16;
}

.page-email .eml-why__grid p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.6;
}

/* FAQ */
.page-email .eml-faq {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #eef8f2;
}

.page-email .eml-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-email .eml-byline {
  margin-top: 16px !important;
  font-size: 0.88rem !important;
}

.page-email .eml-byline span {
  display: block;
  margin-top: 4px;
  font-weight: 800;
  color: #1d3a28;
}

.page-email .eml-faq__list {
  display: grid;
  gap: 10px;
}

.page-email .eml-faq__item {
  background: #fff;
  border: 1px solid #d2e8db;
  border-radius: 12px;
}

.page-email .eml-faq__item summary {
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 800;
  color: #0f1f16;
  list-style: none;
}

.page-email .eml-faq__item summary::-webkit-details-marker { display: none; }

.page-email .eml-faq__item summary::after {
  content: "+";
  float: right;
  font-weight: 900;
  color: #178a55;
}

.page-email .eml-faq__item[open] summary::after { content: "–"; }

.page-email .eml-faq__item p {
  margin: 0;
  padding: 0 18px 16px;
  color: #4a5c51;
  line-height: 1.65;
}

/* CTA */
.page-email .eml-cta {
  padding: clamp(48px, 7vw, 80px) 0;
  background: linear-gradient(135deg, #0a3311 0%, #178a55 100%);
  color: #fff;
}

.page-email .eml-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.page-email .eml-cta h2 {
  margin: 0 0 8px;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 900;
}

.page-email .eml-cta p {
  margin: 0;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.6;
}

.page-email .eml-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-email .eml-cta .eml-btn--solid {
  background: #fff;
  color: #0a3311;
}

.page-email .eml-cta .eml-btn--solid:hover,
.page-email .eml-cta .eml-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #0a3311;
}

@media (max-width: 980px) {
  .page-email .eml-hero__grid,
  .page-email .eml-subjects__grid,
  .page-email .eml-ops__grid,
  .page-email .eml-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-email .eml-drip__track {
    grid-template-columns: 1fr 1fr;
    gap: 24px 12px;
  }

  .page-email .eml-drip__track::before {
    display: none;
  }

  .page-email .eml-why__grid {
    grid-template-columns: 1fr;
  }

  .page-email .eml-includes__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-email .eml-drip__track {
    grid-template-columns: 1fr;
  }

  .page-email .eml-hero__actions,
  .page-email .eml-cta__actions {
    flex-direction: column;
  }

  .page-email .eml-btn {
    width: 100%;
  }
}

/* ===== Video Content Strategy — storyboard / funnel (not Reels, SMM, blog, email) ===== */
.page-video-strategy {
  background: #fff;
}

.page-video-strategy .vid-kicker {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #1a7a4c;
}

.page-video-strategy .vid-head {
  margin-bottom: clamp(24px, 4vw, 36px);
}

.page-video-strategy .vid-head--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.page-video-strategy .vid-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #121f18;
}

.page-video-strategy .vid-head p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.65;
}

.page-video-strategy .vid-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 6px;
  font-size: 0.88rem;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-video-strategy .vid-btn--solid {
  background: #1a7a4c;
  color: #fff;
}

.page-video-strategy .vid-btn--solid:hover,
.page-video-strategy .vid-btn--solid:focus-visible {
  background: #0a3311;
  color: #fff;
  transform: translateY(-1px);
}

.page-video-strategy .vid-btn--ghost {
  border: 1.5px solid #b7d4c5;
  color: #143226;
  background: #fff;
}

.page-video-strategy .vid-btn--ghost:hover,
.page-video-strategy .vid-btn--ghost:focus-visible {
  border-color: #1a7a4c;
  color: #0a3311;
}

.page-video-strategy .vid-btn--on-dark {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
  background: transparent;
}

.page-video-strategy .vid-btn--on-dark:hover,
.page-video-strategy .vid-btn--on-dark:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  color: #fff;
}

.page-video-strategy .vid-crumb {
  padding: 14px 0;
  background: #f0f7f3;
  border-bottom: 1px solid #d3e6db;
}

.page-video-strategy .vid-crumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4a5c51;
}

.page-video-strategy .vid-crumb li:not(:last-child)::after {
  content: "/";
  margin-left: 8px;
  color: #9bb5a6;
}

.page-video-strategy .vid-crumb a { color: #0a3311; }
.page-video-strategy .vid-crumb li[aria-current="page"] { color: #121f18; }

.page-video-strategy .vid-hero {
  padding: clamp(48px, 7vw, 88px) 0;
  color: #fff;
  background:
    radial-gradient(ellipse 55% 70% at 92% 35%, rgba(46, 160, 95, 0.28), transparent 60%),
    radial-gradient(ellipse 40% 50% at 8% 80%, rgba(126, 211, 154, 0.12), transparent 55%),
    linear-gradient(145deg, #071f12 0%, #0f2a1a 42%, #143226 100%);
}

.page-video-strategy .vid-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: center;
}

.page-video-strategy .vid-hero .vid-kicker { color: #9be4b8; }

.page-video-strategy .vid-hero .svc-h1-stack {
  margin: 0 0 16px;
  font-size: clamp(2.1rem, 4.5vw, 3.35rem);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: #fff;
}

.page-video-strategy .vid-hero h1 {
  display: block;
  margin-top: 10px;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.35;
  color: #b6f0cc;
}

.page-video-strategy .vid-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.05rem;
  line-height: 1.7;
}

.page-video-strategy .vid-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.page-video-strategy .vid-hero .vid-btn--solid {
  background: #fff;
  color: #0a3311;
}

.page-video-strategy .vid-hero .vid-btn--solid:hover,
.page-video-strategy .vid-hero .vid-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #0a3311;
}

.page-video-strategy .vid-hero .vid-btn--ghost {
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
  background: transparent;
}

.page-video-strategy .vid-hero .vid-btn--ghost:hover,
.page-video-strategy .vid-hero .vid-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
}

.page-video-strategy .vid-hero__beats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-video-strategy .vid-hero__beats li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 6px;
  font-size: 0.82rem;
  font-weight: 800;
  color: #f3fff8;
}

.page-video-strategy .vid-hero__beats strong {
  color: #9be4b8;
}

.page-video-strategy .vid-hero__media {
  position: relative;
}

.page-video-strategy .vid-hero__media::before {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(155, 228, 184, 0.35), transparent 55%);
  z-index: 0;
}

.page-video-strategy .vid-hero__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.4);
  animation: vid-rise 0.7s ease-out both;
}

.page-video-strategy .vid-hero__copy {
  animation: vid-rise 0.55s ease-out both;
}

@keyframes vid-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .page-video-strategy .vid-hero__copy,
  .page-video-strategy .vid-hero__media img { animation: none; }
}

/* Film-strip storyboard */
.page-video-strategy .vid-board {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-video-strategy .vid-board__frames {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 36px;
  padding: 18px 12px;
  list-style: none;
  background: #121f18;
  border-radius: 12px;
  position: relative;
}

.page-video-strategy .vid-board__frames::before,
.page-video-strategy .vid-board__frames::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  width: 10px;
  background:
    repeating-linear-gradient(
      180deg,
      #f0f7f3 0 8px,
      transparent 8px 16px
    );
  opacity: 0.35;
}

.page-video-strategy .vid-board__frames::before { left: 6px; }
.page-video-strategy .vid-board__frames::after { right: 6px; }

.page-video-strategy .vid-board__frames li {
  margin: 0 8px;
  padding: 18px 16px;
  background: #f0f7f3;
  border-radius: 6px;
  color: #121f18;
}

.page-video-strategy .vid-board__label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1a7a4c;
}

.page-video-strategy .vid-board__frames h3 {
  margin: 0 0 8px;
  font-size: 1.25rem;
  font-weight: 900;
}

.page-video-strategy .vid-board__frames p {
  margin: 0;
  font-size: 0.92rem;
  color: #4a5c51;
  line-height: 1.55;
}

.page-video-strategy .vid-board__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Pillars */
.page-video-strategy .vid-pillars {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #f0f7f3;
}

.page-video-strategy .vid-pillars__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-video-strategy .vid-pillars__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 900;
  color: #121f18;
}

.page-video-strategy .vid-pillars__copy > p {
  margin: 0 0 20px;
  color: #4a5c51;
  line-height: 1.7;
  max-width: 34rem;
}

.page-video-strategy .vid-pillars__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.page-video-strategy .vid-pillars__list li {
  padding: 14px 16px;
  background: #fff;
  border-left: 4px solid #1a7a4c;
  border-radius: 0 10px 10px 0;
  font-weight: 600;
  color: #4a5c51;
  line-height: 1.5;
}

.page-video-strategy .vid-pillars__list strong {
  display: block;
  margin-bottom: 4px;
  font-weight: 900;
  color: #121f18;
}

.page-video-strategy .vid-pillars__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Funnel stages as wide bars */
.page-video-strategy .vid-funnel {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-video-strategy .vid-funnel__steps {
  display: grid;
  gap: 12px;
  margin: 0 auto 36px;
  padding: 0;
  list-style: none;
  max-width: 820px;
}

.page-video-strategy .vid-funnel__steps li {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px 20px;
  background: #f0f7f3;
  border: 1px solid #d3e6db;
}

.page-video-strategy .vid-funnel__steps li:nth-child(1) { width: 100%; border-radius: 14px; }
.page-video-strategy .vid-funnel__steps li:nth-child(2) { width: 88%; margin-inline: auto; border-radius: 12px; }
.page-video-strategy .vid-funnel__steps li:nth-child(3) { width: 76%; margin-inline: auto; border-radius: 10px; background: #121f18; border-color: #121f18; color: #fff; }

.page-video-strategy .vid-funnel__steps > li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 6px;
  background: #1a7a4c;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-video-strategy .vid-funnel__steps li:nth-child(3) > span {
  background: #7ed39a;
  color: #0a3311;
}

.page-video-strategy .vid-funnel__steps h3 {
  margin: 0 0 6px;
  font-size: 1.1rem;
  font-weight: 800;
}

.page-video-strategy .vid-funnel__steps p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #4a5c51;
}

.page-video-strategy .vid-funnel__steps li:nth-child(3) p {
  color: rgba(255, 255, 255, 0.78);
}

.page-video-strategy .vid-funnel__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

.page-video-strategy .vid-includes {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f0f7f3;
}

.page-video-strategy .vid-includes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-video-strategy .vid-includes__grid li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 18px 16px;
  background: #fff;
  border: 1px solid #d3e6db;
  border-radius: 10px;
}

.page-video-strategy .vid-includes__grid strong {
  color: #1a7a4c;
  font-weight: 900;
}

.page-video-strategy .vid-includes__grid h3 {
  margin: 0 0 4px;
  font-size: 1.02rem;
  font-weight: 800;
  color: #121f18;
}

.page-video-strategy .vid-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5c51;
  line-height: 1.5;
}

.page-video-strategy .vid-process {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-video-strategy .vid-process__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-video-strategy .vid-process__list li {
  padding: 20px 16px;
  background: #121f18;
  color: #fff;
  border-radius: 10px;
}

.page-video-strategy .vid-process__list li:nth-child(even) {
  background: #1a7a4c;
}

.page-video-strategy .vid-process__list span {
  display: block;
  margin-bottom: 10px;
  font-size: 1.4rem;
  font-weight: 900;
  color: #9be4b8;
}

.page-video-strategy .vid-process__list h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 800;
}

.page-video-strategy .vid-process__list p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.8);
}

.page-video-strategy .vid-why {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f0f7f3;
}

.page-video-strategy .vid-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-video-strategy .vid-why__grid article {
  padding: 22px 20px;
  background: #fff;
  border: 1px solid #d3e6db;
  border-radius: 10px;
}

.page-video-strategy .vid-why__grid h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #121f18;
}

.page-video-strategy .vid-why__grid p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.6;
}

.page-video-strategy .vid-faq {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-video-strategy .vid-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-video-strategy .vid-byline {
  margin-top: 16px !important;
  font-size: 0.88rem !important;
}

.page-video-strategy .vid-byline span {
  display: block;
  margin-top: 4px;
  font-weight: 800;
  color: #1d3a28;
}

.page-video-strategy .vid-faq__list {
  display: grid;
  gap: 10px;
}

.page-video-strategy .vid-faq__item {
  background: #f0f7f3;
  border: 1px solid #d3e6db;
  border-radius: 10px;
}

.page-video-strategy .vid-faq__item summary {
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 800;
  color: #121f18;
  list-style: none;
}

.page-video-strategy .vid-faq__item summary::-webkit-details-marker { display: none; }

.page-video-strategy .vid-faq__item summary::after {
  content: "+";
  float: right;
  font-weight: 900;
  color: #1a7a4c;
}

.page-video-strategy .vid-faq__item[open] summary::after { content: "–"; }

.page-video-strategy .vid-faq__item p {
  margin: 0;
  padding: 0 18px 16px;
  color: #4a5c51;
  line-height: 1.65;
}

.page-video-strategy .vid-cta {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #121f18;
  color: #fff;
}

.page-video-strategy .vid-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.page-video-strategy .vid-cta h2 {
  margin: 0 0 8px;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 900;
}

.page-video-strategy .vid-cta p {
  margin: 0;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}

.page-video-strategy .vid-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-video-strategy .vid-cta .vid-btn--solid {
  background: #fff;
  color: #0a3311;
}

.page-video-strategy .vid-cta .vid-btn--solid:hover,
.page-video-strategy .vid-cta .vid-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #0a3311;
}

@media (max-width: 980px) {
  .page-video-strategy .vid-hero {
    background:
      radial-gradient(ellipse 70% 50% at 50% 0%, rgba(46, 160, 95, 0.22), transparent 55%),
      linear-gradient(160deg, #071f12 0%, #0f2a1a 50%, #143226 100%);
  }

  .page-video-strategy .vid-hero__grid,
  .page-video-strategy .vid-pillars__grid,
  .page-video-strategy .vid-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-video-strategy .vid-board__frames,
  .page-video-strategy .vid-why__grid {
    grid-template-columns: 1fr;
  }

  .page-video-strategy .vid-board__frames::before,
  .page-video-strategy .vid-board__frames::after {
    display: none;
  }

  .page-video-strategy .vid-funnel__steps li {
    width: 100% !important;
    margin-inline: 0 !important;
    grid-template-columns: 1fr;
  }

  .page-video-strategy .vid-process__list {
    grid-template-columns: 1fr 1fr;
  }

  .page-video-strategy .vid-includes__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-video-strategy .vid-process__list {
    grid-template-columns: 1fr;
  }

  .page-video-strategy .vid-hero__actions,
  .page-video-strategy .vid-cta__actions {
    flex-direction: column;
  }

  .page-video-strategy .vid-btn {
    width: 100%;
  }
}

/* ===== Case Studies / Whitepapers — report / TOC (not blog, video, email) ===== */
.page-case-studies {
  background: #fff;
}

.page-case-studies .csw-kicker {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #1b6b45;
}

.page-case-studies .csw-head {
  margin-bottom: clamp(24px, 4vw, 36px);
}

.page-case-studies .csw-head--center {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.page-case-studies .csw-head h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #132018;
}

.page-case-studies .csw-head p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.65;
}

.page-case-studies .csw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 4px;
  font-size: 0.88rem;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-case-studies .csw-btn--solid {
  background: #1b6b45;
  color: #fff;
}

.page-case-studies .csw-btn--solid:hover,
.page-case-studies .csw-btn--solid:focus-visible {
  background: #0a3311;
  color: #fff;
  transform: translateY(-1px);
}

.page-case-studies .csw-btn--ghost {
  border: 1.5px solid #b7d4c5;
  color: #143226;
  background: #fff;
}

.page-case-studies .csw-btn--ghost:hover,
.page-case-studies .csw-btn--ghost:focus-visible {
  border-color: #1b6b45;
  color: #0a3311;
}

.page-case-studies .csw-btn--on-dark {
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
  background: transparent;
}

.page-case-studies .csw-btn--on-dark:hover,
.page-case-studies .csw-btn--on-dark:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
}

.page-case-studies .csw-crumb {
  padding: 14px 0;
  background: #f2f8f4;
  border-bottom: 1px solid #d5e7dc;
}

.page-case-studies .csw-crumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4a5c51;
}

.page-case-studies .csw-crumb li:not(:last-child)::after {
  content: "›";
  margin-left: 8px;
  color: #9bb5a6;
}

.page-case-studies .csw-crumb a { color: #0a3311; }
.page-case-studies .csw-crumb li[aria-current="page"] { color: #132018; }

/* Full dark hero — avoid split contrast bugs */
.page-case-studies .csw-hero {
  padding: clamp(48px, 7vw, 88px) 0;
  color: #fff;
  background:
    radial-gradient(ellipse 50% 60% at 90% 20%, rgba(46, 139, 87, 0.28), transparent 55%),
    linear-gradient(150deg, #071910 0%, #102418 48%, #163526 100%);
}

.page-case-studies .csw-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: center;
}

.page-case-studies .csw-hero .csw-kicker { color: #9be4b8; }

.page-case-studies .csw-hero .svc-h1-stack {
  margin: 0 0 16px;
  font-size: clamp(2.1rem, 4.5vw, 3.35rem);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: #fff;
}

.page-case-studies .csw-hero h1 {
  display: block;
  margin-top: 10px;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.35;
  color: #b6f0cc;
}

.page-case-studies .csw-hero__lead {
  margin: 0 0 22px;
  max-width: 34rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.05rem;
  line-height: 1.7;
}

.page-case-studies .csw-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.page-case-studies .csw-hero .csw-btn--solid {
  background: #fff;
  color: #0a3311;
}

.page-case-studies .csw-hero .csw-btn--solid:hover,
.page-case-studies .csw-hero .csw-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #0a3311;
}

.page-case-studies .csw-hero .csw-btn--ghost {
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
  background: transparent;
}

.page-case-studies .csw-hero .csw-btn--ghost:hover,
.page-case-studies .csw-hero .csw-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
}

.page-case-studies .csw-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.82rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.78);
}

.page-case-studies .csw-hero__meta li {
  position: relative;
  padding-left: 14px;
}

.page-case-studies .csw-hero__meta li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 6px;
  height: 6px;
  background: #9be4b8;
}

.page-case-studies .csw-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.38);
  animation: csw-rise 0.7s ease-out both;
}

.page-case-studies .csw-hero__copy {
  animation: csw-rise 0.55s ease-out both;
}

@keyframes csw-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .page-case-studies .csw-hero__copy,
  .page-case-studies .csw-hero__media img { animation: none; }
}

/* TOC */
.page-case-studies .csw-toc {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-case-studies .csw-toc__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.page-case-studies .csw-toc__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 900;
  color: #132018;
}

.page-case-studies .csw-toc__copy p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.7;
  max-width: 32rem;
}

.page-case-studies .csw-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid #132018;
}

.page-case-studies .csw-toc__list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-bottom: 1px solid #d5e7dc;
}

.page-case-studies .csw-toc__list span {
  font-size: 0.85rem;
  font-weight: 900;
  color: #1b6b45;
}

.page-case-studies .csw-toc__list strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.05rem;
  color: #132018;
}

.page-case-studies .csw-toc__list p {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5c51;
}

.page-case-studies .csw-toc__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

/* Challenge-solution-result arc */
.page-case-studies .csw-arc {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f2f8f4;
}

.page-case-studies .csw-arc__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-case-studies .csw-arc__steps li {
  padding: 22px 18px;
  background: #fff;
  border-top: 4px solid #1b6b45;
  border-radius: 0 0 10px 10px;
}

.page-case-studies .csw-arc__steps li:nth-child(2) { border-top-color: #143226; }
.page-case-studies .csw-arc__steps li:nth-child(3) { border-top-color: #5aa87a; }

.page-case-studies .csw-arc__steps > li > span {
  display: block;
  margin-bottom: 10px;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1b6b45;
}

.page-case-studies .csw-arc__steps h3 {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 800;
  color: #132018;
}

.page-case-studies .csw-arc__steps p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.55;
}

/* Proof sheet */
.page-case-studies .csw-proof {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #fff;
}

.page-case-studies .csw-proof__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.page-case-studies .csw-proof__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

.page-case-studies .csw-proof__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 900;
  color: #132018;
}

.page-case-studies .csw-proof__copy > p {
  margin: 0 0 20px;
  color: #4a5c51;
  line-height: 1.7;
}

.page-case-studies .csw-proof__sheet {
  margin: 0;
  border: 1px solid #d5e7dc;
  background: #f2f8f4;
}

.page-case-studies .csw-proof__sheet div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #d5e7dc;
}

.page-case-studies .csw-proof__sheet div:last-child { border-bottom: 0; }

.page-case-studies .csw-proof__sheet dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1b6b45;
}

.page-case-studies .csw-proof__sheet dd {
  margin: 0;
  font-weight: 700;
  color: #132018;
}

/* Formats */
.page-case-studies .csw-formats {
  padding: clamp(48px, 7vw, 88px) 0;
  background: #f2f8f4;
}

.page-case-studies .csw-formats__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}

.page-case-studies .csw-formats__grid article {
  padding: 24px 22px;
  background: #fff;
  border: 1px solid #d5e7dc;
  border-radius: 10px;
}

.page-case-studies .csw-formats__grid h3 {
  margin: 0 0 10px;
  font-size: 1.25rem;
  font-weight: 900;
  color: #132018;
}

.page-case-studies .csw-formats__grid > article > p {
  margin: 0 0 14px;
  color: #4a5c51;
  line-height: 1.6;
}

.page-case-studies .csw-formats__grid ul {
  margin: 0;
  padding: 0 0 0 18px;
  color: #1d3a28;
  font-weight: 600;
  line-height: 1.7;
}

.page-case-studies .csw-formats__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 16px 36px rgba(16, 40, 26, 0.1);
}

.page-case-studies .csw-includes {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-case-studies .csw-includes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-case-studies .csw-includes__grid li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 18px 16px;
  background: #f2f8f4;
  border: 1px solid #d5e7dc;
  border-radius: 8px;
}

.page-case-studies .csw-includes__grid strong {
  color: #1b6b45;
  font-weight: 900;
}

.page-case-studies .csw-includes__grid h3 {
  margin: 0 0 4px;
  font-size: 1.02rem;
  font-weight: 800;
  color: #132018;
}

.page-case-studies .csw-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5c51;
  line-height: 1.5;
}

.page-case-studies .csw-process {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f2f8f4;
}

.page-case-studies .csw-process__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-case-studies .csw-process__list li {
  padding: 20px 16px;
  background: #132018;
  color: #fff;
  border-radius: 8px;
}

.page-case-studies .csw-process__list li:nth-child(even) {
  background: #1b6b45;
}

.page-case-studies .csw-process__list span {
  display: block;
  margin-bottom: 10px;
  font-size: 1.35rem;
  font-weight: 900;
  color: #9be4b8;
}

.page-case-studies .csw-process__list h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 800;
}

.page-case-studies .csw-process__list p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.8);
}

.page-case-studies .csw-why {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #fff;
}

.page-case-studies .csw-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-case-studies .csw-why__grid article {
  padding: 22px 20px;
  border-top: 2px solid #132018;
}

.page-case-studies .csw-why__grid h3 {
  margin: 12px 0 8px;
  font-size: 1.08rem;
  font-weight: 800;
  color: #132018;
}

.page-case-studies .csw-why__grid p {
  margin: 0;
  color: #4a5c51;
  line-height: 1.6;
}

.page-case-studies .csw-faq {
  padding: clamp(48px, 7vw, 80px) 0;
  background: #f2f8f4;
}

.page-case-studies .csw-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.page-case-studies .csw-byline {
  margin-top: 16px !important;
  font-size: 0.88rem !important;
}

.page-case-studies .csw-byline span {
  display: block;
  margin-top: 4px;
  font-weight: 800;
  color: #1d3a28;
}

.page-case-studies .csw-faq__list {
  display: grid;
  gap: 10px;
}

.page-case-studies .csw-faq__item {
  background: #fff;
  border: 1px solid #d5e7dc;
  border-radius: 8px;
}

.page-case-studies .csw-faq__item summary {
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 800;
  color: #132018;
  list-style: none;
}

.page-case-studies .csw-faq__item summary::-webkit-details-marker { display: none; }

.page-case-studies .csw-faq__item summary::after {
  content: "+";
  float: right;
  font-weight: 900;
  color: #1b6b45;
}

.page-case-studies .csw-faq__item[open] summary::after { content: "–"; }

.page-case-studies .csw-faq__item p {
  margin: 0;
  padding: 0 18px 16px;
  color: #4a5c51;
  line-height: 1.65;
}

.page-case-studies .csw-cta {
  padding: clamp(48px, 7vw, 80px) 0;
  background: linear-gradient(135deg, #071910 0%, #1b6b45 100%);
  color: #fff;
}

.page-case-studies .csw-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.page-case-studies .csw-cta h2 {
  margin: 0 0 8px;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 900;
}

.page-case-studies .csw-cta p {
  margin: 0;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.6;
}

.page-case-studies .csw-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-case-studies .csw-cta .csw-btn--solid {
  background: #fff;
  color: #0a3311;
}

.page-case-studies .csw-cta .csw-btn--solid:hover,
.page-case-studies .csw-cta .csw-btn--solid:focus-visible {
  background: #e8f6ee;
  color: #0a3311;
}

@media (max-width: 980px) {
  .page-case-studies .csw-hero__grid,
  .page-case-studies .csw-toc__grid,
  .page-case-studies .csw-proof__grid,
  .page-case-studies .csw-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-case-studies .csw-arc__steps,
  .page-case-studies .csw-formats__grid,
  .page-case-studies .csw-why__grid {
    grid-template-columns: 1fr;
  }

  .page-case-studies .csw-process__list {
    grid-template-columns: 1fr 1fr;
  }

  .page-case-studies .csw-includes__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-case-studies .csw-process__list {
    grid-template-columns: 1fr;
  }

  .page-case-studies .csw-hero__actions,
  .page-case-studies .csw-cta__actions {
    flex-direction: column;
  }

  .page-case-studies .csw-btn {
    width: 100%;
  }

  .page-case-studies .csw-proof__sheet div {
    grid-template-columns: 1fr;
  }
}

/* ===== On-Page SEO — SERP Blueprint ===== */
.page-on-page-seo {
  --ops-ink: #122018;
  --ops-muted: #3d5246;
  --ops-forest: #0c2e18;
  --ops-mid: #176338;
  --ops-mint: #9be4b8;
  --ops-wash: #eef7f1;
  --ops-line: #c5ddcf;
  --ops-paper: #f7fbf8;
}

/* ===== On-Page SEO — elevated Good UI (.page-on-page-seo / .ops-*) ===== */
.page-on-page-seo .ops-eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-on-page-seo .ops-section-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-on-page-seo .ops-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-on-page-seo .ops-section-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-on-page-seo .ops-section-head p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-on-page-seo .ops-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 14px 22px;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-on-page-seo .ops-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-on-page-seo .ops-btn--solid:hover,
.page-on-page-seo .ops-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
  transform: translateY(-1px);
}

.page-on-page-seo .ops-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-on-page-seo .ops-btn--ghost:hover,
.page-on-page-seo .ops-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-on-page-seo .ops-icon,
.page-on-page-seo .ops-service__icon,
.page-on-page-seo .ops-why__icon,
.page-on-page-seo .ops-cover__icon {
  color: var(--green);
}

.page-on-page-seo .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

/* --- Hero + SERP preview (unique) --- */
.page-on-page-seo .ops-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    linear-gradient(160deg, rgba(0, 179, 72, 0.07) 0%, transparent 38%),
    radial-gradient(ellipse 50% 60% at 92% 18%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(180deg, #eef8f2 0%, #f8fcf9 52%, #ffffff 100%);
  overflow: hidden;
}

.page-on-page-seo .ops-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-on-page-seo .ops-hero .svc-h1-stack { margin: 0 0 14px; }

.page-on-page-seo .ops-hero .svc-h1-brand {
  margin: 0 0 0.35rem;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #141c17;
  line-height: 1.1;
}

.page-on-page-seo .ops-hero h1 {
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: #3d5244;
}

.page-on-page-seo .ops-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-on-page-seo .ops-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-on-page-seo .ops-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-on-page-seo .ops-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-on-page-seo .ops-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
  color: var(--green);
}

.page-on-page-seo .ops-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-on-page-seo .ops-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-on-page-seo .ops-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}

.page-on-page-seo .ops-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* --- Value next --- */
.page-on-page-seo .ops-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #e8f4ed;
}

.page-on-page-seo .ops-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-on-page-seo .ops-next__intro { max-width: 340px; }

.page-on-page-seo .ops-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.2;
  color: #141c17;
}

.page-on-page-seo .ops-next__intro p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

.page-on-page-seo .ops-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-on-page-seo .ops-next__card {
  padding: 1.25rem 1.15rem;
  background: #f7fbf8;
  border-radius: 12px;
  border-left: 3px solid var(--green);
  transition: transform 0.2s ease, background 0.2s ease;
}

.page-on-page-seo .ops-next__card:hover {
  transform: translateY(-2px);
  background: #fff;
}

.page-on-page-seo .ops-next__card .ops-icon {
  display: inline-flex;
  margin-bottom: 0.75rem;
}

.page-on-page-seo .ops-next__card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-on-page-seo .ops-next__card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Services --- */
.page-on-page-seo .ops-services {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-on-page-seo .ops-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-on-page-seo .ops-service {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem;
  background: #f7fbf8;
  border: 1px solid #d7ebdd;
  border-radius: 12px;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.page-on-page-seo .ops-service:hover {
  background: #fff;
  border-color: var(--green);
  transform: translateY(-2px);
}

.page-on-page-seo .ops-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-on-page-seo .ops-service h3 {
  margin: 0.35rem 0 0;
  font-size: 1.08rem;
  color: #141c17;
}

.page-on-page-seo .ops-service p {
  margin: 0;
  flex: 1;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

.page-on-page-seo .ops-service__go {
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-on-page-seo .ops-service__go:hover,
.page-on-page-seo .ops-service__go:focus-visible {
  background: var(--green-dark);
  transform: translateX(2px);
}

/* --- Meta workshop (unique) --- */
.page-on-page-seo .ops-meta {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-on-page-seo .ops-meta__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.page-on-page-seo .ops-field {
  padding: 1.35rem 1.25rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-on-page-seo .ops-field label {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-on-page-seo .ops-field__bar {
  height: 8px;
  margin-bottom: 0.85rem;
  background: #eef4f0;
  border-radius: 4px;
  overflow: hidden;
}

.page-on-page-seo .ops-field__bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  border-radius: 4px;
}

.page-on-page-seo .ops-field__sample {
  margin: 0 0 0.5rem;
  font-size: 1.02rem;
  font-weight: 700;
  color: #141c17;
  line-height: 1.4;
}

.page-on-page-seo .ops-field__note {
  margin: 0;
  font-size: 0.84rem;
  color: #5a6b5e;
  line-height: 1.45;
}

/* --- Heading tree (unique) --- */
.page-on-page-seo .ops-headings {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-on-page-seo .ops-headings__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-on-page-seo .ops-headings__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-on-page-seo .ops-headings__copy > p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-on-page-seo .ops-tree {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-on-page-seo .ops-tree li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  background: #f7fbf8;
  border-radius: 8px;
  border: 1px solid #d7ebdd;
  font-size: 0.92rem;
  color: #141c17;
}

.page-on-page-seo .ops-tree span {
  flex-shrink: 0;
  min-width: 2.2rem;
  padding: 0.2rem 0.45rem;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: #fff;
  background: var(--green);
  border-radius: 4px;
}

.page-on-page-seo .ops-tree__h2 { margin-left: 0.75rem; }
.page-on-page-seo .ops-tree__h2 span { background: var(--green-mid); }
.page-on-page-seo .ops-tree__h3 { margin-left: 1.5rem; }
.page-on-page-seo .ops-tree__h3 span { background: #4dd17a; color: #003d18; }

.page-on-page-seo .ops-headings__media,
.page-on-page-seo .ops-depth__media,
.page-on-page-seo .ops-links__fig {
  margin: 0;
}

.page-on-page-seo .ops-headings__media img,
.page-on-page-seo .ops-depth__media img,
.page-on-page-seo .ops-links__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* --- Content depth --- */
.page-on-page-seo .ops-depth {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-on-page-seo .ops-depth__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-on-page-seo .ops-depth__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-on-page-seo .ops-depth__copy > p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-on-page-seo .ops-check {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-on-page-seo .ops-check li {
  position: relative;
  padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #d7ebdd;
  color: #141c17;
  font-size: 0.94rem;
  line-height: 1.45;
}

.page-on-page-seo .ops-check li::before {
  content: "";
  position: absolute;
  left: 0.85rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  transform: translateY(-50%);
  box-shadow: 0 0 0 3px #e3f6ea;
}

/* --- Links --- */
.page-on-page-seo .ops-links {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-on-page-seo .ops-links__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 1.75rem;
}

.page-on-page-seo .ops-links__card {
  padding: 1.25rem 1.15rem;
  background: #f7fbf8;
  border-radius: 12px;
  border-top: 3px solid var(--green);
}

.page-on-page-seo .ops-links__card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-on-page-seo .ops-links__card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-on-page-seo .ops-links__fig {
  max-width: 920px;
  margin: 0 auto;
}

/* --- Process --- */
.page-on-page-seo .ops-process {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #e8f4ed;
}

.page-on-page-seo .ops-process__track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-on-page-seo .ops-process__track li {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-on-page-seo .ops-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff;
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

.page-on-page-seo .ops-process__num {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--green-mid);
}

.page-on-page-seo .ops-process__track h3 {
  margin: 0;
  font-size: 1rem;
  color: #141c17;
}

.page-on-page-seo .ops-process__track p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Coverage --- */
.page-on-page-seo .ops-cover {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-on-page-seo .ops-cover__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-on-page-seo .ops-cover__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  text-align: center;
  padding: 1rem 0.5rem;
  background: #f7fbf8;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  color: #141c17;
}

.page-on-page-seo .ops-cover__icon { display: inline-flex; }

/* --- Why --- */
.page-on-page-seo .ops-why {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-on-page-seo .ops-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.page-on-page-seo .ops-why__item {
  padding: 1.35rem 1.2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-on-page-seo .ops-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.75rem;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-on-page-seo .ops-why__item h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-on-page-seo .ops-why__item p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-on-page-seo .ops-faq {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #f3faf6;
}

.page-on-page-seo .ops-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}

.page-on-page-seo .ops-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: #5a6b5e;
}

.page-on-page-seo .ops-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-on-page-seo .ops-faq__list { display: grid; gap: 0.65rem; }

.page-on-page-seo .ops-faq__item {
  border: 1px solid #d7ebdd;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.page-on-page-seo .ops-faq__item summary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: #141c17;
  cursor: pointer;
  list-style: none;
}

.page-on-page-seo .ops-faq__item summary::-webkit-details-marker { display: none; }

.page-on-page-seo .ops-faq__num {
  flex-shrink: 0;
  color: var(--green);
}

.page-on-page-seo .ops-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem 2.4rem;
  line-height: 1.6;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-on-page-seo .ops-cta {
  padding: clamp(28px, 4vw, 48px) 0;
  background: #fff;
}

.page-on-page-seo .ops-cta__panel {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(125deg, #003d18 0%, var(--green-dark) 55%, #0a8f3f);
  color: var(--white);
  border-radius: 16px;
  overflow: hidden;
}

.page-on-page-seo .ops-cta__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(243, 250, 245, 0.75);
}

.page-on-page-seo .ops-cta__copy h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.2;
  max-width: 22rem;
}

.page-on-page-seo .ops-cta__copy h2 span { color: #b8f0c8; }

.page-on-page-seo .ops-cta__copy > p {
  margin: 0 0 1.25rem;
  opacity: 0.9;
  max-width: 32rem;
  line-height: 1.6;
}

.page-on-page-seo .ops-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.page-on-page-seo .ops-cta .ops-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-on-page-seo .ops-cta .ops-btn--solid:hover,
.page-on-page-seo .ops-cta .ops-btn--solid:focus-visible {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-on-page-seo .ops-cta .ops-btn--ghost {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-on-page-seo .ops-cta .ops-btn--ghost:hover,
.page-on-page-seo .ops-cta .ops-btn--ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
}

.page-on-page-seo .ops-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  color: rgba(243, 250, 245, 0.8);
}

.page-on-page-seo .ops-cta__trust li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.page-on-page-seo .ops-cta__trust li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b8f0c8;
}

.page-on-page-seo .ops-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 360px;
}

.page-on-page-seo .ops-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  position: relative;
  z-index: 1;
}

.page-on-page-seo .ops-cta__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(20px);
  opacity: 0.45;
  animation: ops-orb 8s ease-in-out infinite;
}

.page-on-page-seo .ops-cta__orb--a {
  width: 120px;
  height: 120px;
  background: #4dd17a;
  top: -20px;
  right: -10px;
}

.page-on-page-seo .ops-cta__orb--b {
  width: 90px;
  height: 90px;
  background: #00b348;
  bottom: 10%;
  left: -15px;
  animation-delay: -2.5s;
}

.page-on-page-seo .ops-cta__orb--c {
  width: 70px;
  height: 70px;
  background: #b8f0c8;
  bottom: -10px;
  right: 20%;
  animation-delay: -4s;
}

@keyframes ops-orb {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.page-on-page-seo .ops-related {
  padding: clamp(28px, 4vw, 44px) 0 3.5rem;
  background: #f8fcf9;
}

@media (max-width: 1100px) {
  .page-on-page-seo .ops-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-on-page-seo .ops-cover__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-on-page-seo .ops-why__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 980px) {
  .page-on-page-seo .ops-hero__grid,
  .page-on-page-seo .ops-headings__grid,
  .page-on-page-seo .ops-depth__grid,
  .page-on-page-seo .ops-faq__inner,
  .page-on-page-seo .ops-cta__panel,
  .page-on-page-seo .ops-next__layout,
  .page-on-page-seo .ops-meta__grid {
    grid-template-columns: 1fr;
  }

  .page-on-page-seo .ops-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-on-page-seo .ops-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-on-page-seo .ops-next__intro { max-width: 560px; }

  .page-on-page-seo .ops-next__grid,
  .page-on-page-seo .ops-services__grid,
  .page-on-page-seo .ops-links__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-on-page-seo .ops-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-on-page-seo .ops-hero__copy { order: 1; }
  .page-on-page-seo .ops-hero__media { order: 2; }
  .page-on-page-seo .ops-headings__copy { order: 1; }
  .page-on-page-seo .ops-headings__media { order: 2; }
  .page-on-page-seo .ops-depth__copy { order: 1; }
  .page-on-page-seo .ops-depth__media { order: 2; }
  .page-on-page-seo .ops-cta__copy { order: 1; }
  .page-on-page-seo .ops-cta__media { order: 2; }
}

@media (max-width: 640px) {
  .page-on-page-seo .ops-next__grid,
  .page-on-page-seo .ops-services__grid,
  .page-on-page-seo .ops-links__grid,
  .page-on-page-seo .ops-why__grid,
  .page-on-page-seo .ops-process__track,
  .page-on-page-seo .ops-cover__row {
    grid-template-columns: 1fr;
  }

  .page-on-page-seo .ops-tree__h2,
  .page-on-page-seo .ops-tree__h3 {
    margin-left: 0;
  }

  .page-on-page-seo .ops-hero__actions,
  .page-on-page-seo .ops-cta__actions {
    flex-direction: column;
  }

  .page-on-page-seo .ops-hero__actions .ops-btn,
  .page-on-page-seo .ops-cta__actions .ops-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-on-page-seo .ops-btn--solid:hover,
  .page-on-page-seo .ops-next__card:hover,
  .page-on-page-seo .ops-service:hover {
    transform: none;
  }

  .page-on-page-seo .ops-cta__orb { animation: none; }
}

/* ===== Off-Page SEO — Link Graph ===== */
.page-off-page-seo {
  --off-ink: #102018;
  --off-muted: #3d5246;
  --off-deep: #061912;
  --off-mid: #145a36;
  --off-mint: #9be4b8;
  --off-wash: #eaf6ef;
  --off-line: #c5ddcf;
  --off-paper: #f5faf7;
  --off-amber: #c9a227;
}

/* ===== Off-Page SEO / Link Building — elevated Good UI (.page-off-page-seo / .off-*) ===== */
.page-off-page-seo .off-eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-off-page-seo .off-section-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-off-page-seo .off-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-off-page-seo .off-section-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-off-page-seo .off-section-head p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-off-page-seo .off-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 14px 22px;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-off-page-seo .off-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-off-page-seo .off-btn--solid:hover,
.page-off-page-seo .off-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
  transform: translateY(-1px);
}

.page-off-page-seo .off-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-off-page-seo .off-btn--ghost:hover,
.page-off-page-seo .off-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-off-page-seo .off-icon,
.page-off-page-seo .off-service__icon,
.page-off-page-seo .off-why__icon,
.page-off-page-seo .off-cover__icon {
  color: var(--green);
}

.page-off-page-seo .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

/* --- Hero --- */
.page-off-page-seo .off-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 40% 50% at 8% 20%, rgba(0, 179, 72, 0.1), transparent 55%),
    radial-gradient(ellipse 45% 55% at 95% 75%, rgba(0, 179, 72, 0.08), transparent 50%),
    linear-gradient(180deg, #e9f5ee 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}

.page-off-page-seo .off-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-off-page-seo .off-hero .svc-h1-stack { margin: 0 0 14px; }

.page-off-page-seo .off-hero .svc-h1-brand {
  margin: 0 0 0.35rem;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #141c17;
  line-height: 1.1;
}

.page-off-page-seo .off-hero h1 {
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: #3d5244;
}

.page-off-page-seo .off-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-off-page-seo .off-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-off-page-seo .off-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-off-page-seo .off-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-off-page-seo .off-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
  color: var(--green);
}

.page-off-page-seo .off-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-off-page-seo .off-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-off-page-seo .off-hero__media {
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-off-page-seo .off-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Value next --- */
.page-off-page-seo .off-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #e5f2ea;
}

.page-off-page-seo .off-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-off-page-seo .off-next__intro { max-width: 340px; }

.page-off-page-seo .off-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.2;
  color: #141c17;
}

.page-off-page-seo .off-next__intro p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

.page-off-page-seo .off-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-off-page-seo .off-next__card {
  padding: 1.25rem 1.15rem;
  background: #f6fbf8;
  border-radius: 12px;
  border-bottom: 3px solid var(--green);
  transition: transform 0.2s ease, background 0.2s ease;
}

.page-off-page-seo .off-next__card:hover {
  transform: translateY(-2px);
  background: #fff;
}

.page-off-page-seo .off-next__card .off-icon {
  display: inline-flex;
  margin-bottom: 0.75rem;
}

.page-off-page-seo .off-next__card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-off-page-seo .off-next__card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Services --- */
.page-off-page-seo .off-services {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-off-page-seo .off-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-off-page-seo .off-service {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem;
  background: #f6fbf8;
  border: 1px solid #d7ebdd;
  border-radius: 12px;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.page-off-page-seo .off-service:hover {
  background: #fff;
  border-color: var(--green);
  transform: translateY(-2px);
}

.page-off-page-seo .off-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-off-page-seo .off-service h3 {
  margin: 0.35rem 0 0;
  font-size: 1.08rem;
  color: #141c17;
}

.page-off-page-seo .off-service p {
  margin: 0;
  flex: 1;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

.page-off-page-seo .off-service__go {
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-off-page-seo .off-service__go:hover,
.page-off-page-seo .off-service__go:focus-visible {
  background: var(--green-dark);
  transform: translateX(2px);
}

/* --- Authority map (unique) --- */
.page-off-page-seo .off-map {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-off-page-seo .off-map__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.page-off-page-seo .off-map__steps li {
  position: relative;
  padding: 1.4rem 1.2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-off-page-seo .off-map__steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 1.7rem;
  right: -10px;
  width: 20px;
  height: 2px;
  background: linear-gradient(90deg, var(--green), transparent);
  z-index: 1;
}

.page-off-page-seo .off-map__num {
  display: inline-block;
  margin-bottom: 0.65rem;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--green);
}

.page-off-page-seo .off-map__steps h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-off-page-seo .off-map__steps p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Outreach --- */
.page-off-page-seo .off-outreach {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-off-page-seo .off-outreach__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-off-page-seo .off-outreach__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-off-page-seo .off-outreach__copy > p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-off-page-seo .off-checklist {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-off-page-seo .off-checklist li {
  position: relative;
  padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8;
  border-radius: 8px;
  border: 1px solid #d7ebdd;
  color: #141c17;
  font-size: 0.94rem;
  line-height: 1.45;
}

.page-off-page-seo .off-checklist li::before {
  content: "";
  position: absolute;
  left: 0.85rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  transform: translateY(-50%);
  box-shadow: 0 0 0 3px #e3f6ea;
}

.page-off-page-seo .off-outreach__media,
.page-off-page-seo .off-place__media,
.page-off-page-seo .off-quality__fig {
  margin: 0;
}

.page-off-page-seo .off-outreach__media img,
.page-off-page-seo .off-place__media img,
.page-off-page-seo .off-quality__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* --- Placements --- */
.page-off-page-seo .off-place {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-off-page-seo .off-place__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-off-page-seo .off-place__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-off-page-seo .off-place__copy > p {
  margin: 0 0 1.25rem;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-off-page-seo .off-place__types {
  display: grid;
  gap: 0.75rem;
}

.page-off-page-seo .off-place__types article {
  padding: 1rem 1.1rem;
  background: #fff;
  border-radius: 10px;
  border-left: 3px solid var(--green);
}

.page-off-page-seo .off-place__types h3 {
  margin: 0 0 0.3rem;
  font-size: 1.02rem;
  color: #141c17;
}

.page-off-page-seo .off-place__types p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Quality bars (unique) --- */
.page-off-page-seo .off-quality {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-off-page-seo .off-quality__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 1.75rem;
}

.page-off-page-seo .off-score {
  padding: 1.25rem 1.1rem;
  background: #f6fbf8;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-off-page-seo .off-score__label {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-off-page-seo .off-score__bar {
  height: 8px;
  margin-bottom: 0.65rem;
  background: #eef4f0;
  border-radius: 4px;
  overflow: hidden;
}

.page-off-page-seo .off-score__bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  border-radius: 4px;
}

.page-off-page-seo .off-score > p:last-child {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #5a6b5e;
}

.page-off-page-seo .off-quality__fig {
  max-width: 920px;
  margin: 0 auto;
}

/* --- Process --- */
.page-off-page-seo .off-process {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #e5f2ea;
}

.page-off-page-seo .off-process__track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-off-page-seo .off-process__track li {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-off-page-seo .off-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff;
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

.page-off-page-seo .off-process__num {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--green-mid);
}

.page-off-page-seo .off-process__track h3 {
  margin: 0;
  font-size: 1rem;
  color: #141c17;
}

.page-off-page-seo .off-process__track p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Coverage --- */
.page-off-page-seo .off-cover {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-off-page-seo .off-cover__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-off-page-seo .off-cover__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  text-align: center;
  padding: 1rem 0.5rem;
  background: #f6fbf8;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  color: #141c17;
}

.page-off-page-seo .off-cover__icon { display: inline-flex; }

/* --- Why --- */
.page-off-page-seo .off-why {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-off-page-seo .off-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.page-off-page-seo .off-why__item {
  padding: 1.35rem 1.2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-off-page-seo .off-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.75rem;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-off-page-seo .off-why__item h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-off-page-seo .off-why__item p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-off-page-seo .off-faq {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #f3faf6;
}

.page-off-page-seo .off-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}

.page-off-page-seo .off-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: #5a6b5e;
}

.page-off-page-seo .off-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-off-page-seo .off-faq__list { display: grid; gap: 0.65rem; }

.page-off-page-seo .off-faq__item {
  border: 1px solid #d7ebdd;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.page-off-page-seo .off-faq__item summary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: #141c17;
  cursor: pointer;
  list-style: none;
}

.page-off-page-seo .off-faq__item summary::-webkit-details-marker { display: none; }

.page-off-page-seo .off-faq__num {
  flex-shrink: 0;
  color: var(--green);
}

.page-off-page-seo .off-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem 2.4rem;
  line-height: 1.6;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-off-page-seo .off-cta {
  padding: clamp(28px, 4vw, 48px) 0;
  background: #fff;
}

.page-off-page-seo .off-cta__panel {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(150deg, #002910 0%, #003d18 42%, var(--green-dark) 78%, #0a8f3f);
  color: var(--white);
  border-radius: 16px;
  overflow: hidden;
}

.page-off-page-seo .off-cta__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(243, 250, 245, 0.75);
}

.page-off-page-seo .off-cta__copy h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.2;
  max-width: 24rem;
}

.page-off-page-seo .off-cta__copy h2 span { color: #b8f0c8; }

.page-off-page-seo .off-cta__copy > p {
  margin: 0 0 1.25rem;
  opacity: 0.9;
  max-width: 32rem;
  line-height: 1.6;
}

.page-off-page-seo .off-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.page-off-page-seo .off-cta .off-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-off-page-seo .off-cta .off-btn--solid:hover,
.page-off-page-seo .off-cta .off-btn--solid:focus-visible {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-off-page-seo .off-cta .off-btn--ghost {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-off-page-seo .off-cta .off-btn--ghost:hover,
.page-off-page-seo .off-cta .off-btn--ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
}

.page-off-page-seo .off-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  color: rgba(243, 250, 245, 0.8);
}

.page-off-page-seo .off-cta__trust li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.page-off-page-seo .off-cta__trust li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b8f0c8;
}

.page-off-page-seo .off-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 360px;
}

.page-off-page-seo .off-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  position: relative;
  z-index: 1;
}

.page-off-page-seo .off-cta__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(20px);
  opacity: 0.45;
  animation: off-orb 8s ease-in-out infinite;
}

.page-off-page-seo .off-cta__orb--a {
  width: 120px;
  height: 120px;
  background: #4dd17a;
  top: -20px;
  right: -10px;
}

.page-off-page-seo .off-cta__orb--b {
  width: 90px;
  height: 90px;
  background: #00b348;
  bottom: 10%;
  left: -15px;
  animation-delay: -2.5s;
}

.page-off-page-seo .off-cta__orb--c {
  width: 70px;
  height: 70px;
  background: #b8f0c8;
  bottom: -10px;
  right: 20%;
  animation-delay: -4s;
}

@keyframes off-orb {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.page-off-page-seo .off-related {
  padding: clamp(28px, 4vw, 44px) 0 3.5rem;
  background: #f8fcf9;
}

@media (max-width: 1100px) {
  .page-off-page-seo .off-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-off-page-seo .off-cover__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-off-page-seo .off-why__grid,
  .page-off-page-seo .off-quality__grid,
  .page-off-page-seo .off-map__steps {
    grid-template-columns: 1fr 1fr;
  }

  .page-off-page-seo .off-map__steps li:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 980px) {
  .page-off-page-seo .off-hero__grid,
  .page-off-page-seo .off-outreach__grid,
  .page-off-page-seo .off-place__grid,
  .page-off-page-seo .off-faq__inner,
  .page-off-page-seo .off-cta__panel,
  .page-off-page-seo .off-next__layout {
    grid-template-columns: 1fr;
  }

  .page-off-page-seo .off-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-off-page-seo .off-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-off-page-seo .off-next__intro { max-width: 560px; }

  .page-off-page-seo .off-next__grid,
  .page-off-page-seo .off-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-off-page-seo .off-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-off-page-seo .off-hero__copy { order: 1; }
  .page-off-page-seo .off-hero__media { order: 2; }
  .page-off-page-seo .off-outreach__copy { order: 1; }
  .page-off-page-seo .off-outreach__media { order: 2; }
  .page-off-page-seo .off-place__copy { order: 1; }
  .page-off-page-seo .off-place__media { order: 2; }
  .page-off-page-seo .off-cta__copy { order: 1; }
  .page-off-page-seo .off-cta__media { order: 2; }
}

@media (max-width: 640px) {
  .page-off-page-seo .off-next__grid,
  .page-off-page-seo .off-services__grid,
  .page-off-page-seo .off-map__steps,
  .page-off-page-seo .off-quality__grid,
  .page-off-page-seo .off-why__grid,
  .page-off-page-seo .off-process__track,
  .page-off-page-seo .off-cover__row {
    grid-template-columns: 1fr;
  }

  .page-off-page-seo .off-hero__actions,
  .page-off-page-seo .off-cta__actions {
    flex-direction: column;
  }

  .page-off-page-seo .off-hero__actions .off-btn,
  .page-off-page-seo .off-cta__actions .off-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-off-page-seo .off-btn--solid:hover,
  .page-off-page-seo .off-next__card:hover,
  .page-off-page-seo .off-service:hover {
    transform: none;
  }

  .page-off-page-seo .off-cta__orb { animation: none; }
}

/* ===== Technical SEO — elevated Good UI (.page-technical-seo / .tec-*) ===== */
.page-technical-seo .tec-eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-technical-seo .tec-section-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-technical-seo .tec-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-technical-seo .tec-section-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-technical-seo .tec-section-head p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-technical-seo .tec-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 14px 22px;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-technical-seo .tec-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-technical-seo .tec-btn--solid:hover,
.page-technical-seo .tec-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
  transform: translateY(-1px);
}

.page-technical-seo .tec-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-technical-seo .tec-btn--ghost:hover,
.page-technical-seo .tec-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-technical-seo .tec-icon,
.page-technical-seo .tec-service__icon,
.page-technical-seo .tec-why__icon,
.page-technical-seo .tec-stack__icon {
  color: var(--green);
}

.page-technical-seo .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

/* --- Hero --- */
.page-technical-seo .tec-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 45% 55% at 12% 80%, rgba(0, 179, 72, 0.08), transparent 55%),
    linear-gradient(115deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ee 0%, #f6fbf8 48%, #ffffff 100%);
  overflow: hidden;
}

.page-technical-seo .tec-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-technical-seo .tec-hero .svc-h1-stack {
  margin: 0 0 14px;
}

.page-technical-seo .tec-hero .svc-h1-brand {
  margin: 0 0 0.35rem;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #141c17;
  line-height: 1.1;
}

.page-technical-seo .tec-hero h1 {
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: #3d5244;
}

.page-technical-seo .tec-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-technical-seo .tec-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-technical-seo .tec-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-technical-seo .tec-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-technical-seo .tec-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
  color: var(--green);
}

.page-technical-seo .tec-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-technical-seo .tec-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-technical-seo .tec-hero__media {
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-technical-seo .tec-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Value next --- */
.page-technical-seo .tec-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #e6f3eb;
}

.page-technical-seo .tec-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-technical-seo .tec-next__intro {
  max-width: 340px;
}

.page-technical-seo .tec-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.2;
  color: #141c17;
}

.page-technical-seo .tec-next__intro p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

.page-technical-seo .tec-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-technical-seo .tec-next__card {
  padding: 1.25rem 1.15rem;
  background: #f4faf6;
  border-radius: 12px;
  border-top: 3px solid var(--green);
  transition: transform 0.2s ease, background 0.2s ease;
}

.page-technical-seo .tec-next__card:hover {
  transform: translateY(-2px);
  background: #fff;
}

.page-technical-seo .tec-next__card .tec-icon {
  display: inline-flex;
  margin-bottom: 0.75rem;
}

.page-technical-seo .tec-next__card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-technical-seo .tec-next__card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Services --- */
.page-technical-seo .tec-services {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-technical-seo .tec-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-technical-seo .tec-service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem;
  background: #f4faf6;
  border: 1px solid #d7ebdd;
  border-radius: 12px;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.page-technical-seo .tec-service:hover {
  background: #fff;
  border-color: var(--green);
  transform: translateY(-2px);
}

.page-technical-seo .tec-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-technical-seo .tec-service h3 {
  margin: 0.35rem 0 0;
  font-size: 1.08rem;
  color: #141c17;
}

.page-technical-seo .tec-service p {
  margin: 0;
  flex: 1;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

.page-technical-seo .tec-service__go {
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-technical-seo .tec-service__go:hover,
.page-technical-seo .tec-service__go:focus-visible {
  background: var(--green-dark);
  transform: translateX(2px);
}

/* --- Crawl lab --- */
.page-technical-seo .tec-crawl {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-technical-seo .tec-crawl__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-technical-seo .tec-crawl__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-technical-seo .tec-crawl__copy > p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-technical-seo .tec-list {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-technical-seo .tec-list li {
  position: relative;
  padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #d7ebdd;
  color: #141c17;
  font-size: 0.94rem;
  line-height: 1.45;
}

.page-technical-seo .tec-list li::before {
  content: "";
  position: absolute;
  left: 0.85rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  transform: translateY(-50%);
  box-shadow: 0 0 0 3px #e3f6ea;
}

.page-technical-seo .tec-crawl__media,
.page-technical-seo .tec-index__media,
.page-technical-seo .tec-vitals__fig {
  margin: 0;
}

.page-technical-seo .tec-crawl__media img,
.page-technical-seo .tec-index__media img,
.page-technical-seo .tec-vitals__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* --- CWV meters (unique to this page) --- */
.page-technical-seo .tec-vitals {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-technical-seo .tec-vitals__meters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 1.75rem;
}

.page-technical-seo .tec-vital {
  text-align: center;
  padding: 1.5rem 1.15rem;
  background: #f4faf6;
  border: 1px solid #d7ebdd;
  border-radius: 12px;
}

.page-technical-seo .tec-vital__ring {
  width: 88px;
  height: 88px;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #f4faf6 58%, transparent 59%),
    conic-gradient(var(--green) 0 72%, #d7ebdd 72% 100%);
  color: var(--green-dark);
  font-weight: 900;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}

.page-technical-seo .tec-vital__ring--mid {
  background:
    radial-gradient(circle at center, #f4faf6 58%, transparent 59%),
    conic-gradient(var(--green-mid) 0 58%, #d7ebdd 58% 100%);
}

.page-technical-seo .tec-vital__ring--soft {
  background:
    radial-gradient(circle at center, #f4faf6 58%, transparent 59%),
    conic-gradient(#4dd17a 0 45%, #d7ebdd 45% 100%);
}

.page-technical-seo .tec-vital h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-technical-seo .tec-vital p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5a6b5e;
}

.page-technical-seo .tec-vitals__fig {
  max-width: 920px;
  margin: 0 auto;
}

/* --- Indexation --- */
.page-technical-seo .tec-index {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-technical-seo .tec-index__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-technical-seo .tec-index__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-technical-seo .tec-index__copy > p {
  margin: 0 0 1.25rem;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-technical-seo .tec-index__cards {
  display: grid;
  gap: 0.75rem;
}

.page-technical-seo .tec-index__cards article {
  padding: 1rem 1.1rem;
  background: #fff;
  border-radius: 10px;
  border-left: 3px solid var(--green);
}

.page-technical-seo .tec-index__cards h3 {
  margin: 0 0 0.3rem;
  font-size: 1.02rem;
  color: #141c17;
}

.page-technical-seo .tec-index__cards p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Process --- */
.page-technical-seo .tec-process {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-technical-seo .tec-process__track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-technical-seo .tec-process__track li {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem;
  background: #f4faf6;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-technical-seo .tec-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff;
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

.page-technical-seo .tec-process__num {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--green-mid);
}

.page-technical-seo .tec-process__track h3 {
  margin: 0;
  font-size: 1rem;
  color: #141c17;
}

.page-technical-seo .tec-process__track p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Stack coverage --- */
.page-technical-seo .tec-stack {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #e6f3eb;
}

.page-technical-seo .tec-stack__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-technical-seo .tec-stack__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  text-align: center;
  padding: 1rem 0.5rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  color: #141c17;
}

.page-technical-seo .tec-stack__icon {
  display: inline-flex;
}

/* --- Why --- */
.page-technical-seo .tec-why {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-technical-seo .tec-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.page-technical-seo .tec-why__item {
  padding: 1.35rem 1.2rem;
  background: #f4faf6;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-technical-seo .tec-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.75rem;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-technical-seo .tec-why__item h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-technical-seo .tec-why__item p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-technical-seo .tec-faq {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #f3faf6;
}

.page-technical-seo .tec-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}

.page-technical-seo .tec-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: #5a6b5e;
}

.page-technical-seo .tec-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-technical-seo .tec-faq__list {
  display: grid;
  gap: 0.65rem;
}

.page-technical-seo .tec-faq__item {
  border: 1px solid #d7ebdd;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.page-technical-seo .tec-faq__item summary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: #141c17;
  cursor: pointer;
  list-style: none;
}

.page-technical-seo .tec-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-technical-seo .tec-faq__num {
  flex-shrink: 0;
  color: var(--green);
}

.page-technical-seo .tec-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem 2.4rem;
  line-height: 1.6;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-technical-seo .tec-cta {
  padding: clamp(28px, 4vw, 48px) 0;
  background: #fff;
}

.page-technical-seo .tec-cta__panel {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(145deg, #002910 0%, #003d18 40%, var(--green-dark) 78%, var(--green-mid));
  color: var(--white);
  border-radius: 16px;
  overflow: hidden;
}

.page-technical-seo .tec-cta__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(243, 250, 245, 0.75);
}

.page-technical-seo .tec-cta__copy h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.2;
  max-width: 24rem;
}

.page-technical-seo .tec-cta__copy h2 span {
  color: #b8f0c8;
}

.page-technical-seo .tec-cta__copy > p {
  margin: 0 0 1.25rem;
  opacity: 0.9;
  max-width: 32rem;
  line-height: 1.6;
}

.page-technical-seo .tec-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.page-technical-seo .tec-cta .tec-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-technical-seo .tec-cta .tec-btn--solid:hover,
.page-technical-seo .tec-cta .tec-btn--solid:focus-visible {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-technical-seo .tec-cta .tec-btn--ghost {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-technical-seo .tec-cta .tec-btn--ghost:hover,
.page-technical-seo .tec-cta .tec-btn--ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
}

.page-technical-seo .tec-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  color: rgba(243, 250, 245, 0.8);
}

.page-technical-seo .tec-cta__trust li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.page-technical-seo .tec-cta__trust li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b8f0c8;
}

.page-technical-seo .tec-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 360px;
}

.page-technical-seo .tec-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  position: relative;
  z-index: 1;
}

.page-technical-seo .tec-cta__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(20px);
  opacity: 0.45;
  animation: tec-orb 8s ease-in-out infinite;
}

.page-technical-seo .tec-cta__orb--a {
  width: 120px;
  height: 120px;
  background: #4dd17a;
  top: -20px;
  right: -10px;
}

.page-technical-seo .tec-cta__orb--b {
  width: 90px;
  height: 90px;
  background: #00b348;
  bottom: 10%;
  left: -15px;
  animation-delay: -2.5s;
}

.page-technical-seo .tec-cta__orb--c {
  width: 70px;
  height: 70px;
  background: #b8f0c8;
  bottom: -10px;
  right: 20%;
  animation-delay: -4s;
}

@keyframes tec-orb {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.page-technical-seo .tec-related {
  padding: clamp(28px, 4vw, 44px) 0 3.5rem;
  background: #f8fcf9;
}

@media (max-width: 1100px) {
  .page-technical-seo .tec-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-technical-seo .tec-stack__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-technical-seo .tec-why__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 980px) {
  .page-technical-seo .tec-hero__grid,
  .page-technical-seo .tec-crawl__grid,
  .page-technical-seo .tec-index__grid,
  .page-technical-seo .tec-faq__inner,
  .page-technical-seo .tec-cta__panel,
  .page-technical-seo .tec-next__layout {
    grid-template-columns: 1fr;
  }

  .page-technical-seo .tec-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-technical-seo .tec-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-technical-seo .tec-next__intro {
    max-width: 560px;
  }

  .page-technical-seo .tec-next__grid,
  .page-technical-seo .tec-services__grid,
  .page-technical-seo .tec-vitals__meters {
    grid-template-columns: 1fr 1fr;
  }

  .page-technical-seo .tec-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  /* Mobile: copy first, media second */
  .page-technical-seo .tec-hero__copy { order: 1; }
  .page-technical-seo .tec-hero__media { order: 2; }
  .page-technical-seo .tec-crawl__copy { order: 1; }
  .page-technical-seo .tec-crawl__media { order: 2; }
  .page-technical-seo .tec-index__copy { order: 1; }
  .page-technical-seo .tec-index__media { order: 2; }
  .page-technical-seo .tec-cta__copy { order: 1; }
  .page-technical-seo .tec-cta__media { order: 2; }
}

@media (max-width: 640px) {
  .page-technical-seo .tec-next__grid,
  .page-technical-seo .tec-services__grid,
  .page-technical-seo .tec-vitals__meters,
  .page-technical-seo .tec-why__grid,
  .page-technical-seo .tec-process__track,
  .page-technical-seo .tec-stack__row {
    grid-template-columns: 1fr;
  }

  .page-technical-seo .tec-hero__actions,
  .page-technical-seo .tec-cta__actions {
    flex-direction: column;
  }

  .page-technical-seo .tec-hero__actions .tec-btn,
  .page-technical-seo .tec-cta__actions .tec-btn {
    width: 100%;
  }

  .page-technical-seo .tec-hero__pills {
    grid-template-columns: 1fr 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-technical-seo .tec-btn--solid:hover,
  .page-technical-seo .tec-next__card:hover,
  .page-technical-seo .tec-service:hover {
    transform: none;
  }

  .page-technical-seo .tec-cta__orb {
    animation: none;
  }
}

/* ===== Local SEO — Map Pin (brand tokens) ===== */
/* ===== Local SEO — elevated Good UI (.page-local-seo / .loc-*) ===== */
.page-local-seo .loc-eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}
.page-local-seo .loc-section-head { max-width: 42rem; margin-bottom: 2rem; }
.page-local-seo .loc-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-local-seo .loc-section-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #141c17;
}
.page-local-seo .loc-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-local-seo .loc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-local-seo .loc-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-local-seo .loc-btn--solid:hover,
.page-local-seo .loc-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-local-seo .loc-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-local-seo .loc-btn--ghost:hover,
.page-local-seo .loc-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-local-seo .loc-icon,
.page-local-seo .loc-service__icon,
.page-local-seo .loc-why__icon,
.page-local-seo .loc-cover__icon { color: var(--green); }
.page-local-seo .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-local-seo .loc-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 42% 48% at 90% 15%, rgba(0, 179, 72, 0.12), transparent 55%),
    radial-gradient(ellipse 35% 40% at 10% 85%, rgba(0, 179, 72, 0.07), transparent 50%),
    linear-gradient(180deg, #e7f4ec 0%, #f7fbf8 52%, #ffffff 100%);
  overflow: hidden;
}
.page-local-seo .loc-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}
.page-local-seo .loc-hero .svc-h1-stack { margin: 0 0 14px; }
.page-local-seo .loc-hero .svc-h1-brand {
  margin: 0 0 0.35rem;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-local-seo .loc-hero h1 {
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-local-seo .loc-hero__lead {
  margin: 0 0 18px; max-width: 34rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-local-seo .loc-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-local-seo .loc-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-local-seo .loc-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-local-seo .loc-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-local-seo .loc-hero__pill-icon svg { width: 17px; height: 17px; }
.page-local-seo .loc-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-local-seo .loc-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-local-seo .loc-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-local-seo .loc-next { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-local-seo .loc-next__layout {
  display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-local-seo .loc-next__intro { max-width: 340px; }
.page-local-seo .loc-next__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.35rem, 2.4vw, 1.85rem); line-height: 1.2; color: #141c17;
}
.page-local-seo .loc-next__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-local-seo .loc-next__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.page-local-seo .loc-next__card {
  padding: 1.25rem 1.15rem; background: #f6fbf8; border-radius: 12px;
  border-left: 3px solid var(--green);
  transition: transform 0.2s ease, background 0.2s ease;
}
.page-local-seo .loc-next__card:hover { transform: translateY(-2px); background: #fff; }
.page-local-seo .loc-next__card .loc-icon { display: inline-flex; margin-bottom: 0.75rem; }
.page-local-seo .loc-next__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-local-seo .loc-next__card p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: #5a6b5e; }

.page-local-seo .loc-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-local-seo .loc-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.page-local-seo .loc-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.page-local-seo .loc-service:hover { background: #fff; border-color: var(--green); transform: translateY(-2px); }
.page-local-seo .loc-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-local-seo .loc-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-local-seo .loc-service p { margin: 0; flex: 1; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }
.page-local-seo .loc-service__go {
  align-self: flex-end; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%; background: var(--green); color: #fff; text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}
.page-local-seo .loc-service__go:hover,
.page-local-seo .loc-service__go:focus-visible { background: var(--green-dark); transform: translateX(2px); }

.page-local-seo .loc-gbp { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-local-seo .loc-gbp__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-local-seo .loc-gbp__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-local-seo .loc-gbp__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-local-seo .loc-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-local-seo .loc-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-local-seo .loc-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-local-seo .loc-gbp__media,
.page-local-seo .loc-cite__media,
.page-local-seo .loc-pack__fig { margin: 0; }
.page-local-seo .loc-gbp__media img,
.page-local-seo .loc-cite__media img,
.page-local-seo .loc-pack__fig img {
  display: block; width: 100%; height: auto; border-radius: 12px;
}

.page-local-seo .loc-pack { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-local-seo .loc-pack__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.75rem;
}
.page-local-seo .loc-pack__card {
  padding: 1.4rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
  text-align: center;
}
.page-local-seo .loc-pack__num {
  display: inline-block; margin-bottom: 0.65rem;
  font-size: 0.78rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green);
}
.page-local-seo .loc-pack__card h3 { margin: 0 0 0.4rem; font-size: 1.15rem; color: #141c17; }
.page-local-seo .loc-pack__card p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: #5a6b5e; }
.page-local-seo .loc-pack__fig { max-width: 920px; margin: 0 auto; }

.page-local-seo .loc-cite { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-local-seo .loc-cite__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-local-seo .loc-cite__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-local-seo .loc-cite__copy > p { margin: 0 0 1.25rem; color: #5a6b5e; line-height: 1.65; }
.page-local-seo .loc-cite__cards { display: grid; gap: 0.75rem; }
.page-local-seo .loc-cite__cards article {
  padding: 1rem 1.1rem; background: #fff; border-radius: 10px; border-left: 3px solid var(--green);
}
.page-local-seo .loc-cite__cards h3 { margin: 0 0 0.3rem; font-size: 1.02rem; color: #141c17; }
.page-local-seo .loc-cite__cards p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }

.page-local-seo .loc-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-local-seo .loc-process__track {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-local-seo .loc-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-local-seo .loc-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-local-seo .loc-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-local-seo .loc-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-local-seo .loc-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-local-seo .loc-cover { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-local-seo .loc-cover__row {
  display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px;
  margin: 0; padding: 0; list-style: none;
}
.page-local-seo .loc-cover__row li {
  display: flex; flex-direction: column; align-items: center; gap: 0.55rem; text-align: center;
  padding: 1rem 0.5rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
  font-size: 0.78rem; font-weight: 700; line-height: 1.25; color: #141c17;
}
.page-local-seo .loc-cover__icon { display: inline-flex; }

.page-local-seo .loc-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-local-seo .loc-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-local-seo .loc-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-local-seo .loc-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-local-seo .loc-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-local-seo .loc-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-local-seo .loc-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-local-seo .loc-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-local-seo .loc-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-local-seo .loc-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-local-seo .loc-faq__list { display: grid; gap: 0.65rem; }
.page-local-seo .loc-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-local-seo .loc-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-local-seo .loc-faq__item summary::-webkit-details-marker { display: none; }
.page-local-seo .loc-faq__num { flex-shrink: 0; color: var(--green); }
.page-local-seo .loc-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-local-seo .loc-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-local-seo .loc-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-local-seo .loc-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-local-seo .loc-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 24rem;
}
.page-local-seo .loc-cta__copy h2 span { color: #b8f0c8; }
.page-local-seo .loc-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-local-seo .loc-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-local-seo .loc-cta .loc-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-local-seo .loc-cta .loc-btn--solid:hover,
.page-local-seo .loc-cta .loc-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-local-seo .loc-cta .loc-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-local-seo .loc-cta .loc-btn--ghost:hover,
.page-local-seo .loc-cta .loc-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-local-seo .loc-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-local-seo .loc-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-local-seo .loc-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-local-seo .loc-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-local-seo .loc-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-local-seo .loc-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: loc-orb 8s ease-in-out infinite;
}
.page-local-seo .loc-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-local-seo .loc-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
.page-local-seo .loc-cta__orb--c { width: 70px; height: 70px; background: #b8f0c8; bottom: -10px; right: 20%; animation-delay: -4s; }
@keyframes loc-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-local-seo .loc-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-local-seo .loc-process__track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-local-seo .loc-cover__row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .page-local-seo .loc-why__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-local-seo .loc-hero__grid,
  .page-local-seo .loc-gbp__grid,
  .page-local-seo .loc-cite__grid,
  .page-local-seo .loc-faq__inner,
  .page-local-seo .loc-cta__panel,
  .page-local-seo .loc-next__layout { grid-template-columns: 1fr; }
  .page-local-seo .loc-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-local-seo .loc-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-local-seo .loc-next__intro { max-width: 560px; }
  .page-local-seo .loc-next__grid,
  .page-local-seo .loc-services__grid,
  .page-local-seo .loc-pack__grid { grid-template-columns: 1fr 1fr; }
  .page-local-seo .loc-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-local-seo .loc-hero__copy { order: 1; }
  .page-local-seo .loc-hero__media { order: 2; }
  .page-local-seo .loc-gbp__copy { order: 1; }
  .page-local-seo .loc-gbp__media { order: 2; }
  .page-local-seo .loc-cite__copy { order: 1; }
  .page-local-seo .loc-cite__media { order: 2; }
  .page-local-seo .loc-cta__copy { order: 1; }
  .page-local-seo .loc-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-local-seo .loc-next__grid,
  .page-local-seo .loc-services__grid,
  .page-local-seo .loc-pack__grid,
  .page-local-seo .loc-why__grid,
  .page-local-seo .loc-process__track,
  .page-local-seo .loc-cover__row { grid-template-columns: 1fr; }
  .page-local-seo .loc-hero__actions,
  .page-local-seo .loc-cta__actions { flex-direction: column; }
  .page-local-seo .loc-hero__actions .loc-btn,
  .page-local-seo .loc-cta__actions .loc-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-local-seo .loc-btn--solid:hover,
  .page-local-seo .loc-next__card:hover,
  .page-local-seo .loc-service:hover { transform: none; }
  .page-local-seo .loc-cta__orb { animation: none; }
}

/* ===== SEO Audits — elevated Good UI (.page-seo-audits / .aud-*) ===== */
.page-seo-audits .aud-eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-seo-audits .aud-section-head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.page-seo-audits .aud-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-seo-audits .aud-section-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #141c17;
}

.page-seo-audits .aud-section-head p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-seo-audits .aud-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 14px 22px;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-seo-audits .aud-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-seo-audits .aud-btn--solid:hover,
.page-seo-audits .aud-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
  transform: translateY(-1px);
}

.page-seo-audits .aud-btn--ghost {
  background: #fff;
  color: var(--green);
  border: 2px solid var(--green);
}

.page-seo-audits .aud-btn--ghost:hover,
.page-seo-audits .aud-btn--ghost:focus-visible {
  background: #eef8f1;
  border-color: var(--green-mid);
  color: var(--green-mid);
}

.page-seo-audits .aud-icon,
.page-seo-audits .aud-service__icon,
.page-seo-audits .aud-why__icon,
.page-seo-audits .aud-cover__icon {
  color: var(--green);
}

.page-seo-audits .svc-breadcrumb {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
}

/* --- Hero --- */
.page-seo-audits .aud-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    linear-gradient(105deg, rgba(0, 179, 72, 0.06) 0%, transparent 42%),
    radial-gradient(ellipse 50% 60% at 88% 30%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(180deg, #eef6f1 0%, #f8fcf9 50%, #ffffff 100%);
  overflow: hidden;
}

.page-seo-audits .aud-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
}

.page-seo-audits .aud-hero .svc-h1-stack {
  margin: 0 0 14px;
}

.page-seo-audits .aud-hero .svc-h1-brand {
  margin: 0 0 0.35rem;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #141c17;
  line-height: 1.1;
}

.page-seo-audits .aud-hero h1 {
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: #3d5244;
}

.page-seo-audits .aud-hero__lead {
  margin: 0 0 18px;
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.65;
  color: #5a6b5e;
}

.page-seo-audits .aud-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.page-seo-audits .aud-hero__pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.page-seo-audits .aud-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.page-seo-audits .aud-hero__pill-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #d7ebdd;
  color: var(--green);
}

.page-seo-audits .aud-hero__pill-icon svg {
  width: 17px;
  height: 17px;
}

.page-seo-audits .aud-hero__pill-text strong {
  font-size: 0.76rem;
  font-weight: 800;
  color: #141c17;
  line-height: 1.2;
}

.page-seo-audits .aud-hero__media {
  justify-self: end;
  width: 100%;
  max-width: 620px;
}

.page-seo-audits .aud-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Value next --- */
.page-seo-audits .aud-next {
  padding: clamp(28px, 4vw, 44px) 0;
  background: #eef7f1;
}

.page-seo-audits .aud-next__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.page-seo-audits .aud-next__intro {
  max-width: 340px;
}

.page-seo-audits .aud-next__intro h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.2;
  color: #141c17;
}

.page-seo-audits .aud-next__intro p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.6;
}

.page-seo-audits .aud-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-seo-audits .aud-next__card {
  padding: 1.25rem 1.15rem;
  background: #f7fbf8;
  border-radius: 12px;
  border-left: 3px solid var(--green);
  transition: transform 0.2s ease, background 0.2s ease;
}

.page-seo-audits .aud-next__card:hover {
  transform: translateY(-2px);
  background: #fff;
}

.page-seo-audits .aud-next__card .aud-icon {
  display: inline-flex;
  margin-bottom: 0.75rem;
}

.page-seo-audits .aud-next__card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-seo-audits .aud-next__card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Services grid --- */
.page-seo-audits .aud-services {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-seo-audits .aud-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-seo-audits .aud-service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem;
  background: #f7fbf8;
  border: 1px solid #d7ebdd;
  border-radius: 12px;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.page-seo-audits .aud-service:hover {
  background: #fff;
  border-color: var(--green);
  transform: translateY(-2px);
}

.page-seo-audits .aud-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-seo-audits .aud-service h3 {
  margin: 0.35rem 0 0;
  font-size: 1.08rem;
  color: #141c17;
}

.page-seo-audits .aud-service p {
  margin: 0;
  flex: 1;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

.page-seo-audits .aud-service__go {
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.page-seo-audits .aud-service__go:hover,
.page-seo-audits .aud-service__go:focus-visible {
  background: var(--green-dark);
  transform: translateX(2px);
}

/* --- Report / severity --- */
.page-seo-audits .aud-report {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-seo-audits .aud-report__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-seo-audits .aud-report__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-seo-audits .aud-report__copy > p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-seo-audits .aud-sev {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-seo-audits .aud-sev li {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.85rem 1rem;
  background: #fff;
  border-radius: 8px;
  border-left: 4px solid var(--green);
  color: #141c17;
  font-size: 0.95rem;
  line-height: 1.4;
}

.page-seo-audits .aud-sev li[data-level="critical"] { border-left-color: #c0392b; }
.page-seo-audits .aud-sev li[data-level="high"] { border-left-color: #d68910; }
.page-seo-audits .aud-sev li[data-level="medium"] { border-left-color: var(--green-mid); }
.page-seo-audits .aud-sev li[data-level="low"] { border-left-color: var(--green-light); }

.page-seo-audits .aud-sev strong {
  min-width: 4.5rem;
  color: var(--green-dark);
}

.page-seo-audits .aud-report__media,
.page-seo-audits .aud-priority__media {
  margin: 0;
}

.page-seo-audits .aud-report__media img,
.page-seo-audits .aud-priority__media img,
.page-seo-audits .aud-score__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* --- Priority roadmap --- */
.page-seo-audits .aud-priority {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-seo-audits .aud-priority__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.page-seo-audits .aud-priority__copy h2 {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: #141c17;
}

.page-seo-audits .aud-priority__copy > p {
  margin: 0;
  color: #5a6b5e;
  line-height: 1.65;
}

.page-seo-audits .aud-queue {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}

.page-seo-audits .aud-queue li {
  display: flex;
  gap: 0.9rem;
  padding: 1rem 1.1rem;
  background: #f7fbf8;
  border: 1px solid #d7ebdd;
  border-radius: 12px;
}

.page-seo-audits .aud-queue span {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
}

.page-seo-audits .aud-queue h3 {
  margin: 0 0 0.25rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-seo-audits .aud-queue p {
  margin: 0;
  font-size: 0.9rem;
  color: #5a6b5e;
  line-height: 1.45;
}

/* --- Scorecard --- */
.page-seo-audits .aud-score {
  padding: clamp(36px, 5vw, 56px) 0;
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(0, 179, 72, 0.08), transparent 60%),
    #f3faf6;
}

.page-seo-audits .aud-score__compare {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) minmax(0, 0.9fr);
  gap: 16px;
  align-items: center;
  margin-bottom: 1.75rem;
}

.page-seo-audits .aud-score__side {
  padding: 1.35rem 1.25rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-seo-audits .aud-score__side--after {
  border-color: var(--green);
  background: #f7fbf8;
}

.page-seo-audits .aud-score__label {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-seo-audits .aud-score__side h3 {
  margin: 0 0 0.75rem;
  font-size: 1.15rem;
  color: #141c17;
}

.page-seo-audits .aud-score__side ul {
  margin: 0;
  padding: 0 0 0 1.1rem;
  color: #5a6b5e;
  line-height: 1.55;
  font-size: 0.92rem;
}

.page-seo-audits .aud-score__side li + li {
  margin-top: 0.35rem;
}

.page-seo-audits .aud-score__media {
  min-width: 0;
}

.page-seo-audits .aud-score__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.page-seo-audits .aud-score__kpi {
  text-align: center;
  padding: 1.15rem 0.85rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-seo-audits .aud-score__kpi strong {
  display: block;
  margin-bottom: 0.35rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 900;
  color: var(--green);
  letter-spacing: -0.02em;
}

.page-seo-audits .aud-score__kpi span {
  font-size: 0.85rem;
  color: #5a6b5e;
  line-height: 1.35;
}

/* --- Process --- */
.page-seo-audits .aud-process {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-seo-audits .aud-process__track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-seo-audits .aud-process__track li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem;
  background: #f7fbf8;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-seo-audits .aud-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff;
  outline: 2px solid #d7eadf;
  outline-offset: 3px;
}

.page-seo-audits .aud-process__num {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--green-mid);
}

.page-seo-audits .aud-process__track h3 {
  margin: 0;
  font-size: 1rem;
  color: #141c17;
}

.page-seo-audits .aud-process__track p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #5a6b5e;
}

/* --- Coverage row --- */
.page-seo-audits .aud-cover {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #eef7f1;
}

.page-seo-audits .aud-cover__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-seo-audits .aud-cover__row li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  text-align: center;
  padding: 1rem 0.5rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  color: #141c17;
}

.page-seo-audits .aud-cover__icon {
  display: inline-flex;
  color: var(--green);
}

/* --- Why --- */
.page-seo-audits .aud-why {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #fff;
}

.page-seo-audits .aud-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.page-seo-audits .aud-why__item {
  padding: 1.35rem 1.2rem;
  background: #f7fbf8;
  border-radius: 12px;
  border: 1px solid #d7ebdd;
}

.page-seo-audits .aud-why__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.75rem;
  border-radius: 8px;
  background: #e3f6ea;
  color: var(--green);
}

.page-seo-audits .aud-why__item h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: #141c17;
}

.page-seo-audits .aud-why__item p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a6b5e;
}

/* --- FAQ --- */
.page-seo-audits .aud-faq {
  padding: clamp(36px, 5vw, 56px) 0;
  background: #f3faf6;
}

.page-seo-audits .aud-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}

.page-seo-audits .aud-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: #5a6b5e;
}

.page-seo-audits .aud-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-seo-audits .aud-faq__list {
  display: grid;
  gap: 0.65rem;
}

.page-seo-audits .aud-faq__item {
  border: 1px solid #d7ebdd;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.page-seo-audits .aud-faq__item summary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: #141c17;
  cursor: pointer;
  list-style: none;
}

.page-seo-audits .aud-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-seo-audits .aud-faq__num {
  flex-shrink: 0;
  color: var(--green);
}

.page-seo-audits .aud-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem 2.4rem;
  line-height: 1.6;
  color: #5a6b5e;
}

/* --- CTA --- */
.page-seo-audits .aud-cta {
  padding: clamp(28px, 4vw, 48px) 0;
  background: #fff;
}

.page-seo-audits .aud-cta__panel {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #003d18, var(--green-dark) 45%, var(--green-mid));
  color: var(--white);
  border-radius: 16px;
  overflow: hidden;
}

.page-seo-audits .aud-cta__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(243, 250, 245, 0.75);
}

.page-seo-audits .aud-cta__copy h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.2;
  max-width: 22rem;
}

.page-seo-audits .aud-cta__copy h2 span {
  color: #b8f0c8;
}

.page-seo-audits .aud-cta__copy > p {
  margin: 0 0 1.25rem;
  opacity: 0.9;
  max-width: 32rem;
  line-height: 1.6;
}

.page-seo-audits .aud-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.page-seo-audits .aud-cta .aud-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-seo-audits .aud-cta .aud-btn--solid:hover,
.page-seo-audits .aud-cta .aud-btn--solid:focus-visible {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-seo-audits .aud-cta .aud-btn--ghost {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-seo-audits .aud-cta .aud-btn--ghost:hover,
.page-seo-audits .aud-cta .aud-btn--ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
}

.page-seo-audits .aud-cta__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  color: rgba(243, 250, 245, 0.8);
}

.page-seo-audits .aud-cta__trust li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.page-seo-audits .aud-cta__trust li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b8f0c8;
}

.page-seo-audits .aud-cta__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 360px;
}

.page-seo-audits .aud-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  position: relative;
  z-index: 1;
}

.page-seo-audits .aud-cta__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(20px);
  opacity: 0.45;
  animation: aud-orb 8s ease-in-out infinite;
}

.page-seo-audits .aud-cta__orb--a {
  width: 120px;
  height: 120px;
  background: #4dd17a;
  top: -20px;
  right: -10px;
}

.page-seo-audits .aud-cta__orb--b {
  width: 90px;
  height: 90px;
  background: #00b348;
  bottom: 10%;
  left: -15px;
  animation-delay: -2.5s;
}

.page-seo-audits .aud-cta__orb--c {
  width: 70px;
  height: 70px;
  background: #b8f0c8;
  bottom: -10px;
  right: 20%;
  animation-delay: -4s;
}

@keyframes aud-orb {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.page-seo-audits .aud-related {
  padding: clamp(28px, 4vw, 44px) 0 3.5rem;
  background: #f8fcf9;
}

@media (max-width: 1100px) {
  .page-seo-audits .aud-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-seo-audits .aud-cover__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-seo-audits .aud-why__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-seo-audits .aud-score__compare {
    grid-template-columns: 1fr;
  }

  .page-seo-audits .aud-score__media {
    order: -1;
    max-width: 520px;
    margin-inline: auto;
  }
}

@media (max-width: 980px) {
  .page-seo-audits .aud-hero__grid,
  .page-seo-audits .aud-report__grid,
  .page-seo-audits .aud-priority__grid,
  .page-seo-audits .aud-faq__inner,
  .page-seo-audits .aud-cta__panel,
  .page-seo-audits .aud-next__layout {
    grid-template-columns: 1fr;
  }

  .page-seo-audits .aud-hero__media {
    max-width: 520px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-seo-audits .aud-hero__pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-seo-audits .aud-next__intro {
    max-width: 560px;
  }

  .page-seo-audits .aud-next__grid,
  .page-seo-audits .aud-services__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-seo-audits .aud-priority__media {
    order: 0;
  }

  .page-seo-audits .aud-cta__media {
    max-width: 340px;
    margin-inline: auto;
    justify-self: center;
  }

  .page-seo-audits .aud-score__kpis {
    grid-template-columns: 1fr 1fr;
  }

  /* Mobile: copy first, media second */
  .page-seo-audits .aud-hero__copy { order: 1; }
  .page-seo-audits .aud-hero__media { order: 2; }
  .page-seo-audits .aud-report__copy { order: 1; }
  .page-seo-audits .aud-report__media { order: 2; }
  .page-seo-audits .aud-priority__copy { order: 1; }
  .page-seo-audits .aud-priority__media { order: 2; }
  .page-seo-audits .aud-cta__copy { order: 1; }
  .page-seo-audits .aud-cta__media { order: 2; }
}

@media (max-width: 640px) {
  .page-seo-audits .aud-next__grid,
  .page-seo-audits .aud-services__grid,
  .page-seo-audits .aud-why__grid,
  .page-seo-audits .aud-process__track,
  .page-seo-audits .aud-cover__row,
  .page-seo-audits .aud-score__kpis {
    grid-template-columns: 1fr;
  }

  .page-seo-audits .aud-hero__actions,
  .page-seo-audits .aud-cta__actions {
    flex-direction: column;
  }

  .page-seo-audits .aud-hero__actions .aud-btn,
  .page-seo-audits .aud-cta__actions .aud-btn {
    width: 100%;
  }

  .page-seo-audits .aud-hero__pills {
    grid-template-columns: 1fr 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-seo-audits .aud-btn--solid:hover,
  .page-seo-audits .aud-next__card:hover,
  .page-seo-audits .aud-service:hover {
    transform: none;
  }

  .page-seo-audits .aud-cta__orb {
    animation: none;
  }
}

/* ===== E-commerce SEO — Catalog Shelf (brand tokens) ===== */
/* ===== Ecommerce SEO — elevated Good UI (.page-ecommerce-seo / .eco-*) ===== */
.page-ecommerce-seo .eco-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-ecommerce-seo .eco-section-head { max-width: 44rem; margin-bottom: 2rem; }
.page-ecommerce-seo .eco-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-ecommerce-seo .eco-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-ecommerce-seo .eco-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-ecommerce-seo .eco-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-ecommerce-seo .eco-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-ecommerce-seo .eco-btn--solid:hover,
.page-ecommerce-seo .eco-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-ecommerce-seo .eco-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-ecommerce-seo .eco-btn--ghost:hover,
.page-ecommerce-seo .eco-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-ecommerce-seo .eco-icon,
.page-ecommerce-seo .eco-service__icon,
.page-ecommerce-seo .eco-why__icon,
.page-ecommerce-seo .eco-cover__icon { color: var(--green); }
.page-ecommerce-seo .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-ecommerce-seo .eco-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    linear-gradient(120deg, rgba(0, 179, 72, 0.07) 0%, transparent 40%),
    radial-gradient(ellipse 48% 55% at 92% 70%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(180deg, #e8f5ee 0%, #f8fcf9 50%, #ffffff 100%);
  overflow: hidden;
}
.page-ecommerce-seo .eco-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px); align-items: center;
}
.page-ecommerce-seo .eco-hero .svc-h1-stack { margin: 0 0 14px; }
.page-ecommerce-seo .eco-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-ecommerce-seo .eco-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-ecommerce-seo .eco-hero__lead {
  margin: 0 0 18px; max-width: 34rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-ecommerce-seo .eco-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-ecommerce-seo .eco-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-ecommerce-seo .eco-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-ecommerce-seo .eco-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-ecommerce-seo .eco-hero__pill-icon svg { width: 17px; height: 17px; }
.page-ecommerce-seo .eco-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-ecommerce-seo .eco-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-ecommerce-seo .eco-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-ecommerce-seo .eco-next { padding: clamp(28px, 4vw, 44px) 0; background: #e6f3eb; }
.page-ecommerce-seo .eco-next__layout {
  display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-ecommerce-seo .eco-next__intro { max-width: 340px; }
.page-ecommerce-seo .eco-next__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.35rem, 2.4vw, 1.85rem); line-height: 1.2; color: #141c17;
}
.page-ecommerce-seo .eco-next__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-ecommerce-seo .eco-next__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.page-ecommerce-seo .eco-next__card {
  padding: 1.25rem 1.15rem; background: #f7fbf8; border-radius: 12px; border-top: 3px solid var(--green);
  transition: transform 0.2s ease, background 0.2s ease;
}
.page-ecommerce-seo .eco-next__card:hover { transform: translateY(-2px); background: #fff; }
.page-ecommerce-seo .eco-next__card .eco-icon { display: inline-flex; margin-bottom: 0.75rem; }
.page-ecommerce-seo .eco-next__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-ecommerce-seo .eco-next__card p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: #5a6b5e; }

.page-ecommerce-seo .eco-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-ecommerce-seo .eco-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.page-ecommerce-seo .eco-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #f7fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.page-ecommerce-seo .eco-service:hover { background: #fff; border-color: var(--green); transform: translateY(-2px); }
.page-ecommerce-seo .eco-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-ecommerce-seo .eco-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-ecommerce-seo .eco-service p { margin: 0; flex: 1; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }
.page-ecommerce-seo .eco-service__go {
  align-self: flex-end; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%; background: var(--green); color: #fff; text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}
.page-ecommerce-seo .eco-service__go:hover,
.page-ecommerce-seo .eco-service__go:focus-visible { background: var(--green-dark); transform: translateX(2px); }

.page-ecommerce-seo .eco-catalog { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-ecommerce-seo .eco-catalog__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-ecommerce-seo .eco-catalog__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-ecommerce-seo .eco-catalog__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-ecommerce-seo .eco-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-ecommerce-seo .eco-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-ecommerce-seo .eco-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-ecommerce-seo .eco-catalog__media,
.page-ecommerce-seo .eco-facets__media,
.page-ecommerce-seo .eco-pdp__fig { margin: 0; }
.page-ecommerce-seo .eco-catalog__media img,
.page-ecommerce-seo .eco-facets__media img,
.page-ecommerce-seo .eco-pdp__fig img {
  display: block; width: 100%; height: auto; border-radius: 12px;
}

.page-ecommerce-seo .eco-pdp { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-ecommerce-seo .eco-pdp__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.75rem;
}
.page-ecommerce-seo .eco-pdp__card {
  padding: 1.4rem 1.2rem; background: #f7fbf8; border-radius: 12px; border: 1px solid #d7ebdd; text-align: center;
}
.page-ecommerce-seo .eco-pdp__num {
  display: inline-block; margin-bottom: 0.65rem;
  font-size: 0.78rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green);
}
.page-ecommerce-seo .eco-pdp__card h3 { margin: 0 0 0.4rem; font-size: 1.15rem; color: #141c17; }
.page-ecommerce-seo .eco-pdp__card p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: #5a6b5e; }
.page-ecommerce-seo .eco-pdp__fig { max-width: 920px; margin: 0 auto; }

.page-ecommerce-seo .eco-facets { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-ecommerce-seo .eco-facets__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-ecommerce-seo .eco-facets__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-ecommerce-seo .eco-facets__copy > p { margin: 0 0 1.25rem; color: #5a6b5e; line-height: 1.65; }
.page-ecommerce-seo .eco-facets__cards { display: grid; gap: 0.75rem; }
.page-ecommerce-seo .eco-facets__cards article {
  padding: 1rem 1.1rem; background: #fff; border-radius: 10px; border-left: 3px solid var(--green);
}
.page-ecommerce-seo .eco-facets__cards h3 { margin: 0 0 0.3rem; font-size: 1.02rem; color: #141c17; }
.page-ecommerce-seo .eco-facets__cards p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }

.page-ecommerce-seo .eco-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-ecommerce-seo .eco-process__track {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-ecommerce-seo .eco-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f7fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-ecommerce-seo .eco-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-ecommerce-seo .eco-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-ecommerce-seo .eco-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-ecommerce-seo .eco-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-ecommerce-seo .eco-cover { padding: clamp(36px, 5vw, 56px) 0; background: #e6f3eb; }
.page-ecommerce-seo .eco-cover__row {
  display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px;
  margin: 0; padding: 0; list-style: none;
}
.page-ecommerce-seo .eco-cover__row li {
  display: flex; flex-direction: column; align-items: center; gap: 0.55rem; text-align: center;
  padding: 1rem 0.5rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
  font-size: 0.78rem; font-weight: 700; line-height: 1.25; color: #141c17;
}
.page-ecommerce-seo .eco-cover__icon { display: inline-flex; }

.page-ecommerce-seo .eco-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-ecommerce-seo .eco-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-ecommerce-seo .eco-why__item {
  padding: 1.35rem 1.2rem; background: #f7fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-ecommerce-seo .eco-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-ecommerce-seo .eco-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-ecommerce-seo .eco-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-ecommerce-seo .eco-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-ecommerce-seo .eco-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-ecommerce-seo .eco-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-ecommerce-seo .eco-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-ecommerce-seo .eco-faq__list { display: grid; gap: 0.65rem; }
.page-ecommerce-seo .eco-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-ecommerce-seo .eco-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-ecommerce-seo .eco-faq__item summary::-webkit-details-marker { display: none; }
.page-ecommerce-seo .eco-faq__num { flex-shrink: 0; color: var(--green); }
.page-ecommerce-seo .eco-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-ecommerce-seo .eco-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-ecommerce-seo .eco-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(145deg, #002910 0%, #003d18 42%, var(--green-dark) 78%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-ecommerce-seo .eco-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-ecommerce-seo .eco-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 24rem;
}
.page-ecommerce-seo .eco-cta__copy h2 span { color: #b8f0c8; }
.page-ecommerce-seo .eco-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-ecommerce-seo .eco-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-ecommerce-seo .eco-cta .eco-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-ecommerce-seo .eco-cta .eco-btn--solid:hover,
.page-ecommerce-seo .eco-cta .eco-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-ecommerce-seo .eco-cta .eco-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-ecommerce-seo .eco-cta .eco-btn--ghost:hover,
.page-ecommerce-seo .eco-cta .eco-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-ecommerce-seo .eco-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-ecommerce-seo .eco-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-ecommerce-seo .eco-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-ecommerce-seo .eco-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-ecommerce-seo .eco-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-ecommerce-seo .eco-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: eco-orb 8s ease-in-out infinite;
}
.page-ecommerce-seo .eco-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-ecommerce-seo .eco-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
.page-ecommerce-seo .eco-cta__orb--c { width: 70px; height: 70px; background: #b8f0c8; bottom: -10px; right: 20%; animation-delay: -4s; }
@keyframes eco-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-ecommerce-seo .eco-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-ecommerce-seo .eco-process__track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-ecommerce-seo .eco-cover__row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .page-ecommerce-seo .eco-why__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-ecommerce-seo .eco-hero__grid,
  .page-ecommerce-seo .eco-catalog__grid,
  .page-ecommerce-seo .eco-facets__grid,
  .page-ecommerce-seo .eco-faq__inner,
  .page-ecommerce-seo .eco-cta__panel,
  .page-ecommerce-seo .eco-next__layout { grid-template-columns: 1fr; }
  .page-ecommerce-seo .eco-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-ecommerce-seo .eco-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-ecommerce-seo .eco-next__intro { max-width: 560px; }
  .page-ecommerce-seo .eco-next__grid,
  .page-ecommerce-seo .eco-services__grid,
  .page-ecommerce-seo .eco-pdp__grid { grid-template-columns: 1fr 1fr; }
  .page-ecommerce-seo .eco-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-ecommerce-seo .eco-hero__copy { order: 1; }
  .page-ecommerce-seo .eco-hero__media { order: 2; }
  .page-ecommerce-seo .eco-catalog__copy { order: 1; }
  .page-ecommerce-seo .eco-catalog__media { order: 2; }
  .page-ecommerce-seo .eco-facets__copy { order: 1; }
  .page-ecommerce-seo .eco-facets__media { order: 2; }
  .page-ecommerce-seo .eco-cta__copy { order: 1; }
  .page-ecommerce-seo .eco-cta__media { order: 2; }
}

.page-ecommerce-seo .eco-hero__actions,
  .page-ecommerce-seo .eco-cta__actions { flex-direction: column; }
  .page-ecommerce-seo .eco-hero__actions .eco-btn,
  .page-ecommerce-seo .eco-cta__actions .eco-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-ecommerce-seo .eco-btn--solid:hover,
  .page-ecommerce-seo .eco-next__card:hover,
  .page-ecommerce-seo .eco-service:hover { transform: none; }
  .page-ecommerce-seo .eco-cta__orb { animation: none; }
}

/* ===== Landing Page Optimization — Conversion Studio (brand tokens) ===== */
.page-landing-opt .lpo-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-landing-opt .lpo-head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.page-landing-opt .lpo-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-landing-opt .lpo-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-landing-opt .lpo-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-landing-opt .lpo-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 4px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-landing-opt .lpo-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-landing-opt .lpo-btn--solid:hover,
.page-landing-opt .lpo-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-landing-opt .lpo-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.45);
}

.page-landing-opt .lpo-btn--ghost:hover,
.page-landing-opt .lpo-btn--ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.08);
}

.page-landing-opt .lpo-btn--on-dark {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-landing-opt .lpo-hero {
  padding: 3rem 0 3.5rem;
  background:
    radial-gradient(ellipse 60% 50% at 90% 80%, rgba(0, 179, 72, 0.2), transparent 55%),
    linear-gradient(155deg, #003d18 0%, var(--green-dark) 48%, var(--green-mid) 100%);
  color: var(--cream);
}

.page-landing-opt .lpo-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-landing-opt .lpo-hero .lpo-kicker { color: var(--green-light); }

.page-landing-opt .lpo-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.5vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--white);
}

.page-landing-opt .lpo-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: rgba(243, 250, 245, 0.92);
}

.page-landing-opt .lpo-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(243, 250, 245, 0.85);
}

.page-landing-opt .lpo-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.page-landing-opt .lpo-hero .lpo-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-landing-opt .lpo-hero .lpo-btn--solid:hover,
.page-landing-opt .lpo-hero .lpo-btn--solid:focus-visible {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-landing-opt .lpo-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.88rem;
  color: rgba(243, 250, 245, 0.78);
}

.page-landing-opt .lpo-hero__meta li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.page-landing-opt .lpo-hero__meta li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green-light);
}

.page-landing-opt .lpo-hero__side { min-width: 0; }
.page-landing-opt .lpo-hero__media { margin: 0; }

.page-landing-opt .lpo-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  border: 1px solid rgba(77, 209, 122, 0.28);
}

.page-landing-opt .lpo-fold {
  padding: 4rem 0;
  background: var(--cream);
}

.page-landing-opt .lpo-fold__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-landing-opt .lpo-list {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.6rem;
}

.page-landing-opt .lpo-list li {
  position: relative;
  padding: 0.75rem 0.9rem 0.75rem 2.15rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 3px solid var(--green);
  color: var(--text);
  line-height: 1.45;
}

.page-landing-opt .lpo-list li::before {
  content: "";
  position: absolute;
  left: 0.75rem;
  top: 1rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--green);
}

.page-landing-opt .lpo-fold__media,
.page-landing-opt .lpo-test__fig,
.page-landing-opt .lpo-friction__media {
  margin: 0;
}

.page-landing-opt .lpo-fold__media img,
.page-landing-opt .lpo-test__fig img,
.page-landing-opt .lpo-friction__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.page-landing-opt .lpo-test {
  padding: 4rem 0;
  background: var(--white);
}

.page-landing-opt .lpo-test__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.15rem;
  margin-bottom: 2rem;
}

.page-landing-opt .lpo-test__grid article {
  padding: 1.35rem 1.2rem;
  background: var(--soft);
  border-top: 3px solid var(--green);
  text-align: center;
}

.page-landing-opt .lpo-test__grid span {
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.65rem;
  border-radius: 50%;
  background: var(--green-dark);
  color: var(--white);
  font-weight: 900;
  font-size: 0.95rem;
}

.page-landing-opt .lpo-test__grid h3 {
  margin: 0 0 0.45rem;
  font-size: 1.1rem;
  color: var(--text);
}

.page-landing-opt .lpo-test__grid p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-landing-opt .lpo-friction {
  padding: 4rem 0;
  background: var(--soft);
}

.page-landing-opt .lpo-friction__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-landing-opt .lpo-friction__cards {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.35rem;
}

.page-landing-opt .lpo-friction__cards article {
  padding: 1rem 1.1rem;
  background: var(--white);
  border: 1px solid var(--border);
}

.page-landing-opt .lpo-friction__cards h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-landing-opt .lpo-friction__cards p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-landing-opt .lpo-includes {
  padding: 4rem 0;
  background: var(--cream);
}

.page-landing-opt .lpo-includes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-landing-opt .lpo-includes__grid li {
  display: flex;
  gap: 0.85rem;
  padding: 1.2rem 1.15rem;
  background: var(--white);
  border: 1px solid var(--border);
}

.page-landing-opt .lpo-includes__grid strong {
  font-size: 0.85rem;
  font-weight: 900;
  color: var(--green);
}

.page-landing-opt .lpo-includes__grid h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-landing-opt .lpo-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-landing-opt .lpo-process {
  padding: 4rem 0;
  background: var(--white);
}

.page-landing-opt .lpo-process__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-landing-opt .lpo-process__list li {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.35rem 1.15rem;
  background: var(--soft);
  border-bottom: 3px solid var(--green);
}

.page-landing-opt .lpo-process__list span {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-dark);
  color: var(--white);
  font-weight: 900;
  font-size: 0.85rem;
}

.page-landing-opt .lpo-process__list h3 {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
  color: var(--text);
}

.page-landing-opt .lpo-process__list p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-landing-opt .lpo-why {
  padding: 4rem 0;
  background: var(--soft);
}

.page-landing-opt .lpo-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.page-landing-opt .lpo-why__grid article {
  padding: 1.5rem 1.25rem;
  background: var(--white);
  border: 1px solid var(--border);
}

.page-landing-opt .lpo-why__grid h3 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  color: var(--text);
}

.page-landing-opt .lpo-why__grid p {
  margin: 0;
  line-height: 1.55;
  color: var(--muted);
}

.page-landing-opt .lpo-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-landing-opt .lpo-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 2.5rem;
  align-items: start;
}

.page-landing-opt .lpo-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: var(--muted);
}

.page-landing-opt .lpo-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-landing-opt .lpo-faq__list { display: grid; gap: 0.65rem; }

.page-landing-opt .lpo-faq__item {
  border: 1px solid var(--border);
  background: var(--cream);
}

.page-landing-opt .lpo-faq__item summary {
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}

.page-landing-opt .lpo-faq__item summary::-webkit-details-marker { display: none; }

.page-landing-opt .lpo-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem;
  line-height: 1.6;
  color: var(--muted);
}

.page-landing-opt .lpo-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}

.page-landing-opt .lpo-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 45%, var(--green-mid));
  color: var(--white);
  border-radius: 4px;
}

.page-landing-opt .lpo-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 28rem;
}

.page-landing-opt .lpo-cta__panel p {
  margin: 0;
  opacity: 0.9;
  max-width: 30rem;
}

.page-landing-opt .lpo-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-landing-opt .lpo-cta .lpo-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-landing-opt .lpo-cta .lpo-btn--solid:hover,
.page-landing-opt .lpo-cta .lpo-btn--solid:focus-visible {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

@media (max-width: 980px) {
  .page-landing-opt .lpo-hero__grid,
  .page-landing-opt .lpo-fold__grid,
  .page-landing-opt .lpo-friction__grid,
  .page-landing-opt .lpo-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-landing-opt .lpo-test__grid,
  .page-landing-opt .lpo-includes__grid,
  .page-landing-opt .lpo-why__grid,
  .page-landing-opt .lpo-process__list {
    grid-template-columns: 1fr 1fr;
  }

  .page-landing-opt .lpo-friction__media { order: -1; }
}

@media (max-width: 640px) {
  .page-landing-opt .lpo-test__grid,
  .page-landing-opt .lpo-includes__grid,
  .page-landing-opt .lpo-why__grid,
  .page-landing-opt .lpo-process__list {
    grid-template-columns: 1fr;
  }

  .page-landing-opt .lpo-cta__panel {
    padding: 1.75rem 1.25rem;
  }
}

/* ===== A/B Testing — Experiment Lab (brand tokens, distinct CRO UI) ===== */
.page-ab-testing .abt-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-ab-testing .abt-head {
  max-width: 38rem;
  margin-bottom: 2rem;
}

.page-ab-testing .abt-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-ab-testing .abt-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-ab-testing .abt-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-ab-testing .abt-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-ab-testing .abt-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-ab-testing .abt-btn--solid:hover,
.page-ab-testing .abt-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-ab-testing .abt-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-ab-testing .abt-btn--outline:hover,
.page-ab-testing .abt-btn--outline:focus-visible {
  background: var(--soft);
}

.page-ab-testing .abt-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-ab-testing .abt-btn--ghost:hover,
.page-ab-testing .abt-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--white);
}

/* Light hero — different from dark CRO/SEO heroes */
.page-ab-testing .abt-hero {
  padding: 3rem 0 3.25rem;
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%, rgba(0, 179, 72, 0.12), transparent 55%),
    linear-gradient(180deg, var(--cream) 0%, var(--white) 100%);
  border-bottom: 1px solid var(--border);
}

.page-ab-testing .abt-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 2.5rem;
  align-items: center;
}

.page-ab-testing .abt-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--text);
}

.page-ab-testing .abt-hero h1 {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.72em;
  font-weight: 700;
  color: var(--green-dark);
}

.page-ab-testing .abt-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-ab-testing .abt-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-ab-testing .abt-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 2px solid var(--green-dark);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 92, 36, 0.12);
}

.page-ab-testing .abt-split__pane {
  padding: 1.75rem 1.35rem;
  text-align: center;
}

.page-ab-testing .abt-split__pane--a {
  background: var(--white);
  border-right: 1px dashed var(--border);
}

.page-ab-testing .abt-split__pane--b {
  background: var(--soft);
}

.page-ab-testing .abt-split__pane span {
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: 0.65rem;
  border-radius: 50%;
  font-weight: 900;
  font-size: 0.95rem;
}

.page-ab-testing .abt-split__pane--a span {
  background: var(--text);
  color: var(--white);
}

.page-ab-testing .abt-split__pane--b span {
  background: var(--green);
  color: var(--white);
}

.page-ab-testing .abt-split__pane p {
  margin: 0 0 0.35rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--muted);
}

.page-ab-testing .abt-split__pane strong {
  display: block;
  font-size: 2rem;
  font-weight: 900;
  color: var(--green-dark);
  line-height: 1.1;
}

.page-ab-testing .abt-split__pane small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8rem;
  color: var(--muted);
}

.page-ab-testing .abt-board {
  padding: 4rem 0;
  background: var(--white);
}

.page-ab-testing .abt-board__cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.page-ab-testing .abt-col {
  padding: 1.25rem 1.15rem;
  background: var(--cream);
  border-radius: 10px;
  border: 1px solid var(--border);
}

.page-ab-testing .abt-col--live {
  background: var(--soft);
  border-color: var(--green-light);
}

.page-ab-testing .abt-col--done {
  background: #fff;
  border-color: var(--green);
}

.page-ab-testing .abt-col h3 {
  margin: 0 0 0.85rem;
  font-size: 0.85rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-dark);
}

.page-ab-testing .abt-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-ab-testing .abt-col li {
  padding: 0.7rem 0.8rem;
  background: var(--white);
  border-radius: 6px;
  border: 1px solid var(--border);
  font-size: 0.9rem;
  color: var(--text);
  line-height: 1.4;
}

.page-ab-testing .abt-board__media-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.page-ab-testing .abt-board__media-row figure {
  margin: 0;
}

.page-ab-testing .abt-board__media-row img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.page-ab-testing .abt-types {
  padding: 3.5rem 0;
  background: var(--green-dark);
  color: var(--cream);
}

.page-ab-testing .abt-types__wrap {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-ab-testing .abt-types .abt-kicker {
  color: var(--green-light);
}

.page-ab-testing .abt-types h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.55rem, 2.2vw, 2.1rem);
  color: var(--white);
}

.page-ab-testing .abt-types__copy p:last-child {
  margin: 0;
  color: rgba(243, 250, 245, 0.82);
  line-height: 1.65;
}

.page-ab-testing .abt-types__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.page-ab-testing .abt-types__list li {
  padding: 0.95rem 1rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  font-size: 0.92rem;
  line-height: 1.45;
  color: rgba(243, 250, 245, 0.9);
}

.page-ab-testing .abt-types__list strong {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--green-light);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-ab-testing .abt-stats {
  padding: 4rem 0;
  background: var(--cream);
}

.page-ab-testing .abt-stats__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-ab-testing .abt-stats__media {
  margin: 0;
}

.page-ab-testing .abt-stats__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.page-ab-testing .abt-stats__dl {
  margin: 1.35rem 0 0;
  display: grid;
  gap: 0.85rem;
}

.page-ab-testing .abt-stats__dl > div {
  padding: 1rem 1.1rem;
  background: var(--white);
  border-left: 4px solid var(--green);
  border-radius: 0 8px 8px 0;
}

.page-ab-testing .abt-stats__dl dt {
  font-weight: 800;
  color: var(--green-dark);
  margin-bottom: 0.25rem;
}

.page-ab-testing .abt-stats__dl dd {
  margin: 0;
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.5;
}

.page-ab-testing .abt-winner {
  padding: 3.5rem 0;
  background: var(--white);
}

.page-ab-testing .abt-winner__banner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
  background: var(--soft);
  border: 1px solid var(--border);
  border-radius: 14px;
}

.page-ab-testing .abt-winner__banner h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  color: var(--text);
}

.page-ab-testing .abt-winner__banner > div > p:last-of-type {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.page-ab-testing .abt-winner__media {
  margin: 0;
}

.page-ab-testing .abt-winner__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.page-ab-testing .abt-includes {
  padding: 4rem 0;
  background: var(--cream);
}

.page-ab-testing .abt-includes__rail {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--white);
}

.page-ab-testing .abt-includes__rail li {
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border-bottom: 1px solid var(--border);
  align-items: start;
}

.page-ab-testing .abt-includes__rail li:last-child {
  border-bottom: none;
}

.page-ab-testing .abt-includes__rail span {
  font-weight: 900;
  color: var(--green);
  font-size: 0.95rem;
}

.page-ab-testing .abt-includes__rail h3 {
  margin: 0 0 0.3rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-ab-testing .abt-includes__rail p {
  margin: 0;
  font-size: 0.92rem;
  color: var(--muted);
  line-height: 1.5;
}

.page-ab-testing .abt-process {
  padding: 4rem 0;
  background: var(--white);
}

.page-ab-testing .abt-process__timeline {
  margin: 0;
  padding: 0 0 0 1.25rem;
  list-style: none;
  border-left: 3px solid var(--green);
  display: grid;
  gap: 1.5rem;
  max-width: 40rem;
}

.page-ab-testing .abt-process__timeline li {
  position: relative;
  padding-left: 1.5rem;
}

.page-ab-testing .abt-process__timeline li > span {
  position: absolute;
  left: -1.55rem;
  top: 0.35rem;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: var(--green);
  border: 3px solid var(--white);
  box-shadow: 0 0 0 2px var(--green);
}

.page-ab-testing .abt-process__timeline h3 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  color: var(--text);
}

.page-ab-testing .abt-process__timeline p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.page-ab-testing .abt-why {
  padding: 3rem 0;
  background: var(--soft);
}

.page-ab-testing .abt-why__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.page-ab-testing .abt-why__row article {
  padding: 1.5rem 1.25rem;
  background: var(--white);
  border-radius: 10px;
  border-top: 4px solid var(--green);
}

.page-ab-testing .abt-why__row h3 {
  margin: 0 0 0.45rem;
  font-size: 1.1rem;
  color: var(--text);
}

.page-ab-testing .abt-why__row p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.page-ab-testing .abt-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-ab-testing .abt-faq__shell {
  max-width: 48rem;
  margin: 0 auto;
  padding: 2rem;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 14px;
}

.page-ab-testing .abt-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: var(--muted);
}

.page-ab-testing .abt-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-ab-testing .abt-faq__list {
  display: grid;
  gap: 0.65rem;
  margin-top: 1.5rem;
}

.page-ab-testing .abt-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.page-ab-testing .abt-faq__item summary {
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}

.page-ab-testing .abt-faq__item summary::-webkit-details-marker { display: none; }

.page-ab-testing .abt-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem;
  line-height: 1.6;
  color: var(--muted);
}

.page-ab-testing .abt-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}

.page-ab-testing .abt-cta__panel {
  padding: 2.5rem 2rem;
  text-align: center;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 50%, var(--green-mid));
  color: var(--white);
  border-radius: 14px;
}

.page-ab-testing .abt-cta__panel h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
}

.page-ab-testing .abt-cta__panel > p {
  margin: 0 auto 1.5rem;
  max-width: 32rem;
  opacity: 0.9;
}

.page-ab-testing .abt-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.page-ab-testing .abt-cta .abt-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-ab-testing .abt-cta .abt-btn--solid:hover,
.page-ab-testing .abt-cta .abt-btn--solid:focus-visible {
  background: var(--green-light);
  border-color: var(--green-light);
  color: var(--green-dark);
}

@media (max-width: 980px) {
  .page-ab-testing .abt-hero__grid,
  .page-ab-testing .abt-types__wrap,
  .page-ab-testing .abt-stats__grid,
  .page-ab-testing .abt-winner__banner,
  .page-ab-testing .abt-board__media-row {
    grid-template-columns: 1fr;
  }

  .page-ab-testing .abt-board__cols,
  .page-ab-testing .abt-types__list,
  .page-ab-testing .abt-why__row {
    grid-template-columns: 1fr 1fr;
  }

  .page-ab-testing .abt-stats__media { order: -1; }
}

@media (max-width: 640px) {
  .page-ab-testing .abt-board__cols,
  .page-ab-testing .abt-types__list,
  .page-ab-testing .abt-why__row {
    grid-template-columns: 1fr;
  }

  .page-ab-testing .abt-faq__shell,
  .page-ab-testing .abt-cta__panel,
  .page-ab-testing .abt-winner__banner {
    padding: 1.5rem 1.15rem;
  }
}

/* ===== User Behavior Analysis — Heatmap Observatory (attractive CRO UI) ===== */
@keyframes uba-pulse {
  0%, 100% { transform: scale(1); opacity: 0.75; }
  50% { transform: scale(1.15); opacity: 1; }
}

@keyframes uba-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.page-behavior-analysis .uba-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-behavior-analysis .uba-head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.page-behavior-analysis .uba-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-behavior-analysis .uba-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
  line-height: 1.12;
  color: var(--text);
}

.page-behavior-analysis .uba-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-behavior-analysis .uba-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.9rem 1.4rem;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-behavior-analysis .uba-btn:hover {
  transform: translateY(-2px);
}

.page-behavior-analysis .uba-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-behavior-analysis .uba-btn--solid:hover,
.page-behavior-analysis .uba-btn--solid:focus-visible {
  background: var(--green-light);
  border-color: var(--green-light);
  color: var(--green-dark);
}

.page-behavior-analysis .uba-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.45);
}

.page-behavior-analysis .uba-btn--ghost:hover,
.page-behavior-analysis .uba-btn--ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.1);
}

.page-behavior-analysis .uba-hero {
  position: relative;
  padding: 3.25rem 0 3.75rem;
  overflow: hidden;
  background:
    radial-gradient(ellipse 50% 60% at 85% 30%, rgba(255, 120, 60, 0.18), transparent 50%),
    radial-gradient(ellipse 40% 50% at 70% 70%, rgba(0, 179, 72, 0.22), transparent 55%),
    linear-gradient(145deg, #02150c 0%, #003d18 40%, var(--green-dark) 100%);
  color: var(--cream);
}

.page-behavior-analysis .uba-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 2.75rem;
  align-items: center;
}

.page-behavior-analysis .uba-hero .uba-kicker {
  color: var(--green-light);
}

.page-behavior-analysis .uba-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2.05rem, 3.6vw, 2.9rem);
  line-height: 1.06;
  font-weight: 900;
  color: var(--white);
}

.page-behavior-analysis .uba-hero h1 {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.7em;
  font-weight: 700;
  background: linear-gradient(90deg, #fff 0%, var(--green-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.page-behavior-analysis .uba-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.08rem;
  line-height: 1.65;
  color: rgba(243, 250, 245, 0.86);
}

.page-behavior-analysis .uba-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.35rem;
}

.page-behavior-analysis .uba-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-behavior-analysis .uba-hero__chips li {
  padding: 0.4rem 0.85rem;
  border-radius: 6px;
  border: 1px solid rgba(77, 209, 122, 0.35);
  background: rgba(0, 179, 72, 0.12);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--green-light);
}

.page-behavior-analysis .uba-hero__visual {
  position: relative;
}

.page-behavior-analysis .uba-heat {
  position: absolute;
  inset: -8% -4%;
  pointer-events: none;
  z-index: 1;
}

.page-behavior-analysis .uba-heat__dot {
  position: absolute;
  border-radius: 50%;
  filter: blur(0.5px);
  animation: uba-pulse 3.2s ease-in-out infinite;
}

.page-behavior-analysis .uba-heat__dot--1 {
  width: 72px;
  height: 72px;
  top: 12%;
  left: 18%;
  background: radial-gradient(circle, rgba(255, 90, 40, 0.55), transparent 70%);
}

.page-behavior-analysis .uba-heat__dot--2 {
  width: 96px;
  height: 96px;
  top: 38%;
  right: 12%;
  background: radial-gradient(circle, rgba(0, 179, 72, 0.5), transparent 70%);
  animation-delay: 0.6s;
}

.page-behavior-analysis .uba-heat__dot--3 {
  width: 58px;
  height: 58px;
  bottom: 18%;
  left: 28%;
  background: radial-gradient(circle, rgba(255, 180, 40, 0.5), transparent 70%);
  animation-delay: 1.1s;
}

.page-behavior-analysis .uba-heat__dot--4 {
  width: 44px;
  height: 44px;
  top: 58%;
  left: 8%;
  background: radial-gradient(circle, rgba(255, 70, 50, 0.45), transparent 70%);
  animation-delay: 1.7s;
}

.page-behavior-analysis .uba-hero__media {
  position: relative;
  z-index: 2;
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(77, 209, 122, 0.35);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35);
}

.page-behavior-analysis .uba-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

.page-behavior-analysis .uba-signals {
  padding: 4.25rem 0;
  background: var(--cream);
}

.page-behavior-analysis .uba-signals__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.page-behavior-analysis .uba-signal {
  padding: 1.5rem 1.25rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.page-behavior-analysis .uba-signal:hover {
  transform: translateY(-4px);
  border-color: var(--green-light);
  box-shadow: 0 12px 28px rgba(0, 92, 36, 0.1);
}

.page-behavior-analysis .uba-signal__icon {
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.9rem;
  color: var(--green);
}

.page-behavior-analysis .uba-signal__icon svg {
  width: 100%;
  height: 100%;
}

.page-behavior-analysis .uba-signal h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-behavior-analysis .uba-signal p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--muted);
}

.page-behavior-analysis .uba-journey {
  padding: 4.25rem 0;
  background: var(--white);
}

.page-behavior-analysis .uba-path {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.page-behavior-analysis .uba-path li {
  position: relative;
  padding: 1.35rem 1.15rem;
  background: linear-gradient(180deg, var(--soft), var(--white));
  border: 1px solid var(--border);
  border-radius: 12px;
  text-align: center;
}

.page-behavior-analysis .uba-path li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -0.55rem;
  width: 0.7rem;
  height: 2px;
  background: var(--green);
  z-index: 1;
}

.page-behavior-analysis .uba-path span {
  display: inline-grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  margin-bottom: 0.65rem;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-weight: 900;
  font-size: 0.85rem;
}

.page-behavior-analysis .uba-path strong {
  display: block;
  margin-bottom: 0.3rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-behavior-analysis .uba-path p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.4;
}

.page-behavior-analysis .uba-journey__fig,
.page-behavior-analysis .uba-sessions__media,
.page-behavior-analysis .uba-scroll__media {
  margin: 0;
}

.page-behavior-analysis .uba-journey__fig img,
.page-behavior-analysis .uba-sessions__media img,
.page-behavior-analysis .uba-scroll__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.page-behavior-analysis .uba-sessions {
  padding: 4.25rem 0;
  background: var(--soft);
}

.page-behavior-analysis .uba-sessions__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 2.5rem;
  align-items: center;
}

.page-behavior-analysis .uba-check {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-behavior-analysis .uba-check li {
  position: relative;
  padding: 0.85rem 1rem 0.85rem 2.4rem;
  background: var(--white);
  border-radius: 8px;
  border: 1px solid var(--border);
  color: var(--text);
  line-height: 1.45;
}

.page-behavior-analysis .uba-check li::before {
  content: "";
  position: absolute;
  left: 0.9rem;
  top: 1.05rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(0, 179, 72, 0.18);
}

.page-behavior-analysis .uba-scroll {
  padding: 4.25rem 0;
  background: var(--white);
}

.page-behavior-analysis .uba-scroll__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-behavior-analysis .uba-meters {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.85rem;
}

.page-behavior-analysis .uba-meter span {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--green-dark);
}

.page-behavior-analysis .uba-meter > div {
  height: 12px;
  border-radius: 6px;
  background: var(--cream);
  border: 1px solid var(--border);
  overflow: hidden;
}

.page-behavior-analysis .uba-meter i {
  display: block;
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--green-dark), var(--green), #ff8a3d);
}

.page-behavior-analysis .uba-includes {
  padding: 4.25rem 0;
  background: var(--cream);
}

.page-behavior-analysis .uba-includes__mosaic {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.page-behavior-analysis .uba-includes__mosaic li {
  padding: 1.4rem 1.25rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: border-color 0.2s ease;
}

.page-behavior-analysis .uba-includes__mosaic li:hover {
  border-color: var(--green);
}

.page-behavior-analysis .uba-includes__wide {
  grid-column: span 2;
  background: linear-gradient(135deg, var(--soft), var(--white)) !important;
}

.page-behavior-analysis .uba-includes__mosaic strong {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--green-dark);
  font-size: 0.98rem;
}

.page-behavior-analysis .uba-includes__mosaic p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.94rem;
}

.page-behavior-analysis .uba-process {
  padding: 4.25rem 0;
  background: var(--white);
}

.page-behavior-analysis .uba-process__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.page-behavior-analysis .uba-process__steps li {
  padding: 1.5rem 1.2rem;
  border-radius: 12px;
  background: var(--green-dark);
  color: var(--cream);
  min-height: 11rem;
}

.page-behavior-analysis .uba-process__steps li:nth-child(2) {
  background: #004d20;
}

.page-behavior-analysis .uba-process__steps li:nth-child(3) {
  background: var(--green-mid);
}

.page-behavior-analysis .uba-process__steps li:nth-child(4) {
  background: var(--green);
  color: var(--white);
}

.page-behavior-analysis .uba-process__steps em {
  display: block;
  margin-bottom: 0.85rem;
  font-style: normal;
  font-weight: 900;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  opacity: 0.85;
}

.page-behavior-analysis .uba-process__steps h3 {
  margin: 0 0 0.45rem;
  font-size: 1.2rem;
  color: inherit;
}

.page-behavior-analysis .uba-process__steps p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  opacity: 0.9;
}

.page-behavior-analysis .uba-why {
  padding: 3.5rem 0;
  background: var(--soft);
}

.page-behavior-analysis .uba-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.page-behavior-analysis .uba-why__grid article {
  padding: 1.6rem 1.3rem;
  background: var(--white);
  border-radius: 12px;
  border: 1px solid var(--border);
}

.page-behavior-analysis .uba-why__grid h3 {
  margin: 0 0 0.45rem;
  font-size: 1.15rem;
  color: var(--text);
}

.page-behavior-analysis .uba-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.page-behavior-analysis .uba-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-behavior-analysis .uba-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 2.5rem;
  align-items: start;
}

.page-behavior-analysis .uba-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: var(--muted);
}

.page-behavior-analysis .uba-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-behavior-analysis .uba-faq__list {
  display: grid;
  gap: 0.65rem;
}

.page-behavior-analysis .uba-faq__item {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--cream);
  overflow: hidden;
}

.page-behavior-analysis .uba-faq__item summary {
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}

.page-behavior-analysis .uba-faq__item summary::-webkit-details-marker { display: none; }

.page-behavior-analysis .uba-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem;
  line-height: 1.6;
  color: var(--muted);
}

.page-behavior-analysis .uba-cta {
  padding: 0 0 4.75rem;
  background: var(--white);
}

.page-behavior-analysis .uba-cta__panel {
  position: relative;
  padding: 2.75rem 2rem;
  border-radius: 16px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 60% 80% at 100% 0%, rgba(255, 140, 60, 0.25), transparent 50%),
    linear-gradient(120deg, #02150c, var(--green-dark) 55%, var(--green-mid));
  color: var(--white);
  text-align: center;
}

.page-behavior-analysis .uba-cta__content {
  position: relative;
  z-index: 1;
}

.page-behavior-analysis .uba-cta__panel h2 {
  margin: 0 auto 0.65rem;
  max-width: 30rem;
  font-size: clamp(1.45rem, 2.3vw, 1.95rem);
}

.page-behavior-analysis .uba-cta__panel p {
  margin: 0 auto 1.5rem;
  max-width: 32rem;
  opacity: 0.9;
}

.page-behavior-analysis .uba-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

@media (max-width: 980px) {
  .page-behavior-analysis .uba-hero__grid,
  .page-behavior-analysis .uba-sessions__grid,
  .page-behavior-analysis .uba-scroll__grid,
  .page-behavior-analysis .uba-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-behavior-analysis .uba-signals__grid,
  .page-behavior-analysis .uba-path,
  .page-behavior-analysis .uba-process__steps,
  .page-behavior-analysis .uba-why__grid,
  .page-behavior-analysis .uba-includes__mosaic {
    grid-template-columns: 1fr 1fr;
  }

  .page-behavior-analysis .uba-path li:not(:last-child)::after {
    display: none;
  }

  .page-behavior-analysis .uba-includes__wide {
    grid-column: span 2;
  }

  .page-behavior-analysis .uba-sessions__media,
  .page-behavior-analysis .uba-scroll__media {
    order: -1;
  }
}

@media (max-width: 640px) {
  .page-behavior-analysis .uba-signals__grid,
  .page-behavior-analysis .uba-path,
  .page-behavior-analysis .uba-process__steps,
  .page-behavior-analysis .uba-why__grid,
  .page-behavior-analysis .uba-includes__mosaic {
    grid-template-columns: 1fr;
  }

  .page-behavior-analysis .uba-includes__wide {
    grid-column: span 1;
  }

  .page-behavior-analysis .uba-cta__panel {
    padding: 2rem 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-behavior-analysis .uba-heat__dot,
  .page-behavior-analysis .uba-btn,
  .page-behavior-analysis .uba-signal {
    animation: none;
    transition: none;
  }
}

/* ===== Funnel Optimization — Cascade Flow (brand tokens) ===== */
.page-funnel-opt .fun-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-funnel-opt .fun-head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.page-funnel-opt .fun-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-funnel-opt .fun-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-funnel-opt .fun-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-funnel-opt .fun-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-funnel-opt .fun-btn:hover { transform: translateY(-2px); }

.page-funnel-opt .fun-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-funnel-opt .fun-btn--solid:hover,
.page-funnel-opt .fun-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-funnel-opt .fun-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.45);
}

.page-funnel-opt .fun-btn--ghost:hover,
.page-funnel-opt .fun-btn--ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.1);
}

.page-funnel-opt .fun-btn--on-dark {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-funnel-opt .fun-hero {
  padding: 3.25rem 0 3.5rem;
  background:
    radial-gradient(ellipse 55% 50% at 90% 80%, rgba(0, 179, 72, 0.2), transparent 55%),
    linear-gradient(160deg, #02150c 0%, #003d18 45%, var(--green-dark) 100%);
  color: var(--cream);
}

.page-funnel-opt .fun-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}

.page-funnel-opt .fun-hero__side {
  min-width: 0;
  width: 100%;
  justify-self: stretch;
}

.page-funnel-opt .fun-hero .fun-kicker { color: var(--green-light); }

.page-funnel-opt .fun-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.5vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--white);
}

.page-funnel-opt .fun-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: rgba(243, 250, 245, 0.92);
}

.page-funnel-opt .fun-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(243, 250, 245, 0.85);
}

.page-funnel-opt .fun-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-funnel-opt .fun-cascade {
  width: 100%;
  max-width: 32rem;
  margin-inline: auto;
  padding: 1.35rem 1.15rem 1.15rem;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(0, 179, 72, 0.18), transparent 60%),
    rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(77, 209, 122, 0.35);
  border-radius: 16px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 20px 40px rgba(0, 0, 0, 0.25);
}

.page-funnel-opt .fun-cascade__label {
  margin: 0 0 0.95rem;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-light);
}

.page-funnel-opt .fun-cascade__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
}

.page-funnel-opt .fun-cascade__step {
  position: relative;
  width: var(--w, 100%);
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.85rem 1rem;
  color: var(--white);
  border-radius: 8px;
  background: linear-gradient(135deg, #007a32 0%, var(--green) 55%, #3dc86a 100%);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
  transition: transform 0.25s ease, filter 0.25s ease;
}

.page-funnel-opt .fun-cascade__step:hover {
  transform: translateY(-2px) scale(1.01);
  filter: brightness(1.06);
  z-index: 1;
}

.page-funnel-opt .fun-cascade__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 0.75rem;
  width: 100%;
}

.page-funnel-opt .fun-cascade__copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.page-funnel-opt .fun-cascade__step--1 {
  background: linear-gradient(135deg, #007a32 0%, var(--green) 55%, #3dc86a 100%);
  border-radius: 10px 10px 6px 6px;
}

.page-funnel-opt .fun-cascade__step--2 {
  background: linear-gradient(135deg, #006b2c 0%, var(--green-mid) 60%, #2bb85a 100%);
}

.page-funnel-opt .fun-cascade__step--3 {
  background: linear-gradient(135deg, #005824 0%, #0a8f3d 55%, var(--green-mid) 100%);
}

.page-funnel-opt .fun-cascade__step--goal {
  color: var(--green-dark);
  background: linear-gradient(135deg, var(--green-light) 0%, #d4f7e0 45%, #fff 100%);
  box-shadow: 0 10px 24px rgba(0, 179, 72, 0.35);
  border-radius: 6px 6px 12px 12px;
}

.page-funnel-opt .fun-cascade__name {
  display: block;
  font-weight: 900;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.25;
}

.page-funnel-opt .fun-cascade__copy em {
  display: block;
  font-style: normal;
  font-size: 0.78rem;
  line-height: 1.3;
  opacity: 0.92;
}

.page-funnel-opt .fun-cascade__inner strong {
  font-size: clamp(1.25rem, 2.8vw, 1.55rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.page-funnel-opt .fun-cascade__drop {
  display: flex;
  justify-content: center;
  padding: 0.2rem 0;
  position: relative;
  z-index: 2;
}

.page-funnel-opt .fun-cascade__drop span {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.65rem;
  border-radius: 6px;
  background: rgba(224, 122, 61, 0.95);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.page-funnel-opt .fun-cascade__note {
  margin: 1rem 0 0;
  text-align: center;
  font-size: 0.78rem;
  color: rgba(243, 250, 245, 0.65);
}

@media (max-width: 640px) {
  .page-funnel-opt .fun-cascade {
    max-width: none;
    padding: 1.15rem 0.9rem 1rem;
  }

  .page-funnel-opt .fun-cascade__step {
    padding: 0.8rem 0.85rem;
  }

  .page-funnel-opt .fun-cascade__name,
  .page-funnel-opt .fun-cascade__copy em {
    font-size: 0.72rem;
  }

  .page-funnel-opt .fun-cascade__inner strong {
    font-size: 1.2rem;
  }
}

.page-funnel-opt .fun-stages {
  padding: 4rem 0;
  background: var(--cream);
}

.page-funnel-opt .fun-stages__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.page-funnel-opt .fun-stages__row article {
  position: relative;
  padding: 1.4rem 1.2rem;
  background: var(--white);
  border-radius: 12px;
  border: 1px solid var(--border);
  border-top: 4px solid var(--green);
}

.page-funnel-opt .fun-stages__row em {
  display: block;
  margin-bottom: 0.55rem;
  font-style: normal;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--green);
}

.page-funnel-opt .fun-stages__row h3 {
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
  color: var(--text);
}

.page-funnel-opt .fun-stages__row p {
  margin: 0;
  font-size: 0.92rem;
  color: var(--muted);
  line-height: 1.5;
}

.page-funnel-opt .fun-stages__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.page-funnel-opt .fun-stages__media figure,
.page-funnel-opt .fun-leaks__media,
.page-funnel-opt .fun-lift__media {
  margin: 0;
}

.page-funnel-opt .fun-stages__media img,
.page-funnel-opt .fun-leaks__media img,
.page-funnel-opt .fun-lift__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.page-funnel-opt .fun-leaks {
  padding: 4rem 0;
  background: var(--white);
}

.page-funnel-opt .fun-leaks__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-funnel-opt .fun-leak-list {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}

.page-funnel-opt .fun-leak-list li {
  padding: 1rem 1.15rem;
  background: var(--soft);
  border-radius: 10px;
  border-left: 4px solid #e07a3d;
}

.page-funnel-opt .fun-leak-list strong {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--text);
}

.page-funnel-opt .fun-leak-list span {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.page-funnel-opt .fun-lift {
  padding: 4rem 0;
  background: var(--soft);
}

.page-funnel-opt .fun-lift__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-funnel-opt .fun-lift__stats {
  margin-top: 1.35rem;
  display: grid;
  gap: 0.75rem;
}

.page-funnel-opt .fun-lift__stats > div {
  padding: 1rem 1.15rem;
  background: var(--white);
  border-radius: 10px;
  border: 1px solid var(--border);
}

.page-funnel-opt .fun-lift__stats strong {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--green-dark);
  font-size: 1.05rem;
}

.page-funnel-opt .fun-lift__stats p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.page-funnel-opt .fun-includes {
  padding: 4rem 0;
  background: var(--cream);
}

.page-funnel-opt .fun-includes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-funnel-opt .fun-includes__grid li {
  display: flex;
  gap: 0.85rem;
  padding: 1.2rem 1.15rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.page-funnel-opt .fun-includes__grid strong {
  font-size: 0.85rem;
  font-weight: 900;
  color: var(--green);
}

.page-funnel-opt .fun-includes__grid h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-funnel-opt .fun-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-funnel-opt .fun-process {
  padding: 4rem 0;
  background: var(--white);
}

.page-funnel-opt .fun-process__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-funnel-opt .fun-process__list li {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.35rem 1.15rem;
  background: var(--soft);
  border-radius: 12px;
  border-bottom: 3px solid var(--green);
}

.page-funnel-opt .fun-process__list span {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-dark);
  color: var(--white);
  font-weight: 900;
  font-size: 0.85rem;
}

.page-funnel-opt .fun-process__list h3 {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
  color: var(--text);
}

.page-funnel-opt .fun-process__list p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-funnel-opt .fun-why {
  padding: 4rem 0;
  background: var(--soft);
}

.page-funnel-opt .fun-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.page-funnel-opt .fun-why__grid article {
  padding: 1.5rem 1.25rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.page-funnel-opt .fun-why__grid h3 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  color: var(--text);
}

.page-funnel-opt .fun-why__grid p {
  margin: 0;
  line-height: 1.55;
  color: var(--muted);
}

.page-funnel-opt .fun-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-funnel-opt .fun-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 2.5rem;
  align-items: start;
}

.page-funnel-opt .fun-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: var(--muted);
}

.page-funnel-opt .fun-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-funnel-opt .fun-faq__list { display: grid; gap: 0.65rem; }

.page-funnel-opt .fun-faq__item {
  border: 1px solid var(--border);
  background: var(--cream);
  border-radius: 10px;
}

.page-funnel-opt .fun-faq__item summary {
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}

.page-funnel-opt .fun-faq__item summary::-webkit-details-marker { display: none; }

.page-funnel-opt .fun-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem;
  line-height: 1.6;
  color: var(--muted);
}

.page-funnel-opt .fun-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}

.page-funnel-opt .fun-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 45%, var(--green-mid));
  color: var(--white);
  border-radius: 14px;
}

.page-funnel-opt .fun-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 28rem;
}

.page-funnel-opt .fun-cta__panel p {
  margin: 0;
  opacity: 0.9;
  max-width: 30rem;
}

.page-funnel-opt .fun-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-funnel-opt .fun-cta .fun-btn--solid {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-funnel-opt .fun-cta .fun-btn--solid:hover,
.page-funnel-opt .fun-cta .fun-btn--solid:focus-visible {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

@media (max-width: 1100px) {
  .page-funnel-opt .fun-hero__grid,
  .page-funnel-opt .fun-leaks__grid,
  .page-funnel-opt .fun-lift__grid,
  .page-funnel-opt .fun-faq__inner,
  .page-funnel-opt .fun-stages__media {
    grid-template-columns: 1fr;
  }

  .page-funnel-opt .fun-cascade {
    max-width: 36rem;
  }

  .page-funnel-opt .fun-stages__row,
  .page-funnel-opt .fun-includes__grid,
  .page-funnel-opt .fun-why__grid,
  .page-funnel-opt .fun-process__list {
    grid-template-columns: 1fr 1fr;
  }

  .page-funnel-opt .fun-lift__media { order: -1; }
}

@media (max-width: 640px) {
  .page-funnel-opt .fun-stages__row,
  .page-funnel-opt .fun-includes__grid,
  .page-funnel-opt .fun-why__grid,
  .page-funnel-opt .fun-process__list {
    grid-template-columns: 1fr;
  }

  .page-funnel-opt .fun-cta__panel {
    padding: 1.75rem 1.25rem;
  }
}

/* ===== Checkout Optimization — Checkout Rail (brand tokens) ===== */
.page-checkout-opt .chk-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-checkout-opt .chk-head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.page-checkout-opt .chk-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-checkout-opt .chk-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-checkout-opt .chk-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-checkout-opt .chk-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-checkout-opt .chk-btn:hover { transform: translateY(-2px); }

.page-checkout-opt .chk-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-checkout-opt .chk-btn--solid:hover,
.page-checkout-opt .chk-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-checkout-opt .chk-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-checkout-opt .chk-btn--outline:hover,
.page-checkout-opt .chk-btn--outline:focus-visible {
  background: var(--soft);
}

.page-checkout-opt .chk-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-checkout-opt .chk-btn--ghost:hover,
.page-checkout-opt .chk-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--white);
}

.page-checkout-opt .chk-hero {
  padding: 2.5rem 0 3.25rem;
  background:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(0, 179, 72, 0.1), transparent 50%),
    linear-gradient(180deg, var(--cream), var(--white));
  border-bottom: 1px solid var(--border);
}

.page-checkout-opt .chk-rail {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin-bottom: 2.25rem;
  padding: 0.85rem 1rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 92, 36, 0.06);
}

.page-checkout-opt .chk-rail__step {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--muted);
}

.page-checkout-opt .chk-rail__step span {
  width: 1.55rem;
  height: 1.55rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--soft);
  border: 1px solid var(--border);
  font-size: 0.75rem;
}

.page-checkout-opt .chk-rail__step--done {
  color: var(--green-dark);
}

.page-checkout-opt .chk-rail__step--done span {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.page-checkout-opt .chk-rail__step--active {
  color: var(--green-dark);
}

.page-checkout-opt .chk-rail__step--active span {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-checkout-opt .chk-rail__line {
  width: 1.5rem;
  height: 2px;
  background: var(--border);
}

.page-checkout-opt .chk-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-checkout-opt .chk-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--text);
}

.page-checkout-opt .chk-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: var(--green-dark);
}

.page-checkout-opt .chk-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-checkout-opt .chk-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-checkout-opt .chk-hero__media {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: 0 18px 40px rgba(0, 92, 36, 0.1);
}

.page-checkout-opt .chk-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

.page-checkout-opt .chk-friction {
  padding: 4rem 0;
  background: var(--white);
}

.page-checkout-opt .chk-friction__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.page-checkout-opt .chk-friction__grid article {
  padding: 1.35rem 1.15rem;
  background: var(--cream);
  border-radius: 12px;
  border-bottom: 3px solid #e07a3d;
}

.page-checkout-opt .chk-friction__grid h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-checkout-opt .chk-friction__grid p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-checkout-opt .chk-steps {
  padding: 4rem 0;
  background: var(--soft);
}

.page-checkout-opt .chk-steps__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-checkout-opt .chk-steps__list {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-checkout-opt .chk-steps__list li {
  padding: 0.9rem 1rem;
  background: var(--white);
  border-radius: 8px;
  border-left: 4px solid var(--green);
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.page-checkout-opt .chk-steps__list strong {
  color: var(--green-dark);
  margin-right: 0.35rem;
}

.page-checkout-opt .chk-steps__media,
.page-checkout-opt .chk-mobile__media,
.page-checkout-opt .chk-trust__fig {
  margin: 0;
}

.page-checkout-opt .chk-steps__media img,
.page-checkout-opt .chk-mobile__media img,
.page-checkout-opt .chk-trust__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.page-checkout-opt .chk-mobile {
  padding: 4rem 0;
  background: var(--white);
}

.page-checkout-opt .chk-mobile__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-checkout-opt .chk-check {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.6rem;
}

.page-checkout-opt .chk-check li {
  position: relative;
  padding: 0.75rem 0.9rem 0.75rem 2.15rem;
  background: var(--cream);
  border-radius: 8px;
  border: 1px solid var(--border);
  color: var(--text);
  line-height: 1.45;
}

.page-checkout-opt .chk-check li::before {
  content: "";
  position: absolute;
  left: 0.8rem;
  top: 1rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--green);
}

.page-checkout-opt .chk-trust {
  padding: 4rem 0;
  background: var(--cream);
}

.page-checkout-opt .chk-trust__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.page-checkout-opt .chk-trust__grid article {
  padding: 1.35rem 1.2rem;
  background: var(--white);
  border-radius: 12px;
  border: 1px solid var(--border);
  border-top: 4px solid var(--green);
}

.page-checkout-opt .chk-trust__grid h3 {
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
  color: var(--text);
}

.page-checkout-opt .chk-trust__grid p {
  margin: 0;
  font-size: 0.92rem;
  color: var(--muted);
  line-height: 1.5;
}

.page-checkout-opt .chk-includes {
  padding: 4rem 0;
  background: var(--white);
}

.page-checkout-opt .chk-includes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-checkout-opt .chk-includes__grid li {
  display: flex;
  gap: 0.85rem;
  padding: 1.2rem 1.15rem;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.page-checkout-opt .chk-includes__grid strong {
  font-size: 0.85rem;
  font-weight: 900;
  color: var(--green);
}

.page-checkout-opt .chk-includes__grid h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: var(--text);
}

.page-checkout-opt .chk-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-checkout-opt .chk-process {
  padding: 4rem 0;
  background: var(--soft);
}

.page-checkout-opt .chk-process__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-checkout-opt .chk-process__list li {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.35rem 1.15rem;
  background: var(--white);
  border-radius: 12px;
  border-bottom: 3px solid var(--green);
}

.page-checkout-opt .chk-process__list span {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-dark);
  color: var(--white);
  font-weight: 900;
  font-size: 0.85rem;
}

.page-checkout-opt .chk-process__list h3 {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
  color: var(--text);
}

.page-checkout-opt .chk-process__list p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-checkout-opt .chk-why {
  padding: 4rem 0;
  background: var(--white);
}

.page-checkout-opt .chk-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.page-checkout-opt .chk-why__grid article {
  padding: 1.5rem 1.25rem;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.page-checkout-opt .chk-why__grid h3 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  color: var(--text);
}

.page-checkout-opt .chk-why__grid p {
  margin: 0;
  line-height: 1.55;
  color: var(--muted);
}

.page-checkout-opt .chk-faq {
  padding: 4rem 0;
  background: var(--cream);
}

.page-checkout-opt .chk-faq__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 2.5rem;
  align-items: start;
}

.page-checkout-opt .chk-byline {
  margin-top: 1rem !important;
  font-size: 0.9rem;
  color: var(--muted);
}

.page-checkout-opt .chk-byline span {
  display: block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: var(--green-mid);
}

.page-checkout-opt .chk-faq__list { display: grid; gap: 0.65rem; }

.page-checkout-opt .chk-faq__item {
  border: 1px solid var(--border);
  background: var(--white);
  border-radius: 10px;
}

.page-checkout-opt .chk-faq__item summary {
  padding: 1rem 1.15rem;
  font-weight: 800;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}

.page-checkout-opt .chk-faq__item summary::-webkit-details-marker { display: none; }

.page-checkout-opt .chk-faq__item p {
  margin: 0;
  padding: 0 1.15rem 1.15rem;
  line-height: 1.6;
  color: var(--muted);
}

.page-checkout-opt .chk-cta {
  padding: 0 0 4.5rem;
  background: var(--cream);
}

.page-checkout-opt .chk-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 45%, var(--green-mid));
  color: var(--white);
  border-radius: 14px;
}

.page-checkout-opt .chk-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 28rem;
}

.page-checkout-opt .chk-cta__panel p {
  margin: 0;
  opacity: 0.9;
  max-width: 30rem;
}

.page-checkout-opt .chk-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-checkout-opt .chk-cta .chk-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-checkout-opt .chk-cta .chk-btn--solid:hover,
.page-checkout-opt .chk-cta .chk-btn--solid:focus-visible {
  background: var(--green-light);
  border-color: var(--green-light);
}

@media (max-width: 980px) {
  .page-checkout-opt .chk-hero__grid,
  .page-checkout-opt .chk-steps__grid,
  .page-checkout-opt .chk-mobile__grid,
  .page-checkout-opt .chk-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-checkout-opt .chk-friction__grid,
  .page-checkout-opt .chk-trust__grid,
  .page-checkout-opt .chk-includes__grid,
  .page-checkout-opt .chk-why__grid,
  .page-checkout-opt .chk-process__list {
    grid-template-columns: 1fr 1fr;
  }

  .page-checkout-opt .chk-rail {
    border-radius: 12px;
  }

  .page-checkout-opt .chk-mobile__media { order: -1; }
}

@media (max-width: 640px) {
  .page-checkout-opt .chk-friction__grid,
  .page-checkout-opt .chk-trust__grid,
  .page-checkout-opt .chk-includes__grid,
  .page-checkout-opt .chk-why__grid,
  .page-checkout-opt .chk-process__list {
    grid-template-columns: 1fr;
  }

  .page-checkout-opt .chk-cta__panel {
    padding: 1.75rem 1.25rem;
  }
}

/* ===== Shopify Store Setup — Storefront Bay (brand tokens) ===== */
.page-shopify-setup .sss-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-shopify-setup .sss-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-shopify-setup .sss-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-shopify-setup .sss-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-shopify-setup .sss-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-shopify-setup .sss-byline {
  margin-top: 0.85rem !important;
  font-size: 0.88rem;
  color: var(--muted);
}

.page-shopify-setup .sss-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-shopify-setup .sss-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-shopify-setup .sss-btn:hover { transform: translateY(-2px); }

.page-shopify-setup .sss-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-shopify-setup .sss-btn--solid:hover,
.page-shopify-setup .sss-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-shopify-setup .sss-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-shopify-setup .sss-btn--outline:hover,
.page-shopify-setup .sss-btn--outline:focus-visible {
  background: var(--soft);
}

.page-shopify-setup .sss-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-shopify-setup .sss-btn--ghost:hover,
.page-shopify-setup .sss-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

/* Hero — storefront bay */
.page-shopify-setup .sss-hero {
  padding: 3rem 0 3.25rem;
  background:
    radial-gradient(ellipse 70% 55% at 100% 0%, rgba(0, 179, 72, 0.16), transparent 55%),
    linear-gradient(165deg, #f7fcf8 0%, var(--cream) 45%, #fff 100%);
}

.page-shopify-setup .sss-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}

.page-shopify-setup .sss-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--green-dark);
}

.page-shopify-setup .sss-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: var(--text);
}

.page-shopify-setup .sss-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-shopify-setup .sss-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.35rem;
}

.page-shopify-setup .sss-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-shopify-setup .sss-hero__chips li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem 0.4rem 0.45rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-shopify-setup .sss-hero__chip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--soft);
  color: var(--green);
}

.page-shopify-setup .sss-hero__media {
  margin: 0;
}

.page-shopify-setup .sss-hero__bay {
  position: relative;
  padding: 1.25rem 1.25rem 1.1rem;
  background: linear-gradient(160deg, #003d18, var(--green-dark) 55%, #007a32);
  border-radius: 20px;
  box-shadow: 0 24px 48px rgba(0, 61, 24, 0.28);
}

.page-shopify-setup .sss-hero__bay-sign {
  position: absolute;
  top: -0.65rem;
  right: 1.25rem;
  padding: 0.35rem 0.85rem;
  background: var(--green);
  color: var(--white);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  border-radius: 6px;
  box-shadow: 0 8px 16px rgba(0, 179, 72, 0.4);
}

.page-shopify-setup .sss-hero__bay-frame {
  overflow: hidden;
  border-radius: 12px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  background: #02150c;
  aspect-ratio: 16 / 10;
}

.page-shopify-setup .sss-hero__bay-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Core features */
.page-shopify-setup .sss-core {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopify-setup .sss-core__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.page-shopify-setup .sss-core__card {
  padding: 1.75rem 1.35rem 1.5rem;
  background: var(--cream);
  border-radius: 16px;
  border: 1px solid var(--border);
  text-align: center;
}

.page-shopify-setup .sss-core__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  box-shadow: 0 10px 22px rgba(0, 179, 72, 0.28);
}

.page-shopify-setup .sss-core__card h3 {
  margin: 0 0 0.45rem;
  font-size: 1.1rem;
  color: var(--green-dark);
}

.page-shopify-setup .sss-core__card p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.55;
  color: var(--muted);
}

/* Service grid 4x2 */
.page-shopify-setup .sss-services {
  padding: 4rem 0;
  background:
    radial-gradient(ellipse 50% 60% at 0% 50%, rgba(0, 179, 72, 0.07), transparent 50%),
    var(--cream);
}

.page-shopify-setup .sss-services__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-shopify-setup .sss-service {
  position: relative;
  padding: 1.4rem 1.2rem 1.25rem;
  background: var(--white);
  border-radius: 14px;
  border: 1px solid var(--border);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-shopify-setup .sss-service:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 61, 24, 0.08);
}

.page-shopify-setup .sss-service__icon {
  display: inline-flex;
  color: var(--green);
  margin-bottom: 0.75rem;
}

.page-shopify-setup .sss-service h3 {
  margin: 0 0 0.4rem;
  font-size: 1.02rem;
  color: var(--green-dark);
}

.page-shopify-setup .sss-service p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--muted);
}

/* Performance dashboard */
.page-shopify-setup .sss-perf {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopify-setup .sss-perf__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 2.25rem;
  align-items: start;
}

.page-shopify-setup .sss-perf__media {
  margin: 1.5rem 0 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.12);
}

.page-shopify-setup .sss-perf__media img {
  width: 100%;
  height: auto;
  display: block;
}

.page-shopify-setup .sss-perf__board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
  padding: 1rem;
  background:
    linear-gradient(160deg, #0a2414 0%, #12321c 45%, #0d2818 100%);
  border-radius: 18px;
  box-shadow: 0 22px 44px rgba(0, 61, 24, 0.22);
}

.page-shopify-setup .sss-gauge-card,
.page-shopify-setup .sss-mobile-card,
.page-shopify-setup .sss-check-card,
.page-shopify-setup .sss-funnel-card {
  padding: 1rem 1rem 0.9rem;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 12px;
}

.page-shopify-setup .sss-gauge-card h3,
.page-shopify-setup .sss-mobile-card h3,
.page-shopify-setup .sss-check-card h3,
.page-shopify-setup .sss-funnel-card h3 {
  margin: 0 0 0.65rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
}

.page-shopify-setup .sss-gauge {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 5.5rem;
}

.page-shopify-setup .sss-gauge__svg {
  width: 100%;
  max-width: 140px;
  height: auto;
}

.page-shopify-setup .sss-gauge__value {
  position: absolute;
  bottom: 0.15rem;
  text-align: center;
  line-height: 1.1;
}

.page-shopify-setup .sss-gauge__value strong {
  display: block;
  font-size: 1.45rem;
  font-weight: 900;
  color: var(--green-dark);
}

.page-shopify-setup .sss-gauge__value span {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.page-shopify-setup .sss-mobile-bar {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.page-shopify-setup .sss-mobile-bar__icon {
  display: inline-flex;
  color: var(--green);
}

.page-shopify-setup .sss-mobile-bar__track {
  flex: 1;
  height: 0.55rem;
  border-radius: 999px;
  background: #e5efe8;
  overflow: hidden;
}

.page-shopify-setup .sss-mobile-bar__track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), #2fd46a);
}

.page-shopify-setup .sss-mobile-bar strong {
  font-size: 0.9rem;
  color: var(--green-dark);
}

.page-shopify-setup .sss-check-ticks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.page-shopify-setup .sss-check-ticks li {
  position: relative;
  padding-left: 1.45rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text);
}

.page-shopify-setup .sss-check-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.65rem no-repeat;
}

.page-shopify-setup .sss-funnel-card {
  grid-column: 1 / -1;
}

.page-shopify-setup .sss-funnel {
  width: 100%;
  max-width: 22rem;
  height: auto;
  display: block;
  margin: 0 auto;
  overflow: visible;
}

/* Improvement metrics */
.page-shopify-setup .sss-metrics {
  padding: 4rem 0;
  background: var(--cream);
}

.page-shopify-setup .sss-metrics__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-shopify-setup .sss-metric {
  padding: 1.35rem 1.15rem 1.1rem;
  background: var(--white);
  border-radius: 14px;
  border: 1px solid var(--border);
  text-align: center;
}

.page-shopify-setup .sss-metric__label {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.page-shopify-setup .sss-metric__val {
  display: block;
  margin-bottom: 0.65rem;
  font-size: clamp(1.75rem, 2.5vw, 2.15rem);
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.page-shopify-setup .sss-metric__bars {
  width: 100%;
  max-width: 130px;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* Process timeline */
.page-shopify-setup .sss-process {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopify-setup .sss-process__track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}

.page-shopify-setup .sss-process__track::before {
  content: "";
  position: absolute;
  top: 1.35rem;
  left: 4%;
  right: 4%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--green), transparent);
  opacity: 0.35;
  pointer-events: none;
}

.page-shopify-setup .sss-process__track li {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 0.35rem;
}

.page-shopify-setup .sss-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.7rem;
  height: 2.7rem;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.82rem;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(0, 179, 72, 0.28);
}

.page-shopify-setup .sss-process__track h3 {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  color: var(--green-dark);
}

.page-shopify-setup .sss-process__track p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--muted);
}

/* Before vs After */
.page-shopify-setup .sss-compare {
  padding: 4rem 0;
  background:
    radial-gradient(ellipse 45% 50% at 100% 0%, rgba(0, 179, 72, 0.08), transparent 55%),
    var(--cream);
}

.page-shopify-setup .sss-compare__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.page-shopify-setup .sss-compare__col {
  padding: 1.5rem 1.35rem;
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--border);
}

.page-shopify-setup .sss-compare__col--before {
  border-top: 4px solid #9aa89f;
}

.page-shopify-setup .sss-compare__col--after {
  border-top: 4px solid var(--green);
}

.page-shopify-setup .sss-compare__col h3 {
  margin: 0 0 0.85rem;
  font-size: 1.1rem;
  color: var(--green-dark);
}

.page-shopify-setup .sss-compare__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-shopify-setup .sss-compare__col li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-shopify-setup .sss-compare__col--before li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.7rem;
  height: 2px;
  background: #9aa89f;
}

.page-shopify-setup .sss-compare__col--after li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: inset 0 0 0 2px #fff;
}

.page-shopify-setup .sss-compare__media {
  grid-column: 1 / -1;
  margin: 0.35rem 0 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.12);
}

.page-shopify-setup .sss-compare__media img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 360px;
  object-fit: cover;
}

/* Gallery */
.page-shopify-setup .sss-gallery {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopify-setup .sss-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.page-shopify-setup .sss-gallery__grid figure {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: var(--cream);
  border: 1px solid var(--border);
}

.page-shopify-setup .sss-gallery__grid img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

.page-shopify-setup .sss-gallery__grid figcaption {
  padding: 0.75rem 1rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
}

/* Why choose us */
.page-shopify-setup .sss-why {
  padding: 4rem 0;
  background: var(--cream);
}

.page-shopify-setup .sss-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-shopify-setup .sss-why__grid article {
  padding: 1.5rem 1.25rem;
  background: linear-gradient(180deg, var(--white), #f7fcf8);
  border-radius: 14px;
  border: 1px solid var(--border);
}

.page-shopify-setup .sss-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}

.page-shopify-setup .sss-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.94rem;
}

/* FAQ */
.page-shopify-setup .sss-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopify-setup .sss-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-shopify-setup .sss-faq__list {
  display: grid;
  gap: 0.75rem;
}

.page-shopify-setup .sss-faq__item {
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.35rem 1.1rem 0.35rem;
}

.page-shopify-setup .sss-faq__item summary {
  cursor: pointer;
  padding: 0.85rem 0;
  font-weight: 800;
  color: var(--green-dark);
  list-style: none;
}

.page-shopify-setup .sss-faq__item summary::-webkit-details-marker { display: none; }

.page-shopify-setup .sss-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.65;
}

/* CTA */
.page-shopify-setup .sss-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}

.page-shopify-setup .sss-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 40%, var(--green));
  color: var(--white);
  border-radius: 18px;
}

.page-shopify-setup .sss-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 28rem;
}

.page-shopify-setup .sss-cta__panel p {
  margin: 0;
  opacity: 0.92;
  max-width: 30rem;
}

.page-shopify-setup .sss-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-shopify-setup .sss-cta .sss-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-shopify-setup .sss-cta .sss-btn--solid:hover,
.page-shopify-setup .sss-cta .sss-btn--solid:focus-visible {
  background: var(--cream);
  border-color: var(--cream);
  color: var(--green-dark);
}

@media (prefers-reduced-motion: reduce) {
  .page-shopify-setup .sss-btn,
  .page-shopify-setup .sss-service {
    transition: none;
  }

  .page-shopify-setup .sss-btn:hover,
  .page-shopify-setup .sss-service:hover {
    transform: none;
  }
}

@media (max-width: 1100px) {
  .page-shopify-setup .sss-services__grid,
  .page-shopify-setup .sss-metrics__grid,
  .page-shopify-setup .sss-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-shopify-setup .sss-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem 0.75rem;
  }

  .page-shopify-setup .sss-process__track::before { display: none; }
}

@media (max-width: 980px) {
  .page-shopify-setup .sss-hero__grid,
  .page-shopify-setup .sss-perf__grid,
  .page-shopify-setup .sss-faq__inner,
  .page-shopify-setup .sss-core__grid {
    grid-template-columns: 1fr;
  }

  .page-shopify-setup .sss-gallery__grid {
    grid-template-columns: 1fr;
  }

  .page-shopify-setup .sss-gallery__grid img {
    height: 220px;
  }
}

@media (max-width: 640px) {
  .page-shopify-setup .sss-services__grid,
  .page-shopify-setup .sss-metrics__grid,
  .page-shopify-setup .sss-why__grid,
  .page-shopify-setup .sss-compare__grid,
  .page-shopify-setup .sss-process__track,
  .page-shopify-setup .sss-perf__board {
    grid-template-columns: 1fr;
  }

  .page-shopify-setup .sss-funnel-card {
    grid-column: auto;
  }

  .page-shopify-setup .sss-cta__panel {
    padding: 1.75rem 1.25rem;
  }

  .page-shopify-setup .sss-hero__chips li {
    flex: 1 1 calc(50% - 0.55rem);
  }
}

/* ===== Product Listing Optimization — Listing Deck / PDP Anatomy (brand tokens) ===== */
.page-product-listing {
  --plo-green: #00b348;
  --plo-cream: var(--cream);
  font-family: var(--font);
}

.page-product-listing .plo-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-product-listing .plo-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-product-listing .plo-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-product-listing .plo-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-product-listing .plo-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-product-listing .plo-byline {
  margin-top: 0.85rem !important;
  font-size: 0.88rem;
  color: var(--muted);
}

.page-product-listing .plo-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-product-listing .plo-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 10px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-product-listing .plo-btn:hover { transform: translateY(-2px); }

.page-product-listing .plo-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-product-listing .plo-btn--solid:hover,
.page-product-listing .plo-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-product-listing .plo-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-product-listing .plo-btn--outline:hover,
.page-product-listing .plo-btn--outline:focus-visible {
  background: var(--soft);
}

.page-product-listing .plo-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-product-listing .plo-btn--ghost:hover,
.page-product-listing .plo-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

/* Hero — listing scoreboard on plo-1 */
.page-product-listing .plo-hero {
  padding: 3rem 0 3.5rem;
  background:
    radial-gradient(ellipse 70% 55% at 85% 20%, rgba(0, 179, 72, 0.12), transparent 60%),
    linear-gradient(165deg, #fff 0%, var(--cream) 48%, #e8f6ec 100%);
}

.page-product-listing .plo-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}

.page-product-listing .plo-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--green-dark);
}

.page-product-listing .plo-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: var(--text);
}

.page-product-listing .plo-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-product-listing .plo-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-product-listing .plo-scoreboard {
  position: relative;
}

.page-product-listing .plo-scoreboard__stage {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 22rem;
  box-shadow: 0 24px 48px rgba(0, 61, 24, 0.14);
}

.page-product-listing .plo-scoreboard__photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
}

.page-product-listing .plo-scoreboard__card {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: min(100%, 17.5rem);
  padding: 1rem 1.1rem 1.15rem;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 179, 72, 0.25);
  border-radius: 14px;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(6px);
  animation: plo-card-in 0.7s ease both;
}

.page-product-listing .plo-scoreboard__label {
  margin: 0 0 0.65rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-product-listing .plo-scoreboard__sku span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.page-product-listing .plo-scoreboard__sku strong {
  display: block;
  margin: 0.15rem 0 0.85rem;
  font-size: 1.05rem;
  color: var(--green-dark);
}

.page-product-listing .plo-scoreboard__meters {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.page-product-listing .plo-scoreboard__meters li {
  display: grid;
  grid-template-columns: 3.2rem 1fr 1.6rem;
  gap: 0.45rem;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text);
}

.page-product-listing .plo-scoreboard__meters i {
  display: block;
  height: 0.45rem;
  border-radius: 999px;
  background: var(--soft);
  overflow: hidden;
}

.page-product-listing .plo-scoreboard__meters em {
  display: block;
  height: 100%;
  width: var(--plo-meter, 50%);
  background: linear-gradient(90deg, var(--green-mid), var(--green));
  border-radius: inherit;
  animation: plo-meter-fill 0.9s ease both;
}

.page-product-listing .plo-scoreboard__meters b {
  text-align: right;
  color: var(--green-dark);
  font-variant-numeric: tabular-nums;
}

.page-product-listing .plo-scoreboard__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0.85rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--border);
}

.page-product-listing .plo-scoreboard__total span {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.page-product-listing .plo-scoreboard__total strong {
  font-size: 1.55rem;
  font-weight: 900;
  color: var(--green);
}

@keyframes plo-card-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes plo-meter-fill {
  from { width: 0; }
}

/* PDP anatomy board */
.page-product-listing .plo-anatomy {
  padding: 4.25rem 0;
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(0, 179, 72, 0.08), transparent 55%),
    var(--white);
}

.page-product-listing .plo-anatomy__board {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  grid-template-areas:
    "images title"
    "images bullets"
    "attrs attrs";
  gap: 1.1rem;
  padding: 1.5rem 1.5rem 1.5rem 2.75rem;
  background:
    linear-gradient(165deg, #f7fcf8 0%, var(--cream) 45%, #fff 100%);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: 0 24px 48px rgba(0, 61, 24, 0.08);
  overflow: hidden;
}

.page-product-listing .plo-anatomy__board::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(0, 179, 72, 0.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(0, 179, 72, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
  opacity: 0.7;
}

.page-product-listing .plo-anatomy__rail {
  position: absolute;
  left: 0.85rem;
  top: 1.5rem;
  bottom: 1.5rem;
  width: 1.6rem;
  z-index: 1;
}

.page-product-listing .plo-anatomy__rail::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0.4rem;
  bottom: 0.4rem;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, var(--green-light), var(--green), var(--green-dark));
  border-radius: 999px;
  opacity: 0.55;
}

.page-product-listing .plo-anatomy__pin {
  position: absolute;
  left: 50%;
  top: var(--pin);
  transform: translate(-50%, -50%);
  width: 1.55rem;
  height: 1.55rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.72rem;
  font-weight: 900;
  box-shadow: 0 0 0 4px rgba(0, 179, 72, 0.18);
}

.page-product-listing .plo-anatomy__part {
  position: relative;
  z-index: 1;
  padding: 1.15rem 1.2rem 1.25rem;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(0, 61, 24, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.page-product-listing .plo-anatomy__part:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 179, 72, 0.45);
  box-shadow: 0 16px 36px rgba(0, 61, 24, 0.12);
}

.page-product-listing .plo-anatomy__part--images { grid-area: images; }
.page-product-listing .plo-anatomy__part--title { grid-area: title; }
.page-product-listing .plo-anatomy__part--bullets { grid-area: bullets; }
.page-product-listing .plo-anatomy__part--attrs { grid-area: attrs; }

.page-product-listing .plo-anatomy__part-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.95rem;
}

.page-product-listing .plo-anatomy__badge {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(145deg, var(--green), var(--green-dark));
  color: var(--white);
  font-size: 0.85rem;
  font-weight: 900;
}

.page-product-listing .plo-anatomy__part-head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--green-dark);
  line-height: 1.2;
}

.page-product-listing .plo-anatomy__role {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.page-product-listing .plo-anatomy__score {
  margin-left: auto;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  background: var(--soft);
  border: 1px solid rgba(0, 179, 72, 0.2);
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--green);
  white-space: nowrap;
}

.page-product-listing .plo-anatomy__gallery {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.page-product-listing .plo-anatomy__hero {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  min-height: 11rem;
  background: var(--cream);
  box-shadow: inset 0 0 0 1px rgba(0, 92, 36, 0.08);
}

.page-product-listing .plo-anatomy__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 11rem;
  transition: transform 0.5s ease;
}

.page-product-listing .plo-anatomy__part--images:hover .plo-anatomy__hero img {
  transform: scale(1.04);
}

.page-product-listing .plo-anatomy__hero figcaption,
.page-product-listing .plo-anatomy__thumbs figcaption {
  position: absolute;
  left: 0.45rem;
  bottom: 0.45rem;
  padding: 0.2rem 0.45rem;
  border-radius: 6px;
  background: rgba(2, 21, 12, 0.78);
  color: var(--white);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page-product-listing .plo-anatomy__thumbs {
  display: grid;
  gap: 0.5rem;
}

.page-product-listing .plo-anatomy__thumbs figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  min-height: 3.35rem;
}

.page-product-listing .plo-anatomy__swatch {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 3.35rem;
}

.page-product-listing .plo-anatomy__swatch--detail {
  background:
    radial-gradient(circle at 30% 40%, rgba(255, 255, 255, 0.45), transparent 40%),
    linear-gradient(135deg, #7ed9a0, #00963c);
}

.page-product-listing .plo-anatomy__swatch--life {
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.2), transparent 45%),
    linear-gradient(135deg, #c9e8d4, #4dd17a 55%, #007a32);
}

.page-product-listing .plo-anatomy__swatch--scale {
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, 0.12),
      rgba(255, 255, 255, 0.12) 6px,
      transparent 6px,
      transparent 12px
    ),
    linear-gradient(145deg, #005c24, #00b348);
}

.page-product-listing .plo-anatomy__note {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--muted);
}

.page-product-listing .plo-anatomy__title-mock {
  padding: 0.9rem 1rem;
  margin-bottom: 0.75rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #f3faf5, #fff);
  border: 1px dashed rgba(0, 179, 72, 0.35);
}

.page-product-listing .plo-anatomy__title-mock strong {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 1.05rem;
  line-height: 1.35;
  color: var(--green-dark);
}

.page-product-listing .plo-anatomy__chips {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.page-product-listing .plo-anatomy__chips li {
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  background: var(--soft);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--green-dark);
}

.page-product-listing .plo-anatomy__bullets {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-product-listing .plo-anatomy__bullets li {
  position: relative;
  padding: 0.7rem 0.8rem 0.7rem 2.35rem;
  border-radius: 10px;
  background: var(--cream);
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--muted);
}

.page-product-listing .plo-anatomy__bullets li::before {
  content: "";
  position: absolute;
  left: 0.7rem;
  top: 0.85rem;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.65rem no-repeat;
}

.page-product-listing .plo-anatomy__bullets li span {
  display: block;
  font-weight: 800;
  color: var(--green-dark);
}

.page-product-listing .plo-anatomy__attrs {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.page-product-listing .plo-anatomy__attrs div {
  padding: 0.85rem 0.75rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #f3faf5, #fff);
  border: 1px solid rgba(0, 179, 72, 0.16);
  text-align: center;
}

.page-product-listing .plo-anatomy__attrs dt {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-product-listing .plo-anatomy__attrs dd {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--green-dark);
}

/* Score meters */
.page-product-listing .plo-meters {
  padding: 4rem 0;
  background: var(--cream);
}

.page-product-listing .plo-meters__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-product-listing .plo-meter-card {
  text-align: center;
  padding: 1.5rem 1.1rem 1.35rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.page-product-listing .plo-meter-card__ring {
  --plo-score: 50;
  width: 5.5rem;
  height: 5.5rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle closest-side, var(--white) 72%, transparent 73%),
    conic-gradient(var(--green) calc(var(--plo-score) * 1%), var(--soft) 0);
  animation: plo-card-in 0.6s ease both;
}

.page-product-listing .plo-meter-card__ring span {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--green-dark);
  font-variant-numeric: tabular-nums;
}

.page-product-listing .plo-meter-card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: var(--green-dark);
}

.page-product-listing .plo-meter-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

/* A/B comparison */
.page-product-listing .plo-ab {
  padding: 4rem 0;
  background: var(--white);
}

.page-product-listing .plo-ab__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1.25rem;
  align-items: stretch;
}

.page-product-listing .plo-ab__vs {
  align-self: center;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page-product-listing .plo-ab-card {
  padding: 1.25rem;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--cream);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.page-product-listing .plo-ab-card--b {
  background: linear-gradient(180deg, #eef8f1, #fff);
  border-color: var(--green-light);
  box-shadow: 0 14px 32px rgba(0, 179, 72, 0.12);
}

.page-product-listing .plo-ab-card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-product-listing .plo-ab-card header span {
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-dark);
}

.page-product-listing .plo-ab-card header em {
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted);
}

.page-product-listing .plo-ab-card__media {
  height: 7rem;
  border-radius: 10px;
  background: linear-gradient(135deg, #d9e2dc, #b8c9be);
}

.page-product-listing .plo-ab-card__media--strong {
  background: linear-gradient(135deg, var(--green-light), var(--green-mid) 55%, var(--green));
}

.page-product-listing .plo-ab-card h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--text);
}

.page-product-listing .plo-ab-card ul {
  margin: 0;
  padding: 0 0 0 1.1rem;
  display: grid;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.page-product-listing .plo-ab-card__score {
  margin: auto 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--muted);
}

.page-product-listing .plo-ab-card__score strong {
  margin-left: 0.35rem;
  font-size: 1.2rem;
  color: var(--green-dark);
}

.page-product-listing .plo-ab-card--b .plo-ab-card__score strong {
  color: var(--green);
}

/* Listing sprint */
.page-product-listing .plo-sprint {
  padding: 4rem 0;
  background: var(--cream);
}

.page-product-listing .plo-sprint__track {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  counter-reset: plo-sprint;
}

.page-product-listing .plo-sprint__track li {
  position: relative;
  counter-increment: plo-sprint;
  padding: 1.35rem 1.15rem 1.35rem 1.35rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-left: none;
}

.page-product-listing .plo-sprint__track li:first-child {
  border-left: 1px solid var(--border);
  border-radius: 14px 0 0 14px;
}

.page-product-listing .plo-sprint__track li:last-child {
  border-radius: 0 14px 14px 0;
}

.page-product-listing .plo-sprint__track li::before {
  content: counter(plo-sprint);
  position: absolute;
  top: -0.7rem;
  left: 1.15rem;
  width: 1.6rem;
  height: 1.6rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.75rem;
  font-weight: 900;
}

.page-product-listing .plo-sprint__day {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-product-listing .plo-sprint__track strong {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 1.02rem;
  color: var(--green-dark);
}

.page-product-listing .plo-sprint__track p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

/* Before / after */
.page-product-listing .plo-ba {
  padding: 4rem 0;
  background: var(--white);
}

.page-product-listing .plo-ba__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.page-product-listing .plo-ba-card {
  padding: 1.5rem 1.35rem;
  border-radius: 16px;
  border: 1px solid var(--border);
}

.page-product-listing .plo-ba-card--weak {
  background: #f7f7f5;
  border-color: #d8d8d2;
}

.page-product-listing .plo-ba-card--strong {
  background: linear-gradient(165deg, #eef8f1, #fff);
  border-color: var(--green-light);
}

.page-product-listing .plo-ba-card__label {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-product-listing .plo-ba-card--weak .plo-ba-card__label { color: #7a7368; }
.page-product-listing .plo-ba-card--strong .plo-ba-card__label { color: var(--green-dark); }

.page-product-listing .plo-ba-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-product-listing .plo-ba-card li {
  position: relative;
  padding-left: 1.45rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--text);
}

.page-product-listing .plo-ba-card--weak li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 2px;
  background: #c4bbb0;
}

.page-product-listing .plo-ba-card--strong li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 2px;
  background: var(--green);
}

/* Gallery */
.page-product-listing .plo-gallery {
  padding: 4rem 0;
  background: var(--cream);
}

.page-product-listing .plo-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-product-listing .plo-gallery__grid figure {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--border);
  box-shadow: 0 12px 28px rgba(0, 61, 24, 0.08);
  transition: transform 0.25s ease;
}

.page-product-listing .plo-gallery__grid figure:hover {
  transform: translateY(-4px);
}

.page-product-listing .plo-gallery__grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.page-product-listing .plo-gallery__grid figcaption {
  padding: 0.75rem 0.9rem;
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--green-dark);
}

/* Why */
.page-product-listing .plo-why {
  padding: 4rem 0;
  background: var(--white);
}

.page-product-listing .plo-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.page-product-listing .plo-why__grid article {
  padding: 1.5rem 1.25rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, var(--cream), #fff);
}

.page-product-listing .plo-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}

.page-product-listing .plo-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

/* FAQ */
.page-product-listing .plo-faq {
  padding: 4rem 0;
  background: var(--cream);
}

.page-product-listing .plo-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-product-listing .plo-faq__list {
  display: grid;
  gap: 0.75rem;
}

.page-product-listing .plo-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.35rem 1.1rem;
}

.page-product-listing .plo-faq__item summary {
  cursor: pointer;
  padding: 0.85rem 0;
  font-weight: 800;
  color: var(--green-dark);
  list-style: none;
}

.page-product-listing .plo-faq__item summary::-webkit-details-marker { display: none; }

.page-product-listing .plo-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.65;
}

/* CTA */
.page-product-listing .plo-cta {
  padding: 0 0 4.5rem;
  background: var(--cream);
}

.page-product-listing .plo-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 42%, var(--green));
  color: var(--white);
  border-radius: 16px;
}

.page-product-listing .plo-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 28rem;
}

.page-product-listing .plo-cta__panel p {
  margin: 0;
  opacity: 0.92;
  max-width: 30rem;
}

.page-product-listing .plo-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-product-listing .plo-cta .plo-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-product-listing .plo-cta .plo-btn--solid:hover,
.page-product-listing .plo-cta .plo-btn--solid:focus-visible {
  background: var(--cream);
  border-color: var(--cream);
}

@media (max-width: 980px) {
  .page-product-listing .plo-hero__grid,
  .page-product-listing .plo-faq__inner,
  .page-product-listing .plo-anatomy__board,
  .page-product-listing .plo-ab__grid,
  .page-product-listing .plo-ba__grid {
    grid-template-columns: 1fr;
  }

  .page-product-listing .plo-anatomy__board {
    grid-template-areas:
      "images"
      "title"
      "bullets"
      "attrs";
    padding: 1.25rem;
  }

  .page-product-listing .plo-anatomy__rail {
    display: none;
  }

  .page-product-listing .plo-anatomy__gallery {
    grid-template-columns: 1fr;
  }

  .page-product-listing .plo-anatomy__thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-product-listing .plo-anatomy__attrs {
    grid-template-columns: 1fr 1fr;
  }

  .page-product-listing .plo-anatomy__part-head {
    flex-wrap: wrap;
  }

  .page-product-listing .plo-anatomy__score {
    margin-left: 0;
  }

  .page-product-listing .plo-ab__vs {
    margin: 0 auto;
  }

  .page-product-listing .plo-meters__grid,
  .page-product-listing .plo-sprint__track,
  .page-product-listing .plo-gallery__grid,
  .page-product-listing .plo-why__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-product-listing .plo-sprint__track li,
  .page-product-listing .plo-sprint__track li:first-child,
  .page-product-listing .plo-sprint__track li:last-child {
    border: 1px solid var(--border);
    border-radius: 14px;
  }

  .page-product-listing .plo-scoreboard__stage {
    overflow: visible;
    background: transparent;
  }

  .page-product-listing .plo-scoreboard__photo {
    border-radius: 18px;
    min-height: 14rem;
  }

  .page-product-listing .plo-scoreboard__card {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 2rem);
    margin: -3.5rem auto 0;
  }
}

@media (max-width: 640px) {
  .page-product-listing .plo-meters__grid,
  .page-product-listing .plo-sprint__track,
  .page-product-listing .plo-gallery__grid,
  .page-product-listing .plo-why__grid {
    grid-template-columns: 1fr;
  }

  .page-product-listing .plo-anatomy__thumbs {
    grid-template-columns: 1fr;
  }

  .page-product-listing .plo-anatomy__attrs {
    grid-template-columns: 1fr;
  }

  .page-product-listing .plo-cta__panel { padding: 1.75rem 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .page-product-listing .plo-btn:hover,
  .page-product-listing .plo-gallery__grid figure:hover {
    transform: none;
  }

  .page-product-listing .plo-scoreboard__card,
  .page-product-listing .plo-scoreboard__meters em,
  .page-product-listing .plo-meter-card__ring {
    animation: none;
  }
}

/* ===== Google Merchant Center — Feed Health Console (brand tokens) ===== */
.page-gmc {
  --gmc-ok: #00b348;
  --gmc-warn: #e07a3d;
  --gmc-bad: #d64545;
  --gmc-med: #c9a227;
  --gmc-ink: #04180c;
  --gmc-panel: #0a2414;
}

.page-gmc .gmc-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-gmc .gmc-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-gmc .gmc-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-gmc .gmc-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-gmc .gmc-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-gmc .gmc-byline {
  margin-top: 0.85rem !important;
  font-size: 0.88rem;
  color: var(--muted);
}

.page-gmc .gmc-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-gmc .gmc-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 8px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-gmc .gmc-btn:hover { transform: translateY(-2px); }

.page-gmc .gmc-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-gmc .gmc-btn--solid:hover,
.page-gmc .gmc-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-gmc .gmc-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-gmc .gmc-btn--outline:hover,
.page-gmc .gmc-btn--outline:focus-visible {
  background: var(--soft);
}

.page-gmc .gmc-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-gmc .gmc-btn--ghost:hover,
.page-gmc .gmc-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

/* Hero — Feed Health Console */
.page-gmc .gmc-hero {
  padding: 3rem 0 3.5rem;
  background:
    radial-gradient(ellipse 50% 45% at 85% 15%, rgba(0, 179, 72, 0.22), transparent 55%),
    radial-gradient(ellipse 40% 35% at 10% 80%, rgba(77, 209, 122, 0.08), transparent 50%),
    linear-gradient(165deg, var(--gmc-ink) 0%, #003018 52%, #005c24 100%);
  color: var(--cream);
  overflow: hidden;
}

.page-gmc .gmc-hero .gmc-kicker { color: var(--green-light); }

.page-gmc .gmc-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}

.page-gmc .gmc-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--white);
}

.page-gmc .gmc-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: rgba(243, 250, 245, 0.9);
}

.page-gmc .gmc-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(243, 250, 245, 0.82);
}

.page-gmc .gmc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-gmc .gmc-hero .gmc-btn--outline {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-gmc .gmc-hero .gmc-btn--outline:hover,
.page-gmc .gmc-hero .gmc-btn--outline:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--white);
}

.page-gmc .gmc-console {
  padding: 1rem 1.15rem 1.15rem;
  background:
    linear-gradient(160deg, rgba(10, 36, 20, 0.95), rgba(4, 24, 12, 0.98));
  border: 1px solid rgba(77, 209, 122, 0.4);
  border-radius: 14px;
  box-shadow:
    0 0 0 1px rgba(0, 179, 72, 0.12),
    0 28px 56px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);
}

.page-gmc .gmc-console__bar {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.page-gmc .gmc-console__pulse {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 0 rgba(0, 179, 72, 0.55);
  animation: gmc-pulse 2s ease-out infinite;
}

@keyframes gmc-pulse {
  0% { box-shadow: 0 0 0 0 rgba(0, 179, 72, 0.55); }
  70% { box-shadow: 0 0 0 10px rgba(0, 179, 72, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 179, 72, 0); }
}

.page-gmc .gmc-console__label {
  margin: 0;
  flex: 1;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-light);
}

.page-gmc .gmc-console__stamp {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gmc-ink);
  background: var(--green-light);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}

.page-gmc .gmc-console__meters {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.1rem;
}

.page-gmc .gmc-meter__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.3rem;
}

.page-gmc .gmc-meter span {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(243, 250, 245, 0.8);
}

.page-gmc .gmc-meter strong {
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--white);
  font-variant-numeric: tabular-nums;
}

.page-gmc .gmc-meter i {
  display: block;
  position: relative;
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.page-gmc .gmc-meter i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--p, 50%);
  border-radius: inherit;
  background: var(--green);
  transition: width 0.6s ease;
}

.page-gmc .gmc-meter--warn i::after { background: var(--gmc-warn); }
.page-gmc .gmc-meter--bad i::after { background: var(--gmc-bad); }

.page-gmc .gmc-console__preview {
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  aspect-ratio: 16 / 9;
}

.page-gmc .gmc-console__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Issue severity cards */
.page-gmc .gmc-issues {
  padding: 4rem 0;
  background:
    linear-gradient(180deg, #fff 0%, var(--cream) 100%);
}

.page-gmc .gmc-issues__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-gmc .gmc-issue {
  padding: 1.35rem 1.2rem;
  background: var(--white);
  border-radius: 12px;
  border: 1px solid var(--border);
  border-top: 3px solid var(--green);
  box-shadow: 0 8px 24px rgba(0, 61, 24, 0.05);
}

.page-gmc .gmc-issue--crit { border-top-color: var(--gmc-bad); }
.page-gmc .gmc-issue--high { border-top-color: var(--gmc-warn); }
.page-gmc .gmc-issue--med { border-top-color: var(--gmc-med); }

.page-gmc .gmc-issue__sev {
  display: inline-block;
  margin-bottom: 0.7rem;
  padding: 0.2rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 4px;
  background: var(--soft);
  color: var(--green-dark);
}

.page-gmc .gmc-issue--crit .gmc-issue__sev {
  background: rgba(214, 69, 69, 0.12);
  color: #a32e2e;
}

.page-gmc .gmc-issue--high .gmc-issue__sev {
  background: rgba(224, 122, 61, 0.14);
  color: #a85520;
}

.page-gmc .gmc-issue--med .gmc-issue__sev {
  background: rgba(201, 162, 39, 0.16);
  color: #8a6e12;
}

.page-gmc .gmc-issue h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: var(--green-dark);
}

.page-gmc .gmc-issue p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--muted);
}

/* Feed setup split */
.page-gmc .gmc-feed {
  padding: 4rem 0;
  background: var(--white);
}

.page-gmc .gmc-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}

.page-gmc .gmc-split__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  color: var(--green-dark);
}

.page-gmc .gmc-split__copy > p {
  margin: 0 0 1.15rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-gmc .gmc-ticks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-gmc .gmc-ticks li {
  position: relative;
  padding-left: 1.55rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.45;
}

.page-gmc .gmc-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 2px;
  background: var(--green);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.page-gmc .gmc-split__media {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(0, 179, 72, 0.18);
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.12);
}

.page-gmc .gmc-split__media img {
  width: 100%;
  height: auto;
  display: block;
}

/* Diagnostics board */
.page-gmc .gmc-diag {
  padding: 4rem 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(0, 179, 72, 0.08), transparent 60%),
    var(--cream);
}

.page-gmc .gmc-diag__board {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 1.5rem;
  padding: 1.75rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0, 61, 24, 0.06);
}

.page-gmc .gmc-diag__donuts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  padding: 1rem;
  background:
    linear-gradient(160deg, var(--gmc-panel), var(--gmc-ink));
  border-radius: 12px;
}

.page-gmc .gmc-donut {
  margin: 0;
  text-align: center;
  color: var(--cream);
}

.page-gmc .gmc-donut svg {
  display: block;
  margin: 0 auto 0.5rem;
  transform: rotate(-90deg);
}

.page-gmc .gmc-donut__track {
  fill: none;
  stroke: rgba(255, 255, 255, 0.12);
  stroke-width: 10;
}

.page-gmc .gmc-donut__arc {
  fill: none;
  stroke-width: 10;
  stroke-linecap: round;
}

.page-gmc .gmc-donut__arc--ok { stroke: var(--green); }
.page-gmc .gmc-donut__arc--warn { stroke: var(--gmc-warn); }
.page-gmc .gmc-donut__arc--bad { stroke: var(--gmc-bad); }

.page-gmc .gmc-donut figcaption {
  display: grid;
  gap: 0.1rem;
}

.page-gmc .gmc-donut strong {
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--white);
  font-variant-numeric: tabular-nums;
}

.page-gmc .gmc-donut span {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(243, 250, 245, 0.7);
}

.page-gmc .gmc-diag__sev-label {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-gmc .gmc-sev-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
}

.page-gmc .gmc-sev-list li {
  display: grid;
  gap: 0.4rem;
}

.page-gmc .gmc-sev-list__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

.page-gmc .gmc-sev-list__tag {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.18rem 0.45rem;
  border-radius: 3px;
}

.page-gmc .gmc-sev-list__tag--crit {
  background: rgba(214, 69, 69, 0.12);
  color: #a32e2e;
}

.page-gmc .gmc-sev-list__tag--high {
  background: rgba(224, 122, 61, 0.14);
  color: #a85520;
}

.page-gmc .gmc-sev-list__tag--med {
  background: rgba(201, 162, 39, 0.16);
  color: #8a6e12;
}

.page-gmc .gmc-sev-list__tag--low {
  background: var(--soft);
  color: var(--green-dark);
}

.page-gmc .gmc-sev-list__meta strong {
  flex: 1;
  font-size: 0.95rem;
  color: var(--text);
}

.page-gmc .gmc-sev-list__meta em {
  font-style: normal;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.page-gmc .gmc-sev-list i {
  display: block;
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: var(--cream);
  overflow: hidden;
}

.page-gmc .gmc-sev-list i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--p, 50%);
  border-radius: inherit;
  background: var(--green);
}

.page-gmc .gmc-sev-list li:nth-child(1) i::after { background: var(--gmc-bad); }
.page-gmc .gmc-sev-list li:nth-child(2) i::after { background: var(--gmc-warn); }
.page-gmc .gmc-sev-list li:nth-child(3) i::after { background: var(--gmc-med); }
.page-gmc .gmc-sev-list li:nth-child(4) i::after { background: var(--green-mid); }

/* Fix timeline rail */
.page-gmc .gmc-timeline {
  padding: 4rem 0;
  background: var(--white);
}

.page-gmc .gmc-rail {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  position: relative;
}

.page-gmc .gmc-rail::before {
  content: "";
  position: absolute;
  top: 1.55rem;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, var(--gmc-bad), var(--gmc-warn), var(--green-mid), var(--green));
  z-index: 0;
}

.page-gmc .gmc-rail__step {
  position: relative;
  z-index: 1;
  padding: 0 0.75rem;
  text-align: center;
}

.page-gmc .gmc-rail__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.1rem;
  height: 3.1rem;
  margin-bottom: 0.9rem;
  border-radius: 50%;
  font-size: 0.85rem;
  font-weight: 900;
  color: var(--white);
  background: var(--green-dark);
  border: 3px solid var(--white);
  box-shadow: 0 0 0 2px var(--green);
}

.page-gmc .gmc-rail__step:nth-child(1) .gmc-rail__num {
  background: var(--gmc-bad);
  box-shadow: 0 0 0 2px var(--gmc-bad);
}

.page-gmc .gmc-rail__step:nth-child(2) .gmc-rail__num {
  background: var(--gmc-warn);
  box-shadow: 0 0 0 2px var(--gmc-warn);
}

.page-gmc .gmc-rail__step:nth-child(3) .gmc-rail__num {
  background: var(--green-mid);
  box-shadow: 0 0 0 2px var(--green-mid);
}

.page-gmc .gmc-rail__step--goal .gmc-rail__num {
  background: var(--green);
  box-shadow: 0 0 0 2px var(--green);
}

.page-gmc .gmc-rail__step strong {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 1rem;
  color: var(--green-dark);
}

.page-gmc .gmc-rail__step p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

/* Before / after */
.page-gmc .gmc-compare {
  padding: 4rem 0;
  background: var(--cream);
}

.page-gmc .gmc-compare__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.page-gmc .gmc-compare__panel {
  padding: 1.5rem;
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--border);
}

.page-gmc .gmc-compare__panel--before {
  border-left: 4px solid var(--gmc-bad);
}

.page-gmc .gmc-compare__panel--after {
  border-left: 4px solid var(--green);
}

.page-gmc .gmc-compare__state {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-gmc .gmc-compare__panel--before .gmc-compare__state { color: var(--gmc-bad); }
.page-gmc .gmc-compare__panel--after .gmc-compare__state { color: var(--green); }

.page-gmc .gmc-compare__panel h3 {
  margin: 0 0 0.85rem;
  font-size: 1.25rem;
  color: var(--green-dark);
}

.page-gmc .gmc-compare__panel ul {
  margin: 0 0 1.15rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.page-gmc .gmc-compare__panel li {
  position: relative;
  padding-left: 1.15rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-gmc .gmc-compare__panel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--gmc-bad);
}

.page-gmc .gmc-compare__panel--after li::before { background: var(--green); }

.page-gmc .gmc-compare__panel figure {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 16 / 9;
}

.page-gmc .gmc-compare__panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Includes */
.page-gmc .gmc-includes {
  padding: 4rem 0;
  background: var(--white);
}

.page-gmc .gmc-includes__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.page-gmc .gmc-includes__grid li {
  display: flex;
  gap: 0.85rem;
  padding: 1.25rem 1.15rem;
  background: var(--cream);
  border-radius: 12px;
  border: 1px solid transparent;
  border-left: 3px solid var(--green);
}

.page-gmc .gmc-includes__grid strong {
  color: var(--green);
  font-size: 1.1rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.page-gmc .gmc-includes__grid h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  color: var(--green-dark);
}

.page-gmc .gmc-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
}

/* Gallery */
.page-gmc .gmc-gallery {
  padding: 4rem 0;
  background: var(--cream);
}

.page-gmc .gmc-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-gmc .gmc-gallery__item {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(0, 179, 72, 0.15);
}

.page-gmc .gmc-gallery__item--wide {
  grid-column: span 2;
  aspect-ratio: 16 / 9;
}

.page-gmc .gmc-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.page-gmc .gmc-gallery__item:hover img {
  transform: scale(1.04);
}

.page-gmc .gmc-gallery__item figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white);
  background: linear-gradient(transparent, rgba(4, 24, 12, 0.82));
}

/* Why */
.page-gmc .gmc-why {
  padding: 4rem 0;
  background: var(--white);
}

.page-gmc .gmc-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.page-gmc .gmc-why__grid article {
  padding: 1.5rem 1.25rem;
  border-radius: 12px;
  border: 1px solid var(--border);
  background:
    linear-gradient(180deg, var(--cream) 0%, #fff 70%);
  border-top: 3px solid var(--green);
}

.page-gmc .gmc-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}

.page-gmc .gmc-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

/* FAQ */
.page-gmc .gmc-faq {
  padding: 4rem 0;
  background: var(--cream);
}

.page-gmc .gmc-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-gmc .gmc-faq__list { display: grid; gap: 0.75rem; }

.page-gmc .gmc-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 0.35rem 1.1rem;
}

.page-gmc .gmc-faq__item summary {
  cursor: pointer;
  padding: 0.85rem 0;
  font-weight: 800;
  color: var(--green-dark);
  list-style: none;
}

.page-gmc .gmc-faq__item summary::-webkit-details-marker { display: none; }

.page-gmc .gmc-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.65;
}

/* CTA */
.page-gmc .gmc-cta {
  padding: 0 0 4.5rem;
  background: var(--cream);
}

.page-gmc .gmc-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background:
    radial-gradient(ellipse 45% 80% at 100% 50%, rgba(77, 209, 122, 0.25), transparent 55%),
    linear-gradient(135deg, #003d18, var(--green-dark) 42%, var(--green));
  color: var(--white);
  border-radius: 16px;
}

.page-gmc .gmc-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 30rem;
}

.page-gmc .gmc-cta__panel p {
  margin: 0;
  opacity: 0.92;
  max-width: 30rem;
}

.page-gmc .gmc-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-gmc .gmc-cta .gmc-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-gmc .gmc-cta .gmc-btn--solid:hover,
.page-gmc .gmc-cta .gmc-btn--solid:focus-visible {
  background: var(--cream);
  border-color: var(--cream);
}

@media (max-width: 980px) {
  .page-gmc .gmc-hero__grid,
  .page-gmc .gmc-split,
  .page-gmc .gmc-diag__board,
  .page-gmc .gmc-compare__grid,
  .page-gmc .gmc-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-gmc .gmc-issues__row,
  .page-gmc .gmc-rail,
  .page-gmc .gmc-includes__grid,
  .page-gmc .gmc-why__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-gmc .gmc-rail::before {
    display: none;
  }

  .page-gmc .gmc-gallery__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-gmc .gmc-gallery__item--wide {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .page-gmc .gmc-issues__row,
  .page-gmc .gmc-rail,
  .page-gmc .gmc-includes__grid,
  .page-gmc .gmc-why__grid,
  .page-gmc .gmc-gallery__grid {
    grid-template-columns: 1fr;
  }

  .page-gmc .gmc-gallery__item--wide {
    grid-column: span 1;
  }

  .page-gmc .gmc-cta__panel { padding: 1.75rem 1.25rem; }
}

/* ===== Shopping Feed Management — Feed Pipeline / Sync Rails (brand tokens) ===== */
.page-shopping-feed {
  --sfm-green: #00b348;
  --sfm-green-dark: #005c24;
  --sfm-ink: #0f2418;
  --sfm-rail: rgba(0, 179, 72, 0.22);
}

.page-shopping-feed .sfm-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-shopping-feed .sfm-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-shopping-feed .sfm-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-shopping-feed .sfm-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-shopping-feed .sfm-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-shopping-feed .sfm-byline {
  margin-top: 0.85rem !important;
  font-size: 0.88rem;
  color: var(--muted);
}

.page-shopping-feed .sfm-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-shopping-feed .sfm-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-shopping-feed .sfm-btn:hover { transform: translateY(-2px); }

.page-shopping-feed .sfm-btn--solid {
  background: var(--sfm-green);
  color: var(--white);
  border: 2px solid var(--sfm-green);
}

.page-shopping-feed .sfm-btn--solid:hover,
.page-shopping-feed .sfm-btn--solid:focus-visible {
  background: var(--sfm-green-dark);
  border-color: var(--sfm-green-dark);
  color: var(--white);
}

.page-shopping-feed .sfm-btn--outline {
  background: transparent;
  color: var(--sfm-green-dark);
  border: 2px solid var(--sfm-green);
}

.page-shopping-feed .sfm-btn--outline:hover,
.page-shopping-feed .sfm-btn--outline:focus-visible {
  background: var(--soft);
}

.page-shopping-feed .sfm-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-shopping-feed .sfm-btn--ghost:hover,
.page-shopping-feed .sfm-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

.page-shopping-feed .sfm-ticks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.page-shopping-feed .sfm-ticks li {
  position: relative;
  padding-left: 1.45rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.45;
  font-size: 0.95rem;
}

.page-shopping-feed .sfm-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 2px;
  background: var(--sfm-green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

/* Hero + sync rails */
.page-shopping-feed .sfm-hero {
  padding: 2.5rem 0 3.5rem;
  background:
    linear-gradient(90deg, transparent 0 11%, rgba(0, 179, 72, 0.05) 11% 12%, transparent 12%),
    radial-gradient(ellipse 55% 40% at 100% 0%, rgba(0, 179, 72, 0.14), transparent 55%),
    linear-gradient(180deg, #edf8f1, var(--white) 62%);
  border-bottom: 1px solid var(--border);
}

.page-shopping-feed .sfm-rails {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 2.25rem;
  padding: 0.85rem 1rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 92, 36, 0.07);
  overflow-x: auto;
}

.page-shopping-feed .sfm-rails__node {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  min-width: 6.5rem;
  color: var(--muted);
}

.page-shopping-feed .sfm-rails__node span {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 900;
  background: var(--soft);
  border: 1px solid var(--border);
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-rails__node strong {
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.page-shopping-feed .sfm-rails__node--live span {
  background: rgba(0, 179, 72, 0.12);
  border-color: rgba(0, 179, 72, 0.35);
}

.page-shopping-feed .sfm-rails__node--live strong {
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-rails__node--active span {
  background: var(--sfm-green);
  border-color: var(--sfm-green);
  color: var(--white);
}

.page-shopping-feed .sfm-rails__node--active strong {
  color: var(--sfm-green);
}

.page-shopping-feed .sfm-rails__track {
  flex: 1 1 1.5rem;
  min-width: 1.25rem;
  height: 3px;
  background: var(--border);
  border-radius: 99px;
  position: relative;
  overflow: hidden;
}

.page-shopping-feed .sfm-rails__track i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 55%;
  background: linear-gradient(90deg, var(--sfm-green), #5fd68a);
  border-radius: inherit;
  animation: sfm-rail-flow 2.4s ease-in-out infinite;
}

.page-shopping-feed .sfm-rails__node--active + .sfm-rails__track i,
.page-shopping-feed .sfm-rails__node:not(.sfm-rails__node--live):not(.sfm-rails__node--active) ~ .sfm-rails__track i {
  width: 0;
  animation: none;
}

@keyframes sfm-rail-flow {
  0%, 100% { opacity: 0.55; transform: translateX(0); }
  50% { opacity: 1; transform: translateX(40%); }
}

.page-shopping-feed .sfm-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.page-shopping-feed .sfm-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.8rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--sfm-ink);
}

.page-shopping-feed .sfm-hero h1 {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.7em;
  font-weight: 700;
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-shopping-feed .sfm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-shopping-feed .sfm-hero__media {
  margin: 0;
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow:
    0 18px 40px rgba(0, 92, 36, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.page-shopping-feed .sfm-hero__media img {
  display: block;
  width: 100%;
  height: auto;
}

.page-shopping-feed .sfm-hero__cap {
  position: absolute;
  left: 0.85rem;
  right: 0.85rem;
  bottom: 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: max-content;
  max-width: calc(100% - 1.7rem);
  padding: 0.55rem 0.85rem;
  background: rgba(15, 36, 24, 0.88);
  color: var(--white);
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
}

.page-shopping-feed .sfm-pulse {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--sfm-green);
  box-shadow: 0 0 0 0 rgba(0, 179, 72, 0.55);
  animation: sfm-pulse 1.8s ease-out infinite;
}

@keyframes sfm-pulse {
  0% { box-shadow: 0 0 0 0 rgba(0, 179, 72, 0.55); }
  70% { box-shadow: 0 0 0 10px rgba(0, 179, 72, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 179, 72, 0); }
}

/* Mapping nodes */
.page-shopping-feed .sfm-nodes {
  padding: 4.25rem 0;
  background: var(--white);
}

.page-shopping-feed .sfm-nodes__board {
  display: grid;
  gap: 1.25rem;
  padding: 1.5rem;
  border: 1px solid var(--border);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(0, 179, 72, 0.04), transparent 40%),
    var(--cream);
}

.page-shopping-feed .sfm-nodes__hub {
  justify-self: center;
  text-align: center;
  padding: 1rem 1.5rem;
  background: var(--white);
  border: 2px solid var(--sfm-green);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0, 92, 36, 0.08);
  max-width: 28rem;
}

.page-shopping-feed .sfm-nodes__hub span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sfm-green);
  margin-bottom: 0.35rem;
}

.page-shopping-feed .sfm-nodes__hub strong {
  font-size: 0.95rem;
  color: var(--sfm-ink);
}

.page-shopping-feed .sfm-nodes__spine {
  width: 3px;
  height: 1.5rem;
  margin: 0 auto;
  background: linear-gradient(180deg, var(--sfm-green), var(--sfm-rail));
  border-radius: 99px;
}

.page-shopping-feed .sfm-nodes__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-shopping-feed .sfm-node {
  position: relative;
  padding: 1.25rem 1.1rem 1.15rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  border-top: 3px solid var(--sfm-green);
}

.page-shopping-feed .sfm-node__pin {
  display: inline-grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  margin-bottom: 0.65rem;
  border-radius: 50%;
  background: var(--sfm-green);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
}

.page-shopping-feed .sfm-node h3 {
  margin: 0 0 0.45rem;
  font-size: 1.02rem;
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-node > p {
  margin: 0 0 0.85rem;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--muted);
}

.page-shopping-feed .sfm-node ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.page-shopping-feed .sfm-node li {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--sfm-ink);
  padding-left: 0.85rem;
  position: relative;
}

.page-shopping-feed .sfm-node li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.4rem;
  height: 0.4rem;
  background: var(--sfm-green);
}

/* Validation meters */
.page-shopping-feed .sfm-meters {
  padding: 4.25rem 0;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(0, 179, 72, 0.04) 8% 8.5%, transparent 8.5%),
    var(--cream);
}

.page-shopping-feed .sfm-meters__layout {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr;
  gap: 1.5rem;
  align-items: stretch;
}

.page-shopping-feed .sfm-meters__gauges {
  display: grid;
  gap: 0.9rem;
  padding: 1.35rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
}

.page-shopping-feed .sfm-gauge__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.45rem;
}

.page-shopping-feed .sfm-gauge__top span {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--sfm-ink);
}

.page-shopping-feed .sfm-gauge__top strong {
  font-size: 1.05rem;
  color: var(--sfm-green);
}

.page-shopping-feed .sfm-gauge--warn .sfm-gauge__top strong {
  color: #b45309;
}

.page-shopping-feed .sfm-gauge__track {
  height: 0.7rem;
  border-radius: 99px;
  background: var(--soft);
  overflow: hidden;
  border: 1px solid var(--border);
}

.page-shopping-feed .sfm-gauge__track i {
  display: block;
  height: 100%;
  width: var(--sfm-p, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sfm-green-dark), var(--sfm-green));
}

.page-shopping-feed .sfm-gauge--warn .sfm-gauge__track i {
  background: linear-gradient(90deg, #b45309, #f59e0b);
}

.page-shopping-feed .sfm-meters__errors {
  padding: 1.5rem 1.35rem;
  background: var(--sfm-ink);
  color: var(--white);
  border-radius: 14px;
}

.page-shopping-feed .sfm-meters__errors h3 {
  margin: 0 0 1rem;
  font-size: 1.05rem;
}

.page-shopping-feed .sfm-meters__errors ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}

.page-shopping-feed .sfm-meters__errors li {
  display: grid;
  gap: 0.15rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.page-shopping-feed .sfm-meters__errors li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.page-shopping-feed .sfm-meters__errors li span {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7dffb0;
}

/* Multi-channel split */
.page-shopping-feed .sfm-splitsec {
  padding: 4.25rem 0;
  background: var(--white);
}

.page-shopping-feed .sfm-splitsec__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.page-shopping-feed .sfm-channel-pane {
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--cream);
}

.page-shopping-feed .sfm-channel-pane figure {
  margin: 0;
  border-bottom: 3px solid var(--sfm-green);
}

.page-shopping-feed .sfm-channel-pane img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.page-shopping-feed .sfm-channel-pane__body {
  padding: 1.35rem 1.25rem 1.5rem;
}

.page-shopping-feed .sfm-channel-pane__tag {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sfm-green);
}

.page-shopping-feed .sfm-channel-pane__body h3 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-channel-pane__body > p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.6;
  font-size: 0.95rem;
}

/* Sync cadence timeline */
.page-shopping-feed .sfm-cadence {
  padding: 4.25rem 0;
  background:
    radial-gradient(ellipse 40% 30% at 0% 50%, rgba(0, 179, 72, 0.08), transparent 60%),
    var(--cream);
}

.page-shopping-feed .sfm-cadence__timeline {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  position: relative;
}

.page-shopping-feed .sfm-cadence__timeline::before {
  content: "";
  position: absolute;
  left: 1.35rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 3px;
  background: linear-gradient(180deg, var(--sfm-green), rgba(0, 179, 72, 0.15));
  border-radius: 99px;
}

.page-shopping-feed .sfm-cadence__timeline li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem 1.25rem;
  align-items: start;
  padding: 1.1rem 0 1.1rem 0;
  position: relative;
}

.page-shopping-feed .sfm-cadence__mark {
  width: 2.7rem;
  height: 2.7rem;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--white);
  border: 2px solid var(--sfm-green);
  color: var(--sfm-green-dark);
  font-size: 0.78rem;
  font-weight: 900;
  z-index: 1;
  box-shadow: 0 0 0 6px var(--cream);
}

.page-shopping-feed .sfm-cadence__timeline h3 {
  margin: 0 0 0.35rem;
  font-size: 1.08rem;
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-cadence__timeline p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.95rem;
  max-width: 36rem;
}

.page-shopping-feed .sfm-cadence__timeline em {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sfm-green);
  padding: 0.4rem 0.7rem;
  background: rgba(0, 179, 72, 0.1);
  border-radius: 6px;
  white-space: nowrap;
  align-self: center;
}

/* Before / after */
.page-shopping-feed .sfm-compare {
  padding: 4.25rem 0;
  background: var(--white);
}

.page-shopping-feed .sfm-compare__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem;
}

.page-shopping-feed .sfm-compare__pane {
  padding: 1.5rem 1.35rem;
  border-radius: 14px;
  border: 1px solid var(--border);
}

.page-shopping-feed .sfm-compare__pane--bad {
  background: #faf6f4;
  border-color: #e8cfc7;
}

.page-shopping-feed .sfm-compare__pane--good {
  background: #f0faf3;
  border-color: rgba(0, 179, 72, 0.35);
  box-shadow: 0 12px 28px rgba(0, 92, 36, 0.08);
}

.page-shopping-feed .sfm-compare__label {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-shopping-feed .sfm-compare__pane--bad .sfm-compare__label { color: #9a3412; }
.page-shopping-feed .sfm-compare__pane--good .sfm-compare__label { color: var(--sfm-green); }

.page-shopping-feed .sfm-compare__pane ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.7rem;
}

.page-shopping-feed .sfm-compare__pane li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--text);
  font-weight: 600;
}

.page-shopping-feed .sfm-compare__pane--bad li::before {
  content: "×";
  position: absolute;
  left: 0;
  top: 0;
  color: #9a3412;
  font-weight: 900;
}

.page-shopping-feed .sfm-compare__pane--good li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--sfm-green);
  font-weight: 900;
}

/* Gallery */
.page-shopping-feed .sfm-gallery {
  padding: 4.5rem 0;
  background:
    radial-gradient(ellipse 55% 45% at 80% 10%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(180deg, var(--cream) 0%, #fff 100%);
}

.page-shopping-feed .sfm-gallery .sfm-head {
  margin-bottom: 2rem;
}

.page-shopping-feed .sfm-gallery__stage {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 1rem;
}

.page-shopping-feed .sfm-gallery__card {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--white);
  box-shadow: 0 16px 36px rgba(0, 61, 24, 0.1);
  min-height: 12rem;
}

.page-shopping-feed .sfm-gallery__card--hero {
  grid-row: 1 / span 2;
  min-height: 100%;
}

.page-shopping-feed .sfm-gallery__card--wide {
  grid-column: 2 / span 2;
  min-height: 11rem;
}

.page-shopping-feed .sfm-gallery__card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 12rem;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.page-shopping-feed .sfm-gallery__card--hero img {
  min-height: 100%;
  position: absolute;
  inset: 0;
}

.page-shopping-feed .sfm-gallery__card--wide img {
  min-height: 11rem;
}

.page-shopping-feed .sfm-gallery__card:hover img {
  transform: scale(1.06);
}

.page-shopping-feed .sfm-gallery__veil {
  position: absolute;
  inset: auto 0 0 0;
  padding: 2.75rem 1.1rem 1.05rem;
  background: linear-gradient(180deg, transparent 0%, rgba(2, 21, 12, 0.88) 72%);
  color: var(--white);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  align-items: flex-start;
}

.page-shopping-feed .sfm-gallery__step {
  display: inline-grid;
  place-items: center;
  min-width: 2.1rem;
  height: 1.7rem;
  padding: 0 0.45rem;
  border-radius: 8px;
  background: var(--green);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.25);
}

.page-shopping-feed .sfm-gallery__veil figcaption {
  margin: 0;
}

.page-shopping-feed .sfm-gallery__veil strong {
  display: block;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
}

.page-shopping-feed .sfm-gallery__veil em {
  display: block;
  margin-top: 0.2rem;
  font-style: normal;
  font-size: 0.82rem;
  color: rgba(243, 250, 245, 0.82);
  line-height: 1.4;
}

.page-shopping-feed .sfm-gallery__rail {
  margin: 1.35rem 0 0;
  padding: 0.85rem 1rem;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem 1.25rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--border);
  box-shadow: 0 10px 28px rgba(0, 61, 24, 0.06);
}

.page-shopping-feed .sfm-gallery__rail li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--green-dark);
}

.page-shopping-feed .sfm-gallery__rail i {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(0, 179, 72, 0.18);
}

/* Why */
.page-shopping-feed .sfm-why {
  padding: 4.25rem 0;
  background: var(--white);
}

.page-shopping-feed .sfm-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.page-shopping-feed .sfm-why__grid article {
  padding: 1.5rem 1.25rem;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--cream);
  border-left: 4px solid var(--sfm-green);
}

.page-shopping-feed .sfm-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

/* FAQ */
.page-shopping-feed .sfm-faq {
  padding: 4.25rem 0;
  background: var(--cream);
}

.page-shopping-feed .sfm-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-shopping-feed .sfm-faq__list { display: grid; gap: 0.75rem; }

.page-shopping-feed .sfm-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 0.35rem 1.1rem;
}

.page-shopping-feed .sfm-faq__item summary {
  cursor: pointer;
  padding: 0.85rem 0;
  font-weight: 800;
  color: var(--sfm-green-dark);
  list-style: none;
}

.page-shopping-feed .sfm-faq__item summary::-webkit-details-marker { display: none; }

.page-shopping-feed .sfm-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.65;
}

/* CTA */
.page-shopping-feed .sfm-cta {
  padding: 0 0 4.5rem;
  background: var(--cream);
}

.page-shopping-feed .sfm-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background:
    linear-gradient(120deg, #003d18 0%, var(--sfm-green-dark) 42%, var(--sfm-green) 100%);
  color: var(--white);
  border-radius: 14px;
  position: relative;
  overflow: hidden;
}

.page-shopping-feed .sfm-cta__panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: #7dffb0;
}

.page-shopping-feed .sfm-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 32rem;
}

.page-shopping-feed .sfm-cta__panel p {
  margin: 0;
  opacity: 0.92;
  max-width: 32rem;
}

.page-shopping-feed .sfm-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-shopping-feed .sfm-cta .sfm-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--sfm-green-dark);
}

.page-shopping-feed .sfm-cta .sfm-btn--solid:hover,
.page-shopping-feed .sfm-cta .sfm-btn--solid:focus-visible {
  background: var(--cream);
  border-color: var(--cream);
}

@media (max-width: 980px) {
  .page-shopping-feed .sfm-hero__grid,
  .page-shopping-feed .sfm-meters__layout,
  .page-shopping-feed .sfm-splitsec__grid,
  .page-shopping-feed .sfm-compare__grid,
  .page-shopping-feed .sfm-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-shopping-feed .sfm-nodes__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-shopping-feed .sfm-gallery__stage {
    grid-template-columns: 1fr;
  }

  .page-shopping-feed .sfm-gallery__card--hero {
    grid-row: auto;
    min-height: 16rem;
  }

  .page-shopping-feed .sfm-gallery__card--hero img {
    position: relative;
    min-height: 16rem;
  }

  .page-shopping-feed .sfm-gallery__card--wide {
    grid-column: auto;
  }

  .page-shopping-feed .sfm-gallery__rail {
    border-radius: 16px;
  }

  .page-shopping-feed .sfm-why__grid {
    grid-template-columns: 1fr;
  }

  .page-shopping-feed .sfm-cadence__timeline li {
    grid-template-columns: auto 1fr;
  }

  .page-shopping-feed .sfm-cadence__timeline em {
    grid-column: 2;
    justify-self: start;
  }

  .page-shopping-feed .sfm-hero__media { order: -1; }
}

@media (max-width: 640px) {
  .page-shopping-feed .sfm-nodes__grid {
    grid-template-columns: 1fr;
  }

  .page-shopping-feed .sfm-rails {
    justify-content: flex-start;
  }

  .page-shopping-feed .sfm-rails__track {
    min-width: 0.75rem;
    flex: 0 0 0.75rem;
  }

  .page-shopping-feed .sfm-cta__panel {
    padding: 1.75rem 1.25rem 1.75rem 1.5rem;
  }

  .page-shopping-feed .sfm-cadence__timeline::before {
    left: 1.2rem;
  }
}

/* ===== Abandoned Cart Recovery — Recovery Sequence / Lifecycle (brand tokens) ===== */
.page-abandoned-cart .acr-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-abandoned-cart .acr-head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.page-abandoned-cart .acr-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-abandoned-cart .acr-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-abandoned-cart .acr-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-abandoned-cart .acr-byline {
  margin-top: 0.85rem !important;
  font-size: 0.88rem;
  color: var(--muted);
}

.page-abandoned-cart .acr-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-abandoned-cart .acr-btn:hover { transform: translateY(-2px); }

.page-abandoned-cart .acr-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-abandoned-cart .acr-btn--solid:hover,
.page-abandoned-cart .acr-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-abandoned-cart .acr-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-abandoned-cart .acr-btn--outline:hover,
.page-abandoned-cart .acr-btn--outline:focus-visible {
  background: var(--soft);
}

.page-abandoned-cart .acr-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-abandoned-cart .acr-btn--ghost:hover,
.page-abandoned-cart .acr-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

.page-abandoned-cart .acr-ticks {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-abandoned-cart .acr-ticks li {
  position: relative;
  padding-left: 1.55rem;
  color: var(--muted);
  line-height: 1.5;
  font-weight: 600;
}

.page-abandoned-cart .acr-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px var(--soft);
}

/* Hero — sequence timeline + media */
.page-abandoned-cart .acr-hero {
  padding: 3rem 0 3.5rem;
  background:
    radial-gradient(ellipse 55% 50% at 100% 0%, rgba(0, 179, 72, 0.14), transparent 55%),
    linear-gradient(155deg, #fff 0%, var(--cream) 42%, #e8f6ec 100%);
}

.page-abandoned-cart .acr-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 2.5rem;
  align-items: center;
}

.page-abandoned-cart .acr-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: var(--text);
}

.page-abandoned-cart .acr-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-abandoned-cart .acr-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-abandoned-cart .acr-hero__visual {
  display: grid;
  gap: 1rem;
}

.page-abandoned-cart .acr-seq {
  padding: 1.15rem 1.2rem 1.05rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.1);
  animation: acr-rise 0.65s ease-out both;
}

.page-abandoned-cart .acr-seq__label {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-abandoned-cart .acr-seq__rail {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  position: relative;
}

.page-abandoned-cart .acr-seq__rail::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 1.15rem;
  height: 2px;
  background: linear-gradient(90deg, var(--green), var(--green-light));
  z-index: 0;
}

.page-abandoned-cart .acr-seq__step {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.2rem;
  padding: 0.35rem 0.4rem 0.5rem;
  text-align: center;
}

.page-abandoned-cart .acr-seq__time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.45rem;
  min-width: 3.6rem;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  background: var(--white);
  border: 2px solid var(--green);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: var(--green);
}

.page-abandoned-cart .acr-seq__step--live .acr-seq__time {
  background: var(--green);
  color: var(--white);
  animation: acr-pulse 2.2s ease-in-out infinite;
}

.page-abandoned-cart .acr-seq__step strong {
  font-size: 0.9rem;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-seq__step em {
  font-style: normal;
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.35;
}

.page-abandoned-cart .acr-hero__media {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: 0 22px 44px rgba(0, 61, 24, 0.12);
  animation: acr-rise 0.75s ease-out 0.08s both;
}

.page-abandoned-cart .acr-hero__media img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
}

@keyframes acr-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

@keyframes acr-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0, 179, 72, 0.35); }
  50% { box-shadow: 0 0 0 8px rgba(0, 179, 72, 0); }
}

/* Why carts die — leak cards */
.page-abandoned-cart .acr-leaks {
  padding: 4rem 0;
  background: var(--white);
}

.page-abandoned-cart .acr-leaks__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-abandoned-cart .acr-leak {
  position: relative;
  padding: 1.45rem 1.2rem 1.35rem;
  background:
    linear-gradient(180deg, var(--cream), #fff);
  border: 1px solid var(--border);
  border-radius: 16px;
  border-top: 3px solid var(--green);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-abandoned-cart .acr-leak:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 61, 24, 0.08);
}

.page-abandoned-cart .acr-leak__tag {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: var(--green);
}

.page-abandoned-cart .acr-leak h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-leak p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.94rem;
}

/* Recovery funnel SVG */
.page-abandoned-cart .acr-funnel {
  padding: 4rem 0;
  background: var(--cream);
}

.page-abandoned-cart .acr-funnel__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}

.page-abandoned-cart .acr-funnel__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-abandoned-cart .acr-funnel__copy > p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  max-width: 34rem;
}

.page-abandoned-cart .acr-funnel__viz {
  padding: 1.5rem 1.25rem 1.15rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 18px 36px rgba(0, 61, 24, 0.08);
  text-align: center;
}

.page-abandoned-cart .acr-funnel__svg {
  width: min(100%, 340px);
  height: auto;
  margin: 0 auto;
  display: block;
  overflow: visible;
}

.page-abandoned-cart .acr-funnel__note {
  margin: 0.85rem 0 0;
  font-size: 0.82rem;
  color: var(--muted);
}

/* Channel mix */
.page-abandoned-cart .acr-channels {
  padding: 4rem 0;
  background: var(--white);
}

.page-abandoned-cart .acr-channels__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}

.page-abandoned-cart .acr-channels__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-abandoned-cart .acr-channels__copy > p {
  margin: 0 0 1.25rem;
  color: var(--muted);
  line-height: 1.65;
  max-width: 34rem;
}

.page-abandoned-cart .acr-channels__pills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

.page-abandoned-cart .acr-channels__pills article {
  padding: 1.1rem 1rem;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 14px;
}

.page-abandoned-cart .acr-channels__pills h3 {
  margin: 0 0 0.35rem;
  color: var(--green-dark);
  font-size: 1rem;
}

.page-abandoned-cart .acr-channels__pills p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.page-abandoned-cart .acr-channels__media {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: 0 18px 36px rgba(0, 61, 24, 0.1);
}

.page-abandoned-cart .acr-channels__media img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

/* Offer strategy */
.page-abandoned-cart .acr-offers {
  padding: 4rem 0;
  background: var(--cream);
}

.page-abandoned-cart .acr-offers__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 2.5rem;
  align-items: center;
}

.page-abandoned-cart .acr-offers__media {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: 0 18px 36px rgba(0, 61, 24, 0.1);
}

.page-abandoned-cart .acr-offers__media img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
}

.page-abandoned-cart .acr-offers__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-abandoned-cart .acr-offers__copy > p {
  margin: 0 0 1.25rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-abandoned-cart .acr-ladder {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
  counter-reset: acr-ladder;
}

.page-abandoned-cart .acr-ladder li {
  counter-increment: acr-ladder;
  position: relative;
  padding: 0.95rem 1rem 0.95rem 3.25rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--muted);
  line-height: 1.5;
}

.page-abandoned-cart .acr-ladder li::before {
  content: counter(acr-ladder, decimal-leading-zero);
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.78rem;
  font-weight: 900;
  color: var(--green);
}

.page-abandoned-cart .acr-ladder strong {
  display: block;
  margin-bottom: 0.15rem;
  color: var(--green-dark);
}

/* Metrics + mini charts */
.page-abandoned-cart .acr-metrics {
  padding: 4rem 0;
  background: var(--white);
}

.page-abandoned-cart .acr-metrics__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-abandoned-cart .acr-metric {
  padding: 1.35rem 1.15rem 1.15rem;
  background: linear-gradient(180deg, var(--cream), #fff);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.page-abandoned-cart .acr-metric__label {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--muted);
}

.page-abandoned-cart .acr-metric__val {
  display: block;
  margin-bottom: 0.75rem;
  font-size: 1.85rem;
  font-weight: 900;
  line-height: 1;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-metric__chart {
  width: 100%;
  height: 48px;
  display: block;
}

/* Process */
.page-abandoned-cart .acr-process {
  padding: 4rem 0;
  background: var(--cream);
}

.page-abandoned-cart .acr-process__track {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.85rem;
  position: relative;
}

.page-abandoned-cart .acr-process__track::before {
  content: "";
  position: absolute;
  left: 4%;
  right: 4%;
  top: 1.55rem;
  height: 2px;
  background: linear-gradient(90deg, var(--green-light), var(--green), var(--green-dark));
  opacity: 0.45;
}

.page-abandoned-cart .acr-process__track li {
  position: relative;
  padding: 0 0.25rem;
  text-align: center;
}

.page-abandoned-cart .acr-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background: var(--white);
  border: 2px solid var(--green);
  font-size: 0.78rem;
  font-weight: 900;
  color: var(--green);
  position: relative;
  z-index: 1;
}

.page-abandoned-cart .acr-process__track h3 {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-process__track p {
  margin: 0;
  font-size: 0.84rem;
  color: var(--muted);
  line-height: 1.45;
}

/* Before / after */
.page-abandoned-cart .acr-compare {
  padding: 4rem 0;
  background: var(--white);
}

.page-abandoned-cart .acr-compare__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 1rem;
  align-items: stretch;
}

.page-abandoned-cart .acr-compare__col {
  padding: 1.5rem 1.25rem;
  border-radius: 16px;
  border: 1px solid var(--border);
}

.page-abandoned-cart .acr-compare__col--before {
  background: #f7f8f7;
}

.page-abandoned-cart .acr-compare__col--after {
  background: linear-gradient(180deg, var(--soft), var(--cream));
  border-color: var(--green-light);
}

.page-abandoned-cart .acr-compare__col h3 {
  margin: 0 0 0.85rem;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-compare__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-abandoned-cart .acr-compare__col li {
  position: relative;
  padding-left: 1.25rem;
  color: var(--muted);
  line-height: 1.5;
  font-size: 0.94rem;
}

.page-abandoned-cart .acr-compare__col--before li::before {
  content: "×";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 900;
  color: #8a9a8e;
}

.page-abandoned-cart .acr-compare__col--after li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 900;
  color: var(--green);
}

.page-abandoned-cart .acr-compare__media {
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--border);
}

.page-abandoned-cart .acr-compare__media img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  display: block;
}

/* Gallery */
.page-abandoned-cart .acr-gallery {
  padding: 4rem 0;
  background: var(--cream);
}

.page-abandoned-cart .acr-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-abandoned-cart .acr-gallery__grid figure {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--border);
}

.page-abandoned-cart .acr-gallery__grid img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.page-abandoned-cart .acr-gallery__grid figcaption {
  padding: 0.75rem 1rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--green-dark);
}

/* Why */
.page-abandoned-cart .acr-why {
  padding: 4rem 0;
  background: var(--white);
}

.page-abandoned-cart .acr-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-abandoned-cart .acr-why__grid article {
  padding: 1.5rem 1.25rem;
  background: linear-gradient(180deg, var(--cream), #fff);
  border-radius: 14px;
  border: 1px solid var(--border);
}

.page-abandoned-cart .acr-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}

.page-abandoned-cart .acr-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.94rem;
}

/* FAQ */
.page-abandoned-cart .acr-faq {
  padding: 4rem 0;
  background: var(--cream);
}

.page-abandoned-cart .acr-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-abandoned-cart .acr-faq__list { display: grid; gap: 0.75rem; }

.page-abandoned-cart .acr-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.35rem 1.1rem 0.35rem;
}

.page-abandoned-cart .acr-faq__item summary {
  cursor: pointer;
  padding: 0.85rem 0;
  font-weight: 800;
  color: var(--green-dark);
  list-style: none;
}

.page-abandoned-cart .acr-faq__item summary::-webkit-details-marker { display: none; }

.page-abandoned-cart .acr-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.65;
}

/* CTA */
.page-abandoned-cart .acr-cta {
  padding: 0 0 4.5rem;
  background: var(--cream);
}

.page-abandoned-cart .acr-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 40%, var(--green));
  color: var(--white);
  border-radius: 18px;
}

.page-abandoned-cart .acr-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 28rem;
}

.page-abandoned-cart .acr-cta__panel p {
  margin: 0;
  opacity: 0.92;
  max-width: 30rem;
}

.page-abandoned-cart .acr-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-abandoned-cart .acr-cta .acr-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-abandoned-cart .acr-cta .acr-btn--solid:hover,
.page-abandoned-cart .acr-cta .acr-btn--solid:focus-visible {
  background: var(--cream);
  border-color: var(--cream);
  color: var(--green-dark);
}

@media (prefers-reduced-motion: reduce) {
  .page-abandoned-cart .acr-btn,
  .page-abandoned-cart .acr-leak,
  .page-abandoned-cart .acr-seq,
  .page-abandoned-cart .acr-hero__media {
    transition: none;
    animation: none;
  }

  .page-abandoned-cart .acr-btn:hover,
  .page-abandoned-cart .acr-leak:hover {
    transform: none;
  }

  .page-abandoned-cart .acr-seq__step--live .acr-seq__time {
    animation: none;
  }
}

@media (max-width: 1100px) {
  .page-abandoned-cart .acr-metrics__grid,
  .page-abandoned-cart .acr-why__grid,
  .page-abandoned-cart .acr-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-abandoned-cart .acr-process__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem 0.75rem;
  }

  .page-abandoned-cart .acr-process__track::before { display: none; }

  .page-abandoned-cart .acr-compare__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-abandoned-cart .acr-compare__media {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .page-abandoned-cart .acr-hero__grid,
  .page-abandoned-cart .acr-funnel__grid,
  .page-abandoned-cart .acr-channels__grid,
  .page-abandoned-cart .acr-offers__grid,
  .page-abandoned-cart .acr-faq__inner {
    grid-template-columns: 1fr;
  }

  .page-abandoned-cart .acr-leaks__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-abandoned-cart .acr-seq__rail {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .page-abandoned-cart .acr-seq__rail::before {
    left: 1.9rem;
    right: auto;
    top: 0.9rem;
    bottom: 0.9rem;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, var(--green), var(--green-light));
  }

  .page-abandoned-cart .acr-seq__step {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.85rem;
    text-align: left;
    padding: 0.55rem 0.35rem 0.55rem 0.15rem;
  }

  .page-abandoned-cart .acr-seq__time {
    grid-row: 1 / span 2;
    margin: 0;
    align-self: center;
  }

  .page-abandoned-cart .acr-offers__media { order: 2; }
  .page-abandoned-cart .acr-hero__media img,
  .page-abandoned-cart .acr-channels__media img,
  .page-abandoned-cart .acr-offers__media img {
    height: 240px;
  }
}

@media (max-width: 640px) {
  .page-abandoned-cart .acr-leaks__grid,
  .page-abandoned-cart .acr-metrics__grid,
  .page-abandoned-cart .acr-why__grid,
  .page-abandoned-cart .acr-gallery__grid,
  .page-abandoned-cart .acr-compare__grid,
  .page-abandoned-cart .acr-process__track,
  .page-abandoned-cart .acr-channels__pills {
    grid-template-columns: 1fr;
  }

  .page-abandoned-cart .acr-cta__panel {
    padding: 1.75rem 1.25rem;
  }

  .page-abandoned-cart .acr-gallery__grid img {
    height: 200px;
  }
}

/* ===== Marketplace Integration — Channel Hub (brand tokens) ===== */
.page-marketplace {
  --mkt: #00b348;
  --mkt-dark: #005c24;
  --mkt-mid: #00963c;
  --mkt-soft: #e6f7ec;
  --mkt-cream: #f3faf5;
}

.page-marketplace .mkt-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-marketplace .mkt-head {
  max-width: 42rem;
  margin-bottom: 2rem;
}

.page-marketplace .mkt-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-marketplace .mkt-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-marketplace .mkt-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-marketplace .mkt-byline {
  margin-top: 0.85rem !important;
  font-size: 0.88rem;
  color: var(--muted);
}

.page-marketplace .mkt-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-marketplace .mkt-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 10px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-marketplace .mkt-btn:hover {
  transform: translateY(-2px);
}

.page-marketplace .mkt-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-marketplace .mkt-btn--solid:hover,
.page-marketplace .mkt-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-marketplace .mkt-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-marketplace .mkt-btn--outline:hover,
.page-marketplace .mkt-btn--outline:focus-visible {
  background: var(--soft);
}

.page-marketplace .mkt-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-marketplace .mkt-btn--ghost:hover,
.page-marketplace .mkt-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

.page-marketplace .mkt-ticks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-marketplace .mkt-ticks li {
  position: relative;
  padding-left: 1.55rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.45;
}

.page-marketplace .mkt-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.2);
}

/* —— 1. Hero + hub-spoke SVG —— */
.page-marketplace .mkt-hero {
  padding: 3rem 0 3.75rem;
  background:
    radial-gradient(ellipse at 88% 12%, rgba(0, 179, 72, 0.18), transparent 46%),
    radial-gradient(ellipse at 8% 88%, rgba(0, 92, 36, 0.06), transparent 40%),
    linear-gradient(168deg, #eef8f1 0%, #fff 48%, var(--cream) 100%);
  overflow: hidden;
}

.page-marketplace .mkt-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.25rem;
  align-items: center;
}

.page-marketplace .mkt-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--green-dark);
}

.page-marketplace .mkt-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: var(--text);
}

.page-marketplace .mkt-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-marketplace .mkt-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-marketplace .mkt-hero__visual {
  position: relative;
  display: grid;
  gap: 1rem;
}

.page-marketplace .mkt-hero__shot {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 22px 48px rgba(0, 61, 24, 0.14);
}

.page-marketplace .mkt-hero__shot img {
  width: 100%;
  height: auto;
  display: block;
}

.page-marketplace .mkt-spoke {
  padding: 1rem 1rem 0.65rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 14px 32px rgba(0, 61, 24, 0.1);
}

.page-marketplace .mkt-spoke__label {
  margin: 0 0 0.35rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
  text-align: center;
}

.page-marketplace .mkt-spoke__svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 280px;
}

.page-marketplace .mkt-spoke__line {
  stroke: var(--green);
  stroke-width: 2;
  stroke-dasharray: 5 4;
  opacity: 0.55;
  animation: mktSpokePulse 2.8s ease-in-out infinite;
}

.page-marketplace .mkt-spoke__line:nth-child(3) { animation-delay: 0.2s; }
.page-marketplace .mkt-spoke__line:nth-child(4) { animation-delay: 0.4s; }
.page-marketplace .mkt-spoke__line:nth-child(5) { animation-delay: 0.6s; }
.page-marketplace .mkt-spoke__line:nth-child(6) { animation-delay: 0.8s; }
.page-marketplace .mkt-spoke__line:nth-child(7) { animation-delay: 1s; }

@keyframes mktSpokePulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 0.85; }
}

.page-marketplace .mkt-spoke__core {
  fill: var(--green);
  filter: drop-shadow(0 6px 14px rgba(0, 179, 72, 0.4));
}

.page-marketplace .mkt-spoke__core-t {
  fill: #fff;
  font-size: 11px;
  font-weight: 800;
  font-family: "Nunito Sans", sans-serif;
}

.page-marketplace .mkt-spoke__node rect {
  fill: var(--cream);
  stroke: var(--border);
  stroke-width: 1.5;
}

.page-marketplace .mkt-spoke__node text {
  fill: var(--green-dark);
  font-size: 11px;
  font-weight: 800;
  font-family: "Nunito Sans", sans-serif;
}

/* —— 2. Channel cards —— */
.page-marketplace .mkt-channels {
  padding: 4rem 0;
  background: var(--white);
}

.page-marketplace .mkt-channels__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.page-marketplace .mkt-channel {
  position: relative;
  padding: 1.45rem 1.25rem 1.35rem;
  background:
    linear-gradient(160deg, var(--cream) 0%, #fff 55%);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.page-marketplace .mkt-channel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green), transparent);
  opacity: 0.7;
}

.page-marketplace .mkt-channel:hover {
  border-color: var(--green);
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 61, 24, 0.1);
}

.page-marketplace .mkt-channel__mark {
  display: inline-grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 0.85rem;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.page-marketplace .mkt-channel h3 {
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
  color: var(--green-dark);
}

.page-marketplace .mkt-channel p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--muted);
}

/* —— 3. Catalog / inventory sync —— */
.page-marketplace .mkt-sync {
  padding: 4rem 0;
  background:
    radial-gradient(circle at 0% 50%, rgba(0, 179, 72, 0.08), transparent 42%),
    var(--cream);
}

.page-marketplace .mkt-sync__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}

.page-marketplace .mkt-sync__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  color: var(--green-dark);
}

.page-marketplace .mkt-sync__copy > p {
  margin: 0 0 1.15rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-marketplace .mkt-sync__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.12);
}

.page-marketplace .mkt-sync__media img {
  width: 100%;
  height: auto;
  display: block;
}

.page-marketplace .mkt-sync__pulse {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.9rem;
  background: rgba(0, 61, 24, 0.88);
  color: var(--white);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}

.page-marketplace .mkt-sync__dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--green-light);
  box-shadow: 0 0 0 0 rgba(77, 209, 122, 0.7);
  animation: mktDotPing 1.6s ease-out infinite;
}

@keyframes mktDotPing {
  0% { box-shadow: 0 0 0 0 rgba(77, 209, 122, 0.7); }
  70% { box-shadow: 0 0 0 10px rgba(77, 209, 122, 0); }
  100% { box-shadow: 0 0 0 0 rgba(77, 209, 122, 0); }
}

/* —— 4. Order flow —— */
.page-marketplace .mkt-orders {
  padding: 4rem 0;
  background: var(--white);
}

.page-marketplace .mkt-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-marketplace .mkt-flow__step {
  flex: 1 1 10rem;
  max-width: 14rem;
  padding: 1.35rem 1.15rem;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 14px;
  text-align: center;
}

.page-marketplace .mkt-flow__step--hub {
  background: linear-gradient(155deg, #003d18, var(--green-dark) 50%, var(--green));
  border-color: transparent;
  color: var(--white);
  box-shadow: 0 16px 32px rgba(0, 179, 72, 0.28);
}

.page-marketplace .mkt-flow__step--hub .mkt-flow__num {
  background: rgba(255, 255, 255, 0.2);
  color: var(--white);
}

.page-marketplace .mkt-flow__step--hub em {
  color: rgba(255, 255, 255, 0.88);
}

.page-marketplace .mkt-flow__num {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.65rem;
  border-radius: 50%;
  background: var(--soft);
  color: var(--green-dark);
  font-size: 0.85rem;
  font-weight: 900;
}

.page-marketplace .mkt-flow__step strong {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 1rem;
  color: inherit;
}

.page-marketplace .mkt-flow__step:not(.mkt-flow__step--hub) strong {
  color: var(--green-dark);
}

.page-marketplace .mkt-flow__step em {
  display: block;
  font-style: normal;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-marketplace .mkt-flow__arrow {
  flex: 0 0 1.5rem;
  align-self: center;
  height: 2px;
  background: linear-gradient(90deg, var(--border), var(--green), var(--border));
  position: relative;
}

.page-marketplace .mkt-flow__arrow::after {
  content: "";
  position: absolute;
  right: -3px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--green);
  border-top: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg);
}

/* —— 5. Sync health meters —— */
.page-marketplace .mkt-health {
  padding: 4rem 0;
  background:
    linear-gradient(180deg, var(--cream) 0%, #fff 100%);
}

.page-marketplace .mkt-health__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-marketplace .mkt-meter {
  padding: 1.35rem 1.2rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(0, 61, 24, 0.05);
}

.page-marketplace .mkt-meter header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}

.page-marketplace .mkt-meter h3 {
  margin: 0;
  font-size: 0.95rem;
  color: var(--green-dark);
}

.page-marketplace .mkt-meter strong {
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--green);
}

.page-marketplace .mkt-meter--warn strong {
  color: #c48a00;
}

.page-marketplace .mkt-meter__track {
  height: 8px;
  margin-bottom: 0.75rem;
  border-radius: 999px;
  background: var(--soft);
  overflow: hidden;
}

.page-marketplace .mkt-meter__track i {
  display: block;
  height: 100%;
  width: var(--p, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-mid), var(--green));
}

.page-marketplace .mkt-meter--warn .mkt-meter__track i {
  background: linear-gradient(90deg, #e0a800, #f0c040);
}

.page-marketplace .mkt-meter p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: var(--muted);
}

/* —— 6. Process timeline —— */
.page-marketplace .mkt-process {
  padding: 4rem 0;
  background: var(--white);
}

.page-marketplace .mkt-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-marketplace .mkt-timeline::before {
  content: "";
  position: absolute;
  top: 1.35rem;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, var(--green), var(--green-light), var(--green));
  opacity: 0.45;
}

.page-marketplace .mkt-timeline li {
  position: relative;
  padding-top: 0.15rem;
  text-align: center;
}

.page-marketplace .mkt-timeline__dot {
  display: inline-grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
  box-shadow: 0 0 0 6px var(--soft);
  position: relative;
  z-index: 1;
}

.page-marketplace .mkt-timeline h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: var(--green-dark);
}

.page-marketplace .mkt-timeline p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--muted);
}

/* —— 7. Before / after —— */
.page-marketplace .mkt-compare {
  padding: 4rem 0;
  background: var(--cream);
}

.page-marketplace .mkt-compare__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.page-marketplace .mkt-compare__panel {
  padding: 1.75rem 1.5rem;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--white);
}

.page-marketplace .mkt-compare__panel--before {
  background: #f7f8f7;
}

.page-marketplace .mkt-compare__panel--after {
  border-color: rgba(0, 179, 72, 0.35);
  box-shadow: 0 16px 36px rgba(0, 179, 72, 0.12);
}

.page-marketplace .mkt-compare__tag {
  display: inline-block;
  margin: 0 0 0.65rem;
  padding: 0.25rem 0.65rem;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: #e0e4e1;
  color: #4a564e;
}

.page-marketplace .mkt-compare__panel--after .mkt-compare__tag {
  background: var(--soft);
  color: var(--green-dark);
}

.page-marketplace .mkt-compare__panel h3 {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  color: var(--green-dark);
}

.page-marketplace .mkt-compare__panel ul {
  margin: 0 0 1.25rem;
  padding: 0 0 0 1.1rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-marketplace .mkt-compare__panel li + li {
  margin-top: 0.35rem;
}

.page-marketplace .mkt-compare__silos,
.page-marketplace .mkt-compare__hub {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
  margin: 0 auto;
}

/* —— 8. Gallery / why / FAQ / CTA —— */
.page-marketplace .mkt-gallery {
  padding: 4rem 0;
  background: var(--white);
}

.page-marketplace .mkt-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.page-marketplace .mkt-gallery__grid figure {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0, 61, 24, 0.1);
}

.page-marketplace .mkt-gallery__grid img {
  width: 100%;
  height: 100%;
  min-height: 11rem;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.page-marketplace .mkt-gallery__grid figure:hover img {
  transform: scale(1.04);
}

.page-marketplace .mkt-why {
  padding: 4rem 0;
  background: var(--cream);
}

.page-marketplace .mkt-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.page-marketplace .mkt-why__grid article {
  padding: 1.5rem 1.25rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--white);
}

.page-marketplace .mkt-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}

.page-marketplace .mkt-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.page-marketplace .mkt-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-marketplace .mkt-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-marketplace .mkt-faq__list {
  display: grid;
  gap: 0.75rem;
}

.page-marketplace .mkt-faq__item {
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.35rem 1.1rem;
}

.page-marketplace .mkt-faq__item summary {
  cursor: pointer;
  padding: 0.85rem 0;
  font-weight: 800;
  color: var(--green-dark);
  list-style: none;
}

.page-marketplace .mkt-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-marketplace .mkt-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-marketplace .mkt-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}

.page-marketplace .mkt-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 42%, var(--green));
  color: var(--white);
  border-radius: 16px;
}

.page-marketplace .mkt-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 32rem;
}

.page-marketplace .mkt-cta__panel p {
  margin: 0;
  opacity: 0.92;
  max-width: 32rem;
}

.page-marketplace .mkt-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-marketplace .mkt-cta .mkt-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-marketplace .mkt-cta .mkt-btn--solid:hover,
.page-marketplace .mkt-cta .mkt-btn--solid:focus-visible {
  background: var(--cream);
  border-color: var(--cream);
}

@media (max-width: 980px) {
  .page-marketplace .mkt-hero__grid,
  .page-marketplace .mkt-sync__grid,
  .page-marketplace .mkt-faq__inner,
  .page-marketplace .mkt-compare__grid {
    grid-template-columns: 1fr;
  }

  .page-marketplace .mkt-channels__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-marketplace .mkt-health__grid,
  .page-marketplace .mkt-timeline,
  .page-marketplace .mkt-gallery__grid,
  .page-marketplace .mkt-why__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-marketplace .mkt-timeline::before {
    display: none;
  }

  .page-marketplace .mkt-flow__arrow {
    display: none;
  }

  .page-marketplace .mkt-sync__media {
    order: -1;
  }
}

@media (max-width: 640px) {
  .page-marketplace .mkt-channels__grid,
  .page-marketplace .mkt-health__grid,
  .page-marketplace .mkt-timeline,
  .page-marketplace .mkt-gallery__grid,
  .page-marketplace .mkt-why__grid {
    grid-template-columns: 1fr;
  }

  .page-marketplace .mkt-flow__step {
    max-width: none;
    flex-basis: 100%;
  }

  .page-marketplace .mkt-cta__panel {
    padding: 1.75rem 1.25rem;
  }

  .page-marketplace .mkt-spoke {
    max-width: 100%;
  }
}

/* ===== Google Search Ads — SERP Bid Board (brand tokens) ===== */
.page-search-ads .gsa-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-search-ads .gsa-head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.page-search-ads .gsa-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-search-ads .gsa-head h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--text);
}

.page-search-ads .gsa-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.page-search-ads .gsa-byline {
  margin-top: 0.85rem !important;
  font-size: 0.88rem;
  color: var(--muted);
}

.page-search-ads .gsa-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-search-ads .gsa-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.35rem;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.page-search-ads .gsa-btn:hover { transform: translateY(-2px); }

.page-search-ads .gsa-btn--solid {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.page-search-ads .gsa-btn--solid:hover,
.page-search-ads .gsa-btn--solid:focus-visible {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: var(--white);
}

.page-search-ads .gsa-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border: 2px solid var(--green);
}

.page-search-ads .gsa-btn--outline:hover,
.page-search-ads .gsa-btn--outline:focus-visible {
  background: var(--soft);
}

.page-search-ads .gsa-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.page-search-ads .gsa-btn--ghost:hover,
.page-search-ads .gsa-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

.page-search-ads .gsa-hero {
  padding: 3rem 0 3.75rem;
  background:
    radial-gradient(ellipse 55% 50% at 90% 10%, rgba(0, 179, 72, 0.22), transparent 55%),
    linear-gradient(165deg, #02150c 0%, #003018 48%, #005c24 100%);
  color: var(--cream);
  overflow: hidden;
}

.page-search-ads .gsa-hero .gsa-kicker { color: var(--green-light); }

.page-search-ads .gsa-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 2.25rem;
  align-items: center;
}

.page-search-ads .gsa-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--white);
}

.page-search-ads .gsa-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: rgba(243, 250, 245, 0.9);
}

.page-search-ads .gsa-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(243, 250, 245, 0.82);
}

.page-search-ads .gsa-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.page-search-ads .gsa-hero .gsa-btn--outline {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}

.page-search-ads .gsa-hero .gsa-btn--outline:hover,
.page-search-ads .gsa-hero .gsa-btn--outline:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--white);
}

.page-search-ads .gsa-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  max-width: 28rem;
}

.page-search-ads .gsa-hero__stats div {
  padding: 0.75rem 0.7rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(77, 209, 122, 0.28);
}

.page-search-ads .gsa-hero__stats strong {
  display: block;
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--green-light);
}

.page-search-ads .gsa-hero__stats span {
  font-size: 0.72rem;
  color: rgba(243, 250, 245, 0.7);
  line-height: 1.3;
}

.page-search-ads .gsa-hero__visual {
  position: relative;
  display: grid;
  gap: 1rem;
}

.page-search-ads .gsa-hero__shot {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.35);
  aspect-ratio: 16 / 10;
}

.page-search-ads .gsa-hero__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
}

.page-search-ads .gsa-serp {
  position: relative;
  z-index: 1;
  margin-top: -3.5rem;
  margin-left: auto;
  width: min(100%, 22rem);
  padding: 1rem 1rem 1.05rem;
  background: rgba(255, 255, 255, 0.97);
  color: var(--text);
  border-radius: 16px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);
}

.page-search-ads .gsa-serp__label {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-search-ads .gsa-serp__bar {
  margin-bottom: 0.75rem;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: var(--cream);
  border: 1px solid var(--border);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--muted);
}

.page-search-ads .gsa-ad {
  padding: 0.8rem 0.9rem;
  margin-bottom: 0.65rem;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: #fff;
}

.page-search-ads .gsa-ad--win {
  border-color: var(--green-light);
  box-shadow: 0 0 0 2px rgba(0, 179, 72, 0.15);
}

.page-search-ads .gsa-ad span {
  display: inline-block;
  margin-bottom: 0.25rem;
  padding: 0.12rem 0.4rem;
  border-radius: 4px;
  background: var(--soft);
  color: var(--green-dark);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page-search-ads .gsa-ad strong {
  display: block;
  font-size: 0.98rem;
  color: #0b57d0;
}

.page-search-ads .gsa-ad em {
  display: block;
  font-style: normal;
  font-size: 0.8rem;
  color: var(--green-dark);
  margin: 0.15rem 0 0.3rem;
}

.page-search-ads .gsa-ad p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--muted);
}

.page-search-ads .gsa-spark {
  margin-top: 0.35rem;
  padding: 0.7rem 0.75rem 0.4rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #f3faf5 0%, var(--cream) 100%);
  border: 1px solid rgba(0, 179, 72, 0.12);
}

.page-search-ads .gsa-spark__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.2rem;
}

.page-search-ads .gsa-spark__top p {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--green-dark);
}

.page-search-ads .gsa-spark__top strong {
  font-size: 0.85rem;
  font-weight: 900;
  color: var(--green);
}

.page-search-ads .gsa-spark svg {
  display: block;
  width: 100%;
  height: auto;
}

.page-search-ads .gsa-spark__line {
  stroke-dasharray: 280;
  stroke-dashoffset: 280;
  animation: gsa-draw 1.2s ease-out 0.2s forwards;
}

.page-search-ads .gsa-spark__area {
  opacity: 0;
  animation: gsa-fade 0.8s ease-out 0.5s forwards;
}

.page-search-ads .gsa-waste {
  padding: 4rem 0;
  background: var(--white);
}

.page-search-ads .gsa-waste__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-search-ads .gsa-waste__row article {
  padding: 1.5rem 1.15rem 1.35rem;
  background: var(--cream);
  border-radius: 16px;
  border-top: 3px solid var(--green);
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.page-search-ads .gsa-waste__row article:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(0, 61, 24, 0.1);
}

.page-search-ads .gsa-ring {
  --circ: 213.628;
  position: relative;
  width: 4.75rem;
  height: 4.75rem;
  margin: 0 auto 0.95rem;
}

.page-search-ads .gsa-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  display: block;
}

.page-search-ads .gsa-ring__track {
  fill: none;
  stroke: rgba(0, 0, 0, 0.08);
  stroke-width: 8;
}

.page-search-ads .gsa-ring__fill {
  fill: none;
  stroke: var(--c, var(--green));
  stroke-width: 8;
  stroke-linecap: round;
  stroke-dasharray: var(--circ);
  stroke-dashoffset: calc(var(--circ) - (var(--p, 50) / 100) * var(--circ));
  animation: gsa-ring-draw 1.1s ease-out both;
}

.page-search-ads .gsa-ring span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 0.95rem;
  font-weight: 900;
  color: var(--green-dark);
}

.page-search-ads .gsa-waste__row h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  color: var(--green-dark);
}

.page-search-ads .gsa-waste__row p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--muted);
}

.page-search-ads .gsa-keywords,
.page-search-ads .gsa-ads {
  padding: 4rem 0;
}

.page-search-ads .gsa-keywords { background: var(--cream); }
.page-search-ads .gsa-ads { background: var(--white); }

.page-search-ads .gsa-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}

.page-search-ads .gsa-split--flip .gsa-split__copy { order: 2; }
.page-search-ads .gsa-split--flip .gsa-split__media { order: 1; }

.page-search-ads .gsa-split__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  color: var(--green-dark);
}

.page-search-ads .gsa-split__copy > p {
  margin: 0 0 1.15rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-search-ads .gsa-ticks {
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-search-ads .gsa-ticks li {
  position: relative;
  padding-left: 1.55rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.45;
}

.page-search-ads .gsa-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4rem;
  width: 0.75rem;
  height: 0.75rem;
  background: var(--green);
  border-radius: 2px;
}

.page-search-ads .gsa-bars {
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
  background: var(--white);
  border-radius: 14px;
  border: 1px solid var(--border);
}

.page-search-ads .gsa-bars__row {
  display: grid;
  grid-template-columns: 6.5rem 1fr auto;
  gap: 0.65rem;
  align-items: center;
}

.page-search-ads .gsa-bars__row span {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-search-ads .gsa-bars__row b {
  display: block;
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(0, 179, 72, 0.12);
  position: relative;
  overflow: hidden;
}

.page-search-ads .gsa-bars__row b::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--w, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  transform-origin: left center;
  animation: gsa-bar-grow 0.9s ease-out both;
}

.page-search-ads .gsa-bars__b--mute::after {
  background: linear-gradient(90deg, #9aa89e, #c5d0c8);
}

.page-search-ads .gsa-bars__row em {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--muted);
}

.page-search-ads .gsa-split__media {
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.12);
}

.page-search-ads .gsa-split__media--frame {
  position: relative;
  border: 1px solid var(--border);
}

.page-search-ads .gsa-split__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.page-search-ads .gsa-split__media:hover img {
  transform: scale(1.04);
}

.page-search-ads .gsa-split__media figcaption {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  padding: 0.4rem 0.7rem;
  border-radius: 8px;
  background: rgba(2, 21, 12, 0.78);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 700;
}

.page-search-ads .gsa-measure {
  padding: 4rem 0;
  background:
    radial-gradient(ellipse 50% 60% at 100% 0%, rgba(0, 179, 72, 0.08), transparent 50%),
    var(--cream);
}

.page-search-ads .gsa-measure__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.25rem;
  align-items: start;
}

.page-search-ads .gsa-measure__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  color: var(--green-dark);
}

.page-search-ads .gsa-measure__copy > p {
  margin: 0 0 1.35rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-search-ads .gsa-measure__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

.page-search-ads .gsa-measure__grid article {
  padding: 1.1rem 1rem;
  background: var(--white);
  border-radius: 12px;
  border: 1px solid var(--border);
}

.page-search-ads .gsa-measure__grid h3 {
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  color: var(--green-dark);
}

.page-search-ads .gsa-measure__grid p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-search-ads .gsa-chart-card {
  padding: 1.15rem 1.15rem 1.15rem;
  background: var(--white);
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: 0 22px 44px rgba(0, 61, 24, 0.1);
}

.page-search-ads .gsa-chart-card__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.page-search-ads .gsa-chart-card__head p {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--green-dark);
}

.page-search-ads .gsa-chart-card__head span {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted);
}

.page-search-ads .gsa-chart {
  display: block;
  width: 100%;
  height: auto;
}

.page-search-ads .gsa-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0 0 0.75rem;
}

.page-search-ads .gsa-kpis div {
  padding: 0.65rem 0.55rem;
  border-radius: 10px;
  background: linear-gradient(180deg, #f3faf5, #fff);
  border: 1px solid rgba(0, 179, 72, 0.14);
  text-align: center;
}

.page-search-ads .gsa-kpis em {
  display: block;
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.2rem;
}

.page-search-ads .gsa-kpis strong {
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--green);
}

.page-search-ads .gsa-kpis__down { color: #e07a3d !important; }

.page-search-ads .gsa-chart__line {
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
  animation: gsa-draw 1.4s ease-out 0.15s forwards;
}

.page-search-ads .gsa-chart__cpl {
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
  animation: gsa-draw 1.4s ease-out 0.35s forwards;
}

.page-search-ads .gsa-chart__area {
  opacity: 0;
  animation: gsa-fade 0.9s ease-out 0.55s forwards;
}

.page-search-ads .gsa-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0.35rem 0 0.9rem;
  padding: 0;
  list-style: none;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--muted);
}

.page-search-ads .gsa-dot {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.4rem;
  border-radius: 50%;
  vertical-align: middle;
}

.page-search-ads .gsa-dot--green { background: var(--green); }
.page-search-ads .gsa-dot--orange { background: #e07a3d; }

.page-search-ads .gsa-chart-card__shot {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
}

.page-search-ads .gsa-chart-card__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}

.page-search-ads .gsa-chart-card__shot:hover img {
  transform: scale(1.04);
}

.page-search-ads .gsa-includes {
  padding: 4rem 0;
  background: var(--white);
}

.page-search-ads .gsa-includes__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.page-search-ads .gsa-includes__grid li {
  display: flex;
  gap: 0.85rem;
  padding: 1.25rem 1.15rem;
  background: var(--cream);
  border-radius: 14px;
  border: 1px solid var(--border);
}

.page-search-ads .gsa-includes__grid strong {
  color: var(--green);
  font-size: 1.1rem;
  font-weight: 900;
}

.page-search-ads .gsa-includes__grid h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  color: var(--green-dark);
}

.page-search-ads .gsa-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
}

.page-search-ads .gsa-gallery {
  padding: 1rem 0 4.5rem;
  background: var(--white);
}

.page-search-ads .gsa-gallery .gsa-head {
  margin-bottom: 1.75rem;
}

.page-search-ads .gsa-gallery__grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 1rem;
}

.page-search-ads .gsa-gallery__main {
  grid-row: 1 / span 2;
}

.page-search-ads .gsa-gallery__wide {
  grid-column: 2 / span 2;
}

.page-search-ads .gsa-gallery figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(0, 61, 24, 0.12);
  min-height: 11rem;
}

.page-search-ads .gsa-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 11rem;
  transition: transform 0.55s ease;
}

.page-search-ads .gsa-gallery figure:hover img {
  transform: scale(1.05);
}

.page-search-ads .gsa-gallery__main img { min-height: 100%; aspect-ratio: auto; }

.page-search-ads .gsa-gallery figcaption {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  z-index: 1;
  padding: 0.45rem 0.75rem;
  border-radius: 8px;
  background: rgba(2, 21, 12, 0.8);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.page-search-ads .gsa-why {
  padding: 4rem 0;
  background: var(--cream);
}

.page-search-ads .gsa-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.page-search-ads .gsa-why__grid article {
  padding: 1.5rem 1.25rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--white);
}

.page-search-ads .gsa-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}

.page-search-ads .gsa-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.page-search-ads .gsa-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-search-ads .gsa-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-search-ads .gsa-faq__list { display: grid; gap: 0.75rem; }

.page-search-ads .gsa-faq__item {
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.35rem 1.1rem;
}

.page-search-ads .gsa-faq__item summary {
  cursor: pointer;
  padding: 0.85rem 0;
  font-weight: 800;
  color: var(--green-dark);
  list-style: none;
}

.page-search-ads .gsa-faq__item summary::-webkit-details-marker { display: none; }

.page-search-ads .gsa-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-search-ads .gsa-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}

.page-search-ads .gsa-cta__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  background: linear-gradient(135deg, #003d18, var(--green-dark) 42%, var(--green));
  color: var(--white);
  border-radius: 16px;
}

.page-search-ads .gsa-cta__panel h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  max-width: 28rem;
}

.page-search-ads .gsa-cta__panel p {
  margin: 0;
  opacity: 0.92;
  max-width: 30rem;
}

.page-search-ads .gsa-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-search-ads .gsa-cta .gsa-btn--solid {
  background: var(--white);
  border-color: var(--white);
  color: var(--green-dark);
}

.page-search-ads .gsa-cta .gsa-btn--solid:hover,
.page-search-ads .gsa-cta .gsa-btn--solid:focus-visible {
  background: var(--cream);
  border-color: var(--cream);
}

@media (max-width: 980px) {
  .page-search-ads .gsa-hero__grid,
  .page-search-ads .gsa-split,
  .page-search-ads .gsa-measure__layout,
  .page-search-ads .gsa-faq__inner,
  .page-search-ads .gsa-gallery__grid {
    grid-template-columns: 1fr;
  }

  .page-search-ads .gsa-gallery__main { grid-row: auto; }
  .page-search-ads .gsa-gallery__wide { grid-column: auto; }
  .page-search-ads .gsa-kpis { grid-template-columns: 1fr; }

  .page-search-ads .gsa-serp {
    margin-top: -2rem;
    width: 100%;
  }

  .page-search-ads .gsa-split--flip .gsa-split__copy,
  .page-search-ads .gsa-split--flip .gsa-split__media {
    order: initial;
  }

  .page-search-ads .gsa-waste__row,
  .page-search-ads .gsa-includes__grid,
  .page-search-ads .gsa-why__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-search-ads .gsa-ads .gsa-split__media { order: -1; }
}

@media (max-width: 640px) {
  .page-search-ads .gsa-waste__row,
  .page-search-ads .gsa-measure__grid,
  .page-search-ads .gsa-includes__grid,
  .page-search-ads .gsa-why__grid,
  .page-search-ads .gsa-hero__stats {
    grid-template-columns: 1fr;
  }

  .page-search-ads .gsa-bars__row {
    grid-template-columns: 5rem 1fr auto;
  }

  .page-search-ads .gsa-cta__panel { padding: 1.75rem 1.25rem; }
}

@keyframes gsa-draw {
  to { stroke-dashoffset: 0; }
}

@keyframes gsa-fade {
  to { opacity: 1; }
}

@keyframes gsa-bar-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes gsa-ring-draw {
  from { stroke-dashoffset: var(--circ); }
}

@media (prefers-reduced-motion: reduce) {
  .page-search-ads .gsa-spark__line,
  .page-search-ads .gsa-chart__line,
  .page-search-ads .gsa-chart__cpl,
  .page-search-ads .gsa-spark__area,
  .page-search-ads .gsa-chart__area,
  .page-search-ads .gsa-bars__row b::after,
  .page-search-ads .gsa-ring__fill {
    animation: none !important;
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ===== Google Shopping Ads (page-shopping-ads) ===== */
.page-shopping-ads .gsh-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green);
}

.page-shopping-ads .gsh-head { margin-bottom: 2rem; }
.page-shopping-ads .gsh-head--center { text-align: center; }
.page-shopping-ads .gsh-head h2 {
  margin: 0;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.25rem;
  border-radius: 10px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.page-shopping-ads .gsh-btn--solid {
  background: var(--green);
  color: var(--white);
}
.page-shopping-ads .gsh-btn--solid:hover,
.page-shopping-ads .gsh-btn--solid:focus-visible {
  background: var(--green-dark);
}

.page-shopping-ads .gsh-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border-color: rgba(0, 179, 72, 0.45);
}
.page-shopping-ads .gsh-btn--outline:hover,
.page-shopping-ads .gsh-btn--outline:focus-visible {
  background: rgba(0, 179, 72, 0.08);
  border-color: var(--green);
}

.page-shopping-ads .gsh-btn--ghost {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.5);
}
.page-shopping-ads .gsh-btn--ghost:hover,
.page-shopping-ads .gsh-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

.page-shopping-ads .gsh-hero {
  padding: 3rem 0 3.5rem;
  background:
    radial-gradient(ellipse 50% 45% at 12% 0%, rgba(0, 179, 72, 0.14), transparent 55%),
    linear-gradient(180deg, #f3faf5 0%, var(--cream) 55%, #fff 100%);
  overflow: hidden;
}

.page-shopping-ads .gsh-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 2.25rem;
  align-items: center;
}

.page-shopping-ads .gsh-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: var(--text);
}

.page-shopping-ads .gsh-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
}

.page-shopping-ads .gsh-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-shopping-ads .gsh-hero__visual {
  position: relative;
  display: grid;
  gap: 0.85rem;
}

.page-shopping-ads .gsh-hero__shot {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: 0 24px 48px rgba(0, 61, 24, 0.12);
  aspect-ratio: 16 / 10;
}

.page-shopping-ads .gsh-hero__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.page-shopping-ads .gsh-shelf {
  margin-top: -2.75rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 16px;
  border: 1px solid var(--border);
  box-shadow: 0 20px 40px rgba(0, 61, 24, 0.14);
}

.page-shopping-ads .gsh-shelf__label {
  margin: 0 0 0.7rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}

.page-shopping-ads .gsh-shelf__rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.page-shopping-ads .gsh-tile {
  padding: 0.55rem;
  border-radius: 10px;
  background: var(--cream);
  border: 1px solid var(--border);
}

.page-shopping-ads .gsh-tile--hot {
  border-color: var(--green-light);
  box-shadow: 0 0 0 2px rgba(0, 179, 72, 0.12);
}

.page-shopping-ads .gsh-tile__img {
  display: block;
  height: 2.6rem;
  margin-bottom: 0.4rem;
  border-radius: 6px;
  background:
    linear-gradient(135deg, rgba(0, 179, 72, 0.25), rgba(0, 92, 36, 0.08)),
    repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(0, 179, 72, 0.06) 6px, rgba(0, 179, 72, 0.06) 12px);
}

.page-shopping-ads .gsh-tile__img--2 {
  background:
    linear-gradient(135deg, rgba(224, 122, 61, 0.2), rgba(0, 179, 72, 0.08)),
    repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(0, 0, 0, 0.04) 6px, rgba(0, 0, 0, 0.04) 12px);
}

.page-shopping-ads .gsh-tile__img--3 {
  background: linear-gradient(135deg, rgba(201, 162, 39, 0.22), rgba(0, 179, 72, 0.1));
}

.page-shopping-ads .gsh-tile strong {
  display: block;
  font-size: 0.95rem;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-tile em {
  display: block;
  font-style: normal;
  font-size: 0.72rem;
  color: var(--muted);
  margin: 0.1rem 0 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-shopping-ads .gsh-tile b {
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--green);
}

.page-shopping-ads .gsh-shelf__meter {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.35rem 0.75rem;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-shelf__meter i {
  grid-column: 1 / -1;
  display: block;
  height: 0.45rem;
  border-radius: 999px;
  background: rgba(0, 179, 72, 0.12);
  position: relative;
  overflow: hidden;
}

.page-shopping-ads .gsh-shelf__meter i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--p, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  transform-origin: left center;
  animation: gsh-bar 1s ease-out both;
}

.page-shopping-ads .gsh-shelf__meter strong { color: var(--green); }

.page-shopping-ads .gsh-leaks {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopping-ads .gsh-leaks__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.page-shopping-ads .gsh-leaks__row article {
  padding: 1.4rem 1.1rem;
  text-align: center;
  background: var(--cream);
  border-radius: 16px;
  border-left: 3px solid var(--green);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.page-shopping-ads .gsh-leaks__row article:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(0, 61, 24, 0.1);
}

.page-shopping-ads .gsh-dial {
  width: 4.25rem;
  height: 4.25rem;
  margin: 0 auto 0.85rem;
  border-radius: 50%;
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(var(--green) calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
  display: grid;
  place-items: center;
}

.page-shopping-ads .gsh-dial--warn {
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(#e07a3d calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
}
.page-shopping-ads .gsh-dial--mid {
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(#c9a227 calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
}
.page-shopping-ads .gsh-dial--bad {
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(#d64545 calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
}

.page-shopping-ads .gsh-dial span {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-leaks__row h3 {
  margin: 0 0 0.4rem;
  font-size: 1.02rem;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-leaks__row p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-shopping-ads .gsh-groups { padding: 4rem 0; background: var(--cream); }
.page-shopping-ads .gsh-listings { padding: 4rem 0; background: var(--white); }

.page-shopping-ads .gsh-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}

.page-shopping-ads .gsh-split--flip .gsh-split__copy { order: 2; }
.page-shopping-ads .gsh-split--flip .gsh-split__media { order: 1; }

.page-shopping-ads .gsh-split__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-split__copy > p {
  margin: 0 0 1.15rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-shopping-ads .gsh-ticks {
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.page-shopping-ads .gsh-ticks li {
  position: relative;
  padding-left: 1.55rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.45;
}

.page-shopping-ads .gsh-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

.page-shopping-ads .gsh-stack {
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
  background: var(--white);
  border-radius: 14px;
  border: 1px solid var(--border);
}

.page-shopping-ads .gsh-stack__row {
  display: grid;
  grid-template-columns: 7rem 1fr auto;
  gap: 0.65rem;
  align-items: center;
}

.page-shopping-ads .gsh-stack__row span {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-stack__row b {
  display: block;
  height: 0.7rem;
  border-radius: 6px;
  background: rgba(0, 179, 72, 0.12);
  position: relative;
  overflow: hidden;
}

.page-shopping-ads .gsh-stack__row b::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--w, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  transform-origin: left center;
  animation: gsh-bar 0.95s ease-out both;
}

.page-shopping-ads .gsh-stack__row--mid b::after {
  background: linear-gradient(90deg, #3aad68, #7fc89a);
}
.page-shopping-ads .gsh-stack__row--low b::after {
  background: linear-gradient(90deg, #9aa89e, #c5d0c8);
}

.page-shopping-ads .gsh-stack__row em {
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--muted);
}

.page-shopping-ads .gsh-split__media {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--border);
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.12);
}

.page-shopping-ads .gsh-split__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.page-shopping-ads .gsh-split__media:hover img { transform: scale(1.04); }

.page-shopping-ads .gsh-split__media figcaption {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  padding: 0.4rem 0.7rem;
  border-radius: 8px;
  background: rgba(2, 21, 12, 0.78);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 700;
}

.page-shopping-ads .gsh-roas {
  padding: 4rem 0;
  background:
    radial-gradient(ellipse 45% 55% at 0% 20%, rgba(0, 179, 72, 0.08), transparent 50%),
    var(--cream);
}

.page-shopping-ads .gsh-roas__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.25rem;
  align-items: start;
}

.page-shopping-ads .gsh-roas__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-roas__copy > p {
  margin: 0 0 1.35rem;
  color: var(--muted);
  line-height: 1.65;
}

.page-shopping-ads .gsh-roas__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

.page-shopping-ads .gsh-roas__grid article {
  padding: 1.1rem 1rem;
  background: var(--white);
  border-radius: 12px;
  border: 1px solid var(--border);
}

.page-shopping-ads .gsh-roas__grid h3 {
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-roas__grid p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-shopping-ads .gsh-chart-card {
  padding: 1.15rem;
  background: var(--white);
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: 0 22px 44px rgba(0, 61, 24, 0.1);
}

.page-shopping-ads .gsh-chart-card__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.page-shopping-ads .gsh-chart-card__head p {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-chart-card__head span {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted);
}

.page-shopping-ads .gsh-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0 0 0.75rem;
}

.page-shopping-ads .gsh-kpis div {
  padding: 0.65rem 0.55rem;
  border-radius: 10px;
  background: linear-gradient(180deg, #f3faf5, #fff);
  border: 1px solid rgba(0, 179, 72, 0.14);
  text-align: center;
}

.page-shopping-ads .gsh-kpis em {
  display: block;
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.2rem;
}

.page-shopping-ads .gsh-kpis strong {
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--green);
}

.page-shopping-ads .gsh-kpis__down { color: #e07a3d !important; }

.page-shopping-ads .gsh-chart {
  display: block;
  width: 100%;
  height: auto;
}

.page-shopping-ads .gsh-chart__line {
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
  animation: gsh-draw 1.4s ease-out 0.2s forwards;
}

.page-shopping-ads .gsh-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0.35rem 0 0.9rem;
  padding: 0;
  list-style: none;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--muted);
}

.page-shopping-ads .gsh-dot {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.4rem;
  border-radius: 50%;
  vertical-align: middle;
}

.page-shopping-ads .gsh-dot--green { background: var(--green); }
.page-shopping-ads .gsh-dot--dark { background: var(--green-dark); }

.page-shopping-ads .gsh-chart-card__shot {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
}

.page-shopping-ads .gsh-chart-card__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}

.page-shopping-ads .gsh-chart-card__shot:hover img { transform: scale(1.04); }

.page-shopping-ads .gsh-includes {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopping-ads .gsh-includes__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.page-shopping-ads .gsh-includes__grid li {
  display: flex;
  gap: 0.85rem;
  padding: 1.2rem 1.1rem;
  border-radius: 14px;
  background: var(--cream);
  border: 1px solid var(--border);
}

.page-shopping-ads .gsh-includes__grid strong {
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}

.page-shopping-ads .gsh-includes__grid h3 {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
}

.page-shopping-ads .gsh-gallery {
  padding: 1rem 0 4.5rem;
  background: var(--white);
}

.page-shopping-ads .gsh-gallery .gsh-head { margin-bottom: 1.75rem; }

.page-shopping-ads .gsh-gallery__grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 1rem;
}

.page-shopping-ads .gsh-gallery__main { grid-row: 1 / span 2; }
.page-shopping-ads .gsh-gallery__wide { grid-column: 2 / span 2; }

.page-shopping-ads .gsh-gallery figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(0, 61, 24, 0.12);
  min-height: 11rem;
}

.page-shopping-ads .gsh-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 11rem;
  transition: transform 0.55s ease;
}

.page-shopping-ads .gsh-gallery figure:hover img { transform: scale(1.05); }
.page-shopping-ads .gsh-gallery__main img { min-height: 100%; aspect-ratio: auto; }

.page-shopping-ads .gsh-gallery figcaption {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  z-index: 1;
  padding: 0.45rem 0.75rem;
  border-radius: 8px;
  background: rgba(2, 21, 12, 0.8);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.page-shopping-ads .gsh-why {
  padding: 4rem 0;
  background: var(--cream);
}

.page-shopping-ads .gsh-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.page-shopping-ads .gsh-why__grid article {
  padding: 1.5rem 1.25rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--white);
}

.page-shopping-ads .gsh-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.page-shopping-ads .gsh-faq {
  padding: 4rem 0;
  background: var(--white);
}

.page-shopping-ads .gsh-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}

.page-shopping-ads .gsh-byline {
  margin: 0.85rem 0 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
}

.page-shopping-ads .gsh-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-faq__list { display: grid; gap: 0.75rem; }

.page-shopping-ads .gsh-faq__item {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--cream);
  padding: 0.15rem 1rem;
}

.page-shopping-ads .gsh-faq__item summary {
  cursor: pointer;
  list-style: none;
  padding: 0.95rem 0;
  font-weight: 800;
  color: var(--green-dark);
}

.page-shopping-ads .gsh-faq__item summary::-webkit-details-marker { display: none; }

.page-shopping-ads .gsh-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.6;
}

.page-shopping-ads .gsh-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}

.page-shopping-ads .gsh-cta__panel {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  border-radius: 18px;
  background:
    radial-gradient(ellipse 40% 80% at 100% 50%, rgba(0, 179, 72, 0.28), transparent 55%),
    linear-gradient(135deg, #02150c 0%, #003018 55%, #005c24 100%);
  color: var(--cream);
}

.page-shopping-ads .gsh-cta__panel h2 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  color: var(--white);
}

.page-shopping-ads .gsh-cta__panel p {
  margin: 0;
  color: rgba(243, 250, 245, 0.82);
}

.page-shopping-ads .gsh-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

@keyframes gsh-bar {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes gsh-draw {
  to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .page-shopping-ads .gsh-shelf__meter i::after,
  .page-shopping-ads .gsh-stack__row b::after,
  .page-shopping-ads .gsh-chart__line {
    animation: none !important;
    transform: none !important;
    stroke-dashoffset: 0 !important;
  }
}

@media (max-width: 980px) {
  .page-shopping-ads .gsh-hero__grid,
  .page-shopping-ads .gsh-split,
  .page-shopping-ads .gsh-roas__layout,
  .page-shopping-ads .gsh-faq__inner,
  .page-shopping-ads .gsh-gallery__grid {
    grid-template-columns: 1fr;
  }

  .page-shopping-ads .gsh-gallery__main { grid-row: auto; }
  .page-shopping-ads .gsh-gallery__wide { grid-column: auto; }
  .page-shopping-ads .gsh-shelf { margin-top: -1.5rem; }

  .page-shopping-ads .gsh-split--flip .gsh-split__copy,
  .page-shopping-ads .gsh-split--flip .gsh-split__media {
    order: initial;
  }

  .page-shopping-ads .gsh-listings .gsh-split__media { order: -1; }

  .page-shopping-ads .gsh-leaks__row,
  .page-shopping-ads .gsh-includes__grid,
  .page-shopping-ads .gsh-why__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .page-shopping-ads .gsh-leaks__row,
  .page-shopping-ads .gsh-roas__grid,
  .page-shopping-ads .gsh-includes__grid,
  .page-shopping-ads .gsh-why__grid,
  .page-shopping-ads .gsh-kpis,
  .page-shopping-ads .gsh-shelf__rail {
    grid-template-columns: 1fr;
  }

  .page-shopping-ads .gsh-stack__row {
    grid-template-columns: 5.5rem 1fr auto;
  }

  .page-shopping-ads .gsh-cta__panel { padding: 1.75rem 1.25rem; }
}

/* ===== Performance Max Campaigns — Placement Orbit (brand tokens) ===== */
.page-pmax .pmx-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green);
}

.page-pmax .pmx-head { margin-bottom: 2rem; }
.page-pmax .pmx-head--center { text-align: center; }
.page-pmax .pmx-head h2 {
  margin: 0;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  line-height: 1.15;
  color: var(--green-dark);
}
.page-pmax .pmx-head p {
  margin: 0.65rem auto 0;
  max-width: 40rem;
  color: var(--muted);
  line-height: 1.6;
}

.page-pmax .pmx-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 1.25rem;
  border-radius: 10px;
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.page-pmax .pmx-btn--solid { background: var(--green); color: var(--white); }
.page-pmax .pmx-btn--solid:hover,
.page-pmax .pmx-btn--solid:focus-visible { background: var(--green-dark); }
.page-pmax .pmx-btn--outline {
  background: transparent;
  color: var(--green-dark);
  border-color: rgba(0, 179, 72, 0.45);
}
.page-pmax .pmx-btn--outline:hover,
.page-pmax .pmx-btn--outline:focus-visible {
  background: rgba(0, 179, 72, 0.08);
  border-color: var(--green);
}
.page-pmax .pmx-btn--ghost {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.5);
}
.page-pmax .pmx-btn--ghost:hover,
.page-pmax .pmx-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--white);
}

.page-pmax .pmx-hero {
  padding: 3rem 0 3.5rem;
  background:
    radial-gradient(ellipse 45% 50% at 88% 15%, rgba(0, 179, 72, 0.2), transparent 55%),
    linear-gradient(155deg, #02150c 0%, #003018 50%, #005c24 100%);
  color: var(--cream);
  overflow: hidden;
}
.page-pmax .pmx-hero .pmx-kicker { color: var(--green-light); }
.page-pmax .pmx-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 2.25rem;
  align-items: center;
}
.page-pmax .pmx-hero .svc-h1-stack {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--white);
}
.page-pmax .pmx-hero h1 {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72em;
  font-weight: 700;
  color: rgba(243, 250, 245, 0.9);
}
.page-pmax .pmx-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(243, 250, 245, 0.82);
}
.page-pmax .pmx-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.page-pmax .pmx-hero .pmx-btn--outline {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.45);
}
.page-pmax .pmx-hero .pmx-btn--outline:hover,
.page-pmax .pmx-hero .pmx-btn--outline:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--white);
}

.page-pmax .pmx-hero__visual {
  position: relative;
  display: grid;
  gap: 0.85rem;
}
.page-pmax .pmx-hero__shot {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.35);
  aspect-ratio: 16 / 10;
}
.page-pmax .pmx-hero__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.page-pmax .pmx-orbit {
  margin-top: -2.75rem;
  margin-left: auto;
  width: min(100%, 22rem);
  padding: 1.05rem 1.1rem;
  background: rgba(255, 255, 255, 0.97);
  color: var(--text);
  border-radius: 16px;
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.28);
  position: relative;
  z-index: 1;
}
.page-pmax .pmx-orbit__label {
  margin: 0 0 0.7rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-mid);
}
.page-pmax .pmx-orbit__core {
  width: 5.5rem;
  height: 5.5rem;
  margin: 0 auto 0.9rem;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.35), transparent 45%),
    linear-gradient(145deg, var(--green), var(--green-dark));
  color: var(--white);
  box-shadow: 0 0 0 8px rgba(0, 179, 72, 0.18);
}
.page-pmax .pmx-orbit__core strong {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.page-pmax .pmx-orbit__core span {
  font-size: 0.85rem;
  font-weight: 900;
}
.page-pmax .pmx-orbit__chips {
  margin: 0 0 0.85rem;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
}
.page-pmax .pmx-orbit__chips li {
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: var(--cream);
  border: 1px solid var(--border);
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--green-dark);
}
.page-pmax .pmx-orbit__meter {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.35rem 0.75rem;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--green-dark);
}
.page-pmax .pmx-orbit__meter i {
  grid-column: 1 / -1;
  display: block;
  height: 0.45rem;
  border-radius: 999px;
  background: rgba(0, 179, 72, 0.12);
  position: relative;
  overflow: hidden;
}
.page-pmax .pmx-orbit__meter i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--p, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  transform-origin: left center;
  animation: pmx-bar 1s ease-out both;
}
.page-pmax .pmx-orbit__meter strong { color: var(--green); }

.page-pmax .pmx-stalls {
  padding: 4rem 0;
  background: var(--white);
}
.page-pmax .pmx-stalls__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.page-pmax .pmx-stalls__row article {
  padding: 1.4rem 1.1rem;
  text-align: center;
  background: var(--cream);
  border-radius: 16px;
  border-top: 3px solid var(--green);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.page-pmax .pmx-stalls__row article:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(0, 61, 24, 0.1);
}
.page-pmax .pmx-dial {
  width: 4.25rem;
  height: 4.25rem;
  margin: 0 auto 0.85rem;
  border-radius: 50%;
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(var(--green) calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
  display: grid;
  place-items: center;
}
.page-pmax .pmx-dial--warn {
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(#e07a3d calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
}
.page-pmax .pmx-dial--mid {
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(#c9a227 calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
}
.page-pmax .pmx-dial--bad {
  background:
    radial-gradient(circle closest-side, var(--cream) 72%, transparent 73%),
    conic-gradient(#d64545 calc(var(--p) * 1%), rgba(0, 0, 0, 0.08) 0);
}
.page-pmax .pmx-dial span {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--green-dark);
}
.page-pmax .pmx-stalls__row h3 {
  margin: 0 0 0.4rem;
  font-size: 1.02rem;
  color: var(--green-dark);
}
.page-pmax .pmx-stalls__row p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

.page-pmax .pmx-assets { padding: 4rem 0; background: var(--cream); }
.page-pmax .pmx-signals { padding: 4rem 0; background: var(--white); }

.page-pmax .pmx-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}
.page-pmax .pmx-split--flip .pmx-split__copy { order: 2; }
.page-pmax .pmx-split--flip .pmx-split__media { order: 1; }
.page-pmax .pmx-split__copy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  color: var(--green-dark);
}
.page-pmax .pmx-split__copy > p {
  margin: 0 0 1.15rem;
  color: var(--muted);
  line-height: 1.65;
}
.page-pmax .pmx-ticks {
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}
.page-pmax .pmx-ticks li {
  position: relative;
  padding-left: 1.55rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.45;
}
.page-pmax .pmx-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 179, 72, 0.18);
}

.page-pmax .pmx-bars {
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
  background: var(--white);
  border-radius: 14px;
  border: 1px solid var(--border);
}
.page-pmax .pmx-bars__row {
  display: grid;
  grid-template-columns: 5.5rem 1fr auto;
  gap: 0.65rem;
  align-items: center;
}
.page-pmax .pmx-bars__row span {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--green-dark);
}
.page-pmax .pmx-bars__row b {
  display: block;
  height: 0.65rem;
  border-radius: 6px;
  background: rgba(0, 179, 72, 0.12);
  position: relative;
  overflow: hidden;
}
.page-pmax .pmx-bars__row b::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--w, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green-dark), var(--green));
  transform-origin: left center;
  animation: pmx-bar 0.95s ease-out both;
}
.page-pmax .pmx-bars__row--mid b::after {
  background: linear-gradient(90deg, #3aad68, #7fc89a);
}
.page-pmax .pmx-bars__row--vid b::after {
  background: linear-gradient(90deg, #00963c, #4dd17a);
}
.page-pmax .pmx-bars__row--low b::after {
  background: linear-gradient(90deg, #9aa89e, #c5d0c8);
}
.page-pmax .pmx-bars__row em {
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--muted);
}

.page-pmax .pmx-split__media {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--border);
  box-shadow: 0 18px 40px rgba(0, 61, 24, 0.12);
}
.page-pmax .pmx-split__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.55s ease;
}
.page-pmax .pmx-split__media:hover img { transform: scale(1.04); }
.page-pmax .pmx-split__media figcaption {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  padding: 0.4rem 0.7rem;
  border-radius: 8px;
  background: rgba(2, 21, 12, 0.78);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 700;
}

.page-pmax .pmx-measure {
  padding: 4.5rem 0;
  background:
    radial-gradient(ellipse 50% 45% at 90% 10%, rgba(0, 179, 72, 0.12), transparent 55%),
    linear-gradient(180deg, var(--cream) 0%, #fff 55%, var(--cream) 100%);
}

.page-pmax .pmx-measure .pmx-head {
  margin-bottom: 2.25rem;
}

.page-pmax .pmx-measure__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: 1.5rem;
  align-items: stretch;
}

.page-pmax .pmx-measure__ops {
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.page-pmax .pmx-op {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.85rem;
  align-items: center;
  padding: 1.05rem 1.1rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(0, 61, 24, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.page-pmax .pmx-op:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 179, 72, 0.4);
  box-shadow: 0 16px 36px rgba(0, 61, 24, 0.12);
}

.page-pmax .pmx-op__icon {
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--soft), #fff);
  border: 1px solid rgba(0, 179, 72, 0.2);
  color: var(--green);
}

.page-pmax .pmx-op h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  color: var(--green-dark);
}

.page-pmax .pmx-op p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--muted);
}

.page-pmax .pmx-op em {
  font-style: normal;
  font-size: 0.85rem;
  font-weight: 900;
  color: rgba(0, 179, 72, 0.35);
}

.page-pmax .pmx-dash {
  padding: 1.25rem;
  border-radius: 22px;
  background:
    radial-gradient(ellipse 55% 40% at 100% 0%, rgba(0, 179, 72, 0.22), transparent 50%),
    linear-gradient(160deg, #02150c 0%, #0a2a16 48%, #003018 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 28px 56px rgba(0, 40, 16, 0.28);
  color: var(--cream);
}

.page-pmax .pmx-dash__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.page-pmax .pmx-dash__label {
  margin: 0 0 0.25rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-light);
}

.page-pmax .pmx-dash__top strong {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--white);
}

.page-pmax .pmx-dash__badge {
  flex: 0 0 auto;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(0, 179, 72, 0.2);
  border: 1px solid rgba(77, 209, 122, 0.35);
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--green-light);
}

.page-pmax .pmx-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0 0 1rem;
}

.page-pmax .pmx-kpis__card {
  padding: 0.75rem 0.7rem 0.55rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.page-pmax .pmx-kpis__card em {
  display: block;
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(243, 250, 245, 0.65);
  margin-bottom: 0.2rem;
}

.page-pmax .pmx-kpis__card strong {
  display: block;
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--green-light);
  margin-bottom: 0.35rem;
}

.page-pmax .pmx-kpis__down { color: #f0a060 !important; }

.page-pmax .pmx-kpis__card svg {
  display: block;
  width: 100%;
  height: 1.4rem;
}

.page-pmax .pmx-dash__chart-wrap {
  padding: 0.85rem 0.85rem 0.55rem;
  margin-bottom: 0.9rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.97);
  color: var(--text);
}

.page-pmax .pmx-chart {
  display: block;
  width: 100%;
  height: auto;
}

.page-pmax .pmx-chart__line {
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
  animation: pmx-draw 1.4s ease-out 0.15s forwards;
}

.page-pmax .pmx-chart__cpl {
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
  animation: pmx-draw 1.4s ease-out 0.35s forwards;
}

.page-pmax .pmx-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0.15rem 0 0.35rem;
  padding: 0;
  list-style: none;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--muted);
}

.page-pmax .pmx-dot {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.4rem;
  border-radius: 50%;
  background: var(--green);
  vertical-align: middle;
}

.page-pmax .pmx-dot--orange { background: #e07a3d; }

.page-pmax .pmx-dash__shot {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  aspect-ratio: 16 / 8;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.page-pmax .pmx-dash__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}

.page-pmax .pmx-dash__shot:hover img {
  transform: scale(1.04);
}

.page-pmax .pmx-dash__shot figcaption {
  position: absolute;
  left: 0.75rem;
  bottom: 0.75rem;
  padding: 0.35rem 0.65rem;
  border-radius: 8px;
  background: rgba(2, 21, 12, 0.82);
  color: var(--white);
  font-size: 0.75rem;
  font-weight: 700;
}

.page-pmax .pmx-includes {
  padding: 4rem 0;
  background: var(--white);
}
.page-pmax .pmx-includes__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.page-pmax .pmx-includes__grid li {
  display: flex;
  gap: 0.85rem;
  padding: 1.2rem 1.1rem;
  border-radius: 14px;
  background: var(--cream);
  border: 1px solid var(--border);
}
.page-pmax .pmx-includes__grid strong {
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--green);
  line-height: 1;
}
.page-pmax .pmx-includes__grid h3 {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  color: var(--green-dark);
}
.page-pmax .pmx-includes__grid p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
}

.page-pmax .pmx-gallery {
  padding: 1rem 0 4.5rem;
  background: var(--white);
}
.page-pmax .pmx-gallery .pmx-head { margin-bottom: 1.75rem; }
.page-pmax .pmx-gallery__grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 1rem;
}
.page-pmax .pmx-gallery__main { grid-row: 1 / span 2; }
.page-pmax .pmx-gallery__wide { grid-column: 2 / span 2; }
.page-pmax .pmx-gallery figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(0, 61, 24, 0.12);
  min-height: 11rem;
}
.page-pmax .pmx-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 11rem;
  transition: transform 0.55s ease;
}
.page-pmax .pmx-gallery figure:hover img { transform: scale(1.05); }
.page-pmax .pmx-gallery__main img { min-height: 100%; aspect-ratio: auto; }
.page-pmax .pmx-gallery figcaption {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  z-index: 1;
  padding: 0.45rem 0.75rem;
  border-radius: 8px;
  background: rgba(2, 21, 12, 0.8);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 700;
}

.page-pmax .pmx-why {
  padding: 4rem 0;
  background: var(--cream);
}
.page-pmax .pmx-why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
.page-pmax .pmx-why__grid article {
  padding: 1.5rem 1.25rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--white);
}
.page-pmax .pmx-why__grid h3 {
  margin: 0 0 0.45rem;
  color: var(--green-dark);
}
.page-pmax .pmx-why__grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.page-pmax .pmx-faq {
  padding: 4rem 0;
  background: var(--white);
}
.page-pmax .pmx-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items: start;
}
.page-pmax .pmx-byline {
  margin: 0.85rem 0 0;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
}
.page-pmax .pmx-byline span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 700;
  color: var(--green-dark);
}
.page-pmax .pmx-faq__list { display: grid; gap: 0.75rem; }
.page-pmax .pmx-faq__item {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--cream);
  padding: 0.15rem 1rem;
}
.page-pmax .pmx-faq__item summary {
  cursor: pointer;
  list-style: none;
  padding: 0.95rem 0;
  font-weight: 800;
  color: var(--green-dark);
}
.page-pmax .pmx-faq__item summary::-webkit-details-marker { display: none; }
.page-pmax .pmx-faq__item p {
  margin: 0 0 1rem;
  color: var(--muted);
  line-height: 1.6;
}

.page-pmax .pmx-cta {
  padding: 0 0 4.5rem;
  background: var(--white);
}
.page-pmax .pmx-cta__panel {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: 2.25rem 2rem;
  border-radius: 18px;
  background:
    radial-gradient(ellipse 40% 80% at 100% 50%, rgba(0, 179, 72, 0.28), transparent 55%),
    linear-gradient(135deg, #02150c 0%, #003018 55%, #005c24 100%);
  color: var(--cream);
}
.page-pmax .pmx-cta__panel h2 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  color: var(--white);
}
.page-pmax .pmx-cta__panel p {
  margin: 0;
  color: rgba(243, 250, 245, 0.82);
}
.page-pmax .pmx-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

@keyframes pmx-bar {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes pmx-draw {
  to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .page-pmax .pmx-orbit__meter i::after,
  .page-pmax .pmx-bars__row b::after,
  .page-pmax .pmx-chart__line,
  .page-pmax .pmx-chart__cpl {
    animation: none !important;
    transform: none !important;
    stroke-dashoffset: 0 !important;
  }
}

@media (max-width: 980px) {
  .page-pmax .pmx-hero__grid,
  .page-pmax .pmx-split,
  .page-pmax .pmx-measure__layout,
  .page-pmax .pmx-faq__inner,
  .page-pmax .pmx-gallery__grid {
    grid-template-columns: 1fr;
  }
  .page-pmax .pmx-gallery__main { grid-row: auto; }
  .page-pmax .pmx-gallery__wide { grid-column: auto; }
  .page-pmax .pmx-orbit { margin-top: -1.5rem; width: 100%; }
  .page-pmax .pmx-split--flip .pmx-split__copy,
  .page-pmax .pmx-split--flip .pmx-split__media { order: initial; }
  .page-pmax .pmx-signals .pmx-split__media { order: -1; }
  .page-pmax .pmx-stalls__row,
  .page-pmax .pmx-includes__grid,
  .page-pmax .pmx-why__grid {
    grid-template-columns: 1fr 1fr;
  }
  .page-pmax .pmx-measure__ops {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .page-pmax .pmx-stalls__row,
  .page-pmax .pmx-measure__ops,
  .page-pmax .pmx-includes__grid,
  .page-pmax .pmx-why__grid,
  .page-pmax .pmx-kpis {
    grid-template-columns: 1fr;
  }
  .page-pmax .pmx-bars__row {
    grid-template-columns: 4.5rem 1fr auto;
  }
  .page-pmax .pmx-cta__panel { padding: 1.75rem 1.25rem; }
}

/* ===== Mobile usability / responsive SEO (shared overrides) ===== */
@media (max-width: 640px) {
  /* Readable text (Google flags <12px) */
  .case-stat span {
    font-size: 0.8125rem;
  }

  .award-badge {
    font-size: 0.8125rem;
  }

  .page-contact .ct-kicker {
    font-size: 0.75rem;
  }

  [class*="-hero__pill-text"] small {
    font-size: 0.75rem !important;
  }

  [class*="-metric__chip"] {
    font-size: 0.75rem !important;
  }

  [class*="-work__tag"],
  [class*="-work__meta"] span,
  [class*="-chart-axis"],
  [class*="-ring-wrap"] small {
    font-size: 0.75rem !important;
  }

  /* Tap targets ≥44px */
  .case-link,
  .blog-link,
  .why-card a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 0;
    font-size: 0.8125rem;
  }

  .footer-col a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 6px 0;
  }

  .footer-col ul {
    gap: 2px;
  }

  .prefooter .social-links a {
    width: 44px;
    height: 44px;
  }

  [class*="-service__go"] {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    min-height: 44px;
  }

  .svc-related__list a,
  .wpd-related__list a,
  .rvid-related__list a,
  [class*="-related__list"] a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 12px 14px;
  }

  .site-search__close {
    width: 44px;
    height: 44px;
  }

  .site-search__input {
    font-size: 1rem;
    min-height: 44px;
  }

  /* Contact form */
  .page-contact .ct-field input,
  .page-contact .ct-field select,
  .page-contact .ct-field textarea {
    min-height: 48px;
    font-size: 16px;
  }

  .page-contact .ct-services__grid label {
    min-height: 48px;
  }

  .page-contact .ct-consent {
    font-size: 0.875rem;
  }

  /* Avoid crushed 2-col needs grids on phones */
  [class*="-needs__row"] {
    grid-template-columns: 1fr !important;
  }

  [class*="-hero__pills"] {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 380px) {
  [class*="-hero__pills"] {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   Insights / long-form articles
   ========================================================================== */

.page-insight {
  background:
    radial-gradient(ellipse 80% 50% at 10% 0%, rgba(0, 179, 72, 0.06), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 20%, rgba(0, 92, 36, 0.04), transparent 50%),
    #f7faf8;
}

.page-insight .insight-article,
.page-insight .insight-index {
  padding-bottom: clamp(48px, 8vw, 96px);
}

.page-insight .insight-hero {
  padding-top: clamp(28px, 5vw, 48px);
  padding-bottom: clamp(20px, 3vw, 32px);
  max-width: 760px;
}

.page-insight .insight-hero .svc-h1-stack {
  margin: 0 0 16px;
  font-size: clamp(1.85rem, 4.2vw, 2.75rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: #102016;
}

.page-insight .insight-hero .svc-h1-brand {
  color: var(--green-dark);
}

.page-insight .insight-hero h1 {
  display: block;
  margin: 0.15em 0 0;
  color: var(--green);
  font-size: 0.92em;
  font-weight: 800;
  line-height: 1.18;
}

.page-insight .insight-lead {
  margin: 0 0 18px;
  max-width: 40rem;
  color: #3d5246;
  font-size: 1.08rem;
  line-height: 1.7;
}

.page-insight .insight-hero .svc-byline {
  margin-top: 8px;
}

.page-insight .insight-body {
  max-width: 720px;
  padding-top: 8px;
  padding-bottom: clamp(32px, 5vw, 56px);
  color: #1a2b22;
  font-size: 1.0625rem;
  line-height: 1.75;
}

.page-insight .insight-body > p:first-of-type {
  font-size: 1.1rem;
  color: #2a3d32;
}

.page-insight .insight-body h2 {
  margin: 2.1em 0 0.65em;
  color: var(--green-dark);
  font-size: clamp(1.35rem, 2.4vw, 1.65rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.page-insight .insight-body h3 {
  margin: 1.5em 0 0.5em;
  color: #102016;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-insight .insight-body p {
  margin: 0 0 1.1em;
}

.page-insight .insight-body ul,
.page-insight .insight-body ol {
  margin: 0 0 1.25em;
  padding-left: 1.35em;
}

.page-insight .insight-body li {
  margin-bottom: 0.45em;
}

.page-insight .insight-body a {
  color: var(--green-mid);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
  font-weight: 600;
}

.page-insight .insight-body a:hover,
.page-insight .insight-body a:focus-visible {
  color: var(--green-dark);
}

.page-insight .insight-body strong {
  color: #102016;
  font-weight: 700;
}

.page-insight .insight-cta {
  max-width: 720px;
  margin-top: 8px;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(0, 92, 36, 0.06) 0%, rgba(0, 179, 72, 0.1) 100%),
    #fff;
  border: 1px solid rgba(0, 179, 72, 0.18);
}

.page-insight .insight-cta h2 {
  margin: 0 0 10px;
  color: var(--green-dark);
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  font-weight: 800;
  line-height: 1.25;
}

.page-insight .insight-cta p {
  margin: 0 0 20px;
  color: #3d5246;
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 36rem;
}

.page-insight .insight-index {
  max-width: 820px;
  padding-top: clamp(28px, 5vw, 48px);
}

.page-insight .insight-index .insight-hero {
  padding-left: 0;
  padding-right: 0;
  max-width: none;
}

.page-insight .insight-index__list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.page-insight .insight-index__list a {
  display: block;
  padding: 22px 24px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(16, 32, 22, 0.08);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.page-insight .insight-index__list a:hover,
.page-insight .insight-index__list a:focus-visible {
  border-color: rgba(0, 179, 72, 0.35);
  box-shadow: 0 8px 24px rgba(0, 92, 36, 0.08);
  transform: translateY(-1px);
}

.page-insight .insight-index__meta {
  display: block;
  margin-bottom: 6px;
  color: var(--green-mid);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.page-insight .insight-index__title {
  display: block;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 800;
  line-height: 1.3;
}

.page-insight .insight-index__desc {
  display: block;
  color: #4a5d50;
  font-size: 0.98rem;
  line-height: 1.55;
}

@media (max-width: 640px) {
  .page-insight .insight-cta {
    padding: 22px 18px;
  }

  .page-insight .insight-index__list a {
    padding: 18px 16px;
  }
}

/* WooCommerce Development — share WordPress layout tokens */
.page-woocommerce.page-wordpress .wpd-hero {
  background:
    radial-gradient(ellipse 70% 55% at 88% 12%, rgba(0, 179, 72, 0.10), transparent 55%),
    linear-gradient(165deg, #f2faf5 0%, #ffffff 48%, #f7fbf8 100%);
}
.page-woocommerce.page-wordpress .wpd-hero__pill-icon {
  background: #e8f7ee;
  color: #0a7a3a;
}
.page-woocommerce.page-wordpress .wpd-next__card {
  border-color: #cfe8d8;
}
.page-woocommerce.page-wordpress .wpd-cta {
  background: linear-gradient(135deg, #0d3d24 0%, #146b3a 55%, #0f8f45 100%);
}

/* Hero: copy first on mobile; copy left / media right on desktop */
.page-woocommerce.page-wordpress .wpd-hero__copy {
  order: 1;
}
.page-woocommerce.page-wordpress .wpd-hero__media {
  order: 2;
}

@media (max-width: 900px) {
  .page-woocommerce.page-wordpress .wpd-hero__grid {
    display: flex;
    flex-direction: column;
  }

  .page-woocommerce.page-wordpress .wpd-hero__copy {
    order: 1;
  }

  .page-woocommerce.page-wordpress .wpd-hero__media {
    order: 2;
    width: 100%;
    max-width: 520px;
    margin: 12px auto 0;
  }
}

/* ===== SEO Services Hub — elevated Good UI (.page-hub-seo / .seoh-*) ===== */
.page-hub-seo .seoh-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-seo .seoh-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-seo .seoh-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-seo .seoh-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-seo .seoh-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-seo .seoh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-seo .seoh-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-seo .seoh-btn--solid:hover,
.page-hub-seo .seoh-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-seo .seoh-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-seo .seoh-btn--ghost:hover,
.page-hub-seo .seoh-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-seo .seoh-icon,
.page-hub-seo .seoh-service__icon,
.page-hub-seo .seoh-why__icon { color: var(--green); }
.page-hub-seo .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-seo .seoh-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 50% 60% at 88% 25%, rgba(0, 179, 72, 0.12), transparent 55%),
    linear-gradient(105deg, rgba(0, 179, 72, 0.06) 0%, transparent 42%),
    linear-gradient(180deg, #e7f4ec 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-seo .seoh-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(16px, 2.5vw, 32px); align-items: center;
}
.page-hub-seo .seoh-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-seo .seoh-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-seo .seoh-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-seo .seoh-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-seo .seoh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-seo .seoh-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-seo .seoh-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-seo .seoh-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-seo .seoh-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-seo .seoh-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-seo .seoh-hero__media { justify-self: end; width: 100%; max-width: 620px; }
.page-hub-seo .seoh-hero__media img { display: block; width: 100%; height: auto; }

.page-hub-seo .seoh-next { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-hub-seo .seoh-next__layout {
  display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-hub-seo .seoh-next__intro { max-width: 360px; }
.page-hub-seo .seoh-next__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.35rem, 2.4vw, 1.85rem); line-height: 1.2; color: #141c17;
}
.page-hub-seo .seoh-next__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-hub-seo .seoh-next__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.page-hub-seo .seoh-next__card {
  padding: 1.25rem 1.15rem; background: #f6fbf8; border-radius: 12px; border-left: 3px solid var(--green);
  transition: transform 0.2s ease, background 0.2s ease;
}
.page-hub-seo .seoh-next__card:hover { transform: translateY(-2px); background: #fff; }
.page-hub-seo .seoh-next__card .seoh-icon { display: inline-flex; margin-bottom: 0.75rem; }
.page-hub-seo .seoh-next__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-hub-seo .seoh-next__card p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-seo .seoh-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-seo .seoh-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-hub-seo .seoh-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
  text-decoration: none; color: inherit;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.page-hub-seo .seoh-service:hover {
  background: #fff; border-color: var(--green); transform: translateY(-2px);
}
.page-hub-seo .seoh-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-seo .seoh-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-hub-seo .seoh-service p { margin: 0; flex: 1; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }
.page-hub-seo .seoh-service__go {
  align-self: flex-end; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%; background: var(--green); color: #fff;
}

.page-hub-seo .seoh-split { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-seo .seoh-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-seo .seoh-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-seo .seoh-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-seo .seoh-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-seo .seoh-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-seo .seoh-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-seo .seoh-split__media { margin: 0; }
.page-hub-seo .seoh-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-seo .seoh-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-seo .seoh-process__track {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-seo .seoh-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-seo .seoh-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-seo .seoh-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-seo .seoh-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-seo .seoh-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-seo .seoh-why { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-seo .seoh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-seo .seoh-why__item {
  padding: 1.35rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-seo .seoh-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-seo .seoh-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-seo .seoh-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-seo .seoh-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-seo .seoh-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-seo .seoh-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-seo .seoh-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-seo .seoh-faq__list { display: grid; gap: 0.65rem; }
.page-hub-seo .seoh-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-seo .seoh-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-seo .seoh-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-seo .seoh-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-seo .seoh-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-seo .seoh-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-seo .seoh-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-seo .seoh-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-seo .seoh-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 24rem;
}
.page-hub-seo .seoh-cta__copy h2 span { color: #b8f0c8; }
.page-hub-seo .seoh-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-seo .seoh-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-seo .seoh-cta .seoh-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-seo .seoh-cta .seoh-btn--solid:hover,
.page-hub-seo .seoh-cta .seoh-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-seo .seoh-cta .seoh-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-seo .seoh-cta .seoh-btn--ghost:hover,
.page-hub-seo .seoh-cta .seoh-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-seo .seoh-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-seo .seoh-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-seo .seoh-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-seo .seoh-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-seo .seoh-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-seo .seoh-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: seoh-orb 8s ease-in-out infinite;
}
.page-hub-seo .seoh-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-seo .seoh-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
.page-hub-seo .seoh-cta__orb--c { width: 70px; height: 70px; background: #b8f0c8; bottom: -10px; right: 20%; animation-delay: -4s; }
@keyframes seoh-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-seo .seoh-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-seo .seoh-process__track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-hub-seo .seoh-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-seo .seoh-services__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-hub-seo .seoh-hero__grid,
  .page-hub-seo .seoh-split__grid,
  .page-hub-seo .seoh-faq__inner,
  .page-hub-seo .seoh-cta__panel,
  .page-hub-seo .seoh-next__layout { grid-template-columns: 1fr; }
  .page-hub-seo .seoh-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-seo .seoh-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-seo .seoh-next__intro { max-width: 560px; }
  .page-hub-seo .seoh-next__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-seo .seoh-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-seo .seoh-hero__copy { order: 1; }
  .page-hub-seo .seoh-hero__media { order: 2; }
  .page-hub-seo .seoh-split__copy { order: 1; }
  .page-hub-seo .seoh-split__media { order: 2; }
  .page-hub-seo .seoh-cta__copy { order: 1; }
  .page-hub-seo .seoh-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-seo .seoh-next__grid,
  .page-hub-seo .seoh-services__grid,
  .page-hub-seo .seoh-why__grid,
  .page-hub-seo .seoh-process__track { grid-template-columns: 1fr; }
  .page-hub-seo .seoh-hero__actions,
  .page-hub-seo .seoh-cta__actions { flex-direction: column; }
  .page-hub-seo .seoh-hero__actions .seoh-btn,
  .page-hub-seo .seoh-cta__actions .seoh-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-seo .seoh-btn--solid:hover,
  .page-hub-seo .seoh-next__card:hover,
  .page-hub-seo .seoh-service:hover { transform: none; }
  .page-hub-seo .seoh-cta__orb { animation: none; }
}

/* ===== Shopify SEO — elevated Good UI (.page-shopify-seo / .sse-*) ===== */
.page-shopify-seo .sse-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-shopify-seo .sse-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-shopify-seo .sse-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-shopify-seo .sse-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-shopify-seo .sse-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-shopify-seo .sse-section-head a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.page-shopify-seo .sse-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-shopify-seo .sse-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-shopify-seo .sse-btn--solid:hover,
.page-shopify-seo .sse-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-shopify-seo .sse-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-shopify-seo .sse-btn--ghost:hover,
.page-shopify-seo .sse-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-shopify-seo .sse-service__icon,
.page-shopify-seo .sse-why__icon,
.page-shopify-seo .sse-process__icon { color: var(--green); }
.page-shopify-seo .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-shopify-seo .sse-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 48% 55% at 92% 18%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(115deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f7fbf8 48%, #ffffff 100%);
  overflow: hidden;
}
.page-shopify-seo .sse-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-shopify-seo .sse-hero .svc-h1-stack { margin: 0 0 14px; }
.page-shopify-seo .sse-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-shopify-seo .sse-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-shopify-seo .sse-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-shopify-seo .sse-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-shopify-seo .sse-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-shopify-seo .sse-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-shopify-seo .sse-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-shopify-seo .sse-hero__pill-icon svg { width: 17px; height: 17px; }
.page-shopify-seo .sse-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-shopify-seo .sse-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-shopify-seo .sse-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-shopify-seo .sse-quirks { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-shopify-seo .sse-quirks__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
}
.page-shopify-seo .sse-quirk {
  position: relative; padding: 1.5rem 1.25rem 1.4rem; background: #fff;
  border-radius: 12px; border: 1px solid #d7ebdd;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.page-shopify-seo .sse-quirk:hover { transform: translateY(-2px); border-color: var(--green); }
.page-shopify-seo .sse-quirk__num {
  display: block; margin-bottom: 0.65rem; font-size: 0.78rem; font-weight: 900;
  letter-spacing: 0.12em; color: var(--green);
}
.page-shopify-seo .sse-quirk h3 { margin: 0 0 0.45rem; font-size: 1.08rem; color: #141c17; }
.page-shopify-seo .sse-quirk p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-shopify-seo .sse-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-shopify-seo .sse-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-shopify-seo .sse-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-shopify-seo .sse-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-shopify-seo .sse-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-shopify-seo .sse-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-shopify-seo .sse-split { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-shopify-seo .sse-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-shopify-seo .sse-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-shopify-seo .sse-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-shopify-seo .sse-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-shopify-seo .sse-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-shopify-seo .sse-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-shopify-seo .sse-split__media { margin: 0; }
.page-shopify-seo .sse-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-shopify-seo .sse-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-shopify-seo .sse-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-shopify-seo .sse-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-shopify-seo .sse-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-shopify-seo .sse-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-shopify-seo .sse-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-shopify-seo .sse-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-shopify-seo .sse-why { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-shopify-seo .sse-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-shopify-seo .sse-why__item {
  padding: 1.35rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-shopify-seo .sse-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-shopify-seo .sse-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-shopify-seo .sse-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-shopify-seo .sse-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-shopify-seo .sse-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-shopify-seo .sse-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-shopify-seo .sse-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-shopify-seo .sse-faq__list { display: grid; gap: 0.65rem; }
.page-shopify-seo .sse-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-shopify-seo .sse-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-shopify-seo .sse-faq__item summary::-webkit-details-marker { display: none; }
.page-shopify-seo .sse-faq__num { flex-shrink: 0; color: var(--green); }
.page-shopify-seo .sse-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-shopify-seo .sse-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-shopify-seo .sse-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-shopify-seo .sse-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-shopify-seo .sse-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 26rem;
}
.page-shopify-seo .sse-cta__copy h2 span { color: #b8f0c8; }
.page-shopify-seo .sse-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-shopify-seo .sse-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-shopify-seo .sse-cta .sse-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-shopify-seo .sse-cta .sse-btn--solid:hover,
.page-shopify-seo .sse-cta .sse-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-shopify-seo .sse-cta .sse-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-shopify-seo .sse-cta .sse-btn--ghost:hover,
.page-shopify-seo .sse-cta .sse-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-shopify-seo .sse-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-shopify-seo .sse-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-shopify-seo .sse-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-shopify-seo .sse-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-shopify-seo .sse-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-shopify-seo .sse-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: sse-orb 8s ease-in-out infinite;
}
.page-shopify-seo .sse-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-shopify-seo .sse-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes sse-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-shopify-seo .sse-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-shopify-seo .sse-why__grid { grid-template-columns: 1fr 1fr; }
  .page-shopify-seo .sse-services__grid { grid-template-columns: 1fr 1fr; }
  .page-shopify-seo .sse-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-shopify-seo .sse-hero__grid,
  .page-shopify-seo .sse-split__grid,
  .page-shopify-seo .sse-faq__inner,
  .page-shopify-seo .sse-cta__panel { grid-template-columns: 1fr; }
  .page-shopify-seo .sse-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-shopify-seo .sse-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-shopify-seo .sse-quirks__grid { grid-template-columns: 1fr; }
  .page-shopify-seo .sse-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-shopify-seo .sse-hero__copy { order: 1; }
  .page-shopify-seo .sse-hero__media { order: 2; }
  .page-shopify-seo .sse-split__copy { order: 1; }
  .page-shopify-seo .sse-split__media { order: 2; }
  .page-shopify-seo .sse-cta__copy { order: 1; }
  .page-shopify-seo .sse-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-shopify-seo .sse-services__grid,
  .page-shopify-seo .sse-why__grid,
  .page-shopify-seo .sse-process__track { grid-template-columns: 1fr; }
  .page-shopify-seo .sse-hero__actions,
  .page-shopify-seo .sse-cta__actions { flex-direction: column; }
  .page-shopify-seo .sse-hero__actions .sse-btn,

}
@media (prefers-reduced-motion: reduce) {
  .page-shopify-seo .sse-btn--solid:hover,
  .page-shopify-seo .sse-quirk:hover { transform: none; }
  .page-shopify-seo .sse-cta__orb { animation: none; }
}

/* ===== WordPress SEO — elevated Good UI (.page-wordpress-seo / .wps-*) ===== */
.page-wordpress-seo .wps-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-wordpress-seo .wps-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-wordpress-seo .wps-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-wordpress-seo .wps-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-wordpress-seo .wps-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-wordpress-seo .wps-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-wordpress-seo .wps-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-wordpress-seo .wps-btn--solid:hover,
.page-wordpress-seo .wps-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-wordpress-seo .wps-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-wordpress-seo .wps-btn--ghost:hover,
.page-wordpress-seo .wps-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-wordpress-seo .wps-service__icon,
.page-wordpress-seo .wps-why__icon,
.page-wordpress-seo .wps-process__icon { color: var(--green); }
.page-wordpress-seo .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-wordpress-seo .wps-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 45% 50% at 8% 80%, rgba(0, 179, 72, 0.09), transparent 55%),
    linear-gradient(160deg, rgba(0, 179, 72, 0.06) 0%, transparent 45%),
    linear-gradient(180deg, #eaf6ef 0%, #f8fcf9 52%, #ffffff 100%);
  overflow: hidden;
}
.page-wordpress-seo .wps-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-wordpress-seo .wps-hero .svc-h1-stack { margin: 0 0 14px; }
.page-wordpress-seo .wps-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-wordpress-seo .wps-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-wordpress-seo .wps-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-wordpress-seo .wps-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-wordpress-seo .wps-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-wordpress-seo .wps-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-wordpress-seo .wps-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-wordpress-seo .wps-hero__pill-icon svg { width: 17px; height: 17px; }
.page-wordpress-seo .wps-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-wordpress-seo .wps-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-wordpress-seo .wps-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-wordpress-seo .wps-bounds { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-wordpress-seo .wps-bounds__layout {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-wordpress-seo .wps-bounds__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-wordpress-seo .wps-bounds__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-wordpress-seo .wps-bounds__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.page-wordpress-seo .wps-bound {
  padding: 1.25rem 1.15rem; background: #f6fbf8; border-radius: 12px; border-top: 3px solid var(--green);
}
.page-wordpress-seo .wps-bound--link { border-top-color: #8fbf9a; }
.page-wordpress-seo .wps-bound h3 { margin: 0 0 0.4rem; font-size: 1rem; color: #141c17; }
.page-wordpress-seo .wps-bound p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
.page-wordpress-seo .wps-bound a { color: var(--green); font-weight: 700; }

.page-wordpress-seo .wps-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-wordpress-seo .wps-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-wordpress-seo .wps-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-wordpress-seo .wps-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-wordpress-seo .wps-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-wordpress-seo .wps-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-wordpress-seo .wps-split { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-wordpress-seo .wps-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-wordpress-seo .wps-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-wordpress-seo .wps-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-wordpress-seo .wps-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-wordpress-seo .wps-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-wordpress-seo .wps-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-wordpress-seo .wps-split__note {
  margin: 1.1rem 0 0 !important; font-size: 0.9rem; color: #5a6b5e;
}
.page-wordpress-seo .wps-split__note a { color: var(--green); font-weight: 700; }
.page-wordpress-seo .wps-split__media { margin: 0; }
.page-wordpress-seo .wps-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-wordpress-seo .wps-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-wordpress-seo .wps-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-wordpress-seo .wps-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-wordpress-seo .wps-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-wordpress-seo .wps-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-wordpress-seo .wps-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-wordpress-seo .wps-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-wordpress-seo .wps-why { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-wordpress-seo .wps-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-wordpress-seo .wps-why__item {
  padding: 1.35rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-wordpress-seo .wps-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-wordpress-seo .wps-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-wordpress-seo .wps-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-wordpress-seo .wps-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-wordpress-seo .wps-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-wordpress-seo .wps-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-wordpress-seo .wps-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-wordpress-seo .wps-faq__list { display: grid; gap: 0.65rem; }
.page-wordpress-seo .wps-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-wordpress-seo .wps-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-wordpress-seo .wps-faq__item summary::-webkit-details-marker { display: none; }
.page-wordpress-seo .wps-faq__num { flex-shrink: 0; color: var(--green); }
.page-wordpress-seo .wps-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-wordpress-seo .wps-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-wordpress-seo .wps-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-wordpress-seo .wps-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-wordpress-seo .wps-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 26rem;
}
.page-wordpress-seo .wps-cta__copy h2 span { color: #b8f0c8; }
.page-wordpress-seo .wps-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-wordpress-seo .wps-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-wordpress-seo .wps-cta .wps-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-wordpress-seo .wps-cta .wps-btn--solid:hover,
.page-wordpress-seo .wps-cta .wps-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-wordpress-seo .wps-cta .wps-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-wordpress-seo .wps-cta .wps-btn--ghost:hover,
.page-wordpress-seo .wps-cta .wps-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-wordpress-seo .wps-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-wordpress-seo .wps-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-wordpress-seo .wps-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-wordpress-seo .wps-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-wordpress-seo .wps-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-wordpress-seo .wps-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: wps-orb 8s ease-in-out infinite;
}
.page-wordpress-seo .wps-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-wordpress-seo .wps-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes wps-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-wordpress-seo .wps-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-wordpress-seo .wps-why__grid { grid-template-columns: 1fr 1fr; }
  .page-wordpress-seo .wps-services__grid { grid-template-columns: 1fr 1fr; }
  .page-wordpress-seo .wps-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-wordpress-seo .wps-hero__grid,
  .page-wordpress-seo .wps-split__grid,
  .page-wordpress-seo .wps-faq__inner,
  .page-wordpress-seo .wps-cta__panel,
  .page-wordpress-seo .wps-bounds__layout { grid-template-columns: 1fr; }
  .page-wordpress-seo .wps-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-wordpress-seo .wps-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-wordpress-seo .wps-bounds__grid { grid-template-columns: 1fr; }
  .page-wordpress-seo .wps-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-wordpress-seo .wps-hero__copy { order: 1; }
  .page-wordpress-seo .wps-hero__media { order: 2; }
  .page-wordpress-seo .wps-split__copy { order: 1; }
  .page-wordpress-seo .wps-split__media { order: 2; }
  .page-wordpress-seo .wps-cta__copy { order: 1; }
  .page-wordpress-seo .wps-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-wordpress-seo .wps-services__grid,
  .page-wordpress-seo .wps-why__grid,
  .page-wordpress-seo .wps-process__track { grid-template-columns: 1fr; }
  .page-wordpress-seo .wps-hero__actions,
  .page-wordpress-seo .wps-cta__actions { flex-direction: column; }
  .page-wordpress-seo .wps-hero__actions .wps-btn,
  .page-wordpress-seo .wps-cta__actions .wps-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-wordpress-seo .wps-btn--solid:hover { transform: none; }
  .page-wordpress-seo .wps-cta__orb { animation: none; }
}

/* ===== WooCommerce SEO — elevated Good UI (.page-woocommerce-seo / .wcs-*) ===== */
.page-woocommerce-seo .wcs-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-woocommerce-seo .wcs-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-woocommerce-seo .wcs-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-woocommerce-seo .wcs-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-woocommerce-seo .wcs-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-woocommerce-seo .wcs-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-woocommerce-seo .wcs-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-woocommerce-seo .wcs-btn--solid:hover,
.page-woocommerce-seo .wcs-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-woocommerce-seo .wcs-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-woocommerce-seo .wcs-btn--ghost:hover,
.page-woocommerce-seo .wcs-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-woocommerce-seo .wcs-service__icon,
.page-woocommerce-seo .wcs-why__icon,
.page-woocommerce-seo .wcs-process__icon { color: var(--green); }
.page-woocommerce-seo .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-woocommerce-seo .wcs-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 50% 55% at 90% 12%, rgba(0, 179, 72, 0.12), transparent 55%),
    linear-gradient(100deg, rgba(0, 179, 72, 0.05) 0%, transparent 42%),
    linear-gradient(180deg, #e7f4ec 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-woocommerce-seo .wcs-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-woocommerce-seo .wcs-hero .svc-h1-stack { margin: 0 0 14px; }
.page-woocommerce-seo .wcs-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-woocommerce-seo .wcs-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-woocommerce-seo .wcs-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-woocommerce-seo .wcs-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-woocommerce-seo .wcs-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-woocommerce-seo .wcs-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-woocommerce-seo .wcs-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-woocommerce-seo .wcs-hero__pill-icon svg { width: 17px; height: 17px; }
.page-woocommerce-seo .wcs-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-woocommerce-seo .wcs-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-woocommerce-seo .wcs-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-woocommerce-seo .wcs-map { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-woocommerce-seo .wcs-map__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
}
.page-woocommerce-seo .wcs-map__card {
  padding: 1.4rem 1.25rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-woocommerce-seo .wcs-map__card--here {
  border-color: var(--green); box-shadow: 0 0 0 1px var(--green);
}
.page-woocommerce-seo .wcs-map__tag {
  margin: 0 0 0.55rem; font-size: 0.72rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-mid);
}
.page-woocommerce-seo .wcs-map__card h3 { margin: 0 0 0.45rem; font-size: 1.1rem; color: #141c17; }
.page-woocommerce-seo .wcs-map__card h3 a { color: var(--green); text-decoration: none; }
.page-woocommerce-seo .wcs-map__card h3 a:hover { text-decoration: underline; }
.page-woocommerce-seo .wcs-map__card p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-woocommerce-seo .wcs-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-woocommerce-seo .wcs-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-woocommerce-seo .wcs-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-woocommerce-seo .wcs-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-woocommerce-seo .wcs-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-woocommerce-seo .wcs-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-woocommerce-seo .wcs-dual { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-woocommerce-seo .wcs-dual__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.page-woocommerce-seo .wcs-dual__panel {
  padding: 1.25rem; background: #fff; border-radius: 14px; border: 1px solid #d7ebdd;
}
.page-woocommerce-seo .wcs-dual__media { margin: 0 0 1rem; }
.page-woocommerce-seo .wcs-dual__media img { display: block; width: 100%; height: auto; border-radius: 10px; }
.page-woocommerce-seo .wcs-dual__panel h3 { margin: 0 0 0.75rem; font-size: 1.2rem; color: #141c17; }
.page-woocommerce-seo .wcs-dual__list {
  margin: 0; padding: 0; list-style: none; display: grid; gap: 0.5rem;
}
.page-woocommerce-seo .wcs-dual__list li {
  position: relative; padding-left: 1.35rem; font-size: 0.94rem; line-height: 1.5; color: #5a6b5e;
}
.page-woocommerce-seo .wcs-dual__list li::before {
  content: ""; position: absolute; left: 0; top: 0.45rem;
  width: 8px; height: 8px; border-radius: 50%; background: var(--green);
}
.page-woocommerce-seo .wcs-dual__note {
  margin: 1.25rem 0 0; text-align: center; font-size: 0.95rem; color: #5a6b5e;
}
.page-woocommerce-seo .wcs-dual__note a { color: var(--green); font-weight: 700; }

.page-woocommerce-seo .wcs-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-woocommerce-seo .wcs-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-woocommerce-seo .wcs-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-woocommerce-seo .wcs-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-woocommerce-seo .wcs-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-woocommerce-seo .wcs-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-woocommerce-seo .wcs-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-woocommerce-seo .wcs-why { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-woocommerce-seo .wcs-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-woocommerce-seo .wcs-why__item {
  padding: 1.35rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-woocommerce-seo .wcs-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-woocommerce-seo .wcs-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-woocommerce-seo .wcs-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-woocommerce-seo .wcs-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-woocommerce-seo .wcs-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-woocommerce-seo .wcs-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-woocommerce-seo .wcs-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-woocommerce-seo .wcs-faq__list { display: grid; gap: 0.65rem; }
.page-woocommerce-seo .wcs-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-woocommerce-seo .wcs-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-woocommerce-seo .wcs-faq__item summary::-webkit-details-marker { display: none; }
.page-woocommerce-seo .wcs-faq__num { flex-shrink: 0; color: var(--green); }
.page-woocommerce-seo .wcs-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-woocommerce-seo .wcs-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-woocommerce-seo .wcs-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-woocommerce-seo .wcs-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-woocommerce-seo .wcs-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-woocommerce-seo .wcs-cta__copy h2 span { color: #b8f0c8; }
.page-woocommerce-seo .wcs-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-woocommerce-seo .wcs-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-woocommerce-seo .wcs-cta .wcs-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-woocommerce-seo .wcs-cta .wcs-btn--solid:hover,
.page-woocommerce-seo .wcs-cta .wcs-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-woocommerce-seo .wcs-cta .wcs-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-woocommerce-seo .wcs-cta .wcs-btn--ghost:hover,
.page-woocommerce-seo .wcs-cta .wcs-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-woocommerce-seo .wcs-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-woocommerce-seo .wcs-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-woocommerce-seo .wcs-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-woocommerce-seo .wcs-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-woocommerce-seo .wcs-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-woocommerce-seo .wcs-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: wcs-orb 8s ease-in-out infinite;
}
.page-woocommerce-seo .wcs-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-woocommerce-seo .wcs-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes wcs-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-woocommerce-seo .wcs-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-woocommerce-seo .wcs-why__grid { grid-template-columns: 1fr 1fr; }
  .page-woocommerce-seo .wcs-services__grid { grid-template-columns: 1fr 1fr; }
  .page-woocommerce-seo .wcs-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-woocommerce-seo .wcs-hero__grid,
  .page-woocommerce-seo .wcs-dual__grid,
  .page-woocommerce-seo .wcs-faq__inner,
  .page-woocommerce-seo .wcs-cta__panel { grid-template-columns: 1fr; }
  .page-woocommerce-seo .wcs-map__grid { grid-template-columns: 1fr; }
  .page-woocommerce-seo .wcs-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-woocommerce-seo .wcs-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-woocommerce-seo .wcs-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-woocommerce-seo .wcs-hero__copy { order: 1; }
  .page-woocommerce-seo .wcs-hero__media { order: 2; }
  .page-woocommerce-seo .wcs-cta__copy { order: 1; }
  .page-woocommerce-seo .wcs-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-woocommerce-seo .wcs-services__grid,
  .page-woocommerce-seo .wcs-why__grid,
  .page-woocommerce-seo .wcs-process__track { grid-template-columns: 1fr; }
  .page-woocommerce-seo .wcs-hero__actions,
  .page-woocommerce-seo .wcs-cta__actions { flex-direction: column; }
  .page-woocommerce-seo .wcs-hero__actions .wcs-btn,
  .page-woocommerce-seo .wcs-cta__actions .wcs-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-woocommerce-seo .wcs-btn--solid:hover { transform: none; }
  .page-woocommerce-seo .wcs-cta__orb { animation: none; }
}

/* ===== AI SEO — elevated Good UI (.page-ai-seo / .ais-*) ===== */
.page-ai-seo .ais-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-ai-seo .ais-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-ai-seo .ais-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-ai-seo .ais-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-ai-seo .ais-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-ai-seo .ais-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-ai-seo .ais-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-ai-seo .ais-btn--solid:hover,
.page-ai-seo .ais-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-ai-seo .ais-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-ai-seo .ais-btn--ghost:hover,
.page-ai-seo .ais-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-ai-seo .ais-service__icon,
.page-ai-seo .ais-why__icon,
.page-ai-seo .ais-process__icon { color: var(--green); }
.page-ai-seo .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-ai-seo .ais-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 42% 50% at 12% 20%, rgba(0, 179, 72, 0.1), transparent 55%),
    radial-gradient(ellipse 40% 45% at 88% 75%, rgba(0, 179, 72, 0.07), transparent 50%),
    linear-gradient(180deg, #e9f6ee 0%, #f8fcf9 50%, #ffffff 100%);
  overflow: hidden;
}
.page-ai-seo .ais-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-ai-seo .ais-hero .svc-h1-stack { margin: 0 0 14px; }
.page-ai-seo .ais-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-ai-seo .ais-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-ai-seo .ais-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-ai-seo .ais-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-ai-seo .ais-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-ai-seo .ais-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-ai-seo .ais-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-ai-seo .ais-hero__pill-icon svg { width: 17px; height: 17px; }
.page-ai-seo .ais-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-ai-seo .ais-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-ai-seo .ais-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-ai-seo .ais-complement { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-ai-seo .ais-complement__layout {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-ai-seo .ais-complement__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-ai-seo .ais-complement__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-ai-seo .ais-complement__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.page-ai-seo .ais-comp {
  padding: 1.25rem 1.15rem; background: #f6fbf8; border-radius: 12px; border-left: 3px solid var(--green);
}
.page-ai-seo .ais-comp h3 { margin: 0 0 0.4rem; font-size: 1rem; color: #141c17; }
.page-ai-seo .ais-comp p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
.page-ai-seo .ais-comp a { color: var(--green); font-weight: 700; }

.page-ai-seo .ais-triad { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-ai-seo .ais-triad__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
}
.page-ai-seo .ais-triad__card {
  position: relative; padding: 1.6rem 1.3rem 1.5rem; background: #f6fbf8;
  border: 1px solid #d7ebdd; border-radius: 14px; overflow: hidden;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.page-ai-seo .ais-triad__card:hover { transform: translateY(-2px); border-color: var(--green); }
.page-ai-seo .ais-triad__mark {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 3.2rem; margin-bottom: 0.75rem; padding: 0.35rem 0.65rem;
  font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em;
  color: #fff; background: var(--green); border-radius: 6px;
}
.page-ai-seo .ais-triad__card h3 { margin: 0 0 0.45rem; font-size: 1.1rem; color: #141c17; }
.page-ai-seo .ais-triad__card p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-ai-seo .ais-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-ai-seo .ais-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-ai-seo .ais-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #fff; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-ai-seo .ais-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-ai-seo .ais-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-ai-seo .ais-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-ai-seo .ais-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-ai-seo .ais-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-ai-seo .ais-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-ai-seo .ais-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-ai-seo .ais-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-ai-seo .ais-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-ai-seo .ais-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-ai-seo .ais-split__media { margin: 0; }
.page-ai-seo .ais-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-ai-seo .ais-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-ai-seo .ais-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-ai-seo .ais-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-ai-seo .ais-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-ai-seo .ais-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-ai-seo .ais-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-ai-seo .ais-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-ai-seo .ais-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-ai-seo .ais-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-ai-seo .ais-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-ai-seo .ais-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-ai-seo .ais-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-ai-seo .ais-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-ai-seo .ais-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-ai-seo .ais-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-ai-seo .ais-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-ai-seo .ais-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-ai-seo .ais-faq__list { display: grid; gap: 0.65rem; }
.page-ai-seo .ais-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-ai-seo .ais-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-ai-seo .ais-faq__item summary::-webkit-details-marker { display: none; }
.page-ai-seo .ais-faq__num { flex-shrink: 0; color: var(--green); }
.page-ai-seo .ais-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-ai-seo .ais-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-ai-seo .ais-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-ai-seo .ais-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-ai-seo .ais-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 26rem;
}
.page-ai-seo .ais-cta__copy h2 span { color: #b8f0c8; }
.page-ai-seo .ais-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-ai-seo .ais-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-ai-seo .ais-cta .ais-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-ai-seo .ais-cta .ais-btn--solid:hover,
.page-ai-seo .ais-cta .ais-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-ai-seo .ais-cta .ais-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-ai-seo .ais-cta .ais-btn--ghost:hover,
.page-ai-seo .ais-cta .ais-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-ai-seo .ais-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-ai-seo .ais-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-ai-seo .ais-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-ai-seo .ais-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-ai-seo .ais-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-ai-seo .ais-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: ais-orb 8s ease-in-out infinite;
}
.page-ai-seo .ais-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-ai-seo .ais-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes ais-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-ai-seo .ais-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-ai-seo .ais-why__grid { grid-template-columns: 1fr 1fr; }
  .page-ai-seo .ais-services__grid { grid-template-columns: 1fr 1fr; }
  .page-ai-seo .ais-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-ai-seo .ais-hero__grid,
  .page-ai-seo .ais-split__grid,
  .page-ai-seo .ais-faq__inner,
  .page-ai-seo .ais-cta__panel,
  .page-ai-seo .ais-complement__layout { grid-template-columns: 1fr; }
  .page-ai-seo .ais-triad__grid,
  .page-ai-seo .ais-complement__grid { grid-template-columns: 1fr; }
  .page-ai-seo .ais-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-ai-seo .ais-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-ai-seo .ais-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-ai-seo .ais-hero__copy { order: 1; }
  .page-ai-seo .ais-hero__media { order: 2; }
  .page-ai-seo .ais-split__copy { order: 1; }
  .page-ai-seo .ais-split__media { order: 2; }
  .page-ai-seo .ais-cta__copy { order: 1; }
  .page-ai-seo .ais-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-ai-seo .ais-services__grid,
  .page-ai-seo .ais-why__grid,
  .page-ai-seo .ais-process__track { grid-template-columns: 1fr; }
  .page-ai-seo .ais-hero__actions,
  .page-ai-seo .ais-cta__actions { flex-direction: column; }
  .page-ai-seo .ais-hero__actions .ais-btn,
  .page-ai-seo .ais-cta__actions .ais-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-ai-seo .ais-btn--solid:hover,
  .page-ai-seo .ais-triad__card:hover { transform: none; }
  .page-ai-seo .ais-cta__orb { animation: none; }
}

/* ===== PPC Hub — elevated Good UI (.page-hub-ppc / .ppch-*) ===== */
.page-hub-ppc .ppch-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-ppc .ppch-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-ppc .ppch-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-ppc .ppch-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-ppc .ppch-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-ppc .ppch-section-head a { color: var(--green); font-weight: 700; }
.page-hub-ppc .ppch-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-ppc .ppch-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-ppc .ppch-btn--solid:hover,
.page-hub-ppc .ppch-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-ppc .ppch-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-ppc .ppch-btn--ghost:hover,
.page-hub-ppc .ppch-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-ppc .ppch-service__icon,
.page-hub-ppc .ppch-why__icon,
.page-hub-ppc .ppch-process__icon { color: var(--green); }
.page-hub-ppc .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-ppc .ppch-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 48% 55% at 90% 15%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(125deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-ppc .ppch-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-hub-ppc .ppch-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-ppc .ppch-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-ppc .ppch-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-ppc .ppch-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-ppc .ppch-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-ppc .ppch-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-ppc .ppch-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-ppc .ppch-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-ppc .ppch-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-ppc .ppch-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-ppc .ppch-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-hub-ppc .ppch-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-ppc .ppch-channels { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-hub-ppc .ppch-channels__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
}
.page-hub-ppc .ppch-channel {
  padding: 1.5rem 1.25rem; background: #fff; border-radius: 12px; border-top: 3px solid var(--green);
  transition: transform 0.2s ease;
}
.page-hub-ppc .ppch-channel:hover { transform: translateY(-2px); }
.page-hub-ppc .ppch-channel__mark {
  display: block; margin-bottom: 0.65rem; font-size: 0.78rem; font-weight: 900;
  letter-spacing: 0.12em; color: var(--green);
}
.page-hub-ppc .ppch-channel h3 { margin: 0 0 0.45rem; font-size: 1.15rem; color: #141c17; }
.page-hub-ppc .ppch-channel p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-ppc .ppch-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-ppc .ppch-services__grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
}
.page-hub-ppc .ppch-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.35rem 1.2rem 1.4rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
  text-decoration: none; color: inherit;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.page-hub-ppc .ppch-service:hover {
  background: #fff; border-color: var(--green); transform: translateY(-2px);
}
.page-hub-ppc .ppch-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-ppc .ppch-service h3 { margin: 0.25rem 0 0; font-size: 1.02rem; color: #141c17; }
.page-hub-ppc .ppch-service p { margin: 0; flex: 1; font-size: 0.88rem; line-height: 1.5; color: #5a6b5e; }
.page-hub-ppc .ppch-service__go {
  align-self: flex-end; display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%; background: var(--green); color: #fff;
}

.page-hub-ppc .ppch-split { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-ppc .ppch-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-ppc .ppch-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-ppc .ppch-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-ppc .ppch-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-ppc .ppch-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-ppc .ppch-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-ppc .ppch-split__media { margin: 0; }
.page-hub-ppc .ppch-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-ppc .ppch-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-ppc .ppch-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-ppc .ppch-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-ppc .ppch-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-ppc .ppch-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-ppc .ppch-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-ppc .ppch-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-ppc .ppch-why { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-ppc .ppch-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-ppc .ppch-why__item {
  padding: 1.35rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-ppc .ppch-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-ppc .ppch-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-ppc .ppch-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-ppc .ppch-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-ppc .ppch-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-ppc .ppch-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-ppc .ppch-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-ppc .ppch-faq__list { display: grid; gap: 0.65rem; }
.page-hub-ppc .ppch-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-ppc .ppch-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-ppc .ppch-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-ppc .ppch-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-ppc .ppch-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-ppc .ppch-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-ppc .ppch-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-ppc .ppch-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-ppc .ppch-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 26rem;
}
.page-hub-ppc .ppch-cta__copy h2 span { color: #b8f0c8; }
.page-hub-ppc .ppch-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-ppc .ppch-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-ppc .ppch-cta .ppch-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-ppc .ppch-cta .ppch-btn--solid:hover,
.page-hub-ppc .ppch-cta .ppch-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-ppc .ppch-cta .ppch-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-ppc .ppch-cta .ppch-btn--ghost:hover,
.page-hub-ppc .ppch-cta .ppch-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-ppc .ppch-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-ppc .ppch-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-ppc .ppch-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-ppc .ppch-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-ppc .ppch-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-ppc .ppch-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: ppch-orb 8s ease-in-out infinite;
}
.page-hub-ppc .ppch-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-ppc .ppch-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes ppch-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-ppc .ppch-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-ppc .ppch-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-ppc .ppch-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-ppc .ppch-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-hub-ppc .ppch-hero__grid,
  .page-hub-ppc .ppch-split__grid,
  .page-hub-ppc .ppch-faq__inner,
  .page-hub-ppc .ppch-cta__panel { grid-template-columns: 1fr; }
  .page-hub-ppc .ppch-channels__grid { grid-template-columns: 1fr; }
  .page-hub-ppc .ppch-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-ppc .ppch-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-ppc .ppch-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-ppc .ppch-hero__copy { order: 1; }
  .page-hub-ppc .ppch-hero__media { order: 2; }
  .page-hub-ppc .ppch-split__copy { order: 1; }
  .page-hub-ppc .ppch-split__media { order: 2; }
  .page-hub-ppc .ppch-cta__copy { order: 1; }
  .page-hub-ppc .ppch-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-ppc .ppch-services__grid,
  .page-hub-ppc .ppch-why__grid,
  .page-hub-ppc .ppch-process__track { grid-template-columns: 1fr; }
  .page-hub-ppc .ppch-hero__actions,
  .page-hub-ppc .ppch-cta__actions { flex-direction: column; }
  .page-hub-ppc .ppch-hero__actions .ppch-btn,
  .page-hub-ppc .ppch-cta__actions .ppch-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-ppc .ppch-btn--solid:hover,
  .page-hub-ppc .ppch-channel:hover,
  .page-hub-ppc .ppch-service:hover { transform: none; }
  .page-hub-ppc .ppch-cta__orb { animation: none; }
}

/* ===== Google Ads Hub — elevated Good UI (.page-hub-google-ads / .gadh-*) ===== */
.page-hub-google-ads .gadh-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-google-ads .gadh-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-google-ads .gadh-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-google-ads .gadh-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-google-ads .gadh-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-google-ads .gadh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-google-ads .gadh-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-google-ads .gadh-btn--solid:hover,
.page-hub-google-ads .gadh-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-google-ads .gadh-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-google-ads .gadh-btn--ghost:hover,
.page-hub-google-ads .gadh-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-google-ads .gadh-service__icon,
.page-hub-google-ads .gadh-why__icon,
.page-hub-google-ads .gadh-process__icon { color: var(--green); }
.page-hub-google-ads .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-google-ads .gadh-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 45% 50% at 88% 20%, rgba(0, 179, 72, 0.12), transparent 55%),
    linear-gradient(150deg, rgba(0, 179, 72, 0.06) 0%, transparent 42%),
    linear-gradient(180deg, #e7f4ec 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-google-ads .gadh-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-hub-google-ads .gadh-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-google-ads .gadh-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-google-ads .gadh-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-google-ads .gadh-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-google-ads .gadh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-google-ads .gadh-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-google-ads .gadh-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-google-ads .gadh-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-google-ads .gadh-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-google-ads .gadh-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-google-ads .gadh-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-hub-google-ads .gadh-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-google-ads .gadh-scope { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-hub-google-ads .gadh-scope__layout {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-hub-google-ads .gadh-scope__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-hub-google-ads .gadh-scope__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-hub-google-ads .gadh-scope__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-hub-google-ads .gadh-scope__card {
  padding: 1.3rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-google-ads .gadh-scope__card--here {
  border-color: var(--green); box-shadow: 0 0 0 1px var(--green);
}
.page-hub-google-ads .gadh-scope__tag {
  margin: 0 0 0.5rem; font-size: 0.72rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-google-ads .gadh-scope__card h3 { margin: 0 0 0.4rem; font-size: 1.1rem; color: #141c17; }
.page-hub-google-ads .gadh-scope__card h3 a { color: var(--green); text-decoration: none; }
.page-hub-google-ads .gadh-scope__card h3 a:hover { text-decoration: underline; }
.page-hub-google-ads .gadh-scope__card p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-google-ads .gadh-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-google-ads .gadh-services__primary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.5rem;
}
.page-hub-google-ads .gadh-services__label {
  margin: 0 0 0.85rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-mid); text-align: center;
}
.page-hub-google-ads .gadh-services__foundation-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 720px; margin-inline: auto;
}
.page-hub-google-ads .gadh-service {
  display: flex; flex-direction: column; gap: 0.5rem;
  padding: 1.35rem 1.2rem 1.4rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px;
  text-decoration: none; color: inherit;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.page-hub-google-ads .gadh-service--lead { padding: 1.5rem 1.3rem 1.55rem; }
.page-hub-google-ads .gadh-service:hover {
  background: #fff; border-color: var(--green); transform: translateY(-2px);
}
.page-hub-google-ads .gadh-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-google-ads .gadh-service h3 { margin: 0.2rem 0 0; font-size: 1.05rem; color: #141c17; }
.page-hub-google-ads .gadh-service p { margin: 0; flex: 1; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
.page-hub-google-ads .gadh-service__go {
  align-self: flex-end; display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%; background: var(--green); color: #fff;
}

.page-hub-google-ads .gadh-split { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-google-ads .gadh-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-google-ads .gadh-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-google-ads .gadh-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-google-ads .gadh-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-google-ads .gadh-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-google-ads .gadh-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-google-ads .gadh-split__media { margin: 0; }
.page-hub-google-ads .gadh-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-google-ads .gadh-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-google-ads .gadh-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-google-ads .gadh-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-google-ads .gadh-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-google-ads .gadh-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-google-ads .gadh-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-google-ads .gadh-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-google-ads .gadh-why { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-google-ads .gadh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-google-ads .gadh-why__item {
  padding: 1.35rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-google-ads .gadh-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-google-ads .gadh-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-google-ads .gadh-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-google-ads .gadh-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-google-ads .gadh-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-google-ads .gadh-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-google-ads .gadh-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-google-ads .gadh-faq__list { display: grid; gap: 0.65rem; }
.page-hub-google-ads .gadh-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-google-ads .gadh-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-google-ads .gadh-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-google-ads .gadh-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-google-ads .gadh-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-google-ads .gadh-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-google-ads .gadh-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-google-ads .gadh-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-google-ads .gadh-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 26rem;
}
.page-hub-google-ads .gadh-cta__copy h2 span { color: #b8f0c8; }
.page-hub-google-ads .gadh-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-google-ads .gadh-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-google-ads .gadh-cta .gadh-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-google-ads .gadh-cta .gadh-btn--solid:hover,
.page-hub-google-ads .gadh-cta .gadh-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-google-ads .gadh-cta .gadh-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-google-ads .gadh-cta .gadh-btn--ghost:hover,
.page-hub-google-ads .gadh-cta .gadh-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-google-ads .gadh-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-google-ads .gadh-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-google-ads .gadh-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-google-ads .gadh-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-google-ads .gadh-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-google-ads .gadh-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: gadh-orb 8s ease-in-out infinite;
}
.page-hub-google-ads .gadh-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-google-ads .gadh-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes gadh-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-google-ads .gadh-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-google-ads .gadh-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-google-ads .gadh-process__track { grid-template-columns: 1fr 1fr; }
  .page-hub-google-ads .gadh-services__primary { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .page-hub-google-ads .gadh-hero__grid,
  .page-hub-google-ads .gadh-split__grid,
  .page-hub-google-ads .gadh-faq__inner,
  .page-hub-google-ads .gadh-cta__panel,
  .page-hub-google-ads .gadh-scope__layout { grid-template-columns: 1fr; }
  .page-hub-google-ads .gadh-scope__cards,
  .page-hub-google-ads .gadh-services__foundation-grid { grid-template-columns: 1fr; max-width: none; }
  .page-hub-google-ads .gadh-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-google-ads .gadh-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-google-ads .gadh-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-google-ads .gadh-hero__copy { order: 1; }
  .page-hub-google-ads .gadh-hero__media { order: 2; }
  .page-hub-google-ads .gadh-split__copy { order: 1; }
  .page-hub-google-ads .gadh-split__media { order: 2; }
  .page-hub-google-ads .gadh-cta__copy { order: 1; }
  .page-hub-google-ads .gadh-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-google-ads .gadh-why__grid,
  .page-hub-google-ads .gadh-process__track { grid-template-columns: 1fr; }
  .page-hub-google-ads .gadh-hero__actions,
  .page-hub-google-ads .gadh-cta__actions { flex-direction: column; }
  .page-hub-google-ads .gadh-hero__actions .gadh-btn,
  .page-hub-google-ads .gadh-cta__actions .gadh-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-google-ads .gadh-btn--solid:hover,
  .page-hub-google-ads .gadh-service:hover { transform: none; }
  .page-hub-google-ads .gadh-cta__orb { animation: none; }
}

/* ===== Meta Ads — elevated Good UI (.page-meta-ads / .mta-*) ===== */
.page-meta-ads .mta-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-meta-ads .mta-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-meta-ads .mta-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-meta-ads .mta-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-meta-ads .mta-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-meta-ads .mta-section-head a,
.page-meta-ads .mta-list a { color: var(--green); font-weight: 700; }
.page-meta-ads .mta-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-meta-ads .mta-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-meta-ads .mta-btn--solid:hover,
.page-meta-ads .mta-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-meta-ads .mta-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-meta-ads .mta-btn--ghost:hover,
.page-meta-ads .mta-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-meta-ads .mta-service__icon,
.page-meta-ads .mta-why__icon,
.page-meta-ads .mta-process__icon { color: var(--green); }
.page-meta-ads .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-meta-ads .mta-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 46% 52% at 88% 18%, rgba(0, 179, 72, 0.12), transparent 55%),
    radial-gradient(ellipse 36% 40% at 10% 80%, rgba(0, 179, 72, 0.06), transparent 50%),
    linear-gradient(180deg, #e7f5ec 0%, #f7fbf8 48%, #ffffff 100%);
  overflow: hidden;
}
.page-meta-ads .mta-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-meta-ads .mta-hero .svc-h1-stack { margin: 0 0 14px; }
.page-meta-ads .mta-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-meta-ads .mta-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-meta-ads .mta-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-meta-ads .mta-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-meta-ads .mta-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-meta-ads .mta-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-meta-ads .mta-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-meta-ads .mta-hero__pill-icon svg { width: 17px; height: 17px; }
.page-meta-ads .mta-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-meta-ads .mta-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-meta-ads .mta-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-meta-ads .mta-bounds { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-meta-ads .mta-bounds__layout {
  display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-meta-ads .mta-bounds__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-meta-ads .mta-bounds__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-meta-ads .mta-bounds__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.page-meta-ads .mta-bound {
  padding: 1.2rem 1.1rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-meta-ads .mta-bound--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-meta-ads .mta-bound__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-meta-ads .mta-bound h3 { margin: 0 0 0.35rem; font-size: 1.02rem; color: #141c17; }
.page-meta-ads .mta-bound h3 a { color: inherit; text-decoration: none; }
.page-meta-ads .mta-bound h3 a:hover { color: var(--green); }
.page-meta-ads .mta-bound p { margin: 0; font-size: 0.88rem; line-height: 1.5; color: #5a6b5e; }

.page-meta-ads .mta-lanes { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-meta-ads .mta-lanes__track {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
  border: 1px solid #d7ebdd; border-radius: 14px; overflow: hidden; background: #f6fbf8;
}
.page-meta-ads .mta-lane {
  position: relative; padding: 1.6rem 1.35rem 1.55rem;
  border-right: 1px solid #d7ebdd;
}
.page-meta-ads .mta-lane:last-child { border-right: none; }
.page-meta-ads .mta-lane::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--green), transparent);
  opacity: 0; transition: opacity 0.2s ease;
}
.page-meta-ads .mta-lane:hover::after { opacity: 1; }
.page-meta-ads .mta-lane__num {
  display: inline-block; margin-bottom: 0.55rem; font-size: 0.72rem; font-weight: 900;
  letter-spacing: 0.12em; color: var(--green);
}
.page-meta-ads .mta-lane h3 { margin: 0 0 0.45rem; font-size: 1.15rem; color: #141c17; }
.page-meta-ads .mta-lane p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-meta-ads .mta-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-meta-ads .mta-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-meta-ads .mta-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #fff; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-meta-ads .mta-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-meta-ads .mta-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-meta-ads .mta-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-meta-ads .mta-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-meta-ads .mta-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-meta-ads .mta-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-meta-ads .mta-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-meta-ads .mta-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-meta-ads .mta-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-meta-ads .mta-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-meta-ads .mta-split__media { margin: 0; }
.page-meta-ads .mta-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-meta-ads .mta-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-meta-ads .mta-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-meta-ads .mta-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-meta-ads .mta-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-meta-ads .mta-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-meta-ads .mta-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-meta-ads .mta-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-meta-ads .mta-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-meta-ads .mta-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-meta-ads .mta-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-meta-ads .mta-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-meta-ads .mta-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-meta-ads .mta-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-meta-ads .mta-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-meta-ads .mta-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-meta-ads .mta-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-meta-ads .mta-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-meta-ads .mta-faq__list { display: grid; gap: 0.65rem; }
.page-meta-ads .mta-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-meta-ads .mta-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-meta-ads .mta-faq__item summary::-webkit-details-marker { display: none; }
.page-meta-ads .mta-faq__num { flex-shrink: 0; color: var(--green); }
.page-meta-ads .mta-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-meta-ads .mta-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-meta-ads .mta-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-meta-ads .mta-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-meta-ads .mta-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-meta-ads .mta-cta__copy h2 span { color: #b8f0c8; }
.page-meta-ads .mta-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-meta-ads .mta-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-meta-ads .mta-cta .mta-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-meta-ads .mta-cta .mta-btn--solid:hover,
.page-meta-ads .mta-cta .mta-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-meta-ads .mta-cta .mta-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-meta-ads .mta-cta .mta-btn--ghost:hover,
.page-meta-ads .mta-cta .mta-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-meta-ads .mta-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-meta-ads .mta-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-meta-ads .mta-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-meta-ads .mta-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-meta-ads .mta-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-meta-ads .mta-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: mta-orb 8s ease-in-out infinite;
}
.page-meta-ads .mta-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-meta-ads .mta-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes mta-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-meta-ads .mta-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-meta-ads .mta-why__grid { grid-template-columns: 1fr 1fr; }
  .page-meta-ads .mta-services__grid { grid-template-columns: 1fr 1fr; }
  .page-meta-ads .mta-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-meta-ads .mta-hero__grid,
  .page-meta-ads .mta-split__grid,
  .page-meta-ads .mta-faq__inner,
  .page-meta-ads .mta-cta__panel,
  .page-meta-ads .mta-bounds__layout { grid-template-columns: 1fr; }
  .page-meta-ads .mta-lanes__track,
  .page-meta-ads .mta-bounds__grid { grid-template-columns: 1fr; }
  .page-meta-ads .mta-lane { border-right: none; border-bottom: 1px solid #d7ebdd; }
  .page-meta-ads .mta-lane:last-child { border-bottom: none; }
  .page-meta-ads .mta-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-meta-ads .mta-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-meta-ads .mta-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-meta-ads .mta-hero__copy { order: 1; }
  .page-meta-ads .mta-hero__media { order: 2; }
  .page-meta-ads .mta-split__copy { order: 1; }
  .page-meta-ads .mta-split__media { order: 2; }
  .page-meta-ads .mta-cta__copy { order: 1; }
  .page-meta-ads .mta-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-meta-ads .mta-services__grid,
  .page-meta-ads .mta-why__grid,
  .page-meta-ads .mta-process__track { grid-template-columns: 1fr; }
  .page-meta-ads .mta-hero__actions,
  .page-meta-ads .mta-cta__actions { flex-direction: column; }
  .page-meta-ads .mta-hero__actions .mta-btn,
  .page-meta-ads .mta-cta__actions .mta-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-meta-ads .mta-btn--solid:hover,
  .page-meta-ads .mta-lane:hover::after { transform: none; }
  .page-meta-ads .mta-cta__orb { animation: none; }
}

/* ===== Microsoft Ads — elevated Good UI (.page-microsoft-ads / .msa-*) ===== */
.page-microsoft-ads .msa-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-microsoft-ads .msa-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-microsoft-ads .msa-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-microsoft-ads .msa-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-microsoft-ads .msa-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-microsoft-ads .msa-section-head a,
.page-microsoft-ads .msa-split__copy a,
.page-microsoft-ads .msa-list a { color: var(--green); font-weight: 700; }
.page-microsoft-ads .msa-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-microsoft-ads .msa-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-microsoft-ads .msa-btn--solid:hover,
.page-microsoft-ads .msa-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-microsoft-ads .msa-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-microsoft-ads .msa-btn--ghost:hover,
.page-microsoft-ads .msa-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-microsoft-ads .msa-service__icon,
.page-microsoft-ads .msa-why__icon,
.page-microsoft-ads .msa-process__icon { color: var(--green); }
.page-microsoft-ads .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-microsoft-ads .msa-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    linear-gradient(115deg, rgba(0, 179, 72, 0.07) 0%, transparent 42%),
    radial-gradient(ellipse 40% 48% at 92% 70%, rgba(0, 179, 72, 0.09), transparent 55%),
    linear-gradient(180deg, #e8f5ed 0%, #f8fcf9 50%, #ffffff 100%);
  overflow: hidden;
}
.page-microsoft-ads .msa-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-microsoft-ads .msa-hero .svc-h1-stack { margin: 0 0 14px; }
.page-microsoft-ads .msa-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-microsoft-ads .msa-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-microsoft-ads .msa-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-microsoft-ads .msa-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-microsoft-ads .msa-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-microsoft-ads .msa-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-microsoft-ads .msa-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-microsoft-ads .msa-hero__pill-icon svg { width: 17px; height: 17px; }
.page-microsoft-ads .msa-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-microsoft-ads .msa-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-microsoft-ads .msa-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-microsoft-ads .msa-bounds { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-microsoft-ads .msa-bounds__layout {
  display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-microsoft-ads .msa-bounds__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-microsoft-ads .msa-bounds__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-microsoft-ads .msa-bounds__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.page-microsoft-ads .msa-bound {
  padding: 1.2rem 1.1rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-microsoft-ads .msa-bound--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-microsoft-ads .msa-bound__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-microsoft-ads .msa-bound h3 { margin: 0 0 0.35rem; font-size: 1.02rem; color: #141c17; }
.page-microsoft-ads .msa-bound h3 a { color: inherit; text-decoration: none; }
.page-microsoft-ads .msa-bound h3 a:hover { color: var(--green); }
.page-microsoft-ads .msa-bound p { margin: 0; font-size: 0.88rem; line-height: 1.5; color: #5a6b5e; }

.page-microsoft-ads .msa-paths { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-microsoft-ads .msa-paths__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.page-microsoft-ads .msa-path {
  position: relative; padding: 1.75rem 1.5rem 1.6rem; background: #f6fbf8;
  border: 1px solid #d7ebdd; border-radius: 14px; overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.page-microsoft-ads .msa-path:hover { border-color: var(--green); transform: translateY(-2px); }
.page-microsoft-ads .msa-path__mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.4rem; height: 2.4rem; margin-bottom: 0.85rem;
  font-size: 0.95rem; font-weight: 900; color: #fff; background: var(--green); border-radius: 8px;
}
.page-microsoft-ads .msa-path h3 { margin: 0 0 0.5rem; font-size: 1.2rem; color: #141c17; }
.page-microsoft-ads .msa-path > p { margin: 0 0 1rem; font-size: 0.94rem; line-height: 1.55; color: #5a6b5e; }
.page-microsoft-ads .msa-path ul {
  margin: 0; padding: 0; list-style: none; display: grid; gap: 0.45rem;
}
.page-microsoft-ads .msa-path li {
  position: relative; padding-left: 1.15rem; font-size: 0.9rem; font-weight: 700; color: #141c17;
}
.page-microsoft-ads .msa-path li::before {
  content: ""; position: absolute; left: 0; top: 0.45em;
  width: 7px; height: 7px; border-radius: 50%; background: var(--green);
}

.page-microsoft-ads .msa-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-microsoft-ads .msa-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-microsoft-ads .msa-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #fff; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-microsoft-ads .msa-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-microsoft-ads .msa-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-microsoft-ads .msa-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-microsoft-ads .msa-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-microsoft-ads .msa-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-microsoft-ads .msa-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-microsoft-ads .msa-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-microsoft-ads .msa-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-microsoft-ads .msa-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-microsoft-ads .msa-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-microsoft-ads .msa-split__media { margin: 0; }
.page-microsoft-ads .msa-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-microsoft-ads .msa-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-microsoft-ads .msa-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-microsoft-ads .msa-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-microsoft-ads .msa-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-microsoft-ads .msa-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-microsoft-ads .msa-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-microsoft-ads .msa-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-microsoft-ads .msa-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-microsoft-ads .msa-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-microsoft-ads .msa-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-microsoft-ads .msa-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-microsoft-ads .msa-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-microsoft-ads .msa-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-microsoft-ads .msa-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-microsoft-ads .msa-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-microsoft-ads .msa-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-microsoft-ads .msa-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-microsoft-ads .msa-faq__list { display: grid; gap: 0.65rem; }
.page-microsoft-ads .msa-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-microsoft-ads .msa-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-microsoft-ads .msa-faq__item summary::-webkit-details-marker { display: none; }
.page-microsoft-ads .msa-faq__num { flex-shrink: 0; color: var(--green); }
.page-microsoft-ads .msa-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-microsoft-ads .msa-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-microsoft-ads .msa-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-microsoft-ads .msa-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-microsoft-ads .msa-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-microsoft-ads .msa-cta__copy h2 span { color: #b8f0c8; }
.page-microsoft-ads .msa-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-microsoft-ads .msa-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-microsoft-ads .msa-cta .msa-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-microsoft-ads .msa-cta .msa-btn--solid:hover,
.page-microsoft-ads .msa-cta .msa-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-microsoft-ads .msa-cta .msa-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-microsoft-ads .msa-cta .msa-btn--ghost:hover,
.page-microsoft-ads .msa-cta .msa-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-microsoft-ads .msa-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-microsoft-ads .msa-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-microsoft-ads .msa-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-microsoft-ads .msa-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-microsoft-ads .msa-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-microsoft-ads .msa-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: msa-orb 8s ease-in-out infinite;
}
.page-microsoft-ads .msa-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-microsoft-ads .msa-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes msa-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-microsoft-ads .msa-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-microsoft-ads .msa-why__grid { grid-template-columns: 1fr 1fr; }
  .page-microsoft-ads .msa-services__grid { grid-template-columns: 1fr 1fr; }
  .page-microsoft-ads .msa-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-microsoft-ads .msa-hero__grid,
  .page-microsoft-ads .msa-split__grid,
  .page-microsoft-ads .msa-faq__inner,
  .page-microsoft-ads .msa-cta__panel,
  .page-microsoft-ads .msa-bounds__layout,
  .page-microsoft-ads .msa-paths__grid { grid-template-columns: 1fr; }
  .page-microsoft-ads .msa-bounds__grid { grid-template-columns: 1fr; }
  .page-microsoft-ads .msa-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-microsoft-ads .msa-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-microsoft-ads .msa-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-microsoft-ads .msa-hero__copy { order: 1; }
  .page-microsoft-ads .msa-hero__media { order: 2; }
  .page-microsoft-ads .msa-split__media { order: 2; }
  .page-microsoft-ads .msa-split__copy { order: 1; }
  .page-microsoft-ads .msa-cta__copy { order: 1; }
  .page-microsoft-ads .msa-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-microsoft-ads .msa-services__grid,
  .page-microsoft-ads .msa-why__grid,
  .page-microsoft-ads .msa-process__track { grid-template-columns: 1fr; }
  .page-microsoft-ads .msa-hero__actions,
  .page-microsoft-ads .msa-cta__actions { flex-direction: column; }
  .page-microsoft-ads .msa-hero__actions .msa-btn,
  .page-microsoft-ads .msa-cta__actions .msa-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-microsoft-ads .msa-btn--solid:hover,
  .page-microsoft-ads .msa-path:hover { transform: none; }
  .page-microsoft-ads .msa-cta__orb { animation: none; }
}

/* ===== Amazon Marketing — elevated Good UI (.page-amazon-marketing / .amz-*) ===== */
.page-amazon-marketing .amz-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-amazon-marketing .amz-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-amazon-marketing .amz-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-amazon-marketing .amz-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-amazon-marketing .amz-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-amazon-marketing .amz-section-head a,
.page-amazon-marketing .amz-split__copy a,
.page-amazon-marketing .amz-list a { color: var(--green); font-weight: 700; }
.page-amazon-marketing .amz-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-amazon-marketing .amz-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-amazon-marketing .amz-btn--solid:hover,
.page-amazon-marketing .amz-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-amazon-marketing .amz-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-amazon-marketing .amz-btn--ghost:hover,
.page-amazon-marketing .amz-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-amazon-marketing .amz-service__icon,
.page-amazon-marketing .amz-why__icon,
.page-amazon-marketing .amz-process__icon { color: var(--green); }
.page-amazon-marketing .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-amazon-marketing .amz-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 44% 50% at 8% 25%, rgba(0, 179, 72, 0.1), transparent 55%),
    linear-gradient(155deg, rgba(0, 179, 72, 0.05) 0%, transparent 45%),
    linear-gradient(180deg, #e7f5ec 0%, #f8fcf9 48%, #ffffff 100%);
  overflow: hidden;
}
.page-amazon-marketing .amz-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-amazon-marketing .amz-hero .svc-h1-stack { margin: 0 0 14px; }
.page-amazon-marketing .amz-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-amazon-marketing .amz-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-amazon-marketing .amz-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-amazon-marketing .amz-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-amazon-marketing .amz-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-amazon-marketing .amz-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-amazon-marketing .amz-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-amazon-marketing .amz-hero__pill-icon svg { width: 17px; height: 17px; }
.page-amazon-marketing .amz-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-amazon-marketing .amz-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-amazon-marketing .amz-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-amazon-marketing .amz-bounds { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-amazon-marketing .amz-bounds__layout {
  display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-amazon-marketing .amz-bounds__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-amazon-marketing .amz-bounds__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-amazon-marketing .amz-bounds__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.page-amazon-marketing .amz-bound {
  padding: 1.2rem 1.1rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-amazon-marketing .amz-bound--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-amazon-marketing .amz-bound__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-amazon-marketing .amz-bound h3 { margin: 0 0 0.35rem; font-size: 1.02rem; color: #141c17; }
.page-amazon-marketing .amz-bound h3 a { color: inherit; text-decoration: none; }
.page-amazon-marketing .amz-bound h3 a:hover { color: var(--green); }
.page-amazon-marketing .amz-bound p { margin: 0; font-size: 0.88rem; line-height: 1.5; color: #5a6b5e; }

.page-amazon-marketing .amz-flywheel { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-amazon-marketing .amz-flywheel__ring {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
  margin: 0; padding: 0; list-style: none;
  border: 1px solid #d7ebdd; border-radius: 16px; overflow: hidden; background: #f6fbf8;
}
.page-amazon-marketing .amz-flywheel__ring > li {
  position: relative; padding: 1.6rem 1.25rem 1.5rem;
  border-right: 1px solid #d7ebdd;
}
.page-amazon-marketing .amz-flywheel__ring > li:last-child { border-right: none; }
.page-amazon-marketing .amz-flywheel__ring > li:not(:last-child)::after {
  content: ""; position: absolute; right: -7px; top: 50%; z-index: 1;
  width: 12px; height: 12px; border-right: 2px solid var(--green); border-top: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg); background: #f6fbf8;
}
.page-amazon-marketing .amz-flywheel__step {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; margin-bottom: 0.75rem;
  font-size: 0.85rem; font-weight: 900; color: #fff; background: var(--green); border-radius: 50%;
}
.page-amazon-marketing .amz-flywheel__ring h3 { margin: 0 0 0.4rem; font-size: 1.08rem; color: #141c17; }
.page-amazon-marketing .amz-flywheel__ring p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }

.page-amazon-marketing .amz-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-amazon-marketing .amz-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-amazon-marketing .amz-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #fff; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-amazon-marketing .amz-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-amazon-marketing .amz-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-amazon-marketing .amz-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-amazon-marketing .amz-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-amazon-marketing .amz-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-amazon-marketing .amz-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-amazon-marketing .amz-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-amazon-marketing .amz-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-amazon-marketing .amz-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-amazon-marketing .amz-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-amazon-marketing .amz-split__media { margin: 0; }
.page-amazon-marketing .amz-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-amazon-marketing .amz-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-amazon-marketing .amz-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-amazon-marketing .amz-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-amazon-marketing .amz-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-amazon-marketing .amz-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-amazon-marketing .amz-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-amazon-marketing .amz-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-amazon-marketing .amz-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-amazon-marketing .amz-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-amazon-marketing .amz-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-amazon-marketing .amz-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-amazon-marketing .amz-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-amazon-marketing .amz-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-amazon-marketing .amz-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-amazon-marketing .amz-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-amazon-marketing .amz-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-amazon-marketing .amz-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-amazon-marketing .amz-faq__list { display: grid; gap: 0.65rem; }
.page-amazon-marketing .amz-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-amazon-marketing .amz-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-amazon-marketing .amz-faq__item summary::-webkit-details-marker { display: none; }
.page-amazon-marketing .amz-faq__num { flex-shrink: 0; color: var(--green); }
.page-amazon-marketing .amz-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-amazon-marketing .amz-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-amazon-marketing .amz-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-amazon-marketing .amz-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-amazon-marketing .amz-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-amazon-marketing .amz-cta__copy h2 span { color: #b8f0c8; }
.page-amazon-marketing .amz-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-amazon-marketing .amz-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-amazon-marketing .amz-cta .amz-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-amazon-marketing .amz-cta .amz-btn--solid:hover,
.page-amazon-marketing .amz-cta .amz-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-amazon-marketing .amz-cta .amz-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-amazon-marketing .amz-cta .amz-btn--ghost:hover,
.page-amazon-marketing .amz-cta .amz-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-amazon-marketing .amz-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-amazon-marketing .amz-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-amazon-marketing .amz-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-amazon-marketing .amz-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-amazon-marketing .amz-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-amazon-marketing .amz-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: amz-orb 8s ease-in-out infinite;
}
.page-amazon-marketing .amz-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-amazon-marketing .amz-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes amz-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-amazon-marketing .amz-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-amazon-marketing .amz-why__grid { grid-template-columns: 1fr 1fr; }
  .page-amazon-marketing .amz-services__grid { grid-template-columns: 1fr 1fr; }
  .page-amazon-marketing .amz-process__track { grid-template-columns: 1fr 1fr; }
  .page-amazon-marketing .amz-flywheel__ring { grid-template-columns: 1fr 1fr; }
  .page-amazon-marketing .amz-flywheel__ring > li:nth-child(2) { border-right: none; }
  .page-amazon-marketing .amz-flywheel__ring > li:nth-child(1),
  .page-amazon-marketing .amz-flywheel__ring > li:nth-child(2) { border-bottom: 1px solid #d7ebdd; }
  .page-amazon-marketing .amz-flywheel__ring > li:not(:last-child)::after { display: none; }
}
@media (max-width: 980px) {
  .page-amazon-marketing .amz-hero__grid,
  .page-amazon-marketing .amz-split__grid,
  .page-amazon-marketing .amz-faq__inner,
  .page-amazon-marketing .amz-cta__panel,
  .page-amazon-marketing .amz-bounds__layout { grid-template-columns: 1fr; }
  .page-amazon-marketing .amz-bounds__grid { grid-template-columns: 1fr; }
  .page-amazon-marketing .amz-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-amazon-marketing .amz-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-amazon-marketing .amz-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-amazon-marketing .amz-hero__copy { order: 1; }
  .page-amazon-marketing .amz-hero__media { order: 2; }
  .page-amazon-marketing .amz-split__copy { order: 1; }
  .page-amazon-marketing .amz-split__media { order: 2; }
  .page-amazon-marketing .amz-cta__copy { order: 1; }
  .page-amazon-marketing .amz-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-amazon-marketing .amz-services__grid,
  .page-amazon-marketing .amz-why__grid,
  .page-amazon-marketing .amz-process__track,
  .page-amazon-marketing .amz-flywheel__ring { grid-template-columns: 1fr; }
  .page-amazon-marketing .amz-flywheel__ring > li { border-right: none; border-bottom: 1px solid #d7ebdd; }
  .page-amazon-marketing .amz-flywheel__ring > li:last-child { border-bottom: none; }
  .page-amazon-marketing .amz-hero__actions,
  .page-amazon-marketing .amz-cta__actions { flex-direction: column; }
  .page-amazon-marketing .amz-hero__actions .amz-btn,
  .page-amazon-marketing .amz-cta__actions .amz-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-amazon-marketing .amz-btn--solid:hover { transform: none; }
  .page-amazon-marketing .amz-cta__orb { animation: none; }
}

/* ===== Shopify Migration — elevated Good UI (.page-shopify-migration / .smg-*) ===== */
.page-shopify-migration .smg-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-shopify-migration .smg-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-shopify-migration .smg-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-shopify-migration .smg-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-shopify-migration .smg-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-shopify-migration .smg-section-head a,
.page-shopify-migration .smg-list a { color: var(--green); font-weight: 700; }
.page-shopify-migration .smg-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-shopify-migration .smg-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-shopify-migration .smg-btn--solid:hover,
.page-shopify-migration .smg-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-shopify-migration .smg-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-shopify-migration .smg-btn--ghost:hover,
.page-shopify-migration .smg-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-shopify-migration .smg-service__icon,
.page-shopify-migration .smg-why__icon,
.page-shopify-migration .smg-process__icon { color: var(--green); }
.page-shopify-migration .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-shopify-migration .smg-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 42% 48% at 90% 20%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(165deg, rgba(0, 179, 72, 0.06) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f8fcf9 50%, #ffffff 100%);
  overflow: hidden;
}
.page-shopify-migration .smg-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-shopify-migration .smg-hero .svc-h1-stack { margin: 0 0 14px; }
.page-shopify-migration .smg-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-shopify-migration .smg-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-shopify-migration .smg-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-shopify-migration .smg-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-shopify-migration .smg-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-shopify-migration .smg-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-shopify-migration .smg-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-shopify-migration .smg-hero__pill-icon svg { width: 17px; height: 17px; }
.page-shopify-migration .smg-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-shopify-migration .smg-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-shopify-migration .smg-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-shopify-migration .smg-bounds { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-shopify-migration .smg-bounds__layout {
  display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-shopify-migration .smg-bounds__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-shopify-migration .smg-bounds__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-shopify-migration .smg-bounds__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.page-shopify-migration .smg-bound {
  padding: 1.2rem 1.1rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-shopify-migration .smg-bound--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-shopify-migration .smg-bound__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-shopify-migration .smg-bound h3 { margin: 0 0 0.35rem; font-size: 1.02rem; color: #141c17; }
.page-shopify-migration .smg-bound h3 a { color: inherit; text-decoration: none; }
.page-shopify-migration .smg-bound h3 a:hover { color: var(--green); }
.page-shopify-migration .smg-bound p { margin: 0; font-size: 0.88rem; line-height: 1.5; color: #5a6b5e; }

.page-shopify-migration .smg-equity { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-shopify-migration .smg-equity__flow {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 10px;
  margin: 0 auto 1.75rem; max-width: 52rem;
}
.page-shopify-migration .smg-equity__card {
  flex: 1 1 140px; min-width: 140px; max-width: 200px;
  padding: 1.1rem 1rem; background: #f6fbf8; border: 1px solid #d7ebdd; border-radius: 12px; text-align: center;
}
.page-shopify-migration .smg-equity__card--mid {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.1);
}
.page-shopify-migration .smg-equity__card--end { background: #e3f6ea; border-color: #b8e4c6; }
.page-shopify-migration .smg-equity__label {
  margin: 0 0 0.35rem; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-shopify-migration .smg-equity__url {
  margin: 0; font-size: 0.85rem; font-weight: 700; color: #141c17; word-break: break-all; line-height: 1.35;
}
.page-shopify-migration .smg-equity__arrow { color: var(--green); display: inline-flex; }
.page-shopify-migration .smg-equity__points {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0.65rem 1.5rem;
  margin: 0; padding: 0; list-style: none;
}
.page-shopify-migration .smg-equity__points li {
  position: relative; padding-left: 1.1rem; font-size: 0.92rem; font-weight: 700; color: #141c17;
}
.page-shopify-migration .smg-equity__points li::before {
  content: ""; position: absolute; left: 0; top: 0.45em;
  width: 7px; height: 7px; border-radius: 50%; background: var(--green);
}

.page-shopify-migration .smg-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-shopify-migration .smg-services__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.page-shopify-migration .smg-service {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.4rem 1.25rem 1.5rem; background: #fff; border: 1px solid #d7ebdd; border-radius: 12px;
}
.page-shopify-migration .smg-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-shopify-migration .smg-service h3 { margin: 0.35rem 0 0; font-size: 1.08rem; color: #141c17; }
.page-shopify-migration .smg-service p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-shopify-migration .smg-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-shopify-migration .smg-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-shopify-migration .smg-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-shopify-migration .smg-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-shopify-migration .smg-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-shopify-migration .smg-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-shopify-migration .smg-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-shopify-migration .smg-split__media { margin: 0; }
.page-shopify-migration .smg-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-shopify-migration .smg-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-shopify-migration .smg-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-shopify-migration .smg-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-shopify-migration .smg-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-shopify-migration .smg-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-shopify-migration .smg-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-shopify-migration .smg-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-shopify-migration .smg-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-shopify-migration .smg-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-shopify-migration .smg-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-shopify-migration .smg-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-shopify-migration .smg-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-shopify-migration .smg-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-shopify-migration .smg-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-shopify-migration .smg-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-shopify-migration .smg-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-shopify-migration .smg-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-shopify-migration .smg-faq__list { display: grid; gap: 0.65rem; }
.page-shopify-migration .smg-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-shopify-migration .smg-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-shopify-migration .smg-faq__item summary::-webkit-details-marker { display: none; }
.page-shopify-migration .smg-faq__num { flex-shrink: 0; color: var(--green); }
.page-shopify-migration .smg-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-shopify-migration .smg-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-shopify-migration .smg-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-shopify-migration .smg-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-shopify-migration .smg-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-shopify-migration .smg-cta__copy h2 span { color: #b8f0c8; }
.page-shopify-migration .smg-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-shopify-migration .smg-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-shopify-migration .smg-cta .smg-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-shopify-migration .smg-cta .smg-btn--solid:hover,
.page-shopify-migration .smg-cta .smg-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-shopify-migration .smg-cta .smg-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-shopify-migration .smg-cta .smg-btn--ghost:hover,
.page-shopify-migration .smg-cta .smg-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-shopify-migration .smg-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-shopify-migration .smg-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-shopify-migration .smg-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-shopify-migration .smg-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-shopify-migration .smg-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-shopify-migration .smg-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: smg-orb 8s ease-in-out infinite;
}
.page-shopify-migration .smg-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-shopify-migration .smg-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes smg-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-shopify-migration .smg-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-shopify-migration .smg-why__grid { grid-template-columns: 1fr 1fr; }
  .page-shopify-migration .smg-services__grid { grid-template-columns: 1fr 1fr; }
  .page-shopify-migration .smg-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-shopify-migration .smg-hero__grid,
  .page-shopify-migration .smg-split__grid,
  .page-shopify-migration .smg-faq__inner,
  .page-shopify-migration .smg-cta__panel,
  .page-shopify-migration .smg-bounds__layout { grid-template-columns: 1fr; }
  .page-shopify-migration .smg-bounds__grid { grid-template-columns: 1fr; }
  .page-shopify-migration .smg-equity__arrow { transform: rotate(90deg); }
  .page-shopify-migration .smg-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-shopify-migration .smg-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-shopify-migration .smg-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-shopify-migration .smg-hero__copy { order: 1; }
  .page-shopify-migration .smg-hero__media { order: 2; }
  .page-shopify-migration .smg-split__media { order: 2; }
  .page-shopify-migration .smg-split__copy { order: 1; }
  .page-shopify-migration .smg-cta__copy { order: 1; }
  .page-shopify-migration .smg-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-shopify-migration .smg-services__grid,
  .page-shopify-migration .smg-why__grid,
  .page-shopify-migration .smg-process__track { grid-template-columns: 1fr; }
  .page-shopify-migration .smg-hero__actions,
  .page-shopify-migration .smg-cta__actions { flex-direction: column; }
  .page-shopify-migration .smg-hero__actions .smg-btn,
  .page-shopify-migration .smg-cta__actions .smg-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-shopify-migration .smg-btn--solid:hover { transform: none; }
  .page-shopify-migration .smg-cta__orb { animation: none; }
}

/* ===== Web Design Hub — elevated Good UI (.page-hub-web-design / .wdh-*) ===== */
.page-hub-web-design .wdh-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-web-design .wdh-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-web-design .wdh-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-web-design .wdh-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-web-design .wdh-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-web-design .wdh-section-head a,
.page-hub-web-design .wdh-list a { color: var(--green); font-weight: 700; }
.page-hub-web-design .wdh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-web-design .wdh-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-web-design .wdh-btn--solid:hover,
.page-hub-web-design .wdh-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-web-design .wdh-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-web-design .wdh-btn--ghost:hover,
.page-hub-web-design .wdh-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-web-design .wdh-service__icon,
.page-hub-web-design .wdh-why__icon,
.page-hub-web-design .wdh-process__icon { color: var(--green); }
.page-hub-web-design .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-web-design .wdh-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 48% 55% at 85% 12%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(125deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-web-design .wdh-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-hub-web-design .wdh-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-web-design .wdh-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-web-design .wdh-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-web-design .wdh-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-web-design .wdh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-web-design .wdh-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-web-design .wdh-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-web-design .wdh-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-web-design .wdh-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-web-design .wdh-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-web-design .wdh-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-hub-web-design .wdh-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-web-design .wdh-scope { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-hub-web-design .wdh-scope__layout {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-hub-web-design .wdh-scope__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-hub-web-design .wdh-scope__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-hub-web-design .wdh-scope__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-hub-web-design .wdh-scope__card {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-web-design .wdh-scope__card--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-hub-web-design .wdh-scope__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-web-design .wdh-scope__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-hub-web-design .wdh-scope__card p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-web-design .wdh-services { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-web-design .wdh-services__primary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.75rem;
}
.page-hub-web-design .wdh-services__label {
  margin: 0 0 0.85rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-web-design .wdh-services__foundation-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.page-hub-web-design .wdh-service {
  position: relative; display: flex; flex-direction: column; gap: 0.45rem;
  padding: 1.35rem 1.2rem 1.4rem; background: #f6fbf8; border: 1px solid #d7ebdd;
  border-radius: 12px; text-decoration: none; color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.page-hub-web-design .wdh-service--lead { background: #fff; padding: 1.5rem 1.3rem 1.55rem; }
.page-hub-web-design .wdh-service:hover { transform: translateY(-2px); border-color: var(--green); }
.page-hub-web-design .wdh-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-web-design .wdh-service h3 { margin: 0.25rem 0 0; font-size: 1.05rem; color: #141c17; }
.page-hub-web-design .wdh-service p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; flex: 1; }
.page-hub-web-design .wdh-service__go {
  position: absolute; top: 1.15rem; right: 1.1rem; color: var(--green); opacity: 0.7;
}

.page-hub-web-design .wdh-split { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-web-design .wdh-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-web-design .wdh-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-web-design .wdh-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-web-design .wdh-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-web-design .wdh-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #fff; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-web-design .wdh-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-web-design .wdh-split__media { margin: 0; }
.page-hub-web-design .wdh-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-web-design .wdh-process { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-web-design .wdh-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-web-design .wdh-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-web-design .wdh-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-web-design .wdh-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-web-design .wdh-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-web-design .wdh-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-web-design .wdh-why { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-hub-web-design .wdh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-web-design .wdh-why__item {
  padding: 1.35rem 1.2rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-web-design .wdh-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-web-design .wdh-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-web-design .wdh-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-web-design .wdh-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-web-design .wdh-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-web-design .wdh-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-web-design .wdh-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-web-design .wdh-faq__list { display: grid; gap: 0.65rem; }
.page-hub-web-design .wdh-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-web-design .wdh-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-web-design .wdh-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-web-design .wdh-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-web-design .wdh-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-web-design .wdh-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-web-design .wdh-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-web-design .wdh-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-web-design .wdh-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-hub-web-design .wdh-cta__copy h2 span { color: #b8f0c8; }
.page-hub-web-design .wdh-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-web-design .wdh-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-web-design .wdh-cta .wdh-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-web-design .wdh-cta .wdh-btn--solid:hover,
.page-hub-web-design .wdh-cta .wdh-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-web-design .wdh-cta .wdh-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-web-design .wdh-cta .wdh-btn--ghost:hover,
.page-hub-web-design .wdh-cta .wdh-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-web-design .wdh-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-web-design .wdh-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-web-design .wdh-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-web-design .wdh-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-web-design .wdh-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-web-design .wdh-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: wdh-orb 8s ease-in-out infinite;
}
.page-hub-web-design .wdh-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-web-design .wdh-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes wdh-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-web-design .wdh-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-web-design .wdh-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-web-design .wdh-services__primary,
  .page-hub-web-design .wdh-services__foundation-grid { grid-template-columns: 1fr 1fr; }
  .page-hub-web-design .wdh-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-hub-web-design .wdh-hero__grid,
  .page-hub-web-design .wdh-split__grid,
  .page-hub-web-design .wdh-faq__inner,
  .page-hub-web-design .wdh-cta__panel,
  .page-hub-web-design .wdh-scope__layout { grid-template-columns: 1fr; }
  .page-hub-web-design .wdh-scope__cards { grid-template-columns: 1fr; }
  .page-hub-web-design .wdh-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-web-design .wdh-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-web-design .wdh-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-web-design .wdh-hero__copy { order: 1; }
  .page-hub-web-design .wdh-hero__media { order: 2; }
  .page-hub-web-design .wdh-split__media { order: 2; }
  .page-hub-web-design .wdh-split__copy { order: 1; }
  .page-hub-web-design .wdh-cta__copy { order: 1; }
  .page-hub-web-design .wdh-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-web-design .wdh-services__primary,
  .page-hub-web-design .wdh-services__foundation-grid,
  .page-hub-web-design .wdh-why__grid,
  .page-hub-web-design .wdh-process__track { grid-template-columns: 1fr; }
  .page-hub-web-design .wdh-hero__actions,
  .page-hub-web-design .wdh-cta__actions { flex-direction: column; }
  .page-hub-web-design .wdh-hero__actions .wdh-btn,
  .page-hub-web-design .wdh-cta__actions .wdh-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-web-design .wdh-btn--solid:hover,
  .page-hub-web-design .wdh-service:hover { transform: none; }
  .page-hub-web-design .wdh-cta__orb { animation: none; }
}
/* ===== CRO Hub — elevated Good UI (.page-hub-conversion-rate-optimization / .croh-*) ===== */
.page-hub-conversion-rate-optimization .croh-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-conversion-rate-optimization .croh-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-conversion-rate-optimization .croh-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-conversion-rate-optimization .croh-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-conversion-rate-optimization .croh-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-conversion-rate-optimization .croh-section-head a,
.page-hub-conversion-rate-optimization .croh-list a { color: var(--green); font-weight: 700; }
.page-hub-conversion-rate-optimization .croh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-conversion-rate-optimization .croh-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-conversion-rate-optimization .croh-btn--solid:hover,
.page-hub-conversion-rate-optimization .croh-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-conversion-rate-optimization .croh-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-conversion-rate-optimization .croh-btn--ghost:hover,
.page-hub-conversion-rate-optimization .croh-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-conversion-rate-optimization .croh-service__icon,
.page-hub-conversion-rate-optimization .croh-why__icon,
.page-hub-conversion-rate-optimization .croh-process__icon { color: var(--green); }
.page-hub-conversion-rate-optimization .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-conversion-rate-optimization .croh-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 48% 55% at 85% 12%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(125deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-conversion-rate-optimization .croh-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-hub-conversion-rate-optimization .croh-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-conversion-rate-optimization .croh-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-conversion-rate-optimization .croh-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-conversion-rate-optimization .croh-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-conversion-rate-optimization .croh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-conversion-rate-optimization .croh-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-conversion-rate-optimization .croh-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-conversion-rate-optimization .croh-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-conversion-rate-optimization .croh-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-conversion-rate-optimization .croh-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-conversion-rate-optimization .croh-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-hub-conversion-rate-optimization .croh-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-conversion-rate-optimization .croh-scope { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-hub-conversion-rate-optimization .croh-scope__layout {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-hub-conversion-rate-optimization .croh-scope__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-hub-conversion-rate-optimization .croh-scope__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-hub-conversion-rate-optimization .croh-scope__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-hub-conversion-rate-optimization .croh-scope__card {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-conversion-rate-optimization .croh-scope__card--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-hub-conversion-rate-optimization .croh-scope__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-conversion-rate-optimization .croh-scope__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-hub-conversion-rate-optimization .croh-scope__card p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
.page-hub-conversion-rate-optimization .croh-scope__card a { color: var(--green); font-weight: 700; text-decoration: none; }
.page-hub-conversion-rate-optimization .croh-scope__card a:hover { text-decoration: underline; }


.page-hub-conversion-rate-optimization .croh-loop { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-conversion-rate-optimization .croh-loop__ring {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
  margin: 0; padding: 0; list-style: none;
  border: 1px solid #d7ebdd; border-radius: 16px; overflow: hidden; background: #f6fbf8;
}
.page-hub-conversion-rate-optimization .croh-loop__ring > li {
  position: relative; padding: 1.6rem 1.25rem 1.5rem; border-right: 1px solid #d7ebdd;
}
.page-hub-conversion-rate-optimization .croh-loop__ring > li:last-child { border-right: none; }
.page-hub-conversion-rate-optimization .croh-loop__ring > li:not(:last-child)::after {
  content: ""; position: absolute; right: -7px; top: 50%; z-index: 1;
  width: 12px; height: 12px; border-right: 2px solid var(--green); border-top: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg); background: #f6fbf8;
}
.page-hub-conversion-rate-optimization .croh-loop__step {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; margin-bottom: 0.75rem;
  font-size: 0.85rem; font-weight: 900; color: #fff; background: var(--green); border-radius: 50%;
}
.page-hub-conversion-rate-optimization .croh-loop__ring h3 { margin: 0 0 0.4rem; font-size: 1.08rem; color: #141c17; }
.page-hub-conversion-rate-optimization .croh-loop__ring p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
@media (max-width: 1100px) {
  .page-hub-conversion-rate-optimization .croh-loop__ring { grid-template-columns: 1fr 1fr; }
  .page-hub-conversion-rate-optimization .croh-loop__ring > li:nth-child(2) { border-right: none; }
  .page-hub-conversion-rate-optimization .croh-loop__ring > li:nth-child(1),
  .page-hub-conversion-rate-optimization .croh-loop__ring > li:nth-child(2) { border-bottom: 1px solid #d7ebdd; }
  .page-hub-conversion-rate-optimization .croh-loop__ring > li:not(:last-child)::after { display: none; }
}
@media (max-width: 640px) {
  .page-hub-conversion-rate-optimization .croh-loop__ring { grid-template-columns: 1fr; }
  .page-hub-conversion-rate-optimization .croh-loop__ring > li { border-right: none; border-bottom: 1px solid #d7ebdd; }
  .page-hub-conversion-rate-optimization .croh-loop__ring > li:last-child { border-bottom: none; }
}

.page-hub-conversion-rate-optimization .croh-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-conversion-rate-optimization .croh-services__primary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.75rem;
}
.page-hub-conversion-rate-optimization .croh-services__label {
  margin: 0 0 0.85rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-conversion-rate-optimization .croh-services__foundation-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.page-hub-conversion-rate-optimization .croh-service {
  position: relative; display: flex; flex-direction: column; gap: 0.45rem;
  padding: 1.35rem 1.2rem 1.4rem; background: #fff; border: 1px solid #d7ebdd;
  border-radius: 12px; text-decoration: none; color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.page-hub-conversion-rate-optimization .croh-service--lead { background: #fff; padding: 1.5rem 1.3rem 1.55rem; }
.page-hub-conversion-rate-optimization .croh-service:hover { transform: translateY(-2px); border-color: var(--green); }
.page-hub-conversion-rate-optimization .croh-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-conversion-rate-optimization .croh-service h3 { margin: 0.25rem 0 0; font-size: 1.05rem; color: #141c17; }
.page-hub-conversion-rate-optimization .croh-service p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; flex: 1; }
.page-hub-conversion-rate-optimization .croh-service__go {
  position: absolute; top: 1.15rem; right: 1.1rem; color: var(--green); opacity: 0.7;
}

.page-hub-conversion-rate-optimization .croh-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-conversion-rate-optimization .croh-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-conversion-rate-optimization .croh-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-conversion-rate-optimization .croh-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-conversion-rate-optimization .croh-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-conversion-rate-optimization .croh-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-conversion-rate-optimization .croh-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-conversion-rate-optimization .croh-split__media { margin: 0; }
.page-hub-conversion-rate-optimization .croh-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-conversion-rate-optimization .croh-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-hub-conversion-rate-optimization .croh-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-conversion-rate-optimization .croh-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-conversion-rate-optimization .croh-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-conversion-rate-optimization .croh-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-conversion-rate-optimization .croh-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-conversion-rate-optimization .croh-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-conversion-rate-optimization .croh-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-conversion-rate-optimization .croh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-conversion-rate-optimization .croh-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-conversion-rate-optimization .croh-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-conversion-rate-optimization .croh-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-conversion-rate-optimization .croh-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-conversion-rate-optimization .croh-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-conversion-rate-optimization .croh-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-conversion-rate-optimization .croh-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-conversion-rate-optimization .croh-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-conversion-rate-optimization .croh-faq__list { display: grid; gap: 0.65rem; }
.page-hub-conversion-rate-optimization .croh-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-conversion-rate-optimization .croh-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-conversion-rate-optimization .croh-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-conversion-rate-optimization .croh-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-conversion-rate-optimization .croh-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-conversion-rate-optimization .croh-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-conversion-rate-optimization .croh-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-conversion-rate-optimization .croh-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-conversion-rate-optimization .croh-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-hub-conversion-rate-optimization .croh-cta__copy h2 span { color: #b8f0c8; }
.page-hub-conversion-rate-optimization .croh-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-conversion-rate-optimization .croh-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-conversion-rate-optimization .croh-cta .croh-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-conversion-rate-optimization .croh-cta .croh-btn--solid:hover,
.page-hub-conversion-rate-optimization .croh-cta .croh-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-conversion-rate-optimization .croh-cta .croh-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-conversion-rate-optimization .croh-cta .croh-btn--ghost:hover,
.page-hub-conversion-rate-optimization .croh-cta .croh-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-conversion-rate-optimization .croh-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-conversion-rate-optimization .croh-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-conversion-rate-optimization .croh-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-conversion-rate-optimization .croh-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-conversion-rate-optimization .croh-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-conversion-rate-optimization .croh-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: croh-orb 8s ease-in-out infinite;
}
.page-hub-conversion-rate-optimization .croh-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-conversion-rate-optimization .croh-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes croh-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-conversion-rate-optimization .croh-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-conversion-rate-optimization .croh-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-conversion-rate-optimization .croh-services__primary,
  .page-hub-conversion-rate-optimization .croh-services__foundation-grid { grid-template-columns: 1fr 1fr; }
  .page-hub-conversion-rate-optimization .croh-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-hub-conversion-rate-optimization .croh-hero__grid,
  .page-hub-conversion-rate-optimization .croh-split__grid,
  .page-hub-conversion-rate-optimization .croh-faq__inner,
  .page-hub-conversion-rate-optimization .croh-cta__panel,
  .page-hub-conversion-rate-optimization .croh-scope__layout { grid-template-columns: 1fr; }
  .page-hub-conversion-rate-optimization .croh-scope__cards { grid-template-columns: 1fr; }
  .page-hub-conversion-rate-optimization .croh-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-conversion-rate-optimization .croh-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-conversion-rate-optimization .croh-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-conversion-rate-optimization .croh-hero__copy { order: 1; }
  .page-hub-conversion-rate-optimization .croh-hero__media { order: 2; }
  .page-hub-conversion-rate-optimization .croh-split__media { order: 2; }
  .page-hub-conversion-rate-optimization .croh-split__copy { order: 1; }
  .page-hub-conversion-rate-optimization .croh-cta__copy { order: 1; }
  .page-hub-conversion-rate-optimization .croh-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-conversion-rate-optimization .croh-services__primary,
  .page-hub-conversion-rate-optimization .croh-services__foundation-grid,
  .page-hub-conversion-rate-optimization .croh-why__grid,
  .page-hub-conversion-rate-optimization .croh-process__track { grid-template-columns: 1fr; }
  .page-hub-conversion-rate-optimization .croh-hero__actions,
  .page-hub-conversion-rate-optimization .croh-cta__actions { flex-direction: column; }
  .page-hub-conversion-rate-optimization .croh-hero__actions .croh-btn,
  .page-hub-conversion-rate-optimization .croh-cta__actions .croh-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-conversion-rate-optimization .croh-btn--solid:hover,
  .page-hub-conversion-rate-optimization .croh-service:hover { transform: none; }
  .page-hub-conversion-rate-optimization .croh-cta__orb { animation: none; }
}
/* ===== Ecommerce Marketing Hub — elevated Good UI (.page-hub-ecommerce-marketing / .ecmh-*) ===== */
.page-hub-ecommerce-marketing .ecmh-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-ecommerce-marketing .ecmh-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-ecommerce-marketing .ecmh-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-ecommerce-marketing .ecmh-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-ecommerce-marketing .ecmh-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-ecommerce-marketing .ecmh-section-head a,
.page-hub-ecommerce-marketing .ecmh-list a { color: var(--green); font-weight: 700; }
.page-hub-ecommerce-marketing .ecmh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-ecommerce-marketing .ecmh-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-ecommerce-marketing .ecmh-btn--solid:hover,
.page-hub-ecommerce-marketing .ecmh-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-ecommerce-marketing .ecmh-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-ecommerce-marketing .ecmh-btn--ghost:hover,
.page-hub-ecommerce-marketing .ecmh-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-ecommerce-marketing .ecmh-service__icon,
.page-hub-ecommerce-marketing .ecmh-why__icon,
.page-hub-ecommerce-marketing .ecmh-process__icon { color: var(--green); }
.page-hub-ecommerce-marketing .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-ecommerce-marketing .ecmh-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 48% 55% at 85% 12%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(125deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-ecommerce-marketing .ecmh-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-hub-ecommerce-marketing .ecmh-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-ecommerce-marketing .ecmh-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-ecommerce-marketing .ecmh-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-ecommerce-marketing .ecmh-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-ecommerce-marketing .ecmh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-ecommerce-marketing .ecmh-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-ecommerce-marketing .ecmh-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-ecommerce-marketing .ecmh-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-ecommerce-marketing .ecmh-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-ecommerce-marketing .ecmh-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-ecommerce-marketing .ecmh-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-hub-ecommerce-marketing .ecmh-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-ecommerce-marketing .ecmh-scope { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-hub-ecommerce-marketing .ecmh-scope__layout {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-hub-ecommerce-marketing .ecmh-scope__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-hub-ecommerce-marketing .ecmh-scope__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-hub-ecommerce-marketing .ecmh-scope__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-hub-ecommerce-marketing .ecmh-scope__card {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-ecommerce-marketing .ecmh-scope__card--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-hub-ecommerce-marketing .ecmh-scope__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-ecommerce-marketing .ecmh-scope__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-hub-ecommerce-marketing .ecmh-scope__card p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
.page-hub-ecommerce-marketing .ecmh-scope__card a { color: var(--green); font-weight: 700; text-decoration: none; }
.page-hub-ecommerce-marketing .ecmh-scope__card a:hover { text-decoration: underline; }


.page-hub-ecommerce-marketing .ecmh-loop { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-ecommerce-marketing .ecmh-loop__ring {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
  margin: 0; padding: 0; list-style: none;
  border: 1px solid #d7ebdd; border-radius: 16px; overflow: hidden; background: #f6fbf8;
}
.page-hub-ecommerce-marketing .ecmh-loop__ring > li {
  position: relative; padding: 1.6rem 1.25rem 1.5rem; border-right: 1px solid #d7ebdd;
}
.page-hub-ecommerce-marketing .ecmh-loop__ring > li:last-child { border-right: none; }
.page-hub-ecommerce-marketing .ecmh-loop__ring > li:not(:last-child)::after {
  content: ""; position: absolute; right: -7px; top: 50%; z-index: 1;
  width: 12px; height: 12px; border-right: 2px solid var(--green); border-top: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg); background: #f6fbf8;
}
.page-hub-ecommerce-marketing .ecmh-loop__step {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; margin-bottom: 0.75rem;
  font-size: 0.85rem; font-weight: 900; color: #fff; background: var(--green); border-radius: 50%;
}
.page-hub-ecommerce-marketing .ecmh-loop__ring h3 { margin: 0 0 0.4rem; font-size: 1.08rem; color: #141c17; }
.page-hub-ecommerce-marketing .ecmh-loop__ring p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
@media (max-width: 1100px) {
  .page-hub-ecommerce-marketing .ecmh-loop__ring { grid-template-columns: 1fr 1fr; }
  .page-hub-ecommerce-marketing .ecmh-loop__ring > li:nth-child(2) { border-right: none; }
  .page-hub-ecommerce-marketing .ecmh-loop__ring > li:nth-child(1),
  .page-hub-ecommerce-marketing .ecmh-loop__ring > li:nth-child(2) { border-bottom: 1px solid #d7ebdd; }
  .page-hub-ecommerce-marketing .ecmh-loop__ring > li:not(:last-child)::after { display: none; }
}
@media (max-width: 640px) {
  .page-hub-ecommerce-marketing .ecmh-loop__ring { grid-template-columns: 1fr; }
  .page-hub-ecommerce-marketing .ecmh-loop__ring > li { border-right: none; border-bottom: 1px solid #d7ebdd; }
  .page-hub-ecommerce-marketing .ecmh-loop__ring > li:last-child { border-bottom: none; }
}

.page-hub-ecommerce-marketing .ecmh-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-ecommerce-marketing .ecmh-services__primary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.75rem;
}
.page-hub-ecommerce-marketing .ecmh-services__label {
  margin: 0 0 0.85rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-ecommerce-marketing .ecmh-services__foundation-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.page-hub-ecommerce-marketing .ecmh-service {
  position: relative; display: flex; flex-direction: column; gap: 0.45rem;
  padding: 1.35rem 1.2rem 1.4rem; background: #fff; border: 1px solid #d7ebdd;
  border-radius: 12px; text-decoration: none; color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.page-hub-ecommerce-marketing .ecmh-service--lead { background: #fff; padding: 1.5rem 1.3rem 1.55rem; }
.page-hub-ecommerce-marketing .ecmh-service:hover { transform: translateY(-2px); border-color: var(--green); }
.page-hub-ecommerce-marketing .ecmh-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-ecommerce-marketing .ecmh-service h3 { margin: 0.25rem 0 0; font-size: 1.05rem; color: #141c17; }
.page-hub-ecommerce-marketing .ecmh-service p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; flex: 1; }
.page-hub-ecommerce-marketing .ecmh-service__go {
  position: absolute; top: 1.15rem; right: 1.1rem; color: var(--green); opacity: 0.7;
}

.page-hub-ecommerce-marketing .ecmh-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-ecommerce-marketing .ecmh-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-ecommerce-marketing .ecmh-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-ecommerce-marketing .ecmh-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-ecommerce-marketing .ecmh-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-ecommerce-marketing .ecmh-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-ecommerce-marketing .ecmh-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-ecommerce-marketing .ecmh-split__media { margin: 0; }
.page-hub-ecommerce-marketing .ecmh-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-ecommerce-marketing .ecmh-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-hub-ecommerce-marketing .ecmh-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-ecommerce-marketing .ecmh-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-ecommerce-marketing .ecmh-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-ecommerce-marketing .ecmh-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-ecommerce-marketing .ecmh-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-ecommerce-marketing .ecmh-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-ecommerce-marketing .ecmh-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-ecommerce-marketing .ecmh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-ecommerce-marketing .ecmh-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-ecommerce-marketing .ecmh-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-ecommerce-marketing .ecmh-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-ecommerce-marketing .ecmh-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-ecommerce-marketing .ecmh-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-ecommerce-marketing .ecmh-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-ecommerce-marketing .ecmh-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-ecommerce-marketing .ecmh-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-ecommerce-marketing .ecmh-faq__list { display: grid; gap: 0.65rem; }
.page-hub-ecommerce-marketing .ecmh-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-ecommerce-marketing .ecmh-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-ecommerce-marketing .ecmh-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-ecommerce-marketing .ecmh-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-ecommerce-marketing .ecmh-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-ecommerce-marketing .ecmh-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-ecommerce-marketing .ecmh-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-ecommerce-marketing .ecmh-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-ecommerce-marketing .ecmh-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-hub-ecommerce-marketing .ecmh-cta__copy h2 span { color: #b8f0c8; }
.page-hub-ecommerce-marketing .ecmh-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-ecommerce-marketing .ecmh-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-ecommerce-marketing .ecmh-cta .ecmh-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-ecommerce-marketing .ecmh-cta .ecmh-btn--solid:hover,
.page-hub-ecommerce-marketing .ecmh-cta .ecmh-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-ecommerce-marketing .ecmh-cta .ecmh-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-ecommerce-marketing .ecmh-cta .ecmh-btn--ghost:hover,
.page-hub-ecommerce-marketing .ecmh-cta .ecmh-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-ecommerce-marketing .ecmh-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-ecommerce-marketing .ecmh-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-ecommerce-marketing .ecmh-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-ecommerce-marketing .ecmh-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-ecommerce-marketing .ecmh-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-ecommerce-marketing .ecmh-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: ecmh-orb 8s ease-in-out infinite;
}
.page-hub-ecommerce-marketing .ecmh-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-ecommerce-marketing .ecmh-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes ecmh-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-ecommerce-marketing .ecmh-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-ecommerce-marketing .ecmh-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-ecommerce-marketing .ecmh-services__primary,
  .page-hub-ecommerce-marketing .ecmh-services__foundation-grid { grid-template-columns: 1fr 1fr; }
  .page-hub-ecommerce-marketing .ecmh-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-hub-ecommerce-marketing .ecmh-hero__grid,
  .page-hub-ecommerce-marketing .ecmh-split__grid,
  .page-hub-ecommerce-marketing .ecmh-faq__inner,
  .page-hub-ecommerce-marketing .ecmh-cta__panel,
  .page-hub-ecommerce-marketing .ecmh-scope__layout { grid-template-columns: 1fr; }
  .page-hub-ecommerce-marketing .ecmh-scope__cards { grid-template-columns: 1fr; }
  .page-hub-ecommerce-marketing .ecmh-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-ecommerce-marketing .ecmh-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-ecommerce-marketing .ecmh-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-ecommerce-marketing .ecmh-hero__copy { order: 1; }
  .page-hub-ecommerce-marketing .ecmh-hero__media { order: 2; }
  .page-hub-ecommerce-marketing .ecmh-split__media { order: 2; }
  .page-hub-ecommerce-marketing .ecmh-split__copy { order: 1; }
  .page-hub-ecommerce-marketing .ecmh-cta__copy { order: 1; }
  .page-hub-ecommerce-marketing .ecmh-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-ecommerce-marketing .ecmh-services__primary,
  .page-hub-ecommerce-marketing .ecmh-services__foundation-grid,
  .page-hub-ecommerce-marketing .ecmh-why__grid,
  .page-hub-ecommerce-marketing .ecmh-process__track { grid-template-columns: 1fr; }
  .page-hub-ecommerce-marketing .ecmh-hero__actions,
  .page-hub-ecommerce-marketing .ecmh-cta__actions { flex-direction: column; }
  .page-hub-ecommerce-marketing .ecmh-hero__actions .ecmh-btn,
  .page-hub-ecommerce-marketing .ecmh-cta__actions .ecmh-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-ecommerce-marketing .ecmh-btn--solid:hover,
  .page-hub-ecommerce-marketing .ecmh-service:hover { transform: none; }
  .page-hub-ecommerce-marketing .ecmh-cta__orb { animation: none; }
}
/* ===== Content Marketing Hub — elevated Good UI (.page-hub-content-marketing / .cmkh-*) ===== */
.page-hub-content-marketing .cmkh-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-content-marketing .cmkh-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-content-marketing .cmkh-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-content-marketing .cmkh-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-content-marketing .cmkh-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-content-marketing .cmkh-section-head a,
.page-hub-content-marketing .cmkh-list a { color: var(--green); font-weight: 700; }
.page-hub-content-marketing .cmkh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-content-marketing .cmkh-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-content-marketing .cmkh-btn--solid:hover,
.page-hub-content-marketing .cmkh-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-content-marketing .cmkh-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-content-marketing .cmkh-btn--ghost:hover,
.page-hub-content-marketing .cmkh-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-content-marketing .cmkh-service__icon,
.page-hub-content-marketing .cmkh-why__icon,
.page-hub-content-marketing .cmkh-process__icon { color: var(--green); }
.page-hub-content-marketing .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-content-marketing .cmkh-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 48% 55% at 85% 12%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(125deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-content-marketing .cmkh-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-hub-content-marketing .cmkh-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-content-marketing .cmkh-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-content-marketing .cmkh-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-content-marketing .cmkh-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-content-marketing .cmkh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-content-marketing .cmkh-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-content-marketing .cmkh-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-content-marketing .cmkh-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-content-marketing .cmkh-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-content-marketing .cmkh-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-content-marketing .cmkh-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-hub-content-marketing .cmkh-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-content-marketing .cmkh-scope { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-hub-content-marketing .cmkh-scope__layout {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-hub-content-marketing .cmkh-scope__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-hub-content-marketing .cmkh-scope__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-hub-content-marketing .cmkh-scope__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-hub-content-marketing .cmkh-scope__card {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-content-marketing .cmkh-scope__card--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-hub-content-marketing .cmkh-scope__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-content-marketing .cmkh-scope__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-hub-content-marketing .cmkh-scope__card p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
.page-hub-content-marketing .cmkh-scope__card a { color: var(--green); font-weight: 700; text-decoration: none; }
.page-hub-content-marketing .cmkh-scope__card a:hover { text-decoration: underline; }


.page-hub-content-marketing .cmkh-loop { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-content-marketing .cmkh-loop__ring {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
  margin: 0; padding: 0; list-style: none;
  border: 1px solid #d7ebdd; border-radius: 16px; overflow: hidden; background: #f6fbf8;
}
.page-hub-content-marketing .cmkh-loop__ring > li {
  position: relative; padding: 1.6rem 1.25rem 1.5rem; border-right: 1px solid #d7ebdd;
}
.page-hub-content-marketing .cmkh-loop__ring > li:last-child { border-right: none; }
.page-hub-content-marketing .cmkh-loop__ring > li:not(:last-child)::after {
  content: ""; position: absolute; right: -7px; top: 50%; z-index: 1;
  width: 12px; height: 12px; border-right: 2px solid var(--green); border-top: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg); background: #f6fbf8;
}
.page-hub-content-marketing .cmkh-loop__step {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; margin-bottom: 0.75rem;
  font-size: 0.85rem; font-weight: 900; color: #fff; background: var(--green); border-radius: 50%;
}
.page-hub-content-marketing .cmkh-loop__ring h3 { margin: 0 0 0.4rem; font-size: 1.08rem; color: #141c17; }
.page-hub-content-marketing .cmkh-loop__ring p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
@media (max-width: 1100px) {
  .page-hub-content-marketing .cmkh-loop__ring { grid-template-columns: 1fr 1fr; }
  .page-hub-content-marketing .cmkh-loop__ring > li:nth-child(2) { border-right: none; }
  .page-hub-content-marketing .cmkh-loop__ring > li:nth-child(1),
  .page-hub-content-marketing .cmkh-loop__ring > li:nth-child(2) { border-bottom: 1px solid #d7ebdd; }
  .page-hub-content-marketing .cmkh-loop__ring > li:not(:last-child)::after { display: none; }
}
@media (max-width: 640px) {
  .page-hub-content-marketing .cmkh-loop__ring { grid-template-columns: 1fr; }
  .page-hub-content-marketing .cmkh-loop__ring > li { border-right: none; border-bottom: 1px solid #d7ebdd; }
  .page-hub-content-marketing .cmkh-loop__ring > li:last-child { border-bottom: none; }
}

.page-hub-content-marketing .cmkh-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-content-marketing .cmkh-services__primary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.75rem;
}
.page-hub-content-marketing .cmkh-services__label {
  margin: 0 0 0.85rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-content-marketing .cmkh-services__foundation-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.page-hub-content-marketing .cmkh-service {
  position: relative; display: flex; flex-direction: column; gap: 0.45rem;
  padding: 1.35rem 1.2rem 1.4rem; background: #fff; border: 1px solid #d7ebdd;
  border-radius: 12px; text-decoration: none; color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.page-hub-content-marketing .cmkh-service--lead { background: #fff; padding: 1.5rem 1.3rem 1.55rem; }
.page-hub-content-marketing .cmkh-service:hover { transform: translateY(-2px); border-color: var(--green); }
.page-hub-content-marketing .cmkh-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-content-marketing .cmkh-service h3 { margin: 0.25rem 0 0; font-size: 1.05rem; color: #141c17; }
.page-hub-content-marketing .cmkh-service p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; flex: 1; }
.page-hub-content-marketing .cmkh-service__go {
  position: absolute; top: 1.15rem; right: 1.1rem; color: var(--green); opacity: 0.7;
}

.page-hub-content-marketing .cmkh-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-content-marketing .cmkh-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-content-marketing .cmkh-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-content-marketing .cmkh-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-content-marketing .cmkh-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-content-marketing .cmkh-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-content-marketing .cmkh-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-content-marketing .cmkh-split__media { margin: 0; }
.page-hub-content-marketing .cmkh-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-content-marketing .cmkh-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-hub-content-marketing .cmkh-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-content-marketing .cmkh-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-content-marketing .cmkh-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-content-marketing .cmkh-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-content-marketing .cmkh-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-content-marketing .cmkh-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-content-marketing .cmkh-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-content-marketing .cmkh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-content-marketing .cmkh-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-content-marketing .cmkh-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-content-marketing .cmkh-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-content-marketing .cmkh-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-content-marketing .cmkh-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-content-marketing .cmkh-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-content-marketing .cmkh-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-content-marketing .cmkh-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-content-marketing .cmkh-faq__list { display: grid; gap: 0.65rem; }
.page-hub-content-marketing .cmkh-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-content-marketing .cmkh-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-content-marketing .cmkh-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-content-marketing .cmkh-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-content-marketing .cmkh-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-content-marketing .cmkh-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-content-marketing .cmkh-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-content-marketing .cmkh-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-content-marketing .cmkh-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-hub-content-marketing .cmkh-cta__copy h2 span { color: #b8f0c8; }
.page-hub-content-marketing .cmkh-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-content-marketing .cmkh-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-content-marketing .cmkh-cta .cmkh-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-content-marketing .cmkh-cta .cmkh-btn--solid:hover,
.page-hub-content-marketing .cmkh-cta .cmkh-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-content-marketing .cmkh-cta .cmkh-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-content-marketing .cmkh-cta .cmkh-btn--ghost:hover,
.page-hub-content-marketing .cmkh-cta .cmkh-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-content-marketing .cmkh-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-content-marketing .cmkh-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-content-marketing .cmkh-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-content-marketing .cmkh-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-content-marketing .cmkh-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-content-marketing .cmkh-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: cmkh-orb 8s ease-in-out infinite;
}
.page-hub-content-marketing .cmkh-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-content-marketing .cmkh-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes cmkh-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-content-marketing .cmkh-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-content-marketing .cmkh-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-content-marketing .cmkh-services__primary,
  .page-hub-content-marketing .cmkh-services__foundation-grid { grid-template-columns: 1fr 1fr; }
  .page-hub-content-marketing .cmkh-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-hub-content-marketing .cmkh-hero__grid,
  .page-hub-content-marketing .cmkh-split__grid,
  .page-hub-content-marketing .cmkh-faq__inner,
  .page-hub-content-marketing .cmkh-cta__panel,
  .page-hub-content-marketing .cmkh-scope__layout { grid-template-columns: 1fr; }
  .page-hub-content-marketing .cmkh-scope__cards { grid-template-columns: 1fr; }
  .page-hub-content-marketing .cmkh-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-content-marketing .cmkh-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-content-marketing .cmkh-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-content-marketing .cmkh-hero__copy { order: 1; }
  .page-hub-content-marketing .cmkh-hero__media { order: 2; }
  .page-hub-content-marketing .cmkh-split__media { order: 2; }
  .page-hub-content-marketing .cmkh-split__copy { order: 1; }
  .page-hub-content-marketing .cmkh-cta__copy { order: 1; }
  .page-hub-content-marketing .cmkh-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-content-marketing .cmkh-services__primary,
  .page-hub-content-marketing .cmkh-services__foundation-grid,
  .page-hub-content-marketing .cmkh-why__grid,
  .page-hub-content-marketing .cmkh-process__track { grid-template-columns: 1fr; }
  .page-hub-content-marketing .cmkh-hero__actions,
  .page-hub-content-marketing .cmkh-cta__actions { flex-direction: column; }
  .page-hub-content-marketing .cmkh-hero__actions .cmkh-btn,
  .page-hub-content-marketing .cmkh-cta__actions .cmkh-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-content-marketing .cmkh-btn--solid:hover,
  .page-hub-content-marketing .cmkh-service:hover { transform: none; }
  .page-hub-content-marketing .cmkh-cta__orb { animation: none; }
}
/* ===== Digital Marketing Hub — elevated Good UI (.page-hub-digital-marketing / .dmh-*) ===== */
.page-hub-digital-marketing .dmh-eyebrow {
  margin: 0 0 0.55rem; font-size: 0.78rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-mid);
}
.page-hub-digital-marketing .dmh-section-head { max-width: 46rem; margin-bottom: 2rem; }
.page-hub-digital-marketing .dmh-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.page-hub-digital-marketing .dmh-section-head h2 {
  margin: 0 0 0.75rem; font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.15; letter-spacing: -0.02em; color: #141c17;
}
.page-hub-digital-marketing .dmh-section-head p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-digital-marketing .dmh-section-head a,
.page-hub-digital-marketing .dmh-list a { color: var(--green); font-weight: 700; }
.page-hub-digital-marketing .dmh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  padding: 14px 22px; border-radius: 8px; font-weight: 800; font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.page-hub-digital-marketing .dmh-btn--solid { background: var(--green); color: var(--white); border: 2px solid var(--green); }
.page-hub-digital-marketing .dmh-btn--solid:hover,
.page-hub-digital-marketing .dmh-btn--solid:focus-visible {
  background: var(--green-dark); border-color: var(--green-dark); color: var(--white); transform: translateY(-1px);
}
.page-hub-digital-marketing .dmh-btn--ghost { background: #fff; color: var(--green); border: 2px solid var(--green); }
.page-hub-digital-marketing .dmh-btn--ghost:hover,
.page-hub-digital-marketing .dmh-btn--ghost:focus-visible {
  background: #eef8f1; border-color: var(--green-mid); color: var(--green-mid);
}
.page-hub-digital-marketing .dmh-service__icon,
.page-hub-digital-marketing .dmh-why__icon,
.page-hub-digital-marketing .dmh-process__icon { color: var(--green); }
.page-hub-digital-marketing .svc-breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); }

.page-hub-digital-marketing .dmh-hero {
  padding: clamp(28px, 4vw, 48px) 0;
  background:
    radial-gradient(ellipse 48% 55% at 85% 12%, rgba(0, 179, 72, 0.11), transparent 55%),
    linear-gradient(125deg, rgba(0, 179, 72, 0.05) 0%, transparent 40%),
    linear-gradient(180deg, #e8f5ed 0%, #f7fbf8 50%, #ffffff 100%);
  overflow: hidden;
}
.page-hub-digital-marketing .dmh-hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(18px, 2.8vw, 36px); align-items: center;
}
.page-hub-digital-marketing .dmh-hero .svc-h1-stack { margin: 0 0 14px; }
.page-hub-digital-marketing .dmh-hero .svc-h1-brand {
  margin: 0 0 0.35rem; font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 900; letter-spacing: -0.02em; color: #141c17; line-height: 1.1;
}
.page-hub-digital-marketing .dmh-hero h1 {
  margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: #3d5244;
}
.page-hub-digital-marketing .dmh-hero__lead {
  margin: 0 0 18px; max-width: 36rem; font-size: 1rem; line-height: 1.65; color: #5a6b5e;
}
.page-hub-digital-marketing .dmh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.page-hub-digital-marketing .dmh-hero__pills {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px; margin: 0; padding: 0; list-style: none; width: 100%;
}
.page-hub-digital-marketing .dmh-hero__pills li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.page-hub-digital-marketing .dmh-hero__pill-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px; background: #fff; border: 1px solid #d7ebdd; color: var(--green);
}
.page-hub-digital-marketing .dmh-hero__pill-icon svg { width: 17px; height: 17px; }
.page-hub-digital-marketing .dmh-hero__pill-text strong { font-size: 0.76rem; font-weight: 800; color: #141c17; line-height: 1.2; }
.page-hub-digital-marketing .dmh-hero__media {
  margin: 0; justify-self: end; width: 100%; max-width: 560px;
}
.page-hub-digital-marketing .dmh-hero__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-digital-marketing .dmh-scope { padding: clamp(28px, 4vw, 44px) 0; background: #e5f2ea; }
.page-hub-digital-marketing .dmh-scope__layout {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(20px, 3vw, 36px); align-items: center;
}
.page-hub-digital-marketing .dmh-scope__intro h2 {
  margin: 0 0 10px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: #141c17;
}
.page-hub-digital-marketing .dmh-scope__intro p { margin: 0; color: #5a6b5e; line-height: 1.6; }
.page-hub-digital-marketing .dmh-scope__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-hub-digital-marketing .dmh-scope__card {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-digital-marketing .dmh-scope__card--here {
  background: #fff; border-color: var(--green); box-shadow: 0 0 0 1px rgba(0, 179, 72, 0.12);
}
.page-hub-digital-marketing .dmh-scope__tag {
  margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-digital-marketing .dmh-scope__card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; color: #141c17; }
.page-hub-digital-marketing .dmh-scope__card p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
.page-hub-digital-marketing .dmh-scope__card a { color: var(--green); font-weight: 700; text-decoration: none; }
.page-hub-digital-marketing .dmh-scope__card a:hover { text-decoration: underline; }


.page-hub-digital-marketing .dmh-loop { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-digital-marketing .dmh-loop__ring {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
  margin: 0; padding: 0; list-style: none;
  border: 1px solid #d7ebdd; border-radius: 16px; overflow: hidden; background: #f6fbf8;
}
.page-hub-digital-marketing .dmh-loop__ring > li {
  position: relative; padding: 1.6rem 1.25rem 1.5rem; border-right: 1px solid #d7ebdd;
}
.page-hub-digital-marketing .dmh-loop__ring > li:last-child { border-right: none; }
.page-hub-digital-marketing .dmh-loop__ring > li:not(:last-child)::after {
  content: ""; position: absolute; right: -7px; top: 50%; z-index: 1;
  width: 12px; height: 12px; border-right: 2px solid var(--green); border-top: 2px solid var(--green);
  transform: translateY(-50%) rotate(45deg); background: #f6fbf8;
}
.page-hub-digital-marketing .dmh-loop__step {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; margin-bottom: 0.75rem;
  font-size: 0.85rem; font-weight: 900; color: #fff; background: var(--green); border-radius: 50%;
}
.page-hub-digital-marketing .dmh-loop__ring h3 { margin: 0 0 0.4rem; font-size: 1.08rem; color: #141c17; }
.page-hub-digital-marketing .dmh-loop__ring p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; }
@media (max-width: 1100px) {
  .page-hub-digital-marketing .dmh-loop__ring { grid-template-columns: 1fr 1fr; }
  .page-hub-digital-marketing .dmh-loop__ring > li:nth-child(2) { border-right: none; }
  .page-hub-digital-marketing .dmh-loop__ring > li:nth-child(1),
  .page-hub-digital-marketing .dmh-loop__ring > li:nth-child(2) { border-bottom: 1px solid #d7ebdd; }
  .page-hub-digital-marketing .dmh-loop__ring > li:not(:last-child)::after { display: none; }
}
@media (max-width: 640px) {
  .page-hub-digital-marketing .dmh-loop__ring { grid-template-columns: 1fr; }
  .page-hub-digital-marketing .dmh-loop__ring > li { border-right: none; border-bottom: 1px solid #d7ebdd; }
  .page-hub-digital-marketing .dmh-loop__ring > li:last-child { border-bottom: none; }
}

.page-hub-digital-marketing .dmh-services { padding: clamp(36px, 5vw, 56px) 0; background: #eef7f1; }
.page-hub-digital-marketing .dmh-services__primary {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 1.75rem;
}
.page-hub-digital-marketing .dmh-services__label {
  margin: 0 0 0.85rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--green-mid);
}
.page-hub-digital-marketing .dmh-services__foundation-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.page-hub-digital-marketing .dmh-service {
  position: relative; display: flex; flex-direction: column; gap: 0.45rem;
  padding: 1.35rem 1.2rem 1.4rem; background: #fff; border: 1px solid #d7ebdd;
  border-radius: 12px; text-decoration: none; color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.page-hub-digital-marketing .dmh-service--lead { background: #fff; padding: 1.5rem 1.3rem 1.55rem; }
.page-hub-digital-marketing .dmh-service:hover { transform: translateY(-2px); border-color: var(--green); }
.page-hub-digital-marketing .dmh-service__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-digital-marketing .dmh-service h3 { margin: 0.25rem 0 0; font-size: 1.05rem; color: #141c17; }
.page-hub-digital-marketing .dmh-service p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #5a6b5e; flex: 1; }
.page-hub-digital-marketing .dmh-service__go {
  position: absolute; top: 1.15rem; right: 1.1rem; color: var(--green); opacity: 0.7;
}

.page-hub-digital-marketing .dmh-split { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-digital-marketing .dmh-split__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: center;
}
.page-hub-digital-marketing .dmh-split__copy h2 {
  margin: 0 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.15rem); line-height: 1.15; color: #141c17;
}
.page-hub-digital-marketing .dmh-split__copy > p { margin: 0; color: #5a6b5e; line-height: 1.65; }
.page-hub-digital-marketing .dmh-list {
  margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem;
}
.page-hub-digital-marketing .dmh-list li {
  position: relative; padding: 0.75rem 0.9rem 0.75rem 2.4rem;
  background: #f6fbf8; border-radius: 8px; border: 1px solid #d7ebdd;
  color: #141c17; font-size: 0.94rem; line-height: 1.45;
}
.page-hub-digital-marketing .dmh-list li::before {
  content: ""; position: absolute; left: 0.85rem; top: 50%;
  width: 10px; height: 10px; border-radius: 50%; background: var(--green);
  transform: translateY(-50%); box-shadow: 0 0 0 3px #e3f6ea;
}
.page-hub-digital-marketing .dmh-split__media { margin: 0; }
.page-hub-digital-marketing .dmh-split__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.page-hub-digital-marketing .dmh-process { padding: clamp(36px, 5vw, 56px) 0; background: #e5f2ea; }
.page-hub-digital-marketing .dmh-process__track {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.page-hub-digital-marketing .dmh-process__track li {
  display: flex; flex-direction: column; gap: 0.55rem;
  padding: 1.25rem 1rem 1.35rem; background: #fff; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-digital-marketing .dmh-process__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(160deg, #1ad05a 0%, var(--green) 55%, #00963c 100%);
  color: #fff; outline: 2px solid #d7eadf; outline-offset: 3px;
}
.page-hub-digital-marketing .dmh-process__num { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; color: var(--green-mid); }
.page-hub-digital-marketing .dmh-process__track h3 { margin: 0; font-size: 1rem; color: #141c17; }
.page-hub-digital-marketing .dmh-process__track p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #5a6b5e; }

.page-hub-digital-marketing .dmh-why { padding: clamp(36px, 5vw, 56px) 0; background: #fff; }
.page-hub-digital-marketing .dmh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.page-hub-digital-marketing .dmh-why__item {
  padding: 1.35rem 1.2rem; background: #f6fbf8; border-radius: 12px; border: 1px solid #d7ebdd;
}
.page-hub-digital-marketing .dmh-why__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-bottom: 0.75rem; border-radius: 8px; background: #e3f6ea; color: var(--green);
}
.page-hub-digital-marketing .dmh-why__item h3 { margin: 0 0 0.45rem; font-size: 1.05rem; color: #141c17; }
.page-hub-digital-marketing .dmh-why__item p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: #5a6b5e; }

.page-hub-digital-marketing .dmh-faq { padding: clamp(36px, 5vw, 56px) 0; background: #f3faf6; }
.page-hub-digital-marketing .dmh-faq__inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(20px, 3vw, 40px); align-items: start;
}
.page-hub-digital-marketing .dmh-byline { margin-top: 1rem !important; font-size: 0.9rem; color: #5a6b5e; }
.page-hub-digital-marketing .dmh-byline span { display: block; margin-top: 0.25rem; font-weight: 700; color: var(--green-mid); }
.page-hub-digital-marketing .dmh-faq__list { display: grid; gap: 0.65rem; }
.page-hub-digital-marketing .dmh-faq__item {
  border: 1px solid #d7ebdd; background: #fff; border-radius: 10px; overflow: hidden;
}
.page-hub-digital-marketing .dmh-faq__item summary {
  display: flex; align-items: flex-start; gap: 0.55rem; padding: 1rem 1.15rem;
  font-weight: 800; color: #141c17; cursor: pointer; list-style: none;
}
.page-hub-digital-marketing .dmh-faq__item summary::-webkit-details-marker { display: none; }
.page-hub-digital-marketing .dmh-faq__num { flex-shrink: 0; color: var(--green); }
.page-hub-digital-marketing .dmh-faq__item p {
  margin: 0; padding: 0 1.15rem 1.15rem 2.4rem; line-height: 1.6; color: #5a6b5e;
}

.page-hub-digital-marketing .dmh-cta { padding: clamp(28px, 4vw, 48px) 0; background: #fff; }
.page-hub-digital-marketing .dmh-cta__panel {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.5rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, #002910 0%, #003d18 40%, var(--green-dark) 75%, #0a8f3f);
  color: var(--white); border-radius: 16px; overflow: hidden;
}
.page-hub-digital-marketing .dmh-cta__eyebrow {
  margin: 0 0 0.5rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(243, 250, 245, 0.75);
}
.page-hub-digital-marketing .dmh-cta__copy h2 {
  margin: 0 0 0.65rem; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; max-width: 28rem;
}
.page-hub-digital-marketing .dmh-cta__copy h2 span { color: #b8f0c8; }
.page-hub-digital-marketing .dmh-cta__copy > p { margin: 0 0 1.25rem; opacity: 0.9; max-width: 32rem; line-height: 1.6; }
.page-hub-digital-marketing .dmh-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.page-hub-digital-marketing .dmh-cta .dmh-btn--solid { background: var(--green); border-color: var(--green); color: var(--white); }
.page-hub-digital-marketing .dmh-cta .dmh-btn--solid:hover,
.page-hub-digital-marketing .dmh-cta .dmh-btn--solid:focus-visible {
  background: var(--white); border-color: var(--white); color: var(--green-dark);
}
.page-hub-digital-marketing .dmh-cta .dmh-btn--ghost {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.45);
}
.page-hub-digital-marketing .dmh-cta .dmh-btn--ghost:hover,
.page-hub-digital-marketing .dmh-cta .dmh-btn--ghost:focus-visible {
  border-color: var(--white); background: rgba(255, 255, 255, 0.08); color: var(--white);
}
.page-hub-digital-marketing .dmh-cta__trust {
  display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 0; padding: 0;
  list-style: none; font-size: 0.85rem; color: rgba(243, 250, 245, 0.8);
}
.page-hub-digital-marketing .dmh-cta__trust li { display: flex; align-items: center; gap: 0.4rem; }
.page-hub-digital-marketing .dmh-cta__trust li::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b8f0c8;
}
.page-hub-digital-marketing .dmh-cta__media { position: relative; justify-self: end; width: 100%; max-width: 360px; }
.page-hub-digital-marketing .dmh-cta__media img {
  display: block; width: 100%; height: auto; border-radius: 12px; position: relative; z-index: 1;
}
.page-hub-digital-marketing .dmh-cta__orb {
  position: absolute; border-radius: 50%; filter: blur(20px); opacity: 0.45;
  animation: dmh-orb 8s ease-in-out infinite;
}
.page-hub-digital-marketing .dmh-cta__orb--a { width: 120px; height: 120px; background: #4dd17a; top: -20px; right: -10px; }
.page-hub-digital-marketing .dmh-cta__orb--b { width: 90px; height: 90px; background: #00b348; bottom: 10%; left: -15px; animation-delay: -2.5s; }
@keyframes dmh-orb { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.page-hub-digital-marketing .dmh-related { padding: clamp(28px, 4vw, 44px) 0 3.5rem; background: #f8fcf9; }

@media (max-width: 1100px) {
  .page-hub-digital-marketing .dmh-why__grid { grid-template-columns: 1fr 1fr; }
  .page-hub-digital-marketing .dmh-services__primary,
  .page-hub-digital-marketing .dmh-services__foundation-grid { grid-template-columns: 1fr 1fr; }
  .page-hub-digital-marketing .dmh-process__track { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .page-hub-digital-marketing .dmh-hero__grid,
  .page-hub-digital-marketing .dmh-split__grid,
  .page-hub-digital-marketing .dmh-faq__inner,
  .page-hub-digital-marketing .dmh-cta__panel,
  .page-hub-digital-marketing .dmh-scope__layout { grid-template-columns: 1fr; }
  .page-hub-digital-marketing .dmh-scope__cards { grid-template-columns: 1fr; }
  .page-hub-digital-marketing .dmh-hero__media { max-width: 520px; margin-inline: auto; justify-self: center; }
  .page-hub-digital-marketing .dmh-hero__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hub-digital-marketing .dmh-cta__media { max-width: 340px; margin-inline: auto; justify-self: center; }
  .page-hub-digital-marketing .dmh-hero__copy { order: 1; }
  .page-hub-digital-marketing .dmh-hero__media { order: 2; }
  .page-hub-digital-marketing .dmh-split__media { order: 2; }
  .page-hub-digital-marketing .dmh-split__copy { order: 1; }
  .page-hub-digital-marketing .dmh-cta__copy { order: 1; }
  .page-hub-digital-marketing .dmh-cta__media { order: 2; }
}
@media (max-width: 640px) {
  .page-hub-digital-marketing .dmh-services__primary,
  .page-hub-digital-marketing .dmh-services__foundation-grid,
  .page-hub-digital-marketing .dmh-why__grid,
  .page-hub-digital-marketing .dmh-process__track { grid-template-columns: 1fr; }
  .page-hub-digital-marketing .dmh-hero__actions,
  .page-hub-digital-marketing .dmh-cta__actions { flex-direction: column; }
  .page-hub-digital-marketing .dmh-hero__actions .dmh-btn,
  .page-hub-digital-marketing .dmh-cta__actions .dmh-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hub-digital-marketing .dmh-btn--solid:hover,
  .page-hub-digital-marketing .dmh-service:hover { transform: none; }
  .page-hub-digital-marketing .dmh-cta__orb { animation: none; }
}





