/* ============================================================
   IMC Brasil África — homepage sections (WordPress theme port)
   Loaded alongside style.css. Scoped under .fin-home so it never
   leaks into the theme's existing header/footer/nav/other pages.
   ============================================================ */

:root{
  --fin-navy:#1c2b3d;
  --fin-navy-2:#16212f;
  --fin-cyan:#29d3e0;
  --fin-cyan-dark:#1fb8c4;
  --fin-ink:#1c2430;
  --fin-muted:#78828d;
  --fin-bg-light:#f6f7f9;
  --fin-white:#fff;
  --fin-radius:10px;
  --fin-radius-lg:16px;
  --fin-shadow:0 20px 50px rgba(20,30,45,.08);
  --fin-container:1220px;
}

.fin-home{
  font-family:'Inter',sans-serif;
  color:var(--fin-ink);
  background:var(--fin-white);
  -webkit-font-smoothing:antialiased;
}

/* ---------- homepage header ----------
   header.php is shared site-wide (solid white bar). This file only loads
   on the front page (see functions.php), so it's safe to reskin the
   shared .site-header here to the dark navy that blends into the hero —
   matching the reference build — without touching it on any other page. */
.site-header{
  --header-bg: var(--fin-navy);
  --header-border: rgba(255,255,255,.12);
  --header-text: #ffffff;
  --header-text-2: rgba(255,255,255,.65);
  --accent: var(--fin-cyan);
}
.site-header .navbar{background:var(--fin-navy);backdrop-filter:none}
.site-header .icon-btn{color:#fff;border-color:rgba(255,255,255,.25)}
.site-header .icon-btn:hover{background:rgba(255,255,255,.12)}
.site-header .lang-switch__trigger:hover{background:rgba(255,255,255,.1)}
/* :where() carries zero specificity, so these stay as weak as bare tag
   selectors (losing to any single-class BEM rule like .fin-hero__headline)
   while still being scoped to .fin-home only — never touches other pages. */
:where(.fin-home) img{max-width:100%;display:block}
:where(.fin-home) a{color:inherit;text-decoration:none}
:where(.fin-home) h1,:where(.fin-home) h2,:where(.fin-home) h3,:where(.fin-home) h4{
  font-family:'Poppins',sans-serif;
  margin:0;
  color:var(--fin-ink);
  line-height:1.25;
}
:where(.fin-home) p{margin:0;color:var(--fin-muted);line-height:1.7}
:where(.fin-home) button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
:where(.fin-home) ul{margin:0;padding:0;list-style:none}


.fin-wrap{max-width:var(--fin-container);margin:0 auto;padding-inline:24px}

.fin-section{padding-block:88px}
.fin-section--tight{padding-block:60px}
@media (max-width:700px){
  .fin-section{padding-block:56px}
  .fin-section--tight{padding-block:40px}
}

.fin-eyebrow{
  font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--fin-cyan-dark);
  margin-bottom:10px;display:block;
}
.fin-section-head{max-width:640px;margin-bottom:44px}
.fin-section-head h2{font-size:clamp(26px,3.2vw,38px);font-weight:600;margin-bottom:12px}
.fin-section-head p{font-size:15px}
.fin-section-head--center{margin-inline:auto;text-align:center}

/* ---------- buttons ---------- */
.fin-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;
  padding:14px 26px;border-radius:6px;border:1.5px solid transparent;
  transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease;
  white-space:nowrap;
}
.fin-btn:hover{transform:translateY(-2px)}
.fin-btn--cyan{background:var(--fin-cyan);color:var(--fin-navy)}
.fin-btn--cyan:hover{background:var(--fin-cyan-dark)}
.fin-btn--outline-white{border-color:rgba(255,255,255,.55);color:#fff}
.fin-btn--outline-white:hover{background:#fff;color:var(--fin-navy)}
.fin-btn--outline-cyan{border-color:var(--fin-cyan);color:var(--fin-navy)}
.fin-btn--outline-cyan:hover{background:var(--fin-cyan);color:var(--fin-navy)}

/* ---------- carousel (shared mechanics; visuals are per-section) ---------- */
.fin-carousel{position:relative}
.fin-carousel__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.fin-carousel__viewport::-webkit-scrollbar{display:none}
.fin-carousel__track{display:flex;gap:24px}
.fin-carousel__item{scroll-snap-align:start;flex-shrink:0}
.fin-carousel__arrow{
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(28,43,61,.15);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--fin-ink);transition:background .2s ease,color .2s ease,border-color .2s ease;
  font-size:20px;
}
.fin-carousel__arrow:hover{background:var(--fin-navy);border-color:var(--fin-navy);color:#fff}
.fin-carousel__arrow--prev,.fin-carousel__arrow--next{margin-top:24px}

/* ---------- tabs (shared mechanics) ---------- */
.fin-tabs__panel[hidden]{display:none}

/* ---------- animated counters ---------- */
.fin-stat__num{font-family:'Poppins',sans-serif;font-weight:700}


/* ============================================================
   SECTION STYLES (generated)
   ============================================================ */

/* ---------- hero ---------- */
.fin-hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:center;
  background:var(--fin-navy);
  overflow:hidden;
  isolation:isolate;
}

.fin-hero__media{
  position:absolute;
  inset:0;
  z-index:0;
  background:var(--fin-navy);
}

.fin-hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.fin-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(22,33,47,.78) 0%, rgba(28,43,61,.72) 45%, rgba(16,24,34,.9) 100%),
    linear-gradient(90deg, rgba(16,24,34,.55) 0%, rgba(16,24,34,.15) 55%, rgba(16,24,34,.4) 100%);
}

.fin-hero__wrap{
  position:relative;
  z-index:1;
  width:100%;
}

.fin-hero__content{
  max-width:660px;
  padding-block:96px;
}

.fin-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 24px;
  padding:8px 16px;
  border:1px solid rgba(41,211,224,.4);
  border-radius:999px;
  background:rgba(41,211,224,.08);
  color:var(--fin-cyan);
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:.14em;
}

.fin-hero__headline{
  margin:0 0 24px;
  font-family:'Poppins',sans-serif;
  font-weight:400;
  font-size:44px;
  line-height:1.22;
  color:rgba(255,255,255,.88);
  letter-spacing:-.01em;
  max-width:100%;
}

.fin-hero__accent{
  display:inline;
  font-weight:700;
  color:var(--fin-white);
}

