.eyebrow,
.subtitle,
.strip-preview .label,
.strip-preview .items a {
  paint-order: stroke fill;
  -webkit-text-stroke: 2px rgb(0, 8, 24);
  text-shadow:
    0 0 1px rgba(0, 8, 24, 1),
    0 0 3px rgba(0, 8, 24, 0.95),
    0 0 7px rgba(0, 8, 24, 0.85),
    0 0 14px rgba(0, 8, 24, 0.68),
    0 0 24px rgba(0, 8, 24, 0.50),
    0 0 40px rgba(0, 8, 24, 0.34),
    0 0 60px rgba(0, 8, 24, 0.20),
    0 0 90px rgba(0, 8, 24, 0.10),
    0 4px 10px rgba(0, 10, 30, 0.55) !important;
}

.lede,
.lead {
  paint-order: stroke fill;
  -webkit-text-stroke: 4px rgb(0, 8, 24);
  text-shadow:
    0 0 1px rgba(0, 8, 24, 1),
    0 0 2px rgba(0, 8, 24, 0.98),
    0 0 4px rgba(0, 8, 24, 0.95),
    0 0 7px rgba(0, 8, 24, 0.90),
    0 0 12px rgba(0, 8, 24, 0.82),
    0 0 20px rgba(0, 8, 24, 0.70),
    0 0 32px rgba(0, 8, 24, 0.55),
    0 0 48px rgba(0, 8, 24, 0.40),
    0 0 70px rgba(0, 8, 24, 0.28),
    0 0 100px rgba(0, 8, 24, 0.18),
    0 0 140px rgba(0, 8, 24, 0.10),
    0 6px 14px rgba(0, 10, 30, 0.65) !important;
}

h1, h2, h3, h4, h5, h6 {
  filter:
    drop-shadow(0 0 1px rgba(0, 8, 24, 0.95))
    drop-shadow(0 0 6px rgba(0, 8, 24, 0.65))
    drop-shadow(0 0 18px rgba(0, 8, 24, 0.45))
    drop-shadow(0 4px 14px rgba(0, 10, 30, 0.55)) !important;
}

/* Light Theme Overrides (compatible with .has-coastal-page-bg cascade) */
[data-theme="light"] h1, 
[data-theme="light"] h2,
[data-theme="light"] h3,
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] h6,
.has-coastal-page-bg[data-theme="light"] h1, 
.has-coastal-page-bg[data-theme="light"] h2,
.has-coastal-page-bg[data-theme="light"] h3,
.has-coastal-page-bg[data-theme="light"] h4,
.has-coastal-page-bg[data-theme="light"] h5,
.has-coastal-page-bg[data-theme="light"] h6 {
  filter:
    drop-shadow(0 0 1px rgba(247, 244, 237, 0.98))
    drop-shadow(0 0 8px rgba(247, 244, 237, 0.80))
    drop-shadow(0 0 18px rgba(247, 244, 237, 0.55))
    drop-shadow(0 2px 5px rgba(20, 30, 50, 0.42)) !important;
}

[data-theme="light"] .eyebrow,
[data-theme="light"] .subtitle,
[data-theme="light"] .strip-preview .label,
[data-theme="light"] .strip-preview .items a,
.has-coastal-page-bg[data-theme="light"] .eyebrow,
.has-coastal-page-bg[data-theme="light"] .subtitle,
.has-coastal-page-bg[data-theme="light"] .strip-preview .label,
.has-coastal-page-bg[data-theme="light"] .strip-preview .items a {
  -webkit-text-stroke: 2px rgb(247, 244, 237);
  text-shadow:
    0 0 1px rgba(247, 244, 237, 1),
    0 0 2px rgba(247, 244, 237, 0.95),
    0 0 5px rgba(247, 244, 237, 0.85),
    0 0 10px rgba(247, 244, 237, 0.68),
    0 0 18px rgba(247, 244, 237, 0.50),
    0 0 30px rgba(247, 244, 237, 0.34),
    0 0 45px rgba(247, 244, 237, 0.20),
    0 2px 6px rgba(20, 30, 50, 0.45) !important;
}

[data-theme="light"] .lede,
[data-theme="light"] .lead,
.has-coastal-page-bg[data-theme="light"] .lede,
.has-coastal-page-bg[data-theme="light"] .lead {
  -webkit-text-stroke: 4px rgb(247, 244, 237);
  text-shadow:
    0 0 1px rgba(247, 244, 237, 1),
    0 0 2px rgba(247, 244, 237, 0.95),
    0 0 4px rgba(247, 244, 237, 0.90),
    0 0 8px rgba(247, 244, 237, 0.82),
    0 0 15px rgba(247, 244, 237, 0.70),
    0 0 25px rgba(247, 244, 237, 0.55),
    0 0 40px rgba(247, 244, 237, 0.40),
    0 3px 10px rgba(20, 30, 50, 0.55) !important;
}

