/*************
  HEADER LOGO (keep)
*************/
.elementor-location-header img {
  height: 90px !important;     /* adjust 72–100px */
  width: auto !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
}
.elementor-location-header { min-height: 100px !important; line-height:1 !important; }

/*************
  ICON ROW (add class "icons-row" to that section)
*************/
.icons-row .elementor-widget-image img {
  width: auto !important;
  height: 120px !important;       /* 100–140px to taste */
  display: inline-block !important;
  background-color: #4DA1FF;      /* default light blue */
  border-radius: 50%;
  padding: 24px;
  box-sizing: content-box;
  transition: background-color .25s ease, transform .25s ease;
}
.icons-row .elementor-column:nth-child(2) .elementor-widget-image img,
.icons-row .elementor-column:nth-child(4) .elementor-widget-image img {
  background-color: #FFD166;      /* alternate to gold */
}
.icons-row .elementor-widget-image img:hover {
  background-color: #CC9A00;      /* dark gold hover */
  transform: translateY(-2px);
}
.icons-row .elementor-widget-heading,
.icons-row .elementor-widget-text-editor { text-align: center; }

/*************
  BLOG ROW (add class "blog-row" to the blog teasers section)
*************/
.blog-row .elementor-widget-image img {
  display: block;
  margin: 0 auto 22px auto;       /* pushes titles down so rings don’t overlap */
  border-radius: 50%;
  /* optional ring: uncomment below */
  /* border: 12px solid #4DA1FF; */
  overflow: hidden;
}

/*************
  FOOTER COLORS
*************/
footer.site-footer, footer {
  background: #0B2545;   /* navy */
  color: #ffffff;
  border-top: 4px solid #4DA1FF;
}
footer a, footer p, footer li,
footer .elementor-widget, footer .elementor-widget-text-editor { color: #ffffff; }
footer a { color: #FFD166; }
footer a:hover { color: #CC9A00; }

/* icons section styling by class */
.icons-row .elementor-widget-image img,
.icons-row .elementor-widget-image-box img{
  height:120px !important; width:auto !important;
  background:#4DA1FF; border-radius:50%; padding:24px; box-sizing:content-box;
  display:inline-block; transition:background-color .25s ease, transform .25s ease;
}

/* alternate colors for columns 2 and 4 */
.icons-row .elementor-column:nth-child(2) .elementor-widget-image img,
.icons-row .elementor-column:nth-child(2) .elementor-widget-image-box img,
.icons-row .elementor-column:nth-child(4) .elementor-widget-image img,
.icons-row .elementor-column:nth-child(4) .elementor-widget-image-box img{
  background:#FFD166;
}

.icons-row .elementor-widget-image img:hover,
.icons-row .elementor-widget-image-box img:hover{
  background:#CC9A00; transform:translateY(-2px);
}

/* center the titles/paragraphs under icons */
.icons-row .elementor-widget-heading,
.icons-row .elementor-widget-text-editor{ text-align:center; }
/*************
  BLOG ROW – circular image rings (keep other CSS untouched)
*************/
.blog-row{
  --ring-size: clamp(180px, 18vw, 260px); /* circle diameter */
  --ring-thickness: 12px;                 /* ring/border thickness */
  --ring-blue: #4DA1FF;
  --ring-gold: #FFD166;
}

/* Turn the image wrapper into a perfect circular frame with blue ring */
.blog-row :is(.elementor-widget-image,
              .elementor-widget-image-box,
              .elementor-widget-icon-box)
       :is(a, figure, .elementor-image-box-img, .elementor-icon){
  width: var(--ring-size) !important;
  height: var(--ring-size) !important;
  border-radius: 50% !important;
  border: var(--ring-thickness) solid var(--ring-blue) !important;
  overflow: hidden !important;
  background: transparent !important;     /* kill any blue/oval fills */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 22px auto !important;    /* centers above titles */
  box-shadow: none !important;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

/* Make the image fill and center inside the circle */
.blog-row :is(.elementor-widget-image,
              .elementor-widget-image-box,
              .elementor-widget-icon-box)
       :is(a, figure, .elementor-image-box-img, .elementor-icon) img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 50% !important;
  display: block !important;
}

/* Hover: blue ring → gold (image unchanged) */
.blog-row :is(.elementor-widget-image,
              .elementor-widget-image-box,
              .elementor-widget-icon-box):hover
       :is(a, figure, .elementor-image-box-img, .elementor-icon){
  border-color: var(--ring-gold) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

/* Remove stray backgrounds inside the blog row only */
.blog-row :is(.elementor-widget-image,
              .elementor-widget-image-box,
              .elementor-widget-icon-box,
              .elementor-column,
              .elementor-container){
  background: transparent !important;
}
/* ===== Franchise Fit Finder Styles ===== */

/* Bullet list (under "Your full profile reveals") */
.fff-bullets-wrap { text-align: center; }

.fff-bullets-wrap > ul,
ul.fff-bullets {
  display: inline-block;         /* centers the list */
  text-align: left;              /* keeps text left-aligned inside */
  list-style: none;
  max-width: 640px;              /* match CTA/preview width */
  padding: 0;
  margin: 24px auto 40px;
}

.fff-bullets-wrap > ul > li,
ul.fff-bullets > li {
  position: relative;
  padding-left: 28px;
  margin: 14px 0;
  font-size: 17px;
  line-height: 1.55;
  color: #333;
}

.fff-bullets-wrap > ul > li::before,
ul.fff-bullets > li::before {
  content: "★";
  position: absolute;
  left: 0;
  top: .1em;
  color: #FFD166;
  font-size: 18px;
}

/* CTA + Preview Block */
.fff-cta-block {
  text-align:center;
  max-width:980px;
  margin:0 auto;
  padding:0 16px;
}

/* Hook line above the button */
.fff-hook {
  margin: 12px 0 28px;
  font-size: 18px;
  line-height: 1.5;
  color:#0B2545;
}

/* CTA button */
.fff-cta-btn {
  display:inline-block;
  background:#FFD166;
  color:#0B2545;
  font-weight:800;
  font-size: clamp(20px, 3.2vw, 34px);
  padding:18px 28px;
  border-radius:28px;
  text-decoration:none;
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
  transition: transform .06s ease, box-shadow .2s ease, background .2s ease;
}
.fff-cta-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.10);
  background:#FEC84B;
}

/* Reassurance line under button */
.fff-reassure {
  margin: 10px 0 40px;
  color:#6b7280;
  font-size:15px;
}

/* Preview image */
.fff-preview { margin: 60px auto 55px; }
.fff-preview img {
  max-width: 540px;
  width: 100%;
  height:auto;
  border:4px solid #2d3748;
  border-radius:4px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.12);
}
.fff-caption {
  margin-top: 12px;
  color:#6b7280;
  font-size:14px;
}

/* Credibility line */
.fff-cred {
  margin: 45px 0 0;
  font-weight:700;
  color:#0B2545;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.4;
}
.fff-cred .fff-nb { white-space: nowrap; }

/* Small screens */
@media (max-width: 640px){
  .fff-preview { margin: 48px auto 46px; }
  .fff-reassure { margin-bottom: 32px; }
}
/* === ICONS ROW — Image Box exact centering === */
.icons-row { --icon-diameter: 220px; } /* adjust 180–240px if needed */

/* Make the Image Box wrapper the circle AND a flex center */
.icons-row .elementor-widget-image-box .elementor-image-box-wrapper .elementor-image-box-img{
  width: var(--icon-diameter) !important;
  height: var(--icon-diameter) !important;
  border-radius: 50% !important;
  background: #4DA1FF !important;                       /* default blue */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px !important;
  line-height: 0 !important;                             /* kill baseline gap */
  font-size: 0 !important;
  box-sizing: border-box !important;
  transition: background-color .25s ease, transform .25s ease;
}

/* Alternate color for columns 2 & 4 */
.icons-row .elementor-column:nth-child(2) .elementor-image-box-img,
.icons-row .elementor-column:nth-child(4) .elementor-image-box-img{
  background: #FFD166 !important;                        /* gold */
}

/* The actual icon (SVG/PNG) inside the circle */
.icons-row .elementor-widget-image-box .elementor-image-box-wrapper .elementor-image-box-img img{
  width: 72% !important;
  height: 72% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;                             /* no inline gap */
  margin: 0 auto !important;
  transform: translateY(var(--icon-nudge, 0%)) !important;/* micro-adjust */
}

/* Micro-nudges for icons with extra bottom whitespace (tweak as needed) */
.icons-row .elementor-column:nth-child(1) .elementor-image-box-img{ --icon-nudge: -1%; } /* target */
.icons-row .elementor-column:nth-child(2) .elementor-image-box-img{ --icon-nudge: -2%; } /* bulb */
.icons-row .elementor-column:nth-child(3) .elementor-image-box-img{ --icon-nudge: -4%; } /* clipboard */
.icons-row .elementor-column:nth-child(4) .elementor-image-box-img{ --icon-nudge: -2%; } /* chart */

/* Hover */
.icons-row .elementor-widget-image-box .elementor-image-box-wrapper .elementor-image-box-img:hover{
  background: #CC9A00 !important;
  transform: translateY(-2px);
}

/* Center text under icons (extra specificity) */
.icons-row .elementor-widget-image-box .elementor-image-box-title,
.icons-row .elementor-widget-image-box .elementor-image-box-description{
  text-align: center !important;
}
/* === BLOG CIRCLES — perfect round, dead-centered images === */
/* Works for sections you tag with blog-circles (and also supports blog-row) */
.blog-circles,
.blog-row{
  --ring-size: clamp(180px, 18vw, 260px);
  --ring-thickness: 12px;
  --ring-blue: #4DA1FF;
  --ring-gold: #FFD166;
}

/* Make the frame a true 1:1 circle and create the ring */
.blog-circles :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon),
.blog-row :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon){
  position: relative !important;
  width: var(--ring-size) !important;
  aspect-ratio: 1 / 1 !important;        /* guarantees a square at all sizes */
  height: auto !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin: 0 auto 22px auto !important;
  background: #fff !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

/* Draw the ring with a pseudo-element so the image can fill edge to edge */
.blog-circles :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon)::after,
.blog-row :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon)::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 var(--ring-thickness) var(--ring-blue) inset; /* blue ring */
  pointer-events: none;
  transition: box-shadow .25s ease, transform .25s ease;
}

