/* ============================================================
   zedConsulting — theme tokens (light + dark)
   Brand: lime #E9F213 · accent teal #13b9a6 (logo dot)
   Type: Geist (sans) + Geist Mono (technical layer)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400;500&display=swap');

:root, [data-theme="light"] {
  --font-sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  /* Surfaces */
  --bg: #fbfbf7;
  --surface: #ffffff;
  --surface-2: #f4f4ec;
  --surface-3: #ececE2;
  --hairline: #e7e7dd;
  --hairline-strong: #d6d6c8;

  /* Text */
  --ink: #17180f;
  --body: #4c4d42;
  --mute: #8a8b7e;

  /* Brand — lime */
  --brand: #E9F213;
  --brand-strong: #d6df00;
  --brand-ink: #17180f;     /* text on lime */
  --brand-soft: #f6f9b3;    /* pale lime fill */
  --brand-tint: #fafce0;    /* faintest lime wash */
  --secondary: #F8FAD5;     /* secondary brand colour (pale lime) */

  /* Accent — teal (logo dot) */
  --accent: #11b3a0;
  --accent-soft: #d3f2ed;

  /* Inverted band (dark section on light page) */
  --band-bg: #17180f;
  --band-surface: #21221a;
  --band-ink: #ffffff;
  --band-body: rgba(255,255,255,0.70);
  --band-mute: rgba(255,255,255,0.50);
  --band-hairline: rgba(255,255,255,0.14);

  /* Elevation — stacked, calm */
  --shadow-sm: 0 1px 2px rgba(20,20,8,.05), 0 1px 1px rgba(20,20,8,.03);
  --shadow-md: 0 1px 2px rgba(20,20,8,.04), 0 10px 28px rgba(20,20,8,.06), inset 0 0 0 1px rgba(20,20,8,.05);
  --shadow-lg: 0 2px 6px rgba(20,20,8,.06), 0 22px 56px rgba(20,20,8,.11), inset 0 0 0 1px rgba(20,20,8,.05);
  --ring: inset 0 0 0 1px rgba(20,20,8,.07);

  /* Dot-grid texture color */
  --dot: #d9d9cb;
}

[data-theme="dark"] {
  --bg: #0c0d08;
  --surface: #15160e;
  --surface-2: #1c1d13;
  --surface-3: #24251a;
  --hairline: rgba(255,255,255,0.10);
  --hairline-strong: rgba(255,255,255,0.20);

  --ink: #f4f4ea;
  --body: #b4b5a6;
  --mute: #82836f;

  --brand: #E9F213;
  --brand-strong: #f2f93f;
  --brand-ink: #15160e;
  --brand-soft: #2b2d10;
  --brand-tint: #1c1d10;
  --secondary: #23240f;     /* secondary brand colour, dark-mode variant */

  --accent: #2bd4bf;
  --accent-soft: #0f342f;

  --band-bg: #050601;
  --band-surface: #14150d;
  --band-ink: #f4f4ea;
  --band-body: rgba(244,244,234,0.70);
  --band-mute: rgba(244,244,234,0.48);
  --band-hairline: rgba(255,255,255,0.10);

  --shadow-sm: 0 1px 2px rgba(0,0,0,.45);
  --shadow-md: 0 2px 8px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.06);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.07);
  --ring: inset 0 0 0 1px rgba(255,255,255,.08);

  --dot: #2a2b20;
}

/* Entrance-animation safety net — forces final visible state once revealed. */
html.zed-shown .zed-rise { opacity: 1 !important; transform: none !important; }

