/* ==========================================================================
   AI Finance Partners, site stylesheet
   Brand: navy 1F3864, mid blue 2E75B6, gold C9A227, Arial throughout.
   No web fonts, deliberately. No outbound requests from any page.
   ========================================================================== */

:root{
  --navy:#1F3864;
  --navy-d:#16294A;
  --navy-l:#2A4574;
  --mid:#2E75B6;
  --gold:#C9A227;
  --gold-l:#DCB433;
  --ink:#555555;
  --soft:#C3D2E8;
  --mute:#9FB3D4;
  --grey:#F5F5F5;
  --line:#E2E7EF;
  --wrap:1240px;
  --wrap-wide:1440px;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:17px;
  line-height:1.62;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--mid)}
a:hover{color:var(--navy)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:10px 16px;border:2px solid var(--gold)}

/* ---------- header ---------- */
.site-head{background:var(--navy);color:#fff;position:relative;z-index:20}
.site-head .wrap{max-width:var(--wrap-wide);display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:24px}
.mark{font-size:19px;font-weight:bold;letter-spacing:1.6px;color:#fff;text-decoration:none;white-space:nowrap}
.mark span{color:var(--gold)}
.nav{display:flex;gap:26px;align-items:center}
.nav a{color:var(--soft);text-decoration:none;font-size:15px}
.nav a:hover,.nav a[aria-current="page"]{color:#fff}
.nav .cta{background:var(--gold);color:var(--navy);font-weight:bold;padding:10px 20px;border-radius:5px}
.nav .cta:hover{background:var(--gold-l);color:var(--navy)}
.burger{display:none;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:6px 4px}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--navy);min-height:790px;display:flex;align-items:center;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,30,60,.95) 0%,rgba(15,30,60,.82) 42%,rgba(15,30,60,.12) 78%,rgba(15,30,60,0) 100%)}
.hero .in{position:relative;width:100%;max-width:var(--wrap);margin:0 auto;padding:78px 28px;color:#fff}
.kick{font-size:13px;letter-spacing:3px;font-weight:bold;color:var(--gold);margin:0 0 20px;text-transform:uppercase}
h1{font-size:62px;line-height:1.05;letter-spacing:-.6px;margin:0 0 24px;font-weight:bold}
h1 em{font-style:normal;color:var(--gold)}
.rule{width:120px;height:3px;background:var(--gold);margin:0 0 26px;border:0}
.lede{font-size:20px;color:var(--soft);max-width:27em;margin:0 0 30px}
.cta-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--gold);color:var(--navy);font-weight:bold;font-size:17px;
     padding:16px 34px;border-radius:5px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--gold-l);color:var(--navy)}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.alt-link{color:var(--soft);font-size:16px;text-decoration:none;border-bottom:1px solid rgba(195,210,232,.35);padding-bottom:2px}
