.mining-ai {
  padding: clamp(72px,7vw,120px) var(--gutter);
  color: #071710;
  background: radial-gradient(circle at 98% 0%,rgba(184,255,24,.14),transparent 26%),#edf1e9;
}
.ai-inner { max-width: 1696px; margin: auto; }
.ai-head { display: grid; grid-template-columns: minmax(0,1.23fr) minmax(0,.77fr); align-items: end; gap: clamp(38px,5vw,85px); margin-bottom: 48px; }
.mining-ai .section-kicker { margin: 0 0 25px; color: #54674f; font-size: .75rem; font-weight: 800; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; }
.ai-head h2 { margin: 0; font-size: clamp(2.75rem,4.5vw,5.1rem); font-weight: 600; line-height: 1.02; letter-spacing: -.06em; }
.ai-head h2 em { color: #507508; font-style: normal; }
.ai-head > p { margin: 0; color: #425549; font-size: clamp(1rem,1.2vw,1.25rem); line-height: 1.7; }
.ai-head > p strong { font-weight: 800; color: #071710; }
.ai-stage { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); align-items: stretch; background: #061710; color: #eff5f0; border: 1px solid rgba(7,23,16,.15); box-shadow: 0 25px 60px rgba(5,20,13,.12); }
.ai-figure { min-width: 0; margin: 0; align-self: start; }
.ai-figure > img { display: block; width: 100%; height: auto; object-fit: contain; }
.ai-figure figcaption { padding: clamp(25px,2.4vw,40px); border-top: 1px solid rgba(184,255,24,.28); }
.ai-figure figcaption > span { display: block; color: var(--lime); font-size: .75rem; font-weight: 800; letter-spacing: .1em; line-height: 1.5; }
.ai-figure figcaption > strong { display: block; margin-top: 14px; font-size: clamp(1.375rem,1.85vw,2rem); font-weight: 600; line-height: 1.25; letter-spacing: -.035em; }
.ai-figure figcaption > p { max-width: 660px; margin: 17px 0 0; color: #adbbb2; font-size: .875rem; line-height: 1.7; }
.ai-event { min-width: 0; display: flex; flex-direction: column; padding: clamp(24px,2.5vw,42px); background: #0b2017; border-left: 1px solid rgba(255,255,255,.13); }
.ai-event > header { padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.15); }
.ai-event > header > span { display: block; color: var(--lime); font-size: .75rem; font-weight: 800; letter-spacing: .085em; line-height: 1.5; }
.ai-event > header > small { display: block; margin-top: 8px; color: #9cafa2; font-size: .75rem; letter-spacing: .05em; }
.ai-event-label { display: flex; align-items: center; gap: 10px; margin: 28px 0 12px; color: #bbcbc1; font-size: .75rem; letter-spacing: .045em; font-weight: 700; }
.ai-event-label i { flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(184,255,24,.08); }
.ai-event > h3 { margin: 0; font-size: clamp(1.45rem,1.95vw,2.1rem); font-weight: 600; line-height: 1.22; letter-spacing: -.04em; }
.ai-event dl { margin: 23px 0 0; }
.ai-event dl > div { padding: 15px 0; border-top: 1px solid rgba(255,255,255,.12); }
.ai-event dt { color: #b5c6bb; font-size: .75rem; font-weight: 800; letter-spacing: .07em; }
.ai-event dd { margin: 6px 0 0; color: #e1e9e3; font-size: .9375rem; line-height: 1.55; }
.ai-event > footer { padding-top: 22px; margin-top: auto; color: #a7bcb0; font-size: .875rem; line-height: 1.65; }
.ai-event > footer strong { color: var(--lime); font-weight: 600; }
.ai-catalog-head { margin: 60px 0 26px; display: flex; flex-wrap: wrap; gap: 18px 40px; justify-content: space-between; align-items: center; }
.ai-catalog-head .section-kicker { margin: 0; }
.ai-catalog-head h3 { margin: 0; font-size: clamp(1.5rem,2.05vw,2.2rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.3; }
.ai-detections { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #c9d3c6; border-left: 1px solid #c9d3c6; background: #f9fbf7; }
.ai-detections article { min-width: 0; padding: clamp(24px,2.5vw,42px); border-right: 1px solid #c9d3c6; border-bottom: 1px solid #c9d3c6; }
.detection-label { display: flex; align-items: center; gap: 16px; }
.detection-label span { flex-shrink: 0; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #769546; border-radius: 50%; color: #3e6208; font-size: .75rem; font-weight: 800; }
.detection-label small { color: #506743; font-size: .75rem; font-weight: 800; letter-spacing: .045em; line-height: 1.5; }
.ai-detections h3 { max-width: 330px; margin: 23px 0 14px; font-size: clamp(1.25rem,1.55vw,1.65rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.22; }
.ai-detections p { margin: 0; color: #46594b; font-size: 1rem; line-height: 1.65; }
.ai-boundary { margin-top: 34px; padding: clamp(24px,3vw,44px); display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: 28px 64px; background: #dfe9d8; border-left: 3px solid #648a20; }
.ai-boundary span { display: block; margin-bottom: 13px; color: #4b633d; font-size: .75rem; letter-spacing: .065em; font-weight: 800; }
.ai-boundary strong { display: block; font-size: clamp(1.375rem,1.8vw,1.9rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.25; }
.ai-boundary > p { margin: 0; color: #3e5242; font-size: 1rem; line-height: 1.7; }
@media (max-width: 1100px) {
  .ai-head { grid-template-columns: 1fr; gap: 25px; }
  .ai-head h2 { font-size: clamp(2.5rem,5.8vw,4rem); }
  .ai-head > p { max-width: 780px; }
  .ai-stage { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
  .ai-detections { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ai-boundary { gap: 32px; }
}
@media (max-width: 850px) {
  .ai-stage { grid-template-columns: 1fr; }
  .ai-event { border-left: 0; border-top: 1px solid rgba(184,255,24,.28); }
  .ai-event dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .ai-event > footer { margin-top: 8px; }
  .ai-catalog-head { justify-content: start; }
  .ai-boundary { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .mining-ai { padding-block: 62px; }
  .ai-head { margin-bottom: 32px; }
  .ai-head h2 { font-size: clamp(2rem,8.1vw,2.75rem); }
  .ai-event dl { grid-template-columns: 1fr; }
  .ai-detections { grid-template-columns: 1fr; }
  .ai-catalog-head { margin-top: 44px; }
  .ai-detections h3 { max-width: none; }
}
