/* ═══════════════════════════════════════════════════════════
   A1 Consulting — BCG-style LIGHT theme  (HOMEPAGE ONLY)
   Everything is scoped under `body.bcg` so the 8 subpages,
   which also load shared.css, stay completely untouched.
   Loaded AFTER shared.css so it wins the cascade.
   Tokens lifted from live bcg.com (computed styles).
   ═══════════════════════════════════════════════════════════ */

/* ── 1. Token flip — redefining the theme vars cascades the
       whole re-theme to ~190 var() usages, homepage only ── */
body.bcg {
  /* --primary/--secondary are used only as surface backgrounds in the
     original theme (e.g. roi calculator panels) → map to light surfaces */
  --primary:#ffffff;
  --secondary:#f1eeea;
  --secondary-light:#ffffff;
  --nav-bg: rgba(255,255,255,0.82);
  --nav-border: rgba(12,43,21,0.10);
  --text-on-dark:#ffffff;
  --text-muted-dark: rgba(255,255,255,0.72);
  --bg:#ffffff;
  --bg-alt:#f1eeea;        /* BCG warm cream      */
  --bg-subtle:#f4f3f0;
  --section-stripe-a:#ffffff;
  --section-stripe-b:#f1eeea;
  --text:#212427;          /* BCG charcoal        */
  --text-secondary:#3f4549;
  --text-muted:#6b7177;
  --border:#ddd9d2;
  --accent:#0c2b15;        /* BCG forest green    */
  --accent-hover:#16431f;
  --accent-light:#2f6b3f;
  --accent-bg: rgba(12,43,21,0.06);
  --accent-border: rgba(12,43,21,0.16);
  --cta:#96f878;           /* BCG signature lime  */
  --cta-hover:#7fe85f;
  --cta-text:#0c2b15;
  --shadow-sm:0 1px 3px rgba(15,30,20,0.05);
  --shadow-md:0 10px 30px rgba(15,30,20,0.08);
  --shadow-lg:0 22px 60px rgba(15,30,20,0.12);

  background:#ffffff !important;
  color:var(--text);
  font-family:'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
}

/* ── 2. Typography — serif display + light weights (BCG) ── */
body.bcg h1,
body.bcg h2,
body.bcg h3,
body.bcg h4 {
  font-family:'Fraunces', 'Palatino Linotype', Palatino, Georgia, serif;
  font-weight:300;
  font-optical-sizing:auto;
  letter-spacing:-0.01em;
  line-height:1.06;
  color:#0c2b15;
}
body.bcg .section-header h2 { font-size:clamp(2.1rem, 3.6vw, 3rem); }

/* kill the AI-gradient text everywhere → solid green (BCG never gradients) */
body.bcg .section-header h2 span,
body.bcg .page-hero h1 span,
body.bcg .automation-costs-text h2 span,
body.bcg .section-header h2.gradient-heading,
body.bcg .hero h1 span,
body.bcg .stat-card strong {
  background:none !important;
  -webkit-text-fill-color:currentColor !important;
  background-clip:border-box !important;
  -webkit-background-clip:border-box !important;
  color:#2f6b3f !important;
  animation:none !important;
}

/* ── 3. Neutralise the dark-theme effects ── */
body.bcg::after { display:none !important; }              /* film grain off */
body.bcg .mouse-glow {                                     /* blue spot → faint green */
  background:radial-gradient(circle, rgba(12,43,21,0.05) 0%, transparent 70%) !important;
}

/* ── 4. Buttons — BCG signature lime CTA + outline ── */
body.bcg .btn-primary,
body.bcg .nav-cta,
body.bcg .form-submit,
body.bcg .mobile-nav-cta,
body.bcg .bcg-cta {
  background:var(--cta) !important;
  color:var(--cta-text) !important;
  border:none !important;
  border-radius:14px !important;
  font-family:'Hanken Grotesk', sans-serif !important;
  font-weight:700 !important;
  font-size:0.8rem !important;
  letter-spacing:0.05em;
  text-transform:uppercase;
  padding:0.95rem 1.7rem !important;
}
body.bcg .btn-primary:hover,
body.bcg .nav-cta:hover,
body.bcg .form-submit:hover,
body.bcg .bcg-cta:hover {
  background:var(--cta-hover) !important;
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(12,43,21,0.16) !important;
}
body.bcg .btn-primary::before,
body.bcg .btn-primary::after { display:none !important; }

body.bcg .btn-secondary {
  background:transparent !important;
  color:var(--text) !important;
  border:2px solid var(--text) !important;
  border-radius:14px !important;
  font-weight:700 !important;
  font-size:0.8rem !important;
  letter-spacing:0.05em;
  text-transform:uppercase;
  padding:0.9rem 1.7rem !important;
}
body.bcg .btn-secondary:hover {
  background:var(--text) !important;
  color:#fff !important;
  border-color:var(--text) !important;
  transform:translateY(-2px);
}

