/**
 * Plants Alive v2 base styles — scoped under body.pa-v2 (Gotcha 3).
 * Unscoped rules below are global corrections only (Divi blue purge).
 */

/* ---- Divi blue purge (F-3, R-2) — unscoped correction ---- */
.et_pb_gallery_item a,
.et_pb_gallery_item a:hover,
.et_pb_post a,
.et_pb_post a:hover,
.pa-gallery a,
.pa-gallery a:hover {
  color: var(--pa-canopy) !important;
}

a[style*="rgb(46, 163, 242)"],
a[style*="#2EA3F2"],
a[style*="#2ea3f2"] {
  color: var(--pa-canopy) !important;
}

/* ---- Skip link (R-22) — unscoped, applies sitewide ---- */
.pa-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  padding: 12px 20px;
  background: var(--pa-canopy);
  color: var(--pa-cream);
  font-family: var(--pa-font-body);
  font-size: 15px;
  font-weight: 600;
  border-radius: 0 0 var(--pa-radius-sm) 0;
  text-decoration: none;
}

.pa-skip-link:focus {
  left: 0;
}

/* Type + buttons apply wherever pa-v2 is on the body.
   Do not set background/color here — forest bands inherit and fail contrast. */
body.pa-v2 {
  font-family: var(--pa-font-body);
  font-size: var(--pa-fs-body);
  line-height: var(--pa-lh-body);
}

body.home.pa-v2 {
  background: var(--pa-bg-page);
  color: var(--pa-text-primary);
}

/**
 * Typography sets shape only. Colour is decided by the surface rules below so
 * that dark bands (hero, forest, parallax) keep their inverse treatment.
 */
body.pa-v2 h1,
body.pa-v2 h2,
body.pa-v2 h3,
body.pa-v2 h4 {
  font-family: var(--pa-font-display);
  font-weight: 600;
}

body.pa-v2 .pa-section--cream h1,
body.pa-v2 .pa-section--cream h2,
body.pa-v2 .pa-section--cream h3,
body.pa-v2 .pa-section--cream h4,
body.pa-v2 .pa-section--white h1,
body.pa-v2 .pa-section--white h2,
body.pa-v2 .pa-section--white h3,
body.pa-v2 .pa-section--white h4 {
  color: var(--pa-text-primary);
}

body.pa-v2 .pa-section--forest h1,
body.pa-v2 .pa-section--forest h2,
body.pa-v2 .pa-section--forest h3,
body.pa-v2 .pa-section--forest h4 {
  color: var(--pa-text-inverse);
}

body.pa-v2 h1 {
  font-size: var(--pa-fs-display);
  line-height: var(--pa-lh-display);
  letter-spacing: -0.01em;
}

body.pa-v2 h2,
body.pa-v2 .pa-h2 {
  font-size: var(--pa-fs-h2);
  line-height: var(--pa-lh-h2);
  letter-spacing: -0.01em;
}

body.pa-v2 h3 {
  font-size: var(--pa-fs-h3);
  line-height: var(--pa-lh-h3);
}

body.pa-v2 .pa-eyebrow,
body.pa-v2 .pa-kicker {
  font-family: var(--pa-font-body);
  font-size: var(--pa-fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.pa-v2 .pa-section--cream .pa-eyebrow,
body.pa-v2 .pa-section--cream .pa-kicker,
body.pa-v2 .pa-section--white .pa-eyebrow,
body.pa-v2 .pa-section--white .pa-kicker {
  color: var(--pa-text-eyebrow);
}

body.pa-v2 .pa-lead {
  font-size: var(--pa-fs-lead);
  line-height: var(--pa-lh-lead);
}

body.pa-v2 .pa-section--cream .pa-lead,
body.pa-v2 .pa-section--white .pa-lead {
  color: var(--pa-text-secondary);
}

body.pa-v2 .pa-prose {
  max-width: var(--pa-measure);
}

body.pa-v2 .pa-container {
  max-width: var(--pa-container);
  margin-inline: auto;
  padding-inline: var(--pa-gutter);
}

body.pa-v2 .pa-section {
  padding-block: var(--pa-section-y);
}

body.pa-v2 .pa-section--tight {
  padding-block: var(--pa-section-y-tight);
}

/* Buttons (R-3) */
body.pa-v2 .pa-btn,
body.pa-v2 a.pa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pa-space-2);
  min-height: 48px;
  padding: 14px 28px;
  border-radius: var(--pa-radius-pill);
  border: 1.5px solid transparent;
  font-family: var(--pa-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--pa-dur-fast) var(--pa-ease),
              border-color var(--pa-dur-fast) var(--pa-ease);
}

body.pa-v2 .pa-btn--sm {
  min-height: 40px;
  padding: 10px 20px;
  font-size: 14px;
}

body.pa-v2 .pa-btn--lg {
  min-height: 56px;
  padding: 16px 32px;
  font-size: 16px;
}

body.pa-v2 .pa-btn--primary {
  background: var(--pa-action-primary);
  color: var(--pa-text-inverse);
}

body.pa-v2 .pa-btn--primary:hover {
  background: var(--pa-canopy-dark);
  color: var(--pa-text-inverse);
}

body.pa-v2 .pa-btn--commerce {
  background: var(--pa-action-commerce);
  color: var(--pa-text-inverse);
}

body.pa-v2 .pa-btn--commerce:hover {
  background: var(--pa-action-commerce-hover);
  color: var(--pa-text-inverse);
}

body.pa-v2 .pa-btn--rentals {
  background: var(--pa-action-rentals);
  color: var(--pa-ink);
}

body.pa-v2 .pa-btn--secondary {
  background: transparent;
  color: var(--pa-canopy);
  border-color: var(--pa-canopy);
}

body.pa-v2 .pa-btn--secondary:hover {
  background: rgba(27, 61, 47, 0.08);
}

body.pa-v2 .pa-btn-primary,
body.pa-v2 a.pa-btn-primary,
body.pa-v2 .et_pb_button.pa-btn-primary {
  background: var(--pa-action-primary);
  color: var(--pa-text-inverse);
  border-color: transparent;
}

body.pa-v2 .pa-btn-primary:hover,
body.pa-v2 a.pa-btn-primary:hover,
body.pa-v2 .et_pb_button.pa-btn-primary:hover {
  background: var(--pa-canopy-dark);
  color: var(--pa-text-inverse);
}

body.pa-v2 .pa-btn-outline,
body.pa-v2 a.pa-btn-outline,
body.pa-v2 .et_pb_button.pa-btn-outline {
  background: transparent;
  color: var(--pa-canopy);
  border-color: var(--pa-canopy);
}

body.pa-v2 .pa-btn-outline:hover,
body.pa-v2 a.pa-btn-outline:hover,
body.pa-v2 .et_pb_button.pa-btn-outline:hover {
  background: rgba(27, 61, 47, 0.08);
}

body.pa-v2 .et_pb_button.pa-btn-primary,
body.pa-v2 .et_pb_button.pa-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 28px;
  border-radius: var(--pa-radius-pill);
  border-width: 1.5px;
  border-style: solid;
  font-family: var(--pa-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

/* Beat Divi module + Theme Options CSS so every CTA is 3px on every page. */
#page-container .et_pb_button,
#page-container a.et_pb_button,
#et-boc .et_pb_button,
#et-boc a.et_pb_button,
#page-container .pa-btn,
#page-container a.pa-btn,
#page-container .pa-header-cta,
#page-container .pa-btn-primary,
#page-container .pa-btn-outline,
#page-container .pa-btn-ghost,
#page-container .et_pb_contact_submit,
#page-container .et_pb_newsletter_button,
#page-container button[type="submit"],
#page-container input[type="submit"],
#page-container input[type="button"],
#page-container #paCommercialSubmit {
  border-radius: var(--pa-radius-sm, 8px) !important;
  box-shadow: var(--pa-shadow-btn);
}

