/* ═══════════════════════════════════════════════════
   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}
}

/* ═══════════════════════════════════════════════════
   CYBER COMMAND — Landing page additions
   Steel-blue secondary accent, amber still primary.
   ═══════════════════════════════════════════════════ */
:root{
  --steel-blue:#4A6B8A;
  --steel-blue-soft:#6F8BA8;
  --steel-blue-tint:rgba(74,107,138,.12);
}

/* H1 clamp for mobile — never above 38px */
@media (max-width:768px){
  .page-head h1{font-size:clamp(28px,9vw,38px) !important;letter-spacing:0}
}

/* CMMC attest badge — prominent block for hero & mid-page */
.cmmc-badge{
  display:inline-grid;grid-template-columns:auto 1fr;gap:var(--s-4);
  align-items:center;padding:var(--s-4) var(--s-5);
  border:1px solid var(--amber-1);border-radius:var(--chamfer-sm);
  background:color-mix(in oklab,var(--amber-2) 12%,transparent);
  max-width:460px;margin:var(--s-5) 0 0;
}
.cmmc-badge .cb-shield{
  width:44px;height:44px;display:grid;place-items:center;
  border-radius:3px;background:var(--amber-1);color:#fff;
  font-family:var(--f-display);font-weight:800;font-size:13px;letter-spacing:.08em;
}
.cmmc-badge .cb-label{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.22em;color:var(--steel-3);text-transform:uppercase;margin-bottom:2px}
.cmmc-badge .cb-title{font-family:var(--f-display);font-weight:700;font-size:16px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-1);line-height:1.1}
.cmmc-badge .cb-note{font-family:var(--f-mono);font-size:10.5px;color:var(--steel-3);margin-top:3px}

.page-head .cmmc-badge{
  border-color:rgba(255,255,255,.25);
  background:rgba(216,154,60,.14);
  max-width:520px;
}
.page-head .cmmc-badge .cb-label{color:rgba(255,255,255,.6)}
.page-head .cmmc-badge .cb-title{color:#fff}
.page-head .cmmc-badge .cb-note{color:rgba(255,255,255,.55)}

/* Attest band — full-bleed section behind CMMC narrative */
.attest{background:var(--paper-2);padding:var(--s-12) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);position:relative}
.attest-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-10);align-items:center}
.attest-left h2{font-family:var(--f-display);font-weight:800;font-size:clamp(36px,4.4vw,60px);line-height:.95;letter-spacing:-.005em;color:var(--ink-1);text-wrap:balance}
.attest-left h2 em{font-style:normal;color:var(--amber-1)}
.attest-left .lede{font-family:var(--f-body);font-size:17px;line-height:1.6;color:var(--steel-3);margin-top:var(--s-5);max-width:48ch}
.attest-right{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);padding:var(--s-7);border:1px solid var(--rule);border-radius:var(--chamfer-md);background:var(--paper-0)}
.attest-right .at-row{padding:var(--s-4);border:1px dashed var(--rule);border-radius:var(--r-sm)}
.attest-right .at-row.full{grid-column:span 2;background:color-mix(in oklab,var(--amber-2) 10%,transparent);border-style:solid;border-color:var(--amber-1)}
.attest-right .at-k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;color:var(--steel-3);text-transform:uppercase}
.attest-right .at-v{font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-1);margin-top:3px;line-height:1.1}
.attest-right .at-sub{font-family:var(--f-body);font-size:13px;color:var(--steel-3);margin-top:4px;line-height:1.4}

/* Capability grid — 8 cards, uses existing .cap but with a steel-blue tint slot */
.cyber-caps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin-top:var(--s-8)}
.cyber-caps .cap{
  min-height:260px;position:relative;
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:var(--s-7) var(--s-6);background:var(--paper-1);
  display:flex;flex-direction:column;gap:var(--s-3);
  transition:background .25s, transform .2s, border-color .2s;
  text-decoration:none;color:inherit;cursor:pointer;overflow:hidden;
}
.cyber-caps .cap::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--amber-1);transform:scaleY(0);transform-origin:top;
  transition:transform .25s;
}
.cyber-caps .cap:hover::before,.cyber-caps .cap:focus-within::before{transform:scaleY(1)}
.cyber-caps .cap:hover,.cyber-caps .cap:focus-within{background:var(--paper-0);transform:translateY(-1px)}
.cyber-caps .cap::after{
  content:"Open →";position:absolute;bottom:var(--s-5);right:var(--s-6);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;
  color:var(--amber-1);text-transform:uppercase;
  opacity:0;transform:translateY(4px);transition:opacity .2s, transform .2s;
  pointer-events:none;
}
.cyber-caps .cap:hover::after,.cyber-caps .cap:focus-within::after{opacity:1;transform:translateY(0)}
.cyber-caps .cap-num{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--steel-3);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.cyber-caps .cap-num span:last-child{color:var(--steel-blue)}
.cyber-caps .cap h3{font-family:var(--f-display);font-weight:700;font-size:22px;letter-spacing:.02em;line-height:1.05;color:var(--ink-1)}
.cyber-caps .cap p{font-family:var(--f-body);font-size:14.5px;line-height:1.55;color:var(--steel-3);flex:1;margin-top:var(--s-1)}
.cyber-caps .cap-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}
.cyber-caps .cap-tags span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;padding:3px 8px;border:1px solid var(--rule);color:var(--steel-3);text-transform:uppercase;border-radius:var(--r-sm)}

