.ffcl{
  --ff-ink:#202723;--ff-muted:#5f6963;--ff-paper:#fbfaf6;--ff-panel:#fff;
  --ff-line:#dedfd8;--ff-accent:#3f4d3d;--ff-soft:#eef1ea;--ff-warm:#f3eee4;
  --ff-max:1120px;--ff-radius:20px;color:var(--ff-ink);background:var(--ff-paper);
  line-height:1.6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ffcl *{box-sizing:border-box}.ffcl a{color:inherit}.ffcl-wrap{width:min(calc(100% - 40px),var(--ff-max));margin:auto}
.ffcl h1,.ffcl h2,.ffcl h3{line-height:1.08;letter-spacing:-.035em;margin-top:0;color:var(--ff-ink)}
.ffcl h1{font-size:clamp(3rem,7vw,6rem);max-width:900px;margin-bottom:26px}
.ffcl h2{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:18px}
.ffcl h3{font-size:1.22rem;margin-bottom:10px}.ffcl p{color:var(--ff-muted)}
.ffcl-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.77rem;font-weight:800;color:var(--ff-accent)}
.ffcl-hero{padding:86px 0 70px}.ffcl-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:42px;align-items:end}
.ffcl-lead{font-size:clamp(1.15rem,2vw,1.42rem);max-width:760px;color:var(--ff-muted)}
.ffcl-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:32px}
.ffcl-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;text-decoration:none!important;font-weight:700;background:var(--ff-accent);color:#fff!important;border:1px solid var(--ff-accent);cursor:pointer}
.ffcl-button:hover{filter:brightness(.9)}.ffcl-secondary{background:transparent;color:var(--ff-ink)!important;border-color:var(--ff-line)}
.ffcl-light{background:#fff;color:var(--ff-accent)!important;border-color:#fff}.ffcl-note{font-size:.94rem;color:var(--ff-muted)}
.ffcl-summary{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:var(--ff-radius);padding:28px;box-shadow:0 16px 60px rgba(40,50,43,.07)}
.ffcl-price{font-size:3.15rem;font-weight:800;letter-spacing:-.06em;line-height:1;margin:8px 0 18px}.ffcl-summary ul{padding:0;margin:0;list-style:none}
.ffcl-summary li{padding:10px 0;border-top:1px solid var(--ff-line)}.ffcl section{padding:78px 0}.ffcl-soft{background:var(--ff-soft)}.ffcl-warm{background:var(--ff-warm)}
.ffcl-section-head{max-width:760px;margin-bottom:36px}.ffcl-section-head p{font-size:1.08rem}.ffcl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ffcl-card{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:var(--ff-radius);padding:26px}.ffcl-card p{margin-bottom:0}
.ffcl-signal{font-size:1.85rem;font-weight:800;letter-spacing:-.04em;margin-bottom:12px}.ffcl-two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.ffcl-checks{list-style:none;padding:0;margin:28px 0 0}.ffcl-checks li{position:relative;padding:11px 0 11px 32px;border-bottom:1px solid var(--ff-line)}
.ffcl-checks li:before{content:"";position:absolute;left:0;top:18px;width:12px;height:12px;border:2px solid #65745f;border-radius:50%}
.ffcl-steps{counter-reset:step;display:grid;gap:14px}.ffcl-step{counter-increment:step;background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:18px;padding:22px 22px 22px 72px;position:relative}
.ffcl-step:before{content:counter(step);position:absolute;left:22px;top:20px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ff-accent);color:#fff;font-weight:800}
.ffcl-step strong{display:block;margin-bottom:4px}.ffcl-step span{color:var(--ff-muted)}.ffcl-stack{display:grid;gap:14px}
.ffcl-about{max-width:850px}.ffcl-about p{font-size:1.05rem}.ffcl-faq{max-width:850px}.ffcl details{border-top:1px solid var(--ff-line);padding:20px 0}
.ffcl details:last-child{border-bottom:1px solid var(--ff-line)}.ffcl summary{font-weight:760;cursor:pointer;font-size:1.04rem}.ffcl details p{max-width:760px}
.ffcl-cta{background:var(--ff-accent);color:#fff;border-radius:30px;padding:52px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.ffcl-cta h2{margin:0 0 12px;color:#fff}.ffcl-cta p{margin:0;color:rgba(255,255,255,.78)}.ffcl-simple{min-height:65vh}.ffcl-narrow{max-width:820px}
.ffcl-notice{background:var(--ff-soft);padding:18px;border-radius:14px;margin:24px 0}.ffcl-form{background:var(--ff-panel);border:1px solid var(--ff-line);border-radius:var(--ff-radius);padding:clamp(24px,5vw,44px);margin-top:30px}
.ffcl-form-section{padding:28px 0;border-top:1px solid var(--ff-line)}.ffcl-form-section:first-of-type{border-top:0}.ffcl-form h2{font-size:1.65rem}
.ffcl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ffcl-form label{display:block;font-weight:740;margin:22px 0 8px}
.ffcl-form input[type="text"],.ffcl-form input[type="email"],.ffcl-form input[type="tel"],.ffcl-form input[type="url"],.ffcl-form input:not([type]),.ffcl-form textarea{
  width:100%;border:1px solid #cfd2ca;border-radius:12px;padding:13px 14px;font:inherit;background:#fff;color:var(--ff-ink)
}
.ffcl-form textarea{min-height:125px;resize:vertical}.ffcl-hint{font-size:.88rem;color:var(--ff-muted);margin:-2px 0 8px}.ffcl-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}
.ffcl-consent input{margin-top:5px}.ffcl-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:850px){.ffcl-hero-grid,.ffcl-two,.ffcl-cta{grid-template-columns:1fr}.ffcl-cards{grid-template-columns:1fr 1fr}.ffcl-cta{padding:34px}}
@media(max-width:640px){.ffcl-wrap{width:min(calc(100% - 28px),var(--ff-max))}.ffcl-hero{padding:58px 0 50px}.ffcl section{padding:58px 0}.ffcl-cards,.ffcl-form-grid{grid-template-columns:1fr}.ffcl h1{font-size:clamp(2.7rem,15vw,4rem)}.ffcl-summary{padding:22px}.ffcl-cta{border-radius:22px}}

.ffcl-privacy-note{border-left:4px solid #65745f;padding:14px 16px;margin:22px 0;color:var(--ff-muted);background:#f8f8f4}
.ffcl-privacy-note strong{color:var(--ff-ink)}
.ffcl-legal-footer{padding:38px 0!important;border-top:1px solid var(--ff-line);background:var(--ff-paper)}
.ffcl-legal-footer p{margin:.25rem 0;font-size:.88rem}

/* V0.6.0 campaign landing refresh: visual bridge from advert 04 into FundingFunnel */
.ffcl-campaign{
  --ff-navy:#021c2d;
  --ff-navy-2:#06283d;
  --ff-gold:#e8a11c;
  --ff-cream:#f4efe6;
  --ff-white:#ffffff;
  --ff-charcoal:#20262b;
  --ff-campaign-line:rgba(2,28,45,.15);
  background:#fff;
  color:var(--ff-charcoal);
}
.ffcl-campaign section{padding:72px 0}
.ffcl-campaign h1,.ffcl-campaign h2,.ffcl-campaign h3{font-family:Impact,"Arial Narrow",ui-sans-serif,system-ui,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.ffcl-campaign p{color:#4e5860}
.ffcl-campaign-kicker{font-size:.8rem;line-height:1.2;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--ff-gold);margin-bottom:14px}
.ffcl-campaign-hero{background:linear-gradient(135deg,var(--ff-navy),#001522);padding:44px 0 54px!important;overflow:hidden;position:relative}
.ffcl-campaign-hero:before{content:"";position:absolute;inset:auto -10% -52% 32%;height:420px;background:radial-gradient(circle,rgba(232,161,28,.2),transparent 65%);pointer-events:none}
.ffcl-campaign-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);gap:46px;align-items:center}
.ffcl-campaign-copy{position:relative;z-index:2}
.ffcl-campaign-copy h1{font-size:clamp(3.6rem,7.4vw,7.2rem);line-height:.88;max-width:780px;margin:0 0 24px;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.18)}
.ffcl-campaign-sub{font-size:clamp(1.12rem,2vw,1.4rem);max-width:690px;color:rgba(255,255,255,.85)!important;margin-bottom:24px}
.ffcl-campaign-price-row{display:flex;align-items:center;gap:18px;margin:26px 0 12px}
.ffcl-campaign-price{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:var(--ff-gold);color:var(--ff-navy);font-size:2.25rem;font-weight:950;box-shadow:0 10px 34px rgba(0,0,0,.24)}
.ffcl-campaign-price-note{color:#fff;font-weight:750;line-height:1.35}
.ffcl-gold-button{background:var(--ff-gold)!important;border-color:var(--ff-gold)!important;color:var(--ff-navy)!important;border-radius:6px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:900!important}
.ffcl-outline-button{background:transparent!important;border:2px solid rgba(255,255,255,.5)!important;color:#fff!important;border-radius:6px!important}
.ffcl-campaign-micro{font-size:.88rem;color:rgba(255,255,255,.66)!important;margin-top:14px;max-width:620px}
.ffcl-campaign-creative{position:relative;z-index:2;justify-self:end;max-width:470px}
.ffcl-campaign-creative img{display:block;width:100%;height:auto;border:2px solid rgba(232,161,28,.9);box-shadow:0 28px 65px rgba(0,0,0,.35)}
.ffcl-campaign-bridge{background:var(--ff-cream)}
.ffcl-center-head{text-align:center;margin-left:auto;margin-right:auto;max-width:820px}
.ffcl-campaign .ffcl-section-head h2{font-size:clamp(2.2rem,4.4vw,4rem);color:var(--ff-navy);margin-bottom:16px}
.ffcl-campaign .ffcl-section-head p{font-size:1.08rem}
.ffcl-owner-map{width:min(700px,100%);height:350px;margin:46px auto 0;position:relative}
.ffcl-owner-core,.ffcl-orbit{position:absolute;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:900;text-transform:uppercase}
.ffcl-owner-core{width:155px;height:155px;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--ff-navy);color:#fff;box-shadow:0 20px 55px rgba(2,28,45,.24)}
.ffcl-owner-core span{font-size:2.2rem;line-height:1}.ffcl-owner-core small{font-size:.72rem;color:var(--ff-gold);letter-spacing:.12em}
.ffcl-orbit{width:116px;height:116px;background:#fff;border:3px solid var(--ff-gold);color:var(--ff-navy);box-shadow:0 14px 35px rgba(2,28,45,.08)}
.ffcl-orbit:after{content:"";position:absolute;width:74px;height:2px;background:rgba(2,28,45,.22);top:50%;z-index:-1}
.ffcl-orbit-a{left:8%;top:8%}.ffcl-orbit-a:after{left:94px;transform:rotate(20deg);transform-origin:left center}
.ffcl-orbit-b{right:8%;top:8%}.ffcl-orbit-b:after{right:94px;transform:rotate(-20deg);transform-origin:right center}
.ffcl-orbit-c{left:15%;bottom:0}.ffcl-orbit-c:after{left:94px;transform:rotate(-18deg);transform-origin:left center}
.ffcl-orbit-d{right:15%;bottom:0}.ffcl-orbit-d:after{right:94px;transform:rotate(18deg);transform-origin:right center}
.ffcl-campaign-included{background:#fff}
.ffcl-issue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.ffcl-issue-grid article{background:var(--ff-navy);color:#fff;padding:26px;min-height:150px;border-top:5px solid var(--ff-gold)}
.ffcl-issue-grid strong{display:block;font-family:Impact,"Arial Narrow",sans-serif;font-size:2rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ff-gold);margin-bottom:12px}
.ffcl-issue-grid span{color:rgba(255,255,255,.82);line-height:1.45}
.ffcl-campaign-package{background:var(--ff-navy);color:#fff}
.ffcl-package-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:54px;align-items:start}
.ffcl-package-price-card{background:var(--ff-gold);padding:34px;color:var(--ff-navy);position:sticky;top:30px}
.ffcl-package-price-card .ffcl-campaign-kicker{color:var(--ff-navy)}
.ffcl-big-price{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(5rem,10vw,8rem);line-height:.9}
.ffcl-package-price-card p{color:rgba(2,28,45,.8);font-weight:750}
.ffcl-package-list h2{font-size:clamp(2.3rem,4.6vw,4rem);color:#fff}
.ffcl-package-list ul{list-style:none;padding:0;margin:0}
.ffcl-package-list li{display:grid;grid-template-columns:minmax(200px,.7fr) 1fr;gap:20px;padding:18px 0;border-top:1px solid rgba(255,255,255,.16)}
.ffcl-package-list li strong{color:var(--ff-gold);font-size:1.05rem}.ffcl-package-list li span{color:rgba(255,255,255,.78)}
.ffcl-campaign-process{background:#f8f8f6}
.ffcl-process-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ffcl-process-step{background:#fff;border:1px solid var(--ff-campaign-line);padding:24px;min-height:170px;position:relative}
.ffcl-process-step b{display:grid;place-items:center;width:42px;height:42px;background:var(--ff-gold);color:var(--ff-navy);font-size:1.25rem;margin-bottom:18px}
.ffcl-process-step strong{display:block;color:var(--ff-navy);font-size:1.08rem;margin-bottom:8px}.ffcl-process-step span{color:#59626a}
.ffcl-campaign-output{background:#fff}
.ffcl-output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ffcl-output-grid article{padding:28px;border:1px solid var(--ff-campaign-line);border-bottom:6px solid var(--ff-gold)}
.ffcl-output-grid article>span{font-family:Impact,"Arial Narrow",sans-serif;font-size:3.2rem;color:rgba(2,28,45,.14)}
.ffcl-output-grid h3{font-size:1.55rem;color:var(--ff-navy);margin:4px 0 10px}.ffcl-output-grid p{margin:0}
.ffcl-campaign-about{background:var(--ff-cream)}
.ffcl-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}
.ffcl-about-grid h2{font-size:clamp(2.3rem,4.5vw,3.8rem);color:var(--ff-navy)}
.ffcl-text-link{display:inline-block;margin-top:6px;font-weight:850;color:var(--ff-navy)!important;text-decoration-color:var(--ff-gold)!important;text-decoration-thickness:3px!important;text-underline-offset:5px}
.ffcl-campaign-faq{background:#fff}.ffcl-campaign-faq .ffcl-faq h2{font-size:clamp(2.3rem,4vw,3.6rem);color:var(--ff-navy)}
.ffcl-campaign-faq details{border-color:var(--ff-campaign-line)}.ffcl-campaign-faq summary{color:var(--ff-navy)}
.ffcl-campaign-final{background:var(--ff-navy);color:#fff;padding-bottom:34px!important}
.ffcl-final-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.ffcl-final-grid h2{font-size:clamp(2.8rem,5.5vw,5.2rem);color:#fff;margin-bottom:10px}.ffcl-final-grid p{color:rgba(255,255,255,.78)}
.ffcl-final-action{text-align:center}.ffcl-final-price{font-family:Impact,"Arial Narrow",sans-serif;color:var(--ff-gold);font-size:4.5rem;line-height:1;margin-bottom:16px}
.ffcl-campaign-legal-line{margin-top:52px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.64);font-size:.82rem}
.ffcl-campaign-legal-line a{color:rgba(255,255,255,.8)!important}
@media(max-width:900px){
  .ffcl-campaign-hero-grid,.ffcl-package-grid,.ffcl-about-grid,.ffcl-final-grid{grid-template-columns:1fr}
  .ffcl-campaign-creative{justify-self:start;max-width:520px}
  .ffcl-package-price-card{position:static;max-width:360px}
  .ffcl-issue-grid,.ffcl-process-row,.ffcl-output-grid{grid-template-columns:1fr 1fr}
  .ffcl-final-action{text-align:left}
}
@media(max-width:650px){
  .ffcl-campaign section{padding:54px 0}
  .ffcl-campaign-hero{padding-top:30px!important}
  .ffcl-campaign-copy h1{font-size:clamp(3.2rem,16vw,5rem)}
  .ffcl-campaign-price{width:92px;height:92px;font-size:1.85rem}
  .ffcl-campaign-creative{max-width:100%}
  .ffcl-owner-map{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .ffcl-owner-core,.ffcl-orbit{position:static;transform:none;width:auto;height:auto;border-radius:0;padding:22px}
  .ffcl-owner-core{grid-column:1/-1;order:-1}.ffcl-orbit:after{display:none}
  .ffcl-issue-grid,.ffcl-process-row,.ffcl-output-grid{grid-template-columns:1fr}
  .ffcl-package-list li{grid-template-columns:1fr;gap:4px}
  .ffcl-campaign-legal-line{flex-direction:column}
}

/* V0.6.1 mobile-only launch fixes */
@media(max-width:650px){
  .ffcl-campaign,
  .ffcl-campaign section,
  .ffcl-campaign .ffcl-wrap{
    max-width:100%;
    overflow-x:hidden;
  }

  .ffcl-campaign .ffcl-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
  }

  .ffcl-campaign .ffcl-actions .ffcl-button{
    width:100%;
    max-width:100%;
    min-height:52px;
    padding:12px 16px;
    white-space:normal;
    text-align:center;
    line-height:1.15;
    font-size:1rem;
  }

  .ffcl-package-price-card{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding:26px 24px;
  }

  .ffcl-big-price{
    font-size:clamp(4.2rem,22vw,5.6rem);
    line-height:.9;
  }

  .ffcl-package-list{
    min-width:0;
    width:100%;
  }

  .ffcl-package-list h2{
    font-size:clamp(2rem,10vw,3rem);
    overflow-wrap:anywhere;
  }

  .ffcl-owner-map{
    width:100%;
    gap:10px;
    margin-top:28px;
  }

  .ffcl-owner-core,
  .ffcl-orbit{
    min-width:0;
    padding:18px 12px;
  }

  .ffcl-campaign-hero-grid,
  .ffcl-package-grid,
  .ffcl-about-grid,
  .ffcl-final-grid{
    min-width:0;
  }
}

/* V0.6.2 customer-journey visual alignment
   Applies to payment confirmation, questionnaire and questionnaire-received pages.
   Landing-page desktop/tablet/mobile campaign styling remains unchanged. */
.ffcl .ffcl-simple{
  background:#f4efe6;
  color:#20262b;
  padding:72px 0;
}
.ffcl .ffcl-simple .ffcl-narrow{
  background:#fff;
  border-top:8px solid #021c2d;
  padding:clamp(28px,5vw,56px);
  box-shadow:0 18px 55px rgba(2,28,45,.08);
}
.ffcl .ffcl-simple .ffcl-eyebrow{
  color:#e8a11c;
  font-weight:900;
  letter-spacing:.12em;
}
.ffcl .ffcl-simple h1,
.ffcl .ffcl-simple h2,
.ffcl .ffcl-simple h3{
  color:#021c2d;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-transform:none;
  letter-spacing:-.035em;
}
.ffcl .ffcl-simple h1{
  font-size:clamp(2.6rem,6vw,5rem);
  line-height:.98;
  max-width:900px;
}
.ffcl .ffcl-simple .ffcl-lead{
  color:#4e5860;
  max-width:820px;
}
.ffcl .ffcl-simple .ffcl-button{
  background:#e8a11c;
  border-color:#e8a11c;
  color:#021c2d!important;
  border-radius:6px;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-weight:900;
}
.ffcl .ffcl-simple .ffcl-notice{
  background:#f8f4ea;
  border-left:5px solid #e8a11c;
  border-radius:0;
  color:#38434a;
}
.ffcl .ffcl-simple .ffcl-privacy-note{
  background:#f8f8f6;
  border-left:5px solid #021c2d;
  color:#4e5860;
}
.ffcl .ffcl-simple .ffcl-form{
  border:1px solid rgba(2,28,45,.14);
  box-shadow:none;
}
.ffcl .ffcl-simple .ffcl-form-section{
  border-color:rgba(2,28,45,.14);
}
.ffcl .ffcl-simple .ffcl-form input[type="text"],
.ffcl .ffcl-simple .ffcl-form input[type="email"],
.ffcl .ffcl-simple .ffcl-form input[type="tel"],
.ffcl .ffcl-simple .ffcl-form input[type="url"],
.ffcl .ffcl-simple .ffcl-form input:not([type]),
.ffcl .ffcl-simple .ffcl-form textarea{
  border-color:rgba(2,28,45,.22);
}
.ffcl .ffcl-simple .ffcl-form input:focus,
.ffcl .ffcl-simple .ffcl-form textarea:focus{
  outline:3px solid rgba(232,161,28,.22);
  border-color:#e8a11c;
}
.ffcl .ffcl-simple a:not(.ffcl-button){
  color:#021c2d;
  text-decoration-color:#e8a11c;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

@media(max-width:650px){
  .ffcl .ffcl-simple{
    padding:30px 0;
  }
  .ffcl .ffcl-simple .ffcl-narrow{
    padding:24px 18px 30px;
    width:min(calc(100% - 24px),820px);
  }
  .ffcl .ffcl-simple h1{
    font-size:clamp(2.35rem,12vw,3.5rem);
  }
  .ffcl .ffcl-simple .ffcl-button{
    width:100%;
    text-align:center;
    white-space:normal;
    padding:12px 16px;
  }
  .ffcl .ffcl-simple .ffcl-form{
    padding:20px 16px;
  }
}

