/* industries.css · shared by industries.html hub + 5 industry-X.html pages
   Theme accent driven by body class:
     .industry--gov     navy
     .industry--health  coral
     .industry--edu     mint
     .industry--bank    blue
     .industry--retail  coral2
   Hub uses .industry--hub (multi-accent).
   Unique-per-page hero SVG is inline in HTML.
*/
:root{
  --c-navy:#0B1E3F;--c-navy-2:#1D3FB0;
  --c-blue:#1E63E9;--c-blue-2:#4F8BFF;--c-blue-deep:#1648A6;
  --c-accent:#5EEAD4;--c-accent-deep:#1aa893;
  --c-coral:#FF6B35;--c-coral-deep:#D94F1B;--c-accent-2:#FFB199;
  --c-bg:#F7F9FE;--c-bg-2:#EEF2FB;--c-card:#FFFFFF;
  --c-line:#DCE3F1;--c-line-2:#C2CDE3;
  --c-mute:#4D5A77;--c-text:#0F172A;
  --c-acc:var(--c-blue);--c-acc-deep:var(--c-blue-deep);--c-acc-soft:rgba(30,99,233,.08);
  --r-md:14px;--r-lg:20px;
  --ease-out:cubic-bezier(.22,.61,.36,1);--ease-spring:cubic-bezier(.16,1,.3,1);
  --t-fast:200ms;--t-mid:480ms;
  --maxw:1280px;--pad:clamp(20px,4vw,40px)
}
.industry--gov   { --c-acc: var(--c-navy-2);     --c-acc-deep: var(--c-navy);      --c-acc-soft: rgba(11,30,63,.08); }
.industry--health{ --c-acc: var(--c-coral);      --c-acc-deep: var(--c-coral-deep);--c-acc-soft: rgba(255,107,53,.08); }
.industry--edu   { --c-acc: var(--c-accent-deep);--c-acc-deep: #0e7c6c;            --c-acc-soft: rgba(94,234,212,.14); }
.industry--bank  { --c-acc: var(--c-blue);       --c-acc-deep: var(--c-blue-deep); --c-acc-soft: rgba(30,99,233,.08); }
.industry--retail{ --c-acc: var(--c-coral);      --c-acc-deep: var(--c-coral-deep);--c-acc-soft: rgba(255,107,53,.08); }
.industry--hub   { --c-acc: var(--c-blue);       --c-acc-deep: var(--c-blue-deep); --c-acc-soft: rgba(30,99,233,.08); }

*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.55;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}ul,ol{margin:0;padding:0;list-style:none}button,input{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
h1,h2,h3,h4{color:var(--c-navy);margin:0;font-family:'Space Grotesk','Inter',sans-serif;letter-spacing:-.02em}
h1{font-weight:700;font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.04;letter-spacing:-.03em}
h2{font-weight:700;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.1}
h3{font-weight:600;font-size:1.18rem;line-height:1.3}p{margin:0}em{font-style:normal;color:var(--c-acc)}

.bg-blueprint{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;background:var(--c-bg)}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(30,99,233,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(30,99,233,.06) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 1200px 700px at 50% 30%,black 40%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 1200px 700px at 50% 30%,black 40%,transparent 100%)}
.grid-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(closest-side,rgba(30,99,233,.18),rgba(94,234,212,.12) 40%,transparent 70%);filter:blur(40px);left:-300px;top:-300px;transition:left 80ms linear,top 80ms linear;will-change:left,top}
.cloud-net{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.section{padding:clamp(80px,10vw,140px) 0;position:relative}

.kicker{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--c-acc);letter-spacing:.04em;text-transform:lowercase}
.kicker .kdot{width:8px;height:8px;border-radius:2px;background:var(--c-acc);box-shadow:0 0 0 4px var(--c-acc-soft)}
.section-h{max-width:760px;margin-bottom:60px}.section-h.center{margin-left:auto;margin-right:auto;text-align:center}
.section-h h2{margin:14px 0}.section-h .sub{color:var(--c-mute);font-size:1.06rem}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:.76rem;color:var(--c-mute);letter-spacing:.04em;margin-bottom:22px}
.crumbs a{color:var(--c-mute);transition:color var(--t-fast) var(--ease-out)}.crumbs a:hover{color:var(--c-acc)}
.crumbs .sep{opacity:.45}.crumbs .here{color:var(--c-navy);font-weight:600}

