/* ============================================================
   SYSTEMIC CHANGE LABS HOME PAGE (v4  FINAL)
   Scroll-shrink header + editorial typography
   ============================================================ */

/* ── Reset & Anti-Drag ── */
.scl-home *, .scl-footer *, .site-header *, .site-nav * {
  box-sizing: border-box;
}

img, svg, picture, [data-img] {
  -webkit-user-drag: none !important;
  -khtml-user-drag: none !important;
  -moz-user-drag: none !important;
  -o-user-drag: none !important;
  user-drag: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  pointer-events: auto;
}

/* Refined learning model: retain the client's concept in a cleaner editorial layout. */
@media (min-width: 701px) {
  #home .scl-system-map, .scl-system-map {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    min-height: 0 !important;
    max-width: 520px !important;
    margin: 0 !important;
    padding: 20px !important;
    border: 1px solid rgba(18,63,49,.12) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 24px 55px rgba(18,63,49,.09) !important;
  }
  #home .scl-map-ring, .scl-map-ring,
  #home .scl-map-logo, .scl-map-logo { display: none !important; }
  #home .scl-map-core, .scl-map-core {
    grid-column: 1 / -1 !important;
    position: relative !important;
    width: auto !important;
    padding: 24px 18px !important;
    border-radius: 16px !important;
  }
  #home .scl-map-node, .scl-map-node {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    min-height: 112px !important;
    padding: 14px !important;
    border-color: rgba(18,63,49,.12) !important;
    border-radius: 14px !important;
    background: #fff !important;
  }
}