/* === BLOG CIRCLES — perfect round frames, centered images, no halos === */
/* Tag the section with class: blog-circles (works for blog-row too) */
.blog-circles,
.blog-row{
  --ring-size: clamp(180px, 18vw, 260px);   /* diameter of the circle */
  --ring-thickness: 12px;                   /* ring thickness */
  --ring-blue: #4DA1FF;                     /* default ring color */
  --ring-gold: #FFD166;                     /* hover ring color */
}

/* 1) Make the frame a true 1:1 round wrapper */
.blog-circles :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon),
.blog-row :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon){
  position: relative !important;
  width: var(--ring-size) !important;
  aspect-ratio: 1 / 1 !important;          /* guarantees perfect square */
  height: auto !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin: 0 auto 22px auto !important;
  background: #fff !important;
  line-height: 0 !important;
  font-size: 0 !important;
  border: 0 !important;                     /* kill any existing borders */
  box-shadow: none !important;              /* kill any default shadows */
}

/* 2) Draw the ring with a pseudo-element (default = blue) */
.blog-circles :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon)::after,
.blog-row :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon)::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 var(--ring-thickness) var(--ring-blue) inset;
  pointer-events: none;
  transition: box-shadow .25s ease, transform .25s ease;
}

/* 3) Image fills the circle and stays centered */
.blog-circles :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon) img,
.blog-row :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box)
  :is(a, figure, .elementor-image-box-img, .elementor-icon) img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transform: translateY(var(--shift-y, 0%)) !important; /* optional micro nudge */
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 4) Hover: blue ring → gold */
.blog-circles :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box):hover
  :is(a, figure, .elementor-image-box-img, .elementor-icon)::after,
.blog-row :is(.elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box):hover
  :is(a, figure, .elementor-image-box-img, .elementor-icon)::after{
  box-shadow: 0 0 0 var(--ring-thickness) var(--ring-gold) inset;
  transform: translateY(-2px);
}

/* 5) Hard reset: remove ANY halo/shadow/border from parent wrappers */
.blog-circles :is(.elementor-widget, .elementor-widget-container, .elementor-image, .elementor-image-box, .elementor-icon-box,
                  .elementor-widget-image, .elementor-widget-image-box, .elementor-widget-icon-box,
                  .elementor-column, .elementor-widget-wrap){
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}

/* 6) Optional per-card vertical micro-adjusts (if a photo feels low/high) */
.blog-circles .elementor-column:nth-child(1) img{ --shift-y: 0%; }
.blog-circles .elementor-column:nth-child(2) img{ --shift-y: -2%; }
.blog-circles .elementor-column:nth-child(3) img{ --shift-y: -2%; }
.blog-circles .elementor-column:nth-child(4) img{ --shift-y: 0%; }
#about, #quiz, #blog { scroll-margin-top: 110px; } /* adjust to your header height */
html { scroll-behavior: auto; } /* prevents theme smooth-scroll fighting our script */
/******************************
 FFF — Global Tokens
******************************/
:root{
  --fff-navy:#0B2545;
  --fff-blue:#4DA1FF;
  --fff-gold:#FFD166;
  --fff-ink:#1A1F36;
  --fff-muted:#6B7280;
  --fff-bg:#F7FAFF;
  --fff-white:#FFFFFF;
  --fff-radius:18px;
  --fff-gap:24px;
  --fff-shadow:0 10px 24px rgba(11,37,69,.12);
  --fff-shadow-strong:0 14px 32px rgba(11,37,69,.18);
}

/* Utility (optional but handy) */
.fff-center{text-align:center;}
.fff-max{max-width:1200px;margin-inline:auto;}
.fff-hide-mobile{display:block;}
@media(max-width:767px){.fff-hide-mobile{display:none;}}

