/* ============================================================
   TechHive — Data & AI Engineering Partner
   Design system · Inter only · #FFC100 / #020202 / #FFFFFF
   ============================================================ */

:root{
  --ink:#020202;
  --paper:#FFFFFF;
  --bone:#F6F5F1;          /* warm section background */
  --line:#E8E6DF;          /* hairlines */
  --line-dark:#2A2A28;
  --mut:#66655F;           /* muted text */
  --mut-dark:#A9A8A1;      /* muted on ink */
  --yellow:#FFC100;
  --yellow-soft:#FFF3CC;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 14px 40px -18px rgba(2,2,2,.18);
  --max:1200px;
  --header-h:72px;
  --ease:cubic-bezier(.22,.61,.2,1);

  /* v121 — one hero height for every page.
     --fold is the usable viewport (dvh, not vh: on mobile the URL bar
     changes vh and the hero would jump). 74% of the fold, clamped, so
     the top of the next block always stays visible — measured against
     Stripe (68vh), Vercel (~80vh), Andersen and n-ix (fixed px, both
     of which overflow a 768px laptop). */
  --fold:100dvh;
  --hero-band:clamp(440px, calc(var(--fold) * .74), 660px);
  --hero-min:calc(var(--hero-band) + var(--header-h));
  --viz-h:calc(var(--hero-band) - 128px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--yellow);color:var(--ink)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- Type ---------- */
.eyebrow{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mut);display:flex;align-items:center;gap:10px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--yellow);flex:none}
.on-dark .eyebrow{color:var(--mut-dark)}

.display{
  font-size:clamp(2.5rem,5.4vw,4.1rem);
  font-weight:800;letter-spacing:-.035em;line-height:1.04;
}
.h2{
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:750;letter-spacing:-.028em;line-height:1.12;
}
.h3{font-size:1.16rem;font-weight:650;letter-spacing:-.015em;line-height:1.3}
.lead{font-size:clamp(1.05rem,1.6vw,1.24rem);color:var(--mut);line-height:1.6;font-weight:420}
.on-dark .lead{color:var(--mut-dark)}
.small{font-size:.875rem;color:var(--mut)}

/* marker highlight — signature */
.hl{
  background:linear-gradient(transparent 58%, var(--yellow) 58%, var(--yellow) 94%, transparent 94%);
  padding:0 .06em;
}
.on-dark .hl{
  background:linear-gradient(transparent 58%, var(--yellow) 58%, var(--yellow) 94%, transparent 94%);
  color:var(--paper);
}

/* ---------- Verify chip — publishing-controls signature ---------- */
.verify{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mut);border:1.5px dashed #C9C7BE;border-radius:999px;
  padding:3px 10px;vertical-align:middle;white-space:nowrap;
}
.verify::before{content:"◌";color:var(--yellow);font-size:12px;filter:brightness(.75)}
.on-dark .verify{color:var(--mut-dark);border-color:#4A4945}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 26px;border-radius:999px;font-weight:600;font-size:.96rem;
  letter-spacing:-.01em;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s;
  white-space:nowrap;
}
.btn svg{transition:transform .18s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(2,2,2,.5)}
.btn-yellow{background:var(--yellow);color:var(--ink)}
.btn-yellow:hover{transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(255,193,0,.65)}
.btn-ghost{border:1.5px solid var(--line-dark);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.on-dark .btn-ghost{border-color:#4A4945;color:var(--paper)}
.on-dark .btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-link{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;
  border-bottom:2px solid var(--yellow);padding-bottom:2px;
}
.btn-link:hover svg{transform:translateX(3px)}
.btn-link svg{transition:transform .18s var(--ease)}

/* ---------- Header ---------- */
.header{
  position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);
  background:rgba(242,241,237,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .2s;
}
.header.scrolled{box-shadow:0 8px 30px -20px rgba(2,2,2,.25)}
.header-inner{
  max-width:var(--max);margin:0 auto;padding:0 24px;height:100%;
  display:flex;align-items:center;gap:36px;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.22rem;letter-spacing:-.03em}
.logo-mark{width:26px;height:26px;flex:none}
.nav{display:flex;gap:4px;height:100%}
.nav > li{height:100%;display:flex;align-items:center}
.nav-link{
  display:flex;align-items:center;gap:6px;height:100%;
  padding:0 14px;font-size:.94rem;font-weight:550;color:var(--ink);
  border-bottom:2px solid transparent;transition:border-color .15s;
  background:none;
}
.nav > li:hover > .nav-link,
.nav > li.open > .nav-link,
.nav-link.active{border-bottom-color:var(--yellow)}
.nav-link .chev{transition:transform .2s;color:var(--mut)}
.nav > li.open .chev{transform:rotate(180deg)}
.header-cta{margin-left:auto;display:flex;align-items:center;gap:12px}
.header-cta .btn{padding:11px 20px;font-size:.9rem}
.header-phone{font-size:.92rem;font-weight:650;color:var(--ink);text-decoration:none;white-space:nowrap;
  border-bottom:2px solid transparent;padding-bottom:2px;transition:border-color .18s var(--ease)}
.header-phone:hover,.header-phone:focus-visible{border-bottom-color:var(--yellow)}

/* mega panel */
.mega{
  position:absolute;left:0;right:0;top:var(--header-h);
  background:var(--paper);border-bottom:1px solid var(--line);
  box-shadow:0 30px 60px -30px rgba(2,2,2,.25);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;
}
.nav > li.open .mega{opacity:1;visibility:visible;transform:none}
.mega-grid{
  max-width:var(--max);margin:0 auto;padding:34px 24px 38px;
  display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:44px;
}
.mega-col-title{
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mut);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);
}
.mega-list li + li{margin-top:2px}
.mega-item{
  display:block;padding:9px 12px;margin:0 -12px;border-radius:10px;
  transition:background .12s;
}
.mega-item:hover{background:var(--bone)}
.mega-item b{display:block;font-weight:600;font-size:.94rem;letter-spacing:-.01em}
.mega-item span{display:block;font-size:.82rem;color:var(--mut);margin-top:1px}
.mega-feature{
  background:var(--ink);color:var(--paper);border-radius:var(--radius);
  padding:26px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;
}
.mega-feature .tag{
  font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:var(--yellow);color:var(--ink);border-radius:999px;padding:4px 10px;
}
.mega-feature b{font-size:1.12rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}
.mega-feature p{font-size:.86rem;color:var(--mut-dark);line-height:1.5}
.mega-feature a{margin-top:auto;font-weight:600;font-size:.88rem;border-bottom:2px solid var(--yellow);padding-bottom:1px}

/* burger + mobile menu */
.burger{display:none;flex:0 0 44px;width:44px;height:44px;margin-left:auto;position:relative;z-index:120}
.burger span{
  position:absolute;left:11px;right:11px;height:2px;background:var(--ink);
  transition:transform .25s var(--ease),opacity .2s;
}
.burger span:nth-child(1){top:16px}
.burger span:nth-child(2){top:22px}
.burger span:nth-child(3){top:28px}
.burger.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:0;z-index:110;background:var(--paper);
  padding:calc(var(--header-h) + 12px) 24px 40px;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.m-acc{border-bottom:1px solid var(--line)}
