/* Industries group (industries/*). Page-specific only; everything else comes from assets/site.css. Prefix: .ind- */

/* ---- breadcrumb + inner hero ---- */
.ind-crumb{position:relative;z-index:1;margin-bottom:clamp(36px,4vw,56px)}
.ind-crumb ol{display:flex;flex-wrap:wrap;gap:6px 0;font:500 12.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-3)}
.ind-crumb li{display:inline-flex;align-items:center}
.ind-crumb li+li::before{content:"/";margin:0 12px;color:var(--rule-d2)}
.ind-crumb a{color:var(--on-2);text-decoration:none;padding:6px 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease),color .25s}
.ind-crumb a:hover{color:var(--on);background-size:100% 1px}
.ind-crumb [aria-current]{color:var(--on)}
.ind-hero .mono.ind-eye{grid-column:1/-1;margin-bottom:22px;color:var(--copper-text)}
.ind-hero h1.d2{grid-column:1/8;font-size:clamp(42px,5.6vw,86px)}
.ind-hero .sub{margin-top:clamp(32px,4vw,56px)}
.ind-hero .stamp{grid-column:1/6}
/* sector facts along the foot of the hero */
.ind-facts{border-top:1px solid var(--rule-d);padding:30px 0 42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,56px)}
.ind-facts > div{min-width:0;border-left:1px solid var(--copper-hi);padding-left:16px}
.ind-facts b{display:block;font-weight:500;color:var(--on);margin-bottom:4px}
.ind-facts span{display:block;font-size:14.5px;font-weight:500;color:var(--on-2);max-width:32ch}

/* ---- index: one band per industry ---- */
.ind-bands{grid-column:1/-1;border-top:1px solid var(--ink)}
.ind-band{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,72px);align-items:center;padding:clamp(48px,6vw,96px) 0;border-bottom:1px solid var(--rule)}
.ind-band:nth-child(even) .ph-fig{order:2}
.ind-band .ph-fig{aspect-ratio:16/10}
.ind-band .ix{display:block;font:400 italic 22px/1 var(--display);color:var(--copper);margin-bottom:18px}
.ind-band h3{font:700 clamp(34px,4vw,60px)/1.04 var(--display);letter-spacing:-.025em}
.ind-band h3 a{text-decoration:none;color:inherit;transition:color .3s}
.ind-band h3 a:hover{color:var(--copper)}
.ind-band .risk{margin-top:18px;font:700 clamp(19px,1.6vw,23px)/1.4 var(--display);color:var(--ink-2);max-width:30ch}
.ind-band ul{margin-top:24px;border-top:1px solid var(--rule)}
.ind-band li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid var(--rule);font-size:15.5px;color:var(--ink-2)}
.ind-band li::before{content:"";position:absolute;left:0;top:22px;width:12px;height:1px;background:var(--copper)}
.ind-band .acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:28px}
.ind-band .acts .mono{display:block;width:100%;margin-bottom:-6px}

/* ---- common controls band (dark) ---- */
.ind-ctl-head{grid-column:1/9;margin-bottom:clamp(48px,5vw,88px)}
.ind-ctl-head .mono{margin-bottom:22px}
.ind-ctl-head .lede{margin-top:24px}
.ind-ctl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,56px)}
.ind-ctl > div{border-top:1px solid var(--rule-d2);padding-top:24px}
.ind-ctl .num{font-size:clamp(56px,6vw,96px);font-style:italic;color:var(--copper-text)}
.ind-ctl h3{font:700 clamp(22px,2vw,28px)/1.18 var(--display);margin:18px 0 12px;letter-spacing:-.01em}
.ind-ctl p{color:var(--on-2);font-weight:500;font-size:15.5px;max-width:36ch}
.ind-ctl dl{margin-top:22px;border-top:1px solid var(--rule-d)}
.ind-ctl dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--rule-d)}
.ind-ctl dt{font:500 12.5px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-3)}
.ind-ctl dd{margin:0;font-size:14.5px;font-weight:500;color:var(--on)}

/* ---- sector page: body with on-this-page rail ---- */
.ind-toc{grid-column:1/4}
.ind-toc .sticky{position:sticky;top:100px}
.ind-toc .mono{margin-bottom:16px}
.ind-toc ol{border-top:1px solid var(--ink)}
.ind-toc li{border-bottom:1px solid var(--rule)}
.ind-toc a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:48px;padding:6px 0;font-size:15.5px;font-weight:500;color:var(--ink-2);text-decoration:none;transition:color .3s}
.ind-toc a i{font:400 italic 17px/1 var(--display);color:var(--copper)}
.ind-toc a:hover{color:var(--copper)}
.ind-main{grid-column:5/13;min-width:0}
.ind-sh{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:baseline;margin-bottom:clamp(32px,3.5vw,52px)}
.ind-sh .n{font:700 italic clamp(32px,3vw,44px)/1 var(--display);color:var(--copper);letter-spacing:-.02em}
.dark .ind-sh .n{color:var(--copper-text)}
.ind-sh .mono{display:block;margin-bottom:12px}
.ind-lead{font:700 clamp(21px,1.9vw,27px)/1.36 var(--display);letter-spacing:-.012em;max-width:36ch;margin-bottom:36px}