.fin-hero__subline{
  margin:0 0 40px;
  max-width:540px;
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:16.5px;
  line-height:1.7;
  color:rgba(255,255,255,.72);
}

.fin-hero__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
}

.fin-hero__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 32px;
  border-radius:var(--fin-radius);
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:14.5px;
  letter-spacing:.01em;
  text-decoration:none;
  white-space:nowrap;
  max-width:100%;
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}

.fin-hero__btn--solid{
  background:var(--fin-cyan);
  color:var(--fin-navy-2);
  box-shadow:0 14px 30px rgba(41,211,224,.28);
}

.fin-hero__btn--solid:hover{
  background:var(--fin-cyan-dark);
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(41,211,224,.36);
}

.fin-hero__btn--solid:focus-visible{
  outline:2px solid var(--fin-white);
  outline-offset:3px;
}

.fin-hero__btn--outline{
  border:1.5px solid rgba(255,255,255,.55);
  color:var(--fin-white);
  background:transparent;
}

.fin-hero__btn--outline:hover{
  border-color:var(--fin-white);
  background:rgba(255,255,255,.08);
  transform:translateY(-2px);
}

.fin-hero__btn--outline:focus-visible{
  outline:2px solid var(--fin-cyan);
  outline-offset:3px;
}

.fin-hero__arrow-glyph{
  display:inline-block;
  transition:transform .22s ease;
}

.fin-hero__btn--outline:hover .fin-hero__arrow-glyph{
  transform:translateX(4px);
}

.fin-hero__arrow{
  position:absolute;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(22,33,47,.35);
  color:var(--fin-white);
  font-size:22px;
  line-height:1;
  cursor:default;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(4px);
  transition:background-color .22s ease, border-color .22s ease, transform .22s ease;
}

.fin-hero__arrow:hover{
  background:var(--fin-cyan);
  border-color:var(--fin-cyan);
  color:var(--fin-navy-2);
}

.fin-hero__arrow--prev{ left:24px; }
.fin-hero__arrow--next{ right:24px; }

@media (max-width:900px){
  .fin-hero__headline{ font-size:36px; }
  .fin-hero__arrow{ width:44px; height:44px; font-size:19px; }
}

@media (max-width:600px){
  .fin-hero{ min-height:auto; }
  .fin-hero__content{ padding-block:120px 64px; max-width:100%; }
  .fin-hero__headline{ font-size:29px; }
  .fin-hero__subline{ font-size:15px; max-width:100%; }
  .fin-hero__actions{ flex-direction:column; align-items:stretch; gap:16px; }
  .fin-hero__btn{
    justify-content:center;
    white-space:normal;
    text-align:center;
    padding:16px 24px;
  }
  .fin-hero__arrow{ display:none; }
}

/* ---------- features-strip-1 ---------- */
.fin-features-strip-1 {
  background: var(--fin-bg-light);
  padding-block: 0 72px;
  position: relative;
  z-index: 2;
}

.fin-features-strip-1 .fin-wrap {
  margin-top: 48px;
}

.fin-features-strip-1__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.fin-features-strip-1__card {
  box-sizing: border-box;
  background: linear-gradient(180deg, var(--fin-navy) 0%, var(--fin-navy-2) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--fin-radius-lg);
  box-shadow: var(--fin-shadow);
  padding: 32px 28px 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.fin-features-strip-1__card:hover {
  transform: translateY(-6px);
  border-color: rgba(41, 211, 224, 0.35);
  box-shadow: 0 26px 60px rgba(20, 30, 45, 0.18);
}

.fin-features-strip-1__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(41, 211, 224, 0.35);
  margin-bottom: 24px;
  flex-shrink: 0;
  background: rgba(41, 211, 224, 0);
  transition: border-color 0.25s ease, background 0.25s ease;
}

.fin-features-strip-1__icon svg {
  width: 28px;
  height: 28px;
}

.fin-features-strip-1__card:hover .fin-features-strip-1__icon {
  border-color: rgba(41, 211, 224, 0.7);
  background: rgba(41, 211, 224, 0.08);
}

.fin-features-strip-1__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1.08rem;
  color: var(--fin-white);
  margin: 0 0 12px;
  line-height: 1.35;
}

.fin-features-strip-1__desc {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 0.92rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.68);
  margin: 0;
}

@media (max-width: 980px) {
  .fin-features-strip-1__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .fin-features-strip-1 .fin-wrap {
    margin-top: 32px;
  }

  .fin-features-strip-1__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .fin-features-strip-1__card {
    padding: 28px 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fin-features-strip-1__card,
  .fin-features-strip-1__icon {
    transition: none;
  }
}

/* ---------- solution-stepper ---------- */
.fin-solution-stepper{
  background:var(--fin-bg-light);
  padding-block:96px;
}

/* ---------- Head ---------- */
.fin-solution-stepper__head{
  max-width:680px;
  margin:0 auto 56px;
  text-align:center;
}
.fin-solution-stepper__eyebrow{
  display:inline-block;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fin-cyan-dark);
  margin-bottom:14px;
}
.fin-solution-stepper__heading{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:clamp(26px,3.4vw,38px);
  line-height:1.2;
  color:var(--fin-ink);
  margin:0 0 14px;
}
.fin-solution-stepper__intro{
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:17px;
  line-height:1.6;
  color:var(--fin-muted);
  margin:0;
}