.m-acc-btn{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:18px 0;font-size:1.15rem;font-weight:650;letter-spacing:-.02em;text-align:left;
}
.m-acc-btn .chev{transition:transform .2s;color:var(--mut)}
.m-acc.open .m-acc-btn .chev{transform:rotate(180deg)}
.m-acc-body{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.m-acc-body ul{padding:0 0 16px}
.m-acc-body a{display:block;padding:9px 0;color:var(--mut);font-size:.98rem}
.m-acc-body a b{color:var(--ink);font-weight:600}
.mobile-ctas{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.mobile-ctas .btn{width:100%}
.mobile-ctas .mobile-phone{text-align:center;font-size:1rem;padding:4px 0 0}

/* ---------- Sections ---------- */
.section{padding:96px 0}
.section-tight{padding:72px 0}
.section-bone{background:var(--bone)}
.section-ink{background:var(--ink);color:var(--paper)}
.section-head{max-width:720px;margin-bottom:52px}
.section-head .lead{margin-top:16px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}

/* ---------- Hero ---------- */
.hero{
  padding:calc(var(--header-h) + 72px) 0 88px;
  position:relative;overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero .display{margin:0 0 22px}
.hero .lead{max-width:520px}
.hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-note{margin-top:22px;font-size:.86rem;color:var(--mut)}

/* facts strip */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.fact{padding:34px 28px;border-left:1px solid var(--line)}
.fact:first-child{border-left:0}
.fact b{
  display:block;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1;
}
.fact b em{font-style:normal;color:var(--yellow);-webkit-text-stroke:1px var(--ink)}
.fact span{display:block;margin-top:8px;font-size:.86rem;color:var(--mut)}
.fact .verify{margin-top:10px}

/* ---------- Cards ---------- */
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#D8D6CD}
.card .h3{margin-bottom:8px}
.card p{font-size:.93rem;color:var(--mut);line-height:1.6}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

/* problem → workstream cards */
.ws-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;display:flex;flex-direction:column;gap:14px;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.ws-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ws-card .h3{font-size:1.06rem}
.ws-flow{display:flex;flex-direction:column;gap:0;font-size:.9rem}
.ws-flow > div{display:flex;gap:12px}
.ws-flow .rail{display:flex;flex-direction:column;align-items:center;flex:none;width:14px}
.ws-flow .dot{width:8px;height:8px;border-radius:50%;background:var(--ink);flex:none;margin-top:6px}
.ws-flow .dot.y{background:var(--yellow);outline:2px solid var(--ink)}
.ws-flow .stem{width:2px;flex:1;background:var(--line);min-height:14px}
.ws-flow .lbl{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.ws-flow p{color:var(--ink);font-size:.9rem;line-height:1.5;padding-bottom:14px}
.ws-flow .roles{color:var(--mut);font-size:.85rem;padding-bottom:2px}

/* capability rows (avoid identical card walls) */
.cap-list{border-top:1px solid var(--line)}
.cap-row{
  display:grid;grid-template-columns:52px 1.1fr 1.6fr auto;gap:24px;align-items:center;
  padding:22px 8px;border-bottom:1px solid var(--line);
  transition:background .15s;position:relative;
}
.cap-row:hover{background:var(--bone)}
.cap-row .idx{font-size:.8rem;font-weight:600;color:var(--mut);letter-spacing:.05em}
.cap-row b{font-size:1.05rem;font-weight:650;letter-spacing:-.015em}
.cap-row p{font-size:.9rem;color:var(--mut)}
.cap-row .arr{color:var(--mut);transition:transform .18s,color .18s}
.cap-row:hover .arr{transform:translateX(4px);color:var(--ink)}
.cap-row.featured{background:var(--ink);color:var(--paper);border-radius:var(--radius);border-bottom-color:transparent;margin:10px 0}
.cap-row.featured p{color:var(--mut-dark)}
.cap-row.featured .idx{color:var(--yellow)}
.cap-row.featured:hover{background:#0d0d0c}
.cap-row.featured .tag{
  position:absolute;top:-9px;left:84px;font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;background:var(--yellow);color:var(--ink);padding:3px 10px;border-radius:999px;
}

/* engagement models */
.model-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;display:flex;flex-direction:column;gap:12px;
}
.model-card .icon{width:42px;height:42px;border-radius:12px;background:var(--yellow-soft);display:grid;place-items:center}
.model-card .icon svg{width:22px;height:22px}
.model-card .h3{font-size:1.05rem}
.model-card .best{font-size:.85rem;color:var(--mut)}
.model-card .best b{color:var(--ink);font-weight:600}
.model-card p{font-size:.9rem;color:var(--mut);line-height:1.55}

/* industries */
.ind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ind-card{border:1px solid var(--line-dark);border-radius:var(--radius);padding:26px;transition:border-color .2s,background .2s}
.ind-card:hover{border-color:var(--yellow);background:#0c0c0b}
.ind-card b{display:block;font-size:1.05rem;font-weight:650;margin-bottom:8px}
.ind-card p{font-size:.88rem;color:var(--mut-dark);line-height:1.55}

/* case cards */
.case-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.case-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.case-top{padding:26px 26px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.case-client{font-weight:800;font-size:1.1rem;letter-spacing:-.02em}
.case-body{padding:18px 26px 26px;display:flex;flex-direction:column;gap:14px;flex:1}
.case-metric{background:var(--bone);border-radius:var(--radius-sm);padding:16px 18px}
.case-metric b{display:block;font-size:1.35rem;font-weight:800;letter-spacing:-.025em}
.case-metric span{font-size:.82rem;color:var(--mut)}
.case-body p{font-size:.9rem;color:var(--mut);line-height:1.6}
.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.case-tags i{
  font-style:normal;font-size:.78rem;font-weight:550;color:var(--mut);
  border:1px solid var(--line);border-radius:999px;padding:4px 11px;
}

/* logo wall */
.logo-wall{display:flex;flex-wrap:wrap;gap:10px}
.logo-chip{
  border:1px solid var(--line);border-radius:999px;padding:9px 18px;
  font-weight:650;font-size:.9rem;letter-spacing:-.01em;color:var(--mut);
  transition:color .15s,border-color .15s;
}
.logo-chip:hover{color:var(--ink);border-color:var(--ink)}

/* testimonial */
.quote{
  border-left:3px solid var(--yellow);padding:6px 0 6px 26px;max-width:760px;
}
.quote p{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:500;letter-spacing:-.015em;line-height:1.45}
.quote footer{margin-top:16px;font-size:.9rem;color:var(--mut)}
.quote footer b{color:var(--ink)}

/* ---------- Fork (two commercial paths) ---------- */
.fork{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fork-card{
  border-radius:var(--radius);padding:40px;display:flex;flex-direction:column;gap:14px;
  min-height:280px;position:relative;overflow:hidden;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.fork-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(2,2,2,.45)}
.fork-card.dark{background:var(--ink);color:var(--paper)}
.fork-card.yellow{background:var(--yellow);color:var(--ink)}
.fork-card .h3{font-size:1.45rem;letter-spacing:-.025em}
.fork-card p{font-size:.95rem;line-height:1.6;max-width:400px}
.fork-card.dark p{color:var(--mut-dark)}
.fork-card.yellow p{color:#5a4a00}
.fork-card .go{
  margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;
}
.fork-card .go svg{transition:transform .18s}
.fork-card:hover .go svg{transform:translateX(4px)}
.fork-num{
  position:absolute;right:26px;top:18px;font-size:5rem;font-weight:800;letter-spacing:-.05em;
  line-height:1;user-select:none;
}
.fork-num::before{content:attr(data-num);display:block;opacity:.09}

/* ---------- Accordions ---------- */
.acc{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.acc + .acc{margin-top:12px}
.acc-btn{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:22px 26px;text-align:left;font-weight:650;font-size:1.02rem;letter-spacing:-.015em;
  transition:background .15s;
}
.acc-btn:hover{background:var(--bone)}
.acc-btn .plus{
  width:26px;height:26px;flex:none;border-radius:50%;border:1.5px solid var(--line-dark);
  display:grid;place-items:center;transition:transform .25s var(--ease),background .2s;
  font-size:15px;font-weight:500;line-height:1;
}
.acc.open .acc-btn .plus{transform:rotate(45deg);background:var(--yellow);border-color:var(--yellow)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.acc-body-inner{padding:0 26px 24px;color:var(--mut);font-size:.93rem;line-height:1.65}
.acc-body-inner .roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.acc-body-inner .roles i{
  font-style:normal;font-size:.8rem;font-weight:550;color:var(--ink);
  background:var(--bone);border-radius:999px;padding:5px 12px;
}

/* ---------- 90-day timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.timeline::before{
  content:"";position:absolute;top:7px;left:calc(100%/6);right:calc(100%/6);
  height:2px;background:var(--line-dark);
}
.tl-step{padding:0 22px;position:relative}
.tl-step::before{
  content:"";width:14px;height:14px;border-radius:50%;background:var(--yellow);
  outline:3px solid var(--ink);display:block;margin-bottom:20px;position:relative;z-index:1;
}
.tl-step .period{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-bottom:8px}
.tl-step b{display:block;font-size:1.05rem;font-weight:650;letter-spacing:-.015em;margin-bottom:8px}
.tl-step p{font-size:.88rem;color:var(--mut-dark);line-height:1.6}

/* process steps (hire page) */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step-card{position:relative;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.step-card::before{
  counter-increment:step;content:counter(step,decimal-leading-zero);
  font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--ink);
  background:var(--yellow);border-radius:999px;padding:4px 12px;display:inline-block;margin-bottom:16px;
}
.step-card b{display:block;font-weight:650;margin-bottom:6px;letter-spacing:-.01em}
.step-card p{font-size:.88rem;color:var(--mut);line-height:1.55}
.step-card .dur{margin-top:12px;font-size:.8rem;font-weight:600;color:var(--mut)}

/* ---------- Tabs ---------- */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.tab-btn{
  padding:11px 20px;border-radius:999px;border:1.5px solid var(--line);
  font-weight:600;font-size:.9rem;transition:all .15s;
}
.tab-btn:hover{border-color:var(--ink)}
.tab-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:fadeUp .35s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Forms ---------- */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-size:.86rem;font-weight:600}
.field input,.field select,.field textarea{
  border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:13px 16px;
  background:var(--paper);transition:border-color .15s,box-shadow .15s;width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--yellow-soft);
}
.field .hint{font-size:.78rem;color:var(--mut)}
.attach-field{margin-bottom:18px}
.attach-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:650;color:var(--ink);cursor:pointer;border-bottom:1.5px dashed var(--mut);width:max-content;user-select:none}
.attach-toggle:hover{border-bottom-color:var(--ink)}
.attach-box{margin-top:12px;padding:16px;border:1.5px dashed var(--line);border-radius:var(--radius-sm);background:var(--bone)}
.attach-box[hidden]{display:none}
.attach-box input{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:13px 16px;background:var(--paper);width:100%;color:var(--mut);font:inherit}
.attach-hint{margin-top:9px;font-size:.76rem;color:var(--mut)}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin:4px 0 6px;font-size:.86rem}
.checkbox-row input[type="checkbox"]{margin-top:3px;width:17px;height:17px;flex:none;accent-color:var(--ink)}
.checkbox-row label{color:var(--mut);line-height:1.45}
.nda-tip{border-bottom:1.5px dotted var(--mut);cursor:help}
.section-ink .attach-box{background:#1c1c1a;border-color:#3a3a37}
.section-ink .attach-box input{background:#141412;border-color:#3a3a37;color:var(--mut-dark)}
.section-ink .attach-hint,.section-ink .checkbox-row label{color:var(--mut-dark)}
.section-ink .attach-toggle{color:var(--paper);border-bottom-color:var(--mut-dark)}
.section-ink .attach-toggle:hover{border-bottom-color:var(--paper)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{
  border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:18px;
  cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;
}
.choice:hover{border-color:var(--ink)}
.choice.selected{border-color:var(--ink);background:var(--yellow-soft);box-shadow:inset 0 0 0 1px var(--ink)}
.choice b{font-weight:650;font-size:.95rem;letter-spacing:-.01em}
.choice span{font-size:.82rem;color:var(--mut)}
.form-progress{display:flex;gap:6px;margin-bottom:30px}
.form-progress i{height:4px;flex:1;border-radius:99px;background:var(--line);transition:background .3s}
.form-progress i.done{background:var(--yellow)}
.form-step{display:none}
.form-step.active{display:block;animation:fadeUp .3s var(--ease)}
.form-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:var(--paper);padding:72px 0 36px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;margin-bottom:56px}
.footer .logo{color:var(--paper)}
.footer-tag{margin-top:14px;font-size:.88rem;color:var(--mut-dark);max-width:280px;line-height:1.6}
.footer-col b{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut-dark);margin-bottom:16px}
.footer-col a{display:block;padding:5px 0;font-size:.92rem;color:#D9D8D2;transition:color .15s}
.footer-col a:hover{color:var(--yellow)}
.footer-bottom{
  border-top:1px solid var(--line-dark);padding-top:28px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.82rem;color:var(--mut-dark);
}

/* footer-brand contact details: address / phone / email under the tagline */
.footer-contact-details{margin-top:16px;display:grid;gap:9px}
.footer-contact-row{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;line-height:1.5;color:var(--mut-dark);max-width:280px}
a.footer-contact-row{padding:0;transition:color .15s}
a.footer-contact-row:hover{color:var(--yellow)}
.footer-contact-icon{flex:0 0 auto;margin-top:3px;color:var(--mut-dark)}
a.footer-contact-row:hover .footer-contact-icon{color:var(--yellow)}

/* footer "Engage" column social icons */
.footer-social{display:flex;gap:12px;margin-top:18px}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #4A4945;border-radius:50%;color:#D9D8D2;transition:border-color .15s,color .15s}
.footer-social a:hover{border-color:var(--yellow);color:var(--yellow)}

/* ---------- Hero schematic (SVG) ---------- */
.schematic{position:relative}
.schematic svg{width:100%;height:auto}
.flow-line{
  fill:none;stroke:#3A3A37;stroke-width:1.6;
}
.flow-pulse{
  fill:none;stroke:var(--yellow);stroke-width:1.8;stroke-linecap:round;
  stroke-dasharray:26 340;animation:flow 4.2s linear infinite;
}
@keyframes flow{to{stroke-dashoffset:-366}}
.node-box{fill:#111110;stroke:#3A3A37;stroke-width:1.2;rx:10}
.node-label{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;fill:#D9D8D2}
.node-sub{font-family:'Inter',sans-serif;font-size:9px;fill:#8B8A84;font-weight:500}
.node-hot .node-box{stroke:var(--yellow);stroke-width:1.6}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}
.reveal-d2{transition-delay:.16s}
.reveal-d3{transition-delay:.24s}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{padding:calc(var(--header-h) + 64px) 0 64px}
.page-hero .display{max-width:820px}
.page-hero .lead{max-width:640px;margin-top:20px}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.84rem;color:var(--mut);margin-bottom:26px}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb i{font-style:normal;color:#C9C7BE}

/* banner note */
.note-banner{
  display:flex;gap:14px;align-items:flex-start;background:var(--yellow-soft);
  border:1px solid #EAD48A;border-radius:var(--radius-sm);padding:16px 20px;
  font-size:.87rem;line-height:1.55;color:#4d3f00;
}
.note-banner svg{flex:none;margin-top:2px}

/* utility */
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.mt-32{margin-top:32px}.mt-48{margin-top:48px}.mt-64{margin-top:64px}
.center{text-align:center}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero .lead{max-width:640px}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .mega-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cap-row{grid-template-columns:40px 1fr auto;grid-template-areas:"idx name arr" ". desc arr"}
  .cap-row .idx{grid-area:idx}
  .cap-row b{grid-area:name}
  .cap-row p{grid-area:desc}
  .cap-row .arr{grid-area:arr}
  .cap-row.featured .tag{left:64px}
}
@media (max-width:820px){
  .nav,.header-cta .btn-ghost{display:none}
  .burger{display:block}
  .header-inner{gap:14px}
  .header-cta{margin-left:auto}
  .header-cta .btn{padding:9px 16px;font-size:.84rem}
  .burger{margin-left:0}
  .facts-grid{grid-template-columns:1fr 1fr}
  .fact{border-left:0;border-top:1px solid var(--line)}
  .fact:nth-child(-n+2){border-top:0}
  .fact:nth-child(even){border-left:1px solid var(--line)}
  .fork{grid-template-columns:1fr}
  .grid-2,.ind-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr;gap:34px}
  .timeline::before{display:none}
  .section{padding:72px 0}
  .choice-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .header-cta{display:none}
  .verify{white-space:normal;text-align:left}
  .facts-grid > *,.grid-2 > *,.grid-3 > *,.grid-4 > *{min-width:0}
  .grid-3,.grid-4,.steps{grid-template-columns:1fr}
  .hero{padding-top:calc(var(--header-h) + 48px)}
  .hero-ctas .btn{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .facts-grid{grid-template-columns:1fr 1fr}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   v2 — dark nav + Enterprise Intelligence Loop hero (per ТЗ)
   ============================================================ */
/* ---------- Hero (Enterprise Intelligence Loop) ---------- */
.th-hero{
  min-height:calc(100vh - var(--header-h));margin-top:var(--header-h);display:flex;
  background:#020202;overflow:visible;position:relative;color:#fff;
}
.th-mesh{
  position:absolute;bottom:0;left:0;right:0;height:360px;
  background-image:url("/assets/mesh-9a742726.webp");background-repeat:no-repeat;
  background-position:center -220px;background-size:100%;
  opacity:.17;pointer-events:none;z-index:0;
}
.th-left{
  width:43%;position:relative;z-index:1;
  padding:60px 32px 60px 80px;
  display:flex;flex-direction:column;justify-content:center;
}
.th-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.th-eyebrow .bar{width:20px;height:1.5px;background:var(--yellow);flex:none}
.th-eyebrow span:last-child,.th-eyebrow .txt{
  font-size:10px;font-weight:600;color:#555;letter-spacing:1.1px;text-transform:uppercase;
}
.th-hero h1{
  font-size:54px;font-weight:800;line-height:1.08;letter-spacing:-2px;
  margin:0 0 24px;color:#fff;
}
.th-hero h1 .y{color:var(--yellow)}
.th-sub{font-size:15.5px;line-height:1.72;color:var(--mut-dark);max-width:440px;margin:0 0 36px;font-weight:400}
.th-cta{
  display:inline-flex;align-items:center;gap:10px;align-self:flex-start;
  background:var(--yellow);color:#000;font-weight:700;font-size:15px;
  padding:14px 28px;border-radius:100px;transition:transform .18s var(--ease),box-shadow .18s var(--ease);
}
.th-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(255,193,0,.55)}
.th-cta svg{transition:transform .18s var(--ease)}
.th-cta:hover svg{transform:translateX(3px)}
.th-cta:focus-visible{outline:3px solid #fff;outline-offset:2px}

.th-right{
  flex:1;position:relative;z-index:1;
  padding:28px 44px 72px 4px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.eil-holder{width:100%;max-width:700px;display:flex;justify-content:center}
.eil{position:relative;width:700px;height:460px;flex:none;transform-origin:top center}

/* column labels */
.eil-lbl{
  position:absolute;font-size:7.5px;font-weight:700;color:#333;
  text-transform:uppercase;letter-spacing:1px;
}
.eil-ind{
  position:absolute;left:0;top:27px;width:130px;
  font-size:7px;font-style:italic;color:#3a3a3a;font-weight:500;
  transition:opacity .4s;
}

/* nodes */
.eil-node{
  position:absolute;background:#171717;border:1px solid #272727;border-radius:8px;
  padding:8px 11px;cursor:pointer;transition:opacity .55s;
}
.eil-node b{display:block;font-size:11px;font-weight:700;color:#F2F0E9;letter-spacing:-.018em;line-height:1.15;white-space:nowrap}
.eil-node span{display:block;font-size:9px;line-height:1.25;color:#9E9C94;margin-top:4px;letter-spacing:-.015em;white-space:nowrap}
.eil-src{left:0;width:130px;height:48px}

.eil-hub{
  position:absolute;left:164px;top:90px;width:170px;height:220px;
  background:#191919;border:1.5px solid var(--yellow);border-radius:10px;
  transition:opacity .55s;cursor:pointer;
}
.eil-hub-head{
  padding:12px 14px 10px;border-bottom:1px solid #282828;
  font-size:8px;font-weight:800;color:var(--yellow);text-transform:uppercase;
  letter-spacing:.8px;line-height:1.5;
}
.eil-hub-grid{
  padding:10px 11px;display:grid;grid-template-columns:1fr 1fr;gap:6px;
}
.eil-chip{
  background:#2B2B2B;border-radius:5px;padding:9px 5px;text-align:center;
  font-size:10px;font-weight:600;color:#E4E2DA;transition:opacity .4s;
}

.eil-out{position:absolute;left:372px;width:148px;height:88px;padding:12px 14px;border-radius:8px;transition:opacity .55s;cursor:pointer}
.eil-ana{top:96px;background:#171717;border:1px solid #2a2a2a}
.eil-ana b{font-size:11px;color:#e0e0e0;font-weight:700;display:block}
.eil-ana span{font-size:10px;color:#9E9C94;display:block;margin-top:3px}
.eil-ai{top:228px;background:#1c1c1c;border:1.5px solid var(--yellow)}
.eil-ai b{font-size:11px;color:var(--yellow);font-weight:700;display:block}
.eil-ai span{font-size:10px;color:#A9A8A1;display:block;margin-top:3px}

.eil-wf{
  position:absolute;left:556px;top:130px;width:144px;height:200px;
  background:#171717;border:1px solid #2a2a2a;border-radius:8px;padding:12px;
  transition:opacity .55s;cursor:pointer;
}
.eil-wf-head{font-size:9px;font-weight:700;color:#9E9C94;text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px}
.eil-wf-chips{display:flex;flex-direction:column;gap:6px}
.eil-wf-chip{background:#2B2B2B;border-radius:4px;padding:7px 10px;font-size:11px;font-weight:600;color:#E4E2DA}

/* svg connections */
.eil-svg{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;width:700px;height:460px}
.eil-line{stroke:var(--yellow);stroke-width:1.5;fill:none;transition:opacity .55s}
.eil-fb{stroke-dasharray:5 4}
.eil-arrow{fill:var(--yellow);transition:opacity .55s}
.eil-dot{fill:var(--yellow);transition:opacity .4s}

.eil-caption{
  font-size:12px;font-weight:450;line-height:1.55;color:rgba(255,255,255,.58);text-align:center;
  max-width:640px;margin-top:24px;
}

/* hero responsive */
@media (max-width:1180px){
  .th-hero h1{font-size:44px;letter-spacing:-1.4px}
  .th-left{padding-left:48px}
}
@media (max-width:980px){
  .th-hero{flex-direction:column;min-height:0;padding-bottom:24px}
  .th-left{width:100%;padding:64px 24px 24px}
  .th-right{padding:8px 16px 32px;width:100%}
  .th-hero h1{font-size:38px;letter-spacing:-1.2px}
}
@media (max-width:600px){
  .th-hero h1{font-size:31px;letter-spacing:-1px}
  .th-cta{align-self:stretch;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .eil-dot{display:none}
}


/* Expanded How We Help navigation and page */
@media (min-width:1101px){.header-inner{max-width:1520px;gap:24px}.nav{flex:1 1 auto;min-width:0;justify-content:center}.nav-link,.header-cta,.header-cta .btn{white-space:nowrap}.nav-link{padding-left:12px;padding-right:12px}}
.nav-help .mega-grid-help{max-width:1480px;grid-template-columns:.9fr 1.2fr 1.2fr 1.05fr;gap:28px}.mega-more{display:inline-flex;margin-top:12px;font-size:.8rem;font-weight:650;border-bottom:2px solid var(--yellow);padding-bottom:2px}.help-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end}.help-jump{border-bottom:1px solid var(--line)}.help-jump-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.help-jump-grid a{border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px;display:grid;gap:4px;transition:.15s}.help-jump-grid a:hover{border-color:var(--ink);transform:translateY(-2px)}.help-jump-grid b{font-size:.92rem}.help-jump-grid span{font-size:.78rem;color:var(--mut)}.need-list{border-top:1px solid var(--line)}.need-row{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:34px;padding:28px 8px;border-bottom:1px solid var(--line);align-items:start}.need-num{font-size:.75rem;color:var(--mut);font-weight:700}.need-row h3{font-size:1.25rem;margin:8px 0}.need-row p{font-size:.88rem;color:var(--mut);line-height:1.55}.need-row small{font-size:.68rem;letter-spacing:.12em;font-weight:700;color:var(--mut)}.need-row>div:last-child{display:grid;gap:8px}.need-row>div:last-child b{font-size:.9rem;line-height:1.45}.need-row a{font-size:.83rem;font-weight:650;border-bottom:2px solid var(--yellow);justify-self:start}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.outcome-grid article{border:1px solid var(--line-dark);border-radius:var(--radius);padding:24px;min-height:150px}.outcome-grid b{font-size:1.05rem}.outcome-grid p{color:var(--mut-dark);font-size:.86rem;line-height:1.55;margin-top:14px}.tech-accordion{max-width:900px}.stage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.stage-grid article{border-top:3px solid var(--ink);background:var(--bone);padding:22px;min-height:190px}.stage-grid span{font-size:.72rem;color:var(--mut)}.stage-grid b{display:block;font-size:1.05rem;margin-top:36px}.stage-grid p{font-size:.82rem;color:var(--mut);line-height:1.5;margin-top:8px}
@media (max-width:1400px) and (min-width:1101px){.header-inner{gap:12px;padding-left:18px;padding-right:18px}.nav-link{padding-left:8px;padding-right:8px;font-size:.88rem}.header-cta{gap:8px}.header-cta .btn{padding-left:14px;padding-right:14px;font-size:.82rem}.logo{font-size:1.08rem}.nav-help .mega-grid-help{grid-template-columns:.9fr 1fr 1fr 1fr;gap:18px}}
@media (max-width:1024px){.help-hero-grid{grid-template-columns:1fr}.need-row{grid-template-columns:1fr 1fr}.need-row>div:last-child{grid-column:1/-1}.stage-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.help-jump-grid,.outcome-grid{grid-template-columns:1fr 1fr}.nav-help .mega-grid-help{grid-template-columns:1fr}}
@media (max-width:600px){.help-jump-grid,.outcome-grid,.stage-grid,.need-row{grid-template-columns:1fr}.need-row>div:last-child{grid-column:auto}}

/* v8 buyer-led retail navigation */
@media (min-width:1101px){.mega-item span{display:none}.mega-item{padding-top:10px;padding-bottom:10px}}
.help-jump-grid-3{grid-template-columns:repeat(3,1fr)}
.delivery-grid{align-items:stretch}
@media (max-width:820px){.help-jump-grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.help-jump-grid-3{grid-template-columns:1fr}}

/* v9 Services architecture */
.mega-feature .mega-feature-secondary{margin-top:2px;border-bottom-color:#4a4945;color:var(--mut-dark);font-weight:550}
.mega-feature .mega-feature-secondary:hover{color:var(--paper);border-bottom-color:var(--yellow)}

/* v10 standalone service, blog and careers pages */
.service-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.service-page-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--paper);display:flex;flex-direction:column;gap:10px;min-height:230px;transition:transform .18s var(--ease),border-color .18s,box-shadow .18s}
a.service-page-card:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:var(--shadow)}
.service-page-card span{font-size:.72rem;font-weight:700;color:var(--mut);letter-spacing:.12em}
.service-page-card h3{font-size:1.22rem;line-height:1.25;letter-spacing:-.02em}
.service-page-card p{color:var(--mut);font-size:.92rem;line-height:1.6}
.service-page-card b{margin-top:auto;font-size:.85rem;border-bottom:2px solid var(--yellow);align-self:flex-start}
.service-page-card small{margin-top:auto;color:var(--mut);font-size:.76rem}
.compact-hero{padding-bottom:52px}.simple-hero{max-width:850px}.simple-hero .lead{margin-top:20px;max-width:720px}.simple-hero .hero-ctas{margin-top:30px}
.content-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.filter-chips{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:.82rem;font-weight:600}.filter-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.article-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-height:260px;display:flex;flex-direction:column;gap:14px;background:var(--paper)}.article-card.featured-article{grid-column:1/-1;min-height:300px;background:var(--ink);color:var(--paper)}.article-label,.vacancy-tag{font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--mut)}.featured-article .article-label{color:var(--yellow)}.article-card h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.03em;max-width:780px}.article-card h3{font-size:1.25rem;line-height:1.3}.article-card p{color:var(--mut);max-width:720px}.featured-article p{color:var(--mut-dark)}.article-meta{display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:.78rem;color:var(--mut)}.featured-article .article-meta{border-color:var(--line-dark);color:var(--mut-dark)}
.empty-note{margin-top:28px;padding:18px 22px;background:var(--yellow-soft);border:1px solid #ead48a;border-radius:var(--radius-sm)}.empty-note p{font-size:.84rem;color:#5a4a00;margin-top:4px}
.vacancy-list{border-top:1px solid var(--line)}.vacancy-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:25px 8px;border-bottom:1px solid var(--line)}.vacancy-row h3{font-size:1.1rem;margin:6px 0}.vacancy-row p{font-size:.86rem;color:var(--mut)}.vacancy-row a{font-size:.87rem;font-weight:650;border-bottom:2px solid var(--yellow)}
@media(max-width:820px){.service-page-grid,.article-grid{grid-template-columns:1fr}.article-card.featured-article{grid-column:auto}.vacancy-row{grid-template-columns:1fr}.vacancy-row a{justify-self:start}}

/* v19 homepage editorial consolidation and delivery footprint */
.hero-outcomes{margin:18px 0 0;color:rgba(255,255,255,.72);font-size:.78rem;font-weight:650;letter-spacing:.035em}.capability-clusters{display:grid;grid-template-columns:1fr 1fr;gap:20px}.capability-cluster{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:var(--paper)}.capability-cluster.featured{border:2px solid var(--ink)}.capability-cluster h3{font-size:1.35rem;margin:15px 0}.capability-cluster ul{display:grid;gap:10px;margin-bottom:24px}.capability-cluster li{font-size:.88rem;color:var(--mut)}.tech-preview-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tech-preview-three>div{border-top:2px solid var(--ink);padding:20px 4px}.tech-preview-three b,.tech-preview-three span{display:block}.tech-preview-three span{margin-top:8px;color:var(--mut);font-size:.82rem;line-height:1.55}.shortlist-metric{margin-top:28px;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:22px 26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.shortlist-metric strong{font-size:2rem;color:var(--yellow)}.shortlist-metric span{font-weight:650;flex:1}.delivery-footprint{background:var(--ink);color:var(--paper);overflow:hidden}.delivery-footprint .lead{color:var(--mut-dark)}.footprint-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:64px;align-items:center}.footprint-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.footprint-legend span{font-size:.78rem;color:var(--mut-dark);display:flex;align-items:center;gap:8px}.footprint-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-hq{background:var(--yellow);box-shadow:0 0 0 5px rgba(255,193,0,.14)}.legend-talent{border:2px solid var(--yellow)}.iso-badge{margin-top:34px;border:1px solid var(--line-dark);border-radius:12px;padding:16px;display:flex;gap:14px;align-items:center;background:#111110}.iso-mark{width:52px;height:52px;border-radius:50%;border:2px solid var(--yellow);display:grid;place-items:center;color:var(--yellow);font-weight:850;font-size:.82rem}.iso-badge b,.iso-badge span,.iso-badge small{display:block}.iso-badge span{color:var(--mut-dark);font-size:.78rem;margin-top:3px}.iso-badge small{color:#77756e;font-size:.66rem;margin-top:5px}.talent-map{position:relative;min-height:430px}.talent-map svg{width:100%;height:auto}.world-shapes path{fill:#171716;stroke:#34332f;stroke-width:1.5}.talent-links path{fill:none;stroke:#5c4d10;stroke-width:1.2;stroke-dasharray:5 6}.talent-dots circle{fill:var(--ink);stroke:var(--yellow);stroke-width:2}.hq circle:last-of-type{fill:var(--yellow)}.hq text{fill:var(--paper);font-size:12px;font-weight:750;letter-spacing:.08em}.hq .map-small{fill:var(--mut-dark);font-size:8px}.map-stat{position:absolute;right:3%;bottom:5%;display:flex;align-items:center;gap:12px;background:rgba(17,17,16,.9);border:1px solid var(--line-dark);padding:14px 18px;border-radius:12px}.map-stat b{font-size:2rem;color:var(--yellow)}.map-stat span{font-size:.72rem;color:var(--mut-dark);line-height:1.4}
/* universal sticky navigation */.universal-sticky-path{position:fixed;top:var(--header-h);left:0;right:0;z-index:95;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transform:translateY(-110%);opacity:0;visibility:hidden;transition:.2s}.universal-sticky-path.visible{transform:none;opacity:1;visibility:visible}.sticky-path-inner{height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px}.sticky-breadcrumb{display:flex;gap:11px;align-items:center;min-width:0;font-size:.86rem;color:var(--mut)}.sticky-breadcrumb i{font-style:normal;color:#c9c7be}.sticky-breadcrumb a{white-space:nowrap}.sticky-breadcrumb a:last-child{font-weight:650;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.sticky-jump{display:flex;align-items:center;gap:9px}.sticky-jump span{font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.sticky-jump select{border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:8px 34px 8px 12px;max-width:360px;font-size:.8rem}.sticky-nav-target{scroll-margin-top:154px}.nav-technologies .mega-grid-tech{max-width:1480px;grid-template-columns:.9fr 1fr 1fr 1fr;gap:24px}.nav-technologies .mega-item span{display:block!important;font-size:.72rem;line-height:1.35;margin-top:3px;color:var(--mut)}.mobile-group-label{padding:15px 0 5px!important;font-size:.68rem!important;font-weight:750!important;letter-spacing:.11em;text-transform:uppercase;color:var(--mut)!important}.tech-index{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tech-index-group{border:1px solid var(--line-dark);border-radius:var(--radius);padding:24px}.tech-index-group h3{color:var(--yellow)}.tech-index-group a{display:block;padding:11px 0;border-top:1px solid var(--line-dark)}.tech-index-group b,.tech-index-group span{display:block}.tech-index-group span{font-size:.7rem;color:var(--mut-dark)}.tech-subsections{display:grid;gap:18px}.tech-subsection{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;border:1px solid var(--line);padding:28px;border-radius:var(--radius)}.tech-subsection h3{font-size:1.15rem}
@media(max-width:900px){.footprint-layout,.capability-clusters,.tech-preview-three,.tech-index,.tech-subsection{grid-template-columns:1fr}.talent-map{min-height:0}.footprint-layout{gap:30px}}@media(max-width:560px){.sticky-jump{display:none}.hero-outcomes{font-size:.7rem}.map-stat{position:static;margin-top:-10px}.iso-badge{align-items:flex-start}}


/* v22: navigation taxonomy, Hero hierarchy and case-study ordering */
.th-positioning{font-size:12px;font-weight:450;line-height:1.55;color:rgba(255,255,255,.58);letter-spacing:.01em;margin-bottom:22px}
.mega-grid>.mega-secondary-row{grid-column:2/-1;border-top:1px solid var(--line-dark);padding-top:14px;color:var(--mut-dark);font-size:.76rem;line-height:1.45}
.mega-secondary-row a{color:var(--paper);font-weight:650;border-bottom:2px solid var(--yellow);margin-left:6px}
.mobile-service{display:grid!important;gap:3px}.mobile-service b{font-size:.9rem}.mobile-service span{font-size:.72rem;line-height:1.4;color:var(--mut)}
.capability-service-list li{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid var(--line)}.capability-service-list li:last-child{border-bottom:0}.capability-service-list li b{font-size:.9rem;color:var(--ink)}.capability-service-list li span{font-size:.76rem;line-height:1.45;color:var(--mut)}
.case-clients-first .mt-16{max-width:820px}.case-reference-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:64px;align-items:center}.case-reference-action{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
@media(max-width:900px){.case-reference-grid{grid-template-columns:1fr;gap:28px}.mega-grid>.mega-secondary-row{grid-column:auto}}
@media(max-width:600px){.th-positioning{font-size:11px;margin-bottom:18px}.eil-caption{font-size:11px;max-width:360px}}


/* v23 enterprise retail IA and legibility */
.th-sub-detail{display:block;margin-top:12px;color:#85847e;font-size:.9em}
.eil-ai strong{display:block;margin-top:8px;padding-top:7px;border-top:1px solid #34332f;font-size:8px;line-height:1.25;color:var(--yellow)}
.mega-grid-services{grid-template-columns:.86fr 1fr 1fr;max-width:1380px}
.mega-grid-tech-v23{max-width:1580px;grid-template-columns:.68fr 1fr 1fr 1fr;gap:24px;padding-top:26px;padding-bottom:28px}
.mega-grid-tech-v23 .mega-item{padding:7px 9px;margin:0 -9px}
.mega-grid-tech-v23 .mega-item b{font-size:.87rem;line-height:1.25}
.mega-grid-tech-v23 .mega-item span{font-size:.72rem;line-height:1.35;margin-top:3px}
.mega-grid-tech-v23 .mega-item small{display:block;font-size:.64rem;line-height:1.35;color:#929087;margin-top:4px}
.mega-item span{display:block!important;max-height:none!important;font-size:.78rem;line-height:1.38;color:var(--mut);margin-top:4px}
.mega-list li+li{margin-top:4px}
.mega-secondary-row{grid-column:2/-1;border-top:1px solid var(--line);padding-top:14px;color:var(--mut);font-size:.76rem;line-height:1.45}.mega-secondary-row a{font-weight:650;border-bottom:2px solid var(--yellow);margin-left:6px}
.nav-help .mega-grid-help{grid-template-columns:.78fr 1fr 1fr 1fr;max-width:1560px;gap:24px;padding-top:26px;padding-bottom:28px}
.nav-help .mega-item{padding-top:7px;padding-bottom:7px}.nav-help .mega-item b{font-size:.88rem}.nav-help .mega-item span{font-size:.72rem}
.tech-index-v23{grid-template-columns:repeat(3,1fr)}
.anchor-alias{position:relative;display:block;top:-110px}
@media(max-width:1200px) and (min-width:821px){.mega-grid-tech-v23{grid-template-columns:repeat(3,1fr)}.mega-grid-tech-v23 .mega-feature{display:none}.nav-help .mega-grid-help{grid-template-columns:repeat(3,1fr)}.nav-help .mega-feature{display:none}}
@media(max-width:900px){.tech-index-v23{grid-template-columns:1fr}.mega-secondary-row{grid-column:auto}}
/* v23 diagram fit safeguard for longer, familiar retail labels */
.eil-src b{white-space:normal;font-size:9.2px;line-height:1.12}
.eil-src span{font-size:6.9px;letter-spacing:-.02em}


/* v24 mega-menu interaction and density correction */
@media(min-width:821px){
  .mega-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem!important;line-height:1.25!important;margin-top:3px!important}
  .mega-grid-services{grid-template-columns:.72fr 1.14fr 1.14fr;gap:34px}
  .mega-grid-services .mega-item,.nav-help .mega-item{padding-top:7px;padding-bottom:7px}
  .mega-grid-tech-v23{grid-template-columns:.58fr 1fr 1fr 1fr;gap:26px}
  .mega-grid-tech-v23 .mega-item{padding-top:7px;padding-bottom:7px}
  .mega-grid-tech-v23 .mega-item small{display:none!important}
}


/* v25 balanced mega-menu layout and stable pointer corridor */
@media(min-width:821px){
  .mega{top:calc(var(--header-h) - 1px)}
  .mega::before{content:"";position:absolute;left:0;right:0;top:-10px;height:12px;background:transparent}
  .mega-grid,.mega-grid-services,.nav-help .mega-grid-help,.mega-grid-tech-v23{
    max-width:1480px;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 34px;padding:22px 32px 28px;align-items:start
  }
  .mega-grid-services{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1260px}
  .mega-grid>.mega-feature,.mega-grid-services>.mega-feature,.nav-help .mega-grid-help>.mega-feature,.mega-grid-tech-v23>.mega-feature{
    grid-column:1/-1;min-height:0;border-radius:12px;padding:14px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 22px
  }
  .mega-feature .tag{margin:0;white-space:nowrap}
  .mega-feature-copy{min-width:0;display:flex;align-items:baseline;gap:14px}
  .mega-feature-copy b{font-size:1rem;white-space:nowrap}
  .mega-feature-copy p{font-size:.78rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mega-feature>a{margin:0;white-space:nowrap;border:0;padding:8px 12px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:.78rem;font-weight:700}
  .mega-col-title{margin-bottom:10px;padding-bottom:8px}
  .mega-list li+li{margin-top:1px}
  .mega-item{padding:6px 9px;margin:0 -9px}
  .mega-item b{font-size:.88rem;line-height:1.22}
  .mega-item span{font-size:.71rem!important;line-height:1.22!important;margin-top:3px!important}
  .mega-secondary-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--bone);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--mut);font-size:.75rem;line-height:1.35}
  .mega-secondary-row a{display:inline-flex;align-items:center;gap:8px;flex:none;margin:0;padding:7px 11px;border:1px solid #d4d1c8;border-radius:999px;background:var(--paper);color:var(--ink);font-weight:700;white-space:nowrap}
  .mega-secondary-row a:hover{border-color:var(--ink)}
  .mega-secondary-row a b{color:#9b7600}
}
@media(max-width:1180px) and (min-width:821px){
  .mega-grid,.mega-grid-services,.nav-help .mega-grid-help,.mega-grid-tech-v23{padding-left:22px;padding-right:22px;gap:18px 24px}
  .mega-feature-copy p{display:none}
}


/* v26 stable mega menu and left feature card */
@media(min-width:821px){
  .mega{top:calc(var(--header-h) - 1px)}
  .mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:16px;background:transparent}
  .mega-grid,.mega-grid-services,.nav-help .mega-grid-help,.mega-grid-tech-v23{
    max-width:1480px;margin:0 auto;padding:24px 32px 28px;display:grid;align-items:stretch;gap:28px;grid-template-columns:280px repeat(2,minmax(0,1fr))
  }
  .mega-grid-services{max-width:1280px;grid-template-columns:280px repeat(2,minmax(0,1fr))}
  .nav-help .mega-grid-help,.mega-grid-tech-v23{grid-template-columns:280px repeat(3,minmax(0,1fr))}
  .mega-grid>.mega-feature,.mega-grid-services>.mega-feature,.nav-help .mega-grid-help>.mega-feature,.mega-grid-tech-v23>.mega-feature{
    grid-column:auto;grid-row:1;min-width:0;min-height:100%;padding:22px;border-radius:14px;display:flex;flex-direction:column;align-items:flex-start;gap:14px
  }
  .mega-feature .tag{margin:0}
  .mega-feature-copy{display:block;min-width:0}
  .mega-feature-copy b{display:block;font-size:1.08rem;line-height:1.25;white-space:normal}
  .mega-feature-copy p{display:block;margin-top:8px;font-size:.78rem;line-height:1.48;white-space:normal;overflow:visible;text-overflow:clip}
  .mega-feature>a{margin-top:auto;background:transparent;color:var(--paper);border:0;border-bottom:2px solid var(--yellow);border-radius:0;padding:0 0 2px;font-size:.8rem}
  .mega-col-title{margin-bottom:10px;padding-bottom:9px}
  .mega-item{padding:7px 9px}
  .mega-item b{font-size:.88rem;line-height:1.2}
  .mega-item span{font-size:.71rem!important;line-height:1.2!important;margin-top:3px!important}
  .mega-secondary-row{grid-column:2/-1;align-self:end;margin-top:2px}
}
@media(max-width:1240px) and (min-width:821px){
  .mega-grid,.mega-grid-services,.nav-help .mega-grid-help,.mega-grid-tech-v23{grid-template-columns:240px repeat(2,minmax(0,1fr));gap:22px;padding-left:22px;padding-right:22px}
  .nav-help .mega-grid-help,.mega-grid-tech-v23{grid-template-columns:240px repeat(3,minmax(0,1fr))}
  .mega-feature-copy p{font-size:.73rem}
}


/* v27 Expertise balance, technology examples and trigger-only hover */
@media(min-width:821px){
  .mega-grid-industries{max-width:1320px;grid-template-columns:300px repeat(2,minmax(0,1fr));align-items:stretch;padding-top:24px;padding-bottom:26px}
  .mega-grid-industries>.mega-feature{min-height:0;height:100%}
  .mega-grid-industries>div:not(.mega-feature){display:flex;flex-direction:column}
  .mega-grid-industries .mega-list{display:grid;grid-template-rows:repeat(3,1fr);flex:1}
  .mega-grid-industries .mega-item{height:100%;display:flex;flex-direction:column;justify-content:center}
  .mega-feature-note{margin-top:14px;padding-top:12px;border-top:1px solid #34332f;font-size:.68rem;line-height:1.42;color:var(--mut-dark)}
  .mega-feature-note a{display:inline;margin:0 0 0 4px;padding:0;border:0;border-bottom:1px solid var(--yellow);border-radius:0;background:transparent;color:var(--paper);font-size:inherit}
  .mega-grid-tech-v23 .mega-item span{font-size:.68rem!important;letter-spacing:-.01em}
}
@media(max-width:1240px) and (min-width:821px){
  .mega-grid-industries{grid-template-columns:250px repeat(2,minmax(0,1fr))}
  .mega-grid-tech-v23 .mega-item span{font-size:.64rem!important}
}


/* v28 Expertise: adjacent domains and four-column balance */
@media(min-width:821px){
  .mega-grid-industries{max-width:1540px;grid-template-columns:280px repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
  .mega-grid-industries>.mega-feature{height:100%;min-height:0}
  .mega-grid-industries>div:not(.mega-feature){display:flex;flex-direction:column;min-width:0}
  .mega-grid-industries .mega-list{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));flex:1}
  .mega-grid-industries .mega-item{height:100%;display:flex;flex-direction:column;justify-content:center}
}
@media(max-width:1240px) and (min-width:821px){
  .mega-grid-industries{grid-template-columns:230px repeat(3,minmax(0,1fr));gap:20px}
  .mega-grid-industries .mega-item span{font-size:.66rem!important}
}


/* v29 Industries destination and anchored cards */
.industry-group+.industry-group{margin-top:48px;padding-top:40px;border-top:1px solid var(--line-dark)}
.industry-group-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:20px}
.industry-group-head h3{font-size:1.3rem;letter-spacing:-.02em}
.industry-group-head p{max-width:650px;color:var(--mut-dark);font-size:.84rem;line-height:1.5;text-align:right}
.industry-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.industry-grid-3 .ind-card{scroll-margin-top:160px;min-height:160px}
.industry-group-adjacent .ind-card{border-style:dashed}
@media(max-width:900px){.industry-grid-3{grid-template-columns:1fr}.industry-group-head{display:block}.industry-group-head p{text-align:left;margin-top:8px}.industry-grid-3 .ind-card{min-height:0}}


/* v32 simplified Company menu and universal contact form */
@media(min-width:821px){
  .mega-grid-company-simple{max-width:1180px;grid-template-columns:280px minmax(0,1fr);gap:30px;align-items:start;padding-top:22px;padding-bottom:24px}
  .mega-grid-company-simple>.mega-feature{height:auto;min-height:238px;padding:22px}
  .company-simple-panel{min-width:0}
  .company-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 26px}
  .company-link-grid .mega-item{min-height:62px;display:flex;flex-direction:column;justify-content:center;padding:8px 10px}
  .company-contact-row{margin-top:14px;padding:12px 14px;background:var(--bone);border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:24px}
  .company-contact-row>div{display:grid;gap:2px}.company-contact-row b{font-size:.86rem}.company-contact-row span{font-size:.7rem;color:var(--mut)}
  .company-contact-row>a{flex:none;padding:8px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.76rem;font-weight:700}
}
.contact-simple-hero{padding-bottom:48px}.contact-simple-hero .lead{max-width:760px}
.contact-simple-section{padding-top:56px}.contact-simple-wrap{max-width:1040px}.contact-simple-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:start}
.contact-form-card{padding:36px}.contact-form-card .btn{min-width:160px}.simple-form-done{text-align:center;padding:54px 24px}.simple-form-icon{width:56px;height:56px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;margin:0 auto 18px}
.contact-expect{padding:30px 0}.contact-expect .h2{font-size:1.75rem}.contact-next-list{margin:28px 0;border-top:1px solid var(--line)}.contact-next-list li{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.contact-next-list li>b{width:24px;height:24px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-size:.72rem}.contact-next-list span{font-size:.86rem;color:var(--mut);line-height:1.5}
.contact-meta{display:grid;gap:3px;padding:12px 0}.contact-meta b{font-size:.82rem}.contact-meta span{font-size:.78rem;color:var(--mut)}.contact-meta i{font-style:normal;margin-left:5px}
.contact-aside-lead{margin:14px 0 0;font-size:.92rem;color:var(--mut);line-height:1.6}
.contact-steps-list{list-style:none;margin:26px 0 24px;padding:0;position:relative}
.contact-steps-list li{display:flex;gap:16px;padding-bottom:22px;position:relative}
.contact-steps-list li:last-child{padding-bottom:0}
.contact-steps-list li:not(:last-child)::before{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:var(--line)}
.contact-step-circle{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;font-size:.84rem}
.contact-step-title{font-weight:700;font-size:.94rem;margin-bottom:3px}
.contact-step-sub{font-size:.84rem;color:var(--mut);line-height:1.5}
.contact-trusted{padding-top:18px;border-top:1px solid var(--line)}
.contact-trusted .trust-label{font-size:.78rem;font-weight:500;color:var(--mut-dark);margin-bottom:8px}
.contact-trusted .trust-names{display:flex;flex-wrap:wrap;gap:0}
.contact-trusted .trust-names strong{font-size:.9rem;font-weight:700;color:var(--ink)}
.contact-trusted .trust-names i{color:var(--mut-dark);font-style:normal;margin:0 10px}
@media(max-width:820px){.contact-simple-grid{grid-template-columns:1fr}.contact-expect{padding:8px 0}.contact-name-grid{grid-template-columns:1fr}.contact-form-card{padding:26px}}


/* v35 coherent site architecture */
@media(min-width:821px){.company-brand-line{margin-top:14px;padding:13px 14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:11px;color:var(--mut);font-size:.76rem;font-weight:650}.company-brand-line i{font-style:normal;color:#b28a00}.company-brand-line span{white-space:nowrap}}
@media(max-width:820px){.company-brand-line{display:none}}
.facts-static,.facts-static .facts-grid,.facts-static .fact{cursor:default!important}.facts-static .fact{pointer-events:none;transform:none!important;box-shadow:none!important}
.home-contact{scroll-margin-top:138px}.home-contact-wrap{max-width:1120px}.home-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.home-contact-copy{padding-top:24px}.home-contact-copy .lead{margin-top:16px;max-width:480px}.home-contact-meta{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:4px}.home-contact-meta span{font-size:.8rem;color:var(--mut)}.home-contact .contact-form-card{padding:34px}
.services-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-pillar{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:38px;display:flex;flex-direction:column;min-height:480px}.service-pillar-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.service-pillar>span{font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.service-pillar-dark>span{color:var(--yellow)}.service-pillar h2{font-size:2rem;line-height:1.1;margin:18px 0}.service-pillar p{color:var(--mut);max-width:500px}.service-pillar-dark p{color:var(--mut-dark)}.service-pillar ul{margin:28px 0;display:grid;gap:10px}.service-pillar li{padding-top:10px;border-top:1px solid var(--line);font-size:.9rem}.service-pillar-dark li{border-color:var(--line-dark)}.service-pillar>a{}.service-pillar>b{margin-top:auto;border-bottom:2px solid var(--yellow);align-self:flex-start}
.industry-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.industry-light>*{min-height:180px}.industry-grid-3>*{scroll-margin-top:155px}
.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.insight-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;min-height:280px}.insight-featured{grid-column:1/-1;background:var(--ink);color:var(--paper);min-height:320px}.insight-card>span{font-size:.68rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}.insight-featured>span{color:var(--yellow)}.insight-card h2{font-size:2.2rem;line-height:1.12;max-width:820px;margin:22px 0}.insight-card h3{font-size:1.25rem;line-height:1.3;margin:18px 0}.insight-card p{font-size:.9rem;line-height:1.6;color:var(--mut)}.insight-featured p{color:var(--mut-dark);max-width:820px}.insight-card a{margin-top:auto;padding-top:22px;font-size:.82rem;font-weight:700;border-bottom:2px solid var(--yellow);align-self:flex-start}
@media(max-width:820px){.home-contact-grid,.services-overview-grid,.industry-grid-3,.insight-grid{grid-template-columns:1fr}.insight-featured{grid-column:auto}.home-contact-copy{padding-top:0}.home-contact .contact-form-card{padding:26px}.service-pillar{min-height:0;padding:28px}}


/* v36 footer and Connected Engineering */
.footer-grid-v36{grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:34px}
/* v55: правило выше не должно повторяться после медиазапросов — см. TECH-01 */.footer-legal{margin-top:10px}.footer-grid-v36 .footer-col a{line-height:1.35}
.connected-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.connected-route{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--paper);display:flex;flex-direction:column;min-height:410px;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s}.connected-route:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--ink)}.connected-route>span{font-size:.68rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}.connected-route h3{font-size:1.35rem;line-height:1.2;margin:18px 0 10px}.connected-route p{font-size:.9rem;color:var(--mut);line-height:1.55}.connected-route ul{margin:24px 0;display:grid;gap:8px}.connected-route li{border-top:1px solid var(--line);padding-top:8px;font-size:.8rem;color:var(--mut)}.connected-route>b{margin-top:auto;align-self:flex-start;border-bottom:2px solid var(--yellow);font-size:.84rem}
.embedded-capability{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.embedded-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}.embedded-list article{background:var(--ink);padding:24px;min-height:150px}.embedded-list b{font-size:.96rem}.embedded-list p{margin-top:8px;color:var(--mut-dark);font-size:.84rem;line-height:1.55}.embedded-list-light{background:var(--line);border-color:var(--line)}.embedded-list-light article{background:var(--paper)}.embedded-list-light p{color:var(--mut)}
.connected-flow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bone)}.connected-flow span{font-size:.78rem;font-weight:650;text-align:center}.connected-flow i{font-style:normal;color:#b28a00}
@media(max-width:1100px){.footer-grid-v36{grid-template-columns:1.3fr repeat(2,1fr)}.footer-brand{grid-row:span 2}.connected-route-grid{grid-template-columns:1fr 1fr}.embedded-capability{grid-template-columns:1fr;gap:28px}}
@media(max-width:820px){.footer-grid-v36{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;grid-row:auto}.connected-route-grid{grid-template-columns:1fr}.connected-route{min-height:0}.connected-flow{align-items:stretch;flex-direction:column}.connected-flow i{transform:rotate(90deg);align-self:center}}
@media(max-width:560px){.footer-grid-v36{grid-template-columns:1fr}.footer-brand{grid-column:auto}.embedded-list{grid-template-columns:1fr}}


/* v37 advisory-first AI route */
.discovery-band{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bone)}
.discovery-points{display:grid;gap:0}.discovery-points>div{display:grid;gap:3px;padding:14px 0;border-bottom:1px solid var(--line)}.discovery-points b{font-size:.9rem}.discovery-points span{font-size:.8rem;color:var(--mut)}.discovery-points .btn{justify-self:start;margin-top:22px}
@media(max-width:820px){.discovery-band{grid-template-columns:1fr;gap:24px;padding:26px}}


/* v39 supplied brand assets, equal service pillars and complete technology ecosystem */
.logo-mark-img{width:34px;height:38px;object-fit:contain;display:block;flex:none}
.footer .logo-mark-img{width:38px;height:44px}
.services-overview-grid .service-pillar{background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:none}
.services-overview-grid .service-pillar>span{color:var(--mut)}
.services-overview-grid .service-pillar p{color:var(--mut)}
.services-overview-grid .service-pillar li{border-color:var(--line)}
.services-overview-grid .service-pillar:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow)}
.tech-subsections{gap:14px}.tech-subsection{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:34px;align-items:center;padding:26px 28px;min-height:154px;background:var(--paper)}
.tech-subsection h3{font-size:1.12rem;line-height:1.25;margin-bottom:8px}.tech-subsection>div:first-child p{max-width:560px;font-size:.86rem;line-height:1.55;color:var(--mut)}
.tech-chips{display:flex;align-items:center;align-content:center;flex-wrap:wrap;gap:9px}.tech-chips span{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:7px 11px 7px 8px;border:1px solid #dedbd2;border-radius:9px;background:var(--bone);font-size:.74rem;font-weight:650;line-height:1.15;white-space:nowrap}.tech-chips span::before{content:"TH";width:23px;height:23px;display:grid;place-items:center;flex:none;border-radius:6px;background:var(--ink);color:var(--yellow);font-size:.5rem;font-weight:800}.tech-chips span[data-label^="SAP"]::before{content:"SAP"}.tech-chips span[data-label^="Oracle"]::before{content:"O";font-size:.7rem}.tech-chips span[data-label^="Microsoft"]::before,.tech-chips span[data-label^="Dynamics"]::before{content:"MS"}.tech-chips span[data-label^="Salesforce"]::before{content:"SF"}.tech-chips span[data-label^="Shopify"]::before{content:"S";font-size:.7rem}.tech-chips span[data-label^="Adobe"]::before{content:"A";font-size:.7rem}.tech-chips span[data-label^="Databricks"]::before{content:"D";font-size:.7rem}.tech-chips span[data-label^="Snowflake"]::before{content:"S";font-size:.7rem}.tech-chips span[data-label^="Power BI"]::before{content:"BI"}.tech-chips span[data-label^="Tableau"]::before{content:"T";font-size:.7rem}.tech-chips span[data-label^="Azure"]::before{content:"Az"}.tech-chips span[data-label^="AWS"]::before{content:"AWS"}.tech-chips span[data-label^="Google"]::before{content:"G";font-size:.7rem}.tech-chips span[data-label^="Kubernetes"]::before{content:"K8s"}.tech-chips span[data-label^="Terraform"]::before{content:"Tf"}.tech-chips span[data-label^=".NET"]::before{content:".N"}.tech-chips span[data-label^="Java"]::before{content:"J";font-size:.7rem}.tech-chips span[data-label^="Python"]::before{content:"Py"}.tech-chips span[data-label^="Go"]::before{content:"Go"}
.home-tech-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-tech-group{border-top:3px solid var(--ink);padding-top:16px}.home-tech-group-title{font-size:1rem;line-height:1.3;margin-bottom:12px;min-height:42px}.home-tech-list{display:grid;gap:8px}.home-tech-item{border:1px solid var(--line);border-radius:11px;padding:14px;background:var(--paper)}.home-tech-item h3{font-size:.82rem;line-height:1.25;margin-bottom:9px}.tech-chips-compact{gap:5px}.tech-chips-compact span{min-height:29px;padding:4px 7px 4px 5px;font-size:.61rem;border-radius:7px}.tech-chips-compact span::before{width:18px;height:18px;font-size:.42rem;border-radius:5px}
.roles-tech-grid{gap:56px;align-items:stretch}.roles-tech-column{display:flex;flex-direction:column;min-width:0}.roles-tech-title{min-height:104px;margin-bottom:28px;display:flex;align-items:flex-start}.roles-tech-column .acc{width:100%}.roles-tech-column .acc-btn{min-height:80px}.roles-tech-action{display:inline-flex;margin-top:24px;align-self:flex-start}.roles-tech-column>.note-banner{margin-top:24px!important}
.contact-context[hidden]{display:none}
.contact-context{margin-bottom:18px;padding:11px 13px;border:1px solid #e2c55f;border-radius:9px;background:#fff8d9;display:flex;align-items:center;justify-content:space-between;gap:16px}.contact-context span{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--mut)}.contact-context b{font-size:.8rem}
@media(max-width:1100px){.home-tech-groups{grid-template-columns:1fr 1fr}.tech-subsection{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}}
@media(max-width:900px){.tech-subsection{grid-template-columns:1fr;min-height:0}.roles-tech-grid,.home-tech-groups{grid-template-columns:1fr}.roles-tech-title{min-height:0}.roles-tech-column .acc-btn{min-height:0}.home-tech-group-title{min-height:0}}
@media(max-width:560px){.tech-chips span{white-space:normal}.tech-subsection{padding:22px}}

.hire-contact-panel{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.hire-contact-panel>div{max-width:760px}.hire-contact-panel .btn{flex:none}@media(max-width:760px){.hire-contact-panel{align-items:flex-start;flex-direction:column;padding:26px}}


/* v40 strict visual parity, engagement cards, logo and favicon correction */
.logo-mark-img{width:46px!important;height:46px!important;object-fit:contain!important;margin:-3px 0!important}.footer .logo-mark-img{width:52px!important;height:52px!important}
.services-overview-grid{align-items:stretch}.services-overview-grid .service-pillar{border:1px solid var(--line)!important;background:var(--paper)!important;color:var(--ink)!important;border-radius:var(--radius)!important;padding:38px!important;min-height:480px!important;box-shadow:none!important}.services-overview-grid .service-pillar>span{display:block!important;min-height:18px!important;color:var(--mut)!important;font-size:.68rem!important;font-weight:750!important;letter-spacing:.12em!important;text-transform:uppercase!important}.services-overview-grid .service-pillar h2{margin:18px 0!important}.services-overview-grid .service-pillar p{color:var(--mut)!important}.services-overview-grid .service-pillar li{border-color:var(--line)!important}.services-overview-grid .service-pillar>b{margin-top:auto!important}.services-overview-grid .service-pillar:hover{border-color:var(--ink)!important;transform:translateY(-2px)!important;box-shadow:var(--shadow)!important}
.engage-card{position:relative;display:flex!important;flex-direction:column;color:inherit;text-decoration:none;cursor:pointer;transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}.engage-card:hover,.engage-card:focus-visible{transform:translateY(-3px);border-color:var(--ink)!important;box-shadow:var(--shadow);outline:none}.engage-card-cta{display:inline-flex;margin-top:auto;padding-top:22px;font-size:.76rem;font-weight:750;color:var(--ink);border-bottom:2px solid var(--yellow);align-self:flex-start}.engage-card p:last-of-type{margin-bottom:20px}
@media(max-width:820px){.logo-mark-img{width:42px!important;height:42px!important}.footer .logo-mark-img{width:48px!important;height:48px!important}.services-overview-grid .service-pillar{padding:28px!important;min-height:0!important}}

/* v47 navigation labels, distributed conversion traps and compact modal */
.mega-overview-title{display:inline;color:var(--paper);font-size:1.08rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;border-bottom:2px solid transparent;padding-bottom:2px}.mega-overview-title:hover,.mega-overview-title:focus-visible{border-bottom-color:var(--yellow);outline:none}
.embedded-contact{display:block;scroll-margin-top:138px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.embedded-contact .contact-form-card{padding:34px}
.fork-card{min-height:230px;padding:34px}.fork-card .h3{font-size:1.42rem;margin:0;max-width:75%}.fork-card p{margin-top:2px}.fork-card .go{padding-top:16px}
.contact-modal[hidden]{display:none}.contact-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:12px}.contact-modal-backdrop{position:absolute;inset:0;background:rgba(2,2,2,.68);backdrop-filter:blur(5px)}.contact-dialog{position:relative;width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:hidden;background:var(--paper);border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.38);padding:24px 28px;outline:none}.contact-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.contact-dialog-head .eyebrow{margin-bottom:6px}.contact-dialog-head .h2{font-size:clamp(1.45rem,2.2vw,1.9rem)}.contact-dialog-close{width:38px;height:38px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:50%;font-size:1.55rem;line-height:1}.contact-dialog-lead{margin:8px 0 14px;font-size:.9rem;color:var(--mut)}.contact-dialog-trust{margin:-6px 0 14px;font-size:.72rem;color:var(--mut)}.contact-dialog-trust-label{font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-right:4px}.contact-dialog .contact-context{margin-bottom:12px;padding:8px 11px}.contact-dialog .field{gap:5px;margin-bottom:11px}.contact-dialog .field input,.contact-dialog .field textarea{padding:10px 12px}.contact-dialog textarea{min-height:72px;resize:none}.contact-dialog-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:.72rem;color:var(--mut)}.contact-modal-open{overflow:hidden}.contact-modal-done{text-align:center;padding:28px 12px 12px}
@media(max-width:820px){.embedded-contact .contact-form-card{padding:26px}.fork-card{min-height:210px;padding:30px}}
@media(max-width:600px){.fork-card{min-height:0;padding:28px}.contact-modal{padding:10px}.contact-dialog{width:100%;padding:16px}.contact-dialog .grid-2{grid-template-columns:1fr 1fr;gap:8px}.contact-dialog .field{margin-bottom:9px}.contact-dialog .field input,.contact-dialog .field textarea{padding:8px 10px}.contact-dialog textarea{min-height:60px}}
@media(max-height:700px){.contact-dialog{padding:16px 20px}.contact-dialog-lead{margin:5px 0 9px}.contact-dialog-trust{margin:-4px 0 9px}.contact-dialog .field{margin-bottom:7px}.contact-dialog .field input,.contact-dialog .field textarea{padding:7px 10px}.contact-dialog textarea{min-height:54px}}

/* v48 conversion trap system and final pre-footer forms */
.conversion-trap-inline{background:var(--paper)}
.conversion-trap-panel{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:30px 34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--yellow-soft)}
.conversion-trap-panel>div{max-width:760px}.conversion-trap-panel .eyebrow{margin-bottom:10px}.conversion-trap-panel .h2{font-size:clamp(1.45rem,2.5vw,2rem)}.conversion-trap-panel .lead{margin-top:10px;font-size:1rem}.conversion-trap-panel .btn{flex:none}
.conversion-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.conversion-dual-card{min-height:220px;padding:30px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.conversion-dual-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.conversion-dual-card>span{font-size:.68rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase;opacity:.65}.conversion-dual-card h3{font-size:1.35rem;line-height:1.2}.conversion-dual-card p{max-width:440px;line-height:1.55}.conversion-dual-card b{margin-top:auto;font-size:.88rem}.conversion-dual-dark{background:var(--ink);color:var(--paper)}.conversion-dual-dark p{color:var(--mut-dark)}.conversion-dual-yellow{background:var(--yellow);color:var(--ink)}.conversion-dual-yellow p{color:#5a4a00}
.conversion-trap-dark .lead{max-width:820px;margin:18px auto 0}.conversion-trap-dark .btn{min-width:210px}
/* Final embedded form always ends the commercial page */
.embedded-contact{border-top:1px solid var(--line);border-bottom:0}
@media(max-width:820px){.conversion-trap-panel{align-items:flex-start;flex-direction:column;padding:26px}.conversion-dual-grid{grid-template-columns:1fr}.conversion-dual-card{min-height:190px}}
@media(max-width:600px){.conversion-trap-panel{padding:22px}.conversion-trap-panel .btn{width:100%}.conversion-dual-card{min-height:0;padding:26px}}

/* v49 desktop section links: hover opens mega, click navigates */
.nav-section-link{text-decoration:none;cursor:pointer}
.nav-section-link:focus-visible{outline:3px solid var(--yellow);outline-offset:4px;border-radius:4px}

/* v50 Company credentials and contact client proof */
.company-trust-line{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;text-align:center;white-space:nowrap;font-size:.76rem;font-weight:700;letter-spacing:-.01em;color:var(--mut)}
.company-trust-line span{display:inline-flex;align-items:center}
.company-trust-line i{color:var(--yellow);font-style:normal;font-size:.9rem;line-height:1}
.contact-client-proof{margin-top:40px;padding-top:28px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.contact-client-proof-label{font-size:.72rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.contact-client-names{display:flex;flex-wrap:wrap;align-items:center;gap:10px 13px;max-width:620px}
.contact-client-names strong{font-size:clamp(1.12rem,1.55vw,1.38rem);font-weight:750;letter-spacing:-.025em;line-height:1.25;color:var(--ink)}
.contact-client-names i{font-style:normal;color:var(--yellow);font-size:1.05rem;line-height:1}
@media(max-width:1180px){.company-trust-line{white-space:normal;flex-wrap:wrap;row-gap:7px}.company-trust-line span{white-space:nowrap}}
@media(max-width:760px){.contact-client-proof{margin-top:28px;padding-top:22px}.contact-client-names{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.contact-client-names i{display:none}.contact-client-names strong{font-size:1.12rem}}
@media(max-width:420px){.contact-client-names{grid-template-columns:1fr}}
/* Keep the Company credentials on one centered line throughout desktop mega-menu mode. */
@media(min-width:1101px){.company-trust-line{flex-wrap:nowrap;white-space:nowrap;gap:10px;font-size:.7rem}}


/* ============================================================
   v55 — retail sector navigation layer
   ВАЖНО: этот слой обязан оставаться последним в файле.
   Новые правила добавлять сюда, но НЕ дублировать селекторы,
   объявленные выше внутри медиазапросов (см. TECH-01/TECH-07).
   ============================================================ */

/* TECH-02: мега-меню не помещается в 1024-1100px — переключаемся на компактную навигацию раньше */
@media(max-width:1100px){
  .nav,.header-cta .btn-ghost{display:none}
  .burger{display:block;margin-left:0}
  .header-inner{gap:14px}
  .mega{display:none !important}
}

/* A11Y-03: skip link */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--yellow);color:var(--ink);
  padding:12px 20px;font-weight:700;font-size:.9rem;border-radius:0 0 8px 0;text-decoration:none}
.skip-link:focus{left:0}

/* A11Y-05: доступные ошибки формы */
.field-error{display:block;margin-top:6px;font-size:.78rem;font-weight:600;color:#B3261E}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#B3261E}
.form-status{margin-top:12px;font-size:.85rem;font-weight:600;color:#B3261E}

/* TECH-08: контент виден без JS; анимация появления включается только при наличии JS */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(22px)}
html.js .reveal.in{opacity:1;transform:none}

/* UX-01: два действия в десктопной шапке */
.header-cta{display:flex;align-items:center;gap:16px}
.header-cta .cta-secondary{font-size:.9rem;font-weight:650;color:var(--ink);text-decoration:none;white-space:nowrap;
  border-bottom:2px solid transparent;padding-bottom:2px;transition:border-color .18s var(--ease)}
.header-cta .cta-secondary:hover,.header-cta .cta-secondary:focus-visible{border-bottom-color:var(--yellow)}
@media(max-width:1240px) and (min-width:1101px){.header-cta{gap:10px}.header-cta .cta-secondary{font-size:.82rem}}
@media(max-width:1100px){.header-cta{display:none}}

/* TECH-11: hero масштабируется, а не подогнан под один вьюпорт */
@media(min-width:1101px){
  .th-hero h1{font-size:clamp(38px,3.4vw,54px);letter-spacing:-.037em}
  .th-left{padding:clamp(32px,4vh,60px) 32px clamp(32px,4vh,60px) clamp(40px,4vw,80px)}
  .th-hero{min-height:min(calc(100vh - var(--header-h)),820px)}
}

/* LEGAL-02: юридический ряд футера */
.footer-legal-row{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;line-height:1.6}
.footer-legal-row a{text-decoration:none;border-bottom:1px solid transparent}
.footer-legal-row a:hover{border-bottom-color:var(--yellow)}
.footer-entity{margin-top:10px;font-size:.78rem;line-height:1.6;opacity:.8}

/* Legal / 404 страницы */
.legal-body{max-width:760px}
.legal-body h2{margin-top:34px}
.legal-body p,.legal-body li{font-size:.95rem;line-height:1.7}
.notfound{min-height:60vh;display:flex;align-items:center}
.notfound-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:28px}

/* --- v55 follow-up: контраст в тёмных контекстах и фит hero --- */
/* A11Y-02: .section-ink, .footer и hero — тёмные, но не помечены .on-dark */
.section-ink .eyebrow,.footer .eyebrow,.th-hero .eyebrow,.contact-dialog.on-dark .eyebrow{color:var(--mut-dark)}
.section-ink .verify,.footer .verify,.th-hero .verify,.section-ink small,.footer small{color:var(--mut-dark);border-color:#4A4945}
.section-ink .lead,.footer .lead{color:var(--mut-dark)}
.footer-entity,.footer-legal-row{color:var(--mut-dark)}

/* TECH-02: hero складывается на том же брейкпоинте, где переключается навигация */
@media(max-width:1100px){
  .th-hero{flex-direction:column;min-height:0;padding-bottom:24px}
  .th-left{width:100%;padding:56px 24px 24px}
  .th-right{padding:8px 16px 32px;width:100%;max-width:100%;overflow:hidden}
  .th-hero h1{font-size:clamp(32px,4.4vw,44px);letter-spacing:-1.3px}
}
/* TECH-02: flex-элементы hero не должны раздуваться под фиксированную ширину диаграммы */
.th-left,.th-right{min-width:0}
@media(max-width:1100px){.th-right{min-width:0;max-width:100vw;overflow-x:clip}}
/* A11Y-02: остаточные тёмные контексты */
.delivery-footprint .eyebrow,.delivery-footprint small,.delivery-footprint .verify{color:var(--mut-dark)}
.delivery-footprint .verify{border-color:#4A4945}
.fork-card .eyebrow{color:#3A3833}
/* TECH-02: страховка от переполнения по горизонтали; clip (не hidden) не ломает position:sticky */
@media(max-width:1100px){.th-hero{overflow-x:clip}}
/* TECH-02: KPI-блок — элементы грида не должны раздуваться под min-content длинных подписей */
.facts-grid>.fact{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){.facts-grid{grid-template-columns:1fr 1fr}}
/* A11Y-02: остаточные пары — eyebrow на жёлтом и на тёмном */
.fork-card.yellow .eyebrow,.conversion-dual-card .eyebrow{color:#3A3833}
.fork-card.dark .eyebrow{color:var(--mut-dark)}
.fork-card.dark .fork-num{color:var(--mut-dark)}
.fork-card.yellow .fork-num{color:#5a4a00}
[class*="ink"] .eyebrow,[class*="ink"] small,[class*="ink"] .verify{color:var(--mut-dark)}
/* TECH-02 follow-up: списки на юридических страницах не должны раздувать контейнер на планшете */
.legal-body ul{padding-left:20px;max-width:100%}
.legal-body li{overflow-wrap:anywhere}
.legal-body .card{max-width:100%;overflow-wrap:anywhere}
.legal-body .card p{overflow-wrap:anywhere}
/* A11Y-02 follow-up: тёмный компонент .shortlist-metric не был покрыт общим правилом */
.shortlist-metric .verify{color:var(--mut-dark);border-color:#4A4945}


/* ============================================================
   v59 — focused Hero conversion hierarchy
   ============================================================ */
.th-positioning{display:none}
.th-left{width:46%;padding:54px 34px 54px clamp(42px,4.2vw,82px);align-items:flex-start;text-align:left;justify-content:center}
.th-hero h1{font-size:clamp(52px,4.25vw,68px);line-height:1.06;letter-spacing:-.045em;margin:0 0 24px;max-width:760px}
.hero-retail-emphasis{color:var(--yellow)}
.th-capability-line{font-size:clamp(17px,1.25vw,21px);line-height:1.4;font-weight:650;color:var(--paper);margin:0 0 24px}
.th-capability-rotator{display:inline-block;min-width:20ch;color:var(--yellow);transition:opacity .18s ease,transform .18s ease;will-change:opacity,transform}
.th-capability-rotator.is-changing{opacity:0;transform:translateY(4px)}
.th-sub{font-size:clamp(16px,1.08vw,18px);line-height:1.58;max-width:620px;margin:0 0 26px;color:#c4c2bb}
.hero-client-proof{display:grid;gap:8px;margin:0 0 30px}
.hero-client-proof-label{font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#a9a8a1}
.hero-client-names{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--paper)}
.hero-client-names strong{font-size:clamp(15px,1vw,17px);line-height:1.35;font-weight:650;white-space:nowrap}
.hero-client-names i{font-style:normal;color:var(--yellow)}
.th-hero-ctas{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.th-hero-ctas .th-cta{min-height:52px;padding:14px 26px;justify-content:center}
.th-cta-secondary{background:transparent;color:var(--paper);border:1px solid #5e5c56}
.th-cta-secondary:hover{background:var(--paper);border-color:var(--paper);color:var(--ink);box-shadow:none}
.header-cta{gap:8px}
.header-cta .header-specialist-cta{padding-inline:16px;background:transparent;border-color:#8e8b82;color:var(--ink)}
.header-cta .header-specialist-cta:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1180px){.header-inner{gap:18px}.nav-link{padding-inline:10px}.header-cta .btn{padding-inline:14px;font-size:.82rem}.th-left{width:48%;padding-left:42px}.th-hero h1{font-size:clamp(44px,4.3vw,56px)}}
@media(max-width:1024px){.header-cta{display:none}}
@media(max-width:700px){.th-left{width:100%;padding:46px 24px 32px}.th-hero h1{font-size:clamp(38px,10vw,50px);margin-bottom:20px}.th-capability-line{margin-bottom:20px}.th-capability-rotator{min-width:0}.th-sub{margin-bottom:24px}.hero-client-proof{margin-bottom:28px}.hero-client-names{display:grid;grid-template-columns:repeat(2,max-content);column-gap:16px;row-gap:6px}.hero-client-names i{display:none}.th-hero-ctas{width:100%;align-items:stretch}.th-hero-ctas .th-cta{width:100%}}
@media(max-width:390px){.hero-client-names{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.th-capability-rotator{transition:none}}


/* ============================================================
   v60 — Services, How We Help and enterprise trust architecture
   ============================================================ */
.mega-grid-services{max-width:1480px;grid-template-columns:.92fr repeat(3,1fr);gap:24px}.mega-grid-services .mega-item span{font-size:.72rem}
.service-area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-area-summary{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--paper);display:flex;flex-direction:column;min-height:260px}.service-area-label{font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.service-area-summary h3{font-size:1.4rem;margin:18px 0 12px}.service-area-summary p{color:var(--mut);margin-bottom:24px}.service-area-summary .btn-link{margin-top:auto;align-self:flex-start}
.service-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-cap-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-height:148px}.service-cap-card p{color:var(--mut);margin-top:12px;font-size:.9rem}.on-dark .service-cap-card{border-color:var(--line-dark)}.on-dark .service-cap-card p{color:var(--mut-dark)}
.help-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.help-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-height:160px}.help-card p{font-size:.84rem;color:var(--mut);margin-top:12px}.on-dark .help-card{border-color:var(--line-dark)}.on-dark .help-card p{color:var(--mut-dark)}
.engagement-grid-v60,.how-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.how-work-step{border-top:3px solid var(--ink);background:var(--bone);padding:24px;min-height:230px}.how-work-num{font-size:.72rem;color:var(--mut);font-weight:750}.how-work-step h3{margin:42px 0 12px}.how-work-step p{color:var(--mut);font-size:.88rem}.adapt-strip{margin-top:20px;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:22px 26px;display:flex;gap:24px;align-items:center}.adapt-strip b{color:var(--yellow);white-space:nowrap}.adapt-strip p{color:var(--mut-dark)}
.enterprise-trust-section{background:var(--bone)}.enterprise-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.enterprise-trust-item{padding:28px;border-right:1px solid var(--line);position:relative}.enterprise-trust-item:last-child{border-right:0}.enterprise-trust-item::before{content:"";display:block;width:28px;height:3px;background:var(--yellow);margin-bottom:22px}.enterprise-trust-item strong,.enterprise-trust-item span,.enterprise-trust-item small{display:block}.enterprise-trust-item strong{font-size:1.22rem}.enterprise-trust-item span{font-size:.82rem;color:var(--mut);margin-top:8px}.enterprise-trust-item small{font-size:.62rem;color:#8b8982;margin-top:18px;text-transform:uppercase;letter-spacing:.08em}
.th-capability-rotator{min-width:0!important}.th-capability-line{min-height:1.5em}
@media(max-width:1180px){.mega-grid-services{grid-template-columns:.8fr repeat(3,1fr);gap:16px}.mega-grid-services .mega-item{padding-block:7px}.mega-grid-services .mega-item span{display:none}.help-card-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.service-area-grid,.service-cap-grid{grid-template-columns:1fr 1fr}.engagement-grid-v60,.how-work-grid{grid-template-columns:1fr 1fr}.enterprise-trust-grid{grid-template-columns:1fr 1fr}.enterprise-trust-item:nth-child(2){border-right:0}.enterprise-trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.service-area-grid,.service-cap-grid,.help-card-grid,.engagement-grid-v60,.how-work-grid,.enterprise-trust-grid{grid-template-columns:1fr}.enterprise-trust-item{border-right:0;border-bottom:1px solid var(--line)!important}.enterprise-trust-item:last-child{border-bottom:0!important}.adapt-strip{display:block}.adapt-strip p{margin-top:8px}}

.company-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.company-trust-item{padding:15px 14px;border-right:1px solid var(--line);text-align:center}.company-trust-item:last-child{border-right:0}.company-trust-item b,.company-trust-item small{display:block}.company-trust-item b{font-size:.8rem;font-weight:750;color:var(--ink)}.company-trust-item small{font-size:.64rem;color:var(--mut);margin-top:3px}.company-trust-item::before{content:"";display:block;width:18px;height:2px;background:var(--yellow);margin:0 auto 8px}@media(max-width:1100px){.company-trust-item{padding:12px 8px}.company-trust-item b{font-size:.72rem}}


/* ============================================================
   v63 — buyer-led How We Help and simplified Hero
   ============================================================ */
.mega-process-column{min-width:0}.mega-process-intro{font-size:.78rem;color:var(--mut);margin:0 0 12px}.mega-process-list{display:grid;gap:9px;margin-bottom:14px}.mega-process-list li{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:7px}.mega-process-list li span{width:22px;height:22px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-size:.65rem;font-weight:800}.mega-process-list li b{font-size:.76rem;line-height:1.2}.mega-grid-help{grid-template-columns:.9fr 1.18fr 1fr .82fr}.mega-grid-help .mega-item span{font-size:.72rem}
.mega-grid-industries{position:relative}.industry-retail-shared-title{grid-column:2/4;font-size:.7rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);padding:0 0 9px;border-bottom:1px solid var(--line);align-self:end}.industry-retail-column-a{grid-column:2;grid-row:2}.industry-retail-column-b{grid-column:3;grid-row:2}.industry-adjacent-column{grid-column:4;grid-row:1/3}.mega-grid-industries>.mega-feature{grid-column:1;grid-row:1/3}.industry-group-head-continuation{min-height:0!important;margin:0!important;padding:0!important;border:0!important}
@media(max-width:1180px){.mega-grid-help{grid-template-columns:.8fr 1.1fr 1fr .78fr;gap:15px}.mega-grid-help .mega-item span{display:none}.mega-process-list li b{font-size:.7rem}}


/* ============================================================
   v64 — complete one-line mega-menu supporting copy
   ============================================================ */
@media(min-width:1101px){
  .mega-grid>div{min-width:0}
  .mega-item span,.mega-feature-copy p{
    display:block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    max-width:none!important;
  }
  .mega-item span{font-size:.66rem!important;line-height:1.2!important;letter-spacing:-.012em!important;margin-top:3px!important}
  .mega-feature-copy p{font-size:.72rem!important;line-height:1.25!important;letter-spacing:-.01em!important}
  .mega-grid-services{grid-template-columns:.84fr 1fr 1.06fr 1fr;gap:22px}
  .mega-grid-help{grid-template-columns:.8fr 1.12fr 1fr .78fr;gap:22px}
  .mega-grid-tech-v23{grid-template-columns:.78fr 1fr 1fr 1fr;gap:22px}
  .mega-grid-industries{grid-template-columns:.8fr 1fr 1fr 1fr;gap:22px}
  .mega-grid-company-simple{grid-template-columns:.82fr 2.18fr;gap:28px}
}
@media(min-width:1101px) and (max-width:1280px){
  .mega-item span{font-size:.61rem!important;letter-spacing:-.018em!important}
  .mega-feature-copy p{font-size:.66rem!important}
  .mega-grid-services,.mega-grid-help,.mega-grid-tech-v23,.mega-grid-industries{gap:15px}
}
@media(min-width:1101px){
  .mega-item span,.mega-feature-copy p{overflow:visible!important;text-overflow:clip!important}
}
@media(min-width:1101px) and (max-width:1280px){
  .mega-item span{font-size:.58rem!important}
  .mega-feature-copy p{font-size:.62rem!important}
}


/* ============================================================
   v66 — Services page/section hierarchy only
   ============================================================ */
@media(min-width:1101px){
  #mega-services .mega-grid-services{grid-template-columns:.82fr 1fr 1fr 1fr;gap:30px;align-items:start}
  #mega-services .services-overview-destination{align-self:stretch;background:var(--ink);color:var(--paper);border-radius:12px;padding:24px;display:flex;flex-direction:column;min-width:0}
  #mega-services .services-page-kicker{font-size:.65rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px}
  #mega-services .services-page-link{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.08rem;font-weight:760;line-height:1.2;letter-spacing:-.02em}
  #mega-services .services-page-link i{font-style:normal;color:var(--yellow);font-size:1.15rem;transition:transform .18s}
  #mega-services .services-page-link:hover i{transform:translateX(3px)}
  #mega-services .services-page-desc{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:.72rem!important;line-height:1.4!important;color:var(--mut);margin:8px 0 0}
  #mega-services .services-overview-destination .services-page-desc{color:var(--mut-dark);margin-top:10px}
  #mega-services .services-overview-action{margin-top:auto;padding-top:26px;color:var(--yellow);font-size:.78rem;font-weight:700}
  #mega-services .services-page-column{min-width:0}
  #mega-services .services-section-list{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:3px}
  #mega-services .services-section-list a{position:relative;display:block;padding:7px 4px 7px 15px;font-size:.76rem;line-height:1.25;color:var(--ink)}
  #mega-services .services-section-list a::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;background:var(--yellow)}
  #mega-services .services-section-list a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
}
.mobile-service-page{display:block!important;padding:14px 0 9px!important;border-top:1px solid var(--line);font-weight:750!important}.mobile-service-page b,.mobile-service-page span{display:block}.mobile-service-page span{font-size:.72rem;color:var(--mut);margin-top:4px}.mobile-service-section{position:relative;padding:8px 0 8px 16px!important;font-size:.84rem!important}.mobile-service-section::before{content:"";position:absolute;left:1px;top:15px;width:5px;height:5px;background:var(--yellow)}
.service-area-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-area-page-section{border:1px solid var(--line);border-radius:var(--radius);padding:28px;scroll-margin-top:150px}.service-area-page-section p{color:var(--mut);margin-top:12px}
.home-centered-next-step{padding:86px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-centered-next-step .wrap{display:flex;justify-content:center}.home-centered-next-step-content{width:min(100%,760px);text-align:center;margin:0 auto}.home-centered-next-step-content .eyebrow{justify-content:center;margin-bottom:20px}.home-centered-next-step-content .h2{max-width:680px;margin:0 auto}.home-centered-next-step-content .lead{max-width:720px;margin:20px auto 0;color:var(--mut)}
@media(max-width:700px){.service-area-page-grid{grid-template-columns:1fr}.home-centered-next-step{padding:64px 0}}


/* ============================================================
   v67 — Services arrows, no page descriptors, engagement overview
   ============================================================ */
@media(min-width:1101px){
  #mega-services .services-page-column>.services-page-link{justify-content:flex-start;gap:10px}
  #mega-services .services-page-arrow{order:0;flex:none;color:var(--yellow);font-style:normal;font-size:1rem;line-height:1;transition:transform .18s}
  #mega-services .services-page-link span{order:1}
  #mega-services .services-page-column>.services-page-link:hover .services-page-arrow{transform:translateX(3px)}
  #mega-services .services-section-list{margin-top:18px}
  #mega-services .services-overview-destination{padding:22px 24px}
  #mega-services .services-engagements{margin-top:23px;padding-top:17px;border-top:1px solid #2d2d2b}
  #mega-services .services-engagements-label{display:block;color:var(--mut-dark);font-size:.62rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
  #mega-services .services-engagements ul{display:grid;grid-template-columns:1fr 1fr;gap:5px 13px}
  #mega-services .services-engagements a{position:relative;display:block;padding:3px 0 3px 10px;color:var(--paper);font-size:.68rem;line-height:1.2}
  #mega-services .services-engagements a::before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;background:var(--yellow)}
  #mega-services .services-overview-action{margin-top:auto;padding-top:18px}
  #mega-services .services-engagement-action{margin-top:7px;color:var(--mut-dark);font-size:.68rem;font-weight:650}
}
.mobile-services-engagements{padding:6px 0 10px}.mobile-services-engagements .mobile-group-label{display:block}.mobile-services-engagements>div{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.mobile-services-engagements a{font-size:.8rem!important;padding:7px 0!important;color:var(--mut)!important}


/* ============================================================
   v68 — Services pages vs in-page sections hierarchy
   ============================================================ */
@media(min-width:1101px){
 #mega-services .mega-grid-services{grid-template-columns:.82fr 1fr 1fr 1fr;gap:30px;align-items:stretch}
 #mega-services .services-overview-destination{background:var(--ink);color:var(--paper);border-radius:12px;padding:26px 25px;display:flex;flex-direction:column;min-width:0}
 #mega-services .services-page-kicker{display:inline-flex;align-self:flex-start;padding:7px 12px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
 #mega-services .services-overview-title{font-size:1.22rem;font-weight:780;letter-spacing:-.02em;margin-top:24px}
 #mega-services .services-overview-copy{font-size:.76rem;line-height:1.5;color:var(--mut-dark);margin-top:10px;max-width:230px}
 #mega-services .services-overview-action{margin-top:auto;padding-top:26px;color:var(--paper);font-size:.78rem;font-weight:750;border-bottom:2px solid var(--yellow);align-self:flex-start}
 #mega-services .services-page-column{min-width:0}
 #mega-services .services-page-card{display:block;margin:-10px -10px 0;padding:10px;border-radius:9px;transition:background .18s}
 #mega-services .services-page-card:hover,#mega-services .services-page-card:focus-visible{background:var(--bone);outline:none}
 #mega-services .services-page-card:focus-visible{box-shadow:0 0 0 3px var(--yellow)}
 #mega-services .services-page-title-row{display:flex;align-items:center;gap:8px}
 #mega-services .services-page-title-row strong{font-size:1.08rem;font-weight:780;line-height:1.2;letter-spacing:-.02em}
 #mega-services .services-page-arrow{font-style:normal;color:#c89400;font-size:.98rem;line-height:1;transition:transform .18s}
 #mega-services .services-page-card:hover .services-page-arrow{transform:translateX(3px)}
 #mega-services .services-page-desc{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:var(--mut);font-size:.7rem!important;line-height:1.35!important;margin-top:6px}
 #mega-services .services-section-list{margin-top:13px;padding-top:13px;border-top:1px solid var(--line);display:grid;gap:0}
 #mega-services .services-section-list a{position:relative;display:block;padding:7px 2px 7px 14px}
 #mega-services .services-section-list a::before{content:"";position:absolute;left:0;top:12px;width:4px;height:4px;background:var(--yellow)}
 #mega-services .services-section-list b,#mega-services .services-section-list span{display:block}
 #mega-services .services-section-list b{font-size:.73rem;font-weight:650;line-height:1.2;color:var(--ink)}
 #mega-services .services-section-list span{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:.61rem!important;line-height:1.2!important;color:var(--mut);margin-top:3px}
 #mega-services .services-section-list a:hover b{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
}
.mobile-service-page{display:block!important;padding:14px 0 9px!important;border-top:1px solid var(--line)}.mobile-service-page b,.mobile-service-page span,.mobile-service-section b,.mobile-service-section span{display:block}.mobile-service-page b{font-weight:750}.mobile-service-page span{font-size:.72rem;color:var(--mut);margin-top:4px}.mobile-service-section{position:relative;padding:8px 0 8px 16px!important}.mobile-service-section::before{content:"";position:absolute;left:1px;top:15px;width:5px;height:5px;background:var(--yellow)}.mobile-service-section b{font-size:.84rem}.mobile-service-section span{font-size:.69rem;color:var(--mut);margin-top:3px}


/* ============================================================
   v69 — Services capability interaction refinement
   ============================================================ */
@media(min-width:1101px){
  #mega-services .services-page-card{padding-top:12px;padding-bottom:12px}
  #mega-services .services-section-list{margin-top:12px;padding-top:14px}
  #mega-services .services-section-list a{overflow:visible;transition:color .17s ease}
  #mega-services .services-section-list b{
    display:block;
    transform-origin:left center;
    will-change:transform;
    transition:transform .17s cubic-bezier(.22,.61,.2,1),color .17s ease;
    text-decoration:none!important;
  }
  #mega-services .services-section-list span{
    transition:color .17s ease;
  }
  #mega-services .services-section-list a::before{
    transform-origin:left center;
    transition:transform .17s cubic-bezier(.22,.61,.2,1),width .17s ease;
  }
  #mega-services .services-section-list a:hover b,
  #mega-services .services-section-list a:focus-visible b{
    transform:translateX(3px) scale(1.035);
    color:var(--ink);
    text-decoration:none!important;
  }
  #mega-services .services-section-list a:hover span,
  #mega-services .services-section-list a:focus-visible span{
    color:#494842;
  }
  #mega-services .services-section-list a:hover::before,
  #mega-services .services-section-list a:focus-visible::before{
    transform:scaleX(1.75);
  }
  #mega-services .services-section-list a:focus-visible{outline:2px solid var(--yellow);outline-offset:2px;border-radius:4px}
}
@media(prefers-reduced-motion:reduce){
  #mega-services .services-section-list b,
  #mega-services .services-section-list span,
  #mega-services .services-section-list a::before{transition:none!important}
  #mega-services .services-section-list a:hover b,
  #mega-services .services-section-list a:focus-visible b{transform:none!important}
}


/* ============================================================
   v70 — calm Services hierarchy and Industries-style hover
   ============================================================ */
@media(min-width:1101px){
  /* Parent service-area pages: quieter, smaller, still identifiable by arrow. */
  #mega-services .services-page-title-row strong{
    font-size:.88rem!important;
    font-weight:720!important;
    line-height:1.22!important;
    letter-spacing:-.012em!important;
  }
  #mega-services .services-page-arrow{
    font-size:.84rem!important;
    transition:none!important;
  }
  #mega-services .services-page-card{
    padding:10px!important;
    transition:background-color .14s ease!important;
  }
  #mega-services .services-page-card:hover,
  #mega-services .services-page-card:focus-visible{
    background:var(--bone)!important;
  }
  #mega-services .services-page-card:hover .services-page-arrow,
  #mega-services .services-page-card:focus-visible .services-page-arrow{
    transform:none!important;
  }

  /* In-page capabilities: larger and easier to scan than in v69. */
  #mega-services .services-section-list{
    margin-top:11px!important;
    padding-top:13px!important;
  }
  #mega-services .services-section-list a{
    margin:1px -8px!important;
    padding:8px 8px 8px 22px!important;
    border-radius:7px!important;
    overflow:visible!important;
    transition:background-color .14s ease!important;
  }
  #mega-services .services-section-list a::before{
    left:8px!important;
    top:14px!important;
    width:4px!important;
    height:4px!important;
    transform:none!important;
    transition:none!important;
  }
  #mega-services .services-section-list b{
    font-size:.81rem!important;
    font-weight:650!important;
    line-height:1.22!important;
    letter-spacing:-.012em!important;
    transform:none!important;
    transition:none!important;
    text-decoration:none!important;
    will-change:auto!important;
  }
  #mega-services .services-section-list span{
    font-size:.63rem!important;
    line-height:1.22!important;
    margin-top:3px!important;
    transition:none!important;
  }
  /* Same interaction language as Industries: neutral bone highlight only. */
  #mega-services .services-section-list a:hover,
  #mega-services .services-section-list a:focus-visible{
    background:var(--bone)!important;
  }
  #mega-services .services-section-list a:hover b,
  #mega-services .services-section-list a:focus-visible b,
  #mega-services .services-section-list a:hover span,
  #mega-services .services-section-list a:focus-visible span{
    transform:none!important;
    color:inherit!important;
    text-decoration:none!important;
  }
  #mega-services .services-section-list a:hover::before,
  #mega-services .services-section-list a:focus-visible::before{
    transform:none!important;
  }
  #mega-services .services-section-list a:focus-visible{
    outline:2px solid var(--yellow)!important;
    outline-offset:1px!important;
  }
}


/* ============================================================
   v71 — clickable Services page headings
   ============================================================ */
@media(min-width:1101px){
  #mega-services .services-page-card{
    cursor:pointer;
    color:inherit;
    text-decoration:none!important;
    transition:background-color .14s ease,color .14s ease!important;
  }
  #mega-services .services-page-card:hover,
  #mega-services .services-page-card:focus-visible{
    background:var(--bone)!important;
    color:var(--ink)!important;
    text-decoration:none!important;
  }
  #mega-services .services-page-card:hover strong,
  #mega-services .services-page-card:focus-visible strong{
    color:var(--ink)!important;
    text-decoration:none!important;
  }
  #mega-services .services-page-card:hover .services-page-arrow,
  #mega-services .services-page-card:focus-visible .services-page-arrow{
    color:#b88700!important;
    transform:none!important;
  }
  #mega-services .services-page-card:focus-visible{
    outline:2px solid var(--yellow)!important;
    outline-offset:2px!important;
  }
}


