/* ===========================================================
   CENTFLOW GLOBAL — DESIGN SYSTEM
   Palette:
     --ink       #0E2A3B  (deep navy — primary text, dark sections)
     --teal      #135273  (secondary navy-teal — headers, accents)
     --coral     #E2636F  (signature accent — from logo dots)
     --coral-deep#C94955  (coral hover/deep)
     --sand      #F6F4EF  (warm off-white background)
     --mist      #EEF3F5  (cool light background for alt sections)
     --line      #DDE4E7  (hairline borders)
   Type:
     Display : "Fraunces"  (serif, financial gravitas, distinct from Befree's sans)
     Body/UI : "Inter"
   Signature element: the flowing "C" line-motif from the mark, used as a
   section divider / underline treatment.
=========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --ink:#0E2A3B;
  --teal:#135273;
  --teal-soft:#1C6E93;
  --coral:#E2636F;
  --coral-deep:#C94955;
  --sand:#F6F4EF;
  --mist:#EEF3F5;
  --line:#DDE4E7;
  --white:#FFFFFF;
  --text-soft:#4B6473;
  --radius:14px;
  --max:1200px;
  --shadow:0 10px 30px -12px rgba(14,42,59,0.18);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{
  font-family:'Fraunces',serif;
  font-weight:600;
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:-0.01em;
}
p{margin:0 0 1em;color:var(--text-soft);}
.container{max-width:var(--max);margin:0 auto;padding:0 28px;}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

/* ---------- eyebrow / label ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";width:22px;height:2px;background:var(--coral);border-radius:2px;
}

/* ---------- signature wave divider (from the "C" mark) ---------- */
.wave-divider{
  width:100%;
  height:46px;
  display:block;
}
.wave-divider svg{width:100%;height:100%;display:block;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.95rem;
  padding:14px 26px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn-outline{border-color:rgba(255,255,255,.5);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--white);}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.btn-sm{padding:10px 18px;font-size:.85rem;}

/* ============================= HEADER ============================= */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;max-width:var(--max);margin:0 auto;gap:24px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;}
.brand img{height:52px;width:auto;}
.main-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center;}
.main-nav > li{position:relative;}
.main-nav > li > a{
  display:flex;align-items:center;gap:5px;padding:10px 14px;border-radius:8px;
  font-weight:600;font-size:.92rem;color:var(--ink);
}
.main-nav > li > a:hover{color:var(--teal);background:var(--mist);}
.caret{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6;}
.dropdown{
  position:absolute;top:calc(100% + 10px);left:0;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:14px;min-width:270px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.main-nav > li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:10px 12px;border-radius:8px;font-size:.88rem;font-weight:600;
}
.dropdown a small{display:block;font-weight:400;color:var(--text-soft);font-size:.78rem;margin-top:2px;}
.dropdown a:hover{background:var(--mist);color:var(--teal);}
.header-actions{display:flex;align-items:center;gap:10px;}
.country-pill{
  display:flex;align-items:center;gap:6px;border:1px solid var(--line);
  border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:600;
}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.mobile-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px;}

@media (max-width:1080px){
  .main-nav{display:none;}
  .header-actions .country-pill{display:none;}
  .mobile-toggle{display:block;}
  .main-nav.open{
    display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--white);border-bottom:1px solid var(--line);padding:10px 20px 20px;
    box-shadow:var(--shadow);
  }
  .main-nav.open > li{width:100%;}
  .main-nav.open .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:4px 0 4px 14px;display:none;}
  .main-nav.open > li:hover .dropdown{display:block;}
}

/* ============================= HERO ============================= */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--ink) 0%, var(--teal) 62%, var(--teal-soft) 100%);
  color:var(--white);padding:96px 0 0;
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;
  padding-bottom:70px;
}
.hero h1{font-size:clamp(2.3rem,4.2vw,3.6rem);color:var(--white);}
.hero h1 em{font-style:normal;color:var(--coral);}
.hero p.lead{color:rgba(255,255,255,.82);font-size:1.08rem;max-width:520px;}
.hero-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.hero-badges{display:flex;gap:26px;margin-top:46px;flex-wrap:wrap;}
.hero-badges div{font-size:.78rem;color:rgba(255,255,255,.7);font-weight:600;letter-spacing:.03em;}
.hero-badges strong{display:block;color:var(--white);font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600;}
.hero-art{
  position:relative;aspect-ratio:1/1;border-radius:28px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;
}
.hero-art .mark{width:52%;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));}

/* logo-mark motif dots scattered */
.hero::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(226,99,111,.5) 2px, transparent 2px);
  background-size:34px 34px;opacity:.15;pointer-events:none;
}

/* trust strip */
.trust-strip{background:var(--ink);padding:20px 0;}
.trust-strip .container{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
}
.trust-strip p{margin:0;color:rgba(255,255,255,.55);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;}
.trust-logos{display:flex;gap:34px;flex-wrap:wrap;}
.trust-logos span{color:rgba(255,255,255,.75);font-weight:700;font-family:'Fraunces',serif;font-size:1.05rem;letter-spacing:.02em;}

/* ============================= SECTIONS ============================= */
section{padding:96px 0;}
.section-head{max-width:680px;margin-bottom:56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(1.8rem,3vw,2.5rem);}
.bg-mist{background:var(--mist);}
.bg-ink{background:var(--ink);color:var(--white);}
.bg-ink p{color:rgba(255,255,255,.7);}
.bg-ink h2,.bg-ink h3{color:var(--white);}

/* Why Centflow cards */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.why-card{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--white),var(--acc-soft));border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px;transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background .3s ease, border-color .3s ease;
}
.why-card::before{
  content:"";position:absolute;top:-20px;right:-20px;width:120px;height:120px;
  background:url('mark.png') center/contain no-repeat;opacity:.05;pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.why-card:nth-child(1){--acc:var(--teal);--acc-soft:var(--c2-soft);}
.why-card:nth-child(2){--acc:var(--coral);--acc-soft:var(--c3-soft);}
.why-card:nth-child(3){--acc:var(--amber);--acc-soft:var(--c4-soft);}
.why-card:nth-child(4){--acc:var(--c5);--acc-soft:var(--c5-soft);}
.why-card:nth-child(5){--acc:var(--c1);--acc-soft:var(--c1-soft);}
.why-card:nth-child(6){--acc:var(--c7);--acc-soft:var(--c7-soft);}
.why-card:hover{
  transform:translateY(-8px) scale(1.045);box-shadow:0 26px 50px -20px rgba(14,42,59,.3);
  border-color:transparent;background:linear-gradient(150deg,var(--acc-soft),var(--acc) 150%);
}
.why-card:hover::before{opacity:.1;transform:scale(1.15);}
.why-card .ico{
  width:48px;height:48px;border-radius:12px;background:var(--mist);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--teal);
  transition:background .3s ease, transform .3s ease;position:relative;z-index:1;
}
.why-card:hover .ico{background:var(--acc);color:#fff;transform:scale(1.1) rotate(-4deg);}
.why-card h3{font-size:1.12rem;margin-bottom:8px;position:relative;z-index:1;}
.why-card p{margin:0;font-size:.94rem;position:relative;z-index:1;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px;}
.stat-row .stat{text-align:center;border-left:1px solid var(--line);}
.stat-row .stat:first-child{border-left:none;}
.stat strong{display:block;font-family:'Fraunces',serif;font-size:2.1rem;color:var(--teal);}
.stat span{font-size:.82rem;color:var(--text-soft);font-weight:600;}

/* services grid (home teaser) */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.service-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 22px;display:flex;flex-direction:column;gap:10px;
  transition:transform .2s ease, box-shadow .2s ease;
  position:relative;
}
.service-card::before{
  content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:transparent;
  border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);
}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.service-card .ico{
  width:42px;height:42px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;color:var(--white);
  background:var(--coral);
}
.service-card h3{font-size:1.02rem;margin:0;}
.service-card p{font-size:.88rem;margin:0;}
.service-card .link{margin-top:auto;font-size:.82rem;font-weight:700;color:var(--teal);}

.who-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px;}
.who-card{
  background:var(--mist);border-radius:var(--radius);padding:22px;
  display:flex;align-items:center;gap:14px;font-weight:700;font-size:.95rem;
}
.who-card .dot{width:38px;height:38px;border-radius:50%;background:var(--teal);flex:none;}

/* testimonials */
.testi-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;}
.testi-video{
  aspect-ratio:4/3;border-radius:var(--radius);background:linear-gradient(150deg,var(--teal),var(--ink));
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
}
.play-btn{
  width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.16);
  border:1.5px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;
}
.play-btn::after{content:"";border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px;}
.testi-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:16px;}
.testi-card p{font-style:italic;color:var(--ink);font-size:1.02rem;}
.testi-card .who{display:flex;align-items:center;gap:12px;margin-top:14px;}
.testi-card .avatar{width:40px;height:40px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Fraunces',serif;flex:none;}
.testi-card .who strong{display:block;font-size:.9rem;}
.testi-card .who span{font-size:.8rem;color:var(--text-soft);}

/* Hire section */
.hire-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.hire-card{
  border:1px solid var(--line);border-top:3px solid transparent;border-radius:var(--radius);padding:28px;background:var(--white);
  display:flex;flex-direction:column;gap:12px;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.hire-card h3{font-size:1.1rem;}
.hire-card ul li{font-size:.9rem;color:var(--text-soft);padding-left:18px;position:relative;margin-bottom:6px;}
.hire-card ul li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--btn-accent,#E8962A);border-radius:50%;}
.hire-card.tint-c1{background:var(--c1-soft);border-top-color:var(--c1);}
.hire-card.tint-c2{background:var(--c2-soft);border-top-color:var(--c2);}
.hire-card.tint-c3{background:var(--c3-soft);border-top-color:var(--c3);}
.hire-card.tint-c4{background:var(--c4-soft);border-top-color:var(--c4);}
.hire-card.tint-c5{background:var(--c5-soft);border-top-color:var(--c5);}
.hire-card.tint-c6{background:var(--c6-soft);border-top-color:var(--c6);}
.hire-card.tint-c7{background:var(--c7-soft);border-top-color:var(--c7);}

/* tools marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;}
.marquee-track{display:flex;gap:60px;width:max-content;animation:scroll 28s linear infinite;}
.marquee-track span{font-family:'Fraunces',serif;font-size:1.1rem;color:var(--text-soft);white-space:nowrap;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* blogs */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);
  transition:box-shadow .3s ease, transform .3s ease;
}
.blog-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;z-index:2;
  background:var(--grad-brand);background-size:280% 280%;
  animation:text-shimmer 5s ease infinite;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 46px -18px rgba(226,99,111,.35);}
.blog-card:hover::before{animation-duration:1.6s;}
@media (prefers-reduced-motion: reduce){ .blog-card::before{animation:none;} }
.blog-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,var(--mist),var(--line));}
.blog-body{padding:20px 22px;}
.blog-tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--coral-deep);}
.blog-body h3{font-size:1.02rem;margin:8px 0 10px;}

/* FAQ */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  cursor:pointer;padding:22px 4px;font-weight:700;font-size:1rem;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:1.4rem;color:var(--coral);flex:none;font-weight:400;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{padding:0 4px 22px;margin:0;}

/* final CTA band */
.cta-band{
  background:linear-gradient(120deg,var(--teal),var(--ink));color:var(--white);
  border-radius:24px;padding:60px 50px;display:flex;align-items:center;justify-content:space-between;
  gap:30px;flex-wrap:wrap;
}
.cta-band h2{color:var(--white);margin-bottom:6px;font-size:2rem;}
.cta-band p{color:rgba(255,255,255,.75);margin:0;}

/* ============================= FOOTER ============================= */
.site-footer{
  background:var(--ink);color:rgba(255,255,255,.72);padding:0 0 26px;position:relative;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.05) 1px, transparent 1px),
    radial-gradient(circle at 45% 60%, rgba(255,255,255,.05) 1px, transparent 1px),
    radial-gradient(circle at 75% 30%, rgba(255,255,255,.05) 1px, transparent 1px),
    radial-gradient(circle at 85% 70%, rgba(255,255,255,.05) 1px, transparent 1px),
    radial-gradient(circle at 25% 80%, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:220px 220px;
}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;}
.footer-grid h4{color:#fff;font-family:'Inter',sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}
.footer-grid li{margin-bottom:10px;font-size:.9rem;}
.footer-grid li a:hover{color:var(--coral);}
.footer-brand img{height:44px;margin-bottom:14px;}
.footer-brand p{font-size:.88rem;max-width:280px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;
}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;transition:background .25s ease, transform .25s ease;
}
.footer-social a:hover{background:var(--coral);transform:translateY(-3px);}
.footer-social svg{width:16px;height:16px;fill:#fff;}

/* ============================= UTIL ============================= */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.tag-row span{
  border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.82rem;font-weight:600;
  color:var(--teal);background:var(--mist);
}

/* ============================= SCROLL REVEAL ============================= */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-stagger.visible > *{opacity:1;transform:translateY(0);}
.reveal-stagger > *{opacity:0;transform:translateY(22px);transition:opacity .6s ease, transform .6s ease;}
.reveal-stagger.visible > *:nth-child(1){transition-delay:.02s;}
.reveal-stagger.visible > *:nth-child(2){transition-delay:.09s;}
.reveal-stagger.visible > *:nth-child(3){transition-delay:.16s;}
.reveal-stagger.visible > *:nth-child(4){transition-delay:.23s;}
.reveal-stagger.visible > *:nth-child(5){transition-delay:.30s;}
.reveal-stagger.visible > *:nth-child(6){transition-delay:.37s;}
.reveal-stagger.visible > *:nth-child(n+7){transition-delay:.42s;}
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-stagger > *{opacity:1 !important;transform:none !important;}
}

/* count-up numbers */
.stat strong[data-count]{font-variant-numeric:tabular-nums;}

