/* =============================================
   CPM HOMEPAGE — Conquest Property Management
   V3: Full-width breakout + px-based font sizes
   WCAG 2.1 AA Compliant
   ============================================= */

/* === ADA: Skip Navigation === */
.cpm-skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:100000;padding:12px 24px;background:#1d5632;color:#fff;font-size:14px;font-weight:600;text-decoration:none;border-radius:0 0 6px 6px}
.cpm-skip-link:focus{left:12px;top:12px;width:auto;height:auto}

/* === ADA: Focus-visible outlines === */
.cpm-home a:focus-visible,.cpm-home button:focus-visible,.cpm-home input:focus-visible,.cpm-home select:focus-visible,.cpm-home textarea:focus-visible,.cpm-home [role="button"]:focus-visible{outline:3px solid #1d5632;outline-offset:2px}

/* === ADA: Prefers-reduced-motion === */
@media(prefers-reduced-motion:reduce){.cpm-home *{animation:none!important;transition:none!important}}

:root {
  --cpm-green: #1d5632;
  --cpm-green-dark: #153f25;
  --cpm-sage: #1d5632;
  --cpm-sage-light: #1d5632;
  --cpm-sage-muted: #1d5632;
  --cpm-black: #000;
  --cpm-white: #fff;
  --cpm-off-white: #f5f7f5;
  --cpm-cream: #f0f3ef;
  --cpm-light-green: #e8efe9;
  --cpm-text: #1a1a1a;
  --cpm-text-mid: #4a4a4a;
  --cpm-text-light: #6b6b6b;
  --cpm-border: #d4ddd6;
}

/* ============================================
   FULL-WIDTH BREAKOUT
   Forces plugin to escape any theme container
   ============================================ */
.cpm-home {
  font-family: 'Source Sans 3', 'Segoe UI', Tahoma, sans-serif !important;
  font-size: 16px !important;
  color: #1a1a1a !important;
  overflow-x: hidden !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased !important;
  /* Break out of any parent container */
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}
.cpm-home *, .cpm-home *::before, .cpm-home *::after { box-sizing: border-box !important; }
.cpm-home img { max-width: 100% !important; height: auto !important; border: none !important; box-shadow: none !important; outline: none !important; display: block !important; }
.cpm-home h1, .cpm-home h2, .cpm-home h3, .cpm-home h4 { font-family: 'Playfair Display', Georgia, serif !important; color: var(--cpm-green) !important; margin: 0 !important; padding: 0 !important; letter-spacing: normal !important; text-transform: none !important; border: none !important; line-height: 1.2 !important; }
.cpm-home p { margin: 0 !important; padding: 0 !important; font-family: 'Source Sans 3', 'Segoe UI', sans-serif !important; }
.cpm-home a { text-decoration: none !important; }
.cpm-home ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cpm-home section { padding: 0 !important; margin: 0 !important; border: none !important; width: 100% !important; max-width: 100% !important; }
.cpm-home blockquote { margin: 0 !important; padding: 0 !important; border: none !important; }
.cpm-home span { font-family: inherit !important; }

/* Centered inner container */
.cpm-home .cpm-container { max-width: 1180px !important; margin: 0 auto !important; padding: 0 40px !important; width: 100% !important; box-sizing: border-box !important; }

/* ======= BUTTONS (px sizes) ======= */
.cpm-home .cpm-btn { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 14px 30px !important; border-radius: 6px !important; text-decoration: none !important; font-weight: 600 !important; font-size: 15px !important; transition: all .3s !important; cursor: pointer !important; border: none !important; font-family: 'Source Sans 3', sans-serif !important; line-height: 1.4 !important; }
.cpm-home .cpm-btn-green { background: var(--cpm-green) !important; color: white !important; }
.cpm-home .cpm-btn-green:hover { background: var(--cpm-green-dark) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(29,86,50,.25) !important; color: white !important; }
.cpm-home .cpm-btn-white { background: white !important; color: var(--cpm-green) !important; }
.cpm-home .cpm-btn-white:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(0,0,0,.12) !important; color: var(--cpm-green) !important; }
.cpm-home .cpm-btn-outline-white { background: transparent !important; color: white !important; border: 2px solid rgba(255,255,255,.45) !important; }
.cpm-home .cpm-btn-outline-white:hover { border-color: white !important; background: rgba(255,255,255,.1) !important; transform: translateY(-2px) !important; color: white !important; }
.cpm-home .cpm-btn-outline-green { background: transparent !important; color: var(--cpm-green) !important; border: 2px solid var(--cpm-green) !important; }
.cpm-home .cpm-btn-outline-green:hover { background: var(--cpm-green) !important; color: white !important; transform: translateY(-2px) !important; }