/* Home learning model: a compact connected journey rather than four disconnected cards. */
#home .scl-learning-journey, .scl-learning-journey { display:block !important; min-height:0 !important; max-width:560px !important; margin:0 !important; padding:22px !important; border:1px solid rgba(18,63,49,.12) !important; border-radius:26px !important; background:rgba(255,255,255,.84) !important; box-shadow:0 24px 55px rgba(18,63,49,.09) !important; }
#home .scl-learning-journey .scl-map-core, .scl-learning-journey .scl-map-core { position:relative !important; width:auto !important; padding:18px 16px !important; border-radius:16px !important; }
.scl-journey-steps { display:flex !important; flex-direction:column !important; gap:0 !important; margin:18px 0 0 !important; padding:0 !important; list-style:none !important; }
.scl-journey-steps::before { display:none !important; }
.scl-journey-steps li { position:relative !important; display:grid !important; grid-template-columns:48px minmax(0,1fr) !important; grid-template-rows:auto auto !important; column-gap:14px !important; min-height:74px !important; padding:12px 0 !important; background:transparent !important; border:0 !important; text-align:left !important; }
.scl-journey-steps li:not(:last-child) { border-bottom:1px solid rgba(18,63,49,.12) !important; }
.scl-journey-steps li::after { display:none !important; }
.scl-journey-steps b { grid-row:1 / 3 !important; display:grid !important; place-items:center !important; width:42px !important; height:42px !important; margin:2px 0 0 !important; border:1px solid rgba(18,63,49,.16) !important; border-radius:50% !important; background:#fff !important; color:#d99200 !important; font-size:.7rem !important; letter-spacing:.08em !important; }
.scl-journey-steps strong { margin:0 !important; color:#0c2d22 !important; font-size:.96rem !important; line-height:1.2 !important; }
.scl-journey-steps span { margin:4px 0 0 !important; color:#62716c !important; font-size:.78rem !important; line-height:1.35 !important; }
.scl-home section {
  min-height: 0 !important; content-visibility: visible !important; contain: none !important;
}
.reveal, .reveal.in-view { opacity: 1 !important; transform: none !important; }

/* Homepage hero visual - 55% content, 45% image */
.scl-hero-visual,
#home .scl-hero-visual { width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; position: relative !important; z-index: 1 !important; }
.scl-hero-photo-card,
#home .scl-hero-photo-card,
.scl-home-hero-photo { width: 100% !important; max-width: 100% !important; margin: 0 !important; overflow: hidden !important; border: none !important; border-radius: 28px !important; background: #fff !important; box-shadow: 0 32px 80px rgba(18,63,49,.18), 0 8px 24px rgba(18,63,49,.08) !important; transition: transform 0.4s ease, box-shadow 0.4s ease !important; justify-self: stretch !important; }
.scl-hero-photo-card:hover,
#home .scl-hero-photo-card:hover,
.scl-home-hero-photo:hover { transform: translateY(-6px) scale(1.01) !important; box-shadow: 0 44px 90px rgba(18,63,49,.22), 0 10px 28px rgba(18,63,49,.10) !important; }
.scl-hero-image,
#home .scl-hero-image,
.scl-home-hero-photo img { display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; object-fit: cover !important; object-position: center top !important; border-radius: 28px !important; }

/* Homepage learning model: spacious orbit composition. */
#home .scl-orbit-model, .scl-orbit-model { position:relative !important; display:block !important; width:100% !important; max-width:620px !important; min-height:590px !important; margin:0 auto !important; padding:0 !important; overflow:visible !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
#home .scl-orbit-model .scl-map-ring, .scl-orbit-model .scl-map-ring { display:block !important; position:absolute !important; inset:68px 58px !important; border:1px dashed rgba(18,63,49,.16) !important; border-radius:50% !important; }
#home .scl-orbit-model .scl-map-ring::after, .scl-orbit-model .scl-map-ring::after { content:"" !important; position:absolute !important; inset:58px !important; border:1px solid rgba(247,173,36,.42) !important; border-radius:50% !important; }
#home .scl-orbit-model .scl-map-core, .scl-orbit-model .scl-map-core { position:absolute !important; z-index:2 !important; top:50% !important; left:50% !important; width:250px !important; transform:translate(-50%,-50%) !important; padding:34px 22px !important; border-radius:18px !important; background:#0f2d22 !important; box-shadow:0 26px 50px rgba(18,63,49,.22) !important; text-align:center !important; }
#home .scl-orbit-model .scl-map-node, .scl-orbit-model .scl-map-node { position:absolute !important; z-index:3 !important; display:block !important; width:220px !important; min-height:114px !important; padding:22px 26px !important; border:0 !important; border-radius:14px !important; background:#fff !important; box-shadow:0 16px 38px rgba(18,63,49,.08) !important; text-align:left !important; }
#home .scl-orbit-model .scl-map-node b, .scl-orbit-model .scl-map-node b { display:block !important; font-size:1rem !important; margin:0 0 10px !important; }
#home .scl-orbit-model .scl-map-node span, .scl-orbit-model .scl-map-node span { display:block !important; font-size:.82rem !important; line-height:1.45 !important; }
#home .scl-orbit-model .scl-node-one, .scl-orbit-model .scl-node-one { top:0 !important; left:10px !important; }
#home .scl-orbit-model .scl-node-two, .scl-orbit-model .scl-node-two { top:46px !important; right:0 !important; }
#home .scl-orbit-model .scl-node-three, .scl-orbit-model .scl-node-three { bottom:0 !important; left:0 !important; }
#home .scl-orbit-model .scl-node-four, .scl-orbit-model .scl-node-four { bottom:16px !important; right:30px !important; }
@media (max-width:700px) { #home .scl-orbit-model, .scl-orbit-model { min-height:0 !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; padding:0 !important; } #home .scl-orbit-model .scl-map-ring, .scl-orbit-model .scl-map-ring { display:none !important; } #home .scl-orbit-model .scl-map-core, .scl-orbit-model .scl-map-core { position:relative !important; top:auto !important; left:auto !important; grid-column:1 / -1 !important; width:auto !important; transform:none !important; } #home .scl-orbit-model .scl-map-node, .scl-orbit-model .scl-map-node { position:relative !important; inset:auto !important; width:auto !important; min-height:0 !important; padding:16px !important; } }

/* Must stay last: neutralise legacy node-positioning rules on the homepage orbit. */
#home .scl-orbit-model.scl-system-map { display:block !important; min-height:590px !important; max-width:620px !important; margin:0 auto !important; padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
#home .scl-orbit-model.scl-system-map .scl-map-ring { display:block !important; inset:68px 58px !important; }
#home .scl-orbit-model.scl-system-map .scl-map-core { position:absolute !important; top:50% !important; left:50% !important; width:250px !important; transform:translate(-50%,-50%) !important; }
#home .scl-orbit-model.scl-system-map .scl-map-node { position:absolute !important; width:220px !important; min-height:114px !important; padding:22px 26px !important; }
#home .scl-orbit-model.scl-system-map .scl-node-one { top:0 !important; right:auto !important; bottom:auto !important; left:10px !important; }
#home .scl-orbit-model.scl-system-map .scl-node-two { top:46px !important; right:0 !important; bottom:auto !important; left:auto !important; }
#home .scl-orbit-model.scl-system-map .scl-node-three { top:auto !important; right:auto !important; bottom:0 !important; left:0 !important; }
#home .scl-orbit-model.scl-system-map .scl-node-four { top:auto !important; right:30px !important; bottom:16px !important; left:auto !important; }

/* Homepage learning model: retain the client-approved orbit without any overlap. */
#home .scl-orbit-model.scl-system-map { display:block !important; position:relative !important; min-height:590px !important; max-width:620px !important; margin:0 auto !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
#home .scl-orbit-model.scl-system-map .scl-map-ring { display:block !important; position:absolute !important; inset:68px 58px !important; border:1px dashed rgba(18,63,49,.16) !important; border-radius:50% !important; }
#home .scl-orbit-model.scl-system-map .scl-map-ring::after { content:"" !important; position:absolute !important; inset:58px !important; border:1px solid rgba(247,173,36,.42) !important; border-radius:50% !important; }
#home .scl-orbit-model.scl-system-map .scl-map-core { position:absolute !important; z-index:2 !important; top:50% !important; left:50% !important; width:250px !important; transform:translate(-50%,-50%) !important; padding:34px 22px !important; border-radius:18px !important; background:#0f2d22 !important; box-shadow:0 26px 50px rgba(18,63,49,.22) !important; }
#home .scl-orbit-model.scl-system-map .scl-map-node { position:absolute !important; z-index:3 !important; width:220px !important; min-height:114px !important; padding:22px 26px !important; border:0 !important; border-radius:14px !important; background:#fff !important; box-shadow:0 16px 38px rgba(18,63,49,.08) !important; }
#home .scl-orbit-model.scl-system-map .scl-node-one { top:0 !important; right:auto !important; bottom:auto !important; left:10px !important; }
#home .scl-orbit-model.scl-system-map .scl-node-two { top:46px !important; right:0 !important; bottom:auto !important; left:auto !important; }
#home .scl-orbit-model.scl-system-map .scl-node-three { top:auto !important; right:auto !important; bottom:0 !important; left:0 !important; }
#home .scl-orbit-model.scl-system-map .scl-node-four { top:auto !important; right:30px !important; bottom:16px !important; left:auto !important; }
#home .scl-orbit-model.scl-system-map .scl-map-node b { margin-bottom:10px !important; font-size:1rem !important; }
#home .scl-orbit-model.scl-system-map .scl-map-node span { font-size:.82rem !important; line-height:1.45 !important; }
#home .scl-orbit-model.scl-system-map .scl-map-icon { display:grid !important; place-items:center !important; width:34px !important; height:34px !important; margin:0 0 10px !important; border-radius:9px !important; background:#f3e6c8 !important; color:#a8720f !important; font-style:normal !important; font-size:17px !important; line-height:1 !important; }
#home .scl-orbit-model.scl-system-map .scl-node-two .scl-map-icon, #home .scl-orbit-model.scl-system-map .scl-node-four .scl-map-icon { background:#e2ecd8 !important; color:#3b6d11 !important; }
@media (max-width:700px) { #home .scl-orbit-model.scl-system-map { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; min-height:0 !important; padding:0 !important; } #home .scl-orbit-model.scl-system-map .scl-map-ring { display:none !important; } #home .scl-orbit-model.scl-system-map .scl-map-core { position:relative !important; top:auto !important; left:auto !important; grid-column:1 / -1 !important; width:auto !important; transform:none !important; padding:24px 16px !important; } #home .scl-orbit-model.scl-system-map .scl-map-node { position:relative !important; inset:auto !important; width:auto !important; min-height:122px !important; padding:18px 16px !important; } }

/* ── Force Playfair Display on every heading in home scope ── */
.scl-home h1,
.scl-home h2,
.scl-home h3,
.scl-cta h2,
.scl-philosophy h2 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important; letter-spacing: -0.01em !important; overflow-wrap: normal; word-break: normal;
}

/* ── Labels / kickers ── */
.scl-home .scl-kicker,
.scl-home .label,
.scl-home .eyebrow {
  font-family: 'Inter', system-ui, sans-serif !important; font-size: 0.7rem !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #f7ad24 !important; margin-bottom: 16px !important; line-height: 1.4 !important;
}

.scl-wrap { width: min(100% - 48px, 1380px); margin-inline: auto; }

/* ════════════════════════════════════════════════════════════
   HEADER EXPANDED (on page load) → COMPACT (on scroll)
   Smooth CSS transition driven by .scrolled class via JS
   ════════════════════════════════════════════════════════════ */

header.site-header,
.site-header[data-site-header] {
  position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 200 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 clamp(16px, 3vw, 40px) 0 0 !important; border: none !important; border-radius: 0 !important;

  /* ─ Expanded state ─ */
  min-height: 96px !important; background: rgba(251, 252, 246, 1) !important; border-bottom: 1px solid rgba(18, 63, 49, 0.0) !important; box-shadow: none !important; backdrop-filter: none !important;

  /* ─ Smooth transition ─ */
  transition: min-height 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94), backdrop-filter 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* ── SCROLLED / COMPACT STATE ── */
header.site-header.scrolled,
.site-header[data-site-header].scrolled {
  min-height: 64px !important; background: rgba(251, 252, 246, 0.96) !important; border-bottom: 1px solid rgba(18, 63, 49, 0.12) !important; box-shadow: 0 2px 24px rgba(18, 63, 49, 0.09) !important; backdrop-filter: blur(14px) saturate(1.3) !important;
}

/* Logo image restore, and remove yellow dot from styles.css */
.site-header .brand img,
.site-header .scl-brand img {
  display: block !important; transition: width 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94), height 380ms cubic-bezier(0.25, 0.46, 0.45, 0.94) !important; width: 58px !important; height: 58px !important; object-fit: contain !important; flex: 0 0 auto !important; margin-left: 0 !important;
}

.site-header.scrolled .brand img,
.site-header.scrolled .scl-brand img {
  width: 44px !important; height: 44px !important;
}

/* Hide the yellow dot from styles.css */
a.brand.scl-brand::after,
.site-header .brand::after,
.site-header .scl-brand::after {
  content: none !important; display: none !important;
}

/* Brand name */
.site-header .brand span,
.site-header .scl-brand span {
  font-family: 'Playfair Display', Georgia, serif !important; font-weight: 800 !important; color: #123f31 !important; line-height: 1.15 !important; white-space: nowrap !important; text-shadow: none !important; font-size: clamp(1.3rem, 2vw, 1.7rem) !important;
}

.site-header .brand span strong,
.site-header .scl-brand span strong { color: #f7ad24 !important; }

/* Brand wrapper */
.site-header .brand,
.site-header .scl-brand {
  display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important; text-decoration: none !important; color: #123f31 !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; margin-left: 0 !important; margin-right: auto !important;
}

/* Nav container full reset of old pill */
.site-header .site-nav,
.site-header .scl-nav {
  display: flex !important; align-items: center !important; gap: clamp(6px, 2vw, 30px) !important; padding: 0 !important; border: none !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 0.88rem !important; font-weight: 600 !important;
}

/* Nav links */
.site-header .site-nav > a,
.site-header .site-nav .nav-parent,
.site-header .scl-nav > a,
.site-header .scl-nav .nav-parent {
  display: inline-flex !important; align-items: center !important; gap: 4px !important; font-family: 'Inter', system-ui, sans-serif !important; font-size: 0.875rem !important; font-weight: 700 !important; color: #123f31 !important; text-decoration: none !important; padding: 6px 0 !important; min-height: 0 !important; border: none !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: transparent !important; white-space: nowrap !important; transition: border-color 180ms ease, color 180ms ease !important; transform: none !important;
}

.site-header .site-nav > a:hover,
.site-header .site-nav .nav-parent:hover,
.site-header .scl-nav > a:hover,
.site-header .scl-nav .nav-parent:hover {
  color: #123f31 !important; background: transparent !important; border-bottom-color: #f7ad24 !important; transform: none !important;
}

/* ── ACTIVE PAGE link ── */
.site-header .site-nav > a.active,
.site-header .site-nav .nav-parent.active,
.site-header .scl-nav > a.active,
.site-header .scl-nav .nav-parent.active {
  color: #123f31 !important; border-bottom-color: #f7ad24 !important; font-weight: 700 !important;
}

/* Active state must never apply to the CTA button */
.site-header .site-nav > a.scl-nav-cta.active,
.site-header .scl-nav > a.scl-nav-cta.active {
  color: #ffffff !important; border-bottom-color: #123f31 !important;
}

/* CTA button */
.site-header .scl-nav-cta,
.site-header a.scl-nav-cta {
  font-family: 'Inter', system-ui, sans-serif !important; font-size: 0.85rem !important; font-weight: 700 !important; color: #ffffff !important; background: #123f31 !important; border: 2px solid #123f31 !important; border-bottom: 2px solid #123f31 !important; border-radius: 4px !important; padding: 9px 18px !important; min-height: 0 !important; transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease !important;
}
.site-header .scl-nav-cta:hover,
.site-header a.scl-nav-cta:hover {
  background: #1a5c48 !important; border-color: #1a5c48 !important; border-bottom-color: #1a5c48 !important; transform: translateY(-1px) !important; box-shadow: 0 6px 18px rgba(18,63,49,0.18) !important;
}

/* Dropdown chevron removed */
.site-header .nav-parent::after {
  content: none !important; display: none !important;
}

/* Dropdown container */
.site-header .nav-dropdown {
  position: relative !important; display: flex !important; align-items: center !important;
}

/* Dropdown menu */
.site-header .nav-menu {
  position: absolute !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; top: calc(100% + 10px) !important; left: -12px !important; min-width: 230px !important; padding: 8px !important; border: 1px solid rgba(18,63,49,0.12) !important; border-radius: 6px !important; background: #ffffff !important; box-shadow: 0 16px 48px rgba(18,63,49,0.13) !important; transition: opacity 200ms ease, visibility 200ms ease, transform 200ms ease !important; transform: translateY(10px) !important;
}

/* Invisible bridge to prevent hover loss when moving mouse from parent to menu */
.site-header .nav-menu::before {
  content: '' !important; position: absolute !important; top: -20px !important; left: 0 !important; width: 100% !important; height: 20px !important;
}

.site-header .nav-dropdown:hover .nav-menu,
.site-header .nav-dropdown:focus-within .nav-menu {
  opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: translateY(0) !important;
}
.site-header .nav-menu a {
  display: block !important; padding: 10px 14px !important; border-radius: 4px !important; font-size: 0.85rem !important; font-weight: 500 !important; color: #123f31 !important; border: none !important; border-bottom: none !important; background: transparent !important; min-height: 0 !important; transition: background 160ms ease !important;
}
.site-header .nav-menu a:hover { background: #eef5ed !important; border-bottom: none !important; transform: none !important; }

/* Mobile toggle */
.nav-toggle,
.site-header .nav-toggle {
  display: none !important; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 38px; height: 38px; padding: 7px; border: 1px solid rgba(18,63,49,0.2); border-radius: 5px; background: transparent; cursor: pointer;
}
.nav-toggle span:not(.sr-only) {
  display: block !important; width: 20px !important; height: 1.5px !important; background: #123f31 !important; margin: 0 !important; border-radius: 2px !important; transition: transform 240ms ease, opacity 240ms ease !important;
}
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* Push page content below fixed header no body reflow on scroll */
body { padding-top: 76px; }

/* ════════════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════════════ */
.scl-button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; font-family: 'Inter', system-ui, sans-serif !important; font-size: 0.88rem !important; font-weight: 700 !important; min-height: 50px !important; padding: 13px 26px !important; border-radius: 4px !important; border: 2px solid #123f31 !important; background: #123f31 !important; color: #ffffff !important; text-decoration: none !important; cursor: pointer !important; letter-spacing: 0.01em !important; transition: background 220ms ease, transform 220ms ease, box-shadow 220ms ease !important;
}
.scl-button:hover { background: #1a5c48 !important; border-color: #1a5c48 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(18,63,49,0.18) !important; }
.scl-button-light { background: transparent !important; color: #123f31 !important; border-color: #123f31 !important; }
.scl-button-light:hover { background: #123f31 !important; color: #ffffff !important; }
.scl-button-yellow { background: #f7ad24 !important; border-color: #f7ad24 !important; color: #123f31 !important; font-weight: 800 !important; }
.scl-button-yellow:hover { background: #ffc24f !important; border-color: #ffc24f !important; transform: translateY(-2px) !important; }

.scl-text-link {
  display: inline-flex !important; align-items: center !important; gap: 8px !important; font-family: 'Inter', system-ui, sans-serif !important; font-size: 0.88rem !important; font-weight: 700 !important; color: #123f31 !important; text-decoration: none !important; border-bottom: 2px solid transparent !important; padding-bottom: 2px !important; transition: border-color 160ms ease !important;
}
.scl-text-link:hover { border-bottom-color: #f7ad24 !important; }
.scl-text-link span { color: #f7ad24 !important; font-size: 1.1em !important; transition: transform 160ms ease !important; }
.scl-text-link:hover span { transform: translateX(4px) !important; }

/* ════════════════════════════════════════════════════════════
   HERO - ORIGINAL LAYOUT, PREMIUM BACKGROUND
   ════════════════════════════════════════════════════════════ */
#home .scl-hero,
.scl-hero {
  padding: clamp(32px, 4vw, 56px) 0 clamp(40px, 6vw, 64px) !important; background: linear-gradient(135deg, #f0f7f0 0%, #e8f3e4 40%, #f5f9ef 70%, #fdf8ed 100%) !important; border-bottom: 1px solid rgba(18,63,49,0.06) !important; position: relative !important; overflow: hidden !important; min-height: clamp(500px, 60vh, 700px) !important;
}
.scl-hero::before {
  content: '' !important; position: absolute !important; top: -30% !important; right: -10% !important; width: 55% !important; height: 130% !important; background: radial-gradient(ellipse, rgba(247,173,36,0.08) 0%, transparent 65%) !important; pointer-events: none !important; z-index: 0 !important;
}
.scl-hero::after {
  content: '' !important; position: absolute !important; bottom: -20% !important; left: -5% !important; width: 40% !important; height: 80% !important; background: radial-gradient(ellipse, rgba(18,90,60,0.06) 0%, transparent 65%) !important; pointer-events: none !important; z-index: 0 !important;
}

#home .scl-hero-grid,
.scl-hero-grid {
  display: grid !important; grid-template-columns: minmax(0, 50fr) minmax(0, 50fr) !important; gap: clamp(20px, 4vw, 48px) !important; align-items: stretch !important; position: relative !important; z-index: 1 !important; min-height: clamp(420px, 52vh, 620px) !important;
}

/* ── HERO IMAGE FORCE BIG ── */
#home .scl-hero-visual,
.scl-hero-visual {
  display: flex !important; align-items: stretch !important; align-self: stretch !important; width: 100% !important; min-width: 0 !important;
}
#home .scl-hero-photo-card,
.scl-hero-photo-card {
  width: 100% !important; max-width: 100% !important; flex: 1 !important; display: flex !important; flex-direction: column !important; border-radius: 28px !important; overflow: hidden !important; border: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important;
  box-shadow: 0 36px 90px rgba(18,63,49,.20), 0 8px 24px rgba(18,63,49,.08) !important;
}
#home .scl-hero-image,
.scl-hero-image {
  display: block !important; width: 100% !important; flex: 1 !important; height: 100% !important;
  min-height: clamp(420px, 55vh, 640px) !important; max-height: none !important;
  object-fit: cover !important; object-position: center center !important;
  border-radius: 0 !important; aspect-ratio: unset !important; padding: 0 !important; margin: 0 !important;
}

.scl-hero .scl-kicker {
  display: inline-flex !important; align-items: center !important; gap: 12px !important; font-family: 'Inter', system-ui, sans-serif !important; font-size: 0.75rem !important; font-weight: 700 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: #f7ad24 !important; -webkit-text-fill-color: #f7ad24 !important; margin-bottom: 24px !important;
}
.scl-hero .scl-kicker::before {
  content: '' !important; display: inline-block !important; width: 32px !important; height: 2px !important; background: #f7ad24 !important; flex-shrink: 0 !important;
}

#home .scl-hero h1,
.scl-hero h1,
.scl-home .scl-hero h1 {
  font-family: 'Montserrat', system-ui, sans-serif !important; font-size: clamp(2.6rem, 4.5vw, 4.9rem) !important; font-weight: 800 !important; line-height: 1.15 !important; color: #0c2d22 !important;
  -webkit-text-fill-color: #0c2d22 !important; margin: 0 !important; letter-spacing: -0.03em !important;
}

.scl-lead {
  font-family: 'Inter', system-ui, sans-serif !important; font-size: clamp(1rem, 1.3vw, 1.15rem) !important; font-weight: 400 !important; line-height: 1.78 !important; color: #5a6964 !important;
  -webkit-text-fill-color: #5a6964 !important; max-width: 620px !important; margin: 22px 0 0 !important;
}
.scl-hero-actions { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 18px !important; margin-top: 30px !important; }

/* System Map */
#home .scl-system-map,
.scl-system-map {
  position: relative !important; width: 100% !important; max-width: 550px !important; min-height: 550px !important; margin-top: -64px !important; margin-left: clamp(-60px, -6vw, -20px) !important; justify-self: center !important; background: transparent !important; border: none !important; box-shadow: none !important; display: flex !important; align-items: center !important; justify-content: center !important;
}

#home .scl-map-ring,
.scl-map-ring {
  position: absolute !important; inset: 10px !important; border: 1px dashed rgba(18,63,49,0.15) !important; border-radius: 50% !important; animation: none !important;
}
#home .scl-map-ring::after,
.scl-map-ring::after {
  content: '' !important; position: absolute !important; inset: 50px !important; border: 1px solid rgba(247,173,36,0.3) !important; border-radius: 50% !important;
}

#home .scl-map-core,
.scl-map-core {
  position: relative !important; z-index: 2 !important; display: flex !important; flex-direction: column !important; align-items: center !important; width: 230px !important; padding: 32px 18px !important; border-radius: 12px !important; background: #0f2d22 !important; border: none !important; color: #fff !important; text-align: center !important; box-shadow: 0 32px 64px rgba(18,63,49,0.25) !important; backdrop-filter: none !important;
}
#home .scl-map-core small, .scl-map-core small { font-family: 'Inter', sans-serif !important; font-size: 0.75rem !important; font-weight: 700 !important; color: #f7ad24 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; margin-bottom: 12px !important; }
#home .scl-map-core strong, .scl-map-core strong { font-family: 'Playfair Display', serif !important; font-size: 1.4rem !important; line-height: 1.15 !important; color: #fff !important; font-weight: 700 !important; }
#home .scl-map-core span, .scl-map-core span { margin-top: 10px !important; font-size: 0.85rem !important; color: rgba(255,255,255,0.7) !important; font-family: 'Inter', sans-serif !important; }

#home .scl-map-node,
.scl-map-node {
  position: absolute !important; z-index: 3 !important; display: block !important; width: 180px !important; padding: 16px 18px !important; border: 1px solid rgba(255,255,255,0.6) !important; border-radius: 8px !important; background: rgba(255,255,255,0.95) !important; backdrop-filter: blur(8px) !important; box-shadow: 0 16px 40px rgba(18,63,49,0.08) !important; transition: transform 240ms ease, box-shadow 240ms ease !important;
}
#home .scl-map-node:hover, .scl-map-node:hover { transform: translateY(-3px) !important; box-shadow: 0 20px 40px rgba(18,63,49,0.1) !important; z-index: 10 !important; }
#home .scl-map-node b, .scl-map-node b { display: block !important; font-family: 'Inter', sans-serif !important; font-size: 0.9rem !important; font-weight: 700 !important; color: #0c2d22 !important; margin-bottom: 6px !important; }
#home .scl-map-node span, .scl-map-node span { display: block !important; font-family: 'Inter', sans-serif !important; color: #5a6964 !important; font-size: 0.75rem !important; line-height: 1.4 !important; }

#home .scl-node-one, .scl-node-one { top: 50px !important; left: 15px !important; }
#home .scl-node-two, .scl-node-two { top: 80px !important; right: 10px !important; }
#home .scl-node-three, .scl-node-three { bottom: 60px !important; left: 5px !important; }
#home .scl-node-four, .scl-node-four { right: 30px !important; bottom: 50px !important; }

.scl-map-logo { display: none !important; }
.scl-map-node .scl-icon { display: none !important; }
.scl-icon { position: relative; display: inline-block; width: 34px; height: 34px; border: 1px solid rgba(30,108,94,0.28); border-radius: 50%; flex-shrink: 0; }
.scl-icon::before, .scl-icon::after { content: ''; position: absolute; }
.scl-icon-cards::before { inset: 9px 10px; border: 2px solid #1e6c5e; border-radius: 2px; box-shadow: 4px -4px 0 -2px #fff, 4px -4px 0 0 #f7ad24; }
.scl-icon-system::before { top:8px;left:8px;width:6px;height:6px;border-radius:50%;background:#f7ad24;box-shadow:12px 2px 0 #1e6c5e,5px 13px 0 #123f31; }
.scl-icon-system::after { top:12px;left:11px;width:14px;height:11px;border:solid #1e6c5e;border-width:1px 1px 1px 0;transform:rotate(20deg); }
.scl-icon-build::before { left:8px;bottom:8px;width:8px;height:8px;border:2px solid #1e6c5e;box-shadow:8px 0 0 -2px #fff,8px 0 0 0 #f7ad24,4px -8px 0 -2px #fff,4px -8px 0 0 #123f31; }
.scl-icon-reflect::before { inset:8px;border:2px solid #1e6c5e;border-radius:50%;border-left-color:#f7ad24; }
.scl-icon-reflect::after { right:7px;bottom:7px;width:7px;height:2px;background:#123f31;transform:rotate(45deg); }
.scl-icon-play::before { top:8px;left:11px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #f7ad24; }
.scl-icon-arrow::before { top:15px;left:8px;width:16px;height:2px;background:#1e6c5e; }
.scl-icon-arrow::after { top:11px;right:8px;width:8px;height:8px;border-top:2px solid #1e6c5e;border-right:2px solid #1e6c5e;transform:rotate(45deg); }
.scl-icon-people::before { top:7px;left:7px;width:7px;height:7px;border:2px solid #1e6c5e;border-radius:50%;box-shadow:11px 2px 0 -2px #fff,11px 2px 0 0 #f7ad24; }
.scl-icon-people::after { bottom:7px;left:6px;width:20px;height:9px;border:2px solid #123f31;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom:0; }

/* - ANIMATIONS - */
.reveal { opacity: 0 !important; transform: translateY(14px) !important; transition: opacity 420ms ease, transform 420ms ease !important; }
.reveal.active { opacity: 1 !important; transform: translateY(0) !important; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
[style*="--stagger"] { transition-delay: calc(var(--stagger) * 80ms) !important; }

/* - WHAT WE DO (CARDS) - */
.scl-methodologies { background: #fdfef9 !important; padding: clamp(56px, 7vw, 92px) 0 !important; }
.scl-method-cards { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; margin-top: 34px !important; align-items: stretch !important; }
.scl-method-card { position: relative !important; padding: 22px !important; min-height: 0 !important; border-radius: 24px !important; text-decoration: none !important; color: inherit !important; overflow: hidden !important; border: 1px solid rgba(18, 63, 49, 0.08) !important; background: #fff !important; backdrop-filter: none !important; box-shadow: 0 20px 50px -42px rgba(18,63,49,0.58) !important; transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease !important; animation: scl-card-enter 520ms cubic-bezier(.2,.8,.2,1) both; }
.scl-method-card:hover { transform: translateY(-3px) !important; box-shadow: 0 24px 54px -42px rgba(18,63,49,0.68) !important; border-color: rgba(247, 173, 36, 0.35) !important; }
.scl-card-bg { position: absolute !important; top: -50px !important; right: -50px !important; width: 150px !important; height: 150px !important; background: radial-gradient(circle, rgba(247,173,36,0.1) 0%, transparent 70%) !important; border-radius: 50% !important; transition: transform 300ms ease !important; }
.scl-method-card:hover .scl-card-bg { transform: scale(1.25) !important; }
.scl-card-content { position: relative !important; z-index: 2 !important; }
.scl-card-icon { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important; margin: 0 0 24px !important; overflow: hidden !important; border: 0 !important; border-radius: 18px !important; background: #ffffff !important; }
#home .scl-method-card .scl-card-icon > img, .scl-home .scl-method-card .scl-card-icon > img { width: 100% !important; min-width: 100% !important; max-width: none !important; max-height: none !important; height: 100% !important; min-height: 100% !important; object-fit: contain !important; object-position: center !important; padding: 2px !important; transition: transform 420ms ease !important; }
#home .scl-method-card:nth-child(1) .scl-card-icon > img, .scl-home .scl-method-card:nth-child(1) .scl-card-icon > img { object-fit: contain !important; object-position: center !important; background: #ffffff !important; padding: 2px !important; }
#home .scl-method-card:nth-child(2) .scl-card-icon > img, .scl-home .scl-method-card:nth-child(2) .scl-card-icon > img { object-fit: contain !important; object-position: center !important; background: #ffffff !important; padding: 2px !important; }
#home .scl-method-card:nth-child(2) .scl-card-icon, .scl-home .scl-method-card:nth-child(2) .scl-card-icon { background: #ffffff !important; }
#home .scl-method-card:nth-child(3) .scl-card-icon > img, .scl-home .scl-method-card:nth-child(3) .scl-card-icon > img { object-fit: contain !important; object-position: center !important; background: #ffffff !important; filter: contrast(1.08) saturate(1.06) brightness(1.03) !important; }
#home .scl-method-card:nth-child(4) .scl-card-icon > img, .scl-home .scl-method-card:nth-child(4) .scl-card-icon > img { object-fit: contain !important; object-position: center !important; background: #ffffff !important; }
.scl-method-card:hover .scl-card-icon img { transform: scale(1.045) !important; }
@keyframes scl-card-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.scl-method-card:nth-child(2) { animation-delay: 70ms; }
.scl-method-card:nth-child(3) { animation-delay: 140ms; }
.scl-method-card:nth-child(4) { animation-delay: 210ms; }
@media (prefers-reduced-motion: reduce) { .scl-method-card { animation: none !important; } .scl-method-card:hover .scl-card-icon img { transform: none !important; } }
@media (max-width: 1180px) {
  .scl-method-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .scl-card-icon { height: auto !important; aspect-ratio: 1 / 1 !important; }
}
@media (max-width: 720px) {
  .scl-method-cards { grid-template-columns: 1fr !important; gap: 24px !important; }
  .scl-card-icon { height: auto !important; aspect-ratio: 1 / 1 !important; }
}
.scl-method-card h3 { font-family: 'Playfair Display', serif !important; font-size: clamp(1.08rem, 1.22vw, 1.35rem) !important; line-height: 1.2 !important; color: #0c2d22 !important; margin: 0 0 14px !important; white-space: nowrap !important; }
.scl-card-link { font-family: 'Inter', sans-serif !important; font-size: 0.85rem !important; font-weight: 700 !important; color: #f7ad24 !important; transition: margin-left 200ms ease !important; }
.scl-method-card:hover .scl-card-link { margin-left: 5px !important; }

/* - OUR APPROACH - */
.scl-approach-home { background: #eef5ed !important; padding: clamp(56px, 6vw, 96px) 0 !important; overflow: hidden !important; }
.scl-approach-grid { display: grid !important; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important; gap: clamp(28px, 4vw, 52px) !important; align-items: center !important; }
.scl-approach-home h2 { font-size: clamp(2rem, 3.2vw, 3.6rem) !important; line-height: 1.1 !important; color: #0c2d22 !important; margin: 0 0 20px !important; }
.scl-approach-home p { font-size: 1.05rem !important; line-height: 1.7 !important; color: #5a6964 !important; margin: 0 !important; }
.scl-approach-image-wrap { width: 100% !important; max-width: none !important; margin: 0 !important; position: relative !important; display: flex !important; justify-content: center !important; align-items: center !important; }
.scl-approach-image-wrap::before { content: '' !important; position: absolute !important; inset: -4% !important; background: radial-gradient(circle at 50% 55%, rgba(247,173,36,0.16) 0%, transparent 62%) !important; border-radius: 50% !important; z-index: 1 !important; }
.scl-approach-image { width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: auto !important; max-height: 560px !important; object-fit: contain !important; aspect-ratio: auto !important; position: relative !important; z-index: 2 !important; display: block !important; transform: none !important; }

/* - FOUNDER SECTION - */
.scl-founder-home { background: #faf9f5 !important; padding: clamp(80px, 10vw, 130px) 0 !important; }
.scl-founder-card { display: grid !important; grid-template-columns: auto 1fr !important; gap: 60px !important; align-items: center !important; background: #fff !important; border-radius: 28px !important; padding: clamp(40px, 5vw, 70px) !important; box-shadow: 0 20px 60px rgba(12,45,34,0.07) !important; border: 1px solid rgba(18,63,49,0.06) !important; }
.scl-founder-dp { width: 240px !important; height: 240px !important; aspect-ratio: 1 / 1 !important; flex-shrink: 0 !important; border-radius: 50% !important; overflow: hidden !important; border: 4px solid #f7ad24 !important; box-shadow: 0 12px 40px rgba(12,45,34,0.15) !important; position: relative !important; }
.scl-founder-dp img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-width: 100% !important; min-height: 100% !important; object-fit: cover !important; object-position: 50% 15% !important; transform: scale(1.35) translateY(-22px) !important; display: block !important; border-radius: 0 !important; }
.scl-founder-home h2 { font-size: clamp(2rem, 3.5vw, 3.2rem) !important; color: #0c2d22 !important; margin: 0 0 8px !important; font-family: 'Playfair Display', serif !important; }
.scl-founder-role { font-size: 0.95rem !important; font-weight: 700 !important; color: #f7ad24 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin-bottom: 20px !important; }
.scl-founder-quote { font-family: 'Playfair Display', serif !important; font-size: clamp(1rem, 1.4vw, 1.2rem) !important; color: #0c2d22 !important; font-style: italic !important; border-left: 3px solid #f7ad24 !important; padding-left: 20px !important; margin: 20px 0 !important; line-height: 1.65 !important; }
.scl-founder-card-body p:not(.scl-kicker):not(.scl-founder-role) { font-size: 1rem !important; line-height: 1.8 !important; color: #5a6964 !important; margin-bottom: 24px !important; }
.scl-founder-tags { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 28px !important; }
.scl-founder-tags span { background: #eef5ed !important; color: #0c2d22 !important; font-size: 0.8rem !important; font-weight: 600 !important; padding: 6px 14px !important; border-radius: 100px !important; letter-spacing: 0.03em !important; }

/* - IMPACT SECTION - */
.scl-impact-home { background: #fbfcf6 !important; padding: clamp(80px, 10vw, 140px) 0 !important; overflow: hidden !important; border-top: 1px solid rgba(18,63,49,0.05) !important; }
.scl-impact-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 80px !important; align-items: center !important; }
.scl-impact-image-wrap { width: 100% !important; max-width: 700px !important; margin: 0 auto !important; position: relative !important; display: flex !important; justify-content: center !important; }
.scl-impact-image-wrap::before { content: '' !important; position: absolute !important; inset: 20px !important; background: radial-gradient(circle, rgba(14,133,96,0.1) 0%, transparent 70%) !important; border-radius: 50% !important; z-index: 1 !important; transform: scale(1.4) !important; }
.scl-impact-image { width: 100% !important; max-width: 800px !important; height: auto !important; position: relative !important; z-index: 2 !important; mix-blend-mode: multiply !important; transform: scale(1.3); }
.scl-impact-home h2 { font-size: clamp(2rem, 3vw, 3.2rem) !important; line-height: 1.1 !important; color: #0c2d22 !important; margin: 0 0 24px !important; }
.scl-impact-home p { font-size: 1.05rem !important; line-height: 1.8 !important; color: #5a6964 !important; margin-bottom: 40px !important; }
.scl-impact-stats { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.scl-impact-stats .stat h3 { font-size: 2.5rem !important; color: #0e8560 !important; margin: 0 0 8px !important; font-family: 'Playfair Display', serif !important; }
.scl-impact-stats .stat span { font-size: 0.9rem !important; font-weight: 600 !important; color: #5a6964 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }

/* - INSIGHTS SECTION - */
.scl-insights-home { background: #fff !important; }
.scl-insights-home .scl-section-heading { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; width: 100% !important; gap: 36px !important; align-items: end !important; margin-bottom: 32px !important; }
.scl-home .scl-insights-home h2 { font-size: clamp(1.65rem,2.8vw,3.2rem) !important; line-height: 1.07 !important; color: #0f2d22 !important; margin: 0 !important; white-space: normal !important; word-break: normal !important; }
.scl-insight-list { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; border-top: 1px solid rgba(18,63,49,0.1) !important; border-bottom: 1px solid rgba(18,63,49,0.1) !important; }
.scl-insight-list article { padding: 26px 26px !important; border-right: 1px solid rgba(18,63,49,0.1) !important; transition: background 220ms ease !important; min-height: 0 !important; height: auto !important; }
.scl-insight-list article:first-child{padding-left:0 !important;}.scl-insight-list article:last-child{border-right:none !important;}
.scl-insight-list article:hover { background: #fbfcf6 !important; }
.scl-insight-list span { font-family: 'Playfair Display', serif !important; color: #f7ad24 !important; font-weight: 800 !important; font-size: 1rem !important; }
.scl-insight-list h3, .scl-home .scl-insight-list h3 { font-family: 'Playfair Display', serif !important; font-size: 1.02rem !important; font-weight: 700 !important; color: #0f2d22 !important; margin: 11px 0 7px !important; line-height: 1.25 !important; }
.scl-insight-list p { margin: 0 !important; font-size: 0.84rem !important; color: #5a6964 !important; line-height: 1.65 !important; }

/* - CTA SECTION - */
.scl-cta { padding: clamp(50px,6vw,80px) 0 !important; background: #123f31 !important; color: #fff !important; position: relative !important; overflow: hidden !important; }
.scl-cta::before { content: '' !important; position: absolute !important; top: -60% !important; right: -5% !important; width: 50% !important; padding-bottom: 50% !important; border-radius: 50% !important; background: radial-gradient(circle, rgba(247,173,36,0.1) 0%, transparent 65%) !important; pointer-events: none !important; }
.scl-cta-center { position: relative !important; z-index: 2 !important; }
.scl-cta-inner { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 40px !important; background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.2) !important; border-radius: 20px !important; padding: 40px 48px !important; flex-wrap: wrap !important; }
.scl-cta-text { flex: 1 !important; min-width: 240px !important; }
.scl-cta-label { font-size: 0.82rem !important; font-weight: 800 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #f7ad24 !important; margin: 0 0 10px !important; }
.scl-cta-title { margin: 0 !important; max-width: 670px !important; font-family: 'Playfair Display', Georgia, serif !important; font-size: clamp(1.75rem, 3vw, 2.7rem) !important; line-height: 1.12 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.scl-cta-desc { font-family: 'Inter', system-ui, sans-serif !important; font-size: 1rem !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; opacity: .88 !important; line-height: 1.65 !important; margin: 14px 0 0 !important; max-width: 580px !important; font-weight: 500 !important; }

/* Final home polish: keep the approach and CTA sections dense, readable, and photo-led. */
#home .scl-approach-home {
  padding-block: clamp(48px, 5vw, 78px) !important;
}
#home .scl-approach-grid {
  grid-template-columns: minmax(0, 0.86fr) minmax(440px, 0.96fr) !important;
  gap: clamp(24px, 3.2vw, 52px) !important;
  align-items: center !important;
}
#home .scl-approach-copy {
  max-width: 760px !important;
}
#home .scl-approach-copy .scl-kicker {
  margin-bottom: 14px !important;
}
#home .scl-approach-home h2 {
  max-width: 760px !important;
  font-size: clamp(2.05rem, 3vw, 3.35rem) !important;
  line-height: 1.08 !important;
  color: #0c2d22 !important;
  -webkit-text-fill-color: #0c2d22 !important;
  margin-bottom: 18px !important;
}
#home .scl-approach-copy > p:not(.scl-kicker) {
  max-width: 650px !important;
  color: #31443d !important;
  -webkit-text-fill-color: #31443d !important;
  font-size: clamp(1rem, 1.05vw, 1.12rem) !important;
  line-height: 1.68 !important;
}
#home .scl-approach-mini-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 22px !important;
  max-width: 760px !important;
}
#home .scl-approach-mini-cards article {
  min-height: 150px !important;
  padding: 18px 16px !important;
  border: 1px solid rgba(18,63,49,0.1) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 32px rgba(18,63,49,0.06) !important;
}
#home .scl-approach-mini-cards span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #eef5ed !important;
  color: #0c2d22 !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  margin-bottom: 14px !important;
}
#home .scl-approach-mini-cards b {
  display: block !important;
  color: #0c2d22 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.2rem !important;
  line-height: 1.1 !important;
  margin-bottom: 8px !important;
}
#home .scl-approach-mini-cards p {
  margin: 0 !important;
  color: #5a6964 !important;
  -webkit-text-fill-color: #5a6964 !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
}
#home .scl-approach-copy .scl-hero-actions {
  margin-top: 26px !important;
}
#home .scl-approach-image-wrap,
#home .scl-approach-visual {
  width: 100% !important;
  max-width: 720px !important;
  justify-self: end !important;
  overflow: visible !important;
  border-radius: 20px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  height: auto !important;
}
#home .scl-approach-image-wrap::before {
  display: none !important;
}
#home .scl-approach-image,
#home .scl-approach-visual img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 20px !important;
  transform: none !important;
  filter: none !important;
  display: block !important;
}
@media (max-width: 760px) {
  #home .scl-approach-mini-cards {
    grid-template-columns: 1fr !important;
  }
  #home .scl-approach-mini-cards article {
    min-height: 0 !important;
  }
}
#home .scl-cta {
  padding-block: clamp(46px, 5vw, 72px) !important;
}
#home .scl-cta-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(28px, 5vw, 76px) !important;
  align-items: center !important;
  padding: clamp(34px, 4vw, 54px) clamp(36px, 5vw, 72px) !important;
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.28) !important;
}
#home .scl-cta-label {
  color: #f7ad24 !important;
  -webkit-text-fill-color: #f7ad24 !important;
  opacity: 1 !important;
}
#home .scl-cta-title,
#home .scl-cta h2.scl-cta-title {
  max-width: 760px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(2.05rem, 3.2vw, 3.45rem) !important;
  line-height: 1.06 !important;
  font-weight: 850 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.16) !important;
}
#home .scl-cta-desc,
#home .scl-cta p.scl-cta-desc {
  max-width: 720px !important;
  color: rgba(255,255,255,0.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.92) !important;
  font-size: clamp(1rem, 1.08vw, 1.14rem) !important;
  font-weight: 650 !important;
}
#home .scl-cta .scl-button-yellow {
  min-width: 250px !important;
  justify-content: center !important;
  text-align: center !important;
}

/* - WAVE DIVIDER - */
.scl-wave-divider { display: block !important; line-height: 0 !important; background: #123f31 !important; margin-bottom: 0 !important; }
.scl-wave-divider svg { display: block !important; width: 100% !important; height: 50px !important; }

/* - CUSTOM FOOTER v3: #CBD3CC THEME - */
/* - CUSTOM FOOTER: CREAM TEXT & YELLOW BRAND - */
footer.scl-custom-footer-v3,
.scl-custom-footer-v3,
footer {
  background-color: #0c2d22 !important;
  color: #fbfcf6 !important;
  -webkit-text-fill-color: #fbfcf6 !important;
}
footer.scl-custom-footer-v3 p,
.scl-custom-footer-v3 p,
footer p,
footer.scl-custom-footer-v3 a:not(.scl-foot-cta):not(.rounded-full),
.scl-custom-footer-v3 a:not(.scl-foot-cta):not(.rounded-full),
footer a:not(.scl-foot-cta):not(.rounded-full) {
  color: #fbfcf6 !important;
  -webkit-text-fill-color: #fbfcf6 !important;
}
footer.scl-custom-footer-v3 span:not(.scl-foot-brand-name):not(.scl-foot-brand-name *),
.scl-custom-footer-v3 span:not(.scl-foot-brand-name):not(.scl-foot-brand-name *) {
  color: #fbfcf6 !important;
  -webkit-text-fill-color: #fbfcf6 !important;
}

/* Brand Name in Yellow */
.scl-foot-brand-name,
.scl-foot-brand-name *,
footer .scl-foot-brand-name,
footer .scl-foot-brand-name *,
.scl-footer-brand .scl-brand,
.scl-footer-brand .scl-brand * {
  color: #f7ad24 !important;
  -webkit-text-fill-color: #f7ad24 !important;
}

/* Headings in Yellow */
footer.scl-custom-footer-v3 h4,
.scl-custom-footer-v3 h4,
footer h4 {
  color: #f7ad24 !important;
  -webkit-text-fill-color: #f7ad24 !important;
  font-family: 'Playfair Display', serif !important;
}

/* Consultation Button in Yellow */
footer.scl-custom-footer-v3 a.scl-foot-cta,
.scl-custom-footer-v3 a.scl-foot-cta,
footer.scl-custom-footer-v3 a.rounded-full,
.scl-custom-footer-v3 a.rounded-full {
  background-color: #f7ad24 !important;
  color: #0c2d22 !important;
  -webkit-text-fill-color: #0c2d22 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
  header.site-header, .site-header[data-site-header] { padding-left: 0 !important; padding-right: 24px !important; }
  #home .scl-hero-grid, .scl-hero-grid, .scl-approach-grid, .scl-impact-grid, .scl-cta-grid, .scl-footer-main, .scl-founder-grid { grid-template-columns: 1fr !important; gap: 38px !important; }
  #home .scl-system-map, .scl-system-map, .scl-impact-image-wrap { max-width: 440px !important; justify-self: center !important; margin: 20px auto 0 !important; }
  .scl-approach-image-wrap { max-width: 560px !important; justify-self: center !important; margin: 8px auto 0 !important; }
  .scl-approach-image { transform: scale(1.04) !important; }
  .scl-section-heading { grid-template-columns: 1fr !important; gap: 12px !important; }
  .scl-insights-home .scl-section-heading { grid-template-columns: 1fr !important; }
  .site-header .site-nav, .site-header .scl-nav { gap: 16px !important; }
}
@media (max-width: 820px) {
  .scl-wrap { width: min(100% - 32px, 1380px) !important; }
  header.site-header, .site-header[data-site-header] { padding-left: 0 !important; padding-right: 20px !important; min-height: 64px !important; }
  header.site-header.scrolled, .site-header[data-site-header].scrolled { min-height: 56px !important; }
  body { padding-top: 64px; }
  .site-header .brand img, .site-header .scl-brand img { width: 40px !important; height: 40px !important; }
  .site-header .brand span, .site-header .scl-brand span { font-size: 0.9rem !important; }
  .nav-toggle, .site-header .nav-toggle { display: flex !important; }
  .site-header .site-nav, .site-header .scl-nav { position: absolute !important; top: 100% !important; right: 0 !important; left: 0 !important; display: none !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; padding: 8px !important; border: 1px solid rgba(18,63,49,0.12) !important; border-top: none !important; background: #fff !important; box-shadow: 0 16px 40px rgba(18,63,49,0.12) !important; }
  .site-header .site-nav.nav-open, .site-header .scl-nav.nav-open { display: flex !important; }
  .site-header .site-nav > a, .site-header .scl-nav > a, .site-header .site-nav .nav-parent, .site-header .scl-nav .nav-parent { display: block !important; width: 100% !important; padding: 12px 14px !important; border-bottom: 1px solid rgba(18,63,49,0.08) !important; border-left: none !important; }
  .site-header .scl-nav-cta { margin-top: 6px !important; text-align: center !important; }
  .site-header .nav-menu { position: static !important; display: none !important; width: 100% !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; border: none !important; background: #eef5ed !important; border-radius: 0 !important; padding-left: 14px !important; }
  .site-header .nav-dropdown.is-open .nav-menu { display: block !important; }
  .scl-hero { padding-top: 40px !important; }
  .scl-insight-list { grid-template-columns: 1fr !important; }
  .scl-insight-list article { padding: 16px 0 !important; border-right: none !important; border-bottom: 1px solid rgba(18,63,49,0.09) !important; }
  .scl-flow { grid-template-columns: 1fr !important; border-top: none !important; border-left: 1px solid rgba(255,255,255,0.18) !important; }
  .scl-flow li { min-height: 0 !important; padding: 4px 0 20px 20px !important; }
  .scl-flow li::before { top: 3px !important; left: -4px !important; }
  .scl-method { grid-template-columns: 128px minmax(0,1fr) 24px !important; gap: 16px !important; }
  .scl-method-visual { width: 128px !important; height: 92px !important; }
  .scl-founder-card {
    grid-template-columns: 1fr !important; gap: 28px !important; text-align: center !important; padding: clamp(28px, 5vw, 48px) !important;
  }
  .scl-founder-dp {
    width: 120px !important; height: 120px !important; margin: 0 auto !important;
  }
  .scl-founder-quote {
    text-align: left !important;
  }
  .scl-founder-tags {
    justify-content: center !important;
  }
  .scl-founder-grid { grid-template-columns: 82px 1fr !important; gap: 18px !important; }
  .scl-founder-mark { width: 76px !important; height: 76px !important; border-width: 3px !important; }
  .scl-founder-mark span { font-size: 1.5rem !important; }
  .scl-footer-bottom { flex-direction: column !important; gap: 20px !important; align-items: center !important; }
}
@media (max-width: 560px) {
  header.site-header, .site-header[data-site-header] { padding-left: 0 !important; padding-right: 16px !important; }
  .site-header .brand span, .site-header .scl-brand span { max-width: 145px !important; white-space: normal !important; line-height: 1.1 !important; }
  #home .scl-system-map, .scl-system-map { min-height: 490px !important; }
  #home .scl-map-ring, .scl-map-ring { inset: 86px 18px !important; }
  #home .scl-map-core, .scl-map-core { width: 174px !important; padding: 20px 12px !important; }
  #home .scl-map-node, .scl-map-node { width: calc(50% - 18px) !important; padding: 8px !important; }
  #home .scl-node-one, .scl-node-one{top:16px !important;left:7px !important;}
  #home .scl-node-two, .scl-node-two{top:16px !important;right:7px !important;}
  #home .scl-node-three, .scl-node-three{bottom:18px !important;left:7px !important;}
  #home .scl-node-four, .scl-node-four{right:7px !important;bottom:18px !important;}
  #home .scl-map-node span, .scl-map-node span { font-size: 0.6rem !important; }
  .scl-map-logo { bottom: 86px !important; }
  .scl-approach-image-wrap { max-width: 100% !important; margin: 0 !important; }
  .scl-approach-image { transform: scale(1.02) !important; }
  .scl-method { grid-template-columns: 80px minmax(0,1fr) !important; gap: 12px !important; }
  .scl-method-visual { width: 80px !important; height: 74px !important; }
  .scl-method-arrow { display: none !important; }
  .scl-method h3 { font-size: 1.15rem !important; }
  .scl-design-cycle { grid-template-columns: 1fr !important; padding: 11px !important; }
  .scl-cycle-core { flex-direction: column !important; gap: 3px !important; }
  .scl-founder-grid { grid-template-columns: 1fr !important; }
  .scl-founder-grid > div:last-child { grid-column: 1 !important; }
  .scl-founder-home h2 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }
  .scl-founder-card {
    padding: 24px 20px !important; gap: 20px !important;
  }
  .scl-founder-dp {
    width: 100px !important; height: 100px !important;
  }
  .scl-footer .scl-wrap { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
}

/* Desktop refinement of the home learning-model concept. */
@media (min-width: 701px) {
  #home .scl-system-map, .scl-system-map { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; min-height:0 !important; max-width:520px !important; margin:0 !important; padding:20px !important; border:1px solid rgba(18,63,49,.12) !important; border-radius:24px !important; background:rgba(255,255,255,.82) !important; box-shadow:0 24px 55px rgba(18,63,49,.09) !important; }
  #home .scl-map-ring, .scl-map-ring, #home .scl-map-logo, .scl-map-logo { display:none !important; }
  #home .scl-map-core, .scl-map-core { grid-column:1 / -1 !important; position:relative !important; width:auto !important; padding:24px 18px !important; border-radius:16px !important; }
  #home .scl-map-node, .scl-map-node { position:relative !important; inset:auto !important; width:auto !important; min-height:112px !important; padding:14px !important; border-color:rgba(18,63,49,.12) !important; border-radius:14px !important; background:#fff !important; }
}

@media (max-width: 1100px) {
  #home .scl-approach-grid,
  #home .scl-cta-inner {
    grid-template-columns: 1fr !important;
  }
  #home .scl-approach-copy,
  #home .scl-approach-home h2,
  #home .scl-approach-copy > p:not(.scl-kicker) {
    max-width: 820px !important;
  }
  #home .scl-approach-image-wrap {
    justify-self: start !important;
    max-width: min(100%, 640px) !important;
    margin: 0 !important;
  }
  #home .scl-cta .scl-button-yellow {
    justify-self: start !important;
  }
}

@media (max-width: 640px) {
  #home .scl-approach-home {
    padding-block: 42px !important;
  }
  #home .scl-approach-grid {
    gap: 24px !important;
  }
  #home .scl-approach-image {
    aspect-ratio: auto !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: none !important;
  }
  #home .scl-cta-inner {
    padding: 28px 22px !important;
  }
  #home .scl-cta .scl-button-yellow {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Homepage reference-style reveal and subtle floating motion */
#home .scl-hero .reveal {
  opacity: 0 !important;
  transform: translateY(22px) !important;
  transition: opacity 760ms cubic-bezier(.2,.8,.2,1), transform 760ms cubic-bezier(.2,.8,.2,1) !important;
  transition-delay: calc(var(--stagger, 0) * 120ms) !important;
}
#home .scl-hero .reveal.in-view,
#home .scl-hero .reveal.active {
  opacity: 1 !important;
  transform: none !important;
}
#home .scl-hero .scl-system-map.reveal {
  transform: translateY(22px) scale(.96) !important;
}
#home .scl-hero .scl-system-map.reveal.in-view,
#home .scl-hero .scl-system-map.reveal.active {
  transform: translateY(0) scale(1) !important;
}
#home .scl-orbit-model.scl-system-map .scl-map-node {
  animation: scl-reference-float 6s ease-in-out infinite !important;
}
#home .scl-orbit-model.scl-system-map .scl-node-two { animation-delay: 1s !important; }
#home .scl-orbit-model.scl-system-map .scl-node-three { animation-delay: 2s !important; }
#home .scl-orbit-model.scl-system-map .scl-node-four { animation-delay: 3s !important; }
@keyframes scl-reference-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -10px; }
}
@media (prefers-reduced-motion: reduce) {
  #home .scl-hero .reveal,
  #home .scl-orbit-model.scl-system-map .scl-map-node {
    animation: none !important;
    transition: none !important;
  }
}

/* Home Our Approach: content-matched visual panel instead of a photo */
#home .scl-approach-image-wrap.scl-approach-design-panel {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 720px !important;
  min-height: clamp(540px, 48vw, 700px) !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(18,63,49,.12) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, rgba(18,63,49,.96), rgba(22,86,66,.92)),
    radial-gradient(circle at 25% 22%, rgba(247,173,36,.2), transparent 38%) !important;
  box-shadow: 0 28px 70px rgba(18,63,49,.18) !important;
}
#home .scl-design-orbit {
  position: relative !important;
  display: block !important;
  min-height: 410px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(247,173,36,.2) 0 2px, transparent 3px),
    linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.09) 1px, transparent 1px) !important;
  background-size: 100% 100%, 56px 56px, 56px 56px !important;
  overflow: hidden !important;
}
#home .scl-design-orbit::before,
#home .scl-design-orbit::after {
  content: "" !important;
  position: absolute !important;
  inset: 14% 11% !important;
  border: 1px dashed rgba(247,173,36,.45) !important;
  border-radius: 50% !important;
}
#home .scl-design-orbit::after {
  inset: 24% 22% !important;
  border-color: rgba(255,255,255,.24) !important;
}
#home .scl-design-core {
  position: absolute !important;
  z-index: 3 !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  place-items: center !important;
  width: min(42%, 260px) !important;
  min-height: 190px !important;
  padding: 24px !important;
  border: 1px solid rgba(247,173,36,.38) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.96) !important;
  text-align: center !important;
  box-shadow: 0 24px 48px rgba(0,0,0,.18) !important;
}
#home .scl-design-core small {
  color: #d99200 !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
#home .scl-design-core strong {
  margin-top: 10px !important;
  color: #0c2d22 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.55rem, 2.4vw, 2.3rem) !important;
  line-height: 1.06 !important;
}
#home .scl-design-node {
  position: absolute !important;
  z-index: 4 !important;
  width: min(38%, 230px) !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.16) !important;
}
#home .scl-design-node-one { top: 4% !important; left: 3% !important; }
#home .scl-design-node-two { top: 8% !important; right: 3% !important; }
#home .scl-design-node-three { bottom: 5% !important; left: 50% !important; transform: translateX(-50%) !important; }
#home .scl-design-node span {
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  margin-bottom: 14px !important;
  border-radius: 50% !important;
  background: #eef5ed !important;
  color: #0c2d22 !important;
  font-weight: 900 !important;
}
#home .scl-design-node b {
  display: block !important;
  color: #0c2d22 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.35rem !important;
  line-height: 1.05 !important;
}
#home .scl-design-node small {
  display: block !important;
  margin-top: 8px !important;
  color: #5a6964 !important;
  font-size: .86rem !important;
  line-height: 1.35 !important;
}
#home .scl-design-notes {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
#home .scl-design-notes span {
  display: grid !important;
  place-items: center !important;
  min-height: 52px !important;
  padding: 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  text-align: center !important;
}
@media (max-width: 760px) {
  #home .scl-approach-image-wrap.scl-approach-design-panel {
    min-height: 0 !important;
  }
  #home .scl-design-orbit {
    min-height: 520px !important;
  }
  #home .scl-design-node {
    width: 46% !important;
  }
  #home .scl-design-notes {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Home approach visual refresh: unique flow board, no repeated photo or cluttered card stack. */