/* ---------- Stepper ---------- */
.fin-solution-stepper__stepper{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:48px;
}
.fin-solution-stepper__stepper::before{
  content:"";
  position:absolute;
  top:24px;
  left:12.5%;
  right:12.5%;
  height:2px;
  background:rgba(28,43,61,.12);
  z-index:0;
}
.fin-solution-stepper__step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:8px;
  background:none;
  border:none;
  border-radius:var(--fin-radius);
  cursor:pointer;
  padding:8px;
  font-family:inherit;
  transition:background .2s ease;
}
.fin-solution-stepper__circle{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:16px;
  background:var(--fin-white);
  border:2px solid rgba(28,43,61,.18);
  color:var(--fin-muted);
  flex-shrink:0;
  transition:background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.fin-solution-stepper__step-label{
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:14px;
  letter-spacing:.04em;
  color:var(--fin-ink);
  margin-top:4px;
  transition:color .2s ease;
}
.fin-solution-stepper__step-caption{
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:13px;
  line-height:1.4;
  color:var(--fin-muted);
  max-width:170px;
}
.fin-solution-stepper__step:hover .fin-solution-stepper__circle{
  border-color:var(--fin-cyan);
  color:var(--fin-cyan-dark);
}
.fin-solution-stepper__step:hover .fin-solution-stepper__step-label{
  color:var(--fin-cyan-dark);
}
.fin-solution-stepper__step:focus-visible{
  outline:2px solid var(--fin-cyan);
  outline-offset:2px;
}
.fin-solution-stepper__step.is-active .fin-solution-stepper__circle{
  background:var(--fin-cyan);
  border-color:var(--fin-cyan);
  color:var(--fin-navy);
  box-shadow:0 6px 16px rgba(41,211,224,.35);
}
.fin-solution-stepper__step.is-active .fin-solution-stepper__step-label{
  color:var(--fin-cyan-dark);
}

/* ---------- Panels ---------- */
.fin-solution-stepper__panel{
  background:var(--fin-white);
  border-radius:var(--fin-radius-lg);
  box-shadow:var(--fin-shadow);
  padding:40px;
  max-width:100%;
}
.fin-solution-stepper__panel-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:40px;
  align-items:center;
}
.fin-solution-stepper__step-tag{
  display:inline-block;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--fin-cyan-dark);
  margin-bottom:12px;
}
.fin-solution-stepper__panel-heading{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:clamp(21px,2.4vw,26px);
  line-height:1.3;
  color:var(--fin-ink);
  margin:0 0 14px;
}
.fin-solution-stepper__panel-para{
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:15.5px;
  line-height:1.75;
  color:var(--fin-muted);
  margin:0;
}
.fin-solution-stepper__checklist{
  list-style:none;
  margin:0;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
  background:var(--fin-bg-light);
  border-radius:var(--fin-radius);
}
.fin-solution-stepper__checklist li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:15px;
  color:var(--fin-ink);
  line-height:1.4;
}
.fin-solution-stepper__check{
  flex:none;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--fin-cyan);
  color:var(--fin-navy);
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:1px;
}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .fin-solution-stepper__panel{
    padding:32px;
  }
  .fin-solution-stepper__panel-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
}

@media (max-width:600px){
  .fin-solution-stepper{
    padding-block:64px;
  }
  .fin-solution-stepper__stepper{
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:36px;
  }
  .fin-solution-stepper__stepper::before{
    display:none;
  }
  .fin-solution-stepper__step{
    flex-direction:row;
    text-align:left;
    gap:14px;
    padding:4px;
  }
  .fin-solution-stepper__circle{
    width:40px;
    height:40px;
    font-size:14px;
  }
  .fin-solution-stepper__step-caption{
    max-width:none;
  }
  .fin-solution-stepper__panel{
    padding:24px 20px;
  }
  .fin-solution-stepper__panel-grid{
    gap:24px;
  }
  .fin-solution-stepper__checklist{
    padding:20px;
    gap:14px;
  }
}

@media (max-width:360px){
  .fin-solution-stepper__panel{
    padding:20px 16px;
  }
}

/* ---------- blog-news ---------- */
.fin-blog-news {
  background: var(--fin-bg-light);
  padding-block: 88px;
}

.fin-blog-news__head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 48px;
}

.fin-blog-news__kicker {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--fin-cyan-dark);
  margin: 0 0 8px;
}

.fin-blog-news__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(26px, 3.4vw, 36px);
  line-height: 1.25;
  color: var(--fin-ink);
  margin: 0 0 16px;
}

.fin-blog-news__lead {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: var(--fin-muted);
  margin: 0;
}

.fin-blog-news .fin-carousel {
  position: relative;
}

.fin-blog-news .fin-carousel__viewport {
  overflow: hidden;
}

.fin-blog-news .fin-carousel__track {
  display: flex;
  gap: 24px;
  padding: 6px 6px 18px;
}

.fin-blog-news .fin-carousel__item {
  flex: 0 0 min(340px, 86vw);
  width: min(340px, 86vw);
  max-width: 100%;
}

.fin-blog-news__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--fin-white);
  border-radius: var(--fin-radius-lg);
  box-shadow: var(--fin-shadow);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}

.fin-blog-news__card:hover,
.fin-blog-news__card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 28px 60px rgba(20, 30, 45, .14);
}

.fin-blog-news__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--fin-navy-2);
}

.fin-blog-news__media:focus-visible {
  outline: 2px solid var(--fin-cyan);
  outline-offset: -2px;
}

.fin-blog-news__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.fin-blog-news__card:hover .fin-blog-news__media img,
.fin-blog-news__card:focus-within .fin-blog-news__media img {
  transform: scale(1.06);
}

.fin-blog-news__date {
  position: absolute;
  left: 18px;
  bottom: -22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: var(--fin-radius);
  background: var(--fin-cyan);
  box-shadow: 0 12px 24px rgba(28, 43, 61, .22);
  font-family: 'Poppins', sans-serif;
  color: var(--fin-navy);
  line-height: 1.05;
}

.fin-blog-news__date-day {
  font-size: 22px;
  font-weight: 700;
}

.fin-blog-news__date-month {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.fin-blog-news__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 40px 24px 24px;
}

.fin-blog-news__card-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.4;
  margin: 0 0 12px;
}

.fin-blog-news__card-title a {
  color: var(--fin-ink);
  text-decoration: none;
  transition: color .2s ease;
}

.fin-blog-news__card-title a:hover,
.fin-blog-news__card-title a:focus-visible {
  color: var(--fin-cyan-dark);
}

.fin-blog-news__card-title a:focus-visible {
  outline: 2px solid var(--fin-cyan);
  outline-offset: 2px;
}

.fin-blog-news__excerpt {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.65;
  color: var(--fin-muted);
  margin: 0 0 16px;
  flex: 1;
}

.fin-blog-news__more {
  align-self: flex-start;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .02em;
  color: var(--fin-navy);
  text-decoration: none;
  border-bottom: 2px solid var(--fin-cyan);
  padding-bottom: 3px;
  transition: color .2s ease, border-color .2s ease;
}

.fin-blog-news__more span {
  display: inline-block;
  transition: transform .2s ease;
}

.fin-blog-news__more:hover,
.fin-blog-news__more:focus-visible {
  color: var(--fin-cyan-dark);
}

.fin-blog-news__more:focus-visible {
  outline: 2px solid var(--fin-cyan);
  outline-offset: 2px;
}

.fin-blog-news__more:hover span,
.fin-blog-news__more:focus-visible span {
  transform: translateX(4px);
}