#page-container .et_pb_button:hover,
#page-container a.et_pb_button:hover,
#et-boc .et_pb_button:hover,
#page-container .pa-btn:hover,
#page-container a.pa-btn:hover,
#page-container .pa-header-cta:hover,
#page-container button[type="submit"]:hover,
#page-container input[type="submit"]:hover,
#page-container #paCommercialSubmit:hover {
  box-shadow: var(--pa-shadow-btn-hover);
}

/* Same 3px corners on cards, images, tiles, and fields. Leave circles alone. */
#page-container img,
#page-container .pa-path-tile,
#page-container .pa-path-tile__media,
#page-container .pa-retail-card,
#page-container .pa-retail-card__media,
#page-container .pa-carousel__viewport,
#page-container .pa-gallery-group__carousel .pa-carousel__viewport,
#page-container .et_pb_image img,
#page-container .et_pb_gallery_image img {
  border-radius: var(--pa-radius-md, 12px) !important;
}

#page-container input[type="text"],
#page-container input[type="email"],
#page-container input[type="tel"],
#page-container input[type="search"],
#page-container textarea,
#page-container select {
  border-radius: var(--pa-radius-sm, 8px) !important;
}

/* Brand marks and icons stay square-cropped. */
#page-container .pa-logo img,
#page-container .pa-mega__tile-media img,
#page-container .pa-carousel__slide img {
  border-radius: 0 !important;
}

#page-container .pa-path-tile,
#page-container .pa-retail-card,
#page-container .pa-carousel__viewport,
#page-container .et_pb_image img,
#page-container .et_pb_gallery_image img,
#page-container .et_pb_gallery_item img,
#page-container .entry-content img {
  box-shadow: var(--pa-shadow-pop);
}

#page-container .pa-path-tile img,
#page-container .pa-retail-card img,
#page-container .pa-carousel__viewport img,
#page-container .pa-logo img,
#page-container .pa-footer-logo img {
  box-shadow: none !important;
}

#page-container .pa-social,
#page-container .pa-social img,
#page-container .pa-carousel__dot {
  border-radius: 50% !important;
  box-shadow: none !important;
}

body.pa-v2 .pa-btn[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Full logo file (plant + stacked type). Center the wordmark with that lockup. */
body.pa-v2 .pa-logo {
  display: inline-flex !important;
  align-items: center !important;
  height: 48px !important;
}

body.pa-v2 .pa-logo img {
  width: auto !important;
  height: 48px !important;
  max-width: 56px !important;
  object-fit: contain !important;
  object-position: center !important;
}

body.pa-v2 .pa-logo__word {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  transform: none !important;
}

/**
 * The legacy sheet pins the hero to the 833 KB original with !important, which
 * beats the inline background on the module. Point it at the 1920 crop.
 */
body.pa-v2.home .pa-home-hero .pa-hero-bg {
  background-image: url('https://staging.autoza.tech/wp-content/uploads/2022/03/pa-hero-leaves-wallpaper-1920x1280.jpg') !important;
}

/* Path tile accents (Phase 3) */
body.home.pa-v2 .pa-path-tile--commercial {
  border-top: 3px solid var(--pa-canopy);
}

body.home.pa-v2 .pa-path-tile--rentals {
  border-top: 3px solid var(--pa-ochre);
}

body.home.pa-v2 .pa-path-tile--retail {
  border-top: 3px solid var(--pa-terracotta);
}

/* Retail teaser — cut-out specimens on warm tiles (Constraint 4) */
body.home.pa-v2 .pa-retail-teaser {
  padding-block: var(--pa-section-y);
}

body.home.pa-v2 .pa-retail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--pa-space-5);
}

@media (min-width: 768px) {
  body.home.pa-v2 .pa-retail-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

body.home.pa-v2 .pa-retail-card {
  background: var(--pa-blush);
  border: 1px solid var(--pa-border);
  border-radius: var(--pa-radius-lg);
  padding: var(--pa-space-4);
  text-align: center;
}

/**
 * The specimen PNGs ship with opaque white backgrounds, so the image sits on a
 * white plate rather than directly on the Blush tile. Without this the white
 * rectangle reads as a rendering fault.
 */
body.home.pa-v2 .pa-retail-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 5;
  margin-bottom: var(--pa-space-4);
  padding: var(--pa-space-4);
  background: var(--pa-white);
  border-radius: var(--pa-radius-md);
}

body.home.pa-v2 .pa-retail-card__media img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

body.home.pa-v2 .pa-retail-card__title {
  font-family: var(--pa-font-display);
  font-size: var(--pa-fs-card);
  line-height: var(--pa-lh-card);
  font-weight: 600;
  margin: 0 0 var(--pa-space-2);
}

body.home.pa-v2 .pa-retail-card__badge {
  display: inline-block;
  background: var(--pa-ochre);
  color: var(--pa-ink);
  font-size: var(--pa-fs-eyebrow);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: var(--pa-radius-sm);
}

/* Gallery groups */
body.home.pa-v2 .pa-gallery-groups {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pa-space-7);
}

@media (min-width: 768px) {
  body.home.pa-v2 .pa-gallery-groups {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pa-space-5);
  }
}

body.home.pa-v2 .pa-gallery-group__label {
  font-family: var(--pa-font-body);
  font-size: var(--pa-fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pa-text-eyebrow);
  margin-bottom: var(--pa-space-4);
}

body.home.pa-v2 .pa-gallery-group__carousel .pa-carousel__viewport {
  aspect-ratio: 1 / 1;
}

body.home.pa-v2 .pa-gallery-group__carousel .pa-carousel__slide {
  display: block;
  flex: 0 0 100%;
  height: 100%;
}

body.home.pa-v2 .pa-gallery-group__carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: auto;
  border-radius: 0;
}

body.home.pa-v2 .pa-gallery-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pa-space-4);
  justify-content: center;
  margin-top: var(--pa-space-6);
}

body.home.pa-v2 .pa-closing-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pa-space-4);
  justify-content: center;
  margin-top: var(--pa-space-6);
}

body.home.pa-v2 .pa-split--proof {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pa-space-7);
  align-items: center;
}

@media (max-width: 767px) {
  body.home.pa-v2 .pa-split--proof {
    grid-template-columns: 1fr;
  }
}

body.home.pa-v2 .pa-split__proof {
  display: block;
}

body.home.pa-v2 .pa-carousel__viewport {
  overflow: hidden;
  border-radius: var(--pa-radius-lg);
  aspect-ratio: 3 / 2;
  background: var(--pa-sand);
}

body.home.pa-v2 .pa-carousel__track {
  display: flex;
  height: 100%;
  transition: transform var(--pa-dur) var(--pa-ease);
}

body.home.pa-v2 .pa-carousel__slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: 0;
}

body.home.pa-v2 .pa-carousel__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none !important;
}

body.home.pa-v2 .pa-hero-brand {
  margin: 0 0 0.45rem;
  font-family: var(--pa-font-display);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 700;
  line-height: 1.1;
  color: #F4F1EA;
}

body.home.pa-v2 .pa-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 1.1rem;
  margin: 0 0 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: rgba(244, 241, 234, 0.9);
}

body.home.pa-v2 .pa-hero-meta a {
  color: #F4F1EA !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(244, 241, 234, 0.45);
}

body.home.pa-v2 .pa-home-hero .pa-hero-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

