/* =====================================================================
   Industries We Serve page (loads after bpa.css)
   Scroll-linked: elements read --p (0 → 1) set by ind.js from the scroll position.
   ===================================================================== */
main>section{overflow-x:clip}
.ah-cta .ln{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--turq)}
.ah-cta .ln svg{width:14px;height:14px}
html.sl-on .rv,html.sl-on .rv.in{transition:none!important;opacity:clamp(0,calc(.05 + var(--p,1) * 1.2),1);transform:translate3d(0,calc((1 - var(--p,1)) * 70px),0)}
html.sl-on .rv.sr-l,html.sl-on .rv.sr-l.in{transform:translate3d(calc((1 - var(--p,1)) * -110px),0,0)}
html.sl-on .rv.sr-r,html.sl-on .rv.sr-r.in{transform:translate3d(calc((1 - var(--p,1)) * 110px),0,0)}
html.sl-on .rv.sr-z,html.sl-on .rv.sr-z.in{transform:scale(calc(.88 + var(--p,1) * .12))}
html.sl-on .sec-head{transform:translate3d(0,calc((1 - var(--p,1)) * 40px),0);opacity:clamp(0,calc(.1 + var(--p,1) * 1.3),1)}
html.sl-on .in-hero .ah-viz{transform:translate3d(0,calc(var(--hp,0) * -70px),0) scale(calc(1 - var(--hp,0) * .06))}
html.sl-on .in-hero .ah-l{transform:translate3d(0,calc(var(--hp,0) * 40px),0);opacity:calc(1 - var(--hp,0) * .7)}