/* ------------------------------------------------------------
   Gradient-clipped text overrides
   ------------------------------------------------------------
   Elements using `background-clip: text` (cool→warm italic accents
   on hero <em>, section <em>, dropcaps, stat numbers, etc.) MUST
   NOT carry the heavy outline / drop-shadow stack — the stroke
   paints a solid dark ring around each glyph and the gradient
   fill disappears into noise.

   Drop stroke, drop shadow, and any drop-shadow filter inherited
   from the `h1-h6` rule above. Keep paint-order: fill so any
   residual stroke renders behind the fill.
   ------------------------------------------------------------ */
.parallax-hero__title em,
.parallax-hero--variant-currents .parallax-hero__title em,
.section-list__title em,
.home-post-area .builder-block h2 em,
.home-post-area .builder-block h3 em,
.le-head h1 em,
.le-cover h1 em,
.le-cover-h1 em,
.le-section-h2 em,
.le-seocopy h2 em,
.le-article p:first-of-type::first-letter,
.has-coastal-page-bg .builder-blocks .stats-block__number,
.has-coastal-page-bg .builder-blocks .stats-block__suffix,
.has-coastal-page-bg .builder-blocks .scoreboard-card__number,
.has-coastal-page-bg .builder-blocks .scoreboard-card__suffix,
[class*="gradient-text"],
[class*="gradient-clip"] {
  -webkit-text-stroke: 0 transparent !important;
  paint-order: fill !important;
  text-shadow: none !important;
  filter: none !important;
}

/* CSS `filter: drop-shadow()` on a heading paints under EVERY
   glyph, including the gradient-clipped <em>. With the heavy
   stack from the h1-h6 rule above, that reads as a hard dark
   halo around each cyan letter. For headings that are KNOWN to
   carry a gradient <em>, swap to a lighter, single-pass shadow
   via text-shadow on the parent (cascade-clipped to the gradient
   children) and drop the filter entirely. The body text-shadow
   rules in content-templates.css still supply readability on
   non-gradient glyphs. */
.parallax-hero__title,
.section-list__title {
  filter: none !important;
}

/* For internal-template headings, scope the filter override to
   the LIGHT theme only (dark theme still needs the halo against
   atmospheric backgrounds, where the gradient em reads as cyan
   light enough to survive the halo). */
[data-theme="light"] .le-head h1,
[data-theme="light"] .le-cover h1,
[data-theme="light"] .le-section-h2,
[data-theme="light"] .le-seocopy h2,
[data-theme="light"] .home-post-area .builder-block h2,
[data-theme="light"] .home-post-area .builder-block h3 {
  filter: none !important;
}

/* ------------------------------------------------------------
   Global Contact Forms: Authoritative Unified Card & Element Reset
   ------------------------------------------------------------
   Guarantees 100% exact visual parity across Home, Internal,
   Category, Article, Standalone Intake, and Builder contact forms.
   Overrides sharp square prototype/internal.css rules.
   ------------------------------------------------------------ */

