/*
Theme Name: Canal Founders Child
Theme URI: https://canalfounders.com
Description: Minimal child theme of Hello Elementor for Canal Founders. Adds ONLY (1) the transparent-over-hero to solid-navy scroll header behavior, and (2) a small set of reusable CSS utility classes (buttons, cards, CTA band, disclosure block) so pages built in Elementor Free share one consistent design system. No parent theme or WordPress core files are modified. No jQuery, animation libraries, or external frameworks are used.
Author: Canal Founders
Template: hello-elementor
Version: 1.0.11
Text Domain: canal-founders-child
*/

/* =====================================================
   1. BRAND DESIGN TOKENS
   ===================================================== */
:root {
  --cf-navy-primary: #0D1B2A;
  --cf-navy-secondary: #142C44;
  --cf-gold: #D4AF37;
  --cf-warm-gray: #B8B1A3;
  --cf-off-white: #F2F2F2;
  --cf-white: #FFFFFF;
  --cf-charcoal: #1A1A1A;
  --cf-font-heading: 'Playfair Display', Georgia, serif;
  --cf-font-body: 'Montserrat', Helvetica, Arial, sans-serif;
}

/* =====================================================
   2. BASE TYPOGRAPHY
   ===================================================== */
body {
  font-family: var(--cf-font-body);
  color: var(--cf-charcoal);
  background-color: var(--cf-off-white);
  padding-top: 96px; /* space for fixed header */
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--cf-font-heading);
  color: var(--cf-navy-primary);
  letter-spacing: 0.2px;
}

/* =====================================================
   3. SITE HEADER
   Targets Hello Elementor's native header markup:
   header#site-header > div.header-inner > (site-branding, site-navigation)
   Default state: solid navy (used on all interior pages).
   Homepage-only: transparent until the visitor scrolls (see is-transparent / is-scrolled,
   toggled by the small inline script in functions.php).
   ===================================================== */
#site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background-color: var(--cf-navy-primary);
  transition: background-color 0.35s ease, box-shadow 0.35s ease;
  box-shadow: none;
}
#site-header .site-title a,
#site-header .site-description,
#site-header .site-navigation a,
#site-header .site-navigation-dropdown a {
  color: var(--cf-off-white);
  font-family: var(--cf-font-body);
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
}
#site-header .site-navigation a:hover,
#site-header .site-navigation a:focus,
#site-header .menu-item.current-menu-item > a {
  color: var(--cf-gold);
}
#site-header .site-navigation-toggle-icon,
#site-header .site-navigation-toggle-icon::before,
#site-header .site-navigation-toggle-icon::after {
  background-color: var(--cf-off-white);
}

/* Homepage-only transparent state before scrolling */
body.home #site-header.is-transparent {
  background-color: transparent;
  box-shadow: none;
}

/* Solid state after scrolling (all pages) */
#site-header.is-scrolled {
  background-color: var(--cf-navy-primary);
  box-shadow: 0 2px 18px rgba(13, 27, 42, 0.18);
}

/* Mobile: always solid navy for usability, per approved brand direction */
@media (max-width: 768px) {
  body.home #site-header.is-transparent {
    background-color: var(--cf-navy-primary);
  }
  body {
    padding-top: 76px;
  }
}

/* =====================================================
   4. REUSABLE BUTTONS
   Apply via Elementor's "CSS Classes" field (Advanced tab) on Button widgets.
   ===================================================== */
.btn-primary,
.btn-secondary {
  display: inline-block;
  font-family: var(--cf-font-body);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 16px 32px;
  border-radius: 2px;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.btn-primary {
  background-color: var(--cf-navy-primary);
  color: var(--cf-white) !important;
  border: 1px solid var(--cf-navy-primary);
}
.btn-primary:hover {
  background-color: var(--cf-navy-secondary);
  border-color: var(--cf-navy-secondary);
}
.btn-secondary {
  background-color: transparent;
  color: var(--cf-navy-primary) !important;
  border: 1px solid var(--cf-gold);
}
.btn-secondary:hover {
  background-color: var(--cf-gold);
  color: var(--cf-navy-primary) !important;
}

/* =====================================================
   6. CTA BAND
   ===================================================== */
.cf-cta-band {
  background-color: var(--cf-navy-primary);
  color: var(--cf-off-white);
  text-align: center;
  padding: 80px 24px;
}
.cf-cta-band h2 {
  color: var(--cf-white);
}
.cf-cta-band::before {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background-color: var(--cf-gold);
  margin: 0 auto 24px;
}

/* =====================================================
   7. PROFESSIONAL DISCLOSURE BLOCK
   ===================================================== */
.cf-disclosure {
  background-color: var(--cf-off-white);
  border-left: 3px solid var(--cf-warm-gray);
  padding: 24px 28px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cf-charcoal);
}

