/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a,
a:link,
a:visited,
a:hover,
a:focus,
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img,
a.fl-button {
    transition: all 0.25s ease-in-out !important;
}

.zbump {
	position: relative;
	z-index: 99999;
}

/* ===== Banner — Global Typography =====
   Palette reference (for find/replace, not variables):
   navy #0a2342 · ink #11253b · muted #5a6c80
   green #16c592 · green-deep #0b8f66 */

/* Base body text */
body{
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:18px;
  line-height:1.6;
  color:#11253b;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Headings — shared */
h1,h2,h3,h4,h5,h6{
  font-family:'Bricolage Grotesque', Georgia, serif;
  color:#11253b;
  font-weight:700;
  margin:0;
}

/* Heading scale (section/component classes override these per-context) */
h1{ font-size:48px; line-height:1.05; font-weight:800; letter-spacing:-1px; }
h2{ font-size:36px; line-height:1.1;  letter-spacing:-0.5px; }
h3{ font-size:24px; line-height:1.2;  letter-spacing:-0.3px; }
h4{ font-size:20px; line-height:1.25; letter-spacing:-0.2px; }
h5{ font-size:17px; line-height:1.3; }
h6{ font-size:14px; line-height:1.35; letter-spacing:0.04em; text-transform:uppercase; }

/* Paragraphs */
p{ margin:0 0 20px; }
p:last-child{ margin-bottom:0; }

/* Lead paragraph (intro/sub-copy) */
.be-lead{
  font-size:19px;
  line-height:1.6;
  color:#5a6c80;
}

/* Inline */
strong,b{ font-weight:700; }
small{ font-size:14px; }

/* Mobile heading scale */
@media (max-width:600px){
  h1{ font-size:34px; line-height:1.1; }
  h2{ font-size:28px; line-height:1.15; }
  h3{ font-size:22px; }
}



/* ===== Eyebrow — section label with lead-in rule ===== */
.eyebrow p{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#0b8f66;            /* green-deep — for light backgrounds */
  line-height:1.2;
}
.eyebrow p::before{
  content:"";
  flex:none;
  width:26px;
  height:2px;
  border-radius:2px;
  background:#0b8f66;        /* bright green lead-in */
}






/* ------ HERO SECTON ------- */

/* ===== Hero row background (Row class: hero-blue) ===== */
.hero-blue .fl-row-content-wrap{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 520px at 78% -10%, rgba(22,197,146,0.16), transparent 60%),
    radial-gradient(700px 500px at 5% 110%, rgba(19,56,106,0.70), transparent 60%),
    linear-gradient(160deg, #0a2342 0%, #0c2a4f 55%, #0a2342 100%);
}

/* Scalloped wave-line texture */
.hero-blue .fl-row-content-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cpath d='M0 80c40-26 120-26 160 0M0 110c40-26 120-26 160 0M0 50c40-26 120-26 160 0M0 20c40-26 120-26 160 0M0 140c40-26 120-26 160 0' fill='none' stroke='%23ffffff' stroke-opacity='0.05' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* Keep your columns/content above the texture */
.hero-blue .fl-row-content{
  position:relative;
  z-index:1;
}

/* ===== Hero eyebrow (Text module class: hero-eyebrow) ===== */
.hero-eyebrow p{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:16px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#16c592;
  line-height:1.2;
}
.hero-eyebrow p::before{
  content:"";
  flex:none;
  width:26px;
  height:2px;
  border-radius:2px;
  background:#16c592;
}

/* ===== Hero H1 (Heading module class: hero-h1) ===== */
h1.hero-h1{
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:48px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-1.5px;
  color:#ffffff;
}

@media (max-width:600px){
  h1.hero-h1{
    font-size:40px;
    line-height:1.1;
    letter-spacing:-1px;
  }
}

.green-accent{
  color:#16c592;
}

/* ===== Hero paragraph (Text module class: hero-text) ===== */
.hero-text p{
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:18px;
  line-height:1.6;
  color:#bcccdc;
  margin:0 0 20px;
}
.hero-text p:last-child{
  margin-bottom:0;
}

/* ===== Hero checklist (Text module class: hero-list) ===== */
.hero-list ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:13px;
}
.hero-list li{
  position:relative;
  margin:0;
  padding:1px 0 0 38px;          /* left space for the badge */
  min-height:25px;
  display:flex;
  align-items:center;
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:500;
  color:#dbe6f0;
}
.hero-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:25px;
  height:25px;
  border-radius:7px;
  background-color:rgba(22,197,146,0.16);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
}