.fin-blog-news .fin-carousel__arrow {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: none;
  background: var(--fin-navy);
  color: var(--fin-white);
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(20, 30, 45, .2);
  transition: background .2s ease, transform .2s ease;
  z-index: 3;
}

.fin-blog-news .fin-carousel__arrow:hover {
  background: var(--fin-cyan-dark);
  transform: translateY(-50%) scale(1.06);
}

.fin-blog-news .fin-carousel__arrow:focus-visible {
  outline: 2px solid var(--fin-cyan);
  outline-offset: 2px;
}

.fin-blog-news .fin-carousel__arrow--prev {
  left: -8px;
}

.fin-blog-news .fin-carousel__arrow--next {
  right: -8px;
}

@media (max-width: 900px) {
  .fin-blog-news .fin-carousel__arrow--prev { left: -4px; }
  .fin-blog-news .fin-carousel__arrow--next { right: -4px; }
}

@media (max-width: 600px) {
  .fin-blog-news { padding-block: 60px; }
  .fin-blog-news__head { margin-bottom: 32px; }
  .fin-blog-news .fin-carousel__arrow {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }
  .fin-blog-news .fin-carousel__arrow--prev { left: 0; }
  .fin-blog-news .fin-carousel__arrow--next { right: 0; }
}

/* ---------- team-photo-grid ---------- */
.fin-team-photo-grid {
  padding-block: 96px;
  background: var(--fin-white);
}

.fin-team-photo-grid__head {
  max-width: 640px;
  margin: 0 auto 56px;
  text-align: center;
}

.fin-team-photo-grid__eyebrow {
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fin-cyan-dark);
  margin-bottom: 16px;
}

.fin-team-photo-grid__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 38px);
  line-height: 1.2;
  color: var(--fin-ink);
  margin: 0 0 16px;
}

.fin-team-photo-grid__lead {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: var(--fin-muted);
  margin: 0;
}

.fin-team-photo-grid__grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 0;
  padding: 0;
}

.fin-team-photo-grid__card {
  text-align: center;
  border-radius: var(--fin-radius-lg);
  transition: transform .3s ease;
}

.fin-team-photo-grid__card:hover,
.fin-team-photo-grid__card:focus-within {
  transform: translateY(-4px);
}

.fin-team-photo-grid__photo-wrap {
  position: relative;
  width: 100%;
  max-width: 320px;
  margin: 0 auto 24px;
  border-radius: var(--fin-radius-lg);
  overflow: hidden;
  box-shadow: var(--fin-shadow);
  aspect-ratio: 4 / 5;
  transition: box-shadow .3s ease;
}

.fin-team-photo-grid__card:hover .fin-team-photo-grid__photo-wrap,
.fin-team-photo-grid__card:focus-within .fin-team-photo-grid__photo-wrap {
  box-shadow: var(--fin-shadow-lg, var(--fin-shadow));
}

.fin-team-photo-grid__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.001);
  transition: transform .5s ease;
}

.fin-team-photo-grid__card:hover .fin-team-photo-grid__photo,
.fin-team-photo-grid__card:focus-within .fin-team-photo-grid__photo {
  transform: scale(1.04);
}

.fin-team-photo-grid__name {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: var(--fin-cyan-dark);
  margin: 0 0 4px;
}

.fin-team-photo-grid__role {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
  color: var(--fin-ink);
  margin: 0 0 12px;
}

.fin-team-photo-grid__desc {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  color: var(--fin-muted);
  margin: 0;
  max-width: 280px;
  margin-inline: auto;
}

@media (max-width: 900px) {
  .fin-team-photo-grid__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 24px;
  }
}

@media (max-width: 600px) {
  .fin-team-photo-grid {
    padding-block: 64px;
  }

  .fin-team-photo-grid__head {
    margin-bottom: 40px;
  }

  .fin-team-photo-grid__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .fin-team-photo-grid__photo-wrap {
    max-width: 280px;
    margin-bottom: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fin-team-photo-grid__card,
  .fin-team-photo-grid__photo-wrap,
  .fin-team-photo-grid__photo {
    transition: none;
  }
}

/* ---------- stats-counters ---------- */
/* ============================================================
   fin-stats-counters — stat strip with faded photo background
   Block: .fin-stats-counters | Children: .fin-stats-counters__*
   Shared/contract classes (not prefixed here): .fin-section,
   .fin-wrap, .fin-stat__num (animated-counter contract, see
   css/finance.css + js/finance.js)
   ============================================================ */

.fin-stats-counters {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: 72px;
  background-color: var(--fin-bg-light);
}

.fin-stats-counters__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url('../assets/team-group.jpeg');
  background-size: cover;
  background-position: center;
  filter: saturate(0.85) brightness(1.05);
}

.fin-stats-counters__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.93) 0%,
    rgba(255, 255, 255, 0.9) 50%,
    rgba(255, 255, 255, 0.93) 100%
  );
}

.fin-stats-counters__wrap {
  position: relative;
  z-index: 2;
}

.fin-stats-counters__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px 0;
}

.fin-stats-counters__col {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
  padding-inline: 24px;
  padding-block: 8px;
  border-radius: var(--fin-radius);
  transition: background-color 0.25s ease;
}

.fin-stats-counters__col:hover {
  background-color: rgba(41, 211, 224, 0.08);
}

/* Divider: a shared pseudo-element, re-pointed per breakpoint below.
   Desktop default = vertical divider before every column but the first. */
.fin-stats-counters__col::before {
  content: '';
  position: absolute;
  display: none;
  background: linear-gradient(
    180deg,
    rgba(41, 211, 224, 0) 0%,
    var(--fin-cyan) 50%,
    rgba(41, 211, 224, 0) 100%
  );
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 64px;
}

.fin-stats-counters__col:not(:first-child)::before {
  display: block;
}

.fin-stats-counters .fin-stat__num {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  line-height: 1.1;
  color: var(--fin-navy);
  letter-spacing: -0.01em;
  transition: color 0.25s ease, transform 0.25s ease;
}

.fin-stats-counters__col:hover .fin-stat__num {
  color: var(--fin-cyan-dark);
  transform: translateY(-2px);
}

.fin-stats-counters__label {
  margin: 12px 0 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--fin-ink);
  max-width: 220px;
}

