/* ===================== ENGAGE PAGES · shared (workshop · consulting · implementation) ===================== */
.eg-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:24px 64px;align-items:end;margin-bottom:clamp(40px,5vw,80px)}
.eg-h h2{font-size:clamp(40px,6.2vw,112px);font-weight:800;letter-spacing:-.055em;line-height:.92;margin-top:14px}
.eg-h .lead{justify-self:end}
.eg-sec{padding-block:clamp(90px,10vw,160px)}
.pg.cont{padding-top:0}
.pg.cont>.wrapx{position:relative;padding-top:clamp(70px,8vw,120px)}
.pg.cont>.wrapx::before{content:"";position:absolute;top:0;left:var(--g);right:var(--g);height:1px;background:var(--ln)}
.pg.cont .eg-h h2{font-size:clamp(36px,5vw,88px)}
.eg-a{display:inline-flex;gap:10px;font-weight:700;font-size:16px;border-bottom:2px solid var(--vul);padding-bottom:4px}
.eg-a span{transition:transform .4s var(--eo)}.eg-a:hover span{transform:translateX(6px)}
.smp{color:var(--mut);margin-left:0}
.tn{font-variant-numeric:tabular-nums}

/* ---------- hero shell ---------- */
.egh{height:300vh;height:300svh}
.egh-s{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.egh-k{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + 100px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 22px}
.egh-kl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.egh-tri{display:flex;flex-wrap:wrap;gap:4px}
.egh-tri a{font:700 12px/1 var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);padding:8px 11px;border:1px solid var(--ln);transition:color .25s,border-color .25s}
.egh-tri a:hover{color:var(--fg);border-color:var(--fg)}
.egh-tri a[aria-current]{color:var(--noturno);background:var(--vul);border-color:var(--vul)}
.egh-tri a i{font-style:normal;opacity:.6;margin-right:7px}
.egh-hint{position:absolute;right:var(--g);bottom:calc(env(safe-area-inset-bottom,0px) + 24px);z-index:4;font:500 11.5px/1 var(--m);color:var(--mut);opacity:var(--ho,1)}
.egh-hint span{display:inline-block;margin-left:6px;color:var(--vul)}
html:not(.fx) .egh{height:auto}
html:not(.fx) .egh-s{position:relative;height:auto;min-height:100svh}
html:not(.fx) .egh-hint{display:none}

/* ---------- long form ---------- */
.eg-lf{padding-block:clamp(90px,10vw,160px)}
.eg-lf-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px clamp(28px,3.4vw,56px);border-top:1px solid var(--ln);padding-top:30px}
.eg-lf-g h3{font-size:clamp(20px,1.6vw,25px);font-weight:800;letter-spacing:-.03em;line-height:1.15}
.eg-lf-g p{font-size:16.5px;line-height:1.62;color:var(--mut);margin-top:14px;max-width:46ch}
.eg-lf-g p b{color:var(--fg);font-weight:700}
.eg-pq{margin:clamp(60px,7vw,110px) 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px 60px;align-items:end;padding-top:28px;border-top:2px solid var(--vul)}
.eg-pq>p{font-size:clamp(34px,4.6vw,80px);font-weight:800;letter-spacing:-.05em;line-height:.98;max-width:18ch}
.eg-facts{margin:0;display:grid;grid-template-columns:repeat(3,auto);gap:12px 40px}
.eg-facts div{display:grid;gap:6px;align-content:start}
.eg-facts dt{font:600 10.5px/1.4 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.eg-facts dd{margin:0;font-size:15px;font-weight:700;line-height:1.35;max-width:22ch}

/* ---------- symptom / failure grid ---------- */
.eg-sy{list-style:none;margin:clamp(60px,7vw,100px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--fg)}
.eg-sy li{display:grid;gap:10px;align-content:start;padding:24px 26px 30px 0;border-bottom:1px solid var(--ln)}
.eg-sy li:not(:nth-child(3n+1)){padding-left:26px;border-left:1px solid var(--ln)}
.eg-sy b{font-size:clamp(22px,2vw,30px);font-weight:800;letter-spacing:-.035em;line-height:1.08}
.eg-sy p{font-size:15.5px;line-height:1.55;color:var(--mut);max-width:34ch}
.eg-sy .k{font:600 10.5px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--ac)}