/******************************
 Broker Services Section (container class: fff-broker)
******************************/
.fff-broker{
  background:linear-gradient(180deg,var(--fff-bg) 0%, #fff 60%);
  padding:72px 20px;
  border-radius: var(--fff-radius);
  box-shadow: var(--fff-shadow);
  position:relative;
  overflow:hidden;
}

/* Free badge */
.fff-broker .fff-badge{
  position:absolute; top:18px; right:-42px;
  background:var(--fff-gold); color:#3A2E00;
  padding:10px 56px; font-weight:700; letter-spacing:.6px;
  transform:rotate(35deg);
  box-shadow:0 6px 18px rgba(255,209,102,.35);
}

/* Section heading */
.fff-broker .fff-title{
  color:var(--fff-navy);
  font-size:clamp(28px,4vw,44px);
  line-height:1.1; margin:0 0 10px;
  text-align:center;
  font-weight:800;
}
.fff-broker .fff-subtitle{
  color:var(--fff-muted);
  font-size:clamp(16px,2.2vw,18px);
  text-align:center; margin:0 auto 36px;
  max-width:800px;
}

/* Steps grid */
.fff-broker .fff-steps{
  display:grid; gap:var(--fff-gap);
  grid-template-columns:repeat(4,1fr);
  margin: 12px auto 28px; max-width:1100px;
}
@media(max-width:1024px){
  .fff-broker .fff-steps{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .fff-broker .fff-steps{grid-template-columns:1fr;}
}

/* Step card */
.fff-broker .fff-step{
  background:var(--fff-white);
  border:1px solid #E8EEF7;
  border-radius:var(--fff-radius);
  padding:22px 20px 22px 20px;
  box-shadow: var(--fff-shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.fff-broker .fff-step:hover{
  transform:translateY(-3px);
  box-shadow: var(--fff-shadow-strong);
}

/* Step header row */
.fff-broker .fff-step-head{
  display:flex; align-items:center; gap:14px; margin-bottom:10px;
}

/* Number pill */
.fff-broker .fff-num{
  min-width:38px; height:38px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: radial-gradient(120% 120% at 30% 20%, var(--fff-blue), #2C6BB2);
  color:#fff; font-weight:800; font-size:16px; box-shadow:0 6px 16px rgba(77,161,255,.35);
}

/* Step title + text */
.fff-broker .fff-step-title{
  margin:0; color:var(--fff-ink); font-weight:800; font-size:18px;
}
.fff-broker .fff-step p{
  margin:8px 0 0; color:var(--fff-muted); font-size:16px; line-height:1.55;
}

/* Divider line between grid and benefits */
.fff-broker .fff-divider{
  height:1px; background:linear-gradient(90deg,transparent, #D7E6FA, transparent);
  margin:28px auto; max-width:920px;
}

/* Benefits list (with check icons) */
.fff-broker .fff-benefits{
  display:flex; flex-wrap:wrap; gap:14px 18px; justify-content:center;
  margin:0 auto 30px; max-width:1000px;
}
.fff-broker .fff-benefits .fff-chip{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:999px;
  background:#EFF6FF; border:1px solid #DBEAFE; color:#0B2545; font-weight:600;
}
.fff-broker .fff-chip:before{
  content:"✓"; font-weight:900; color:#1456A8;
}

/* CTA area */
.fff-broker .fff-cta{
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.fff-broker .fff-btn{
  appearance:none; border:0; cursor:pointer;
  padding:16px 28px; border-radius:999px;
  background:linear-gradient(180deg,var(--fff-gold), #F3C24E);
  color:#2B1E00; font-weight:800; font-size:18px;
  box-shadow:0 10px 22px rgba(255,209,102,.35), inset 0 -2px 0 rgba(0,0,0,.08);
  transition:transform .15s ease, box-shadow .15s ease;
  text-decoration:none; display:inline-flex; align-items:center; gap:10px;
}
.fff-broker .fff-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 26px rgba(255,209,102,.45), inset 0 -2px 0 rgba(0,0,0,.1);}
.fff-broker .fff-cta-note{ color:var(--fff-muted); font-size:14px; }

/******************************
 Broker Page Hero (optional)
 container class: fff-broker-hero
******************************/
.fff-broker-hero{
  background:linear-gradient(135deg, #e9f3ff 0%, #ffffff 60%);
  border:1px solid #E6EEF8; border-radius:var(--fff-radius);
  padding:60px 20px; box-shadow: var(--fff-shadow);
}
.fff-broker-hero h1{
  font-size:clamp(34px,5.2vw,56px); line-height:1.05; color:var(--fff-navy); margin:0 0 8px; font-weight:900;
}
.fff-broker-hero p{
  color:var(--fff-muted); font-size:18px; max-width:860px;
}
.fff-broker-hero .fff-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:18px;}
.fff-broker-hero .fff-btn--outline{
  border:2px solid var(--fff-blue); color:#0B2545; background:transparent; box-shadow:none;
}
.fff-broker-hero .fff-btn--outline:hover{ background:#E8F1FF; }

/******************************
 Trust row (logos or stats)
 container class: fff-trust
******************************/
.fff-trust{
  display:flex; flex-wrap:wrap; gap:22px; justify-content:center;
  padding:20px 0; opacity:.9;
}
.fff-trust .fff-trust-item{
  background:#fff; border:1px solid #E8EEF7; border-radius:12px; padding:12px 16px;
  box-shadow: var(--fff-shadow);
  font-weight:700; color:var(--fff-navy);
}

/******************************
 FAQ tweaks (use on Broker page FAQ)
******************************/
.fff-faq .elementor-tab-title{
  border-radius:12px !important; border:1px solid #E8EEF7 !important;
  background:#FAFCFF !important; font-weight:700 !important; color:var(--fff-navy) !important;
}
.fff-faq .elementor-tab-content{
  background:#fff !important; border:1px solid #E8EEF7 !important; border-top:none !important;
  border-radius:0 0 12px 12px !important;
}

/******************************
 Small accessibility & link polish
******************************/
.fff-broker a, .fff-broker-hero a{ text-decoration:none; }
.fff-broker a:focus-visible, .fff-broker-hero a:focus-visible{
  outline:3px solid #9EC9FF; outline-offset:2px; border-radius:12px;
}
/* Step Section Layout */
.fff-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin: 40px 0;
}

.fff-step {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  transition: transform 0.2s ease;
}

.fff-step:hover {
  transform: translateY(-5px);
}

/* Number Pill */
.fff-num {
  width: 36px;
  height: 36px;
  background: #FFD166;
  color: #0B2545;
  font-weight: bold;
  font-size: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

/* Title + Text */
.fff-step-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px;
}

.fff-step p {
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}
/* Make number + title sit inline */
.fff-step-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 10px;
}

/* Number pill (inline version) */
.fff-step-head .fff-num{
  width:36px; height:36px;
  border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:#FFD166; color:#0B2545;
  font-weight:800; font-size:16px; line-height:1;
  margin:0; /* remove the bottom margin from your earlier rule */
}

/* Title next to the pill */
.fff-step-head .fff-step-title{
  margin:0;                  /* kill default H3 top margin */
  font-size:20px;            /* bump slightly if you like */
  font-weight:800;
  color:#0B2545;
}

/* Grid polish: centered, comfy gaps, responsive */
.fff-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  max-width:1100px;          /* keeps cards from getting too wide/narrow */
  margin:24px auto 36px;     /* center the grid in the section */
}

@media (max-width:1024px){
  .fff-steps{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .fff-steps{ grid-template-columns:1fr; }
}

/* Card tidy + equal-ish feel */
.fff-step{
  background:#fff;
  border-radius:12px;
  padding:20px;
  box-shadow:0 4px 10px rgba(0,0,0,.05);
  transition:transform .2s ease;
  display:flex; flex-direction:column; gap:8px;
}

.fff-step:hover{ transform:translateY(-4px); }

.fff-step p{
  font-size:15px; line-height:1.55; margin:0;
}
.fff-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  max-width: 1400px;   /* wider than before */
  margin: 40px auto;   /* center horizontally */
}
.fff-step-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;   /* allow long titles to wrap naturally */
}

.fff-step-head .fff-num {
  flex: 0 0 auto;    /* number circle stays fixed size */
}

.fff-step-title {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  color: #0B2545;
  line-height: 1.3;
  white-space: normal; /* ✅ let text wrap */
}

}
/* Force the step number to be a perfect circle, every time */
.fff-step-head .fff-num{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  font-weight:800;
  font-size:16px;
  background:#FFD166;
  color:#0B2545;
  box-shadow:none;
  border:none;
}
/* === FFF Broker Steps — FINAL OVERRIDES === */

/* Make the grid wide, centered, and responsive. 
   This beats any earlier .fff-broker .fff-steps or theme rules. */
.fff-broker .fff-steps,
.fff-steps{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:32px !important;
  max-width:1400px !important;
  width:100% !important;
  margin:40px auto !important;
}

/* Tablet & mobile */
@media (max-width:1024px){
  .fff-broker .fff-steps,
  .fff-steps{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width:640px){
  .fff-broker .fff-steps,
  .fff-steps{ grid-template-columns:1fr !important; }
}

/* Card */
.fff-step{
  background:#fff !important;
  border-radius:12px !important;
  padding:20px !important;
  box-shadow:0 4px 10px rgba(0,0,0,.05) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  height:100%;
}

/* Number + title row: allow long titles to wrap */
.fff-step-head{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;           /* ← fixes “Franchise Matchmaking” bleed */
  margin:0 0 8px !important;
}

/* Force perfect number circle */
.fff-step-head .fff-num{
  width:36px !important; height:36px !important;
  min-width:36px !important; min-height:36px !important;
  padding:0 !important; border-radius:999px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  line-height:1 !important; font-weight:800 !important; font-size:16px !important;
  background:#FFD166 !important; color:#0B2545 !important;
  border:none !important; box-shadow:none !important;
}

/* Title */
.fff-step-title{
  margin:0 !important;
  font-size:20px !important; font-weight:800 !important; line-height:1.3 !important;
  color:#0B2545 !important;
  white-space:normal !important;       /* allow wrapping */
  max-width:100% !important;
}

/* Paragraph */
.fff-step p{ margin:0 !important; line-height:1.55 !important; font-size:15px !important; }
/* === FFF Broker Steps — FINAL CLEAN RESET === */

/* Parent grid */
.fff-broker .fff-steps,
.fff-steps {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
  max-width: 1400px !important;
  width: 100% !important;
  margin: 40px auto !important;
  align-items: stretch !important;
}

/* Reset flex/widths from Elementor */
.fff-steps > * {
  width: auto !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
}

/* Responsive */
@media (max-width: 1024px) {
  .fff-broker .fff-steps,
  .fff-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .fff-broker .fff-steps,
  .fff-steps {
    grid-template-columns: 1fr !important;
  }
}

/* Card styling */
.fff-step {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  height: 100% !important;
  min-height: 0 !important;
}

/* Number + title row */
.fff-step-head {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 0 8px !important;
}

/* Number pill */
.fff-step-head .fff-num {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FFD166 !important;
  color: #0B2545 !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* Title + text */
.fff-step-title {
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0B2545 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}
.fff-step p {
  margin: 0 !important;
  line-height: 1.55 !important;
  font-size: 15px !important;
}
/* Force child cards to auto-size inside the grid */
.fff-steps > .elementor-container,
.fff-steps > .elementor-widget-container,
.fff-steps > * {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}
.fff-video video {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

@media (max-width: 768px) {
  .fff-video video {
    height: 220px;
  }
}
/* ---------------------------
   GLOBAL ELEMENTOR SPACING
   --------------------------- */

/* 1. Normalize vertical padding on all top-level Elementor sections */
body.elementor-page .elementor-section.elementor-top-section {
    padding-top: 60px;
    padding-bottom: 60px;
}

/* 2. Reduce the space between the header and the FIRST section on each page */
body.elementor-page .elementor-section.elementor-top-section:first-of-type {
    padding-top: 25px;
}

/* 3. Remove unintended margins between sections */
body.elementor-page .elementor-top-section + .elementor-top-section {
    margin-top: 0 !important;
}

/* 4. If any section feels too tight/loose, we can override it with a class */
body.elementor-page .elementor-section.no-padding-top {
    padding-top: 0 !important;
}
body.elementor-page .elementor-section.no-padding-bottom {
    padding-bottom: 0 !important;
}
/* ----------------------------------
   HERO BUTTON: GOLD GLOW ON HOVER
   ---------------------------------- */

.hero-btn {
    transition: all 0.25s ease-in-out !important;
    box-shadow: 0 0 0 rgba(255, 209, 102, 0); /* no glow by default */
}

.hero-btn:hover {
    transform: translateY(-3px); /* slight lift */
    box-shadow: 0 0 22px rgba(255, 209, 102, 0.8), 
                0 0 12px rgba(255, 209, 102, 0.6);
}

/* =========================================================
FRANCHISE FIT FINDER™ — PROFESSIONAL ATHLETE PAGE
All styles are scoped to .fff-athlete-page
========================================================= */

.fff-athlete-page {
  --fff-navy: #0B2545;
  --fff-blue: #4DA1FF;
  --fff-gold: #FFD166;
  --fff-white: #FFFFFF;
  --fff-text: #0B2545;
  --fff-muted: #2F4057;
  --fff-light: #F4F8FC;
  --fff-border: #DCE7F2;
  --fff-shadow: 0 18px 50px rgba(11, 37, 69, 0.12);

  background: var(--fff-white);
  color: var(--fff-text);
  font-family: inherit;
  font-size: 18px;
  line-height: 1.7;
  overflow: hidden;
}

.fff-athlete-page *,
.fff-athlete-page *::before,
.fff-athlete-page *::after {
  box-sizing: border-box;
}

.fff-athlete-page h1,
.fff-athlete-page h2,
.fff-athlete-page h3,
.fff-athlete-page h4,
.fff-athlete-page p,
.fff-athlete-page ul,
.fff-athlete-page ol {
  margin-top: 0;
}

.fff-athlete-page h1,
.fff-athlete-page h2,
.fff-athlete-page h3,
.fff-athlete-page h4 {
  color: var(--fff-navy);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.fff-athlete-page h1 {
  max-width: 980px;
  margin-bottom: 24px;
  font-size: clamp(2.6rem, 6vw, 5.4rem);
}

.fff-athlete-page h2 {
  margin-bottom: 22px;
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.fff-athlete-page h3 {
  margin-bottom: 14px;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.fff-athlete-page h4 {
  margin: 24px 0 10px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.fff-athlete-page p {
  margin-bottom: 20px;
}

.fff-athlete-page a {
  color: var(--fff-navy);
  text-underline-offset: 4px;
}

.fff-container {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.fff-section {
  padding: clamp(76px, 9vw, 128px) 0;
}

.fff-section-light {
  background: var(--fff-light);
}

.fff-section-navy {
  position: relative;
  background:
    radial-gradient(
      circle at top right,
      rgba(77, 161, 255, 0.19),
      transparent 34%
    ),
    var(--fff-navy);
  color: var(--fff-white);
}

.fff-section-navy h2,
.fff-section-navy h3,
.fff-section-navy h4 {
  color: var(--fff-white);
}


/* EYEBROWS */

.fff-eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--fff-blue);
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.fff-eyebrow-gold {
  color: var(--fff-gold);
}


/* HERO */

.fff-hero {
  position: relative;
  padding: clamp(90px, 10vw, 150px) 0;
  background:
    linear-gradient(
      110deg,
      rgba(11, 37, 69, 0.98) 0%,
      rgba(11, 37, 69, 0.94) 55%,
      rgba(11, 37, 69, 0.86) 100%
    );
  color: var(--fff-white);
}

.fff-hero::before {
  position: absolute;
  top: -180px;
  right: -140px;
  width: 540px;
  height: 540px;
  border: 1px solid rgba(77, 161, 255, 0.24);
  border-radius: 50%;
  content: "";
}

.fff-hero::after {
  position: absolute;
  right: 8%;
  bottom: -240px;
  width: 460px;
  height: 460px;
  border: 80px solid rgba(255, 209, 102, 0.05);
  border-radius: 50%;
  content: "";
}

.fff-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: clamp(50px, 7vw, 100px);
  align-items: center;
}

.fff-hero h1,
.fff-hero h2 {
  color: var(--fff-white);
}

.fff-hero-content > p:not(.fff-eyebrow):not(.fff-hero-subtitle) {
  max-width: 800px;
  color: rgba(255, 255, 255, 0.88);
}

.fff-hero-subtitle {
  margin-bottom: 26px;
  color: var(--fff-gold);
  font-size: clamp(1.45rem, 2.5vw, 2.1rem);
  font-weight: 800;
  line-height: 1.25;
}

.fff-hero-card {
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.09);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(12px);
}

.fff-card-label {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--fff-gold);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.fff-hero-card h2 {
  font-size: clamp(1.5rem, 2.5vw, 2.15rem);
}

.fff-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 30px 0;
}

.fff-stat {
  min-height: 112px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.07);
}

.fff-stat strong,
.fff-stat span {
  display: block;
}

.fff-stat strong {
  margin-bottom: 5px;
  color: var(--fff-gold);
  font-size: 1.05rem;
}

.fff-stat span {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.88rem;
  line-height: 1.45;
}

.fff-hero-card-quote {
  margin-bottom: 0 !important;
  padding-top: 25px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.88);
  font-style: italic;
}


/* BUTTONS */

.fff-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 34px 0 26px;
}

.fff-button-row-center {
  justify-content: center;
}

.fff-button {
  display: inline-flex;
  min-height: 54px;
  padding: 14px 24px;
  border: 2px solid transparent;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  font-size: 0.97rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.fff-button:hover {
  transform: translateY(-2px);
}

.fff-button:focus-visible,
.fff-athlete-page a:focus-visible,
.fff-athlete-page summary:focus-visible {
  outline: 3px solid var(--fff-gold);
  outline-offset: 4px;
}

.fff-button-primary {
  background: var(--fff-blue);
  color: var(--fff-navy) !important;
  box-shadow: 0 12px 30px rgba(77, 161, 255, 0.25);
}

.fff-button-primary:hover {
  background: #72B5FF;
}

.fff-button-secondary {
  border-color: rgba(255, 255, 255, 0.7);
  color: var(--fff-white) !important;
}

.fff-button-secondary:hover {
  border-color: var(--fff-white);
  background: rgba(255, 255, 255, 0.1);
}

.fff-button-gold {
  background: var(--fff-gold);
  color: var(--fff-navy) !important;
  box-shadow: 0 12px 30px rgba(255, 209, 102, 0.21);
}

.fff-button-gold:hover {
  background: #FFE099;
}

.fff-button-outline-light {
  border-color: rgba(255, 255, 255, 0.75);
  color: var(--fff-white) !important;
}

.fff-button-outline-light:hover {
  border-color: var(--fff-white);
  background: rgba(255, 255, 255, 0.1);
}


/* TRUST LIST */

.fff-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0;
  padding: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  list-style: none;
}

.fff-trust-list li {
  position: relative;
  padding-left: 19px;
}

.fff-trust-list li::before {
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--fff-gold);
  content: "";
}


/* SECTION HEADINGS */

.fff-section-heading {
  max-width: 850px;
  margin: 0 auto clamp(45px, 6vw, 74px);
  text-align: center;
}

.fff-section-heading > p:not(.fff-eyebrow) {
  color: var(--fff-muted);
}

.fff-heading-light > p:not(.fff-eyebrow) {
  color: rgba(255, 255, 255, 0.8);
}


/* FEATURE CARDS */

.fff-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.fff-feature-card {
  position: relative;
  min-height: 285px;
  padding: 34px;
  border: 1px solid var(--fff-border);
  border-radius: 18px;
  background: var(--fff-white);
  box-shadow: 0 8px 30px rgba(11, 37, 69, 0.06);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.fff-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--fff-shadow);
}

.fff-feature-card p {
  margin-bottom: 0;
  color: var(--fff-muted);
}

.fff-number {
  display: block;
  margin-bottom: 26px;
  color: var(--fff-blue);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.11em;
}


/* TWO-COLUMN SECTIONS */

.fff-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr);
  gap: clamp(45px, 8vw, 100px);
  align-items: center;
}

