/* CanopyX-only styles: shared MOG header and footer are unchanged */
.canopyx-page{--cx-green:#264c38;--cx-dark:#193328;--cx-cream:#f7f5ee;--cx-sage:#e7eee5;--cx-ink:#1b2b24;color:var(--cx-ink)}.canopyx-page .cx-main{overflow:hidden}.cx-container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.cx-skip{position:absolute;left:-9999px;top:0;z-index:999;background:#fff;padding:12px}.cx-skip:focus{left:10px}.cx-main h1,.cx-main h2,.cx-main h3,.cx-main p{margin-top:0}.cx-main h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.04em;color:var(--cx-dark)}.cx-main h2 em,.cx-main h1 em{font-style:normal;color:#648a65}.cx-kicker,.cx-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.17em;color:#557d59}.cx-section{padding:100px 0}.cx-main a{text-decoration:none}.cx-hero{min-height:730px;position:relative;background:linear-gradient(90deg,rgba(15,35,26,.94),rgba(15,35,26,.76) 46%,rgba(15,35,26,.10)),url('assets/home-canopyx-approved.webp') center 43%/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.cx-hero-inner{position:relative;z-index:1;flex:1;display:flex;align-items:center;padding-block:70px 35px}.cx-hero-copy{max-width:780px}.cx-identity{display:flex;align-items:center;gap:10px;margin-bottom:35px;font-weight:800;font-size:1.25rem;letter-spacing:.07em}.cx-identity img{width:84px;height:84px;object-fit:contain;background:transparent;border-radius:0;padding:0}.cx-identity small{display:block;font-size:.63rem;letter-spacing:.16em;margin-top:7px;color:#d4e2d1}.cx-hero .cx-eyebrow{color:#d3e7c5}.cx-hero h1{font-size:clamp(2.65rem,5.6vw,5.2rem);line-height:1.08;letter-spacing:-.05em;margin:15px 0 23px;font-weight:850}.cx-hero h1 em{color:#b6d5a2}.cx-lead{font-size:1.14rem;line-height:1.75;max-width:660px;color:#e8eee6}.cx-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.cx-button{display:inline-flex;justify-content:center;align-items:center;gap:13px;border-radius:100px;min-height:54px;padding:14px 27px;font-size:1rem;font-weight:750;border:1px solid transparent;cursor:pointer}.cx-button svg{width:19px;height:19px}.cx-button-primary{background:#40794e;color:#fff!important}.cx-button-primary:hover{background:#2e6240}.cx-button-outline{border-color:#c5d4c7;color:#fff!important;background:rgba(255,255,255,.08)}.cx-button-outline:hover{background:rgba(255,255,255,.18)}.cx-hero-categories{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:34px}.cx-hero-categories a{color:#fff;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(6px);padding:15px 18px;border-radius:14px;font-weight:750;font-size:.91rem}.cx-hero-categories svg{width:25px;height:25px;flex:none;color:#b9dda8}.cx-about-grid,.cx-why-grid,.cx-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,85px);align-items:center}.cx-about-image{height:490px;border-radius:26px;overflow:hidden}.cx-about-image img,.cx-why-photo img{width:100%;height:100%;object-fit:cover}.cx-about-copy p:not(.cx-kicker){line-height:1.85;color:#58665c;font-size:1.03rem}.cx-text-link{display:inline-flex;align-items:center;gap:10px;color:var(--cx-green);font-weight:800;margin-top:15px}.cx-text-link svg{width:18px}.cx-services-section{background:var(--cx-cream)}.cx-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.cx-section-heading>p{max-width:410px;line-height:1.75;color:#657066}.cx-service-group{margin:40px 0 56px;scroll-margin-top:120px}.cx-group-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8dfd6;margin-bottom:20px;padding-bottom:13px}.cx-group-title h3{font-size:1.45rem;color:var(--cx-dark);margin:0}.cx-group-title span{font-size:.75rem;font-weight:800;letter-spacing:.13em;color:#718174}.cx-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cx-service{background:#fff;border:1px solid #e2e8df;border-radius:18px;overflow:hidden;transition:box-shadow .2s,border-color .2s}.cx-service:hover,.cx-service:focus-within,.cx-service[open]{box-shadow:0 15px 35px rgba(27,55,38,.09);border-color:#9bb79e}.cx-service summary{cursor:pointer;list-style:none;min-height:150px;display:flex;align-items:flex-start;flex-direction:column;gap:15px;padding:25px;position:relative}.cx-service summary::-webkit-details-marker{display:none}.cx-service-icon{width:49px;height:49px;background:#edf4eb;border-radius:13px;display:grid;place-items:center;color:#376b46}.cx-service-icon svg{width:25px;height:25px}.cx-service-name{font-weight:800;font-size:1.13rem;line-height:1.35;padding-right:22px;color:var(--cx-dark)}.cx-service-arrow{position:absolute;right:22px;bottom:26px;color:#52725b}.cx-service-arrow svg{width:20px}.cx-service[open] .cx-service-arrow{transform:rotate(180deg)}.cx-service-body{border-top:1px solid #e8eee6;padding:20px 25px 25px}.cx-service-body p{color:#5c6a5e;line-height:1.6;min-height:60px}.cx-service-body strong{display:block;color:var(--cx-green);margin-bottom:17px}.cx-service-body a{font-weight:800;color:var(--cx-green);display:inline-flex;align-items:center;gap:6px}.cx-service-body a svg{width:16px}.cx-why-grid{grid-template-columns:1.25fr .75fr}.cx-why-intro{color:#667469;line-height:1.7;max-width:600px}.cx-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:35px}.cx-benefit{display:flex;gap:12px}.cx-benefit>svg{flex:none;width:25px;height:25px;color:#43784e}.cx-benefit h3{font-size:1rem;color:var(--cx-dark);margin:0 0 6px}.cx-benefit p{color:#6b786e;font-size:.9rem;line-height:1.6;margin:0}.cx-why-photo{height:570px;border-radius:24px;overflow:hidden}.cx-centered{text-align:center;max-width:680px;margin:0 auto 42px}.cx-centered>p:last-child{color:#6b776d}.cx-steps{background:#eaf0e7}.cx-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cx-step{background:#fff;border-radius:20px;padding:26px 24px;position:relative}.cx-step-number{font-size:.8rem;color:#86a18b;font-weight:800}.cx-step-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#e9f3e8;color:#42774b;margin:22px 0}.cx-step-icon svg{width:29px;height:29px}.cx-step h3{font-size:1.08rem;color:var(--cx-dark)}.cx-step p{font-size:.94rem;line-height:1.65;color:#69776d}.cx-quote-section{background:#f9faf6}.cx-quote-grid{align-items:start;grid-template-columns:.82fr 1.18fr}.cx-quote-intro>p:not(.cx-kicker){line-height:1.75;color:#5e6e61}.cx-contact-links{display:grid;gap:15px;margin:34px 0}.cx-contact-links a{display:flex;align-items:center;gap:12px;color:var(--cx-green);font-weight:800;overflow-wrap:anywhere}.cx-contact-links svg{width:20px}.cx-form-note{font-size:.85rem}.cx-form{background:#fff;border:1px solid #e1e9e0;box-shadow:0 20px 60px rgba(30,60,35,.07);border-radius:24px;padding:34px;display:grid;gap:21px}.cx-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cx-form label{font-weight:800;color:#253d2b;display:grid;gap:9px;font-size:.94rem}.cx-form input,.cx-form select,.cx-form textarea{width:100%;box-sizing:border-box;font:inherit;font-weight:500;color:#1c3024;border:1px solid #cdd9cf;border-radius:12px;background:#fff;padding:15px 17px;min-height:58px;outline-offset:2px}.cx-form textarea{resize:vertical;min-height:135px}.cx-form :is(input,select,textarea):focus{outline:2px solid #538461;border-color:#538461}.cx-submit{width:100%}.cx-form-feedback{font-size:.88rem;color:#3e724c;margin:0}.cx-clients{padding-bottom:80px}.cx-clients .client-marquee{overflow:hidden;width:100%;margin-top:30px}.cx-clients .client-track{display:flex;width:max-content;animation:cx-client-scroll 35s linear infinite}.cx-clients .client-logo{flex:0 0 190px;width:190px;height:112px;padding:20px 22px;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.cx-clients .client-logo img{display:block;width:130px;height:52px;max-width:100%;max-height:100%;object-fit:contain;filter:none;transform:none}.cx-clients .client-marquee:hover .client-track{animation-play-state:paused}@keyframes cx-client-scroll{to{transform:translateX(-50%)}}@media(max-width:960px){.cx-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-step-grid{grid-template-columns:repeat(2,1fr)}.cx-hero-categories{grid-template-columns:repeat(2,1fr)}.cx-about-grid,.cx-why-grid,.cx-quote-grid{grid-template-columns:1fr}.cx-about-image{height:380px}.cx-why-photo{height:350px}.cx-quote-intro{max-width:700px}}@media(max-width:600px){.cx-container{width:min(100% - 32px,1160px)}.cx-section{padding:66px 0}.cx-hero{min-height:760px;background-position:60% center}.cx-hero-inner{padding-top:48px}.cx-identity{font-size:.95rem;gap:10px}.cx-identity img{width:65px;height:65px}.cx-hero h1{font-size:clamp(2.1rem,9vw,3.1rem)}.cx-lead{font-size:1rem}.cx-hero-categories{gap:8px;padding-bottom:20px}.cx-hero-categories a{padding:11px;gap:8px;font-size:.74rem}.cx-hero-categories svg{width:20px;height:20px}.cx-section-heading{display:block}.cx-services-grid,.cx-benefits,.cx-form-row{grid-template-columns:1fr}.cx-service summary{min-height:130px}.cx-step-grid{gap:12px}.cx-step{padding:18px}.cx-step-icon{width:52px;height:52px}.cx-form{padding:22px}.cx-about-image{height:290px}.cx-why-photo{height:300px}.cx-clients .client-logo{flex-basis:155px;width:155px;height:100px}.cx-clients .client-logo img{width:115px;height:46px}}@media(prefers-reduced-motion:reduce){.cx-clients .client-track{animation:none}.cx-service{transition:none}}

/* Approved palm-cleaning hero photo; keep the existing text readable. */
.canopyx-page .cx-hero{background-image:linear-gradient(90deg,rgba(15,35,26,.94),rgba(15,35,26,.76) 46%,rgba(15,35,26,.10)),url('assets/canopyx-palm-cleaning-hero.webp');background-position:center 43%;}

/* Match Pristinia hero headline typography and responsive dimensions. */
.canopyx-page .cx-hero h1 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(34px, 4.25vw, 64px);
  line-height: 1.07;
  letter-spacing: -0.035em;
  font-weight: 850;
}
@media (max-width: 600px) {
  .canopyx-page .cx-hero h1 {font-size: clamp(32px, 7vw, 48px);}
}