/* ---------- steps (a real sequence) ---------- */
.eg-st{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));border-top:1px solid var(--fg)}
.eg-st li{display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;padding:26px 24px 30px 0}
.eg-st li+li{padding-left:24px;border-left:1px solid var(--ln)}
.eg-st .n{font:800 clamp(50px,4.6vw,84px)/.85 var(--f);letter-spacing:-.06em;color:var(--ac)}
.eg-st b{font-size:clamp(20px,1.7vw,27px);font-weight:800;letter-spacing:-.035em;line-height:1.08}
.eg-st p{font-size:15.5px;line-height:1.55;color:var(--mut)}
.eg-st dl{margin:10px 0 0;display:grid;gap:10px;border-top:1px solid var(--ln);padding-top:14px}
.eg-st dl div{display:grid;gap:3px}
.eg-st dt{font:600 10px/1.4 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.eg-st dd{margin:0;font-size:14.5px;font-weight:700;line-height:1.35}

/* ---------- formats with a to-scale strip ---------- */
.eg-fm{border-top:1px solid var(--fg)}
.eg-fm article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,1.5fr);gap:18px 44px;align-items:center;padding:30px 0;border-bottom:1px solid var(--ln)}
.eg-fm h3{font-size:clamp(26px,2.5vw,40px);font-weight:800;letter-spacing:-.045em;line-height:1}
.eg-fm .d{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;font-size:14px;font-weight:700;color:var(--ac)}
.eg-fm .d .chip{margin:0;color:var(--fg)}
.eg-fm ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:15.5px;line-height:1.45;color:var(--mut)}
.eg-fm li{display:grid;grid-template-columns:20px minmax(0,1fr)}
.eg-fm li::before{content:"";width:10px;height:2px;background:var(--ac);margin-top:.72em}
.eg-sp{display:grid;gap:8px;min-width:0}
.eg-sp .tr{--u:8;position:relative;height:38px;border:1px solid var(--ln);background:linear-gradient(90deg,var(--ln) 1px,transparent 1px) 0 0/calc(100% / var(--u)) 100%}
.eg-sp .tr i{position:absolute;top:6px;bottom:6px;left:calc(var(--a) * 100%);width:calc(var(--w) * 100%);min-width:3px;background:var(--ac)}
.eg-sp .tr i.h{background:repeating-linear-gradient(-45deg,var(--ac) 0 2px,transparent 2px 7px);box-shadow:inset 0 0 0 1.5px var(--ac)}
.eg-sp .tr i.lo{opacity:.45}
.eg-sp .tr b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--fg);left:calc(var(--a) * 100%)}
.eg-sp .ax{position:relative;height:12px;font:500 10.5px/1 var(--m);color:var(--mut)}
.eg-sp .ax span{position:absolute;top:0;left:calc(var(--a) * 100%);transform:translateX(-50%);white-space:nowrap}
.eg-sp .ax span:first-child{transform:none}.eg-sp .ax span:last-child{transform:translateX(-100%)}
.eg-sp .cap{font-size:13px;color:var(--mut)}
.eg-note{margin-top:18px;font-size:13.5px;color:var(--mut)}