.fff-checklist-panel,
.fff-question-card {
  padding: clamp(30px, 5vw, 48px);
  border-top: 5px solid var(--fff-blue);
  border-radius: 18px;
  background: var(--fff-white);
  box-shadow: var(--fff-shadow);
}

.fff-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fff-checklist li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 32px;
}

.fff-checklist li::before {
  position: absolute;
  top: 0.18em;
  left: 0;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: var(--fff-blue);
  color: var(--fff-navy);
  content: "✓";
  font-size: 0.73rem;
  font-weight: 900;
  line-height: 21px;
  text-align: center;
}

.fff-small-note {
  margin: 28px 0 0;
  padding-top: 22px;
  border-top: 1px solid var(--fff-border);
  color: var(--fff-muted);
  font-size: 0.83rem;
  line-height: 1.6;
}


/* ARCHETYPES */

.fff-archetype-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.fff-archetype-card {
  padding: clamp(30px, 4vw, 42px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
}

.fff-archetype-card p,
.fff-archetype-card li {
  color: rgba(255, 255, 255, 0.8);
}

.fff-archetype-card ul {
  margin-bottom: 0;
  padding-left: 20px;
}

.fff-archetype-card li {
  margin-bottom: 7px;
}

.fff-archetype-tag {
  display: inline-block;
  margin-bottom: 22px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 209, 102, 0.35);
  border-radius: 100px;
  background: rgba(255, 209, 102, 0.1);
  color: var(--fff-gold);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.fff-centered-cta {
  max-width: 760px;
  margin: 55px auto 0;
  text-align: center;
}

.fff-centered-cta p {
  color: rgba(255, 255, 255, 0.8);
}


/* INDUSTRIES */

.fff-industry-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.fff-industry-card {
  min-height: 250px;
  padding: 30px;
  border: 1px solid var(--fff-border);
  border-radius: 16px;
  background: var(--fff-white);
}

.fff-industry-card::before {
  display: block;
  width: 42px;
  height: 5px;
  margin-bottom: 25px;
  border-radius: 100px;
  background: var(--fff-gold);
  content: "";
}

.fff-industry-card p {
  margin-bottom: 0;
  color: var(--fff-muted);
  font-size: 0.94rem;
}


/* PROCESS */

.fff-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fff-process-card {
  padding: 30px;
  border: 1px solid var(--fff-border);
  border-radius: 16px;
  background: var(--fff-white);
}

.fff-process-card > span {
  display: inline-flex;
  width: 44px;
  height: 44px;
  margin-bottom: 24px;
  border-radius: 50%;
  background: var(--fff-navy);
  color: var(--fff-gold);
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.fff-process-card p {
  margin-bottom: 0;
  color: var(--fff-muted);
  font-size: 0.93rem;
}

.fff-includes-panel {
  margin-top: 45px;
  padding: clamp(30px, 5vw, 50px);
  border-radius: 20px;
  background: var(--fff-navy);
  color: var(--fff-white);
}

.fff-includes-panel h3 {
  color: var(--fff-white);
}

.fff-includes-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 50px;
}

.fff-includes-panel .fff-checklist li {
  color: rgba(255, 255, 255, 0.86);
}


/* DUE DILIGENCE */

.fff-question-card {
  border-top-color: var(--fff-gold);
  background: var(--fff-navy);
  color: var(--fff-white);
}

.fff-question-card h3 {
  color: var(--fff-white);
}

.fff-question-card ul {
  margin: 0;
  padding-left: 22px;
}

.fff-question-card li {
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.85);
}