.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:8px;font-weight:600;font-size:.94rem;cursor:pointer;border:1px solid transparent;transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out);position:relative;overflow:hidden}
.btn-lg{padding:16px 28px;font-size:1rem}
.btn-cta{background:linear-gradient(135deg,var(--c-acc),var(--c-acc-deep));color:var(--c-white);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 10px 24px -10px var(--c-acc-soft)}
.btn-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);transform:translateX(-100%);transition:transform 700ms var(--ease-out)}
.btn-cta:hover{transform:translateY(-1px);box-shadow:0 16px 32px -14px var(--c-acc-soft)}.btn-cta:hover::before{transform:translateX(100%)}
.btn-line{background:rgba(255,255,255,.6);color:var(--c-navy);border-color:var(--c-line);backdrop-filter:blur(8px)}.btn-line:hover{border-color:var(--c-acc);color:var(--c-acc)}

/* HERO */
.hero{padding:clamp(60px,9vw,110px) 0 clamp(60px,8vw,100px)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}
.tag{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--c-mute);padding:6px 12px;background:var(--c-white);border:1px solid var(--c-line);border-radius:999px;margin-bottom:26px}
.tag .tdot{width:8px;height:8px;border-radius:50%;background:var(--c-acc);animation:tagPulse 1.6s infinite}
@keyframes tagPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
.lede{color:var(--c-mute);font-size:clamp(1.04rem,1.3vw,1.18rem);max-width:560px;margin-top:22px}
.cta-row{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:46px}
.meta-tile{padding:18px;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);position:relative;overflow:hidden}
.meta-tile::before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--c-acc)}
.meta-num{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.45rem;font-weight:700;color:var(--c-navy);letter-spacing:-.02em}
.meta-suf{color:var(--c-acc);font-weight:700}
.meta-lbl{display:block;font-size:.78rem;color:var(--c-mute);margin-top:4px}

.hero-vis{position:relative;aspect-ratio:1;display:grid;place-items:center}
.sector-art{position:relative;width:100%;height:100%}
.sector-svg{width:100%;height:100%;display:block;overflow:visible}

/* hero SVG animation helpers (shared) */
.sa-float{transform-box:fill-box;transform-origin:center;animation:saFloat 4.5s ease-in-out infinite}
.sa-float.d2{animation-delay:-1.5s}.sa-float.d3{animation-delay:-3s}
@keyframes saFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.sa-pulse{transform-box:fill-box;transform-origin:center;animation:saPulse 2.6s ease-in-out infinite}
.sa-pulse.d2{animation-delay:-.6s}.sa-pulse.d3{animation-delay:-1.2s}.sa-pulse.d4{animation-delay:-1.8s}.sa-pulse.d5{animation-delay:-2.2s}
@keyframes saPulse{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}
.sa-halo{transform-box:view-box;transform-origin:250px 250px;animation:saHalo 3.4s ease-out infinite}
.sa-halo.d1{animation-delay:-1.1s}.sa-halo.d2{animation-delay:-2.2s}
@keyframes saHalo{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.9);opacity:0}}
.sa-flow{stroke-dasharray:4 5;animation:saFlow 4s linear infinite}
@keyframes saFlow{to{stroke-dashoffset:-54}}
.sa-bar{transform-box:fill-box;transform-origin:bottom center;animation:saBar 3s ease-in-out infinite}
.sa-bar.b2{animation-delay:-.4s}.sa-bar.b3{animation-delay:-.8s}.sa-bar.b4{animation-delay:-1.2s}
@keyframes saBar{0%,100%{transform:scaleY(.35);opacity:.6}50%{transform:scaleY(1);opacity:1}}

.sector-label{position:absolute;font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-navy);background:var(--c-white);border:1px solid var(--c-line);border-radius:999px;padding:5px 10px;white-space:nowrap;box-shadow:0 6px 14px -8px rgba(11,30,63,.3)}
.sector-label .sl-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;vertical-align:middle;transform:translateY(-1px);background:var(--c-acc)}
.sector-label--n{top:-2%;left:50%;transform:translateX(-50%)}
.sector-label--e{top:50%;right:-3%;transform:translateY(-50%)}
.sector-label--s{bottom:-2%;left:50%;transform:translateX(-50%)}
.sector-label--w{top:50%;left:-3%;transform:translateY(-50%)}

/* WHY THIS SECTOR — bigger problem panel */
.why-panel{background:linear-gradient(160deg,var(--c-white),var(--c-bg-2));border:1px solid var(--c-line);border-radius:var(--r-lg);padding:clamp(30px,5vw,56px);position:relative;overflow:hidden}
.why-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 32% 60% at 0% 50%,var(--c-acc-soft),transparent 60%),radial-gradient(ellipse 32% 60% at 100% 50%,var(--c-acc-soft),transparent 60%);pointer-events:none}
.why-panel h3{font-size:clamp(1.4rem,2.6vw,1.85rem);margin-bottom:14px;position:relative}
.why-panel p{color:var(--c-mute);font-size:1.04rem;margin-bottom:14px;position:relative;max-width:880px}
.why-panel em{color:var(--c-acc);font-style:normal}