/* ---------- tablet: 2x2 grid ---------- */
@media (max-width: 899px) and (min-width: 601px) {
  .fin-stats-counters__row {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
  }

  /* Reset the desktop rule, then re-point the divider to sit only
     between each row's left/right pair (2nd and 4th columns). */
  .fin-stats-counters__col:not(:first-child)::before {
    display: none;
  }

  .fin-stats-counters__col:nth-child(2n)::before {
    display: block;
  }
}

/* ---------- mobile: single column, horizontal dividers ---------- */
@media (max-width: 600px) {
  .fin-stats-counters {
    padding-block: 48px;
  }

  .fin-stats-counters__row {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .fin-stats-counters__col:nth-child(2n)::before {
    display: none;
  }

  .fin-stats-counters__col:not(:first-child)::before {
    display: block;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 64px;
    height: 2px;
    background: linear-gradient(
      90deg,
      rgba(41, 211, 224, 0) 0%,
      var(--fin-cyan) 50%,
      rgba(41, 211, 224, 0) 100%
    );
  }

  .fin-stats-counters .fin-stat__num {
    font-size: 2.4rem;
  }

  .fin-stats-counters__label {
    max-width: none;
  }
}

/* ---------- services-carousel ---------- */
/*
  Layout tokens (.fin-section, .fin-wrap, .fin-section-head, .fin-section-head--center,
  .fin-eyebrow, .fin-carousel base mechanics) come from the shared css/finance.css
  contract and are intentionally NOT redefined here.
*/

.fin-secteurs{
  background:var(--fin-bg-light);
}

/* carousel layout (section-specific visuals; mechanics are shared) */
.fin-secteurs__carousel{
  padding:0 56px;
}

.fin-secteurs__carousel .fin-carousel__viewport{
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.fin-secteurs__carousel .fin-carousel__viewport::-webkit-scrollbar{display:none;}

.fin-secteurs__carousel .fin-carousel__track{
  gap:28px;
  padding:14px 4px 24px;
}

.fin-secteurs__carousel .fin-carousel__item{
  flex:0 0 auto;
  width:270px;
  display:flex;
}

.fin-secteurs__item--active{
  z-index:2;
}

/* card */
.fin-secteurs__card{
  background:var(--fin-white);
  border-radius:var(--fin-radius-lg);
  box-shadow:var(--fin-shadow);
  padding:34px 28px;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  transition:transform .3s ease, box-shadow .3s ease;
}

.fin-secteurs__card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(20,30,45,.14);
}

.fin-secteurs__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(41,211,224,.12);
  color:var(--fin-cyan-dark);
  flex-shrink:0;
}

.fin-secteurs__icon svg{
  width:32px;
  height:32px;
}

.fin-secteurs__cardtitle{
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:19px;
  line-height:1.3;
  color:var(--fin-ink);
  margin:0;
}

.fin-secteurs__desc{
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:14.5px;
  line-height:1.65;
  color:var(--fin-muted);
  margin:0;
}

/* active / featured card */
.fin-secteurs__card--active{
  background:linear-gradient(160deg, var(--fin-cyan-dark) 0%, var(--fin-navy) 62%);
  box-shadow:0 30px 60px rgba(20,40,58,.38);
  transform:translateY(-14px) scale(1.03);
}

.fin-secteurs__card--active:hover{
  transform:translateY(-20px) scale(1.03);
  box-shadow:0 34px 66px rgba(20,40,58,.44);
}

.fin-secteurs__card--active .fin-secteurs__icon{
  background:rgba(255,255,255,.2);
  color:var(--fin-white);
}

.fin-secteurs__card--active .fin-secteurs__cardtitle,
.fin-secteurs__card--active .fin-secteurs__desc{
  color:var(--fin-white);
  text-shadow:0 1px 3px rgba(0,0,0,.22);
}

.fin-secteurs__card--active .fin-secteurs__desc{
  color:rgba(255,255,255,.94);
}

/* arrows — section-specific visual override of the shared .fin-carousel__arrow */
.fin-secteurs__carousel .fin-carousel__arrow{
  position:absolute;
  top:50%;
  margin-top:0; /* reset shared .fin-carousel__arrow--prev/--next margin-top:24px */
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(28,43,61,.12);
  background:var(--fin-white);
  color:var(--fin-navy);
  font-size:22px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:var(--fin-shadow);
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}

.fin-secteurs__carousel .fin-carousel__arrow:hover{
  background:var(--fin-cyan);
  border-color:var(--fin-cyan);
  color:var(--fin-white);
}

.fin-secteurs__carousel .fin-carousel__arrow:focus-visible{
  outline:2px solid var(--fin-cyan-dark);
  outline-offset:2px;
}

.fin-secteurs__carousel .fin-carousel__arrow--prev{ left:0; }
.fin-secteurs__carousel .fin-carousel__arrow--next{ right:0; }

/* responsive */
@media (max-width:900px){
  .fin-secteurs__carousel{ padding:0 44px; }
}

@media (max-width:600px){
  .fin-secteurs__carousel{ padding:0 8px 56px; }
  .fin-secteurs__carousel .fin-carousel__item{ width:82vw; }
  .fin-secteurs__carousel .fin-carousel__arrow{
    top:auto;
    bottom:-8px;
    transform:none;
  }
  .fin-secteurs__carousel .fin-carousel__arrow--prev{ left:calc(50% - 56px); }
  .fin-secteurs__carousel .fin-carousel__arrow--next{ right:calc(50% - 56px); }
  .fin-secteurs__card--active{ transform:translateY(0) scale(1.02); }
  .fin-secteurs__card--active:hover{ transform:translateY(-6px) scale(1.02); }
}

/* ---------- investment-tabs ---------- */
.fin-investment-tabs{
  background:var(--fin-bg-light);
  padding-block:96px;
}

.fin-investment-tabs__head{
  max-width:640px;
  margin-bottom:56px;
}

.fin-investment-tabs__eyebrow{
  display:inline-block;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fin-cyan-dark);
  margin-bottom:14px;
}

.fin-investment-tabs__title{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:clamp(28px,3.6vw,40px);
  line-height:1.2;
  color:var(--fin-ink);
  margin:0 0 14px;
}

.fin-investment-tabs__lead{
  font-family:'Inter',sans-serif;
  font-size:17px;
  line-height:1.6;
  color:var(--fin-muted);
  margin:0;
}

/* ---- tabs layout ---- */
.fin-investment-tabs__tabs{
  display:grid;
  grid-template-columns:minmax(0,340px) minmax(0,1fr);
  gap:40px;
  align-items:stretch;
}