/* Position CanopyX identity 20 CSS px below the fixed MOG header. */
.canopyx-page .cx-hero-inner {align-items:flex-start; padding-top:20px; padding-bottom:35px;}
@media (max-width:600px) {
  .canopyx-page .cx-hero-inner {padding-top:20px; padding-bottom:24px;}
}

/* Final header-to-brand spacing: fixed 20px, not an additive offset. */
.canopyx-page .cx-hero .cx-hero-inner{padding-top:20px !important;align-items:flex-start !important;}
@media(max-width:600px){.canopyx-page .cx-hero .cx-hero-inner{padding-top:20px !important;}}

/* Logo-to-company-name spacing: exact 10px at all viewport widths. */
.canopyx-page .cx-hero .cx-identity { column-gap: 10px !important; gap: 10px !important; }
.canopyx-page .cx-hero .cx-identity > img { display:block; flex:0 0 84px; width:84px; height:auto; max-width:none; margin:0; padding:0; }
.canopyx-page .cx-hero .cx-identity > span { display:block; margin:0; padding:0; }
@media(max-width:600px){.canopyx-page .cx-hero .cx-identity > img{flex-basis:65px;width:65px;}}

/* Screenshot-matched, above-the-fold desktop hero. Scoped to CanopyX only. */
@media (min-width: 961px) {
  .canopyx-page .cx-hero {
    min-height: min(775px, calc(100svh - 88px));
    height: calc(100svh - 88px);
    box-sizing: border-box;
  }
  .canopyx-page .cx-hero .cx-hero-inner {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
    flex: 1 1 auto;
    min-height: 0;
  }
  .canopyx-page .cx-hero .cx-identity { margin-bottom: clamp(16px, 3vh, 34px); }
  .canopyx-page .cx-hero .cx-identity > img { width: 84px; flex-basis:84px; }
  .canopyx-page .cx-hero .cx-eyebrow { margin-bottom: 8px; }
  .canopyx-page .cx-hero h1 {
    font-size: clamp(34px, min(4.25vw, 6.9vh), 64px);
    margin: 10px 0 clamp(12px, 2.1vh, 22px);
  }
  .canopyx-page .cx-hero .cx-lead { line-height: 1.55; margin-bottom: 0; }
  .canopyx-page .cx-hero .cx-actions { margin-top: clamp(14px, 2.7vh, 30px); }
  .canopyx-page .cx-hero .cx-hero-categories { padding-bottom: 18px; }
}
@media (min-width: 961px) and (max-height: 780px) {
  .canopyx-page .cx-hero .cx-identity { margin-bottom: 13px; }
  .canopyx-page .cx-hero .cx-identity > img { width: 70px; flex-basis:70px; }
  .canopyx-page .cx-hero .cx-hero-inner { padding-top: 8px !important; }
  .canopyx-page .cx-hero h1 { font-size: clamp(33px, min(4vw, 6.3vh), 56px); margin: 7px 0 10px; }
  .canopyx-page .cx-hero .cx-lead { font-size: 1rem; line-height:1.4; }
  .canopyx-page .cx-hero .cx-actions { margin-top: 12px; }
  .canopyx-page .cx-hero .cx-button { min-height:46px; padding: 10px 22px; }
  .canopyx-page .cx-hero .cx-hero-categories { padding-bottom: 12px; }
  .canopyx-page .cx-hero .cx-hero-categories a { padding: 11px 14px; }
}
/* On tablet and mobile, let content determine height to prevent clipping. */
@media (max-width: 960px) {
  .canopyx-page .cx-hero { height:auto; min-height:0; }
  .canopyx-page .cx-hero .cx-hero-inner { flex:0 0 auto; padding-bottom: 24px; }
  .canopyx-page .cx-hero .cx-hero-categories { padding-bottom:20px; }
}