/* ============================================================
   v72 — Services aligned to Technologies visual language
   ============================================================ */
@media(min-width:1101px){
  /* Clickable service-area headings use the same typography as Technology column headings. */
  #mega-services .services-page-card{
    display:block!important;
    margin:0!important;
    padding:0 0 10px!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:0!important;
    color:var(--mut)!important;
    background:transparent!important;
    text-decoration:none!important;
    cursor:pointer;
    transition:color .12s ease,background-color .12s ease!important;
  }
  #mega-services .services-page-title-row{
    display:block!important;
  }
  #mega-services .services-page-title-row strong{
    display:block!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1.25!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    color:inherit!important;
  }
  #mega-services .services-page-card:hover,
  #mega-services .services-page-card:focus-visible{
    color:var(--ink)!important;
    background:var(--bone)!important;
    padding-left:9px!important;
    padding-right:9px!important;
    margin-left:-9px!important;
    margin-right:-9px!important;
    border-radius:8px 8px 0 0!important;
    text-decoration:none!important;
  }
  #mega-services .services-page-card:focus-visible{
    outline:2px solid var(--yellow)!important;
    outline-offset:2px!important;
  }

  /* Capability links now match Technology menu items exactly. */
  #mega-services .services-section-list{
    margin-top:14px!important;
    padding-top:0!important;
    border-top:0!important;
    display:block!important;
  }
  #mega-services .services-section-list li+li{
    margin-top:2px!important;
  }
  #mega-services .services-section-list a{
    display:block!important;
    margin:0 -9px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    background:transparent!important;
    text-decoration:none!important;
    transition:background .12s!important;
  }
  #mega-services .services-section-list a::before{
    display:none!important;
    content:none!important;
  }
  #mega-services .services-section-list b{
    display:block!important;
    font-size:.87rem!important;
    font-weight:600!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
    color:var(--ink)!important;
    transform:none!important;
    text-decoration:none!important;
  }
  #mega-services .services-section-list span{
    display:block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:.72rem!important;
    line-height:1.35!important;
    color:var(--mut)!important;
    margin-top:3px!important;
    transform:none!important;
    text-decoration:none!important;
  }
  #mega-services .services-section-list a:hover,
  #mega-services .services-section-list a:focus-visible{
    background:var(--bone)!important;
    text-decoration:none!important;
  }
  #mega-services .services-section-list a:hover b,
  #mega-services .services-section-list a:focus-visible b,
  #mega-services .services-section-list a:hover span,
  #mega-services .services-section-list a:focus-visible span{
    color:inherit;
    transform:none!important;
    text-decoration:none!important;
  }
  #mega-services .services-section-list a:focus-visible{
    outline:2px solid var(--yellow)!important;
    outline-offset:1px!important;
  }
}