/* ---------- self-check ---------- */
.eg-q{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px clamp(40px,6vw,110px);align-items:start}
.eg-q .eg-h{grid-template-columns:1fr;margin:0}.eg-q .eg-h h2{font-size:clamp(40px,4.8vw,88px)}.eg-q .eg-h .lead{justify-self:start}
.eg-ql{display:grid;gap:18px;position:sticky;top:120px}
.eg-qs{display:grid;border-top:1px solid var(--fg)}
.eg-qq{padding:22px 0 24px;border-bottom:1px solid var(--ln)}
.eg-qq .q{display:flex;gap:14px;font-size:clamp(19px,1.6vw,24px);font-weight:800;letter-spacing:-.03em;line-height:1.2}
.eg-qq .q span{font:500 12px/2 var(--m);color:var(--ac);letter-spacing:0}
.eg-qq .h{font-size:14.5px;color:var(--mut);margin-top:6px;padding-left:34px}
.eg-qo{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-left:34px}
.eg-qo button{font:600 14.5px/1.2 var(--f);color:var(--fg);background:transparent;border:1px solid var(--line2);padding:11px 16px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.eg-qo button:hover{border-color:var(--fg)}
.eg-qo button[aria-pressed="true"]{background:var(--vul);border-color:var(--vul);color:var(--noturno)}
.eg-qq .x{min-height:1.4em;margin-top:10px;padding-left:34px;font-size:14px;font-weight:600;color:var(--ac)}
.eg-qr{border:1px solid var(--line);background:var(--surface)}
.eg-qr-h{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);font:500 11.5px/1.3 var(--m);color:var(--gangue)}
.eg-qr-h b{font-weight:500;color:var(--rime)}
.eg-qr ol{list-style:none;margin:0;padding:0}
.eg-qr li{display:grid;grid-template-columns:4px minmax(0,1fr);gap:0 16px;padding:18px 18px 18px 0;border-bottom:1px solid var(--line);transition:opacity .35s}
.eg-qr li:last-child{border-bottom:0}
.eg-qr li::before{content:"";background:transparent;transition:background-color .35s}
.eg-qr li b{font-size:clamp(20px,1.8vw,26px);font-weight:800;letter-spacing:-.035em;line-height:1.1;color:var(--rime)}
.eg-qr li p{font-size:14.5px;line-height:1.5;color:var(--gangue);margin-top:6px}
.eg-qr.done li{opacity:.38}
.eg-qr.done li.on{opacity:1}
.eg-qr li.on::before{background:var(--vul)}
.eg-qr li.on b{color:var(--vul)}
.eg-qr-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-top:1px solid var(--line)}
.eg-qr-f button{font:600 13px/1 var(--f);color:var(--gangue);background:none;border:0;padding:6px 0;border-bottom:1px solid var(--line2);cursor:pointer}
.eg-qr-f button:hover{color:var(--rime)}

/* ---------- fit ---------- */
.eg-fit{display:grid;grid-template-columns:1fr 1fr;gap:40px clamp(30px,5vw,90px)}
.eg-fit h3{font-size:clamp(24px,2.2vw,34px);font-weight:800;letter-spacing:-.04em;padding-bottom:18px;border-bottom:1px solid var(--fg)}
.eg-fit ul{list-style:none;margin:0;padding:0}
.eg-fit li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:16px 0;border-bottom:1px solid var(--ln);font-size:17px;font-weight:600;line-height:1.4}
.eg-fit li::before{content:"";margin-top:.3em}
.eg-fit .y li::before{width:14px;height:8px;border-left:2.5px solid var(--ac);border-bottom:2.5px solid var(--ac);transform:rotate(-45deg);margin:.35em 0 0 2px}
.eg-fit .n li::before{width:16px;height:2.5px;background:var(--mut);margin-top:.68em}
.eg-fit .n li{color:var(--mut)}
.eg-fit .n a{color:var(--fg);border-bottom:1.5px solid var(--ac);white-space:nowrap}

/* ---------- faq ---------- */
.eg-fq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:30px clamp(40px,6vw,110px);align-items:start}
.eg-fq .eg-h{grid-template-columns:1fr;margin:0}.eg-fq .eg-h .lead{justify-self:start}
.eg-faq{border-top:1px solid var(--fg)}
.eg-faq details{border-bottom:1px solid var(--ln)}
.eg-faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:20px;align-items:center;padding:22px 0;font-size:clamp(18px,1.6vw,24px);font-weight:800;letter-spacing:-.03em;line-height:1.22}
.eg-faq summary::-webkit-details-marker{display:none}
.eg-faq summary i{position:relative;width:18px;height:18px;justify-self:end}
.eg-faq summary i::before,.eg-faq summary i::after{content:"";position:absolute;left:0;right:0;top:8px;height:2px;background:var(--ac);transition:transform .35s var(--eo)}
.eg-faq summary i::after{transform:rotate(90deg)}
.eg-faq details[open] summary i::after{transform:rotate(0)}
.eg-faq summary:hover{color:var(--ac)}
.eg-faq .a{padding:0 40px 26px 0;max-width:68ch;font-size:16.5px;line-height:1.62;color:var(--mut)}
.eg-faq .a a{color:var(--fg);border-bottom:1.5px solid var(--ac)}