#home .scl-approach-image-wrap.scl-approach-design-panel {
  min-height: clamp(520px, 45vw, 660px) !important;
  padding: clamp(22px, 2.6vw, 34px) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(247,173,36,.18), transparent 28%),
    linear-gradient(135deg, #123f31 0%, #1b634d 100%) !important;
}

#home .scl-flow-board {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  min-height: 100% !important;
  border-radius: 22px !important;
  padding: clamp(22px, 2.4vw, 34px) !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)) !important;
  background-size: 62px 62px, 62px 62px, 100% 100% !important;
}

#home .scl-flow-header {
  position: relative !important;
  z-index: 3 !important;
  max-width: 520px !important;
  color: #fff !important;
}

#home .scl-flow-header span {
  display: inline-block !important;
  margin-bottom: 12px !important;
  color: #f7ad24 !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

#home .scl-flow-header strong {
  display: block !important;
  color: #fff !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.55rem, 2.1vw, 2.15rem) !important;
  line-height: 1.08 !important;
}

#home .scl-flow-track {
  position: absolute !important;
  left: 14% !important;
  right: 14% !important;
  top: 56% !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f7ad24, #8bd4bc, #ffffff) !important;
  box-shadow: 0 0 34px rgba(247,173,36,.34) !important;
}

#home .scl-flow-track::before,
#home .scl-flow-track::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #f7ad24 !important;
  transform: translate(-50%, -50%) !important;
}

