/* industry.css — Industries dropdown, footer column, industry pages. Load after nav.css / editorial.css. */
:root{--ix-line:#dde2e8}

/* ---------- Industries dropdown (8 sub-tabs) ---------- */
.sub--ind .sub__in{grid-template-columns:repeat(4,1fr)}
.sub--ind a{padding:22px 22px 24px 0!important;border-left:0!important;border-top:1px solid var(--ix-line)}
.sub--ind a:nth-child(-n+4){border-top:0}
.sub--ind a:not(:nth-child(4n+1)){padding-left:22px!important;border-left:1px solid var(--ix-line)!important}
.sub--ind a b{font-size:17px}
.sub--ind a small{font-size:13px;margin-top:6px}
@media (max-width:1180px){.sub--ind a,.sub--ind a:not(:nth-child(4n+1)),.sub--ind a:nth-child(-n+4){border-top:0!important}.hd .sub--ind a,.hd .sub--ind a+a{padding:12px 0 12px 16px!important;border-left:2px solid var(--ix-line)!important}}

/* ---------- footer: Industries column ---------- */
@media (min-width:901px){
  .ft__brand{grid-column:1/4}
  .ft__col:nth-child(2){grid-column:4/6}
  .ft__col:nth-child(3){grid-column:6/9}
  .ft__col:nth-child(4){grid-column:9/11}
  .ft__col:nth-child(5){grid-column:11/13}
  .ft__col li{font-size:15px}
}

/* index: eight industries in a 4 x 2 grid */
@media (min-width:1100px){.dp__g{grid-template-columns:repeat(4,1fr)!important}}

/* ---------- reveal ---------- */
.js .xr{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*80ms)}
.js .xr.on{opacity:1;transform:none}