/* =====================================================
   8. FOOTER
   ===================================================== */
footer {
  background-color: var(--cf-navy-primary);
  color: var(--cf-warm-gray);
}
footer a {
  color: var(--cf-off-white);
  text-decoration: none;
}
footer a:hover {
  color: var(--cf-gold);
}


/* =====================================================
   9. RELIABILITY FIXES
   Elementor's own generated global CSS can load after this
   stylesheet and, on some templates, has equal CSS specificity
   for body/typography rules and for the mobile dropdown menu
   visibility. These rules make sure the Canal Founders header
   and typography are not silently overridden. No jQuery or
   extra files are introduced.
   ===================================================== */
body, body p, body div, body span, body li, body a {
  font-family: var(--cf-font-body) !important;
}
h1, h2, h3, h4, h5, h6,
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
  font-family: var(--cf-font-heading) !important;
}

/* Prevent the mobile dropdown menu from also rendering at
   desktop/tablet widths (which was inflating the header height). */
@media (min-width: 769px) {
  .site-navigation-dropdown {
    display: none !important;
  }
}


/* Constrain the logo image inside the fixed header so the header
   stays a compact, elegant bar instead of stretching to the logo's
   native (much larger) file dimensions. Width is left automatic so
   the logo's original proportions are never altered. */
#site-header .site-branding {
  display: flex;
  align-items: center;
  height: auto;
}
#site-header .custom-logo-link {
  display: inline-flex;
  align-items: center;
}
#site-header .custom-logo-link img {
  max-height: 44px;
  width: auto;
  height: auto;
}
#site-header .site-description {
  margin: 0 0 0 12px;
}
footer .custom-logo-link img {
  max-height: 56px;
  width: auto;
  height: auto;
}


/* Keep the header on a single row (logo + nav side-by-side) instead of
   wrapping onto two lines, and give ourselves one clean, reliable
   breakpoint for switching between the full horizontal menu (desktop)
   and Hello Elementor's native hamburger dropdown (tablet/mobile). */
.header-inner {
  flex-wrap: nowrap !important;
  align-items: center !important;
}
@media (min-width: 1025px) {
  .site-navigation-dropdown,
  .site-navigation-toggle-holder {
    display: none !important;
  }
  #site-header .site-navigation {
    display: flex !important;
  }
}
@media (max-width: 1024px) {
  #site-header .site-navigation {
    display: none !important;
  }
}
#site-header .site-navigation .menu {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: nowrap;
}


/* Keep the logo mark and the small tagline side-by-side on one line
   instead of stacking, which was the last source of extra header
   height. */
#site-header .site-branding {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px;
}
#site-header .site-description {
  margin: 0 !important;
  white-space: nowrap;
  font-size: 11px;
}
@media (max-width: 480px) {
  #site-header .site-description {
    display: none;
  }
}

/* =====================================================
   10. HERO COMPONENT
   Applied to the homepage hero Container (.cf-hero) and its
   child widgets. Recreated here so hero styling no longer
   depends on Elementor's Class Manager (global classes),
   which has an unresolved save/persistence bug (see technical
   report). Values match the previously approved hero design.
   ===================================================== */