/* ── 5. Nav — light bar, charcoal links, forest-green hovers ── */
body.bcg nav { background:var(--nav-bg) !important; border-bottom:1px solid var(--nav-border) !important; }
body.bcg nav.scrolled { background:rgba(255,255,255,0.97) !important; box-shadow:0 1px 22px rgba(15,30,20,0.07) !important; }
body.bcg nav .logo,
body.bcg nav:not(.scrolled) .logo { color:var(--text); }
body.bcg nav .nav-links a,
body.bcg nav:not(.scrolled) .nav-links a,
body.bcg nav:not(.scrolled) .nav-dropdown-trigger { color:var(--text) !important; }
body.bcg nav:not(.scrolled) .nav-links a:hover { color:var(--accent) !important; }
body.bcg nav:not(.scrolled) .lang-btn { border-color:var(--border); }
body.bcg nav:not(.scrolled) .lang-option { color:var(--text-muted); }
body.bcg nav:not(.scrolled) .lang-option.lang-active { color:var(--accent); }
body.bcg nav:not(.scrolled) .lang-sep { color:var(--text-muted); }
body.bcg nav:not(.scrolled) { border-bottom-color:var(--nav-border); }
body.bcg .logo-image { filter:none; }

/* dropdown + mobile nav → light */
body.bcg .nav-dropdown-menu { background:#ffffff !important; border:1px solid var(--border) !important; box-shadow:var(--shadow-lg) !important; }
body.bcg .nav-dropdown-item { color:var(--text); }
body.bcg .nav-dropdown-item:hover { background:var(--accent-bg) !important; }
body.bcg .nav-dropdown-item:hover .nav-dd-icon { background:var(--accent-bg) !important; border-color:var(--accent-border) !important; }
body.bcg .nav-dd-title { color:var(--text); }
body.bcg .nav-dd-icon svg { stroke:var(--accent-light) !important; }
body.bcg .mobile-nav { background:rgba(255,255,255,0.98) !important; }
body.bcg .mobile-nav-links a { color:var(--text) !important; }
body.bcg .mobile-nav-links span { color:var(--text-muted) !important; }

/* nav underline + roi link → green via var(--accent) already */

/* ── 6. Hero — light, left-aligned, big serif h1 ── */
body.bcg .hero { background:var(--bg-alt); padding:9.5rem 2rem 5.5rem; min-height:auto; }
body.bcg .hero-bg { background:linear-gradient(180deg,#ffffff 0%, var(--bg-alt) 100%) !important; }
body.bcg .hero-lines,
body.bcg .hero::before { display:none !important; }
body.bcg .hero-content {
  background:transparent !important;
  backdrop-filter:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  max-width:1080px;
  width:100%;
  text-align:left !important;
}
body.bcg .hero-badge {
  display:inline-block !important;
  font-family:'Hanken Grotesk', sans-serif;
  font-size:0.78rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:#2f6b3f; margin-bottom:1.4rem; background:none; border:none; padding:0;
}
body.bcg .hero h1 {
  color:#0c2b15 !important;
  font-weight:300 !important;
  font-size:clamp(2.7rem, 6.2vw, 4.6rem) !important;
  line-height:1.0 !important;
  letter-spacing:-0.02em !important;
  margin-bottom:1.6rem;
  max-width:14ch;
}
body.bcg .hero h1 span { color:#2f6b3f !important; }
body.bcg .hero p { color:var(--text-secondary) !important; font-size:1.2rem; line-height:1.6; margin:0 0 2.4rem !important; max-width:600px; }
body.bcg .hero-buttons { justify-content:flex-start !important; }

/* ── 7. Generic light surfaces for kept sections ── */
body.bcg section { background:var(--bg); }
body.bcg .clients,
body.bcg .automation-costs,
body.bcg .about,
body.bcg .savings-section { background:var(--bg-alt); }
body.bcg .why-us,
body.bcg .services,
body.bcg .process,
body.bcg .stats-section,
body.bcg .contact { background:var(--bg); }
body.bcg .section-header p { color:var(--text-secondary); }

/* card hover light-sweep tints → green (override hardcoded blue from shared.css) */
body.bcg .hub-card::before,
body.bcg .for-card::before,
body.bcg .usecase-card::before,
body.bcg .tech-card::before,
body.bcg .cases-card::before,
body.bcg .service-card::before {
  background:linear-gradient(45deg, transparent 40%, rgba(12,43,21,0.05) 50%, transparent 60%) !important;
}
body.bcg .hub-card,
body.bcg .for-card,
body.bcg .service-card,
body.bcg .why-card,
body.bcg .savings-card,
body.bcg .stat-card,
body.bcg .cases-card,
body.bcg .process-step,
body.bcg .compare-col {
  background:#fff !important;
  border:1px solid var(--border) !important;
  box-shadow:var(--shadow-sm);
}
body.bcg .hub-card:hover,
body.bcg .for-card:hover,
body.bcg .service-card:hover,
body.bcg .why-card:hover,
body.bcg .cases-card:hover,
body.bcg .stat-card:hover {
  border-color:var(--accent-border) !important;
  box-shadow:var(--shadow-md) !important;
}
body.bcg .form-group input:focus,
body.bcg .form-group textarea:focus {
  border-color:var(--accent) !important;
  box-shadow:0 0 0 3px rgba(12,43,21,0.08) !important;
}

/* ── 8. Shared bits for the new BCG sections ── */
body.bcg .bcg-eyebrow {
  display:inline-block;
  font-family:'Hanken Grotesk', sans-serif;
  font-size:0.78rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:#2f6b3f; margin-bottom:1rem;
}
body.bcg .bcg-arrow-link {
  display:inline-flex; align-items:center; gap:0.5rem;
  font-family:'Hanken Grotesk', sans-serif;
  font-size:0.78rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase;
  color:#0c2b15; text-decoration:none;
}
body.bcg .bcg-arrow-link svg { width:18px; height:18px; transition:transform .35s cubic-bezier(.22,1,.36,1); }
body.bcg .bcg-arrow-link:hover svg { transform:translateX(5px); }

/* ── 9. Promo modules ("Kunnianhimosta tuloksiin") ── */
/* !important defeats the embedded nth-of-type zebra-stripe !important rules */
body.bcg .bcg-modules { background:var(--bg) !important; }
body.bcg .bcg-modules-inner { max-width:1200px; margin:0 auto; }
body.bcg .bcg-modules-head { max-width:760px; margin-bottom:3rem; }
body.bcg .bcg-modules-head h2 { font-size:clamp(2.1rem,3.6vw,3rem); margin:0 0 0.6rem; }
body.bcg .bcg-modules-head h2 a { color:inherit; text-decoration:none; }
body.bcg .bcg-modules-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
body.bcg .bcg-module {
  position:relative; display:flex; flex-direction:column; justify-content:flex-end;
  min-height:380px; border-radius:18px; overflow:hidden; text-decoration:none;
  background-size:cover; background-position:center;
  box-shadow:var(--shadow-sm); transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s;
}
body.bcg .bcg-module::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,43,21,0) 30%, rgba(8,28,15,0.86) 100%);
}
body.bcg .bcg-module:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
body.bcg .bcg-module-body { position:relative; z-index:1; padding:1.8rem; }
body.bcg .bcg-module-kicker { display:block; font-size:0.74rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#96f878; margin-bottom:0.55rem; }
body.bcg .bcg-module-body h3 { color:#fff !important; font-size:1.5rem; margin:0 0 0.9rem; }
body.bcg .bcg-module .bcg-arrow-link { color:#fff; }

/* wide locations spotlight */
body.bcg .bcg-spotlight {
  display:grid; grid-template-columns:1.1fr 1fr; gap:0; margin-top:1.5rem;
  border-radius:18px; overflow:hidden; background:var(--bg-alt); box-shadow:var(--shadow-sm);
}
body.bcg .bcg-spotlight-img { min-height:320px; background-size:cover; background-position:center; }
body.bcg .bcg-spotlight-body { padding:2.6rem; display:flex; flex-direction:column; justify-content:center; }
body.bcg .bcg-spotlight-body h2 { font-size:clamp(1.8rem,2.6vw,2.4rem); margin:0 0 0.8rem; }
body.bcg .bcg-spotlight-body p { color:var(--text-secondary); line-height:1.6; margin:0 0 1.5rem; max-width:42ch; }

/* ── 10. Insights grid ("Näkemyksiä") ── */
body.bcg .bcg-insights { background:var(--bg-alt) !important; }
body.bcg .bcg-insights-inner { max-width:1200px; margin:0 auto; }
body.bcg .bcg-insights-head { max-width:760px; margin-bottom:3rem; }
body.bcg .bcg-insights-head h2 { font-size:clamp(2.1rem,3.6vw,3rem); margin:0 0 1rem; }
body.bcg .bcg-insights-head p { color:var(--text-secondary); font-size:1.12rem; line-height:1.6; }
body.bcg .bcg-insights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
body.bcg .bcg-insight {
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--border);
  border-radius:16px; padding:1.8rem; text-decoration:none;
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s, border-color .45s;
}
body.bcg .bcg-insight:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:var(--accent-border); }
body.bcg .bcg-insight-cat { font-size:0.74rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#2f6b3f; margin-bottom:0.45rem; }
body.bcg .bcg-insight-meta { font-size:0.8rem; color:var(--text-muted); margin-bottom:1rem; }
body.bcg .bcg-insight h3 { font-size:1.4rem; line-height:1.12; margin:0 0 0.8rem; color:#0c2b15; }
body.bcg .bcg-insight p { color:var(--text-secondary); font-size:0.95rem; line-height:1.55; margin:0 0 1.4rem; flex:1; }
body.bcg .bcg-insight .bcg-arrow-link { color:#0c2b15; }

/* ── 11. Subscribe band (BCG "Featured Insights") ── */
body.bcg .bcg-subscribe { background:#0c2b15 !important; }
body.bcg .bcg-subscribe-inner {
  max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr;
  gap:3rem; align-items:center;
}
body.bcg .bcg-subscribe .bcg-eyebrow { color:#96f878; }
body.bcg .bcg-subscribe h2 { color:#fff !important; font-size:clamp(2rem,3.2vw,2.7rem); margin:0 0 1rem; }
body.bcg .bcg-subscribe p { color:rgba(255,255,255,0.78); font-size:1.1rem; line-height:1.6; max-width:46ch; }
body.bcg .bcg-subscribe-form { display:flex; gap:0.8rem; flex-wrap:wrap; }
body.bcg .bcg-subscribe-form input {
  flex:1; min-width:220px; padding:1rem 1.2rem; border-radius:12px;
  border:1px solid rgba(255,255,255,0.25); background:rgba(255,255,255,0.06); color:#fff;
  font-family:'Hanken Grotesk', sans-serif; font-size:1rem;
}
body.bcg .bcg-subscribe-form input::placeholder { color:rgba(255,255,255,0.55); }
body.bcg .bcg-subscribe-form input:focus { outline:none; border-color:#96f878; box-shadow:0 0 0 3px rgba(150,248,120,0.18); }
body.bcg .bcg-subscribe-form .bcg-cta { display:inline-flex; align-items:center; gap:0.5rem; cursor:pointer; }
body.bcg .bcg-subscribe-msg { color:#96f878; font-weight:600; margin-top:0.6rem; min-height:1.2em; font-size:0.95rem; }

/* ── 12. Footer (BCG forest-green) ── */
body.bcg footer { background:#0c2b15 !important; border-top:none !important; padding:0 !important; }
body.bcg .bcg-footer-inner { max-width:1200px; margin:0 auto; padding:4.5rem 2rem 2.5rem; }
body.bcg .bcg-footer-top { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,0.14); }
body.bcg .bcg-footer-tagline { font-family:'Fraunces', Georgia, serif; font-weight:300; font-size:1.7rem; line-height:1.2; color:#fff; max-width:18ch; }
body.bcg .bcg-footer-col h4 { font-family:'Hanken Grotesk', sans-serif; font-size:0.76rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#96f878; margin:0 0 1.1rem; }
body.bcg .bcg-footer-col ul { list-style:none; padding:0; margin:0; }
body.bcg .bcg-footer-col li { margin-bottom:0.7rem; }
body.bcg .bcg-footer-col a { color:rgba(255,255,255,0.82); text-decoration:none; font-size:0.95rem; transition:color .25s; }
body.bcg .bcg-footer-col a:hover { color:#96f878; }
body.bcg .bcg-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; padding-top:1.8rem; }
body.bcg .bcg-footer-logo { height:46px; width:auto; }
body.bcg .bcg-footer-bottom p { color:rgba(255,255,255,0.6) !important; font-size:0.85rem; margin:0; }
body.bcg .bcg-footer-legal { display:flex; gap:1.4rem; flex-wrap:wrap; }
body.bcg .bcg-footer-legal a { color:rgba(255,255,255,0.6); text-decoration:none; font-size:0.85rem; }
body.bcg .bcg-footer-legal a:hover { color:#fff; }

/* ── 13. Responsive ── */
@media (max-width:900px){
  body.bcg .bcg-modules-grid,
  body.bcg .bcg-insights-grid { grid-template-columns:1fr; }
  body.bcg .bcg-spotlight,
  body.bcg .bcg-subscribe-inner { grid-template-columns:1fr; }
  body.bcg .bcg-spotlight-img { min-height:220px; }
  body.bcg .bcg-footer-top { grid-template-columns:1fr; gap:2rem; }
  body.bcg .hero { padding:8rem 1.5rem 4rem; }
}
@media (max-width:600px){
  body.bcg .hero h1 { font-size:clamp(2.2rem,9vw,3rem) !important; }
  body.bcg .hero-buttons { width:100%; }
}

/* ── 14. BCG-style hamburger nav (collapsed at ALL widths) ── */
body.bcg .nav-container { justify-content:flex-start !important; gap:0.5rem; }
body.bcg .nav-links { display:none !important; }          /* hide inline links everywhere */
body.bcg .mobile-menu-btn {
  display:inline-flex !important; align-items:center; justify-content:center;
  order:-2; margin:0 0.4rem 0 0; padding:0.25rem 0.5rem;
  font-size:1.7rem; line-height:1; color:var(--text);
  background:none; border:none; cursor:pointer; transition:opacity .25s;
}
body.bcg .mobile-menu-btn:hover { opacity:0.6; }
body.bcg .logo { order:-1; margin-right:auto !important; }  /* push actions to the right */
body.bcg .lang-btn { order:1; }
body.bcg .nav-cta { order:2; }
/* roi page has a simple nav (.nav-right with .nav-back links, no hamburger) — keep links dark */
body.bcg .nav-right { order:3; }
body.bcg .nav-back,
body.bcg nav:not(.scrolled) .nav-back { color:var(--text) !important; }
body.bcg nav:not(.scrolled) .nav-back:hover { color:var(--accent) !important; }

/* ── 15. Subpage components (palvelut/*, guide, roi) ── */
/* page hero → light */
body.bcg .page-hero h1,
body.bcg .hero-inner h1 { color:#0c2b15 !important; font-weight:300 !important; }
body.bcg .page-hero p,
body.bcg .hero-inner p,
body.bcg .hero-subtitle { color:var(--text-secondary) !important; }
body.bcg .hero-tag,
body.bcg .page-hero-badge { color:#2f6b3f !important; background:var(--accent-bg) !important; border-color:var(--accent-border) !important; }
body.bcg .hero-stats { color:var(--text) !important; }
body.bcg .hero-stats strong,
body.bcg .hero-stat-num { color:#2f6b3f !important; }

/* compare / usecase / tech cards → light surfaces */
body.bcg .compare-col,
body.bcg .usecase-card,
body.bcg .tech-card,
body.bcg .faq-item,
body.bcg .pricing-card { background:#fff !important; border:1px solid var(--border) !important; color:var(--text); }
body.bcg .compare-col h3,
body.bcg .usecase-card h3,
body.bcg .tech-card h3 { color:#0c2b15 !important; }
body.bcg .compare-col li,
body.bcg .usecase-card li { color:var(--text-secondary) !important; }
body.bcg .col-bad { opacity:1; }

/* CTA band → BCG forest-green */
body.bcg .cta-section { background:#0c2b15 !important; }
body.bcg .cta-section::after { opacity:0.45; }
body.bcg .cta-inner h2 { color:#fff !important; }
body.bcg .cta-inner p { color:rgba(255,255,255,0.82) !important; }
body.bcg .cta-section .btn-secondary { color:#fff !important; border-color:rgba(255,255,255,0.6) !important; }
body.bcg .cta-section .btn-secondary:hover { background:#fff !important; color:#0c2b15 !important; border-color:#fff !important; }

/* process-step number circle: forest-green bg needs light text (shared.css forces dark) */
body.bcg .step-number { color:#fff !important; }

/* guide: end CTA box had hardcoded blue tint → green */
body.bcg .cta-box { background:var(--accent-bg) !important; border-color:var(--accent-border) !important; }
body.bcg .cta-box a { color:#fff !important; }

/* roi: selected scope tier had hardcoded blue tint → green */
body.bcg .tier-btn.active { background:var(--accent-bg) !important; border-color:var(--accent) !important; }
/* roi: highlight result card + tip box had hardcoded blue tints → green */
body.bcg .metric-card.highlight,
body.bcg .tip-box { background:var(--accent-bg) !important; border-color:var(--accent-border) !important; }

/* simple one-line subpage footer */
body.bcg footer > p { margin:0 !important; padding:2.4rem 2rem !important; text-align:center; color:rgba(255,255,255,0.72) !important; font-size:0.9rem; }

@media (max-width:600px){
  body.bcg .nav-cta { display:none !important; }            /* declutter mobile bar like BCG */
}


/* ═══════════════════════════════════════════════════════════
   16. BCG homepage restructure — new editorial components
   (green-gradient hero, Real-Impact cards, feature band,
   image insights, dark trio, team, enriched footer)
   ═══════════════════════════════════════════════════════════ */

/* ── Hero: signature BCG flowing green gradient ── */
body.bcg .bcg-hero{
  position:relative; overflow:hidden; isolation:isolate;
  background:#eafae0;
  padding:11rem 2rem 7rem; min-height:80vh;
  display:flex; align-items:center; justify-content:center;
}
body.bcg .bcg-hero-gradient{
  position:absolute; inset:0; z-index:0; overflow:hidden;
  background:
    radial-gradient(60% 80% at 12% 18%, rgba(150,248,120,0.85) 0%, transparent 60%),
    radial-gradient(55% 75% at 88% 28%, rgba(95,214,196,0.80) 0%, transparent 62%),
    radial-gradient(70% 70% at 72% 105%, rgba(126,230,168,0.70) 0%, transparent 60%),
    linear-gradient(120deg,#f4fcee 0%, #e3f8d4 45%, #d2f4e6 100%);
}
body.bcg .bcg-blob{ position:absolute; border-radius:50%; filter:blur(64px); opacity:0.6; will-change:transform; }
body.bcg .bcg-blob-1{ width:560px; height:560px; left:-130px; top:-150px; background:#9bf27e; animation:bcgFloat1 19s ease-in-out infinite; }
body.bcg .bcg-blob-2{ width:520px; height:520px; right:-110px; top:-70px;  background:#57d6b6; animation:bcgFloat2 23s ease-in-out infinite; }
body.bcg .bcg-blob-3{ width:620px; height:620px; left:38%;   bottom:-280px; background:#7fe6a0; animation:bcgFloat1 27s ease-in-out infinite reverse; }
@keyframes bcgFloat1{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(42px,30px) scale(1.08);} }
@keyframes bcgFloat2{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(-52px,40px) scale(1.05);} }
@media (prefers-reduced-motion: reduce){ body.bcg .bcg-blob{ animation:none !important; } }
body.bcg .bcg-hero .hero-content{ position:relative; z-index:1; }
body.bcg .bcg-hero .hero-eyebrow{ color:#0c2b15; }
body.bcg .bcg-hero h1{ max-width:20ch; }
body.bcg .bcg-hero h1 span{ color:#1f7a4d !important; }
body.bcg .bcg-hero p{ color:#1a3a24 !important; max-width:54ch; }

/* dark CTA button used on the green hero */
body.bcg .btn-dark{
  background:#0c2b15 !important; color:#ffffff !important; border:none !important;
}
body.bcg .btn-dark:hover{
  background:#16431f !important; color:#fff !important;
  transform:translateY(-2px); box-shadow:0 14px 32px rgba(12,43,21,0.28) !important;
}

/* ── Shared section heads + arrow text spans ── */
body.bcg .bcg-section-head{ max-width:820px; margin:0 auto 3.4rem; text-align:center; }
body.bcg .bcg-section-head h2{ font-size:clamp(2.1rem,3.6vw,3rem); margin:0 0 1rem; }
body.bcg .bcg-section-head p{ color:var(--text-secondary); font-size:1.12rem; line-height:1.6; }
body.bcg .bcg-arrow-link .arr{ width:18px; height:18px; flex-shrink:0; transition:transform .35s cubic-bezier(.22,1,.36,1); }
body.bcg .bcg-arrow-link:hover .arr{ transform:translateX(5px); }

/* ── Beyond Strategy. Real Impact. (case cards) ── */
body.bcg .bcg-impact{ background:#fff; }
body.bcg .bcg-impact-inner{ max-width:1200px; margin:0 auto; }
body.bcg .bcg-impact-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
body.bcg .bcg-case{
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--border);
  border-radius:16px; overflow:hidden; text-decoration:none;
  transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s, border-color .5s;
}
body.bcg .bcg-case:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--accent-border); }
body.bcg .bcg-case-img{ position:relative; height:220px; background-size:cover; background-position:center; }
body.bcg .bcg-case-img::after{ content:''; position:absolute; inset:0; background:linear-gradient(155deg, rgba(12,43,21,0.04) 0%, rgba(12,43,21,0.34) 100%); }
body.bcg .bcg-case-body{ padding:1.6rem 1.5rem 1.7rem; display:flex; flex-direction:column; flex:1; }
body.bcg .bcg-case-tag{ font-size:0.72rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#2f6b3f; margin-bottom:0.7rem; }
body.bcg .bcg-case h3{ font-size:1.3rem; line-height:1.16; margin:0 0 1.3rem; color:#0c2b15; flex:1; }
body.bcg .bcg-impact-more{ text-align:center; margin-top:2.6rem; }

/* ── AI feature band (Return Estimator) ── */
body.bcg .bcg-feature{ background:var(--bg-alt); }
body.bcg .bcg-feature-inner{ max-width:1150px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:3.2rem; align-items:center; }
body.bcg .bcg-feature-text h2{ font-size:clamp(2rem,3.2vw,2.8rem); margin:0.5rem 0 1rem; }
body.bcg .bcg-feature-text p{ color:var(--text-secondary); font-size:1.12rem; line-height:1.65; margin:0 0 1.7rem; max-width:46ch; }
body.bcg .bcg-feature-img{ min-height:370px; border-radius:20px; background-size:cover; background-position:center; box-shadow:var(--shadow-md); }

/* ── Insights → image-top cards (override §10 text-only) ── */
body.bcg .bcg-insight{ padding:0 !important; overflow:hidden; }
body.bcg .bcg-insight-img{ height:190px; background-size:cover; background-position:center; }
body.bcg .bcg-insight-body{ padding:1.6rem 1.5rem 1.7rem; display:flex; flex-direction:column; flex:1; }

/* ── Dark trio cards ── */
body.bcg .bcg-trio{ background:#fff; }
body.bcg .bcg-trio-inner{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
body.bcg .bcg-trio-card{
  position:relative; overflow:hidden; min-height:300px; border-radius:18px; padding:2.2rem;
  display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none;
  background:#0c2b15; transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s;
}
body.bcg .bcg-trio-card::before{ content:''; position:absolute; inset:0; background-image:var(--bcg-trio-img); background-size:cover; background-position:center; opacity:0.62; transition:opacity .5s, transform .6s; }
body.bcg .bcg-trio-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(165deg, rgba(12,43,21,0.30) 0%, rgba(10,33,18,0.62) 55%, rgba(8,28,15,0.90) 100%); }
body.bcg .bcg-trio-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
body.bcg .bcg-trio-card:hover::before{ opacity:0.78; transform:scale(1.06); }
body.bcg .bcg-trio-card > *{ position:relative; z-index:1; }
body.bcg .bcg-trio-kicker{ font-size:0.72rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:#96f878; margin-bottom:0.6rem; }
body.bcg .bcg-trio-card h3{ color:#fff !important; font-size:1.6rem; margin:0 0 1.1rem; }
body.bcg .bcg-trio-card .bcg-arrow-link{ color:#fff; }

/* ── Locations spotlight wrapper ── */
body.bcg .bcg-locations{ background:var(--bg-alt); }
body.bcg .bcg-locations-inner{ max-width:1150px; margin:0 auto; }

/* ── Team (people behind A1) ── */
body.bcg .bcg-team{ background:#fff; }
body.bcg .bcg-team-inner{ max-width:1000px; margin:0 auto; }
body.bcg .bcg-team-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
body.bcg .bcg-team-card{
  display:flex; gap:1.5rem; align-items:center; background:#fff; border:1px solid var(--border);
  border-radius:18px; padding:1.8rem; box-shadow:var(--shadow-sm);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s, border-color .45s;
}
body.bcg .bcg-team-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:var(--accent-border); }
body.bcg .bcg-team-avatar{ width:104px; height:104px; flex-shrink:0; border-radius:16px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0c2b15 0%, #2f6b3f 100%); color:#96f878; font-family:'Fraunces', Georgia, serif; font-weight:400; font-size:2rem; letter-spacing:0.02em; box-shadow:var(--shadow-sm); }
body.bcg .bcg-team-info h3{ font-size:1.5rem; margin:0 0 0.2rem; color:#0c2b15; }
body.bcg .bcg-team-role{ color:#2f6b3f; font-weight:600; font-size:0.95rem; margin-bottom:0.5rem; font-family:'Hanken Grotesk', sans-serif; }
body.bcg .bcg-team-edu{ color:var(--text-muted); font-size:0.85rem; line-height:1.45; margin-bottom:0.7rem; font-family:'Hanken Grotesk', sans-serif; }
body.bcg .bcg-team-info p{ color:var(--text-secondary); font-size:0.92rem; line-height:1.55; margin:0; }

/* ── Footer: 4th "assist" column + social + contact button ── */
body.bcg .bcg-footer-top{ grid-template-columns:1.6fr 1fr 1fr 1.2fr; }
body.bcg .bcg-footer-contact{
  display:inline-block; background:#96f878; color:#0c2b15; font-weight:700; font-size:0.8rem;
  letter-spacing:0.05em; text-transform:uppercase; padding:0.85rem 1.6rem; border-radius:12px;
  text-decoration:none; margin-bottom:1.4rem; transition:background .3s, transform .3s;
}
body.bcg .bcg-footer-contact:hover{ background:#7fe85f; transform:translateY(-2px); }
body.bcg .bcg-social{ display:flex; gap:0.8rem; }
body.bcg .bcg-social a{ width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16); color:#fff; transition:background .3s, color .3s, border-color .3s; }
body.bcg .bcg-social a:hover{ background:#96f878; color:#0c2b15; border-color:#96f878; }
body.bcg .bcg-social svg{ width:20px; height:20px; }

/* ── Responsive (placed last so it wins the cascade) ── */
@media (max-width:980px){
  body.bcg .bcg-impact-grid,
  body.bcg .bcg-insights-grid,
  body.bcg .bcg-trio-inner{ grid-template-columns:repeat(2,1fr) !important; }
  body.bcg .bcg-feature-inner{ grid-template-columns:1fr; gap:2rem; }
  body.bcg .bcg-feature-img{ min-height:260px; order:-1; }
  body.bcg .bcg-footer-top{ grid-template-columns:1fr 1fr; }
  body.bcg .bcg-hero{ padding:10rem 1.5rem 5rem; min-height:auto; }
}
@media (max-width:640px){
  body.bcg .bcg-impact-grid,
  body.bcg .bcg-insights-grid,
  body.bcg .bcg-trio-inner{ grid-template-columns:1fr !important; }
  body.bcg .bcg-team-grid{ grid-template-columns:1fr; }
  body.bcg .bcg-team-card{ flex-direction:column; text-align:center; }
  body.bcg .bcg-footer-top{ grid-template-columns:1fr; }
  body.bcg .bcg-hero{ padding:8.5rem 1.25rem 4.5rem; }
}


/* ── 17. Floating "pill" nav (homepage only) — BCG-style compact header ── */
body.bcg nav{ background:transparent !important; border-bottom:none !important; backdrop-filter:none !important; padding:1.1rem 1.6rem !important; }
body.bcg nav.scrolled{ background:transparent !important; box-shadow:none !important; }
body.bcg .nav-container{ max-width:none !important; justify-content:space-between !important; align-items:flex-start; }
body.bcg .nav-links{ display:none !important; }
body.bcg .nav-pill{
  display:inline-flex; align-items:center; gap:0.5rem;
  background:rgba(255,255,255,0.92); backdrop-filter:blur(12px);
  border:1px solid rgba(12,43,21,0.07); border-radius:16px;
  padding:0.5rem 0.75rem; box-shadow:0 8px 22px rgba(15,30,20,0.14);
}
body.bcg .nav-pill-left{ gap:0.4rem; }
body.bcg .nav-pill-right{ gap:0.6rem; }
body.bcg .nav-pill .logo{ order:0; margin:0 !important; display:flex; align-items:center; }
body.bcg .nav-pill .logo-image{ height:60px; width:auto; transform:none; margin:0; }
body.bcg .nav-pill .mobile-menu-btn{ order:0; margin:0; display:inline-flex; align-items:center; justify-content:center; font-size:1.5rem; line-height:1; padding:0.15rem 0.45rem; color:var(--text); background:none; border:none; cursor:pointer; }
body.bcg .nav-pill .mobile-menu-btn:hover{ opacity:0.6; }
body.bcg .nav-pill .lang-btn{ order:0; border:none; padding:0.4rem 0.5rem; }
body.bcg .nav-pill .nav-cta{ order:0; padding:0.6rem 1.1rem !important; }
@media (max-width:600px){
  body.bcg nav{ padding:0.85rem 1rem !important; }
  body.bcg .nav-pill{ padding:0.45rem 0.6rem; }
  body.bcg .nav-pill .logo-image{ height:48px; }
  body.bcg .nav-pill .nav-cta{ display:none !important; }
}


/* ── 18. Palvelut hub cards — lighter copy + animation polish ── */
body.bcg .hub-card{ position:relative; overflow:hidden; transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s, border-color .35s; }
body.bcg .hub-card::after{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--cta), var(--accent-light)); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.22,1,.36,1); }
body.bcg .hub-card:hover::after{ transform:scaleX(1); }
body.bcg .hub-card:hover{ transform:translateY(-6px); }
body.bcg .hub-card-icon{ transition:transform .45s cubic-bezier(.22,1,.36,1), background .35s, border-color .35s; }
body.bcg .hub-card:hover .hub-card-icon{ transform:scale(1.08) rotate(-3deg); background:var(--accent); border-color:var(--accent); }
body.bcg .hub-card:hover .hub-card-icon svg{ stroke:#fff !important; }
body.bcg .hub-card-desc{ color:var(--text-secondary); font-size:0.92rem; line-height:1.6; margin:0 0 1.1rem; flex:1; }
body.bcg .hub-card-outcome{ align-self:flex-start; }

/* ── 19. Hamburger overlay must open on desktop too (nav is hamburger-only at all widths) ── */
body.bcg .mobile-nav.open{ display:flex !important; }


/* ── 20. Orange serif "A1" text logo (replaces ailogo PNG in header) ── */
body.bcg .logo-text{ font-family:'Fraunces','Playfair Display',Georgia,serif; font-weight:600; color:#d9790f; line-height:1; letter-spacing:-0.01em; text-decoration:none; }
body.bcg .nav-pill .logo-text{ font-size:2.6rem; display:inline-flex; align-items:center; color:#d9790f !important; }
body.bcg .mobile-nav-header .logo-text-m{ font-size:2.1rem; }
@media (max-width:600px){ body.bcg .nav-pill .logo-text{ font-size:2.1rem; } }


/* ── 21. Menu open = BCG mega-menu slide-down (transform 0.3s ease-in-out), site-wide ── */
body.bcg .mobile-nav{
  display:flex !important; flex-direction:column;
  opacity:1 !important; visibility:visible !important;
  transform:translateY(-100%);
  transition:transform 0.3s ease-in-out !important;
  pointer-events:none;
}
body.bcg .mobile-nav.open{ transform:translateY(0) !important; pointer-events:auto; }

/* ── 22. Subpage nav pills (roi back-links etc.) ── */
body.bcg .nav-pill.nav-right{ display:inline-flex; align-items:center; gap:0.9rem; }
body.bcg .nav-pill .nav-back{ font-size:0.85rem; font-weight:600; white-space:nowrap; text-decoration:none; }

/* ── 23. Real A1 logo image (replaces text mark) ── */
body.bcg .nav-pill .logo-img{ height:42px; width:auto; display:block; }
body.bcg .mobile-nav-header .logo-text-m .logo-img{ height:34px; width:auto; display:block; }
@media (max-width:600px){ body.bcg .nav-pill .logo-img{ height:34px; } }