.fin-investment-tabs__list{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}

.fin-investment-tabs .fin-tabs__btn{
  display:flex;
  align-items:center;
  gap:16px;
  width:100%;
  max-width:100%;
  text-align:left;
  background:var(--fin-white);
  border:none;
  border-left:4px solid transparent;
  border-radius:8px;
  padding:18px 20px;
  cursor:pointer;
  font-family:'Poppins',sans-serif;
  color:var(--fin-ink);
  box-shadow:0 2px 8px rgba(20,30,45,.04);
  transition:background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.fin-investment-tabs .fin-tabs__btn:hover{
  background:#eefdfe;
  transform:translateX(2px);
  box-shadow:0 4px 14px rgba(20,30,45,.08);
}

.fin-investment-tabs .fin-tabs__btn:focus-visible{
  outline:2px solid var(--fin-cyan-dark);
  outline-offset:2px;
}

.fin-investment-tabs .fin-tabs__btn.is-active{
  background:#e7fbfc;
  border-left-color:var(--fin-cyan);
}

.fin-investment-tabs__btn-num{
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:13px;
  color:var(--fin-muted);
  min-width:26px;
  transition:color .2s ease;
}

.fin-investment-tabs .fin-tabs__btn.is-active .fin-investment-tabs__btn-num{
  color:var(--fin-cyan-dark);
}

.fin-investment-tabs__btn-label{
  font-weight:600;
  font-size:15.5px;
  line-height:1.35;
}

/* ---- right panel ---- */
.fin-investment-tabs__panels{
  position:relative;
  min-width:0;
}

.fin-investment-tabs__panel{
  background:var(--fin-cyan);
  border-radius:var(--fin-radius-lg);
  padding:40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-areas:
    "text media"
    "cta  media";
  align-content:start;
  gap:28px 40px;
  height:100%;
  box-shadow:var(--fin-shadow);
}

.fin-investment-tabs__panel-text{
  grid-area:text;
  min-width:0;
}

.fin-investment-tabs__panel-title{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:26px;
  line-height:1.25;
  color:var(--fin-navy);
  margin:0 0 16px;
}

.fin-investment-tabs__panel-desc{
  font-family:'Inter',sans-serif;
  font-size:15.5px;
  line-height:1.7;
  color:var(--fin-navy-2);
  margin:0;
}

.fin-investment-tabs__panel-media{
  grid-area:media;
  min-width:0;
  overflow:hidden;
  border-radius:var(--fin-radius);
}

.fin-investment-tabs__img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  border-radius:var(--fin-radius);
  display:block;
  box-shadow:0 14px 34px rgba(20,30,45,.18);
  transition:transform .4s ease;
}

.fin-investment-tabs__panel-media:hover .fin-investment-tabs__img{
  transform:scale(1.04);
}

.fin-investment-tabs__cta{
  grid-area:cta;
  align-self:end;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--fin-white);
  color:var(--fin-navy);
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:14.5px;
  text-decoration:none;
  padding:13px 26px;
  border-radius:999px;
  transition:background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.fin-investment-tabs__cta:hover{
  background:var(--fin-navy);
  color:var(--fin-white);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(20,30,45,.2);
}

.fin-investment-tabs__cta:focus-visible{
  outline:2px solid var(--fin-navy);
  outline-offset:3px;
}

/* ---- responsive ---- */
@media (max-width:900px){
  .fin-investment-tabs__tabs{
    grid-template-columns:1fr;
  }
  .fin-investment-tabs__panel{
    grid-template-columns:1fr;
    grid-template-areas:
      "text"
      "media"
      "cta";
  }
  .fin-investment-tabs__img{
    min-height:200px;
  }
}

@media (max-width:600px){
  .fin-investment-tabs{
    padding-block:64px;
  }
  .fin-investment-tabs__head{
    margin-bottom:36px;
  }
  .fin-investment-tabs .fin-tabs__btn{
    padding:15px 16px;
  }
  .fin-investment-tabs__panel{
    padding:24px;
    border-radius:var(--fin-radius);
    gap:20px;
  }
  .fin-investment-tabs__panel-title{
    font-size:22px;
  }
  .fin-investment-tabs__img{
    min-height:180px;
  }
  .fin-investment-tabs__cta{
    width:100%;
    justify-content:center;
  }
}

/* ---------- testimonial-mosaic ---------- */
.fin-testimonial-mosaic{
  background:linear-gradient(180deg, color-mix(in srgb, var(--fin-cyan) 10%, transparent), color-mix(in srgb, var(--fin-cyan) 4%, transparent) 60%, var(--fin-bg-light));
  padding-block:96px;
}

.fin-testimonial-mosaic__wrap{
  display:grid;
  grid-template-columns:0.85fr 1fr;
  gap:64px;
  align-items:center;
}

/* ---- Left: quote column ---- */
.fin-testimonial-mosaic__text{
  max-width:480px;
}

.fin-testimonial-mosaic__mark{
  color:var(--fin-cyan);
  opacity:.55;
  margin-bottom:16px;
}

.fin-testimonial-mosaic__quote{
  margin:0 0 24px;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:clamp(24px, 2.6vw, 32px);
  line-height:1.42;
  color:var(--fin-navy);
  letter-spacing:-0.01em;
}

.fin-testimonial-mosaic__attribution{
  margin:0 0 16px;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:16px;
  color:var(--fin-cyan-dark);
}

.fin-testimonial-mosaic__lead{
  margin:0;
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.7;
  color:var(--fin-muted);
}

/* ---- Right: mosaic ---- */
.fin-testimonial-mosaic__mosaic{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:16px;
  aspect-ratio:1 / 0.92;
}

.fin-testimonial-mosaic__cell{
  position:relative;
  overflow:hidden;
  min-height:0;
  min-width:0;
}

/* quarter-circle style on the four outer corners of the whole mosaic */
.fin-testimonial-mosaic__cell--tl{ border-radius:56px 18px 18px 18px; }
.fin-testimonial-mosaic__cell--tr{ border-radius:18px 56px 18px 18px; }
.fin-testimonial-mosaic__cell--bl{ border-radius:18px 18px 18px 56px; }
.fin-testimonial-mosaic__cell--br{ border-radius:18px 18px 56px 18px; }

.fin-testimonial-mosaic__cell--photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}

.fin-testimonial-mosaic__cell--photo:hover img{
  transform:scale(1.06);
}