/* ============================================================
   v73 — Services interaction repair and featured editorial card
   ============================================================ */
@media(min-width:1101px){
  #mega-services .services-page-card{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:10px 12px!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:10px!important;
    background:transparent!important;
    transition:background .12s!important;
  }
  #mega-services .services-page-card:hover,
  #mega-services .services-page-card:focus-visible{
    margin:0!important;
    padding:10px 12px!important;
    background:var(--bone)!important;
    color:var(--ink)!important;
  }
  #mega-services .services-section-list a{
    box-sizing:border-box!important;
    width:calc(100% + 18px)!important;
    margin:0 -9px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    background:transparent!important;
    transition:background .12s!important;
  }
  #mega-services .services-section-list a:hover,
  #mega-services .services-section-list a:focus-visible{
    background:var(--bone)!important;
  }
  #mega-services .services-section-list a:hover b,
  #mega-services .services-section-list a:focus-visible b{
    color:var(--ink)!important;
  }
  #mega-services .services-section-list a:hover span,
  #mega-services .services-section-list a:focus-visible span{
    color:var(--mut)!important;
  }
  #mega-services .services-overview-destination{padding:24px!important}
  #mega-services .services-page-kicker{font-size:.6rem!important}
  #mega-services .services-insight-title{font-size:1.12rem;font-weight:760;line-height:1.22;letter-spacing:-.025em;margin-top:22px;color:var(--paper)}
  #mega-services .services-insight-copy{font-size:.72rem;line-height:1.48;color:var(--mut-dark);margin-top:11px}
  #mega-services .services-insight-meta{display:block;font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;color:#7f7d75;margin-top:14px}
  #mega-services .services-overview-action{margin-top:auto!important;padding-top:20px!important}
}
.article-detail-wrap{max-width:860px}.article-standfirst{font-size:1.25rem;line-height:1.6;color:var(--ink);margin-bottom:44px}.article-detail h2{margin:44px 0 16px}.article-detail p{color:var(--mut);font-size:1rem;line-height:1.75;margin-top:14px}.article-source-note{margin-top:48px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bone)}.article-source-note b,.article-source-note a{display:block}.article-source-note p{margin:8px 0 16px;font-size:.88rem}.article-source-note a{font-size:.82rem;font-weight:700;border-bottom:2px solid var(--yellow);width:max-content}.insight-featured-internal{background:var(--ink);color:var(--paper)}


