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

/* ── Hero extras ── */
/* The industry hero sits on a dark background (.page-head / .svc-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. */
.svc-head .svc-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(--svc-accent, var(--amber-2)) 18%, transparent);color:#fff}
.svc-head .svc-ic{width:24px;height:24px;display:inline-flex;color:var(--svc-accent,var(--amber-2))}
.svc-head .svc-ic svg{width:100%;height:100%}
.svc-head .svc-bl{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:600}
.svc-head .svc-amber{color:var(--svc-accent,var(--amber-2));font-style:normal}
/* Paper-variant of the industry badge (used below the hero, not inside it) */
.paper .svc-badge,.paper-2 .svc-badge{border-color:var(--rule);background:var(--svc-tint,rgba(216,154,60,.1));color:var(--svc-accent,var(--amber-1))}
.paper .svc-badge .svc-bl,.paper-2 .svc-badge .svc-bl{color:var(--ink-1)}

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

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

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

/* ── Problems grid ── */
.svc-prob-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5);margin-top:var(--s-8)}
.svc-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}
.svc-prob::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--svc-accent,var(--amber-1))}
.svc-prob-n{font-family:var(--f-display);font-weight:800;font-size:60px;line-height:.9;color:var(--svc-tint,rgba(216,154,60,.12));letter-spacing:-.03em;position:absolute;top:var(--s-3);right:var(--s-5);pointer-events:none}
.svc-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}
.svc-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) ── */
.svc-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)}
.svc-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}
.svc-svc:hover{background:rgba(255,255,255,.03)}
.svc-svc-code{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;color:var(--svc-accent,var(--amber-2));text-transform:uppercase}
.svc-svc h3{font-size:22px;letter-spacing:.02em;line-height:1.05;color:#fff}
.svc-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 ── */
.svc-comp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-top:var(--s-8)}
.svc-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}
.svc-comp::after{content:"";position:absolute;inset:0;background:var(--svc-tint,rgba(216,154,60,.08));opacity:0;transition:opacity .2s;pointer-events:none}
.svc-comp:hover::after{opacity:.4}
.svc-comp-tag{align-self:flex-start;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;color:#fff;background:var(--svc-accent,var(--amber-1));padding:4px 10px;border-radius:3px;text-transform:uppercase}
.svc-comp h4{font-size:18px;letter-spacing:.02em;line-height:1.1;color:var(--ink-1);position:relative;z-index:1}
.svc-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 ── */
.svc-scn-list{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-8)}
.svc-scn{display:grid;grid-template-columns:180px 1fr;gap:var(--s-7);padding:var(--s-6) var(--s-7);background:var(--paper-0);border:1px solid var(--rule);border-radius:var(--chamfer-md);align-items:start}
.svc-scn-t{display:flex;flex-direction:column;gap:var(--s-2);padding-right:var(--s-5);border-right:1px dashed var(--rule)}
.svc-scn-t .t{font-family:var(--f-mono);font-weight:500;font-size:24px;letter-spacing:.05em;color:var(--svc-accent,var(--amber-1))}
.svc-scn-t .c{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;color:var(--steel-3);text-transform:uppercase}
.svc-scn h4{font-size:20px;letter-spacing:.02em;line-height:1.15;color:var(--ink-1);margin-bottom:var(--s-2)}
.svc-scn p{font-family:var(--f-body);font-size:15.5px;line-height:1.6;color:var(--steel-3)}

/* ── Location combo cards ── */
.svc-loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);margin-top:var(--s-8)}
.svc-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}
.svc-loc-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--svc-accent,var(--amber-1));opacity:.5;transition:opacity .2s}
.svc-loc-card:hover{background:rgba(255,255,255,.04);border-color:var(--svc-accent);transform:translateY(-2px)}
.svc-loc-card:hover::before{opacity:1}
.svc-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}
.svc-loc-kk em{font-style:normal;color:var(--svc-accent,var(--amber-2));font-size:16px}
.svc-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}
.svc-loc-tt .amber{color:var(--svc-accent,var(--amber-2))}
.svc-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 ── */
.svc-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);margin-top:var(--s-8)}
.svc-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}
.svc-index-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--card-accent,var(--amber-1))}
.svc-index-card:hover{background:#fff;border-color:var(--card-accent);transform:translateY(-2px)}
.svc-index-ic{width:36px;height:36px;display:inline-flex;color:var(--card-accent,var(--amber-1))}
.svc-index-ic svg{width:100%;height:100%}
.svc-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)}
.svc-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)}
.svc-index-card p{font-family:var(--f-body);font-size:14.5px;line-height:1.55;color:var(--steel-3);flex:1}
.svc-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 */
.svc-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)}
.svc-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}
.svc-index-hero > .container{position:relative;z-index:1}

/* ── Responsive ── */
@media (max-width:1280px){
  .svc-prob-grid{grid-template-columns:1fr}
  .svc-svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-comp-grid{grid-template-columns:repeat(2,1fr)}
  .svc-loc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-index-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .svc-scn{grid-template-columns:1fr;gap:var(--s-4)}
  .svc-scn-t{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}
}
@media (max-width:768px){
  .svc-svc-grid{grid-template-columns:1fr}
  .svc-comp-grid{grid-template-columns:1fr}
  .svc-loc-grid{grid-template-columns:1fr}
  .svc-index-grid{grid-template-columns:1fr}
}