/* ---------- 1. Hero ---------- */
.in-hx{display:block;width:100%;height:auto;font-family:inherit}
.ih-orb{fill:none;stroke:rgba(127,198,221,.3);stroke-width:1.5;stroke-dasharray:2 8;transform-origin:280px 190px;animation:ihSpin 40s linear infinite}
@keyframes ihSpin{to{transform:rotate(360deg)}}
.ih-ln{stroke:rgba(127,198,221,.35);stroke-width:1.6;stroke-dasharray:1 6;stroke-linecap:round}
.ih-dot{fill:var(--mint);filter:drop-shadow(0 0 5px rgba(91,251,194,.9))}
.ih-core circle{fill:#fff}
.ih-core .r2{fill:none;stroke:var(--mint);stroke-width:2;stroke-dasharray:4 6}
.ih-ct{font-size:14px;font-weight:800;fill:var(--navy)}
.ih-ct2{font-size:12px;font-weight:800;fill:var(--turq)}
.ih-n circle{fill:#0F3352;stroke:var(--mint);stroke-width:1.6}
.ih-n{animation:ihPulse 5s ease-in-out infinite}
.ih-n.n1{animation-delay:1s}.ih-n.n2{animation-delay:2s}.ih-n.n3{animation-delay:3s}.ih-n.n4{animation-delay:4s}
@keyframes ihPulse{0%,100%{opacity:.85}50%{opacity:1}}
.ih-t{font-size:11.5px;font-weight:800;fill:#CDE9F2}
@media (prefers-reduced-motion:reduce){.ih-orb,.ih-n{animation:none}.ih-dot{display:none}}

/* ---------- 2. Industry focus ---------- */
.in-focus{background:var(--white)}
.fx{border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 40px 80px -56px rgba(16,43,70,.6);overflow:hidden}
.fx-tabs{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--navy)}
.fx-tabs button{display:flex;align-items:center;gap:10px;min-width:0;padding:16px 14px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:rgba(255,255,255,.7);transition:background .3s,color .3s}
.fx-tabs button:hover{background:rgba(255,255,255,.05);color:#fff}
.fx-tabs button[aria-selected="true"]{background:rgba(91,251,194,.1);color:#fff}
.fx-tabs button:focus-visible{outline:2.5px solid var(--mint);outline-offset:-3px}
.fx-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.08);color:var(--mint);transition:background .3s,color .3s}
.fx-tabs button[aria-selected="true"] .fx-ic{background:var(--mint);color:var(--navy)}
.fx-ic svg{width:19px;height:19px}
.fx-tabs b{min-width:0;font-size:.88rem;font-weight:800;line-height:1.25}
.fx-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.fx-prog b{display:block;height:100%;width:20%;background:var(--mint);transition:width .45s var(--ease),transform .45s var(--ease)}
.fx-ps{display:grid}
.fx-p{grid-area:1/1;display:grid;gap:24px;padding:clamp(20px,3vw,36px);visibility:hidden;opacity:0;transform:translateY(12px);transition:opacity .45s var(--ease),transform .45s var(--ease),visibility 0s .45s;align-items:start}
.fx-p.is-on{visibility:visible;opacity:1;transform:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}
@media (min-width:1000px){.fx-p{grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:40px}}
.fx-anchor{position:absolute;top:-120px}
.fx-tx h3{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--turq)}
.fx-tag{margin:10px 0 0;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--navy)}
.fx-tx>p:not(.fx-tag){margin:14px 0 0;font-size:1rem;line-height:1.7;color:#000}
.fx-l{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.fx-l li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#F3FAFB;border:1px solid var(--line);font-size:.94rem;line-height:1.55;color:#000}
.fx-l li span{flex:none;display:grid;place-items:center;width:24px;height:24px;margin-top:1px;border-radius:8px;background:var(--mint);color:var(--navy)}
.fx-l li svg{width:15px;height:15px}
.fx-side{display:grid;gap:14px}
.fx-im{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:700/466}
.fx-im img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.fx-p.is-on .fx-im img{transform:none}
.fx-rel{padding:14px 16px;border-radius:16px;background:#F3FAFB;border:1px solid var(--line)}
.fx-rel>span{display:block;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#4F6370}
.fx-rel>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sv-chip{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #C9DCE3;font-size:.82rem;font-weight:800;color:var(--navy);text-decoration:none;transition:background .25s,border-color .25s,color .25s}
.sv-chip:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.fx-side .btn{justify-self:start}
@media (min-width:1000px){html.sl-on .fx-wrap{height:calc(100vh * 2.3)}html.sl-on .fx-wrap .fx{position:sticky;top:calc(var(--nav-h) + 20px)}html.sl-on .fx-wrap .fx.rv{opacity:1;transform:none}}
@media (min-width:1000px) and (max-height:860px){.fx-im{aspect-ratio:16/8}.fx-l li{padding:9px 12px}.fx-tx>p:not(.fx-tag){font-size:.95rem}}
@media (max-width:999px){.fx-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);overflow-x:auto;scrollbar-width:none}.fx-tabs::-webkit-scrollbar{display:none}.fx-prog{display:none}.fx-tabs button{white-space:normal}}
@media (prefers-reduced-motion:reduce){.fx-p,.fx-im img{transition:none}}

/* ---------- 3. Capabilities: pillars ---------- */
.pi{position:relative}
.pi-row{display:grid;gap:18px}
@media (min-width:900px){.pi-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end}}
.pi-c{position:relative;display:flex;flex-direction:column;padding:30px 26px 26px;border-radius:24px 24px 10px 10px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -46px rgba(16,43,70,.6);overflow:hidden}
@media (min-width:900px){.pi-c{min-height:calc(var(--hh,380px));transform:translate3d(0,calc((1 - var(--p,1)) * (80px + var(--i) * 50px)),0)}.pi-c.p0{--hh:400px}.pi-c.p1{--hh:440px}.pi-c.p2{--hh:400px}}
.pi-cap{position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--turq),var(--mint))}
.pi-c.p1{background:radial-gradient(120% 120% at 0% 0%,#1D6A90 0%,#102B46 60%,#0B2038 100%);border-color:transparent;color:#fff}
.pi-ic{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--navy);color:var(--mint)}
.pi-c.p1 .pi-ic{background:var(--mint);color:var(--navy)}
.pi-ic svg{width:27px;height:27px}
.pi-c h3{margin:20px 0 0;font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--navy)}
.pi-c.p1 h3{color:#fff}
.pi-c p{margin:10px 0 0;font-size:.96rem;line-height:1.68;color:#000}
.pi-c.p1 p{color:rgba(255,255,255,.88)}
.pi-ex{margin-top:auto;padding-top:20px}
.pi-ex>span{display:block;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#4F6370}
.pi-c.p1 .pi-ex>span{color:var(--mint)}
.pi-ex>div{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.pi-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#F3FAFB;border:1px solid var(--line);font-size:.86rem;font-weight:800;color:var(--navy);text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.pi-link::after{content:"\2192";color:var(--turq)}
.pi-link:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.pi-c.p1 .pi-link{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.pi-c.p1 .pi-link::after{color:var(--mint)}
.pi-c.p1 .pi-link:hover{background:var(--mint);color:var(--navy)}
.pi-base{display:none}
@media (min-width:900px){.pi-base{display:block;height:14px;margin:0 -10px;border-radius:0 0 14px 14px;background:linear-gradient(90deg,#102B46,#1B7699,#102B46);box-shadow:0 20px 30px -20px rgba(16,43,70,.6)}}
.pi-cta{display:flex;justify-content:center;margin-top:30px}

/* ---------- 4. Selected work: case files ---------- */
.in-work{background:var(--white)}
.cf{display:grid;gap:34px}
.cf-c{display:grid;gap:24px;align-items:center}
@media (min-width:900px){.cf-c{grid-template-columns:minmax(0,52fr) minmax(0,48fr);gap:50px}.cf-c.rev .cf-im{order:2}}
.cf-im{position:relative;margin:0;border-radius:26px;overflow:hidden;aspect-ratio:3/2;box-shadow:0 34px 60px -40px rgba(16,43,70,.6)}
.cf-im img{width:100%;height:100%;object-fit:cover}
.cf-tag{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(16,43,70,.88);color:#fff;font-size:.84rem;font-weight:800;backdrop-filter:blur(6px)}
.cf-tag svg{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--mint);color:var(--navy)}
.cf-tx h3{margin:0;font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--navy)}
.cf-tx>p{margin:12px 0 0;font-size:1rem;line-height:1.72;color:#000}
.cf-ar{margin-top:18px;padding:16px 18px;border-radius:18px;background:#F3FAFB;border:1px solid var(--line)}
.cf-ar>span{display:block;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#4F6370}
.cf-ar ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cf-ar li{padding:7px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:.82rem;font-weight:800}
.cf-ar li:nth-child(2){background:var(--turq)}.cf-ar li:nth-child(3){background:var(--mint);color:var(--navy)}

/* ---------- 5. Common questions: expanding cards ---------- */
.qx{display:grid;gap:12px}
@media (min-width:1000px){.qx{display:flex;gap:14px;align-items:stretch;min-height:300px}}
.qx-c{flex:1;display:flex;flex-direction:column;border-radius:22px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:flex .6s var(--ease),border-color .3s,box-shadow .3s}
.qx-c.open{flex:2.4;border-color:var(--mint);box-shadow:0 26px 50px -34px rgba(16,43,70,.55)}
html.sl-on .qx-c.rv{transform:translate3d(0,calc((1 - var(--p,1)) * (50px + var(--i) * 24px)),0)}
.qx-q{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:22px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;position:relative}
.qx-q:focus-visible{outline:2.5px solid var(--turq);outline-offset:-3px;border-radius:22px}
.qx-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#EAF4F7;color:var(--turq);transition:background .3s,color .3s}
.qx-c.open .qx-ic{background:var(--navy);color:var(--mint)}
.qx-ic svg{width:21px;height:21px}
.qx-q b{font-size:1.04rem;font-weight:800;line-height:1.35;color:var(--navy);padding-right:28px}
.qx-q i{position:absolute;right:22px;top:30px;width:16px;height:16px}
.qx-q i::before,.qx-q i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2.5px;border-radius:2px;background:var(--turq);transition:transform .3s}
.qx-q i::after{transform:rotate(90deg)}
.qx-c.open .qx-q i::after{transform:rotate(0)}
.qx-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.qx-a>p{overflow:hidden;margin:0;padding:0 22px;font-size:.95rem;line-height:1.7;color:#000}
.qx-c.open .qx-a{grid-template-rows:1fr}
.qx-c.open .qx-a>p{padding-bottom:22px}
@media (prefers-reduced-motion:reduce){.qx-c,.qx-a{transition:none}}

/* ---------- 6. Start a conversation: moving mesh ---------- */
.in-close{background:var(--white)}
.ms2{position:relative;border-radius:32px;overflow:hidden;background:#0B2038}
.ms2-b{position:absolute;border-radius:50%;filter:blur(40px);opacity:.75;animation:msF 14s ease-in-out infinite}
.ms2-b.b1{width:420px;height:420px;left:-80px;top:-120px;background:#1B7699}
.ms2-b.b2{width:360px;height:360px;right:-60px;bottom:-140px;background:#5BFBC2;opacity:.45;animation-delay:-5s}
.ms2-b.b3{width:300px;height:300px;left:40%;top:30%;background:#123F63;animation-delay:-9s}
@keyframes msF{0%,100%{transform:translate(0,0)}33%{transform:translate(60px,30px)}66%{transform:translate(-40px,40px)}}
.ms2-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(40px,6vw,72px) 24px}
.ms2 .clabel{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);color:#fff}
.ms2 h2{margin:16px 0 0;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;letter-spacing:-.035em;line-height:1.12;color:#fff;max-width:22ch}
.ms2 p{margin:14px 0 26px;font-size:1.02rem;line-height:1.65;color:rgba(255,255,255,.88);max-width:60ch}
@media (prefers-reduced-motion:reduce){.ms2-b{animation:none}}
/* phones: keep long sections short */
.sw-dots{display:none}
@media (max-width:760px){
  .pi-row{display:grid;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:4px 20px 8px}
  .pi-row::-webkit-scrollbar{display:none}.pi-row>*{scroll-snap-align:start}
  .sw-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
  .sw-dots i{width:8px;height:8px;border-radius:50%;background:#C9D9E0;transition:width .3s,background .3s}
  .sw-dots i.on{width:22px;border-radius:4px;background:var(--turq)}
  .cf-im{aspect-ratio:16/9}
  .fx-im{aspect-ratio:16/8}
}
/* FAQ: white band so it separates from Our Capabilities; compact cards */
.in-faq{background:var(--white)}
.in-faq .qx-c{background:#F6FBFC}
.in-faq .qx-c.open{background:#fff}
@media (min-width:1000px){.qx{min-height:0;align-items:flex-start}}
.qx-q{gap:10px;padding:18px 18px 14px}
.qx-ic{width:40px;height:40px;border-radius:12px}.qx-ic svg{width:19px;height:19px}
.qx-q b{font-size:.98rem}
.qx-q i{top:26px;right:18px}
.qx-a>p{padding:0 18px;font-size:.92rem;line-height:1.62}
.qx-c.open .qx-a>p{padding-bottom:18px}
/* FAQ: larger questions, equal-height cards */
.qx-q b{font-size:1.12rem;line-height:1.35}
@media (min-width:1000px){.qx{align-items:stretch}.qx-c{height:auto}}
@media (max-width:999px){.qx-q b{font-size:1.06rem}}
/* tablets & phones: industry tabs wrap so every name stays inside its tab */
@media (max-width:999px){
  .fx-tabs{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:1px;background:#0B2038}
  .fx-tabs button{background:var(--navy);padding:12px;white-space:normal}
  .fx-tabs button[aria-selected="true"]{background:#173C5E}
  .fx-tabs b{overflow-wrap:anywhere}
}
@media (min-width:600px) and (max-width:999px){.fx-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