body.pa-v2 .pa-btn-outline--on-dark,
body.pa-v2 a.pa-btn-outline--on-dark,
body.pa-v2 .et_pb_button.pa-btn-outline--on-dark {
  background: transparent !important;
  color: var(--pa-text-inverse, #F4F1EA) !important;
  border-color: var(--pa-text-inverse, #F4F1EA) !important;
}

body.pa-v2 .pa-btn-outline--on-dark:hover,
body.pa-v2 a.pa-btn-outline--on-dark:hover,
body.pa-v2 .et_pb_button.pa-btn-outline--on-dark:hover {
  background: rgba(244, 241, 234, 0.12) !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
}

body.home.pa-v2 .pa-carousel__caption {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  width: auto;
  margin: 0;
  padding: 0;
  background: none;
  color: #FFFFFF;
  font-family: var(--pa-font-body);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.25;
  border-radius: 0;
  box-shadow: none;
  text-shadow: 0 1px 2px rgba(15, 36, 28, 0.7), 0 2px 8px rgba(15, 36, 28, 0.45);
}

body.home.pa-v2 .pa-carousel__controls,
body.home.pa-v2 .pa-carousel__prev,
body.home.pa-v2 .pa-carousel__next,
body.home.pa-v2 .pa-carousel__dots {
  display: none !important;
}

body.home.pa-v2 .pa-carousel__prev,
body.home.pa-v2 .pa-carousel__next {
  width: 36px;
  height: 36px;
  border: 1.5px solid var(--pa-border-strong);
  border-radius: var(--pa-radius-sm, 8px);
  background: var(--pa-white);
  color: var(--pa-canopy);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

body.home.pa-v2 .pa-carousel__dots {
  display: flex;
  gap: 8px;
}

body.home.pa-v2 .pa-carousel__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--pa-sand);
  cursor: pointer;
}

body.home.pa-v2 .pa-carousel__dot[aria-current="true"] {
  background: var(--pa-canopy);
}

/* Focus (R-22) */
body.pa-v2 :focus-visible {
  outline: 2px solid var(--pa-focus);
  outline-offset: 2px;
  border-radius: var(--pa-radius-sm);
}

/* Footer is a dark forest band. Beat the light-theme text colors so copy stays readable. */
#page-container .pa-site-footer.et_pb_section {
  background: #0F241C !important;
  color: #F4F1EA !important;
}

#page-container .pa-site-footer .pa-brand,
#page-container .pa-site-footer .pa-footer-logo,
#page-container .pa-site-footer .pa-footer-logo .pa-brand,
#page-container .pa-site-footer .pa-footer-grid a,
#page-container .pa-site-footer .pa-footer-contact a,
#page-container .pa-site-footer .pa-footer-area a,
#page-container .pa-site-footer .pa-footer-line {
  color: #F4F1EA !important;
}

#page-container .pa-site-footer .pa-footer-grid p,
#page-container .pa-site-footer .pa-footer-tag,
#page-container .pa-site-footer .pa-footer-bottom {
  color: rgba(244, 241, 234, 0.88) !important;
}

#page-container .pa-site-footer .pa-footer-grid h4 {
  color: #C5D5C9 !important;
}

#page-container .pa-site-footer .pa-footer-grid a:hover,
#page-container .pa-site-footer .pa-footer-line a:hover {
  color: #FFFFFF !important;
}

#page-container .pa-site-footer .pa-social {
  color: #F4F1EA !important;
  border-color: rgba(244, 241, 234, 0.35) !important;
}

#page-container .pa-site-footer .pa-social:hover {
  background: #F4F1EA !important;
  color: #0F241C !important;
  border-color: #F4F1EA !important;
}

#page-container .pa-site-footer .pa-footer-ico {
  color: #C5D5C9 !important;
  opacity: 1;
}

#page-container .pa-site-footer .pa-footer-leaf {
  opacity: 0.16 !important;
}

body.home.pa-v2 .pa-proof-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pa-space-4);
  list-style: none;
  margin: 0 0 var(--pa-space-5);
  padding: 0;
}

body.home.pa-v2 .pa-proof-stats li {
  margin: 0;
}

body.home.pa-v2 .pa-proof-stats strong {
  display: block;
  font-family: var(--pa-font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--pa-canopy);
}

body.home.pa-v2 .pa-proof-stats span {
  display: block;
  font-size: 0.875rem;
  color: var(--pa-text-secondary);
}

body.home.pa-v2 .pa-proof-names {
  margin: 0 0 var(--pa-space-5);
  font-size: 0.9375rem;
  color: var(--pa-text-secondary);
}

body.home.pa-v2 .pa-step__media {
  overflow: hidden;
  border-radius: var(--pa-radius-md, 12px);
  aspect-ratio: 3 / 2;
  margin-bottom: var(--pa-space-4);
  box-shadow: var(--pa-shadow-pop);
}

body.home.pa-v2 .pa-step__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.home.pa-v2 .pa-step__time {
  margin: 0 0 0.4rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pa-moss) !important;
}

@media (max-width: 767px) {
  .pa-steps {
    grid-template-columns: 1fr !important;
  }
}

body.home.pa-v2 .pa-retail-card__why {
  margin: 0 0 var(--pa-space-3);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--pa-text-secondary);
}

.pa-sticky-cta {
  display: none;
}

@media (max-width: 767px) {
  .pa-sticky-cta {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid rgba(27, 61, 47, 0.12);
    box-shadow: 0 -6px 20px rgba(15, 36, 28, 0.12);
  }

  .pa-sticky-cta a {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: var(--pa-radius-sm, 8px) !important;
    font-family: var(--pa-font-body);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none !important;
  }

  .pa-sticky-cta__call {
    background: #FFFFFF;
    color: #1B3D2F !important;
    border: 1.5px solid #1B3D2F;
  }

  .pa-sticky-cta__quote {
    background: #1B3D2F;
    color: #F4F1EA !important;
  }

  body.pa-v2 {
    padding-bottom: 72px;
  }
}