#home .scl-flow-track::after {
  left: 100% !important;
  background: #fff !important;
}

#home .scl-flow-step {
  position: relative !important;
  z-index: 4 !important;
  width: auto !important;
  padding: 18px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.18) !important;
}

#home .scl-flow-step-one,
#home .scl-flow-step-two,
#home .scl-flow-step-three {
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  align-self: end !important;
}

#home .scl-flow-step-one { grid-column: 1 !important; grid-row: 2 !important; }
#home .scl-flow-step-two { grid-column: 2 !important; grid-row: 2 !important; margin-bottom: 58px !important; }
#home .scl-flow-step-three { grid-column: 3 !important; grid-row: 2 !important; }

#home .scl-flow-step span {
  display: inline-grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  margin-bottom: 14px !important;
  border-radius: 50% !important;
  background: #eef5ed !important;
  color: #0c2d22 !important;
  font-weight: 900 !important;
}

#home .scl-flow-step b {
  display: block !important;
  color: #0c2d22 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.32rem !important;
  line-height: 1.05 !important;
}

#home .scl-flow-step small {
  display: block !important;
  margin-top: 8px !important;
  color: #53635d !important;
  font-size: .86rem !important;
  line-height: 1.36 !important;
}

#home .scl-flow-chip {
  position: absolute !important;
  z-index: 2 !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
}