/* ======= TOP BAR ======= */
.cpm-home .cpm-top-bar { background: var(--cpm-green) !important; color: rgba(255,255,255,.9) !important; padding: 9px 0 !important; font-size: 13px !important; width: 100% !important; }
.cpm-home .cpm-top-bar .cpm-container { display: flex !important; justify-content: space-between !important; align-items: center !important; }
.cpm-home .cpm-top-bar a { color: rgba(255,255,255,.9) !important; font-size: 13px !important; }
.cpm-home .cpm-top-bar a:hover { opacity: .75 !important; }
.cpm-home .cpm-contact-info { display: flex !important; gap: 24px !important; align-items: center !important; }
.cpm-home .cpm-contact-info span { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; }
.cpm-home .cpm-portals { display: flex !important; gap: 8px !important; }
.cpm-home .cpm-portals a { background: rgba(255,255,255,.12) !important; padding: 5px 16px !important; border-radius: 4px !important; font-weight: 600 !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .07em !important; border: 1px solid rgba(255,255,255,.2) !important; }
.cpm-home .cpm-portals a:hover { background: white !important; color: var(--cpm-green) !important; border-color: white !important; }

/* ======= HEADER ======= */
.cpm-home .cpm-header { background: white !important; position: sticky !important; top: 0 !important; z-index: 100 !important; border-bottom: 1px solid var(--cpm-border) !important; box-shadow: 0 1px 8px rgba(0,0,0,.04) !important; width: 100% !important; }
.cpm-home .cpm-header .cpm-container { display: flex !important; justify-content: space-between !important; align-items: center !important; padding-top: 10px !important; padding-bottom: 10px !important; }
.cpm-home .cpm-logo { display: flex !important; align-items: center !important; gap: 12px !important; }
.cpm-home .cpm-logo img { height: 52px !important; width: auto !important; max-height: 52px !important; }
.cpm-home .cpm-nav { display: flex !important; align-items: center !important; gap: 2px !important; }
.cpm-home .cpm-nav a { color: #1a1a1a !important; font-size: 14px !important; font-weight: 500 !important; padding: 8px 14px !important; border-radius: 6px !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-nav a:hover { color: var(--cpm-green) !important; background: var(--cpm-light-green) !important; }
.cpm-home .cpm-nav .cpm-cta-nav { background: var(--cpm-green) !important; color: white !important; margin-left: 10px !important; padding: 10px 22px !important; font-weight: 600 !important; font-size: 14px !important; }
.cpm-home .cpm-nav .cpm-cta-nav:hover { background: var(--cpm-green-dark) !important; color: white !important; }

/* ======= HERO ======= */
.cpm-home .cpm-hero { position: relative !important; min-height: 84vh !important; display: flex !important; align-items: center !important; overflow: hidden !important; background: #111 !important; padding: 0 !important; width: 100% !important; }
.cpm-home .cpm-hero-bg { position: absolute !important; inset: 0 !important; z-index: 0 !important; width: 100% !important; height: 100% !important; }
.cpm-home .cpm-hero-bg img { width: 100% !important; height: 100% !important; object-fit: cover !important; animation: cpmHeroZoom 25s ease-in-out infinite alternate !important; max-height: none !important; min-height: 100% !important; }
.cpm-home .cpm-hero-overlay { position: absolute !important; inset: 0 !important; z-index: 1 !important; background: linear-gradient(135deg, rgba(21,63,37,.82) 0%, rgba(29,86,50,.7) 35%, rgba(29,86,50,.65) 70%, rgba(21,63,37,.78) 100%) !important; }
.cpm-home .cpm-hero-overlay::after { content: '' !important; position: absolute !important; inset: 0 !important; background: linear-gradient(to top, rgba(0,0,0,.25) 0%, transparent 40%) !important; }
@keyframes cpmHeroZoom { 0% { transform: scale(1); } 100% { transform: scale(1.08); } }
.cpm-home .cpm-hero-content { position: relative !important; z-index: 2 !important; display: grid !important; grid-template-columns: 1.2fr .8fr !important; gap: 56px !important; align-items: center !important; width: 100% !important; padding: 80px 0 !important; }
.cpm-home .cpm-hero-left h1 { font-size: 50px !important; line-height: 1.13 !important; color: white !important; margin-bottom: 20px !important; font-weight: 600 !important; }
.cpm-home .cpm-hero-left h1 em { font-style: italic !important; color: rgba(255,255,255,.85) !important; font-weight: 400 !important; }
.cpm-home .cpm-hero-badge { display: inline-block !important; background: rgba(255,255,255,.12) !important; backdrop-filter: blur(8px) !important; border: 1px solid rgba(255,255,255,.18) !important; padding: 6px 16px !important; border-radius: 50px !important; font-size: 13px !important; font-weight: 600 !important; color: rgba(255,255,255,.9) !important; margin-bottom: 18px !important; }
.cpm-home .cpm-hero-sub { font-size: 17px !important; color: rgba(255,255,255,.8) !important; line-height: 1.75 !important; margin-bottom: 34px !important; max-width: 520px !important; }
.cpm-home .cpm-hero-buttons { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }
.cpm-home .cpm-hero-trust { margin-top: 32px !important; display: flex !important; align-items: center !important; gap: 20px !important; }
.cpm-home .cpm-ti { display: flex !important; align-items: center !important; gap: 7px !important; color: rgba(255,255,255,.9) !important; font-size: 13px !important; font-weight: 500 !important; }
.cpm-home .cpm-ti-dot { width: 6px !important; height: 6px !important; background: var(--cpm-sage-muted) !important; border-radius: 50% !important; }
.cpm-home .cpm-hero-card { background: rgba(255,255,255,.1) !important; backdrop-filter: blur(20px) !important; border: 1px solid rgba(255,255,255,.15) !important; border-radius: 16px !important; padding: 36px 32px !important; }
.cpm-home .cpm-hero-card h3 { color: white !important; font-size: 20px !important; margin-bottom: 6px !important; }
.cpm-home .cpm-hero-card > p { color: rgba(255,255,255,.9) !important; font-size: 14px !important; margin-bottom: 24px !important; line-height: 1.5 !important; }
.cpm-home .cpm-stat-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin-bottom: 24px !important; }
.cpm-home .cpm-stat-box { text-align: center !important; padding: 16px 10px !important; background: rgba(255,255,255,.06) !important; border-radius: 10px !important; border: 1px solid rgba(255,255,255,.08) !important; }
.cpm-home .cpm-stat-num { font-family: 'Playfair Display', serif !important; font-size: 32px !important; color: white !important; line-height: 1 !important; display: block !important; margin-bottom: 3px !important; }
.cpm-home .cpm-stat-label { font-size: 11px !important; color: rgba(255,255,255,.9) !important; text-transform: uppercase !important; letter-spacing: .08em !important; font-weight: 600 !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-card-cta { display: block !important; text-align: center !important; background: white !important; color: var(--cpm-green) !important; padding: 13px 20px !important; border-radius: 8px !important; font-weight: 700 !important; font-size: 14px !important; }
.cpm-home .cpm-card-cta:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(0,0,0,.15) !important; color: var(--cpm-green) !important; }
@keyframes cpmFadeUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }

/* ======= DUAL PATH ======= */
.cpm-home .cpm-dual-path { display: grid !important; grid-template-columns: 1fr 1fr !important; padding: 0 !important; width: 100% !important; }
.cpm-home .cpm-path-panel { padding: 56px 48px !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
.cpm-home .cpm-path-panel.cpm-owners { background: #000 !important; }
.cpm-home .cpm-path-panel.cpm-renters { background: var(--cpm-off-white) !important; }
.cpm-home .cpm-path-label { font-size: 11px !important; text-transform: uppercase !important; letter-spacing: .15em !important; font-weight: 700 !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-owners .cpm-path-label { color: #d4e8d9 !important; }
.cpm-home .cpm-renters .cpm-path-label { color: var(--cpm-sage) !important; }
.cpm-home .cpm-owners h2 { color: white !important; font-size: 30px !important; line-height: 1.2 !important; }
.cpm-home .cpm-renters h2 { font-size: 30px !important; line-height: 1.2 !important; }
.cpm-home .cpm-owners p { color: rgba(255,255,255,.9) !important; line-height: 1.7 !important; font-size: 15px !important; }
.cpm-home .cpm-renters p { color: var(--cpm-text-light) !important; line-height: 1.7 !important; font-size: 15px !important; }

/* ======= LISTINGS ======= */
.cpm-home .cpm-listings { padding: 90px 0 100px !important; background: #f8faf8 !important; width: 100% !important; position: relative !important; }
.cpm-home .cpm-listings::before { content: '' !important; position: absolute !important; top: 0 !important; left: 50% !important; transform: translateX(-50%) !important; width: 120px !important; height: 3px !important; background: linear-gradient(90deg, transparent, #1d5632, transparent) !important; }
.cpm-home .cpm-listings::after { content: '' !important; position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 1px !important; background: linear-gradient(90deg, transparent 5%, #d4ddd6 20%, #d4ddd6 80%, transparent 95%) !important; }
.cpm-home .cpm-section-header { text-align: center !important; margin-bottom: 56px !important; }
.cpm-home .cpm-section-label { font-size: 11px !important; text-transform: uppercase !important; letter-spacing: .18em !important; font-weight: 700 !important; color: var(--cpm-sage) !important; margin-bottom: 12px !important; display: block !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-section-header h2 { font-size: 40px !important; margin-bottom: 14px !important; line-height: 1.15 !important; }
.cpm-home .cpm-section-header p { font-size: 16px !important; color: var(--cpm-text-light) !important; max-width: 640px !important; margin: 0 auto !important; line-height: 1.7 !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-listings .cpm-section-header { margin-bottom: 48px !important; }
.cpm-home .cpm-flourish { text-align: center !important; margin: 20px 0 !important; }
.cpm-home .cpm-listings .cpm-section-header h2 { font-size: 37px !important; }
.cpm-home .cpm-listings-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 22px !important; }
.cpm-home .cpm-listing-card { border-radius: 12px !important; overflow: hidden !important; background: white !important; border: 1.5px solid var(--cpm-border) !important; transition: all .35s !important; position: relative !important; }
.cpm-home .cpm-listing-card:hover { transform: translateY(-5px) !important; box-shadow: 0 14px 36px rgba(29,86,50,.1) !important; border-color: var(--cpm-sage) !important; }
.cpm-home .cpm-listing-img { position: relative !important; height: 200px !important; overflow: hidden !important; background: var(--cpm-cream) !important; }
.cpm-home .cpm-listing-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; max-height: none !important; min-height: 200px !important; }
.cpm-home .cpm-listing-card:hover .cpm-listing-img img { transform: scale(1.06) !important; }
.cpm-home .cpm-listing-badge { position: absolute !important; top: 12px !important; left: 12px !important; background: var(--cpm-green) !important; color: white !important; font-size: 11px !important; font-weight: 700 !important; padding: 4px 12px !important; border-radius: 50px !important; text-transform: uppercase !important; letter-spacing: .06em !important; z-index: 2 !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-listing-body { padding: 18px 20px 22px !important; }
.cpm-home .cpm-listing-price { font-family: 'Playfair Display', serif !important; font-size: 23px !important; color: var(--cpm-green) !important; font-weight: 600 !important; line-height: 1 !important; margin-bottom: 6px !important; }
.cpm-home .cpm-listing-price span { font-size: 13px !important; color: var(--cpm-text-light) !important; font-family: 'Source Sans 3', sans-serif !important; font-weight: 400 !important; }
.cpm-home .cpm-listing-address { font-weight: 600 !important; font-size: 14px !important; color: #1a1a1a !important; margin-bottom: 2px !important; line-height: 1.35 !important; }
.cpm-home .cpm-listing-city { font-size: 13px !important; color: var(--cpm-text-light) !important; margin-bottom: 14px !important; }
.cpm-home .cpm-listing-details { display: flex !important; gap: 16px !important; padding-top: 14px !important; border-top: 1px solid var(--cpm-border) !important; }
.cpm-home .cpm-listing-detail { display: flex !important; align-items: center !important; gap: 5px !important; font-size: 13px !important; color: var(--cpm-text-mid) !important; font-weight: 500 !important; }
.cpm-home .cpm-listing-detail svg { color: var(--cpm-sage) !important; flex-shrink: 0 !important; }
.cpm-home .cpm-listings-cta { text-align: center !important; margin-top: 44px !important; }

/* ======= SERVICES ======= */
.cpm-home .cpm-services { padding: 100px 0 0 !important; background: white !important; width: 100% !important; }
.cpm-home .cpm-services-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; margin-bottom: 50px !important; }
.cpm-home .cpm-svc-card { padding: 32px 28px !important; border-radius: 12px !important; background: var(--cpm-off-white) !important; border: 1px solid var(--cpm-border) !important; transition: all .3s !important; }
.cpm-home .cpm-svc-card:hover { transform: translateY(-4px) !important; box-shadow: 0 12px 32px rgba(29,86,50,.08) !important; border-color: var(--cpm-sage) !important; }
.cpm-home .cpm-svc-icon { width: 46px !important; height: 46px !important; background: var(--cpm-green) !important; border-radius: 10px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 18px !important; }
.cpm-home .cpm-svc-card h3 { font-family: 'Source Sans 3', sans-serif !important; font-weight: 700 !important; font-size: 17px !important; margin-bottom: 8px !important; color: #1a1a1a !important; }
.cpm-home .cpm-svc-card p { font-size: 14px !important; color: var(--cpm-text-light) !important; line-height: 1.65 !important; }

/* ======= CTA BANNER ======= */
.cpm-home .cpm-cta-photo-banner { position: relative !important; overflow: hidden !important; margin-top: 50px !important; width: 100% !important; }
.cpm-home .cpm-cta-photo-banner .cpm-banner-bg { position: absolute !important; inset: 0 !important; }
.cpm-home .cpm-cta-photo-banner .cpm-banner-bg img { width: 100% !important; height: 100% !important; object-fit: cover !important; max-height: none !important; min-height: 100% !important; }
.cpm-home .cpm-cta-photo-banner .cpm-banner-overlay { position: absolute !important; inset: 0 !important; background: rgba(10,30,18,.82) !important; }
.cpm-home .cpm-cta-photo-banner .cpm-banner-content { position: relative !important; z-index: 2 !important; padding: 56px 48px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 30px !important; max-width: 1180px !important; margin: 0 auto !important; }
.cpm-home .cpm-cta-photo-banner h3 { color: white !important; font-size: 25px !important; line-height: 1.3 !important; }
.cpm-home .cpm-cta-photo-banner p { color: rgba(255,255,255,.85) !important; font-size: 14px !important; margin-top: 6px !important; }

/* ======= COMMUNITY ======= */
.cpm-home .cpm-community { padding: 0 !important; background: var(--cpm-off-white) !important; width: 100% !important; }
.cpm-home .cpm-community-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; min-height: 500px !important; }
.cpm-home .cpm-community-img { position: relative !important; overflow: hidden !important; }
.cpm-home .cpm-community-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; max-height: none !important; min-height: 100% !important; }
.cpm-home .cpm-community-text { padding: 70px 56px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.cpm-home .cpm-community-text h2 { font-size: 35px !important; line-height: 1.15 !important; margin-bottom: 16px !important; }
.cpm-home .cpm-community-text > p { color: var(--cpm-text-light) !important; line-height: 1.75 !important; font-size: 15px !important; margin-bottom: 16px !important; }
.cpm-home .cpm-community-quote { border-left: 3px solid var(--cpm-green) !important; padding: 16px 20px !important; margin-top: 12px !important; background: white !important; border-radius: 0 10px 10px 0 !important; border-right: none !important; border-top: none !important; border-bottom: none !important; }
.cpm-home .cpm-community-quote p { font-style: italic !important; color: var(--cpm-text-mid) !important; font-size: 15px !important; line-height: 1.65 !important; }
.cpm-home .cpm-community-quote .cpm-quote-author { font-style: normal !important; font-weight: 700 !important; color: var(--cpm-green) !important; font-size: 13px !important; margin-top: 8px !important; display: block !important; }
.cpm-home .cpm-community-features { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin-top: 24px !important; }
.cpm-home .cpm-cf { display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 14px !important; line-height: 1.5 !important; }
.cpm-home .cpm-cf-dot { width: 8px !important; height: 8px !important; background: var(--cpm-green) !important; border-radius: 50% !important; margin-top: 6px !important; flex-shrink: 0 !important; }

/* ======= MOSAIC ======= */
.cpm-home .cpm-photo-mosaic { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; height: 260px !important; overflow: hidden !important; width: 100% !important; }
.cpm-home .cpm-mosaic-cell { position: relative !important; overflow: hidden !important; }
.cpm-home .cpm-mosaic-cell img { width: 100% !important; height: 100% !important; object-fit: cover !important; max-height: none !important; min-height: 100% !important; }
.cpm-home .cpm-mosaic-cell .cpm-mosaic-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.25) 60%) !important; }
.cpm-home .cpm-mosaic-text { position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; color: white !important; font-size: 13px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .1em !important; padding: 14px 20px !important; background: #1a1a1a !important; }

/* ======= RENTAL ANALYSIS ======= */
.cpm-home .cpm-rental-analysis { padding: 100px 0 !important; background: var(--cpm-cream) !important; position: relative !important; width: 100% !important; }
.cpm-home .cpm-rental-analysis::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 3px !important; background: linear-gradient(90deg, var(--cpm-green), var(--cpm-sage), var(--cpm-green)) !important; }
.cpm-home .cpm-analysis-grid { display: grid !important; grid-template-columns: 1fr 1.1fr !important; gap: 64px !important; align-items: center !important; }
.cpm-home .cpm-analysis-left h2 { font-size: 37px !important; line-height: 1.16 !important; margin-bottom: 16px !important; }
.cpm-home .cpm-analysis-left > p { color: var(--cpm-text-light) !important; line-height: 1.75 !important; font-size: 15px !important; margin-bottom: 28px !important; }
.cpm-home .cpm-checklist { display: flex !important; flex-direction: column !important; gap: 13px !important; }
.cpm-home .cpm-checklist li { display: flex !important; align-items: center !important; gap: 12px !important; font-weight: 500 !important; font-size: 15px !important; }
.cpm-home .cpm-chk { width: 24px !important; height: 24px !important; background: var(--cpm-green) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; color: white !important; font-size: 11px !important; flex-shrink: 0 !important; font-weight: 700 !important; }
.cpm-home .cpm-form-card { background: white !important; padding: 40px !important; border-radius: 14px !important; box-shadow: 0 10px 36px rgba(0,0,0,.06) !important; border: 1px solid var(--cpm-border) !important; }
.cpm-home .cpm-form-card h3 { font-size: 22px !important; margin-bottom: 4px !important; }
.cpm-home .cpm-form-card > p { color: var(--cpm-text-light) !important; font-size: 14px !important; margin-bottom: 24px !important; }
.cpm-home .cpm-form-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; margin-bottom: 12px !important; }
.cpm-home .cpm-fg { margin-bottom: 12px !important; }
.cpm-home .cpm-fg label { display: block !important; font-weight: 600 !important; font-size: 13px !important; margin-bottom: 5px !important; color: #1a1a1a !important; }
.cpm-home .cpm-fg input, .cpm-home .cpm-fg select, .cpm-home .cpm-fg textarea { width: 100% !important; padding: 11px 14px !important; border: 1.5px solid var(--cpm-border) !important; border-radius: 6px !important; font-family: 'Source Sans 3', sans-serif !important; font-size: 14px !important; background: var(--cpm-off-white) !important; color: #1a1a1a !important; }
.cpm-home .cpm-fg input:focus, .cpm-home .cpm-fg select:focus, .cpm-home .cpm-fg textarea:focus { outline: none !important; border-color: var(--cpm-green) !important; background: white !important; }
.cpm-home .cpm-fg textarea { resize: vertical !important; min-height: 72px !important; }
.cpm-home .cpm-form-btn { width: 100% !important; padding: 14px !important; background: var(--cpm-green) !important; color: white !important; border: none !important; border-radius: 6px !important; font-family: 'Source Sans 3', sans-serif !important; font-size: 15px !important; font-weight: 700 !important; cursor: pointer !important; margin-top: 4px !important; }
.cpm-home .cpm-form-btn:hover { background: var(--cpm-green-dark) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 18px rgba(29,86,50,.2) !important; }

/* ======= FAQ ======= */
.cpm-home .cpm-faq { padding: 100px 0 !important; background: white !important; width: 100% !important; }
.cpm-home .cpm-faq .cpm-section-header { margin-bottom: 48px !important; }
.cpm-home .cpm-faq .cpm-section-header h2 { font-size: 37px !important; }
.cpm-home .cpm-faq-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; max-width: 960px !important; margin: 0 auto !important; }
.cpm-home .cpm-faq-item { padding: 26px 28px !important; border-radius: 10px !important; background: var(--cpm-off-white) !important; border: 1.5px solid transparent !important; cursor: pointer !important; }
.cpm-home .cpm-faq-item:hover { border-color: var(--cpm-border) !important; }
.cpm-home .cpm-faq-item.active { background: white !important; border-color: var(--cpm-green) !important; box-shadow: 0 6px 20px rgba(29,86,50,.06) !important; }
.cpm-home .cpm-faq-q { font-weight: 700 !important; font-size: 15px !important; color: var(--cpm-green-dark) !important; display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 10px !important; line-height: 1.4 !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-faq-toggle { font-size: 19px !important; color: var(--cpm-sage) !important; flex-shrink: 0 !important; transition: transform .3s !important; line-height: 1 !important; }
.cpm-home .cpm-faq-item.active .cpm-faq-toggle { transform: rotate(45deg) !important; }
.cpm-home .cpm-faq-a { max-height: 0 !important; overflow: hidden !important; transition: max-height .35s ease, margin .35s ease !important; }
.cpm-home .cpm-faq-item.active .cpm-faq-a { max-height: 220px !important; margin-top: 12px !important; }
.cpm-home .cpm-faq-a p { font-size: 14px !important; color: var(--cpm-text-light) !important; line-height: 1.7 !important; }

/* ======= AREAS ======= */
.cpm-home .cpm-areas { position: relative !important; padding: 80px 0 !important; color: white !important; overflow: hidden !important; width: 100% !important; background: #0a1e12 !important; }
.cpm-home .cpm-areas-bg { position: absolute !important; inset: 0 !important; }
.cpm-home .cpm-areas-bg img { width: 100% !important; height: 100% !important; object-fit: cover !important; max-height: none !important; min-height: 100% !important; }
.cpm-home .cpm-areas-overlay { position: absolute !important; inset: 0 !important; background: rgba(10,30,18,.8) !important; }
.cpm-home .cpm-areas .cpm-container { position: relative !important; z-index: 2 !important; }
.cpm-home .cpm-areas h2 { color: white !important; font-size: 34px !important; text-align: center !important; margin-bottom: 12px !important; }
.cpm-home .cpm-areas > .cpm-container > p { text-align: center !important; color: rgba(255,255,255,.95) !important; max-width: 560px !important; margin: 0 auto 40px !important; font-size: 15px !important; }
.cpm-home .cpm-area-pills { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }
.cpm-home .cpm-pill { background: #1d5632 !important; border: 1px solid rgba(255,255,255,.25) !important; padding: 13px 28px !important; border-radius: 50px !important; font-size: 16px !important; font-weight: 600 !important; color: #fff !important; cursor: default !important; }
.cpm-home .cpm-pill:hover { background: #153f25 !important; border-color: var(--cpm-green) !important; color: white !important; }

/* ======= TESTIMONIALS ======= */
.cpm-home .cpm-testimonials { padding: 100px 0 !important; background: var(--cpm-off-white) !important; width: 100% !important; }
.cpm-home .cpm-testimonials .cpm-section-header h2 { font-size: 34px !important; }
.cpm-home .cpm-test-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.cpm-home .cpm-test-card { background: white !important; padding: 34px 28px !important; border-radius: 12px !important; border: 1px solid var(--cpm-border) !important; transition: all .3s !important; }
.cpm-home .cpm-test-card:hover { transform: translateY(-3px) !important; box-shadow: 0 10px 28px rgba(29,86,50,.06) !important; }
.cpm-home .cpm-stars { color: #e8a831 !important; font-size: 16px !important; margin-bottom: 14px !important; letter-spacing: 2px !important; }
.cpm-home .cpm-test-card blockquote { font-size: 14px !important; color: var(--cpm-text-mid) !important; line-height: 1.72 !important; font-style: italic !important; margin: 0 0 18px !important; padding: 0 !important; border: none !important; background: none !important; }
.cpm-home .cpm-test-author { font-weight: 700 !important; font-size: 14px !important; color: #1a1a1a !important; }
.cpm-home .cpm-test-role { font-size: 13px !important; color: var(--cpm-text-light) !important; margin-top: 2px !important; }

/* ======= TENANTS ======= */
.cpm-home .cpm-tenants { padding: 100px 0 !important; background: white !important; width: 100% !important; }
.cpm-home .cpm-tenants .cpm-section-header h2 { font-size: 34px !important; }
.cpm-home .cpm-tenant-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 18px !important; }
.cpm-home .cpm-t-card { text-align: center !important; padding: 32px 22px !important; border-radius: 12px !important; background: var(--cpm-off-white) !important; color: #1a1a1a !important; border: 1.5px solid transparent !important; display: block !important; transition: all .3s !important; }
.cpm-home .cpm-t-card:hover { transform: translateY(-3px) !important; border-color: var(--cpm-green) !important; box-shadow: 0 8px 24px rgba(29,86,50,.07) !important; color: #1a1a1a !important; }
.cpm-home .cpm-t-icon { width: 50px !important; height: 50px !important; background: var(--cpm-green) !important; border-radius: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 14px !important; }
.cpm-home .cpm-t-card h3 { font-family: 'Source Sans 3', sans-serif !important; font-weight: 700 !important; font-size: 15px !important; margin-bottom: 6px !important; color: #1a1a1a !important; }
.cpm-home .cpm-t-card p { font-size: 13px !important; color: var(--cpm-text-light) !important; line-height: 1.55 !important; }

/* ======= BLOG ======= */
.cpm-home .cpm-blog { padding: 100px 0 !important; background: white !important; width: 100% !important; }
.cpm-home .cpm-blog-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.cpm-home .cpm-blog-card { background: white !important; border-radius: 12px !important; overflow: hidden !important; border: 1.5px solid var(--cpm-border) !important; transition: all .35s !important; display: flex !important; flex-direction: column !important; color: #1a1a1a !important; }
.cpm-home .cpm-blog-card:hover { transform: translateY(-5px) !important; box-shadow: 0 14px 36px rgba(29,86,50,.1) !important; border-color: var(--cpm-sage) !important; }
.cpm-home .cpm-blog-img { width: 100% !important; aspect-ratio: 1 / 1 !important; overflow: hidden !important; background: var(--cpm-cream) !important; }
.cpm-home .cpm-blog-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; max-height: none !important; aspect-ratio: 1 / 1 !important; transition: transform .4s !important; }
.cpm-home .cpm-blog-card:hover .cpm-blog-img img { transform: scale(1.06) !important; }
.cpm-home .cpm-blog-img-placeholder { display: flex !important; align-items: center !important; justify-content: center !important; background: var(--cpm-light-green) !important; }
.cpm-home .cpm-blog-body { padding: 22px 24px 26px !important; display: flex !important; flex-direction: column !important; flex: 1 !important; }
.cpm-home .cpm-blog-date { font-size: 12px !important; font-weight: 600 !important; color: var(--cpm-sage) !important; text-transform: uppercase !important; letter-spacing: .08em !important; margin-bottom: 8px !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-blog-body h3 { font-family: 'Source Sans 3', sans-serif !important; font-weight: 700 !important; font-size: 17px !important; color: #1a1a1a !important; line-height: 1.35 !important; margin-bottom: 8px !important; }
.cpm-home .cpm-blog-card:hover .cpm-blog-body h3 { color: var(--cpm-green) !important; }
.cpm-home .cpm-blog-body p { font-size: 14px !important; color: var(--cpm-text-light) !important; line-height: 1.65 !important; margin-bottom: 14px !important; flex: 1 !important; }
.cpm-home .cpm-blog-read { font-size: 13px !important; font-weight: 700 !important; color: var(--cpm-green) !important; font-family: 'Source Sans 3', sans-serif !important; }
.cpm-home .cpm-blog-cta { text-align: center !important; margin-top: 44px !important; }

/* ======= TRUST BADGES ======= */
.cpm-home .cpm-trust-badges { padding: 50px 0 !important; background: white !important; border-top: 1px solid var(--cpm-border) !important; width: 100% !important; }
.cpm-home .cpm-trust-row { display: flex !important; align-items: center !important; justify-content: center !important; gap: 48px !important; flex-wrap: wrap !important; }
.cpm-home .cpm-trust-badge { display: flex !important; flex-direction: column !important; align-items: center !important; opacity: .7 !important; transition: all .3s !important; }
.cpm-home .cpm-trust-badge:hover { opacity: 1 !important; transform: translateY(-2px) !important; }
.cpm-home .cpm-trust-badge svg { margin-bottom: 8px !important; }
.cpm-home .cpm-trust-badge-label { font-size: 11px !important; font-weight: 600 !important; color: var(--cpm-text-light) !important; text-transform: uppercase !important; letter-spacing: .06em !important; text-align: center !important; line-height: 1.3 !important; font-family: 'Source Sans 3', sans-serif !important; }

/* ======= FOOTER ======= */
.cpm-home .cpm-footer { background: var(--cpm-green-dark) !important; padding: 64px 0 28px !important; color: rgba(255,255,255,.9) !important; width: 100% !important; }
.cpm-home .cpm-footer-grid { display: grid !important; grid-template-columns: 1.4fr 1fr 1fr 1fr !important; gap: 44px !important; margin-bottom: 44px !important; }
.cpm-home .cpm-footer-brand-name { font-family: 'Source Sans 3', sans-serif !important; font-weight: 700 !important; font-size: 17px !important; color: white !important; text-transform: uppercase !important; letter-spacing: .02em !important; margin-bottom: 4px !important; }
.cpm-home .cpm-footer-brand-sub { font-size: 12px !important; color: #d4e8d9 !important; font-style: italic !important; margin-bottom: 14px !important; display: block !important; }
.cpm-home .cpm-footer-brand p { font-size: 14px !important; line-height: 1.7 !important; color: rgba(255,255,255,.85) !important; }
.cpm-home .cpm-footer h4 { font-family: 'Source Sans 3', sans-serif !important; font-weight: 700 !important; font-size: 13px !important; text-transform: uppercase !important; letter-spacing: .1em !important; color: white !important; margin-bottom: 18px !important; }
.cpm-home .cpm-footer ul li { margin-bottom: 9px !important; }
.cpm-home .cpm-footer ul a { color: rgba(255,255,255,.85) !important; font-size: 14px !important; }
.cpm-home .cpm-footer ul a:hover { color: #fff !important; }
.cpm-home .cpm-footer-bottom { border-top: 1px solid rgba(255,255,255,.08) !important; padding-top: 22px !important; display: flex !important; justify-content: space-between !important; font-size: 13px !important; color: rgba(255,255,255,.8) !important; }
.cpm-home .cpm-footer-bottom a { color: rgba(255,255,255,.8) !important; font-size: 13px !important; }
.cpm-home .cpm-footer-bottom a:hover { color: #fff !important; }
.cpm-home .cpm-legal-links { display: flex !important; gap: 18px !important; }

/* ======= RESPONSIVE ======= */
@media (max-width: 900px) {
  .cpm-home .cpm-hero-content, .cpm-home .cpm-community-grid, .cpm-home .cpm-dual-path, .cpm-home .cpm-analysis-grid { grid-template-columns: 1fr !important; }
  .cpm-home .cpm-hero-left h1 { font-size: 35px !important; }
  .cpm-home .cpm-services-grid, .cpm-home .cpm-faq-grid, .cpm-home .cpm-test-grid, .cpm-home .cpm-blog-grid { grid-template-columns: 1fr !important; }
  .cpm-home .cpm-listings-grid { grid-template-columns: 1fr 1fr !important; }
  .cpm-home .cpm-tenant-grid { grid-template-columns: 1fr 1fr !important; }
  .cpm-home .cpm-footer-grid { grid-template-columns: 1fr 1fr !important; }
  .cpm-home .cpm-cta-photo-banner .cpm-banner-content { flex-direction: column !important; text-align: center !important; }
  .cpm-home .cpm-photo-mosaic { grid-template-columns: 1fr !important; height: auto !important; }
  .cpm-home .cpm-mosaic-cell { height: 200px !important; }
  .cpm-home .cpm-community-text { padding: 40px 24px !important; }
  .cpm-home .cpm-container { padding: 0 22px !important; }
  .cpm-home .cpm-nav { display: none !important; }
  .cpm-home .cpm-trust-row { gap: 28px !important; }
  .cpm-home .cpm-section-header h2 { font-size: 28px !important; }
}
@media (max-width: 600px) {
  .cpm-home .cpm-hero-left h1 { font-size: 28px !important; }
  .cpm-home .cpm-listings-grid { grid-template-columns: 1fr !important; }
  .cpm-home .cpm-tenant-grid { grid-template-columns: 1fr !important; }
  .cpm-home .cpm-stat-row { grid-template-columns: 1fr !important; }
  .cpm-home .cpm-form-row { grid-template-columns: 1fr !important; }
  .cpm-home .cpm-footer-grid { grid-template-columns: 1fr !important; }
  .cpm-home .cpm-footer-bottom { flex-direction: column !important; gap: 10px !important; text-align: center !important; }
  .cpm-home .cpm-legal-links { flex-wrap: wrap !important; justify-content: center !important; }
  .cpm-home .cpm-section-header h2 { font-size: 24px !important; }
}