/* ============================================================
   v74 — Homepage Hero without CTA controls
   ============================================================ */
.th-hero .th-left{display:flex;flex-direction:column;justify-content:center;padding-top:48px;padding-bottom:48px}
.th-hero .th-left h1{max-width:650px}
.th-hero .th-capability-line{margin-bottom:22px}
.th-hero .th-sub{max-width:660px;margin-bottom:30px;font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.62}
.th-hero .hero-client-proof{position:relative;max-width:660px;margin:0;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);gap:10px}
.th-hero .hero-client-proof-label{color:#8f8e88}
.th-hero .hero-client-names{row-gap:8px}
@media(max-width:900px){.th-hero .th-left{padding-top:48px;padding-bottom:42px}.th-hero .th-sub{max-width:620px}.th-hero .hero-client-proof{max-width:620px}}
@media(max-width:700px){.th-hero .th-left{padding:46px 24px 34px}.th-hero .th-sub{margin-bottom:26px}.th-hero .hero-client-proof{margin:0;padding-top:18px}}


/* ============================================================
   v75 — Services page-link active underline
   ============================================================ */
@media(min-width:1101px){
  /* Parent service-area links: no fill. The underline is the page-level affordance. */
  #mega-services .services-page-card{
    position:relative!important;
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:10px 0 11px!important;
    border:0!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--mut)!important;
    cursor:pointer!important;
    text-decoration:none!important;
    transition:color .14s ease!important;
  }
  #mega-services .services-page-card::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:2px;
    background:var(--yellow);
    opacity:0;
    transform:scaleX(.18);
    transform-origin:left center;
    transition:opacity .14s ease,transform .18s var(--ease);
    pointer-events:none;
  }
  #mega-services .services-page-card:hover,
  #mega-services .services-page-card:focus-visible{
    margin:0!important;
    padding:10px 0 11px!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--ink)!important;
    text-decoration:none!important;
  }
  #mega-services .services-page-card:hover::after,
  #mega-services .services-page-card:focus-visible::after{
    opacity:1;
    transform:scaleX(1);
  }
  #mega-services .services-page-card:focus-visible{
    outline:2px solid var(--yellow)!important;
    outline-offset:4px!important;
  }

  /* In-page capability links retain the Technologies full-area bone highlight. */
  #mega-services .services-section-list a,
  #mega-services .services-section-list a:hover,
  #mega-services .services-section-list a:focus-visible{
    text-decoration:none!important;
  }
  #mega-services .services-section-list a:hover,
  #mega-services .services-section-list a:focus-visible{
    background:var(--bone)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #mega-services .services-page-card,
  #mega-services .services-page-card::after{transition:none!important}
}


/* ============================================================
   v77 — Insights IA, Services engagement model and credentials
   ============================================================ */
@media(min-width:1101px){
 .mega-grid-insights{grid-template-columns:.82fr 1fr 1fr 1fr;gap:26px;align-items:stretch}
 .mega-grid-insights>.mega-feature{height:100%}
 #mega-technologies .mega-feature{padding:23px 24px}
 #mega-technologies .tech-credentials-feature{width:100%}
 #mega-technologies .mega-overview-title{font-size:1.05rem;line-height:1.25;letter-spacing:-.02em}
 #mega-technologies .tech-credential-vendors{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:17px}
 #mega-technologies .tech-credential-vendors span{position:relative;padding-left:10px;font-size:.69rem;line-height:1.2;color:var(--paper)}
 #mega-technologies .tech-credential-vendors span::before{content:"";position:absolute;left:0;top:.45em;width:4px;height:4px;background:var(--yellow)}
 #mega-technologies .tech-credential-note{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:.65rem!important;line-height:1.4!important;color:var(--mut-dark);margin-top:16px}
}
.insights-category-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.insights-category-nav a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:.76rem;font-weight:650;background:var(--paper)}.insights-category-nav a:hover{background:var(--yellow)}.insights-readiness{border-top:1px solid var(--line)}
.certified-expertise-section{scroll-margin-top:140px;background:var(--paper)}.credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.credential-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--paper);min-height:205px}.credential-card-label{display:block;font-size:.64rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:18px}.credential-card p{color:var(--mut);font-size:.88rem;line-height:1.55;margin:10px 0 22px}.credential-card .verify{position:absolute;left:26px;bottom:24px}.credential-qualifier{margin-top:22px;padding:22px 24px;border-left:4px solid var(--yellow);background:var(--bone)}.credential-qualifier b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.credential-qualifier p{color:var(--mut);font-size:.85rem;line-height:1.55;margin-top:7px;max-width:900px}
.engagement-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}.engagement-model-card{display:flex;flex-direction:column;min-height:240px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:transform .15s,box-shadow .15s}.engagement-model-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.engagement-model-card p{color:var(--mut);font-size:.86rem;margin-top:12px}.engagement-model-card span{margin-top:auto;padding-top:24px;font-size:.78rem;font-weight:700}.engagement-start-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.engagement-start-steps li{padding:24px;border-right:1px solid var(--line)}.engagement-start-steps li:last-child{border-right:0}.engagement-start-steps span{display:block;color:var(--yellow);font-size:.75rem;font-weight:800}.engagement-start-steps b{display:block;margin-top:12px}.engagement-start-steps p{color:var(--mut);font-size:.82rem;margin-top:8px}.common-start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.common-start-grid article{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.common-start-grid p{color:var(--mut);font-size:.86rem;margin-top:10px}
@media(max-width:900px){.credential-grid{grid-template-columns:repeat(2,1fr)}.engagement-model-grid,.engagement-start-steps{grid-template-columns:repeat(2,1fr)}.engagement-start-steps li:nth-child(2){border-right:0}.common-start-grid{grid-template-columns:1fr}}
@media(max-width:620px){.credential-grid,.engagement-model-grid,.engagement-start-steps{grid-template-columns:1fr}.credential-card{min-height:0}.credential-card .verify{position:static;display:inline-flex;margin-top:4px}.engagement-start-steps li{border-right:0;border-bottom:1px solid var(--line)}.engagement-start-steps li:last-child{border-bottom:0}}


/* ============================================================
   v78 — Minimal Insights model
   ============================================================ */
@media(min-width:1101px){
  .mega-grid-insights{grid-template-columns:.92fr 1fr 1fr!important;gap:30px!important;align-items:stretch}
  .mega-grid-insights>.mega-feature{min-width:0;height:100%}
  #mega-insights .mega-feature-copy{min-width:0;width:100%}
  #mega-insights .mega-overview-title{white-space:normal!important;overflow-wrap:break-word;word-break:normal;font-size:1.12rem;line-height:1.22;max-width:100%}
  #mega-insights .mega-feature-copy p{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:.72rem!important;line-height:1.45!important}
  .insights-route-column{display:flex;flex-direction:column;min-width:0}
  .insights-route-card{display:flex;flex-direction:column;flex:1;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:background .12s}
  .insights-route-card:hover,.insights-route-card:focus-visible{background:var(--bone)}
  .insights-route-card h3{font-size:1.02rem;line-height:1.25}
  .insights-route-card p{color:var(--mut);font-size:.76rem;line-height:1.5;margin-top:10px}
  .insights-route-card span{margin-top:auto;padding-top:24px;font-size:.76rem;font-weight:700;border-bottom:2px solid var(--yellow);align-self:flex-start}
}


/* ============================================================
   v133 — Testimonials: shared 7-quote pill-tab component, real
   client photos/logos. Identical dataset/markup on every page that
   includes it. Reuses the generic [data-choice-selector] handler
   (role=tab/tabpanel) — no page-specific JS required. Panel is a
   light card (matches the source reference screenshots) regardless
   of whether the wrapping section is on-dark or on-paper.
   ============================================================ */
.testi-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.testi-tab{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--mut);font:inherit;font-size:.8rem;font-weight:650;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.section-ink .testi-tab{border-color:#3a3a37;background:transparent;color:var(--mut-dark)}
.testi-tab:hover{border-color:var(--yellow);color:var(--ink)}
.section-ink .testi-tab:hover{color:var(--paper)}
.testi-tab.active{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.testi-tab:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.testi-panels{margin-top:26px}
.testi-panel{display:none;padding:34px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}
.testi-panel.active{display:block}
.testi-head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.testi-logo-link{display:inline-flex;align-items:center;gap:14px;min-width:0;text-decoration:none}
.testi-logo-link img.testi-logo{height:34px;width:auto;max-width:180px;object-fit:contain;flex:none}
.testi-logo-link .testi-industry{color:var(--mut);font-size:.78rem;font-weight:650}
.testi-country{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:.74rem;font-weight:650;color:var(--mut);white-space:nowrap;flex:none}
.testi-quote-box{margin-top:18px;padding:22px 24px;border-radius:var(--radius);background:var(--bone)}
.testi-quote-box p{color:var(--ink);font-size:1rem;line-height:1.65;white-space:pre-line;margin:0}
.testi-person{display:flex;align-items:center;gap:14px;margin-top:20px}
.testi-person-link{display:flex;align-items:center;gap:14px;text-decoration:none}
.testi-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line)}
.testi-name{color:var(--ink);font-weight:700;font-size:.9rem}
.testi-role{color:var(--mut);font-size:.78rem;margin-top:2px}
.testi-view-case{margin-top:16px}
.testi-view-case a{font-size:.78rem;font-weight:700;color:var(--ink);border-bottom:2px solid var(--yellow);text-decoration:none}
.testi-logo-link,.testi-person-link{color:inherit}
a.testi-logo-link:hover .testi-industry,a.testi-person-link:hover .testi-name{text-decoration:underline}
@media(max-width:620px){.testi-panel{padding:26px 20px}.testi-tabs{gap:8px}.testi-tab{padding:8px 14px;font-size:.76rem}.testi-head-row{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.testi-tab{transition:none}}


/* ============================================================
   v79 — Interactive content selectors inspired by vertical use-case navigation
   ============================================================ */
.th-choice-selector{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(0,2.22fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper);margin-top:30px;min-height:520px}
.th-choice-tabs{display:flex;flex-direction:column;background:#f2f1ed;border-right:1px solid var(--line)}
.th-choice-tab{position:relative;flex:1;min-height:112px;padding:24px 26px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--mut);cursor:pointer;font:inherit;transition:background .16s,color .16s}
.th-choice-tab:last-child{border-bottom:0}.th-choice-tab::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--yellow);opacity:0}.th-choice-tab span{display:block;font-size:1.02rem;font-weight:700;line-height:1.25;color:inherit}.th-choice-tab small{display:block;margin-top:7px;font-size:.66rem;line-height:1.3;letter-spacing:.09em;text-transform:uppercase;color:#8b8981}.th-choice-tab:hover{background:#ebe9e2;color:var(--ink)}.th-choice-tab.active{background:#fff3bd;color:var(--ink)}.th-choice-tab.active::before{opacity:1}.th-choice-tab:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px;z-index:2}
.th-choice-panels{min-width:0;background:var(--ink)}.th-choice-panel{display:none;grid-template-columns:minmax(0,.88fr) minmax(300px,1.12fr);gap:32px;height:100%;padding:42px;color:var(--paper)}.th-choice-panel.active{display:grid}.th-choice-panel .eyebrow{color:var(--yellow)}.th-choice-panel .h2{font-size:clamp(1.7rem,2.6vw,2.55rem);max-width:520px}.th-choice-panel .lead{color:var(--mut-dark);font-size:.95rem;line-height:1.6;margin-top:18px}.th-choice-panel .btn-link{display:inline-flex;margin-top:32px;color:var(--paper);border-bottom-color:var(--yellow)}
.th-choice-detail{align-self:stretch;padding:30px;border-radius:14px;background:var(--bone);color:var(--ink)}.th-choice-detail-title{font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}.th-choice-detail ul{display:grid}.th-choice-detail li{padding:14px 0;border-bottom:1px solid var(--line)}.th-choice-detail li:last-child{border-bottom:0}.th-choice-detail li b,.th-choice-detail li span{display:block}.th-choice-detail li b{font-size:.89rem;line-height:1.25}.th-choice-detail li span{font-size:.73rem;line-height:1.4;color:var(--mut);margin-top:3px}
#ways-to-work .th-choice-panel{background:#151513}#ways-to-work .th-choice-selector{min-height:500px}
@media(max-width:900px){.th-choice-selector{grid-template-columns:1fr;min-height:0}.th-choice-tabs{display:grid;grid-template-columns:repeat(2,1fr);border-right:0;border-bottom:1px solid var(--line)}.th-choice-tab{min-height:94px;border-right:1px solid var(--line)}.th-choice-panel{grid-template-columns:1fr;padding:32px}.th-choice-detail{padding:24px}}
@media(max-width:620px){.th-choice-tabs{grid-template-columns:1fr}.th-choice-tab{min-height:0;padding:18px 20px;border-right:0}.th-choice-panel{padding:26px 20px;gap:24px}.th-choice-panel .h2{font-size:1.65rem}.th-choice-panel .btn-link{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.th-choice-tab{transition:none}}

/* ------------------------------------------------------------
   "Three Ways to Bring Us In" — engagement-model picker. Sitewide
   (used on services, about, software-cloud-engineering, retail-data-ai,
   retail-systems-integration and technologies — every #ways-to-work
   instance shares this exact markup, so the component lives here
   rather than in any one page's own CSS file).
   Collapsed: 3 light tiles in a row. Clicking "See How It Works"
   turns that tile black and reveals a shared black detail panel
   below the row (4-step horizontal timeline + CTA). Clicking the
   active tile's button again collapses everything.
   ------------------------------------------------------------ */
.svc-models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.svc-model-card{
  display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius);padding:28px 26px;transition:background .22s var(--ease),border-color .22s var(--ease);
}
.svc-model-tagline{font-style:italic;font-weight:600;font-size:.86rem;color:#9C7A22;margin-bottom:12px}
.svc-model-card .h3{margin-bottom:8px}
.svc-model-desc{font-size:.88rem;line-height:1.55;color:var(--mut);margin-bottom:16px}
.svc-model-fit{
  margin-top:auto;margin-bottom:18px;padding:14px 16px;border-radius:var(--radius-sm);
  background:var(--yellow-soft);border:1px solid #EAD48A;
}
.svc-model-fit-label{display:block;margin-bottom:5px;font-size:.66rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#9C7A22}
.svc-model-fit-text{font-size:.84rem;font-weight:550;color:var(--ink);line-height:1.4}
.svc-model-toggle{width:100%;justify-content:center;gap:8px}
.svc-model-chev{transition:transform .2s var(--ease)}
.svc-model-toggle[aria-expanded="true"] .svc-model-chev{transform:rotate(180deg)}

.svc-model-card.active{background:var(--ink);border-color:var(--ink)}
.svc-model-card.active .h3{color:var(--paper)}
.svc-model-card.active .svc-model-tagline{color:var(--yellow)}
.svc-model-card.active .svc-model-desc{color:var(--mut-dark)}
.svc-model-card.active .svc-model-fit{background:rgba(255,193,0,.14);border-color:rgba(255,193,0,.4)}
.svc-model-card.active .svc-model-fit-text{color:var(--paper)}
.svc-model-card.active .svc-model-toggle{border-color:var(--paper);color:var(--paper)}
.svc-model-card.active .svc-model-toggle:hover{background:var(--paper);color:var(--ink)}

.svc-model-panel-wrap{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);margin-top:0}
.svc-model-panel-wrap.show{max-height:900px;margin-top:24px}
.svc-model-panel{display:none;background:var(--ink);border-radius:var(--radius);padding:44px 46px;color:var(--paper)}
.svc-model-panel.active{display:block}
.svc-model-panel-title{font-size:.78rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--yellow);margin-bottom:18px}
.svc-model-panel-intro{font-size:.96rem;line-height:1.6;color:var(--mut-dark);max-width:820px;margin:0 0 34px}
.svc-model-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.svc-model-steps::before{content:"";position:absolute;top:18px;left:6%;right:6%;height:2px;background:rgba(255,255,255,.16)}
.svc-model-step{position:relative;padding:0 16px}
.svc-model-step-num{
  width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--ink);
  font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:.92rem;
}
.svc-model-step-label{font-weight:700;font-size:.96rem;margin-bottom:8px}
.svc-model-step-text{font-size:.83rem;line-height:1.55;color:#C9C9C9}
.svc-model-panel-cta{
  margin-top:40px;padding-top:30px;border-top:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.svc-model-panel-ready{font-size:.96rem;color:var(--mut-dark)}

@media(max-width:900px){
  .svc-models-grid{grid-template-columns:1fr}
  .svc-model-panel{padding:32px}
  .svc-model-steps{grid-template-columns:1fr;gap:22px}
  .svc-model-steps::before{display:none}
}
@media(max-width:620px){
  .svc-model-panel{padding:26px 20px}
}


/* ============================================================
   v80 — Company enterprise-trust feature card
   ============================================================ */
@media(min-width:1101px){
  #mega-company .mega-feature{padding:24px;min-width:0}
  #mega-company .company-trust-feature{width:100%;min-width:0}
  #mega-company .company-trust-feature .mega-overview-title{font-size:1.16rem;line-height:1.24;letter-spacing:-.025em;white-space:normal}
  #mega-company .company-trust-proof{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;width:100%;margin-top:20px;padding-top:18px;border-top:1px solid #31312e}
  #mega-company .company-trust-proof-item{display:block;min-width:0}
  #mega-company .company-trust-proof-item b,#mega-company .company-trust-proof-item small{display:block}
  #mega-company .company-trust-proof-item b{font-size:.72rem;line-height:1.25;color:var(--paper)}
  #mega-company .company-trust-proof-item small{font-size:.61rem;line-height:1.3;color:var(--mut-dark);margin-top:3px}
  #mega-company .company-trust-feature-note{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:.64rem!important;line-height:1.42!important;color:var(--mut-dark);margin-top:18px}
  #mega-company .company-simple-panel{display:flex;flex-direction:column;justify-content:center}
  #mega-company .company-link-grid{margin-bottom:0}
}


/* ============================================================
   v81 — Compact Company mega menu
   ============================================================ */
@media(min-width:1101px){
  #mega-company .mega-grid-company-simple{
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.9fr)!important;
    gap:34px!important;
    align-items:stretch!important;
    padding-top:26px!important;
    padding-bottom:26px!important;
  }
  #mega-company .mega-feature{
    min-height:0!important;
    height:auto!important;
    padding:23px 24px!important;
    gap:10px!important;
  }
  #mega-company .company-trust-feature-compact{width:100%;min-width:0}
  #mega-company .company-trust-feature-compact .mega-overview-title{
    font-size:1.12rem!important;
    line-height:1.22!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    max-width:260px;
  }
  #mega-company .company-trust-lines{
    display:grid;
    gap:7px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #30302d;
  }
  #mega-company .company-trust-lines span{
    display:block;
    font-size:.7rem;
    line-height:1.3;
    font-weight:650;
    color:var(--paper);
    white-space:normal;
  }
  #mega-company .mega-feature>a{
    margin-top:18px!important;
    font-size:.74rem!important;
  }
  #mega-company .company-simple-panel{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    min-height:0!important;
    padding:0!important;
  }
  #mega-company .company-simple-panel>.mega-col-title{margin-bottom:14px!important}
  #mega-company .company-link-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 24px!important;
    align-content:start!important;
    margin:0!important;
  }
  #mega-company .company-link-grid .mega-item{
    min-height:78px!important;
    padding:13px 14px!important;
    margin:0!important;
    border-radius:10px!important;
  }
  #mega-company .company-link-grid .mega-item b{font-size:.92rem!important}
  #mega-company .company-link-grid .mega-item span{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:.71rem!important;
    line-height:1.32!important;
  }
}


