/* industries pages: reuses site.css tokens */
.ihero{position:relative;height:64vh;min-height:460px;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink2)}
.ihero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.6) contrast(1.04)}
.ihero__shade{position:absolute;inset:0;background:linear-gradient(rgba(6,18,28,.55),rgba(6,18,28,.35) 40%,rgba(6,18,28,.92))}
.ihero__in{position:relative;width:100%;max-width:1180px;margin:0 auto;padding:0 6vw clamp(48px,8vh,90px)}
.ihero .micro{margin-bottom:26px}
.ihero h1{font-size:clamp(40px,6.2vw,92px);line-height:1.06;font-weight:200;letter-spacing:.015em;text-shadow:0 2px 30px rgba(6,18,28,.45)}
.ihero h1 em{color:var(--acc);font-weight:300}
.ihero p.sub{margin-top:26px;max-width:620px;font-size:clamp(15px,1.4vw,19px);line-height:1.8;opacity:.88}
.isec{background:var(--ink);padding:clamp(90px,14vh,170px) 6vw}
.isec__in{max-width:1180px;margin:0 auto}
.isec h2{margin:26px 0 clamp(50px,8vh,90px);font-size:clamp(30px,4.2vw,62px);line-height:1.12;font-weight:200;letter-spacing:.02em}
.isec h2 em{color:var(--acc)}
.pts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--hair)}
.pt{padding:38px 40px 44px 0;border-bottom:1px solid var(--hair)}
.pt:nth-child(even){padding-left:40px;padding-right:0;border-left:1px solid var(--hair)}
.pt i{display:block;font-family:var(--ser);font-style:italic;font-size:22px;color:var(--acc);margin-bottom:14px}
.pt h3{font-size:clamp(20px,2vw,28px);font-weight:200;letter-spacing:.03em;margin-bottom:12px}
.pt p{opacity:.72;line-height:1.8;max-width:460px}
.ibuy{background:#fff;color:var(--ink);text-align:center;padding:clamp(100px,15vh,180px) 8vw}
.ibuy h2{margin:28px 0 0;font-size:clamp(30px,4.4vw,66px);line-height:1.12;font-weight:200;letter-spacing:.02em}
.ibuy h2 em{color:#8a7436}
.ibuy p:not(.micro){max-width:560px;margin:30px auto 44px;font-size:clamp(16px,1.4vw,19px);line-height:1.8;color:#3a4650}
.inote{margin-top:44px;font-size:12px;letter-spacing:.04em;opacity:.5;max-width:700px}
.ibuy .inote{margin:44px auto 0;color:#3a4650;opacity:.7}
/* hub */
.hubhead{padding:clamp(150px,22vh,240px) 8vw clamp(60px,9vh,100px);text-align:center;background:var(--ink)}
.hubhead h1{margin-top:30px;font-size:clamp(40px,6vw,92px);line-height:1.08;font-weight:200;letter-spacing:.02em}
.hubhead h1 em{color:var(--acc);font-weight:300}
.hubhead p:not(.micro){max-width:560px;margin:30px auto 0;line-height:1.8;opacity:.78}
.hub{background:var(--ink);border-top:1px solid var(--hair)}
.hrow{position:relative;display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:20px;min-height:200px;padding:0 6vw;border-bottom:1px solid var(--hair);overflow:hidden;isolation:isolate}
.hrow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;filter:saturate(.5);transition:opacity 1.4s var(--ease),transform 2.4s var(--ease);z-index:-1}
.hrow:hover img{opacity:.42;transform:scale(1.04)}
.hrow i{font-family:var(--ser);font-style:italic;font-size:26px;color:var(--acc)}
.hrow h2{font-size:clamp(26px,3.4vw,50px);font-weight:200;letter-spacing:.04em}
.hrow p{margin-top:8px;font-size:14px;opacity:.7;max-width:520px;line-height:1.6}
.hrow span{font-size:11px;letter-spacing:.26em;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid var(--hair);transition:border-color .6s,color .6s}
.hrow:hover span{border-color:var(--acc);color:var(--acc)}
@media(max-width:900px){
 .ihero{height:58vh;min-height:420px}
 .pts{grid-template-columns:1fr}.pt,.pt:nth-child(even){padding:30px 0;border-left:0}
 .hrow{grid-template-columns:1fr;gap:6px;padding:34px 20px;min-height:0}.hrow span{justify-self:start;margin-top:14px}
}

/* looping scene backgrounds (media/loops). Poster = exact frame 0 of the loop, video goes on top instantly: no blend, no ghosting */
.ihero>video,.hubhead>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.85) contrast(1.04)}
.ihero>video.on,.hubhead>video.on{opacity:1}
.ihero>img.ihero__poster,.hubhead>img.ihero__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.04)}
.ihero__shade,.hubhead__shade{z-index:1}
.ihero__in{z-index:2}
.hubhead{position:relative;overflow:hidden;isolation:isolate}
.hubhead__shade{position:absolute;inset:0;background:linear-gradient(rgba(6,18,28,.6),rgba(6,18,28,.5) 50%,rgba(6,18,28,.92))}
.hubhead>.micro,.hubhead>h1,.hubhead>p{position:relative;z-index:2}