/* ---------- industry hero extras ---------- */
.ig{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(20px,3vw,48px);margin-top:clamp(36px,5vw,64px);max-width:1100px}
.ig div{border-top:1px solid rgba(255,255,255,.35);padding-top:16px}
.ig dt{font-size:13px;font-weight:500;color:var(--blue-soft,#9db6ff);margin-bottom:8px}
.ig dd{margin:0;color:#e6edf2;font-size:16px;line-height:1.5}
@media (max-width:800px){.ig{grid-template-columns:1fr;gap:20px}}

/* ---------- challenges ---------- */
.ch{border-top:1px solid var(--ink,#061423)}
.ch li{position:relative;display:grid;grid-template-columns:72px 1fr 1.3fr;gap:clamp(14px,3vw,48px);align-items:baseline;padding:clamp(22px,2.6vw,34px) 0;border-bottom:1px solid var(--ix-line);transition:padding .35s}
.ch li::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--blue,#2251ff);transition:width .8s cubic-bezier(.65,0,.25,1)}
.ch.on li::after{width:100%}
.ch li:hover{padding-left:14px}
.ch .n{font-size:14px;font-weight:600;color:var(--blue,#2251ff)}
.ch h3{font-size:clamp(22px,2.2vw,32px)!important;letter-spacing:-.03em!important;line-height:1.1!important}
.ch p{color:var(--muted,#4a5663);font-size:16px;max-width:52ch}
@media (max-width:800px){.ch li{grid-template-columns:40px 1fr}.ch p{grid-column:2}}

/* ---------- where AI changes the work ---------- */
.uc{border-top:1px solid var(--ink,#061423)}
.uc li{position:relative;display:grid;grid-template-columns:1.1fr 1.5fr 220px;gap:clamp(14px,3vw,48px);align-items:baseline;padding:clamp(22px,2.6vw,32px) 0;border-bottom:1px solid var(--ix-line);transition:padding .35s,background .35s}
.uc li:hover{padding-left:16px;background:#fff}
.uc h3{font-size:clamp(20px,1.9vw,27px)!important;letter-spacing:-.025em!important;line-height:1.15!important;transition:color .25s}
.uc li:hover h3{color:var(--blue,#2251ff)}
.uc p{color:var(--muted,#4a5663);font-size:16px}
.uc a{font-size:14px;font-weight:500;border-bottom:1px solid currentColor;justify-self:start;padding-bottom:2px;color:var(--ink,#061423);transition:color .25s}
.uc a:hover{color:var(--blue,#2251ff)}
@media (max-width:900px){.uc li{grid-template-columns:1fr}}

/* ---------- workflow diagram (signature motion) ---------- */
.wf__l{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(8px,2vw,24px)}
.wf__l::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--blue,#2251ff);transform:scaleX(0);transform-origin:left;transition:transform 2s .2s cubic-bezier(.65,0,.25,1)}
.wf__l.on::before{transform:scaleX(1)}
.wf__l::after{content:"";position:absolute;top:5px;left:0;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--blue,#2251ff);opacity:0}
.wf__l.on::after{animation:wfrun 6s 2.4s ease-in-out infinite}
@keyframes wfrun{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
.wf__l li{position:relative;padding:48px 22px 0 0}
.wf__l li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--blue,#2251ff);transform:scale(0);transition:transform .5s calc(.3s + var(--i)*.34s) cubic-bezier(.3,1.6,.5,1)}
.wf__l.on li::before{transform:scale(1)}
.wf__l li:nth-child(4)::before{background:var(--blue,#2251ff)}
.wf__l b{display:block;font-size:clamp(19px,1.7vw,24px);font-weight:500;letter-spacing:-.025em;margin-bottom:8px}
.wf__l span{display:block;color:var(--muted,#4a5663);font-size:15px;line-height:1.5;max-width:26ch}
.wf__k{margin-top:clamp(28px,3vw,44px);font-size:14px;color:var(--muted,#4a5663)}
.wf__k i{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--blue,#2251ff);vertical-align:-1px;margin-right:8px}
@media (max-width:900px){.wf__l{grid-template-columns:1fr}.wf__l::before{width:2px;height:auto;left:9px;right:auto;top:0;bottom:0;transform:scaleY(0);transform-origin:top}.wf__l.on::before{transform:scaleY(1)}.wf__l::after{display:none}.wf__l li{padding:0 0 30px 48px}}

/* ---------- governance band ---------- */
.gv{background:var(--navy,#061423);color:#fff}
.gv .kicker{color:var(--blue-soft,#9db6ff)}
.gv__g{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,5vw,88px);margin-top:clamp(28px,4vw,56px)}
.gv__g li{position:relative;padding:22px 0 26px;border-top:1px solid rgba(255,255,255,.28);font-size:clamp(17px,1.5vw,21px);letter-spacing:-.01em;line-height:1.35}
.gv__g li::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--blue-soft,#9db6ff);transition:width .9s calc(.1s + var(--i)*.15s) cubic-bezier(.65,0,.25,1)}
.gv__g.on li::before{width:56px}
@media (max-width:760px){.gv__g{grid-template-columns:1fr}}

/* ---------- outcomes ---------- */
.oc__g{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,56px)}
.oc__g div{border-top:1px solid var(--ink,#061423);padding-top:22px}
.oc__g h3{font-size:clamp(24px,2.4vw,36px)!important;letter-spacing:-.035em!important;line-height:1.08!important;margin-bottom:12px}
.oc__g p{color:var(--muted,#4a5663);font-size:16px}
.oc__n{margin-top:clamp(24px,3vw,40px);font-size:14px;color:var(--muted,#4a5663)}
@media (max-width:800px){.oc__g{grid-template-columns:1fr}}

/* ---------- related ---------- */
.rl__g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,88px)}
.rl h3{font-size:14px!important;font-weight:500!important;color:var(--muted,#4a5663);letter-spacing:0!important;margin-bottom:10px}
.rl li a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--ix-line);font-size:clamp(17px,1.5vw,21px);letter-spacing:-.015em;transition:padding .3s,color .3s}
.rl li:last-child a{border-bottom:1px solid var(--ix-line)}
.rl li a:hover{padding-left:12px;color:var(--blue,#2251ff)}
.rl li a i{font-style:normal;color:var(--blue,#2251ff);transition:transform .3s}
.rl li a:hover i{transform:translateX(6px)}
@media (max-width:800px){.rl__g{grid-template-columns:1fr}}

/* ---------- industries hub ---------- */
.hb{border-top:1px solid var(--ink,#061423)}
.hb a{position:relative;display:grid;grid-template-columns:72px 5fr 6fr 40px;gap:clamp(14px,3vw,48px);align-items:baseline;padding:clamp(24px,3vw,40px) 0;border-bottom:1px solid var(--ix-line);transition:padding .4s,background .4s}
.hb a::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--blue,#2251ff);transition:width .6s cubic-bezier(.65,0,.25,1)}
.hb a:hover{padding-left:18px;background:var(--wash,#f5f6f8)}
.hb a:hover::after{width:100%}
.hb .n{font-size:14px;font-weight:600;color:var(--blue,#2251ff)}
.hb h3{font-size:clamp(26px,3.2vw,46px)!important;letter-spacing:-.045em!important;line-height:1.05!important;transition:color .25s}
.hb a:hover h3{color:var(--blue,#2251ff)}
.hb p{color:var(--muted,#4a5663);font-size:16px;max-width:46ch}
.hb i{font-style:normal;font-size:24px;color:var(--blue,#2251ff);opacity:0;transform:translateX(-12px);transition:.3s}
.hb a:hover i{opacity:1;transform:none}
@media (max-width:800px){.hb a{grid-template-columns:40px 1fr}.hb p{grid-column:2}.hb i{display:none}}
@media (prefers-reduced-motion:reduce){.js .xr{opacity:1;transform:none;transition:none}.wf__l::after{animation:none}.wf__l::before,.ch li::after,.gv__g li::before{transition:none}}

/* ---------- "What We Do" dropdown: same boxed look as Industries, 3 columns x 2 rows (6 items) ---------- */
@media (min-width:1181px){
  .sub--wwd .sub__in{grid-template-columns:repeat(3,1fr)}
  .sub--wwd a:nth-child(-n+4){border-top:1px solid var(--ix-line)}
  .sub--wwd a:nth-child(-n+3){border-top:0}
  .sub--wwd a:nth-child(3n+1){padding-left:0!important;border-left:0!important}
  .sub--wwd a:not(:nth-child(3n+1)){padding-left:22px!important;border-left:1px solid var(--ix-line)!important}
  /* 5 items in a 3x2 grid: outline the empty 6th box (bottom of 3rd, right of 5th) */
  .sub--wwd a:nth-child(3){border-bottom:1px solid var(--ix-line)}
  .sub--wwd a:nth-child(5){border-right:1px solid var(--ix-line)}
}