.elementor .cf-hero {
  min-height: 90vh;
  background-color: var(--cf-navy-primary);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.elementor .cf-hero-title {
  font-family: var(--cf-font-heading);
  font-size: 56px;
  color: var(--cf-off-white);
  text-align: center;
}
.elementor .cf-hero-eyebrow {
  font-family: var(--cf-font-body);
  font-size: 13px;
  color: var(--cf-gold);
  letter-spacing: 2px;
  text-align: center;
  text-transform: uppercase;
}
.elementor .cf-hero-subtext {
  max-width: 640px;
  font-family: var(--cf-font-body);
  font-size: 18px;
  color: var(--cf-warm-gray);
  text-align: center;
}
.elementor .cf-hero-trust {
  font-family: var(--cf-font-body);
  font-size: 13px;
  color: var(--cf-warm-gray);
  text-align: center;
}

/* =====================================================
   11. SECTION HEADINGS
   Reusable heading/subtitle pair for homepage sections
   (e.g. Four Pillars, Why Panama, etc).
   ===================================================== */
.elementor .cf-section-title {
  font-family: var(--cf-font-heading);
  font-weight: 700;
  font-size: 38px;
  color: var(--cf-navy-primary);
  text-align: center;
}
.elementor .cf-section-subtitle {
  font-family: var(--cf-font-body);
  font-size: 18px;
  color: #4A4A4A;
  text-align: center;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* =====================================================
   12. PILLARS / SERVICE CARDS (cf-card)
   Replaces the earlier unused placeholder .cf-card rule
   (gold top-border stub) with the design actually approved
   and built for the Four Pillars section. Not used elsewhere
   on the site yet, so no regression risk.
   ===================================================== */
/* FIX (verified live, 2026-07-19): Elementor's own .e-flexbox-base class
   (present on every Elementor Flexbox container) sets flex-direction: row
   and padding: 10px, tying in CSS specificity with .cf-card and winning
   because Elementor's framework stylesheet loads after this one. That was
   breaking the card layout (title box separated from its paragraph).
   !important is added below to only those two properties to fix it. */
.elementor .cf-card {
  display: flex;
  flex-direction: column !important;
  align-items: flex-start;
  gap: 16px;
  padding: 32px !important;
  background-color: var(--cf-white);
  border: 1px solid #E4DFD3;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(13, 27, 42, 0.10);
  flex: 1 1 260px;
}
.elementor .cf-card-title {
  font-family: var(--cf-font-heading);
  font-weight: 700;
  font-size: 22px;
  color: var(--cf-navy-primary);
  margin: 0;
}
.elementor .cf-card-text {
  font-family: var(--cf-font-body);
  font-size: 15px;
  color: #4A4A4A;
  margin: 0;
}

/* =====================================================
   13. BUTTONS (cf-btn-primary / cf-btn-secondary)
   These are the literal CSS classes assigned to the hero
   buttons in Elementor. Recreated here (in addition to the
   legacy .btn-primary / .btn-secondary utility above) so
   button styling persists reliably regardless of Elementor's
   Class Manager save issue. NOTE: the previous Elementor
   global-class definition of .cf-btn-primary never set a
   text color, so the button was accidentally rendering with
   the browser/theme default link color instead of navy. That
   is corrected below.
   ===================================================== */
.elementor .cf-btn-primary {
  display: inline-block;
  font-family: var(--cf-font-body);
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: var(--cf-navy-primary);
  padding: 14px 36px;
  margin: 28px;
  border-radius: 2px;
  background-color: var(--cf-gold);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.elementor .cf-btn-primary:hover,
.elementor .cf-btn-primary:focus-visible {
  opacity: 0.88;
}
.elementor .cf-btn-primary:focus {
  box-shadow: 0 0 0 3px var(--cf-off-white);
  outline: none;
}
.elementor .cf-btn-secondary {
  display: inline-block;
  font-family: var(--cf-font-body);
  font-weight: 600;
  font-size: 14px;
  color: var(--cf-off-white);
  text-align: center;
  padding: 14px 36px;
  border-radius: 12px;
  border: 1px solid #F2F2F2;
  background-color: transparent;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.elementor .cf-btn-secondary:hover,
.elementor .cf-btn-secondary:focus-visible {
  background-color: rgba(242, 242, 242, 0.12);
}



/* =====================================================
 * 13. ANCHOR SCROLL OFFSET (STICKY HEADER)
 * Ensures in-page anchor links (#top, #pillars, #founders, #contact)
 * do not have their heading content hidden under the sticky header.
 * ===================================================== */
#top,
#pillars,
#founders,
#contact {
	  scroll-margin-top: 100px;
}



/* =====================================================
 * 14. HOMEPAGE HEADER/HERO OFFSET FIX
 * The homepage hero is designed to sit directly beneath the fixed
 * header (transparent over the hero, solid navy on scroll), with the
 * hero's own navy background meeting the header seamlessly.
* The generic fixed-header spacer above (body { padding-top }) is for
 * future inner pages without a hero. It must NOT apply on the home
 * page, or a visible gap/seam appears between the header and hero.
 * Targets both the "home" body class (assigned once this page is set
 * as the site's static front page) and "page-id-22" (this Home page's
 * ID) so the fix is effective before and after that setting changes.
 * ===================================================== */
body.home,
body.page-id-22 {
	  padding-top: 0;
}


/* =====================================================
 * 15. FOUNDERS SECTION RESPONSIVE STACKING (TABLET & MOBILE)
 * The founders row (two founder blocks side by side) and each
 * founder's editorial name / title / bio columns form a 3-column
 * desktop layout. Below 1024px there is not enough width for this,
 * so both the row and each founder block must stack vertically to
 * remain readable and avoid overlapping text.
 * ===================================================== */
@media (max-width: 1024px) {
  .elementor-element-0ee424d,
  .elementor-element-3b9f40b,
  .elementor-element-dba2eb3 {
    flex-direction: column !important;
  }
  .elementor-element-3b9f40b > h3,
  .elementor-element-dba2eb3 > h3 {
    margin-bottom: 6px;
  }
  .elementor-element-3b9f40b > p,
  .elementor-element-dba2eb3 > p {
    margin-bottom: 10px;
  }
  .elementor-element-0ee424d {
    row-gap: 32px;
  }
}


/* ==========================================================================
   16. FLUENT FORMS SUBMIT BUTTON - BRAND STYLING (Contact Form only)
   Scoped strictly to the Canal Founders contact form (#fluentform_3) so
   WordPress admin buttons and other plugin controls are never affected.
   ========================================================================== */
#fluentform_3 .ff-btn-submit {
  background-color: var(--cf-gold);
  color: var(--cf-navy-primary);
  font-family: var(--cf-font-body);
  font-weight: 600;
  font-size: 14px;
  padding: 14px 36px;
  border-radius: 2px;
  border: none;
  transition: opacity 0.2s;
}

#fluentform_3 .ff-btn-submit:hover,
#fluentform_3 .ff-btn-submit:focus-visible {
  opacity: 0.88;
  color: var(--cf-navy-primary);
}

#fluentform_3 .ff-btn-submit:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--cf-off-white);
}