.fin-testimonial-mosaic__cell--card{
  background:linear-gradient(155deg, var(--fin-cyan), var(--fin-cyan-dark));
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:8px;
  padding:24px;
  box-shadow:var(--fin-shadow);
  cursor:default;
  transition:transform .3s ease, box-shadow .3s ease;
}

.fin-testimonial-mosaic__cell--card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px -14px color-mix(in srgb, var(--fin-cyan-dark) 55%, transparent);
}

.fin-testimonial-mosaic__icon{
  color:var(--fin-navy);
  flex-shrink:0;
}

.fin-testimonial-mosaic__cell--card p{
  margin:0;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:15px;
  line-height:1.35;
  color:var(--fin-navy);
}

/* ---- Responsive ---- */
@media (max-width:900px){
  .fin-testimonial-mosaic__wrap{
    grid-template-columns:1fr;
    gap:44px;
  }
  .fin-testimonial-mosaic__text{
    max-width:100%;
  }
  .fin-testimonial-mosaic__mosaic{
    aspect-ratio:1 / 0.75;
  }
}

@media (max-width:600px){
  .fin-testimonial-mosaic{
    padding-block:64px;
  }
  .fin-testimonial-mosaic__quote{
    font-size:22px;
  }
  .fin-testimonial-mosaic__mosaic{
    grid-template-columns:1fr;
    grid-template-rows:repeat(4, minmax(140px,1fr));
    aspect-ratio:auto;
    gap:14px;
  }
  .fin-testimonial-mosaic__cell--tl{ border-radius:40px 40px 14px 14px; }
  .fin-testimonial-mosaic__cell--tr{ border-radius:14px 14px 14px 14px; }
  .fin-testimonial-mosaic__cell--bl{ border-radius:14px 14px 14px 14px; }
  .fin-testimonial-mosaic__cell--br{ border-radius:14px 14px 40px 40px; }
  .fin-testimonial-mosaic__cell--card{
    padding:20px;
  }
}

/* ---------- cta-banner ---------- */
.fin-cta-banner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:96px;
  color:var(--fin-white);
  text-align:center;
}

.fin-cta-banner__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
}

.fin-cta-banner__overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(115deg,
      rgba(28,43,61,.94) 0%,
      rgba(28,43,61,.82) 32%,
      rgba(28,43,61,.55) 55%,
      rgba(41,211,224,.55) 78%,
      rgba(41,211,224,.72) 100%);
}

.fin-cta-banner__wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:720px;
}

.fin-cta-banner__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.35);
  color:var(--fin-cyan);
  backdrop-filter:blur(2px);
  margin-bottom:24px;
  transition:background .25s ease, transform .25s ease;
}

.fin-cta-banner:hover .fin-cta-banner__icon{
  background:rgba(255,255,255,.2);
  transform:translateY(-2px);
}

.fin-cta-banner__number-row{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
}

.fin-cta-banner__number{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:64px;
  line-height:1;
  color:var(--fin-cyan);
  text-shadow:0 10px 30px rgba(0,0,0,.25);
}

.fin-cta-banner__number-label{
  text-align:left;
  font-family:'Inter',sans-serif;
  font-size:14px;
  line-height:1.4;
  font-weight:500;
  color:rgba(255,255,255,.85);
  border-left:2px solid rgba(255,255,255,.35);
  padding-left:16px;
  max-width:180px;
}

.fin-cta-banner__heading{
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:clamp(24px,3.4vw,36px);
  line-height:1.25;
  margin:0 0 12px;
  color:var(--fin-white);
}

.fin-cta-banner__sub{
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:15px;
  color:rgba(255,255,255,.8);
  margin:0 0 24px;
}

.fin-cta-banner__email{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:19px;
  letter-spacing:.2px;
  color:var(--fin-navy);
  background:var(--fin-cyan);
  padding:16px 32px;
  border-radius:999px;
  text-decoration:none;
  box-shadow:var(--fin-shadow);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.fin-cta-banner__email:hover{
  background:var(--fin-cyan-dark);
  transform:translateY(-2px);
  box-shadow:0 24px 46px rgba(0,0,0,.28);
}

.fin-cta-banner__email:focus-visible{
  outline:2px solid var(--fin-white);
  outline-offset:3px;
}

@media (max-width:600px){
  .fin-cta-banner{
    padding-block:64px;
  }

  .fin-cta-banner__number-row{
    flex-direction:column;
    gap:8px;
    text-align:center;
  }

  .fin-cta-banner__number{
    font-size:52px;
  }

  .fin-cta-banner__number-label{
    text-align:center;
    border-left:none;
    border-top:2px solid rgba(255,255,255,.35);
    padding-left:0;
    padding-top:12px;
    max-width:none;
  }

  .fin-cta-banner__heading{
    font-size:24px;
  }

  .fin-cta-banner__email{
    width:100%;
    justify-content:center;
    font-size:16px;
    padding:16px 20px;
  }
}

/* ---------- features-strip-2 ---------- */
.fin-features-strip-2{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:96px;
  color:var(--fin-white);
}

.fin-features-strip-2__bg{
  position:absolute;
  inset:-20px;
  z-index:-1;
}
.fin-features-strip-2__bg-img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:blur(7px) brightness(.55) saturate(1.05);
  transform:scale(1.05);
}
.fin-features-strip-2__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(22,33,47,.88) 0%, rgba(28,43,61,.86) 45%, rgba(22,33,47,.92) 100%);
}

.fin-features-strip-2__wrap{
  position:relative;
  z-index:1;
  max-width:100%;
}

.fin-features-strip-2__head{
  text-align:center;
  max-width:640px;
  margin:0 auto 56px;
  padding-inline:8px;
}
.fin-features-strip-2__eyebrow{
  display:inline-block;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fin-cyan);
  margin-bottom:14px;
}
.fin-features-strip-2__title{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:clamp(24px,3.4vw,34px);
  line-height:1.25;
  margin:0;
  color:var(--fin-white);
}

.fin-features-strip-2__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.fin-features-strip-2__col{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:8px 24px 0;
  min-width:0;
}
.fin-features-strip-2__col + .fin-features-strip-2__col{
  border-left:1px solid rgba(255,255,255,.16);
}