/* 1. Card Container Shell (Matching Home & Internal) */
:root :is(#contact-cta, .contact-cta, .contact-form-block, .le-contact-form, .le-form-wrap) {
  background: rgba(6, 18, 42, 0.84) !important;
  border: 1px solid rgba(140, 200, 255, 0.22) !important;
  border-radius: 16px !important;
  padding: clamp(1.5rem, 3.5vw, 2.75rem) !important;
  box-shadow: 0 16px 48px rgba(0, 8, 24, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-sizing: border-box !important;
}

:root[data-theme="light"] :is(#contact-cta, .contact-cta, .contact-form-block, .le-contact-form, .le-form-wrap),
.le[data-theme="light"] :is(#contact-cta, .contact-cta, .contact-form-block, .le-contact-form, .le-form-wrap) {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(20, 60, 110, 0.18) !important;
  box-shadow: 0 16px 48px rgba(10, 36, 70, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

/* 2. Display / Section Headings */
:root :is(.contact-cta__heading, .contact-form-block__title, .le-form-title, .contact-cta__form h2) {
  font-family: var(--font-display-coastal, 'Cormorant Garamond', 'Playfair Display', Georgia, serif) !important;
  font-size: clamp(2rem, 3.5vw, 2.75rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
  color: #ffffff !important;
  margin: 0 0 0.75rem 0 !important;
  -webkit-text-stroke: 0px transparent !important;
  filter: none !important;
  text-shadow: none !important;
}

:root[data-theme="light"] :is(.contact-cta__heading, .contact-form-block__title, .le-form-title, .contact-cta__form h2),
.le[data-theme="light"] :is(.contact-cta__heading, .contact-form-block__title, .le-form-title, .contact-cta__form h2) {
  color: var(--le-ink, #14243c) !important;
}

/* 3. Eyebrows & Badges */
:root :is(.contact-cta__eyebrow, .contact-form-block__eyebrow, .le-form-eyebrow) {
  font-family: var(--font-body-coastal, 'Manrope', 'Inter', system-ui, -apple-system, sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--brand-cyan, #8cdcff) !important;
}

:root[data-theme="light"] :is(.contact-cta__eyebrow, .contact-form-block__eyebrow, .le-form-eyebrow),
.le[data-theme="light"] :is(.contact-cta__eyebrow, .contact-form-block__eyebrow, .le-form-eyebrow) {
  color: var(--le-brand-deep, #0e4e80) !important;
}

/* 4. Field Labels (Overrides 11px uppercase role rules) */
:root :is(.contact-cta__label, .contact-cta__legend, .contact-cta__property-title, .contact-cta__field-hint, .contact-form-block label, .le-form label, .le-field label, .le-contact-form label, label, legend) {
  font-family: var(--font-body-coastal, 'Manrope', 'Inter', system-ui, -apple-system, sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1.4 !important;
  color: rgba(220, 238, 255, 0.92) !important;
}

:root[data-theme="light"] :is(.contact-cta__label, .contact-cta__legend, .contact-cta__property-title, .contact-cta__field-hint, .contact-form-block label, .le-form label, .le-field label, .le-contact-form label, label, legend),
.le[data-theme="light"] :is(.contact-cta__label, .contact-cta__legend, .contact-cta__property-title, .contact-cta__field-hint, .contact-form-block label, .le-form label, .le-field label, .le-contact-form label, label, legend) {
  color: rgba(14, 38, 70, 0.92) !important;
}

/* 5. Inputs, Selects & Textareas (Overrides sharp border-radius: 0) */
:root :is(input.contact-cta__input, textarea.contact-cta__textarea, select.contact-cta__select, .contact-cta__input, .contact-cta__textarea, .contact-cta__select, .contact-cta__suggestion, .contact-form-block input, .contact-form-block select, .contact-form-block textarea, .le-input, .le-select, .le-textarea, .le-form input, .le-form select, .le-form textarea, .le-field input, .le-field select, .le-field textarea) {
  font-family: var(--font-body-coastal, 'Manrope', 'Inter', system-ui, -apple-system, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0em !important;
  line-height: 1.5 !important;
  border-radius: 8px !important;
  min-height: 48px !important;
  padding: 0.75rem 1rem !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
}

:root[data-theme="light"] :is(input.contact-cta__input, textarea.contact-cta__textarea, select.contact-cta__select, .contact-cta__input, .contact-cta__textarea, .contact-cta__select, .contact-form-block input, .contact-form-block select, .contact-form-block textarea, .le-input, .le-select, .le-textarea, .le-form input, .le-form select, .le-form textarea, .le-field input, .le-field select, .le-field textarea),
.le[data-theme="light"] :is(input.contact-cta__input, textarea.contact-cta__textarea, select.contact-cta__select, .contact-cta__input, .contact-cta__textarea, .contact-cta__select, .contact-form-block input, .contact-form-block select, .contact-form-block textarea, .le-input, .le-select, .le-textarea, .le-form input, .le-form select, .le-form textarea, .le-field input, .le-field select, .le-field textarea) {
  background-color: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(20, 60, 110, 0.22) !important;
  color: #14243c !important;
}

:root :is(input::placeholder, textarea::placeholder, .le-field input::placeholder, .le-field textarea::placeholder) {
  font-style: normal !important;
  color: rgba(182, 212, 246, 0.55) !important;
}

:root[data-theme="light"] :is(input::placeholder, textarea::placeholder, .le-field input::placeholder, .le-field textarea::placeholder),
.le[data-theme="light"] :is(input::placeholder, textarea::placeholder, .le-field input::placeholder, .le-field textarea::placeholder) {
  color: rgba(20, 60, 110, 0.45) !important;
}

/* 6. Submit Button (Overrides sharp square uppercase le-submit) */
:root :is(button.contact-cta__submit, .contact-cta__submit, .le-submit, .contact-form-block button[type="submit"], .btn-contact) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 0.85rem 2.25rem !important;
  background: linear-gradient(135deg, #356cc8, #1e4588) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-family: var(--font-body-coastal, 'Manrope', 'Inter', system-ui, -apple-system, sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(30, 69, 136, 0.45) !important;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s !important;
}

:root :is(button.contact-cta__submit:hover, .contact-cta__submit:hover, .le-submit:hover) {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(30, 69, 136, 0.60) !important;
  background: linear-gradient(135deg, #4078db, #25529e) !important;
}

/* 6. Checkbox & Radio Labels */
:root :is(
  .contact-cta__checkbox-label,
  .contact-cta__radio-label,
  .contact-cta__maintenance-radio,
  .contact-cta__maintenance-radio *
) {
  font-family: var(--font-body-coastal, 'Manrope', 'Inter', system-ui, -apple-system, sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
}

/* 7. Action Buttons (Submit, Add Property, Remove, GPS) */
:root :is(
  button.contact-cta__submit,
  .contact-cta__submit,
  .contact-cta__add-btn,
  .contact-cta__remove,
  .contact-form-block button,
  .le-form button,
  .le-contact-form button,
  .btn-contact
) {
  font-family: var(--font-body-coastal, 'Manrope', 'Inter', system-ui, -apple-system, sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

/* 8. Disclaimers, Notes, Hints */
:root :is(
  .contact-cta__disclaimer,
  .contact-cta__concierge,
  .contact-cta__sub,
  .contact-form-block__subtitle,
  .contact-cta__badge,
  .contact-cta__call-pill
) {
  font-family: var(--font-body-coastal, 'Manrope', 'Inter', system-ui, -apple-system, sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