/* FAQ */

.fff-faq-container {
  max-width: 920px;
}

.fff-faq-list {
  display: grid;
  gap: 14px;
}

.fff-faq-item {
  border: 1px solid var(--fff-border);
  border-radius: 14px;
  background: var(--fff-white);
  box-shadow: 0 7px 22px rgba(11, 37, 69, 0.05);
}

.fff-faq-item summary {
  position: relative;
  padding: 24px 65px 24px 26px;
  color: var(--fff-navy);
  cursor: pointer;
  font-weight: 800;
  line-height: 1.4;
  list-style: none;
}

.fff-faq-item summary::-webkit-details-marker {
  display: none;
}

.fff-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 24px;
  color: var(--fff-blue);
  content: "+";
  font-size: 1.7rem;
  font-weight: 500;
  transform: translateY(-50%);
}

.fff-faq-item[open] summary::after {
  content: "−";
}

.fff-faq-answer {
  padding: 0 26px 25px;
  color: var(--fff-muted);
}

.fff-faq-answer p {
  margin-bottom: 0;
}


/* FINAL CTA */

.fff-final-cta {
  padding: clamp(85px, 10vw, 140px) 0;
  background:
    radial-gradient(
      circle at 20% 20%,
      rgba(77, 161, 255, 0.2),
      transparent 30%
    ),
    var(--fff-navy);
  color: var(--fff-white);
}