#home .scl-chip-objectives { left: 7% !important; bottom: 10% !important; }
#home .scl-chip-context { right: 8% !important; top: 18% !important; }
#home .scl-chip-people { left: 42% !important; bottom: 6% !important; }
#home .scl-chip-use { right: 8% !important; top: 30% !important; }

#home .scl-flow-board {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: clamp(16px, 2vw, 26px) !important;
}

#home .scl-flow-header {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
}

@media (max-width: 760px) {
  #home .scl-flow-board {
    min-height: 560px !important;
  }

  #home .scl-flow-track {
    left: 50% !important;
    right: auto !important;
    top: 28% !important;
    bottom: 14% !important;
    width: 4px !important;
    height: auto !important;
    transform: translateX(-50%) !important;
    background: linear-gradient(180deg, #f7ad24, #8bd4bc, #fff) !important;
  }

  #home .scl-flow-step {
    width: min(82%, 320px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  #home .scl-flow-step-one { top: 25% !important; }
  #home .scl-flow-step-two { top: 50% !important; transform: translate(-50%, -50%) !important; }
  #home .scl-flow-step-three { bottom: 7% !important; }
  #home .scl-flow-chip { display: none !important; }
}

/* Learning journey visual: compact triangular flow, inspired by the reference. */
#home .scl-approach-image-wrap.scl-approach-design-panel {
  min-height: clamp(500px, 43vw, 620px) !important;
  padding: clamp(20px, 2.2vw, 30px) !important;
  background:
    radial-gradient(circle at 50% 52%, rgba(247, 173, 36, .16), transparent 34%),
    linear-gradient(135deg, #f8fbf5 0%, #e8f2ea 100%) !important;
  box-shadow: 0 24px 70px rgba(12, 45, 34, .14) !important;
}