/* ---------- three ways in ---------- */
.eg-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ln)}
.eg-rail>*{position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:clamp(34px,4vw,70px) 0;min-height:clamp(250px,24vw,330px);padding:24px 26px 26px;transition:background-color .3s}
.eg-rail>*+*{border-left:1px solid var(--ln)}
.eg-rail .n{display:flex;justify-content:space-between;gap:10px;font:500 12px/1 var(--m);color:var(--mut)}
.eg-rail b{font-size:clamp(34px,3.6vw,62px);font-weight:800;letter-spacing:-.055em;line-height:.95}
.eg-rail .t{align-self:end;display:grid;gap:12px}
.eg-rail p{font-size:15.5px;line-height:1.5;color:var(--mut);max-width:30ch}
.eg-rail .w{font-size:13px;font-weight:700;color:var(--ac);letter-spacing:.02em}
.eg-rail a:hover{background:color-mix(in srgb,var(--fg) 5%,transparent)}
.eg-rail a:hover b{color:var(--vul)}
.eg-rail .here{background:var(--surface)}
.eg-rail .here b{color:var(--vul)}
.eg-rail .here .n em{font-style:normal;color:var(--vul)}

/* ---------- cta ---------- */
.egx{padding-block:clamp(110px,13vw,200px)}
.egx .label{color:var(--mut)}
.egx-g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px 60px;align-items:end}
.egx h2{font-size:clamp(56px,min(10vw,19vh),190px);font-weight:800;letter-spacing:-.065em;line-height:.86;margin-top:18px}
.egx-b{display:grid;gap:26px;justify-items:start}
.egx-b p{font-size:clamp(18px,1.5vw,22px);font-weight:600;letter-spacing:-.015em;max-width:34ch}
.egx-a{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}
.egx .btn{--btnbg:#001621;--btnfg:#FF4103;--fg:#E4ECEF;--bg:#001621}
.egx-m{font-weight:700;font-size:15px;border-bottom:2px solid currentColor;padding-bottom:3px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .eg-h,.egx-g,.eg-q,.eg-fq{grid-template-columns:1fr}.eg-h .lead{justify-self:start}
  .eg-ql{position:static}
  .eg-lf-g{grid-template-columns:1fr 1fr}
  .eg-pq{grid-template-columns:1fr}
  .eg-sy{grid-template-columns:1fr 1fr}.eg-sy li:not(:nth-child(3n+1)){padding-left:0;border-left:0}.eg-sy li:nth-child(even){padding-left:24px;border-left:1px solid var(--ln)}
  .eg-st{grid-template-columns:1fr 1fr}.eg-st li+li{padding-left:0;border-left:0}.eg-st li:nth-child(even){padding-left:24px;border-left:1px solid var(--ln)}.eg-st li{border-bottom:1px solid var(--ln)}
  .eg-fm article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.eg-sp{grid-column:1/-1}
}
@media (max-width:760px){
  .egh-k{top:calc(env(safe-area-inset-top,0px) + 88px)}
  .egh-k>.label{display:none}
  .egh-tri a{padding:7px 8px;font-size:10.5px;letter-spacing:.08em}
  .egh-tri a i{display:none}
  .egh-hint{display:none}
  .eg-lf-g,.eg-sy,.eg-st,.eg-fit,.eg-rail{grid-template-columns:1fr}
  .eg-sy li:nth-child(even),.eg-st li:nth-child(even){padding-left:0;border-left:0}
  .eg-rail>*+*{border-left:0;border-top:1px solid var(--ln)}
  .eg-rail>*{min-height:0}
  .eg-facts{grid-template-columns:1fr 1fr}
  .eg-fm article{grid-template-columns:1fr}
  .eg-qo,.eg-qq .h,.eg-qq .x{padding-left:0}
  .eg-faq .a{padding-right:0}
  html.fx .hud-bl{display:none}
}
@media (prefers-reduced-motion:reduce){.egh{height:auto}.egh-s{position:relative;height:auto;min-height:100svh}}
.eg-qv,.kev-vd{display:inline-flex;align-items:center;gap:8px;font:700 13px/1 var(--f);color:var(--rime);background:transparent;border:1.5px solid var(--line2);padding:9px 12px;cursor:pointer}
.eg-qv i,.kev-vd i{width:12px;height:9px;border:1.6px solid currentColor;border-top:0;border-radius:0 0 7px 7px}
.eg-qv:hover,.kev-vd:hover{border-color:var(--vul);color:var(--vul)}
