/* ═══════════════════════════════════════════════════
   Industry page styles — per-industry accent via
   --ind-accent / --ind-tint set inline by template
   ═══════════════════════════════════════════════════ */

/* ── Hero extras ── */
/* The industry hero sits on a dark background (.page-head / .ind-head).
   The pill must read well there, so the default colors are tuned for dark.
   Inside .paper or .paper-2 wrappers (e.g. sticky inline-badge variants),
   the paper overrides below flip text back to ink. */
.ind-head .ind-badge{display:inline-flex;align-items:center;gap:var(--s-3);margin:var(--s-5) 0 var(--s-5);padding:var(--s-2) var(--s-4) var(--s-2) var(--s-3);border:1px solid rgba(255,255,255,.22);border-radius:999px;background:color-mix(in oklab, var(--ind-accent, var(--amber-2)) 18%, transparent);color:#fff}
.ind-head .ind-ic{width:24px;height:24px;display:inline-flex;color:var(--ind-accent,var(--amber-2))}
.ind-head .ind-ic svg{width:100%;height:100%}
.ind-head .ind-bl{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:600}
.ind-head .ind-amber{color:var(--ind-accent,var(--amber-2));font-style:normal}
/* Paper-variant of the industry badge (used below the hero, not inside it) */
.paper .ind-badge,.paper-2 .ind-badge{border-color:var(--rule);background:var(--ind-tint,rgba(216,154,60,.1));color:var(--ind-accent,var(--amber-1))}
.paper .ind-badge .ind-bl,.paper-2 .ind-badge .ind-bl{color:var(--ink-1)}

/* Industry-accent meta card left border */
.ind-meta{border-left:3px solid var(--ind-accent,var(--amber-1))}

/* Industry-accent buttons */
.btn-ind{background:var(--ind-accent,var(--amber-1));color:#fff;border:1px solid var(--ind-accent,var(--amber-1))}
.btn-ind:hover{filter:brightness(1.08)}

/* ── Stats — accent line ── */
.ind-stats .stat{border-top:2px solid var(--ind-accent,var(--amber-1))}

/* ── Problems grid ── */
.ind-prob-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5);margin-top:var(--s-8)}
.ind-prob{background:var(--paper-0);border:1px solid var(--rule);border-radius:var(--chamfer-md);padding:var(--s-7) var(--s-6);position:relative;overflow:hidden;min-height:200px}
.ind-prob::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ind-accent,var(--amber-1))}
.ind-prob-n{font-family:var(--f-display);font-weight:800;font-size:60px;line-height:.9;color:var(--ind-tint,rgba(216,154,60,.12));letter-spacing:-.03em;position:absolute;top:var(--s-3);right:var(--s-5);pointer-events:none}
.ind-prob h3{font-size:22px;letter-spacing:.02em;line-height:1.1;color:var(--ink-1);margin-bottom:var(--s-3);position:relative;z-index:1}
.ind-prob p{font-family:var(--f-body);font-size:15.5px;line-height:1.55;color:var(--steel-3);position:relative;z-index:1}

/* ── Services grid (dark) ── */
.ind-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-dark);border-left:1px solid var(--rule-dark);margin-top:var(--s-8)}
.ind-svc{padding:var(--s-7) var(--s-6);border-right:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);background:rgba(255,255,255,.01);min-height:240px;display:flex;flex-direction:column;gap:var(--s-3);transition:background .2s}
.ind-svc:hover{background:rgba(255,255,255,.03)}
.ind-svc-code{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;color:var(--ind-accent,var(--amber-2));text-transform:uppercase}
.ind-svc h3{font-size:22px;letter-spacing:.02em;line-height:1.05;color:#fff}
.ind-svc p{font-family:var(--f-body);font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.72);flex:1}

/* ── Compliance grid ── */
.ind-comp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-top:var(--s-8)}
.ind-comp{background:var(--paper-0);border:1px solid var(--rule);border-radius:var(--chamfer-md);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3);min-height:200px;position:relative;overflow:hidden}
.ind-comp::after{content:"";position:absolute;inset:0;background:var(--ind-tint,rgba(216,154,60,.08));opacity:0;transition:opacity .2s;pointer-events:none}
.ind-comp:hover::after{opacity:.4}
.ind-comp-tag{align-self:flex-start;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;color:#fff;background:var(--ind-accent,var(--amber-1));padding:4px 10px;border-radius:3px;text-transform:uppercase}
.ind-comp h4{font-size:18px;letter-spacing:.02em;line-height:1.1;color:var(--ink-1);position:relative;z-index:1}
.ind-comp p{font-family:var(--f-body);font-size:14px;line-height:1.5;color:var(--steel-3);flex:1;position:relative;z-index:1}

/* ── Scenarios list ── */
.ind-scn-list{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-8)}
.ind-scn{display:grid;grid-template-columns:180px 1fr;grid-template-rows:auto 1fr;column-gap:var(--s-7);row-gap:var(--s-3);padding:var(--s-6) var(--s-7);background:var(--paper-0);border:1px solid var(--rule);border-radius:var(--chamfer-md);align-items:start}
.ind-scn-t{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;gap:var(--s-2);padding-right:var(--s-5);border-right:1px dashed var(--rule);align-self:stretch}
.ind-scn-t .t{font-family:var(--f-mono);font-weight:500;font-size:24px;letter-spacing:.05em;color:var(--ind-accent,var(--amber-1))}
.ind-scn-t .c{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;color:var(--steel-3);text-transform:uppercase}
.ind-scn > h3,
.ind-scn > h4{grid-column:2;grid-row:1;font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:.06em;line-height:1.2;color:var(--ink-1);text-transform:uppercase;margin:0}
.ind-scn > p{grid-column:2;grid-row:2;font-family:var(--f-body);font-size:15.5px;line-height:1.6;color:var(--steel-3);margin:0}

