.elementor-kit-9{--e-global-color-primary:#183351;--e-global-color-secondary:#315A83;--e-global-color-text:#1B2836;--e-global-color-accent:#E8A83B;--e-global-color-e161dfb:#0A1828;--e-global-color-9dea4c7:#10243C;--e-global-color-090498f:#D08E23;--e-global-color-249492a:#F0C976;--e-global-color-a0600b3:#9C6613;--e-global-color-6b83b93:#BC5C3B;--e-global-color-593b80c:#F7F9FB;--e-global-color-8e3ed53:#DFE6EC;--e-global-color-173b349:#566A7E;--e-global-color-13b4e2c:#256B48;--e-global-color-cf84cbf:#A72E28;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-2ddcc0e-font-family:"Archivo";--e-global-typography-2ddcc0e-font-weight:800;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root {
  /* ---- FOUNDATION NAVY (primary: structure, trust, the dark under the house) */
  --csh-navy-50: #f2f6fa;
  --csh-navy-100: #e3ebf3;
  --csh-navy-200: #c6d6e5;
  --csh-navy-300: #9fb8d0;
  --csh-navy-400: #6e93b4;
  --csh-navy-500: #46719a;
  --csh-navy-600: #315a83; /* link blue, AA on white */
  --csh-navy-700: #234669;
  --csh-navy-800: #183351; /* ★ BRAND PRIMARY */
  --csh-navy-900: #10243c; /* headings, dark sections */
  --csh-navy-950: #0a1828; /* footer, hero dark, "the crawl space itself" */

  /* ---- BEACON AMBER (accent: the headlamp; scarce by design) */
  --csh-amber-50: #fdf7eb;
  --csh-amber-100: #faecd0;
  --csh-amber-200: #f5dca4;
  --csh-amber-300: #f0c976; /* links on dark backgrounds */
  --csh-amber-400: #ecb854; /* focus rings */
  --csh-amber-500: #e8a83b; /* ★ BRAND ACCENT. CTA fill, dark text only. */
  --csh-amber-600: #d08e23; /* CTA hover */
  --csh-amber-700: #9c6613; /* smallest amber usable as text on white (AA) */
  --csh-amber-800: #7a5010;
  --csh-amber-900: #5e3e0d;

  /* ---- CLAY (supporting warm: badges, illustration, "home" texture) */
  --csh-clay-100: #f8e4dc;
  --csh-clay-300: #dfa189;
  --csh-clay-500: #bc5c3b; /* decorative only at this step */
  --csh-clay-600: #a04a2d; /* text-safe on white */
  --csh-clay-700: #7f3a23;

  /* ---- VAPOR (neutrals: cool grays tinted toward navy; the clean liner) */
  --csh-vapor-0: #ffffff;
  --csh-vapor-50: #f7f9fb; /* alt section background */
  --csh-vapor-100: #eef2f5;
  --csh-vapor-200: #dfe6ec; /* borders, dividers */
  --csh-vapor-300: #c4cfd9;
  --csh-vapor-400: #9dacbb;
  --csh-vapor-500: #74879a;
  --csh-vapor-600: #566a7e; /* muted text, AA on white */
  --csh-vapor-700: #405366;
  --csh-vapor-800: #2c3b4c;
  --csh-vapor-900: #1b2836; /* body text */

  /* ---- STATUS */
  --csh-success-600: #256b48;
  --csh-success-100: #dff2e7;
  --csh-error-600: #a72e28;
  --csh-error-100: #f9e3e1;
  /* warning = amber-800 text on amber-100 bg; info = navy-700 on navy-100 */

  /* ---- SEMANTIC ALIASES (what components actually reference) */
  --csh-primary: var(--csh-navy-800);
  --csh-primary-strong: var(--csh-navy-900);
  --csh-accent: var(--csh-amber-500);
  --csh-accent-hover: var(--csh-amber-600);
  --csh-heading: var(--csh-navy-900);
  --csh-text: var(--csh-vapor-900);
  --csh-text-muted: var(--csh-vapor-600);
  --csh-link: var(--csh-navy-600);
  --csh-link-hover: var(--csh-navy-700);
  --csh-surface: var(--csh-vapor-0);
  --csh-surface-alt: var(--csh-vapor-50);
  --csh-surface-dark: var(--csh-navy-950);
  --csh-text-on-dark: var(--csh-vapor-100);
  --csh-muted-on-dark: var(--csh-navy-300);
  --csh-link-on-dark: var(--csh-amber-300);
  --csh-border: var(--csh-vapor-200);
  --csh-focus: var(--csh-amber-400);

  /* ---- GRADIENTS
     Rule: gradients stay inside ONE color family. Never blend amber into
     navy in a single linear ramp; the midpoint goes muddy olive. Amber
     meets navy only via the lamplight overlay (alpha radial). */
  --csh-grad-depth: linear-gradient(
    180deg,
    #183351 0%,
    #10243c 55%,
    #0a1828 100%
  );
  --csh-grad-beacon: linear-gradient(
    135deg,
    #ecb854 0%,
    #e8a83b 45%,
    #d08e23 100%
  );
  --csh-grad-lamplight: radial-gradient(
    ellipse 90% 65% at 50% -5%,
    rgba(232, 168, 59, 0.18) 0%,
    rgba(232, 168, 59, 0) 62%
  );
  --csh-grad-photo: linear-gradient(
    180deg,
    rgba(10, 24, 40, 0) 0%,
    rgba(10, 24, 40, 0.85) 80%
  );
  --csh-grad-surface: linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
  --csh-grad-daybreak: linear-gradient(180deg, #fdf7eb 0%, #ffffff 72%);

  /* ---- TYPOGRAPHY (self-host via Elementor Custom Fonts; see guide §5) */
  --csh-font-display: "Archivo", "Segoe UI", system-ui, sans-serif;
  --csh-font-body: "Inter", "Segoe UI", system-ui, sans-serif;

  --csh-text-h1: clamp(2.25rem, 1.45rem + 2.6vw, 3.25rem);
  --csh-text-h2: clamp(1.75rem, 1.28rem + 1.6vw, 2.375rem);
  --csh-text-h3: clamp(1.375rem, 1.14rem + 0.85vw, 1.75rem);
  --csh-text-h4: 1.25rem;
  --csh-text-body: 1.0625rem; /* 17px, long-form trust content */
  --csh-text-small: 0.875rem;

  /* ---- SHAPE & ELEVATION */
  --csh-radius-sm: 6px; /* inputs, tags */
  --csh-radius-md: 10px; /* buttons */
  --csh-radius-lg: 16px; /* cards, listing tiles */
  --csh-radius-pill: 999px;
  --csh-shadow-card:
    0 1px 2px rgba(16, 36, 60, 0.05), 0 10px 30px -12px rgba(16, 36, 60, 0.18);
  --csh-shadow-hover:
    0 2px 4px rgba(16, 36, 60, 0.06), 0 16px 40px -12px rgba(16, 36, 60, 0.24);
}

/* ==========================================================================
   UTILITY CLASSES
   Apply via Elementor: select section/container → Advanced → CSS Classes.
   Elementor's native gradient control is 2-stop only, so anything richer
   than that lives here.
   ========================================================================== */

/* Dark hero: depth gradient + lamplight glow (the signature move) */
.csh-hero-dark {
  background-color: var(--csh-navy-950);
  background-image: var(--csh-grad-lamplight), var(--csh-grad-depth);
  color: var(--csh-text-on-dark);
}
.csh-hero-dark h1,
.csh-hero-dark h2,
.csh-hero-dark h3 {
  color: #ffffff;
}
.csh-hero-dark a {
  color: var(--csh-link-on-dark);
}

/* Plain dark section (footer, trust bands), no glow */
.csh-bg-depth {
  background-image: var(--csh-grad-depth);
  color: var(--csh-text-on-dark);
}

/* Light section alternates */
.csh-bg-surface {
  background-image: var(--csh-grad-surface);
}
.csh-bg-daybreak {
  background-image: var(--csh-grad-daybreak);
}

/* Photo card/hero overlay for text legibility over crawl-space imagery */
.csh-photo-overlay {
  position: relative;
}
.csh-photo-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--csh-grad-photo);
  pointer-events: none;
}
.csh-photo-overlay > * {
  position: relative;
  z-index: 1;
}

