/* TEdgeOne Global — v9 Production CSS
   Brand: #BE4A57 (red) · #4A63A8 (blue) · #F6F7FA (black)
   Fonts: Manrope (headings) · Inter (body)
   Nav: 72px fixed · Logo: 60px · body padding-top: 72px
   Section padding: 60px 0 · v9: service 2-col layout, breadcrumb above container,
   duplicate image fixes, SEO keyword sections, security headers, compliance fixes */

/* ── TOKENS ─────────────────────────────────────────────────── */
:root{
  /* LIGHT SCHEME  derived from tedgeone-v1-light.html */
  --red:#BE4A57;--red-d:#A03A46;--red-t:rgba(190,74,87,.09);
  --blue:#4A63A8;--blue-d:#37518F;--blue-t:rgba(74,99,168,.09);
  --black:#F6F7FA;--dark:#FFFFFF;--d2:#FFFFFF;--d3:#F0F2F7;
  --text:#1F2740;--t2:#4A5273;--t3:#7B85A3;
  --border:rgba(31,39,64,.09);--br:rgba(190,74,87,.30);--bb:rgba(74,99,168,.30);
  --radius:14px;--radius-s:10px;--ease:.28s ease;
  --nav-h:72px;
}

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--black);color:var(--text);
  overflow-x:hidden;line-height:1.65;-webkit-font-smoothing:antialiased;
  padding-top:var(--nav-h)}
h1,h2,h3,h4,h5,h6{font-family:'Manrope',sans-serif;font-weight:700;line-height:1.2;color:var(--text)}
a{text-decoration:none;color:inherit;transition:var(--ease)}
img{display:block;max-width:100%;height:auto;border:0}
ul{list-style:none}
button{font-family:'Inter',sans-serif;cursor:pointer;border:none;background:none}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:var(--red);border-radius:2px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}

/* ── LAYOUT ─────────────────────────────────────────────────── */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.sec{padding:44px 0}
.bg-d2{background:var(--d2)}
.bg-d3{background:var(--d3)}
.ctr{text-align:center;margin-top:32px}
.grad{background:linear-gradient(90deg,var(--red),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── TYPOGRAPHY ─────────────────────────────────────────────── */
h1{font-size:clamp(2rem,4.5vw,3.6rem);letter-spacing:-1.5px;margin-bottom:18px}
h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.8px;margin-bottom:14px}
h3{font-size:1.05rem;margin-bottom:8px}
h4{font-size:.9rem;margin-bottom:6px}
.sub{font-size:1.05rem;color:var(--t2);line-height:1.75;max-width:600px;margin-bottom:0}

/* ── EYEBROW TAGS ───────────────────────────────────────────── */
.eyebrow{display:inline-flex;align-items:center;gap:7px;
  font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 14px;border-radius:50px;margin-bottom:10px}
.eyebrow::before{content:'';width:5px;height:5px;border-radius:50%;animation:blink 2s infinite;flex-shrink:0}
.eyebrow-r{background:var(--red-t);border:1px solid var(--br);color:var(--red)}
.eyebrow-r::before{background:var(--red)}
.eyebrow-b{background:var(--blue-t);border:1px solid var(--bb);color:#4A63A8}
.eyebrow-b::before{background:#4A63A8}
.eyebrow-y{background:rgba(249,168,37,.08);border:1px solid rgba(249,168,37,.3);color:#F9A825}
.eyebrow-y::before{background:#F9A825}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

/* ── SECTION HEADER ─────────────────────────────────────────── */
.sec-hdr{text-align:center;max-width:700px;margin:0 auto 30px}
.sec-hdr .eyebrow{display:flex;justify-content:center}
.sec-hdr p{color:var(--t2);font-size:1rem;margin-top:8px}

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.875rem;
  padding:12px 26px;border-radius:50px;transition:var(--ease);
  cursor:pointer;white-space:nowrap;border:2px solid transparent}
.btn-red{background:var(--red);color:#fff;border-color:var(--red)}
.btn-red:hover{background:var(--red-d);border-color:var(--red-d);transform:translateY(-2px);box-shadow:0 12px 30px rgba(190,74,87,.3)}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-blue:hover{background:var(--blue-d);border-color:var(--blue-d);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--text);border-color:rgba(31,39,64,.2)}
.btn-outline:hover{border-color:rgba(31,39,64,.6);background:rgba(31,39,64,.04);transform:translateY(-2px)}
.btn-outline-r{background:transparent;color:var(--red);border-color:var(--red)}
.btn-outline-r:hover{background:var(--red);color:#fff}
.btn-ghost{background:transparent;color:var(--t2);border:1px solid var(--border);
  padding:10px 20px;font-size:.82rem;border-radius:50px}
.btn-ghost:hover{border-color:var(--br);color:var(--text)}
.btn-sm{padding:9px 18px;font-size:.8rem}

/* ── CARDS ──────────────────────────────────────────────────── */
.card{background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px;transition:var(--ease);display:flex;flex-direction:column;
  position:relative;overflow:hidden}
.card:hover{border-color:rgba(31,39,64,.14);transform:translateY(-3px)}
.card-accent{position:relative;overflow:hidden}
.card-accent::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--red),var(--blue));opacity:0;transition:var(--ease)}
.card-accent:hover::after{opacity:1}
.card-accent:hover{border-color:var(--br);box-shadow:0 16px 40px rgba(190,74,87,.08)}
.card-icon{width:42px;height:42px;border-radius:9px;background:var(--red-t);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;flex-shrink:0}
.card-icon svg{width:18px;height:18px;stroke:var(--red);fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card h3{margin-bottom:8px}
.card p{font-size:.9rem;color:var(--t2);line-height:1.6;flex:1}
.card-link{display:inline-flex;align-items:center;gap:5px;margin-top:16px;
  font-size:.82rem;font-weight:700;color:var(--red)}
.card-link svg{width:13px;height:13px;stroke:var(--red);fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.card:hover .card-link svg{transform:translateX(3px)}

/* ── GRID LAYOUTS ───────────────────────────────────────────── */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}

/* ── IMAGE + TEXT 2-COL (service sections) ──────────────────── */
/* v9: img left, text right — replaces 4-col deliverable layout */
.img-txt-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.img-col{position:relative;border-radius:16px;overflow:hidden;
  border:1px solid var(--border);min-height:280px}
.img-col img{width:100%;height:100%;object-fit:cover;min-height:280px}
.img-overlay{position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(190,74,87,.1),rgba(74,99,168,.1))}
.txt-col{display:flex;flex-direction:column;gap:12px}
.txt-col h2{margin-bottom:4px}
.txt-col p{color:var(--t2);font-size:.95rem;line-height:1.7}
.deliv-col{display:flex;flex-direction:column;gap:0}

/* ── SCROLL ANIMATIONS ──────────────────────────────────────── */
.fi{opacity:0;transform:translateY(22px);transition:.65s cubic-bezier(.25,.46,.45,.94)}
.fi.vis{opacity:1;transform:none}
.fi-l{transition-delay:.1s}.fi-m{transition-delay:.2s}.fi-r{transition-delay:.3s}
@media(prefers-reduced-motion:reduce){.fi,.fi.vis{opacity:1;transform:none;transition:none}}

/* ── NAVIGATION ─────────────────────────────────────────────── */
#nav{position:fixed;top:0;left:0;right:0;z-index:9999;
  height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;
  background:rgba(8,8,14,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);transition:var(--ease)}
#nav.scrolled{background:rgba(8,8,14,.98);box-shadow:0 4px 24px rgba(31,39,64,0.14)}
.nav-logo img{height:60px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links>a,.nav-dd-label{
  font-size:.875rem;font-weight:500;color:var(--t2);
  position:relative;padding:4px 0;cursor:pointer;background:none;border:none;
  font-family:'Inter',sans-serif}
.nav-links>a::after,.nav-dd-label::after{
  content:'';position:absolute;left:0;bottom:-2px;
  width:0;height:2px;background:var(--red);border-radius:2px;transition:.2s}
.nav-links>a:hover,.nav-dd-label:hover{color:var(--text)}
.nav-links>a:hover::after,.nav-links>a.active::after,.nav-dd-label.active::after{width:100%}
.nav-links>a.active,.nav-dd-label.active{color:var(--text)}
/* Dropdown — v9: removed ▾ prefix per spec */
.nav-dd{position:relative}
.dd-panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);
  background:var(--d2);border:1px solid var(--border);border-radius:12px;
  padding:8px;min-width:230px;opacity:0;pointer-events:none;transition:.2s;
  box-shadow:0 20px 50px rgba(31,39,64,0.14);z-index:100}