/* 3 challenge cards */
.ch3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ch-card{position:relative;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);padding:28px 26px 24px;overflow:hidden;transition:transform var(--t-mid) var(--ease-spring),box-shadow var(--t-mid) var(--ease-out),border-color var(--t-mid) var(--ease-out)}
.ch-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--c-acc),var(--c-acc-deep))}
.ch-card:hover{transform:translateY(-4px);border-color:var(--c-acc);box-shadow:0 24px 50px -28px rgba(11,30,63,.25)}
.ch-id{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--c-acc);background:var(--c-acc-soft);padding:3px 8px;border-radius:4px;display:inline-block;margin-bottom:14px;letter-spacing:.06em}
.ch-card h4{font-family:'Space Grotesk','Inter',sans-serif;font-size:1.1rem;font-weight:700;color:var(--c-navy);margin:0 0 10px;letter-spacing:-.01em}
.ch-card p{color:var(--c-mute);font-size:.94rem;line-height:1.55}

/* 3 capability cards (NAS approach) */
.cap3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cap-card{perspective:1200px;display:block}
.cap-inner{position:relative;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);padding:28px 26px 24px;overflow:hidden;transform:rotateX(0) rotateY(0);transform-style:preserve-3d;transition:transform 500ms var(--ease-spring),box-shadow var(--t-mid) var(--ease-out),border-color var(--t-mid) var(--ease-out);height:100%}
.cap-inner::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),var(--c-acc-soft),transparent 60%);opacity:0;transition:opacity var(--t-mid) var(--ease-out);pointer-events:none}
.cap-card:hover .cap-inner{box-shadow:0 30px 60px -25px rgba(11,30,63,.25);border-color:var(--c-acc)}
.cap-card:hover .cap-inner::before{opacity:1}
.cap-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c-acc),var(--c-acc-deep));color:var(--c-white);margin-bottom:16px;box-shadow:0 8px 18px -8px var(--c-acc-soft)}
.cap-icon svg{width:24px;height:24px}
.cap-id{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--c-acc);background:var(--c-acc-soft);padding:3px 8px;border-radius:4px;display:inline-block;margin-bottom:10px;letter-spacing:.06em}
.cap-inner h3{margin-bottom:8px}
.cap-inner p{color:var(--c-mute);font-size:.94rem}

/* outcome solutions strip */
.out3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.out-card{display:block;background:linear-gradient(160deg,var(--c-white),var(--c-bg-2));border:1px solid var(--c-line);border-radius:var(--r-md);padding:26px 24px;transition:transform var(--t-mid) var(--ease-spring),border-color var(--t-mid) var(--ease-out),box-shadow var(--t-mid) var(--ease-out);position:relative;overflow:hidden}
.out-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c-acc),var(--c-acc-deep))}
.out-card:hover{transform:translateY(-4px);border-color:var(--c-acc);box-shadow:0 28px 60px -28px rgba(11,30,63,.25)}
.out-tag{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--c-acc);background:var(--c-acc-soft);border-radius:4px;padding:3px 8px;margin-bottom:14px;letter-spacing:.04em}
.out-card h3{margin-bottom:8px;font-size:1.18rem}
.out-card p{color:var(--c-mute);font-size:.92rem;margin-bottom:14px}
.out-link{font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:600;color:var(--c-acc);display:inline-flex;align-items:center;gap:8px}
.out-link span{display:inline-block;transition:transform var(--t-fast) var(--ease-spring)}
.out-card:hover .out-link span{transform:translateX(4px)}

/* Frameworks strip */
.frm{display:flex;gap:10px;flex-wrap:wrap;padding:24px 28px;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);align-items:center}
.frm-lbl{font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:700;color:var(--c-mute);letter-spacing:.12em;text-transform:uppercase;margin-right:8px}
.frm-chip{font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:600;color:var(--c-navy);background:var(--c-bg-2);border:1px solid var(--c-line);padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.frm-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-acc)}

