/* Corevia ESG — page-specific styles (platform.css) */

body {margin:0;font-family:'Inter',sans-serif;color:var(--charcoal);background:var(--offwhite);line-height:1.55;-webkit-font-smoothing:antialiased;}
.navlinks a.active {color:var(--navy);font-weight:700;}
.phero {padding:72px 0 56px;}
.phero h1 {font-size:clamp(32px,4.2vw,48px);line-height:1.14;margin:16px 0 20px;max-width:760px;}
.phero p.lead {font-size:17.5px;color:var(--charcoal-soft);max-width:600px;margin-bottom:30px;}
.hero-ctas {display:flex;gap:16px;flex-wrap:wrap;}
.stepflow {position:relative;}
.step-rail {display:grid;grid-template-columns:repeat(6,1fr);gap:14px;position:relative;}
.step-rail::before {content:"";position:absolute;top:23px;left:6%;right:6%;height:1px;background:var(--line);z-index:0;}
.step {position:relative;z-index:1;text-align:center;}
.step .num {
  width:46px;height:46px;border-radius:50%;background:var(--white);border:1.5px solid var(--gold);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
  font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:15px;color:var(--navy);
}
.step h3 {font-size:15.5px;font-family:'Inter',sans-serif;font-weight:600;color:var(--navy);margin-bottom:6px;}
.step p {font-size:12.5px;color:var(--charcoal-soft);margin:0;}
@media (max-width:900px) {
  .step-rail {grid-template-columns:repeat(2,1fr);row-gap:32px;}
  .step-rail::before {display:none;}
}
.module-layout {display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start;}
.toc {position:sticky;top:96px;}
.toc h4 {font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--charcoal-soft);margin-bottom:16px;font-weight:600;}
.toc a {
  display:block;font-size:13.8px;color:var(--charcoal-soft);padding:8px 0 8px 14px;
  border-left:2px solid var(--line);margin-bottom:2px;transition:color .15s ease,border-color .15s ease;
}
.toc a:hover {color:var(--navy);}
.toc a.active {color:var(--navy);font-weight:600;border-left-color:var(--gold);}
.module-list {display:flex;flex-direction:column;gap:22px;}
.module-block {
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 34px;scroll-margin-top:96px;
}
.module-block .mtag {font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;display:block;}
.module-block h3 {font-size:22px;margin-bottom:6px;}
.module-block .tagline {font-size:14.5px;color:var(--gold);font-weight:600;margin-bottom:14px;font-family:'Inter',sans-serif;}
.module-block p.desc {font-size:15px;color:var(--charcoal-soft);margin-bottom:20px;max-width:640px;}
.checklist {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;}
.checklist li {display:flex;gap:10px;font-size:13.8px;color:var(--navy);font-weight:500;padding:6px 0;}
.checklist li svg {flex-shrink:0;margin-top:2px;}
@media (max-width:560px) {
  .checklist {grid-template-columns:1fr;}
}
.roadmap-tag {
  display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 16px;
  border:1px dashed var(--gold);border-radius:20px;font-size:12.5px;color:var(--charcoal-soft);
}
.roadmap-tag b {color:var(--gold);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;}
@media (max-width:900px) {
  .module-layout {grid-template-columns:1fr;}
  .toc {position:static;display:flex;overflow-x:auto;gap:8px;padding-bottom:12px;margin-bottom:8px;}
  .toc h4 {display:none;}
  .toc a {border-left:none;border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 4px;}
  .toc a.active {border-left:none;border-bottom-color:var(--gold);}
}
.closing .hero-ctas {justify-content:center;}
.footer-bottom {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:22px;font-size:12.5px;color:var(--charcoal-soft);}