.nav-dd:hover .dd-panel{opacity:1;pointer-events:all;top:calc(100% + 6px)}
.dd-panel a{display:flex;align-items:center;gap:9px;padding:10px 12px;
  border-radius:8px;font-size:.8rem;color:var(--t2);font-weight:500}
.dd-panel a:hover,.dd-panel a.active-sub{background:var(--red-t);color:var(--text)}
.dd-icon{width:18px;text-align:center;flex-shrink:0}
.dd-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-right{display:flex;align-items:center;gap:10px}
/* Hamburger */
.hbg{display:none;flex-direction:column;gap:5px;padding:6px;
  cursor:pointer;z-index:10000;border:none;background:none}
.hbg span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:.28s}
.hbg.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hbg.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hbg.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
/* Mobile nav */
#mob-nav{display:none;position:fixed;inset:0;top:var(--nav-h);
  background:var(--dark);z-index:9998;overflow-y:auto;
  padding:20px 24px 48px;flex-direction:column;gap:0}
#mob-nav.open{display:flex}
#mob-nav a{display:block;padding:13px 0;font-size:.95rem;font-weight:500;
  color:var(--t2);border-bottom:1px solid var(--border);transition:.2s}
#mob-nav a:hover{color:var(--text);padding-left:6px}
#mob-nav a.mob-sub{padding:10px 0 10px 16px;font-size:.85rem;color:var(--t3)}
#mob-nav .mob-cta{margin-top:20px;text-align:center;border-bottom:none}

/* ── HOME HERO ──────────────────────────────────────────────── */
.home-hero{min-height:calc(100vh - var(--nav-h));display:flex;align-items:center;
  padding:60px 0;position:relative;overflow:hidden;background:var(--dark)}
.hero-2col{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;
  align-items:center;position:relative;z-index:1}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-img-col{position:relative}
.img-frame{position:relative;border-radius:18px;overflow:hidden;
  border:1px solid var(--border);height:460px}
.img-frame img{width:100%;height:100%;object-fit:cover}
.float-card-dash{position:absolute;background:rgba(10,10,20,.94);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(31,39,64,.1);border-radius:14px;padding:14px 16px;
  box-shadow:0 16px 40px rgba(31,39,64,0.14)}