#home .scl-flow-board {
  display: block !important;
  min-height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(12, 45, 34, .08) !important;
  background:
    radial-gradient(circle at 50% 52%, rgba(255,255,255,.92) 0 18%, transparent 18.5%),
    repeating-radial-gradient(circle at 50% 52%, rgba(12,45,34,.12) 0 1px, transparent 1px 22px),
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.46)) !important;
}

#home .scl-flow-board::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 53% !important;
  width: min(70%, 520px) !important;
  aspect-ratio: 1.18 !important;
  border-radius: 50% !important;
  border: 3px dashed rgba(247, 173, 36, .72) !important;
  transform: translate(-50%, -50%) rotate(-10deg) !important;
}

#home .scl-flow-board::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 53% !important;
  width: min(58%, 420px) !important;
  aspect-ratio: 1.18 !important;
  border-radius: 50% !important;
  border: 2px solid rgba(9, 116, 112, .22) !important;
  transform: translate(-50%, -50%) rotate(18deg) !important;
}

#home .scl-flow-header {
  position: absolute !important;
  left: 50% !important;
  top: 53% !important;
  z-index: 5 !important;
  display: grid !important;
  place-items: center !important;
  width: clamp(150px, 13vw, 190px) !important;
  height: clamp(150px, 13vw, 190px) !important;
  max-width: none !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: #ffffff !important;
  border: 1px solid rgba(12, 45, 34, .12) !important;
  box-shadow: 0 20px 48px rgba(12, 45, 34, .15) !important;
  text-align: center !important;
}