/* ============================================================
   v87 — richer contextual mega cards, CEO note and ESG
   ============================================================ */
@media(min-width:1101px){
 #mega-services .services-overview-destination{display:flex!important;flex-direction:column!important;padding:23px!important}
 #mega-services .services-insight-title{font-size:1.05rem!important;line-height:1.2!important;white-space:normal!important}
 #mega-services .services-insight-copy{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:.68rem!important;margin-top:9px!important}
 #mega-services .services-model-list{display:grid;gap:0;margin-top:15px;border-top:1px solid #30302d}
 #mega-services .services-model-list span{display:block;padding:7px 0;border-bottom:1px solid #30302d;font-size:.68rem;font-weight:650;color:var(--paper)}
 #mega-services .services-overview-action{padding-top:16px!important}
 #mega-technologies .tech-credential-vendors{grid-template-columns:1fr 1fr!important;margin-top:8px!important}
 #mega-technologies .tech-credential-note{margin-top:14px!important}
 #mega-insights .insights-feature-date{display:block;margin-top:14px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#85837c}
 #mega-company .mega-grid-company-simple{grid-template-columns:minmax(310px,.78fr) minmax(0,1.9fr)!important;gap:28px!important;padding:24px 0!important;align-items:stretch!important}
 #mega-company .company-ceo-feature{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;column-gap:16px!important;align-content:start!important;min-height:276px!important;padding:22px!important}
 #mega-company .company-ceo-feature>.tag{grid-column:1/-1}
 #mega-company .company-ceo-portrait{grid-column:1;grid-row:2/4;width:72px;height:84px;border-radius:10px;overflow:hidden;margin-top:16px;background:#222}
 #mega-company .company-ceo-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}
 #mega-company .company-ceo-feature blockquote{grid-column:2;grid-row:2;margin:16px 0 0;color:var(--paper);font-size:.91rem;line-height:1.38;font-weight:650}
 #mega-company .company-ceo-name{grid-column:2;grid-row:3;color:var(--mut-dark);font-size:.62rem;margin-top:10px}
 #mega-company .company-ceo-feature>a{grid-column:1/-1;grid-row:4;align-self:end;margin-top:auto!important;padding-top:16px!important}
 #mega-company .company-simple-panel{display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
 #mega-company .company-link-grid{gap:4px 20px!important}
 #mega-company .company-link-grid .mega-item{min-height:66px!important;padding:10px 12px!important}
 #mega-company .company-facts-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;margin-top:13px;padding:15px 0 0;border-top:1px solid var(--line);background:transparent}
 #mega-company .company-fact-item{display:flex;min-height:44px;flex-direction:column;padding:0 16px;border-right:1px solid var(--line)}
 #mega-company .company-fact-item:first-child{padding-left:0}#mega-company .company-fact-item:last-child{padding-right:0;border-right:0}
 #mega-company .company-fact-item b{font-size:.69rem;line-height:1.22}#mega-company .company-fact-item small{margin-top:4px;font-size:.6rem;color:var(--mut)}
 #mega-industries .mega-grid-industries{grid-template-columns:minmax(280px,.82fr) minmax(0,1fr) minmax(0,1fr) minmax(300px,1.05fr)!important;grid-template-rows:38px minmax(0,1fr)!important;align-items:stretch!important;column-gap:26px!important;row-gap:0!important}
 #mega-industries .mega-feature{grid-column:1!important;grid-row:1/3!important;height:100%!important;align-self:stretch!important}
 #mega-industries .industry-retail-shared-title{grid-column:2/4!important;grid-row:1!important;display:flex!important;align-items:flex-start!important;min-height:38px!important;padding:1px 0 10px!important;margin:0!important}
 #mega-industries .industry-retail-column-a{grid-column:2!important;grid-row:2!important}.industry-retail-column-b{grid-column:3!important;grid-row:2!important}
 #mega-industries .industry-adjacent-column{grid-column:4!important;grid-row:1/3!important;display:grid!important;grid-template-rows:38px minmax(0,1fr)!important}
 #mega-industries .industry-adjacent-column>.mega-col-title{display:flex!important;align-items:flex-start!important;min-height:38px!important;padding:1px 0 10px!important;margin:0!important}
 #mega-industries .industry-retail-column-a .mega-list,#mega-industries .industry-retail-column-b .mega-list,#mega-industries .industry-adjacent-column .mega-list{display:grid!important;grid-template-rows:repeat(3,minmax(0,1fr))!important;height:100%!important;margin:0!important}
 #mega-industries .mega-item{display:flex!important;height:100%!important;flex-direction:column!important;justify-content:center!important;padding-top:8px!important;padding-bottom:8px!important}
}
.esg-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.esg-priority-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.esg-priority-card>span{display:block;color:var(--yellow);font-size:.72rem;font-weight:800}.esg-priority-card h3{margin-top:20px}.esg-priority-card p{margin-top:10px;color:var(--mut);font-size:.87rem;line-height:1.55}
@media(max-width:820px){.esg-priority-grid{grid-template-columns:1fr}}


/* ============================================================
   v88 — compact Services feature and simplified Company menu
   ============================================================ */
@media(min-width:1101px){
  /* Services feature follows the actual menu content height, without overshooting it. */
  #mega-services .mega-grid-services{align-items:start!important}
  #mega-services .services-overview-destination{
    align-self:start!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:21px 22px!important;
  }
  #mega-services .services-page-kicker{padding:6px 11px!important}
  #mega-services .services-insight-title{margin-top:17px!important;font-size:1rem!important;line-height:1.18!important}
  #mega-services .services-insight-copy{margin-top:7px!important}
  #mega-services .services-model-list{margin-top:12px!important}
  #mega-services .services-model-list span{padding:5px 0!important;font-size:.65rem!important}
  #mega-services .services-overview-action{margin-top:0!important;padding-top:13px!important;font-size:.71rem!important}

  /* Company now contains only the CEO card and the four useful routes. */
  #mega-company .mega-grid-company-simple{
    grid-template-columns:minmax(310px,.78fr) minmax(0,1.9fr)!important;
    gap:30px!important;
    padding-top:24px!important;
    padding-bottom:24px!important;
    align-items:stretch!important;
  }
  #mega-company .company-ceo-feature{
    min-height:244px!important;
    height:auto!important;
    padding:21px!important;
  }
  #mega-company .company-ceo-feature blockquote{
    font-size:.94rem!important;
    line-height:1.34!important;
    letter-spacing:-.012em;
  }
  #mega-company .company-simple-panel{
    justify-content:center!important;
    min-height:244px!important;
  }
  #mega-company .company-simple-panel>.mega-col-title{margin-bottom:12px!important}
  #mega-company .company-link-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 22px!important;
    align-content:center!important;
  }
  #mega-company .company-link-grid .mega-item{
    min-height:82px!important;
    padding:14px!important;
  }
  #mega-company .company-link-grid .mega-item b{font-size:.94rem!important}
  #mega-company .company-link-grid .mega-item span{font-size:.72rem!important;line-height:1.34!important}
}


/* ============================================================
   v89 — Services model badges and compact Company menu
   ============================================================ */
@media(min-width:1101px){
  /* Match the Technologies credential-list language: 2 columns, compact labels, yellow dots. */
  #mega-services .services-model-list{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px 13px!important;
    margin-top:14px!important;
    padding-top:14px!important;
    border-top:1px solid #30302d!important;
  }
  #mega-services .services-model-list span{
    position:relative!important;
    display:block!important;
    padding:0 0 0 10px!important;
    border:0!important;
    font-size:.67rem!important;
    font-weight:600!important;
    line-height:1.22!important;
    color:var(--paper)!important;
  }
  #mega-services .services-model-list span::before{
    content:"";
    position:absolute;
    left:0;
    top:.46em;
    width:4px;
    height:4px;
    background:var(--yellow);
  }
  #mega-services .services-overview-action{
    padding-top:15px!important;
  }

  /* Compact Company composition: shorter CEO card and denser route grid. */
  #mega-company .mega-grid-company-simple{
    grid-template-columns:minmax(292px,.72fr) minmax(0,1.95fr)!important;
    gap:26px!important;
    padding-top:20px!important;
    padding-bottom:20px!important;
    align-items:stretch!important;
  }
  #mega-company .company-ceo-feature{
    grid-template-columns:62px minmax(0,1fr)!important;
    column-gap:14px!important;
    min-height:204px!important;
    padding:18px!important;
  }
  #mega-company .company-ceo-feature>.tag{
    font-size:.58rem!important;
    padding:6px 10px!important;
  }
  #mega-company .company-ceo-portrait{
    width:62px!important;
    height:70px!important;
    margin-top:12px!important;
    border-radius:8px!important;
  }
  #mega-company .company-ceo-feature blockquote{
    margin-top:12px!important;
    font-size:.82rem!important;
    line-height:1.32!important;
  }
  #mega-company .company-ceo-name{
    margin-top:7px!important;
    font-size:.58rem!important;
  }
  #mega-company .company-ceo-feature>a{
    padding-top:11px!important;
    font-size:.68rem!important;
  }
  #mega-company .company-simple-panel{
    min-height:204px!important;
    justify-content:flex-start!important;
  }
  #mega-company .company-simple-panel>.mega-col-title{
    margin-bottom:8px!important;
    padding-bottom:8px!important;
  }
  #mega-company .company-link-grid{
    gap:4px 16px!important;
    align-content:start!important;
  }
  #mega-company .company-link-grid .mega-item{
    min-height:68px!important;
    padding:10px 12px!important;
  }
  #mega-company .company-link-grid .mega-item b{
    font-size:.87rem!important;
  }
  #mega-company .company-link-grid .mega-item span{
    margin-top:3px!important;
    font-size:.67rem!important;
    line-height:1.3!important;
  }
}
@media(max-width:1200px) and (min-width:1101px){
  #mega-company .mega-grid-company-simple{grid-template-columns:275px minmax(0,1fr)!important;gap:20px!important}
  #mega-company .company-ceo-feature{grid-template-columns:56px minmax(0,1fr)!important;padding:16px!important}
  #mega-company .company-ceo-portrait{width:56px!important;height:66px!important}
  #mega-company .company-ceo-feature blockquote{font-size:.76rem!important}
}


/* ============================================================
   v90 — vertical Services models + grouped Company menu
   ============================================================ */
@media(min-width:1101px){
  /* Four models vertically, with Technologies-style yellow markers. */
  #mega-services .services-model-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    margin-top:12px!important;
    padding-top:10px!important;
    border-top:1px solid #30302d!important;
  }
  #mega-services .services-model-list span{
    position:relative!important;
    display:block!important;
    padding:5px 0 5px 11px!important;
    border:0!important;
    font-size:.65rem!important;
    font-weight:600!important;
    line-height:1.2!important;
    color:var(--paper)!important;
  }
  #mega-services .services-model-list span::before{
    content:"";
    position:absolute;
    left:0;
    top:.8em;
    width:4px;
    height:4px;
    background:var(--yellow);
  }
  #mega-services .services-overview-destination{
    min-height:0!important;
    height:auto!important;
    padding:20px 22px!important;
  }
  #mega-services .services-overview-action{
    padding-top:12px!important;
  }

  /* Restore the CEO card dimensions and visual scale from v88. */
  #mega-company .mega-grid-company-simple{
    grid-template-columns:minmax(310px,.78fr) minmax(0,1.9fr)!important;
    gap:30px!important;
    padding-top:24px!important;
    padding-bottom:24px!important;
    align-items:stretch!important;
  }
  #mega-company .company-ceo-feature{
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:16px!important;
    min-height:244px!important;
    height:auto!important;
    padding:21px!important;
  }
  #mega-company .company-ceo-feature>.tag{
    font-size:.6rem!important;
    padding:7px 12px!important;
  }
  #mega-company .company-ceo-portrait{
    width:72px!important;
    height:84px!important;
    margin-top:16px!important;
    border-radius:10px!important;
  }
  #mega-company .company-ceo-feature blockquote{
    margin-top:16px!important;
    font-size:.94rem!important;
    line-height:1.34!important;
    letter-spacing:-.012em!important;
  }
  #mega-company .company-ceo-name{
    margin-top:10px!important;
    font-size:.62rem!important;
  }
  #mega-company .company-ceo-feature>a{
    padding-top:16px!important;
    font-size:.72rem!important;
  }

  /* Alternative 3: two meaningful groups, each with two compact routes. */
  #mega-company .company-simple-panel{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px!important;
    min-height:244px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  #mega-company .company-route-group{
    display:grid;
    grid-template-rows:auto 1fr;
    min-width:0;
  }
  #mega-company .company-route-group>.mega-col-title{
    margin:0!important;
    padding:0 0 10px!important;
    min-height:31px;
  }
  #mega-company .company-route-list{
    display:grid;
    grid-template-rows:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--line);
  }
  #mega-company .company-route-list .mega-item{
    display:flex!important;
    min-height:0!important;
    flex-direction:column!important;
    justify-content:center!important;
    margin:0!important;
    padding:14px 12px!important;
    border-bottom:1px solid var(--line);
    border-radius:0!important;
  }
  #mega-company .company-route-list .mega-item:last-child{border-bottom:0}
  #mega-company .company-route-list .mega-item:hover,
  #mega-company .company-route-list .mega-item:focus-visible{
    border-radius:10px!important;
    background:var(--bone)!important;
  }
  #mega-company .company-route-list .mega-item b{font-size:.9rem!important}
  #mega-company .company-route-list .mega-item span{
    margin-top:4px!important;
    font-size:.69rem!important;
    line-height:1.34!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}
@media(max-width:1200px) and (min-width:1101px){
  #mega-company .mega-grid-company-simple{grid-template-columns:290px minmax(0,1fr)!important;gap:22px!important}
  #mega-company .company-simple-panel{gap:18px!important}
  #mega-company .company-route-list .mega-item{padding:12px 9px!important}
}


/* ============================================================
   v91 — Industries client reference + Services spacing
   ============================================================ */
@media(min-width:1101px){
  /* Reduce the gap between the How We Work label and headline. */
  #mega-services .services-insight-title{
    margin-top:10px!important;
  }

  /* River Island client perspective, following the CEO-card language. */
  #mega-industries .industry-reference-feature{
    display:grid!important;
    grid-template-columns:68px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    column-gap:15px!important;
    align-content:start!important;
    min-height:0!important;
    height:100%!important;
    padding:21px!important;
  }
  #mega-industries .industry-reference-feature>.tag{
    grid-column:1/-1;
  }
  #mega-industries .industry-reference-portrait{
    grid-column:1;
    grid-row:2/4;
    width:68px;
    height:82px;
    margin-top:15px;
    overflow:hidden;
    border-radius:9px;
    background:#222;
  }
  #mega-industries .industry-reference-portrait img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 25%;
  }
  #mega-industries .industry-reference-feature blockquote{
    grid-column:2;
    grid-row:2;
    margin:15px 0 0;
    color:var(--paper);
    font-size:1rem;
    font-weight:700;
    line-height:1.3;
    letter-spacing:-.015em;
  }
  #mega-industries .industry-reference-name{
    grid-column:2;
    grid-row:3;
    margin-top:10px;
    color:var(--mut-dark);
    font-size:.59rem;
    line-height:1.35;
  }
  #mega-industries .industry-reference-feature>a{
    grid-column:1/-1;
    grid-row:4;
    align-self:end;
    margin-top:auto!important;
    padding-top:15px!important;
    font-size:.7rem!important;
  }
}
@media(max-width:1200px) and (min-width:1101px){
  #mega-industries .industry-reference-feature{grid-template-columns:58px minmax(0,1fr)!important;padding:17px!important;column-gap:12px!important}
  #mega-industries .industry-reference-portrait{width:58px;height:72px}
  #mega-industries .industry-reference-feature blockquote{font-size:.88rem}
  #mega-industries .industry-reference-name{font-size:.54rem}
}

/* ============================================================
   v102 - single-surface, consistent desktop mega menus
   ============================================================ */