/* Stack visualization — physical + cyber together */
.stack{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule-dark);border-radius:var(--chamfer-md);overflow:hidden;margin-top:var(--s-8)}
.stack-col{padding:var(--s-8) var(--s-7);position:relative;min-height:320px;display:flex;flex-direction:column;gap:var(--s-4)}
.stack-col.physical{background:rgba(255,255,255,.02);color:#fff;border-right:1px solid var(--rule-dark)}
.stack-col.cyber{background:linear-gradient(135deg,rgba(74,107,138,.12),rgba(216,154,60,.04));color:#fff}
.stack-col .sc-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:var(--s-3)}
.stack-col.physical .sc-label{color:var(--amber-2)}
.stack-col.cyber .sc-label{color:var(--steel-blue-soft)}
.stack-col .sc-label::before{content:"";width:28px;height:1px;background:currentColor}
.stack-col h3{font-family:var(--f-display);font-weight:800;font-size:clamp(28px,3.4vw,44px);line-height:.95;letter-spacing:-.005em;color:#fff}
.stack-col p{font-family:var(--f-body);font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.78)}
.stack-col ul{list-style:none;margin-top:auto;padding-top:var(--s-5);border-top:1px dashed var(--rule-dark);display:flex;flex-direction:column;gap:var(--s-2)}
.stack-col ul li{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;color:rgba(255,255,255,.78);text-transform:uppercase;padding-left:var(--s-4);position:relative}
.stack-col ul li::before{content:"+";position:absolute;left:0;color:var(--amber-2);font-weight:600}
.stack-col.cyber ul li::before{color:var(--steel-blue-soft)}

/* Methodology rail — 3 steps */
.method-rail{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);border-radius:var(--chamfer-md);overflow:hidden;margin-top:var(--s-8);background:var(--paper-0)}
.method-step{padding:var(--s-8) var(--s-7);border-right:1px solid var(--rule);position:relative;min-height:260px;display:flex;flex-direction:column;gap:var(--s-3)}
.method-step:last-child{border-right:0}
.method-step .ms-n{font-family:var(--f-display);font-weight:800;font-size:72px;line-height:.9;letter-spacing:-.03em;color:#958F7A;position:absolute;top:var(--s-4);right:var(--s-6);pointer-events:none}
.method-step .ms-phase{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber-1)}
.method-step h4{font-family:var(--f-display);font-weight:700;font-size:26px;letter-spacing:.02em;line-height:1.05;color:var(--ink-1);position:relative;z-index:1}
.method-step p{font-family:var(--f-body);font-size:15px;line-height:1.6;color:var(--steel-3);position:relative;z-index:1}
.method-step .ms-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:auto;padding-top:var(--s-4);border-top:1px dashed var(--rule)}
.method-step .ms-tags span{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;padding:3px 7px;border:1px solid var(--rule);color:var(--steel-3);text-transform:uppercase;border-radius:var(--r-sm)}

/* Stats band — cyber 4-up */
.cy-stats{background:var(--ink-1);color:#fff;padding:var(--s-11) 0;position:relative;overflow:hidden;border-bottom:1px solid var(--rule-dark)}
.cy-stats::before{content:"";position:absolute;inset:0;background-image:var(--grid-dark);background-size:40px 40px;mask-image:radial-gradient(ellipse at 20% 50%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 20% 50%,#000 10%,transparent 70%);pointer-events:none}
.cy-stats-inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.cy-stat{padding:var(--s-2) var(--s-7);border-left:1px solid var(--rule-dark);display:flex;flex-direction:column;gap:var(--s-2)}
.cy-stat:first-child{border-left:0;padding-left:0}
.cy-stat .sn{font-family:var(--f-display);font-weight:800;font-size:clamp(46px,5.5vw,78px);line-height:.9;letter-spacing:-.01em;color:#fff}
.cy-stat .sn sup{font-size:.4em;vertical-align:top;top:.4em;position:relative;color:var(--amber-2);font-weight:600;letter-spacing:0}
.cy-stat .sl{font-family:var(--f-display);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.cy-stat .sd{font-family:var(--f-body);font-size:13.5px;color:rgba(255,255,255,.68);line-height:1.5}

/* Responsive */
@media (max-width:1280px){
  .cyber-caps{grid-template-columns:repeat(2,1fr)}
  .method-rail{grid-template-columns:1fr}
  .method-step{border-right:0;border-bottom:1px solid var(--rule)}
  .method-step:last-child{border-bottom:0}
  .cy-stats-inner{grid-template-columns:repeat(2,1fr);gap:var(--s-6)}
  .cy-stat{border-left:0;padding:0;border-top:1px solid var(--rule-dark);padding-top:var(--s-5)}
  .cy-stat:first-child,.cy-stat:nth-child(2){border-top:0;padding-top:0}
  .attest-inner{grid-template-columns:1fr;gap:var(--s-7)}
  .stack{grid-template-columns:1fr}
  .stack-col.physical{border-right:0;border-bottom:1px solid var(--rule-dark)}
}
@media (max-width:768px){
  .cyber-caps{grid-template-columns:1fr}
  .attest-right{grid-template-columns:1fr}
  .attest-right .at-row.full{grid-column:span 1}
  .cy-stats-inner{grid-template-columns:1fr}
  .cy-stat:nth-child(2){border-top:1px solid var(--rule-dark);padding-top:var(--s-5)}
  .cmmc-badge{grid-template-columns:1fr}
}
