/* ============================================================================
   Global Data — "Industries" CPT styles (hub archive + single). SELF-CONTAINED.
   Same token system as solutions.css / use-cases.css — no portal.css dependency.
   Pairs with industries.js. Markup scoped under .industries, prefix ind-.
   ============================================================================ */
.industries{
  --p:#13ec80; --p-dark:#0eb561;
  --green:#047857; --green-700:#065f46; --green-soft:#ecfdf5; --green-line:#a7f3d0;
  --ink:#0f172a; --body:#475569; --muted:#64748b; --faint:#94a3b8;
  --line:#e2e8f0; --line-soft:#eef2f7; --surface:#ffffff; --surface-2:#f8fafc; --surface-3:#f1f5f9;
  --deep:#06281a;
}
.industries .material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  width:1em; height:1em; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; flex:none; line-height:1; }
html{ scroll-behavior:smooth; }
body{ font-family:'Manrope',sans-serif; background:#f1f5f9; color:#0f172a; }
.material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; }

/* ---- badge / eyebrow ---- */
.industries .pt-badge{ display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:var(--green-700); background:var(--green-soft); padding:7px 14px; border-radius:100px; border:1px solid var(--green-line); }
.industries .pt-badge .material-symbols-outlined{ font-size:15px; }
.industries .pt-dot{ width:7px; height:7px; border-radius:50%; background:var(--p); box-shadow:0 0 0 0 rgba(19,236,128,.55); animation:pt-pulse 1.8s infinite; }
@keyframes pt-pulse{ 0%{box-shadow:0 0 0 0 rgba(19,236,128,.55)} 70%{box-shadow:0 0 0 7px rgba(19,236,128,0)} 100%{box-shadow:0 0 0 0 rgba(19,236,128,0)} }

/* ---- hero mesh ---- */
.industries .pt-hero-mesh{ background-color:#fff;
  background-image:radial-gradient(circle at top left,rgba(19,236,128,.16),transparent 48%),radial-gradient(circle at 12% 8%,rgba(4,120,87,.08),transparent 40%); }
.mesh-gradient{ background-image:radial-gradient(at 0% 0%,rgba(19,236,128,.06) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(4,120,87,.04) 0,transparent 50%); }

/* ---- buttons ---- */
.industries .pt-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
  font-family:inherit; font-weight:700; font-size:14.5px; line-height:1; border:1px solid transparent; border-radius:12px;
  padding:13px 22px; transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background .2s,color .2s; white-space:nowrap; text-decoration:none; }