/* step connector line for process/how-it-works — zig-zag alternating timeline */
.steps-rail{position:relative;max-width:820px;}
.steps-rail::before{
  content:"";position:absolute;left:50%;top:8px;bottom:8px;width:2px;transform:translateX(-50%);
  background:repeating-linear-gradient(to bottom, var(--line) 0 8px, transparent 8px 14px);
}
.step-item{
  display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;gap:24px;
  position:relative;padding-bottom:46px;
}
.step-item:last-child{padding-bottom:0;}
.step-num{
  grid-column:2;justify-self:center;
  flex:none;width:56px;height:56px;border-radius:50%;background:var(--white);
  border:2px solid var(--teal);color:var(--teal);font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
  transition:background .3s ease, color .3s ease, transform .3s ease;
}
.step-item.visible .step-num{background:var(--teal);color:#fff;transform:scale(1.08);}
.step-body{
  grid-column:3;text-align:left;
  opacity:0;transform:translateX(26px);transition:opacity .6s ease, transform .6s ease;
}
.step-item:nth-child(even) .step-body{grid-column:1;grid-row:1;text-align:right;transform:translateX(-26px);}
.step-item.visible .step-body{opacity:1;transform:translateX(0);}
.step-body h3{font-size:1.05rem;margin-bottom:4px;}
.step-body p{margin:0;font-size:.92rem;}
@media (max-width:720px){
  .steps-rail::before{left:27px;transform:none;}
  .step-item{grid-template-columns:56px 1fr;gap:18px;}
  .step-num{grid-column:1;}
  .step-body, .step-item:nth-child(even) .step-body{
    grid-column:2;grid-row:1;text-align:left;transform:translateX(18px);
  }
  .step-item.visible .step-body{transform:translateX(0);}
}
@media (prefers-reduced-motion: reduce){
  .step-body, .step-item:nth-child(even) .step-body{opacity:1;transform:none;}
}

/* ============================= GRADIENT SYSTEM (v4 — original brand palette, bento services) ============================= */
:root{
  --amber:#F7A531; --amber-soft:#FFF3E0;
  --sky:#4CC9F0; --sky-soft:#E7F8FE;
  --lav:#8E7CF0; --lav-soft:#EFEBFD;

  --grad-brand: linear-gradient(120deg, var(--ink) 0%, var(--teal) 60%, var(--teal-soft) 100%);
  --grad-brand-hover: linear-gradient(120deg, var(--coral-deep) 0%, var(--coral) 55%, #FF95A3 100%);
  --grad-band: linear-gradient(115deg, var(--ink) 0%, var(--teal) 45%, var(--coral-deep) 85%, var(--amber) 115%);

  --c1:#8E7CF0; --c1-soft:#EFEBFD;
  --c2:#00B4D8; --c2-soft:#E3F8FC;
  --c3:#FF6B6B; --c3-soft:#FFECEC;
  --c4:#F7A531; --c4-soft:#FFF3E0;
  --c5:#2EC4B6; --c5-soft:#E4FBF8;
  --c6:#FF8FA3; --c6-soft:#FFEBEF;
  --c7:#4CC9F0; --c7-soft:#E7F8FE;
  --c8:#43AA8B; --c8-soft:#E5F6F1;
}

.btn-primary{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--btn-bg,linear-gradient(120deg,#E8962A,#F6BE4F));
  background-size:180% 180%;
  color:var(--btn-fg,#0E2A3B);
  box-shadow:var(--btn-ring,0 0 0 0 transparent),0 10px 26px -8px var(--btn-shadow,rgba(232,150,42,.5));
  animation:btn-idle-shimmer 7s ease infinite;
  transition:transform .2s ease, box-shadow .3s ease;
}
.btn-primary::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--btn-bg-hover,linear-gradient(120deg,#D6841A,#EDAA36));
  opacity:0;
  transition:opacity .4s ease;
}
.btn-primary:hover, .btn-primary:active{
  transform:translateY(-2px);
  box-shadow:var(--btn-ring,0 0 0 0 transparent),0 14px 32px -8px var(--btn-shadow,rgba(232,150,42,.5));
  animation-play-state:paused;
}
.btn-primary:hover::before, .btn-primary:active::before{opacity:1;}
@keyframes btn-idle-shimmer{0%{background-position:0% 50%;}50%{background-position:60% 50%;}100%{background-position:0% 50%;}}
@keyframes text-shimmer{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
@media (prefers-reduced-motion: reduce){ .btn-primary{animation:none;} }

/* ---------- LIGHT HERO (home page) — original teal/coral wash ---------- */
.hero-light{
  position:relative;overflow:hidden;background:var(--white);
  padding:90px 0 0;
}
.hero-light .blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.4;z-index:0;animation:blob-float 12s ease-in-out infinite;}
.hero-light .blob-1{width:460px;height:460px;background:radial-gradient(circle,var(--teal-soft),transparent 70%);top:-140px;right:-100px;opacity:.3;}
.hero-light .blob-2{width:380px;height:380px;background:radial-gradient(circle,var(--coral),transparent 70%);bottom:-150px;left:-110px;opacity:.2;animation-delay:2s;animation-direction:reverse;}
.hero-light .blob-3{width:280px;height:280px;background:radial-gradient(circle,var(--amber),transparent 70%);top:30%;left:40%;opacity:.14;animation-delay:4s;}
@keyframes blob-float{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-24px,26px) scale(1.08);}}
@media (prefers-reduced-motion: reduce){ .hero-light .blob{animation:none;} }
.hero-light .hero-grid{position:relative;z-index:1;padding-bottom:60px;}
.hero-light h1{font-size:clamp(2.3rem,4.2vw,3.6rem);color:var(--ink);}
.hero-light h1 .grad-text{
  background:var(--grad-brand);background-size:280% 280%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:text-shimmer 8s ease infinite;
}
.hero-light p.lead{color:var(--text-soft);max-width:520px;}
.hero-light .hero-badges strong{color:var(--ink);}
.hero-light .hero-badges div{color:var(--text-soft);}
.hero-light .eyebrow{color:var(--coral-deep);}

/* ---------- DARK HERO (Virtual CFO — floating cards over dark navy) ---------- */
.hero-dark-cfo{
  position:relative;overflow:hidden;background:linear-gradient(160deg,var(--ink) 0%,#132C3E 60%,var(--teal) 140%);
  padding:90px 0 0;
}
.hero-dark-cfo .blob{position:absolute;border-radius:50%;filter:blur(80px);z-index:0;animation:blob-float 12s ease-in-out infinite;}
.hero-dark-cfo .blob-1{width:460px;height:460px;background:radial-gradient(circle,var(--c1),transparent 70%);top:-140px;right:-100px;opacity:.35;}
.hero-dark-cfo .blob-2{width:380px;height:380px;background:radial-gradient(circle,var(--coral),transparent 70%);bottom:-150px;left:-110px;opacity:.28;animation-delay:2s;animation-direction:reverse;}
.hero-dark-cfo .hero-grid{position:relative;z-index:1;padding-bottom:60px;}
.hero-dark-cfo h1{font-size:clamp(2.3rem,4.2vw,3.6rem);}
.hero-dark-cfo h1 .grad-text{
  background:linear-gradient(120deg,var(--amber),var(--coral) 60%,var(--c1));background-size:280% 280%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:text-shimmer 8s ease infinite;
}
.cfo-photo-visual{position:relative;padding:20px 30px 40px 0;}
.cfo-photo-main{width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);}
.cfo-photo-card{
  position:absolute;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:14px 18px;
  box-shadow:0 20px 40px -18px rgba(0,0,0,.4);
}
.cfo-photo-card-top{top:0;right:0;}
.cfo-photo-card-bottom{bottom:10px;left:-20px;}
.cfo-photo-card-ico{width:38px;height:38px;border-radius:10px;background:var(--amber-soft);color:var(--coral-deep);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex:none;}
.cfo-photo-card strong{display:block;font-family:'Fraunces',serif;font-size:1.05rem;color:var(--ink);}
.cfo-photo-card span{font-size:.68rem;color:var(--text-soft);}
@media (max-width:760px){ .cfo-photo-visual{padding:20px 12px 30px 0;} .cfo-photo-card{padding:10px 14px;} }

/* ---------- ANIMATED GRADIENT BAND ---------- */
.gradient-band{
  position:relative;overflow:hidden;
  background:var(--grad-band);background-size:220% 220%;
  animation:text-shimmer 10s ease infinite;
  padding:44px 0;
}
@media (prefers-reduced-motion: reduce){ .gradient-band{animation:none;} }
.gradient-band .container{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px;
}
.gradient-band .band-stat{text-align:center;color:#fff;}
.gradient-band .band-stat strong{
  display:block;font-family:'Fraunces',serif;font-size:2.1rem;color:#fff;
}
.gradient-band .band-stat span{font-size:.78rem;color:rgba(255,255,255,.78);font-weight:600;letter-spacing:.03em;}
.gradient-band::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.35) 1.5px, transparent 1.5px);
  background-size:26px 26px;opacity:.18;
}

/* ---------- ANIMATED BAR CHART CARD (hero) ---------- */
.chart-card{
  position:relative;background:var(--white);border:1px solid var(--line);border-radius:24px;
  padding:30px 28px 26px;box-shadow:0 30px 60px -24px rgba(14,42,59,.22);
}
.chart-card .chart-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;}
.chart-card .chart-head h4{margin:0;font-family:'Inter',sans-serif;font-weight:700;font-size:.85rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;}
.chart-card .chart-value{font-family:'Fraunces',serif;font-size:1.6rem;color:var(--ink);}
.chart-card .chart-badge{
  background:var(--c5-soft);color:var(--c5);font-weight:700;font-size:.78rem;padding:6px 12px;border-radius:999px;
  display:flex;align-items:center;gap:4px;
}
.bars-wrap{display:flex;align-items:flex-end;gap:14px;height:170px;padding:0 4px;}
.bars-wrap .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end;cursor:pointer;transition:transform .22s ease;}
.bars-wrap .bar-col:hover{transform:translateY(-5px);}
.bars-wrap .bar-col:hover .bar{filter:brightness(1.15) saturate(1.1);box-shadow:0 10px 20px -6px rgba(14,42,59,.35);}
.bars-wrap .bar-col:hover .bar-label{color:var(--ink);font-weight:800;}
.bars-wrap .bar{
  width:100%;max-width:34px;border-radius:8px 8px 3px 3px;background:var(--line);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1), filter .22s ease, box-shadow .22s ease, height .6s cubic-bezier(.2,.8,.2,1);
}
.chart-card.visible .bar{transform:scaleY(1);}
.bi-bento.visible .bar{transform:scaleY(1);}
.full-dash.visible .bar{transform:scaleY(1);}
.chart-toggle{display:flex;gap:4px;background:var(--mist);border-radius:999px;padding:3px;}
.chart-toggle button{
  border:none;background:transparent;font-size:.72rem;font-weight:700;color:var(--text-soft);
  padding:6px 12px;border-radius:999px;cursor:pointer;transition:background .2s ease, color .2s ease;
}
.chart-toggle button.active{background:var(--white);color:var(--ink);box-shadow:0 2px 6px rgba(14,42,59,.15);}
.bars-wrap .bar-col:nth-child(1) .bar{background:var(--c7);}
.bars-wrap .bar-col:nth-child(2) .bar{background:var(--c2);}
.bars-wrap .bar-col:nth-child(3) .bar{background:var(--c5);}
.bars-wrap .bar-col:nth-child(4) .bar{background:var(--teal);}
.bars-wrap .bar-col:nth-child(5) .bar{background:var(--amber);}
.bars-wrap .bar-col:nth-child(6) .bar{background:var(--coral);}
.chart-card.visible .bar-col:nth-child(1) .bar{transition-delay:.05s;}
.chart-card.visible .bar-col:nth-child(2) .bar{transition-delay:.15s;}
.chart-card.visible .bar-col:nth-child(3) .bar{transition-delay:.25s;}
.chart-card.visible .bar-col:nth-child(4) .bar{transition-delay:.35s;}
.chart-card.visible .bar-col:nth-child(5) .bar{transition-delay:.45s;}
.chart-card.visible .bar-col:nth-child(6) .bar{transition-delay:.55s;}
.bars-wrap .bar-label{font-size:.72rem;color:var(--text-soft);font-weight:600;}
.chart-trend{
  position:absolute;top:100%;right:26px;transform:translateY(-50%);
  background:var(--white);border:1px solid var(--line);border-radius:14px;padding:12px 16px;
  box-shadow:0 14px 30px -10px rgba(14,42,59,.25);display:flex;align-items:center;gap:10px;
  animation:float-card 4s ease-in-out infinite;
}
.chart-trend .dot-ping{width:10px;height:10px;border-radius:50%;background:var(--c5);position:relative;}
.chart-trend .dot-ping::after{
  content:"";position:absolute;inset:0;border-radius:50%;background:var(--c5);opacity:.6;
  animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite;
}
.chart-trend strong{font-family:'Fraunces',serif;font-size:.95rem;color:var(--ink);display:block;}
.chart-trend span{font-size:.72rem;color:var(--text-soft);}
@keyframes float-card{0%,100%{transform:translateY(-50%);}50%{transform:translateY(-62%);}}
@keyframes ping{0%{transform:scale(1);opacity:.6;}100%{transform:scale(2.4);opacity:0;}}
@media (prefers-reduced-motion: reduce){
  .bars-wrap .bar{transition:none;transform:scaleY(1);}
  .chart-trend{animation:none;}
  .chart-trend .dot-ping::after{animation:none;}
}