/* Balanced hero typography and spacing: avoids over-compression on laptops. */
@media (min-width: 961px) {
  .canopyx-page .cx-hero {
    height: auto;
    min-height: max(740px, calc(100svh - 88px));
  }
  .canopyx-page .cx-hero .cx-hero-inner {
    padding-top: 20px !important;
    padding-bottom: 34px !important;
    flex: 1 0 auto;
  }
  .canopyx-page .cx-hero .cx-identity {
    margin-bottom: clamp(25px, 3.5vh, 42px);
  }
  .canopyx-page .cx-hero .cx-eyebrow { margin-bottom: 15px; }
  .canopyx-page .cx-hero h1 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(34px, 4.25vw, 64px);
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: -0.035em;
    margin: 12px 0 26px;
  }
  .canopyx-page .cx-hero .cx-lead {
    font-size: 1.12rem;
    line-height: 1.65;
    margin-bottom: 0;
  }
  .canopyx-page .cx-hero .cx-actions { margin-top: 28px; }
  .canopyx-page .cx-hero .cx-button { min-height: 54px; padding: 14px 27px; }
  .canopyx-page .cx-hero .cx-hero-categories { padding-bottom: 28px; }
  .canopyx-page .cx-hero .cx-hero-categories a { padding: 15px 18px; }
}
@media (min-width: 961px) and (max-height: 780px) {
  .canopyx-page .cx-hero { min-height: 740px; }
  .canopyx-page .cx-hero .cx-identity { margin-bottom: 25px; }
  .canopyx-page .cx-hero .cx-identity > img { width:84px; flex-basis:84px; }
  .canopyx-page .cx-hero .cx-hero-inner { padding-top:20px !important; padding-bottom:28px !important; }
  .canopyx-page .cx-hero h1 { font-size:clamp(34px,4.25vw,64px); margin:12px 0 24px; }
  .canopyx-page .cx-hero .cx-lead { font-size:1.08rem; line-height:1.6; }
  .canopyx-page .cx-hero .cx-actions { margin-top:24px; }
  .canopyx-page .cx-hero .cx-button { min-height:54px; padding:14px 27px; }
  .canopyx-page .cx-hero .cx-hero-categories { padding-bottom:25px; }
  .canopyx-page .cx-hero .cx-hero-categories a { padding:14px 17px; }
}