/* =====================================================
 *    17. HOMEPAGE VISUAL REFINEMENT PASS (JULY 2026)
 *    Design-only pass: section rhythm, Founders card fix,
 *    Contact two-column layout, spacing normalization and
 *    restrained micro-details. No structural, legal, form-
 *    recipient, indexing or navigation changes are made here.
 *    ===================================================== */

/* 17.1 Section vertical rhythm & background alternation */
.elementor #pillars.elementor-element-a2161af {
	  background-color: var(--cf-off-white) !important;
}
.elementor #founders.elementor-element-dbcc4a5 {
	  background-color: var(--cf-navy-primary) !important;
	  padding: 100px 6% !important;
}
.elementor #contact.elementor-element-4350567 {
	  background-color: var(--cf-off-white) !important;
	  padding: 100px 6% !important;
}
.elementor .elementor-element-590b0f1 {
	  background-color: var(--cf-charcoal) !important;
	  padding: 56px 6% !important;
}
@media (max-width: 1024px) {
	  .elementor #founders.elementor-element-dbcc4a5,
	.elementor #contact.elementor-element-4350567 {
		    padding: 64px 6% !important;
	}
}
@media (max-width: 767px) {
	  .elementor #founders.elementor-element-dbcc4a5,
	.elementor #contact.elementor-element-4350567 {
		    padding: 48px 6% !important;
	}
	.elementor .elementor-element-590b0f1 {
		    padding: 40px 6% !important;
	}
}

