/* === ASPEN LAND MANAGEMENT - GLOBAL CUSTOM CSS === */

/* Full-width content for custom HTML pages */
.wp-site-blocks { padding: 0 !important; }
.entry-content { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.wp-block-html { max-width: 100% !important; }
.alm-page { width: 100%; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

/* Remove default theme padding on pages with alm-page */
body:has(.alm-page) .wp-site-blocks > * { padding-inline: 0 !important; }
body:has(.alm-page) .entry { padding: 0 !important; }

/* Brand colors */
:root {
	  --alm-green-dark: #0d2e1a;
	  --alm-green-mid: #1a5c2a;
	  --alm-green-light: #6fcf8a;
	  --alm-black: #0a0a0a;
	  --alm-near-black: #060606;
}

/* Fix Assembler theme content width */
.has-global-padding { padding-inline: 0 !important; }
.wp-block-post-content { max-width: 100% !important; }
.is-layout-constrained > * { max-width: 100% !important; }

}

/* === ACCESSIBILITY: Color Contrast Fixes (WCAG AA) === */
.alm-hero-eyebrow { color: rgba(255, 255, 255, 0.85) !important; }
.alm-hero-sub { color: rgba(255, 255, 255, 0.85) !important; }
.alm-trust-item { color: rgba(255, 255, 255, 0.80) !important; }
.alm-trust-dot { color: rgba(255, 255, 255, 0.80) !important; }
.alm-eyebrow { color: rgba(255, 255, 255, 0.80) !important; }
.alm-desc { color: rgba(255, 255, 255, 0.82) !important; }
.alm-stat-label { color: rgba(255, 255, 255, 0.80) !important; }
.alm-service-desc { color: rgba(255, 255, 255, 0.80) !important; }
.alm-service-arrow { color: rgba(255, 255, 255, 0.75) !important; }
.alm-project-desc { color: rgba(255, 255, 255, 0.80) !important; }

/* Stronger specificity overrides for elements with inline style blocks */
body .alm-hero-eyebrow { color: rgba(255, 255, 255, 0.85) !important; }
body .alm-trust-dot { color: rgba(255, 255, 255, 0.85) !important; }

/* Footer contrast fixes (inline-style-block override) */
body .alm-footer-brand p { color: rgba(255, 255, 255, 0.80) !important; }
body .alm-footer-col h4 { color: rgba(255, 255, 255, 0.80) !important; }
body .alm-footer-col ul li a { color: rgba(255, 255, 255, 0.80) !important; }
body .alm-footer-social a { color: rgba(255, 255, 255, 0.80) !important; }
body .alm-footer-copy, body .alm-footer-cert { color: rgba(255, 255, 255, 0.75) !important; }
body .alm-footer-bottom p { color: rgba(255, 255, 255, 0.75) !important; }

.share-customize-link { display: none !important; }

/* ── FIX HERO BACKGROUND IMAGE OVERRIDE ── */
/* Override anything that sets background-image:none on hero */
.alm-hero-bg[style] {
  background-image: url('/wp-content/uploads/2026/06/S2Sr5hGjeYV.webp') !important;
}
section.alm-hero .alm-hero-bg {
  background-size: cover !important;
  background-position: center !important;
}
/* Ensure hero has fallback gradient even without image */
.alm-hero {
  background: linear-gradient(135deg, #0d1f0f 0%, #0d2e1a 40%, #1a3d20 70%, #0d2e1a 100%) !important;
}

/* ── FIX SERVICES SECTION EYEBROW TEXT ── */
.alm-section-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #6fcf8a;
  margin-bottom: 16px;
}

/* ── FIX COMMON PROJECTS SECTION H2 ── */
.alm-projects h2 {
  font-size: clamp(28px,3.5vw,44px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 24px;
}

/* ── FIX HOW IT WORKS SECTION ── */
.alm-how {
  background: #0f0f0f !important;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}


/* ============================================
   LOCATION PAGE STYLES (lp-*)
   Moved from inline <style> to prevent wpautop corruption
   ============================================ */
.lp-wrap { max-width:1100px; margin:0 auto; padding:0 24px; }

/* Section 1: Hero */
.lp-hero { background:linear-gradient(135deg,#0d2b0f 0%,#1a4d1e 100%); color:#fff; padding:72px 24px 60px; text-align:center; }
.lp-hero-eyebrow { font-size:13px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:#7fd87f; margin-bottom:16px; }
.lp-hero h1 { font-size:clamp(28px,4vw,48px); font-weight:800; line-height:1.15; margin:0 0 20px; color:#fff; }
.lp-hero-intro { font-size:18px; line-height:1.7; max-width:780px; margin:0 auto 36px; color:#d4edda; }
.lp-hero-btns { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
.lp-btn-primary { background:#3a9e3a; color:#fff; padding:16px 32px; border-radius:6px; font-size:17px; font-weight:700; text-decoration:none; display:inline-block; }
.lp-btn-primary:hover { background:#2e7d2e; }
.lp-btn-secondary { background:transparent; color:#fff; padding:14px 28px; border-radius:6px; font-size:16px; font-weight:600; text-decoration:none; display:inline-block; border:2px solid rgba(255,255,255,0.6); }
.lp-btn-secondary:hover { border-color:#fff; }

/* Section 2: Why This Area */
.lp-area { background:#fff; padding:64px 24px; }
.lp-area h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:#0d2b0f; margin:0 0 20px; }
.lp-area p { font-size:17px; line-height:1.8; color:#2d2d2d; max-width:900px; margin:0 0 16px; }

/* Section 3: Services Grid */
.lp-services { background:#f6f9f6; padding:64px 24px; }
.lp-services h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:#0d2b0f; margin:0 0 12px; text-align:center; }
.lp-services-sub { font-size:17px; color:#444; text-align:center; margin:0 0 40px; }
.lp-svc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; max-width:1100px; margin:0 auto; }
.lp-svc-card { background:#fff; border-radius:10px; padding:28px 24px; border-left:5px solid #3a9e3a; box-shadow:0 2px 12px rgba(0,0,0,0.07); }
.lp-svc-card h3 { font-size:18px; font-weight:700; color:#0d2b0f; margin:0 0 10px; }
.lp-svc-card h3 a { color:#0d2b0f; text-decoration:none; }
.lp-svc-card h3 a:hover { color:#3a9e3a; }
.lp-svc-card p { font-size:15px; line-height:1.65; color:#444; margin:0; }

/* Section 4: Property Types */
.lp-props { background:#fff; padding:64px 24px; }
.lp-props h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:#0d2b0f; margin:0 0 36px; text-align:center; }
.lp-props-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; max-width:1100px; margin:0 auto; }
.lp-prop-card { background:#f6f9f6; border-radius:8px; padding:24px 20px; text-align:center; }
.lp-prop-icon { font-size:32px; margin-bottom:10px; }
.lp-prop-card h3 { font-size:16px; font-weight:700; color:#0d2b0f; margin:0 0 8px; }
.lp-prop-card p { font-size:14px; color:#555; line-height:1.6; margin:0; }

/* Section 5: Scope Disclaimer */
.lp-scope { background:#0d2b0f; color:#fff; padding:56px 24px; }
.lp-scope h2 { font-size:clamp(20px,2.5vw,28px); font-weight:800; color:#7fd87f; margin:0 0 20px; }
.lp-scope p { font-size:16px; line-height:1.8; color:#c8e6c9; max-width:900px; margin:0; }

/* Section 6: Quote Process */
.lp-process { background:#f6f9f6; padding:64px 24px; }
.lp-process h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:#0d2b0f; margin:0 0 40px; text-align:center; }
.lp-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; max-width:900px; margin:0 auto; }
.lp-step { text-align:center; }
.lp-step-num { width:52px; height:52px; background:#3a9e3a; color:#fff; border-radius:50%; font-size:20px; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.lp-step p { font-size:16px; color:#2d2d2d; line-height:1.6; margin:0; font-weight:600; }

/* Section 7: Service Area Map-Text */
.lp-area-txt { background:#fff; padding:64px 24px; }
.lp-area-txt h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:#0d2b0f; margin:0 0 20px; }
.lp-area-txt p { font-size:17px; line-height:1.8; color:#2d2d2d; max-width:900px; margin:0 0 16px; }

/* Section 8: FAQ */
.lp-faq { background:#f6f9f6; padding:64px 24px; }
.lp-faq h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:#0d2b0f; margin:0 0 36px; text-align:center; }
.lp-faq-list { max-width:900px; margin:0 auto; }
.lp-faq-item { background:#fff; border-radius:8px; padding:24px 28px; margin-bottom:16px; border-left:4px solid #3a9e3a; }
.lp-faq-item h3 { font-size:17px; font-weight:700; color:#0d2b0f; margin:0 0 10px; }
.lp-faq-item p { font-size:16px; line-height:1.7; color:#444; margin:0; }

/* Section 9: Final CTA */
.lp-cta { background:linear-gradient(135deg,#0d2b0f 0%,#1a4d1e 100%); color:#fff; padding:72px 24px; text-align:center; }
.lp-cta h2 { font-size:clamp(24px,3.5vw,40px); font-weight:800; color:#fff; margin:0 0 16px; }
.lp-cta p { font-size:18px; color:#d4edda; margin:0 0 36px; max-width:700px; margin-left:auto; margin-right:auto; }
.lp-cta-btns { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }

@media(max-width:600px){
  .lp-hero { padding:48px 16px 40px; }
  .lp-svc-grid, .lp-props-grid, .lp-steps { grid-template-columns:1fr; }
}

/* ============================================
   CONTACT FORM FIXES (CF7 / wpcf7)
   Fixes label sizing, file inputs, checkbox,
   select dropdowns, and overall form polish
   ============================================ */

/* --- Form paragraph spacing & layout --- */
.wpcf7-form p {
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.wpcf7-form p:last-of-type { margin-bottom: 0 !important; }

/* --- Labels: readable size, proper weight --- */
.wpcf7-form label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.65) !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
}

/* --- Text / email / tel / number / textarea inputs --- */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 8px !important;
  padding: 13px 16px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-family: 'Open Sans', sans-serif !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, background 0.2s !important;
  display: block !important;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form textarea:focus {
  border-color: rgba(111,207,138,0.7) !important;
  background: rgba(255,255,255,0.08) !important;
}
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: rgba(255,255,255,0.35) !important;
}

/* --- Textarea height --- */
.wpcf7-form textarea { min-height: 130px !important; resize: vertical !important; }

/* --- Select dropdowns --- */
.wpcf7-form select {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 8px !important;
  padding: 13px 40px 13px 16px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-family: 'Open Sans', sans-serif !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.5)' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  display: block !important;
  transition: border-color 0.2s !important;
}
.wpcf7-form select:focus {
  border-color: rgba(111,207,138,0.7) !important;
}
.wpcf7-form select option { background: #1a1a1a !important; color: #fff !important; }

/* --- File inputs: clean dark style --- */
.wpcf7-form input[type="file"] {
  width: 100% !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px dashed rgba(255,255,255,0.25) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  color: rgba(255,255,255,0.6) !important;
  font-size: 14px !important;
  font-family: 'Open Sans', sans-serif !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  display: block !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.wpcf7-form input[type="file"]:hover {
  border-color: rgba(111,207,138,0.5) !important;
  background: rgba(255,255,255,0.07) !important;
}
.wpcf7-form input[type="file"]::file-selector-button {
  background: rgba(111,207,138,0.15) !important;
  border: 1px solid rgba(111,207,138,0.4) !important;
  border-radius: 5px !important;
  color: #6fcf8a !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  margin-right: 12px !important;
  cursor: pointer !important;
  font-family: 'Open Sans', sans-serif !important;
  transition: background 0.2s !important;
}
.wpcf7-form input[type="file"]::file-selector-button:hover {
  background: rgba(111,207,138,0.25) !important;
}

/* --- Radio buttons: styled row --- */
.wpcf7-form .wpcf7-radio { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; }
.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  display: flex !important; align-items: center !important;
  gap: 8px !important; margin: 0 !important;
}
.wpcf7-form .wpcf7-radio input[type="radio"] {
  width: 18px !important; height: 18px !important;
  accent-color: #6fcf8a !important;
  cursor: pointer !important;
  margin: 0 !important; padding: 0 !important;
  border: none !important; background: none !important;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item-label {
  font-size: 14px !important;
  color: rgba(255,255,255,0.8) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* --- Checkbox: consent --- */
.wpcf7-form .wpcf7-acceptance { display: flex !important; align-items: flex-start !important; gap: 10px !important; }
.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
  width: 18px !important; height: 18px !important; min-width: 18px !important;
  accent-color: #6fcf8a !important;
  cursor: pointer !important; margin: 2px 0 0 !important;
  padding: 0 !important; border: none !important; background: none !important;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label {
  font-size: 13px !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* --- Checkbox list items (checkboxes) --- */
.wpcf7-form .wpcf7-checkbox { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  display: flex !important; align-items: center !important; gap: 8px !important; margin: 0 !important;
}
.wpcf7-form .wpcf7-checkbox input[type="checkbox"] {
  width: 16px !important; height: 16px !important;
  accent-color: #6fcf8a !important; cursor: pointer !important;
  margin: 0 !important; padding: 0 !important; border: none !important; background: none !important;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label {
  font-size: 14px !important;
  color: rgba(255,255,255,0.8) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* --- Submit button --- */
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit {
  width: 100% !important;
  background: #3a9e3a !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 17px 32px !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-family: 'Open Sans', sans-serif !important;
  transition: background 0.2s !important;
  display: block !important;
  margin-top: 8px !important;
}
.wpcf7-form input[type="submit"]:hover {
  background: #2e7d2e !important;
}

/* --- Validation errors: show inline --- */
.wpcf7-not-valid-tip {
  display: block !important;
  font-size: 12px !important;
  color: #ff7b7b !important;
  margin-top: 5px !important;
}
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid {
  border-color: rgba(255,100,100,0.6) !important;
}

/* --- Response output (success/error message) --- */
.wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 14px 18px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  border: none !important;
  font-weight: 600 !important;
}
.wpcf7-mail-sent-ok {
  background: rgba(58,158,58,0.2) !important;
  color: #6fcf8a !important;
  border-left: 4px solid #3a9e3a !important;
}
.wpcf7-mail-sent-ng,
.wpcf7-spam-blocked,
.wpcf7-aborted {
  background: rgba(255,100,100,0.15) !important;
  color: #ff9090 !important;
  border-left: 4px solid rgba(255,100,100,0.6) !important;
}

/* --- wpcf7-form-control-wrap: remove default spacing --- */
.wpcf7-form-control-wrap { display: block !important; }

/* --- Remove CF7 spinner (use CSS animation) --- */
.wpcf7-spinner { display: none !important; }

/* ============================================
   FORM FIXES — ROUND 2: Consent + File inputs
   ============================================ */

/* Consent/acceptance label: normal size, not uppercase */
.wpcf7-form p:has(.wpcf7-acceptance) > label,
.wpcf7-form label:has(.wpcf7-acceptance) {
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: rgba(255,255,255,0.6) !important;
  font-weight: 400 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
}
/* Checkbox inside consent */
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item input[type="checkbox"],
.wpcf7-form label .wpcf7-acceptance input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  accent-color: #6fcf8a !important;
  cursor: pointer !important;
  margin: 2px 0 0 !important;
}

/* File input: override all existing rules */
.wpcf7-form input[type="file"],
.wpcf7-form .wpcf7-file {
  width: 100% !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1.5px dashed rgba(255,255,255,0.22) !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  color: rgba(255,255,255,0.55) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  display: block !important;
}
.wpcf7-form input[type="file"]:hover,
.wpcf7-form .wpcf7-file:hover {
  border-color: rgba(111,207,138,0.45) !important;
  background: rgba(255,255,255,0.08) !important;
}
/* Style the "Choose File" button using ::file-selector-button */
.wpcf7-form input[type="file"]::file-selector-button {
  background: rgba(58,158,58,0.18) !important;
  border: 1px solid rgba(111,207,138,0.45) !important;
  border-radius: 5px !important;
  color: #7fd87f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  margin-right: 14px !important;
  cursor: pointer !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
.wpcf7-form input[type="file"]::-webkit-file-upload-button {
  background: rgba(58,158,58,0.18) !important;
  border: 1px solid rgba(111,207,138,0.45) !important;
  border-radius: 5px !important;
  color: #7fd87f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  margin-right: 14px !important;
  cursor: pointer !important;
}

/* Service needed checkbox list: vertical with green ticks */
.wpcf7-form .wpcf7-checkbox {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 8px 16px !important;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  display: flex !important; align-items: center !important; gap: 8px !important; margin: 0 !important;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label {
  font-size: 14px !important;
  color: rgba(255,255,255,0.8) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

/* ============================================
   CHECKBOX VISIBILITY FIX — dark background
   Native checkbox needs outline to be visible
   ============================================ */

/* Make native checkboxes visible on dark background */
.wpcf7-form input[type="checkbox"] {
  outline: 1.5px solid rgba(255,255,255,0.4) !important;
  outline-offset: 0 !important;
  border-radius: 3px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  accent-color: #6fcf8a !important;
  cursor: pointer !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
  flex-shrink: 0 !important;
}
.wpcf7-form input[type="checkbox"]:checked {
  outline-color: #6fcf8a !important;
  accent-color: #6fcf8a !important;
}

/* Consent / acceptance wrapper - flex row with gap */
.wpcf7-form .wpcf7-acceptance {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  flex-direction: row !important;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
  display: contents !important;
}

/* File input "Choose File" button -- override page inline styles */
.wpcf7-form input[type="file"]::file-selector-button,
.wpcf7-form input[type="file"]::-webkit-file-upload-button {
  background: rgba(40,120,40,0.25) !important;
  border: 1px solid rgba(111,207,138,0.5) !important;
  border-radius: 5px !important;
  color: #9fe09f !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  margin-right: 12px !important;
  cursor: pointer !important;
}

/* ============================================
   CF7 FORM VALIDATION ERROR STYLES
   ============================================ */

/* Highlight invalid fields with red border */
.wpcf7-form .wpcf7-not-valid,
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid {
  border-color: #e05252 !important;
  background-color: rgba(224, 82, 82, 0.08) !important;
  box-shadow: 0 0 0 2px rgba(224, 82, 82, 0.25) !important;
}

/* Show the inline "Please fill out this field." error tips */
.wpcf7-form .wpcf7-not-valid-tip {
  display: block !important;
  color: #f08080 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  margin-top: 5px !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* Make the form-wide error message banner stand out */
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output {
  display: block !important;
  background-color: rgba(224, 82, 82, 0.12) !important;
  border: 1.5px solid rgba(224, 82, 82, 0.6) !important;
  border-left: 4px solid #e05252 !important;
  color: #f08080 !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  margin-top: 12px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Success message styling */
.wpcf7-form.sent .wpcf7-response-output {
  display: block !important;
  background-color: rgba(111, 207, 138, 0.12) !important;
  border: 1.5px solid rgba(111, 207, 138, 0.5) !important;
  border-left: 4px solid #6fcf8a !important;
  color: #6fcf8a !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  margin-top: 12px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Label color highlight for invalid fields */
.wpcf7-form span.wpcf7-form-control-wrap:has(.wpcf7-not-valid) + span,
.wpcf7-form label:has(.wpcf7-not-valid) {
  color: #f08080 !important;
}


/* ── PROCESS LOCATION BLOCK ── */
.alm-process-loc {
  background: #0a0a0a;
  padding: 28px 60px;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.alm-ploc-inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.alm-ploc-text {
  font-size: 14px;
  color: rgba(255,255,255,.45);
  line-height: 1.7;
  margin: 0;
  font-style: italic;
}
@media (max-width: 768px) {
  .alm-process-loc { padding: 20px 24px; }
  .alm-ploc-text { font-size: 13px; }
}

/* === SERVICE AREA PAGES === */

/* ============================================
   ALM SERVICE AREA PAGE STYLES
   ============================================ */
@keyframes alm-sa-fadein {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes alm-sa-slidein-left {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes alm-sa-badge-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(77,222,128,.4); }
  50% { box-shadow: 0 0 0 8px rgba(77,222,128,0); }
}
.alm-sa-anim { opacity: 0; }
.alm-sa-anim.alm-sa-visible { animation: alm-sa-fadein 0.7s cubic-bezier(.22,.68,0,1.2) forwards; }
.alm-sa-page { background: #0a0a0a; color: #fff; font-family: inherit; }
.alm-sa-hero { background: linear-gradient(135deg, #051a08 0%, #0d2e1a 40%, #0a1f10 100%); padding: 100px 24px 80px; position: relative; overflow: hidden; }
.alm-sa-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 50%, rgba(61,184,95,.08) 0%, transparent 60%); pointer-events: none; }
.alm-sa-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(77,222,128,.3), transparent); }
.alm-sa-hero-inner { max-width: 900px; margin: 0 auto; animation: alm-sa-fadein 0.8s ease forwards; }
.alm-sa-badge { display: inline-block; background: rgba(77,222,128,.12); border: 1px solid rgba(77,222,128,.35); color: #4ade80; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 6px 14px; border-radius: 4px; margin-bottom: 20px; animation: alm-sa-badge-pulse 2.5s ease infinite; }
.alm-sa-h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 800; line-height: 1.1; color: #fff; margin: 0 0 20px; letter-spacing: -0.02em; }
.alm-sa-intro { font-size: 1.1rem; color: rgba(255,255,255,.75); max-width: 720px; line-height: 1.7; margin: 0 0 32px; }
.alm-sa-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.alm-sa-btn-primary { display: inline-block; background: #3db85f; color: #fff !important; font-weight: 700; font-size: .95rem; padding: 14px 28px; border-radius: 4px; text-decoration: none !important; transition: background .2s, transform .2s, box-shadow .2s; box-shadow: 0 4px 20px rgba(61,184,95,.3); }
.alm-sa-btn-primary:hover { background: #2ea34f; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(61,184,95,.45); color: #fff !important; }
.alm-sa-btn-secondary { display: inline-block; background: transparent; color: #fff !important; font-weight: 600; font-size: .95rem; padding: 13px 28px; border-radius: 4px; border: 1.5px solid rgba(255,255,255,.3); text-decoration: none !important; transition: border-color .2s, background .2s, transform .2s; }
.alm-sa-btn-secondary:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); transform: translateY(-2px); color: #fff !important; }
.alm-sa-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.alm-sa-chip { font-size: .78rem; font-weight: 600; letter-spacing: .06em; color: rgba(255,255,255,.55); text-transform: uppercase; }
.alm-sa-about { background: #0f0f0f; padding: 80px 24px; border-top: 1px solid rgba(255,255,255,.06); }
.alm-sa-about-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 340px; gap: 60px; align-items: start; }
.alm-sa-eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #4ade80; margin-bottom: 12px; }
.alm-sa-h2 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 800; color: #fff; margin: 0 0 20px; line-height: 1.15; letter-spacing: -0.01em; }
.alm-sa-about-text p { color: rgba(255,255,255,.72); line-height: 1.75; margin-bottom: 16px; font-size: 1rem; }
.alm-sa-about-stats { display: flex; flex-direction: column; gap: 0; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; overflow: hidden; }
.alm-sa-stat { padding: 24px 28px; border-bottom: 1px solid rgba(255,255,255,.06); transition: background .2s; }
.alm-sa-stat:last-child { border-bottom: none; }
.alm-sa-stat:hover { background: rgba(77,222,128,.04); }
.alm-sa-stat-num { display: block; font-size: 2rem; font-weight: 800; color: #4ade80; line-height: 1; margin-bottom: 4px; }
.alm-sa-stat-lbl { display: block; font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.alm-sa-services { background: #080808; padding: 80px 24px; border-top: 1px solid rgba(255,255,255,.06); }
.alm-sa-services-inner { max-width: 1100px; margin: 0 auto; }
.alm-sa-services-sub { color: rgba(255,255,255,.6); max-width: 680px; margin-bottom: 48px; font-size: 1rem; line-height: 1.7; }
.alm-sa-scards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.alm-sa-scard { display: flex; flex-direction: column; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: 28px 24px; text-decoration: none !important; transition: border-color .25s, background .25s, transform .25s, box-shadow .25s; position: relative; overflow: hidden; }
.alm-sa-scard::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #3db85f, #4ade80); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.alm-sa-scard:hover { border-color: rgba(77,222,128,.35); background: rgba(77,222,128,.05); transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.4); }
.alm-sa-scard:hover::before { transform: scaleX(1); }
.alm-sa-snum { font-size: .75rem; font-weight: 700; letter-spacing: .1em; color: #4ade80; margin-bottom: 10px; display: block; }
.alm-sa-sname { font-size: 1rem; font-weight: 700; color: #fff; display: block; margin-bottom: 10px; line-height: 1.3; }
.alm-sa-sdesc { font-size: .88rem; color: rgba(255,255,255,.55); line-height: 1.6; display: block; flex: 1; }
.alm-sa-sarrow { display: block; font-size: .8rem; font-weight: 700; color: #4ade80; margin-top: 18px; letter-spacing: .04em; transition: letter-spacing .2s; }
.alm-sa-scard:hover .alm-sa-sarrow { letter-spacing: .1em; }
.alm-sa-process { background: #0d2e1a; padding: 80px 24px; position: relative; overflow: hidden; }
.alm-sa-process::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%, rgba(61,184,95,.06) 0%, transparent 60%); pointer-events: none; }
.alm-sa-process-inner { max-width: 1100px; margin: 0 auto; position: relative; }
.alm-sa-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 40px; }
.alm-sa-step { background: rgba(0,0,0,.3); border: 1px solid rgba(77,222,128,.15); border-radius: 8px; padding: 32px 28px; position: relative; transition: border-color .25s, background .25s, transform .25s; }
.alm-sa-step:hover { border-color: rgba(77,222,128,.4); background: rgba(0,0,0,.5); transform: translateY(-4px); }
.alm-sa-step-num { display: block; font-size: 2.5rem; font-weight: 800; color: rgba(77,222,128,.25); line-height: 1; margin-bottom: 12px; transition: color .25s; }
.alm-sa-step:hover .alm-sa-step-num { color: rgba(77,222,128,.6); }
.alm-sa-step strong { display: block; font-size: 1.05rem; font-weight: 700; color: #fff; margin-bottom: 10px; }
.alm-sa-step p { font-size: .9rem; color: rgba(255,255,255,.65); line-height: 1.65; margin: 0; }
.alm-sa-areas { background: #0f0f0f; padding: 80px 24px; border-top: 1px solid rgba(255,255,255,.06); }
.alm-sa-areas-inner { max-width: 1100px; margin: 0 auto; }
.alm-sa-areas-text { color: rgba(255,255,255,.65); font-size: 1rem; line-height: 1.8; margin-bottom: 32px; max-width: 800px; }
.alm-sa-nearby { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 8px; }
.alm-sa-nearby-label { font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-right: 4px; }
.alm-sa-area-chip { display: inline-block; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.8) !important; font-size: .85rem; font-weight: 500; padding: 8px 16px; border-radius: 4px; text-decoration: none !important; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.alm-sa-area-chip:hover { background: rgba(77,222,128,.1); border-color: rgba(77,222,128,.4); color: #4ade80 !important; transform: translateY(-2px); }
.alm-sa-cta { background: linear-gradient(135deg, #0d2e1a 0%, #1a4d1e 100%); padding: 80px 24px; text-align: center; position: relative; overflow: hidden; border-top: 1px solid rgba(77,222,128,.2); }
.alm-sa-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%, rgba(77,222,128,.1) 0%, transparent 60%); pointer-events: none; }
.alm-sa-cta-inner { max-width: 700px; margin: 0 auto; position: relative; }
.alm-sa-cta-h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; color: #fff; margin: 0 0 16px; letter-spacing: -0.01em; }
.alm-sa-cta p { color: rgba(255,255,255,.7); font-size: 1.05rem; margin-bottom: 32px; line-height: 1.65; }
.alm-sa-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 900px) {
  .alm-sa-about-inner { grid-template-columns: 1fr; }
  .alm-sa-scards { grid-template-columns: repeat(2, 1fr); }
  .alm-sa-steps { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
  .alm-sa-hero { padding: 70px 16px 56px; }
  .alm-sa-about, .alm-sa-services, .alm-sa-process, .alm-sa-areas, .alm-sa-cta { padding: 56px 16px; }
  .alm-sa-scards { grid-template-columns: 1fr; }
  .alm-sa-h1 { font-size: 2rem; }
  .alm-sa-h2 { font-size: 1.6rem; }
  .alm-sa-hero-ctas { flex-direction: column; }
}

/* === Services page intro-stat fix === */
.alm-svcs-intro-stat { color: rgba(255,255,255,0.85) !important; }
.alm-svcs-intro-stat h3, .alm-svcs-intro-stat strong, .alm-svcs-intro-stat b { color: #fff !important; font-weight: 700; }
.alm-svcs-intro-stat p, .alm-svcs-intro-stat span { color: rgba(255,255,255,0.65) !important; }


/* === Not Sure / Service Guide Bottom Section === */
.sp-content-section {
	  background-color: #0a0f0a !important;
	  color: #e8e8e8 !important;
	  padding: 80px 40px !important;
	  max-width: 1200px !important;
	  margin: 0 auto !important;
}

.sp-content-section h2 {
	  color: #ffffff !important;
	  font-size: 2rem !important;
	  font-weight: 700 !important;
	  margin-bottom: 32px !important;
	  margin-top: 0 !important;
	  letter-spacing: -0.5px !important;
}

.sp-content-section h2:first-child {
	  font-size: 2.4rem !important;
	  border-left: 4px solid #4ade80 !important;
	  padding-left: 20px !important;
	  margin-bottom: 40px !important;
}

.sp-content-section h2:last-of-type {
	  margin-top: 72px !important;
	  font-size: 2rem !important;
	  border-left: 4px solid #4ade80 !important;
	  padding-left: 20px !important;
}

.sp-content-section p {
	  color: #d1d5db !important;
	  font-size: 1rem !important;
	  line-height: 1.75 !important;
	  margin-bottom: 16px !important;
	  padding: 16px 20px !important;
	  background: rgba(255,255,255,0.04) !important;
	  border-radius: 8px !important;
	  border-left: 3px solid #1a3d2b !important;
}

.sp-content-section p strong,
.sp-content-section p b {
	  color: #4ade80 !important;
	  font-weight: 700 !important;
}

.sp-content-section table {
	  width: 100% !important;
	  border-collapse: collapse !important;
	  border-radius: 12px !important;
	  overflow: hidden !important;
	  margin-top: 24px !important;
}

.sp-content-section table th {
	  background-color: #1a3d2b !important;
	  color: #4ade80 !important;
	  font-weight: 700 !important;
	  text-transform: uppercase !important;
	  letter-spacing: 0.08em !important;
	  font-size: 0.8rem !important;
	  padding: 16px 24px !important;
	  text-align: left !important;
	  border-bottom: 2px solid #4ade80 !important;
}

.sp-content-section table td {
	  padding: 14px 24px !important;
	  color: #e8e8e8 !important;
	  font-size: 0.95rem !important;
	  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	  background-color: #111a11 !important;
	  vertical-align: middle !important;
}

.sp-content-section table tr:nth-child(even) td {
	  background-color: #0e160e !important;
}

.sp-content-section table tr:hover td {
	  background-color: #1a2e1a !important;
}

.sp-content-section table td a,
.sp-content-section table td a:visited {
	  color: #4ade80 !important;
	  text-decoration: none !important;
	  font-weight: 600 !important;
	  transition: color 0.2s ease !important;
}

.sp-content-section table td a:hover {
	  color: #86efac !important;
	  text-decoration: underline !important;
}
}
}
}
}
}
}
}
}
}
}
}
}
}

/* === PRIVACY POLICY PAGE STYLES === */
.page-id-557 .elementor-widget-text-editor h1,
.page-id-557 .elementor-widget-text-editor h2,
.page-id-557 .elementor-widget-text-editor h3 {
	    color: #ffffff !important;
	    font-weight: 700;
	    margin-top: 40px;
	    margin-bottom: 15px;
}
.page-id-557 .elementor-widget-text-editor h1 {
	    font-size: 42px;
	    margin-top: 0;
}
.page-id-557 .elementor-widget-text-editor h2 {
	    font-size: 28px;
	    color: #e8e8e8 !important;
	    border-bottom: 2px solid #2d6a4f;
	    padding-bottom: 10px;
}
.page-id-557 .elementor-widget-text-editor p,
.page-id-557 .elementor-widget-text-editor li {
	    color: #d4d4d4 !important;
	    font-size: 16px;
	    line-height: 1.8;
	    margin-bottom: 15px;
}
.page-id-557 .elementor-widget-text-editor strong {
	    color: #ffffff !important;
}
.page-id-557 .elementor-widget-text-editor ul {
	    padding-left: 20px;
	    margin-bottom: 20px;
}
.page-id-557 .elementor-widget-text-editor li {
	    margin-bottom: 8px;
}
/* === END PRIVACY POLICY PAGE STYLES === */
}
}
}
}
}
}
}

/* === BLOG PAGE FULL-WIDTH FIX === */
/* Fix horizontal overflow causing misaligned full-width sections */
html.is-block-theme {
  overflow-x: hidden;
}

html.is-block-theme body {
  overflow-x: hidden;
}

/* Blog page: make alignfull sections truly full-width */
.blog .wp-site-blocks {
  overflow-x: hidden;
}

.blog main.wp-block-group {
  max-width: 100% !important;
  width: 100% !important;
}

.blog .wp-block-group.alignfull {
  width: calc(100vw) !important;
  max-width: 100vw !important;
  margin-left: calc(-1 * (100vw - 100%) / 2) !important;
  margin-right: calc(-1 * (100vw - 100%) / 2) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Keep inner content padded */
.blog .wp-block-group.alignfull > .wp-block-group.has-global-padding,
.blog .wp-block-group.alignfull > div {
  padding-left: max(30px, 5%) !important;
  padding-right: max(30px, 5%) !important;
}


/* ===== ASPEN LAND MANAGEMENT — LANDING PAGE STYLES ===== */
#alp-lp, #alp-lp * { box-sizing: border-box; }
#alp-lp { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

/* URGENCY BANNER */
.alp-urg { background: #1e5c2a; color: #e0f0e5; text-align: center; padding: 11px 16px; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.02em; }
.alp-urg a { color: #5bce7f; text-decoration: none; font-weight: 700; }

/* HERO */
.alp-hero { background: #0a1a0d; padding: 80px 20px 64px; text-align: center; position: relative; }
.alp-badge { display: inline-block; background: rgba(91,206,127,0.12); border: 1px solid rgba(91,206,127,0.35); color: #5bce7f; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; padding: 6px 16px; border-radius: 30px; margin-bottom: 24px; }
.alp-h1 { font-size: clamp(2.4rem,5vw,4.2rem); font-weight: 900; line-height: 1.1; color: #fff; margin: 0 0 8px; text-transform: uppercase; letter-spacing: -0.01em; }
.alp-h1-outline { display: block; color: transparent; -webkit-text-stroke: 2px #5bce7f; font-size: clamp(2.2rem,4.5vw,3.8rem); }
.alp-h1-cta { display: block; color: #5bce7f; font-size: clamp(2rem,4vw,3.4rem); }
.alp-sub { font-size: clamp(0.95rem,1.5vw,1.1rem); color: #9fcfaf; max-width: 600px; margin: 20px auto 32px; line-height: 1.65; }
.alp-sub strong { color: #5bce7f; }
.alp-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }
.alp-btn-primary { background: #5bce7f; color: #0a1a0d; font-size: 1rem; font-weight: 800; padding: 16px 32px; border-radius: 8px; text-decoration: none; letter-spacing: 0.03em; text-transform: uppercase; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: background 0.2s; }
.alp-btn-primary:hover { background: #4ab56e; }
.alp-btn-secondary { background: transparent; color: #e0f0e5; font-size: 1rem; font-weight: 700; padding: 16px 32px; border-radius: 8px; text-decoration: none; border: 2px solid rgba(255,255,255,0.25); display: inline-flex; align-items: center; gap: 8px; transition: border-color 0.2s; }
.alp-btn-secondary:hover { border-color: #5bce7f; color: #5bce7f; }
.alp-trust { display: flex; gap: 8px 24px; justify-content: center; flex-wrap: wrap; }
.alp-trust span { font-size: 0.78rem; color: #7fb993; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }

/* FORM SECTION */
.alp-form-sec { background: #0d1a10; padding: 72px 20px; border-top: 1px solid #1e3a22; }
.alp-cnt { max-width: 1100px; margin: 0 auto; }
.alp-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
@media (max-width: 900px) { .alp-2col { grid-template-columns: 1fr; gap: 40px; } }
.alp-left h2 { font-size: clamp(1.6rem,3vw,2.4rem); font-weight: 900; color: #fff; margin: 0 0 16px; line-height: 1.15; }
.alp-left h2 span { color: #5bce7f; }
.alp-lp-p { color: #9fcfaf; font-size: 0.95rem; line-height: 1.7; margin: 0 0 24px; }
.alp-cl { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.alp-cl li { font-size: 0.9rem; color: #c8e8d4; display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.alp-fc { background: #162a1a; border: 1px solid #2a4a30; border-radius: 16px; padding: 36px 32px; }
.alp-micro { font-size: 0.85rem; color: #9fcfaf; font-style: italic; margin-bottom: 10px; text-align: center; }
.alp-fc h3 { font-size: 1.4rem; font-weight: 800; color: #fff; margin: 0 0 6px; text-align: center; }
.alp-fc-sub { font-size: 0.78rem; color: #7fb993; text-align: center; margin-bottom: 24px; letter-spacing: 0.02em; }
.alp-2f { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 540px) { .alp-2f { grid-template-columns: 1fr; } }
.alp-fld { margin-bottom: 14px; }
.alp-fld label { display: block; font-size: 0.7rem; font-weight: 700; color: #7fb993; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 6px; }
.alp-fld input, .alp-fld select, .alp-fld textarea { width: 100%; background: #0d1a10; border: 1px solid #2a4a30; border-radius: 8px; color: #e0f0e5; font-size: 0.92rem; padding: 12px 14px; outline: none; transition: border-color 0.2s; font-family: inherit; -webkit-appearance: none; }
.alp-fld input:focus, .alp-fld select:focus, .alp-fld textarea:focus { border-color: #5bce7f; }
.alp-fld input::placeholder, .alp-fld textarea::placeholder { color: #4a6e54; }
.alp-fld select { appearance: none; background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.alp-fld textarea { resize: vertical; min-height: 90px; }
.alp-fld select option { background: #0d1a10; color: #e0f0e5; }
.alp-fsub { width: 100%; background: #5bce7f; color: #0a1a0d; font-size: 0.9rem; font-weight: 800; padding: 16px 20px; border-radius: 8px; border: none; cursor: pointer; letter-spacing: 0.04em; text-transform: uppercase; margin-top: 8px; transition: background 0.2s; font-family: inherit; }
.alp-fsub:hover { background: #4ab56e; }
.alp-fnote { text-align: center; margin-top: 12px; font-size: 0.76rem; color: #7fb993; }
.alp-ftalk { text-align: center; margin-top: 8px; font-size: 0.82rem; color: #9fcfaf; }
.alp-ftalk a { color: #5bce7f; font-weight: 700; text-decoration: none; }
.alp-ftalk a:hover { text-decoration: underline; }

/* HOW IT WORKS */
.alp-how { background: #0a1a0d; padding: 72px 20px; text-align: center; border-top: 1px solid #1e3a22; }
.alp-sec-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.15em; color: #5bce7f; text-transform: uppercase; display: block; margin-bottom: 12px; }
.alp-how h2 { font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 900; color: #fff; margin: 0 0 12px; }
.alp-how-sub { color: #9fcfaf; font-size: 1rem; max-width: 560px; margin: 0 auto 48px; line-height: 1.6; }
.alp-steps { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; max-width: 1000px; margin: 0 auto; }
.alp-step { background: #162a1a; border: 1px solid #2a4a30; border-radius: 14px; padding: 32px 24px; flex: 1; min-width: 240px; max-width: 300px; }
.alp-step-num { width: 52px; height: 52px; border-radius: 50%; background: #1e5c2a; border: 2px solid #5bce7f; color: #5bce7f; font-size: 1.5rem; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.alp-step h3 { font-size: 1rem; font-weight: 800; color: #fff; margin: 0 0 10px; }
.alp-step p { font-size: 0.88rem; color: #9fcfaf; line-height: 1.6; margin: 0; }

/* PROOF STRIP */
.alp-proof-strip { background: #162a1a; padding: 52px 20px; text-align: center; border-top: 1px solid #2a4a30; border-bottom: 1px solid #2a4a30; }
.alp-proof-strip-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.15em; color: #5bce7f; text-transform: uppercase; display: block; margin-bottom: 20px; }
.alp-strip-quote { max-width: 680px; margin: 0 auto 32px; }
.alp-strip-stars { font-size: 1.5rem; color: #f5c542; margin-bottom: 14px; letter-spacing: 2px; }
.alp-strip-google-badge { display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: 20px; }
.alp-google-label { color: #7fb993; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.alp-strip-quote blockquote { font-size: 1.05rem; color: #e0f0e5; font-style: italic; line-height: 1.75; margin: 0 0 14px; border: none; padding: 0; }
.alp-strip-quote cite { font-size: 0.85rem; color: #7fb993; font-style: normal; font-weight: 600; }
.alp-strip-trust { display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: center; }
.alp-strip-trust span { font-size: 0.82rem; color: #9fcfaf; font-weight: 600; }

/* WHY SECTION */
.alp-why { background: #0d1a10; padding: 72px 20px; border-top: 1px solid #1e3a22; }
.alp-why-h { font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 900; color: #fff; text-align: center; margin: 0 0 12px; }
.alp-why-sub { color: #9fcfaf; font-size: 1rem; text-align: center; max-width: 560px; margin: 0 auto 48px; line-height: 1.6; }
.alp-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; max-width: 1100px; margin: 0 auto; }
@media (max-width: 900px) { .alp-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .alp-grid { grid-template-columns: 1fr; } }
.alp-card { background: #162a1a; border: 1px solid #2a4a30; border-radius: 14px; padding: 28px 24px; box-shadow: 0 4px 20px rgba(0,0,0,0.5),0 1px 0 rgba(255,255,255,0.05); transition: border-color 0.2s; }
.alp-card:hover { border-color: #5bce7f; }
.alp-card-icon { font-size: 1.6rem; margin-bottom: 14px; display: block; }
.alp-card h3 { font-size: 0.98rem; font-weight: 800; color: #fff; margin: 0 0 8px; }
.alp-card p { font-size: 0.85rem; color: #9fcfaf; line-height: 1.6; margin: 0; }

/* SERVICES */
.alp-svc-sec { background: #0a1a0d; padding: 72px 20px; border-top: 1px solid #1e3a22; }
.alp-svc-h { font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 900; color: #fff; text-align: center; margin: 0 0 48px; }
.alp-svc-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; max-width: 1100px; margin: 0 auto; }
@media (max-width: 900px) { .alp-svc-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .alp-svc-grid { grid-template-columns: 1fr; } }
.alp-svc-item { background: #162a1a; border: 1px solid #2a4a30; border-radius: 12px; padding: 24px 20px; transition: border-color 0.2s; }
.alp-svc-item:hover { border-color: #5bce7f; }
.alp-svc-num { font-size: 0.68rem; font-weight: 700; color: #5bce7f; letter-spacing: 0.1em; display: block; margin-bottom: 8px; }
.alp-svc-item h4 { font-size: 0.92rem; font-weight: 800; color: #fff; margin: 0 0 6px; }
.alp-svc-item p { font-size: 0.82rem; color: #9fcfaf; line-height: 1.5; margin: 0; }

/* GOOGLE CTA */
.alp-google-cta { background: #0d1a10; padding: 60px 20px; text-align: center; border-top: 1px solid #1e3a22; }
.alp-google-review-block { display: inline-flex; flex-direction: column; align-items: center; gap: 10px; }
.alp-gcta-stars { font-size: 1.7rem; color: #f5c542; letter-spacing: 3px; }
.alp-gcta-headline { font-size: 1.1rem; font-weight: 700; color: #fff; margin: 0; }
.alp-gcta-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; background: #fff; color: #1a2e1e; font-size: 0.9rem; font-weight: 700; padding: 12px 26px; border-radius: 8px; text-decoration: none; transition: opacity 0.2s; letter-spacing: 0.01em; }
.alp-gcta-link:hover { opacity: 0.88; }

/* FAQ */
.alp-faq { background: #0a1a0d; padding: 72px 20px; border-top: 1px solid #1e3a22; }
.alp-faq h2 { font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 900; color: #fff; text-align: center; margin: 0 0 12px; }
.alp-faq-list { max-width: 780px; margin: 36px auto 0; display: flex; flex-direction: column; gap: 10px; }
.alp-faq-item { background: #162a1a; border: 1px solid #2a4a30; border-radius: 10px; overflow: hidden; transition: border-color 0.2s; }
.alp-faq-item[open] { border-color: #5bce7f; }
.alp-faq-item summary { padding: 18px 22px; font-size: 0.95rem; font-weight: 700; color: #e0f0e5; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; user-select: none; gap: 12px; }
.alp-faq-item summary::after { content: '+'; font-size: 1.4rem; color: #5bce7f; font-weight: 300; flex-shrink: 0; }
.alp-faq-item[open] summary::after { content: '\2212'; }
.alp-faq-item summary::-webkit-details-marker { display: none; }
.alp-faq-ans { padding: 0 22px 18px; }
.alp-faq-ans p { font-size: 0.88rem; color: #9fcfaf; line-height: 1.7; margin: 0; }

/* FINAL CTA */
.alp-cta2 { background: #0d1a10; padding: 80px 20px; text-align: center; border-top: 1px solid #1e3a22; }
.alp-cta2 h2 { font-size: clamp(1.8rem,3.5vw,3rem); font-weight: 900; color: #fff; margin: 0 0 16px; line-height: 1.15; }
.alp-cta2 p { color: #9fcfaf; font-size: 1rem; max-width: 560px; margin: 0 auto 32px; line-height: 1.7; }
.alp-cta2-phone { font-size: clamp(2rem,4vw,3.2rem); font-weight: 900; color: #5bce7f; display: block; margin-bottom: 24px; text-decoration: none; letter-spacing: -0.01em; }
.alp-cta2-phone:hover { color: #4ab56e; }
.alp-cta2-foot { font-size: 0.8rem; color: #7fb993; margin-top: 28px; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .alp-hero { padding: 60px 16px 48px; }
  .alp-form-sec { padding: 52px 16px; }
  .alp-fc { padding: 28px 20px; }
  .alp-steps { flex-direction: column; align-items: center; }
  .alp-step { max-width: 100%; width: 100%; }
  .alp-strip-trust { gap: 8px 16px; }
}

/* =====================================================
   ACCESSIBILITY FIXES — HOME PAGE & GLOBAL (WCAG 2.1 AA)
   ===================================================== */

/* FIX 1: body color contrast — default body text must be visible on dark background
   The WordPress theme sets body { color: #1a1a1a } which is near-invisible on our
   dark #0a0a0a background. Override to white so any fallback text is readable. */
/* Removed: body { color: white } was making all page content invisible */
/* Now using targeted selectors instead */
.elementor-default body,
body.home,
body.page-id-6 {
  color: #ffffff !important;
}
/* Page content paragraphs on light backgrounds - specific sections */
.page-id-2544 .entry-content table td,
.page-id-2544 .entry-content p,
.page-id-2544 .entry-content li {
  color: #1a2e0a !important;
}
/* Pasture Reclamation and similar pages with clearly light backgrounds */
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content p:not(.alm-use-case-desc):not([class*="alm-cta"]):not([class*="alm-why"]):not([class*="alm-desc"]):not([class*="alm-sa"]):not(.alm-hero-sub):not([class*="alm-hero"]):not(.alm-body):not(.alm-page-hero-content p):not(.wwp-hero-sub):not([class*="alm-hero-br"]):not(:where(.alm-hero-br) *):not(:where(.sp-hero) *):not(:where(.alm-hero) *):not(:where([class*="alm-hero"]) *):not(:where([class*="smr-hero"]) *):not(:where(.smr-bg-dark) *):not(:where([class*="-hero"]) *):not(:where([class*="gov-hero"]) *):not(:where(.alm-article-section) *):not(:where(.alm-section) *):not(.wwp-sub):not(.wwp-subtitle):not(.wwp-why-text):not(.wwp-step-text):not(.wwp-test-text):not(.alm-svcs-grid-sub):not(.alm-subsoil-desc):not(.alm-svcs-section-label):not(.alm-who-item-desc):not(.alm-svcs-area-card-state):not(.alm-svcs-area-card-city):not(.alm-svcs-area-card-desc):not(.acu-intro):not(.acu-card-desc):not(.alm-resources-eyebrow):not(.alm-resources-sub):not(.alm-resources-group-title):not(.wwc-s27-lead):not(.wwc-s27-cta-urgency):not(.wwc-s27-disclaimer):not(.wwc-sei-lead):not(:where(.alm-site-expert) *):not(.alm-lead):not(.alm-sei-hover-label):not(.alm-sei-banner-sub):not(.alm-sei-inline-note):not(.alm-s27-disclaimer):not(:where(.alm-footer) *):not(:where(.alm-feature-item) *):not(:where(.alm-partner-card) *):not(:where(.alm-s27-content) *):not(:where(.alm-final-cta-inner) *):not(:where(.alm-terms-inner) *):not(:where(.wwc-sei-card) *):not(:where(.wwc-sei-community) *):not(:where(.alm-body) *):not(:where(.alm-page) *):not(:where(.alm-section-inner) *):not(:where(.fm-section-inner) *):not(:where(.alm-related-section) *):not(:where(.alm-cta) *):not(:where(.alm-cta-inner) *):not(:where(.alm-cta-section) *):not(:where(.alm-scope-subsoil) *):not(:where(.alm-scope-note) *):not(:where(.alm-subsoil-teaser) *):not(:where(.smr-cpanel-facts) *):not(:where(.alm-species-section) *){
  color: #1a2e0a !important;
}
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content li:not(.has-white-color):not(:where(.alm-article-section) *):not(:where(.alm-section) *):not(:where(.alm-resources-list) *):not(:where(.alm-body) *):not(:where(.alm-page) *):not(:where(.alm-section-inner) *):not(:where(.fm-section-inner) *):not(:where(.alm-related-section) *):not(:where(.alm-cta) *):not(:where(.alm-compare-col) *):not(:where(.alm-compare-list) *):not(:where(.smr-cpanel-facts) *):not(:where(.alm-species-section) *) {
  color: #1a2e0a !important;
}
/* OVERRIDE: Hero areas in pages need white text regardless */
body.page .entry-content .alm-page-hero p,
body.page .entry-content .alm-page-hero-content p,
body.page .alm-page-hero p,
body.page .alm-page-hero-content p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* FIX 2: aria-hidden-focus — ticker duplicate tracks have focusable <a> links.
   Since we cannot add tabindex="-1" via server-side HTML to the ticker copies,
   we use pointer-events and visibility to ensure AT ignores these duplicates. 
   The aria-hidden attribute handles screen readers; this handles focus traps. */
.atb-track[aria-hidden="true"] a,
.atb-track[aria-hidden="true"] button {
  pointer-events: none;
  visibility: visible; /* keep visual, just not reachable */
  /* Note: tabindex="-1" must be added via JS — CSS cannot set tabindex */
}

/* FIX 3: Privacy Policy link — must be distinguishable without color alone.
   WCAG 1.4.1 requires links in body text to have non-color visual cues. */
#aspen-privacy-bar a,
.alm-footer-copy a {
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* FIX 4: Separator pipe characters in top bar have low contrast (#555 on #1a1a1a).
   Make them slightly more visible — use a lighter color. */
.atb-sep {
  color: #888888 !important;
}

/* FIX 5: Screen-reader-only utility class for visually hidden headings */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* FIX 6: Hero subgeo paragraph — style like the old h3 so visual appearance is preserved */
.alm-hero-subgeo {
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  margin: 0 0 0.75rem;
  letter-spacing: 0.01em;
}

/* FIX 7: Focus indicators — ensure visible focus rings on all interactive elements */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #4caf50 !important;
  outline-offset: 2px !important;
}

/* FIX 8: Skip to content link — make it visible when focused */
.skip-link:focus,
#wp-skip-link:focus {
  position: fixed !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 999999 !important;
  background: #4caf50 !important;
  color: #ffffff !important;
  padding: 12px 24px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  clip: auto !important;
  clip-path: none !important;
  width: auto !important;
  height: auto !important;
}


/* A11Y: Fix footer phone link color - browser default blue is invisible on dark bg */
.alm-footer-brand a,
.alm-footer a[href^="tel:"],
.alm-footer a[href^="mailto:"] {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* A11Y: Fix all links in dark footer sections */
.alm-footer a {
  color: rgba(255,255,255,0.9) !important;
}
.alm-footer a:hover {
  color: #4caf50 !important;
}


/* =====================================================
   WCAG 2.1 AA SITEWIDE ACCESSIBILITY FIXES — BATCH 2
   Covers all pages audited: home, quote, about, services,
   forestry-mulching, land-clearing, brush-clearing, faq,
   contact, request-a-quote, service-areas, subsoil-mulching,
   overgrown-lot-cleanup, and all service/location pages.
   ===================================================== */

/* ─── 1. COLOR CONTRAST: Step numbers (.alm-step-num) ─────────────────
   #3d6d4a on #0a0a0a = 3.28 → fix to #50a064 (6.18:1)              */
.alm-step-num {
  color: #50a064 !important;
}

/* ─── 2. COLOR CONTRAST: Gray muted text on dark bg ──────────────────
   #7a7a7a on dark greens (~4.1-4.2) — boost to #a0a0a0 (6.8+:1)
   Targets form sub-labels, meta text, descriptive text             */
.alp-fc-sub,
.alp-stag,
.alp-ftalk,
p[style*="color:#7a7a7a"],
p[style*="color: #7a7a7a"],
span[style*="color:#7a7a7a"] {
  color: #a0a0a0 !important;
}

/* ─── 3. COLOR CONTRAST: Uncolored bare links on dark bg ─────────────
   Browser default #0000ee on dark bg = 1.9-2.2 — override to green */
.alm-page a:not([class]),
.alm-s2 a:not([class]),
.alm-s1 a:not([class]) {
  color: #4caf50 !important;
  text-decoration: underline;
}

/* ─── 4. COLOR CONTRAST: Quote page button/link colors ───────────────
   .alp-bp and .alp-bs have no explicit color → browser defaults to blue */
.alp-bp,
.alp-bs,
.alp-phn {
  color: #ffffff !important;
}
.alp-bp:hover,
.alp-bs:hover,
.alp-phn:hover {
  color: #c8f0ca !important;
}

/* ─── 5. COLOR CONTRAST: Phone link in green hero/banner ─────────────
   #5bce7f on #1e5c2a = 4.03 → fix to #78eba0 (5.42:1)             */
.alp-urg a[href^="tel"],
.alp-hero-phone a,
a[href^="tel"].alp-hero-tel {
  color: #78eba0 !important;
}

/* ─── 6. COLOR CONTRAST: CTA button .alm-btn-primary ─────────────────
   #fcfcfc on #5a9a3a = 3.34 → darken bg to #2d782d (5.34:1)       */
.alm-btn-primary {
  background-color: #2d782d !important;
  color: #ffffff !important;
  border-color: #2d782d !important;
}
.alm-btn-primary:hover,
.alm-btn-primary:focus {
  background-color: #266926 !important;
  border-color: #266926 !important;
  color: #ffffff !important;
}

/* ─── 7. COLOR CONTRAST: "Related Resources" heading (#888 on #f7f7f5) 
   #888888 on #f7f7f5 = 3.3 → fix to #696969 (5.12:1)
   Uses !important to override inline style                          */
p[style*="color:#888"],
p[style*="color: #888"],
p[style*="color:#888888"],
p[style*="color: #888888"] {
  color: #696969 !important;
}

/* ─── 8. COLOR CONTRAST: White text on light callout boxes ───────────
   p[style*="background:#f5f5f5"] has color:white inherited → force dark */
p[style*="background:#f5f5f5"],
p[style*="background: #f5f5f5"] {
  color: #1a1a1a !important;
}
p[style*="background:#f5f5f5"] strong,
p[style*="background: #f5f5f5"] strong,
p[style*="background:#f5f5f5"] a,
p[style*="background: #f5f5f5"] a {
  color: #1a1a1a !important;
}

/* ─── 9. COLOR CONTRAST: Service areas card text ─────────────────────
   .alm-sa-loc-card-county: #4f4f4f on #0a0a0a = 2.41 → #a0a0a0
   .alm-sa-loc-card-services: #676767 on #0a0a0a = 3.5 → #a0a0a0
   .alm-sa-smaller-label: #606060 on #0a0a0a = 3.14 → #a0a0a0
   .alm-sa-svcs-label: #626a64 on #0d1a10 = 3.21 → #b0c8b5      */
.alm-sa-loc-card-county,
.alm-sa-loc-card-services,
.alm-sa-smaller-label {
  color: #a0a0a0 !important;
}
.alm-sa-svcs-label {
  color: #b0c8b5 !important;
}

/* ─── 10. COLOR CONTRAST: Subsoil page comparison labels ─────────────
   .smr-diff-label: #646a64 on #111a11 = 3.21 → #b0c8b5          */
.smr-diff-label {
  color: #b0c8b5 !important;
}

/* ─── 11. COLOR CONTRAST: Toggle button on contact/quote pages ───────
   #alm-toggle-advanced: #2e5c2e on #000 = 2.68 → #4caf50         */
#alm-toggle-advanced {
  color: #4caf50 !important;
  background: transparent !important;
  border: 1px solid #4caf50 !important;
  border-radius: 4px !important;
  padding: 6px 14px !important;
  cursor: pointer !important;
}
#alm-toggle-advanced:hover,
#alm-toggle-advanced:focus {
  background: rgba(76,175,80,0.12) !important;
  outline: 3px solid #4caf50 !important;
  outline-offset: 2px !important;
}

/* ─── 12. COLOR CONTRAST: rgba opacity fixes for contact page ────────
   Inline rgba(255,255,255,0.45) and 0.4 fall below 4.5:1 on #0a0a0a.
   Override these inline-style opacities via !important CSS matches  */
p[style*="rgba(255,255,255,0.45)"],
p[style*="rgba(255,255,255, 0.45)"] {
  color: rgba(255,255,255,0.72) !important;  /* ~#b8b8b8 = 8.2:1 */
}
p[style*="rgba(255,255,255,0.4)"],
p[style*="rgba(255,255,255, 0.4)"] {
  color: rgba(255,255,255,0.72) !important;
}

/* ─── 13. LINK VISIBILITY: Services page arrow links ─────────────────
   Arrow (→) links have no class and no color → browser default blue.
   Make them visible on dark bg                                      */
.alm-s2 a[href]:not([class]),
.alm-s1 a[href]:not([class]),
.alm-section a[href]:not([class]) {
  color: #4caf50 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ─── 14. AVOID-INLINE-SPACING: CTA H2 letter-spacing fix ───────────
   Multiple pages have H2 with inline letter-spacing:-Xpx!important
   which blocks user stylesheet overrides (WCAG 1.4.12).
   Override with a CSS rule that wins but is not !important so users
   can still override it via their own stylesheet.
   We use !important here to beat the inline, but the user can still
   override our !important with their own (user stylesheets have higher
   specificity than author stylesheets in cascade).
   Fix: use a reasonable letter-spacing that allows user override     */
.alm-cta h2[style*="letter-spacing"],
.alm-cta .alm-inner h2[style*="letter-spacing"] {
  letter-spacing: -0.03em !important;  /* -3% = visually similar, but in em = user-overridable */
}

/* ─── 15. FAQ: .faq-tabs-wrap scrollable region keyboard access ──────
   Added tabindex via JS (WPCode snippet). Add visual focus indicator */
.faq-tabs-wrap:focus {
  outline: 3px solid #4caf50 !important;
  outline-offset: 2px !important;
}

/* ─── 16. FAQ: .faq-q keyboard button focus indicator ───────────────
   JS adds role="button" and tabindex. Add focus styles.             */
.faq-q[tabindex="0"]:focus,
.faq-q[role="button"]:focus {
  outline: 3px solid #4caf50 !important;
  outline-offset: 2px !important;
  background: rgba(76,175,80,0.08) !important;
}

/* ─── 17. QUOTE PAGE: No <main> landmark ─────────────────────────────
   Add role="main" via JS. Add visual styling for the main region.
   #alp-lp gets role="main" via our JS snippet.                      */

/* ─── 18. LINK-IN-TEXT-BLOCK: Global underline for in-text links ─────
   Links within paragraph text blocks that rely solely on color       */
.alm-page p a,
.alm-content p a,
.entry-content p a {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ─── FIX: alp-fsub (submit button) restore white text ─────────────── */
.alp-fsub {
  color: #0a1a0d !important;  /* dark text on green button - keep original */
}

/* ─── FIX: Additional gray text elements on quote page ──────────────── */
.alp-ti,
.alp-desc,
.alp-fc p,
.alp-hero p,
.alp-why p {
  color: #a0a0a0 !important;
}

/* ─── FIX: Form input text color on dark bg ────────────────────────── 
   Form inputs in .alp-form have #7a7a7a text on #162a1a bg = 3.54
   Raise to #a0a0a0 (5.8:1 on #162a1a)                              */
#qfn, #qln, #qph, #qemail, #qservice, #qdesc,
.alp-form-sec input[type="text"],
.alp-form-sec input[type="tel"],
.alp-form-sec input[type="email"],
.alp-form-sec select,
.alp-form-sec textarea,
#alp-form input,
#alp-form select,
#alp-form textarea {
  color: #c8d4ca !important;
}
.alp-form-sec input::placeholder,
.alp-form-sec textarea::placeholder,
#alp-form input::placeholder,
#alp-form textarea::placeholder {
  color: #a0a0a0 !important;
  opacity: 1 !important;
}

/* ─── FIX: More gray text elements on quote/landing page ────────────── */
.alp-sn,
.alp-fn,
.alp-si .alp-sn,
.alp-faq-a {
  color: #a0a0a0 !important;
}

/* ─── FIX: Services page — sections with gray text on dark bg ────────
   Elementor widget color setting creates gray text on dark backgrounds.
   Target sections with dark green bg that contain insufficiently contrasting text. */
section[style*="background: #0d1a0d"],
section[style*="background:#0d1a0d"] {
  color: #ffffff !important;
}
section[style*="background: #0d1a0d"] h2,
section[style*="background: #0d1a0d"] h3,
section[style*="background: #0d1a0d"] p,
section[style*="background: #0d1a0d"] li,
section[style*="background:#0d1a0d"] h2,
section[style*="background:#0d1a0d"] h3,
section[style*="background:#0d1a0d"] p,
section[style*="background:#0d1a0d"] li {
  color: #e0ece0 !important;
}

/* ─── FIX: Services page — bare arrow links on dark bg ──────────────
   Arrow links (→) have no class and use browser-default blue on black. */
/* Arrow links in sections: use JS to set color (in WPCode snippet)
   CSS approach failed due to inline style conflicts */

/* ─── FIX: Services page — resources list span text ─────────────────
   .alm-resources-list span has rgba(255,255,255,0.45) = ~#787878 on dark bg
   Just below the 4.5:1 threshold (4.48). Increase opacity. */
.alm-resources-list span,
.alm-resources-list li span {
  color: rgba(255,255,255,0.72) !important;  /* ~#b8b8b8 = 8.2:1 */
}

/* ─── FIX: Links with no class inside dark Elementor sections ─────── 
   NOTE: We do NOT use !important here to avoid overriding inline color styles.
   Instead we rely on inheritance and the more specific section rules above.   */
/* Removed overly broad rule - was overriding inline color:white on green buttons */

/* ─── FIX: Contact page rgba opacity fine-grained fixes ─────────────
   Some contact page elements use very specific rgba values */
[style*="rgba(255,255,255,0.4)"] {
  color: rgba(255,255,255,0.72) !important;
}
[style*="rgba(255,255,255,0.45)"] {
  color: rgba(255,255,255,0.72) !important;
}

/* ─── FIX: SAM.gov credentials text (.acu-uei) ──────────────────────
   rgba(255,255,255,0.32) on very dark bg = 2.8:1. Increase to pass 4.5:1 */
.acu-uei {
  color: rgba(255,255,255,0.72) !important;  /* ~8.2:1 on #060d06 */
}

/* ─── FIX: Subsoil page .smr-btn-primary ─────────────────────────────
   Browser default blue on dark bg = 2.23:1. Fix to white on dark green. */
.smr-btn-primary {
  color: #ffffff !important;
  background-color: #2d782d !important;
  border: 1px solid #4caf50 !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.smr-btn-primary:hover,
.smr-btn-primary:focus {
  background-color: #266926 !important;
  color: #ffffff !important;
}

/* ─── FIX: Subsoil page .smr-btn-secondary ───────────────────────────
   Browser default blue on black bg = 2.23:1. Fix to white/light green. */
.smr-btn-secondary {
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.smr-btn-secondary:hover,
.smr-btn-secondary:focus {
  border-color: #4caf50 !important;
  color: #4caf50 !important;
}


/* ============================================================
   === MOBILE RESPONSIVE FIXES — Aspen Land Management ===
   Max 768px: all mobile layout, spacing, typography, nav
   Desktop styles UNTOUCHED (all rules inside @media)
   ============================================================ */

/* ── GLOBAL OVERFLOW PREVENTION ── */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* Prevent any element from causing horizontal scroll */
  .elementor-section,
  .elementor-container,
  .e-con,
  .e-con-inner,
  [class*="alm-"],
  [class*="alp-"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ── HEADER / NAVIGATION ── */
  /* Fix the header nav bar - collapse items, show hamburger */
  .aspen-header-wrap {
    position: relative !important;
    flex-wrap: wrap !important;
    padding: 0 16px !important;
    min-height: 56px !important;
    align-items: center !important;
  }

  .aspen-header-left {
    flex: 1 !important;
    min-width: 0 !important;
  }

  /* Hide desktop nav links on mobile */
  .aspen-header-nav {
    display: none !important;
    overflow: visible !important;
  }

  /* Show hamburger button on mobile */
  .aspen-hamburger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    color: #ffffff !important;
  }

  .aspen-hamburger span,
  .aspen-hamburger .hamburger-line {
    background: #ffffff !important;
  }

  /* Show CTA/social when hamburger is present */
  .aspen-header-right,
  .aspen-header-social {
    display: none !important;
  }

  /* When nav is open (JS-toggled), show it as dropdown */
  .aspen-header-wrap.nav-open .aspen-header-nav,
  .aspen-header-nav.active,
  .aspen-header-nav[aria-expanded="true"] {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    background: #0a0a0a !important;
    padding: 12px 0 20px !important;
    order: 10 !important;
  }

  .aspen-header-nav > a {
    display: block !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    font-size: 16px !important;
    color: #ffffff !important;
    text-decoration: none !important;
  }

  .aspen-header-nav > a:last-child {
    border-bottom: none !important;
  }

  /* Contact Us button - make it accessible on mobile */
  .aspen-cta-btn {
    display: inline-flex !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  /* ── TOP INFO BAR ── */
  /* The ticker/top-bar items overflow - hide on very small screens */
  .atb-inner {
    overflow: hidden !important;
  }

  .atb-item {
    font-size: 11px !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
  }

  /* ── HERO SECTIONS ── */
  .alm-hero-content {
    padding: 48px 20px 40px !important;
    max-width: 100% !important;
  }

  .alm-hero-content h1 {
    font-size: clamp(28px, 8vw, 44px) !important;
    line-height: 1.2 !important;
  }

  .alm-hero-content h2 {
    font-size: clamp(24px, 7vw, 36px) !important;
    line-height: 1.2 !important;
  }

  /* ── MAIN CONTENT SPACING ── */
  main,
  #main,
  .wp-site-blocks main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* ── HOME PAGE SECTIONS ── */
  .alm-how {
    padding: 48px 20px !important;
  }

  .alm-services {
    padding: 0 20px 48px !important;
  }

  .alm-projects {
    padding: 0 20px 48px !important;
  }

  /* Why Aspen section — huge padding crush fix */
  .alm-why-aspen {
    padding: 56px 20px !important;
  }

  .alm-wa-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .alm-wa-hdr {
    width: 100% !important;
    max-width: 100% !important;
  }

  .alm-wa-body-inner {
    padding-left: 16px !important;
    padding-bottom: 20px !important;
  }

  .alm-wa-num {
    font-size: 13px !important;
    color: rgba(111, 207, 138, 0.7) !important;
  }

  .alm-home-subsoil {
    padding: 48px 20px !important;
  }

  /* ── SERVICES PAGE ── */
  .alm-s2 {
    padding: 56px 20px 48px !important;
  }

  .alm-s2-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Site Expert / 2-col layout — force wrap */
  .alm-site-expert {
    padding: 56px 20px !important;
    overflow: hidden !important;
  }

  .alm-site-expert > div,
  .alm-site-expert .elementor-column,
  .alm-site-expert .e-con > .e-con-inner {
    flex-wrap: wrap !important;
  }

  /* Fix Elementor flex columns on mobile */
  .alm-site-expert .elementor-widget-wrap,
  .alm-site-expert .elementor-column-wrap {
    flex-wrap: wrap !important;
  }

  .alm-site-expert div[style*="flex-shrink: 0"],
  .alm-site-expert div[style*="flex-shrink:0"] {
    flex-shrink: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .alm-com-utility-section {
    padding: 48px 20px !important;
  }

  .alm-svcs-intro-inner {
    padding: 48px 20px !important;
  }

  .alm-subsoil-announcement {
    padding: 48px 20px !important;
  }

  .alm-who {
    padding: 56px 20px !important;
  }

  .alm-svcs-areas {
    padding: 56px 20px !important;
  }

  .alm-svcs-cta {
    padding: 56px 20px !important;
  }

  .alm-resources-section {
    padding: 56px 20px !important;
  }

  .alm-resources-group {
    padding: 20px !important;
  }

  /* ── SERVICE DETAIL PAGES (forestry, land-clearing, etc.) ── */
  .alm-svc-hero {
    padding: 56px 20px 48px !important;
  }

  .alm-step-wrap {
    padding: 48px 20px !important;
  }

  .alm-process-loc {
    padding: 16px !important;
  }

  /* ── SUBSOIL PAGE ── */
  .smr-hero {
    padding: 56px 20px 48px !important;
  }

  .smr-intro {
    padding: 48px 20px !important;
  }

  .smr-diff-grid {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .smr-diff-col {
    width: 100% !important;
    padding: 32px 20px !important;
  }

  /* ── CONTACT / QUOTE PAGES ── */
  .alp-hero {
    padding: 48px 16px !important;
  }

  .alp-form-wrap {
    padding: 32px 16px !important;
  }

  /* ── SERVICE AREA PAGES ── */
  .alm-sa-hero {
    padding: 56px 16px 48px !important;
  }

  .alm-sa-about {
    padding: 48px 16px !important;
  }

  /* ── FAQ PAGE ── */
  .faq-tabs-wrap {
    padding: 0 !important;
    overflow-x: auto !important;
  }

  .faq-section {
    padding: 48px 16px !important;
  }

  /* ── ABOUT PAGE ── */
  .alm-about-hero {
    padding: 56px 16px 48px !important;
  }

  .alm-about-intro {
    padding: 48px 16px !important;
  }

  /* ── TYPOGRAPHY ── */
  /* Small labels/eyebrows — readable minimum */
  .alm-section-eyebrow,
  .alm-how-num,
  .alm-service-num,
  .alm-wa-eyebrow,
  .alm-wa-num,
  .alm-step-num,
  .alp-step-num,
  .alm-home-subsoil-label,
  .alm-sa-svcs-label {
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  /* Footer copyright */
  .alm-footer-bottom p {
    font-size: 13px !important;
  }

  /* ── SERVICE CARDS GRID ── */
  /* 2-col service grid should stay 2-col on phones */
  .alm-services-list {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .alm-service-card {
    padding: 20px 16px !important;
  }

  /* ── FOOTER ── */
  .alm-footer {
    padding: 32px 20px 16px !important;
  }

  .alm-footer-inner {
    max-width: 100% !important;
  }

  /* ── ABOUT PAGE TEAM / STATS ── */
  .alm-about-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }

  /* ── MOBILE CTA BAR (sticky bottom bar) ── */
  .aspen-mobile-cta {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    padding: 10px 16px !important;
  }

  /* Add bottom padding to body so content isn't hidden behind CTA bar */
  body {
    padding-bottom: 68px !important;
  }

  /* ── OVERGROWN LOT / GENERAL CLEANUP SECTIONS ── */
  .alm-process-section,
  .alm-why-section,
  .alm-benefits-section {
    padding: 48px 20px !important;
  }

  /* ── PROJECT GALLERY ── */
  .alm-projects-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    max-width: 100% !important;
  }

  .alm-projects-top {
    max-width: 100% !important;
  }

  /* ── GENERAL ELEMENTOR SECTIONS ── */
  /* Reduce excessive padding in Elementor sections on mobile */
  .elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Ensure all images are responsive */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Fix any pre/code tags that might overflow */
  pre, code {
    overflow-x: auto !important;
    white-space: pre-wrap !important;
    word-break: break-word !important;
  }
}

/* ── VERY SMALL SCREENS (< 400px) ── */
@media (max-width: 400px) {
  /* Service cards: 1 column on tiny screens */
  .alm-services-list {
    grid-template-columns: 1fr !important;
  }

  /* Hero title scales down more */
  .alm-hero-content h1 {
    font-size: 26px !important;
  }

  .alm-hero-content h2 {
    font-size: 22px !important;
  }

  /* Footer tight */
  .alm-footer {
    padding: 24px 16px 12px !important;
  }
}


/* =====================================================
   BLOG TEMPLATE REDESIGN - Single Post & Archive
   Added: 2026-06-21
   ===================================================== */

/* === SINGLE POST HERO HEADER === */
.single-post .wp-block-post-title,
.single-post .entry-title,
.single-post h1.wp-block-post-title {
  font-family: Georgia, 'Palatino Linotype', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin: 0 0 16px 0 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3) !important;
  letter-spacing: -0.02em !important;
}

.single-post .wp-block-post-date time {
  color: #4ade80 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* === SINGLE POST CONTENT === */
.single-post .entry-content,
.single-post .wp-block-post-content {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
  font-size: 1.06rem !important;
  line-height: 1.85 !important;
  color: #2a2a2a !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 48px 36px 64px !important;
}

.single-post .entry-content > p:first-of-type {
  font-size: 1.18rem !important;
  line-height: 1.75 !important;
  color: #1a3d28 !important;
  font-weight: 500 !important;
  padding-bottom: 28px !important;
  border-bottom: 2px solid #d6ede0 !important;
  margin-bottom: 36px !important;
}

.single-post .entry-content h2,
.single-post .wp-block-post-content h2 {
  font-family: Georgia, serif !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #0d2818 !important;
  margin: 52px 0 16px 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 3px solid #0d2818 !important;
  line-height: 1.3 !important;
}

.single-post .entry-content h3,
.single-post .wp-block-post-content h3 {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  color: #1a3d28 !important;
  margin: 40px 0 12px 0 !important;
  line-height: 1.35 !important;
}

.single-post .entry-content h4,
.single-post .wp-block-post-content h4 {
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  color: #2d7d46 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 32px 0 8px 0 !important;
}

.single-post .entry-content p,
.single-post .wp-block-post-content p {
  font-size: 1.06rem !important;
  line-height: 1.85 !important;
  color: #2a2a2a !important;
  margin-bottom: 1.5em !important;
}

.single-post .entry-content strong,
.single-post .wp-block-post-content strong {
  color: #0d2818 !important;
  font-weight: 700 !important;
}

.single-post .entry-content ul,
.single-post .wp-block-post-content ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 1.5em !important;
}

.single-post .entry-content ul li,
.single-post .wp-block-post-content ul li {
  position: relative !important;
  padding-left: 22px !important;
  margin-bottom: 8px !important;
  line-height: 1.7 !important;
}

.single-post .entry-content ul li::before,
.single-post .wp-block-post-content ul li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 11px !important;
  width: 8px !important;
  height: 8px !important;
  background: #2d7d46 !important;
  border-radius: 50% !important;
}

.single-post .entry-content ol,
.single-post .wp-block-post-content ol {
  padding-left: 24px !important;
  margin-bottom: 1.5em !important;
}

.single-post .entry-content blockquote,
.single-post .wp-block-post-content blockquote,
.single-post .wp-block-quote {
  border-left: 4px solid #2d7d46 !important;
  background: #f2faf5 !important;
  margin: 36px 0 !important;
  padding: 24px 28px !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic !important;
  color: #1a3d28 !important;
  font-size: 1.08rem !important;
}

.single-post .entry-content table,
.single-post .wp-block-post-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 36px 0 !important;
  font-size: 0.95rem !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.08) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

.single-post .entry-content table th,
.single-post .wp-block-post-content table th {
  background: #0d2818 !important;
  color: #ffffff !important;
  padding: 14px 18px !important;
  text-align: left !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  text-transform: uppercase !important;
}

.single-post .entry-content table td,
.single-post .wp-block-post-content table td {
  padding: 12px 18px !important;
  border-bottom: 1px solid #e4ede7 !important;
  vertical-align: top !important;
}

.single-post .entry-content table tr:nth-child(even) td,
.single-post .wp-block-post-content table tr:nth-child(even) td {
  background: #f8fdf9 !important;
}

.single-post .entry-content a,
.single-post .wp-block-post-content a {
  color: #1a7a3c !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.single-post .entry-content img,
.single-post .wp-block-post-content img {
  border-radius: 10px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
  max-width: 100% !important;
}

/* === BLOG ARCHIVE === */
.blog article,
.archive article {
  border: 1px solid #e4ede7 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  background: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
}

.blog article:hover,
.archive article:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 36px rgba(13,40,24,0.12) !important;
}

.blog .entry-title a,
.archive .entry-title a {
  font-family: Georgia, serif !important;
  font-weight: 700 !important;
  color: #0d2818 !important;
  text-decoration: none !important;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover {
  color: #2d7d46 !important;
}

.blog .entry-meta,
.archive .entry-meta {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #2d7d46 !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .single-post .entry-content,
  .single-post .wp-block-post-content {
    padding: 32px 20px 48px !important;
    font-size: 1rem !important;
  }
  .single-post .entry-content h2,
  .single-post .wp-block-post-content h2 {
    font-size: 1.35rem !important;
  }
}

/* === BLOG PAGE FIX - Font & Grid === */

/* 1. FONT FIX: Override Times New Roman / Georgia to match site font (Inter) */
.blog,
.blog body,
.blog .wp-site-blocks,
.blog .entry-content,
.blog .wp-block-query,
.blog .wp-block-post-template,
.blog .wp-block-post,
.blog .wp-block-post-title,
.blog .wp-block-post-title a,
.blog .wp-block-post-excerpt,
.blog .wp-block-post-excerpt p,
.blog .wp-block-post-date,
.blog .wp-block-post-terms,
.blog .wp-block-post-author,
.blog h1, .blog h2, .blog h3, .blog h4,
.blog p, .blog span, .blog a,
.blog .blog-header,
.blog .blog-hero h1,
.blog .blog-hero p {
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
}

/* Override the Georgia serif rule for blog entry titles */
.blog .entry-title a,
.archive .entry-title a,
.blog .wp-block-post-title a {
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
}

/* 2. GRID LAYOUT: Compact grid for 100 posts — 8 columns on desktop, scaling down */
.blog .wp-block-post-template.columns-4,
.blog .wp-block-post-template.columns-3,
.blog .wp-block-post-template.columns-2,
.blog .wp-block-post-template,
.blog .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(8, 1fr) !important;
  gap: 10px !important;
  padding: 0 !important;
}

/* 3. POST CARD: Compact card style */
.blog .wp-block-post {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.10) !important;
  border: 1px solid #e8ede9 !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
}

.blog .wp-block-post:hover {
  box-shadow: 0 4px 14px rgba(13,46,26,0.15) !important;
  transform: translateY(-2px) !important;
}

/* 4. THUMBNAIL: Small, fixed-height, cover crop */
.blog .wp-block-post-featured-image,
.blog .wp-block-post .post-thumbnail,
.blog .wp-block-post figure.wp-block-post-featured-image {
  width: 100% !important;
  height: 90px !important;
  overflow: hidden !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.blog .wp-block-post-featured-image img,
.blog .wp-block-post .post-thumbnail img,
.blog .wp-block-post figure.wp-block-post-featured-image img {
  width: 100% !important;
  height: 90px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  max-width: none !important;
}

/* 5. POST TITLE: Compact, bold, site font */
.blog .wp-block-post-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 6px 7px 4px !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
  color: #0d2e1a !important;
}

.blog .wp-block-post-title a {
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
  color: #0d2e1a !important;
  text-decoration: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.blog .wp-block-post-title a:hover {
  color: #1a5c2a !important;
}

/* 6. DATE / META: Tiny, muted */
.blog .wp-block-post-date,
.blog .wp-block-post-terms,
.blog .wp-block-post-author,
.blog .wp-block-post-date time {
  font-size: 9px !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
  color: #5a7a60 !important;
  padding: 0 7px 5px !important;
  margin: 0 !important;
  display: block !important;
}

/* 7. HIDE EXCERPT on compact grid view */
.blog .wp-block-post-excerpt {
  display: none !important;
}

/* 8. Blog header / hero fonts */
.blog .blog-header h1,
.blog .blog-hero h1,
.blog .wp-block-query-title,
.blog .page-title {
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
  font-weight: 800 !important;
}

/* 9. RESPONSIVE: scale columns down */
@media (max-width: 1200px) {
  .blog .wp-block-post-template.columns-4,
  .blog .wp-block-post-template {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}

@media (max-width: 900px) {
  .blog .wp-block-post-template.columns-4,
  .blog .wp-block-post-template {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .blog .wp-block-post-template.columns-4,
  .blog .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* === END BLOG PAGE FIX === */

/* ============================================================
 *    GLOBAL FONT CONSISTENCY FIX - Roboto Site-Wide
 *    Fixes Times New Roman on SA pages, service pages, etc.
 *    WCAG 2.0 AA compliant contrast
 *    ============================================================ */

/* 1. SET GLOBAL BODY FONT to Roboto */
html,
body,
.alm-page,
.alm-sa-page,
.entry-content,
.wp-site-blocks,
.wp-block-post-content {
	  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}

/* 2. SERVICE AREA PAGES - Fix all .alm-sa-* elements */
.alm-sa-h1,
.alm-sa-h2,
.alm-sa-h3,
.alm-sa-cta-h2,
.alm-sa-intro,
.alm-sa-badge,
.alm-sa-chip,
.alm-sa-btn-primary,
.alm-sa-btn-secondary,
.alm-sa-eyebrow,
.alm-sa-about-text p,
.alm-sa-services-sub,
.alm-sa-sdesc,
.alm-sa-sname,
.alm-sa-snum,
.alm-sa-sarrow,
.alm-sa-step p,
.alm-sa-step strong,
.alm-sa-areas-text,
.alm-sa-cta p,
.alm-sa-nearby-label,
.alm-sa-area-chip {
	  font-family: 'Roboto', sans-serif !important;
}

/* 3. HOME PAGE & .alm-page classes */
.alm-page h1,
.alm-page h2,
.alm-page h3,
.alm-page h4,
.alm-page p,
.alm-page span,
.alm-page a,
.alm-page button {
	  font-family: 'Roboto', sans-serif !important;
}

/* 4. WCAG 2.0 CONTRAST FIXES - improve low-opacity text */
.alm-sa-stat-lbl { color: rgba(255,255,255,0.75) !important; }
.alm-sa-chip { color: rgba(255,255,255,0.85) !important; }
.alm-sa-sdesc { color: rgba(255,255,255,0.80) !important; }
.alm-sa-step p { color: rgba(255,255,255,0.85) !important; }
.alm-sa-areas-text { color: rgba(255,255,255,0.85) !important; }
.alm-sa-nearby-label { color: rgba(255,255,255,0.70) !important; }
.alm-sa-services-sub { color: rgba(255,255,255,0.85) !important; }
.alm-sa-intro { color: rgba(255,255,255,0.90) !important; }
.alm-sa-cta p { color: rgba(255,255,255,0.90) !important; }
.alm-sa-loc-card-county,
.alm-sa-loc-card-services,
.alm-sa-smaller-label { color: rgba(255,255,255,0.80) !important; }
body .alm-footer-col ul li a,
body .alm-footer-col h4 { color: rgba(255,255,255,0.90) !important; }
body .alm-footer-copy,
body .alm-footer-cert,
body .alm-footer-bottom p { color: rgba(255,255,255,0.80) !important; }
}
}
}

/* ============================================================
   ADDITIONAL FONT FIX - FAQ, Contact, Services, Privacy pages
   These pages use specific classes that override font-family
   ============================================================ */

/* FAQ page font fix */
.faq-pg,
.faq-pg h1,
.faq-pg h2,
.faq-pg h3,
.faq-pg h4,
.faq-pg p,
.faq-pg span,
.faq-pg a,
.faq-pg button,
.faq-hero,
.faq-hero h1,
.faq-section-h2,
.faq-body,
.faq-q,
.faq-a,
.faq-tabs-wrap,
.faq-tab-btn {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}

/* Contact page - fix any remaining serif fonts */
.page-id-contact .entry-content h1,
.page-id-contact .entry-content h2,
.page-id-contact .entry-content p {
  font-family: 'Roboto', sans-serif !important;
}

/* Services overview page */
.page-id-services .entry-content h1,
.page-id-services .entry-content h2,
.page-id-services .entry-content p {
  font-family: 'Roboto', sans-serif !important;
}

/* Privacy Policy page */
.privacy-policy .entry-content,
.privacy-policy .entry-content h1,
.privacy-policy .entry-content h2,
.privacy-policy .entry-content h3,
.privacy-policy .entry-content p,
.privacy-policy .entry-content li {
  font-family: 'Roboto', sans-serif !important;
  color: rgba(255, 255, 255, 0.90) !important;
}

/* Override Georgia/Times from Elementor global kit on all pages */
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: 'Roboto', sans-serif !important;
}

/* =====================================================
   WCAG 2.0 AA CONTRAST FIXES - Phase 2
   Applied 2026-06-22
   ===================================================== */

/* 
  FIX 1: .alm-sa-step-num - Process step numbers (01, 02, 03)
  Current: rgba(77, 222, 128, 0.25) on dark green = ~1.77:1 (FAIL)
  Fix: Increase opacity to 0.60 = still decorative but readable
  Actual ratio with 0.60 alpha on rgb(6,22,13) ≈ 3.5:1 (large text PASS at 40px)
*/
.alm-sa-step-num {
  color: rgba(77, 222, 128, 0.70) !important;
}

/*
  FIX 2: .alm-sa-btn-primary - "Request a Free Quote" primary button
  Current: rgb(255,255,255) on rgb(61,184,95) = 2.55:1 (FAIL)
  Fix: Use dark text #0a1f0e (near black-green) on same green background
  Dark text on rgb(61,184,95) = ~8.2:1 (PASS)
*/
.alm-sa-btn-primary {
  color: #0a1f0e !important;
}
.alm-sa-btn-primary:hover {
  color: #0a1f0e !important;
}

/*
  FIX 3: .alm-wa-num - Home page service list numbers (01-06)
  Current: rgba(111, 207, 138, 0.35) on rgb(5,10,5) = 2.15:1 (FAIL)
  Fix: Increase opacity to 0.65
*/
.alm-wa-num {
  color: rgba(111, 207, 138, 0.65) !important;
}

/*
  FIX 4: .alm-home-subsoil-btn - Home page "Ask About Subsoil Mulching" button
  Current: rgb(111,207,138) on rgba(46,92,46,0.8) = ~4.08:1 (just below 4.5 threshold)
  Fix: Use white text which on blended dark-green bg gives better ratio
  OR increase background opacity
*/
.alm-home-subsoil-btn {
  color: #ffffff !important;
  background: rgba(30, 70, 30, 0.90) !important;
  border: 1px solid rgba(111, 207, 138, 0.60) !important;
}

/* =====================================================
   MOBILE RESPONSIVENESS - Global Fixes
   ===================================================== */

/* Prevent horizontal overflow on all pages */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* SA Pages - Mobile Responsive Fixes */
@media (max-width: 768px) {
  /* Hero section */
  .alm-sa-hero {
    padding: 60px 20px 50px !important;
    min-height: auto !important;
  }
  .alm-sa-h1 {
    font-size: clamp(1.9rem, 7vw, 3rem) !important;
    line-height: 1.15 !important;
  }
  .alm-sa-intro {
    font-size: clamp(0.95rem, 3.5vw, 1.1rem) !important;
    line-height: 1.6 !important;
  }
  .alm-sa-cta-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }
  .alm-sa-btn-primary,
  .alm-sa-btn-secondary {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
    font-size: 1rem !important;
    padding: 14px 20px !important;
  }
  
  /* Stats row */
  .alm-sa-stats {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 30px 20px !important;
  }
  .alm-sa-stat {
    width: 100% !important;
  }
  
  /* Services grid - stack to single column */
  .alm-sa-services-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 20px !important;
  }
  
  /* Process steps - stack vertically */
  .alm-sa-steps {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding: 20px !important;
  }
  .alm-sa-step {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* About section */
  .alm-sa-about {
    padding: 40px 20px !important;
  }
  .alm-sa-about-inner {
    flex-direction: column !important;
    gap: 30px !important;
  }
  .alm-sa-about-text,
  .alm-sa-about-stats {
    width: 100% !important;
  }
  
  /* Nearby areas chips */
  .alm-sa-nearby-row {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .alm-sa-area-chip {
    font-size: 0.85rem !important;
    padding: 6px 12px !important;
  }
  
  /* CTA section */
  .alm-sa-cta {
    padding: 50px 20px !important;
    text-align: center !important;
  }
  .alm-sa-cta-h2 {
    font-size: clamp(1.6rem, 6vw, 2.5rem) !important;
  }
  .alm-sa-cta-btns {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .alm-sa-cta-btns .alm-sa-btn-primary,
  .alm-sa-cta-btns .alm-sa-btn-secondary {
    width: 100% !important;
    max-width: 340px !important;
  }
  
  /* Badge/chip at top */
  .alm-sa-badge {
    font-size: 0.75rem !important;
    padding: 6px 14px !important;
  }
  
  /* Section headers */
  .alm-sa-h2 {
    font-size: clamp(1.6rem, 6vw, 2.4rem) !important;
  }
}

/* Extra small phones (iPhone SE, Android small) */
@media (max-width: 390px) {
  .alm-sa-h1 {
    font-size: 1.8rem !important;
  }
  .alm-sa-h2 {
    font-size: 1.5rem !important;
  }
  .alm-sa-intro {
    font-size: 0.95rem !important;
  }
  .alm-sa-btn-primary,
  .alm-sa-btn-secondary {
    font-size: 0.95rem !important;
    padding: 13px 16px !important;
  }
}

/* =====================================================
   SERVICE PAGES - Mobile Responsive Fixes
   ===================================================== */

@media (max-width: 768px) {
  /* General page sections */
  .alm-page {
    padding: 20px !important;
  }
  
  /* Ensure images don't overflow */
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Tables - make scrollable on mobile */
  table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  /* Navigation - ensure proper stacking */
  .alm-page-hero {
    padding: 60px 20px 40px !important;
    text-align: left !important;
  }
  .alm-page-hero h1 {
    font-size: clamp(1.8rem, 7vw, 3rem) !important;
    line-height: 1.2 !important;
  }
  
  /* FAQ mobile */
  .faq-pg {
    padding: 20px !important;
  }
  .faq-question {
    font-size: 1rem !important;
    padding: 16px !important;
  }
  .faq-answer {
    padding: 16px !important;
    font-size: 0.95rem !important;
  }
}

/* =====================================================
   HOME PAGE - Mobile Responsive Fixes  
   ===================================================== */

@media (max-width: 768px) {
  /* Why Aspen section - service list */
  .alm-wa-rows {
    gap: 16px !important;
  }
  .alm-wa-row {
    flex-direction: column !important;
    gap: 8px !important;
  }
  
  /* Subsoil mulching section */
  .alm-home-subsoil {
    padding: 40px 20px !important;
    text-align: center !important;
  }
  
  /* Process steps on home */
  .alm-why-aspen {
    padding: 40px 20px !important;
  }
}

/* =====================================================
   FOOTER - Mobile Fixes
   ===================================================== */

@media (max-width: 768px) {
  /* Footer columns */
  .wp-block-columns.footer-cols {
    flex-direction: column !important;
    gap: 24px !important;
  }
  
  /* Footer text sizing */
  .wp-block-group footer p,
  footer p,
  footer li,
  footer a {
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
  }
}

/* =====================================================
   NAVIGATION - Mobile Fixes
   ===================================================== */

@media (max-width: 768px) {
  /* Ensure nav hamburger works */
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  
  /* Mobile menu items touch targets */
  .wp-block-navigation-item__content {
    padding: 12px 16px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
  
  /* Ticker bar mobile */
  .alm-ticker-wrap {
    font-size: 0.78rem !important;
    padding: 6px 0 !important;
  }
}

/* =====================================================
   TOUCH TARGET SIZES - WCAG 2.5.5
   ===================================================== */

/* All interactive elements should be at least 44x44px */
a.alm-sa-btn-primary,
a.alm-sa-btn-secondary,
.alm-sa-btn-primary,
.alm-sa-btn-secondary {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Service card links */
.alm-sa-sarrow {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Chip/nearby area links */
.alm-sa-area-chip {
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
}


/* =====================================================
   ADDITIONAL CONTRAST FIXES - Phase 3 (2026-06-22)
   ===================================================== */

/* FIX: .faq-btn - white on medium green (same issue as .alm-sa-btn-primary) */
.faq-btn,
.faq-cta-btn {
  color: #0a1f0e !important;
}
.faq-btn:hover,
.faq-cta-btn:hover {
  color: #0a1f0e !important;
}

/* FIX: Sticky mobile CTA bar buttons */
.alm-sticky-cta-quote,
.alm-sticky-quote,
.alm-sticky-cta .btn-quote {
  color: #0a1f0e !important;
}

/* GLOBAL: Any element with green bg rgb(61,184,95) - ensure readable text */
/* Force dark text on all bright green backgrounds site-wide */
[style*="background: rgb(61, 184, 95)"],
[style*="background-color: rgb(61, 184, 95)"] {
  color: #0a1f0e !important;
}

/* =====================================================
   MOBILE FORM FIXES - Prevent iOS Zoom
   ===================================================== */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  textarea,
  select {
    font-size: 16px !important;
  }
  
  /* WPForms specific */
  .wpforms-field input,
  .wpforms-field textarea,
  .wpforms-field select {
    font-size: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =====================================================
   ABOUT PAGE - Mobile Fixes
   ===================================================== */
@media (max-width: 768px) {
  /* Ensure Elementor columns stack on mobile */
  .elementor-section .elementor-container {
    flex-direction: column !important;
  }
  
  .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* About hero text sizing */
  .elementor-widget-container h1 {
    font-size: clamp(1.8rem, 7vw, 3rem) !important;
  }
}

/* =====================================================
   CONTACT PAGE - Mobile Fixes  
   ===================================================== */
@media (max-width: 768px) {
  /* Contact form full width */
  .wpforms-container,
  .wpforms-form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* =====================================================
   CONTACT PAGE - Contrast Fixes (2026-06-22)
   ===================================================== */

/* FIX: .h1-kicker "Request your" text - rgba(255,255,255,0.3) on black = 2.48:1 FAIL */
.h1-kicker {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* FIX: .alm-advanced-hint form helper text - rgb(102,102,102) on black = 3.66:1 FAIL */
.alm-advanced-hint {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* =====================================================
   MOBILE: Contact page layout
   ===================================================== */

@media (max-width: 768px) {
  /* Contact page grid stacks on mobile */
  .alm-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 30px 20px !important;
  }
  
  .alm-contact-aside {
    display: none !important; /* Hide decorative aside on mobile for cleaner UX */
  }
  
  .alm-contact-form-wrap {
    padding: 0 !important;
  }
  
  /* Fix FREE QUOTE hero on contact page mobile */
  .page-id-14 .alm-page-hero,
  .page-id-14 .alm-contact-hero {
    padding: 40px 20px 30px !important;
    min-height: auto !important;
  }
  
  .page-id-14 .alm-page-hero h1,
  .page-id-14 .alm-contact-hero h1 {
    font-size: clamp(2rem, 10vw, 5rem) !important;
  }
}


/* =====================================================
   CONTACT PAGE - High-Specificity Kicker Fix
   2026-06-22
   ===================================================== */

/* The inline <style> uses ".page-id-14 .alm-page-hero h1 .h1-kicker" with !important
   We need to match that specificity exactly */
.page-id-14 .alm-page-hero h1 .h1-kicker {
  color: rgba(255, 255, 255, 0.80) !important;
  opacity: 1 !important;
}

/* More specific hint text */
.page-id-14 .alm-advanced-hint {
  color: rgba(255, 255, 255, 0.72) !important;
}


/* Contact page kicker fix high specificity */
.page-id-14 .alm-page-hero h1 .h1-kicker { color: rgba(255,255,255,0.80) !important; }
.page-id-14 .alm-advanced-hint { color: rgba(255,255,255,0.72) !important; }



/* =====================================================
   WCAG CONTRAST + MOBILE READABILITY FIXES - Jun 2026
   Fixes text inheriting grey from Elementor widget wrapper
   Ensures readability even in bright daylight conditions
   ===================================================== */

/* Fix: Article section text inheritance from Elementor grey wrapper */
.alm-article-section,
.alm-article-section div,
.alm-article-section section {
  color: #ffffff !important;
}

/* Boost sub-text from 0.6 alpha (fails daylight) to high-contrast white */
.alm-article-section p,
.alm-article-section li {
  color: rgba(255,255,255,0.90) !important;
}

/* Process step descriptions - ensure readable */
.alm-article-section [style*="0.6"],
.alm-article-section [style*="0.7"] {
  color: rgba(255,255,255,0.88) !important;
}

/* Micro-labels and eyebrows - keep green accent */
.alm-article-section [style*="1e6b36"],
.alm-article-section [style*="letter-spacing"] {
  color: #2ecc71 !important;
}

/* =====================================================
   MOBILE RESPONSIVE FIXES - Contact page article section
   ===================================================== */
@media (max-width: 768px) {
  /* Grid → single column on mobile */
  .alm-article-section [style*="grid-template-columns:1fr 1fr"],
  .alm-article-section [style*="grid-template-columns: 1fr 1fr"] {
    display: block !important;
  }
  
  .alm-article-section [style*="grid-template-columns:1fr 1fr"] > div,
  .alm-article-section [style*="grid-template-columns: 1fr 1fr"] > div {
    margin-bottom: 20px !important;
    width: 100% !important;
  }
  
  /* 5-column process grid → 1 column on mobile */
  .alm-article-section [style*="grid-template-columns:repeat(5"] {
    display: block !important;
  }
  
  .alm-article-section [style*="grid-template-columns:repeat(5"] > div {
    margin-bottom: 16px !important;
    width: 100% !important;
  }
  
  /* 4-column industries grid → 1 column on mobile */
  .alm-article-section [style*="grid-template-columns:repeat(4"] {
    display: block !important;
  }
  
  .alm-article-section [style*="grid-template-columns:repeat(4"] > div {
    margin-bottom: 16px !important;
    width: 100% !important;
  }
  
  /* Reduce padding on sections for mobile */
  .alm-article-section [style*="padding:80px"] {
    padding: 48px 20px !important;
  }
  
  .alm-article-section [style*="padding: 80px"] {
    padding: 48px 20px !important;
  }
  
  /* Inner containers - reduce horizontal padding */
  .alm-article-section [style*="max-width:1100px"] {
    padding: 0 16px !important;
    max-width: 100% !important;
  }
  
  /* Font size adjustments for mobile readability */
  .alm-article-section h2 {
    font-size: 26px !important;
    letter-spacing: -0.5px !important;
  }
  
  .alm-article-section h3 {
    font-size: 16px !important;
  }
}

@media (max-width: 480px) {
  .alm-article-section [style*="padding:80px"],
  .alm-article-section [style*="padding: 80px"] {
    padding: 36px 16px !important;
  }
  
  .alm-article-section [style*="max-width:1100px"] {
    padding: 0 12px !important;
  }
}

/* =====================================================
   GLOBAL MOBILE NAV FIX
   ===================================================== */
@media (max-width: 900px) {
  /* Make sure header nav collapses properly */
  .alm-nav { flex-wrap: wrap; }
  
  /* Ensure hero text is readable on mobile */
  .alm-page-hero h1 {
    font-size: clamp(28px, 6vw, 52px) !important;
    line-height: 1.1 !important;
  }
  
  /* Ensure form inputs are finger-friendly */
  .alm-cf7-core input[type="text"],
  .alm-cf7-core input[type="email"],
  .alm-cf7-core input[type="tel"],
  .alm-cf7-core textarea {
    min-height: 48px;
    font-size: 16px !important; /* Prevents iOS zoom on focus */
  }
}


/* === TOC PLUGIN - Dark luxury restyling === */
/* Hide white-background TOC on dark pages, restyle to match dark theme */
#ez-toc-container,
.ez-toc-container {
  background: #141414 !important;
  border: 1px solid rgba(30,107,54,0.4) !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,0.85) !important;
}
#ez-toc-container .ez-toc-title,
.ez-toc-container .ez-toc-title {
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}
#ez-toc-container ul li a,
.ez-toc-container ul li a {
  color: rgba(255,255,255,0.82) !important;
  text-decoration: none !important;
}
#ez-toc-container ul li a:hover,
.ez-toc-container ul li a:hover {
  color: #2ecc71 !important;
}
#ez-toc-container .ez-toc-toggle,
.ez-toc-container .ez-toc-toggle a {
  color: rgba(255,255,255,0.7) !important;
}

/* === FORM LABEL CONTRAST BOOST - WCAG AA === */
/* Boost form labels from rgb(170,170,170) to brighter for outdoor readability */
.wpforms-field-label,
.wpforms-field label,
.wpcf7 label,
label,
.cf7-label {
  color: rgba(255,255,255,0.90) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* === FORM INPUT FONT SIZE - Prevent iOS auto-zoom === */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="search"],
textarea,
select {
  font-size: 16px !important;
  min-height: 48px !important;
}
textarea {
  min-height: 120px !important;
}

/* === MOBILE NAV - ensure hamburger is visible === */
@media (max-width: 768px) {
  .elementor-menu-toggle {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.3) !important;
  }
  .elementor-menu-toggle svg, 
  .elementor-menu-toggle i {
    fill: #ffffff !important;
    color: #ffffff !important;
  }
  /* Mobile hero text sizing */
  .elementor-heading-title {
    font-size: clamp(1.8rem, 6vw, 3.5rem) !important;
    line-height: 1.15 !important;
  }
  /* Stack all multi-column grid sections on mobile */
  .alm-article-section .grid-3col,
  .alm-article-section .grid-2col,
  [class*="elementor-col-"] {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* TOC full-width on mobile */
  #ez-toc-container,
  .ez-toc-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* === IMAGES - ensure they don't overflow on mobile === */
img {
  max-width: 100% !important;
  height: auto !important;
}
.elementor-image img,
.elementor-widget-image img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

/* === OUTDOOR READABILITY - high contrast text boost === */
/* Ensure all body text is highly readable in bright sunlight */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor span {
  color: rgba(255,255,255,0.90) !important;
}
/* Sub-headings boost */
h2.elementor-heading-title,
h3.elementor-heading-title,
h4.elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
}


/* === CONTACT/QUOTE PAGE HERO - Mobile responsive === */
/* Hero section full mobile stacking and padding fix */
@media (max-width: 768px) {
  /* Hero section */
  section[style*="min-height:85vh"],
  section[style*="min-height:80vh"],
  section[style*="min-height: 85vh"],
  section[style*="min-height: 80vh"] {
    min-height: 100svh !important;
    align-items: flex-end !important;
    padding-bottom: 0 !important;
  }
  /* Hero inner content div */
  section[style*="min-height:85vh"] > div[style*="z-index:2"],
  section[style*="min-height:80vh"] > div[style*="z-index:2"],
  section[style*="min-height: 85vh"] > div[style*="z-index:2"],
  section[style*="min-height: 80vh"] > div[style*="z-index:2"] {
    padding: 48px 24px 56px !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  /* Hero h1 */
  section[style*="min-height:85vh"] h1,
  section[style*="min-height:80vh"] h1 {
    font-size: clamp(2rem, 8vw, 3rem) !important;
    letter-spacing: -0.5px !important;
  }
  /* Hero button row - stack on mobile */
  section[style*="min-height:85vh"] > div[style*="z-index:2"] > div,
  section[style*="min-height:80vh"] > div[style*="z-index:2"] > div {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  /* Hero buttons full-width on mobile */
  section[style*="min-height:85vh"] a,
  section[style*="min-height:80vh"] a {
    text-align: center !important;
    padding: 18px 24px !important;
    font-size: 15px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* === CALL US NOW BUTTON - Yellow gold glow === */
/* Universal yellow button styling for tel: links in hero sections */
a[href^="tel:"][style*="background:#f5c518"],
a[href^="tel:"][style*="background: #f5c518"] {
  background: #f5c518 !important;
  color: #0a0a0a !important;
  font-weight: 800 !important;
  box-shadow: 0 0 22px rgba(245,197,24,0.45), 0 4px 16px rgba(0,0,0,0.3) !important;
  border: 2px solid #f5c518 !important;
  transition: all 0.2s ease !important;
}
a[href^="tel:"][style*="background:#f5c518"]:hover,
a[href^="tel:"][style*="background: #f5c518"]:hover {
  background: #ffd700 !important;
  box-shadow: 0 0 32px rgba(255,215,0,0.65), 0 6px 20px rgba(0,0,0,0.4) !important;
  transform: translateY(-2px) !important;
}

/* === REQUEST A FREE QUOTE BUTTON - Green CTA === */
a[href="#contact-form"][style*="background:#1e6b36"],
a[href="#quote-form"][style*="background:#1e6b36"] {
  background: #1e6b36 !important;
  transition: all 0.2s ease !important;
}
a[href="#contact-form"][style*="background:#1e6b36"]:hover,
a[href="#quote-form"][style*="background:#1e6b36"]:hover {
  background: #2ecc71 !important;
  color: #0a0a0a !important;
}

/* === HERO VIDEO BACKGROUND === */
section[style*="min-height:85vh"] video,
section[style*="min-height:80vh"] video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.45 !important;
  z-index: 0 !important;
}

/* === HERO GET IN TOUCH LABEL === */
section[style*="min-height"] > div[style*="z-index:2"] > span {
  display: inline-block !important;
  color: #2ecc71 !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}


/* === CF7 LABEL CONTRAST BOOST - WCAG 2.0 AA outdoor readability === */
.wpcf7-form label,
form.wpcf7-form label {
  color: rgba(255,255,255,0.92) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
/* Override for radio/checkbox labels - no uppercase */
.wpcf7-list-item-label,
.wpcf7-form .wpcf7-list-item label {
  color: rgba(255,255,255,0.90) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
/* Consent checkbox text */
.wpcf7-acceptance .wpcf7-list-item label {
  color: rgba(255,255,255,0.85) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-transform: none !important;
}
/* File input styling */
input[type="file"] {
  color: rgba(255,255,255,0.80) !important;
}
input[type="file"]::file-selector-button {
  background: #1a5c2e !important;
  color: #ffffff !important;
  border: 1px solid #2ecc71 !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  cursor: pointer !important;
}
/* Placeholder text - still visible but clearly placeholder */
input::placeholder,
textarea::placeholder {
  color: rgba(255,255,255,0.42) !important;
  opacity: 1 !important;
}


/* ===================================
   PARTNERSHIPS PAGE & SEI COMMUNITY
   Aspen Land Management LLC - June 2026
   =================================== */

.alm-partnerships{font-family:inherit;color:#fff;background:#0a1a0e}
.alm-partnerships *{box-sizing:border-box}
.alm-h2,.alm-h3,.alm-lead,.alm-card,.alm-section-inner h2,.alm-section-inner h3,.alm-section-inner p,.alm-section-inner li,.alm-hero h1,.alm-hero-headline,.alm-hero-sub,.alm-btn-row,.alm-btn,.alm-badge-row,.alm-sei-approved-banner,.alm-flyer-preview,.alm-discount-card,.alm-service-tag,.alm-faq-item,.alm-stat,.alm-feature-item,.alm-partner-card{opacity:1!important;transform:none!important;transition:none!important}
/* ============================================================
   SEI APPROVED BANNER — Premium Redesign
   Dark navy base + gold trust badge + animated shimmer
   ============================================================ */

/* --- Keyframes --- */
@keyframes almGoldShimmer{
  0%{left:-120%}
  60%{left:120%}
  100%{left:120%}
}
@keyframes almGoldPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,0.35),0 4px 32px rgba(212,175,55,0.18)}
  50%{box-shadow:0 0 0 8px rgba(212,175,55,0),0 4px 32px rgba(212,175,55,0.35)}
}
@keyframes almBadgeGlow{
  0%,100%{text-shadow:0 0 8px rgba(212,175,55,0.4)}
  50%{text-shadow:0 0 20px rgba(212,175,55,0.9),0 0 40px rgba(212,175,55,0.4)}
}
@keyframes almStarSpin{
  0%{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(8deg) scale(1.12)}
  100%{transform:rotate(0deg) scale(1)}
}
@keyframes almVerifiedPop{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.06)}
}

/* --- Main Banner Container --- */
.alm-sei-approved-banner{
  background: linear-gradient(135deg, #060d09 0%, #0b1a10 35%, #0f2318 60%, #091409 100%);
  border-top: none;
  border-bottom: 4px solid #d4af37;
  padding: 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Gold shimmer sweep */
.alm-sei-approved-banner::before{
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(212,175,55,0.12) 50%, transparent 100%);
  animation: almGoldShimmer 3.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* Subtle grid texture overlay */
.alm-sei-approved-banner::after{
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 120px,
    rgba(212,175,55,0.04) 120px,
    rgba(212,175,55,0.04) 121px
  );
  pointer-events: none;
  z-index: 0;
}

/* --- Inner Layout --- */
.alm-sei-approved-inner{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: 14px 24px;
}

/* --- Trust Badge (pill) --- */
.alm-sei-badge{
  display: flex;
  align-items: center;
  gap: 10px;
  background: #0a0a0a !important;
  border: 2px solid #d4af37 !important;
  border-radius: 50px !important;
  padding: 7px 22px 7px 12px !important;
  box-shadow: 0 0 0 1px rgba(212,175,55,0.20), 0 1px 0 rgba(212,175,55,0.10) inset;
  animation: almGoldPulse 3s ease-in-out infinite;
}

/* Shield icon wrapper */
.alm-sei-badge-star{
  animation: almStarSpin 3s ease-in-out infinite;
  flex-shrink: 0;
  font-size: 0 !important;
  line-height: 0 !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.alm-sei-badge-star::before{
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23d4af37' d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5L12 1zm-1 14l-3-3 1.41-1.41L11 12.17l4.59-4.58L17 9l-6 6z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Badge text */
.alm-sei-badge-text{
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #d4af37 !important;
  animation: almBadgeGlow 3s ease-in-out infinite;
}
.alm-sei-badge-text span{
  display: block;
  color: rgba(212,175,55,0.70) !important;
  font-size: 10px !important;
  letter-spacing: 1.5px !important;
}

/* Divider dot between badge and message */
.alm-sei-badge-msg-sep{
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(212,175,55,0.40);
  flex-shrink: 0;
}
@media(max-width:600px){ .alm-sei-badge-msg-sep{ display: none; } }

/* --- Banner Message --- */
.alm-sei-banner-msg{
  font-size: 15px;
  color: rgba(255,255,255,0.88) !important;
  line-height: 1.55;
  margin: 0;
  max-width: 580px;
}
.alm-sei-banner-msg strong{
  color: #ffffff !important;
  font-weight: 800;
}
.alm-sei-banner-msg .alm-sei-gold-pct{
  color: #d4af37 !important;
  font-weight: 900;
  font-size: 17px;
  letter-spacing: -0.3px;
}

/* Old sub class kept for compatibility */
.alm-sei-banner-sub,
body.page-id-2196 .alm-sei-banner-sub{
  color: rgba(255,255,255,0.88) !important;
}
.alm-sei-banner-sub strong{ color: #ffffff !important; }

/* --- Inline note (if any) --- */
.alm-sei-inline-note,
body.page-id-2196 .alm-sei-inline-note{
  color: rgba(255,255,255,0.75) !important;
}

.alm-hero{background:linear-gradient(135deg,#071510 0%,#0f2318 50%,#071510 100%);padding:80px 40px 70px;border-bottom:3px solid #2a5a30}
.alm-hero-inner{max-width:900px;margin:0 auto}
.alm-hero h1{font-size:clamp(26px,4vw,46px);font-weight:900;color:#fff;line-height:1.1;margin:0 0 14px;letter-spacing:-1px}
.alm-hero-headline{font-size:clamp(17px,2.5vw,28px);font-weight:700;color:#4caf70;margin:0 0 18px;line-height:1.2}
.alm-hero-sub{font-size:17px;color:#c8d8c0;line-height:1.7;max-width:720px;margin:0 0 34px}
.alm-btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}
.alm-btn{display:inline-block;padding:14px 28px;font-size:15px;font-weight:700;border-radius:4px;text-decoration:none;cursor:pointer;letter-spacing:0.3px}
.alm-btn-primary{background:#4caf70;color:#fff;border:2px solid #4caf70}
.alm-btn-primary:hover{background:#3d9960;border-color:#3d9960}
.alm-btn-outline{background:transparent;color:#4caf70;border:2px solid #4caf70}
.alm-btn-outline:hover{background:#4caf70;color:#fff}
.alm-btn-dark{background:#1a3a20;color:#4caf70;border:2px solid #2a5a30}
.alm-btn-dark:hover{background:#2a5a30}
.alm-intro{background:#0f2318;padding:70px 40px}
.alm-intro-inner{max-width:900px;margin:0 auto}
.alm-h2{font-size:clamp(22px,3vw,36px);font-weight:800;color:#fff;margin:0 0 16px;line-height:1.2}
.alm-lead{font-size:17px;color:#b8cbb8;line-height:1.7;margin:0 0 20px}
.alm-badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.alm-badge{display:flex;align-items:center;gap:6px;background:#1a3a20;border:1px solid #2a5a30;border-radius:30px;padding:7px 16px;font-size:13px;font-weight:600;color:#c8d8c0}
.alm-badge-icon{font-size:16px}
.alm-sei-section{background:#fff;padding:60px 40px;color:#1a2a1a}
.alm-sei-inner{max-width:900px;margin:0 auto}
.alm-sei-header{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:#f3f9f1;border:2px solid #4caf70;border-radius:12px;padding:24px;margin-bottom:32px}
.alm-sei-logo-wrap{flex-shrink:0}
.alm-sei-logo-img{width:90px;height:auto}
.alm-sei-header-text h2{font-size:clamp(18px,2.5vw,28px);font-weight:800;color:#1a3a20;margin:0 0 6px}
.alm-sei-header-text p{font-size:15px;color:#3a5a3a;margin:0;line-height:1.6}
.alm-approved-seal{background:linear-gradient(135deg,#1a4a00,#2e7010);color:#fff;border-radius:50px;padding:8px 20px;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;margin-top:4px;display:inline-block;box-shadow:0 3px 12px rgba(76,175,112,0.4)}
.alm-discount-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 28px}
@media(max-width:680px){.alm-discount-tiers{grid-template-columns:1fr}}
.alm-discount-card{border:2px solid #4caf70;border-radius:10px;padding:24px 20px;text-align:center;background:#f9fdf9;position:relative}
.alm-discount-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(76,175,112,0.2)}
.alm-discount-card.featured{background:#1a4a00;border-color:#7fff90;color:#fff}
.alm-discount-number{width:34px;height:34px;background:#4caf70;color:#fff;border-radius:50%;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.alm-discount-card.featured .alm-discount-number{background:#7fff90;color:#1a3a20}
.alm-discount-range{font-size:13px;font-weight:700;color:#3a5a3a;margin:0 0 8px;letter-spacing:0.5px}
.alm-discount-card.featured .alm-discount-range{color:#b0ffb8}
.alm-discount-pct{font-size:32px;font-weight:900;color:#1a3a20;margin:0 0 4px;line-height:1}
.alm-discount-card.featured .alm-discount-pct{color:#fff}
.alm-discount-label{font-size:13px;font-weight:600;color:#3a5a3a;margin:0 0 8px}
.alm-discount-card.featured .alm-discount-label{color:#c0ffc8}
.alm-discount-savings{font-size:12px;font-weight:700;color:#fff;background:#4caf70;border-radius:20px;padding:4px 12px;display:inline-block}
.alm-discount-card.featured .alm-discount-savings{background:#7fff90;color:#1a3a20}
.alm-discount-note{font-size:12px;color:#5a7a5a;border-top:1px solid #e0ede0;padding-top:16px;margin-top:8px;line-height:1.5;grid-column:1/-1}
.alm-flyer-section{background:#0f2318;padding:60px 40px}
.alm-flyer-inner{max-width:900px;margin:0 auto;text-align:center}
.alm-flyer-preview{display:inline-block;max-width:500px;width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,0.5);text-decoration:none;position:relative;cursor:pointer}
.alm-flyer-preview:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 60px rgba(76,175,112,0.35)}
.alm-flyer-img{width:100%;height:auto;display:block}
.alm-flyer-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(10,26,14,0.95) 0%,transparent 100%);padding:30px 20px 20px;text-align:center}
.alm-flyer-cta-text{font-size:15px;font-weight:700;color:#4caf70;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.alm-flyer-subcta{font-size:13px;color:#c8d8c0}
.alm-flyer-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#4caf70;border-radius:50%;font-size:18px;color:#fff;margin-top:8px}
.alm-flyer-badge{position:absolute;top:12px;right:12px;background:#4caf70;color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:20px;box-shadow:0 3px 10px rgba(0,0,0,0.3)}
.alm-services{background:#0a1a0e;padding:60px 40px}
.alm-services-inner{max-width:900px;margin:0 auto}
.alm-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:24px}
.alm-service-tag{background:#1a3a20;border:1px solid #2a5a30;border-radius:8px;padding:16px 18px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#c8d8c0}
.alm-service-tag:hover{background:#2a5a30;border-color:#4caf70;color:#fff}
.alm-service-icon{font-size:20px;flex-shrink:0}
.alm-stewardship{background:#071510;padding:70px 40px;border-top:3px solid #1a3a20}
.alm-stewardship-inner{max-width:900px;margin:0 auto}
.alm-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:28px}
.alm-feature-item{background:#0f2318;border:1px solid #1a3a20;border-left:4px solid #4caf70;border-radius:0 8px 8px 0;padding:22px 20px}
.alm-feature-item h3{font-size:16px;font-weight:700;color:#fff;margin:0 0 8px}
.alm-feature-item p{font-size:14px;color:#9ab89a;line-height:1.6;margin:0}
.alm-feature-icon{font-size:26px;margin-bottom:10px;display:block}
.alm-conservation{background:#0f2318;padding:70px 40px}
.alm-conservation-inner{max-width:900px;margin:0 auto}
.alm-partner-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:28px}
.alm-partner-card{background:#071510;border:1px solid #1a3a20;border-radius:10px;padding:24px}
.alm-partner-card:hover{border-color:#4caf70}
.alm-partner-card-icon{font-size:32px;margin-bottom:12px;display:block}
.alm-partner-card h3{font-size:16px;font-weight:700;color:#fff;margin:0 0 8px}
.alm-partner-card p{font-size:14px;color:#9ab89a;line-height:1.6;margin:0}
.alm-demo{background:#071510;padding:70px 40px;border-top:3px solid #1a3a20}
.alm-demo-inner{max-width:900px;margin:0 auto}
.alm-demo-box{background:linear-gradient(135deg,#0f2318,#1a3a20);border:2px solid #2a5a30;border-radius:12px;padding:36px;display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}
.alm-demo-icon{font-size:48px;flex-shrink:0}
.alm-demo-text h2{font-size:clamp(18px,2.5vw,26px);font-weight:800;color:#fff;margin:0 0 10px}
.alm-demo-text p{font-size:15px;color:#b8cbb8;line-height:1.7;margin:0 0 20px}
.alm-partner-inquiry{background:#1a3a20;padding:70px 40px}
.alm-partner-inquiry-inner{max-width:900px;margin:0 auto;text-align:center}
.alm-area{background:#0a1a0e;padding:60px 40px;border-top:2px solid #1a3a20}
.alm-area-inner{max-width:900px;margin:0 auto}
.alm-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:24px}
.alm-area-item{background:#1a3a20;border-radius:6px;padding:14px 18px;font-size:13px;color:#c8d8c0;font-weight:500;display:flex;align-items:center;gap:8px}
.alm-area-item::before{content:"📍";font-size:14px}
.alm-faq{background:#0f2318;padding:70px 40px}
.alm-faq-inner{max-width:800px;margin:0 auto}
.alm-faq-item{border-bottom:1px solid #1a3a20;margin-bottom:0;background:transparent}
.alm-faq-question{font-size:16px;font-weight:700;color:#fff;padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}
.alm-faq-question:hover{color:#4caf70}
.alm-faq-answer{font-size:15px;color:#9ab89a;line-height:1.7;padding:0 0 20px;display:none}
.alm-faq-item.open .alm-faq-answer{display:block}
.alm-faq-item.open .alm-faq-question{color:#4caf70}
.alm-faq-chevron{font-size:14px;flex-shrink:0}
.alm-faq-item.open .alm-faq-chevron{transform:rotate(180deg)}
.alm-final-cta{background:linear-gradient(135deg,#071510 0%,#0f2318 100%);border-top:3px solid #2a5a30;padding:80px 40px;text-align:center}
.alm-final-cta-inner{max-width:700px;margin:0 auto}
.alm-final-cta h2{font-size:clamp(22px,3vw,36px);font-weight:900;color:#fff;margin:0 0 14px}
.alm-final-cta p{font-size:17px;color:#c8d8c0;line-height:1.7;margin:0 0 32px}
.alm-final-cta .alm-btn-row{justify-content:center}
.alm-terms{background:#071510;border-top:1px solid #1a3a20;padding:30px 40px}
.alm-terms-inner{max-width:900px;margin:0 auto;text-align:center}
.alm-terms p{font-size:12px;color:#6a8a6a;line-height:1.6;margin:0}
@media(max-width:640px){
  .alm-hero,.alm-intro,.alm-sei-section,.alm-flyer-section,.alm-services,.alm-stewardship,.alm-conservation,.alm-demo,.alm-partner-inquiry,.alm-area,.alm-faq,.alm-final-cta,.alm-terms{padding-left:20px;padding-right:20px}
  .alm-sei-header{flex-direction:column;text-align:center}
  .alm-demo-box{flex-direction:column}
  .alm-discount-tiers{grid-template-columns:1fr}
}

/* What We Clear Page SEI Community Section */
.wwc-sei-community{background:linear-gradient(135deg,#071510 0%,#0f2318 100%);padding:70px 40px;border-top:4px solid #4caf70;font-family:inherit}
.wwc-sei-community *{box-sizing:border-box}
.wwc-sei-inner,.wwc-sei-label,.wwc-sei-heading,.wwc-sei-lead,.wwc-sei-card,.wwc-sei-logo-badge,.wwc-sei-btn{opacity:1!important;transform:none!important;transition:none!important}
.wwc-sei-inner{max-width:920px;margin:0 auto;text-align:center}
.wwc-sei-label{display:inline-block;background:#1a3a20;color:#4caf70;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border-radius:3px;margin-bottom:22px}
.wwc-sei-heading{font-size:clamp(22px,3.5vw,38px);font-weight:900;color:#fff;margin:0 0 16px;line-height:1.15}
.wwc-sei-lead{font-size:17px;color:#b8cbb8;line-height:1.7;max-width:680px;margin:0 auto 36px}
.wwc-sei-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:0 0 36px}
.wwc-sei-card{background:#0f2318;border:1px solid #2a5a30;border-radius:10px;padding:24px 20px;text-align:left}
.wwc-sei-card:hover{border-color:#4caf70}
.wwc-sei-card-icon{font-size:30px;margin-bottom:12px;display:block}
.wwc-sei-card h3{font-size:15px;font-weight:700;color:#fff;margin:0 0 8px}
.wwc-sei-card p{font-size:13px;color:rgba(255,255,255,0.85) !important;line-height:1.6;margin:0}
.wwc-sei-logo-badge{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;background:#1a3a20;border:2px solid #4caf70;border-radius:12px;padding:20px 28px;margin:0 0 32px;text-decoration:none}
.wwc-sei-logo-badge:hover{background:#2a5a30;box-shadow:0 6px 24px rgba(76,175,112,0.3)}
.wwc-sei-logo-img{width:80px;height:auto;flex-shrink:0}
.wwc-sei-logo-text h4{font-size:16px;font-weight:800;color:#fff;margin:0 0 4px;text-align:left}
.wwc-sei-logo-text p{font-size:13px;color:#c8d8c0;margin:0;text-align:left;line-height:1.4}
.wwc-sei-approved-pill{background:#4caf70;color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 12px;border-radius:20px;display:inline-block;margin-top:4px}
.wwc-sei-btn-wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.wwc-sei-btn{display:inline-block;padding:15px 32px;font-size:15px;font-weight:700;border-radius:5px;text-decoration:none;letter-spacing:0.3px}
.wwc-sei-btn-primary{background:linear-gradient(135deg,#4caf70,#3d9960);color:#fff;border:2px solid #4caf70;box-shadow:0 4px 16px rgba(76,175,112,0.35)}
.wwc-sei-btn-primary:hover{background:linear-gradient(135deg,#3d9960,#2d7a50)}
.wwc-sei-btn-ghost{background:transparent;color:#4caf70;border:2px solid #4caf70}
.wwc-sei-btn-ghost:hover{background:#4caf70;color:#fff}
@media(max-width:640px){
  .wwc-sei-community{padding:50px 20px}
  .wwc-sei-logo-badge{flex-direction:column;text-align:center}
  .wwc-sei-logo-text h4,.wwc-sei-logo-text p{text-align:center}
}

/* ============================================================
   SPRING 2027 DEMO SECTION - What We Clear & Partnerships
   ============================================================ */
.wwc-spring2027{background:linear-gradient(135deg,#071510 0%,#0a2010 60%,#071510 100%);padding:70px 40px;border-top:4px solid #2a7a3a;font-family:inherit}
.wwc-spring2027 *,.alm-s27-feature *{box-sizing:border-box}
.wwc-s27-inner,.wwc-s27-label-row,.wwc-s27-heading,.wwc-s27-lead,.wwc-s27-image-wrap,.wwc-s27-features,.wwc-s27-feat,.wwc-s27-cta-box,.wwc-s27-btn{opacity:1!important;transform:none!important;transition:none!important}
.wwc-s27-inner{max-width:960px;margin:0 auto}
.wwc-s27-label-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.wwc-s27-badge{display:inline-flex;align-items:center;gap:6px;background:#1a3a20;border:1px solid #3a7a3a;color:#7fff90;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:6px 14px;border-radius:4px}
.wwc-s27-badge-urgent{background:#2a1a00;border-color:#7a5a00;color:#ffd060}
.wwc-s27-heading{font-size:clamp(22px,3.5vw,36px);font-weight:900;color:#fff;line-height:1.2;margin:0 0 16px}
.wwc-s27-lead{font-size:16px;color:#b8cbb8;line-height:1.75;margin:0 0 32px;max-width:820px}
.wwc-s27-lead strong{color:#7fff90}
.wwc-s27-image-wrap{border-radius:12px;overflow:hidden;margin:0 0 36px;box-shadow:0 12px 40px rgba(0,0,0,0.6)}
.wwc-s27-img{width:100%;height:auto;display:block}
.wwc-s27-img-caption{background:rgba(10,26,14,0.85);color:#9ab89a;font-size:12px;padding:10px 16px;text-align:center;border-top:1px solid #1a3a20}
.wwc-s27-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:0 0 32px}
.wwc-s27-feat{display:flex;gap:16px;align-items:flex-start;background:#0f2318;border:1px solid #1a4a20;border-left:4px solid #4caf70;border-radius:0 8px 8px 0;padding:20px 18px}
.wwc-s27-feat-icon{font-size:28px;flex-shrink:0;margin-top:2px}
.wwc-s27-feat strong{display:block;font-size:14px;font-weight:700;color:#fff;margin-bottom:6px}
.wwc-s27-feat p{font-size:13px;color:#9ab89a;line-height:1.6;margin:0}
.wwc-s27-cta-box{background:linear-gradient(135deg,#1a3a10,#0f2318);border:2px solid #3a7a3a;border-radius:12px;padding:28px 32px;margin:0 0 20px}
.wwc-s27-cta-urgency{font-size:15px;color:#ffd060;font-weight:600;margin:0 0 20px;line-height:1.6}
.wwc-s27-btn-wrap{display:flex;flex-wrap:wrap;gap:14px}
.wwc-s27-btn{display:inline-block;padding:15px 30px;font-size:15px;font-weight:700;border-radius:5px;text-decoration:none;letter-spacing:0.3px}
.wwc-s27-btn-primary{background:linear-gradient(135deg,#4caf70,#3a9a60);color:#fff;border:2px solid #4caf70;box-shadow:0 4px 16px rgba(76,175,112,0.3)}
.wwc-s27-btn-primary:hover{background:linear-gradient(135deg,#3a9a60,#2d7a50)}
.wwc-s27-btn-outline{background:transparent;color:#4caf70;border:2px solid #4caf70}
.wwc-s27-btn-outline:hover{background:#4caf70;color:#fff}
.wwc-s27-disclaimer{font-size:11px;color:#5a7a5a;line-height:1.6;margin:0;font-style:italic}
.alm-s27-feature{background:#071510;padding:60px 40px;border-top:3px solid #1a3a20}
.alm-s27-inner{max-width:960px;margin:0 auto}
.alm-s27-inner,.alm-s27-grid,.alm-s27-img,.alm-s27-content,.alm-s27-tag{opacity:1!important;transform:none!important;transition:none!important}
.alm-s27-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
@media(max-width:720px){.alm-s27-grid{grid-template-columns:1fr}}
.alm-s27-img-wrap{border-radius:10px;overflow:hidden;box-shadow:0 10px 36px rgba(0,0,0,0.6)}
.alm-s27-img{width:100%;height:auto;display:block}
.alm-s27-img-caption{background:rgba(10,26,14,0.9);color:#7ab87a;font-size:11px;padding:8px 14px;text-align:center;border-top:1px solid #1a3a20}
.alm-s27-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.alm-s27-tag{background:#1a3a20;color:#7fff90;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:4px 12px;border-radius:4px;border:1px solid #2a5a30}
.alm-s27-tag-urgent{background:#2a1a00;color:#ffd060;border-color:#5a3a00}
.alm-s27-content h2{font-size:clamp(18px,2.5vw,26px);font-weight:900;color:#fff;margin:0 0 12px;line-height:1.2}
.alm-s27-content p{font-size:15px;color:#b8cbb8;line-height:1.7;margin:0 0 16px}
.alm-s27-content p strong{color:#7fff90}
.alm-s27-btn-wrap{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.alm-s27-btn{display:inline-block;padding:13px 26px;font-size:14px;font-weight:700;border-radius:4px;text-decoration:none;letter-spacing:0.3px}
.alm-s27-btn-primary{background:#4caf70;color:#fff;border:2px solid #4caf70}
.alm-s27-btn-primary:hover{background:#3a9a60}
.alm-s27-btn-outline{background:transparent;color:#4caf70;border:2px solid #4caf70}
.alm-s27-btn-outline:hover{background:#4caf70;color:#fff}
.alm-s27-disclaimer{font-size:11px;color:#5a7a5a;line-height:1.6;margin-top:16px;font-style:italic}
@media(max-width:640px){
  .wwc-spring2027,.alm-s27-feature{padding-left:20px;padding-right:20px}
  .wwc-s27-cta-box{padding:20px}
}

/* =============================================
   PROJECT CLEARING LANDING PAGE CSS - ASPEN LAND MANAGEMENT
   ============================================= */
.alm-pc-page{font-family:'Inter','Segoe UI',sans-serif;color:#1a1a1a;line-height:1.6}
.alm-pc-page *,.alm-pc-page *::before,.alm-pc-page *::after{box-sizing:border-box}
.alm-pc-page h1,.alm-pc-page h2,.alm-pc-page h3,.alm-pc-page h4{font-family:'Inter','Segoe UI',sans-serif;font-weight:700;line-height:1.2;color:#1a1a1a;margin:0 0 1rem}
.alm-pc-page p{margin:0 0 1rem}
.alm-pc-page a{color:#1b5e20;text-decoration:none}
.alm-pc-page img{max-width:100%;height:auto;display:block}
.alm-pc-container{max-width:1160px;margin:0 auto;padding:0 24px}
.alm-pc-section{padding:80px 0}
.alm-pc-section-alt{background:#f8f9f7}
.alm-pc-section-dark{background:#1a2e1a;color:#fff}
.alm-pc-section-dark h2,.alm-pc-section-dark h3,.alm-pc-section-dark p{color:#fff}
.alm-pc-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2e7d32;background:#e8f5e9;padding:6px 16px;border-radius:20px;margin-bottom:18px}
.alm-pc-eyebrow-white{color:#a5d6a7 !important;background:rgba(255,255,255,.1) !important}
.alm-pc-hero{background:linear-gradient(135deg,#fff 0%,#f1f8e9 50%,#e8f5e9 100%);padding:90px 0 80px;border-bottom:3px solid #2e7d32;position:relative;overflow:hidden}
.alm-pc-hero::before{content:'';position:absolute;right:0;top:0;width:50%;height:100%;background:linear-gradient(135deg,rgba(27,94,32,.06) 0%,rgba(46,125,50,.12) 100%);clip-path:polygon(15% 0%,100% 0%,100% 100%,0% 100%)}
.alm-pc-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.alm-pc-hero-content{position:relative;z-index:2}
.alm-pc-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#1a2e1a !important;margin-bottom:1.25rem;line-height:1.15}
.alm-pc-hero h1 span{color:#2e7d32}
.alm-pc-hero-sub{font-size:1.1rem;color:#374151;margin-bottom:1.5rem;line-height:1.65}
.alm-pc-hero-trust{font-size:.9rem;color:#4b5563;font-style:italic;margin-bottom:2rem;padding-left:16px;border-left:3px solid #2e7d32}
.alm-pc-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:1.5rem}
.alm-pc-hero-footer{font-size:.8rem;color:#6b7280}
.alm-pc-hero-image{position:relative;z-index:2}
.alm-pc-hero-image img{border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.15);width:100%;object-fit:cover;aspect-ratio:4/3}
.alm-pc-hero-badge{position:absolute;bottom:-16px;left:20px;background:#1b5e20;color:#fff;padding:12px 20px;border-radius:8px;font-size:.8rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.alm-pc-btn{display:inline-block;padding:14px 28px;border-radius:6px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none !important;letter-spacing:.02em;white-space:nowrap}
.alm-pc-btn-primary{background:#1b5e20 !important;color:#fff !important;border:2px solid #1b5e20 !important}
.alm-pc-btn-primary:hover{background:#145218 !important;border-color:#145218 !important;transform:translateY(-1px);box-shadow:0 6px 20px rgba(27,94,32,.35)}
.alm-pc-btn-secondary{background:transparent !important;color:#1b5e20 !important;border:2px solid #1b5e20 !important}
.alm-pc-btn-secondary:hover{background:#1b5e20 !important;color:#fff !important}
.alm-pc-btn-phone{background:#fff !important;color:#1a2e1a !important;border:2px solid #d1d5db !important}
.alm-pc-btn-phone:hover{border-color:#1b5e20 !important;color:#1b5e20 !important}
.alm-pc-btn-white{background:#fff !important;color:#1b5e20 !important;border:2px solid #fff !important}
.alm-pc-btn-white:hover{background:#e8f5e9 !important}
.alm-pc-btn-outline-white{background:transparent !important;color:#fff !important;border:2px solid rgba(255,255,255,.6) !important}
.alm-pc-btn-outline-white:hover{border-color:#fff !important;background:rgba(255,255,255,.1) !important}
.alm-pc-btn-lg{padding:17px 36px !important;font-size:1rem !important}
.alm-pc-section-heading{text-align:center;max-width:780px;margin:0 auto 50px}
.alm-pc-section-heading h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1rem}
.alm-pc-section-heading p{font-size:1.05rem;color:#4b5563}
.alm-pc-text-center{text-align:center}
.alm-pc-problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:50px}
.alm-pc-problem-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:28px 24px;border-top:4px solid #2e7d32;transition:box-shadow .2s}
.alm-pc-problem-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.1)}
.alm-pc-problem-card h3{font-size:1.05rem;color:#1b5e20 !important;margin-bottom:.75rem}
.alm-pc-problem-card p{font-size:.9rem;color:#4b5563;margin:0}
.alm-pc-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.alm-pc-audience-card{background:#fff;border-radius:10px;padding:24px 20px;text-align:center;border:1px solid #e5e7eb;transition:all .2s}
.alm-pc-audience-card:hover{border-color:#2e7d32;box-shadow:0 4px 16px rgba(46,125,50,.15)}
.alm-pc-audience-icon{width:52px;height:52px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.4rem}
.alm-pc-audience-card h3{font-size:.9rem;color:#1a2e1a !important;margin:0;font-weight:600}
.alm-pc-audience-micro{text-align:center;max-width:700px;margin:36px auto 0;font-size:.95rem;color:#4b5563;font-style:italic}
.alm-pc-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.alm-pc-service-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:28px 24px;transition:all .2s}
.alm-pc-service-card:hover{border-color:#2e7d32;box-shadow:0 8px 24px rgba(46,125,50,.12);transform:translateY(-2px)}
.alm-pc-service-icon{width:48px;height:48px;background:#1b5e20;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:1.4rem}
.alm-pc-service-card h3{font-size:1rem;font-weight:700;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-service-card p{font-size:.875rem;color:#4b5563;margin:0}
.alm-pc-services-cta{text-align:center;margin-top:44px}
.alm-pc-cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.alm-pc-cred-block{padding:28px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.alm-pc-cred-block h3{font-size:1rem;font-weight:700;color:#a5d6a7 !important;margin-bottom:.5rem}
.alm-pc-cred-block p{font-size:.875rem;color:rgba(255,255,255,.8) !important;margin:0}
.alm-pc-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:40px 0}
.alm-pc-type-item{display:flex;align-items:flex-start;gap:14px;padding:18px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}
.alm-pc-type-check{width:24px;height:24px;min-width:24px;background:#2e7d32;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700}
.alm-pc-type-item p{margin:0;font-size:.9rem;color:#374151;font-weight:500;padding-top:2px}
.alm-pc-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative}
.alm-pc-process-grid::before{content:'';position:absolute;top:36px;left:calc(12.5% + 18px);right:calc(12.5% + 18px);height:2px;background:linear-gradient(90deg,#2e7d32,#4caf50);z-index:0}
.alm-pc-step{text-align:center;position:relative;z-index:1}
.alm-pc-step-num{width:72px;height:72px;background:#1b5e20;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;margin:0 auto 20px;box-shadow:0 4px 16px rgba(27,94,32,.3);border:4px solid #fff}
.alm-pc-step h3{font-size:1rem;font-weight:700;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-step p{font-size:.85rem;color:#4b5563}
.alm-pc-process-cta{text-align:center;margin-top:48px}
.alm-pc-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.alm-pc-sub-list{list-style:none !important;padding:0 !important;margin:20px 0}
.alm-pc-sub-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb;font-size:.95rem;color:#374151}
.alm-pc-sub-list li::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;background:#e8f5e9;color:#2e7d32;border-radius:50%;font-size:.75rem;font-weight:700}
.alm-pc-sub-cta-box{background:#f8f9f7;border:1px solid #e5e7eb;border-radius:12px;padding:32px}
.alm-pc-sub-cta-box h3{font-size:1.2rem;color:#1a2e1a !important;margin-bottom:.75rem}
.alm-pc-sub-cta-box p{font-size:.9rem;color:#4b5563;margin-bottom:1.5rem}
.alm-pc-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:40px 0;align-items:start}
.alm-pc-area-locations{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.alm-pc-area-location{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;font-size:.9rem;font-weight:500;color:#374151}
.alm-pc-area-seo{font-size:.9rem;color:#4b5563;line-height:1.75}
.alm-pc-form-section{background:linear-gradient(180deg,#f8f9f7 0%,#fff 100%)}
.alm-pc-form-wrapper{max-width:860px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 40px rgba(0,0,0,.10);padding:50px;border:1px solid #e5e7eb}
.alm-pc-form-wrapper h2{font-size:1.75rem;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-form-desc{font-size:1rem;color:#4b5563;margin-bottom:2rem}
.alm-pc-form-wrapper .wpforms-field-label{font-weight:600 !important;font-size:.9rem !important;color:#374151 !important}
.alm-pc-form-wrapper .wpforms-field input[type=text],.alm-pc-form-wrapper .wpforms-field input[type=email],.alm-pc-form-wrapper .wpforms-field input[type=tel],.alm-pc-form-wrapper .wpforms-field select,.alm-pc-form-wrapper .wpforms-field textarea{border:1.5px solid #d1d5db !important;border-radius:6px !important;padding:10px 14px !important;font-size:.95rem !important}
.alm-pc-form-wrapper .wpforms-field input:focus,.alm-pc-form-wrapper .wpforms-field select:focus,.alm-pc-form-wrapper .wpforms-field textarea:focus{border-color:#2e7d32 !important;box-shadow:0 0 0 3px rgba(46,125,50,.15) !important}
.alm-pc-form-wrapper .wpforms-submit-container .wpforms-submit{background:#1b5e20 !important;color:#fff !important;font-size:1rem !important;font-weight:700 !important;padding:14px 36px !important;border-radius:6px !important;border:none !important}
.alm-pc-form-wrapper .wpforms-submit-container .wpforms-submit:hover{background:#145218 !important}
.alm-pc-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.alm-pc-trust-item{display:flex;align-items:flex-start;gap:16px;padding:20px;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.1)}
.alm-pc-trust-check{width:32px;height:32px;min-width:32px;background:#2e7d32;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-weight:700}
.alm-pc-trust-item strong{display:block;font-size:.95rem;color:#a5d6a7 !important;margin-bottom:4px}
.alm-pc-trust-item p{font-size:.85rem;color:rgba(255,255,255,.75) !important;margin:0}
.alm-pc-final-cta{background:linear-gradient(135deg,#1a2e1a 0%,#1b5e20 100%);padding:80px 0;text-align:center}
.alm-pc-final-cta h2{color:#fff !important;font-size:2.2rem;margin-bottom:1rem}
.alm-pc-final-cta p{color:rgba(255,255,255,.85) !important;font-size:1.05rem;max-width:640px;margin:0 auto 2rem}
.alm-pc-final-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.alm-pc-final-contact{margin-top:28px;font-size:.9rem;color:rgba(255,255,255,.7)}
.alm-pc-final-contact a{color:#a5d6a7 !important}
.alm-pc-faq-grid{max-width:800px;margin:40px auto 0}
.alm-pc-faq-item{border-bottom:1px solid #e5e7eb;padding:20px 0}
.alm-pc-faq-item:last-child{border-bottom:none}
.alm-pc-faq-q{font-size:1rem;font-weight:700;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-faq-a{font-size:.9rem;color:#4b5563;line-height:1.65}
.alm-pc-divider{width:60px;height:4px;background:#2e7d32;border-radius:2px;margin:12px auto 28px}
.alm-pc-divider-left{margin-left:0}
@media(max-width:1024px){
  .alm-pc-problem-grid,.alm-pc-audience-grid{grid-template-columns:repeat(2,1fr)}
  .alm-pc-process-grid{grid-template-columns:repeat(2,1fr)}
  .alm-pc-process-grid::before{display:none}
  .alm-pc-cred-grid{grid-template-columns:repeat(2,1fr)}
  .alm-pc-trust-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .alm-pc-section{padding:54px 0}
  .alm-pc-hero{padding:60px 0}
  .alm-pc-hero-grid{grid-template-columns:1fr;gap:40px}
  .alm-pc-hero-image{display:none}
  .alm-pc-services-grid{grid-template-columns:1fr}
  .alm-pc-problem-grid{grid-template-columns:1fr}
  .alm-pc-audience-grid{grid-template-columns:repeat(2,1fr)}
  .alm-pc-types-grid{grid-template-columns:1fr}
  .alm-pc-process-grid{grid-template-columns:1fr}
  .alm-pc-sub-grid{grid-template-columns:1fr;gap:32px}
  .alm-pc-area-grid{grid-template-columns:1fr}
  .alm-pc-area-locations{grid-template-columns:1fr}
  .alm-pc-cred-grid{grid-template-columns:1fr}
  .alm-pc-trust-grid{grid-template-columns:1fr}
  .alm-pc-form-wrapper{padding:30px 24px}
  .alm-pc-hero-ctas{flex-direction:column}
  .alm-pc-final-btns{flex-direction:column;align-items:center}
  .alm-pc-final-cta h2{font-size:1.6rem}
}
@media(max-width:480px){
  .alm-pc-hero h1{font-size:1.7rem !important}
  .alm-pc-audience-grid{grid-template-columns:1fr}
}


/* =============================================
   PROJECT CLEARING LANDING PAGE CSS
   ============================================= */
.alm-pc-page{font-family:'Inter','Segoe UI',sans-serif;color:#1a1a1a;line-height:1.6}
.alm-pc-page *,.alm-pc-page *::before,.alm-pc-page *::after{box-sizing:border-box}
.alm-pc-page h1,.alm-pc-page h2,.alm-pc-page h3,.alm-pc-page h4{font-weight:700;line-height:1.2;color:#1a1a1a;margin:0 0 1rem}
.alm-pc-page p{margin:0 0 1rem}
.alm-pc-page a{color:#1b5e20;text-decoration:none}
.alm-pc-container{max-width:1160px;margin:0 auto;padding:0 24px}
.alm-pc-section{padding:80px 0}
.alm-pc-section-alt{background:#f8f9f7}
.alm-pc-section-dark{background:#1a2e1a;color:#fff}
.alm-pc-section-dark h2,.alm-pc-section-dark h3,.alm-pc-section-dark p{color:#fff !important}
.alm-pc-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2e7d32;background:#e8f5e9;padding:6px 16px;border-radius:20px;margin-bottom:18px}
.alm-pc-eyebrow-white{color:#a5d6a7 !important;background:rgba(255,255,255,.1) !important}
.alm-pc-hero{background:linear-gradient(135deg,#fff 0%,#f1f8e9 50%,#e8f5e9 100%);padding:90px 0 80px;border-bottom:3px solid #2e7d32;position:relative;overflow:hidden}
.alm-pc-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.alm-pc-hero-content{position:relative;z-index:2}
.alm-pc-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#1a2e1a !important;margin-bottom:1.25rem;line-height:1.15}
.alm-pc-hero h1 span{color:#2e7d32}
.alm-pc-hero-sub{font-size:1.1rem;color:#374151;margin-bottom:1.5rem;line-height:1.65}
.alm-pc-hero-trust{font-size:.9rem;color:#4b5563;font-style:italic;margin-bottom:2rem;padding-left:16px;border-left:3px solid #2e7d32}
.alm-pc-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:1.5rem}
.alm-pc-hero-footer{font-size:.8rem;color:#6b7280}
.alm-pc-hero-image{position:relative;z-index:2}
.alm-pc-hero-image img{border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.15);width:100%;object-fit:cover;aspect-ratio:4/3}
.alm-pc-hero-badge{position:absolute;bottom:-16px;left:20px;background:#1b5e20;color:#fff;padding:12px 20px;border-radius:8px;font-size:.8rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.alm-pc-btn{display:inline-block;padding:14px 28px;border-radius:6px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none !important;letter-spacing:.02em;white-space:nowrap;line-height:1.3}
.alm-pc-btn-primary{background:#1b5e20 !important;color:#fff !important;border:2px solid #1b5e20 !important}
.alm-pc-btn-primary:hover{background:#145218 !important;border-color:#145218 !important;transform:translateY(-1px);box-shadow:0 6px 20px rgba(27,94,32,.35)}
.alm-pc-btn-secondary{background:transparent !important;color:#1b5e20 !important;border:2px solid #1b5e20 !important}
.alm-pc-btn-secondary:hover{background:#1b5e20 !important;color:#fff !important}
.alm-pc-btn-phone{background:#fff !important;color:#1a2e1a !important;border:2px solid #d1d5db !important}
.alm-pc-btn-phone:hover{border-color:#1b5e20 !important;color:#1b5e20 !important}
.alm-pc-btn-white{background:#fff !important;color:#1b5e20 !important;border:2px solid #fff !important}
.alm-pc-btn-outline-white{background:transparent !important;color:#fff !important;border:2px solid rgba(255,255,255,.6) !important}
.alm-pc-btn-outline-white:hover{border-color:#fff !important;background:rgba(255,255,255,.1) !important}
.alm-pc-btn-lg{padding:17px 36px !important;font-size:1rem !important}
.alm-pc-section-heading{text-align:center;max-width:780px;margin:0 auto 50px}
.alm-pc-section-heading h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1rem}
.alm-pc-section-heading p{font-size:1.05rem;color:#4b5563}
.alm-pc-text-center{text-align:center}
.alm-pc-problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:50px}
.alm-pc-problem-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:28px 24px;border-top:4px solid #2e7d32;transition:box-shadow .2s}
.alm-pc-problem-card h3{font-size:1.05rem;color:#1b5e20 !important;margin-bottom:.75rem}
.alm-pc-problem-card p{font-size:.9rem;color:#4b5563;margin:0}
.alm-pc-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.alm-pc-audience-card{background:#fff;border-radius:10px;padding:24px 20px;text-align:center;border:1px solid #e5e7eb;transition:all .2s}
.alm-pc-audience-card:hover{border-color:#2e7d32;box-shadow:0 4px 16px rgba(46,125,50,.15)}
.alm-pc-audience-icon{width:52px;height:52px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.4rem}
.alm-pc-audience-card h3{font-size:.9rem;color:#1a2e1a !important;margin:0;font-weight:600}
.alm-pc-audience-micro{text-align:center;max-width:700px;margin:36px auto 0;font-size:.95rem;color:#4b5563;font-style:italic}
.alm-pc-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.alm-pc-service-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:28px 24px;transition:all .2s}
.alm-pc-service-card:hover{border-color:#2e7d32;box-shadow:0 8px 24px rgba(46,125,50,.12);transform:translateY(-2px)}
.alm-pc-service-icon{width:48px;height:48px;background:#1b5e20;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:1.4rem}
.alm-pc-service-card h3{font-size:1rem;font-weight:700;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-service-card p{font-size:.875rem;color:#4b5563;margin:0}
.alm-pc-services-cta{text-align:center;margin-top:44px}
.alm-pc-cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.alm-pc-cred-block{padding:28px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.alm-pc-cred-block h3{font-size:1rem;font-weight:700;color:#a5d6a7 !important;margin-bottom:.5rem}
.alm-pc-cred-block p{font-size:.875rem;color:rgba(255,255,255,.8) !important;margin:0}
.alm-pc-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:40px 0}
.alm-pc-type-item{display:flex;align-items:flex-start;gap:14px;padding:18px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}
.alm-pc-type-check{width:24px;height:24px;min-width:24px;background:#2e7d32;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700}
.alm-pc-type-item p{margin:0;font-size:.9rem;color:#374151;font-weight:500;padding-top:2px}
.alm-pc-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative}
.alm-pc-process-grid::before{content:'';position:absolute;top:36px;left:calc(12.5% + 18px);right:calc(12.5% + 18px);height:2px;background:linear-gradient(90deg,#2e7d32,#4caf50);z-index:0}
.alm-pc-step{text-align:center;position:relative;z-index:1}
.alm-pc-step-num{width:72px;height:72px;background:#1b5e20;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;margin:0 auto 20px;box-shadow:0 4px 16px rgba(27,94,32,.3);border:4px solid #fff}
.alm-pc-step h3{font-size:1rem;font-weight:700;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-step p{font-size:.85rem;color:#4b5563}
.alm-pc-process-cta{text-align:center;margin-top:48px}
.alm-pc-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.alm-pc-sub-list{list-style:none !important;padding:0 !important;margin:20px 0}
.alm-pc-sub-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb;font-size:.95rem;color:#374151}
.alm-pc-sub-list li::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;background:#e8f5e9;color:#2e7d32;border-radius:50%;font-size:.75rem;font-weight:700}
.alm-pc-sub-cta-box{background:#f8f9f7;border:1px solid #e5e7eb;border-radius:12px;padding:32px}
.alm-pc-sub-cta-box h3{font-size:1.2rem;color:#1a2e1a !important;margin-bottom:.75rem}
.alm-pc-sub-cta-box p{font-size:.9rem;color:#4b5563;margin-bottom:1.5rem}
.alm-pc-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:40px 0;align-items:start}
.alm-pc-area-locations{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.alm-pc-area-location{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;font-size:.9rem;font-weight:500;color:#374151}
.alm-pc-area-seo{font-size:.9rem;color:#4b5563;line-height:1.75}
.alm-pc-form-section{background:linear-gradient(180deg,#f8f9f7 0%,#fff 100%)}
.alm-pc-form-wrapper{max-width:860px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 40px rgba(0,0,0,.10);padding:50px;border:1px solid #e5e7eb}
.alm-pc-form-wrapper h2{font-size:1.75rem;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-form-desc{font-size:1rem;color:#4b5563;margin-bottom:2rem}
.alm-pc-form-wrapper .wpforms-field-label{font-weight:600 !important;font-size:.9rem !important;color:#374151 !important}
.alm-pc-form-wrapper .wpforms-field input[type=text],.alm-pc-form-wrapper .wpforms-field input[type=email],.alm-pc-form-wrapper .wpforms-field input[type=tel],.alm-pc-form-wrapper .wpforms-field select,.alm-pc-form-wrapper .wpforms-field textarea{border:1.5px solid #d1d5db !important;border-radius:6px !important;padding:10px 14px !important;font-size:.95rem !important}
.alm-pc-form-wrapper .wpforms-field input:focus,.alm-pc-form-wrapper .wpforms-field select:focus,.alm-pc-form-wrapper .wpforms-field textarea:focus{border-color:#2e7d32 !important;box-shadow:0 0 0 3px rgba(46,125,50,.15) !important}
.alm-pc-form-wrapper .wpforms-submit-container .wpforms-submit{background:#1b5e20 !important;color:#fff !important;font-size:1rem !important;font-weight:700 !important;padding:14px 36px !important;border-radius:6px !important;border:none !important}
.alm-pc-form-wrapper .wpforms-submit-container .wpforms-submit:hover{background:#145218 !important}
.alm-pc-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.alm-pc-trust-item{display:flex;align-items:flex-start;gap:16px;padding:20px;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.1)}
.alm-pc-trust-check{width:32px;height:32px;min-width:32px;background:#2e7d32;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-weight:700}
.alm-pc-trust-item strong{display:block;font-size:.95rem;color:#a5d6a7 !important;margin-bottom:4px}
.alm-pc-trust-item p{font-size:.85rem;color:rgba(255,255,255,.75) !important;margin:0}
.alm-pc-final-cta{background:linear-gradient(135deg,#1a2e1a 0%,#1b5e20 100%);padding:80px 0;text-align:center}
.alm-pc-final-cta h2{color:#fff !important;font-size:2.2rem;margin-bottom:1rem}
.alm-pc-final-cta p{color:rgba(255,255,255,.85) !important;font-size:1.05rem;max-width:640px;margin:0 auto 2rem}
.alm-pc-final-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.alm-pc-final-contact{margin-top:28px;font-size:.9rem;color:rgba(255,255,255,.7)}
.alm-pc-final-contact a{color:#a5d6a7 !important}
.alm-pc-faq-grid{max-width:800px;margin:40px auto 0}
.alm-pc-faq-item{border-bottom:1px solid #e5e7eb;padding:20px 0}
.alm-pc-faq-item:last-child{border-bottom:none}
.alm-pc-faq-q{font-size:1rem;font-weight:700;color:#1a2e1a !important;margin-bottom:.5rem}
.alm-pc-faq-a{font-size:.9rem;color:#4b5563;line-height:1.65}
.alm-pc-divider{width:60px;height:4px;background:#2e7d32;border-radius:2px;margin:12px auto 28px}
.alm-pc-divider-left{margin-left:0}
@media(max-width:1024px){
.alm-pc-problem-grid,.alm-pc-audience-grid{grid-template-columns:repeat(2,1fr)}
.alm-pc-process-grid{grid-template-columns:repeat(2,1fr)}
.alm-pc-process-grid::before{display:none}
.alm-pc-cred-grid{grid-template-columns:repeat(2,1fr)}
.alm-pc-trust-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
.alm-pc-section{padding:54px 0}
.alm-pc-hero{padding:60px 0}
.alm-pc-hero-grid{grid-template-columns:1fr;gap:40px}
.alm-pc-hero-image{display:none}
.alm-pc-services-grid,.alm-pc-problem-grid,.alm-pc-types-grid,.alm-pc-process-grid,.alm-pc-sub-grid,.alm-pc-area-grid,.alm-pc-area-locations,.alm-pc-cred-grid,.alm-pc-trust-grid{grid-template-columns:1fr}
.alm-pc-audience-grid{grid-template-columns:repeat(2,1fr)}
.alm-pc-form-wrapper{padding:30px 24px}
.alm-pc-hero-ctas{flex-direction:column}
.alm-pc-final-btns{flex-direction:column;align-items:center}
.alm-pc-final-cta h2{font-size:1.6rem}
}
@media(max-width:480px){
.alm-pc-hero h1{font-size:1.7rem !important}
.alm-pc-audience-grid{grid-template-columns:1fr}
}

/* ============================================================
   BLOG HERO IMAGE FIX - Constrain hero to reasonable height
   ============================================================ */
.single-post .wp-block-post-featured-image,
.single .wp-block-post-featured-image {
  max-height: 480px;
  overflow: hidden;
}

.single-post .wp-block-post-featured-image img,
.single .wp-block-post-featured-image img {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px) {
  .single-post .wp-block-post-featured-image,
  .single .wp-block-post-featured-image {
    max-height: 280px;
  }
  .single-post .wp-block-post-featured-image img,
  .single .wp-block-post-featured-image img {
    max-height: 280px;
  }
}


/* ============================================================
   BLOG - Fix alm-article-section dark background text color
   The article section has dark bg (#0d1a10) but text color
   gets overridden by .single-post .entry-content rules
   ============================================================ */
.single-post .entry-content .alm-article-section,
.single-post .wp-block-post-content .alm-article-section {
  color: #e8f5e9 !important;
}

.single-post .entry-content .alm-article-section p,
.single-post .entry-content .alm-article-section li,
.single-post .entry-content .alm-article-section a,
.single-post .entry-content .alm-article-section h2,
.single-post .entry-content .alm-article-section h3,
.single-post .entry-content .alm-article-section h4,
.single-post .wp-block-post-content .alm-article-section p,
.single-post .wp-block-post-content .alm-article-section li,
.single-post .wp-block-post-content .alm-article-section a,
.single-post .wp-block-post-content .alm-article-section h2,
.single-post .wp-block-post-content .alm-article-section h3 {
  color: rgba(255,255,255,.85) !important;
}

.single-post .entry-content .alm-article-section > div,
.single-post .wp-block-post-content .alm-article-section > div {
  color: #e8f5e9 !important;
}

/* Fix strong/bold/inline elements inside dark alm section */
.alm-article-section strong,
.alm-article-section b,
.alm-article-section em,
.alm-article-section span {
  color: rgba(255,255,255,0.90) !important;
}

.single-post .entry-content .alm-article-section strong,
.single-post .entry-content .alm-article-section b,
.single-post .entry-content .alm-article-section em {
  color: rgba(255,255,255,0.90) !important;
}

/* === DARK THEME BLOG CARD OVERRIDES - LOADS LAST === */
/* Override white background on blog post cards */
.blog article,
.archive article,
.blog .wp-block-post,
.archive .wp-block-post {
    background-color: #0d1a0f !important;
    color: #e0e0e0 !important;
}

/* Override white background on blog/archive page wrappers */
.blog main,
.archive main {
    background-color: #0a0a0a !important;
}

/* Blog card text color */
.blog article h2,
.blog article h2 a,
.blog article p,
.archive article h2,
.archive article h2 a,
.archive article p {
    color: #e0e0e0 !important;
}

/* Blog listing page query wrapper */
.blog .wp-block-query,
.archive .wp-block-query {
    background-color: transparent !important;
}


/* === FIX: Light grey blog page wrapper (rgb 242,244,240) === */
.blog .wp-block-group.has-background,
.archive .wp-block-group.has-background,
body.blog .wp-block-group[style*="f2f4f0"],
body.blog .wp-block-group[style*="f5f5f5"],
body.blog .wp-block-group[style*="f8f9f7"],
body.archive .wp-block-group[style*="f2f4f0"],
body.archive .wp-block-group[style*="f5f5f5"],
body.archive .wp-block-group[style*="f8f9f7"] {
    background-color: #0a1a0a !important;
    color: #e0e0e0 !important;
}

/* Catch all light colored backgrounds on blog/archive pages */
body.blog .has-background:not([class*="alm-"]):not(.alm-hero):not(.wp-block-cover),
body.archive .has-background:not([class*="alm-"]):not(.alm-hero):not(.wp-block-cover) {
    background-color: #0a1a0a !important;
}


/* === FIX: alux-target-reviews light section === */
.alux-target-reviews,
.alux-section.alux-target-reviews {
    background-color: #0a1a0a !important;
    color: #e0e0e0 !important;
}
.alux-target-reviews h2,.alux-target-reviews h3,.alux-target-reviews p { color: #e0e0e0 !important; }


/* === HIDE REPEATED ALUX SECTIONS ON NON-HOME PAGES === */
/* Partnerships page - hide all repeated homepage sections */
body.page-id-2196 .alux-target-services,
body.page-id-2196 .alux-target-serve,
body.page-id-2196 .alux-target-process,
body.page-id-2196 .alux-target-work,
body.page-id-2196 .alux-target-why,
body.page-id-2196 .alux-target-soon,
body.page-id-2196 .alux-target-cta,
body.page-id-2196 .alux-target-reviews,
body.page-id-2196 .alux-target-servlist,
body.page-id-2196 .alux-target-projects,
body.page-id-2196 .alux-target-location {
  display: none !important;
}


/* === SERVICE AREA PAGES - LIGHT SECTION BACKGROUNDS FIX === */
body.parent-pageid-39 section {
  background: #0d1a0f !important;
  color: #e8e8e8 !important;
}
body.parent-pageid-39 section h1,
body.parent-pageid-39 section h2,
body.parent-pageid-39 section h3,
body.parent-pageid-39 section h4 {
  color: #ffffff !important;
}
body.parent-pageid-39 section p,
body.parent-pageid-39 section li,
body.parent-pageid-39 section span {
  color: #e8e8e8 !important;
}
body.parent-pageid-39 section a:not(.alm-sa-btn-primary):not(.alm-sa-btn-secondary):not(.alm-sa-btn-outline):not([class*="btn"]) {
  color: #6fcf8a !important;
}
/* Hero buttons always white text */
.alm-sa-btn-primary, .alm-sa-btn-primary:hover, .alm-sa-btn-primary:visited,
.alm-sa-btn-primary:focus, .alm-sa-btn-primary:active {
  color: #ffffff !important;
}
.alm-sa-btn-secondary, .alm-sa-btn-secondary:hover, .alm-sa-btn-secondary:visited {
  color: #ffffff !important;
}
body.parent-pageid-39 section table {
  background: #0a1a0a !important;
  border-color: #2d4f31 !important;
}
body.parent-pageid-39 section table tr {
  background: #0a1a0a !important;
}
body.parent-pageid-39 section table tr:nth-child(even) {
  background: #0d2010 !important;
}
body.parent-pageid-39 section table th {
  background: #1a3d1e !important;
  color: #ffffff !important;
}
body.parent-pageid-39 section table td {
  border-color: #2d4f31 !important;
  color: #e8e8e8 !important;
}


/* === GREEN-ON-GREEN BUTTON TEXT FIX === */
/* Fix buttons where bright green background makes green text invisible */
/* These alm-btn buttons have green bg and green text - should be dark text */
.alm-btn[style*="background"],
a[style*="background: rgb(74, 222, 128)"],
a[style*="background:rgb(74, 222, 128)"] {
  color: #0a1a0a !important;
}

/* Generic fix for any button/link with very bright green background */
a[href][style*="background"] {
  color: inherit;
}


/* === ALM GOV BTN FIX === */
/* Fix alm-gov-btn-primary green-on-green text (bright green background + green text = invisible) */
.alm-gov-btn-primary {
  color: #0a1a0a !important;
}
.alm-gov-btn-primary:hover {
  color: #0a1a0a !important;
}


/* === GLOBAL ALUX SECTION HIDE (NON-HOMEPAGE) === */
/* Hide ALL alux-target sections on every page except the homepage */
/* Homepage has body class "home" - so this targets everything else */
body:not(.home) .alux-target-services,
body:not(.home) .alux-target-serve,
body:not(.home) .alux-target-process,
body:not(.home) .alux-target-work,
body:not(.home) .alux-target-why,
body:not(.home) .alux-target-soon,
body:not(.home) .alux-target-reviews,
body:not(.home) .alux-target-servlist,
body:not(.home) .alux-target-projects,
body:not(.home) .alux-target-location {
  display: none !important;
}


/* === BLOG POST PAGES - WHITE BACKGROUND FIX === */
body.single-post main.wp-block-group,
body.single-post .wp-block-group.has-background,
body.single-post .wp-block-group.alignfull.has-background {
  background-color: #0a0a0a !important;
}
body.single-post .entry-content,
body.single-post .entry-content > * {
  background-color: transparent !important;
  color: #e8e8e8 !important;
}
body.single-post .entry-content h1,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6 {
  color: #ffffff !important;
}
body.single-post .entry-content p,
body.single-post .entry-content li,
body.single-post .entry-content td,
body.single-post .entry-content th {
  color: #e8e8e8 !important;
}
body.single-post .entry-content a {
  color: #6fcf8a !important;
}
body.single-post .entry-content table {
  background: #0d1a0f !important;
  border-color: #2d4f31 !important;
}
body.single-post .entry-content table th {
  background: #1a3d1e !important;
  color: #ffffff !important;
}
body.single-post .entry-content table td {
  border-color: #2d4f31 !important;
  color: #e8e8e8 !important;
}
body.single-post .entry-content table tr:nth-child(even) {
  background: #0d2010 !important;
}
body.single-post .entry-content blockquote {
  background: #0d1a0f !important;
  border-left-color: #6fcf8a !important;
  color: #e8e8e8 !important;
}


/* Fix strong/bold/italic elements that have dark inline color on dark background in blog posts */
body.single-post .entry-content strong,
body.single-post .entry-content b,
body.single-post .entry-content em,
body.single-post .entry-content i {
  color: #ffffff !important;
}


/* === PROJECT CLEARING PAGE DARK THEME FIX === */
.alm-pc-hero,
.alm-pc-section,
.alm-pc-section-alt {
  background-color: #0d1a0f !important;
  color: #e8e8e8 !important;
}
.alm-pc-hero *,
.alm-pc-section *,
.alm-pc-section-alt * {
  color: #e8e8e8 !important;
}
.alm-pc-hero h1,
.alm-pc-hero h2,
.alm-pc-section h2,
.alm-pc-section-alt h2 {
  color: #ffffff !important;
}
.alm-pc-problem-card,
.alm-pc-audience-card,
.alm-pc-service-card,
.alm-pc-step,
.alm-pc-card {
  background-color: #111e12 !important;
  border-color: #2d4f31 !important;
  color: #e8e8e8 !important;
}
.alm-pc-problem-card h3,
.alm-pc-audience-card h3,
.alm-pc-service-card h3 {
  color: #ffffff !important;
}
.alm-pc-problem-card p,
.alm-pc-audience-card p,
.alm-pc-service-card p {
  color: #e8e8e8 !important;
}


/* === PROJECT CLEARING PAGE BACKGROUND IMAGE OVERRIDES === */
.alm-pc-hero,
.alm-pc-section,
.alm-pc-section-alt,
.alm-pc-sub-cta-box {
  background-image: none !important;
  background-color: #0d1a0f !important;
}
.alm-pc-type-item,
.alm-pc-area-location,
.alm-pc-form-wrapper {
  background-image: none !important;
  background-color: #111e12 !important;
  color: #e8e8e8 !important;
}
.alm-pc-audience-icon,
.alm-pc-eyebrow {
  background-image: none !important;
  background-color: rgba(111, 207, 138, 0.1) !important;
}


/* ===== COMING SPRING 2027 - Subsoil Mulching Background Image Override ===== */
.alux-target-soon {
  background: url('https://aspenlm.com/wp-content/uploads/2026/06/subsoil-mulching-coming-spring-2027.png') center/cover no-repeat !important;
}


/* === BURNSVILLE HERO PHOTO OVERRIDE === */
body.page-id-2464 main section {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/7871469/pexels-photo-7871469.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 65% !important;
	  min-height: 380px !important;
}
}

/* Reset other sections in Burnsville page */
body.page-id-2464 main section:not(:first-of-type) {
	  background-image: none !important;
	  background-color: rgb(13, 26, 15) !important;
}
}

/* Burnsville HERO ONLY - override for first section */
body.page-id-2464 main section:first-of-type {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/7871469/pexels-photo-7871469.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 65% !important;
	  min-height: 380px !important;
}
/* Burnsville - no photo on other sections */
body.page-id-2464 main section:not(:first-of-type) {
	  background-image: none !important;
}
}
}

/* === CITY PAGE HERO PHOTO OVERRIDES via CSS ===
*    These override body.parent-pageid-39 section {background:!important}
   More specific selector wins in cascade */

/* New Richmond WI (630) */
body.page-id-630 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-new-richmond-countryside-wi.jpg') !important; }
/* Hudson WI (631) */
body.page-id-631 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/17633127/pexels-photo-17633127.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 50% !important;
}
/* Stillwater MN (632) */
body.page-id-632 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/21701091/pexels-photo-21701091.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 25% !important;
}
/* Woodbury MN (633) */
body.page-id-633 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/18843431/pexels-photo-18843431.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 40% !important;
}
/* River Falls WI (634) */
body.page-id-634 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/13182442/pexels-photo-13182442.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 50% !important;
}
/* Somerset WI (635) */
body.page-id-635 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/19784124/pexels-photo-19784124.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 50% !important;
}
/* Saint Paul MN (636) */
body.page-id-636 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/32911265/pexels-photo-32911265.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 50% !important;
}
/* St. Croix County WI (637) */
body.page-id-637 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/10421038/pexels-photo-10421038.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 50% !important;
}
/* Western WI (638) */
body.page-id-638 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/20408813/pexels-photo-20408813.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 60% !important;
}
/* Eastern MN (639) */
body.page-id-639 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/9940119/pexels-photo-9940119.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 40% !important;
}
/* Minneapolis MN (2020) - uses .mpls-hero-bg */
body.page-id-2020 .mpls-hero-bg {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/28129313/pexels-photo-28129313.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 50% !important;
}
}
}
}
}
}
}
}
}
}
}
}
/* New Richmond WI (630) - added separately */
body.page-id-630 .alm-sa-hero {
	  background-image: url("https://i0.wp.com/images.pexels.com/photos/18419005/pexels-photo-18419005.jpeg?ssl=1") !important;
	  background-size: cover !important;
	  background-position: center 40% !important;
}
}

/* ============================================================
   FOOD PLOTS PAGE (ID: 2308) - DARK TEXT FIX
   Forces visible dark text over global white text !important rule
   ============================================================ */
html body.page-id-2308 .elementor-widget-text-editor p,
html body.page-id-2308 .elementor-widget-text-editor p *,
html body.page-id-2308 .elementor-widget-text-editor li,
html body.page-id-2308 .elementor-widget-text-editor span:not([class*="badge"]):not([class*="icon"]),
html body.page-id-2308 .entry-content p,
html body.page-id-2308 .entry-content li,
html body.page-id-2308 .entry-content span,
html body.page-id-2308 .wp-block-group p,
html body.page-id-2308 section p,
html body.page-id-2308 article p,
html body.page-id-2308 .elementor-section p,
html body.page-id-2308 .elementor-container p,
html body.page-id-2308 .elementor-row p,
html body.page-id-2308 .elementor-column p,
html body.page-id-2308 .elementor-widget-wrap p,
html body.page-id-2308 .e-container p {
  color: #1a3a0a !important;
}
/* =====================================================
   HERO SECTION WHITE TEXT OVERRIDE
   Pages using .alm-page-hero - dark photo hero backgrounds
   Need white text despite the body.page dark text rule
   ===================================================== */
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-page-hero p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-page-hero span,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-page-hero-content p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content [class*="alm-hero"] p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content [class*="alm-page-hero"] p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* =====================================================
   PAGE-SPECIFIC HERO WHITE TEXT FIXES
   These pages have dark hero backgrounds needing white text
   ===================================================== */
.page-id-41 .alm-page-hero p,
.page-id-41 .alm-page-hero-content p,
.page-id-37 .alm-page-hero p,
.page-id-37 .alm-page-hero-content p,
.page-id-1003 .alm-page-hero p,
.page-id-2168 .alm-page-hero p,
.page-id-1011 .alm-page-hero p,
.page-id-984 .alm-page-hero p,
.page-id-2247 .alm-page-hero p {
  color: rgba(255, 255, 255, 0.88) !important;
}
/* Broad fix for all alm-page-hero sections */
body .alm-page-hero p,
body .alm-page-hero span,
body .alm-page-hero-content p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* =====================================================
   ULTRA-SPECIFIC HERO WHITE TEXT OVERRIDE
   Must beat: body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content p:not(...)
   ===================================================== */
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-page-hero p:not(.has-dark-color),
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-page-hero-content p:not(.has-dark-color),
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .alm-page-hero p:not(.has-dark-color),
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .alm-page-hero-content p:not(.has-dark-color) {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* =====================================================
   ALM ARTICLE SECTION OVERRIDE
   These are dark-background content sections that need white text
   Must override the body.page entry-content p dark text rule
   ===================================================== */
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-article-section p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-article-section li,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-seo-depth p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-seo-depth li,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content [class*="dark-section"] p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content [style*="background: #0"] p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content [style*="background-color: #0"] p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content [style*="background: rgb(1"] p,
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content [style*="background: rgb(0"] p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Where We Work page hero text - dark text on dark bg fix */
.wwp-hero-sub { color: rgba(255,255,255,0.88) !important; }
.page-id-39 .wwp-hero-sub { color: rgba(255,255,255,0.88) !important; }

/* ALM Hero BR sections & card text on dark backgrounds */
.alm-hero-br p,
.alm-hero-br { color: rgba(255,255,255,0.88) !important; }
.alm-section-sub p,
.alm-section-sub { color: rgba(255,255,255,0.88) !important; }

/* HIGH SPECIFICITY OVERRIDES for ALM hero backgrounds */
body.page .entry-content .alm-hero-br p,
body.page .entry-content .alm-hero-br,
body.page .alm-hero-br p,
body.page .alm-hero-br {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* MAXIMUM SPECIFICITY: ALM Hero BR - match dark rule specificity but target hero */
body.page:not(.home):not(.page-id-6) .entry-content .alm-hero-br p,
body.page:not(.home):not(.page-id-6) .entry-content .alm-hero-br,
body.page:not(.home):not(.page-id-6) .alm-hero-br p,
body.page:not(.home):not(.page-id-6) .alm-hero-br {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* ULTRA-HIGH SPECIFICITY: hero subtitle text override
   Using body.page class + container class for max specificity */
body.page:not(.home) .entry-content .alm-hero-br p:not(.nonexistent),
body.page:not(.home) .entry-content .alm-hero-br:not(.nonexistent),
body.page:not(.home) .alm-hero-br p:not(.nonexistent),
body.page:not(.home) .alm-hero-br:not(.nonexistent) {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* SPECIFICITY MATCHED hero override - same chain as dark rule but with .alm-hero-br in path */
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-hero-br p:not(.alm-use-case-desc):not([class*="alm-cta"]):not([class*="alm-why"]):not([class*="alm-desc"]):not([class*="alm-sa"]),
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .alm-hero-br p:not(.alm-use-case-desc):not([class*="alm-cta"]) {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* ===========================
   EXACT PAGE ID TARGETING - .alm-hero-br hero text white override
   Uses page-specific body classes for pinpoint targeting
   =========================== */
body.page-id-2168 .alm-hero-br p,
body.page-id-2168 .alm-hero-br p *,
body[class*="page-id-"] .alm-hero-br p {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
}

/* ============================================================
   DEFINITIVE FIX: .alm-hero-br hero subtitle text white
   
   Strategy: Mirror the EXACT NOT() chain from the dark rule (position 352)
   but ADD .alm-hero-br as intermediate ancestor
   This gives us specificity (0,15,2) vs dark rule's (0,14,2)
   With !important AND higher specificity, this WINS.
   
   Dark rule selector: body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) 
                        .entry-content p:not(.alm-use-case-desc)...:not([class*="alm-hero-br"])
   Our selector adds:  .alm-hero-br before p + same not() chain = higher specificity
   ============================================================ */
body.page:not(.home):not(.page-id-6):not(.parent-pageid-39) .entry-content .alm-hero-br p:not(.alm-use-case-desc):not([class*="alm-cta"]):not([class*="alm-why"]):not([class*="alm-desc"]):not([class*="alm-sa"]):not(.alm-hero-sub):not(.alm-body):not(.wwp-hero-sub):not(.alm-footer-text):not(.alm-sidebar-text) {
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

/* ============================================================
   FIX: .sp-hero hero subtitle text white
   Targets: Invasive Brush & other service pages using .sp-hero structure
   ============================================================ */
.sp-hero p,
.sp-hero-inner p {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

/* ============================================================
   COMPREHENSIVE HERO TEXT FIX - All hero container types
   Fixes: right-of-way, other service pages using .alm-hero
   ============================================================ */
.alm-hero p,
.alm-hero-inner p,
.alm-hero > p,
[class*="alm-hero"] p {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

/* ============================================================
   COMPREHENSIVE DARK SECTION FIX - smr-hero and dark sections
   Fixes: Subsoil Restoration page using .smr-hero and .smr-bg-dark
   ============================================================ */
.smr-hero p,
.smr-hero-inner p,
.smr-section.smr-bg-dark p,
[class*="smr-hero"] p,
[class*="smr-bg-dark"] p {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

/* ============================================================
   UNIVERSAL HERO TEXT FIX - Catch-all for all service page hero sections
   Covers: .alm-gov-hero, .sp-hero, .alm-hero, .smr-hero, and any future *-hero classes
   Applied last so it overrides all previous rules
   ============================================================ */
[class*="-hero"] p,
[class*="hero-inner"] p,
[class*="-hero-inner"] p {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

/* ============================================================
   FIX: Project Clearing page (page-id-2247) hero text
   Overrides body.page-id-2247 p { dark !important } from WPCode snippet
   By adding an extra class selector for higher specificity (0,2,1 vs 0,1,1)
   ============================================================ */
body.page-id-2247 [class*="-hero"] p,
body.page-id-2247 [class*="hero-content"] p,
body.page-id-2247 [class*="hero-inner"] p,
body.page-id-2247 .alm-pc-hero-content p,
body.page-id-2247 .alm-pc-section-heading p {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

/* ============================================================
   FIX: Privacy Policy and WordPress default pages
   These pages use default block theme layout (not Elementor)
   and inherit the dark body background.
   Fix: Give their content area a white background and dark text.
   ============================================================ */
body.privacy-policy .wp-site-blocks,
body.privacy-policy main,
body.privacy-policy .entry-content {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
}

body.privacy-policy .wp-site-blocks > *:not(header):not(footer) {
  background-color: #ffffff !important;
}

body.privacy-policy p,
body.privacy-policy li,
body.privacy-policy h1,
body.privacy-policy h2, 
body.privacy-policy h3,
body.privacy-policy h4 {
  color: #1a1a1a !important;
}

/* Also fix any other WordPress default template pages */
body.page-template-default:not(.elementor-default) .entry-content {
  background-color: #ffffff !important;
  padding: 40px !important;
}


/* ============================================================
   CONTACT PAGE (PAGE-ID-14) — COLOR CONTRAST FIXES
   Fix: Dark text rgb(26,46,10) bleeding into dark backgrounds
   in .alm-section (form) and .alm-article-section (content)
   ============================================================ */

/* Contact form section — form field labels and descriptive paragraphs */
.page-id-14 .alm-section p,
.page-id-14 .alm-section label,
.page-id-14 .alm-section span:not(.alm-eyebrow),
.page-id-14 .alm-section .wpcf7-form p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Contact form — eyebrow label stays styled */
.page-id-14 .alm-eyebrow {
  color: rgba(255, 255, 255, 0.6) !important;
  letter-spacing: 0.12em;
}

/* Contact info sidebar — "Based in New Richmond" paragraph and all text below image */
.page-id-14 .alm-contact-img p {
  color: rgba(255, 255, 255, 0.80) !important;
  line-height: 1.65;
}

/* Article section — WHO WE ARE, THE PROCESS, COVERAGE, CLIENTELE */
.page-id-14 .alm-article-section p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Quoted text / blockquote area gets slightly muted */
.page-id-14 .alm-article-section p em,
.page-id-14 .alm-article-section blockquote p {
  color: rgba(255, 255, 255, 0.70) !important;
  font-style: italic;
}

/* Section headings stay bright/white — ensure they are visible */
.page-id-14 .alm-article-section h2,
.page-id-14 .alm-article-section h3,
.page-id-14 .alm-article-section h4 {
  color: #ffffff !important;
}

/* Green accent labels (WHO WE ARE, THE PROCESS etc.) */
.page-id-14 .alm-article-section span[style*="color"],
.page-id-14 .alm-article-section .alm-eyebrow {
  color: rgb(46, 204, 113) !important;
}

/* Process step numbers / card text — keep white */
.page-id-14 .alm-article-section div > div > p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* "Based in New Richmond" location paragraph — make it clearly readable */
.page-id-14 .alm-contact-img > div:last-child p,
.page-id-14 .alm-contact-img > div > p {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 0.95rem;
  line-height: 1.7;
}

/* Checkbox and radio label text in form */
.page-id-14 .wpcf7-form .wpcf7-list-item-label,
.page-id-14 .wpcf7-form .wpcf7-acceptance label {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Process steps numbered cards text */
.page-id-14 .alm-article-section [style*="background"] p,
.page-id-14 .alm-article-section [class*="step"] p,
.page-id-14 .alm-article-section [class*="process"] p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* ============================================================
   CONTACT PAGE (PAGE-ID-14) — MOBILE RESPONSIVE FIXES
   Viewport: max-width 768px (tablets & phones)
   ============================================================ */

@media (max-width: 768px) {

  /* --- CONTACT SECTION: main grid & inner padding --- */
  .page-id-14 .alm-section {
    padding: 60px 20px !important;
  }

  .page-id-14 .alm-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  .page-id-14 .alm-contact-grid {
    display: block !important;
    width: 100% !important;
    gap: 0 !important;
  }

  /* Form column takes full width */
  .page-id-14 .alm-contact-grid > div:first-child {
    width: 100% !important;
    margin-bottom: 40px !important;
  }

  /* Contact info sidebar takes full width below form */
  .page-id-14 .alm-contact-img {
    width: 100% !important;
    overflow: visible !important;
  }

  /* Contact info sidebar inner boxes */
  .page-id-14 .alm-contact-img > div {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* CF7 form fields full width */
  .page-id-14 .wpcf7-form input[type="text"],
  .page-id-14 .wpcf7-form input[type="email"],
  .page-id-14 .wpcf7-form input[type="tel"],
  .page-id-14 .wpcf7-form select,
  .page-id-14 .wpcf7-form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important; /* Prevent iOS zoom on focus */
  }

  /* --- STEP 04: "We mobilize fast" + "Based in New Richmond" ---
     Break the flex-row so the paragraph goes BELOW the step text */
  .page-id-14 .alm-contact-img .alm-steps-item,
  .page-id-14 .alm-contact-img > div > div > div {
    flex-wrap: wrap !important;
  }

  /* The "Based in New Richmond" paragraph in step 04 */
  .page-id-14 .alm-contact-img p:last-of-type {
    width: 100% !important;
    text-align: left !important;
    margin-top: 12px !important;
  }

  /* --- ARTICLE SECTION: padding & width --- */
  .page-id-14 .alm-article-section {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .page-id-14 .alm-article-section > div {
    padding: 50px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* WHO WE ARE: the 2-column layout → stack */
  .page-id-14 .alm-article-section > div:first-child > div {
    display: block !important;
    width: 100% !important;
  }

  .page-id-14 .alm-article-section > div:first-child > div > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }

  /* THE PROCESS: 5-column → 1 or 2 columns */
  .page-id-14 .alm-article-section > div:nth-child(2) div[style*="grid-template-columns"],
  .page-id-14 .alm-article-section > div:nth-child(2) > div > div {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }

  /* Process step cards: make them full width of grid cell */
  .page-id-14 .alm-article-section > div:nth-child(2) > div > div > div {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Override inline grid for process cards */
  .page-id-14 .alm-article-section [style*="grid-template-columns: "] {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }

  /* COVERAGE: 2-col grid → 1-col stack */
  .page-id-14 .alm-article-section > div:nth-child(3) > div {
    display: block !important;
    width: 100% !important;
  }

  .page-id-14 .alm-article-section > div:nth-child(3) > div > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
  }

  /* COVERAGE location badges — wrap nicely */
  .page-id-14 .alm-article-section > div:nth-child(3) div[style*="flex"],
  .page-id-14 .alm-article-section > div:nth-child(3) div {
    flex-wrap: wrap !important;
  }

  /* ACTIVE PROJECT LOCATIONS grid: 2-col → 1-col */
  .page-id-14 .alm-article-section > div:nth-child(3) [style*="grid-template-columns: "] {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  /* CLIENTELE: 4-col → 2-col */
  .page-id-14 .alm-article-section > div:nth-child(4) > div > div[style*="grid"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }

  /* Fallback for all grids inside article section */
  .page-id-14 .alm-article-section [style*="grid-template-columns: "] {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }

  /* Override any remaining overflow-hidden that clips content */
  .page-id-14 .alm-article-section,
  .page-id-14 .alm-article-section > div,
  .page-id-14 .alm-article-section > div > div {
    overflow: visible !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* --- HERO adjustments for mobile --- */
  .page-id-14 .alm-page-hero {
    padding: 0 20px !important;
    min-height: 90vh !important;
  }

  .page-id-14 .alm-page-hero h1 {
    font-size: clamp(2.8rem, 12vw, 5rem) !important;
    line-height: 1.0 !important;
  }

  .page-id-14 .alm-page-hero .alm-hero-sub {
    font-size: 1rem !important;
    max-width: 90% !important;
  }

}

/* Extra small phones (max-width: 480px) */
@media (max-width: 480px) {

  .page-id-14 .alm-section {
    padding: 48px 16px !important;
  }

  .page-id-14 .alm-article-section > div {
    padding: 40px 16px !important;
  }

  /* Stack process steps to 1 column on very small screens */
  .page-id-14 .alm-article-section [style*="grid-template-columns: "] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Clientele cards: 1 column on small phones */
  .page-id-14 .alm-article-section > div:nth-child(4) > div > div {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

}

/* ============================================================
   CONTACT PAGE — MOBILE TARGETED FIXES (inline-style overrides)
   These target elements with inline styles using [style*="..."]
   ============================================================ */

@media (max-width: 768px) {

  /* Step 04 "We mobilize fast" row + "Based in New Richmond" paragraph:
     Break the flex row so paragraph goes BELOW "We mobilize fast" text */
  .page-id-14 .alm-contact-img div[style*="align-items: flex-start"] {
    flex-wrap: wrap !important;
  }

  .page-id-14 .alm-contact-img div[style*="align-items: flex-start"] > p {
    width: 100% !important;
    flex: 1 1 100% !important;
    text-align: left !important;
    padding-left: 0 !important;
    margin-top: 10px !important;
  }

  /* THE PROCESS: 5-column inline grid → 2 columns on mobile */
  .page-id-14 .alm-article-section div[style*="grid-template-columns"],
  .page-id-14 .alm-article-section div[style*="grid-template-columns: "] {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  /* COVERAGE: the 2-column inline grid → 1 column */
  .page-id-14 .alm-article-section > div:nth-child(3) div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* CLIENTELE: 4-column inline grid → 2 columns */
  .page-id-14 .alm-article-section > div:nth-child(4) div[style*="grid-template-columns"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  /* County badge flex container — let badges wrap */
  .page-id-14 .alm-article-section div[style*="display: flex"] {
    flex-wrap: wrap !important;
  }

  /* Ensure all inline-grid cells in article section don't overflow */
  .page-id-14 .alm-article-section div[style*="grid-template-columns"] > div {
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* WHO WE ARE - the two-column inner layout */
  .page-id-14 .alm-article-section > div:first-child div[style*="display: grid"],
  .page-id-14 .alm-article-section > div:first-child div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Process step text content — make it readable */
  .page-id-14 .alm-article-section [style*="grid-template-columns"] > div p {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
  }

}

@media (max-width: 480px) {
  /* On very small phones, stack everything to 1 column */
  .page-id-14 .alm-article-section div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* === STEP 04 PARAGRAPH FIX - Full width on desktop AND mobile === */
/* Make "Based in New Richmond" paragraph span full width in both views */
.page-id-14 div[style*="align-items: flex-start"] > p[style*="text-align: center"] {
  flex: 0 0 100% !important;
  width: 100% !important;
  order: 99 !important;
}
.page-id-14 div[style*="align-items: flex-start"]:has(> p[style*="text-align: center"]) {
  flex-wrap: wrap !important;
}

/* === CLIENTELE CARDS MOBILE FIX === */
@media (max-width: 768px) {
  /* Fix inner wrapper padding that was stealing too much space */
  .page-id-14 div[style*="max-width: 1100px"][style*="padding: 0px 40px"] {
    padding: 0px 12px !important;
  }
  /* Fix card internal padding on mobile */
  .page-id-14 div[style*="grid-template-columns: repeat(4, 1fr)"] > div,
  .page-id-14 div[style*="grid-template-columns"][style*="repeat(4"] > div {
    padding: 16px 12px !important;
    overflow: hidden !important;
  }
  /* Ensure text wraps inside cards */
  .page-id-14 div[style*="grid-template-columns: repeat(4, 1fr)"] h3,
  .page-id-14 div[style*="grid-template-columns: repeat(4, 1fr)"] p {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }
}

/* === CLIENTELE CARDS MOBILE FIX V2 - Corrected selectors === */
@media (max-width: 768px) {
  /* Fix inner wrapper using margin shorthand matching */
  .page-id-14 div[style*="margin: 0 auto"][style*="padding: 0 40px"] {
    padding: 0 12px !important;
  }
  /* Fix grid with no-space repeat syntax */
  .page-id-14 div[style*="repeat(4,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
  }
  /* Fix card internal padding */
  .page-id-14 div[style*="repeat(4,1fr)"] > div {
    padding: 16px 12px !important;
    overflow: visible !important;
    min-width: 0 !important;
  }
  /* Ensure text doesn't overflow cards */
  .page-id-14 div[style*="repeat(4,1fr)"] h3,
  .page-id-14 div[style*="repeat(4,1fr)"] p {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
}

/* === HIDE WHO WE ARE SECTION ON CONTACT PAGE === */
/* Hide only the first section (Who We Are) — it's the 1st child of .alm-article-section */
/* Coverage/Service Area is the 3rd child - this targets only Who We Are */
.page-id-14 .alm-article-section > div[style*="background: #111"][style*="padding: 80px 0"][style*="border-top"]:nth-child(1) {
  display: none !important;
}

/* ============================================================
   SERVICE AREAS PAGE — CONTRAST FIXES + REVIEWS REDESIGN
   aspenlm.com/service-areas/
   ============================================================ */

/* --- 1. Subtitle paragraphs: dark green on dark bg → light readable --- */
.page-id-39 .wwp-sub,
.page-id-39 .wwp-subtitle {
  color: rgba(255, 255, 255, 0.80) !important;
}

/* --- 2. State section paragraph text (Our home base description, etc.) --- */
.page-id-39 .wwp-state-hdr-txt > p,
.page-id-39 .wwp-state-hdr-txt p {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* --- 3. Why Aspen — large numbers (01-06) nearly invisible --- */
.page-id-39 .wwp-why-num {
  color: rgba(76, 175, 80, 0.45) !important;
}

/* --- 4. Why Aspen — body text in cards (very dark on dark) --- */
.page-id-39 .wwp-why-text {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* --- 5. How It Works — step description text --- */
.page-id-39 .wwp-step-text {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* --- 6. Review card quote text (dark green on dark card) --- */
.page-id-39 .wwp-test-text {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* --- 7. Review card location text — improve readability --- */
.page-id-39 .wwp-test-loc {
  color: rgba(255, 255, 255, 0.55) !important;
}

/* --- 8. Card sub (county/location under city cards) --- */
.page-id-39 .wwp-card-sub {
  color: rgba(165, 214, 167, 0.85) !important;
}

/* === REVIEWS SECTION: Show only 2 reviews ===
   Hide reviews 3 and 4 (3rd and 4th .wwp-test children) */
.page-id-39 .wwp-tests .wwp-test:nth-child(n+3) {
  display: none !important;
}

/* Make remaining 2 reviews display in a 2-column layout */
.page-id-39 .wwp-tests {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* Mobile: stack reviews to 1 column */
@media (max-width: 768px) {
  .page-id-39 .wwp-tests {
    grid-template-columns: 1fr !important;
  }
}

/* === "SEE ALL GOOGLE REVIEWS" BUTTON — make it prominent === */
.page-id-39 .wwp-test-cta,
.page-id-39 a[href*="google.com"][href*="reviews"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #4caf50 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  padding: 14px 28px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-top: 32px !important;
  border: none !important;
  letter-spacing: 0.02em !important;
  transition: background 0.2s !important;
}

.page-id-39 a[href*="google.com"][href*="reviews"]:hover {
  background: #388e3c !important;
}

/* Wrap the review CTA button in a centered container styling */
.page-id-39 .wwp-tests + * a[href*="google.com"],
.page-id-39 .wwp-btn-row a[href*="google.com"] {
  display: inline-flex !important;
  align-items: center !important;
  background: #4caf50 !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-top: 32px !important;
}


/* SERVICE AREAS — Additional force overrides for wwp elements */
/* These are non-p elements (divs) that need color fixes */
.page-id-39 .wwp-why-num {
  color: rgba(76, 175, 80, 0.45) !important;
}

/* Force-fix wwp-sub and wwp-subtitle with maximum specificity override */
body.page-id-39 .wwp-sub,
body.page-id-39 .wwp-subtitle,
body.page-id-39 p.wwp-sub,
body.page-id-39 p.wwp-subtitle {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Force-fix wwp-why-text (inside entry-content, IS a p tag in some versions) */
body.page-id-39 .wwp-why-text,
body.page-id-39 p.wwp-why-text {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Force-fix wwp-step-text */
body.page-id-39 .wwp-step-text,
body.page-id-39 p.wwp-step-text {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Force-fix wwp-test-text */
body.page-id-39 .wwp-test-text,
body.page-id-39 p.wwp-test-text {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* State hdr paragraph text */
body.page-id-39 .wwp-state-hdr-txt > p,
body.page-id-39 .wwp-state-hdr-txt p {
  color: rgba(255, 255, 255, 0.78) !important;
}


/* ============================================================
   SERVICES PAGE (page-id-10) — FULL CONTRAST FIX
   aspenlm.com/services/
   All dark-green-on-dark-green text corrected to readable
   ============================================================ */

/* --- SERVICES GRID SECTION --- */
/* Subtitle: "Six core clearing services for landowners..." */
.page-id-10 .alm-svcs-grid-sub {
  color: rgba(255, 255, 255, 0.80) !important;
}

/* Service card numbers (01, 02, 03...) */
.page-id-10 .alm-svc-num,
.page-id-10 .alm-svc-card-num {
  color: rgba(76, 175, 80, 0.45) !important;
}

/* --- "WHO WE SERVE" SECTION --- */
/* Section label "WHO WE SERVE" */
.page-id-10 .alm-svcs-section-label {
  color: rgba(165, 214, 167, 0.90) !important;
}

/* Who-we-serve card descriptions */
.page-id-10 .alm-who-item-desc {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* --- TEAM / SITE EXPERT SECTION --- */
/* All paragraph text in the site-expert section */
.page-id-10 .alm-site-expert p,
.page-id-10 .alm-site-expert blockquote,
.page-id-10 .alm-site-expert blockquote p,
.page-id-10 .alm-site-expert li {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* wwc-sei-lead text */
.page-id-10 .wwc-sei-lead {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* --- SUBSOIL MULCHING SECTION --- */
/* "Coming Spring 2027" paragraph text */
.page-id-10 .alm-subsoil-desc,
.page-id-10 .alm-subsoil-desc p {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* --- SERVICE AREAS CARD SECTION --- */
/* State label (WISCONSIN, MINNESOTA) */
.page-id-10 .alm-svcs-area-card-state {
  color: rgba(165, 214, 167, 0.85) !important;
}
/* City name */
.page-id-10 .alm-svcs-area-card-city {
  color: rgba(255, 255, 255, 0.90) !important;
}
/* Card description */
.page-id-10 .alm-svcs-area-card-desc {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* --- COMMERCIAL / UTILITY / RIGHT-OF-WAY SECTION --- */
/* acu-intro paragraph "Aspen supports builders..." */
.page-id-10 .acu-intro {
  color: rgba(255, 255, 255, 0.78) !important;
}
/* acu-card-desc (sub-service card descriptions) */
.page-id-10 .acu-card-desc {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* --- RESOURCES SECTION --- */
/* Resources eyebrow label "RESOURCES" */
.page-id-10 .alm-resources-eyebrow {
  color: rgba(165, 214, 167, 0.90) !important;
}
/* Resources subtitle */
.page-id-10 .alm-resources-sub {
  color: rgba(255, 255, 255, 0.78) !important;
}
/* Resources group titles */
.page-id-10 .alm-resources-group-title {
  color: rgba(255, 255, 255, 0.85) !important;
}
/* Resources list items */
.page-id-10 .alm-resources-list li {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* --- SECTION-27 / CTA SECTION --- */
.page-id-10 .wwc-s27-lead {
  color: rgba(255, 255, 255, 0.80) !important;
}
.page-id-10 .wwc-s27-cta-urgency {
  color: rgba(165, 214, 167, 0.90) !important;
}
.page-id-10 .wwc-s27-disclaimer {
  color: rgba(255, 255, 255, 0.60) !important;
}

/* --- WHERE WE WORK SECTION (services page) --- */
/* "WHERE WE WORK" label and text */
.page-id-10 .alm-svcs-where-label,
.page-id-10 .alm-svcs-where-desc {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* --- GLOBAL CATCH-ALL: any remaining p tags in .entry-content that 
   still have the dark olive color on this page --- */
body.page-id-10 .entry-content p:not(.alm-svcs-grid-sub):not(.acu-intro) {
  color: rgba(255, 255, 255, 0.82) !important;
}
body.page-id-10 .entry-content li {
  color: rgba(255, 255, 255, 0.78) !important;
}
body.page-id-10 .entry-content blockquote,
body.page-id-10 .entry-content blockquote p {
  color: rgba(255, 255, 255, 0.78) !important;
}


/* HIGH-SPECIFICITY OVERRIDES FOR SERVICES PAGE
   Added to beat any remaining master rule conflicts */
body.page-id-10 .alm-svcs-grid-sub,
body.page-id-10 p.alm-svcs-grid-sub {
  color: rgba(255, 255, 255, 0.80) !important;
}
body.page-id-10 .alm-svcs-section-label,
body.page-id-10 p.alm-svcs-section-label {
  color: rgba(165, 214, 167, 0.90) !important;
}
body.page-id-10 .alm-who-item-desc,
body.page-id-10 p.alm-who-item-desc {
  color: rgba(255, 255, 255, 0.75) !important;
}
body.page-id-10 .alm-subsoil-desc,
body.page-id-10 p.alm-subsoil-desc {
  color: rgba(255, 255, 255, 0.78) !important;
}
body.page-id-10 .alm-svcs-area-card-state {
  color: rgba(165, 214, 167, 0.85) !important;
}
body.page-id-10 .alm-svcs-area-card-city {
  color: rgba(255, 255, 255, 0.90) !important;
}
body.page-id-10 .alm-svcs-area-card-desc {
  color: rgba(255, 255, 255, 0.72) !important;
}
body.page-id-10 .acu-intro,
body.page-id-10 p.acu-intro {
  color: rgba(255, 255, 255, 0.78) !important;
}
body.page-id-10 .acu-card-desc {
  color: rgba(255, 255, 255, 0.75) !important;
}
body.page-id-10 .alm-resources-eyebrow {
  color: rgba(165, 214, 167, 0.90) !important;
}
body.page-id-10 .alm-resources-sub {
  color: rgba(255, 255, 255, 0.78) !important;
}
body.page-id-10 .alm-resources-group-title {
  color: rgba(255, 255, 255, 0.85) !important;
}
body.page-id-10 .alm-resources-list li {
  color: rgba(255, 255, 255, 0.75) !important;
}
body.page-id-10 .wwc-s27-lead {
  color: rgba(255, 255, 255, 0.80) !important;
}
body.page-id-10 .wwc-s27-cta-urgency {
  color: rgba(165, 214, 167, 0.90) !important;
}
body.page-id-10 .wwc-s27-disclaimer {
  color: rgba(255, 255, 255, 0.60) !important;
}
body.page-id-10 .wwc-sei-lead {
  color: rgba(255, 255, 255, 0.78) !important;
}
/* Team / Site Expert section - p tags with no class */
body.page-id-10 .alm-site-expert p,
body.page-id-10 .alm-site-expert blockquote,
body.page-id-10 .alm-site-expert blockquote p {
  color: rgba(255, 255, 255, 0.78) !important;
}


/* ============================================================
   PARTNERSHIPS PAGE (page-id-2196) — CONTRAST FIXES
   Dark olive rgb(26,46,10) text on dark green/black backgrounds
   ============================================================ */

/* Lead paragraphs on dark section backgrounds */
.alm-lead,
body.page-id-2196 .alm-lead,
body.page-id-2196 .alm-lead p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Feature items (service cards with descriptions) */
body.page-id-2196 .alm-feature-item p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Partner cards (future partnerships) */
body.page-id-2196 .alm-partner-card p {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* S27 content section */
body.page-id-2196 .alm-s27-content p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Final CTA section */
body.page-id-2196 .alm-final-cta-inner p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Terms inner section */
body.page-id-2196 .alm-terms-inner p {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* SEI hover label */
.alm-sei-hover-label,
body.page-id-2196 .alm-sei-hover-label {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* SEI banner subtitle */
.alm-sei-banner-sub,
body.page-id-2196 .alm-sei-banner-sub {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* SEI inline note */
.alm-sei-inline-note,
body.page-id-2196 .alm-sei-inline-note {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* S27 disclaimer text */
.alm-s27-disclaimer,
body.page-id-2196 .alm-s27-disclaimer,
body.page-id-2196 .alm-s27-disclaimer p {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Footer text - ensure white on dark footer background */
body .alm-footer,
body .alm-footer p,
body .alm-footer span {
  color: rgba(255, 255, 255, 0.8) !important;
}
body .alm-footer-col,
body .alm-footer-col p,
body .alm-footer-col span {
  color: rgba(255, 255, 255, 0.7) !important;
}
body .alm-footer-bottom,
body .alm-footer-bottom p {
  color: rgba(255, 255, 255, 0.5) !important;
}
/* Mobile: SEI banner stacks neatly */
@media(max-width:640px){
  .alm-sei-approved-inner{ gap: 12px; padding: 12px 16px; }
  .alm-sei-badge{ padding: 6px 16px 6px 10px !important; }
  .alm-sei-badge-text{ font-size: 11px !important; letter-spacing: 1.5px !important; }
  .alm-sei-banner-msg{ font-size: 13.5px; }
}


/* ============================================================
   SERVICE PAGES — GLOBAL CONTENT TEXT FIX
   All land clearing service pages use .alm-body / .alm-page 
   as the main wrapper. Fix ALL p, li, h3, h4 inside them.
   ============================================================ */

/* Core body/page wrappers - ALL service pages */
.alm-body p, .alm-body li, .alm-body h3, .alm-body h4,
.alm-page p, .alm-page li, .alm-page h3, .alm-page h4 {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Section inner wrappers */
.alm-section-inner p, .alm-section-inner li,
.fm-section-inner p, .fm-section-inner li {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Compare/pro-con columns */
.alm-compare-col p, .alm-compare-col li,
.alm-compare-list p, .alm-compare-list li {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Use case / feature cards */
.alm-use-case p, .alm-use-case li,
.fm-card p, .fm-card li,
.alm-card p, .alm-card li {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Process steps */
.alm-step p, .alm-step li, .alm-step-content p,
.fm-step p, .fm-step li {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* CTA sections */
.alm-cta p, .alm-cta li,
.alm-cta-inner p, .alm-cta-inner li,
.alm-cta-section p, .alm-cta-section li {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Related section links/text */
.alm-related-section p, .alm-related-section li {
  color: rgba(255, 255, 255, 0.80) !important;
}

/* Site prep specific */
.alm-scope-subsoil p, .alm-scope-note p,
.alm-subsoil-teaser p {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Subsoil mulching page */
.smr-cpanel-facts p, .smr-cpanel-facts li {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Species / invasives sections */
.alm-species-section p, .alm-species-section li {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Forestry mulching specific */
.fm-use-section p, .fm-compare-section p,
.fm-areas-section p, .fm-species-section p,
.fm-process-section p, .fm-timeline p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* General alm-section-p helper class */
.alm-section-p {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Entry-content bare p/li on dark service pages — catch-all */
body.page-id-626 .entry-content p, body.page-id-626 .entry-content li,
body.page-id-34 .entry-content p, body.page-id-34 .entry-content li,
body.page-id-877 .entry-content p, body.page-id-877 .entry-content li,
body.page-id-629 .entry-content p, body.page-id-629 .entry-content li,
body.page-id-1003 .entry-content p, body.page-id-1003 .entry-content li,
body.page-id-37 .entry-content p, body.page-id-37 .entry-content li,
body.page-id-42 .entry-content p, body.page-id-42 .entry-content li,
body.page-id-29 .entry-content p, body.page-id-29 .entry-content li,
body.page-id-1091 .entry-content p, body.page-id-1091 .entry-content li {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Hero background image support - overlay for text readability */
.alm-sa-hero.has-bg-image {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  position: relative;
}
.alm-sa-hero.has-bg-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(5,26,8,0.88) 0%, rgba(13,46,26,0.78) 50%, rgba(5,26,8,0.82) 100%) !important;
  z-index: 0;
  pointer-events: none;
}
.alm-sa-hero.has-bg-image .alm-sa-hero-inner {
  position: relative;
  z-index: 1;
}

/* === Western Wisconsin City Pages - Hero Background Images === */
body.page-id-2796 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-star-prairie-autumn-forest.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2796 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2797 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-glenwood-city-forest-aerial.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2797 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2798 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-spring-valley-forest-trail.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2798 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2799 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-woodville-autumn-woodland.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2799 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2800 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-clear-lake-sunset-forest.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2800 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2801 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-dresser-fall-road.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2801 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2802 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-luck-autumn-countryside.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2802 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2803 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-balsam-lake-deep-forest.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2803 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2804 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-amery-forest-landscape.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2804 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2805 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-clayton-forest-path.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2805 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2806 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-pepin-forest-road.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2806 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2807 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-barron-county-forest.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2807 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2808 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-menomonie-river-valley.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2808 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2809 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-elk-mound-landscape.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2809 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
body.page-id-2810 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-colfax-wooded-riverbank.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
body.page-id-2810 .alm-sa-hero::before { background: linear-gradient(135deg, rgba(5,26,8,0.85) 0%, rgba(13,46,26,0.75) 50%, rgba(5,26,8,0.80) 100%) !important; }
/* === End WI Hero Images === */

/* FINAL OVERRIDE: Hero buttons always white text */
body.parent-pageid-39 .alm-sa-btn-primary,
body.parent-pageid-39 .alm-sa-btn-primary:hover,
body.parent-pageid-39 .alm-sa-btn-primary:visited,
body.parent-pageid-39 .alm-sa-btn-primary:focus,
body.parent-pageid-39 .alm-sa-btn-primary:active { color: #ffffff !important; }

body.parent-pageid-39 .alm-sa-btn-secondary,
body.parent-pageid-39 .alm-sa-btn-secondary:hover,
body.parent-pageid-39 .alm-sa-btn-secondary:visited,
body.parent-pageid-39 .alm-sa-btn-secondary:focus,
body.parent-pageid-39 .alm-sa-btn-secondary:active { color: #ffffff !important; }

body.parent-pageid-39 section .alm-sa-btn-primary,
body.parent-pageid-39 section .alm-sa-btn-secondary { color: #ffffff !important; }


/* =========================================================
   CITY-SPECIFIC SERVICE PAGES SECTION — WI & MN HUB PAGES
   Fix text visibility after dark wp:html section
   ========================================================= */

/* WI hub page (638) — city links section */
body.page-id-638 .entry-content > .wp-block-heading,
body.page-id-638 .entry-content > h3,
body.page-id-638 .entry-content > p,
body.page-id-638 .entry-content > .wp-block-list,
body.page-id-638 .entry-content > ul {
  color: #ffffff !important;
}

body.page-id-638 .entry-content > .wp-block-list li,
body.page-id-638 .entry-content > ul li {
  color: #ffffff !important;
}

body.page-id-638 .entry-content > .wp-block-list a,
body.page-id-638 .entry-content > ul a {
  color: #6fcf8a !important;
  text-decoration: underline;
}

/* Eastern MN hub page (639) — same treatment for consistency */
body.page-id-639 .entry-content > .wp-block-heading,
body.page-id-639 .entry-content > h3,
body.page-id-639 .entry-content > p,
body.page-id-639 .entry-content > .wp-block-list,
body.page-id-639 .entry-content > ul {
  color: #ffffff !important;
}

body.page-id-639 .entry-content > .wp-block-list li,
body.page-id-639 .entry-content > ul li {
  color: #ffffff !important;
}

body.page-id-639 .entry-content > .wp-block-list a,
body.page-id-639 .entry-content > ul a {
  color: #6fcf8a !important;
  text-decoration: underline;
}

/* =========================================================
   HERO BACKGROUND IMAGES — ALL MN & WI CITY/COUNTY PAGES
   Added: 2026-07-02
   ========================================================= */

/* Generic has-bg-image overlay */
.alm-sa-hero.has-bg-image {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  position: relative !important;
  min-height: 420px !important;
}
.alm-sa-hero.has-bg-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(5,20,5,0.72) 0%, rgba(10,30,10,0.55) 100%);
  z-index: 1;
}
.alm-sa-hero.has-bg-image > * {
  position: relative;
  z-index: 2;
}
.alm-sa-hero.has-bg-image h1,
.alm-sa-hero.has-bg-image h2,
.alm-sa-hero.has-bg-image p {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.6);
}

body.page-id-2531 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-ramsey-county-saint-paul.jpg') !important; }
body.page-id-2530 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-chisago-county-lake-forest.jpg') !important; }
body.page-id-2529 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-washington-county-st-croix.jpg') !important; }
body.page-id-2528 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-dakota-county-river-bluff.jpg') !important; }
body.page-id-2480 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-anoka-county-forest-trail.jpg') !important; }
body.page-id-2482 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-pierce-county-kinnickinnic.jpg') !important; }
body.page-id-2481 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-polk-county-apple-river.jpg') !important; }
body.page-id-2477 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-st-croix-falls-riverway.jpg') !important; }
body.page-id-2476 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-osceola-river-bluff.jpg') !important; }
body.page-id-2475 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-amery-lake-forest.jpg') !important; }
body.page-id-2474 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-ellsworth-farmland-hills.jpg') !important; }
body.page-id-2473 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-prescott-mississippi-confluence.jpg') !important; }
body.page-id-2472 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-roberts-wooded-acreage.jpg') !important; }
body.page-id-2471 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-hammond-rural-farmland.jpg') !important; }
body.page-id-2470 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-baldwin-agricultural-landscape.jpg') !important; }
body.page-id-2469 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-lino-lakes-forest-wetland.jpg') !important; }
body.page-id-2468 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-centerville-lake-anoka-county.jpg') !important; }
body.page-id-2467 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-scandia-north-washington-county.jpg') !important; }
body.page-id-2466 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-lakeville-lake-marion-forest.jpg') !important; }
body.page-id-2465 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-farmington-dakota-farmland.jpg') !important; }
body.page-id-2463 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-eagan-lebanon-hills-forest.jpg') !important; }
body.page-id-2459 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-apple-valley-park-landscape.jpg') !important; }
body.page-id-2458 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-rosemount-rural-farmland-2.jpg') !important; }
body.page-id-2457 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-marine-st-croix-bluffs-2.jpg') !important; }
body.page-id-2456 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-north-branch-chisago-rural.jpg') !important; }
body.page-id-2455 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-white-bear-lake-shoreline.jpg') !important; }
body.page-id-2454 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-afton-st-croix-bluffs.jpg') !important; }
body.page-id-2453 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-mahtomedi-white-bear-lake.jpg') !important; }
body.page-id-2451 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-forest-lake-lake-forest.jpg') !important; }
body.page-id-2450 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-hugo-bald-eagle-lake.jpg') !important; }
body.page-id-2449 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-inver-grove-heights-bluffs.jpg') !important; }
body.page-id-2448 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-hastings-mississippi-river.jpg') !important; }
body.page-id-2431 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-oakdale-east-metro-forest.jpg') !important; }
body.page-id-2430 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-cottage-grove-south-metro.jpg') !important; }
body.page-id-2429 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-lake-elmo-rural-horse.jpg') !important; }
body.page-id-2165 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-saint-paul-minnesota.jpg') !important; }
body.page-id-2020 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-minneapolis-wooded-parks.jpg') !important; }
body.page-id-639 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-eastern-minnesota-st-croix.jpg') !important; }
body.page-id-637 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-st-croix-county-landscape.jpg') !important; }
body.page-id-636 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-saint-paul-capitol.jpg') !important; }
body.page-id-635 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-somerset-apple-river.jpg') !important; }
body.page-id-634 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-river-falls-kinnickinnic.jpg') !important; }
body.page-id-633 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-woodbury-east-metro-forest.jpg') !important; }
body.page-id-632 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/mn-stillwater-st-croix-valley.jpg') !important; }
body.page-id-631 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-hudson-st-croix-river.jpg') !important; }
body.page-id-630 .alm-sa-hero { background-image: url('https://aspenlm.com/wp-content/uploads/2026/07/wi-new-richmond-st-croix-county.jpg') !important; }