.industries .pt-btn .material-symbols-outlined{ font-size:18px; }
.industries .pt-btn-primary{ background:var(--p); color:#06281a; box-shadow:0 8px 22px -8px rgba(19,236,128,.6); }
.industries .pt-btn-primary:hover{ background:var(--p-dark); transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(19,236,128,.7); }
.industries .pt-btn-ghost{ background:rgba(255,255,255,.85); border-color:var(--line); color:var(--green-700); }
.industries .pt-btn-ghost:hover{ background:#fff; transform:translateY(-2px); box-shadow:0 4px 20px -2px rgba(15,23,42,.06); }
.industries .pt-btn-on-dark{ background:#fff; color:#06281a; }
.industries .pt-btn-on-dark:hover{ background:var(--p); transform:translateY(-2px); }
.industries .pt-btn-ghost-on-dark{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.25); color:#fff; }
.industries .pt-btn-ghost-on-dark:hover{ background:rgba(255,255,255,.16); transform:translateY(-2px); }
.industries a{ color:inherit; }
.industries .ind-link{ color:var(--green-700); font-weight:700; text-decoration:underline; text-decoration-color:rgba(19,236,128,.4); text-underline-offset:2px; }
.industries .ind-link:hover{ color:var(--green); }

/* ---- reveal on scroll (gated on JS; shows end-state if script never runs) ---- */
.industries .pt-reveal{ transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
html.pt-anim .industries .pt-reveal:not(.in){ opacity:0; transform:translateY(24px); }
.industries .pt-reveal.in{ opacity:1; transform:none; }
.industries .pt-reveal.d1{ transition-delay:.08s } .industries .pt-reveal.d2{ transition-delay:.16s } .industries .pt-reveal.d3{ transition-delay:.24s }

/* ---- bookmark sidebar (single template) — same block as solutions.css ---- */
.fc-bookmark-nav{ position:absolute; left:0; top:0; transform:translateY(-50%); width:56px; max-height:84vh;
  transition:width .4s cubic-bezier(.32,.72,0,1); z-index:100; border-radius:0 20px 20px 0; overflow:hidden;
  display:flex; flex-direction:column; background:rgba(255,255,255,.85); backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.6); border-left:none; box-shadow:0 10px 40px -12px rgba(15,23,42,.22); }
.fc-bookmark-nav:hover{ width:264px; }
.fc-bookmark-nav .nav-label{ opacity:0; white-space:nowrap; max-width:0; overflow:hidden; margin-left:0;
  transition:max-width .4s ease,opacity .3s ease,margin .4s ease; }
.fc-bookmark-nav:hover .nav-label{ opacity:1; max-width:180px; margin-left:12px; }
.fc-bookmark-nav.is-closed{ width:56px!important; }
.fc-bookmark-nav.is-closed .nav-label{ opacity:0!important; max-width:0!important; margin-left:0!important; }
.tab-progress-container{ position:absolute; right:0; top:0; bottom:0; width:3px; background:rgba(15,23,42,.06); }
.tab-progress-bar{ width:100%; background:#13ec80; height:0%; }
.nav-link.active{ background:#ecfdf5; color:#065f46; font-weight:600; }
.nav-link.active .material-symbols-outlined{ color:#047857; }
.bottom-action-btn{ width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  transition:all .3s ease; padding:0; background:#0b1220; color:#fff; }
.fc-bookmark-nav:hover .bottom-action-btn{ width:100%; justify-content:flex-start; padding:0 12px; }
.fc-bookmark-nav.is-closed .bottom-action-btn{ width:38px!important; justify-content:center!important; padding:0!important; }
@media (max-width:1023px){ .fc-bookmark-nav{ display:none; } }

/* ============================================================================
   HUB: industry card
   ============================================================================ */
.industries .ind-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:768px){ .industries .ind-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .industries .ind-grid{ grid-template-columns:repeat(3,1fr); } }
.industries .ind-card{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:24px; height:100%; text-decoration:none; box-shadow:0 2px 10px -4px rgba(15,23,42,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.industries .ind-card:hover{ transform:translateY(-4px); border-color:var(--green-line); box-shadow:0 18px 40px -16px rgba(15,23,42,.2); }
.industries .ind-card .fi{ width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:var(--green-soft); border:1px solid var(--green-line); color:var(--green); margin-bottom:16px; transition:.25s; }
.industries .ind-card:hover .fi{ background:var(--p); border-color:var(--p); color:var(--deep); }
.industries .ind-card .fi .material-symbols-outlined{ font-size:25px; }
.industries .ind-card h3,.industries .ind-card h2{ font-size:17px; font-weight:800; color:var(--ink); line-height:1.3; }
.industries .ind-card p{ font-size:13.5px; color:var(--body); line-height:1.55; margin-top:8px; }
.industries .ind-card .go{ display:inline-flex; align-items:center; gap:6px; margin-top:auto; padding-top:14px;
  font-size:13px; font-weight:800; color:var(--green-700); }
.industries .ind-card .go .material-symbols-outlined{ font-size:16px; transition:transform .25s ease; }
.industries .ind-card:hover .go .material-symbols-outlined{ transform:translateX(4px); }
.industries .ind-card .ind-prods{ display:flex; align-items:center; gap:7px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line-soft);
  font-size:11px; font-weight:700; color:var(--muted); line-height:1.5; }
.industries .ind-card .ind-prods .material-symbols-outlined{ font-size:14px; color:var(--faint); }

/* ---- Tranche 2 band (deep green) ---- */
.industries .ind-t2{ background:var(--deep); border-radius:24px; padding:40px; color:#fff; position:relative; overflow:hidden; }
.industries .ind-t2::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 85% 15%,rgba(19,236,128,.22),transparent 45%),radial-gradient(circle at 5% 95%,rgba(4,120,87,.4),transparent 50%); }
.industries .ind-t2 > *{ position:relative; }
.industries .ind-t2 h2{ font-size:26px; font-weight:800; letter-spacing:-.01em; line-height:1.25; }
.industries .ind-t2 p{ font-size:15px; color:rgba(255,255,255,.75); line-height:1.65; }
.industries .ind-t2 .pt-badge{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.22); }
.industries .ind-t2-date{ display:flex; flex-direction:column; gap:2px; padding:16px 20px; border-radius:14px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); }
.industries .ind-t2-date .k{ font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.industries .ind-t2-date .v{ font-size:17px; font-weight:800; color:#fff; }
.industries .ind-t2-date .v em{ color:var(--p); font-style:normal; }

/* ============================================================================
   SINGLE: meta strip under hero (same k/v grammar as sol-meta)
   ============================================================================ */
.industries .ind-meta{ display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line); border-radius:16px;
  background:#fff; overflow:hidden; margin-top:40px; }
@media (min-width:1024px){ .industries .ind-meta{ grid-template-columns:repeat(4,1fr); } }
.industries .ind-meta > div{ padding:18px 22px; border-top:1px solid var(--line-soft); }
.industries .ind-meta > div:nth-child(-n+2){ border-top:none; }
@media (min-width:1024px){ .industries .ind-meta > div{ border-top:none; border-left:1px solid var(--line-soft); } .industries .ind-meta > div:first-child{ border-left:none; } }
.industries .ind-meta .k{ font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.industries .ind-meta .v{ font-size:15px; font-weight:800; color:var(--ink); line-height:1.4; }
.industries .ind-meta .v em{ color:var(--green); font-style:normal; }

/* ---- section head: left-aligned h2 + right note ---- */
.industries .ind-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:10px 24px; margin-bottom:28px; }
.industries .ind-head h2{ font-size:27px; font-weight:800; letter-spacing:-.015em; color:var(--ink); line-height:1.2; }
.industries .ind-head .note{ font-size:13px; font-weight:600; color:var(--muted); max-width:380px; line-height:1.5; }

/* ---- obligations: bordered rows ---- */
.industries .ind-obls{ border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; }
.industries .ind-obl{ display:flex; gap:16px; padding:20px 24px; border-top:1px solid var(--line-soft); }
.industries .ind-obl:first-child{ border-top:none; }
.industries .ind-obl .oi{ width:40px; height:40px; border-radius:11px; flex:none; display:flex; align-items:center; justify-content:center;
  background:var(--green-soft); border:1px solid var(--green-line); color:var(--green); }
.industries .ind-obl .oi .material-symbols-outlined{ font-size:20px; }
.industries .ind-obl h3{ font-size:15px; font-weight:800; color:var(--ink); line-height:1.35; }
.industries .ind-obl p{ font-size:13.5px; color:var(--body); line-height:1.6; margin-top:4px; }
.industries .ind-obl .chip{ display:inline-flex; align-items:center; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; font-weight:600;
  color:var(--green-700); background:var(--green-soft); border:1px solid var(--green-line); border-radius:7px; padding:3px 8px; margin-left:auto; align-self:flex-start; white-space:nowrap; }
@media (max-width:640px){ .industries .ind-obl .chip{ display:none; } }

/* ---- product spotlight: deep lead panel + compact cards ---- */
.industries .ind-spot-lead{ background:var(--deep); border-radius:20px; padding:36px; color:#fff; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.industries .ind-spot-lead::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 90% 0%,rgba(19,236,128,.25),transparent 50%); }
.industries .ind-spot-lead > *{ position:relative; }
.industries .ind-spot-lead .tag{ display:inline-flex; align-items:center; gap:7px; font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--p); margin-bottom:14px; }
.industries .ind-spot-lead h3{ font-size:24px; font-weight:800; letter-spacing:-.01em; }
.industries .ind-spot-lead p{ font-size:14.5px; color:rgba(255,255,255,.75); line-height:1.65; margin-top:10px; }
.industries .ind-spot-lead ul{ margin-top:18px; display:flex; flex-direction:column; gap:9px; }
.industries .ind-spot-lead li{ display:flex; gap:9px; font-size:13.5px; font-weight:600; color:rgba(255,255,255,.85); }
.industries .ind-spot-lead li .material-symbols-outlined{ font-size:17px; color:var(--p); margin-top:1px; }
.industries .ind-spot-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px;
  text-decoration:none; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.industries .ind-spot-card:hover{ transform:translateY(-3px); border-color:var(--green-line); box-shadow:0 14px 30px -14px rgba(15,23,42,.18); }
.industries .ind-spot-card h4{ font-size:15px; font-weight:800; color:var(--ink); }
.industries .ind-spot-card p{ font-size:13px; color:var(--body); line-height:1.55; margin-top:6px; }
.industries .ind-spot-card .go{ display:inline-flex; align-items:center; gap:5px; margin-top:12px; font-size:12.5px; font-weight:800; color:var(--green-700); }
.industries .ind-spot-card .go .material-symbols-outlined{ font-size:15px; }

/* ---- use-case strip / related: reuse ind-card; sources grid ---- */
.industries .ind-src-grid{ display:grid; grid-template-columns:1fr; border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; }
@media (min-width:768px){ .industries .ind-src-grid{ grid-template-columns:repeat(2,1fr); } }
.industries .ind-src{ display:flex; gap:14px; padding:20px 24px; border-top:1px solid var(--line-soft); }
.industries .ind-src:first-child{ border-top:none; }
@media (min-width:768px){ .industries .ind-src:nth-child(2){ border-top:none; } .industries .ind-src:nth-child(2n){ border-left:1px solid var(--line-soft); } }
.industries .ind-src .material-symbols-outlined{ font-size:21px; color:var(--green); margin-top:2px; }
.industries .ind-src h3{ font-size:14px; font-weight:800; color:var(--ink); }
.industries .ind-src p{ font-size:13px; color:var(--body); line-height:1.55; margin-top:3px; }

/* ---- contact band ---- */
.industries .ind-contact{ background:var(--deep); border-radius:24px; padding:44px 40px; color:#fff; position:relative; overflow:hidden; }
.industries .ind-contact::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 85% 10%,rgba(19,236,128,.22),transparent 45%); }
.industries .ind-contact > *{ position:relative; }
.industries .ind-contact h2{ font-size:28px; font-weight:800; letter-spacing:-.015em; line-height:1.2; }
.industries .ind-contact p{ font-size:15px; color:rgba(255,255,255,.75); line-height:1.65; }
.industries .ind-contact .row{ display:flex; align-items:center; gap:9px; font-size:14px; font-weight:700; color:rgba(255,255,255,.85); }
.industries .ind-contact .row .material-symbols-outlined{ font-size:18px; color:var(--p); }
.industries .ind-contact .row a:hover{ color:var(--p); }