.alt-link:hover{color:#fff}
.cred{display:flex;align-items:flex-start;gap:22px;margin-top:44px;max-width:660px}
.cred .tile{background:#fff;border-radius:6px;padding:12px 15px;flex:0 0 auto}
.cred .tile img{height:44px;width:auto}
.cred p{font-size:13.5px;color:var(--mute);margin:0;line-height:1.55}

/* ---------- sections ---------- */
section{padding:78px 0}
.dark{background:var(--navy-d);color:#fff}
.dark h2,.dark h3{color:#fff}
.dark p{color:var(--soft)}
.tint{background:var(--grey)}
h2{color:var(--navy);font-size:36px;line-height:1.18;margin:0 0 18px;font-weight:bold}
h3{color:var(--navy);font-size:19px;margin:0 0 9px}
p{max-width:44em;margin:0 0 18px}
.lead-in{font-size:19px}
.num{font-size:13px;letter-spacing:3px;font-weight:bold;color:var(--gold);margin:0 0 12px;text-transform:uppercase}

/* full width image band */
.band{width:100%;height:320px;object-fit:cover}

/* two up, text and image */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split img{border-radius:8px}

/* tier cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:26px;margin-top:44px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.card>img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card .body{padding:22px 22px 26px}
.card.hero-card{border:2px solid var(--gold)}
.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:bold;color:var(--gold);margin:0 0 6px;text-transform:uppercase}
.card p{font-size:15px;margin:0}

/* KPI row */
.kpis{display:flex;gap:58px;flex-wrap:wrap;margin:28px 0 22px}
.kpis b{display:block;font-size:46px;color:var(--gold);line-height:1;font-weight:bold}
.kpis span{font-size:12.5px;letter-spacing:2px;color:var(--soft);text-transform:uppercase}

/* price cards */
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-top:34px}
.prices div{background:var(--grey);border-radius:8px;padding:22px}
.prices span{font-size:11px;letter-spacing:2.5px;font-weight:bold;color:var(--mid);text-transform:uppercase}
.prices b{display:block;color:var(--navy);font-size:26px;margin-top:6px}

/* image with overlaid CTA */
.overlay-band{position:relative}
.overlay-band>img{width:100%;height:440px;object-fit:cover}
.overlay-band .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,30,60,.93),rgba(15,30,60,.58) 55%,rgba(15,30,60,.12))}
.overlay-band .in{position:absolute;inset:0;display:flex;align-items:center}
.overlay-band .in .wrap{color:#fff;width:100%}
.overlay-band h2{color:#fff;max-width:23em}

/* ---------- footer ---------- */
.site-foot .wrap{max-width:var(--wrap-wide)}
.site-foot{background:var(--navy);color:var(--mute);padding:54px 0 40px;font-size:14px}
.site-foot a{color:var(--soft);text-decoration:none}
.site-foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.foot-grid h4{color:#fff;font-size:13px;letter-spacing:2px;margin:0 0 14px;text-transform:uppercase}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:9px}
.foot-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:22px;font-size:13px;
            display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* ---------- sticky mobile CTA ---------- */
.sticky-cta{display:none}

/* ---------- responsive ---------- */
@media(max-width:900px){
  body{font-size:16.5px}
  .nav{position:absolute;top:74px;left:0;right:0;background:var(--navy);flex-direction:column;
       align-items:stretch;gap:0;padding:8px 28px 20px;display:none;border-top:1px solid rgba(255,255,255,.12)}
  .nav.open{display:flex}
  .nav a{padding:13px 0;font-size:16px}
  .nav .cta{text-align:center;margin-top:10px}
  .burger{display:block}
  .hero{min-height:0}
  .hero .scrim{background:linear-gradient(180deg,rgba(15,30,60,.90),rgba(15,30,60,.72))}
  .hero .in{padding:56px 28px 64px}
  h1{font-size:38px}
  .lede{font-size:18px}
  h2{font-size:27px}
  section{padding:56px 0}
  .split{grid-template-columns:1fr;gap:28px}
  .band{height:220px}
  .overlay-band>img{height:auto;min-height:460px}
  .overlay-band .in{position:static}
  .overlay-band{display:grid}
  .overlay-band>img{grid-area:1/1}
  .overlay-band .scrim{grid-area:1/1;position:relative;background:rgba(15,30,60,.86)}
  .overlay-band .in{grid-area:1/1;position:relative;padding:48px 0}
  .kpis{gap:34px}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .cred{flex-direction:column;gap:16px}

  /* sticky CTA, mobile only */
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;
              background:var(--navy);border-top:2px solid var(--gold);padding:11px 16px;
              box-shadow:0 -6px 20px rgba(0,0,0,.22)}
  .sticky-cta a{display:block;background:var(--gold);color:var(--navy);font-weight:bold;
                text-align:center;padding:14px;border-radius:5px;text-decoration:none;font-size:16px}
  body{padding-bottom:78px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* ---------- landing page form ---------- */
form.aifp{max-width:660px;margin-top:34px}
form.aifp label{display:block;font-size:14px;font-weight:bold;color:var(--navy);margin:20px 0 6px}
form.aifp input,form.aifp textarea{width:100%;padding:13px 14px;font-family:inherit;font-size:16px;
  color:var(--ink);border:1px solid #c9d2e0;border-radius:4px;background:#fff}
form.aifp input:focus,form.aifp textarea:focus{outline:2px solid var(--mid);outline-offset:1px;border-color:var(--mid)}
form.aifp textarea{min-height:96px;resize:vertical}
form.aifp .req{color:var(--mid);font-weight:normal}
form.aifp .err{display:none;color:#B3261E;font-size:13.5px;margin-top:5px;font-weight:bold}
form.aifp .bad input,form.aifp .bad textarea{border-color:#B3261E;background:#FEF7F6}
form.aifp .bad .err{display:block}
.consent{margin-top:34px;background:#fff;border:1px solid #c9d2e0;border-left:4px solid var(--gold);
  border-radius:4px;padding:20px 22px;display:flex;gap:14px;align-items:flex-start}
.consent input{width:20px;height:20px;flex:0 0 20px;margin-top:3px;accent-color:var(--navy)}
.consent label{margin:0;font-weight:bold;color:var(--navy);font-size:15px;cursor:pointer}
.consent .note{font-weight:normal;color:var(--ink);font-size:14px;margin-top:5px;display:block}
.formnote{font-size:14px;color:#777;max-width:44em;margin-top:30px}
.formfail{display:none;background:#FEF7F6;border-left:4px solid #B3261E;padding:16px 18px;
  margin-top:22px;font-size:15px;color:#7A1C16}
.free-pill{display:inline-block;background:var(--gold);color:var(--navy);font-weight:bold;
  font-size:13px;letter-spacing:2px;padding:9px 18px;border-radius:4px;margin-bottom:24px;text-transform:uppercase}
.quote{font-size:27px;color:#fff;font-weight:bold;line-height:1.35;max-width:21em;margin:0}
.quote em{font-style:normal;color:var(--gold)}
.grid5{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px;margin-top:42px}
.grid5 p{font-size:15.5px;margin:0}
.circ{display:inline-block;width:34px;height:34px;line-height:34px;text-align:center;border-radius:50%;
  background:var(--navy);color:var(--gold);font-weight:bold;font-size:15px;margin-bottom:13px}
.shot-cap{font-size:13px;color:#888;margin:10px 0 0}
@media(max-width:900px){.quote{font-size:21px}}

/* legal block in the footer */
.foot-legal-block{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:26px}
.foot-legal-block p{font-size:12.5px;line-height:1.65;color:#8FA3C4;max-width:none;margin:0 0 11px}
.foot-legal-block p:first-child{color:#A9BEDC}
.foot-legal-block strong{color:#fff;font-weight:bold}
.foot-slogan{color:var(--soft);font-size:16px;margin:16px 0 6px}
.foot-blurb{margin-top:14px;max-width:32em}
.foot-badges{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.foot-badges span{border:1px solid rgba(201,162,39,.5);color:var(--gold);border-radius:3px;
  font-size:11px;letter-spacing:1.2px;padding:5px 10px;text-transform:uppercase}
.foot-grid ul{margin-bottom:0}
.foot-grid li{color:var(--mute)}

/* team headshots */
.person{margin:44px 0 18px}
.person img{width:300px;max-width:100%;border-radius:8px;border:1px solid var(--line)}
@media(max-width:760px){.person img{width:100%}}

/* ==========================================================================
   Campaign landing pages. Deliberately different from the main site:
   no nav, no footer links, one call to action, nothing to click away to.
   ========================================================================== */
.lp-head{background:var(--navy);padding:20px 0}
.lp-head .wrap{max-width:var(--wrap-wide);display:flex;align-items:center;justify-content:space-between;gap:20px}
.lp-head .mark{font-size:17px}
.lp-head .cred-line{font-size:12px;color:var(--mute);letter-spacing:.4px;text-align:right}
.lp-hero{background:var(--navy);color:#fff;padding:70px 0 78px}
.lp-hero h1{font-size:52px;line-height:1.08;max-width:20em;margin:0 0 22px}
.lp-hero h1 em{font-style:normal;color:var(--gold)}
.lp-hero .lede{font-size:20px;color:var(--soft);max-width:33em}
.lp-hero .rule{margin:26px 0 28px}
.lp-sec{padding:66px 0}
.lp-sec h2{font-size:32px;max-width:26em}
.lp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px;margin-top:38px}
.lp-cols h3{font-size:17.5px;margin-bottom:7px}
.lp-cols p{font-size:15.5px;margin:0}
.lp-num{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;
        background:var(--navy);color:var(--gold);font-weight:bold;font-size:14px;margin-bottom:12px}
.lp-quote{background:var(--navy-d);color:#fff;padding:58px 0}
.lp-quote p{font-size:26px;font-weight:bold;line-height:1.35;max-width:24em;margin:0;color:#fff}
.lp-quote em{font-style:normal;color:var(--gold)}
.lp-quote .who{font-size:14px;color:var(--mute);margin-top:20px;font-weight:normal}
.lp-proof{display:flex;gap:44px;flex-wrap:wrap;margin-top:30px}
.lp-proof div{max-width:19em}
.lp-proof b{display:block;color:var(--gold);font-size:15px;margin-bottom:5px}
.lp-proof p{font-size:14.5px;color:var(--soft);margin:0}
.lp-form-wrap{background:var(--grey);padding:66px 0}
.lp-form{max-width:620px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:34px 34px 38px}
.lp-form h2{font-size:27px;margin-bottom:10px}
.lp-form .sub{font-size:16px;margin-bottom:6px}
.lp-foot{background:var(--navy);color:var(--mute);padding:34px 0;font-size:12.5px}
.lp-foot p{max-width:none;margin:0 0 8px;line-height:1.6}
.lp-foot a{color:var(--soft)}
@media(max-width:900px){
  .lp-hero{padding:50px 0 56px}
  .lp-hero h1{font-size:34px}
  .lp-hero .lede{font-size:18px}
  .lp-sec{padding:48px 0}
  .lp-sec h2{font-size:26px}
  .lp-quote p{font-size:21px}
  .lp-head .cred-line{display:none}
  .lp-form{padding:26px 22px 30px}
}

/* campaign hero, now a full bleed image */
.lp-hero{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center;padding:0}
.lp-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lp-hero .scrim{position:absolute;inset:0;
  background:linear-gradient(95deg,rgba(15,30,60,.96) 0%,rgba(15,30,60,.86) 46%,rgba(15,30,60,.34) 82%,rgba(15,30,60,.12) 100%)}
.lp-hero .in{position:relative;width:100%;max-width:var(--wrap);margin:0 auto;padding:72px 28px;color:#fff}
@media(max-width:900px){
  .lp-hero{min-height:0}
  .lp-hero .scrim{background:linear-gradient(180deg,rgba(15,30,60,.93),rgba(15,30,60,.8))}
  .lp-hero .in{padding:52px 28px 58px}
}

/* inline article and page images */
.prose .shot{width:100%;border-radius:8px;margin:34px 0 0}
.prose .shot-cap{font-size:13.5px;color:#888;margin:10px 0 30px;font-style:italic}

/* ==========================================================================
   The six layers. Each layer pairs prose with a live mockup of the output.
   Mockups are real HTML, so they stay sharp and search can read them.
   ========================================================================== */
.layer{padding:70px 0;border-top:1px solid var(--line)}
.layer:nth-of-type(even){background:var(--grey)}
.layer .in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.layer:nth-of-type(even) .in{grid-template-columns:1fr 1fr}
.layer:nth-of-type(even) .prose-col{order:2}
.layer:nth-of-type(even) .mock-col{order:1}
.layer-no{font-size:11.5px;letter-spacing:3px;font-weight:bold;color:var(--gold);text-transform:uppercase;margin:0 0 10px}
.layer h2{font-size:31px;margin-bottom:16px}
.layer p{font-size:16.5px}
.layer .incl{font-size:14.5px;color:#6B7280;border-left:3px solid var(--gold);padding-left:16px;margin-top:24px}
.layer .incl b{color:var(--navy)}

/* the mockup card */
.mock{background:var(--navy);border-radius:10px;padding:24px 26px 28px;color:#fff;
      box-shadow:0 14px 34px rgba(31,56,100,.18)}
.mock-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
           border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:13px;margin-bottom:16px}
.mock-head b{font-size:15px;color:#fff}
.mock-head span{font-size:10.5px;letter-spacing:2px;color:var(--gold);text-transform:uppercase}
.mrow{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:baseline;
      padding:8px 0;font-size:14px;color:var(--soft)}
.mrow+.mrow{border-top:1px solid rgba(255,255,255,.07)}
.mrow b{color:#fff;font-weight:bold}
.mrow .v{color:#fff;font-variant-numeric:tabular-nums;text-align:right;min-width:62px}
.mrow .d{font-size:12.5px;color:var(--gold);text-align:right;min-width:56px}
.mrow.total{border-top:2px solid var(--gold);margin-top:6px;padding-top:11px}
.mrow.total b,.mrow.total .v{color:var(--gold);font-size:15px}
.mnote{font-size:12px;color:var(--mute);margin:14px 0 0;line-height:1.5}
.mtag{display:inline-block;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;
      border-radius:3px;padding:3px 7px;font-weight:bold}
.t-ok{background:rgba(201,162,39,.2);color:var(--gold)}
.t-warn{background:rgba(255,255,255,.14);color:#fff}
.t-done{background:rgba(46,117,182,.28);color:#BBD5F0}

/* KPI tiles inside a mockup */
.mkpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.mkpi{background:rgba(255,255,255,.06);border-radius:7px;padding:13px 15px}
.mkpi b{display:block;font-size:25px;color:var(--gold);line-height:1.1}
.mkpi span{font-size:9.5px;letter-spacing:1.6px;color:var(--mute);text-transform:uppercase}

/* CSS bar chart for the cash layer */
.mchart{display:flex;align-items:flex-end;gap:5px;height:132px;margin:6px 0 4px}
.mchart div{flex:1;background:linear-gradient(180deg,#3F6099,#2A4574);border-radius:2px 2px 0 0;position:relative}
.mchart div.low{background:linear-gradient(180deg,var(--gold),#9E7F1E)}
.mchart div span{position:absolute;bottom:-19px;left:0;right:0;text-align:center;
                 font-size:9.5px;color:var(--mute)}
.mchart-x{height:16px}

.layers-divider{background:var(--navy-d);color:#fff;padding:52px 0;text-align:center}
.layers-divider p{max-width:34em;margin:0 auto;color:var(--soft)}
.layers-divider h2{color:#fff;font-size:29px;margin-bottom:12px}

.sa-block{background:#fff;border:2px solid var(--gold);border-radius:10px;padding:30px 32px;margin-top:16px}
.sa-block h3{font-size:22px;margin-bottom:8px}
.sa-block p{font-size:16px;margin-bottom:20px}

@media(max-width:900px){
  .layer{padding:50px 0}
  .layer .in{grid-template-columns:1fr;gap:30px}
  .layer:nth-of-type(even) .prose-col{order:1}
  .layer:nth-of-type(even) .mock-col{order:2}
  .layer h2{font-size:25px}
  .mock{padding:20px 20px 24px}
  .mkpis{grid-template-columns:1fr 1fr}
}

/* ==========================================================================
   Self assessment. Runs entirely in the browser. Nothing is sent anywhere.
   ========================================================================== */
.sa-privacy{background:var(--navy-d);color:var(--soft);border-radius:8px;padding:18px 22px;
            font-size:14.5px;margin:0 0 34px;border-left:4px solid var(--gold)}
.sa-privacy strong{color:#fff}
.sa-q{border:1px solid var(--line);border-radius:10px;padding:26px 28px 22px;margin-bottom:20px;background:#fff}
.sa-q .qn{font-size:11.5px;letter-spacing:2.6px;color:var(--gold);font-weight:bold;text-transform:uppercase;margin:0 0 8px}
.sa-q h3{font-size:20px;margin-bottom:16px}
.sa-opt{display:block;border:1px solid var(--line);border-radius:7px;padding:13px 16px;margin-bottom:9px;
        cursor:pointer;font-size:15.5px;color:var(--ink);transition:border-color .12s,background .12s}
.sa-opt:hover{border-color:var(--mid);background:#FAFCFF}
.sa-opt input{margin-right:11px;accent-color:var(--navy)}
.sa-opt.sel{border-color:var(--gold);background:#FFFCF2;box-shadow:inset 0 0 0 1px var(--gold)}
.sa-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:16px 0;
        margin-top:14px;z-index:10}
.sa-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.sa-prog{font-size:14px;color:#777}
.sa-prog b{color:var(--navy)}

/* the curve */
.curve{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:30px 0 8px}
.curve div{background:var(--grey);border-radius:7px;padding:14px 10px;text-align:center;
           border:2px solid transparent}
.curve div b{display:block;font-size:14px;color:var(--navy)}
.curve div span{font-size:11px;color:#888;letter-spacing:.4px}
.curve div.here{background:var(--navy);border-color:var(--gold)}
.curve div.here b{color:var(--gold)}
.curve div.here span{color:var(--soft)}
.sa-result{display:none}
.sa-result.show{display:block}
.sa-lens{border-left:3px solid var(--gold);padding:4px 0 4px 18px;margin-bottom:22px}
.sa-lens h4{color:var(--navy);font-size:17px;margin:0 0 5px}
.sa-lens p{font-size:15.5px;margin:0}
.sa-lens .stage{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--mid);font-weight:bold}
@media(max-width:760px){ .curve{grid-template-columns:1fr 1fr} }

/* campaign mid page band with a caption */
.lp-band{position:relative;line-height:0}
.lp-band>img{width:100%;height:300px;object-fit:cover}
.lp-band-cap{position:absolute;inset:0;display:flex;align-items:flex-end;
  background:linear-gradient(180deg,rgba(15,30,60,0) 30%,rgba(15,30,60,.86) 100%)}
.lp-band-cap .wrap{max-width:var(--wrap);width:100%;padding-bottom:30px}
.lp-band-cap p{color:#fff;font-size:22px;font-weight:bold;line-height:1.35;
  max-width:26em;margin:0;text-shadow:0 1px 14px rgba(0,0,0,.4)}
@media(max-width:900px){
  .lp-band>img{height:220px}
  .lp-band-cap p{font-size:17px}
}

/* CARE callout */
.care-block{background:var(--navy);color:#fff;border-radius:10px;padding:32px 34px 34px;margin:36px 0}
.care-block .care-eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:bold;color:var(--gold);
  text-transform:uppercase;margin:0 0 12px}
.care-block h3{color:#fff;font-size:24px;margin-bottom:14px;max-width:22em}
.care-block p{color:var(--soft);font-size:16px;max-width:44em}
.care-block p:last-child{margin-bottom:0}
@media(max-width:900px){.care-block{padding:24px 22px 26px}.care-block h3{font-size:20px}}

/* article hero image, sits under the byline */
.article-hero{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin:0 0 38px}

/* ---- comparison table, management accounts page ---- */
.cmp-wrap{overflow-x:auto;margin:34px 0 0}
table.cmp{border-collapse:collapse;width:100%;min-width:660px;font-size:15px}
table.cmp th,table.cmp td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
table.cmp thead th{background:var(--navy);color:#fff;font-size:12.5px;letter-spacing:1.4px;text-transform:uppercase;border:0}
table.cmp thead th:last-child{background:var(--navy-d)}
table.cmp tbody th{font-weight:bold;color:var(--navy);width:26%}
table.cmp tbody th small{display:block;font-weight:normal;color:#888;font-size:13px;margin-top:3px}
table.cmp td:last-child{background:#FBF7E9;color:var(--navy);font-weight:bold}
table.cmp .no{color:#BBB}
.cmp-note{font-size:14.5px;color:#888;margin-top:14px}

/* ---- worked scenarios ---- */
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;margin-top:38px}
.case{border:1px solid var(--line);border-radius:7px;padding:26px 24px;background:#fff}
.case .sector{font-size:11.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold);font-weight:bold;margin:0 0 9px}
.case h3{font-size:20px;color:var(--navy);margin:0 0 16px;line-height:1.25}
.case .lbl{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;font-weight:bold;margin:18px 0 6px;color:#999}
.case .lbl.good{color:var(--mid)}
.case p{font-size:15px;margin:0}

/* ---- articles index, two featured pieces above the rest ---- */
.art-features{display:grid;gap:30px;margin:38px 0 0}
.art-feature{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.art-feature-img{display:block;line-height:0}
.art-feature-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.art-feature-body{padding:26px 26px 28px}
.art-feature-body h2 a:hover{color:var(--gold)}
@media(min-width:760px){.art-features{grid-template-columns:1fr 1fr}}

/* page hero image, sits under the lede on markdown built pages */
.page-hero{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin:8px 0 40px}

/* cmp table without the "this is the AIFP column" highlight, for tables where the
   last column is just information rather than the answer */
table.cmp.plain td:last-child{background:transparent;color:var(--body,#555);font-weight:normal}

/* CARE logo, sits on a white chip because the artwork is navy on white and the
   block behind it is navy. Do not key the white out, the shield uses a white
   inner outline that would vanish against the block. */
.care-block .care-logo{display:block;background:#fff;border-radius:8px;padding:15px 20px;
  width:360px;max-width:78%;height:auto;margin:0 0 20px}