/* 17.2 Founders section: heading, eyebrow, intro */
.elementor #founders h2.g-fda9bf2 {
	  color: var(--cf-off-white) !important;
	  text-align: center !important;
	  max-width: 760px !important;
	  margin: 0 auto !important;
}
.elementor #founders h2.g-fda9bf2::before {
	  content: "FOUNDER-LED ADVISORY";
	  display: block;
	  color: var(--cf-gold);
	  font-family: var(--cf-font-body);
	  font-size: 13px;
	  font-weight: 600;
	  letter-spacing: 3px;
	  text-transform: uppercase;
	  margin-bottom: 18px;
}
.elementor #founders p.g-d613ea3 {
	  color: rgba(242, 242, 242, 0.78) !important;
	  text-align: center !important;
	  max-width: 680px !important;
	  margin: 18px auto 0 !important;
}

/* 17.3 Founders row and card layout fix */
.elementor .elementor-element-0ee424d {
	  max-width: 1220px !important;
	  margin: 56px auto 0 !important;
	  gap: 40px !important;
	  align-items: stretch !important;
	  justify-content: center !important;
}
.elementor .elementor-element-3b9f40b,
.elementor .elementor-element-dba2eb3 {
	  flex-direction: column !important;
	  align-items: flex-start !important;
	  justify-content: flex-start !important;
	  flex: 1 1 460px !important;
	  max-width: 560px !important;
	  box-sizing: border-box !important;
	  background-color: var(--cf-navy-secondary) !important;
	  border: 1px solid rgba(212, 175, 55, 0.3) !important;
	  border-radius: 4px !important;
	  padding: 48px 40px !important;
	  gap: 0 !important;
	  position: relative !important;
	  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
@media (min-width: 1025px) {
	  .elementor .elementor-element-3b9f40b:hover,
	.elementor .elementor-element-dba2eb3:hover {
		    transform: translateY(-4px) !important;
		    box-shadow: 0 14px 30px rgba(13, 27, 42, 0.35) !important;
	}
}
.elementor .elementor-element-3b9f40b::before,
.elementor .elementor-element-dba2eb3::before {
	  content: "";
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  width: 64px;
	  height: 64px;
	  border-radius: 50%;
	  border: 1px solid var(--cf-gold);
	  background: rgba(212, 175, 55, 0.08);
	  color: var(--cf-gold);
	  font-family: var(--cf-font-heading);
	  font-size: 20px;
	  letter-spacing: 1px;
	  margin-bottom: 20px;
	  flex-shrink: 0;
}
.elementor .elementor-element-3b9f40b::before { content: "JD"; }
.elementor .elementor-element-dba2eb3::before { content: "JJ"; }
.elementor .elementor-element-3b9f40b h3.g-e4abbb6,
.elementor .elementor-element-dba2eb3 h3.g-e4abbb6 {
	  color: var(--cf-off-white) !important;
	  font-family: var(--cf-font-heading) !important;
	  font-size: 25px !important;
	  line-height: 1.3 !important;
	  margin: 0 0 6px 0 !important;
}
.elementor .elementor-element-3b9f40b p.g-bff22a0,
.elementor .elementor-element-dba2eb3 p.g-bff22a0 {
	  color: var(--cf-gold) !important;
	  font-family: var(--cf-font-body) !important;
	  font-size: 13px !important;
	  font-weight: 600 !important;
	  letter-spacing: 0.5px !important;
	  text-transform: uppercase !important;
	  width: 100% !important;
	  margin: 0 0 18px 0 !important;
	  padding-bottom: 18px !important;
	  border-bottom: 1px solid rgba(212, 175, 55, 0.35) !important;
}
.elementor .elementor-element-3b9f40b p.g-98c3d30,
.elementor .elementor-element-dba2eb3 p.g-98c3d30 {
	  color: rgba(242, 242, 242, 0.85) !important;
	  font-family: var(--cf-font-body) !important;
	  font-size: 15px !important;
	  line-height: 1.7 !important;
	  margin: 0 !important;
	  max-width: 46ch !important;
}
@media (max-width: 1024px) {
	  .elementor .elementor-element-3b9f40b,
	.elementor .elementor-element-dba2eb3 {
		    max-width: 100% !important;
		    flex: 1 1 auto !important;
	}
}

	}
}
}
}
}
}
	}
}
}
}
}
}
}
	}
	}
}
	}
}
}
}
}
}
/* 17.4 Contact section: two-column consultation layout */
.elementor #contact.elementor-element-4350567 {
	  display: grid !important;
	  grid-template-columns: 1fr 1fr !important;
	  column-gap: 64px !important;
	  align-items: start !important;
	  max-width: 1240px !important;
	  margin: 0 auto !important;
}
.elementor #contact h2.g-fda9bf2 {
	  grid-column: 1 !important;
	  grid-row: 1 !important;
	  color: var(--cf-navy-primary) !important;
	  text-align: left !important;
	  font-size: 34px !important;
	  margin: 0 !important;
}
.elementor #contact h2.g-fda9bf2::before {
	  content: "START YOUR PANAMA STRATEGY";
	  display: block;
	  color: var(--cf-navy-secondary);
	  opacity: 0.75;
	  font-family: var(--cf-font-body);
	  font-size: 13px;
	  font-weight: 700;
	  letter-spacing: 3px;
	  text-transform: uppercase;
	  margin-bottom: 16px;
}
.elementor #contact p.g-d613ea3 {
	  grid-column: 1 !important;
	  grid-row: 2 !important;
	  color: var(--cf-navy-secondary) !important;
	  text-align: left !important;
	  max-width: 480px !important;
	  margin: 18px 0 0 0 !important;
}
.elementor #contact p.g-d613ea3::after {
	  content: "Founder-led review\A Confidential initial assessment\A Coordinated next steps in Panama";
	  white-space: pre-line;
	  display: block;
	  margin-top: 24px;
	  padding-left: 16px;
	  border-left: 2px solid var(--cf-gold);
	  color: var(--cf-navy-secondary);
	  font-size: 14px;
	  line-height: 2.1;
}
.elementor #contact .elementor-element-bdcbf63 {
	  grid-column: 2 !important;
	  grid-row: 1 / span 2 !important;
	  background-color: var(--cf-white) !important;
	  border: 1px solid rgba(20, 44, 68, 0.1) !important;
	  border-radius: 6px !important;
	  box-shadow: 0 10px 28px rgba(13, 27, 42, 0.08) !important;
	  padding: 40px !important;
	  box-sizing: border-box !important;
}
@media (max-width: 1024px) {
	.elementor #contact.elementor-element-4350567 {
		    grid-template-columns: 1fr !important;
	}
	  .elementor #contact h2.g-fda9bf2,
	.elementor #contact p.g-d613ea3 {
		    grid-column: 1 !important;
	}
	.elementor #contact .elementor-element-bdcbf63 {
		    grid-column: 1 !important;
		    grid-row: auto !important;
		    margin-top: 40px !important;
	}
}