/* risk register */
.ind-risk{width:100%;border-collapse:collapse;border-top:1px solid var(--ink)}
.ind-risk th,.ind-risk td{text-align:left;vertical-align:top;padding:22px 20px 22px 0;border-bottom:1px solid var(--rule);font-size:15.5px;color:var(--ink-2)}
.ind-risk thead th{font:500 12.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:14px;padding-bottom:14px}
.ind-risk tbody th{width:30%;font:700 clamp(18px,1.5vw,21px)/1.3 var(--display);color:var(--ink);letter-spacing:-.005em}
.ind-risk tbody th i{display:block;font:400 italic 16px/1 var(--display);color:var(--copper);margin-bottom:10px}
.ind-risk td:last-child{color:var(--ink)}
.ind-note{margin-top:16px;font-size:14px;color:var(--ink-3);max-width:62ch}

/* controls section on a sector page (dark) */
.ind-gov{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,4vw,72px);align-items:start;margin-top:clamp(64px,7vw,112px)}
.ind-gov-t .mono{display:block;margin-bottom:14px}
.ind-gov-t p{color:var(--on-2);font-weight:500;font-size:15.5px;max-width:34ch}
.ind-gov-t .terms{margin-top:28px;grid-template-columns:1fr}
.ind-ph{grid-column:1/-1;margin-top:clamp(64px,7vw,112px);aspect-ratio:21/9}

/* relevant case study */
.ind-case{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,4vw,72px);align-items:center;text-decoration:none;color:inherit}
.ind-case .ph-fig{aspect-ratio:4/3}
.ind-case .ph-fig img{transition:transform 1.1s var(--ease)}
.ind-case:hover .ph-fig img{transform:scale(1.03)}
.ind-case .mono{margin-bottom:18px}
.ind-case h3{font:700 clamp(30px,3.4vw,52px)/1.06 var(--display);letter-spacing:-.022em;transition:color .3s}
.ind-case:hover h3,.ind-case:focus-visible h3{color:var(--copper)}
.ind-case p{margin-top:16px;color:var(--ink-2);max-width:46ch}
.ind-case .figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;border-top:1px solid var(--ink)}
.ind-case .figs > div{padding-top:16px}
.ind-case .figs .num{font-size:clamp(30px,3vw,46px)}
.ind-case .figs span{display:block;margin-top:8px;font-size:14px;color:var(--ink-2)}
.ind-case .go{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-weight:500}
.ind-case .go svg{width:14px;height:14px;transition:transform .5s var(--ease)}
.ind-case:hover .go svg{transform:translateX(5px)}
.ind-also{grid-column:1/-1;margin-top:clamp(56px,6vw,96px)}
.ind-also .mono{margin-bottom:6px}
.ind-also .cm{cursor:default}
.ind-also .cm:hover h3{transform:none;color:inherit}
.ind-also a.cm{cursor:pointer}
.ind-also a.cm:hover h3{transform:translateX(10px);color:var(--copper)}

/* related sectors + insights */
.ind-x{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,72px);margin-top:clamp(72px,8vw,128px)}
.ind-x .mono{margin-bottom:16px}
.ind-x .ir:first-of-type{border-top:1px solid var(--ink)}

.dark .ind-x .ir{border-bottom-color:var(--rule-d)}
.dark .ind-x .ir:first-of-type{border-top-color:var(--rule-d2)}
.dark .ind-x .ir span{color:var(--on-3)}
.dark .ind-x .ir:hover h3,.dark .ind-x .ir:focus-visible h3{color:var(--copper-text)}

/* ---- closing CTA without a form ---- */
.ind-close .close-l{grid-column:1/7}
.ind-close .close-l .cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}
.ind-close-r{grid-column:8/13;align-self:end}
.ind-close-r .next{margin-top:0}

/* ---- responsive ---- */
@media (max-width:900px){
  .ind-hero h1.d2,.ind-hero .stamp{grid-column:1/-1}
  .ind-crumb{margin:0;padding:22px 0 20px}
  .ind-facts{grid-template-columns:minmax(0,1fr);gap:20px}
  .ind-band{grid-template-columns:minmax(0,1fr);gap:28px}
  .ind-band:nth-child(even) .ph-fig{order:0}
  .ind-ctl-head{grid-column:1/-1}
  .ind-ctl{grid-template-columns:minmax(0,1fr);gap:40px}
  .ind-toc,.ind-main{grid-column:1/-1}
  .ind-toc .sticky{position:static}
  .ind-main{margin-top:64px}
  .ind-gov{grid-template-columns:minmax(0,1fr)}
  .ind-ph{aspect-ratio:16/10}
  .ind-case{grid-template-columns:minmax(0,1fr)}
  .ind-x{grid-template-columns:minmax(0,1fr)}
  .ind-close .close-l,.ind-close-r{grid-column:1/-1}
  .ind-close-r{margin-top:56px}
}
@media (max-width:640px){
  .ind-sh{grid-template-columns:1fr;gap:10px}
  .ind-risk thead{display:none}
  .ind-risk tr{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:20px 0;border-bottom:1px solid var(--rule)}
  .ind-risk th,.ind-risk td,.ind-risk tbody th{padding:0;border:0;width:auto}
  .ind-risk td::before{content:attr(data-h);display:block;margin-bottom:4px;font:500 12.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
  .ind-ctl dl div{grid-template-columns:1fr;gap:4px}
  .ind-case .figs{grid-template-columns:minmax(0,1fr);gap:0}
  .ind-case .figs > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule)}
  .ind-case .figs span{margin-top:0}
  .ind-also .cm{grid-template-columns:1fr}
  .ind-close .close-l .cta .btn,.ind-band .acts .btn{width:100%;justify-content:space-between}
}