/* Reduced motion (R-25) */
@media (prefers-reduced-motion: reduce) {
  body.pa-v2 *,
  body.pa-v2 *::before,
  body.pa-v2 *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* Homepage pass: path facts, FAQ, service map, intake, gallery volume, carousel dots */
body.home.pa-v2 .pa-path-tile__body {
  gap: 0;
  padding: 1.6rem 1.5rem 1.7rem;
}

body.home.pa-v2 .pa-path-tile__body h3 {
  font-size: 1.5rem;
  letter-spacing: -0.01em;
}

body.home.pa-v2 .pa-path-tile__deck {
  margin: 0.5rem 0 0 !important;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--pa-ink-70, #4A5450);
  text-wrap: pretty;
}

body.home.pa-v2 .pa-path-tile__facts {
  list-style: none;
  margin: 1.15rem 0 auto;
  padding: 0;
  border-top: 1px solid rgba(27, 61, 47, 0.1);
}

body.home.pa-v2 .pa-path-tile__facts li {
  display: grid;
  grid-template-columns: 4.25rem 1fr;
  gap: 0.1rem 0.75rem;
  align-items: baseline;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(27, 61, 47, 0.08);
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--pa-ink, #1A1F1C);
  text-wrap: pretty;
}

body.home.pa-v2 .pa-path-tile__facts li:last-child {
  border-bottom: 0;
}

body.home.pa-v2 .pa-path-tile__facts span {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--pa-ink-45, #7C8480);
}

body.home.pa-v2 .pa-path-tile__cta {
  margin-top: 1.35rem;
  font-size: 0.9375rem;
}

@media (max-width: 900px) {
  body.home.pa-v2 .pa-path-tile__facts li {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
}

body.home.pa-v2 .pa-faq-list {
  max-width: 46rem;
  margin: 0 auto;
}

body.home.pa-v2 .pa-faq {
  border: 1px solid rgba(27, 61, 47, 0.12);
  background: var(--pa-white);
  border-radius: var(--pa-radius-md, 12px);
  padding: 0.9rem 1.15rem;
  margin-bottom: 0.75rem;
}

body.home.pa-v2 .pa-faq summary {
  font-weight: 700;
  cursor: pointer;
  color: var(--pa-forest);
}

body.home.pa-v2 .pa-faq p {
  margin: 0.75rem 0 0.2rem;
}

body.home.pa-v2 .pa-service {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  text-align: left;
}

@media (min-width: 768px) {
  body.home.pa-v2 .pa-service {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}

body.home.pa-v2 .pa-service__places {
  list-style: none;
  margin: 1.25rem 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.45rem;
  color: rgba(244, 241, 234, 0.9);
}

body.home.pa-v2 .pa-service__places li::before {
  content: "— ";
  color: rgba(244, 241, 234, 0.55);
}

body.home.pa-v2 .pa-service__base {
  margin: 0;
  color: rgba(244, 241, 234, 0.78);
  font-size: 0.9375rem;
}

body.home.pa-v2 .pa-service__map {
  border-radius: var(--pa-radius-md, 12px);
  overflow: hidden;
  background: var(--pa-sand);
  min-height: 280px;
}

body.home.pa-v2 .pa-service__map iframe {
  display: block;
  width: 100%;
  height: 320px;
  border: 0;
}

body.home.pa-v2 .pa-gallery-group__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: var(--pa-space-4, 1rem);
}

body.home.pa-v2 .pa-gallery-group__label {
  margin-bottom: 0;
}

body.home.pa-v2 .pa-gallery-group__count {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--pa-ink-70, #4A5450);
}

body.home.pa-v2 .pa-gallery-more {
  display: inline-block;
  margin-top: 0.75rem;
  font-weight: 600;
  color: var(--pa-forest) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(15, 36, 28, 0.28);
}

body.home.pa-v2 .pa-carousel__dots {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

body.home.pa-v2 .pa-carousel__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(15, 36, 28, 0.22);
  cursor: pointer;
}

body.home.pa-v2 .pa-carousel__dot[aria-current="true"] {
  background: var(--pa-forest);
}

body.home.pa-v2 .pa-retail-card {
  background: var(--pa-white);
}

body.home.pa-v2 .pa-retail-card__media {
  background: var(--pa-cream);
}

body.home.pa-v2 .pa-retail-card__media img {
  mix-blend-mode: multiply;
}

body.home.pa-v2 .pa-retail-cta {
  margin-top: 2rem;
  text-align: center;
}

body.home.pa-v2 .pa-next-steps-inline {
  margin-top: 0.85rem;
  font-size: 0.9375rem;
  color: var(--pa-ink-70, #4A5450);
}

body.home.pa-v2 .pa-home-intake {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  text-align: left;
}

@media (min-width: 900px) {
  body.home.pa-v2 .pa-home-intake {
    grid-template-columns: 0.9fr 1.1fr;
    align-items: start;
  }
}

body.home.pa-v2 .pa-next-steps-label {
  margin: 1.4rem 0 0.5rem;
  font-weight: 700;
  color: var(--pa-forest);
}

body.home.pa-v2 .pa-next-steps {
  margin: 0 0 1.25rem;
  padding-left: 1.2rem;
}

body.home.pa-v2 .pa-next-steps li {
  margin-bottom: 0.45rem;
}

body.home.pa-v2 .pa-hero-form-link {
  display: inline-block;
  margin-top: 1rem;
  color: #F4F1EA !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* Mobile drawer + contact stack — undo 48px desktop flex leak */
@media (max-width: 980px) {
  .pa-site-header,
  .pa-site-header .et_pb_section,
  .pa-site-header .et_pb_row,
  .pa-site-header .et_pb_column,
  .pa-header,
  .pa-header-inner,
  .pa-header-inner > nav {
    overflow: visible !important;
  }

  body.pa-nav-open .pa-header-inner > nav {
    height: auto !important;
    display: block !important;
    align-items: stretch !important;
  }

  body.pa-nav-open .pa-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    height: auto !important;
    max-height: calc(100vh - 76px);
    overflow-y: auto !important;
    overflow-x: hidden !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0.35rem 0 1rem !important;
    gap: 0 !important;
  }

  body.pa-nav-open .pa-nav > li {
    display: block !important;
    height: auto !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  body.pa-nav-open .pa-nav > li > a,
  body.pa-nav-open .pa-nav-sub-toggle {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    line-height: 1.35 !important;
    padding: 0.95rem var(--pa-gutter) !important;
    margin: 0 !important;
    transform: none !important;
    justify-content: flex-start !important;
    text-align: left !important;
    white-space: normal !important;
    color: #F4F1EA !important;
  }

  body.pa-nav-open .pa-nav-sub-toggle {
    padding-bottom: 0.25rem !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(244, 241, 234, 0.62) !important;
  }

  body.pa-nav-open .pa-sub {
    display: block !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.pa-nav-open .pa-sub li {
    display: block !important;
    height: auto !important;
    width: 100% !important;
  }

  body.pa-nav-open .pa-sub a {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.15rem;
    width: 100% !important;
    height: auto !important;
    padding: 0.75rem var(--pa-gutter) !important;
    white-space: normal !important;
    box-sizing: border-box;
  }

  body.pa-nav-open .pa-sub-title {
    color: #F4F1EA !important;
    white-space: normal;
  }

  body.pa-nav-open .pa-sub-desc {
    color: rgba(244, 241, 234, 0.62) !important;
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .pa-contact-layout {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .pa-contact-form .pa-contact-row {
    grid-template-columns: 1fr !important;
  }

  .pa-contact-aside {
    position: static !important;
  }

  body.pa-v2 {
    padding-bottom: 88px;
  }

  body.page-id-138 .entry-content {
    padding-bottom: 1.5rem;
  }
}


/* Mobile header: keep the hamburger on screen */
@media (max-width: 980px) {
  .pa-header-inner {
    gap: 0.5rem !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .pa-logo__word {
    display: none !important;
  }

  .pa-header-actions {
    margin-left: auto !important;
    gap: 0.4rem !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }

  .pa-header-cta {
    min-width: 0 !important;
    width: auto !important;
    height: 36px !important;
    padding: 0 0.85rem !important;
    font-size: 0.8125rem !important;
  }

  .pa-nav-toggle {
    display: inline-flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  .pa-nav-toggle span,
  .pa-nav-toggle span:before,
  .pa-nav-toggle span:after {
    width: 20px !important;
    height: 2px !important;
    left: 12px !important;
  }
}


/* Hamburger: gap from CTA + clean X when open */
@media (max-width: 980px) {
  .pa-header-actions {
    gap: 12px !important;
  }

  .pa-nav-toggle {
    margin-left: 4px !important;
  }

  .pa-nav-toggle span,
  .pa-nav-toggle span:before,
  .pa-nav-toggle span:after {
    width: 20px !important;
    height: 2px !important;
    left: 12px !important;
    right: auto !important;
  }

  body.pa-nav-open .pa-nav-toggle span {
    background: transparent !important;
  }

  body.pa-nav-open .pa-nav-toggle span:before,
  body.pa-nav-open .pa-nav-toggle span:after {
    top: 0 !important;
    background: currentColor !important;
  }

  body.pa-nav-open .pa-nav-toggle span:before {
    transform: rotate(45deg);
  }

  body.pa-nav-open .pa-nav-toggle span:after {
    transform: rotate(-45deg);
  }
}


/* iPad / tablet header: full bar, icon at the right end */
@media (max-width: 980px) {
  .pa-site-header .et_pb_row,
  .pa-site-header .et_pb_column,
  .pa-site-header .et_pb_code,
  .pa-site-header .et_pb_code_inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.pa-v2 .pa-header-inner {
    max-width: none !important;
    width: 100% !important;
    justify-content: space-between !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.pa-v2 .pa-header-actions {
    margin-left: auto !important;
    gap: 14px !important;
  }

  body.pa-v2 .pa-nav-toggle {
    position: relative !important;
  }

  body.pa-v2 .pa-nav-toggle span,
  body.pa-v2 .pa-nav-toggle span:before,
  body.pa-v2 .pa-nav-toggle span:after {
    width: 20px !important;
    left: 12px !important;
  }
}

@media (max-width: 699px) {
  body.pa-v2 .pa-logo__word {
    display: none !important;
  }
}

@media (min-width: 700px) and (max-width: 980px) {
  body.pa-v2 .pa-logo__word {
    display: flex !important;
  }
}

/* ---- Services mega menu ---- */
.pa-site-header,
.pa-site-header .et_pb_row,
.pa-site-header .et_pb_column,
.pa-site-header .et_pb_code,
.pa-site-header .et_pb_code_inner,
.pa-header-inner,
.pa-header-inner > nav,
.pa-nav,
.pa-has-mega {
  overflow: visible !important;
}

.pa-mega {
  position: fixed;
  top: var(--pa-header-h, 77px);
  left: 0;
  right: 0;
  z-index: 100000;
  color: var(--pa-ink, #1A1F1C);
  background: #FFFFFF !important;
  border-top: 0;
  box-shadow: 0 24px 60px rgba(15, 36, 28, 0.16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity var(--pa-dur, 240ms) var(--pa-ease, ease),
    visibility var(--pa-dur, 240ms) var(--pa-ease, ease),
    transform var(--pa-dur, 240ms) var(--pa-ease, ease);
}

.pa-mega.is-open,
.pa-has-mega.pa-mega-open .pa-mega {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0);
}

.pa-mega .pa-wrap.pa-mega__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(1.75rem, 3vw, 2.5rem);
  row-gap: 0;
  max-width: var(--pa-max, 1120px);
  margin: 0 auto;
  padding: 2.25rem var(--pa-gutter, 1.25rem) 1.5rem !important;
  box-sizing: border-box;
}

.pa-mega__col {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  border-left: 0;
  box-shadow: -1px 0 0 rgba(27, 61, 47, 0.1);
}

.pa-mega__col:first-child {
  box-shadow: none;
}

.pa-mega__head {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  text-decoration: none !important;
  padding-bottom: 0.85rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid rgba(27, 61, 47, 0.08);
}

.pa-mega__title {
  font-family: var(--pa-font-display, Fraunces, Georgia, serif);
  font-size: 1.35rem;
  line-height: 1.15;
  font-weight: 600;
  color: var(--pa-canopy, #1B3D2F);
  transition: color var(--pa-dur, 240ms) var(--pa-ease, ease);
}

.pa-mega__head:hover .pa-mega__title {
  color: var(--pa-terracotta, #C2673F);
}

.pa-mega__desc {
  font-family: var(--pa-font-body, Outfit, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pa-ink-45, #7C8480);
}

.pa-mega__links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 0.05rem;
}

.pa-mega__links li {
  margin: 0 !important;
  padding: 0 !important;
}

.pa-mega__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 38px;
  margin: 0 -0.6rem;
  padding: 0.3rem 0.6rem !important;
  border-radius: var(--pa-radius-sm, 3px);
  font-family: var(--pa-font-body, Outfit, sans-serif);
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--pa-canopy, #1B3D2F) !important;
  text-decoration: none !important;
  transition: background var(--pa-dur, 240ms) var(--pa-ease, ease),
    color var(--pa-dur, 240ms) var(--pa-ease, ease);
}

.pa-mega__links a:hover,
.pa-mega__links a:focus-visible {
  background: var(--pa-cream, #F4F1EA);
  color: var(--pa-terracotta, #C2673F) !important;
}

.pa-mega__link-label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
}

.pa-mega__count {
  flex: none;
  min-width: 1.9rem;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  background: rgba(27, 61, 47, 0.07);
  font-family: var(--pa-font-body, Outfit, sans-serif);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--pa-ink-70, #4A5450);
}

.pa-mega__tile {
  position: relative;
  display: block;
  margin-top: auto;
  padding-top: 1.15rem;
  overflow: hidden;
  text-decoration: none !important;
  color: inherit !important;
}

.pa-mega__tile-media {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--pa-radius-md, 12px);
  background: var(--pa-cream, #F4F1EA);
  aspect-ratio: 16 / 10;
}

.pa-mega__tile-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: scale(1.001);
  transition: transform 520ms var(--pa-ease, ease);
}

.pa-mega__col:hover .pa-mega__tile-media img {
  transform: scale(1.05);
}

.pa-mega__tile-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 1.4rem 0.75rem 0.6rem;
  border-radius: 0 0 var(--pa-radius-md, 12px) var(--pa-radius-md, 12px);
  background: linear-gradient(to top, rgba(12, 30, 22, 0.78), rgba(12, 30, 22, 0));
  font-family: var(--pa-font-body, Outfit, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #FFFFFF;
}

.pa-mega__tile-arrow {
  flex: none;
  transition: transform var(--pa-dur, 240ms) var(--pa-ease, ease);
}

.pa-mega__col:hover .pa-mega__tile-arrow {
  transform: translateX(4px);
}

.pa-mega__foot {
  border-top: 1px solid rgba(27, 61, 47, 0.1);
  background: var(--pa-cream, #F4F1EA);
}

.pa-mega .pa-wrap.pa-mega__foot-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: var(--pa-max, 1120px);
  margin: 0 auto;
  padding: 0.95rem var(--pa-gutter, 1.25rem) !important;
  box-sizing: border-box;
}

.pa-mega__foot-note {
  margin: 0 !important;
  font-family: var(--pa-font-body, Outfit, sans-serif);
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--pa-ink-70, #4A5450);
}

.pa-mega__foot-actions {
  display: inline-flex;
  align-items: center;
  flex: none;
  gap: 1.25rem;
  margin-left: 0.5rem;
}

.pa-mega__foot-phone {
  font-family: var(--pa-font-body, Outfit, sans-serif);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pa-canopy, #1B3D2F) !important;
  text-decoration: none !important;
}

.pa-mega__foot-phone:hover {
  color: var(--pa-terracotta, #C2673F) !important;
}

.pa-mega__foot-cta {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.05rem !important;
  border-radius: var(--pa-radius-sm, 3px);
  background: var(--pa-canopy, #1B3D2F);
  font-family: var(--pa-font-body, Outfit, sans-serif);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pa-cream, #F4F1EA) !important;
  text-decoration: none !important;
  transition: background var(--pa-dur, 240ms) var(--pa-ease, ease);
}

.pa-mega__foot-cta:hover {
  background: var(--pa-terracotta, #C2673F);
}

@media (max-width: 980px) {
  body.pa-nav-open .pa-nav,
  body.pa-nav-open .pa-has-mega,
  body.pa-nav-open .pa-header-inner > nav {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  .pa-has-mega > .pa-nav-sub-toggle {
    pointer-events: auto !important;
  }

  .pa-mega {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    z-index: auto;
    border-top: 0;
    box-shadow: none;
    background: rgba(244, 241, 234, 0.08) !important;
    border-radius: var(--pa-radius-md, 12px);
    margin: 0.35rem 0 0.5rem;
    overflow: hidden;
  }

  .pa-mega .pa-wrap.pa-mega__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0.25rem 0.7rem 0.5rem !important;
    max-width: none;
  }

  .pa-mega__col {
    padding: 0.85rem 0;
    border-left: 0;
    border-top: 1px solid rgba(244, 241, 234, 0.14);
  }

  .pa-mega__col:first-child {
    border-top: 0;
  }

  .pa-mega__head {
    padding-bottom: 0.5rem;
    margin-bottom: 0.35rem;
    border-bottom: 0;
  }

  .pa-mega__title {
    font-size: 1.1rem;
  }

  .pa-mega__title,
  .pa-mega__links a {
    color: var(--pa-cream, #F4F1EA) !important;
  }

  .pa-mega__desc {
    color: rgba(244, 241, 234, 0.6) !important;
  }

  .pa-mega__links a:hover,
  .pa-mega__links a:focus-visible {
    background: rgba(244, 241, 234, 0.1);
    color: var(--pa-cream, #F4F1EA) !important;
  }

  .pa-mega__count {
    background: rgba(244, 241, 234, 0.14);
    color: rgba(244, 241, 234, 0.75) !important;
  }

  .pa-mega__tile {
    display: none;
  }

  .pa-mega__foot {
    border-top: 1px solid rgba(244, 241, 234, 0.14);
    background: transparent;
  }

  .pa-mega .pa-wrap.pa-mega__foot-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
    max-width: none;
    padding: 0.9rem 0.7rem 1rem !important;
  }

  .pa-mega__foot-actions {
    gap: 1rem;
    margin-left: 0;
  }

  .pa-mega__foot-note {
    color: rgba(244, 241, 234, 0.6) !important;
  }

  .pa-mega__foot-phone {
    color: var(--pa-cream, #F4F1EA) !important;
  }

  .pa-mega__foot-cta {
    background: var(--pa-cream, #F4F1EA);
    color: var(--pa-canopy, #1B3D2F) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pa-mega {
    transition: none !important;
    transform: none !important;
  }

  .pa-mega__tile-media img,
  .pa-mega__tile-arrow {
    transition: none !important;
  }
}
/* ---- Homepage finish ---- */
body.home.pa-v2 .pa-hero-inner {
  padding-top: calc(var(--pa-header-h, 77px) + 3.15rem);
}

body.home.pa-v2 .pa-home-hero .pa-hero-actions .et_pb_button,
body.home.pa-v2 .pa-home-hero .pa-hero-actions .pa-btn-primary,
body.home.pa-v2 .pa-home-hero .pa-hero-actions .pa-btn-outline {
  min-height: 44px;
  padding: 0.65rem 1.15rem !important;
  line-height: 1.2 !important;
}

body.home.pa-v2 .pa-hero-form-link {
  opacity: 0.88;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

body.home.pa-v2 .pa-hero-form-link:hover {
  opacity: 1;
}

body.home.pa-v2 .pa-section-head .pa-lead {
  max-width: 38rem;
}

body.home.pa-v2 .pa-path-tile {
  height: 100%;
}

body.home.pa-v2 .pa-path-tile__media img {
  object-position: center 32%;
}

body.home.pa-v2 .pa-path-tile__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  transition: color var(--pa-dur, 240ms) var(--pa-ease, ease), gap var(--pa-dur, 240ms) var(--pa-ease, ease);
}

body.home.pa-v2 .pa-path-tile:hover .pa-path-tile__cta {
  color: var(--pa-terracotta, #C2673F);
  gap: 0.5rem;
}

body.home.pa-v2 .pa-proof-stats li {
  padding: 0.15rem 0 0.55rem;
  border-bottom: 1px solid rgba(27, 61, 47, 0.06);
}

body.home.pa-v2 .pa-proof-stats li:nth-last-child(-n+2) {
  border-bottom: 0;
  padding-bottom: 0;
}

body.home.pa-v2 .pa-gallery-more:hover {
  color: var(--pa-terracotta, #C2673F) !important;
  border-bottom-color: var(--pa-terracotta, #C2673F);
}

body.home.pa-v2 .pa-retail-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 240ms ease, box-shadow 240ms ease;
}

body.home.pa-v2 .pa-retail-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(15, 36, 28, 0.1);
}

body.home.pa-v2 .pa-retail-card__badge {
  display: inline-flex;
  align-self: center;
  margin-top: auto;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  background: rgba(27, 61, 47, 0.08);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--pa-canopy, #1B3D2F);
}

body.home.pa-v2 .pa-step-num {
  font-size: 1.65rem;
  letter-spacing: 0.04em;
  color: var(--pa-moss, #5C7A62);
}

body.home.pa-v2 .pa-faq {
  border-bottom: 1px solid rgba(27, 61, 47, 0.1);
}

body.home.pa-v2 .pa-faq summary {
  cursor: pointer;
  padding: 1rem 0;
  font-weight: 600;
  color: var(--pa-canopy, #1B3D2F);
  list-style: none;
}

body.home.pa-v2 .pa-faq summary::-webkit-details-marker {
  display: none;
}

body.home.pa-v2 .pa-faq summary:hover {
  color: var(--pa-terracotta, #C2673F);
}

body.home.pa-v2 .pa-faq p {
  margin: 0 0 1.1rem;
  max-width: 40rem;
}

body.home.pa-v2 .pa-contact-form-card {
  padding: 1.5rem 1.4rem 1.6rem;
  background: #fff;
  border: 1px solid rgba(27, 61, 47, 0.08);
  border-radius: var(--pa-radius-md, 12px);
  box-shadow: 0 10px 28px rgba(15, 36, 28, 0.06);
}

body.pa-v2 .pa-interest-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.45rem;
}

body.pa-v2 .pa-interest-options br {
  display: none;
}

body.pa-v2 .pa-contact-commercial-note {
  flex: 1 0 100%;
  order: 10;
  margin: 0.15rem 0 0;
  font-size: 0.875rem;
  color: var(--pa-ink-70, rgba(15, 36, 28, 0.72));
}

body.pa-v2 .pa-contact-commercial-note a {
  color: var(--pa-canopy, #1B3D2F);
}

body.pa-v2 .pa-contact-commercial-note a:hover {
  color: var(--pa-terracotta, #C2673F);
}

body.pa-v2 .pa-radio {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(27, 61, 47, 0.14);
  border-radius: var(--pa-radius-sm, 3px);
  background: var(--pa-cream, #F4F1EA);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  color: var(--pa-canopy, #1B3D2F);
}

body.pa-v2 .pa-radio:has(input:checked) {
  background: var(--pa-canopy, #1B3D2F);
  border-color: var(--pa-canopy, #1B3D2F);
  color: var(--pa-cream, #F4F1EA);
}

body.home.pa-v2 .pa-field label,
body.home.pa-v2 .pa-field legend {
  font-size: 0.8125rem;
  font-weight: 600;
}

body.home.pa-v2 .pa-field input:not([type="radio"]):not([type="checkbox"]),
body.home.pa-v2 .pa-field textarea {
  margin-top: 0.3rem;
}

@media (prefers-reduced-motion: reduce) {
  body.home.pa-v2 .pa-path-tile,
  body.home.pa-v2 .pa-retail-card,
  body.home.pa-v2 .pa-path-tile__cta {
    transition: none !important;
  }
}

/* ---- Leading scale: UI text and single-line labels do not get prose leading ---- */
body.pa-v2 [class*="kicker"],
body.pa-v2 [class*="eyebrow"],
body.pa-v2 .pa-hero-brand,
body.pa-v2 [class*="__count"],
body.pa-v2 [class*="__price"],
body.pa-v2 [class*="-tab__label"] {
  line-height: var(--pa-lh-flat, 1.2);
}

body.pa-v2 label,
body.pa-v2 legend,
body.pa-v2 figcaption,
body.pa-v2 small,
body.pa-v2 th,
body.pa-v2 td,
body.pa-v2 dt,
body.pa-v2 dd,
body.pa-v2 [class*="-meta"],
body.pa-v2 [class*="-note"],
body.pa-v2 [class*="-caption"],
body.pa-v2 [class*="__specs"] {
  line-height: var(--pa-lh-ui, 1.35);
}

/* Stat figures are display type wearing a dd tag. */
body.pa-v2 [class*="-stat"] dd,
body.pa-v2 [class*="-stats"] dd {
  line-height: var(--pa-lh-flat, 1.2);
}

/* ---- Homepage hero: three groups, not seven floating lines.
       Legacy hero margins are !important, so these have to match. ---- */
body.home.pa-v2 .pa-home-hero .pa-hero-brand {
  margin-bottom: 0.25rem !important;
}

body.home.pa-v2 .pa-home-hero .pa-hero-kicker {
  margin-bottom: 0.75rem !important;
}

body.home.pa-v2 .pa-home-hero .pa-hero-inner h1 {
  margin-bottom: 1rem !important;
}

body.home.pa-v2 .pa-home-hero .pa-hero-support {
  margin-bottom: 1.125rem !important;
}

body.home.pa-v2 .pa-home-hero .pa-hero-meta {
  margin-bottom: 1.375rem !important;
}

body.home.pa-v2 .pa-home-hero .pa-hero-form-link {
  margin-top: 0.75rem !important;
}


/* ---- Photo zoom: only the image under the cursor, never the whole section ---- */
body.pa-v2 #main-content :is(
  [class$="__media"],
  [class$="-media"],
  .et_pb_image,
  .et_pb_gallery_image,
  .pa-carousel__slide,
  .pa-carousel__viewport,
  .pa-gallery a,
  .pa-commercial-gal__item,
  .pa-rentals-gal__item,
  .pa-step__media
) {
  overflow: hidden;
}

body.pa-v2 #main-content img {
  transform: scale(1);
  transform-origin: center center;
  clip-path: inset(0);
  transition: transform 520ms var(--pa-ease, cubic-bezier(0.2, 0.7, 0.3, 1));
}

/* Parent hover must not zoom every photo in the section or card. */
body.pa-v2 #main-content :is(
  article,
  .pa-wrap,
  .pa-container,
  .et_pb_section,
  .et_pb_row,
  .et_pb_column,
  .pa-step,
  .pa-path-tile,
  .pa-retail-card,
  .pa-retail-product,
  .pa-retail-cat-card,
  .pa-commercial-work-card,
  .pa-rentals-work-card,
  .et_pb_gallery_item,
  .pa-commercial-gal__item,
  .pa-rentals-gal__item
):hover img {
  transform: scale(1);
}

body.pa-v2 #main-content :is(
  article,
  .pa-wrap,
  .pa-container,
  .et_pb_section,
  .et_pb_row,
  .et_pb_column,
  .pa-step,
  .pa-path-tile,
  .pa-retail-card,
  .pa-retail-product,
  .pa-retail-cat-card,
  .pa-commercial-work-card,
  .pa-rentals-work-card,
  .et_pb_gallery_item,
  .pa-commercial-gal__item,
  .pa-rentals-gal__item
) img:hover {
  transform: scale(1.045);
}

body.pa-v2 #main-content :is(.pa-logo, .pa-footer-logo, .pa-social, .custom-logo) img,
body.pa-v2 #main-content :is(.pa-logo, .pa-footer-logo, .pa-social) img:hover {
  transform: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  body.pa-v2 #main-content img {
    transform: none !important;
    transition: none !important;
  }
}


/* ---- Italic accent ----------------------------------------------------------
   Reserved for one emphasised phrase inside a headline (wrap it in <em>) and for
   the captions under hero photographs. Fraunces italic is loaded at 600 only, so
   an <em> in a lighter heading would synthesise; keep it on h1-h3.
   -------------------------------------------------------------------------- */
body.pa-v2 :is(h1, h2, h3, .pa-h1, .pa-h2, .pa-h3) em {
  font-style: italic;
  font-weight: inherit;
  color: var(--pa-accent-headline, #9E5233);
}

/* Dark bands invert it: clay disappears against forest, so the accent lifts to a
   light sage instead. Same idea, opposite direction. */
body.pa-v2 :is(.pa-home-hero, .pa-section--forest) :is(h1, h2, h3, .pa-h1, .pa-h2, .pa-h3) em {
  color: var(--pa-accent-headline-inverse, #A9C5B4);
}

/* Two-tone for long factual headlines. Where there is no single payoff word, the
   qualifying clause is set in moss so it recedes behind the offer. Same green as
   the eyebrow above it. Large text only: this tone is too light for body copy. */
body.pa-v2 :is(h1, h2, h3, .pa-h1, .pa-h2, .pa-h3) .pa-h-quiet {
  color: var(--pa-accent-headline-quiet, #6B7F5E);
}

body.pa-v2 :is(.pa-home-hero, .pa-section--forest) :is(h1, h2, h3, .pa-h1, .pa-h2, .pa-h3) .pa-h-quiet {
  color: var(--pa-accent-headline-inverse, #A9C5B4);
}

/* Photo captions only. Quote attributions (.pa-*-quote figcaption), the lightbox
   chrome and the carousel overlay labels stay upright on purpose. */
body.pa-v2 :is(
  .pa-commercial-hero-media,
  .pa-rentals-hero-media,
  .pa-retail-hero-media
) figcaption {
  font-style: italic;
}
/* Radio/checkbox + label sit on one optical line. Divi and the field-input
   spacing otherwise add a top margin that drops the control below the text. */
body.pa-v2 .pa-radio input[type="radio"],
body.pa-v2 .pa-radio input[type="checkbox"] {
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  margin: 0 !important;
  padding: 0;
  flex: 0 0 auto;
  vertical-align: middle;
  position: relative;
  top: 1px;
  accent-color: var(--pa-canopy, #1B3D2F);
}
/* ---- PA finish 2026-09 ---- */

html body.pa-v2 ::selection {
  background: rgba(27, 61, 47, 0.18);
  color: var(--pa-forest, #0F241C);
}

html body.pa-v2 :focus-visible {
  outline: 2px solid var(--pa-moss, #6B7F5E);
  outline-offset: 3px;
}

html body.pa-v2 .pa-kicker {
  color: var(--pa-text-eyebrow, var(--pa-moss, #6B7F5E));
}

html body.pa-v2 .et_pb_button.pa-btn-primary,
html body.pa-v2 a.et_pb_button.pa-btn-primary {
  border-radius: var(--pa-radius-sm, 3px) !important;
}

html body.pa-v2 .et_pb_button.pa-btn-outline,
html body.pa-v2 a.et_pb_button.pa-btn-outline {
  border-radius: var(--pa-radius-sm, 3px) !important;
}

html body.pa-v2 .pa-site-footer a:hover {
  color: var(--pa-terracotta, #C2673F) !important;
}

html body.pa-v2 figure:not(.pa-about-gallery-item) img {
  border-radius: inherit;
}

/* About — align with the 3px system, captions, deco fade */
html body.page-id-84 .pa-about-hero-deco {
  width: clamp(220px, 36vw, 400px);
  opacity: 0.88;
  mask-image: linear-gradient(to left, #000 55%, transparent 100%),
    linear-gradient(to top, #000 70%, transparent 100%);
  mask-composite: intersect;
  -webkit-mask-image: linear-gradient(to left, #000 55%, transparent 100%),
    linear-gradient(to top, #000 70%, transparent 100%);
  -webkit-mask-composite: source-in;
}

html body.page-id-84 .pa-about-hero .pa-lead {
  max-width: 36rem;
  color: var(--pa-ink-70, #4A5450);
}

html body.page-id-84 .pa-about-story-inner {
  align-items: stretch;
}

html body.page-id-84 .pa-about-awards {
  border: 1px solid rgba(27, 61, 47, 0.1);
  border-radius: var(--pa-radius-md, 12px);
  background: var(--pa-cream, #F4F1EA);
  height: 100%;
  display: flex;
  flex-direction: column;
}

html body.page-id-84 .pa-about-awards-label {
  color: var(--pa-text-eyebrow, var(--pa-moss, #6B7F5E));
  letter-spacing: 0.1em;
}

html body.page-id-84 .pa-about-awards-title {
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.2;
}

html body.page-id-84 .pa-about-awards-list li::before {
  background: var(--pa-moss, #6B7F5E);
}

html body.page-id-84 .pa-about-awards-note {
  margin-top: auto;
  padding-top: 0.85rem;
}

html body.page-id-84 .pa-about-proof-head .pa-lead {
  margin: 0.65rem 0 0;
  max-width: 34rem;
  color: var(--pa-ink-70, #4A5450);
}

html body.page-id-84 .pa-about-gallery {
  gap: 0.75rem;
}

html body.page-id-84 .pa-about-gallery-item {
  position: relative;
  border-radius: var(--pa-radius-md, 12px);
  overflow: hidden;
}

html body.page-id-84 .pa-about-gallery-item img {
  transform: scale(1.001);
  transition: transform 520ms var(--pa-ease, ease);
}

html body.page-id-84 .pa-about-gallery-item:hover img {
  transform: scale(1.04);
}

html body.page-id-84 .pa-about-gallery-item figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 1.5rem 0.85rem 0.7rem;
  background: linear-gradient(to top, rgba(12, 30, 22, 0.72), rgba(12, 30, 22, 0));
  font-family: var(--pa-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #FFFFFF;
}

html body.page-id-84 .pa-about-path-tile {
  border-radius: var(--pa-radius-md, 12px);
  min-height: 8.5rem;
}

html body.page-id-84 .pa-about-path-tile__copy {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

html body.page-id-84 .pa-about-path-tile__desc {
  font-family: var(--pa-font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(244, 241, 234, 0.62);
}

html body.page-id-84 .pa-about-path-tile__cta {
  transition: transform var(--pa-dur, 240ms) var(--pa-ease, ease);
}

html body.page-id-84 .pa-about-path-tile:hover .pa-about-path-tile__cta {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  html body.page-id-84 .pa-about-gallery-item img,
  html body.page-id-84 .pa-about-path-tile__cta {
    transition: none;
  }
  html body.page-id-84 .pa-about-gallery-item:hover img {
    transform: none;
  }
}

/* Shared gallery / tile image hover used across service pages */
html body.pa-v2 .pa-commercial-work figure,
html body.pa-v2 .pa-rentals-work figure,
html body.pa-v2 .pa-gallery-item,
html body.pa-v2 .pa-retail-lifestyle figure {
  overflow: hidden;
}

html body.pa-v2 .pa-commercial-work figure img,
html body.pa-v2 .pa-rentals-work figure img,
html body.pa-v2 .pa-gallery-item img,
html body.pa-v2 .pa-retail-lifestyle figure img {
  transform: scale(1.001);
  transition: transform 520ms var(--pa-ease, ease);
}

html body.pa-v2 .pa-commercial-work figure:hover img,
html body.pa-v2 .pa-rentals-work figure:hover img,
html body.pa-v2 .pa-gallery-item:hover img,
html body.pa-v2 .pa-retail-lifestyle figure:hover img {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  html body.pa-v2 .pa-commercial-work figure img,
  html body.pa-v2 .pa-rentals-work figure img,
  html body.pa-v2 .pa-gallery-item img,
  html body.pa-v2 .pa-retail-lifestyle figure img {
    transition: none;
    transform: none;
  }
}
/* PA finish blog read-more */
html body.pa-v2 .more-link,
html body.pa-v2 .et_pb_post a.more-link {
  font-family: var(--pa-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--pa-canopy, #1B3D2F) !important;
  text-decoration: none !important;
  text-transform: none;
}
html body.pa-v2 .more-link:hover,
html body.pa-v2 .et_pb_post a.more-link:hover {
  color: var(--pa-terracotta, #C2673F) !important;
}
.pa-split--proof .pa-proof-body {
  margin: 0.85rem 0 0;
  color: var(--pa-ink-70, #4A5450);
  font-size: var(--pa-fs-body, 1.0625rem);
  line-height: 1.6;
}

/* ==== Soft radius finish: media frames + images ==== */
/* Cards clip their own media, so only free-standing frames need a radius. */
html body.pa-v2 .pa-commercial-hero-media,
html body.pa-v2 .pa-rentals-hero-media,
html body.pa-v2 .pa-retail-hero-media,
html body.pa-v2 .pa-contact-hero-media,
html body.pa-v2 .pa-retail-lifestyle-media,
html body.pa-v2 .pa-contact-aside-map,
html body.pa-v2 .pa-contact-map .et_pb_map,
html body.pa-v2 .pa-about-gallery-item,
html body.pa-v2 .pa-split__media,
html body.pa-v2 .pa-step__media,
html body.pa-v2 .pa-gallery a,
html body.pa-v2 .pa-mid-parallax__inner,
html body.pa-v2 .pa-blog-hero-media,
html body.pa-v2 .pa-blog-hero-art,
html body.pa-v2 .pa-blog-cta-media,
html body.pa-v2 .pa-blog-cta-art,
html body.pa-v2 .pa-post-hero-media,
html body.pa-v2 .pa-post-hero-art,
html body.pa-v2 .pa-commercial-gal__item,
html body.pa-v2 .pa-rentals-gal__item,
html body.pa-v2 .pa-lightbox__figure img,
html body.pa-v2 .et_pb_gallery_item .et_pb_gallery_image {
  border-radius: 12px !important;
  overflow: hidden;
}

/* Images fill their rounded frame rather than poking out of the corners. */
html body.pa-v2 .pa-commercial-hero-media img,
html body.pa-v2 .pa-rentals-hero-media img,
html body.pa-v2 .pa-retail-hero-media img,
html body.pa-v2 .pa-contact-hero-media img,
html body.pa-v2 .pa-retail-lifestyle-media img,
html body.pa-v2 .pa-about-gallery-item img,
html body.pa-v2 .pa-split__media img,
html body.pa-v2 .pa-step__media img,
html body.pa-v2 .pa-gallery a img,
html body.pa-v2 .pa-blog-hero-media img,
html body.pa-v2 .pa-blog-cta-media img,
html body.pa-v2 .pa-post-hero-media img,
html body.pa-v2 .pa-commercial-gal__item img,
html body.pa-v2 .pa-rentals-gal__item img,
html body.pa-v2 .et_pb_gallery_item .et_pb_gallery_image img {
  border-radius: inherit;
}

/* Images inside post copy. */
html body.pa-v2.pa-single-post .entry-content img:not([class*='icon']),
html body.pa-v2 .entry-content .wp-block-image img,
html body.pa-v2 .entry-content figure img {
  border-radius: 12px;
}