/* INDUSTRIES HUB · 5-industry cards */
.iggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.icard{perspective:1200px;display:block;color:inherit}
.icard-inner{position:relative;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);padding:30px 26px 24px;overflow:hidden;transform:rotateX(0) rotateY(0);transform-style:preserve-3d;transition:transform 500ms var(--ease-spring),box-shadow var(--t-mid) var(--ease-out),border-color var(--t-mid) var(--ease-out);height:100%;display:flex;flex-direction:column}
.icard-inner::before{content:"";position:absolute;top:0;left:0;right:0;height:3px}
.icard[data-sector="gov"]    .icard-inner::before{background:linear-gradient(90deg,var(--c-navy),var(--c-navy-2))}
.icard[data-sector="health"] .icard-inner::before{background:linear-gradient(90deg,var(--c-coral),var(--c-coral-deep))}
.icard[data-sector="edu"]    .icard-inner::before{background:linear-gradient(90deg,var(--c-accent),var(--c-accent-deep))}
.icard[data-sector="bank"]   .icard-inner::before{background:linear-gradient(90deg,var(--c-blue),var(--c-blue-2))}
.icard[data-sector="retail"] .icard-inner::before{background:linear-gradient(90deg,var(--c-coral),var(--c-accent-2))}
.icard:hover .icard-inner{box-shadow:0 30px 60px -25px rgba(11,30,63,.25);border-color:var(--c-acc)}
.icard-mark{width:60px;height:60px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(160deg,var(--c-bg-2),var(--c-white));border:1px solid var(--c-line);margin-bottom:18px}
.icard-mark svg{width:32px;height:32px}
.icard[data-sector="gov"]    .icard-mark{color:var(--c-navy-2)}
.icard[data-sector="health"] .icard-mark{color:var(--c-coral)}
.icard[data-sector="edu"]    .icard-mark{color:var(--c-accent-deep)}
.icard[data-sector="bank"]   .icard-mark{color:var(--c-blue)}
.icard[data-sector="retail"] .icard-mark{color:var(--c-coral)}
.icard-id{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--c-mute);padding:3px 0;letter-spacing:.08em;margin-bottom:10px;display:block}
.icard h3{margin-bottom:8px;font-size:1.2rem}
.icard p{color:var(--c-mute);font-size:.94rem;flex:1}
.icard-foot{margin-top:18px;display:flex;align-items:center;gap:8px;color:var(--c-navy);font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:600}
.icard-foot span{display:inline-block;transition:transform var(--t-fast) var(--ease-spring)}
.icard:hover .icard-foot span{transform:translateX(4px)}

/* CTA */
.cta-sec{padding-bottom:clamp(60px,7vw,100px)}
.cta-card{position:relative;padding:clamp(40px,6vw,80px);background:linear-gradient(160deg,#0B1E3F 0%,#0F2A55 60%,#1648A6 130%);border-radius:var(--r-lg);color:var(--c-white);overflow:hidden;text-align:center;box-shadow:0 40px 80px -40px rgba(11,30,63,.55)}
.cta-card .kicker{color:var(--c-accent-2);justify-content:center;display:inline-flex}
.cta-card .kicker .kdot{background:var(--c-accent-2);box-shadow:0 0 0 4px rgba(255,178,153,.22)}
.cta-card h2{color:var(--c-white);margin:18px auto 14px;max-width:700px}
.cta-card h2 em{background:linear-gradient(120deg,var(--c-white),var(--c-accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-card p{color:rgba(255,255,255,.78);max-width:620px;margin:0 auto 30px}
.cta-btns{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}
.cta-card .btn-line{background:rgba(255,255,255,.06);color:var(--c-white);border-color:rgba(255,255,255,.2)}
.cta-card .btn-line:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:var(--c-white)}
.cta-lights{position:absolute;inset:-40%;background:radial-gradient(closest-side,rgba(255,107,53,.4),transparent 60%) 80% 20% / 40% 50% no-repeat,radial-gradient(closest-side,rgba(79,139,255,.4),transparent 60%) 15% 80% / 50% 60% no-repeat;filter:blur(60px);pointer-events:none;animation:drift 14s ease-in-out infinite}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,24px)}}

/* resources */
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-top:28px}
.rcard{display:block;padding:28px;background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);transition:transform var(--t-mid) var(--ease-spring),box-shadow var(--t-mid) var(--ease-out),border-color var(--t-fast) var(--ease-out)}
.rcard:hover{transform:translateY(-3px);box-shadow:0 20px 40px -22px rgba(11,30,63,.25);border-color:var(--c-acc)}
.rtag{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--c-acc);letter-spacing:.04em}
.rcard h3{margin:10px 0 8px}
.rcard p{color:var(--c-mute);font-size:.94rem;margin-bottom:14px}
.rcta{color:var(--c-acc);font-weight:700}
.rcta span{display:inline-block;transition:transform var(--t-fast) var(--ease-spring)}
.rcard:hover .rcta span{transform:translateX(6px)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity 800ms var(--ease-out),transform 800ms var(--ease-spring);transition-delay:calc((var(--i,0) - 1) * 70ms)}
.reveal.in{opacity:1;transform:none}

@media (max-width:1100px){.ch3,.cap3,.out3,.iggrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1024px){.hero-grid{grid-template-columns:1fr}.hero-vis{max-width:480px;margin:0 auto}}
@media (max-width:720px){.hero-meta,.ch3,.cap3,.out3,.iggrid{grid-template-columns:1fr}.sector-label{font-size:.54rem;padding:4px 8px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.reveal{opacity:1;transform:none}}