.fc-bl{bottom:20px;left:16px;min-width:190px;animation:floaty 6s ease-in-out infinite}
.fc-tr{top:20px;right:16px;min-width:158px;animation:floaty 6s ease-in-out -3s infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.fc-lbl{font-size:.6rem;color:rgba(31,39,64,.4);text-transform:uppercase;
  letter-spacing:.08em;font-weight:700;margin-bottom:8px}
.fc-big{font-size:1.5rem;font-weight:900;font-family:'Manrope',sans-serif;
  background:linear-gradient(90deg,#BE4A57,#4A63A8);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.fc-micro{font-size:.62rem;color:rgba(31,39,64,.4);margin-top:2px}
.fc-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:6px}
.fc-badge{font-size:.68rem;font-weight:700;color:#0E8F52;background:rgba(14,143,82,.12);
  padding:2px 7px;border-radius:10px}
.fc-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.fc-mini{background:rgba(31,39,64,.04);border-radius:7px;padding:7px}
.fc-mini-l{font-size:.58rem;color:rgba(31,39,64,.3);margin-bottom:1px}
.fc-mini-v{font-size:.9rem;font-weight:800;font-family:'Manrope',sans-serif;color:#fff}
.fc-mini-v.g{color:#0E8F52}
.prog-bar{height:5px;background:rgba(31,39,64,.07);border-radius:5px;overflow:hidden;margin-top:7px}
.prog-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--red),var(--blue))}

/* ── HERO STATS ─────────────────────────────────────────────── */
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;background:var(--d2);margin-top:32px}
.hstat{padding:16px;text-align:center;border-right:1px solid var(--border);transition:var(--ease)}
.hstat:last-child{border-right:none}
.hstat-n{font-size:1.5rem;font-weight:900;font-family:'Manrope',sans-serif;margin-bottom:3px}
.r{color:var(--red)}.b{color:#4A63A8}
.hstat-l{font-size:.62rem;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* ── PAGE HERO (inner pages) ────────────────────────────────── */
.page-hero{padding:52px 0 48px;position:relative;overflow:hidden;
  background:var(--dark);border-bottom:1px solid var(--border)}
.page-hero .container,.page-hero .hero-2col{position:relative;z-index:1}
.page-hero h1{margin-bottom:14px;max-width:780px}
.page-hero .sub{margin-bottom:0;max-width:620px}
.hero-img{border-radius:16px;overflow:hidden;position:relative;
  border:1px solid var(--border);min-height:220px;max-height:280px}
.hero-img img{width:100%;height:100%;object-fit:cover;min-height:220px;max-height:280px}

/* ── BREADCRUMB — v9: standalone above container ─────────────── */
.breadcrumb{display:flex;align-items:center;gap:7px;
  font-size:.78rem;color:var(--t3);margin-bottom:14px;flex-wrap:wrap}
.breadcrumb a{color:var(--t3);transition:.2s}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb span{color:var(--t3)}
/* Breadcrumb wrapper — full-width above the section container */
.breadcrumb-wrap{width:100%;max-width:1200px;margin:0 auto;
  padding:16px 24px 0;position:relative;z-index:1}

/* ── BACKGROUNDS / DECORATIVE ───────────────────────────────── */
.grid-pattern{position:absolute;inset:0;
  background-image:linear-gradient(rgba(31,39,64,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,39,64,.012) 1px,transparent 1px);
  background-size:64px 64px;pointer-events:none;z-index:0}
.glow-r{position:absolute;top:-20%;right:-10%;width:60%;height:80%;
  background:radial-gradient(ellipse,rgba(190,74,87,.09),transparent 65%);
  pointer-events:none;z-index:0}
.glow-b{position:absolute;bottom:-20%;left:-10%;width:60%;height:80%;
  background:radial-gradient(ellipse,rgba(74,99,168,.07),transparent 65%);
  pointer-events:none;z-index:0}

/* ── KPI CARDS ──────────────────────────────────────────────── */
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.kpi-card{background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px 16px;position:relative;overflow:hidden;transition:var(--ease)}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--red),var(--blue))}
.kpi-card:hover{border-color:var(--br);transform:translateY(-2px)}
.kpi-lbl{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--t3);margin-bottom:8px}
.kpi-val{font-size:2rem;font-weight:900;font-family:'Manrope',sans-serif;line-height:1;
  margin-bottom:5px;background:linear-gradient(90deg,var(--red),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.kpi-delta{font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;
  gap:3px;padding:2px 7px;border-radius:20px}
.kpi-delta.up{background:rgba(14,143,82,.1);color:#0E8F52}
.kpi-sub{font-size:.72rem;color:var(--t3);margin-top:7px;line-height:1.5}

/* ── SVG CHARTS ─────────────────────────────────────────────── */
.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0}
.chart-wrap{background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 16px}
.chart-title{font-size:.82rem;font-weight:700;color:var(--text);margin-bottom:2px}
.chart-sub{font-size:.69rem;color:var(--t3);margin-bottom:14px}
.chart-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.legend-item{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--t3)}
.legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.chart-axis{stroke:rgba(31,39,64,.08);stroke-width:1;fill:none}
.chart-grid{stroke:rgba(31,39,64,.04);stroke-width:1;fill:none;stroke-dasharray:3 4}
.chart-bar-r{fill:var(--red);opacity:.85}
.chart-bar-b{fill:#4A63A8;opacity:.85}
.chart-line-r{stroke:var(--red);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.chart-line-b{stroke:#4A63A8;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.chart-dot{r:3.5;stroke-width:2}
.chart-dot-r{fill:var(--red);stroke:var(--d2)}
.chart-dot-b{fill:#4A63A8;stroke:var(--d2)}
.chart-lbl{font-size:9.5px;fill:var(--t3);font-family:'Inter',sans-serif}
.chart-val{font-size:11px;fill:var(--text);font-family:'Inter',sans-serif;font-weight:700}
.donut-bg{fill:none;stroke:rgba(31,39,64,.06);stroke-width:13}

/* ── OUTCOME CHIPS ──────────────────────────────────────────── */
.out-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.out-chip{padding:9px 16px;border-radius:40px;border:1px solid var(--border);
  font-size:.8rem;font-weight:500;color:var(--t2);
  display:flex;align-items:center;gap:7px;transition:var(--ease)}
.out-chip:hover{border-color:var(--br);color:var(--text)}
.chip-icon{flex-shrink:0}
.chip-icon svg{width:13px;height:13px;stroke:var(--red);fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ── FEATURE LIST ───────────────────────────────────────────── */
.feat-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.feat-item{display:flex;gap:10px;align-items:flex-start}
.feat-check{width:20px;height:20px;border-radius:50%;background:rgba(190,74,87,.1);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.feat-check svg{width:10px;height:10px;stroke:var(--red);fill:none;
  stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.feat-item p{font-size:.875rem;color:var(--t2);line-height:1.6}

/* ── DELIVERABLE CARDS ──────────────────────────────────────── */
.deliv-grid{display:flex;flex-direction:column;gap:10px}
.deliv-card{padding:18px;background:var(--d3);border-radius:var(--radius-s);
  border:1px solid var(--border)}
.deliv-card h4{font-size:.9rem;color:var(--text);margin-bottom:5px}
.deliv-card p{font-size:.835rem;color:var(--t2);line-height:1.6}

/* ── SERVICE PAGE LAYOUT ────────────────────────────────────── */
.svc-blocks{display:flex;flex-direction:column;gap:32px}
.svc-block{display:grid;grid-template-columns:220px 1fr;gap:36px;
  padding:32px;background:var(--d2);border-radius:var(--radius);
  border:1px solid var(--border);align-items:start}
.svc-block-left{display:flex;flex-direction:column;gap:10px}
.svc-num{font-size:.65rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--red);margin-bottom:4px}
.svc-block-left .card-icon{width:52px;height:52px;margin-bottom:6px}
.svc-block-left h2{font-size:1.1rem;line-height:1.3}
.svc-block-right>p{font-size:.925rem;color:var(--t2);margin-bottom:20px;line-height:1.7}
.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.svc-cols h4{font-size:.8rem;font-weight:700;color:#4A63A8;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}
.svc-list{display:flex;flex-direction:column;gap:5px}
.svc-list li{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--t2)}
.dot-r{width:4px;height:4px;border-radius:50%;background:var(--red);flex-shrink:0}

/* ── PROCESS STEPS ──────────────────────────────────────────── */
.steps-h{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;position:relative;margin-top:36px}
.steps-h::before{content:'';position:absolute;top:34px;left:8%;right:8%;
  height:2px;background:linear-gradient(90deg,var(--red),var(--blue));opacity:.3;z-index:0}
.step-h{text-align:center;position:relative;z-index:1;padding:0 8px}
.step-num{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;margin:0 auto 16px;font-size:1.15rem;font-weight:900;
  color:#fff;font-family:'Manrope',sans-serif}
.sn1{background:var(--red)}.sn2{background:#7c3aed}.sn3{background:var(--blue)}
.sn4{background:#0e7cbe}.sn5{background:#0d9e6e}
.step-h h4{font-size:.88rem;font-weight:800;margin-bottom:5px}
.step-h p{font-size:.76rem;color:var(--t3);line-height:1.55}

/* ── STAKEHOLDER GRID ───────────────────────────────────────── */
.stakeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stk-card{background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px;transition:var(--ease)}
.stk-card:hover{border-color:rgba(31,39,64,.14);transform:translateY(-2px)}
.stk-card h3{margin-bottom:8px}
.stk-card p{font-size:.875rem;color:var(--t2);line-height:1.6;margin-bottom:12px}

/* ── ENGAGEMENT GRID ────────────────────────────────────────── */
.eng-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.eng-card{background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);
  padding:22px;transition:var(--ease)}
.eng-card:hover{border-color:rgba(31,39,64,.14);transform:translateY(-2px)}
.eng-tag{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--red);background:rgba(190,74,87,.1);
  padding:3px 9px;border-radius:20px;margin-bottom:9px}
.eng-card h4{margin-bottom:7px}
.eng-card p{font-size:.86rem;color:var(--t2);line-height:1.6}
.em-tag{font-size:.7rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;padding:3px 10px;background:rgba(100,100,200,.1);
  border-radius:20px}

/* ── WHY CARDS ──────────────────────────────────────────────── */
.why-card{display:flex;gap:16px;padding:24px;background:var(--d2);
  border:1px solid var(--border);border-radius:var(--radius);transition:var(--ease)}
.why-card:hover{border-color:var(--bb);transform:translateY(-2px)}
.why-icon{width:44px;height:44px;border-radius:var(--radius-s);
  background:rgba(74,99,168,.1);display:flex;align-items:center;
  justify-content:center;flex-shrink:0}
.why-icon svg{width:20px;height:20px;stroke:#4A63A8;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.why-card h3{margin-bottom:6px}
.why-card p{font-size:.875rem;color:var(--t2);line-height:1.65}
.why-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}

/* ── INDUSTRIES ─────────────────────────────────────────────── */
.ind-grid{display:flex;flex-direction:column;gap:28px}
.ind-block{display:grid;grid-template-columns:320px 1fr;gap:0;
  background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;transition:var(--ease)}
.ind-block:hover{border-color:rgba(31,39,64,.14)}
.ind-img{position:relative;overflow:hidden;min-height:220px}
.ind-img img{width:100%;height:100%;object-fit:cover}
.ind-content{padding:28px 28px;display:flex;flex-direction:column;gap:8px}
.ind-content h3{margin-bottom:4px}
.ind-content p{font-size:.875rem;color:var(--t2);line-height:1.65;flex:1}
.ind-svcs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.ind-svc-link{padding:5px 12px;border-radius:20px;border:1px solid var(--border);
  font-size:.75rem;font-weight:600;color:var(--t2);transition:var(--ease)}
.ind-svc-link:hover{border-color:var(--br);color:var(--text);background:var(--red-t)}
.ind-chip{padding:8px 18px;border-radius:40px;border:1px solid var(--border);
  font-size:.84rem;font-weight:500;color:var(--t2);transition:var(--ease)}
.ind-chip:hover{color:var(--text);border-color:var(--red);background:var(--red-t)}
.ind-grid-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}

/* ── SEO / AEO / GEO KEYWORD TAGS ──────────────────────────── */
/* Contextual keyword/topic tags below service articles */
.kw-section{padding:16px 0 0}
.kw-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--t3);margin-bottom:10px}
.kw-tags{display:flex;flex-wrap:wrap;gap:6px}
.kw-tag{padding:5px 12px;border-radius:20px;border:1px solid rgba(31,39,64,.06);
  font-size:.74rem;font-weight:500;color:var(--t3);transition:var(--ease);
  background:rgba(31,39,64,.02)}
.kw-tag:hover{border-color:var(--br);color:var(--red)}

/* ── INSIGHTS ───────────────────────────────────────────────── */
.insight-card{background:var(--d2);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;transition:var(--ease);
  display:flex;flex-direction:column}
.insight-card:hover{transform:translateY(-3px);border-color:rgba(31,39,64,.14)}
.insight-img{height:160px;position:relative;overflow:hidden}
.insight-img img{width:100%;height:100%;object-fit:cover}
.insight-body{padding:20px 20px 12px;flex:1}
.insight-tag{font-size:.65rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--red);margin-bottom:3px}
.insight-date{font-size:.72rem;color:var(--t3);margin-bottom:8px}
.insight-body h3{font-size:.95rem;margin-bottom:8px}
.insight-body p{font-size:.84rem;color:var(--t2);line-height:1.6}
.insight-foot{padding:0 20px 18px}

/* ── CTA SECTION ────────────────────────────────────────────── */
.cta-sec{background:var(--black)}
.cta-banner{background:linear-gradient(135deg,rgba(74,99,168,.18),rgba(190,74,87,.08));
  border:1px solid var(--border);border-radius:var(--radius);
  padding:48px 40px;text-align:center}
.cta-banner h2{margin-bottom:10px}
.cta-banner p{font-size:1rem;color:var(--t2);max-width:480px;margin:0 auto 24px;line-height:1.7}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ── CONTACT ────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}
.cinfo-list{display:flex;flex-direction:column;gap:16px}
.cinfo-item{display:flex;gap:14px;align-items:flex-start}
.cinfo-icon{width:38px;height:38px;border-radius:var(--radius-s);
  background:var(--red-t);border:1px solid var(--br);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cinfo-icon svg{width:16px;height:16px;stroke:var(--red);fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cinfo-item h4{font-size:.85rem;margin-bottom:2px}
.cinfo-item p,.cinfo-item a{font-size:.84rem;color:var(--t2);line-height:1.6}
.cinfo-item a:hover{color:var(--red)}

/* ── FORMS ──────────────────────────────────────────────────── */
.contact-form{background:var(--d2);border:1px solid var(--border);
  border-radius:var(--radius);padding:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.fg label{font-size:.72rem;font-weight:700;color:var(--t3);
  text-transform:uppercase;letter-spacing:.07em}
.req{color:var(--red)}
.fg input,.fg select,.fg textarea{
  background:var(--d3);border:1px solid var(--border);border-radius:var(--radius-s);
  padding:11px 14px;color:var(--text);font-size:.875rem;
  font-family:'Inter',sans-serif;transition:.25s;outline:none;width:100%}
.fg input::placeholder,.fg textarea::placeholder{color:var(--t3)}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--red);background:rgba(190,74,87,.04);
  box-shadow:0 0 0 3px rgba(190,74,87,.08)}
.fg select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237B85A3' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center}
.fg select option{background:var(--d3)}
.fg textarea{resize:vertical;min-height:100px}
.form-note{font-size:.72rem;color:var(--t3);margin-top:12px;text-align:center}
.form-note a{color:var(--blue);text-decoration:underline}
.fg.has-error input,.fg.has-error textarea,.fg.has-error select{border-color:var(--red)}
.field-error{font-size:.72rem;color:var(--red);font-weight:600}
.form-success{text-align:center;padding:32px 20px}
.form-success h3{margin-bottom:8px}
.form-success p{font-size:.9rem;color:var(--t2)}

/* ── FRAMEWORK CHIPS (cyber) ────────────────────────────────── */
.framework-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.fw-chip{padding:7px 14px;background:var(--d3);border:1px solid var(--border);
  border-radius:40px;font-size:.82rem;font-weight:600;color:var(--text);
  transition:var(--ease)}
.fw-chip:hover{border-color:var(--br);color:var(--red)}

/* ── SITEMAP ────────────────────────────────────────────────── */
.sitemap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.sitemap-col{display:flex;flex-direction:column;gap:7px}
.sitemap-col h4{margin-bottom:4px;font-size:.88rem}
.sitemap-col a{font-size:.82rem;color:var(--t3);transition:.2s}
.sitemap-col a:hover{color:var(--text);padding-left:3px}
.sitemap-col a.sub{padding-left:12px;font-size:.78rem;border-left:2px solid rgba(31,39,64,.07)}

/* ── LEGAL ──────────────────────────────────────────────────── */
.legal-body{max-width:720px;margin:0 auto}
.legal-body h2{font-size:1.1rem;margin:32px 0 10px;padding-top:10px;
  border-top:1px solid var(--border)}
.legal-body p{font-size:.9rem;color:var(--t2);margin-bottom:12px;line-height:1.75}
.legal-body ul{display:flex;flex-direction:column;gap:6px;margin:10px 0 12px 18px}
.legal-body ul li{font-size:.9rem;color:var(--t2);list-style:disc}
.legal-body a{color:#4A63A8;text-decoration:underline}
.legal-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:.8rem;
  color:var(--t3);margin-bottom:22px;padding:14px;
  background:var(--d3);border-radius:var(--radius-s)}

/* ── 404 ────────────────────────────────────────────────────── */
.err-section{min-height:calc(100vh - var(--nav-h));display:flex;
  align-items:center;justify-content:center;padding:40px 24px;text-align:center}
.err-inner{max-width:520px;width:100%}
.err-code{display:block;font-size:clamp(5rem,12vw,9rem);font-weight:900;
  font-family:'Manrope',sans-serif;color:rgba(31,39,64,.04);line-height:1;margin-bottom:-16px}
.err-div{width:48px;height:3px;background:var(--red);border-radius:2px;margin:20px auto 24px}
.err-section h1{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:12px}
.err-section p{color:var(--t2);margin-bottom:28px;max-width:400px;margin-left:auto;margin-right:auto}
.err-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.err-links{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.err-links a{font-size:.78rem;color:var(--t3);padding:5px 12px;
  border:1px solid var(--border);border-radius:20px;transition:var(--ease)}
.err-links a:hover{color:var(--text);border-color:rgba(31,39,64,.3)}

/* ── FOOTER ─────────────────────────────────────────────────── */
footer{background:var(--d2);border-top:1px solid var(--border);padding:52px 24px 28px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;max-width:1200px;margin:0 auto 40px}
.footer-logo{height:32px;width:auto;margin-bottom:3px}
.footer-tagline{font-size:.65rem;font-weight:800;color:var(--t3);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.footer-desc{font-size:.8rem;color:var(--t3);line-height:1.7;max-width:260px;margin-bottom:18px}
.f-social{display:flex;gap:8px}
.f-soc{width:34px;height:34px;border-radius:8px;background:var(--red-t);
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  font-size:.76rem;font-weight:700;color:var(--t2);transition:var(--ease);text-decoration:none}
.f-soc:hover{border-color:var(--br);color:var(--red)}
.f-heading{font-size:.68rem;font-weight:800;color:var(--text);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.f-links{display:flex;flex-direction:column;gap:8px}
.f-links a{font-size:.8rem;color:var(--t3);transition:.2s}
.f-links a:hover{color:var(--text);padding-left:3px}
.footer-bottom{max-width:1200px;margin:0 auto;border-top:1px solid var(--border);
  padding-top:22px;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px}
.footer-copy{font-size:.76rem;color:var(--t3)}
.f-legal{display:flex;gap:16px}
.f-legal a{font-size:.76rem;color:var(--t3);transition:.2s}
.f-legal a:hover{color:var(--text)}

/* ── BACK TO TOP ────────────────────────────────────────────── */
.back-top{position:fixed;bottom:24px;right:24px;width:40px;height:40px;
  border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity var(--ease),transform var(--ease);
  z-index:200;cursor:pointer}
.back-top.vis{opacity:1;pointer-events:auto}
.back-top:hover{transform:translateY(-3px);background:var(--red-d)}
.back-top svg{width:16px;height:16px;stroke:#fff;fill:none;
  stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ══ RESPONSIVE ═════════════════════════════════════════════════ */
@media(max-width:1100px){
  .hero-2col{grid-template-columns:1fr}
  .img-frame{height:340px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
  .steps-h{grid-template-columns:1fr}
  .steps-h::before{display:none}
  .svc-block{grid-template-columns:1fr}
  .ind-block{grid-template-columns:1fr}
}
@media(max-width:900px){
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stakeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eng-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sitemap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ind-block{grid-template-columns:1fr}
  .ind-img{min-height:200px}
  .contact-grid{grid-template-columns:1fr}
  .img-txt-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav-links,.nav-right{display:none}
  .hbg{display:flex}
  .sec{padding:34px 0}
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .img-txt-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .form-row{grid-template-columns:1fr}
  .cta-banner{padding:32px 20px}
  .cta-btns{flex-direction:column;align-items:center}
  .hero-btns{flex-direction:column;align-items:flex-start}
  .home-hero{padding:40px 0}
  .img-frame{height:300px}
  .fc-bl{left:12px;min-width:170px}
  .fc-tr{right:12px;min-width:140px}
  .svc-cols{grid-template-columns:1fr}
  .dash-grid{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stakeholder-grid{grid-template-columns:1fr}
  .eng-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .container{padding:0 16px}
  .kpi-grid{grid-template-columns:1fr 1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
  .sitemap-grid{grid-template-columns:1fr}
  .kpi-val{font-size:1.6rem}
}

/* ── v10 ADDITIONS ──────────────────────────────────────────── */

/* ── SEARCH BUTTON IN NAV ───────────────────────────────────── */
.nav-search-btn{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:8px;
  background:rgba(31,39,64,.04);border:1px solid var(--border);
  color:var(--t2);cursor:pointer;transition:var(--ease);
  font-size:.75rem;flex-shrink:0
}
.nav-search-btn:hover{border-color:var(--br);color:var(--red);background:var(--red-t)}
.nav-search-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Mobile search button */
.mob-search-btn{display:flex;align-items:center;gap:9px;
  padding:13px 0;font-size:.95rem;font-weight:500;
  color:var(--t2);border-bottom:1px solid var(--border);
  width:100%;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none;
  font-family:'Inter',sans-serif}
.mob-search-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ── SEARCH OVERLAY ─────────────────────────────────────────── */
#searchOverlay{
  position:fixed;inset:0;z-index:99999;
  background:rgba(8,8,14,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  opacity:0;pointer-events:none;transition:.22s ease;
  display:flex;flex-direction:column;align-items:center;padding:80px 24px 40px
}
#searchOverlay.open{opacity:1;pointer-events:all}
.search-box-wrap{width:100%;max-width:680px;position:relative;margin-bottom:24px}
.search-input-row{display:flex;align-items:center;gap:0;
  background:rgba(31,39,64,.05);border:1px solid rgba(31,39,64,.14);
  border-radius:14px;overflow:hidden;transition:.2s}
.search-input-row:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(190,74,87,.12)}
.search-icon-left{padding:0 16px;flex-shrink:0}
.search-icon-left svg{width:18px;height:18px;stroke:var(--t3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#searchInput{flex:1;background:transparent;border:none;outline:none;
  font-size:1.05rem;color:var(--text);padding:16px 0;
  font-family:'Inter',sans-serif;line-height:1}
#searchInput::placeholder{color:var(--t3)}
.search-close-btn{padding:0 16px;cursor:pointer;color:var(--t3);flex-shrink:0;
  font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  background:none;border:none;font-family:'Inter',sans-serif;transition:.2s}
.search-close-btn:hover{color:var(--text)}
.search-scope-note{font-size:.7rem;color:var(--t3);text-align:center;margin-bottom:20px}
.search-scope-note span{color:var(--red);font-weight:700}

/* Prompts */
.search-prompt-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--t3);margin-bottom:10px}
.search-prompt-chips{display:flex;flex-wrap:wrap;gap:7px}
.search-prompt-chip{padding:7px 14px;border-radius:24px;border:1px solid var(--border);
  font-size:.8rem;color:var(--t2);background:rgba(31,39,64,.02);
  cursor:pointer;transition:var(--ease);font-family:'Inter',sans-serif}
.search-prompt-chip:hover{border-color:var(--br);color:var(--text);background:var(--red-t)}

/* Results */
.search-results-area{width:100%;max-width:680px;overflow-y:auto;max-height:calc(100vh - 240px)}
.search-results-label{font-size:.72rem;color:var(--t3);margin-bottom:10px;padding:0 4px}
.search-result-item{display:flex;flex-direction:column;gap:3px;
  padding:14px 16px;border-radius:10px;border:1px solid var(--border);
  background:rgba(31,39,64,.02);margin-bottom:8px;
  text-decoration:none;transition:var(--ease);color:inherit}
.search-result-item:hover{border-color:var(--br);background:var(--red-t)}
.sri-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:2px 8px;border-radius:10px;margin-bottom:3px}
.sri-title{font-size:.95rem;font-weight:600;color:var(--text)}
.sri-url{font-size:.72rem;color:var(--t3)}
.search-no-results{padding:24px;text-align:center;color:var(--t2);font-size:.9rem}
.search-no-results a{color:var(--red)}

/* ── ASSOCIATE PAGE STYLES ──────────────────────────────────── */
.assoc-hero-badge{display:inline-flex;align-items:center;gap:8px;
  background:rgba(109,79,192,.08);border:1px solid rgba(109,79,192,.3);
  color:#6D4FC0;padding:6px 16px;border-radius:50px;font-size:.72rem;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.assoc-hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;
  background:#6D4FC0;animation:blink 2s infinite}

/* Multi-step form */
.assoc-form-wrap{background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;max-width:760px;margin:0 auto}
.form-progress-bar-wrap{margin-bottom:28px}
.form-progress-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.form-progress-label{font-size:.72rem;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.08em}
.form-progress-pct{font-size:.72rem;color:var(--red);font-weight:700}
.form-progress-track{height:4px;background:rgba(31,39,64,.07);border-radius:4px;overflow:hidden}
.form-progress-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--blue));
  border-radius:4px;transition:width .4s ease}

.form-step{display:none}
.form-step.active{display:block}
.form-step-title{font-size:1.05rem;font-weight:700;margin-bottom:4px}
.form-step-sub{font-size:.85rem;color:var(--t2);margin-bottom:20px}

/* Checkbox grid for domain expertise */
.cb-group{margin-bottom:16px}
.cb-group-label{font-size:.72rem;font-weight:700;color:var(--t3);
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}
.cb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.cb-item{display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:var(--d3);border:1px solid var(--border);border-radius:var(--radius-s);
  cursor:pointer;transition:var(--ease)}
.cb-item:hover{border-color:rgba(31,39,64,.18)}
.cb-item input[type=checkbox]{
  width:16px;height:16px;accent-color:var(--red);cursor:pointer;flex-shrink:0}
.cb-item input[type=checkbox]:checked+.cb-label{color:var(--text)}
.cb-item:has(input:checked){border-color:var(--br);background:var(--red-t)}
.cb-label{font-size:.85rem;color:var(--t2);font-weight:500;line-height:1.4}
.cb-error{font-size:.72rem;color:var(--red);margin-top:6px;display:none}

/* Radio options */
.radio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}
.radio-item{display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:var(--d3);border:1px solid var(--border);border-radius:var(--radius-s);
  cursor:pointer;transition:var(--ease)}
.radio-item:hover{border-color:rgba(31,39,64,.18)}
.radio-item input[type=radio]{accent-color:var(--red);cursor:pointer;flex-shrink:0}
.radio-item:has(input:checked){border-color:var(--br);background:var(--red-t)}
.radio-label{font-size:.85rem;color:var(--t2)}

/* Form step nav */
.form-step-nav{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:24px;
  padding-top:20px;border-top:1px solid var(--border)}
.step-counter{font-size:.75rem;color:var(--t3);font-weight:600}

/* Associate benefits sidebar */
.assoc-benefits{display:flex;flex-direction:column;gap:14px}
.assoc-benefit{display:flex;gap:14px;padding:18px;
  background:var(--d2);border:1px solid var(--border);border-radius:var(--radius-s)}
.ab-icon{width:38px;height:38px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center}
.ab-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ab-icon.purple{background:rgba(109,79,192,.1);color:#6D4FC0;border:1px solid rgba(109,79,192,.2)}
.ab-icon.red{background:var(--red-t);color:var(--red);border:1px solid var(--br)}
.ab-icon.blue{background:var(--blue-t);color:#4A63A8;border:1px solid var(--bb)}
.ab-icon.green{background:rgba(52,211,153,.1);color:#0E8F52;border:1px solid rgba(52,211,153,.2)}
.ab-body h4{font-size:.88rem;margin-bottom:4px}
.ab-body p{font-size:.8rem;color:var(--t2);line-height:1.6}

/* Associate hero layout */
.assoc-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.assoc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;background:var(--d2);margin-top:28px}
.assoc-stat{padding:16px;text-align:center;border-right:1px solid var(--border)}
.assoc-stat:last-child{border-right:none}
.assoc-stat-n{font-size:1.4rem;font-weight:900;font-family:'Manrope',sans-serif;
  background:linear-gradient(90deg,#6D4FC0,var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:3px}
.assoc-stat-l{font-size:.62rem;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* Associate testimonials / profiles */
.assoc-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px}
.assoc-profile{background:var(--d2);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px;text-align:center;transition:var(--ease)}
.assoc-profile:hover{border-color:rgba(109,79,192,.3);transform:translateY(-2px)}
.ap-avatar{width:52px;height:52px;border-radius:50%;margin:0 auto 12px;
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;
  font-family:'Manrope',sans-serif;color:#fff}
.ap-avatar.red{background:linear-gradient(135deg,var(--red),#7c3aed)}
.ap-avatar.blue{background:linear-gradient(135deg,var(--blue),#0e7cbe)}
.ap-avatar.green{background:linear-gradient(135deg,#0d9e6e,#0e7cbe)}
.ap-name{font-size:.88rem;font-weight:700;margin-bottom:2px}
.ap-role{font-size:.76rem;color:var(--t3);margin-bottom:8px}
.ap-domains{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}
.ap-domain{font-size:.66rem;padding:2px 8px;border-radius:10px;
  background:rgba(31,39,64,.04);border:1px solid var(--border);color:var(--t3)}

/* Process steps (associate) */
.assoc-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  position:relative;margin-top:32px}
.assoc-process::before{content:'';position:absolute;top:28px;left:12%;right:12%;
  height:2px;background:linear-gradient(90deg,#6D4FC0,var(--blue));opacity:.3;z-index:0}
.ap-step{text-align:center;position:relative;z-index:1;padding:0 8px}
.ap-step-num{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;margin:0 auto 14px;font-size:1rem;font-weight:900;
  color:#fff;font-family:'Manrope',sans-serif;background:linear-gradient(135deg,#6D4FC0,var(--blue))}
.ap-step h4{font-size:.82rem;font-weight:800;margin-bottom:4px}
.ap-step p{font-size:.74rem;color:var(--t3);line-height:1.5}

/* Associate form grid */
.assoc-form-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:start}

/* Highlight domain tags for associate page */
.domain-highlight{display:inline-flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.dh-tag{padding:5px 12px;border-radius:20px;font-size:.76rem;font-weight:600;
  background:rgba(109,79,192,.08);border:1px solid rgba(109,79,192,.2);color:#6D4FC0}

/* form-success for associate */
.assoc-success{text-align:center;padding:40px 20px}
.assoc-success .success-icon{font-size:2.5rem;margin-bottom:14px}
.assoc-success h3{margin-bottom:10px}
.assoc-success p{font-size:.9rem;color:var(--t2);max-width:440px;margin:0 auto;line-height:1.7}

/* ── NAV ASSOCIATE LINK ──────────────────────────────────────── */
/* shown in footer under Company */

/* ── RESPONSIVE — v10 additions ─────────────────────────────── */
@media(max-width:900px){
  .assoc-form-grid{grid-template-columns:1fr}
  .assoc-hero-grid{grid-template-columns:1fr}
  .cb-grid{grid-template-columns:1fr}
  .radio-grid{grid-template-columns:1fr}
  .assoc-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assoc-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assoc-process::before{display:none}
}
@media(max-width:600px){
  .assoc-profiles{grid-template-columns:1fr}
  .assoc-process{grid-template-columns:1fr}
  .assoc-form-wrap{padding:20px}
  #searchOverlay{padding:60px 16px 24px}
  .search-prompt-chips{gap:5px}
  .search-prompt-chip{font-size:.74rem;padding:6px 11px}
}

/* ══════════════════════════════════════════════════════════════
   v11 ADDITIONS — dropdown persistence, deliverables grid,
   3D hero media, layout balance & spacing polish
   ══════════════════════════════════════════════════════════════ */

/* Desktop Services dropdown: stays open on click (hover still works) */
.nav-dd.dd-open .dd-panel{opacity:1;pointer-events:all;top:calc(100% + 6px)}
.nav-dd-label{cursor:pointer}

/* Key Deliverables — standalone full-width grid, auto-fills the row
   (2 cards → 2 equal columns, 3 cards → 3 columns; no dead space) */
.deliv-grid-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.deliv-grid-row .deliv-card{height:100%;display:flex;flex-direction:column;gap:8px;
  padding:22px;background:var(--d3);border:1px solid var(--border);
  border-radius:var(--radius-s)}
.deliv-grid-row .deliv-card h4{font-size:1rem}
.deliv-grid-row .deliv-card p{font-size:.87rem;color:var(--t2);line-height:1.65}
@media(max-width:640px){.deliv-grid-row{grid-template-columns:1fr}}

/* 3D hero canvas — GPU-light animated network (replaces heavy video) */
canvas.hero3d{display:block;width:100%;height:100%;background:
  radial-gradient(120% 120% at 70% 20%,rgba(74,99,168,.28),transparent 60%),
  radial-gradient(120% 120% at 20% 85%,rgba(190,74,87,.22),transparent 55%),
  var(--dark, #F6F7FA)}
.hero3d-overlay{position:absolute;inset:0;z-index:1;mix-blend-mode:screen;
  background:transparent;pointer-events:none}
.hero-img-compact{max-height:300px;min-height:240px}
.hero-img-compact img{min-height:240px;max-height:300px}

/* img-txt sections — image fills the full column height */
.img-col{display:flex}
.img-col img{flex:1;min-height:100%}

/* Section rhythm — remove double padding between adjacent tinted blocks */
.sec .ctr{margin-top:26px}
.breadcrumb-wrap{padding-top:2px}

/* Insight cards — enforce identical media size across all cards */
.insight-img{height:170px}
.insight-img img{width:100%;height:100%;object-fit:cover;display:block}

/* Associate strip — stack cleanly on mobile */
@media(max-width:720px){
  section[aria-label="Associate with TEdgeOne"] .container>div{grid-template-columns:1fr !important}
}

/* Form status messages */
.form-error-box{margin-top:14px;padding:14px 16px;border:1px solid rgba(190,74,87,.4);
  background:rgba(190,74,87,.08);border-radius:10px;font-size:.85rem;color:var(--t2)}
.form-error-box a{color:var(--red);text-decoration:underline}

/* v12 — globe hero canvas sizing inside page-hero frames */
.hero-img canvas.hero3d{height:280px;min-height:240px}
.hero-img-compact canvas.hero3d{height:280px}
.ind-img img,.insight-img img{background:#FFFFFF}

/* v14 — hard frame containment for all media (nothing can escape its frame) */
img{max-width:100%}
.hero-img img,.img-col img,.ind-img img,.insight-img img{
  display:block;width:100%;height:100%;object-fit:cover}
.ind-img{min-height:220px;max-height:300px}
.hero-img,.hero-img-compact{max-height:300px}
.img-col{min-height:280px;max-height:560px}

/* v15 — themed scene canvases inside img-col frames */
.img-col canvas.te-scene{display:block;width:100%;height:100%;min-height:300px;
  background:linear-gradient(135deg,#FFFFFF,#F0F2F7)}
@media(max-width:900px){.img-col canvas.te-scene{min-height:260px;height:280px}}

/* v16 — edge-to-edge media fitment across all frames */
.page-hero .hero-2col{align-items:stretch}
.hero-img,.hero-img-compact{height:auto;max-height:340px;min-height:250px}
.hero-img img,.hero-img canvas.hero3d,.hero-img canvas.te-scene{
  display:block;width:100%;height:100%;min-height:250px;max-height:340px;object-fit:cover}
.img-txt-grid .img-col{max-height:none;height:auto}
.img-col img,.img-col canvas.te-scene{width:100%;height:100%;min-height:300px;object-fit:cover}
.ind-img{height:100%;min-height:220px;max-height:none}
.ind-img img{width:100%;height:100%;object-fit:cover;display:block}
.insight-img{height:180px}
.insight-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){
  .hero-img,.hero-img-compact{min-height:230px;max-height:280px}
  .hero-img img,.hero-img canvas.hero3d,.hero-img canvas.te-scene{min-height:230px;max-height:280px}
}

/* ══════════════════════════════════════════════════════════════
   v18 — uniform hero media, type scale, scene canvases, forms
   ══════════════════════════════════════════════════════════════ */

/* 3) Every page-hero 3D frame identical in size */
.page-hero .hero-img,.page-hero .hero-img-compact{
  height:320px;min-height:320px;max-height:320px}
.page-hero .hero-img canvas,.page-hero .hero-img img{
  display:block;width:100%;height:100%;min-height:320px;max-height:320px;object-fit:cover}
@media(max-width:900px){
  .page-hero .hero-img,.page-hero .hero-img-compact,
  .page-hero .hero-img canvas,.page-hero .hero-img img{
    height:260px;min-height:260px;max-height:260px}
}

/* 1–2) Scene canvases stretch to fill every frame type */
.ind-img canvas.te-scene,.insight-img canvas.te-scene{
  display:block;width:100%;height:100%}
.ind-img{min-height:220px}
.insight-img{height:180px}
.img-col canvas.te-scene{min-height:300px}

/* 4) Type-scale consistency across every page */
.page-hero h1,.home-hero h1{font-family:'Manrope',sans-serif;font-weight:800;
  font-size:clamp(2.1rem,4.6vw,3.1rem);line-height:1.12;color:var(--text)}
.sec-hdr h2{font-family:'Manrope',sans-serif;font-weight:800;
  font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2;color:var(--text)}
.page-hero .hero-sub,.page-hero p{font-size:1.02rem;line-height:1.75;color:var(--t2)}
.sec-hdr p{font-size:.95rem;line-height:1.7;color:var(--t2)}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
h3{font-family:'Manrope',sans-serif;font-weight:700;color:var(--text)}
.card p,.deliv-card p,.why-card p{font-size:.88rem;line-height:1.65;color:var(--t2)}

/* 5) Careers multi-select expertise chips */
.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:8px}
.exp-chip{min-width:0}
.exp-chip .cb-label{white-space:normal;overflow-wrap:anywhere}
.exp-err{display:none;margin-top:8px;font-size:.8rem;color:var(--red)}

/* 7) Associate radios: contained, wrapped, consistent typography */
.radio-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.radio-item{align-items:flex-start;min-width:0;padding:10px 12px}
.radio-item input[type=radio]{margin-top:3px}
.radio-label{font-size:.85rem;line-height:1.45;color:var(--t2);font-weight:500;
  white-space:normal;overflow-wrap:anywhere;min-width:0}
.radio-item:has(input:checked){border-color:var(--br);background:var(--red-t)}
.radio-item:has(input:checked) .radio-label{color:var(--text)}
.cb-item{min-width:0;align-items:flex-start}
.cb-item input[type=checkbox]{margin-top:3px}
.cb-label{white-space:normal;overflow-wrap:anywhere;min-width:0}

/* ══════════════════════════════════════════════════════════════
   v21 — associate form: compact radio/checkbox items
   ══════════════════════════════════════════════════════════════ */
/* Radio grids: 2 columns, items sized to content (not stretched to row height) */
#associateForm .radio-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
  grid-auto-rows:min-content;margin-bottom:14px;align-items:start}
#associateForm .cb-grid{grid-auto-rows:min-content;align-items:start}

/* Each radio/checkbox item: compact box, radio+label side by side */
#associateForm .radio-item,#associateForm .cb-item{
  display:flex;flex-direction:row;align-items:flex-start;gap:8px;
  padding:10px 12px;min-width:0;border-radius:8px;
  background:var(--d3);border:1px solid var(--border);
  cursor:pointer;transition:var(--ease);height:auto}

/* Radio/checkbox inputs: identical size, shape, and alignment */
#associateForm .radio-item input[type=radio],
#associateForm .cb-item input[type=checkbox]{
  width:16px !important;height:16px !important;
  min-width:16px !important;max-width:16px !important;
  min-height:16px !important;max-height:16px !important;
  margin:2px 0 0 0 !important;padding:0 !important;box-sizing:border-box !important;
  flex:0 0 16px !important;cursor:pointer;display:block !important;
  -webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;
  border:2px solid var(--border) !important;border-radius:4px;background:transparent;
  position:relative;transition:border-color .15s,background .15s}
#associateForm .radio-item input[type=radio]{border-radius:50%}
#associateForm .radio-item input[type=radio]:checked,
#associateForm .cb-item input[type=checkbox]:checked{
  border-color:var(--red);background:var(--red)}
#associateForm .radio-item input[type=radio]:checked::after,
#associateForm .cb-item input[type=checkbox]:checked::after{
  content:'';position:absolute;display:block}
#associateForm .cb-item input[type=checkbox]:checked::after{
  left:4px;top:1px;width:5px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
#associateForm .radio-item input[type=radio]:checked::after{
  left:3px;top:3px;width:6px;height:6px;
  background:#fff;border-radius:50%}

/* Label text: same size for both radio and checkbox, wraps naturally */
#associateForm .cb-label,#associateForm .radio-label{
  font-size:.73rem;line-height:1.5;font-weight:500;color:var(--t2);
  white-space:normal;overflow-wrap:anywhere;word-break:break-word;
  min-width:0;display:block}

/* Selected state */
#associateForm .radio-item:has(input:checked),
#associateForm .cb-item:has(input:checked){border-color:var(--br);background:var(--red-t)}
#associateForm .radio-item:has(input:checked) .radio-label,
#associateForm .cb-item:has(input:checked) .cb-label{color:var(--text)}
#associateForm .radio-item:hover,
#associateForm .cb-item:hover{border-color:rgba(31,39,64,.18)}

@media(max-width:640px){
  #associateForm .radio-grid,#associateForm .cb-grid{grid-template-columns:1fr}
  #associateForm .cb-label,#associateForm .radio-label{font-size:.75rem}
}

/* v20 — bot-block notice */
.bot-block-box{margin-top:14px;padding:14px 16px;border:1px solid rgba(190,74,87,.55);
  background:rgba(190,74,87,.1);border-radius:10px;font-size:.85rem;color:var(--t2);line-height:1.6}
.bot-block-box strong{color:var(--text)}
.bot-block-box a{color:var(--red);text-decoration:underline}

/* v21 — force form groups to shrink-wrap, not stretch to fill step height */
#associateForm .fg{flex:0 0 auto}


/* =========================================================================
   TEdgeOne LIGHT v14  centralized adjustments
   (color scheme + requested display fixes  no layout/size changes)
   ========================================================================= */

/* --- Body / base surfaces stay crisp on light --- */
body{background:var(--black);color:var(--text)}
::-webkit-scrollbar-track{background:var(--d3)}

/* --- (12) Remove breadcrumb reference text above every hero heading --- */
.breadcrumb-wrap,.breadcrumb{display:none !important}

/* --- (13) Hero content starts at the same place on every page ---
   With the breadcrumb gone we normalise the page-hero top padding so the
   eyebrow/H1 begin on an identical line across all inner pages. */
.page-hero{padding-top:52px !important}
.page-hero .hero-2col,.page-hero .container{margin-top:0 !important}

/* --- (10) Remove director@tedgeone.com from footer display (all pages) ---
   Mail backend (form-config.php / JSON-LD contact schema) is untouched. */
.f-links a[href^="mailto:"]{display:none !important}

/* --- (14) Associate hero badge matches the standard page eyebrow --- */
.assoc-hero-badge{
  background:var(--red-t) !important;
  border:1px solid var(--br) !important;
  color:var(--red) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:.72rem !important;font-weight:700 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;
}
.assoc-hero-badge::before{background:var(--red) !important}

/* --- (7,8) Logo colour scheme + single-stroke BOLD tagline ---
   Footer tagline text rendered bold, single weight, brand letter-spacing. */
.footer-tagline{
  font-weight:800 !important;              /* single-stroke bold */
  color:rgba(255,255,255,.55) !important;
  letter-spacing:.16em !important;
  -webkit-text-stroke:0 !important;text-shadow:none !important;
}
/* Text-logo fallback classes (used if nav/footer switch img->text) */
.nav-logo .lg-red{color:var(--red);font-family:'Manrope',sans-serif;font-weight:800}
.nav-logo .lg-blue{color:var(--blue);font-family:'Manrope',sans-serif;font-weight:800;margin-left:.28em}
.nav-logo .lg-tag{display:block;font-family:'Inter',sans-serif;font-size:.5rem;font-weight:800;
  letter-spacing:.22em;color:var(--t3);margin-top:2px}

/* --- FOOTER stays dark (matches reference light variant) --- */
footer{background:var(--text);border-top:1px solid rgba(255,255,255,.10)}
footer .f-heading{color:#fff}
footer .footer-desc,footer .f-links a,footer .footer-copy,footer .f-legal a{color:rgba(255,255,255,.65)}
footer .f-links a:hover,footer .f-legal a:hover{color:#fff}
footer .footer-bottom{border-top:1px solid rgba(255,255,255,.10)}
footer .f-soc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75)}
footer .f-soc:hover{border-color:#E77985;color:#E77985}
footer .nav-logo .lg-red{color:#E77985}
footer .nav-logo .lg-blue{color:#7B92CC}
footer .nav-logo .lg-tag{color:rgba(255,255,255,.5)}

/* --- (4) 3D animation frames: light backdrops (content/size unchanged) --- */
canvas.hero3d{background:
  radial-gradient(120% 120% at 70% 20%,rgba(74,99,168,.12),transparent 60%),
  radial-gradient(120% 120% at 20% 85%,rgba(190,74,87,.10),transparent 55%),
  var(--dark,#FFFFFF)}
.img-col canvas.te-scene{background:linear-gradient(135deg,#FFFFFF,#F0F2F7)}
@media(max-width:900px){.img-col canvas.te-scene{background:linear-gradient(135deg,#FFFFFF,#F0F2F7)}}
.ind-img img,.insight-img img{background:#F0F2F7}
.img-overlay{background:linear-gradient(135deg,rgba(190,74,87,.06),rgba(74,99,168,.06))}

/* --- Nav / cards read correctly on light --- */
#nav{background:rgba(246,247,250,.82);border-bottom:1px solid var(--border)}
#nav.scrolled{background:rgba(246,247,250,.96);box-shadow:0 4px 24px rgba(31,39,64,.08)}
#mob-nav{background:var(--dark)}
.card,.kpi-card,.eng-card,.stk-card,.why-card,.insight-card,.svc-block,.ind-block,
.contact-form,.assoc-form-wrap,.chart-wrap,.assoc-benefit,.assoc-profile,.hero-stats,.assoc-stats{
  background:var(--d2)}
.deliv-card,.fg input,.fg select,.fg textarea,.cb-item,.radio-item,.fw-chip,.legal-meta{
  background:var(--d3)}
.eyebrow-b{color:var(--blue)}
.eyebrow-b::before{background:var(--blue)}
.b,.hstat-n.b{color:var(--blue)}

/* =========================================================================
   TEdgeOne LIGHT v15 adjustments
   (home floating blocks, nav menu highlight+animation, light footer)
   ========================================================================= */

/* --- (1) Home hero floating blocks: light surface, readable content --- */
.float-card-dash{
  background:#FFFFFF !important;
  border:1px solid var(--border) !important;
  box-shadow:0 14px 36px rgba(31,39,64,.12) !important;
}
.fc-lbl,.fc-micro,.fc-mini-l{color:var(--t3) !important}
.fc-mini{background:var(--d3) !important;border:1px solid var(--border)}
.fc-mini-v{color:var(--text) !important}
.fc-mini-v.g{color:#0E8F52 !important}
.fc-badge{color:#0E8F52 !important;background:rgba(14,143,82,.12) !important}
.prog-bar{background:rgba(31,39,64,.08) !important}

/* --- (4) Main menu: brand highlight + animated underline on hover/active --- */
.nav-links>a,.nav-dd-label{transition:color .22s ease, transform .22s ease}
.nav-links>a::after,.nav-dd-label::after{
  left:50%;transform:translateX(-50%);bottom:-3px;width:0;height:2px;
  background:linear-gradient(90deg,var(--red),var(--blue));border-radius:2px;
  transition:width .26s cubic-bezier(.4,0,.2,1);
}
.nav-links>a:hover,.nav-dd-label:hover,
.nav-links>a.active,.nav-dd-label.active{color:var(--red);transform:translateY(-1px)}
.nav-links>a:hover::after,.nav-dd-label:hover::after,
.nav-links>a.active::after,.nav-dd-label.active::after{width:100%}
.nav-links>a.active{font-weight:600}
/* keep the CTA buttons unaffected by the link treatment */
.nav-links>a.btn:hover,.nav-links>a.btn.active{color:#fff;transform:translateY(-1px)}
.nav-links>a.btn.btn-outline-r:hover{color:var(--red)}
.nav-links>a.btn::after{display:none}

/* --- (6) Footer lightened so the main-logo (red/blue) reads clearly --- */
footer{background:var(--bg-2,#FFFFFF) !important;border-top:1px solid var(--border) !important}
footer .f-heading{color:var(--text) !important}
footer .footer-desc,footer .f-links a,footer .footer-copy,footer .f-legal a{color:var(--t2) !important}
footer .f-links a:hover,footer .f-legal a:hover{color:var(--red) !important}
footer .footer-tagline{color:var(--t3) !important}
footer .f-soc{background:var(--red-t) !important;border:1px solid var(--border) !important;color:var(--t2) !important}
footer .f-soc:hover{border-color:var(--br) !important;color:var(--red) !important}
footer .footer-bottom{border-top:1px solid var(--border) !important}

/* =========================================================================
   TEdgeOne LIGHT v16 adjustments
   (float speed x5, smaller nav logo, menu background fade)
   ========================================================================= */

/* --- (2) Home floating blocks: 5x faster float --- */
.fc-bl,.fc-tr{animation-duration:1.2s !important}

/* --- (3) Reduce overall nav logo size (integrity kept, aspect intact) --- */
.nav-logo img{height:46px !important}

/* --- (5) Main menu: background colour fade-in / fade-out on hover/selection --- */
.nav-links{gap:12px}
.nav-links>a:not(.btn),.nav-dd-label{
  padding:6px 10px;border-radius:9px;
  transition:color .22s ease, background-color .34s ease, transform .22s ease;
}
.nav-links>a:not(.btn):hover,.nav-links>a:not(.btn).active,
.nav-dd-label:hover,.nav-dd-label.active{background:var(--red-t)}
/* underline sits at the pill's lower edge */
.nav-links>a:not(.btn)::after,.nav-dd-label::after{bottom:2px}
/* CTA buttons keep their own solid background */
.nav-links>a.btn::after{display:none}

/* =========================================================================
   TEdgeOne LIGHT v17 adjustments
   (search overlay light theme, JS-driven floating blocks)
   ========================================================================= */

/* --- (4) Search overlay: light frosted backdrop to match the site --- */
#searchOverlay{
  background:rgba(246,247,250,.94) !important;
  -webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);
}
/* subtle top border so the panel reads on very light content */
.search-input-row{background:#FFFFFF;border-color:var(--border)}
.search-prompt-chip,.search-result-item{background:#FFFFFF}

/* --- (2) Floating blocks now move in all directions via JS: drop keyframe --- */
.fc-bl,.fc-tr{animation:none !important}