/* ---------- BENTO SERVICES GRID (Befree-style layout, original palette) ---------- */
.bg-sand{background:var(--sand);}
.bento-grid{
  display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(215px,auto);gap:20px;
}
.bento-tile{
  border-radius:22px;padding:26px 28px;position:relative;overflow:visible;
  display:flex;flex-direction:column;transition:transform .3s ease, box-shadow .3s ease;
  color:var(--ink);
}
.bento-tile:hover{transform:translateY(-5px);box-shadow:0 24px 50px -20px rgba(14,42,59,.28);filter:saturate(1.15) brightness(1.02);}
.bento-tile .bt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.bento-tile h3{font-size:1.5rem;margin:0;}
.bento-tile p{color:rgba(14,42,59,.68);font-size:.92rem;margin:10px 0 0;max-width:340px;}
.bt-arrow{
  flex:none;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.8);
  display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--ink);
  transition:transform .3s ease, background .3s ease;
}
.bento-tile:hover .bt-arrow{transform:translate(3px,-3px);background:var(--white);}
.bento-tall{grid-row:span 2;}
.bt-1{grid-column:1;grid-row:1/3;background:linear-gradient(135deg,#FFFFFF 0%,#FFF0D6 45%,#FFD98F 100%);}
.bt-2{grid-column:2;grid-row:1/3;background:linear-gradient(135deg,#FFFFFF 0%,#FFE3E8 45%,#FFB4C2 100%);}
.bt-3{grid-column:3;grid-row:1;background:linear-gradient(135deg,#FFFFFF 0%,#D9F7EE 45%,#8FE8D0 100%);}
.bt-4{grid-column:3;grid-row:2;background:linear-gradient(135deg,#FFFFFF 0%,#EAE3FB 45%,#C6B3F2 100%);}
.bt-5{grid-column:1;grid-row:3;background:linear-gradient(135deg,#FFFFFF 0%,#E4EFFA 45%,#B4D3EF 100%);}
.bt-6{grid-column:2;grid-row:3;background:linear-gradient(135deg,#FFFFFF 0%,#DBF3FC 45%,#A2E1F5 100%);}
.bt-7{grid-column:3;grid-row:3;background:linear-gradient(135deg,#FFFFFF 0%,#E1F5E6 45%,#AEE7BE 100%);}

/* mockup: table (bookkeeping) */
.mock-table{
  margin-top:auto;background:var(--white);border-radius:14px;padding:14px 16px;box-shadow:0 12px 26px -14px rgba(14,42,59,.3);
  font-size:.72rem;
}
.mock-table .mt-row{display:grid;grid-template-columns:1.1fr repeat(6,.6fr) .5fr;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line);}
.mock-table .mt-row:last-child{border-bottom:none;font-weight:700;}
.mock-table .mt-head{color:var(--text-soft);font-weight:700;}
.mock-table .cell-bar{height:8px;border-radius:4px;background:var(--line);}
.mock-table .mt-check{
  width:16px;height:16px;border-radius:50%;background:var(--c5-soft);color:var(--c5);display:flex;align-items:center;
  justify-content:center;font-size:.6rem;font-weight:800;transform:scale(0);transition:transform .35s ease;
}
.bento-tile.visible .mt-check{transform:scale(1);}
.bento-tile.visible .mt-row:nth-child(1) .mt-check{transition-delay:.1s;}
.bento-tile.visible .mt-row:nth-child(2) .mt-check{transition-delay:.3s;}
.bento-tile.visible .mt-row:nth-child(3) .mt-check{transition-delay:.5s;}

/* mockup: checklist (accounting) */
.mock-checklist{margin-top:auto;background:var(--white);border-radius:14px;padding:14px 16px;box-shadow:0 12px 26px -14px rgba(14,42,59,.3);position:relative;}
.mock-checklist .mc-item{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:.78rem;font-weight:700;color:var(--ink);}
.mock-checklist .mc-bar{flex:1;height:6px;border-radius:4px;background:var(--line);}
.mock-checklist .mc-check{
  width:18px;height:18px;border-radius:50%;background:var(--c5-soft);color:var(--c5);display:flex;align-items:center;
  justify-content:center;font-size:.68rem;font-weight:800;flex:none;transform:scale(0);transition:transform .35s ease;
}
.bento-tile.visible .mc-check{transform:scale(1);}
.bento-tile.visible .mc-item:nth-child(1) .mc-check{transition-delay:.15s;}
.bento-tile.visible .mc-item:nth-child(2) .mc-check{transition-delay:.4s;}
.bento-tile.visible .mc-item:nth-child(3) .mc-check{transition-delay:.65s;}

/* mockup: stepper (payroll) */
.mock-stepper{margin-top:auto;background:var(--white);border-radius:14px;padding:16px 14px;box-shadow:0 12px 26px -14px rgba(14,42,59,.3);}
.ms-rail{display:flex;align-items:center;}
.ms-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;}
.ms-dot{width:22px;height:22px;border-radius:50%;background:var(--mist);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--text-soft);transition:background .4s ease, border-color .4s ease, color .4s ease;z-index:1;}
.ms-label{font-size:.65rem;color:var(--text-soft);font-weight:700;}
.ms-line{position:absolute;top:11px;left:50%;width:100%;height:2px;background:var(--line);z-index:0;}
.ms-step:last-child .ms-line{display:none;}
.bento-tile.visible .ms-dot{background:var(--c5);border-color:var(--c5);color:#fff;}
.bento-tile.visible .ms-step:nth-child(1) .ms-dot{transition-delay:.1s;}
.bento-tile.visible .ms-step:nth-child(2) .ms-dot{transition-delay:.35s;}
.bento-tile.visible .ms-step:nth-child(3) .ms-dot{transition-delay:.6s;}
.bento-tile.visible .ms-step:nth-child(4) .ms-dot{transition-delay:.85s;}

/* mockup: mini bar chart (MIS) */
.mock-minibars{margin-top:auto;background:var(--white);border-radius:14px;padding:14px 16px 10px;box-shadow:0 12px 26px -14px rgba(14,42,59,.3);
  display:flex;align-items:flex-end;gap:8px;height:64px;}
.mock-minibars .mb{flex:1;border-radius:4px 4px 2px 2px;background:var(--amber);transform:scaleY(0);transform-origin:bottom;transition:transform .8s cubic-bezier(.2,.8,.2,1);}
.bento-tile.visible .mock-minibars .mb{transform:scaleY(1);}
.mock-minibars .mb:nth-child(1){transition-delay:.05s;background:var(--sky);}
.mock-minibars .mb:nth-child(2){transition-delay:.15s;background:var(--c5);}
.mock-minibars .mb:nth-child(3){transition-delay:.25s;background:var(--teal);}
.mock-minibars .mb:nth-child(4){transition-delay:.35s;background:var(--amber);}
.mock-minibars .mb:nth-child(5){transition-delay:.45s;background:var(--coral);}

/* ---------- LEGACY colorful cards (used on services.html) ---------- */
.service-card.c1::before{background:var(--c1);} .service-card.c1 .ico{background:var(--c1-soft);color:var(--c1);}
.service-card.c2::before{background:var(--c2);} .service-card.c2 .ico{background:var(--c2-soft);color:var(--c2);}
.service-card.c3::before{background:var(--c3);} .service-card.c3 .ico{background:var(--c3-soft);color:var(--c3);}
.service-card.c4::before{background:var(--c4);} .service-card.c4 .ico{background:var(--c4-soft);color:var(--c4);}
.service-card.c5::before{background:var(--c5);} .service-card.c5 .ico{background:var(--c5-soft);color:var(--c5);}
.service-card.c6::before{background:var(--c6);} .service-card.c6 .ico{background:var(--c6-soft);color:var(--c6);}
.service-card.c7::before{background:var(--c7);} .service-card.c7 .ico{background:var(--c7-soft);color:var(--c7);}
.service-card .ico{background:var(--mist);font-size:1.2rem;transition:transform .25s ease;}
.service-card:hover .ico{transform:scale(1.12) rotate(-4deg);}
.service-card.c1 .link{color:var(--c1);} .service-card.c2 .link{color:var(--c2);} .service-card.c3 .link{color:var(--c3);}
.service-card.c4 .link{color:var(--c4);} .service-card.c5 .link{color:var(--c5);} .service-card.c6 .link{color:var(--c6);}
.service-card.c7 .link{color:var(--c7);}

@media (max-width:960px){
  .bento-grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(220px,auto);}
  .bt-1{grid-column:1;grid-row:1/3;} .bt-2{grid-column:2;grid-row:1/3;}
  .bt-3{grid-column:1;grid-row:3;} .bt-4{grid-column:2;grid-row:3;}
  .bt-5{grid-column:1;grid-row:4;} .bt-6{grid-column:2;grid-row:4;}
  .bt-7{grid-column:1/3;grid-row:5;}
}
@media (max-width:640px){
  .bento-grid{grid-template-columns:1fr;grid-auto-rows:auto;}
  .bt-1,.bt-2,.bt-3,.bt-4,.bt-5,.bt-6,.bt-7{grid-column:1;grid-row:auto;min-height:220px;}
}

.hire-card{transition:transform .25s ease, box-shadow .25s ease;}
.hire-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.blog-card .blog-thumb{transition:transform .4s ease;overflow:hidden;}
.blog-card:hover .blog-thumb{transform:scale(1.05);}
.testi-card{transition:transform .25s ease, box-shadow .25s ease;}
.testi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.faq-item summary::after{transition:transform .25s ease;}
.faq-item[open] summary::after{transform:rotate(180deg);}
.play-btn{transition:transform .3s ease;}
.testi-video:hover .play-btn{transform:scale(1.1);}

/* ---------- TABS (category switcher for Tax page) ---------- */
.tabs-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:36px;}
.tab-btn{
  border:1px solid var(--line);background:var(--white);border-radius:999px;padding:11px 22px;
  font-weight:700;font-size:.9rem;color:var(--text-soft);cursor:pointer;transition:all .2s ease;
}
.tab-btn:hover{border-color:var(--teal);color:var(--teal);}
.tab-btn.active{background:var(--grad-brand);border-color:transparent;color:#fff;box-shadow:0 8px 20px -8px rgba(19,82,115,.4);}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fade-in .35s ease;}
@keyframes fade-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ---------- FORM PRICING CARDS (Tax page) ---------- */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.form-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease;
}
.form-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.form-card .fc-top{height:6px;}
.form-card .fc-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.form-card h4{font-size:1.15rem;margin:0 0 4px;}
.form-card .fc-sub{font-size:.8rem;color:var(--text-soft);margin-bottom:16px;}
.form-card .fc-price{
  border-radius:12px;padding:14px;text-align:center;color:#fff;margin-bottom:16px;
}
.form-card .fc-price span{display:block;font-size:.72rem;opacity:.85;margin-bottom:2px;}
.form-card .fc-price strong{font-family:'Fraunces',serif;font-size:1.5rem;}
.form-card .fc-list{font-size:.78rem;color:var(--text-soft);margin:0 0 12px;padding-left:16px;}
.form-card .fc-list li{margin-bottom:3px;}
.form-card .fc-list-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);margin-bottom:6px;}
.form-card .btn{margin-top:auto;}

/* ---------- WhatsApp floating button ---------- */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;z-index:200;
  width:58px;height:58px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 28px -8px rgba(37,211,102,.55);
  transition:transform .25s ease, box-shadow .25s ease;
}
.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 16px 34px -8px rgba(37,211,102,.65);}
.whatsapp-float svg{width:30px;height:30px;position:relative;z-index:1;}
.whatsapp-float::before{
  content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;opacity:.5;
  animation:wa-ping 2.2s cubic-bezier(0,0,.2,1) infinite;
}
@keyframes wa-ping{0%{transform:scale(1);opacity:.5;}100%{transform:scale(1.6);opacity:0;}}
@media (prefers-reduced-motion: reduce){ .whatsapp-float::before{animation:none;} }
@media (max-width:600px){ .whatsapp-float{bottom:18px;right:18px;width:52px;height:52px;} .whatsapp-float svg{width:26px;height:26px;} }

/* ---------- Cards: colorful gradient by default (client dislikes plain white cards) ---------- */
.solution-card{transition:background .25s ease, transform .2s ease, box-shadow .2s ease;}
.solution-card.tint-c1{background:linear-gradient(150deg,var(--white),var(--c1-soft));}
.solution-card.tint-c2{background:linear-gradient(150deg,var(--white),var(--c2-soft));}
.solution-card.tint-c3{background:linear-gradient(150deg,var(--white),var(--c3-soft));}
.solution-card.tint-c4{background:linear-gradient(150deg,var(--white),var(--c4-soft));}
.solution-card.tint-c5{background:linear-gradient(150deg,var(--white),var(--c5-soft));}
.solution-card.tint-c6{background:linear-gradient(150deg,var(--white),var(--c6-soft));}
.solution-card.tint-c7{background:linear-gradient(150deg,var(--white),var(--c7-soft));}
.solution-card.tint-c1:hover{background:linear-gradient(150deg,var(--c1-soft),var(--c1) 140%);}
.solution-card.tint-c2:hover{background:linear-gradient(150deg,var(--c2-soft),var(--c2) 140%);}
.solution-card.tint-c3:hover{background:linear-gradient(150deg,var(--c3-soft),var(--c3) 140%);}
.solution-card.tint-c4:hover{background:linear-gradient(150deg,var(--c4-soft),var(--c4) 140%);}
.solution-card.tint-c5:hover{background:linear-gradient(150deg,var(--c5-soft),var(--c5) 140%);}
.solution-card.tint-c6:hover{background:linear-gradient(150deg,var(--c6-soft),var(--c6) 140%);}
.solution-card.tint-c7:hover{background:linear-gradient(150deg,var(--c7-soft),var(--c7) 140%);}
.service-card{transition:background .25s ease, transform .2s ease, box-shadow .2s ease;}
.service-card.c1{background:linear-gradient(150deg,var(--white),var(--c1-soft));}
.service-card.c2{background:linear-gradient(150deg,var(--white),var(--c2-soft));}
.service-card.c3{background:linear-gradient(150deg,var(--white),var(--c3-soft));}
.service-card.c4{background:linear-gradient(150deg,var(--white),var(--c4-soft));}
.service-card.c5{background:linear-gradient(150deg,var(--white),var(--c5-soft));}
.service-card.c6{background:linear-gradient(150deg,var(--white),var(--c6-soft));}
.service-card.c7{background:linear-gradient(150deg,var(--white),var(--c7-soft));}
.service-card.c1:hover{background:linear-gradient(150deg,var(--c1-soft),var(--c1) 140%);}
.service-card.c2:hover{background:linear-gradient(150deg,var(--c2-soft),var(--c2) 140%);}
.service-card.c3:hover{background:linear-gradient(150deg,var(--c3-soft),var(--c3) 140%);}
.service-card.c4:hover{background:linear-gradient(150deg,var(--c4-soft),var(--c4) 140%);}
.service-card.c5:hover{background:linear-gradient(150deg,var(--c5-soft),var(--c5) 140%);}
.service-card.c6:hover{background:linear-gradient(150deg,var(--c6-soft),var(--c6) 140%);}
.service-card.c7:hover{background:linear-gradient(150deg,var(--c7-soft),var(--c7) 140%);}
.other-service-chip{transition:background .25s ease, transform .2s ease, box-shadow .2s ease;}
.other-service-chip.tint-c1{background:linear-gradient(150deg,var(--white),var(--c1-soft));}
.other-service-chip.tint-c2{background:linear-gradient(150deg,var(--white),var(--c2-soft));}
.other-service-chip.tint-c3{background:linear-gradient(150deg,var(--white),var(--c3-soft));}
.other-service-chip.tint-c4{background:linear-gradient(150deg,var(--white),var(--c4-soft));}
.other-service-chip.tint-c5{background:linear-gradient(150deg,var(--white),var(--c5-soft));}
.other-service-chip.tint-c6{background:linear-gradient(150deg,var(--white),var(--c6-soft));}
.other-service-chip.tint-c7{background:linear-gradient(150deg,var(--white),var(--c7-soft));}
.other-service-chip.tint-c1:hover{background:linear-gradient(150deg,var(--c1-soft),var(--c1) 140%);}
.other-service-chip.tint-c2:hover{background:linear-gradient(150deg,var(--c2-soft),var(--c2) 140%);}
.other-service-chip.tint-c3:hover{background:linear-gradient(150deg,var(--c3-soft),var(--c3) 140%);}
.other-service-chip.tint-c4:hover{background:linear-gradient(150deg,var(--c4-soft),var(--c4) 140%);}
.other-service-chip.tint-c5:hover{background:linear-gradient(150deg,var(--c5-soft),var(--c5) 140%);}
.other-service-chip.tint-c6:hover{background:linear-gradient(150deg,var(--c6-soft),var(--c6) 140%);}
.other-service-chip.tint-c7:hover{background:linear-gradient(150deg,var(--c7-soft),var(--c7) 140%);}
.deliverable-card{transition:background .25s ease, transform .2s ease, box-shadow .2s ease;}
.deliverable-card:hover{background:var(--amber-soft);}
.value-card{transition:background .25s ease, transform .2s ease, box-shadow .2s ease;}
.value-card.tint-c1{background:linear-gradient(150deg,var(--white),var(--c1-soft));}
.value-card.tint-c2{background:linear-gradient(150deg,var(--white),var(--c2-soft));}
.value-card.tint-c3{background:linear-gradient(150deg,var(--white),var(--c3-soft));}
.value-card.tint-c4{background:linear-gradient(150deg,var(--white),var(--c4-soft));}
.value-card.tint-c5{background:linear-gradient(150deg,var(--white),var(--c5-soft));}
.value-card.tint-c6{background:linear-gradient(150deg,var(--white),var(--c6-soft));}
.value-card.tint-c1:hover{background:linear-gradient(150deg,var(--c1-soft),var(--c1) 140%);}
.value-card.tint-c2:hover{background:linear-gradient(150deg,var(--c2-soft),var(--c2) 140%);}
.value-card.tint-c3:hover{background:linear-gradient(150deg,var(--c3-soft),var(--c3) 140%);}
.value-card.tint-c4:hover{background:linear-gradient(150deg,var(--c4-soft),var(--c4) 140%);}
.value-card.tint-c5:hover{background:linear-gradient(150deg,var(--c5-soft),var(--c5) 140%);}
.value-card.tint-c6:hover{background:linear-gradient(150deg,var(--c6-soft),var(--c6) 140%);}

/* ---------- Logo watermark (light, background decoration with shadow) ---------- */
.logo-watermark{
  position:absolute;top:50%;left:-6%;transform:translateY(-50%);
  width:520px;max-width:60%;opacity:.1;pointer-events:none;z-index:0;
  filter:brightness(0) invert(85%) sepia(25%) saturate(900%) hue-rotate(297deg) contrast(96%)
         drop-shadow(0 30px 40px rgba(226,99,111,.2));
}
@media (max-width:768px){ .logo-watermark{display:none;} }

/* ---------- Testimonial carousel (horizontal scroll) ---------- */
.testi-carousel-wrap{background:var(--ink);padding:70px 0;position:relative;overflow:hidden;}
.testi-carousel-head{text-align:center;margin-bottom:44px;}
.testi-carousel-head .eyebrow{justify-content:center;color:#F4A6AD;}
.testi-carousel-head h2{color:#fff;font-size:1.8rem;}
.testi-rail{
  display:flex;gap:30px;overflow-x:auto;padding:16px 6px 20px;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;
}
.testi-rail::-webkit-scrollbar{height:6px;}
.testi-rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:6px;}
.testi-slide{
  scroll-snap-align:start;flex:none;width:340px;border-radius:20px;padding:30px 26px;
  transform-origin:center;
  background:rgba(255,255,255,.05);border:1px solid rgba(46,196,182,.35);
  position:relative;z-index:1;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.testi-slide:hover{
  transform:scale(1.035) translateY(-6px);
  background:var(--c5-soft);border-color:transparent;
  box-shadow:0 30px 50px -18px rgba(0,0,0,.4);
  z-index:5;
}
.testi-slide.featured{background:rgba(226,99,111,.16);border-color:rgba(226,99,111,.4);}
.testi-slide.featured:hover{background:var(--c6-soft);}
.testi-slide .stars{color:var(--c5);letter-spacing:2px;font-size:1.1rem;margin-bottom:16px;transition:color .35s ease;}
.testi-slide.featured .stars{color:var(--coral);}
.testi-slide:hover .stars{color:var(--coral-deep);}
.testi-slide.featured:hover .stars{color:var(--coral-deep);}
.testi-slide p{color:rgba(255,255,255,.88);font-style:italic;font-size:1rem;line-height:1.55;margin-bottom:22px;transition:color .35s ease;}
.testi-slide:hover p{color:var(--ink);}
.testi-slide .who{display:flex;align-items:center;gap:12px;}
.testi-slide .avatar{
  width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Fraunces',serif;flex:none;
  transition:background .35s ease, color .35s ease;
}
.testi-slide.featured .avatar{background:rgba(255,255,255,.22);}
.testi-slide:hover .avatar{background:var(--c5);color:#fff;}
.testi-slide.featured:hover .avatar{background:var(--coral);}
.testi-slide .who strong{display:block;color:#fff;font-size:.92rem;transition:color .35s ease;}
.testi-slide:hover .who strong{color:var(--ink);}
.testi-slide .who span{font-size:.74rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.04em;transition:color .35s ease;}
.testi-slide:hover .who span{color:var(--text-soft);}
.testi-scroll-hint{text-align:center;font-size:.78rem;color:rgba(255,255,255,.45);margin-top:6px;}

/* Video showcase — light green gradient section, distinct from dark testimonials */
.video-showcase-wrap{
  background:linear-gradient(160deg,#EAFBF3 0%,#FFFFFF 60%);
  padding:80px 0;
}
.video-scroll-hint{text-align:center;font-size:.78rem;color:var(--text-soft);margin-top:6px;}
.video-rail{
  display:flex;gap:22px;overflow-x:auto;padding:6px 6px 20px;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent;
}
.video-rail::-webkit-scrollbar{height:6px;}
.video-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;}
.video-slide{
  scroll-snap-align:start;flex:none;width:320px;aspect-ratio:16/10;border-radius:18px;
  background-color:var(--ink);border:1px solid var(--line);background-repeat:no-repeat;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  position:relative;box-shadow:0 16px 34px -18px rgba(14,42,59,.18);overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease, background-size .5s ease;
  background-size:cover;background-position:center;
}
.video-slide:hover{transform:translateY(-6px);box-shadow:0 26px 46px -18px rgba(14,42,59,.35);background-size:112%;}
.video-slide .play-btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6);}
.video-slide .play-btn::after{border-left-color:#fff;}
.video-slide:hover .play-btn{background:var(--coral);border-color:transparent;transform:scale(1.1);}
.video-slide .video-label{font-size:.85rem;font-weight:600;text-align:center;padding:0 20px;}

/* ---------- Video showcase (separate from testimonials) ---------- */
.video-showcase{
  aspect-ratio:16/7;border-radius:24px;background:linear-gradient(150deg,var(--teal),var(--ink));
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;max-width:900px;margin:0 auto;
}

/* ---------- FAQ scroll container (when list is long) ---------- */
.faq-scroll{max-height:560px;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
.faq-scroll::-webkit-scrollbar{width:6px;}
.faq-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;}

/* ---------- SITE-WIDE: colorful gradient cards, not white (client feedback) ---------- */
.tint-c1{background:linear-gradient(150deg,#fff 0%,var(--c1-soft) 100%);}
.tint-c2{background:linear-gradient(150deg,#fff 0%,var(--c2-soft) 100%);}
.tint-c3{background:linear-gradient(150deg,#fff 0%,var(--c3-soft) 100%);}
.tint-c4{background:linear-gradient(150deg,#fff 0%,var(--c4-soft) 100%);}
.tint-c5{background:linear-gradient(150deg,#fff 0%,var(--c5-soft) 100%);}
.tint-c6{background:linear-gradient(150deg,#fff 0%,var(--c6-soft) 100%);}
.tint-c7{background:linear-gradient(150deg,#fff 0%,var(--c7-soft) 100%);}
.tint-c1:hover{background:linear-gradient(150deg,var(--c1-soft) 0%,var(--c1) 130%);}
.tint-c2:hover{background:linear-gradient(150deg,var(--c2-soft) 0%,var(--c2) 130%);}
.tint-c3:hover{background:linear-gradient(150deg,var(--c3-soft) 0%,var(--c3) 130%);}
.tint-c4:hover{background:linear-gradient(150deg,var(--c4-soft) 0%,var(--c4) 130%);}
.tint-c5:hover{background:linear-gradient(150deg,var(--c5-soft) 0%,var(--c5) 130%);}
.tint-c6:hover{background:linear-gradient(150deg,var(--c6-soft) 0%,var(--c6) 130%);}
.tint-c7:hover{background:linear-gradient(150deg,var(--c7-soft) 0%,var(--c7) 130%);}

/* deliverable-card and talent-card don't carry tint classes in markup — cycle via nth-child */
.deliverable-card:nth-child(7n+1){background:linear-gradient(150deg,#fff,var(--c1-soft));}
.deliverable-card:nth-child(7n+2){background:linear-gradient(150deg,#fff,var(--c2-soft));}
.deliverable-card:nth-child(7n+3){background:linear-gradient(150deg,#fff,var(--c3-soft));}
.deliverable-card:nth-child(7n+4){background:linear-gradient(150deg,#fff,var(--c4-soft));}
.deliverable-card:nth-child(7n+5){background:linear-gradient(150deg,#fff,var(--c5-soft));}
.deliverable-card:nth-child(7n+6){background:linear-gradient(150deg,#fff,var(--c6-soft));}
.deliverable-card:nth-child(7n+7){background:linear-gradient(150deg,#fff,var(--c7-soft));}
.talent-card:nth-child(4n+1){background:linear-gradient(150deg,#fff,var(--c1-soft));}
.talent-card:nth-child(4n+2){background:linear-gradient(150deg,#fff,var(--c3-soft));}
.talent-card:nth-child(4n+3){background:linear-gradient(150deg,#fff,var(--c4-soft));}
.talent-card:nth-child(4n+4){background:linear-gradient(150deg,#fff,var(--c1-soft));}
.form-card{background:linear-gradient(150deg,#fff,var(--mist)) !important;}

@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-art{max-width:420px;margin:0 auto;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .stat-row .stat:nth-child(3){border-left:none;}
  .testi-wrap{grid-template-columns:1fr;}
  .hire-wrap{grid-template-columns:1fr;}
  .who-work-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  section{padding:64px 0;}
  .why-grid,.services-grid{grid-template-columns:1fr;}
  .cta-band{padding:40px 26px;}
  .footer-grid{grid-template-columns:1fr;}
}

/* ---------- FULL DASHBOARD MOCKUP (MIS showcase — realistic BI dashboard look) ---------- */
.full-dash{
  background:linear-gradient(160deg,var(--ink) 0%,var(--teal) 130%);
  border-radius:20px;padding:22px 24px 26px;max-width:820px;margin:0 auto;
  box-shadow:0 30px 60px -20px rgba(14,42,59,.45);
}
.fd-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.fd-brand{display:flex;align-items:center;gap:8px;font-family:'Fraunces',serif;font-weight:600;color:#fff;font-size:.95rem;}
.fd-brand::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c5);box-shadow:0 0 0 3px rgba(46,196,182,.25);}
.fd-title{color:rgba(255,255,255,.55);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.fd-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.fd-kpi{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;}
.fd-kpi span{display:block;font-size:.66rem;color:rgba(255,255,255,.55);font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.fd-kpi strong{display:block;font-family:'Fraunces',serif;font-size:1.05rem;color:#fff;margin-top:3px;}
.fd-kpi small{font-size:.68rem;font-weight:700;}
.fd-kpi small.up{color:var(--c5);}
.fd-kpi small.down{color:var(--coral);}
.fd-main{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;}
.fd-chart-panel{background:#fff;border-radius:14px;padding:16px 16px 10px;}
.fd-chart-panel .fd-chart-title{font-size:.72rem;font-weight:800;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;}
.fd-chart-panel .bars-wrap{height:120px;}
.fd-side-panel{background:#fff;border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.fd-donut{
  width:100px;height:100px;border-radius:50%;position:relative;
  display:flex;align-items:center;justify-content:center;
}
.fd-donut::after{content:"";position:absolute;inset:14px;background:#fff;border-radius:50%;}
.fd-donut-label{position:relative;z-index:1;text-align:center;}
.fd-donut-label strong{display:block;font-family:'Fraunces',serif;font-size:1.1rem;color:var(--ink);}
.fd-donut-label span{font-size:.62rem;color:var(--text-soft);font-weight:700;}
.fd-legend{display:flex;flex-direction:column;gap:5px;width:100%;}
.fd-legend div{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-soft);font-weight:600;}
.fd-legend span.dot{width:8px;height:8px;border-radius:50%;flex:none;}
@media (max-width:640px){
  .fd-kpis{grid-template-columns:repeat(2,1fr);}
  .fd-main{grid-template-columns:1fr;}
}

/* hire-card without an explicit tint class (bookkeeping/accounting/payroll engagement models) — cycle by position */
.hire-card:not([class*="tint-"]):nth-child(3n+1){background:linear-gradient(150deg,#fff,var(--c2-soft));border-top-color:var(--c2);}
.hire-card:not([class*="tint-"]):nth-child(3n+2){background:linear-gradient(150deg,#fff,var(--c5-soft));border-top-color:var(--c5);}
.hire-card:not([class*="tint-"]):nth-child(3n+3){background:linear-gradient(150deg,#fff,var(--c4-soft));border-top-color:var(--c4);}

/* ---------- PROGRESS RING (Tax hero — different visual metaphor than bars) ---------- */
.ring-visual{display:flex;align-items:center;gap:24px;padding:10px 4px;}
.progress-ring{
  width:150px;height:150px;border-radius:50%;flex:none;position:relative;
  display:flex;align-items:center;justify-content:center;
  transition:background 1.2s cubic-bezier(.2,.8,.2,1);
}
.progress-ring::after{content:"";position:absolute;inset:14px;background:var(--white);border-radius:50%;}
.ring-center{position:relative;z-index:1;text-align:center;}
.ring-center strong{display:block;font-family:'Fraunces',serif;font-size:1.5rem;color:var(--ink);}
.ring-center span{font-size:.68rem;color:var(--text-soft);font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.ring-legend{display:flex;flex-direction:column;gap:10px;}
.ring-legend div{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--text-soft);font-weight:600;}
.ring-legend span.dot{width:10px;height:10px;border-radius:50%;flex:none;}

/* ---------- PAYROLL CHECKLIST (Payroll hero — different visual metaphor than bars) ---------- */
.payroll-checklist{display:flex;flex-direction:column;gap:10px;}
.pc-item{display:flex;align-items:center;gap:14px;background:var(--mist);border-radius:12px;padding:11px 16px;}
.pc-check{
  width:30px;height:30px;border-radius:50%;background:var(--c5);color:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;
  transform:scale(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1);
}
.chart-card.visible .pc-check{transform:scale(1);}
.chart-card.visible .pc-item:nth-child(1) .pc-check{transition-delay:.05s;}
.chart-card.visible .pc-item:nth-child(2) .pc-check{transition-delay:.2s;}
.chart-card.visible .pc-item:nth-child(3) .pc-check{transition-delay:.35s;}
.chart-card.visible .pc-item:nth-child(4) .pc-check{transition-delay:.5s;}
.pc-item strong{display:block;font-size:.88rem;color:var(--ink);}
.pc-item span{font-size:.76rem;color:var(--text-soft);}

/* ---------- FULL DASHBOARD v2 (closer match to Trovica reference) ---------- */
.fd-pills{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.fd-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.75);
  font-size:.7rem;font-weight:700;padding:5px 12px;border-radius:999px;}
.fd-pill.active{background:rgba(255,255,255,.9);color:var(--ink);}
.fd-kpi{position:relative;overflow:hidden;}
.fd-kpi svg{position:absolute;bottom:6px;right:8px;width:52px;height:20px;opacity:.9;}
.fd-secondary{margin-top:12px;background:#fff;border-radius:14px;padding:14px 16px 10px;}
.fd-secondary .fd-chart-title{font-size:.72rem;font-weight:800;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;}
.fd-secondary .bars-wrap{height:80px;}
.fd-watermark{display:flex;align-items:center;gap:6px;margin-top:14px;color:rgba(255,255,255,.4);font-size:.7rem;font-weight:700;}
.fd-watermark .dot-sm{width:6px;height:6px;border-radius:50%;background:var(--c5);}

/* ---------- POWER BI SOLUTIONS BENTO (MIS — dashboard preview + quadrant + industry icons) ---------- */
.bi-bento{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:auto auto;gap:20px;}
.bi-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:26px;transition:transform .3s ease, box-shadow .3s ease;}
.bi-card:hover{transform:translateY(-5px);box-shadow:0 24px 46px -20px rgba(14,42,59,.25);}
.bi-card h3{font-size:1.15rem;margin-bottom:8px;}
.bi-card p{font-size:.88rem;margin:0 0 16px;}
.bi-card-dev{grid-column:1;grid-row:1 / 3;}
.bi-card-analytics{grid-column:2;grid-row:1;}
.bi-card-sales{grid-column:2;grid-row:2;}

/* mini dashboard preview inside the dev card */
.bi-mini-dash{background:linear-gradient(150deg,var(--mist),var(--sand));border-radius:14px;padding:14px 16px;}
.bi-mini-dash .bmd-top{display:flex;align-items:center;gap:6px;font-family:'Fraunces',serif;font-weight:600;font-size:.8rem;color:var(--ink);margin-bottom:10px;}
.bi-mini-dash .bmd-top::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c5);}
.bi-mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;}
.bi-mini-kpis div{background:var(--white);border-radius:8px;padding:6px 8px;}
.bi-mini-kpis span{display:block;font-size:.6rem;color:var(--text-soft);font-weight:700;text-transform:uppercase;}
.bi-mini-kpis strong{display:block;font-family:'Fraunces',serif;font-size:.85rem;color:var(--ink);}
.bi-mini-dash .bars-wrap{height:60px;}

/* quadrant diagram */
.bi-quadrant{position:relative;aspect-ratio:1;background:var(--mist);border-radius:14px;padding:18px;}
.bi-quadrant .bq-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:100%;}
.bi-quadrant .bq-cell{background:var(--white);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:.95rem;font-weight:700;color:var(--text-soft);}
.bi-quadrant .bq-cell span{font-size:2.3rem;line-height:1;}
.bi-quadrant .bq-axis{position:absolute;font-size:.72rem;font-weight:800;color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;}
.bi-quadrant .bq-axis.top{top:-2px;left:50%;transform:translateX(-50%);}
.bi-quadrant .bq-axis.bottom{bottom:-2px;left:50%;transform:translateX(-50%);}
.bi-quadrant .bq-axis.left{left:-2px;top:50%;transform:translateY(-50%) rotate(-90deg);}
.bi-quadrant .bq-axis.right{right:-2px;top:50%;transform:translateY(-50%) rotate(90deg);}

/* industry icon chain */
.bi-industry-chain{display:flex;align-items:center;justify-content:center;gap:0;padding:10px 0;}
.bi-ic{width:52px;height:52px;border-radius:50%;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:1.3rem;position:relative;z-index:1;}
.bi-industry-chain .bi-ic-line{width:36px;height:2px;background:var(--line);}
@media (max-width:860px){
  .bi-bento{grid-template-columns:1fr;}
  .bi-card-dev,.bi-card-analytics,.bi-card-sales{grid-column:1;}
  .bi-card-dev{grid-row:1;} .bi-card-analytics{grid-row:2;} .bi-card-sales{grid-row:3;}
}

/* ---------- CAPABILITY CARDS (Industries page — image-first, distinct from services-grid) ---------- */
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.capability-card{
  background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease;
}
.capability-card:hover{transform:translateY(-6px);box-shadow:0 24px 46px -20px rgba(14,42,59,.28);}
.capability-card .cc-art{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;}
.capability-card .cc-body{padding:18px 20px 22px;}
.capability-card h3{font-size:1rem;margin-bottom:6px;}
.capability-card p{font-size:.85rem;margin:0;}

/* ---------- SHORT HEADLINE STRIP (Why Choose — bold headers only, no cards) ---------- */
.headline-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.headline-strip .hs-item{
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:30px 26px;display:flex;align-items:center;gap:14px;
}
.headline-strip .hs-num{font-family:'Fraunces',serif;font-size:1.3rem;color:var(--coral);flex:none;}
.headline-strip h3{font-size:1rem;margin:0;line-height:1.35;}
@media (max-width:860px){
  .headline-strip{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .headline-strip{grid-template-columns:1fr;}
}

/* ---------- LOGO TILE GRID (software ecosystem — static grid, not marquee) ---------- */
.logo-tile-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.logo-tile{
  background:var(--white);border:1px solid var(--line);border-radius:12px;height:70px;
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;
  color:var(--teal);font-size:.85rem;transition:transform .25s ease, box-shadow .25s ease;
}
.logo-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
@media (max-width:760px){ .logo-tile-grid{grid-template-columns:repeat(3,1fr);} }

/* ---------- INDUSTRY MOSAIC (compact tile grid, distinct from card-per-industry) ---------- */
.industry-mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.mosaic-tile{
  border-radius:14px;padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.mosaic-tile:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 34px -16px rgba(14,42,59,.28);}
.mosaic-tile .mt-art{font-size:1.8rem;}
.mosaic-tile span{font-size:.82rem;font-weight:700;color:var(--ink);}
@media (max-width:760px){ .industry-mosaic{grid-template-columns:repeat(2,1fr);} }

/* ---------- NEWS TICKER (scrolling announcement banner) ---------- */
.news-ticker{
  background:var(--ink);color:#fff;overflow:hidden;white-space:nowrap;padding:12px 0;
  display:flex;align-items:center;
}
.news-ticker .nt-track{display:inline-flex;animation:ticker-scroll 30s linear infinite;}
.news-ticker .nt-item{display:inline-flex;align-items:center;padding:0 28px;font-size:.85rem;font-weight:600;}
.news-ticker .nt-item::before{content:"●";color:var(--coral);margin-right:10px;font-size:.6rem;}
@keyframes ticker-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .news-ticker .nt-track{animation:none;} }

/* ---------- TRUE CLICK CAROUSEL (testimonials — arrows + dots, not drag-scroll) ---------- */
.carousel-wrap{position:relative;}
.carousel-viewport{overflow:hidden;}
.carousel-track{display:flex;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.carousel-track .testi-slide{flex:none;width:100%;max-width:520px;margin:0 12px;}
.carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;background:var(--btn-bg,linear-gradient(120deg,#E8962A,#F6BE4F));border:2px solid #fff;
  color:var(--btn-fg,#0E2A3B);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.4);
  transition:background .2s ease, transform .2s ease;
}
.carousel-arrow:hover{background:var(--btn-bg-hover,linear-gradient(120deg,#D6841A,#EDAA36));transform:translateY(-50%) scale(1.08);}
.carousel-arrow.prev{left:-6px;}
.carousel-arrow.next{right:-6px;}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:22px;}
.carousel-dots button{
  width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;padding:0;
  transition:background .2s ease, transform .2s ease;
}
.carousel-dots button.active{background:var(--coral);transform:scale(1.3);}
@media (max-width:640px){
  .carousel-arrow{display:none;}
}

/* ---------- REAL SOFTWARE LOGOS ---------- */
.logo-tile img{max-width:70%;max-height:32px;object-fit:contain;}

/* checkmark style for headline-strip */
.hs-item .hs-check{
  width:24px;height:24px;border-radius:50%;background:var(--c5);color:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;
}

/* ---------- VERTICAL SCROLLING LOGO COLUMN (software agnostic) ---------- */
.logo-vscroll-wrap{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;height:380px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  mask-image:linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}
.logo-vcol{display:flex;flex-direction:column;gap:20px;}
.logo-vcol.up{animation:logo-scroll-up 18s linear infinite;}
.logo-vcol.down{animation:logo-scroll-down 18s linear infinite;}
.logo-vcol .logo-tile{width:100%;flex:none;}
@keyframes logo-scroll-up{0%{transform:translateY(0);}100%{transform:translateY(-50%);}}
@keyframes logo-scroll-down{0%{transform:translateY(-50%);}100%{transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){ .logo-vcol{animation:none;} }
@media (max-width:760px){ .logo-vscroll-wrap{grid-template-columns:repeat(2,1fr);} }

/* ---------- KNOWLEDGE CENTER (image carousel) ---------- */
.kc-slide{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;}
.kc-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.kc-slide .kc-label{
  position:absolute;bottom:0;left:0;right:0;padding:20px;
  background:linear-gradient(to top, rgba(14,42,59,.85), transparent);
  color:#fff;font-family:'Fraunces',serif;font-size:1.2rem;font-weight:600;
}

/* ---------- VIDEO TESTIMONIAL CARDS ---------- */
.video-testi-slide{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;flex:none;width:100%;max-width:340px;margin:0 12px;}
.video-testi-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.video-testi-slide .vt-overlay{position:absolute;inset:0;background:rgba(14,42,59,.35);display:flex;align-items:center;justify-content:center;}
.video-testi-slide .vt-play{
  width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;transition:transform .2s ease;
}
.video-testi-slide:hover .vt-play{transform:scale(1.1);}
.video-testi-slide .vt-play::after{content:"";border-left:16px solid var(--ink);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px;}
.video-testi-slide .vt-caption{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top, rgba(14,42,59,.9), transparent);}
.video-testi-slide .vt-caption strong{color:#fff;display:block;font-size:.92rem;}
.video-testi-slide .vt-caption span{color:rgba(255,255,255,.75);font-size:.76rem;}

/* ---------- FULL-BLEED HERO (edge-to-edge image with white overlay text) ---------- */
.full-bleed-hero{
  position:relative;background-size:cover;background-position:center 25%;
  min-height:460px;display:flex;align-items:center;justify-content:center;
  padding:60px 0;
}
.full-bleed-hero-overlay{
  position:absolute;inset:0;background:linear-gradient(180deg, rgba(14,42,59,.55), rgba(14,42,59,.7));
}
.full-bleed-hero-content{position:relative;z-index:1;text-align:center;}

/* ---------- CERTIFICATION TABS (underline active + big scrolling badges) ---------- */
.cert-tabs-nav .tab-btn.active{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;}
.cert-tabs-nav{gap:36px;}
.cert-tabs-nav .tab-btn{
  background:transparent;border:none;box-shadow:none;padding:8px 0;
  color:var(--line);font-weight:600;font-size:1.05rem;border-radius:0;
}
.cert-tabs-nav .tab-btn:hover{background:transparent;color:var(--text-soft);}
.cert-tabs-nav .tab-btn.active{
  background:transparent;color:var(--ink);text-decoration-color:var(--c5);
}
.cert-marquee{overflow:hidden;margin-top:24px;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.cert-marquee-track{display:flex;width:max-content;gap:0;animation:cert-scroll 22s linear infinite;}
.cert-badge{
  font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;color:var(--teal);
  padding:0 40px;white-space:nowrap;
}
.cert-badge.coral{color:var(--coral-deep);}
.cert-badge.ink{color:var(--ink);}
@keyframes cert-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .cert-marquee-track{animation:none;} }

/* ---------- SOFTWARE SPLIT (two-column: solid color text + vertical scrolling logos) ---------- */
.software-split{display:grid;grid-template-columns:1fr 1.1fr;min-height:420px;}
.software-split-left{
  background:linear-gradient(150deg,#fff 0%,var(--c1-soft) 100%);
  display:flex;flex-direction:column;justify-content:center;padding:60px 50px;
}
.software-split-left h2{color:var(--ink);}
.software-split-left p{color:var(--text-soft);}
.software-split-left .eyebrow::before{background:var(--coral);}
.software-split-left .eyebrow{color:var(--teal);}
.software-split-right{background:var(--mist);padding:30px;display:flex;align-items:center;}
.software-split-right .logo-vscroll-wrap{height:420px;}
.logo-tile-big{
  background:linear-gradient(150deg,#fff 0%,var(--c1-soft) 100%);border-radius:14px;height:100px;width:100%;flex:none;
  display:flex;align-items:center;justify-content:center;padding:14px;
  box-shadow:0 8px 20px -8px rgba(14,42,59,.18);font-family:'Fraunces',serif;font-weight:600;
  color:var(--teal);font-size:1.1rem;
}
.logo-tile-big:nth-child(6n+1){background:linear-gradient(150deg,#fff 0%,var(--c1-soft) 100%);}
.logo-tile-big:nth-child(6n+2){background:linear-gradient(150deg,#fff 0%,var(--c2-soft) 100%);}
.logo-tile-big:nth-child(6n+3){background:linear-gradient(150deg,#fff 0%,var(--c3-soft) 100%);}
.logo-tile-big:nth-child(6n+4){background:linear-gradient(150deg,#fff 0%,var(--c5-soft) 100%);}
.logo-tile-big:nth-child(6n+5){background:linear-gradient(150deg,#fff 0%,var(--c7-soft) 100%);}
.logo-tile-big:nth-child(6n+6){background:linear-gradient(150deg,#fff 0%,var(--amber-soft) 100%);}
.logo-tile-big img{max-width:75%;max-height:52px;object-fit:contain;}
@media (max-width:860px){
  .software-split{grid-template-columns:1fr;}
  .software-split-right .logo-vscroll-wrap{height:320px;}
}

/* ---------- DARK BAND SECTION (full-width navy background) ---------- */
.dark-band-section{background:var(--ink);padding:70px 0;}

/* ---------- CARD DECK (fanned stack effect behind the active carousel card) ---------- */
.card-deck-wrap{position:relative;max-width:420px;margin:0 auto;padding:14px 0 0 14px;}
.card-deck-ghost{
  position:absolute;top:0;left:0;width:100%;aspect-ratio:4/3;border-radius:16px;
  background:linear-gradient(135deg,var(--teal-soft),var(--teal));
  box-shadow:0 20px 40px -20px rgba(0,0,0,.5);
}
.card-deck-ghost.g1{transform:rotate(-4deg) translate(10px,6px);opacity:.85;z-index:1;}
.card-deck-ghost.g2{transform:rotate(4deg) translate(-6px,10px);opacity:.6;z-index:0;background:linear-gradient(135deg,var(--c1),var(--coral));}
.card-deck-front{position:relative;z-index:2;}
.card-deck-caption{
  position:absolute;bottom:0;left:0;right:0;padding:20px 20px 18px;
  background:linear-gradient(to top, rgba(14,42,59,.92), rgba(14,42,59,.5) 70%, transparent);
}
.card-deck-caption h3{color:#fff;font-size:1.15rem;margin:0 0 8px;}
.card-deck-caption p{color:rgba(255,255,255,.85);font-size:.85rem;margin:0;}

/* ---------- INTERACTIVE WORKFLOW STEPPER (click a step, dash-line fills, right panel updates) ---------- */
.wf-interactive{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center;}
.wf-rail-track{
  display:grid;grid-template-columns:44px 1fr;align-items:center;row-gap:6px;column-gap:16px;position:relative;
}
.wf-rail-fill{
  position:absolute;left:21px;top:22px;bottom:22px;width:3px;border-radius:2px;
  background:linear-gradient(to bottom, var(--teal) 0%, var(--teal) 0%, var(--line) 0%, var(--line) 100%);
  transition:background .5s cubic-bezier(.2,.8,.2,1);
}
.wf-node{
  width:44px;height:44px;border-radius:50%;background:var(--white);border:2px solid var(--line);
  color:var(--text-soft);font-family:'Fraunces',serif;font-weight:600;cursor:pointer;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
  transition:background .3s ease, border-color .3s ease, color .3s ease, transform .2s ease;
}
.wf-node:hover{transform:scale(1.08);cursor:pointer;}
.wf-node.active, .wf-node.done{background:var(--teal);border-color:var(--teal);color:#fff;}
.wf-node-label{font-size:.92rem;font-weight:600;color:var(--text-soft);cursor:pointer;padding:8px 0;transition:color .3s ease;}
.wf-node-label:hover{color:var(--ink);}
.wf-node.active ~ .wf-node-label:first-of-type{color:var(--ink);}
.wf-panel{position:relative;min-height:170px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;}
.wf-panel-item{display:none;animation:wf-fade-in .4s ease;}
.wf-panel-item.active{display:block;}
.wf-panel-tag{display:inline-block;background:var(--c5-soft);color:var(--c5);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:5px 12px;border-radius:999px;margin-bottom:12px;}
.wf-panel-item h3{font-size:1.2rem;margin-bottom:10px;}
.wf-panel-item p{margin:0;color:var(--text-soft);}
@keyframes wf-fade-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@media (max-width:760px){ .wf-interactive{grid-template-columns:1fr;} }

/* ---------- ROTATING BADGE (hero strip decorative element) ---------- */
.rotating-badge{
  width:64px;height:64px;border-radius:50%;flex:none;position:relative;
  background:conic-gradient(var(--teal),var(--coral),var(--amber),var(--teal));
  animation:badge-spin 6s linear infinite;
  display:flex;align-items:center;justify-content:center;
}
.rotating-badge::after{content:"";position:absolute;inset:6px;background:var(--white);border-radius:50%;}
.rotating-badge span{position:relative;z-index:1;font-size:1.3rem;}
@keyframes badge-spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){ .rotating-badge{animation:none;} }

/* ---------- HIRE HERO (dark, oversized scrolling ghost text) ---------- */
.hire-hero-dark{
  position:relative;overflow:hidden;background:linear-gradient(160deg,var(--ink),var(--teal));
  padding:70px 0 50px;
}
.hire-hero-ghost-text{
  position:absolute;top:8%;left:0;white-space:nowrap;
  font-family:'Fraunces',serif;font-weight:600;font-size:9rem;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);
  animation:ghost-scroll 22s linear infinite;pointer-events:none;
}
@keyframes ghost-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .hire-hero-ghost-text{animation:none;} }
@media (max-width:760px){ .hire-hero-ghost-text{font-size:5rem;} }

/* ---------- COLORED STRIP LIST (What Offshore Team Do — full-width bands, not cards) ---------- */
.wf-strip-list{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;}
.wf-strip{padding:26px 32px;transition:padding .3s ease, transform .2s ease;}
.wf-strip:hover{padding-left:44px;}
.wf-strip h3{font-size:1.15rem;margin-bottom:12px;}
.wf-strip ul{display:flex;flex-wrap:wrap;gap:10px 28px;}
.wf-strip li{
  font-size:.88rem;color:var(--text-soft);padding-left:20px;position:relative;list-style:none;
}
.wf-strip li::before{content:"✓";position:absolute;left:0;color:var(--c5);font-weight:800;}
.wf-strip.tint-c1{background:linear-gradient(90deg,var(--c1-soft),transparent 90%);}
.wf-strip.tint-c2{background:linear-gradient(90deg,var(--c2-soft),transparent 90%);}
.wf-strip.tint-c3{background:linear-gradient(90deg,var(--c3-soft),transparent 90%);}
.wf-strip.tint-c4{background:linear-gradient(90deg,var(--c4-soft),transparent 90%);}

.wf-progress-bar{margin-top:20px;height:6px;background:var(--mist);border-radius:4px;overflow:hidden;}
.wf-progress-fill{height:100%;width:20%;background:var(--grad-brand);border-radius:4px;transition:width .5s cubic-bezier(.2,.8,.2,1);}

/* ---------- BY THE NUMBERS (dark photo background) ---------- */
.by-numbers-dark{position:relative;background-size:cover;background-position:center;padding:90px 0;}
.by-numbers-overlay{position:absolute;inset:0;background:linear-gradient(120deg, rgba(14,42,59,.9), rgba(19,82,115,.75));}
.by-numbers-dark .stat strong{font-size:2.4rem;}

/* ---------- GET STARTED SPLIT (mint left with scroll-to-top arrow, white right) ---------- */
.get-started-split{display:grid;grid-template-columns:1fr 1.3fr;min-height:480px;}
.gs-left{
  background:linear-gradient(150deg,var(--c5-soft),var(--c5));
  display:flex;flex-direction:column;justify-content:center;padding:60px 50px;
  cursor:pointer;transition:background .3s ease;
}
.gs-left:hover{background:linear-gradient(150deg,var(--c5),var(--c5-soft));}
.gs-left h2{color:var(--ink);margin-bottom:30px;}
.gs-arrow{
  font-size:2.5rem;font-weight:800;color:var(--ink);line-height:1;
  transition:transform .3s ease;
}
.gs-left:hover .gs-arrow{transform:translateX(10px);}
.gs-right{background:var(--white);padding:60px 50px;display:flex;flex-direction:column;justify-content:center;}
.gs-right p{color:var(--text-soft);}
.gs-right h3{font-size:1.1rem;margin:14px 0 10px;}
.gs-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;}
.gs-list li{font-size:.92rem;color:var(--text-soft);padding-left:20px;position:relative;}
.gs-list li::before{content:"•";position:absolute;left:0;color:var(--coral);font-weight:800;}
.gs-right .btn{align-self:flex-start;}
@media (max-width:760px){ .get-started-split{grid-template-columns:1fr;} }

/* ---------- WORLD CLOCKS (footer timezone widgets) ---------- */
.world-clocks{
  display:flex;justify-content:center;gap:50px;flex-wrap:wrap;
  padding:60px 0 40px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:50px;
}
.clock-widget{display:flex;flex-direction:column;align-items:center;gap:12px;}
.clock-face{width:76px;height:76px;}
.clock-hand{stroke:#fff;stroke-linecap:round;transform-origin:50px 50px;}
.clock-hand.hour{stroke-width:4;}
.clock-hand.minute{stroke-width:2.5;}
.clock-widget span{font-size:.82rem;font-weight:700;color:rgba(255,255,255,.85);}
.footer-grid{padding-top:70px;}

/* ---------- CUSTOM CURSOR (trailing glow dot) ---------- */
.cursor-dot, .cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:9999;
  border-radius:50%;transform:translate(-50%,-50%);
}
.cursor-dot{width:8px;height:8px;background:var(--coral);transition:opacity .2s ease;}
.cursor-ring{
  width:36px;height:36px;border:2px solid rgba(226,99,111,.5);
  transition:transform .15s ease-out, opacity .2s ease, border-color .2s ease;
}
.cursor-ring.hover{transform:translate(-50%,-50%) scale(1.6);border-color:var(--teal);}
body.custom-cursor-active, body.custom-cursor-active a, body.custom-cursor-active button{cursor:none;}
@media (max-width:900px), (hover:none){
  .cursor-dot, .cursor-ring{display:none;}
  body.custom-cursor-active, body.custom-cursor-active a, body.custom-cursor-active button{cursor:auto;}
}

/* ---------- WHAT CAN YOU HIRE (staggered checkmark reveal) ---------- */
.wch-list{display:flex;flex-direction:column;gap:14px;margin:0;list-style:none;padding:0;}
.wch-item{
  display:flex;align-items:center;gap:12px;font-size:.92rem;color:var(--text-soft);
  opacity:0;transform:translateX(-16px);transition:opacity .5s ease, transform .5s ease;
}
[data-reveal].visible .wch-item{opacity:1;transform:translateX(0);}
[data-reveal].visible .wch-item:nth-child(1){transition-delay:.1s;}
[data-reveal].visible .wch-item:nth-child(2){transition-delay:.25s;}
[data-reveal].visible .wch-item:nth-child(3){transition-delay:.4s;}
[data-reveal].visible .wch-item:nth-child(4){transition-delay:.55s;}
[data-reveal].visible .wch-item:nth-child(5){transition-delay:.7s;}
.wch-check{
  width:22px;height:22px;border-radius:50%;background:var(--c5);color:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;
}

/* ---------- TALENT CARD HOVER ANIMATION ---------- */
.talent-card{transition:transform .3s ease, box-shadow .3s ease;}
.talent-card:hover{transform:translateY(-6px);box-shadow:0 24px 46px -20px rgba(14,42,59,.28);}
.talent-avatar{transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.talent-card:hover .talent-avatar{transform:scale(1.12) rotate(-4deg);}

/* ---------- MIS HERO (dark theme) ---------- */
.mis-hero-dark{
  position:relative;overflow:hidden;background:linear-gradient(150deg,var(--ink),var(--teal) 130%);
  padding:70px 0 50px;
}
.chart-card-dark{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.chart-card-dark .chart-head h4{color:#fff;}
.chart-card-dark .chart-value{color:#fff;}
.chart-card-dark .kpi-tile{background:rgba(255,255,255,.08);}
.chart-card-dark .kpi-tile span{color:rgba(255,255,255,.6);}
.chart-card-dark .kpi-tile strong{color:#fff;}
.chart-card-dark .bar-label{color:rgba(255,255,255,.6);}
.chart-card-dark .chart-toggle{background:rgba(255,255,255,.1);}
.chart-card-dark .chart-toggle button{color:rgba(255,255,255,.6);}
.chart-card-dark .chart-toggle button.active{background:rgba(255,255,255,.9);color:var(--ink);}

/* ---------- WHITE GRADIENT SOLUTION CARD (MIS Why Choose Us, on dark section bg) ---------- */
.solution-card-dark{
  background:linear-gradient(160deg,#fff,var(--mist));border:none;border-radius:var(--radius);
  padding:26px;transition:transform .3s ease, box-shadow .3s ease;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.4);
}
.solution-card-dark:hover{transform:translateY(-5px);box-shadow:0 26px 50px -18px rgba(0,0,0,.5);}
.solution-card-dark h3{color:var(--ink);font-size:1.05rem;margin-bottom:10px;}
.solution-card-dark p{color:var(--text-soft);font-size:.9rem;margin:0;}

/* ---------- VALUE PHOTO CARDS (photo background + overlay text) ---------- */
.value-photo-card{
  position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;
  background-size:cover;background-position:center;
  transition:transform .3s ease;
}
.value-photo-card:hover{transform:translateY(-6px);}
.value-photo-overlay{
  position:absolute;inset:0;background:linear-gradient(to top, rgba(14,42,59,.92) 20%, rgba(14,42,59,.4) 60%, rgba(19,82,115,.5));
  transition:background .3s ease;
}
.value-photo-card:hover .value-photo-overlay{background:linear-gradient(to top, rgba(19,82,115,.95) 30%, rgba(14,42,59,.5) 70%, rgba(226,99,111,.4));}
.value-photo-content{position:absolute;bottom:0;left:0;right:0;padding:22px;}
.value-photo-content h3{color:#fff;font-size:1.15rem;margin-bottom:8px;}
.value-photo-content p{color:rgba(255,255,255,.82);font-size:.85rem;margin:0;}

/* ---------- HEADER OVER DARK HERO (transparent at top, solid on scroll) ---------- */
.header-on-dark-hero{
  background:rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.18);
  position:absolute;top:0;left:0;right:0;transition:background .3s ease, border-color .3s ease;
}
.header-on-dark-hero .brand img{filter:brightness(0) invert(1);transition:filter .3s ease;}
.header-on-dark-hero .main-nav > li > a{color:#fff;transition:color .3s ease;}
.header-on-dark-hero .main-nav > li > a .caret{border-top-color:#fff;}
.header-on-dark-hero .country-pill{background:rgba(255,255,255,.15);color:#fff;}
.header-on-dark-hero.scrolled{
  background:rgba(255,255,255,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--line);
  position:sticky;
}
.header-on-dark-hero.scrolled .brand img{filter:none;}
.header-on-dark-hero.scrolled .main-nav > li > a{color:var(--ink);}
.header-on-dark-hero.scrolled .main-nav > li > a .caret{border-top-color:var(--ink);}
.header-on-dark-hero.scrolled .country-pill{background:var(--mist);color:var(--ink);}
.header-on-dark-hero + .full-bleed-hero{padding-top:130px;}

/* ---------- DIFFERENCE CAROUSEL (photo background + gradient tint overlay) ---------- */
.diff-carousel .carousel-track{align-items:stretch;}
.diff-slide{
  position:relative;flex:none;width:100%;border-radius:20px;min-height:280px;
  background-size:cover;background-position:center;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.diff-slide-tint{position:absolute;inset:0;}
.diff-slide-content{position:relative;z-index:1;padding:40px 50px;}
.diff-slide h3{color:#fff;font-size:1.6rem;margin-bottom:14px;}
.diff-slide p{color:rgba(255,255,255,.9);font-size:1.02rem;max-width:520px;margin:0;}
.diff-carousel .carousel-arrow{background:var(--ink);}
.diff-carousel .carousel-arrow:hover{background:var(--coral);}

/* ---------- TALENT PHOTO CARDS ---------- */
.talent-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.talent-photo-card{
  position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;
  transition:transform .3s ease, box-shadow .3s ease;
}
.talent-photo-card:hover{transform:translateY(-6px);box-shadow:0 24px 46px -20px rgba(14,42,59,.3);}
.talent-photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.talent-photo-card:hover img{transform:scale(1.06);}
.talent-photo-overlay{
  position:absolute;bottom:0;left:0;right:0;padding:18px;
  background:linear-gradient(to top, rgba(14,42,59,.92) 30%, transparent);
}
.talent-photo-overlay h3{color:#fff;font-size:.95rem;margin:0 0 4px;}
.talent-photo-overlay span{color:rgba(255,255,255,.75);font-size:.72rem;}
@media (max-width:860px){ .talent-photo-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------- WHAT WE BELIEVE (dark photo section + glass cards) ---------- */
.believe-dark-section{position:relative;background-size:cover;background-position:center;padding:90px 0;}
.believe-overlay{position:absolute;inset:0;background:linear-gradient(100deg, rgba(14,42,59,.88) 40%, rgba(14,42,59,.55));}
.believe-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;}
.believe-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.believe-glass-card{
  border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(6px);border-radius:14px;padding:28px 18px;
  display:flex;align-items:center;justify-content:center;text-align:center;min-height:110px;
  transition:transform .3s ease, box-shadow .3s ease;
}
.believe-glass-card:nth-child(1){background:linear-gradient(135deg, rgba(19,82,115,.55), rgba(93,169,133,.45));}
.believe-glass-card:nth-child(2){background:linear-gradient(135deg, rgba(226,99,111,.5), rgba(19,82,115,.5));}
.believe-glass-card:nth-child(3){background:linear-gradient(135deg, rgba(247,165,49,.45), rgba(226,99,111,.4));}
.believe-glass-card:nth-child(4){background:linear-gradient(135deg, rgba(93,169,133,.5), rgba(247,165,49,.35));}
.believe-glass-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px -14px rgba(0,0,0,.4);}
.believe-glass-card span{color:#fff;font-weight:700;font-size:.95rem;}
@media (max-width:760px){ .believe-grid{grid-template-columns:1fr;} }

/* ---------- PEEK CAROUSEL (center card prominent, adjacent cards peek in dimmed) ---------- */
.peek-carousel-wrap{position:relative;max-width:900px;margin:0 auto;}
.peek-carousel-viewport{overflow:hidden;padding:20px 0;}
.peek-carousel-track{display:flex;align-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.peek-carousel-track .diff-slide{
  flex:none;width:74%;margin:0 3%;min-height:260px;
  opacity:.4;transform:scale(.86);transition:opacity .4s ease, transform .4s ease;
}
.peek-carousel-track .diff-slide.peek-active{opacity:1;transform:scale(1);}
.peek-carousel-wrap .carousel-arrow{z-index:5;}
.peek-carousel-wrap .carousel-arrow.prev{left:0;}
.peek-carousel-wrap .carousel-arrow.next{right:0;}
@media (max-width:760px){
  .peek-carousel-track .diff-slide{width:88%;margin:0 6%;}
}

/* ---------- FLOATING MOCKUP (befree-style connected floating cards for service hero visuals) ---------- */
.fm-wrap{position:relative;padding:20px 6px;}
.fm-blob{position:absolute;border-radius:60px;filter:blur(0);z-index:0;opacity:.55;}
.fm-blob-a{width:60%;height:120px;top:6%;right:-6%;background:linear-gradient(120deg,var(--teal),var(--coral),var(--amber));border-radius:80px;}
.fm-blob-b{width:55%;height:140px;bottom:2%;left:-8%;background:linear-gradient(120deg,var(--amber),var(--coral),var(--teal));border-radius:80px;}
.fm-pill{
  position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;
  background:var(--white);border-radius:999px;padding:12px 22px;box-shadow:0 14px 30px -16px rgba(14,42,59,.25);
  font-family:'Fraunces',serif;font-weight:700;font-size:1rem;color:var(--ink);margin-bottom:22px;
}
.fm-pill .fm-pill-ico{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex:none;}
.fm-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start;}
.fm-col{display:flex;flex-direction:column;gap:20px;}
.fm-card{
  position:relative;background:var(--white);border-radius:18px;padding:22px;
  box-shadow:0 20px 44px -22px rgba(14,42,59,.28);
}
.fm-card h4{font-family:'Fraunces',serif;font-size:1.02rem;color:var(--ink);margin:0 0 14px;}
.fm-skel{display:block;height:8px;border-radius:4px;background:var(--mist);}
.fm-stats{display:flex;gap:26px;margin-bottom:16px;flex-wrap:wrap;}
.fm-stats div strong{display:block;font-family:'Fraunces',serif;font-size:1.3rem;color:var(--ink);}
.fm-stats div span{font-size:.72rem;color:var(--text-soft);}
.fm-row-list{display:flex;flex-direction:column;gap:12px;}
.fm-row-list li{list-style:none;display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line);}
.fm-row-list li:first-child{border-top:none;padding-top:0;}
.fm-dot{width:10px;height:10px;border-radius:50%;flex:none;}
.fm-row-list .fm-skel{flex:1;}
.fm-tag{font-size:.68rem;font-weight:700;color:var(--text-soft);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap;}
.fm-tag.done{background:var(--c1);color:#fff;border-color:var(--c1);}
.fm-mini{display:flex;align-items:center;gap:14px;}
.fm-mini .fm-icon{width:52px;height:52px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.fm-mini strong{display:block;font-family:'Fraunces',serif;font-size:.98rem;color:var(--ink);margin-bottom:6px;}
.fm-mini b{display:block;margin-top:6px;font-family:'Fraunces',serif;font-size:1.15rem;color:var(--ink);}
.fm-checklist{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px;}
.fm-checklist li{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--ink);}
.fm-checklist .fm-check{width:22px;height:22px;border-radius:50%;background:var(--c1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex:none;}
.fm-btn{width:100%;border:1px solid var(--c1);color:var(--c1);background:transparent;border-radius:10px;padding:10px;font-weight:700;font-size:.8rem;font-family:inherit;cursor:default;}
.fm-donut-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.fm-donut{width:130px;height:130px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;flex:none;}
.fm-donut::before{content:"";position:absolute;inset:20px;background:var(--mist);border-radius:50%;display:flex;}
.fm-donut-ico{position:relative;z-index:1;font-size:1.3rem;}
.fm-legend{display:flex;flex-direction:column;gap:8px;}
.fm-legend span{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-soft);}
.fm-legend i{width:10px;height:10px;border-radius:50%;flex:none;}
.fm-total strong{display:block;font-family:'Fraunces',serif;font-size:1.5rem;color:var(--ink);}
.fm-total span{font-size:.72rem;color:var(--text-soft);}
.fm-bars-v{display:flex;gap:26px;align-items:flex-end;height:110px;padding-top:10px;}
.fm-bar-v-col{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end;}
.fm-bar-v-track{width:14px;flex:1;background:var(--mist);border-radius:999px;position:relative;overflow:hidden;display:flex;align-items:flex-end;}
.fm-bar-v-fill{width:100%;border-radius:999px;transform:scaleY(0);transform-origin:bottom;transition:transform .6s ease;}
.fm-wrap.visible .fm-bar-v-fill,.fm-wrap.visible .fm-bar-h-fill,.fm-wrap.visible .fm-bar-2-fill{transform:scale(1);}
.fm-bar-v-label{font-size:.62rem;color:var(--text-soft);writing-mode:vertical-rl;text-orientation:mixed;}
.fm-bars-2{display:flex;align-items:flex-end;gap:12px;height:120px;padding-top:10px;}
.fm-bar-2-col{display:flex;align-items:flex-end;gap:4px;flex:1;height:100%;}
.fm-bar-2-fill{flex:1;border-radius:4px 4px 0 0;transform:scaleY(0);transform-origin:bottom;transition:transform .6s ease;}
.fm-bar-2-label{position:absolute;}
.fm-bars-2-wrap{position:relative;}
.fm-bars-2-labels{display:flex;gap:12px;margin-top:8px;}
.fm-bars-2-labels span{flex:1;text-align:center;font-size:.62rem;color:var(--text-soft);}
.fm-table{width:100%;border-collapse:collapse;font-size:.72rem;}
.fm-table th{text-align:left;font-size:.66rem;color:var(--text-soft);font-weight:700;padding-bottom:10px;}
.fm-table td{padding:9px 6px 9px 0;border-top:1px solid var(--line);}
.fm-table .fm-skel{width:36px;}
.fm-bars-h{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
.fm-bar-h-row{display:flex;align-items:center;gap:10px;}
.fm-bar-h-label{width:52px;font-size:.68rem;color:var(--text-soft);flex:none;}
.fm-bar-h-track{flex:1;height:9px;background:var(--mist);border-radius:999px;overflow:hidden;}
.fm-bar-h-fill{height:100%;border-radius:999px;transform:scaleX(0);transform-origin:left;transition:transform .6s ease;}
.fm-legend-row{display:flex;gap:16px;font-size:.7rem;color:var(--text-soft);margin-top:10px;}
.fm-legend-row span{display:flex;align-items:center;gap:6px;}
.fm-legend-row i{width:9px;height:9px;border-radius:3px;}
.fm-badge{
  display:inline-flex;align-items:center;gap:10px;background:var(--white);border-radius:14px;padding:12px 18px;
  box-shadow:0 14px 30px -16px rgba(14,42,59,.25);margin-top:18px;position:relative;z-index:2;
}
.fm-badge strong{display:block;font-family:'Fraunces',serif;font-size:1rem;color:var(--ink);}
.fm-badge span{font-size:.68rem;color:var(--text-soft);}
.fm-cta-link{display:inline-flex;align-items:center;gap:8px;background:var(--white);border-radius:999px;padding:12px 20px;box-shadow:0 14px 30px -16px rgba(14,42,59,.25);font-weight:700;color:var(--ink);font-size:.9rem;position:relative;z-index:2;margin-top:18px;}
@media (max-width:760px){
  .fm-grid{grid-template-columns:1fr;}
  .fm-blob{display:none;}
}
.platform-logo-row{display:flex;justify-content:center;align-items:center;gap:60px;flex-wrap:wrap;}
.platform-logo-row img{height:44px;width:auto;opacity:.85;transition:opacity .25s ease, transform .25s ease;}
.platform-logo-row img:hover{opacity:1;transform:translateY(-3px);}
@media (max-width:640px){ .platform-logo-row{gap:34px;} .platform-logo-row img{height:34px;} }

/* ---------- UNIFIED INTELLIGENCE HUB (Industry-Specific BI Solutions) ---------- */
.hub-diagram{position:relative;display:grid;grid-template-columns:1fr 110px 1fr;align-items:center;gap:0;}
.hub-col{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;}
.hub-col-right{gap:14px;}
.hub-group{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.hub-group-label{display:block;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin-bottom:12px;}
.hub-logos{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.hub-logos img{height:42px;width:auto;max-width:100px;opacity:1;object-fit:contain;}
.hub-logo-chip{
  display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:8px;
  background:var(--mist);color:var(--ink);font-size:.72rem;font-weight:700;white-space:nowrap;
}
.hub-center{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:20px 0;}
.hub-lines{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none;}
.hub-lines path{stroke:var(--coral);stroke-width:2;fill:none;stroke-dasharray:6 6;opacity:.55;animation:hub-flow 1.4s linear infinite;}
@keyframes hub-flow{to{stroke-dashoffset:-24;}}
@media (prefers-reduced-motion: reduce){ .hub-lines path{animation:none;} }
.hub-core{
  position:relative;z-index:1;width:84px;height:84px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--c1));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 20px 40px -14px rgba(19,82,115,.55);
}
.hub-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px 16px;}
.hub-card-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.hub-card-top span{font-size:.7rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;}
.hub-card-top strong{font-family:'Fraunces',serif;font-size:1rem;color:var(--ink);}
.hub-arr-chart{width:100%;height:70px;display:block;}
.hub-diagram .hub-arr-chart polyline,.hub-diagram .hub-arr-chart path{opacity:0;transition:opacity .6s ease;}
.hub-diagram.visible .hub-arr-chart polyline,.hub-diagram.visible .hub-arr-chart path{opacity:1;}
.hub-mini-table tr.sub td{color:var(--text-soft);font-size:.7rem;padding-left:14px;}
.hub-mini-table tr.sub td:first-child{font-weight:400;color:var(--text-soft);}
.hub-mini-table{width:100%;border-collapse:collapse;font-size:.76rem;}
.hub-mini-table td{padding:5px 0;color:var(--text-soft);}
.hub-mini-table td:first-child{color:var(--ink);font-weight:600;}
.hub-mini-table td.up{color:var(--c5);font-weight:700;text-align:right;}
.hub-mini-table td.down{color:var(--coral);font-weight:700;text-align:right;}
.hub-card-alert{display:flex;gap:10px;align-items:flex-start;background:var(--c3-soft);border-color:transparent;}
.hub-alert-icon{font-size:1.1rem;}
.hub-card-alert strong{display:block;font-size:.82rem;color:var(--ink);margin-bottom:3px;}
.hub-card-alert p{margin:0;font-size:.74rem;color:var(--text-soft);}
.hub-card-alert .down{color:var(--coral-deep);font-weight:700;}
@media (max-width:900px){
  .hub-diagram{grid-template-columns:1fr;gap:20px;}
  .hub-center{padding:6px 0;}
  .hub-lines{display:none;}
}

/* ---------- WHO WE HELP — RADIAL LAYOUT (8 industries around a center emblem) ---------- */
.radial-wrap{display:grid;grid-template-columns:1fr 160px 1fr;align-items:center;gap:0;}
.radial-col{display:flex;flex-direction:column;gap:16px;}
.radial-card{
  display:flex;align-items:flex-start;gap:14px;background:var(--white);border:1px solid var(--line);
  border-radius:16px;padding:18px 20px;transition:transform .25s ease, box-shadow .25s ease;
}
.radial-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(14,42,59,.28);}
.radial-num{
  flex:none;width:34px;height:34px;border-radius:50%;color:#fff;font-family:'Fraunces',serif;font-weight:700;
  font-size:.8rem;display:flex;align-items:center;justify-content:center;
}
.radial-card h3{font-size:.95rem;margin:0 0 4px;}
.radial-card p{font-size:.78rem;margin:0;color:var(--text-soft);}
.radial-center{position:relative;display:flex;align-items:center;justify-content:center;}
.pinwheel{width:190px;height:190px;filter:drop-shadow(0 20px 40px rgba(14,42,59,.3));}
.pinwheel-spin{transform-box:fill-box;transform-origin:center;animation:pinwheel-rotate 26s linear infinite;}
@keyframes pinwheel-rotate{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){ .pinwheel-spin{animation:none;} }
.radial-center-circle{
  position:absolute;width:76px;height:76px;border-radius:50%;
  background:var(--white);
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);
  box-shadow:0 10px 26px -10px rgba(14,42,59,.35);
}
.radial-center-circle strong{font-family:'Fraunces',serif;font-size:1.5rem;line-height:1;}
.radial-center-circle span{font-size:.5rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75;margin-top:2px;}
@media (max-width:900px){
  .radial-wrap{grid-template-columns:1fr;}
  .radial-center{order:-1;padding-bottom:20px;}
}

/* ---------- CFO POSTER CARD (What Is a Virtual CFO — glass poster style) ---------- */
.cfo-poster-card{
  position:relative;overflow:hidden;border-radius:24px;padding:36px 32px;min-height:320px;
  display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(160deg,rgba(19,82,115,.94) 0%,rgba(14,42,59,.96) 55%,rgba(46,196,182,.55) 130%);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 60px -24px rgba(14,42,59,.5);
  color:#fff;
}
.cfo-poster-ring{
  position:absolute;top:-70px;right:-70px;width:240px;height:240px;border-radius:50%;
  border:1px solid rgba(255,255,255,.16);pointer-events:none;
}
.cfo-poster-ring::before{
  content:"";position:absolute;inset:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);
}
.cfo-poster-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.cfo-poster-top svg{opacity:.85;}
.cfo-poster-card h2{position:relative;z-index:1;color:#fff;font-size:1.85rem;margin:20px 0 12px;}
.cfo-poster-card h2 em{font-style:italic;color:var(--amber);}
.cfo-poster-meta{position:relative;z-index:1;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.02em;margin-bottom:auto;}
.cfo-poster-bottom{position:relative;z-index:1;margin-top:26px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;}
.cfo-poster-bottom p{margin:0;font-size:.8rem;color:rgba(255,255,255,.7);max-width:280px;}
.cfo-poster-pill{
  flex:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;
  font-size:.72rem;font-weight:700;padding:8px 16px;border-radius:999px;white-space:nowrap;
}
.cfo-poster-card-wide{min-height:0;}
.cfo-poster-card-wide h2{font-size:1.6rem;max-width:720px;}
.cfo-poster-card-wide .cfo-poster-bottom p{max-width:460px;}

/* ---------- CFO CHECKLIST CARD (You May Need a Virtual CFO If — glass gradient) ---------- */
.cfo-checklist-card{
  position:relative;overflow:hidden;border-radius:24px;padding:32px;
  background:linear-gradient(155deg,rgba(46,196,182,.22) 0%,rgba(19,82,115,.14) 60%,rgba(247,165,49,.2) 130%);
  border:1px solid var(--line);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.cfo-checklist-card::before{
  content:"";position:absolute;bottom:-60px;left:-60px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,var(--c5-soft),transparent 70%);pointer-events:none;
}
.cfo-sparkle{position:absolute;z-index:1;color:var(--amber);font-size:1.1rem;opacity:.7;}
.cfo-sparkle-1{top:22px;right:34px;font-size:1.4rem;}
.cfo-sparkle-2{bottom:26px;right:60px;font-size:.85rem;opacity:.5;}
.cfo-checklist-card .eyebrow{position:relative;z-index:1;margin-bottom:18px;}
.cfo-checklist-panel{
  position:relative;z-index:1;background:var(--white);border-radius:18px;padding:26px 24px;
  box-shadow:0 20px 40px -22px rgba(14,42,59,.22);
}
.cfo-checklist-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.cfo-checklist-card li{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:var(--ink);font-weight:500;}
.cfo-check-ico{
  flex:none;width:22px;height:22px;border-radius:50%;background:var(--c5-soft);color:var(--teal);
  display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;
}

/* ---------- CFO BEFORE / AFTER COMPARISON ---------- */
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ba-col{border-radius:18px;padding:28px;}
.ba-col.before{background:var(--c3-soft);}
.ba-col.after{background:var(--c5-soft);}
.ba-col h3{font-family:'Fraunces',serif;font-size:1.05rem;margin:0 0 18px;}
.ba-col.before h3{color:var(--coral-deep);}
.ba-col.after h3{color:var(--teal);}
.ba-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.ba-col li{position:relative;padding-left:28px;font-size:.86rem;color:var(--ink);}
.ba-col li::before{
  position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:#fff;
}
.ba-col.before li::before{content:"✕";background:var(--coral);}
.ba-col.after li::before{content:"✓";background:var(--teal);}
@media (max-width:760px){ .before-after{grid-template-columns:1fr;} }
/* ---------- CFO BEFORE / AFTER — RADIAL (numbered pill rows flanking a center emblem) ---------- */
.radial-ba-wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;}
.radial-ba-col{position:relative;z-index:1;}
.radial-ba-col.before{padding-right:90px;}
.radial-ba-col.after{padding-left:90px;}
.radial-ba-col h3{font-family:'Fraunces',serif;font-size:1.05rem;margin:0 0 16px;}
.radial-ba-col.before h3{color:var(--coral-deep);}
.radial-ba-col.after h3{color:var(--teal);text-align:right;}
.radial-ba-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.radial-ba-col li{display:flex;align-items:center;gap:10px;}
.radial-ba-col.after li{flex-direction:row-reverse;}
.radial-ba-num{
  flex:none;width:26px;height:26px;border-radius:50%;color:#fff;font-size:.66rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;
}
.radial-ba-col.before .radial-ba-num{background:var(--coral);}
.radial-ba-col.after .radial-ba-num{background:var(--teal);}
.radial-ba-pill{
  flex:1;border-radius:999px;padding:9px 16px;font-size:.78rem;color:var(--ink);font-weight:500;
  box-shadow:0 8px 18px -10px rgba(14,42,59,.2);transition:transform .2s ease;
}
.radial-ba-col li:hover .radial-ba-pill{transform:translateX(4px);}
.radial-ba-col.after li:hover .radial-ba-pill{transform:translateX(-4px);}
.radial-ba-col.before .radial-ba-pill{background:linear-gradient(120deg,var(--c3-soft),var(--white) 65%);border:1px solid var(--c3-soft);}
.radial-ba-col.after .radial-ba-pill{background:linear-gradient(300deg,var(--c5-soft),var(--white) 65%);border:1px solid var(--c5-soft);text-align:right;}
/* centred with plain offsets (not transform): the scroll-reveal animation sets its own transform on children and would shift the circle */
.radial-ba-center{position:absolute;z-index:2;top:calc(50% - 39px);left:calc(50% - 39px);width:78px;height:78px;display:flex;align-items:center;justify-content:center;}
.radial-ba-ring{position:absolute;width:110px;height:110px;border-radius:50%;border:1.5px dashed var(--coral);opacity:.4;}
.radial-ba-ring::before{content:"";position:absolute;inset:-20px;border-radius:50%;border:1.5px dashed var(--teal);opacity:.35;}
.radial-ba-core{
  position:relative;width:78px;height:78px;border-radius:50%;
  background:linear-gradient(150deg,var(--coral),var(--teal));
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 16px 34px -14px rgba(14,42,59,.4);
}
.radial-ba-core strong{font-family:'Fraunces',serif;font-size:1rem;line-height:1;}
.radial-ba-core span{font-size:.56rem;text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin-top:2px;}
@media (max-width:900px){
  .radial-ba-wrap{grid-template-columns:1fr;}
  .radial-ba-center{position:relative;top:auto;left:auto;width:auto;height:auto;order:-1;padding:20px 0;}
  .radial-ba-col.before,.radial-ba-col.after{padding:0;}
  .radial-ba-col.after li,.radial-ba-col.after h3{flex-direction:row;text-align:left;}
  .radial-ba-col.after .radial-ba-pill{text-align:left;}
}

.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.scope-item{
  display:flex;gap:18px;padding:30px 28px;border-radius:20px;border:1px solid rgba(255,255,255,.5);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:transform .25s ease, box-shadow .25s ease;
}
.scope-item:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(14,42,59,.3);}
.scope-item:nth-child(8n+1){background:linear-gradient(150deg,rgba(142,124,240,.16),rgba(142,124,240,.04));}
.scope-item:nth-child(8n+2){background:linear-gradient(150deg,rgba(0,180,216,.16),rgba(0,180,216,.04));}
.scope-item:nth-child(8n+3){background:linear-gradient(150deg,rgba(255,107,107,.16),rgba(255,107,107,.04));}
.scope-item:nth-child(8n+4){background:linear-gradient(150deg,rgba(247,165,49,.18),rgba(247,165,49,.05));}
.scope-item:nth-child(8n+5){background:linear-gradient(150deg,rgba(46,196,182,.18),rgba(46,196,182,.05));}
.scope-item:nth-child(8n+6){background:linear-gradient(150deg,rgba(255,143,163,.16),rgba(255,143,163,.04));}
.scope-item:nth-child(8n+7){background:linear-gradient(150deg,rgba(76,201,240,.16),rgba(76,201,240,.04));}
.scope-item:nth-child(8n+8){background:linear-gradient(150deg,rgba(67,170,139,.16),rgba(67,170,139,.05));}
.scope-num{
  flex:none;width:38px;height:38px;border-radius:50%;background:var(--white);margin-top:2px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:700;font-size:.8rem;color:var(--coral-deep);
  box-shadow:0 8px 18px -8px rgba(14,42,59,.25);
}
.scope-item h3{font-size:1.02rem;margin:0 0 6px;}
.scope-item p{font-size:.85rem;margin:0 0 12px;}
.scope-tags{display:flex;flex-wrap:wrap;gap:8px;}
.scope-tags span{background:rgba(255,255,255,.75);color:var(--coral-deep);font-size:.68rem;font-weight:700;padding:5px 12px;border-radius:999px;}
@media (max-width:760px){ .scope-grid{grid-template-columns:1fr;} }

/* ---------- CFO MONTHLY DELIVERABLES (icon cards) ---------- */
.deliverable-card{
  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px;
  box-shadow:0 16px 32px -22px rgba(14,42,59,.2);
}
.deliverable-ico{width:40px;height:40px;border-radius:10px;background:var(--amber-soft);color:var(--coral-deep);display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:14px;}
.deliverable-card h3{font-size:1rem;margin:0 0 8px;}
.deliverable-card p{font-size:.84rem;margin:0 0 14px;}
.deliverable-tag{font-size:.66rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--coral-deep);}

/* ---------- CFO ENGAGEMENT MODELS (comparison table) ---------- */
.cfo-table-wrap{overflow-x:auto;border-radius:16px;box-shadow:0 20px 44px -26px rgba(14,42,59,.28);}
.cfo-table{width:100%;border-collapse:collapse;min-width:640px;background:var(--white);}
.cfo-table thead th{background:var(--ink);color:#fff;text-align:left;font-family:'Fraunces',serif;font-weight:700;font-size:.92rem;padding:18px 22px;}
.cfo-table thead th:first-child{border-radius:16px 0 0 0;}
.cfo-table thead th:last-child{border-radius:0 16px 0 0;}
.cfo-table tbody td{padding:16px 22px;font-size:.86rem;color:var(--text-soft);border-top:1px solid var(--line);}
.cfo-table tbody td:first-child{font-weight:700;color:var(--ink);}
.cfo-table tbody td:nth-child(2){background:var(--c1-soft);color:var(--ink);font-weight:600;}
@media (max-width:760px){ .cfo-table{min-width:580px;} }
.platform-marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.platform-marquee-track{display:flex;align-items:center;gap:70px;width:max-content;animation:platform-scroll 24s linear infinite;}
.platform-marquee-track img{height:44px;width:auto;opacity:.8;transition:opacity .25s ease, transform .25s ease;flex-shrink:0;}
.platform-marquee-track img:hover{opacity:1;transform:translateY(-3px);}
.platform-marquee:hover .platform-marquee-track{animation-play-state:paused;}
@keyframes platform-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .platform-marquee-track{animation:none;} }
@media (max-width:640px){ .platform-marquee-track{gap:40px;} .platform-marquee-track img{height:34px;} }

/* ---------- BI MOCKUP FRAME (floating gradient card behind, richer dashboard mockup) ---------- */
.bi-mockup-frame{
  background:linear-gradient(135deg,var(--c1-soft),var(--c1));border-radius:20px;padding:22px;
}
.bi-mini-dash{background:var(--white);border-radius:16px;padding:26px;box-shadow:0 24px 50px -20px rgba(14,42,59,.32);}
.bi-mini-dash .bmd-top{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:700;font-size:1.15rem;color:var(--ink);margin-bottom:20px;}
.bi-mini-dash .bmd-top svg{width:24px;height:24px;}
.bi-mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;}
.bi-mini-kpis div{background:var(--mist);border-radius:10px;padding:14px 12px;}
.bi-mini-kpis span{display:block;font-size:.68rem;color:var(--text-soft);font-weight:700;text-transform:uppercase;margin-bottom:4px;}
.bi-mini-kpis strong{display:block;font-family:'Fraunces',serif;font-size:1.15rem;color:var(--ink);}
.bi-chart-row{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;}
.bi-chart-label{display:block;font-size:.82rem;color:var(--text-soft);font-weight:700;margin-bottom:12px;}
.bi-axis-chart{position:relative;height:150px;padding-left:42px;}
.bi-axis-tick{position:absolute;left:0;font-size:.68rem;color:var(--text-soft);transform:translateY(50%);}
.bi-donut-col{display:flex;flex-direction:column;align-items:center;}
.bi-donut{
  width:120px;height:120px;border-radius:50%;position:relative;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.bi-donut-center{
  width:76px;height:76px;background:var(--white);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;color:var(--ink);
}
.bi-donut-legend{display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.bi-donut-legend span{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-soft);}
.bi-donut-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;}
@media (max-width:640px){
  .bi-mini-dash{padding:18px;}
  .bi-chart-row{grid-template-columns:1fr;}
  .bi-axis-chart{height:120px;}
}

/* ---------- DUAL BAR CHART (Sales Overview — earnings/expenditure pairs + hover tooltip) ---------- */
.bi-period-pill{background:var(--mist);border-radius:999px;padding:4px 12px;font-size:.65rem;font-weight:700;color:var(--text-soft);}
.bi-trend{font-size:.72rem;font-weight:700;margin-left:4px;}
.bi-trend.up{color:var(--c5);}
.bi-trend.down{color:var(--coral);}
.bi-dualbar-wrap{display:flex;align-items:flex-end;gap:14px;height:90px;padding-top:26px;}
.bi-dualbar-pair{position:relative;flex:1;display:flex;align-items:flex-end;gap:3px;height:100%;cursor:pointer;}
.bi-dualbar-pair .bi-bar-e{flex:1;background:var(--c1-soft);border-radius:4px 4px 0 0;transition:transform .4s ease;transform:scaleY(0);transform-origin:bottom;}
.bi-dualbar-pair .bi-bar-x{flex:1;background:var(--c1);border-radius:4px 4px 0 0;transition:transform .4s ease;transform:scaleY(0);transform-origin:bottom;}
.bi-bento.visible .bi-dualbar-pair .bi-bar-e, .bi-bento.visible .bi-dualbar-pair .bi-bar-x{transform:scaleY(1);}
.bi-dualbar-pair .bar-label{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:.6rem;color:var(--text-soft);}
.bi-dualbar-pair::before{
  content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-6px);
  background:var(--ink);color:#fff;font-size:.6rem;padding:4px 8px;border-radius:6px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.bi-dualbar-pair:hover::before{opacity:1;}

/* ===== Centralized type scale (replaces scattered inline font-size overrides) ===== */
.fs-2xs{font-size:.7rem;}
.fs-xs{font-size:.8rem;}
.fs-sm{font-size:.88rem;}
.fs-base{font-size:1rem;}
.fs-md{font-size:1.15rem;}
.fs-lg{font-size:1.35rem;}
.fs-xl{font-size:1.6rem;}
.fs-2xl{font-size:2.1rem;}

/* ===== FAQ pagination controls ===== */
.faq-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px;}
.faq-page-btn{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--white);
  color:var(--ink);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s ease, border-color .2s ease, opacity .2s ease;
}
.faq-page-btn:hover:not(:disabled){background:var(--mist);border-color:var(--coral);}
.faq-page-btn:disabled{opacity:.35;cursor:default;}
.faq-page-dots{display:flex;gap:8px;}
.faq-page-dot{width:9px;height:9px;border-radius:50%;border:none;background:var(--line);padding:0;cursor:pointer;transition:background .2s ease, transform .2s ease;}
.faq-page-dot.active{background:var(--coral);transform:scale(1.2);}

/* ===== Tax form card: What We Need? / What We Do? tab toggle ===== */
.fc-tabs{display:flex;gap:8px;margin:14px 0 12px;border:1px solid var(--line);border-radius:10px;padding:4px;background:var(--mist);}
.fc-tab-btn{
  flex:1;border:none;background:transparent;padding:9px 10px;border-radius:7px;
  font-size:.82rem;font-weight:700;color:var(--text-soft);cursor:pointer;transition:background .2s ease, color .2s ease, box-shadow .2s ease;
}
.fc-tab-btn.active{background:var(--white);color:var(--ink);box-shadow:0 4px 10px -4px rgba(14,42,59,.25);}
.fc-tab-btn:hover:not(.active){color:var(--ink);}
.fc-tab-panel{display:none;}
.fc-tab-panel.active{display:block;}
.fc-sub-title{font-size:.78rem;font-weight:700;color:var(--text-soft);margin:10px 0 6px;}

/* ===== MIS hub: related image card (left column) ===== */
.hub-img-card{
  border-radius:14px;overflow:hidden;border:1px solid var(--line);height:150px;
}
.hub-img-card img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== Header country selector: pill becomes a dropdown (list is generated from CENTFLOW_PRICING in animate.js) ===== */
.country-switch{position:relative;}
.country-pill{cursor:pointer;user-select:none;}
.country-pill::after{
  content:"";width:6px;height:6px;margin-left:4px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;
}
.country-switch.open .country-pill::after{transform:rotate(-135deg) translateY(-2px);}
.country-menu{
  position:absolute;top:calc(100% + 10px);right:0;min-width:190px;
  background:var(--white);border:1px solid var(--line);border-radius:14px;padding:8px;
  box-shadow:var(--shadow);z-index:60;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.country-switch.open .country-menu{opacity:1;visibility:visible;transform:translateY(0);}
.country-menu a{display:block;padding:10px 14px;border-radius:9px;font-size:.9rem;font-weight:600;color:var(--ink);}
.country-menu a:hover{background:var(--mist);}
.country-menu a.active,.dropdown a[data-country-select].active{color:var(--coral-deep);}
.country-menu a.active{background:var(--mist);}
@media (max-width:1080px){ .header-actions .country-switch{display:none;} }

/* ===== Articles / Resources ===== */
.article-hero{background:var(--sand);padding:72px 0 52px;}
.container.narrow{max-width:820px;}
.article-back{display:inline-block;font-size:.85rem;font-weight:700;color:var(--teal);margin-bottom:22px;}
.article-hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:14px;}
.article-hero .lead{color:var(--text-soft);font-size:1.1rem;max-width:640px;margin:0;}
.article-meta{color:var(--text-soft);font-size:.9rem;margin:0;}
.article-body{padding:64px 0 32px;}
.prose{font-size:1.05rem;line-height:1.8;}
.prose p{margin:0 0 1.2em;color:#2d3f4c;}
.prose h2{font-size:1.5rem;margin:1.8em 0 .6em;}
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.3em;}
.prose ul{list-style:disc;}
.prose ol{list-style:decimal;}
.prose li{margin:.5em 0;color:#2d3f4c;padding-left:.2em;}
.article-cta{margin-top:48px;border-radius:24px;padding:32px;background:linear-gradient(120deg,var(--teal),var(--ink));color:#fff;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;}
.article-cta h3{color:#fff;margin:0 0 6px;font-size:1.3rem;}
.article-cta p{margin:0;color:rgba(255,255,255,.82);font-size:.95rem;}
.article-cta .cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
.article-cta .btn-primary{background:var(--btn-bg,linear-gradient(120deg,#E8962A,#F6BE4F));}
.article-tag{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:10px;}
.soon-card{background:var(--white);border:1px dashed var(--line);border-radius:20px;padding:32px;}
.soon-card .article-tag{color:var(--teal);}
.article-cta .btn{white-space:normal;text-align:center;}
.article-cta .cta-actions{max-width:100%;}
.article-link{display:inline-block;margin-top:12px;font-weight:700;font-size:.9rem;color:var(--teal);}
.why-card:hover .article-link{color:var(--coral-deep);}
.footer-bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.footer-bottom a:hover{color:#fff;}
.contact-card p{margin:0 0 6px;color:var(--text-soft);font-size:.95rem;}
.contact-card a.contact-link{font-weight:700;color:var(--teal);word-break:break-word;}
.contact-card a.contact-link:hover{color:var(--coral-deep);}
.contact-hours{text-align:center;margin:30px 0 0;color:var(--text-soft);font-size:.95rem;}

/* centred text inside the hub circle (long labels such as "Your Firm" wrap onto two centred lines) */
.radial-ba-core{text-align:center;}
.radial-ba-core strong{display:block;text-align:center;font-size:.9rem;line-height:1.08;}
.radial-ba-core span{display:block;text-align:center;}

/* About page: while the header is transparent over the dark hero, a hovered menu item keeps light text on a translucent pill */
.header-on-dark-hero:not(.scrolled) .main-nav > li > a:hover,
.header-on-dark-hero:not(.scrolled) .main-nav > li:hover > a{background:rgba(255,255,255,.18);color:#fff;}
.header-on-dark-hero:not(.scrolled) .main-nav > li:hover > a .caret{border-top-color:#fff;}

/* ===== WordPress swaps flag emoji for <img class="emoji">; keep them text-sized (v1.0.1) ===== */
img.emoji,img.wp-smiley{height:1em!important;width:1em!important;max-width:1em!important;min-width:0!important;display:inline!important;margin:0 .1em!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important;vertical-align:-.12em!important;}

/* ===== v1.0.3 fixes ===== */
/* Latest Insights cards: real articles, branded thumbnail, clickable */
a.blog-card{display:block;color:inherit;text-decoration:none;}
.blog-thumb-art{display:flex;align-items:center;justify-content:center;font-size:3.6rem;line-height:1;}
.blog-thumb-art.t1{background:linear-gradient(135deg,var(--c1-soft),var(--c1) 170%);}
.blog-thumb-art.t2{background:linear-gradient(135deg,var(--c3-soft),var(--c3) 170%);}
.blog-thumb-art.t3{background:linear-gradient(135deg,var(--c4-soft),var(--c4) 170%);}
.blog-read{display:inline-block;font-size:.84rem;font-weight:700;color:var(--teal);}
a.blog-card:hover .blog-read{color:var(--coral-deep);}
.blog-more{text-align:center;margin:28px 0 0;}
.blog-more a{font-weight:700;color:var(--teal);}
.blog-more a:hover{color:var(--coral-deep);}
/* Explore Other Services: room above the row so a lifted card's top line is not clipped */
.other-services-rail.other-services-rail{padding-top:14px;padding-bottom:20px;margin-top:-6px;}
/* No visible scrollbars on card rows / FAQ box (they still scroll: touch, trackpad, wheel, or mouse drag) */
.other-services-rail,.testi-rail,.video-rail,.faq-scroll{scrollbar-width:none;-ms-overflow-style:none;}
.other-services-rail::-webkit-scrollbar,.testi-rail::-webkit-scrollbar,.video-rail::-webkit-scrollbar,.faq-scroll::-webkit-scrollbar{display:none;width:0;height:0;}

/* ===== v1.0.4 ===== */
/* About leaders: equal-height cards, Read more bottom-right and small; an opened card grows on its own */
.leader-grid.leader-grid{align-items:stretch;}
.leader-grid.leader-grid:has(.leader-more[open]){align-items:start;}
.leader-card .leader-body{flex:1;display:flex;flex-direction:column;}
.leader-card .leader-more{margin-top:auto;padding-top:10px;}
.leader-card .leader-more summary{text-align:right;font-size:.78rem;font-weight:600;letter-spacing:.02em;}
/* Popup (booking + videos) */
.cf-pop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(10,28,40,.74);padding:16px;overflow:hidden;animation:cf-pop-in .2s ease;}
@keyframes cf-pop-in{from{opacity:0}to{opacity:1}}
.cf-pop-box{position:relative;width:min(1000px,100%);height:min(720px,calc(100vh - 100px));height:min(720px,calc(100dvh - 100px));background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);}
.cf-pop-box.cf-pop-wide{width:min(960px,100%);height:auto;aspect-ratio:16/9;background:#000;}
.cf-pop-box iframe,.cf-pop-box video{display:block;width:100%;height:100%;border:0;}
.cf-pop-close{position:absolute;top:16px;right:16px;z-index:3;width:48px;height:48px;border-radius:50%;border:0;padding:0;background:#fff;color:#0e2a3b;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,.45);transition:transform .15s ease,background .15s ease;}
.cf-pop-close:hover{background:var(--coral,#e2636f);color:#fff;transform:scale(1.06);}
.cf-pop-alt{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#fff;font-size:.85rem;text-decoration:underline;opacity:.9;}
@media (max-width:700px){.cf-pop{padding:0;}.cf-pop-box{width:100%;height:100%;border-radius:0;}.cf-pop-box.cf-pop-wide{height:auto;}.cf-pop-alt{display:none;}}
/* Home videos */
.video-slide.has-video{cursor:pointer;}
.video-slide.is-soon{cursor:default;}
.video-slide.is-soon:hover{transform:none;box-shadow:0 16px 34px -18px rgba(14,42,59,.18);}
.video-slide.is-soon:hover .play-btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6);transform:none;}
.video-soon{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.94);color:#0e2a3b;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 11px;border-radius:999px;}

/* ===== v1.0.6 ===== */
@keyframes cf-pulse{0%{box-shadow:0 0 0 0 rgba(226,99,111,.6)}100%{box-shadow:0 0 0 14px rgba(226,99,111,0)}}
.country-pill.cf-pulse{animation:cf-pulse .9s ease-out 1;}
footer [data-country-select].active{color:#fff;font-weight:700;}

/* ===== v1.0.8: tighter vertical spacing on Services and Industries ===== */
.centflow-page-services section:not(.hero):not(.full-bleed-hero),
.centflow-page-industries section:not(.hero):not(.full-bleed-hero){padding-top:56px;padding-bottom:56px;}
.centflow-page-services .section-head,
.centflow-page-industries .section-head{margin-bottom:30px;}
.centflow-page-services section.hero{padding-bottom:44px;}
@media (max-width:900px){
  .centflow-page-services section:not(.hero):not(.full-bleed-hero),
  .centflow-page-industries section:not(.hero):not(.full-bleed-hero){padding-top:40px;padding-bottom:40px;}
}

/* ===== v1.0.9: industry pages - one button colour, every card coloured ===== */
html body.centflow-site .cf-ind.cf-ind .btn-primary,
html body.centflow-site .cf-ind.cf-ind .btn-outline,
html body.centflow-site .cf-ind.cf-ind .plan .btn-primary,
html body.centflow-site .cf-ind.cf-ind .plan .btn-outline,
html body.centflow-site .cf-ind.cf-ind .plan.featured .btn-primary,
html body.centflow-site .cf-ind.cf-ind .plan.featured .btn-outline{
  background:var(--btn-bg,linear-gradient(120deg,#E8962A,#F6BE4F));color:var(--btn-fg,#0E2A3B);border-color:transparent;box-shadow:var(--btn-ring,0 0 0 0 transparent),0 10px 26px -8px var(--btn-shadow,rgba(232,150,42,.5));
}
html body.centflow-site .cf-ind.cf-ind .btn-primary:hover,
html body.centflow-site .cf-ind.cf-ind .btn-outline:hover,
html body.centflow-site .cf-ind.cf-ind .plan .btn-primary:hover,
html body.centflow-site .cf-ind.cf-ind .plan .btn-outline:hover,
html body.centflow-site .cf-ind.cf-ind .plan.featured .btn-primary:hover,
html body.centflow-site .cf-ind.cf-ind .plan.featured .btn-outline:hover{
  background:var(--btn-bg,linear-gradient(120deg,#E8962A,#F6BE4F));color:var(--btn-fg,#0E2A3B);border-color:transparent;transform:translateY(-2px);box-shadow:var(--btn-ring,0 0 0 0 transparent),0 14px 32px -8px var(--btn-shadow,rgba(232,150,42,.5));
}
html body.centflow-site .cf-ind.cf-ind .pains>.pain:nth-child(4n+1){background:linear-gradient(150deg,#fff,var(--c1-soft));}
html body.centflow-site .cf-ind.cf-ind .pains>.pain:nth-child(4n+2){background:linear-gradient(150deg,#fff,var(--c2-soft));}
html body.centflow-site .cf-ind.cf-ind .pains>.pain:nth-child(4n+3){background:linear-gradient(150deg,#fff,var(--c3-soft));}
html body.centflow-site .cf-ind.cf-ind .pains>.pain:nth-child(4n+4){background:linear-gradient(150deg,#fff,var(--c4-soft));}
html body.centflow-site .cf-ind.cf-ind .steps>.step:nth-child(6n+1){background:linear-gradient(150deg,#fff,var(--c1-soft));}
html body.centflow-site .cf-ind.cf-ind .steps>.step:nth-child(6n+2){background:linear-gradient(150deg,#fff,var(--c2-soft));}
html body.centflow-site .cf-ind.cf-ind .steps>.step:nth-child(6n+3){background:linear-gradient(150deg,#fff,var(--c3-soft));}
html body.centflow-site .cf-ind.cf-ind .steps>.step:nth-child(6n+4){background:linear-gradient(150deg,#fff,var(--c4-soft));}
html body.centflow-site .cf-ind.cf-ind .steps>.step:nth-child(6n+5){background:linear-gradient(150deg,#fff,var(--c5-soft));}
html body.centflow-site .cf-ind.cf-ind .steps>.step:nth-child(6n+6){background:linear-gradient(150deg,#fff,var(--c6-soft));}
html body.centflow-site .cf-ind.cf-ind .step h3{padding-right:54px;}

/* ===== v1.0.10: whole Latest Insights card on the industry pages is clickable ===== */
html body.centflow-site .cf-ind.cf-ind .res{position:relative;}
html body.centflow-site .cf-ind.cf-ind .res a.more::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;}

/* ===== v1.0.11 ===== */
/* About: Pawan's bio is clamped to the height of the other two cards */
.leader-bio{position:relative;}
.leader-bio p + p{margin-top:10px;}
.leader-bio.is-clamped{max-height:var(--bio-h,12rem);overflow:hidden;}
.leader-bio.is-clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none;}
.leader-toggle{align-self:flex-end;background:none;border:0;padding:8px 0 0;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--teal);}
.leader-toggle:hover{color:var(--coral-deep);}
.leader-grid.leader-grid:has(.leader-bio.is-open){align-items:start;}
/* video testimonials on the Industries page */
.video-testi-slide.has-video{cursor:pointer;}
/* hire cards: buttons line up at the bottom whatever the list length; short testimonial rows are centred */
.hire-card .btn{margin-top:auto;}
.testi-rail:not(:has(.testi-slide:nth-child(4))){justify-content:center;}
/* the featured hire card on Offshore / IT Sector used a white button: same coral button as everywhere else */
html body .offshore-hire-wrap .hire-card.featured .btn-primary,
html body .offshore-hire-wrap .hire-card.featured .btn-primary:hover{background:var(--btn-bg,linear-gradient(120deg,#E8962A,#F6BE4F));color:var(--btn-fg,#0E2A3B);}

/* About: the carousel measures slides by offsetLeft, which needs the track to be the positioned parent */
.peek-carousel-track{position:relative;}

/* ===== v1.0.13: buttons use the "dark area" colours when they sit on a dark background ===== */
.cf-on-dark,
.cta-band .btn-primary, .article-cta .btn-primary, .dark-band-section .btn-primary, .bg-ink .btn-primary,
.hire-hero-dark .btn-primary, .mis-hero-dark .btn-primary, .hero-dark-cfo .btn-primary,
.header-on-dark-hero:not(.scrolled) .btn-primary,
.offshore-hire-wrap .hire-card.featured .btn-primary,
.cf-ind .hero .btn-primary, .cf-ind .band .btn-primary{
  --btn-bg:var(--btn-bg-dark);--btn-bg-hover:var(--btn-bg-dark-hover);--btn-fg:var(--btn-fg-dark);--btn-shadow:var(--btn-shadow-dark);--btn-ring:var(--btn-ring-dark);
}

/* ===== v1.0.15 ===== */
/* phones and tablets: card grids collapse instead of pushing the page wider than the screen */
@media (max-width:900px){
  html body .solutions-grid{grid-template-columns:repeat(2,1fr);}
  html body .pricing-wrap{grid-template-columns:1fr;}
}
@media (max-width:640px){
  html body .solutions-grid{grid-template-columns:1fr;}
  html body .btn{white-space:normal;text-align:center;max-width:100%;}
}
/* About and Home: tighter vertical spacing */
.centflow-page-about section:not(.hero):not(.hero-light):not(.full-bleed-hero),
.centflow-page-home section:not(.hero):not(.hero-light):not(.full-bleed-hero){padding-top:60px;padding-bottom:60px;}
.centflow-page-about section.believe-dark-section{padding-top:64px;padding-bottom:64px;}
.centflow-page-about .testi-carousel-wrap,
.centflow-page-home .testi-carousel-wrap{padding-top:56px;padding-bottom:56px;}
.centflow-page-about .section-head,
.centflow-page-home .section-head{margin-bottom:34px;}
@media (max-width:900px){
  .centflow-page-about section:not(.hero):not(.hero-light):not(.full-bleed-hero),
  .centflow-page-home section:not(.hero):not(.hero-light):not(.full-bleed-hero){padding-top:44px;padding-bottom:44px;}
}
/* MIS page on phones: the card grid must be allowed to shrink to the screen */
@media (max-width:900px){
  html body .bi-bento{grid-template-columns:minmax(0,1fr);}
  html body .bi-card{min-width:0;overflow:hidden;}
}
@media (max-width:640px){
  html body .bi-mini-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  html body .bi-mini-kpis > *{min-width:0;padding-left:8px;padding-right:8px;}
}
/* ===== v1.0.15: one vertical rhythm on every page (page-opening sections keep their own spacing) ===== */
body.centflow-site section:not([class*="hero"]){padding-top:60px;padding-bottom:60px;}
body.centflow-site .section-head{margin-bottom:34px;}
body.centflow-site .cf-ind.cf-ind section{padding-top:60px;padding-bottom:60px;}
@media (max-width:900px){
  body.centflow-site section:not([class*="hero"]),
  body.centflow-site .cf-ind.cf-ind section{padding-top:44px;padding-bottom:44px;}
}

/* ===== v1.0.18: blog posts (light layout) ===== */
.cf-post-narrow{max-width:780px;margin:0 auto;padding:0 24px;}
.cf-post-hero{padding:48px 0 26px;background:linear-gradient(180deg,var(--mist),var(--white));}
.cf-post-back{display:inline-block;margin-bottom:18px;font-size:.88rem;font-weight:600;color:var(--text-soft);}
.cf-post-back:hover{color:var(--coral-deep);}
.cf-post-hero .eyebrow{display:flex;margin-bottom:10px;}
.cf-post-hero h1{font-size:clamp(1.8rem,4.2vw,2.8rem);line-height:1.15;margin:0 0 14px;}
.cf-post-meta{margin:0;color:var(--text-soft);font-size:.9rem;}
.cf-post-cover{margin-bottom:8px;}
.cf-post-cover img{display:block;width:100%;height:auto;border-radius:var(--radius);}
.cf-post-body{padding-top:22px;padding-bottom:56px;font-size:1.06rem;line-height:1.8;color:var(--text);overflow-wrap:break-word;}
.cf-post-body > *:first-child{margin-top:0;}
.cf-post-body p{margin:0 0 1.25em;}
.cf-post-body h2{font-size:1.65rem;margin:1.9em 0 .6em;}
.cf-post-body h3{font-size:1.3rem;margin:1.6em 0 .5em;}
.cf-post-body h4{font-size:1.1rem;margin:1.4em 0 .4em;}
.cf-post-body ul{list-style:disc;margin:0 0 1.25em 1.4em;padding:0;}
.cf-post-body ol{list-style:decimal;margin:0 0 1.25em 1.4em;padding:0;}
.cf-post-body li{margin:.4em 0;}
.cf-post-body a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.cf-post-body a:hover{color:var(--coral-deep);}
.cf-post-body img,.cf-post-body video,.cf-post-body iframe{max-width:100%;height:auto;border-radius:12px;}
.cf-post-body figure{margin:1.8em 0;}
.cf-post-body figcaption{margin-top:8px;font-size:.85rem;color:var(--text-soft);text-align:center;}
.cf-post-body blockquote{margin:1.8em 0;padding:.3em 0 .3em 1.2em;border-left:4px solid var(--coral);font-style:italic;color:var(--text-soft);}
.cf-post-body table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:1.6em 0;font-size:.95rem;}
.cf-post-body th,.cf-post-body td{border:1px solid var(--line);padding:10px 12px;text-align:left;}
.cf-post-body th{background:var(--mist);}
.cf-post-body pre{overflow-x:auto;padding:16px;border-radius:12px;background:var(--mist);font-size:.9rem;}
.cf-post-body hr{border:0;border-top:1px solid var(--line);margin:2em 0;}
.cf-post-cta-wrap{padding-top:0;}
.cf-post-cta .btn-primary{--btn-bg:var(--btn-bg-dark);--btn-bg-hover:var(--btn-bg-dark-hover);--btn-fg:var(--btn-fg-dark);--btn-shadow:var(--btn-shadow-dark);--btn-ring:var(--btn-ring-dark);}
.cf-post-more .blog-more{text-align:center;margin:28px 0 0;}
@media (max-width:640px){.cf-post-hero{padding:34px 0 18px;}.cf-post-body{font-size:1rem;}}

/* ===== number tiles that now carry a word instead of a figure ===== */
.stat strong.stat-word,.stat-row .stat strong.stat-word{font-size:1.6rem;line-height:1.2;letter-spacing:-.01em;}
.by-numbers-dark .stat strong.stat-word{font-size:1.75rem;}
@media (max-width:640px){.stat strong.stat-word,.by-numbers-dark .stat strong.stat-word{font-size:1.25rem;}}
.gradient-band .band-stat strong.stat-word{font-size:1.5rem;line-height:1.25;letter-spacing:-.01em;}
@media (max-width:640px){.gradient-band .band-stat strong.stat-word{font-size:1.15rem;}}

/* Resources page article list */
.cf-all-articles.cf-collapsed .blog-card:nth-child(n+10){display:none;}
.cf-more-btn[hidden]{display:none;}

/* Plain pages (Privacy, Terms, pages added later) */
.cf-plain .cf-post-hero{padding:44px 0 18px;}
.cf-plain .cf-post-body{padding-top:10px;}
.cf-plain-wide{display:block;width:100%;overflow-x:clip;}