/* Contact form field refinement (submit button already styled in section 16) */
#fluentform_3 .ff-el-form-control {
	  border: 1px solid var(--cf-warm-gray) !important;
	  border-radius: 4px !important;
	  padding: 12px 14px !important;
	  font-family: var(--cf-font-body) !important;
	  font-size: 15px !important;
	  background-color: var(--cf-white) !important;
}
#fluentform_3 .ff-el-form-control:focus {
	  border-color: var(--cf-gold) !important;
	  outline: none !important;
	  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.25) !important;
}
#fluentform_3 .ff-el-group {
	  margin-bottom: 18px !important;
}
@media (max-width: 767px) {
	#fluentform_3 .ff-btn-submit {
		    width: 100% !important;
	}
}

/* 17.5 Pillars: restrained icon accent and hover */
.elementor .cf-card-title::before {
	  content: "";
	  display: block;
	  width: 36px;
	  height: 2px;
	  background-color: var(--cf-gold);
	  margin-bottom: 14px;
}
@media (min-width: 1025px) {
	.elementor .cf-card {
		    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
	}
	.elementor .cf-card:hover {
		    transform: translateY(-4px) !important;
		    box-shadow: 0 10px 24px rgba(13, 27, 42, 0.1) !important;
	}
}

/* 17.6 Disclosure block: dark-rhythm recolor (legal text unchanged) */
.elementor .cf-disclosure {
	  background-color: transparent !important;
	  color: var(--cf-warm-gray) !important;
	  border-left: 2px solid var(--cf-gold) !important;
}

}
	}
	}
}
}
	}
}
}
}
}
	}
	}
	}
}
}
}
}
}
}
}