@media(min-width:1101px){
  .mega{background:#fff!important;padding:0!important;border-top:1px solid var(--line)!important;box-shadow:0 18px 38px rgba(0,0,0,.12)!important}
  .mega>.mega-grid,.mega>.services-clean-mega{width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .mega-feature,.services-overview-destination,.company-ceo-feature,.industry-reference-feature{border-radius:0!important}

  #mega-services .services-clean-mega{display:grid;grid-template-columns:270px repeat(3,minmax(0,1fr));background:#fff;padding:20px 24px 20px 24px}
  #mega-services .services-overview-destination{margin:0 22px 0 0!important;border-radius:var(--radius)!important}
  #mega-services .services-clean-column{min-width:0;padding:0 14px;border-left:1px solid var(--line);align-self:start}
  #mega-services .services-clean-column:first-of-type{border-left:0;padding-left:8px}
  #mega-services .services-clean-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 6px 10px;padding:0 8px 11px;border-bottom:1px solid var(--line);color:var(--ink);transition:border-color .15s ease}
  #mega-services .services-clean-heading strong{font-size:.86rem;line-height:1.25;font-weight:730}
  #mega-services .services-clean-heading span{color:#8c8a84;display:inline-block;transition:color .15s ease,transform .15s ease}
  #mega-services .services-clean-heading:hover{border-bottom-color:var(--yellow)!important}
  #mega-services .services-clean-heading:hover span{color:var(--ink);transform:translateX(2px)}
  #mega-services .services-clean-link{display:block;padding:8px 10px;border-radius:8px}
  #mega-services .services-clean-link:hover,#mega-services .services-clean-link:focus-visible{background:var(--bone);outline:none}
  #mega-services .services-clean-link b{display:block;font-size:.71rem;line-height:1.28}
  #mega-services .services-clean-link span{display:block;margin-top:3px;color:var(--mut);font-size:.59rem;line-height:1.35}

  /* Shared density: content determines height, not fixed menu shells. */
  #mega-industries .mega-grid-industries,#mega-technologies .mega-grid-tech-v23,#mega-insights .mega-grid-insights,#mega-company .mega-grid-company-simple{min-height:0!important;height:auto!important;align-items:stretch!important;padding-top:20px!important;padding-bottom:20px!important}
  #mega-industries .mega-feature,#mega-technologies .mega-feature,#mega-insights .mega-feature,#mega-company .mega-feature{height:auto!important;min-height:0!important;align-self:stretch!important}
  #mega-company .company-simple-panel,#mega-insights .insights-route-column{align-self:stretch!important}
}
@media(max-width:1250px) and (min-width:1101px){
  #mega-services .services-clean-column{padding:0 10px}
  #mega-services .services-clean-column:first-of-type{padding-left:8px}
  #mega-services .services-clean-heading strong{font-size:.78rem}
  #mega-services .services-clean-link{padding:7px 8px}
  #mega-services .services-clean-link b{font-size:.66rem}
  #mega-services .services-clean-link span{font-size:.56rem}
}


/* ============================================================
   v92 (cont.) — Services feature card: wider, gap-driven spacing,
   dash-style kicker matching the site's other mega labels
   ============================================================ */
@media(min-width:1101px){
  #mega-services .services-clean-mega{grid-template-columns:330px repeat(3,minmax(0,1fr))!important}
  #mega-services .services-overview-destination{
    display:flex!important;
    flex-direction:column!important;
    gap:11px!important;
    margin:0 22px 0 0!important;
    border-radius:var(--radius)!important;
    padding:20px 22px!important;
  }
  #mega-services .services-page-kicker{
    display:inline-flex!important;align-items:center!important;gap:12px!important;
    margin:0!important;padding:0!important;border-radius:0!important;background:transparent!important;
    color:var(--yellow)!important;font-size:.68rem!important;font-weight:800!important;
    letter-spacing:.14em!important;text-transform:uppercase!important;align-self:flex-start!important;
  }
  #mega-services .services-page-kicker::before{
    content:"";display:block;flex:0 0 40px;width:40px;height:3px;background:var(--yellow);
  }
  #mega-services .services-insight-title{margin:0!important;font-size:1.08rem!important;line-height:1.24!important}
  #mega-services .services-insight-copy{margin:0!important}
  #mega-services .services-model-list{margin:0!important;padding-top:11px!important;border-top:1px solid #30302d!important}
  #mega-services .services-overview-action{margin:0!important;padding-top:0!important;align-self:flex-start!important}
}


/* ============================================================
   v92 (cont.) — Technologies feature card matches Services:
   rounded corners restored, dash-style kicker instead of pill
   ============================================================ */
@media(min-width:1101px){
  #mega-technologies .mega-feature{border-radius:var(--radius)!important}
  #mega-technologies .tag{
    display:inline-flex!important;align-items:center!important;gap:12px!important;
    margin:0 0 4px!important;padding:0!important;border-radius:0!important;background:transparent!important;
    color:var(--yellow)!important;font-size:.68rem!important;font-weight:800!important;
    letter-spacing:.14em!important;text-transform:uppercase!important;
  }
  #mega-technologies .tag::before{
    content:"";display:block;flex:0 0 40px;width:40px;height:3px;background:var(--yellow);
  }
}


/* ============================================================
   v92 (cont.) — Technologies groups: same clickable heading +
   item styling as Services (unified across both sections)
   ============================================================ */
@media(min-width:1101px){
  #mega-technologies .services-clean-column{min-width:0;padding:0 14px;border-left:1px solid var(--line)}
  #mega-technologies .mega-feature+.services-clean-column{border-left:0;padding-left:0}
  #mega-technologies .services-clean-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 6px 10px;padding:0 8px 11px;border-bottom:1px solid var(--line);color:var(--ink);transition:border-color .15s ease}
  #mega-technologies .services-clean-heading strong{font-size:.86rem;line-height:1.25;font-weight:730}
  #mega-technologies .services-clean-heading span{color:#8c8a84;display:inline-block;transition:color .15s ease,transform .15s ease}
  #mega-technologies .services-clean-heading:hover{border-bottom-color:var(--yellow)!important}
  #mega-technologies .services-clean-heading:hover span{color:var(--ink);transform:translateX(2px)}
  #mega-technologies .services-clean-link{display:block;padding:8px 10px;border-radius:8px}
  #mega-technologies .services-clean-link:hover,#mega-technologies .services-clean-link:focus-visible{background:var(--bone);outline:none}
  #mega-technologies .services-clean-link b{display:block;font-size:.71rem;line-height:1.28}
  #mega-technologies .services-clean-link span{display:block;margin-top:3px;color:var(--mut);font-size:.59rem;line-height:1.35}
}
@media(max-width:1250px) and (min-width:1101px){
  #mega-technologies .services-clean-heading strong{font-size:.78rem}
  #mega-technologies .services-clean-link{padding:7px 8px}
  #mega-technologies .services-clean-link b{font-size:.66rem}
  #mega-technologies .services-clean-link span{font-size:.56rem}
}


/* ============================================================
   v92 (cont.) — Industries matches Services/Technologies:
   rounded card, dash-style tag, clickable group headings,
   unified item typography
   ============================================================ */
@media(min-width:1101px){
  #mega-industries .industry-reference-feature{border-radius:var(--radius)!important}
  #mega-industries .industry-reference-feature>.tag{
    display:inline-flex!important;align-items:center!important;gap:12px!important;
    margin:0 0 4px!important;padding:0!important;border-radius:0!important;background:transparent!important;
    color:var(--yellow)!important;font-size:.68rem!important;font-weight:800!important;
    letter-spacing:.14em!important;text-transform:uppercase!important;
  }
  #mega-industries .industry-reference-feature>.tag::before{
    content:"";display:block;flex:0 0 40px;width:40px;height:3px;background:var(--yellow);
  }

  #mega-industries .industry-retail-shared-title{padding:0 0 9px!important;border-bottom:1px solid var(--line)!important}
  #mega-industries .industry-retail-shared-title a,
  #mega-industries .industry-adjacent-column>.mega-col-title a{
    display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
    color:var(--ink);transition:border-color .15s ease;
  }
  #mega-industries .industry-retail-shared-title strong,
  #mega-industries .industry-adjacent-column>.mega-col-title strong{
    font-size:.86rem;line-height:1.25;font-weight:730;text-transform:none;letter-spacing:normal;color:var(--ink);
  }
  #mega-industries .industry-retail-shared-title span,
  #mega-industries .industry-adjacent-column>.mega-col-title span{
    color:#8c8a84;display:inline-block;transition:color .15s ease,transform .15s ease;
  }
  #mega-industries .industry-retail-shared-title:hover{border-bottom-color:var(--yellow)!important}
  #mega-industries .industry-retail-shared-title:hover span,
  #mega-industries .industry-adjacent-column>.mega-col-title:hover span{
    color:var(--ink);transform:translateX(2px);
  }
  #mega-industries .industry-adjacent-column>.mega-col-title{border-bottom:1px solid var(--line)!important;transition:border-color .15s ease}
  #mega-industries .industry-adjacent-column>.mega-col-title:hover{border-bottom-color:var(--yellow)!important}

  #mega-industries .mega-item b{font-size:.71rem!important;line-height:1.28!important;font-weight:600!important;letter-spacing:normal!important}
  #mega-industries .mega-item span{font-size:.59rem!important;line-height:1.35!important;margin-top:3px!important}
}


/* ============================================================
   v92 (cont.) — Company matches Services/Technologies/Industries:
   rounded card, dash-style tag, clickable group headings,
   unified item typography
   ============================================================ */
@media(min-width:1101px){
  #mega-company .company-ceo-feature{border-radius:var(--radius)!important}
  #mega-company .company-ceo-feature>.tag{
    display:inline-flex!important;align-items:center!important;gap:12px!important;
    margin:0 0 4px!important;padding:0!important;border-radius:0!important;background:transparent!important;
    color:var(--yellow)!important;font-size:.68rem!important;font-weight:800!important;
    letter-spacing:.14em!important;text-transform:uppercase!important;
  }
  #mega-company .company-ceo-feature>.tag::before{
    content:"";display:block;flex:0 0 40px;width:40px;height:3px;background:var(--yellow);
  }

  #mega-company .company-route-group>.mega-col-title a{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:9px;
    transition:border-color .15s ease;
  }
  #mega-company .company-route-group>.mega-col-title a:hover{border-bottom-color:var(--yellow)!important}
  #mega-company .company-route-group>.mega-col-title strong{
    font-size:.86rem;line-height:1.25;font-weight:730;text-transform:none;letter-spacing:normal;color:var(--ink);
  }
  #mega-company .company-route-group>.mega-col-title span{
    color:#8c8a84;display:inline-block;transition:color .15s ease,transform .15s ease;
  }
  #mega-company .company-route-group>.mega-col-title a:hover span{color:var(--ink);transform:translateX(2px)}

  #mega-company .company-route-list .mega-item b{font-size:.71rem!important;font-weight:600!important}
  #mega-company .company-route-list .mega-item span{font-size:.59rem!important;line-height:1.35!important}
}


/* ============================================================
   v92 (cont.) — Company: fix doubled line, wider left margin,
   arrow closer to heading text, larger content type (tier 2:
   Company/Industries get bigger type than the denser
   Services/Technologies tier, since they carry less content)
   ============================================================ */
@media(min-width:1101px){
  #mega-company .mega-grid-company-simple{padding-left:32px!important;padding-right:30px!important}
  #mega-company .company-route-list{border-top:0!important}

  /* Heading: hairline stays full-width on the wrapper; the link itself
     hugs its own text+arrow instead of stretching edge-to-edge. */
  #mega-company .company-route-group>.mega-col-title{border-bottom:1px solid var(--line)!important;transition:border-color .15s ease}
  #mega-company .company-route-group>.mega-col-title a{
    display:inline-flex!important;justify-content:flex-start!important;width:auto!important;
    align-items:center;gap:8px;color:var(--ink);border-bottom:0!important;padding-bottom:0!important;
  }
  #mega-company .company-route-group>.mega-col-title:hover{border-bottom-color:var(--yellow)!important}
  #mega-company .company-route-group>.mega-col-title strong{font-size:1rem!important;font-weight:740!important}
  #mega-company .company-route-group>.mega-col-title span{color:#8c8a84;transition:color .15s ease,transform .15s ease}
  #mega-company .company-route-group>.mega-col-title:hover span{color:var(--ink);transform:translateX(2px)}

  /* Larger content type — this section carries little content, so it reads
     better at a bigger size than the dense Services/Technologies lists. */
  #mega-company .company-route-list .mega-item b{font-size:.96rem!important;font-weight:650!important}
  #mega-company .company-route-list .mega-item span{font-size:.76rem!important;line-height:1.42!important}
  #mega-company .company-route-list .mega-item{padding:16px 12px!important}
}


/* ============================================================
   v92 (cont.) — Industries: wider card (matches Company's scale),
   arrow closer to heading text, larger content type (tier 2)
   ============================================================ */
@media(min-width:1101px){
  #mega-industries .mega-grid-industries{grid-template-columns:minmax(380px,1.05fr) minmax(0,.85fr) minmax(0,.85fr) minmax(260px,.95fr)!important}

  #mega-industries .industry-retail-shared-title a,
  #mega-industries .industry-adjacent-column>.mega-col-title a{
    display:inline-flex!important;justify-content:flex-start!important;width:auto!important;gap:8px!important;
  }

  #mega-industries .industry-retail-shared-title strong,
  #mega-industries .industry-adjacent-column>.mega-col-title strong{
    font-size:1rem!important;font-weight:740!important;
  }
  #mega-industries .mega-item b{font-size:.94rem!important;font-weight:650!important}
  #mega-industries .mega-item span{font-size:.75rem!important;line-height:1.4!important}
}


/* ============================================================
   v92 (cont.) — Arrows: same gap, same size, everywhere
   ============================================================ */
@media(min-width:1101px){
  #mega-services .services-clean-heading,
  #mega-technologies .services-clean-heading{
    justify-content:flex-start!important;
    gap:8px!important;
  }
  #mega-services .services-clean-heading span,
  #mega-technologies .services-clean-heading span,
  #mega-industries .industry-retail-shared-title span,
  #mega-industries .industry-adjacent-column>.mega-col-title span,
  #mega-company .company-route-group>.mega-col-title span{
    font-size:.85rem!important;
    line-height:1!important;
  }
}


/* ============================================================
   v92 (cont.) — Vertical dividers: Company (between the two
   groups) and Industries (only between "Retail sectors" as a
   whole and "Adjacent industries" — not between its own two
   sub-columns)
   ============================================================ */
@media(min-width:1101px){
  #mega-company .company-simple-panel{gap:20px!important}
  #mega-company .company-route-group+.company-route-group{
    border-left:1px solid var(--line);
    padding-left:20px;
  }

  #mega-industries .industry-adjacent-column{
    border-left:1px solid var(--line);
    padding-left:24px;
  }
}


/* ============================================================
   v92 (cont.) — Unified type scale across Services, Technologies,
   Industries, Company: one heading size, one item size, everywhere.
   Replaces the earlier two-tier (dense vs. spacious) split.
   ============================================================ */
@media(min-width:1101px){
  #mega-industries .industry-retail-shared-title strong,
  #mega-industries .industry-adjacent-column>.mega-col-title strong,
  #mega-company .company-route-group>.mega-col-title strong{
    font-size:.92rem!important;font-weight:730!important;
  }
  #mega-industries .mega-item b,
  #mega-company .company-route-list .mega-item b{
    font-size:.82rem!important;font-weight:630!important;
  }
  #mega-industries .mega-item span,
  #mega-company .company-route-list .mega-item span{
    font-size:.68rem!important;line-height:1.4!important;
  }
}


/* ============================================================
   v92 (cont.) — Underline matches link text length, not the
   full width of the black card (was stretching in Industries
   and Company since the link is a grid item spanning full width)
   ============================================================ */
@media(min-width:1101px){
  #mega-industries .industry-reference-feature>a,
  #mega-company .company-ceo-feature>a{
    justify-self:start!important;
    width:fit-content!important;
  }
}


/* ============================================================
   v92 (cont.) — Hero split layout: text left, proof/structure
   card right. Used on Services, Company and Case Studies.
   Card content differs per page (structure / stats / trust),
   but the visual language matches the mega-menu's black cards.
   ============================================================ */
.page-hero .hero-split{
  display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;
}
.page-hero .hero-copy .display,
.page-hero .hero-copy .lead{max-width:none}
.page-hero .hero-visual{min-width:0}