/* ---- BUTTONS ---- */
.csh-btn {
  display: inline-block;
  font-family: var(--csh-font-body);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  padding: 0.9em 1.6em;
  border-radius: var(--csh-radius-md);
  border: 2px solid transparent;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.csh-btn:focus-visible {
  outline: 3px solid var(--csh-focus);
  outline-offset: 2px;
}

/* Primary CTA: the headlamp. One per viewport. Dark text, never white. */
.csh-btn--beacon {
  background: var(--csh-accent);
  color: var(--csh-navy-950);
}
.csh-btn--beacon:hover {
  background: var(--csh-accent-hover);
  color: var(--csh-navy-950);
}

/* Secondary: structural navy */
.csh-btn--navy {
  background: var(--csh-primary);
  color: #ffffff;
}
.csh-btn--navy:hover {
  background: var(--csh-navy-700);
  color: #ffffff;
}

/* Tertiary: quiet outline */
.csh-btn--ghost {
  background: transparent;
  color: var(--csh-primary);
  border-color: var(--csh-vapor-300);
}
.csh-btn--ghost:hover {
  background: var(--csh-vapor-50);
  border-color: var(--csh-vapor-400);
}

/* On-dark outline variant */
.csh-btn--ghost-dark {
  background: transparent;
  color: var(--csh-amber-300);
  border-color: var(--csh-amber-300);
}
.csh-btn--ghost-dark:hover {
  background: rgba(240, 201, 118, 0.1);
}

/* Tracked phone number = the money action. Always beacon treatment. */
a.csh-call {
  font-weight: 700;
  color: var(--csh-amber-700);
  text-decoration: none;
}
.csh-hero-dark a.csh-call,
.csh-bg-depth a.csh-call {
  color: var(--csh-amber-300);
}

/* ---- MISC COMPONENT DEFAULTS ---- */
.csh-card {
  background: var(--csh-surface);
  border: 1px solid var(--csh-border);
  border-radius: var(--csh-radius-lg);
  box-shadow: var(--csh-shadow-card);
}
.csh-card:hover {
  box-shadow: var(--csh-shadow-hover);
}

.csh-badge-verified {
  display: inline-block;
  font-size: var(--csh-text-small);
  font-weight: 600;
  color: var(--csh-success-600);
  background: var(--csh-success-100);
  border-radius: var(--csh-radius-pill);
  padding: 0.25em 0.8em;
}
.csh-badge-featured {
  display: inline-block;
  font-size: var(--csh-text-small);
  font-weight: 600;
  color: var(--csh-amber-800);
  background: var(--csh-amber-100);
  border-radius: var(--csh-radius-pill);
  padding: 0.25em 0.8em;
}

@media (prefers-reduced-motion: reduce) {
  .csh-btn,
  .csh-card {
    transition: none;
  }
}/* End custom CSS */