.fff-final-cta-inner {
  max-width: 920px;
  text-align: center;
}

.fff-final-cta h2 {
  color: var(--fff-white);
}

.fff-final-cta-inner > p:not(.fff-eyebrow):not(.fff-disclaimer) {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
  color: rgba(255, 255, 255, 0.83);
  font-size: 1.08rem;
}

.fff-disclaimer {
  max-width: 850px;
  margin: 44px auto 0;
  padding-top: 25px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.57);
  font-size: 0.75rem;
  line-height: 1.65;
}


/* TABLET */

@media (max-width: 1050px) {
  .fff-hero-grid,
  .fff-two-column {
    grid-template-columns: 1fr;
  }

  .fff-hero-card {
    max-width: 720px;
  }

  .fff-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .fff-industry-grid,
  .fff-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* MOBILE */

@media (max-width: 720px) {
  .fff-athlete-page {
    font-size: 17px;
  }

  .fff-container {
    width: min(100% - 28px, 1180px);
  }

  .fff-hero {
    padding-top: 78px;
    padding-bottom: 78px;
  }

  .fff-button-row,
  .fff-button-row-center {
    flex-direction: column;
    align-items: stretch;
  }

  .fff-button {
    width: 100%;
  }

  .fff-feature-grid,
  .fff-archetype-grid,
  .fff-industry-grid,
  .fff-process-grid,
  .fff-includes-grid {
    grid-template-columns: 1fr;
  }

  .fff-stat-grid {
    grid-template-columns: 1fr;
  }

  .fff-feature-card,
  .fff-industry-card {
    min-height: auto;
  }

  .fff-trust-list {
    display: grid;
  }

  .fff-section-heading {
    text-align: left;
  }
}


/* REDUCED MOTION ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
  .fff-athlete-page *,
  .fff-athlete-page *::before,
  .fff-athlete-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* =========================================================
   FRANCHISE FIT FINDER™
   BUSINESS ACQUISITION ADVISORY — MASTER CSS
   ========================================================= */


/* ---------------------------------------------------------
   BRAND VARIABLES
   --------------------------------------------------------- */

:root {
  --fff-navy: #102f52;
  --fff-navy-dark: #082542;
  --fff-navy-medium: #1d3d60;
  --fff-slate: #38516f;

  --fff-blue: #168fca;
  --fff-blue-bright: #4292ff;
  --fff-blue-pale: #eaf5ff;

  --fff-gold: #ffc51c;
  --fff-gold-light: #ffd756;
  --fff-gold-pale: #fff7d7;

  --fff-white: #ffffff;
  --fff-off-white: #fcfdff;
  --fff-soft-background: #f5f8fc;

  --fff-text: #102f52;
  --fff-text-soft: #40566f;
  --fff-border: #d8e4ef;

  --fff-radius-small: 12px;
  --fff-radius: 20px;
  --fff-radius-large: 30px;

  --fff-shadow:
    0 18px 50px rgba(16, 47, 82, 0.10);

  --fff-shadow-deep:
    0 25px 70px rgba(4, 26, 50, 0.24);

  --fff-max-width: 1380px;
}


/* ---------------------------------------------------------
   PAGE RESET AND TYPOGRAPHY
   --------------------------------------------------------- */

.fff-acq-page,
.fff-acq-page * {
  box-sizing: border-box;
}

.fff-acq-page {
  overflow: hidden;
  background: var(--fff-white);
  color: var(--fff-text);
  font-family:
    "Montserrat",
    "Avenir Next",
    "Segoe UI",
    Arial,
    sans-serif;
}

.fff-acq-page h1,
.fff-acq-page h2,
.fff-acq-page h3,
.fff-acq-page p {
  margin-top: 0;
}

.fff-acq-page h1,
.fff-acq-page h2,
.fff-acq-page h3 {
  color: var(--fff-text);
  font-weight: 800;
  letter-spacing: -0.035em;
}

.fff-acq-page p {
  color: var(--fff-text-soft);
  font-size: 18px;
  line-height: 1.75;
}

.fff-acq-page a {
  text-decoration: none;
}

.fff-acq-container {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 48px), var(--fff-max-width));
  margin-right: auto;
  margin-left: auto;
}

.fff-acq-narrow {
  max-width: 980px;
}

.fff-acq-center {
  text-align: center;
}

.fff-acq-align-center {
  align-items: center;
}

.fff-acq-section {
  position: relative;
  padding: 110px 0;
}

.fff-acq-soft-section {
  background: var(--fff-soft-background);
}

.fff-acq-section-heading {
  max-width: 960px;
  margin: 0 auto 60px;
}

.fff-acq-section-title {
  margin-bottom: 24px;
  font-size: clamp(38px, 4.5vw, 68px);
  line-height: 1.08;
}

.fff-acq-section-lead {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  font-size: 20px !important;
}

.fff-acq-large-copy {
  font-size: 20px !important;
}

.fff-acq-eyebrow {
  margin-bottom: 24px;
  color: var(--fff-blue-bright) !important;
  font-size: 14px !important;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.4 !important;
  text-transform: uppercase;
}

.fff-acq-eyebrow-blue {
  color: var(--fff-blue-bright) !important;
}


/* ---------------------------------------------------------
   BUTTONS
   --------------------------------------------------------- */

.fff-acq-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 36px;
}

.fff-acq-button-row-center {
  justify-content: center;
}

.fff-acq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 16px 28px;
  border: 2px solid transparent;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.fff-acq-btn:hover {
  transform: translateY(-2px);
}

.fff-acq-btn-gold {
  background: var(--fff-gold);
  color: var(--fff-navy-dark);
  box-shadow: 0 13px 32px rgba(255, 197, 28, 0.24);
}

.fff-acq-btn-gold:hover {
  background: var(--fff-gold-light);
  color: var(--fff-navy-dark);
}

.fff-acq-btn-outline {
  border-color: rgba(255, 255, 255, 0.72);
  background: transparent;
  color: var(--fff-white);
}

.fff-acq-btn-outline:hover {
  border-color: var(--fff-white);
  background: rgba(255, 255, 255, 0.08);
  color: var(--fff-white);
}

.fff-acq-btn-navy {
  background: var(--fff-navy);
  color: var(--fff-white);
  box-shadow: 0 13px 32px rgba(16, 47, 82, 0.18);
}

.fff-acq-btn-navy:hover {
  background: var(--fff-navy-dark);
  color: var(--fff-white);
}


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

.fff-acq-hero {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  padding: 76px 0 90px;
  background:
    linear-gradient(
      110deg,
      var(--fff-navy-dark) 0%,
      var(--fff-navy) 58%,
      #233f61 100%
    );
}

.fff-acq-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(360px, 0.75fr);
  gap: 84px;
  align-items: center;
}

.fff-acq-hero-copy {
  max-width: 900px;
}

.fff-acq-hero h1 {
  margin-bottom: 28px;
  color: var(--fff-white);
  font-size: clamp(52px, 6vw, 92px);
  line-height: 1.02;
}

.fff-acq-hero-subhead {
  max-width: 810px;
  margin-bottom: 0;
  color: #dce7f2 !important;
  font-size: 21px !important;
  line-height: 1.65 !important;
}

.fff-acq-hero-fee {
  display: flex;
  gap: 18px;
  align-items: center;
  max-width: 770px;
  margin-top: 30px;
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
}