/* ===== Hero licensed-states (Text module class: hero-states) ===== */
.hero-states{
  border-top:1px solid rgba(255,255,255,0.12);
  padding-top:22px;
}

/* Label */
.hero-states p{
  margin:0 0 11px;
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#16c592;
}

/* State chips row */
.hero-states ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.hero-states li{
  margin:0;
  padding:6px 13px;
  border:1px solid rgba(255,255,255,0.2);
  border-radius:8px;
  background:rgba(255,255,255,0.04);
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.5px;
  color:#dbe6f0;
}


/* ===== Hero form card ===== */
.form-card{
  background:#ffffff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(10,35,66,0.28), 0 12px 24px -12px rgba(10,35,66,0.12);
}
.form-card-bar{
  height:6px;
  background:linear-gradient(90deg, #16c592, #0b8f66);
}
.form-card-head{
  padding:24px 28px 16px;
  border-bottom:1px solid #e3ebf3;
}
.form-card-title{
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:24px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-0.3px;
  color:#11253b;
  margin:0;
}
.form-card-trust{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:10px;
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:14px;
  font-weight:500;
  color:#5a6c80;
}
.form-card-stars{ display:flex; gap:2px; }
.form-card-stars svg{ width:15px; height:15px; fill:#f4a623; }
.form-card-body{ padding:18px 24px 24px; }
.form-card-body #btIframe{
  width:100%;
  min-height:560px;   /* floor so it doesn't collapse before BT sets height */
  display:block;
  border:0;
}
.form-assurance{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-top:0;
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:13px;
  line-height:1.4;
  color:#5a6c80;
  text-align:center;
}
.form-assurance svg{
  width:15px; height:15px; flex:none;
  fill:none; stroke:#0b8f66; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}



/* ===== CTA band row (Row class: cta-blue) ===== */
.cta-blue .fl-row-content-wrap{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(700px 380px at 85% 120%, rgba(22,197,146,0.16), transparent 60%),
    linear-gradient(135deg, #0a2342 0%, #0d2d54 100%);
}
.cta-blue .fl-row-content-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cpath d='M0 80c40-26 120-26 160 0M0 110c40-26 120-26 160 0M0 50c40-26 120-26 160 0M0 20c40-26 120-26 160 0M0 140c40-26 120-26 160 0' fill='none' stroke='%23ffffff' stroke-opacity='0.05' stroke-width='1.2'/%3E%3C/svg%3E");
}
.cta-blue .fl-row-content{
  position:relative;
  z-index:1;
  text-align:center;
}

/* ===== Heading (Heading module class: cta-heading) ===== */
h2.cta-heading{
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:32px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-0.5px;
  color:#ffffff;
}

/* ===== Sub-text (Text module class: cta-text) ===== */

.cta-text p{
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:18px;
  line-height:1.55;
  color:#bcccdc;
}





/* ===== CTA buttons (Button Group module class: cta-buttons) ===== */

/* Strip ALL styling/height from the link + wrappers */
.cta-buttons .fl-button-group-buttons,
.cta-buttons .fl-button-group-button,
.cta-buttons .fl-button-wrap,
.cta-buttons .fl-button,
.cta-buttons a.fl-button,
.cta-buttons .fl-button:visited{
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  line-height:normal !important;
}

/* Group: centered, margins handle spacing (14px both directions) */
.cta-buttons .fl-button-group-layout-horizontal.fl-button-group-buttons,
.cta-buttons .fl-button-group-layout-horizontal .fl-button-group-buttons{
  width:100% !important;
  gap:0 !important;
  justify-content:center !important;
}
.cta-buttons .fl-button-group-button{
  display:inline-block;
  width:auto !important;
  flex:0 1 auto !important;
  vertical-align:top;
  margin:7px !important;          /* 7px all sides = 14px between buttons + wrapped rows */
}
.cta-buttons .fl-button-wrap{ width:auto !important; }
.cta-buttons .fl-button{ display:inline-block !important; width:auto !important; }

/* The pill itself lives on the inner text span */
.cta-buttons .fl-button .fl-button-text{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  box-sizing:border-box !important;
  height:56px !important;
  padding:0 26px !important;
  border-radius:12px;
  font-family:'Hanken Grotesk', system-ui, sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
  transform:translateY(0);
}

/* White "Call" button (first) — navy text + icon */
.cta-buttons .fl-button-group-button:first-child .fl-button-text,
.cta-buttons .fl-button-group-button:first-child .fl-button-text *,
.cta-buttons .fl-button-group-button:first-child .call-icon{
  color:#0a2342 !important;
}
.cta-buttons .fl-button-group-button:first-child .fl-button-text{
  background-color:#ffffff !important;
  box-shadow:0 6px 18px -10px rgba(10,35,66,0.35);
}
.cta-buttons .fl-button-group-button:first-child .fl-button:hover .fl-button-text{
  transform:translateY(-2px);
  box-shadow:0 12px 26px -12px rgba(10,35,66,0.45);
}

/* Green "Free Estimate" button (last) */
.cta-buttons .fl-button-group-button:last-child .fl-button-text{
  background-color:#0b8f66 !important;
  color:#ffffff !important;
  box-shadow:0 8px 20px -8px rgba(11,143,102,0.55), inset 0 1px 0 rgba(255,255,255,0.18);
}
.cta-buttons .fl-button-group-button:last-child .fl-button:hover .fl-button-text{
  background-color:#0aa074 !important;
  transform:translateY(-2px);
  box-shadow:0 12px 26px -10px rgba(11,143,102,0.6), inset 0 1px 0 rgba(255,255,255,0.2);
}

/* Mobile: full-width stack */
@media (max-width:600px){
  .cta-buttons .fl-button-group-layout-horizontal.fl-button-group-buttons,
  .cta-buttons .fl-button-group-layout-horizontal .fl-button-group-buttons{
    flex-direction:column;
  }
  .cta-buttons .fl-button-group-button{
    width:100% !important;
    margin:0 0 14px !important;
  }
  .cta-buttons .fl-button-group-button:last-child{ margin-bottom:0 !important; }
  .cta-buttons .fl-button,
  .cta-buttons .fl-button-wrap{ width:100% !important; }
  .cta-buttons .fl-button .fl-button-text{ width:100%; }
}


/* ===== CTA buttons — LIGHT sections (Button Group module class: cta-buttons-light) ===== */

/* Strip styling/height from link + wrappers */
.cta-buttons-light .fl-button-group-buttons,
.cta-buttons-light .fl-button-group-button,
.cta-buttons-light .fl-button-wrap,
.cta-buttons-light .fl-button,
.cta-buttons-light a.fl-button,
.cta-buttons-light .fl-button:visited{
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  line-height:normal !important;
}

/* Group: left-aligned, margins handle spacing; negative left margin keeps first button flush */
.cta-buttons-light .fl-button-group-layout-horizontal.fl-button-group-buttons,
.cta-buttons-light .fl-button-group-layout-horizontal .fl-button-group-buttons{
  width:100% !important;
  gap:0 !important;
  justify-content:flex-start !important;
  margin-left:-7px !important;
}
.cta-buttons-light .fl-button-group-button{
  display:inline-block;
  width:auto !important;
  flex:0 1 auto !important;
  vertical-align:top;
  margin:7px !important;          /* 7px all sides = 14px between buttons + wrapped rows */
}
.cta-buttons-light .fl-button-wrap{ width:auto !important; }
.cta-buttons-light .fl-button{ display:inline-block !important; width:auto !important; }

/* Pill on the inner text span */
.cta-buttons-light .fl-button .fl-button-text{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  box-sizing:border-box !important;
  height:56px !important;
  padding:0 26px !important;
  border-radius:12px;
  font-family:'Hanken Grotesk', system-ui, sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
  transform:translateY(0);
}

/* GREEN button (first / left) */
.cta-buttons-light .fl-button-group-button:first-child .fl-button-text{
  background-color:#0b8f66 !important;
  color:#ffffff !important;
  box-shadow:0 8px 20px -8px rgba(11,143,102,0.55), inset 0 1px 0 rgba(255,255,255,0.18);
}
.cta-buttons-light .fl-button-group-button:first-child .fl-button:hover .fl-button-text{
  background-color:#0aa074 !important;
  transform:translateY(-2px);
  box-shadow:0 12px 26px -10px rgba(11,143,102,0.6), inset 0 1px 0 rgba(255,255,255,0.2);
}

/* OUTLINED white button (last / right) — navy text + icon */
.cta-buttons-light .fl-button-group-button:last-child .fl-button-text,
.cta-buttons-light .fl-button-group-button:last-child .fl-button-text *,
.cta-buttons-light .fl-button-group-button:last-child .call-icon{
  color:#0a2342 !important;
}
.cta-buttons-light .fl-button-group-button:last-child .fl-button-text{
  background-color:#ffffff !important;
  box-shadow:inset 0 0 0 1.5px #d6e1ec;
}
.cta-buttons-light .fl-button-group-button:last-child .fl-button:hover .fl-button-text{
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 1.5px #c2d2e2, 0 12px 26px -12px rgba(10,35,66,0.4);
}

/* Mobile: full-width stack */
@media (max-width:600px){
  .cta-buttons-light .fl-button-group-layout-horizontal.fl-button-group-buttons,
  .cta-buttons-light .fl-button-group-layout-horizontal .fl-button-group-buttons{
    flex-direction:column;
    margin-left:0 !important;
  }
  .cta-buttons-light .fl-button-group-button{
    width:100% !important;
    margin:0 0 14px !important;
  }
  .cta-buttons-light .fl-button-group-button:last-child{ margin-bottom:0 !important; }
  .cta-buttons-light .fl-button,
  .cta-buttons-light .fl-button-wrap{ width:100% !important; }
  .cta-buttons-light .fl-button .fl-button-text{ width:100%; }
}


/* ===== Shared button icon — inherits each button's text color ===== */
.cta-buttons .call-icon,
.cta-buttons-light .call-icon{
  display:inline-flex;
  align-items:center;
}
.cta-buttons .call-icon::before,
.cta-buttons-light .call-icon::before{
  content:"";
  width:18px; height:18px; margin-right:9px; flex:none;
  background-color:currentColor;
  -webkit-mask:no-repeat center / contain;
          mask:no-repeat center / contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}





/* ------ How IT WORKS STEPS ------- */

/* ============================================================
   HOW IT WORKS STEPS  (HTML module)
   Wrapper classes:
     .steps                      base (3 across)
     .steps-1 / -2 / -4 / -5     step count (omit for 3)
     .steps--line                dashed connector
     .steps--arrows              chevron connector
   Icon classes (on .step-glyph): see ICON LIBRARY below
   ============================================================ */

.steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.steps-1{ grid-template-columns:repeat(1,1fr); max-width:340px; margin-left:auto; margin-right:auto; }
.steps-2{ grid-template-columns:repeat(2,1fr); }
.steps-4{ grid-template-columns:repeat(4,1fr); }
.steps-5{ grid-template-columns:repeat(5,1fr); }

/* ---- Dashed connector (inset = half a column, tucks behind outer badges) ---- */
.steps--line::before{
  content:"";
  position:absolute;
  top:38px; left:16.66%; right:16.66%;   /* 3 steps default */
  height:2px; z-index:0;
  background:repeating-linear-gradient(90deg, #d6e1ec 0 8px, transparent 8px 16px);
}
.steps--line.steps-1::before{ display:none; }      /* single step: no line */
.steps--line.steps-2::before{ left:25%;   right:25%;   }
.steps--line.steps-4::before{ left:12.5%; right:12.5%; }
.steps--line.steps-5::before{ left:10%;   right:10%;   }

/* ---- Arrow connector (chevron in each gap; count-independent) ---- */
.steps--arrows .step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:38px; right:-13px;                  /* -13 = half the 26px gap */
  width:22px; height:22px;
  transform:translate(50%,-50%);
  z-index:2;
  background:no-repeat center/contain
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2cfdc' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---- Step ---- */
.step{ position:relative; z-index:1; text-align:center; }

.step-num{
  width:76px; height:76px; margin:0 auto 22px;
  border-radius:50%;
  background:#ffffff; border:2px solid #d2f0e2;
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.step-icon{
  width:56px; height:56px; border-radius:50%;
  background:#e7f8f1;
  display:flex; align-items:center; justify-content:center;
}
.step-badge{
  position:absolute; top:-6px; right:-6px;
  width:28px; height:28px; border-radius:50%;
  background:#0b8f66; color:#ffffff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-weight:700; font-size:15px;
}
.step-title{
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:19px; line-height:1.25; font-weight:700;
  color:#11253b; margin:0 0 8px;
}
.step-text{
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:16px; line-height:1.5; color:#5a6c80;
  max-width:300px; margin:0 auto;
}

/* ---- Mobile: stack, drop connectors ---- */
@media (max-width:760px){
  .steps,
  .steps-1,.steps-2,.steps-4,.steps-5{
    grid-template-columns:1fr; gap:36px; max-width:none;
  }
  .steps--line::before{ display:none; }
  .steps--arrows .step::after{ display:none; }
}

/* ============================================================
   ICON LIBRARY  — class-based (CSS mask = one color knob)
   Usage:  <span class="step-icon"><i class="step-glyph icon-calendar"></i></span>
   Color for ALL icons is set once here:
   ============================================================ */
.step-glyph{
  width:28px; height:28px; display:block;
  background-color:#0b8f66;                       /* << single color control */
  -webkit-mask:no-repeat center/contain;
  mask:no-repeat center/contain;
}

.icon-calendar{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M9 16l2 2 4-4'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M9 16l2 2 4-4'/%3E%3C/svg%3E");
}
.icon-flask{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6.5L5.5 18a2 2 0 0 0 1.8 3h9.4a2 2 0 0 0 1.8-3L14 9.5V3M7.5 15h9'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6.5L5.5 18a2 2 0 0 0 1.8 3h9.4a2 2 0 0 0 1.8-3L14 9.5V3M7.5 15h9'/%3E%3C/svg%3E");
}
.icon-report{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM14 2v6h6M9 14l2 2 4-4'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM14 2v6h6M9 14l2 2 4-4'/%3E%3C/svg%3E");
}
.icon-search{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
}
.icon-clipboard{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v3M14 3v3M5 8h14l-1.2 11a2 2 0 0 1-2 1.8H8.2a2 2 0 0 1-2-1.8zM9 13l2 2 4-4'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v3M14 3v3M5 8h14l-1.2 11a2 2 0 0 1-2 1.8H8.2a2 2 0 0 1-2-1.8zM9 13l2 2 4-4'/%3E%3C/svg%3E");
}
.icon-shield{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 8.5-8 11-4.5-2.5-8-6-8-11V5l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 8.5-8 11-4.5-2.5-8-6-8-11V5l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
.icon-trash{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M19 6l-1 14a2 2 0 0 1-2 1.8H8A2 2 0 0 1 6 20L5 6M10 11v6M14 11v6'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M19 6l-1 14a2 2 0 0 1-2 1.8H8A2 2 0 0 1 6 20L5 6M10 11v6M14 11v6'/%3E%3C/svg%3E");
}
.icon-truck{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4h13v12H1zM14 8h4l3 3v5h-7'/%3E%3Ccircle cx='5.5' cy='17.5' r='1.5'/%3E%3Ccircle cx='18.5' cy='17.5' r='1.5'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4h13v12H1zM14 8h4l3 3v5h-7'/%3E%3Ccircle cx='5.5' cy='17.5' r='1.5'/%3E%3Ccircle cx='18.5' cy='17.5' r='1.5'/%3E%3C/svg%3E");
}
.icon-home{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8M5 10v10h14V10'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8M5 10v10h14V10'/%3E%3C/svg%3E");
}
.icon-phone{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}




/* ------- EXPANDED STEPS COMPONENT -------- */

/* ============================================================
   EXPANDED STEPS  (card-based process — HTML module)
   Wrapper classes:
     .xsteps                     base (3 across)
     .xsteps-1 / -2 / -4 / -5    step count (omit for 3)
     .xsteps--line               dashed connector between cards
   Icon classes reuse the .step-glyph / .icon-* library.
   Row background is handled separately (your row setting).
   ============================================================ */

.xsteps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.xsteps-1{ grid-template-columns:repeat(1,1fr); max-width:380px; margin-left:auto; margin-right:auto; }
.xsteps-2{ grid-template-columns:repeat(2,1fr); }
.xsteps-4{ grid-template-columns:repeat(4,1fr); }
.xsteps-5{ grid-template-columns:repeat(5,1fr); }

/* dashed connector — sits behind the cards, showing only in the gaps */
.xsteps--line::before{
  content:"";
  position:absolute;
  top:104px;                 /* aligns with icon-circle center inside cards */
  left:0; right:0;
  height:2px; z-index:0;
  background:repeating-linear-gradient(90deg, #d6e1ec 0 8px, transparent 8px 16px);
}
.xsteps--line.xsteps-1::before{ display:none; }

/* ---- Card ---- */
.xstep{
  position:relative;
  z-index:1;
  background:#ffffff;
  border:1px solid #e3ebf3;
  border-radius:18px;
  padding:32px 26px 30px;
  text-align:center;
  box-shadow:0 1px 2px rgba(10,35,66,0.04);
}

/* number badge — top-left corner, tinted square */
.xstep-badge{
  position:absolute;
  top:18px; left:18px;
  min-width:30px; height:30px;
  padding:0 8px;
  border-radius:9px;
  background:#e7f8f1;
  color:#0b8f66;
  display:flex; align-items:center; justify-content:center;
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-weight:700; font-size:15px;
}

/* icon circle */
.xstep-icon{
  width:64px; height:64px; margin:6px auto 22px;
  border-radius:50%;
  background:#e7f8f1;
  display:flex; align-items:center; justify-content:center;
}
.xstep-icon .step-glyph{ width:30px; height:30px; }

.xstep-title{
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:18px; line-height:1.2; font-weight:700;
  color:#11253b; margin:0 0 10px;
}
.xstep-text{
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:16px; line-height:1.55; color:#5a6c80;
  margin:0;
}

/* ---- Mobile ---- */
@media (max-width:900px){
  .xsteps,.xsteps-4,.xsteps-5{ grid-template-columns:repeat(2,1fr); }
  .xsteps--line::before{ display:none; }
}
@media (max-width:560px){
  .xsteps,.xsteps-2,.xsteps-4,.xsteps-5{ grid-template-columns:1fr; max-width:none; }
}




/* ===== TEST Callout Cards (BB Callout module: tcard + icon class; leave icon field empty) ===== */

/* Let lifted cards + shadows escape BB column/row clipping */
.tcard,
.tcard .fl-module-content{
  height:100%;
  overflow:visible;
}

/* Card shell + hover */
.tcard .fl-callout{
  position:relative;
  height:100%;
  box-sizing:border-box;
  padding:30px 28px;
  background:#ffffff;
  border:1px solid #e3ebf3;
  border-radius:18px;
  text-align:left;
  box-shadow:0 1px 2px rgba(10,35,66,0.04);
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tcard .fl-callout:hover{
  transform:translateY(-4px);
  border-color:#d2f0e2;
  box-shadow:0 18px 40px -22px rgba(10,35,66,0.28);
}

/* Icon tile */
.tcard .fl-callout::before{
  content:"";
  display:block;
  width:56px; height:56px;
  margin:0 0 22px;
  border-radius:14px;
  background-color:#f0f8f4;
  background-repeat:no-repeat;
  background-position:center;
  background-size:28px 28px;
}
.tcard .fl-callout:hover::before{ background-color:#d2f0e2; }

/* Corner glow */
.tcard .fl-callout::after{
  content:"";
  position:absolute;
  top:-55px; right:-55px;
  width:100px; height:100px;
  border-radius:50%;
  background:#dff3ea;
  z-index:0;
  opacity:0;
  transform:scale(.6);
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:none;
}
.tcard .fl-callout:hover::after{ opacity:1; transform:scale(1); }

/* Content above glow */
.tcard .fl-callout::before,
.tcard .fl-callout-title,
.tcard .fl-callout-text{ position:relative; z-index:1; }

.tcard .fl-callout-title{
  margin:0 0 10px;
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:21px; line-height:1.2; font-weight:700;
  color:#11253b;
}
.tcard .fl-callout-text{
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:16px; line-height:1.55; color:#5a6c80;
}

/* ===== Per-card icons ===== */
.tcard--zoom .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8f66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3M11 8v6M8 11h6'/%3E%3C/svg%3E"); }
.tcard--wind .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8f66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h12a3 3 0 1 0-3-3'/%3E%3Cpath d='M2 12h17a3 3 0 1 1-3 3'/%3E%3Cpath d='M2 16h9'/%3E%3C/svg%3E"); }
.tcard--particles .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8f66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Ccircle cx='8' cy='12' r='1'/%3E%3Ccircle cx='12' cy='10' r='1'/%3E%3Ccircle cx='15' cy='13' r='1'/%3E%3Ccircle cx='11' cy='14' r='1'/%3E%3C/svg%3E"); }
.tcard--grid .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8f66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='7' height='7' rx='1.6'/%3E%3Crect x='13.5' y='3.5' width='7' height='7' rx='1.6'/%3E%3Crect x='3.5' y='13.5' width='7' height='7' rx='1.6'/%3E%3Crect x='13.5' y='13.5' width='7' height='7' rx='1.6'/%3E%3C/svg%3E"); }
.tcard--pipe .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8f66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h9a3 3 0 0 1 3 3v4'/%3E%3Cpath d='M4 5v4M2 7h4'/%3E%3Ccircle cx='16' cy='16.5' r='1.4'/%3E%3C/svg%3E"); }
.tcard--sun .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8f66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2 2M17 17l2 2M19 5l-2 2M7 17l-2 2'/%3E%3C/svg%3E"); }



/* ===== SIDE COLUMN CARDS (BB Callout module: scard + icon class; leave icon field empty) ===== */

/* Let lifted cards + shadows escape BB column/row clipping */
.scard,
.scard .fl-module-content{
  height:100%;
  overflow:visible;
}

/* Card shell + hover */
.scard .fl-callout{
  position:relative;
  height:100%;
  box-sizing:border-box;
  padding:26px 24px;
  background:#ffffff;
  border:1px solid #e3ebf3;
  border-radius:16px;
  text-align:left;
  box-shadow:0 1px 2px rgba(10,35,66,0.04);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.scard .fl-callout:hover{
  transform:translateY(-4px);
  border-color:#d2f0e2;
  box-shadow:0 18px 40px -22px rgba(10,35,66,0.28);
}

/* Navy icon tile (green glyph) */
.scard .fl-callout::before{
  content:"";
  display:block;
  width:52px; height:52px;
  margin:0 0 20px;
  border-radius:13px;
  background-color:#0a2342;
  background-repeat:no-repeat;
  background-position:center;
  background-size:26px 26px;
}

.scard .fl-callout-title{
  margin:0;
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:18px; line-height:1.2; font-weight:700;
  color:#11253b;
}
.scard .fl-callout-text{
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:15px; line-height:1.5; color:#5a6c80;
}

/* ===== Icon library (green stroke #16c592 on navy tile) ===== */
.scard--building .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='1'/%3E%3Cpath d='M9 7h2M9 11h2M9 15h2M14 7h1M14 11h1M14 15h1'/%3E%3C/svg%3E"); }
.scard--hospital .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V7l7-4 7 4v14'/%3E%3Cpath d='M12 7v6M9 10h6'/%3E%3Cpath d='M9 21v-4h6v4'/%3E%3C/svg%3E"); }
.scard--industrial .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V10l6 4V10l6 4V6l6 3v12z'/%3E%3C/svg%3E"); }
.scard--landmark .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V11M9 21V11M15 21V11M19 21V11M3 11h18L12 4z'/%3E%3C/svg%3E"); }
.scard--home .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8M5 10v10h14V10'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E"); }
.scard--tag .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4a1 1 0 0 1 1-1h8l9 9-9 9z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.3'/%3E%3C/svg%3E"); }
.scard--doc .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E"); }
.scard--shield .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 8.5-8 11-4.5-2.5-8-6-8-11V5l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.scard--keys .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='5'/%3E%3Cpath d='M11.5 11.5L21 21M16 16l3-3M19 19l2-2'/%3E%3C/svg%3E"); }
.scard--handshake .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12l4-4 5 4 2-2 5 5-3 3-4-3M6 8l3-3 4 3'/%3E%3C/svg%3E"); }
.scard--family .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.2'/%3E%3Cpath d='M3 20v-1a5 5 0 0 1 10 0v1M14 20v-1a4 4 0 0 1 7-2.6'/%3E%3C/svg%3E"); }
.scard--clipboard .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v3M14 3v3M5 8h14l-1.2 11a2 2 0 0 1-2 1.8H8.2a2 2 0 0 1-2-1.8zM9 13l2 2 4-4'/%3E%3C/svg%3E"); }
.scard--search .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E"); }
.scard--scale .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M7 21h10M5 7h14M5 7l-2.5 6h5zM19 7l-2.5 6h5z'/%3E%3C/svg%3E"); }
.scard--calendar .fl-callout::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316c592' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M9 16l2 2 4-4'/%3E%3C/svg%3E"); }




/* ===== TESTIMONIAL CARDS (HTML module) — class: treviews + count ===== */
.treviews{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.treviews-1{ grid-template-columns:minmax(0,560px); justify-content:center; }
.treviews-2{ grid-template-columns:repeat(2,1fr); }
.treviews-4{ grid-template-columns:repeat(2,1fr); }
.treviews-5{ grid-template-columns:repeat(3,1fr); }

.treview{
  position:relative;
  background:#ffffff;
  border:1px solid #e3ebf3;
  border-radius:18px;
  padding:32px 28px 26px;
  box-shadow:0 1px 2px rgba(16,37,59,.06), 0 2px 8px rgba(16,37,59,.05);
}

/* Decorative quote glyph, top-right */
.treview-quote{
  position:absolute;
  top:22px; right:24px;
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-size:72px;
  line-height:.6;
  color:#d2f0e2;
  pointer-events:none;
}

/* Gold stars */
.treview-stars{
  display:flex;
  gap:2px;
  margin-bottom:14px;
}
.treview-stars svg{ width:18px; height:18px; fill:#f4a623; }

/* Body */
.treview-body{
  position:relative;
  z-index:1;
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:16px;
  line-height:1.6;
  font-style:italic;
  color:#33485c;
  margin:0 0 22px;
}

/* 5 gold stars, drawn before the body — no markup needed */
.treview-body::before{
  content:"";
  display:block;
  width:108px;
  height:18px;
  margin-bottom:14px;
  background-repeat:repeat-x;
  background-size:21px 18px;   /* 18px star + 3px gap */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%23f4a623'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
}

/* Author block */
.treview-who{
  display:flex;
  align-items:center;
  gap:12px;
}
.treview-avatar{
  flex:none;
  width:44px; height:44px;
  border-radius:50%;
  background:linear-gradient(150deg, #13386a, #0a2342);
  color:#ffffff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Bricolage Grotesque', Georgia, serif;
  font-weight:700;
  font-size:17px;
}
.treview-name{
  display:block;
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-weight:700;
  font-size:15px;
  color:#11253b;
  line-height:1.3;
}
.treview-meta{
  display:block;
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  font-size:13px;
  color:#5a6c80;
  line-height:1.3;
}

/* Mobile */
@media (max-width:880px){
  .treviews,.treviews-2,.treviews-4,.treviews-5{ grid-template-columns:1fr; }
  .treviews-1{ grid-template-columns:1fr; }
}


/* ===== In-content checklist (Text module class: check-list) ===== */
.check-list ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:13px;
}
.check-list li{
  position:relative;
  margin:0;
  padding:1px 0 0 38px;
  min-height:25px;
  display:flex;
  align-items:center;
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:500;
  color:#33485c;
}
.check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:25px;
  height:25px;
  border-radius:7px;
  background-color:#e7f8f1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%230b8f66' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
}






/* ---- Closing CTA Section ---- */

/* Eyebrow on the final navy section — brighter green + lead-in */
.eyebrow-light p{
  color:#16c592;
}
.eyebrow-light p::before{
  background:#16c592;
}


/* Final-section microcopy with shield icon (Text module class: final-micro) */
.final-micro p{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  font-family:'Hanken Grotesk', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:15px;
  line-height:1.4;
  color:#9fb1c4;
}
.final-micro p::before{
  content:"";
  width:16px; height:16px; flex:none;
  background-color:#16c592;
  -webkit-mask:no-repeat center / contain;
          mask:no-repeat center / contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 8.5-8 11-4.5-2.5-8-6-8-11V5l8-3z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 8.5-8 11-4.5-2.5-8-6-8-11V5l8-3z'/%3E%3C/svg%3E");
}

/* --- Jude --- */