#home .scl-flow-header span,
#home .scl-flow-header strong {
  display: none !important;
}

#home .scl-flow-header::before {
  content: "The Learning" !important;
  display: block !important;
  color: #0c2d22 !important;
  font-size: clamp(.8rem, .95vw, .98rem) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

#home .scl-flow-header::after {
  content: "Journey" !important;
  display: block !important;
  margin-top: -54px !important;
  color: #0c2d22 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.35rem, 1.7vw, 1.75rem) !important;
  font-weight: 900 !important;
}

#home .scl-flow-track {
  display: none !important;
}

#home .scl-flow-step {
  position: absolute !important;
  z-index: 6 !important;
  width: clamp(190px, 16vw, 230px) !important;
  min-height: 154px !important;
  display: grid !important;
  align-content: center !important;
  padding: 22px 24px !important;
  border: 0 !important;
  box-shadow: 0 22px 44px rgba(12, 45, 34, .14) !important;
}

#home .scl-flow-step-one {
  top: clamp(18px, 5%, 34px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-radius: 34px 34px 80px 80px !important;
  background: linear-gradient(145deg, #164f38, #0f3b2d) !important;
  color: #fff !important;
}

#home .scl-flow-step-two {
  right: clamp(24px, 7%, 58px) !important;
  bottom: clamp(34px, 9%, 62px) !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  margin-bottom: 0 !important;
  border-radius: 72px 34px 34px 34px !important;
  background: linear-gradient(145deg, #f7b733, #e49a08) !important;
  color: #0c2d22 !important;
}

#home .scl-flow-step-three {
  left: clamp(24px, 7%, 58px) !important;
  bottom: clamp(34px, 9%, 62px) !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  border-radius: 34px 72px 34px 34px !important;
  background: #ffffff !important;
  color: #0c2d22 !important;
}