.fff-acq-fee-icon {
  display: flex;
  flex: 0 0 64px;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--fff-gold);
  color: var(--fff-navy-dark);
  font-size: 21px;
  font-weight: 900;
}

.fff-acq-hero-fee strong {
  display: block;
  margin-bottom: 4px;
  color: var(--fff-white);
  font-size: 17px;
}

.fff-acq-hero-fee p {
  margin-bottom: 0;
  color: #dbe6f0 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.fff-acq-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.fff-acq-trust-row span {
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--fff-white);
  font-size: 13px;
  font-weight: 700;
}

.fff-acq-hero-card {
  padding: 46px 42px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--fff-radius-large);
  background: rgba(58, 81, 111, 0.88);
  box-shadow: var(--fff-shadow-deep);
  backdrop-filter: blur(10px);
}

.fff-acq-card-label {
  margin-bottom: 22px;
  color: var(--fff-gold) !important;
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fff-acq-hero-card h2 {
  margin-bottom: 20px;
  color: var(--fff-white);
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.12;
}

.fff-acq-hero-card > p:not(.fff-acq-card-label) {
  color: #e7eef6 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.fff-acq-criteria-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 28px;
}

.fff-acq-criteria-card {
  min-height: 132px;
  padding: 22px 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.06);
}

.fff-acq-criteria-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--fff-gold);
  font-size: 16px;
}

.fff-acq-criteria-card span {
  color: #e5edf5;
  font-size: 13px;
  line-height: 1.5;
}

.fff-acq-hero-ring {
  position: absolute;
  border: 1px solid rgba(66, 146, 255, 0.34);
  border-radius: 50%;
  pointer-events: none;
}

.fff-acq-hero-ring-one {
  top: -290px;
  right: -110px;
  width: 640px;
  height: 640px;
}

.fff-acq-hero-ring-two {
  right: 40px;
  bottom: -430px;
  width: 770px;
  height: 770px;
  opacity: 0.5;
}


/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.fff-acq-intro {
  background: var(--fff-white);
}


/* ---------------------------------------------------------
   TWO-COLUMN LAYOUT
   --------------------------------------------------------- */

.fff-acq-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
  gap: 80px;
}

.fff-acq-content-column h2 {
  margin-bottom: 28px;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.08;
}

.fff-acq-content-column p {
  margin-bottom: 22px;
}

.fff-acq-dark-panel {
  padding: 46px 42px;
  border-radius: var(--fff-radius-large);
  background: var(--fff-navy);
  box-shadow: var(--fff-shadow-deep);
}

.fff-acq-check-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fff-acq-check-list li {
  position: relative;
  padding: 15px 0 15px 34px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--fff-white);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

.fff-acq-check-list li:last-child {
  border-bottom: 0;
}

.fff-acq-check-list li::before {
  position: absolute;
  top: 16px;
  left: 0;
  color: var(--fff-gold);
  content: "✓";
  font-size: 18px;
  font-weight: 900;
}

.fff-acq-quote {
  display: flex;
  gap: 20px;
  margin-top: 38px;
  padding: 28px 30px;
  border-left: 5px solid var(--fff-gold);
  border-radius:
    0
    var(--fff-radius-small)
    var(--fff-radius-small)
    0;
  background: var(--fff-gold-pale);
}

.fff-acq-quote > span {
  color: var(--fff-gold);
  font-family: Georgia, serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 0.8;
}

.fff-acq-quote p {
  margin-bottom: 0;
  color: var(--fff-navy) !important;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.5 !important;
}


/* ---------------------------------------------------------
   VALUE FEATURE CARDS
   --------------------------------------------------------- */

.fff-acq-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.fff-acq-feature-card {
  min-height: 300px;
  padding: 38px 34px;
  border: 1px solid var(--fff-border);
  border-radius: var(--fff-radius);
  background: var(--fff-white);
  box-shadow: 0 8px 30px rgba(16, 47, 82, 0.04);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}

.fff-acq-feature-card:hover {
  transform: translateY(-5px);
  border-color: rgba(66, 146, 255, 0.45);
  box-shadow: var(--fff-shadow);
}

.fff-acq-card-number {
  display: block;
  margin-bottom: 32px;
  color: var(--fff-blue-bright);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.fff-acq-feature-card h3 {
  margin-bottom: 16px;
  font-size: 25px;
  line-height: 1.2;
}

.fff-acq-feature-card p {
  margin-bottom: 0;
  font-size: 16px;
}


/* ---------------------------------------------------------
   PROCESS
   --------------------------------------------------------- */

.fff-acq-process-section {
  background:
    linear-gradient(
      135deg,
      var(--fff-navy-dark),
      var(--fff-navy)
    );
}

.fff-acq-light-heading h2,
.fff-acq-light-heading p:not(.fff-acq-eyebrow) {
  color: var(--fff-white) !important;
}

.fff-acq-light-heading .fff-acq-section-lead {
  color: #dbe7f1 !important;
}

.fff-acq-process-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.fff-acq-process-card {
  padding: 30px 24px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: var(--fff-radius);
  background: rgba(255, 255, 255, 0.06);
}

.fff-acq-process-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 28px;
  border-radius: 50%;
  background: var(--fff-gold);
  color: var(--fff-navy-dark);
  font-size: 20px;
  font-weight: 900;
}

.fff-acq-process-card h3 {
  margin-bottom: 14px;
  color: var(--fff-white);
  font-size: 22px;
  line-height: 1.2;
}

.fff-acq-process-card p {
  margin-bottom: 0;
  color: #dce7f1 !important;
  font-size: 15px;
  line-height: 1.65;
}


/* ---------------------------------------------------------
   NO-UPFRONT-FEE SECTION
   --------------------------------------------------------- */

.fff-acq-fee-section {
  background: var(--fff-white);
}

.fff-acq-fee-box {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) 330px;
  gap: 50px;
  align-items: center;
  padding: 70px;
  border: 1px solid var(--fff-border);
  border-radius: var(--fff-radius-large);
  background:
    linear-gradient(
      135deg,
      var(--fff-off-white),
      var(--fff-blue-pale)
    );
  box-shadow: var(--fff-shadow);
}

.fff-acq-fee-copy h2 {
  margin-bottom: 24px;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.08;
}

.fff-acq-fee-copy p {
  margin-bottom: 18px;
}

.fff-acq-fee-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 330px;
  padding: 36px;
  border-radius: 50%;
  background: var(--fff-gold);
  color: var(--fff-navy-dark);
  text-align: center;
  box-shadow: 0 22px 55px rgba(255, 197, 28, 0.28);
}

.fff-acq-fee-circle > span {
  max-width: 170px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

.fff-acq-fee-circle strong {
  display: block;
  margin: 8px 0;
  font-size: 96px;
  line-height: 1;
  letter-spacing: -0.08em;
}

.fff-acq-fee-circle small {
  font-size: 15px;
  font-weight: 700;
}


/* ---------------------------------------------------------
   AUDIENCE CARDS
   --------------------------------------------------------- */

.fff-acq-audience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.fff-acq-audience-card {
  padding: 36px 32px;
  border-radius: var(--fff-radius);
  background: var(--fff-white);
  box-shadow: 0 10px 34px rgba(16, 47, 82, 0.06);
}

.fff-acq-audience-card h3 {
  margin-bottom: 14px;
  font-size: 24px;
}

.fff-acq-audience-card p {
  margin-bottom: 0;
  font-size: 16px;
}


/* ---------------------------------------------------------
   OWNERSHIP PATHS
   --------------------------------------------------------- */

.fff-acq-path-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
  gap: 70px;
  align-items: center;
}

.fff-acq-path-copy h2 {
  margin-bottom: 26px;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.08;
}

.fff-acq-path-options {
  display: grid;
  gap: 18px;
}

.fff-acq-path-card {
  padding: 34px;
  border: 1px solid var(--fff-border);
  border-radius: var(--fff-radius);
  background: var(--fff-white);
  box-shadow: 0 10px 30px rgba(16, 47, 82, 0.06);
}

