/* =========================================================
   UP TO PAR MAINTENANCE - RESPONSIVE SITE CSS
   Homepage + Footer Mobile Fixes
========================================================= */


/* ================================
   1. Global Overflow / Width Reset
================================ */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  position: relative;
}

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

img,
svg,
video,
iframe {
  max-width: 100%;
  height: auto;
}

.wp-site-blocks,
.entry-content,
.wp-block-group,
.wp-block-cover,
.wp-block-columns,
.wp-block-column,
.wp-block-row,
.wp-block-stack {
  max-width: 100%;
}


/* ================================
   2. Font Stabilizer
================================ */

body,
button,
input,
textarea,
select,
.wp-block-button__link,
.utp-hero,
.utp-trust-bar,
.utp-services-preview,
.utp-why-section,
.utp-area-section,
.utp-final-cta,
.utp-footer {
  font-family: Arial, Helvetica, sans-serif !important;
}


/* ================================
   3. Footer Base Styling
================================ */

.utp-footer {
  width: 100%;
  background: #130f0f;
  color: #ffffff;
  overflow: hidden;
}

.utp-footer-inner {
  width: 100%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.utp-footer-link-grid {
  width: 100%;
}

.utp-footer h1,
.utp-footer h2,
.utp-footer h3,
.utp-footer h4 {
  color: #4f9b63;
  font-weight: 800;
  line-height: 1.2;
}

.utp-footer p,
.utp-footer a,
.utp-footer li {
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.55;
}

.utp-footer a {
  text-decoration: none;
}

.utp-footer a:hover {
  color: #4f9b63;
}

.utp-footer .wp-block-site-title,
.utp-footer .wp-block-site-title a {
  color: #ffffff !important;
  font-weight: 700;
}

.utp-footer .wp-block-site-tagline {
  color: #4f9b63 !important;
}

.utp-footer .wp-block-button__link {
  background: #4f9b63 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}


/* =========================================================
   4. Mobile Layout Fixes
========================================================= */

@media (max-width: 768px) {

  /* ----------------
     General Sections
  ---------------- */

  .utp-hero,
  .utp-trust-bar,
  .utp-services-preview,
  .utp-why-section,
  .utp-area-section,
  .utp-final-cta,
  .utp-footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .utp-hero-inner,
  .utp-trust-inner,
  .utp-why-inner,
  .utp-area-inner,
  .utp-final-cta-inner,
  .utp-footer-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }


  /* ----------------
     Hero
  ---------------- */

  .utp-hero {
    min-height: auto !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .utp-hero-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .utp-hero h1 {
    font-size: clamp(42px, 12vw, 58px) !important;
    line-height: 1.05 !important;
    max-width: 100% !important;
    letter-spacing: -0.04em !important;
  }

  .utp-hero p {
    font-size: 20px !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
  }

  .utp-hero-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .utp-hero-actions .wp-block-button,
  .utp-hero-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }


  /* ----------------
     Trust Bar
  ---------------- */

  .utp-trust-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .utp-trust-item {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 8px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .utp-trust-item p,
  .utp-trust-item span {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }


  /* ----------------
     Services Preview
  ---------------- */

  .utp-services-preview {
    width: 100% !important;
    max-width: 100% !important;
    padding: 54px 18px !important;
    margin: 0 auto !important;
  }

  .utp-services-preview > .wp-block-group__inner-container,
  .utp-services-preview > .wp-block-cover__inner-container,
  .utp-services-preview > .wp-block-group,
  .utp-services-preview > .wp-block-stack {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .utp-services-preview h2,
  .utp-services-preview h3 {
    max-width: 100% !important;
  }

  .utp-services-preview h2 {
    font-size: clamp(30px, 9vw, 42px) !important;
    line-height: 1.1 !important;
  }

  .utp-services-preview p {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  .utp-services-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 22px !important;
  }

  .utp-service-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 34px 24px !important;
    border-radius: 28px !important;
    text-align: center !important;
    height: auto !important;
  }

  .utp-service-card > * {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .utp-service-card img,
  .utp-service-card figure,
  .utp-service-card .wp-block-image {
    display: block !important;
    max-width: 78px !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .utp-service-card h3 {
    font-size: 30px !important;
    line-height: 1.12 !important;
    text-align: center !important;
    margin-bottom: 14px !important;
  }

  .utp-service-card p {
    font-size: 17px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    max-width: 100% !important;
  }


  /* ----------------
     Why Choose Us
  ---------------- */

  .utp-why-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .utp-why-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .utp-why-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-why-section h2 {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.08 !important;
  }

  .utp-why-section p {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .utp-why-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
  }

  .utp-why-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 28px 22px !important;
  }

  .utp-why-card h3 {
    font-size: 24px !important;
    line-height: 1.15 !important;
  }

  .utp-why-card img {
    max-width: 92px !important;
    height: auto !important;
  }

  .utp-why-mini-row {
    display: none !important;
  }


  /* ----------------
     Service Area
  ---------------- */

  .utp-area-section {
    padding: 58px 20px !important;
  }

  .utp-area-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .utp-area-content,
  .utp-area-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-area-section h2 {
    font-size: clamp(38px, 11vw, 54px) !important;
    line-height: 1.08 !important;
  }

  .utp-area-section p {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }


  /* ----------------
     Final CTA
  ---------------- */

  .utp-final-cta {
    padding: 64px 20px !important;
  }

  .utp-final-cta-inner {
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .utp-final-cta h2 {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.08 !important;
  }

  .utp-final-cta p {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .utp-final-cta-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .utp-final-cta-actions .wp-block-button,
  .utp-final-cta-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .utp-final-cta-trust {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }


  /* ----------------
     Footer Nested Layout
  ---------------- */

  .utp-footer {
    padding: 42px 18px !important;
  }

  .utp-footer-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  .utp-footer-brand-col,
  .utp-footer-links-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .utp-footer-link-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .utp-footer-spacer {
    display: none !important;
  }

  .utp-footer-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .utp-footer img,
  .utp-footer .wp-block-site-logo img {
    max-width: 230px !important;
    height: auto !important;
  }

  .utp-footer h2,
  .utp-footer h3,
  .utp-footer h4 {
    font-size: 22px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }

  .utp-footer p,
  .utp-footer a,
  .utp-footer li {
    font-size: 16px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }

  .utp-footer .wp-block-navigation,
  .utp-footer .wp-block-navigation__container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .utp-footer .wp-block-buttons,
  .utp-footer .wp-block-button,
  .utp-footer .wp-block-button__link,
  .utp-footer-quote-btn,
  .utp-footer-quote-btn .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-footer .wp-block-button__link,
  .utp-footer-quote-btn .wp-block-button__link {
    text-align: center !important;
    justify-content: center !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}

/* =========================================================
   SERVICES PAGE - HERO FINAL REFINEMENT
========================================================= */

.utp-services-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  min-height: 590px !important;
  padding: 120px 0 110px !important;

  display: flex !important;
  align-items: center !important;

  overflow: hidden !important;
  box-sizing: border-box !important;

  background-size: cover !important;
  background-position: center center !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-services-hero-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 42px !important;
  padding-right: 42px !important;
  box-sizing: border-box !important;
}

.utp-services-hero h1 {
  max-width: 760px !important;
  margin: 0 0 28px !important;

  color: #ffffff !important;
  font-size: clamp(52px, 5.4vw, 82px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.utp-services-hero h1 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

.utp-services-hero p {
  max-width: 760px !important;
  margin: 0 0 34px !important;

  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}

.utp-services-hero-actions {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.utp-services-hero-actions .wp-block-button__link {
  min-width: 180px !important;
  padding: 16px 30px !important;

  border-radius: 999px !important;
  background: #1e5a3a !important;
  color: #ffffff !important;

  font-weight: 800 !important;
  font-size: 14px !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-services-hero-actions .wp-block-button__link:hover {
  background: #2f774d !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28) !important;
}

/* Mobile */
@media (max-width: 768px) {
  .utp-services-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    min-height: auto !important;
    padding: 78px 0 76px !important;
  }

  .utp-services-hero-inner {
    max-width: 100% !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .utp-services-hero h1 {
    font-size: clamp(44px, 12vw, 62px) !important;
    line-height: 1.04 !important;
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }

  .utp-services-hero p {
    font-size: 17px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
    margin-bottom: 30px !important;
  }

  .utp-services-hero-actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 14px !important;
  }

  .utp-services-hero-actions .wp-block-button,
  .utp-services-hero-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
}
/* =========================================================
   SERVICES PAGE - SERVICES SECTION FINAL POLISH
========================================================= */

.utp-service-list-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 72px 24px 92px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-service-list-section * {
  box-sizing: border-box !important;
}

/* Header area */
.utp-service-list-header {
  width: 100% !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 48px !important;
  text-align: center !important;
}

.utp-service-list-header h4 {
  margin: 0 0 14px !important;
  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.utp-service-list-header h2,
.utp-service-list-header h3 {
  max-width: 850px !important;
  margin: 0 auto 22px !important;

  color: #111514 !important;
  font-size: clamp(34px, 3.7vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

.utp-service-list-header p {
  max-width: 820px !important;
  margin: 0 auto !important;

  color: #4e5a55 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

/* Card grid */
.utp-service-card-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

/* Individual cards */
.utp-service-detail-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 26px !important;
  padding: 32px 30px 34px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

.utp-service-detail-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(30, 90, 58, 0.26) !important;
  box-shadow: 0 26px 68px rgba(17, 21, 20, 0.13) !important;
}

/* Icons */
.utp-service-detail-icon,
.utp-service-detail-card .wp-block-image {
  width: 74px !important;
  height: 74px !important;
  margin: 0 0 24px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(30, 90, 58, 0.08) !important;
  border-radius: 18px !important;
}

.utp-service-detail-icon img,
.utp-service-detail-card .wp-block-image img {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
}

/* Card title */
.utp-service-detail-card h3 {
  margin: 0 0 14px !important;

  color: #1e5a3a !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Card paragraph */
.utp-service-detail-card p {
  margin: 0 0 20px !important;

  color: #26302b !important;
  font-size: 15.5px !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
}

/* Card lists */
.utp-service-detail-card ul,
.utp-service-detail-card .wp-block-list {
  margin: auto 0 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: grid !important;
  gap: 9px !important;
}

.utp-service-detail-card li {
  position: relative !important;
  padding-left: 24px !important;

  color: #4e5a55 !important;
  font-size: 14.5px !important;
  line-height: 1.4 !important;
}

.utp-service-detail-card li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;

  color: #1e5a3a !important;
  font-weight: 900 !important;
}

/* Tablet */
@media (max-width: 980px) {
  .utp-service-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .utp-service-list-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 58px 20px 68px !important;
  }

  .utp-service-list-header {
    max-width: 100% !important;
    margin-bottom: 34px !important;
    text-align: left !important;
  }

  .utp-service-list-header h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-service-list-header h2,
  .utp-service-list-header h3 {
    max-width: 100% !important;
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
    margin-bottom: 18px !important;
  }

  .utp-service-list-header p {
    max-width: 100% !important;
    font-size: 16.5px !important;
    line-height: 1.58 !important;
  }

  .utp-service-card-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-service-detail-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-service-detail-icon,
  .utp-service-detail-card .wp-block-image {
    width: 68px !important;
    height: 68px !important;
    margin-bottom: 22px !important;
    border-radius: 16px !important;
  }

  .utp-service-detail-icon img,
  .utp-service-detail-card .wp-block-image img {
    width: 42px !important;
    height: 42px !important;
  }

  .utp-service-detail-card h3 {
    font-size: 26px !important;
  }

  .utp-service-detail-card p {
    font-size: 16px !important;
  }

  .utp-service-detail-card li {
    font-size: 15px !important;
  }
}


/* =========================================================
   SERVICES PAGE - COMMON REQUEST / WHO WE SERVE
   Full replacement section
========================================================= */

.utp-service-info-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 34px 24px 86px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-service-info-section * {
  box-sizing: border-box !important;
}

/* Main two-card holder */
.utp-service-info-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

/* Main white cards */
.utp-common-card,
.utp-serve-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  padding: 34px 34px 38px !important;
  border-radius: 26px !important;
  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  overflow: hidden !important;
}

/* Force direct content inside each card to stack cleanly */
.utp-common-card > .wp-block-group,
.utp-common-card > .wp-block-stack,
.utp-serve-card > .wp-block-group,
.utp-serve-card > .wp-block-stack {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* Main card headings */
.utp-common-card h3,
.utp-serve-card h3 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 26px !important;

  color: #1e5a3a !important;
  font-size: 30px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Common request list holder */
.utp-common-list-grid {
  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 30px !important;

  margin: 0 0 28px !important;
}

/* Force inner list columns to use full available width */
.utp-common-list-grid > * {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Common request lists */
.utp-common-card ul,
.utp-common-card .wp-block-list {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: grid !important;
  gap: 12px !important;
}

.utp-common-card li {
  position: relative !important;
  padding-left: 24px !important;

  color: #26302b !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.utp-common-card li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;

  color: #1e5a3a !important;
  font-weight: 900 !important;
}

/* Common request button */
.utp-common-cta {
  width: 100% !important;
  margin-top: auto !important;
}

.utp-common-cta .wp-block-button__link {
  min-width: 220px !important;
  padding: 15px 28px !important;

  border-radius: 999px !important;
  background: #111514 !important;
  color: #ffffff !important;

  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 12px 26px rgba(17, 21, 20, 0.18) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-common-cta .wp-block-button__link:hover {
  background: #1e5a3a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(17, 21, 20, 0.24) !important;
}

/* Who We Serve 2x2 grid */
.utp-serve-grid {
  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

/* Each Who We Serve item */
.utp-serve-item {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  padding: 18px 18px 20px !important;
  border-radius: 18px !important;
  background: rgba(30, 90, 58, 0.045) !important;
  border: 1px solid rgba(30, 90, 58, 0.08) !important;

  overflow: hidden !important;
}

/* Who We Serve icons */
.utp-serve-item .wp-block-image,
.utp-serve-item figure,
.utp-serve-icon {
  width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  max-height: 48px !important;

  margin: 0 0 14px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.utp-serve-item .wp-block-image img,
.utp-serve-item figure img,
.utp-serve-icon img,
.utp-serve-item img {
  width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  max-height: 44px !important;

  object-fit: contain !important;
  display: block !important;
}

/* Who We Serve titles */
.utp-serve-item h3,
.utp-serve-item h4,
.utp-serve-item h5 {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 0 8px !important;

  color: #1e5a3a !important;
  font-size: 16px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Who We Serve paragraph */
.utp-serve-item p {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;

  color: #4e5a55 !important;
  font-size: 13.5px !important;
  line-height: 1.42 !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-service-info-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .utp-serve-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-service-info-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 28px 20px 68px !important;
  }

  .utp-service-info-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-common-card,
  .utp-serve-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-common-card h3,
  .utp-serve-card h3 {
    font-size: 28px !important;
    margin-bottom: 22px !important;
  }

  .utp-common-list-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 26px !important;
  }

  .utp-common-card li {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }

  .utp-serve-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .utp-serve-item {
    padding: 20px 18px !important;
  }

  .utp-serve-item .wp-block-image,
  .utp-serve-item figure,
  .utp-serve-icon {
    width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
  }

  .utp-serve-item .wp-block-image img,
  .utp-serve-item figure img,
  .utp-serve-icon img,
  .utp-serve-item img {
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
  }

  .utp-serve-item h3,
  .utp-serve-item h4,
  .utp-serve-item h5 {
    font-size: 19px !important;
  }

  .utp-serve-item p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  .utp-common-cta .wp-block-button,
  .utp-common-cta .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   SERVICES PAGE - SERVICE QUESTIONS / FAQ
   Final polished replacement
========================================================= */

.utp-service-faq-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 68px 24px 82px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-service-faq-section * {
  box-sizing: border-box !important;
}

/* Header */
.utp-service-faq-header {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 34px !important;
  text-align: center !important;
}

.utp-service-faq-header h3,
.utp-service-faq-section > h3 {
  margin: 0 !important;

  color: #1e5a3a !important;
  font-size: clamp(34px, 3.6vw, 48px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

/* FAQ grid */
.utp-service-faq-grid {
  width: 100% !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 20px !important;
  align-items: start !important;
}

/* Each column */
.utp-service-faq-grid > * {
  width: 100% !important;
  min-width: 0 !important;

  display: grid !important;
  gap: 16px !important;
  align-content: start !important;
}

/* FAQ card */
.utp-service-faq-item,
.utp-service-faq-section details,
.utp-service-faq-section .wp-block-details {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.12) !important;
  border-radius: 16px !important;

  box-shadow: 0 12px 32px rgba(17, 21, 20, 0.055) !important;
  overflow: hidden !important;
}

/* Question row */
.utp-service-faq-section details summary,
.utp-service-faq-section .wp-block-details summary {
  cursor: pointer !important;
  list-style: none !important;

  min-height: 70px !important;
  padding: 18px 22px !important;

  background: #ffffff !important;
  color: #1e5a3a !important;

  font-size: 15.5px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  outline: none !important;
  box-shadow: none !important;
}

.utp-service-faq-section details summary::-webkit-details-marker,
.utp-service-faq-section .wp-block-details summary::-webkit-details-marker {
  display: none !important;
}

/* Arrow */
.utp-service-faq-section details summary::before,
.utp-service-faq-section .wp-block-details summary::before {
  content: "▸" !important;
  flex: 0 0 auto !important;

  color: #1e5a3a !important;
  font-size: 14px !important;
  font-weight: 900 !important;

  transform: translateY(1px) !important;
  transition: transform 180ms ease !important;
}

.utp-service-faq-section details[open] summary::before,
.utp-service-faq-section .wp-block-details[open] summary::before {
  transform: rotate(90deg) translateX(1px) !important;
}

/* Open state */
.utp-service-faq-section details[open],
.utp-service-faq-section .wp-block-details[open] {
  border-color: rgba(30, 90, 58, 0.18) !important;
  box-shadow: 0 16px 38px rgba(17, 21, 20, 0.075) !important;
}

.utp-service-faq-section details[open] summary,
.utp-service-faq-section .wp-block-details[open] summary {
  background: rgba(30, 90, 58, 0.045) !important;
}

/* Softer focus */
.utp-service-faq-section details summary:focus,
.utp-service-faq-section .wp-block-details summary:focus,
.utp-service-faq-section details summary:focus-visible,
.utp-service-faq-section .wp-block-details summary:focus-visible {
  outline: none !important;
  box-shadow: inset 0 0 0 1px rgba(30, 90, 58, 0.20) !important;
}

/* Answer text */
.utp-service-faq-section details > *:not(summary),
.utp-service-faq-section .wp-block-details > *:not(summary) {
  margin: 0 !important;
  padding: 0 24px 24px 50px !important;

  color: #4e5a55 !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

/* Tablet */
@media (max-width: 980px) {
  .utp-service-faq-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .utp-service-faq-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 56px 20px 66px !important;
  }

  .utp-service-faq-header {
    max-width: 100% !important;
    margin-bottom: 28px !important;
    text-align: left !important;
  }

  .utp-service-faq-header h3,
  .utp-service-faq-section > h3 {
    text-align: left !important;
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  .utp-service-faq-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .utp-service-faq-grid > * {
    gap: 14px !important;
  }

  .utp-service-faq-section details summary,
  .utp-service-faq-section .wp-block-details summary {
    min-height: 64px !important;
    padding: 17px 18px !important;
    font-size: 15.5px !important;
    line-height: 1.35 !important;
  }

  .utp-service-faq-section details > *:not(summary),
  .utp-service-faq-section .wp-block-details > *:not(summary) {
    padding: 0 18px 20px 44px !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

/* =========================================================
   SERVICES PAGE - FINAL CTA
   Compact polished version
========================================================= */

.utp-services-final-cta {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background:
    radial-gradient(circle at 18% 20%, rgba(79, 155, 99, 0.22), transparent 34%),
    radial-gradient(circle at 86% 72%, rgba(79, 155, 99, 0.16), transparent 32%),
    linear-gradient(135deg, #0e3323 0%, #123d29 45%, #0d241a 100%) !important;

  padding: 54px 24px 50px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-services-final-cta * {
  box-sizing: border-box !important;
}

.utp-services-final-cta-inner {
  width: 100% !important;
  max-width: 1050px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-services-final-cta h3 {
  margin: 0 0 14px !important;

  color: rgba(79, 155, 99, 0.85) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
}

/* Main headings */
.utp-services-final-cta h2 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(36px, 4.4vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

.utp-services-final-cta h2 + h2 {
  margin-top: 4px !important;
  color: #ffffff !important;
}

/* IMPORTANT:
   Only highlighted/marked text becomes green.
   Do not target strong, because WordPress may wrap the whole heading in strong.
*/
.utp-services-final-cta h2 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

/* Paragraph */
.utp-services-final-cta p {
  max-width: 680px !important;
  margin: 20px auto 26px !important;

  color: rgba(255, 255, 255, 0.90) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Buttons */
.utp-services-final-cta-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;

  margin-bottom: 0 !important;
}

.utp-services-final-cta-actions .wp-block-button__link {
  min-width: 220px !important;
  padding: 15px 30px !important;

  border-radius: 999px !important;
  background: #4f9b63 !important;
  color: #ffffff !important;

  font-size: 13.5px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-services-final-cta-actions .wp-block-button__link:hover {
  background: #5baa70 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.30) !important;
}

/* Trust row - optional if you add it later */
.utp-services-final-trust {
  width: 100% !important;
  max-width: 900px !important;
  margin: 34px auto 0 !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: center !important;
}

.utp-services-final-trust-item {
  width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;

  color: #ffffff !important;
  text-align: left !important;
}

.utp-services-final-trust-item figure,
.utp-services-final-trust-item .wp-block-image {
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.utp-services-final-trust-item img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.95 !important;
}

.utp-services-final-trust-item p,
.utp-services-final-trust-item h3,
.utp-services-final-trust-item h4,
.utp-services-final-trust-item h5 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
}

/* Tablet */
@media (max-width: 980px) {
  .utp-services-final-trust {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
    gap: 18px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .utp-services-final-cta {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 52px 20px 54px !important;
  }

  .utp-services-final-cta-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-services-final-cta h3 {
    font-size: 13px !important;
    margin-bottom: 14px !important;
  }

  .utp-services-final-cta h2 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .utp-services-final-cta p {
    max-width: 100% !important;
    margin: 20px 0 26px !important;
    font-size: 16.5px !important;
    line-height: 1.55 !important;
  }

  .utp-services-final-cta-actions {
    width: 100% !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .utp-services-final-cta-actions .wp-block-button,
  .utp-services-final-cta-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-services-final-trust {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 34px !important;
  }

  .utp-services-final-trust-item {
    justify-content: flex-start !important;
    gap: 14px !important;
  }
}

/* =========================================================
   SERVICES PAGE - FINAL CTA TABLET FIX
   Fixes trust item text stacking on iPad/tablet widths
========================================================= */

@media (min-width: 769px) and (max-width: 1180px) {

  .utp-services-final-cta {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .utp-services-final-cta-inner {
    max-width: 860px !important;
  }

  .utp-services-final-trust {
    width: 100% !important;
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .utp-services-final-trust-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 16px !important;

    text-align: left !important;
  }

  .utp-services-final-trust-item figure,
  .utp-services-final-trust-item .wp-block-image {
    width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
  }

  .utp-services-final-trust-item img {
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }

  .utp-services-final-trust-item p,
  .utp-services-final-trust-item h3,
  .utp-services-final-trust-item h4,
  .utp-services-final-trust-item h5 {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;

    font-size: 18px !important;
    line-height: 1.3 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    text-align: left !important;
  }
}

/* =========================================================
   SERVICES PAGE - FINAL CTA HEIGHT FIX
   Makes the cover shorter like homepage final CTA
========================================================= */

.utp-services-final-cta {
  min-height: auto !important;
  height: auto !important;
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

.utp-services-final-cta .wp-block-cover__inner-container {
  min-height: auto !important;
  height: auto !important;
}

.utp-services-final-cta-inner {
  min-height: auto !important;
  height: auto !important;
}

/* Tighten text spacing inside CTA */
.utp-services-final-cta h3 {
  margin-bottom: 12px !important;
}

.utp-services-final-cta h2 {
  line-height: 1.04 !important;
}

.utp-services-final-cta p {
  margin-top: 18px !important;
  margin-bottom: 24px !important;
}

.utp-services-final-cta-actions {
  margin-bottom: 34px !important;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1180px) {
  .utp-services-final-cta {
    min-height: auto !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .utp-services-final-cta {
    min-height: auto !important;
    padding-top: 48px !important;
    padding-bottom: 50px !important;
  }

  .utp-services-final-cta-actions {
    margin-bottom: 28px !important;
  }
}

/* =========================================================
   SERVICE AREA PAGE - HERO
========================================================= */

.utp-area-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  min-height: 520px !important;
  padding: 86px 24px 78px !important;

  display: flex !important;
  align-items: center !important;

  overflow: hidden !important;
  box-sizing: border-box !important;

  background-position: center center !important;
  background-size: cover !important;
}

.utp-area-hero::before {
  background: rgba(7, 15, 12, 0.68) !important;
}

.utp-area-hero .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.utp-area-hero-inner {
  width: 100% !important;
  max-width: 680px !important;
  margin-left: 0 !important;
  margin-right: auto !important;

  align-items: flex-start !important;
  text-align: left !important;
}

/* Small eyebrow */
.utp-area-hero h4 {
  margin: 0 0 14px !important;

  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
}

/* Main hero heading */
.utp-area-hero h1 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(52px, 5.6vw, 76px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
  max-width: 760px !important;
}

/* Only marked/colored text should turn green */
.utp-area-hero h1 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

.utp-area-hero h1 strong {
  color: inherit !important;
}

/* Paragraph */
.utp-area-hero p {
  max-width: 650px !important;
  margin: 26px 0 30px !important;

  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 21px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

/* Buttons */
.utp-area-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: center !important;

  margin-top: 0 !important;
}

.utp-area-hero-actions .wp-block-button__link {
  min-width: 240px !important;
  padding: 17px 30px !important;

  border-radius: 999px !important;
  background: #145436 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-area-hero-actions .wp-block-button__link:hover {
  background: #4f9b63 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.30) !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-area-hero {
    min-height: 500px !important;
    padding: 78px 24px 72px !important;
  }

  .utp-area-hero-inner {
    max-width: 660px !important;
  }

  .utp-area-hero h1 {
    font-size: clamp(48px, 7vw, 66px) !important;
  }

  .utp-area-hero p {
    font-size: 20px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-area-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    min-height: auto !important;
    padding: 64px 20px 60px !important;

    align-items: center !important;
    background-position: center center !important;
  }

  .utp-area-hero .wp-block-cover__inner-container {
    max-width: 100% !important;
  }

  .utp-area-hero-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .utp-area-hero h4 {
    font-size: 16px !important;
    margin-bottom: 14px !important;
  }

  .utp-area-hero h1 {
    font-size: clamp(42px, 11.5vw, 58px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    max-width: 100% !important;
  }

  .utp-area-hero p {
    max-width: 100% !important;
    margin: 24px 0 28px !important;

    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .utp-area-hero-actions {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .utp-area-hero-actions .wp-block-button,
  .utp-area-hero-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-area-hero-actions .wp-block-button__link {
    min-width: 0 !important;
    padding: 16px 24px !important;
  }
}

/* =========================================================
   SERVICE AREA PAGE - SOUTH FLORIDA SERVICE COVERAGE
========================================================= */

.utp-area-coverage-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 78px 24px 84px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-area-coverage-section * {
  box-sizing: border-box !important;
}

/* Main two-column layout */
.utp-area-coverage-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

/* Left content */
.utp-area-coverage-content {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.utp-area-coverage-content h1,
.utp-area-coverage-content h2 {
  margin: 0 0 24px !important;

  color: #111514 !important;
  font-size: clamp(44px, 4.6vw, 64px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

.utp-area-coverage-content p {
  max-width: 520px !important;
  margin: 0 0 22px !important;

  color: #26302b !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

/* Coverage button */
.utp-area-coverage-actions {
  margin-top: 28px !important;
}

.utp-area-coverage-actions .wp-block-button__link {
  min-width: 230px !important;
  padding: 16px 30px !important;

  border-radius: 999px !important;
  background: #4f9b63 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 12px 28px rgba(17, 21, 20, 0.16) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-area-coverage-actions .wp-block-button__link:hover {
  background: #145436 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(17, 21, 20, 0.22) !important;
}

/* Right map card column */
.utp-area-map-card-column {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Right card */
.utp-area-map-card {
  width: 100% !important;
  max-width: 100% !important;
  min-height: auto !important;

  padding: 44px 46px !important;

  border-radius: 30px !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  box-shadow: 0 20px 54px rgba(17, 21, 20, 0.10) !important;

  overflow: hidden !important;
}

.utp-area-map-card::before {
  opacity: 0.08 !important;
}

.utp-area-map-card .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: 100% !important;
}

/* Map card text */
.utp-area-map-card h4 {
  margin: 0 0 18px !important;

  color: #111514 !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
}

.utp-area-map-card p {
  margin: 0 0 22px !important;

  color: #26302b !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

/* City grid inside map card */
.utp-area-map-city-grid {
  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 34px !important;

  margin-top: 22px !important;
}

.utp-area-map-city-grid p {
  margin: 0 !important;

  color: #111514 !important;
  font-size: 19px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-area-coverage-section {
    padding: 66px 24px 72px !important;
  }

  .utp-area-coverage-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    max-width: 760px !important;
  }

  .utp-area-coverage-content h1,
  .utp-area-coverage-content h2 {
    font-size: clamp(42px, 7vw, 58px) !important;
  }

  .utp-area-coverage-content p {
    max-width: 100% !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-area-coverage-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 56px 20px 64px !important;
  }

  .utp-area-coverage-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .utp-area-coverage-content h1,
  .utp-area-coverage-content h2 {
    font-size: clamp(38px, 11vw, 54px) !important;
    line-height: 1.08 !important;
    margin-bottom: 22px !important;
  }

  .utp-area-coverage-content p {
    font-size: 17px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }

  .utp-area-coverage-actions,
  .utp-area-coverage-actions .wp-block-button,
  .utp-area-coverage-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-area-map-card {
    padding: 32px 24px !important;
    border-radius: 26px !important;
  }

  .utp-area-map-card h4 {
    font-size: 23px !important;
    line-height: 1.16 !important;
  }

  .utp-area-map-card p {
    font-size: 16.5px !important;
    line-height: 1.5 !important;
  }

  .utp-area-map-city-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .utp-area-map-city-grid p {
    font-size: 18px !important;
  }
}

/* =========================================================
   SERVICE AREA PAGE - OUR MAIN COUNTIES
========================================================= */

.utp-area-counties-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 18px 24px 84px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-area-counties-section * {
  box-sizing: border-box !important;
}

/* Section heading */
.utp-area-counties-section > h3,
.utp-area-counties-section h3:first-child {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 34px !important;

  color: #111514 !important;
  font-size: clamp(34px, 3.8vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  text-align: center !important;
}

/* Three county cards */
.utp-area-counties-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.utp-area-county-card {
  width: 100% !important;
  min-width: 0 !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 26px !important;
  padding: 32px 28px 34px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  display: flex !important;
  flex-direction: column !important;
}

/* County title */
.utp-area-county-card h3,
.utp-area-county-card h4 {
  margin: 0 0 14px !important;

  color: #1e5a3a !important;
  font-size: 25px !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* County paragraph */
.utp-area-county-card p {
  margin: 0 0 22px !important;

  color: #4e5a55 !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
}

/* Zip grid */
.utp-area-zip-grid {
  width: 100% !important;
  margin-top: auto !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

/* Zip pills */
.utp-area-zip-grid p,
.utp-area-zip-pill {
  margin: 0 !important;
  padding: 9px 12px !important;

  background: rgba(30, 90, 58, 0.075) !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 999px !important;

  color: #1e5a3a !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center !important;

  white-space: nowrap !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-area-counties-section {
    padding: 14px 24px 72px !important;
  }

  .utp-area-counties-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .utp-area-county-card {
    padding: 30px 28px 32px !important;
  }

  .utp-area-zip-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-area-counties-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 8px 20px 64px !important;
  }

  .utp-area-counties-section > h3,
  .utp-area-counties-section h3:first-child {
    max-width: 100% !important;
    margin-bottom: 28px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
    text-align: left !important;
  }

  .utp-area-counties-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-area-county-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-area-county-card h3,
  .utp-area-county-card h4 {
    font-size: 25px !important;
  }

  .utp-area-county-card p {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }

  .utp-area-zip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .utp-area-zip-grid p,
  .utp-area-zip-pill {
    font-size: 13.5px !important;
    padding: 9px 10px !important;
  }
}

/* =========================================================
   SERVICE AREA PAGE - CITIES WE COMMONLY SERVE
========================================================= */

.utp-area-cities-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 10px 24px 86px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-area-cities-section * {
  box-sizing: border-box !important;
}

/* Section title */
.utp-area-cities-section > h3 {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 30px !important;

  color: #111514 !important;
  font-size: clamp(34px, 3.8vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
}

/* Main city + card layout */
.utp-area-cities-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.55fr) !important;
  gap: 32px !important;
  align-items: stretch !important;
}

.utp-area-cities-list,
.utp-area-check-column {
  width: 100% !important;
  min-width: 0 !important;
}

/* City pill grid */
.utp-area-city-grid {
  width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* City pills */
.utp-area-city-grid p,
.utp-area-city-pill {
  margin: 0 !important;
  padding: 12px 14px !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 999px !important;

  color: #1e5a3a !important;
  font-size: 14.5px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center !important;

  box-shadow: 0 8px 22px rgba(17, 21, 20, 0.045) !important;

  white-space: nowrap !important;
}

/* Availability card */
.utp-area-check-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 26px !important;
  padding: 32px 28px 34px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Heading media/text */
.utp-area-check-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 64px !important;
  gap: 18px !important;
  align-items: center !important;

  margin-bottom: 22px !important;
}
.utp-area-check-heading .wp-block-media-text__content {
  grid-column: 1 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

.utp-area-check-heading .wp-block-media-text__media {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.utp-area-check-heading figure,
.utp-area-check-heading .wp-block-media-text__media,
.utp-area-check-heading .wp-block-image {
  width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  max-height: 64px !important;
  margin: 0 !important;
}

.utp-area-check-heading img {
  width: 58px !important;
  max-width: 58px !important;
  height: 58px !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

.utp-area-check-heading .wp-block-media-text__content {
  padding: 0 !important;
}

/* Availability heading text */
.utp-area-check-heading h3,
.utp-area-check-heading h4,
.utp-area-check-heading p:first-child {
  margin: 0 !important;

  color: #1e5a3a !important;
  font-size: 24px !important;
  line-height: 1.16 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Card paragraph */
.utp-area-check-card > p,
.utp-area-check-card .wp-block-stack > p {
  margin: 0 0 24px !important;

  color: #4e5a55 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Availability buttons */
.utp-area-check-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: auto !important;
}

.utp-area-check-actions .wp-block-button__link {
  padding: 14px 22px !important;

  border-radius: 999px !important;
  background: #1e5a3a !important;
  color: #ffffff !important;

  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 12px 26px rgba(17, 21, 20, 0.14) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-area-check-actions .wp-block-button__link:hover {
  background: #4f9b63 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(17, 21, 20, 0.22) !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-area-cities-section {
    padding: 8px 24px 74px !important;
  }

  .utp-area-cities-section > h3 {
    max-width: 760px !important;
  }

  .utp-area-cities-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .utp-area-city-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .utp-area-check-card {
    justify-content: flex-start !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-area-cities-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 6px 20px 66px !important;
  }

  .utp-area-cities-section > h3 {
    max-width: 100% !important;
    margin-bottom: 26px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-area-cities-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .utp-area-city-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .utp-area-city-grid p,
  .utp-area-city-pill {
    padding: 11px 10px !important;
    font-size: 13.5px !important;
    white-space: normal !important;
  }

  .utp-area-check-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-area-check-heading {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .utp-area-check-heading figure,
  .utp-area-check-heading .wp-block-media-text__media,
  .utp-area-check-heading .wp-block-image {
    width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    max-height: 56px !important;
  }

  .utp-area-check-heading img {
    width: 50px !important;
    max-width: 50px !important;
    height: 50px !important;
    max-height: 50px !important;
  }

  .utp-area-check-heading h3,
  .utp-area-check-heading h4,
  .utp-area-check-heading p:first-child {
    font-size: 23px !important;
    line-height: 1.12 !important;
  }

  .utp-area-check-card > p,
  .utp-area-check-card .wp-block-stack > p {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }

  .utp-area-check-actions {
    width: 100% !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .utp-area-check-actions .wp-block-button,
  .utp-area-check-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   SERVICE AREA PAGE - FINAL CTA
========================================================= */

.utp-area-final-cta {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background:
    radial-gradient(circle at 20% 20%, rgba(79, 155, 99, 0.24), transparent 34%),
    radial-gradient(circle at 85% 70%, rgba(79, 155, 99, 0.18), transparent 32%),
    linear-gradient(135deg, #0e3323 0%, #123d29 45%, #0d241a 100%) !important;

  padding: 58px 24px 56px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-area-final-cta * {
  box-sizing: border-box !important;
}

.utp-area-final-cta-inner {
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-area-final-cta h3 {
  margin: 0 0 14px !important;

  color: rgba(79, 155, 99, 0.88) !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

/* Main headings */
.utp-area-final-cta h2 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

.utp-area-final-cta h2 + h2 {
  margin-top: 8px !important;
}

/* Only selected/marked text turns green */
.utp-area-final-cta h2 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

.utp-area-final-cta h2 strong {
  color: inherit !important;
}

/* Paragraph */
.utp-area-final-cta p {
  max-width: 760px !important;
  margin: 22px auto 34px !important;

  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* Trust row */
.utp-area-final-trust {
  width: 100% !important;
  max-width: 940px !important;
  margin: 0 auto 38px !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: center !important;
}

.utp-area-final-trust-item {
  width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;

  text-align: left !important;
  color: #ffffff !important;
}

.utp-area-final-trust-item figure,
.utp-area-final-trust-item .wp-block-image,
.utp-area-final-trust-item .wp-block-media-text__media {
  width: 60px !important;
  max-width: 60px !important;
  height: 60px !important;
  max-height: 60px !important;
  margin: 0 !important;
}

.utp-area-final-trust-item img {
  width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  max-height: 56px !important;

  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.95 !important;
}

.utp-area-final-trust-item .wp-block-media-text__content {
  padding: 0 !important;
}

.utp-area-final-trust-item p,
.utp-area-final-trust-item h3,
.utp-area-final-trust-item h4,
.utp-area-final-trust-item h5 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.32 !important;
  font-weight: 750 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* CTA buttons */
.utp-area-final-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.utp-area-final-actions .wp-block-button__link {
  min-width: 230px !important;
  padding: 16px 30px !important;

  border-radius: 999px !important;
  background: #4f9b63 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-area-final-actions .wp-block-button__link:hover {
  background: #5baa70 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.30) !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-area-final-cta {
    padding: 54px 24px 54px !important;
  }

  .utp-area-final-cta-inner {
    max-width: 760px !important;
  }

  .utp-area-final-trust {
    max-width: 620px !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .utp-area-final-trust-item {
    justify-content: flex-start !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-area-final-cta {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 50px 20px 52px !important;
  }

  .utp-area-final-cta-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-area-final-cta h3 {
    font-size: 14px !important;
    margin-bottom: 14px !important;
  }

  .utp-area-final-cta h2 {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.08 !important;
  }

  .utp-area-final-cta p {
    max-width: 100% !important;
    margin: 22px 0 30px !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .utp-area-final-trust {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 34px !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .utp-area-final-trust-item {
    justify-content: flex-start !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .utp-area-final-trust-item figure,
  .utp-area-final-trust-item .wp-block-image,
  .utp-area-final-trust-item .wp-block-media-text__media {
    width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
  }

  .utp-area-final-trust-item img {
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
  }

  .utp-area-final-trust-item p,
  .utp-area-final-trust-item h3,
  .utp-area-final-trust-item h4,
  .utp-area-final-trust-item h5 {
    font-size: 17px !important;
    line-height: 1.32 !important;
  }

  .utp-area-final-actions {
    width: 100% !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .utp-area-final-actions .wp-block-button,
  .utp-area-final-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-area-final-actions .wp-block-button__link {
    min-width: 0 !important;
  }
}

/* =========================================================
   CONTACT PAGE - HERO
========================================================= */

.utp-contact-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  min-height: 520px !important;
  padding: 86px 24px 78px !important;

  display: flex !important;
  align-items: center !important;

  overflow: hidden !important;
  box-sizing: border-box !important;

  background-position: center center !important;
  background-size: cover !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-contact-hero::before {
  background: rgba(7, 15, 12, 0.70) !important;
}

.utp-contact-hero .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.utp-contact-hero-inner {
  width: 100% !important;
  max-width: 680px !important;
  margin-left: 0 !important;
  margin-right: auto !important;

  align-items: flex-start !important;
  text-align: left !important;
}

/* Small label */
.utp-contact-hero h4 {
  margin: 0 0 14px !important;

  color: #4f9b63 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-contact-hero h1 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(54px, 5.8vw, 78px) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.05em !important;
  font-weight: 900 !important;
  max-width: 760px !important;
}

/* Only marked/colored text turns green */
.utp-contact-hero h1 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

.utp-contact-hero h1 strong {
  color: inherit !important;
}

/* Paragraph */
.utp-contact-hero p {
  max-width: 650px !important;
  margin: 26px 0 30px !important;

  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 21px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

/* Buttons */
.utp-contact-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: center !important;

  margin-top: 0 !important;
}

.utp-contact-hero-actions .wp-block-button__link {
  min-width: 230px !important;
  padding: 17px 30px !important;

  border-radius: 999px !important;
  background: #145436 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-contact-hero-actions .wp-block-button__link:hover {
  background: #4f9b63 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.30) !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-contact-hero {
    min-height: 500px !important;
    padding: 78px 24px 72px !important;
  }

  .utp-contact-hero-inner {
    max-width: 660px !important;
  }

  .utp-contact-hero h1 {
    font-size: clamp(48px, 7vw, 66px) !important;
  }

  .utp-contact-hero p {
    font-size: 20px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-contact-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    min-height: auto !important;
    padding: 64px 20px 60px !important;

    align-items: center !important;
    background-position: center center !important;
  }

  .utp-contact-hero .wp-block-cover__inner-container {
    max-width: 100% !important;
  }

  .utp-contact-hero-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .utp-contact-hero h4 {
    font-size: 15px !important;
    margin-bottom: 14px !important;
  }

  .utp-contact-hero h1 {
    font-size: clamp(42px, 11.5vw, 58px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    max-width: 100% !important;
  }

  .utp-contact-hero p {
    max-width: 100% !important;
    margin: 24px 0 28px !important;

    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .utp-contact-hero-actions {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .utp-contact-hero-actions .wp-block-button,
  .utp-contact-hero-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-contact-hero-actions .wp-block-button__link {
    min-width: 0 !important;
    padding: 16px 24px !important;
  }
}

/* =========================================================
   CONTACT PAGE - CONTACT OPTIONS
========================================================= */

.utp-contact-options-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 72px 24px 78px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-contact-options-section * {
  box-sizing: border-box !important;
}

/* Inner container */
.utp-contact-options-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-contact-options-inner h4 {
  margin: 0 0 12px !important;

  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-contact-options-inner h2 {
  max-width: 780px !important;
  margin: 0 auto 44px !important;

  color: #111514 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

/* Options grid */
.utp-contact-options-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

/* Individual contact cards */
.utp-contact-option-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 26px !important;
  padding: 34px 30px 36px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;

  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

.utp-contact-option-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(30, 90, 58, 0.26) !important;
  box-shadow: 0 26px 68px rgba(17, 21, 20, 0.13) !important;
}

/* Icons */
.utp-contact-option-card .wp-block-image,
.utp-contact-option-card figure {
  width: 72px !important;
  height: 72px !important;
  margin: 0 0 24px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(30, 90, 58, 0.08) !important;
  border-radius: 18px !important;
}

.utp-contact-option-card img {
  width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  max-height: 46px !important;
  object-fit: contain !important;
}

/* Card title */
.utp-contact-option-card h3 {
  margin: 0 0 12px !important;

  color: #1e5a3a !important;
  font-size: 25px !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Highlight line: phone/email/area */
.utp-contact-option-card p:first-of-type {
  margin: 0 0 14px !important;

  color: #111514 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;

  overflow-wrap: anywhere !important;
}

/* Description */
.utp-contact-option-card p:last-of-type {
  margin: 0 !important;

  color: #4e5a55 !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-contact-options-section {
    padding: 66px 24px 72px !important;
  }

  .utp-contact-options-inner {
    max-width: 760px !important;
  }

  .utp-contact-options-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-contact-option-card {
    padding: 32px 30px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-contact-options-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 58px 20px 66px !important;
  }

  .utp-contact-options-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-contact-options-inner h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-contact-options-inner h2 {
    max-width: 100% !important;
    margin: 0 0 32px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-contact-options-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-contact-option-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-contact-option-card .wp-block-image,
  .utp-contact-option-card figure {
    width: 68px !important;
    height: 68px !important;
    margin-bottom: 22px !important;
    border-radius: 16px !important;
  }

  .utp-contact-option-card img {
    width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
  }

  .utp-contact-option-card h3 {
    font-size: 26px !important;
  }

  .utp-contact-option-card p:first-of-type {
    font-size: 16.5px !important;
  }

  .utp-contact-option-card p:last-of-type {
    font-size: 15.5px !important;
  }
}

/* =========================================================
   CONTACT PAGE - QUOTE REQUEST
========================================================= */

.utp-contact-quote-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 18px 24px 84px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
  scroll-margin-top: 90px !important;
}

.utp-contact-quote-section * {
  box-sizing: border-box !important;
}

/* Main two-column layout */
.utp-contact-quote-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

/* Columns */
.utp-contact-form-column,
.utp-contact-checklist-column {
  width: 100% !important;
  min-width: 0 !important;
}

/* Left form card */
.utp-contact-form-card {
  width: 100% !important;
  min-width: 0 !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 28px !important;
  padding: 38px 36px 40px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;
}

/* Small label */
.utp-contact-form-card h4 {
  margin: 0 0 12px !important;

  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-contact-form-card h2 {
  margin: 0 0 18px !important;

  color: #111514 !important;
  font-size: clamp(34px, 3.5vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

/* Intro paragraph */
.utp-contact-form-card > p {
  max-width: 760px !important;
  margin: 0 0 30px !important;

  color: #4e5a55 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

/* Form wrapper */
.utp-contact-form-card form,
.utp-contact-form-card .wp-block-jetpack-contact-form,
.utp-contact-form-card .contact-form,
.utp-contact-form-card .wp-block-contact-form-7-contact-form-selector,
.utp-contact-form-card .wpcf7 {
  width: 100% !important;
  max-width: 100% !important;
}

/* Form labels */
.utp-contact-form-card label,
.utp-contact-form-card .grunion-field-label,
.utp-contact-form-card .wp-block-jetpack-field-label {
  color: #26302b !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

/* Form fields */
.utp-contact-form-card input,
.utp-contact-form-card textarea,
.utp-contact-form-card select {
  width: 100% !important;
  max-width: 100% !important;

  border: 1px solid rgba(30, 90, 58, 0.18) !important;
  border-radius: 14px !important;
  background: #f7f7f2 !important;
  color: #111514 !important;

  padding: 14px 16px !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.4 !important;

  box-shadow: none !important;
}

.utp-contact-form-card textarea {
  min-height: 150px !important;
  resize: vertical !important;
}

.utp-contact-form-card input:focus,
.utp-contact-form-card textarea:focus,
.utp-contact-form-card select:focus {
  outline: none !important;
  border-color: rgba(30, 90, 58, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(30, 90, 58, 0.12) !important;
}

/* Form field spacing */
.utp-contact-form-card .wp-block-jetpack-field,
.utp-contact-form-card .grunion-field-wrap,
.utp-contact-form-card p {
  margin-bottom: 18px !important;
}

/* Submit button */
.utp-contact-form-card button,
.utp-contact-form-card input[type="submit"],
.utp-contact-form-card .wp-block-button__link {
  min-width: 220px !important;
  padding: 16px 30px !important;

  border: none !important;
  border-radius: 999px !important;
  background: #1e5a3a !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 12px 28px rgba(17, 21, 20, 0.16) !important;
  cursor: pointer !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-contact-form-card button:hover,
.utp-contact-form-card input[type="submit"]:hover,
.utp-contact-form-card .wp-block-button__link:hover {
  background: #4f9b63 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(17, 21, 20, 0.22) !important;
}

/* Right checklist card */
.utp-contact-checklist-card {
  width: 100% !important;
  min-width: 0 !important;

  background:
    radial-gradient(circle at 85% 15%, rgba(79, 155, 99, 0.12), transparent 34%),
    #ffffff !important;

  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 28px !important;
  padding: 34px 32px 36px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  position: sticky !important;
  top: 24px !important;
}

/* Checklist heading */
.utp-contact-checklist-card h3 {
  margin: 0 0 24px !important;

  color: #1e5a3a !important;
  font-size: 30px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Checklist list */
.utp-contact-checklist-card ul,
.utp-contact-checklist-card .wp-block-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: grid !important;
  gap: 14px !important;
}

.utp-contact-checklist-card li {
  position: relative !important;
  padding-left: 28px !important;

  color: #26302b !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  font-weight: 550 !important;
}

.utp-contact-checklist-card li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;

  color: #1e5a3a !important;
  font-weight: 900 !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-contact-quote-section {
    padding: 14px 24px 72px !important;
  }

  .utp-contact-quote-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .utp-contact-checklist-card {
    position: static !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-contact-quote-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 8px 20px 66px !important;
  }

  .utp-contact-quote-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .utp-contact-form-card,
  .utp-contact-checklist-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-contact-form-card h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-contact-form-card h2 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-contact-form-card > p {
    font-size: 16.5px !important;
    line-height: 1.58 !important;
    margin-bottom: 26px !important;
  }

  .utp-contact-form-card input,
  .utp-contact-form-card textarea,
  .utp-contact-form-card select {
    font-size: 15.5px !important;
    padding: 14px 15px !important;
  }

  .utp-contact-form-card button,
  .utp-contact-form-card input[type="submit"],
  .utp-contact-form-card .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .utp-contact-checklist-card h3 {
    font-size: 28px !important;
    margin-bottom: 22px !important;
  }

  .utp-contact-checklist-card li {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }
}

/* =========================================================
   CONTACT PAGE - WHAT HAPPENS NEXT
========================================================= */

.utp-contact-process-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 14px 24px 86px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-contact-process-section * {
  box-sizing: border-box !important;
}

/* Inner container */
.utp-contact-process-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-contact-process-inner h4 {
  margin: 0 0 12px !important;

  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-contact-process-inner h2 {
  max-width: 820px !important;
  margin: 0 auto 44px !important;

  color: #111514 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

/* Process grid */
.utp-contact-process-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

/* Process cards */
.utp-contact-process-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 26px !important;
  padding: 34px 30px 36px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  text-align: left !important;
  align-items: flex-start !important;

  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

.utp-contact-process-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(30, 90, 58, 0.26) !important;
  box-shadow: 0 26px 68px rgba(17, 21, 20, 0.13) !important;
}

/* Number */
.utp-contact-process-card p:first-child {
  width: 54px !important;
  height: 54px !important;
  margin: 0 0 24px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(30, 90, 58, 0.08) !important;
  border-radius: 16px !important;

  color: #1e5a3a !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
}

/* Card title */
.utp-contact-process-card h3 {
  margin: 0 0 14px !important;

  color: #1e5a3a !important;
  font-size: 25px !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Card body */
.utp-contact-process-card p:last-child {
  margin: 0 !important;

  color: #4e5a55 !important;
  font-size: 15.5px !important;
  line-height: 1.58 !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-contact-process-section {
    padding: 10px 24px 74px !important;
  }

  .utp-contact-process-inner {
    max-width: 760px !important;
  }

  .utp-contact-process-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-contact-process-card {
    padding: 32px 30px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-contact-process-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 8px 20px 66px !important;
  }

  .utp-contact-process-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-contact-process-inner h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-contact-process-inner h2 {
    max-width: 100% !important;
    margin: 0 0 32px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-contact-process-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-contact-process-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-contact-process-card p:first-child {
    width: 52px !important;
    height: 52px !important;
    margin-bottom: 22px !important;
  }

  .utp-contact-process-card h3 {
    font-size: 25px !important;
  }

  .utp-contact-process-card p:last-child {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }
}

/* =========================================================
   CONTACT PAGE - FINAL CTA
========================================================= */

.utp-contact-final-cta {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background:
    radial-gradient(circle at 20% 20%, rgba(79, 155, 99, 0.24), transparent 34%),
    radial-gradient(circle at 85% 70%, rgba(79, 155, 99, 0.18), transparent 32%),
    linear-gradient(135deg, #0e3323 0%, #123d29 45%, #0d241a 100%) !important;

  padding: 58px 24px 56px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-contact-final-cta * {
  box-sizing: border-box !important;
}

.utp-contact-final-cta::before {
  background: rgba(5, 16, 11, 0.18) !important;
}

/* Inner container */
.utp-contact-final-cta .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.utp-contact-final-cta-inner {
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-contact-final-cta h3 {
  margin: 0 0 14px !important;

  color: rgba(79, 155, 99, 0.88) !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

/* Main headings */
.utp-contact-final-cta h2 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

.utp-contact-final-cta h2 + h2 {
  margin-top: 8px !important;
}

/* Only marked text turns green */
.utp-contact-final-cta h2 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

.utp-contact-final-cta h2 strong {
  color: inherit !important;
}

/* Paragraph */
.utp-contact-final-cta p {
  max-width: 760px !important;
  margin: 22px auto 34px !important;

  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* Trust row */
.utp-contact-final-trust {
  width: 100% !important;
  max-width: 940px !important;
  margin: 0 auto 38px !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: center !important;
}

.utp-contact-final-trust-item {
  width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;

  text-align: left !important;
  color: #ffffff !important;
}

/* Trust item icons */
.utp-contact-final-trust-item figure,
.utp-contact-final-trust-item .wp-block-image,
.utp-contact-final-trust-item .wp-block-media-text__media {
  width: 60px !important;
  max-width: 60px !important;
  height: 60px !important;
  max-height: 60px !important;
  margin: 0 !important;
}

.utp-contact-final-trust-item img {
  width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  max-height: 56px !important;

  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.95 !important;
}

.utp-contact-final-trust-item .wp-block-media-text__content {
  padding: 0 !important;
}

/* Trust item text */
.utp-contact-final-trust-item p,
.utp-contact-final-trust-item h3,
.utp-contact-final-trust-item h4,
.utp-contact-final-trust-item h5 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.32 !important;
  font-weight: 750 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* CTA buttons */
.utp-contact-final-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.utp-contact-final-actions .wp-block-button__link {
  min-width: 230px !important;
  padding: 16px 30px !important;

  border-radius: 999px !important;
  background: #4f9b63 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-contact-final-actions .wp-block-button__link:hover {
  background: #5baa70 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.30) !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-contact-final-cta {
    padding: 54px 24px 54px !important;
  }

  .utp-contact-final-cta .wp-block-cover__inner-container,
  .utp-contact-final-cta-inner {
    max-width: 760px !important;
  }

  .utp-contact-final-trust {
    max-width: 620px !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .utp-contact-final-trust-item {
    justify-content: flex-start !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-contact-final-cta {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 50px 20px 52px !important;
  }

  .utp-contact-final-cta .wp-block-cover__inner-container,
  .utp-contact-final-cta-inner {
    max-width: 100% !important;
  }

  .utp-contact-final-cta-inner {
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-contact-final-cta h3 {
    font-size: 14px !important;
    margin-bottom: 14px !important;
  }

  .utp-contact-final-cta h2 {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.08 !important;
  }

  .utp-contact-final-cta p {
    max-width: 100% !important;
    margin: 22px 0 30px !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .utp-contact-final-trust {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 34px !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .utp-contact-final-trust-item {
    justify-content: flex-start !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .utp-contact-final-trust-item figure,
  .utp-contact-final-trust-item .wp-block-image,
  .utp-contact-final-trust-item .wp-block-media-text__media {
    width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
  }

  .utp-contact-final-trust-item img {
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
  }

  .utp-contact-final-trust-item p,
  .utp-contact-final-trust-item h3,
  .utp-contact-final-trust-item h4,
  .utp-contact-final-trust-item h5 {
    font-size: 17px !important;
    line-height: 1.32 !important;
  }

  .utp-contact-final-actions {
    width: 100% !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .utp-contact-final-actions .wp-block-button,
  .utp-contact-final-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-contact-final-actions .wp-block-button__link {
    min-width: 0 !important;
  }
}

/* =========================================================
   ABOUT PAGE - HERO
========================================================= */

.utp-about-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  min-height: 520px !important;
  padding: 86px 24px 78px !important;

  display: flex !important;
  align-items: center !important;

  overflow: hidden !important;
  box-sizing: border-box !important;

  background-position: center center !important;
  background-size: cover !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-about-hero::before {
  background: rgba(7, 15, 12, 0.70) !important;
}

.utp-about-hero .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.utp-about-hero-inner {
  width: 100% !important;
  max-width: 720px !important;
  margin-left: 0 !important;
  margin-right: auto !important;

  align-items: flex-start !important;
  text-align: left !important;
}

/* Small label */
.utp-about-hero h4 {
  margin: 0 0 14px !important;

  color: #4f9b63 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-about-hero h1 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(54px, 5.8vw, 78px) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.05em !important;
  font-weight: 900 !important;
  max-width: 780px !important;
}

/* Only marked text turns green */
.utp-about-hero h1 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

.utp-about-hero h1 strong {
  color: inherit !important;
}

/* Paragraph */
.utp-about-hero p {
  max-width: 690px !important;
  margin: 26px 0 30px !important;

  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 21px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

/* Buttons */
.utp-about-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: center !important;

  margin-top: 0 !important;
}

.utp-about-hero-actions .wp-block-button__link {
  min-width: 230px !important;
  padding: 17px 30px !important;

  border-radius: 999px !important;
  background: #145436 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-about-hero-actions .wp-block-button__link:hover {
  background: #4f9b63 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.30) !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-about-hero {
    min-height: 500px !important;
    padding: 78px 24px 72px !important;
  }

  .utp-about-hero-inner {
    max-width: 660px !important;
  }

  .utp-about-hero h1 {
    font-size: clamp(48px, 7vw, 66px) !important;
  }

  .utp-about-hero p {
    font-size: 20px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-about-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    min-height: auto !important;
    padding: 64px 20px 60px !important;

    align-items: center !important;
    background-position: center center !important;
  }

  .utp-about-hero .wp-block-cover__inner-container {
    max-width: 100% !important;
  }

  .utp-about-hero-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .utp-about-hero h4 {
    font-size: 15px !important;
    margin-bottom: 14px !important;
  }

  .utp-about-hero h1 {
    font-size: clamp(42px, 11.5vw, 58px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    max-width: 100% !important;
  }

  .utp-about-hero p {
    max-width: 100% !important;
    margin: 24px 0 28px !important;

    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .utp-about-hero-actions {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .utp-about-hero-actions .wp-block-button,
  .utp-about-hero-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-about-hero-actions .wp-block-button__link {
    min-width: 0 !important;
    padding: 16px 24px !important;
  }
}

/* =========================================================
   ABOUT PAGE - WHO WE ARE / STORY
========================================================= */

.utp-about-story-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 78px 24px 84px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-about-story-section * {
  box-sizing: border-box !important;
}

/* Main two-column layout */
.utp-about-story-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr) !important;
  gap: 42px !important;
  align-items: center !important;
}

/* Left side */
.utp-about-story-content,
.utp-about-story-text {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.utp-about-story-text {
  align-items: flex-start !important;
  text-align: left !important;
}

/* Small label */
.utp-about-story-text h4 {
  margin: 0 0 12px !important;

  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-about-story-text h2 {
  max-width: 760px !important;
  margin: 0 0 24px !important;

  color: #111514 !important;
  font-size: clamp(38px, 4.4vw, 62px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

/* Paragraphs */
.utp-about-story-text p {
  max-width: 680px !important;
  margin: 0 0 20px !important;

  color: #4e5a55 !important;
  font-size: 18px !important;
  line-height: 1.62 !important;
  font-weight: 500 !important;
}

/* Button */
.utp-about-story-actions {
  margin-top: 12px !important;
}

.utp-about-story-actions .wp-block-button__link {
  min-width: 210px !important;
  padding: 16px 30px !important;

  border-radius: 999px !important;
  background: #1e5a3a !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 12px 28px rgba(17, 21, 20, 0.16) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-about-story-actions .wp-block-button__link:hover {
  background: #4f9b63 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(17, 21, 20, 0.22) !important;
}

/* Right card */
.utp-about-story-card-column {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.utp-about-story-card {
  width: 100% !important;
  min-width: 0 !important;

  background:
    radial-gradient(circle at 88% 14%, rgba(79, 155, 99, 0.14), transparent 34%),
    #ffffff !important;

  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 28px !important;
  padding: 38px 34px 40px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;
}

/* Card heading */
.utp-about-story-card h3 {
  margin: 0 0 26px !important;

  color: #1e5a3a !important;
  font-size: 30px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Card list */
.utp-about-story-card ul,
.utp-about-story-card .wp-block-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: grid !important;
  gap: 15px !important;
}

.utp-about-story-card li {
  position: relative !important;
  padding-left: 30px !important;

  color: #26302b !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  font-weight: 600 !important;
}

.utp-about-story-card li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;

  color: #1e5a3a !important;
  font-weight: 900 !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-about-story-section {
    padding: 66px 24px 72px !important;
  }

  .utp-about-story-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .utp-about-story-text h2 {
    font-size: clamp(38px, 7vw, 56px) !important;
  }

  .utp-about-story-text p {
    max-width: 100% !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-about-story-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 56px 20px 64px !important;
  }

  .utp-about-story-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .utp-about-story-text h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-about-story-text h2 {
    max-width: 100% !important;
    font-size: clamp(34px, 9.5vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .utp-about-story-text p {
    max-width: 100% !important;
    font-size: 16.5px !important;
    line-height: 1.58 !important;
  }

  .utp-about-story-actions,
  .utp-about-story-actions .wp-block-button,
  .utp-about-story-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-about-story-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-about-story-card h3 {
    font-size: 28px !important;
    margin-bottom: 22px !important;
  }

  .utp-about-story-card li {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }
}

/* =========================================================
   ABOUT PAGE - WHAT WE STAND FOR / VALUES
========================================================= */

.utp-about-values-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background:
    radial-gradient(circle at 16% 18%, rgba(79, 155, 99, 0.20), transparent 34%),
    radial-gradient(circle at 88% 70%, rgba(79, 155, 99, 0.14), transparent 30%),
    linear-gradient(135deg, #0e3323 0%, #123d29 45%, #0d241a 100%) !important;

  padding: 78px 24px 86px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-about-values-section * {
  box-sizing: border-box !important;
}

/* Inner container */
.utp-about-values-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-about-values-inner h4 {
  margin: 0 0 12px !important;

  color: rgba(79, 155, 99, 0.95) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-about-values-inner h2 {
  max-width: 820px !important;
  margin: 0 auto 44px !important;

  color: #ffffff !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

/* Values grid */
.utp-about-values-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

/* Value cards */
.utp-about-value-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 24px !important;
  padding: 30px 24px 32px !important;

  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.16) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;

  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

.utp-about-value-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(79, 155, 99, 0.45) !important;
  box-shadow: 0 26px 68px rgba(0, 0, 0, 0.23) !important;
}

/* Icons */
.utp-about-value-card .wp-block-image,
.utp-about-value-card figure {
  width: 68px !important;
  height: 68px !important;
  margin: 0 0 22px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(30, 90, 58, 0.08) !important;
  border-radius: 18px !important;
}

.utp-about-value-card img {
  width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  max-height: 44px !important;
  object-fit: contain !important;
}

/* Card title */
.utp-about-value-card h3 {
  margin: 0 0 12px !important;

  color: #1e5a3a !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Card text */
.utp-about-value-card p {
  margin: 0 !important;

  color: #4e5a55 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-about-values-section {
    padding: 66px 24px 74px !important;
  }

  .utp-about-values-inner {
    max-width: 760px !important;
  }

  .utp-about-values-grid {
    max-width: 760px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  .utp-about-value-card {
    padding: 30px 26px 32px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-about-values-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 58px 20px 66px !important;
  }

  .utp-about-values-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-about-values-inner h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-about-values-inner h2 {
    max-width: 100% !important;
    margin: 0 0 32px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-about-values-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-about-value-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-about-value-card .wp-block-image,
  .utp-about-value-card figure {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: 20px !important;
    border-radius: 16px !important;
  }

  .utp-about-value-card img {
    width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
  }

  .utp-about-value-card h3 {
    font-size: 24px !important;
  }

  .utp-about-value-card p {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }
}

/* =========================================================
   ABOUT PAGE - RECENT WORK / GALLERY
========================================================= */

.utp-about-gallery-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 78px 24px 86px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-about-gallery-section * {
  box-sizing: border-box !important;
}

/* Inner container */
.utp-about-gallery-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-about-gallery-inner h4 {
  margin: 0 0 12px !important;

  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-about-gallery-inner h2 {
  max-width: 820px !important;
  margin: 0 auto 20px !important;

  color: #111514 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

/* Intro and note paragraphs */
.utp-about-gallery-inner > p {
  max-width: 760px !important;
  margin: 0 auto 34px !important;

  color: #4e5a55 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
}

.utp-about-gallery-inner > p:last-child {
  margin-top: 28px !important;
  margin-bottom: 0 !important;

  color: rgba(78, 90, 85, 0.82) !important;
  font-size: 15.5px !important;
  font-style: italic !important;
}

/* Gallery wrapper - works for Gallery block OR Grid with Images */
.utp-about-work-gallery {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

/* Gallery image containers */
.utp-about-work-gallery figure,
.utp-about-work-gallery .wp-block-image,
.utp-about-work-gallery .wp-block-gallery,
.utp-about-work-gallery > * {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
}

/* Images */
.utp-about-work-gallery img {
  width: 100% !important;
  max-width: 100% !important;
  height: 280px !important;

  object-fit: cover !important;
  display: block !important;

  border-radius: 24px !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.08) !important;

  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease !important;
}

.utp-about-work-gallery img:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 26px 68px rgba(17, 21, 20, 0.14) !important;
  filter: brightness(1.03) !important;
}

/* If Gallery block adds figcaptions */
.utp-about-work-gallery figcaption {
  margin-top: 10px !important;

  color: #1e5a3a !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-align: center !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-about-gallery-section {
    padding: 66px 24px 74px !important;
  }

  .utp-about-gallery-inner {
    max-width: 760px !important;
  }

  .utp-about-work-gallery {
    max-width: 760px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  .utp-about-work-gallery img {
    height: 260px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-about-gallery-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 58px 20px 66px !important;
  }

  .utp-about-gallery-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-about-gallery-inner h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-about-gallery-inner h2 {
    max-width: 100% !important;
    margin: 0 0 20px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-about-gallery-inner > p {
    max-width: 100% !important;
    margin: 0 0 30px !important;

    font-size: 16.5px !important;
    line-height: 1.58 !important;
  }

  .utp-about-gallery-inner > p:last-child {
    margin-top: 24px !important;
    margin-bottom: 0 !important;
  }

  .utp-about-work-gallery {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .utp-about-work-gallery img {
    height: 260px !important;
    border-radius: 22px !important;
  }
}

/* =========================================================
   ABOUT PAGE - HOW WE WORK
========================================================= */

.utp-about-process-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 14px 24px 86px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-about-process-section * {
  box-sizing: border-box !important;
}

/* Inner container */
.utp-about-process-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-about-process-inner h4 {
  margin: 0 0 12px !important;

  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-about-process-inner h2 {
  max-width: 840px !important;
  margin: 0 auto 44px !important;

  color: #111514 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

/* Process grid */
.utp-about-process-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

/* Process cards */
.utp-about-process-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 26px !important;
  padding: 34px 30px 36px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;

  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

.utp-about-process-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(30, 90, 58, 0.26) !important;
  box-shadow: 0 26px 68px rgba(17, 21, 20, 0.13) !important;
}

/* Step number */
.utp-about-process-card p:first-child {
  width: 56px !important;
  height: 56px !important;
  margin: 0 0 24px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(30, 90, 58, 0.08) !important;
  border-radius: 16px !important;

  color: #1e5a3a !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
}

/* Card heading */
.utp-about-process-card h3 {
  margin: 0 0 14px !important;

  color: #1e5a3a !important;
  font-size: 25px !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Card body */
.utp-about-process-card p:last-child {
  margin: 0 !important;

  color: #4e5a55 !important;
  font-size: 15.5px !important;
  line-height: 1.58 !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-about-process-section {
    padding: 10px 24px 74px !important;
  }

  .utp-about-process-inner {
    max-width: 760px !important;
  }

  .utp-about-process-grid {
    max-width: 760px !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-about-process-card {
    padding: 32px 30px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-about-process-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 8px 20px 66px !important;
  }

  .utp-about-process-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-about-process-inner h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-about-process-inner h2 {
    max-width: 100% !important;
    margin: 0 0 32px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-about-process-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-about-process-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-about-process-card p:first-child {
    width: 52px !important;
    height: 52px !important;
    margin-bottom: 22px !important;
  }

  .utp-about-process-card h3 {
    font-size: 25px !important;
  }

  .utp-about-process-card p:last-child {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }
}

/* =========================================================
   ABOUT PAGE - WHO WE HELP
========================================================= */

.utp-about-help-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #f7f7f2 !important;
  padding: 14px 24px 86px !important;

  overflow-x: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-about-help-section * {
  box-sizing: border-box !important;
}

/* Inner container */
.utp-about-help-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-about-help-inner h4 {
  margin: 0 0 12px !important;

  color: #4f9b63 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Main heading */
.utp-about-help-inner h2 {
  max-width: 840px !important;
  margin: 0 auto 44px !important;

  color: #111514 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

/* Help grid */
.utp-about-help-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

/* Help cards */
.utp-about-help-card {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  background: #ffffff !important;
  border: 1px solid rgba(30, 90, 58, 0.10) !important;
  border-radius: 26px !important;
  padding: 32px 24px 34px !important;

  box-shadow: 0 18px 48px rgba(17, 21, 20, 0.075) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;

  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

.utp-about-help-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(30, 90, 58, 0.26) !important;
  box-shadow: 0 26px 68px rgba(17, 21, 20, 0.13) !important;
}

/* Icons */
.utp-about-help-card .wp-block-image,
.utp-about-help-card figure {
  width: 68px !important;
  height: 68px !important;
  margin: 0 0 22px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(30, 90, 58, 0.08) !important;
  border-radius: 18px !important;
}

.utp-about-help-card img {
  width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  max-height: 44px !important;
  object-fit: contain !important;
}

/* Card heading */
.utp-about-help-card h3 {
  margin: 0 0 12px !important;

  color: #1e5a3a !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
}

/* Card text */
.utp-about-help-card p {
  margin: 0 !important;

  color: #4e5a55 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-about-help-section {
    padding: 10px 24px 74px !important;
  }

  .utp-about-help-inner {
    max-width: 760px !important;
  }

  .utp-about-help-grid {
    max-width: 760px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  .utp-about-help-card {
    padding: 30px 26px 32px !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-about-help-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 8px 20px 66px !important;
  }

  .utp-about-help-inner {
    max-width: 100% !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-about-help-inner h4 {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }

  .utp-about-help-inner h2 {
    max-width: 100% !important;
    margin: 0 0 32px !important;

    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .utp-about-help-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .utp-about-help-card {
    padding: 30px 24px 32px !important;
    border-radius: 24px !important;
  }

  .utp-about-help-card .wp-block-image,
  .utp-about-help-card figure {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: 20px !important;
    border-radius: 16px !important;
  }

  .utp-about-help-card img {
    width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
  }

  .utp-about-help-card h3 {
    font-size: 24px !important;
  }

  .utp-about-help-card p {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }
}

/* =========================================================
   ABOUT PAGE - FINAL CTA
========================================================= */

.utp-about-final-cta {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background:
    radial-gradient(circle at 20% 20%, rgba(79, 155, 99, 0.24), transparent 34%),
    radial-gradient(circle at 85% 70%, rgba(79, 155, 99, 0.18), transparent 32%),
    linear-gradient(135deg, #0e3323 0%, #123d29 45%, #0d241a 100%) !important;

  padding: 58px 24px 56px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.utp-about-final-cta * {
  box-sizing: border-box !important;
}

.utp-about-final-cta::before {
  background: rgba(5, 16, 11, 0.18) !important;
}

/* Inner container */
.utp-about-final-cta .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.utp-about-final-cta-inner {
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  align-items: center !important;
}

/* Small label */
.utp-about-final-cta h3 {
  margin: 0 0 14px !important;

  color: rgba(79, 155, 99, 0.88) !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

/* Main headings */
.utp-about-final-cta h2 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

.utp-about-final-cta h2 + h2 {
  margin-top: 8px !important;
}

/* Only marked text turns green */
.utp-about-final-cta h2 mark {
  background: transparent !important;
  color: #4f9b63 !important;
}

.utp-about-final-cta h2 strong {
  color: inherit !important;
}

/* Paragraph */
.utp-about-final-cta p {
  max-width: 760px !important;
  margin: 22px auto 34px !important;

  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* Trust row */
.utp-about-final-trust {
  width: 100% !important;
  max-width: 940px !important;
  margin: 0 auto 38px !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: center !important;
}

.utp-about-final-trust-item {
  width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;

  text-align: left !important;
  color: #ffffff !important;
}

/* Trust item icons */
.utp-about-final-trust-item figure,
.utp-about-final-trust-item .wp-block-image,
.utp-about-final-trust-item .wp-block-media-text__media {
  width: 60px !important;
  max-width: 60px !important;
  height: 60px !important;
  max-height: 60px !important;
  margin: 0 !important;
}

.utp-about-final-trust-item img {
  width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  max-height: 56px !important;

  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.95 !important;
}

.utp-about-final-trust-item .wp-block-media-text__content {
  padding: 0 !important;
}

/* Trust item text */
.utp-about-final-trust-item p,
.utp-about-final-trust-item h3,
.utp-about-final-trust-item h4,
.utp-about-final-trust-item h5 {
  margin: 0 !important;

  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.32 !important;
  font-weight: 750 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* CTA buttons */
.utp-about-final-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.utp-about-final-actions .wp-block-button__link {
  min-width: 230px !important;
  padding: 16px 30px !important;

  border-radius: 999px !important;
  background: #4f9b63 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22) !important;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.utp-about-final-actions .wp-block-button__link:hover {
  background: #5baa70 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.30) !important;
}


/* Tablet */
@media (max-width: 980px) {
  .utp-about-final-cta {
    padding: 54px 24px 54px !important;
  }

  .utp-about-final-cta .wp-block-cover__inner-container,
  .utp-about-final-cta-inner {
    max-width: 760px !important;
  }

  .utp-about-final-trust {
    max-width: 620px !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .utp-about-final-trust-item {
    justify-content: flex-start !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }
}


/* Mobile */
@media (max-width: 768px) {
  .utp-about-final-cta {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 50px 20px 52px !important;
  }

  .utp-about-final-cta .wp-block-cover__inner-container,
  .utp-about-final-cta-inner {
    max-width: 100% !important;
  }

  .utp-about-final-cta-inner {
    text-align: left !important;
    align-items: flex-start !important;
  }

  .utp-about-final-cta h3 {
    font-size: 14px !important;
    margin-bottom: 14px !important;
  }

  .utp-about-final-cta h2 {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.08 !important;
  }

  .utp-about-final-cta p {
    max-width: 100% !important;
    margin: 22px 0 30px !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .utp-about-final-trust {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 34px !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .utp-about-final-trust-item {
    justify-content: flex-start !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .utp-about-final-trust-item figure,
  .utp-about-final-trust-item .wp-block-image,
  .utp-about-final-trust-item .wp-block-media-text__media {
    width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
  }

  .utp-about-final-trust-item img {
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
  }

  .utp-about-final-trust-item p,
  .utp-about-final-trust-item h3,
  .utp-about-final-trust-item h4,
  .utp-about-final-trust-item h5 {
    font-size: 17px !important;
    line-height: 1.32 !important;
  }

  .utp-about-final-actions {
    width: 100% !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .utp-about-final-actions .wp-block-button,
  .utp-about-final-actions .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  .utp-about-final-actions .wp-block-button__link {
    min-width: 0 !important;
  }
}