/* Section sub-strip (Services / Platforms / Insights) dark-mode override */
[data-theme="dark"] .zed-svc-strip { background: #23240F !important; }
[data-theme="dark"] .zed-svc-strip span { color: #ffffff !important; }
[data-theme="dark"] .zed-svc-strip span[style*="hairline"] { color: rgba(255,255,255,0.4) !important; }
/* Logo badges that must stay light in dark mode so dark-art logos remain visible */
[data-theme="dark"] .keep-light { background: #ffffff !important; }

/* ============================================================
   Dark-mode safety net — neutralise hardcoded light section
   backgrounds set inline on pages. Stylesheet !important beats
   inline styles that have no !important, so these win in dark mode.
   ============================================================ */
[data-theme="dark"] [style*="background-color:#FFFFFF"],
[data-theme="dark"] [style*="background-color: #FFFFFF"],
[data-theme="dark"] [style*="background-color:#ffffff"],
[data-theme="dark"] [style*="background-color: #ffffff"],
[data-theme="dark"] [style*="background:#ffffff"],
[data-theme="dark"] [style*="background: #ffffff"],
[data-theme="dark"] [style*="background:#FFFFFF"],
[data-theme="dark"] [style*="background: #FFFFFF"],
[data-theme="dark"] [style*="background-color:#FAFAFA"],
[data-theme="dark"] [style*="background-color: #FAFAFA"],
[data-theme="dark"] [style*="background-color:#F5F5F5"],
[data-theme="dark"] [style*="background-color: #F5F5F5"],
[data-theme="dark"] [style*="background:#f5f5f3"],
[data-theme="dark"] [style*="background: #f5f5f3"],
[data-theme="dark"] [style*="background-color:#F4F4F4"],
[data-theme="dark"] [style*="background-color: #F4F4F4"],
[data-theme="dark"] [style*="background:#f1f1f1"],
[data-theme="dark"] [style*="background: #f1f1f1"],
[data-theme="dark"] [style*="background-color:#f1f1f1"],
[data-theme="dark"] [style*="background-color: #f1f1f1"] { background-color: var(--surface) !important; }

[data-theme="dark"] [style*="background:#FBFBDC"],
[data-theme="dark"] [style*="background: #FBFBDC"],
[data-theme="dark"] [style*="background-color:#FBFBDC"],
[data-theme="dark"] [style*="background-color: #FBFBDC"],
[data-theme="dark"] [style*="background:#FBFBE9"],
[data-theme="dark"] [style*="background: #FBFBE9"],
[data-theme="dark"] [style*="background:#F1F4FF"],
[data-theme="dark"] [style*="background: #F1F4FF"],
[data-theme="dark"] [style*="background-color:#F8F5EE"],
[data-theme="dark"] [style*="background-color: #F8F5EE"],
[data-theme="dark"] [style*="background:#F8F5EE"],
[data-theme="dark"] [style*="background: #F8F5EE"] { background-color: #15160e !important; }

[data-theme="dark"] [style*="background-color:#F6F6D3"],
[data-theme="dark"] [style*="background-color: #F6F6D3"] { background-color: #1c1d13 !important; }

[data-theme="dark"] [style*="background:#f0f0ec"],
[data-theme="dark"] [style*="background: #f0f0ec"],
[data-theme="dark"] [style*="background-color:#FAFAFA"] { background-color: #23240f !important; }

/* Smooth cross-fade when switching themes */
html.zed-theme-anim, html.zed-theme-anim * {
  transition: background-color .35s ease, border-color .35s ease, color .35s ease, box-shadow .35s ease, fill .35s ease !important;
}

/* ============================================================
   Global responsive safety net (applies to every page)
   ============================================================ */
html, body { max-width: 100%; overflow-x: clip; }
*, *::before, *::after { min-width: 0; }
img, svg, video, canvas, iframe { max-width: 100%; }
img, svg, video, canvas { height: auto; }

@media (max-width: 620px) {
  /* Neutralise desktop-only horizontal nudges that overflow on phones */
  .sol-hero-left[style*="left:"], .svc-hero-left[style*="left:"] { left: 0 !important; }
  .sol-hero-right[style*="left:"], .svc-hero-right[style*="left:"] { left: 0 !important; }
  /* Tables scroll rather than break layout */
  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/*zed-inline-navfoot*/

    *{box-sizing:border-box;}
    .zd-link{transition:background .15s ease, color .15s ease;}
    .zd-logo-light{display:block;}
    .zd-logo-dark{display:none;}
    [data-theme="dark"] .zd-logo-light{display:none;}
    [data-theme="dark"] .zd-logo-dark{display:block;}
    .zd-link:hover{background:var(--surface-2); color:var(--ink);}
    .zd-link[aria-current="page"]{background:var(--secondary); color:var(--ink); box-shadow:inset 0 0 0 1.5px #E9F213;}
    .zd-drop{position:relative;}
    .zd-panel{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); padding-top:12px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, transform .18s ease; z-index:200;}
    .zd-drop.zd-open .zd-panel, .zd-drop:focus-within .zd-panel{opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);}
    .zd-panel:hover{opacity:1; visibility:visible; pointer-events:auto;}
    .zd-mega{background:var(--surface); border:1px solid var(--hairline); border-radius:16px; box-shadow:var(--shadow-lg); padding:10px; display:grid; gap:2px; max-width:calc(100vw - 24px);}
    .zd-mega-item{display:flex; flex-direction:column; gap:2px; padding:10px 14px; border-radius:10px; text-decoration:none; transition:background .14s ease;}
    .zd-mega-item:hover{background:var(--surface-2);}
    .zd-panel-wide{position:fixed; top:54px; left:50%; width:min(940px, calc(100vw - 24px)); padding-top:16px;}
    .zd-drop::after{content:""; position:absolute; left:0; right:0; top:100%; height:22px;}
    .zd-drop:hover .zd-panel, .zd-drop:hover .zd-panel-wide{opacity:1!important; visibility:visible!important; pointer-events:auto!important; transform:translateX(-50%) translateY(0)!important;}
    .zd-panel-wide:hover{opacity:1!important; visibility:visible!important; pointer-events:auto!important;}
    .zd-mega-wide{background:var(--surface); border:1px solid var(--hairline); border-radius:18px; box-shadow:var(--shadow-lg); overflow:hidden; display:grid; grid-template-columns:1fr 300px;}
    .zd-svc{display:flex; gap:13px; align-items:flex-start; padding:10px 12px; border-radius:12px; text-decoration:none; transition:background .14s ease;}
    .zd-svc:hover{background:var(--surface-2);}
    .zd-svc:hover .zd-svc-name{color:var(--accent);}
    .zd-sol-badge{display:inline-flex;}
    .zd-sol-img{display:none;}
    [data-theme="dark"] .zd-sol-badge{display:none;}
    [data-theme="dark"] .zd-sol-img{display:inline-flex;}
    @media(max-width:1180px){.zd-mega-wide{grid-template-columns:1fr 260px;}}
    .zd-tog{position:relative; width:54px; height:28px; border-radius:100px; border:1px solid var(--hairline-strong); background:var(--surface-2); cursor:pointer; padding:0; display:inline-flex; align-items:center; flex-shrink:0; transition:background .3s ease, border-color .3s ease;}
    .zd-tog-knob{position:absolute; top:50%; left:2px; transform:translateY(-50%); width:22px; height:22px; border-radius:50%; background:var(--brand); color:var(--brand-ink); display:inline-flex; align-items:center; justify-content:center; transition:left .28s cubic-bezier(.4,0,.2,1), background .3s ease; box-shadow:0 1px 3px rgba(20,20,8,.3);}
    [data-theme="dark"] .zd-tog{background:var(--surface-3);}
    [data-theme="dark"] .zd-tog-knob{left:28px;}
    .zd-tog .zd-sun{display:inline-flex; align-items:center;}
    .zd-tog .zd-moon{display:none; align-items:center;}
    [data-theme="dark"] .zd-tog .zd-sun{display:none;}
    [data-theme="dark"] .zd-tog .zd-moon{display:inline-flex;}
    .zd-tog:hover{border-color:var(--brand);}
    .zd-cta:hover{background:var(--brand-strong)!important;}
    .zd-burger{display:none;}
    .zd-msheet-close{display:none;}
    .zd-macc > summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; padding:13px 14px; border-radius:11px; font-size:15.5px; font-weight:600; color:var(--ink);}
    .zd-macc > summary::-webkit-details-marker{display:none;}
    .zd-macc > summary:hover{background:var(--surface-2);}
    .zd-macc > summary .zd-macc-chev{transition:transform .25s ease; color:var(--mute);}
    .zd-macc[open] > summary .zd-macc-chev{transform:rotate(180deg);}
    .zd-macc[open] > summary{background:var(--surface-2);}
    .zd-msub{display:flex; flex-direction:column; gap:1px; padding:4px 6px 10px;}
    .zd-msub a{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--body); font-size:14px; padding:9px 12px; border-radius:9px;}
    .zd-msub a:hover{background:var(--surface-2); color:var(--ink);}
    .zd-msub a::before{content:""; width:5px; height:5px; border-radius:50%; background:var(--brand); flex-shrink:0;}
    .zd-mrow{display:flex; align-items:center; justify-content:space-between; text-decoration:none; color:var(--ink); font-size:15.5px; font-weight:600; padding:13px 14px; border-radius:11px;}
    .zd-mrow:hover{background:var(--surface-2);}
    @media(max-width:1140px){ .zd-desktop{display:none!important;} .zd-burger{display:inline-flex!important;} }
  

    .zf-link{color:var(--band-body); text-decoration:none; font-size:13.5px; display:inline-block; width:fit-content; transition:color .16s ease, transform .16s ease;}
    .zf-link:hover{color:var(--band-ink); transform:translateX(4px);}
    .zf-tog{position:relative; width:54px; height:28px; border-radius:100px; border:1px solid var(--band-hairline); background:rgba(255,255,255,0.06); cursor:pointer; padding:0; display:inline-flex; align-items:center; flex-shrink:0; transition:border-color .3s ease;}
    .zf-tog-knob{position:absolute; top:50%; left:2px; transform:translateY(-50%); width:22px; height:22px; border-radius:50%; background:var(--brand); color:var(--brand-ink); display:inline-flex; align-items:center; justify-content:center; transition:left .28s cubic-bezier(.4,0,.2,1); box-shadow:0 1px 3px rgba(0,0,0,.4);}
    [data-theme="dark"] .zf-tog-knob{left:28px;}
    .zf-tog .zf-sun{display:inline-flex; align-items:center;}
    .zf-tog .zf-moon{display:none; align-items:center;}
    [data-theme="dark"] .zf-tog .zf-sun{display:none;}
    [data-theme="dark"] .zf-tog .zf-moon{display:inline-flex;}
    .zf-tog:hover{border-color:var(--brand);}
  
.zd-drop:hover .zd-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}

/*zed-inline-testimonials*/

    .ztq{position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
    .ztq-track{display:flex; width:max-content; animation:ztq-scroll 90s linear infinite;}
    .ztq:hover .ztq-track{animation-play-state:paused;}
    .ztq-group{display:flex; gap:22px; padding-right:22px; align-items:stretch; flex-shrink:0;}
    @keyframes ztq-scroll{to{transform:translateX(-50%);}}
    @media(prefers-reduced-motion:reduce){.ztq-track{animation:none!important;}}
  

/*zed-inline-platforms*/

    .pf-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
    .pf-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--hairline-strong);}
    .pf-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:28px;}
    @media(min-width:640px){.pf-grid{grid-template-columns:repeat(3,1fr);}}
    @media(min-width:980px){.pf-grid{grid-template-columns:repeat(7,1fr);}}
    [data-theme="dark"] .pf-grid .pf-blk{display:none!important;}
    [data-theme="dark"] .pf-grid .pf-lime{display:inline-flex!important;}
    [data-theme="dark"] .pf-grid a:hover .pf-lime{display:none!important;}
    .pf-grid a:hover .pf-blk{display:none!important;}
    .pf-grid a:hover .pf-clr{display:inline-flex!important;}
    .pf-card.pf-auto{transform:translateY(-4px); box-shadow:var(--shadow-lg);}
    .pf-grid a.pf-auto .pf-blk{display:none!important;}
    .pf-grid a.pf-auto .pf-lime{display:none!important;}
    .pf-grid a.pf-auto .pf-clr{display:inline-flex!important;}
    .pf-sec{background:transparent;}
  