/* Services: three-pillar structure card */
.services-pillars{background:var(--ink);border-radius:var(--radius);padding:8px}
.services-pillars .pillar{display:flex;align-items:center;gap:16px;padding:20px 18px}
.services-pillars .pillar:not(:last-child){border-bottom:1px solid #2a2a28}
.services-pillars .pillar-num{
  flex:0 0 30px;height:30px;border-radius:8px;background:#171716;color:var(--yellow);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;
}
.services-pillars .pillar-txt b{display:block;color:#fff;font-size:.92rem;font-weight:700;letter-spacing:-.01em}
.services-pillars .pillar-txt span{display:block;margin-top:3px;color:var(--mut-dark);font-size:.74rem;line-height:1.4}

/* Company: stat cluster card */
.company-stats{
  background:var(--ink);border-radius:var(--radius);padding:36px 32px;
  display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;
}
.company-stats .cstat b{display:block;font-size:2.1rem;font-weight:800;color:var(--yellow);letter-spacing:-.02em;line-height:1}
.company-stats .cstat span{display:block;margin-top:8px;font-size:.82rem;color:var(--mut-dark);line-height:1.4}

/* Case Studies: trusted-by card */
.trust-card{background:var(--ink);border-radius:var(--radius);padding:32px 28px}
.trust-card .trust-label{
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);
  display:flex;align-items:center;gap:12px;margin-bottom:20px;
}
.trust-card .trust-label::before{content:"";width:32px;height:3px;background:var(--yellow)}
.trust-card .trust-names{display:flex;flex-wrap:wrap;gap:12px 0}
.trust-card .trust-names strong{color:#fff;font-size:1.15rem;font-weight:750;letter-spacing:-.01em}
.trust-card .trust-names i{color:#4a4a47;font-style:normal;margin:0 14px}
.trust-card .trust-note{margin-top:20px;padding-top:16px;border-top:1px solid #2a2a28;font-size:.72rem;color:var(--mut-dark);line-height:1.5}

@media(max-width:900px){
  .page-hero .hero-split{grid-template-columns:1fr;gap:32px}
  .company-stats{grid-template-columns:1fr 1fr}
}


/* ============================================================
   v92 (cont.) — Breadcrumb extracted from hero (declutters the
   top of every hero). On desktop, the site already has a more
   capable persistent nav bar (.universal-sticky-path in app.js —
   live current-section tracking + jump-to dropdown). Rather than
   duplicate it, that bar takes over once you scroll past the hero.
   The plain breadcrumb stays visible (non-sticky) on mobile only,
   roughly where it always was, since that richer bar is desktop-only.
   ============================================================ */
.crumb-bar .breadcrumb{margin-bottom:0}
.crumb-bar{padding-top:calc(var(--header-h) + 28px);padding-bottom:20px}
.crumb-bar + .page-hero{padding-top:28px}

@media(min-width:1101px){
  body:has(.universal-sticky-path) .crumb-bar{display:none}
  .crumb-bar + .page-hero{padding-top:48px}
}
@media(max-width:1100px){
  .universal-sticky-path{display:none!important}
}

/* Lighter, shorter bar — more of the page shows through, like the
   Andersen reference: translucent, not a solid opaque strip. */
.universal-sticky-path{background:rgba(255,255,255,.25)!important}
.sticky-path-inner{height:44px!important}


/* ============================================================
   v92 (cont.) — Company card: drop the forced min-height so the
   card (and the matching right-side panel) shrink to their real
   content instead of leaving dead space below the LinkedIn link.
   ============================================================ */
@media(min-width:1101px){
  #mega-company .company-ceo-feature{min-height:0!important}
  #mega-company .company-simple-panel{min-height:0!important}
}



/* ============================================================
   v121 — Pass A: legend bar + unified hero height
   ============================================================ */

/* --- unified first screen ------------------------------------ */
.page-hero{min-height:var(--hero-min)}
.page-hero > .wrap{width:100%}
@media(max-width:1100px){ .page-hero{min-height:0} }
/* short laptops: the hero content (a 4-line H1) can exceed the band and
   squeeze the next block down to a sliver — buy it back from padding */
@media(min-width:1101px) and (max-height:840px){
  .page-hero,.th-video-hero{padding-top:calc(var(--header-h) + 40px);padding-bottom:40px}
}

/* --- legend bar ---------------------------------------------
   Translucent, no blur: content scrolls under it and stays legible,
   the way the Andersen reference behaves (measured off their video at
   roughly rgba(48,48,48,.8), no backdrop filter). The bar is fixed, so
   it already reserves no space in the flow. Active tab is a background
   pill only — no yellow underline. Height 58 -> 42.            */
.universal-sticky-path{
  background:rgba(20,20,19,.78)!important;
  backdrop-filter:none!important;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.sticky-path-inner{height:42px!important;gap:18px}
.sticky-breadcrumb{color:rgba(255,255,255,.66);flex:none}
.sticky-breadcrumb i{color:rgba(255,255,255,.32)}
.sticky-breadcrumb a:last-child{color:#fff;font-weight:650}
.sticky-jump{display:none!important}          /* replaced by tabs */

.sticky-tabs{
  display:flex;align-items:center;gap:2px;margin-left:auto;
  overflow-x:auto;scrollbar-width:none;min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px);
          mask-image:linear-gradient(90deg,transparent 0,#000 14px);
}
.sticky-tabs::-webkit-scrollbar{display:none}
.sticky-tabs a{
  padding:6px 13px;border-radius:8px;white-space:nowrap;
  font-size:.8rem;font-weight:600;color:rgba(255,255,255,.78);
  /* labels must survive whatever ghosts through a transparent bar */
  text-shadow:0 1px 3px rgba(0,0,0,.55);
  transition:background-color .2s var(--ease),color .2s var(--ease);
}
.sticky-tabs a:hover{color:#fff;background:rgba(255,255,255,.09)}
.sticky-tabs a:focus-visible{outline:2px solid var(--yellow);outline-offset:-2px}
.sticky-tabs a.active{background:rgba(255,255,255,.18);color:#fff}
.sticky-nav-target{scroll-margin-top:calc(var(--header-h) + 54px)}


/* ============================================================
   v121 — Pass B: hero visuals
   ============================================================ */
.hero-viz{position:relative;height:var(--viz-h);min-width:0}

/* --- Company: scattered team collage -------------------------
   Positions come from a relaxation pack, not a grid (see app.js). */
.hx{
  position:absolute;border-radius:50%;overflow:hidden;
  border:3px solid var(--paper);background:#e6e4dd;
  box-shadow:0 12px 26px -12px rgba(2,2,2,.38);
  opacity:0;transform:scale(.84);
  transition:opacity .65s var(--ease),transform .65s var(--ease);
  animation:hx-float var(--fdur,7s) ease-in-out var(--fdel,0s) infinite;
}
.hx.in{opacity:1;transform:none}
.hx i{position:absolute;inset:0;background-size:cover;background-position:center 22%;
      opacity:0;transition:opacity .85s var(--ease)}
.hx i.on{opacity:1}
/* drift carries an x component — on a scattered layout a purely
   vertical bob makes every tile look synchronised */
@keyframes hx-float{
  0%,100%{ translate:0 0 }
  50%    { translate:var(--fx,0px) var(--fy,-7px) }
}

/* --- Technologies: technology names ------------------------
   Typography, not icons: names fade in, hold, fade out on their own
   loops, so the cloud keeps reshuffling. Sized against the body copy
   (17-26px vs a 19px lead) — the previous icon tiles read heavier than
   the H1 next to them, which is what made them feel oversized. */
.tw{
  position:absolute;white-space:nowrap;letter-spacing:-.01em;line-height:1;
  opacity:0;will-change:opacity,transform;
  animation:tw-cycle var(--dur,7s) ease-in-out var(--del,0s) infinite;
}
.tw.t1{font-weight:750;color:var(--ink)}
.tw.t2{font-weight:650;color:var(--mut)}
.tw.t3{font-weight:600;color:#8c8b85}
@keyframes tw-cycle{
  0%,100%{opacity:0;transform:translateY(5px)}
  8%,78% {opacity:1;transform:none}
  90%    {opacity:0;transform:translateY(-5px)}
}

/* --- Industries: video hero ---------------------------------- */
.th-video-hero{
  position:relative;min-height:var(--hero-min);
  padding:calc(var(--header-h) + 64px) 0 64px;
  overflow:hidden;background:#0b0b0a;display:flex;align-items:flex-end;
}
.th-video-hero video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
}
.th-video-hero .vh-scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.76) 100%);
}
.th-video-hero > .wrap{position:relative;z-index:1;width:100%}
.th-video-hero .display,
.th-video-hero .lead{color:#fff}
.th-video-hero .lead{color:rgba(255,255,255,.86)}
.th-video-hero .display{text-shadow:0 2px 20px rgba(0,0,0,.3)}
/* the default primary button is ink-on-white — invisible on the video */
.th-video-hero .btn-primary{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.th-video-hero .btn-primary:hover{background:#ffcf33;border-color:#ffcf33}

/* --- Company: the two surviving facts, inline in the hero ----
   Two facts stretched across a full-width strip left ~900px of dead
   space, which is the thing we have been removing everywhere else. */
.hero-facts{display:flex;gap:56px;margin:30px 0 4px;flex-wrap:wrap}
.hero-facts .cstat b{display:block;font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.hero-facts .cstat span{display:block;margin-top:7px;font-size:.82rem;color:var(--mut);line-height:1.4}

@media(max-width:900px){
  .hero-viz{height:auto;min-height:340px;margin-top:32px}
  .th-video-hero{min-height:520px}
}

@media (prefers-reduced-motion: reduce){
  .hx{animation:none}
  .hx,.hx i{transition:none}
  /* names hold steady instead of cycling */
  .tw{animation:none;opacity:1}
}



/* ============================================================
   v123 — hero visuals for Services / Case Studies / Insights
   Each page gets its own shape language so the six heroes do not
   read as the same component: Company = circles (people),
   Technologies = free text (tools), Industries = full-bleed video
   (context), Services = a roster panel (capability), Case Studies =
   a metric grid (outcomes), Insights = a card stack (material).
   ============================================================ */

/* --- Services: squad composer ------------------------------- */
.squad-card{
  /* content height, centred — a stretched card left a dead gap between
     the last role and the footer */
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);
  box-shadow:var(--shadow);padding:26px 26px 22px;
}
.squad-kicker{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);
  display:flex;align-items:center;gap:10px;
}
.squad-kicker::before{content:"";width:22px;height:2px;background:var(--yellow);flex:none}
.squad-name{display:block;font-size:1.32rem;font-weight:750;letter-spacing:-.02em;margin-top:12px}
.squad-roles{margin:20px 0 0;display:flex;flex-direction:column;gap:2px}
.squad-roles li{
  display:flex;align-items:center;gap:12px;padding:11px 0;
  border-top:1px solid var(--line);
  opacity:0;transform:translateY(7px);
  transition:opacity .45s var(--ease),transform .45s var(--ease);
  transition-delay:var(--rd,0s);
}
.squad-roles li.in{opacity:1;transform:none}
.squad-roles .rdot{
  width:26px;height:26px;border-radius:50%;flex:none;
  background:var(--yellow-soft);border:1.5px solid var(--yellow);
}
.squad-roles .rname{flex:1;font-size:.92rem;font-weight:650;letter-spacing:-.01em;min-width:0}
.squad-roles .rlevel{
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:4px 9px;
}
.squad-roles .rqty{font-size:.86rem;font-weight:750;color:var(--mut);font-style:normal;width:26px;text-align:right}
.squad-foot{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
}
.squad-foot b{font-size:1.05rem;font-weight:750}
.squad-foot span{font-size:.78rem;color:var(--mut)}

/* --- Case Studies: outcome tiles ---------------------------- */
.metric-grid{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.metric-tile{
  position:relative;overflow:hidden;border-radius:var(--radius);
  border:1px solid var(--line);background:var(--paper);padding:22px 20px;
  display:flex;
}
.metric-tile:nth-child(1),.metric-tile:nth-child(4){background:var(--ink);border-color:var(--ink)}
.metric-tile:nth-child(1) .mval,.metric-tile:nth-child(4) .mval{color:var(--yellow)}
.metric-tile:nth-child(1) .mlabel,.metric-tile:nth-child(4) .mlabel{color:#fff}
.metric-tile:nth-child(1) .msrc,.metric-tile:nth-child(4) .msrc{color:var(--mut-dark)}
.metric-face{
  position:absolute;inset:0;padding:22px 20px;display:flex;flex-direction:column;justify-content:center;
  opacity:0;transform:translateY(10px);
  transition:opacity .55s var(--ease),transform .55s var(--ease);
}
.metric-face.on{opacity:1;transform:none}
.mval{font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:800;letter-spacing:-.03em;line-height:1.02}
.mlabel{margin-top:9px;font-size:.85rem;font-weight:650;line-height:1.35}
.msrc{margin-top:7px;font-size:.72rem;color:var(--mut);line-height:1.4}
.metric-note{
  position:absolute;left:0;right:0;bottom:-30px;font-size:.68rem;color:var(--mut);
}

/* --- Insights: card stack ----------------------------------- */
.stack{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:324px}
.stack-card{
  /* every card the same height, and the bottom strip left empty, so the
     cards peeking out below show padding rather than clipped text */
  position:absolute;left:0;right:0;top:0;height:296px;overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);
  box-shadow:var(--shadow);padding:26px 26px 34px;
  transition:transform .6s var(--ease),opacity .6s var(--ease);
  transform-origin:50% 100%;
}
.stack-tag{
  font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);
  display:flex;align-items:center;gap:10px;
}
.stack-tag::before{content:"";width:18px;height:2px;background:var(--yellow);flex:none}
.stack-card h3{margin-top:16px;font-size:1.22rem;font-weight:750;letter-spacing:-.022em;line-height:1.24}
.stack-card p{margin-top:12px;font-size:.86rem;color:var(--mut);line-height:1.5}
.stack-more{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
  font-size:.8rem;font-weight:650;
}
.stack-more span{color:var(--mut);font-weight:500}

@media(max-width:900px){
  .metric-grid{gap:10px}
  .squad-card,.stack-card{padding:20px}
  .metric-note{position:static;margin-top:10px}
}

@media (prefers-reduced-motion: reduce){
  .squad-roles li,.metric-face,.stack-card{transition:none}
  .squad-roles li{opacity:1;transform:none}
}


/* v125 - homepage three-area service architecture */
.home-service-architecture{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.home-service-architecture .capability-cluster{display:flex;flex-direction:column;min-width:0}
.home-service-architecture .capability-cluster .tag{align-self:flex-start;font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.home-service-architecture .capability-cluster.featured .tag{color:var(--ink);background:var(--yellow);border-radius:999px;padding:4px 10px}
.home-service-architecture .capability-service-list{margin-bottom:24px}
.home-service-architecture .btn-link{margin-top:auto;align-self:flex-start}
@media(max-width:1024px){.home-service-architecture{grid-template-columns:1fr}}

/* v128 - Industries: two-column capability list (replaces outcome-card grid) */
.capability-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.capability-list-col{min-width:0}
.capability-list-head{display:flex;align-items:baseline;gap:8px;font-size:1.15rem;font-weight:750;
  letter-spacing:-.02em;color:var(--ink);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}
.capability-list-head span{color:var(--mut);font-weight:600;transition:transform .15s ease}
.capability-list-head:hover span{transform:translateX(3px)}
.capability-list-link{display:block;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none}
.capability-list-link:last-child{border-bottom:0}
.capability-list-link b{display:block;font-size:.98rem;font-weight:700;letter-spacing:-.012em;color:var(--ink)}
.capability-list-link span{display:block;font-size:.85rem;color:var(--mut);margin-top:3px;line-height:1.4}
.capability-list-link:hover b{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
@media(max-width:760px){.capability-list-grid{grid-template-columns:1fr;gap:8px}
  .capability-list-col + .capability-list-col{margin-top:28px}}

/* ============ v128 — Areas of expertise: Concept A (3x3 grid, inline expand) ============ */
.expertise-a .ind-a-groupbar{display:flex;align-items:center;gap:14px;margin:36px 0 18px;font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.expertise-a .ind-a-groupbar::after{content:"";flex:1;height:1px;background:var(--line)}
.expertise-a .section-head + .ind-a-groupbar{margin-top:0}
.ind-a-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.ind-a-cell{position:relative;display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:26px 24px;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);overflow:hidden}
.ind-a-cell:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow)}
.ind-a-cell[aria-expanded="true"]{border-color:var(--ink);box-shadow:var(--shadow)}
.ind-a-cell:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.ind-a-num{display:block;font-size:12px;font-weight:700;color:var(--mut-dark);letter-spacing:.04em}
.ind-a-cell.adjacent .ind-a-num{color:#a87900}
.ind-a-name{display:block;font-size:1.12rem;font-weight:750;letter-spacing:-.02em;margin:14px 0 8px;line-height:1.2}
.ind-a-tag{display:block;font-size:.86rem;color:var(--mut);line-height:1.45}
.ind-a-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.ind-a-chips span{font-size:11px;font-weight:600;color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:4px 10px}



.ind-a-cta{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:.84rem;font-weight:700;color:var(--ink);border-bottom:2px solid var(--yellow);padding-bottom:2px}
.ind-a-cta i{font-style:normal}



/* always-visible teaser link — makes the click affordance explicit instead of relying on the corner icon alone */




@media(max-width:900px){.ind-a-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ind-a-grid{grid-template-columns:1fr}}

/* ============ v128 — Capabilities: Concept F (operational reality tiles) ============ */
.opf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.opf-cell{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:26px 24px;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}
.opf-cell:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow)}
.opf-ico{width:44px;height:44px;border-radius:11px;background:var(--bone);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);margin-bottom:18px}
.opf-ico svg{width:23px;height:23px}
.opf-metric{position:absolute;top:26px;right:24px;font-size:11px;font-weight:700;color:#7a5c00;background:var(--yellow-soft);padding:5px 11px;border-radius:999px}
.opf-name{font-size:1.1rem;font-weight:750;letter-spacing:-.02em;line-height:1.2;margin-bottom:14px;max-width:78%}
.opf-do{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.opf-do li{position:relative;padding-left:15px;font-size:.85rem;color:#3a3a37;line-height:1.5}
.opf-do li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:var(--yellow)}
@media(max-width:920px){.opf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.opf-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ind-a-cell,.opf-cell{transition:none}}

/* v129 - Areas of expertise: merged teaser (icon+text as one unit) + full-row-width reveal band */
.ind-a-teaser{display:inline-flex;align-items:center;gap:9px;margin-top:18px;font-size:.85rem;font-weight:700;
  color:var(--ink);border-bottom:2px solid var(--yellow);padding-bottom:2px}
.ind-a-teaser-ico{width:20px;height:20px;border-radius:50%;background:var(--yellow);color:var(--ink);
  display:grid;place-items:center;font-size:13px;font-weight:800;flex:none;line-height:1;
  transition:transform .28s var(--ease)}
.ind-a-cell[aria-expanded="true"] .ind-a-teaser-ico{transform:rotate(45deg)}
.ind-a-cell.is-active{border-color:var(--ink);box-shadow:var(--shadow)}

.ind-a-rowslot{grid-column:1/-1;max-height:0;overflow:hidden;transition:max-height .34s var(--ease)}
.ind-a-rowslot-inner{border:1px solid var(--line);border-radius:var(--radius);background:var(--bone);
  padding:34px 36px;margin-top:2px}
.ind-a-reveal-cols{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.ind-a-reveal-eyebrow{font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:#a87900;margin-bottom:10px}
.ind-a-reveal-title{font-size:1.3rem;font-weight:800;letter-spacing:-.026em;margin-bottom:14px}
.ind-a-reveal-reality{font-size:.94rem;line-height:1.6;color:#3a3a37;margin-bottom:18px;grid-column:1/-1}
.ind-a-reveal-h4{font-size:10.5px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:11px}
.ind-a-build-list{list-style:none;display:grid;gap:9px}
.ind-a-build-list li{position:relative;padding-left:16px;font-size:.87rem;color:#2c2c29;line-height:1.5}
.ind-a-build-list li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:var(--yellow)}
.ind-a-contrib-table{margin-top:2px;border-top:1px solid var(--line)}
.ind-a-contrib-row{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.ind-a-contrib-row b{font-size:.8rem;font-weight:700}
.ind-a-contrib-row span{font-size:.8rem;color:var(--mut)}
.ind-a-client-line{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.85rem;color:#2c2c29;grid-column:1/-1}
.ind-a-client-line b{font-weight:700}
.ind-a-reveal-cta{display:inline-flex;align-items:center;gap:7px;margin-top:22px;font-size:.85rem;font-weight:700;
  border-bottom:2px solid var(--yellow);padding-bottom:2px;grid-column:1/-1;width:fit-content}
@media(max-width:760px){
  .ind-a-rowslot-inner{padding:26px 24px}
  .ind-a-reveal-cols{grid-template-columns:1fr;gap:6px}
}
@media(prefers-reduced-motion:reduce){.ind-a-rowslot,.ind-a-teaser-ico{transition:none}}

/* v126 - approved homepage CTA and Industries page */
.th-home-hero-cta{margin-top:26px}
.industries-v126-hero .wrap{position:relative;z-index:2;max-width:1240px}
.industries-v126-hero .eyebrow{color:var(--yellow);margin-bottom:18px}
.industries-v126-hero .display{max-width:900px}
.industries-v126-hero .lead{max-width:760px}
.industries-trust{border-top:0}
.industry-expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.industry-expertise-card{border:1px solid #343432;border-radius:var(--radius);padding:24px;background:#0d0d0c}
.industry-expertise-card>span{display:block;color:var(--yellow);font-size:.67rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.industry-expertise-card.adjacent>span{color:#aaa8a1}
.industry-expertise-card h3{margin:12px 0 10px;color:#fff;font-size:1.18rem}
.industry-expertise-card p{color:#c3c1ba;line-height:1.55}
.industry-expertise-card ul{margin:18px 0 0;padding:16px 0 0;list-style:none;border-top:1px solid #2d2d2a}
.industry-expertise-card li{position:relative;padding:5px 0 5px 14px;color:#e8e6df;font-size:.78rem}
.industry-expertise-card li:before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;background:var(--yellow)}
.retail-domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.retail-domain{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff}
.retail-domain .tag{align-self:flex-start}
.retail-domain h3{margin:18px 0 20px;font-size:1.25rem;line-height:1.28}
.outcome-row{display:grid;grid-template-columns:1fr;gap:5px;padding:15px 0;border-top:1px solid var(--line)}
.outcome-row b{font-size:.82rem}
.outcome-row span{color:var(--mut);font-size:.75rem}
.outcome-row strong{font-size:.78rem;font-weight:700;color:var(--ink)}
.outcome-row strong:before{content:"→ ";color:#a87900}
.publishing-note{margin-top:18px}
.industries-tech{overflow:hidden}
.tech-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bone)}
.tech-marquee-track:hover{animation-play-state:paused}
.tech-marquee-track{display:flex;align-items:center;gap:12px;width:max-content;padding:18px 0;animation:techTicker 48s linear infinite}
.tech-marquee-track span{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.76rem;font-weight:650;white-space:nowrap}
@keyframes techTicker{to{transform:translateX(-50%)}}
.industries-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.industries-case-grid .card{display:flex;flex-direction:column;gap:14px}
.industries-case-grid .verify{margin-top:auto}
.expert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:940px}
.expert-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff}
.expert-card img{width:180px;aspect-ratio:1/1;object-fit:cover;border-radius:12px}
.expert-card h3{margin:0;font-size:1.22rem}
.expert-card p{margin:7px 0 8px;color:var(--mut)}
.expert-card .verify{display:block;margin-bottom:18px}
.expert-card a{font-size:.78rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.testimonial-grid article{display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid #343432;border-radius:var(--radius);background:#0d0d0c}
.testimonial-grid blockquote{margin:0;color:#fff;font-size:1.1rem;line-height:1.5}
.testimonial-grid p{margin-top:auto;color:#d1cfc8;font-size:.78rem}
.testimonial-grid .verify{margin-top:8px}
.faq-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:70px;align-items:start}
.faq-list details{border-top:1px solid var(--line);padding:0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:4px;top:17px;font-size:1.35rem}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{margin:0;padding:0 44px 20px 0;color:var(--mut);line-height:1.6}
@media(max-width:1024px){.industry-expertise-grid,.retail-domain-grid,.industries-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expert-card{grid-template-columns:130px minmax(0,1fr)}.expert-card img{width:130px}.testimonial-grid{grid-template-columns:1fr}.faq-layout{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){.industry-expertise-grid,.retail-domain-grid,.industries-case-grid,.expert-grid{grid-template-columns:1fr}.expert-card{grid-template-columns:96px minmax(0,1fr);gap:16px}.expert-card img{width:96px}.industries-v126-hero .display{font-size:clamp(2.25rem,12vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.tech-marquee-track{animation:none;flex-wrap:wrap;width:auto;padding:18px}}


/* v127 - compact Areas of expertise with one inline detail surface */
.expertise-interactive{overflow:hidden}.expertise-group-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin:0 0 18px}.expertise-group-head>div>span{display:block;color:var(--yellow);font-size:.66rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}.expertise-group-head h3{font-size:1.3rem}.expertise-group-head p{max-width:560px;color:var(--mut-dark);font-size:.82rem;line-height:1.5;text-align:right}.expertise-adjacent-head{margin-top:46px;padding-top:36px;border-top:1px solid #2f2f2c}.expertise-adjacent-head>div>span{color:#aaa8a1}.expertise-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.expertise-card{min-width:0;scroll-margin-top:140px}.expertise-card-button{position:relative;width:100%;min-height:232px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:22px;border:1px solid #343432;border-radius:var(--radius);background:#0d0d0c;color:#fff;transition:border-color .16s,background .16s,transform .16s}.expertise-card-button:hover{border-color:#706f69;background:#121211;transform:translateY(-2px)}.expertise-card-button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.expertise-card-button[aria-expanded="true"]{border-color:var(--yellow);background:#171714}.expertise-card-button[aria-expanded="true"]:after{content:"";position:absolute;left:24px;right:24px;bottom:-15px;height:3px;background:var(--yellow)}.expertise-kind{color:var(--yellow);font-size:.64rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.expertise-card.adjacent .expertise-kind{color:#aaa8a1}.expertise-title{margin-top:12px;font-size:1.08rem;font-weight:700;line-height:1.25}.expertise-tagline{margin-top:8px;color:#c3c1ba;font-size:.8rem;line-height:1.45}.expertise-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.expertise-chips span{padding:5px 8px;border:1px solid #343432;border-radius:999px;color:#dedcd5;font-size:.63rem;line-height:1}.expertise-action{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;color:#fff;font-size:.73rem;font-weight:700}.expertise-action i{font-style:normal;color:var(--yellow);transition:transform .16s}.expertise-card-button:hover .expertise-action i{transform:translateX(3px)}.expertise-source{margin-top:12px;padding:20px;border:1px solid #343432;border-radius:var(--radius);background:#111110}.expertise-source>p{color:#d1cfc8;font-size:.82rem}.expertise-source ul{margin-top:14px}.expertise-source li{color:#e8e6df;font-size:.76rem;padding:4px 0}.expertise-source .expertise-help{display:grid;gap:8px;margin-top:14px}.expertise-source .expertise-help div{display:grid}.expertise-source .expertise-help b{font-size:.72rem}.expertise-source .expertise-help span{color:var(--mut-dark);font-size:.7rem}.expertise-context-label{display:none}.expertise-detail{position:relative;margin:24px 0 4px;padding:32px;border:1px solid #4b4b47;border-radius:18px;background:#151513;box-shadow:0 24px 60px -34px #000}.expertise-detail[hidden]{display:none}.expertise-detail-close{position:absolute;right:18px;top:18px;width:36px;height:36px;border:1px solid #3a3a37;border-radius:50%;color:#fff;font-size:1.45rem;line-height:1}.expertise-detail-close:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.expertise-detail-close:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.expertise-detail-head{max-width:820px;padding-right:46px}.expertise-detail-head>span{display:block;color:var(--yellow);font-size:.65rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.expertise-detail-head h3{margin-top:10px;font-size:clamp(1.55rem,2.8vw,2.25rem);letter-spacing:-.025em}.expertise-detail-head p{margin-top:14px;color:#c3c1ba;line-height:1.6}.expertise-detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;margin:28px 0 30px;padding-top:26px;border-top:1px solid #30302d}.expertise-detail-label{display:block;margin-bottom:14px;color:#8f8d86;font-size:.65rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.expertise-detail-grid ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}.expertise-detail-grid li{position:relative;padding-left:13px;color:#fff;font-size:.79rem}.expertise-detail-grid li:before{content:"";position:absolute;left:0;top:.58em;width:5px;height:5px;background:var(--yellow)}.expertise-contribution{display:grid;gap:1px;background:#343432;border:1px solid #343432;border-radius:12px;overflow:hidden}.expertise-contribution div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:13px 15px;background:#0d0d0c}.expertise-contribution b{font-size:.76rem;color:#fff}.expertise-contribution span{font-size:.74rem;color:#aaa8a1;line-height:1.45}html.js .expertise-source{display:none}.expertise-detail.is-entering{animation:expertiseIn .24s var(--ease)}@keyframes expertiseIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.expertise-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-detail-grid{grid-template-columns:1fr;gap:28px}.expertise-group-head{display:block}.expertise-group-head p{text-align:left;margin-top:8px}.expertise-contribution div{grid-template-columns:130px 1fr}}
@media(max-width:620px){.expertise-card-grid{grid-template-columns:1fr}.expertise-card-button{min-height:0}.expertise-detail{padding:26px 20px}.expertise-detail-grid ul{grid-template-columns:1fr}.expertise-contribution div{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){.expertise-card-button,.expertise-action i{transition:none}.expertise-detail.is-entering{animation:none}}
.expertise-card-grid>.expertise-detail{grid-column:1/-1}


/* v131 - Industries Hero and evidence-led company facts */
.industries-proof-v131 .facts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.industries-proof-v131 .fact{display:flex;flex-direction:column;align-items:flex-start;min-height:270px;padding:32px 24px}
.industries-proof-v131 .fact strong{display:block;margin-top:17px;font-size:.94rem;line-height:1.35;letter-spacing:-.012em}
.industries-proof-v131 .fact>span{margin-top:10px;font-size:.78rem;line-height:1.52}
.industries-proof-v131 .fact .verify{margin-top:auto;padding-top:3px}
@media(max-width:1024px){.industries-proof-v131 .facts-grid{grid-template-columns:1fr 1fr}.industries-proof-v131 .fact{min-height:245px;border-top:1px solid var(--line)}.industries-proof-v131 .fact:nth-child(-n+2){border-top:0}.industries-proof-v131 .fact:nth-child(odd){border-left:0}.industries-proof-v131 .fact:nth-child(even){border-left:1px solid var(--line)}}
@media(max-width:600px){.industries-proof-v131 .facts-grid{grid-template-columns:1fr}.industries-proof-v131 .fact{min-height:0;border-left:0!important;border-top:1px solid var(--line)!important}.industries-proof-v131 .fact:first-child{border-top:0!important}.industries-proof-v131 .fact .verify{margin-top:18px}}

/* Footer legal links (Privacy Policy / Terms of Use / Cookies Policy) in the bottom bar */
.footer-legal-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.footer-legal-links a{color:inherit;transition:color .15s}
.footer-legal-links a:hover{color:var(--yellow)}
/* Legal pages: effective-date line and numbered clauses */
.legal-effective{margin-top:14px;color:var(--mut)}
.legal-clause{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 8px}
.legal-clause b{font-weight:650;color:var(--ink)}
@media(max-width:700px){.footer-legal-links{order:3;flex-basis:100%}}
.section-legal{padding:26px 0}
.section-legal:first-of-type{padding-top:48px}
.legal-body ul{list-style:disc}
.legal-body h2{margin-top:0;margin-bottom:12px}
.legal-body p{margin:0 0 10px}
.legal-body ul{margin:6px 0 14px}
.legal-body .legal-clause{margin:0 0 10px}

/* reCAPTCHA v3: badge hidden, disclosure line shown in the footer instead (as Google requires) */
.grecaptcha-badge{visibility:hidden}
.footer-recaptcha{margin:14px 0 0;font-size:.78rem;line-height:1.55;color:var(--mut-dark)}
.footer-recaptcha a{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:color .15s}
.footer-recaptcha a:hover{color:var(--yellow)}

/* Legal pages as accordions: headings visible, text opens on click */
.section-legal{padding:0}
.section-legal:first-of-type{padding-top:0}
.legal-acc{border-bottom:1px solid var(--line)}
.section-legal:first-of-type .legal-acc{border-top:1px solid var(--line)}
.legal-acc summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;padding:20px 12px 20px 0;transition:background .15s,padding .15s}
.legal-acc summary::-webkit-details-marker{display:none}
.legal-acc summary h2{margin:0;font-size:clamp(1.15rem,2.1vw,1.5rem);line-height:1.25;transition:color .15s}
.legal-acc summary:hover h2{color:var(--mut)}
.legal-acc summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}
.legal-acc-icon{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);background:var(--yellow);transition:transform .2s}
.legal-acc-icon:before,.legal-acc-icon:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .2s,opacity .2s}
.legal-acc-icon:after{transform:translate(-50%,-50%) rotate(90deg)}
.legal-acc[open] .legal-acc-icon:after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.legal-acc[open] .legal-acc-icon{background:var(--paper)}
.legal-acc-body{padding:0 0 24px}
.legal-acc-body>:last-child{margin-bottom:0}

/* Legal pages: compact title block (no full-height hero) */
.legal-hero{min-height:0;padding-top:calc(var(--header-h) + 32px);padding-bottom:32px}
.legal-hero .lead{margin-top:14px}
.section-legal:first-of-type{margin-top:12px}
@media(max-width:1100px){.legal-hero{padding-top:32px}}

/* inline CTA band can sit on bone */
.conversion-trap-inline.section-bone{background:var(--bone)}

.flash-banner{background:#F6F5F1;padding:16px 0}
.flash-banner p{margin:0}