/* ── Location combo cards ── */
.ind-loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);margin-top:var(--s-8)}
.ind-loc-card{padding:var(--s-7) var(--s-6);background:rgba(255,255,255,.02);border:1px solid var(--rule-dark);border-radius:var(--chamfer-md);display:flex;flex-direction:column;gap:var(--s-4);min-height:220px;transition:background .2s,border-color .2s,transform .2s;color:#fff;position:relative;overflow:hidden}
.ind-loc-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ind-accent,var(--amber-1));opacity:.5;transition:opacity .2s}
.ind-loc-card:hover{background:rgba(255,255,255,.04);border-color:var(--ind-accent);transform:translateY(-2px)}
.ind-loc-card:hover::before{opacity:1}
.ind-loc-kk{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.22em;color:rgba(255,255,255,.6);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.ind-loc-kk em{font-style:normal;color:var(--ind-accent,var(--amber-2));font-size:16px}
.ind-loc-tt{font-family:var(--f-display);font-weight:800;font-size:36px;line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:#fff;flex:1}
.ind-loc-tt .amber{color:var(--ind-accent,var(--amber-2))}
.ind-loc-ff{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;color:rgba(255,255,255,.5);text-transform:uppercase;padding-top:var(--s-4);border-top:1px dashed var(--rule-dark)}

/* ── Industry index grid ── */
.ind-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);margin-top:var(--s-8)}
.ind-index-card{padding:var(--s-7) var(--s-6);background:var(--paper-0);border:1px solid var(--rule);border-radius:var(--chamfer-md);display:flex;flex-direction:column;gap:var(--s-4);min-height:260px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s,background .2s}
.ind-index-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--card-accent,var(--amber-1))}
.ind-index-card:hover{background:#fff;border-color:var(--card-accent);transform:translateY(-2px)}
.ind-index-ic{width:36px;height:36px;display:inline-flex;color:var(--card-accent,var(--amber-1))}
.ind-index-ic svg{width:100%;height:100%}
.ind-index-card h3{font-family:var(--f-display);font-weight:800;font-size:30px;line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--ink-1)}
.ind-index-card h3 small{display:block;font-family:var(--f-mono);font-weight:400;font-size:12px;letter-spacing:.18em;color:var(--steel-3);margin-top:var(--s-2)}
.ind-index-card p{font-family:var(--f-body);font-size:14.5px;line-height:1.55;color:var(--steel-3);flex:1}
.ind-index-card .go{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--card-accent,var(--amber-1));text-transform:uppercase;padding-top:var(--s-4);border-top:1px dashed var(--rule);display:flex;justify-content:space-between;align-items:center}

/* Index hero */
.ind-index-hero{background:var(--ink-1);color:#fff;padding:calc(var(--header-h) + var(--s-11)) 0 var(--s-11);position:relative;overflow:hidden;border-bottom:1px solid var(--rule-dark)}
.ind-index-hero::before{content:"";position:absolute;inset:0;background-image:var(--grid-dark);background-size:var(--grid-size);mask-image:radial-gradient(ellipse at 30% 40%,#000 20%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at 30% 40%,#000 20%,transparent 80%);pointer-events:none}
.ind-index-hero > .container{position:relative;z-index:1}

/* ── Responsive ── */
@media (max-width:1280px){
  .ind-prob-grid{grid-template-columns:1fr}
  .ind-svc-grid{grid-template-columns:repeat(2,1fr)}
  .ind-comp-grid{grid-template-columns:repeat(2,1fr)}
  .ind-loc-grid{grid-template-columns:repeat(2,1fr)}
  .ind-index-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .ind-scn{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--s-3)}
  .ind-scn-t{grid-column:1;grid-row:1;flex-direction:row;padding:0 0 var(--s-3);border-right:0;border-bottom:1px dashed var(--rule);align-items:center;justify-content:space-between;align-self:auto}
  .ind-scn > h3,
  .ind-scn > h4{grid-column:1;grid-row:2}
  .ind-scn > p{grid-column:1;grid-row:3}
}
@media (max-width:768px){
  .ind-svc-grid{grid-template-columns:1fr}
  .ind-comp-grid{grid-template-columns:1fr}
  .ind-loc-grid{grid-template-columns:1fr}
  .ind-index-grid{grid-template-columns:1fr}
}