#home .scl-flow-step span {
  width: 42px !important;
  height: 42px !important;
  margin-bottom: 10px !important;
  background: rgba(255,255,255,.22) !important;
  color: currentColor !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22) !important;
}

#home .scl-flow-step-two span,
#home .scl-flow-step-three span {
  background: rgba(12, 45, 34, .08) !important;
}

#home .scl-flow-step b {
  color: currentColor !important;
  font-size: clamp(1.35rem, 1.7vw, 1.65rem) !important;
}

#home .scl-flow-step small {
  color: currentColor !important;
  opacity: .78 !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
}

#home .scl-flow-chip {
  display: none !important;
}

@media (max-width: 760px) {
  #home .scl-approach-image-wrap.scl-approach-design-panel {
    min-height: 660px !important;
  }

  #home .scl-flow-board::before {
    width: 86% !important;
    top: 50% !important;
  }

  #home .scl-flow-board::after {
    width: 72% !important;
    top: 50% !important;
  }

  #home .scl-flow-header {
    top: 50% !important;
  }

  #home .scl-flow-step {
    width: min(78%, 280px) !important;
    min-height: 136px !important;
    padding: 18px 20px !important;
  }

  #home .scl-flow-step-one {
    top: 28px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  #home .scl-flow-step-two {
    right: 18px !important;
    bottom: 26px !important;
  }

  #home .scl-flow-step-three {
    left: 18px !important;
    bottom: 176px !important;
  }
}

/* Stable homepage approach visual: keep the right panel filled and readable. */
#home .scl-approach-visual {
  min-width: 0 !important;
}

#home .scl-approach-image-wrap.scl-approach-design-panel {
  min-height: clamp(560px, 46vw, 700px) !important;
  height: 100% !important;
  padding: clamp(22px, 2.8vw, 38px) !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(247, 173, 36, .20), transparent 30%),
    radial-gradient(circle at 84% 74%, rgba(27, 99, 77, .22), transparent 34%),
    linear-gradient(135deg, #f7fbf5 0%, #e7f1ea 100%) !important;
  box-shadow: 0 26px 78px rgba(12, 45, 34, .13) !important;
}

#home .scl-flow-board {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: clamp(510px, 40vw, 640px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto 1fr auto !important;
  gap: clamp(16px, 2vw, 26px) !important;
  padding: clamp(22px, 2.6vw, 36px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(12, 45, 34, .10) !important;
  border-radius: 26px !important;
  background:
    linear-gradient(90deg, rgba(12, 45, 34, .06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(12, 45, 34, .06) 1px, transparent 1px),
    rgba(255, 255, 255, .58) !important;
  background-size: 64px 64px, 64px 64px, auto !important;
}

#home .scl-flow-board::before {
  content: "" !important;
  position: absolute !important;
  inset: 24% 9% 25% !important;
  width: auto !important;
  height: auto !important;
  aspect-ratio: auto !important;
  border: 2px dashed rgba(247, 173, 36, .58) !important;
  border-radius: 999px !important;
  transform: none !important;
  background: transparent !important;
}

#home .scl-flow-board::after {
  content: "" !important;
  position: absolute !important;
  left: 12% !important;
  right: 12% !important;
  top: 54% !important;
  width: auto !important;
  height: 3px !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  transform: none !important;
  background: linear-gradient(90deg, #f7ad24, #1b634d, #f7ad24) !important;
  opacity: .65 !important;
}

#home .scl-flow-header {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  height: auto !important;
  max-width: 720px !important;
  display: block !important;
  place-items: initial !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

#home .scl-flow-header span,
#home .scl-flow-header strong {
  display: block !important;
}

#home .scl-flow-header::before,
#home .scl-flow-header::after {
  content: none !important;
  display: none !important;
}

#home .scl-flow-header span {
  margin: 0 0 10px !important;
  color: #f7ad24 !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

#home .scl-flow-header strong {
  max-width: 620px !important;
  color: #0c2d22 !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(1.8rem, 2.5vw, 2.7rem) !important;
  line-height: 1.05 !important;
}

#home .scl-flow-track,
#home .scl-flow-chip {
  display: none !important;
}

#home .scl-flow-step,
#home .scl-flow-step-one,
#home .scl-flow-step-two,
#home .scl-flow-step-three {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  width: 100% !important;
  min-height: 245px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: clamp(18px, 2vw, 26px) !important;
  border: 1px solid rgba(12, 45, 34, .10) !important;
  border-radius: 24px !important;
  transform: none !important;
  box-shadow: 0 18px 44px rgba(12, 45, 34, .12) !important;
  color: #0c2d22 !important;
}

#home .scl-flow-step-one {
  grid-column: 1 !important;
  grid-row: 2 !important;
  background: #ffffff !important;
}

#home .scl-flow-step-two {
  grid-column: 2 !important;
  grid-row: 2 !important;
  background: linear-gradient(145deg, #fff8e8, #f6e6bf) !important;
}

#home .scl-flow-step-three {
  grid-column: 3 !important;
  grid-row: 2 !important;
  background: #ffffff !important;
}

#home .scl-flow-step span {
  width: 44px !important;
  height: 44px !important;
  margin: 0 0 14px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #eaf3ed !important;
  color: #0c2d22 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

#home .scl-flow-step b {
  color: #0c2d22 !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(1.25rem, 1.55vw, 1.65rem) !important;
  line-height: 1.05 !important;
}

#home .scl-flow-step small {
  margin-top: 8px !important;
  color: #53635d !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  opacity: 1 !important;
}

@media (max-width: 980px) {
  #home .scl-flow-board {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  #home .scl-flow-step-one,
  #home .scl-flow-step-two,
  #home .scl-flow-step-three {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 150px !important;
  }
}

/* Force Home Page Header Logo Flush Left */
header.site-header,
.site-header[data-site-header],
.site-header,
.scl-header {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.brand,
header.site-header .brand,
.site-header .brand,
.site-header .scl-brand,
a.brand.scl-brand,
a.brand {
  position: static !important;
  left: 0 !important;
  transform: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

header.site-header .brand img,
.site-header .brand img,
.site-header .scl-brand img,
.brand img {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