/* Center the Our Services introduction across desktop, tablet, and mobile. */
.canopyx-page .cx-services-section .cx-section-heading {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;text-align:center;margin-left:auto;margin-right:auto;
}
.canopyx-page .cx-services-section .cx-section-heading > div {width:100%;text-align:center;}
.canopyx-page .cx-services-section .cx-section-heading > p {
  max-width:720px;margin:0 auto;text-align:center;line-height:1.7;
}

/* Compact, centered three-line Services introduction */
.canopyx-page .cx-services-section .cx-section-heading {
  gap:0 !important; margin-bottom:32px !important;
}
.canopyx-page .cx-services-section .cx-section-heading .cx-kicker {
  margin:0 0 7px !important; line-height:1.35;
}
.canopyx-page .cx-services-section .cx-section-heading h2 {
  margin:0 0 10px !important; line-height:1.14;
}
.canopyx-page .cx-services-section .cx-section-heading > p {
  margin:0 auto !important; line-height:1.5 !important;
}
@media(max-width:600px){
 .canopyx-page .cx-services-section .cx-section-heading {margin-bottom:26px !important;}
}

/* CanopyX services: subtle garden photo beneath the existing cream background.
   No layout, cards, text, or interaction changes. */
.canopyx-page .cx-services-section {
  background-color: #f7f5ee;
  background-image: linear-gradient(rgba(247,245,238,.88),rgba(247,245,238,.91)), url('assets/canopyx-services-garden-background.webp');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Service cards: open one at a time on mouse hover, while preserving touch and keyboard toggles. */
@media (hover:hover) and (pointer:fine) {
  .cx-service summary { cursor:default; }
}
.cx-service[open] { position:relative; z-index:1; }

/* Match the Service Type dropdown to all quote form text fields */
.cx-page .cx-form input:not([type="checkbox"]),
.cx-page .cx-form select {
  box-sizing: border-box;
  width: 100%;
  height: 58px;
  min-height: 58px;
  padding: 0 17px;
  margin: 0;
  border: 1px solid #cdd9cf;
  border-radius: 12px;
  background-color: #fff;
  font: inherit;
  font-weight: 500;
  line-height: normal;
}
.cx-page .cx-form select {
  appearance: auto;
  -webkit-appearance: menulist;
  cursor: pointer;
}

/* Each grid item is sized independently, so an expanded card never stretches its neighbours. */
.canopyx-page .cx-services-grid { align-items: start; }
.canopyx-page .cx-services-grid > .cx-service { align-self: start; height: auto; }

/* Unified business-page hero rhythm — 2026-10-15.
   Identical vertical gaps across Pristinia, CanopyX and Construction. */

.canopyx-page .cx-hero .cx-identity { margin-bottom:24px !important; }
.canopyx-page .cx-hero .cx-eyebrow { margin:0 0 12px !important; line-height:1.4; }
.canopyx-page .cx-hero h1 { margin:0 0 22px !important; line-height:1.07; }
.canopyx-page .cx-hero .cx-lead { margin:0 !important; line-height:1.6; }
.canopyx-page .cx-hero .cx-actions { margin-top:28px !important; }
@media(max-width:600px) {
 .canopyx-page .cx-hero .cx-identity { margin-bottom:18px !important; }
 .canopyx-page .cx-hero .cx-eyebrow { margin-bottom:10px !important; }
 .canopyx-page .cx-hero h1 { margin-bottom:18px !important; }
 .canopyx-page .cx-hero .cx-actions { margin-top:22px !important; }
}