.fin-features-strip-2__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:104px;
  height:104px;
  max-width:100%;
  aspect-ratio:1/1;
  border-radius:50%;
  border:1.5px solid rgba(41,211,224,.55);
  color:var(--fin-cyan);
  background:rgba(41,211,224,.06);
  margin-bottom:26px;
  transition:background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.fin-features-strip-2__badge svg{
  width:46px;
  height:46px;
  max-width:60%;
  max-height:60%;
}
.fin-features-strip-2__col:hover .fin-features-strip-2__badge{
  background:rgba(41,211,224,.16);
  border-color:var(--fin-cyan);
  transform:translateY(-4px);
}

.fin-features-strip-2__name{
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:19px;
  line-height:1.3;
  color:var(--fin-white);
  margin:0 0 12px;
}
.fin-features-strip-2__desc{
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:14.5px;
  line-height:1.65;
  color:rgba(255,255,255,.68);
  margin:0 0 26px;
  max-width:230px;
}

.fin-features-strip-2__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  padding:11px 26px;
  font-family:'Poppins',sans-serif;
  font-weight:500;
  font-size:13.5px;
  letter-spacing:.02em;
  color:var(--fin-white);
  border:1.5px solid rgba(255,255,255,.55);
  border-radius:999px;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.fin-features-strip-2__btn:hover{
  background:var(--fin-cyan);
  border-color:var(--fin-cyan);
  color:var(--fin-navy-2);
  transform:translateY(-2px);
}
.fin-features-strip-2__btn:focus-visible,
.fin-features-strip-2__col:focus-within .fin-features-strip-2__badge{
  outline:2px solid var(--fin-cyan);
  outline-offset:3px;
}

@media (max-width:900px){
  .fin-features-strip-2__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:48px;
  }
  .fin-features-strip-2__col:nth-child(3){
    border-left:1px solid rgba(255,255,255,.16);
  }
  .fin-features-strip-2__col:nth-child(2n+1){
    border-left:none;
  }
}

@media (max-width:600px){
  .fin-features-strip-2{
    padding-block:64px;
  }
  .fin-features-strip-2__grid{
    grid-template-columns:1fr;
    row-gap:44px;
  }
  .fin-features-strip-2__col{
    border-left:none !important;
    padding:0 16px;
  }
  .fin-features-strip-2__badge{
    width:88px;
    height:88px;
  }
  .fin-features-strip-2__desc{
    max-width:100%;
  }
}

@media (max-width:360px){
  .fin-features-strip-2__badge{
    width:76px;
    height:76px;
  }
}

/* ---------- partners-carousel ---------- */
.fin-partners{
  background:var(--fin-bg-light);
  padding-block:56px;
}

.fin-partners__eyebrow{
  margin:0 0 32px;
  text-align:center;
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fin-muted);
}

.fin-partners-carousel{
  position:relative;
}

.fin-partners-carousel__viewport{
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.fin-partners-carousel__viewport::-webkit-scrollbar{
  display:none;
}

.fin-partners-carousel__track{
  display:flex;
  gap:32px;
  margin:0;
  padding:0;
  list-style:none;
}

.fin-partners-carousel__item{
  flex:0 0 calc(25% - 24px);
  min-width:180px;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--fin-white);
  border-radius:var(--fin-radius);
  padding:32px 24px;
  box-shadow:var(--fin-shadow);
}

.fin-partners-carousel__item img{
  max-height:56px;
  min-height:48px;
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  transition:transform .3s ease;
}

.fin-partners-carousel__item:hover img,
.fin-partners-carousel__item:focus-within img{
  transform:scale(1.04);
}

.fin-partners-carousel__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(28,43,61,.12);
  background:var(--fin-white);
  color:var(--fin-navy);
  font-size:22px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:var(--fin-shadow);
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}

.fin-partners-carousel__arrow:hover{
  background:var(--fin-cyan);
  border-color:var(--fin-cyan);
  color:var(--fin-navy);
}

.fin-partners-carousel__arrow:focus-visible{
  outline:2px solid var(--fin-cyan);
  outline-offset:2px;
}

.fin-partners-carousel__arrow--prev{
  left:-14px;
}
.fin-partners-carousel__arrow--next{
  right:-14px;
}

@media (max-width:600px){
  .fin-partners{
    padding-block:40px;
  }
  .fin-partners-carousel__track{
    flex-direction:column;
    gap:16px;
    overflow:visible;
  }
  .fin-partners-carousel__item{
    flex:1 1 auto;
    width:100%;
    min-width:0;
  }
  .fin-partners-carousel__viewport{
    overflow:visible;
  }
  .fin-partners-carousel__arrow{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .fin-partners-carousel__viewport{
    scroll-behavior:auto;
  }
  .fin-partners-carousel__item img{
    transition:none;
  }
}

/* ---------- contact (kept: real AJAX form, WP-theme only) ---------- */
.fin-contact-lite{background:var(--fin-bg-light)}
.fin-contact-lite__wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.fin-contact-lite__info h2{font-size:clamp(24px,3vw,32px);font-weight:600;margin-block:10px 14px}
.fin-contact-lite__info p{font-size:15px;margin-bottom:24px;max-width:44ch}
.fin-contact-lite__list{display:flex;flex-direction:column;gap:10px}
.fin-contact-lite__list li{font-size:14px;color:var(--fin-ink);padding-left:18px;position:relative}
.fin-contact-lite__list li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--fin-cyan-dark)}
.fin-contact-lite__form{background:var(--fin-white);border-radius:var(--fin-radius-lg);padding:32px;box-shadow:var(--fin-shadow);display:flex;flex-direction:column;gap:18px}
.fin-contact-lite__form .field{position:relative}
.fin-contact-lite__form input,.fin-contact-lite__form textarea{
  width:100%;border:1px solid rgba(28,43,61,.15);border-radius:8px;padding:14px 16px;
  font-family:'Inter',sans-serif;font-size:14.5px;color:var(--fin-ink);background:var(--fin-white);resize:vertical;
}
.fin-contact-lite__form input:focus,.fin-contact-lite__form textarea:focus{outline:2px solid var(--fin-cyan);outline-offset:1px}
.fin-contact-lite__form label{font-size:12.5px;color:var(--fin-muted);margin-bottom:4px;display:block}
.fin-contact-lite__form .fin-btn{align-self:flex-start}
.fin-contact-lite__note{font-size:13.5px;color:var(--fin-cyan-dark)}
.fin-contact-lite__note.form-note--error{color:#c0392b}
@media (max-width:820px){
  .fin-contact-lite__wrap{grid-template-columns:1fr;gap:36px}
}