.fff-acq-path-card > span {
  display: block;
  margin-bottom: 16px;
  color: var(--fff-blue-bright);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.fff-acq-path-card h3 {
  margin-bottom: 12px;
  font-size: 27px;
}

.fff-acq-path-card p {
  margin-bottom: 0;
  font-size: 16px;
}

.fff-acq-path-card-featured {
  border-color: transparent;
  background: var(--fff-navy);
}

.fff-acq-path-card-featured h3,
.fff-acq-path-card-featured p {
  color: var(--fff-white) !important;
}

.fff-acq-path-card-featured > span {
  color: var(--fff-gold);
}


/* ---------------------------------------------------------
   INDUSTRY CHIPS
   --------------------------------------------------------- */

.fff-acq-industries-section {
  background:
    linear-gradient(
      130deg,
      var(--fff-navy),
      var(--fff-navy-medium)
    );
}

.fff-acq-chip-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.fff-acq-chip-grid span {
  display: inline-flex;
  padding: 14px 20px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: var(--fff-white);
  font-size: 15px;
  font-weight: 700;
}

.fff-acq-industry-note {
  max-width: 900px;
  margin: 38px auto 0;
  color: #cbd9e7 !important;
  font-size: 13px !important;
  text-align: center;
}


/* ---------------------------------------------------------
   FIT-FIRST CARD
   --------------------------------------------------------- */

.fff-acq-fit-card {
  padding: 48px 42px;
  border-radius: var(--fff-radius-large);
  background: var(--fff-slate);
  box-shadow: var(--fff-shadow-deep);
}

.fff-acq-fit-card h3 {
  margin-bottom: 30px;
  color: var(--fff-white);
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.15;
}

.fff-acq-fit-list {
  display: grid;
  gap: 14px;
}

.fff-acq-fit-list > div {
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
}

.fff-acq-fit-list strong {
  display: block;
  margin-bottom: 5px;
  color: var(--fff-gold);
  font-size: 16px;
}

.fff-acq-fit-list span {
  color: #e5edf5;
  font-size: 14px;
  line-height: 1.5;
}


/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */

.fff-acq-faq-section {
  background: var(--fff-soft-background);
}

.fff-acq-faq-list {
  display: grid;
  gap: 14px;
}

.fff-acq-faq-item {
  overflow: hidden;
  border: 1px solid var(--fff-border);
  border-radius: 16px;
  background: var(--fff-white);
  box-shadow: 0 6px 24px rgba(16, 47, 82, 0.04);
}

.fff-acq-faq-item summary {
  position: relative;
  padding: 25px 62px 25px 26px;
  color: var(--fff-navy);
  cursor: pointer;
  font-size: 18px;
  font-weight: 800;
  list-style: none;
}

.fff-acq-faq-item summary::-webkit-details-marker {
  display: none;
}

.fff-acq-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 24px;
  color: var(--fff-blue-bright);
  content: "+";
  font-size: 30px;
  font-weight: 500;
  transform: translateY(-50%);
}

.fff-acq-faq-item[open] summary::after {
  content: "−";
}

.fff-acq-faq-item > div {
  padding: 0 26px 26px;
}

.fff-acq-faq-item p {
  margin-bottom: 0;
  font-size: 16px;
}


/* ---------------------------------------------------------
   FINAL CTA
   --------------------------------------------------------- */

.fff-acq-final-cta {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background:
    linear-gradient(
      120deg,
      var(--fff-navy-dark),
      var(--fff-navy)
    );
}

.fff-acq-final-content {
  max-width: 1000px;
}

.fff-acq-final-content h2 {
  margin-bottom: 24px;
  color: var(--fff-white);
  font-size: clamp(46px, 5vw, 78px);
  line-height: 1.05;
}

.fff-acq-final-content > p:not(.fff-acq-eyebrow) {
  max-width: 830px;
  margin-right: auto;
  margin-left: auto;
  color: #dce7f1 !important;
  font-size: 20px;
}

.fff-acq-final-ring {
  position: absolute;
  border: 1px solid rgba(66, 146, 255, 0.32);
  border-radius: 50%;
}

.fff-acq-final-ring-one {
  top: -340px;
  left: -210px;
  width: 650px;
  height: 650px;
}

.fff-acq-final-ring-two {
  right: -280px;
  bottom: -460px;
  width: 780px;
  height: 780px;
}


/* ---------------------------------------------------------
   IMPORTANT NOTICE
   --------------------------------------------------------- */

.fff-acq-notice {
  padding: 30px 0;
  background: #071b31;
}

.fff-acq-notice p {
  margin-bottom: 0;
  color: #aebfd0 !important;
  font-size: 11px !important;
  line-height: 1.7 !important;
}


/* ---------------------------------------------------------
   RESPONSIVE — TABLET
   --------------------------------------------------------- */

@media (max-width: 1180px) {

  .fff-acq-hero-grid,
  .fff-acq-two-column,
  .fff-acq-path-grid {
    gap: 50px;
  }

  .fff-acq-process-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .fff-acq-feature-grid,
  .fff-acq-audience-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .fff-acq-fee-box {
    padding: 55px;
  }

  .fff-acq-fee-circle {
    min-height: 290px;
  }
}


/* ---------------------------------------------------------
   RESPONSIVE — SMALL TABLET
   --------------------------------------------------------- */

@media (max-width: 900px) {

  .fff-acq-section {
    padding: 80px 0;
  }

  .fff-acq-hero {
    min-height: auto;
    padding: 65px 0 75px;
  }

  .fff-acq-hero-grid,
  .fff-acq-two-column,
  .fff-acq-path-grid,
  .fff-acq-fee-box {
    grid-template-columns: 1fr;
  }

  .fff-acq-hero-card {
    max-width: 650px;
  }

  .fff-acq-fee-circle {
    width: 280px;
    min-height: 280px;
    margin: 0 auto;
  }

  .fff-acq-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ---------------------------------------------------------
   RESPONSIVE — MOBILE
   --------------------------------------------------------- */

@media (max-width: 640px) {

  .fff-acq-container {
    width: min(calc(100% - 32px), var(--fff-max-width));
  }

  .fff-acq-section {
    padding: 66px 0;
  }

  .fff-acq-hero {
    padding: 52px 0 60px;
  }

  .fff-acq-hero h1 {
    font-size: clamp(43px, 13vw, 62px);
  }

  .fff-acq-hero-subhead,
  .fff-acq-section-lead,
  .fff-acq-large-copy {
    font-size: 18px !important;
  }

  .fff-acq-hero-fee {
    align-items: flex-start;
  }

  .fff-acq-fee-icon {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
    font-size: 18px;
  }

  .fff-acq-button-row {
    flex-direction: column;
  }

  .fff-acq-btn {
    width: 100%;
  }

  .fff-acq-criteria-grid,
  .fff-acq-feature-grid,
  .fff-acq-process-grid,
  .fff-acq-audience-grid {
    grid-template-columns: 1fr;
  }

  .fff-acq-hero-card,
  .fff-acq-dark-panel,
  .fff-acq-fit-card {
    padding: 34px 25px;
  }

  .fff-acq-feature-card {
    min-height: auto;
  }

  .fff-acq-fee-box {
    padding: 36px 24px;
  }

  .fff-acq-fee-circle {
    width: 235px;
    min-height: 235px;
  }

  .fff-acq-fee-circle strong {
    font-size: 72px;
  }

  .fff-acq-section-title,
  .fff-acq-content-column h2,
  .fff-acq-fee-copy h2,
  .fff-acq-path-copy h2 {
    font-size: 39px;
  }

  .fff-acq-final-content h2 {
    font-size: 45px;
  }

  .fff-acq-quote {
    padding: 24px 20px;
  }
}