/* ===== INDUSTRIES — page-specific CSS ===== */

/* ---------- DARK HERO ---------- */
.ih{position:relative; background:var(--black); color:var(--fg); overflow:hidden; border-bottom:1px solid var(--line-2)}
.ih-bg{position:absolute; inset:0; z-index:0}
.ih-bg img{width:100%; height:100%; object-fit:cover; opacity:.34}
.ih-bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,11,11,.55) 0%, rgba(11,11,11,.78) 55%, var(--black) 100%)}
.ih-inner{position:relative; z-index:1; padding:clamp(4rem,9vw,7.5rem) 0 clamp(2.6rem,5vw,4rem)}
.ih .ih-eye{font-family:var(--mono); font-size:.8rem; font-weight:500; text-transform:uppercase; letter-spacing:.02em;
  color:var(--fg-dim); display:flex; align-items:center; gap:.4em}
.ih .ih-eye .ln{flex:none; width:120px; height:1px; background:var(--line); margin-left:.4em}
.ih h1{font-size:clamp(2.7rem,6.6vw,5.6rem); letter-spacing:-.04em; line-height:.98; margin:1.1rem 0 0; max-width:16ch; font-weight:500}
.ih h1 em{font-style:normal; color:var(--brand)}
.ih .ih-lead{max-width:60ch; margin-top:1.5rem; color:var(--fg-dim); font-size:clamp(1.02rem,1.4vw,1.18rem); line-height:1.6}
.ih-meta{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2.2rem}

/* hero stat strip */
.ih-stats{position:relative; z-index:1; border-top:1px solid var(--line-2);
  display:grid; grid-template-columns:repeat(4,1fr)}
.ih-stats .s{padding:1.5rem 0 1.7rem; padding-right:1.4rem}
.ih-stats .s + .s{padding-left:clamp(1.2rem,2.5vw,2.4rem); border-left:1px solid var(--line-2)}
.ih-stats .n{font-size:clamp(1.7rem,3vw,2.5rem); letter-spacing:-.03em; line-height:1}
.ih-stats .n u{color:var(--brand); text-decoration:none}
.ih-stats .l{margin-top:.55rem; font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--fg-mute); line-height:1.4}
@media(max-width:760px){.ih-stats{grid-template-columns:1fr 1fr}
  .ih-stats .s:nth-child(3){border-left:0; border-top:1px solid var(--line-2)}
  .ih-stats .s:nth-child(4){border-top:1px solid var(--line-2)}}

/* ---------- LIGHT BODY ---------- */
.ibody{background:#fff; color:var(--on-light)}
.ibody-wrap{display:grid; grid-template-columns:236px minmax(0,1fr); gap:clamp(2rem,5vw,5.5rem);
  padding:clamp(2.8rem,5vw,4.6rem) 0 clamp(2rem,4vw,3rem)}

/* sticky index rail */
.idx{position:sticky; top:96px; align-self:start}
.idx-h{font-family:var(--mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--on-light-mute);
  padding-bottom:.9rem; margin-bottom:.4rem; border-bottom:1px solid var(--line-light)}
.idx a{display:flex; align-items:baseline; gap:.7em; padding:.62rem 0; color:var(--on-light-mute);
  border-bottom:1px solid var(--line-light-2); transition:color .18s var(--ease)}
.idx a .ino{font-family:var(--mono); font-size:.72rem; letter-spacing:.02em; color:var(--on-light-mute); transition:color .18s}
.idx a .inm{font-size:.95rem; letter-spacing:-.01em; line-height:1.2}
.idx a:hover{color:var(--on-light)} .idx a:hover .ino{color:var(--brand)}
.idx-foot{margin-top:1.6rem; padding-top:1.3rem; border-top:1px solid var(--line-light)}
.idx-foot p{font-size:.82rem; color:var(--on-light-dim); line-height:1.55; margin-bottom:.9rem}
.idx-foot .arrow-link{color:var(--ink)}

/* numbered industry sections */
.ind{padding:clamp(2.6rem,5vw,4rem) 0; border-top:1px solid var(--line-light); scroll-margin-top:96px}
.ind:first-child{border-top:0; padding-top:.2rem}
.ind-top{display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap}
.ind-no{font-family:var(--mono); font-size:.82rem; letter-spacing:.04em; color:var(--brand); font-weight:500}
.ind-eyebrow{font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--on-light-mute)}
.ind h2{font-size:clamp(2rem,4vw,3.1rem); letter-spacing:-.03em; line-height:1.02; font-weight:500;
  color:var(--on-light); margin:.7rem 0 0; max-width:16ch}
.ind .promise{color:var(--on-light-dim); font-size:clamp(1.04rem,1.4vw,1.2rem); line-height:1.55;
  max-width:54ch; margin-top:1rem}

.ind-fig{position:relative; margin-top:1.9rem; border:1px solid var(--line-light); border-radius:var(--r-marketing);
  overflow:hidden; aspect-ratio:16/7; background:var(--g100)}
.ind-fig img{width:100%; height:100%; object-fit:cover}
.ind-stat{position:absolute; left:0; bottom:0; z-index:2; background:#fff; border-top:1px solid var(--line-light);
  border-right:1px solid var(--line-light); border-top-right-radius:var(--r-lg);
  padding:.85rem 1.2rem .9rem; min-width:160px}
.ind-stat .sn{font-size:clamp(1.5rem,2.6vw,2.05rem); letter-spacing:-.03em; line-height:1; color:var(--on-light)}
.ind-stat .sl{margin-top:.4rem; font-family:var(--mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.04em; color:var(--on-light-mute)}

.ind-cols{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(1.6rem,4vw,3.4rem); margin-top:2rem}
.ind-cols .ch{font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em;
  color:var(--on-light-mute); padding-bottom:.85rem; margin-bottom:1rem; border-bottom:1px solid var(--line-light)}
.outs{list-style:none; margin:0; padding:0; display:flex; flex-direction:column}
.outs li{display:flex; gap:.8em; padding:.85rem 0; border-bottom:1px solid var(--line-light-2);
  font-size:.96rem; line-height:1.5; color:var(--on-light)}
.outs li:first-child{padding-top:0} .outs li:last-child{border-bottom:0}
.outs li svg{flex:none; color:var(--brand); margin-top:.2em}

.rec-h{font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em;
  color:var(--on-light-mute); padding-bottom:.85rem; margin-bottom:1rem; border-bottom:1px solid var(--line-light)}
.rec-cta{margin-top:.4rem}
.rec-cta .arrow-link{color:var(--ink); font-size:.9rem}
.rec-cta .arrow-link svg{transition:transform .15s var(--ease)}
.rec-cta .arrow-link:hover svg{transform:translateX(3px); color:var(--brand)}
.rec-note{margin-top:1.4rem; font-family:var(--mono); font-size:.72rem; color:var(--on-light-mute); line-height:1.6}
@media(max-width:860px){.ind-cols{grid-template-columns:1fr; gap:2rem}}

@media(max-width:900px){
  .ibody-wrap{grid-template-columns:1fr; gap:0}
  .idx{position:static; margin-bottom:1.6rem; padding-bottom:.4rem}
  .idx a{display:inline-flex; border-bottom:0; padding:.45rem .9rem .45rem 0}
  .idx-foot{display:none}
}
