/* ================================================================
   INDUSTRIAL LINKAGES — industrial-linkages.css
   ================================================================ */

/* ── Hero ── */
.il-hero {
  background: var(--primary);
  padding: 80px 32px 96px;
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: center;
}
.il-hero::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse at 80% 50%, rgba(149,3,41,0.18), transparent 60%);
  pointer-events:none;
}
@media(max-width:1024px){ .il-hero { grid-template-columns:1fr; padding-bottom:64px; gap:40px; } }
@media(max-width:768px) { .il-hero { padding:56px 20px 48px; } }

.il-hero__eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.75rem; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--coral);
  margin-bottom:18px; position:relative; z-index:1;
}
.il-hero__h1 {
  font-family:var(--f-display); font-size:3rem; font-weight:800;
  color:#fff; line-height:1.1; letter-spacing:-.02em;
  margin-bottom:20px; position:relative; z-index:1;
}
@media(max-width:768px){ .il-hero__h1 { font-size:2rem; } }
.il-hero__sub {
  font-size:1.0625rem; color:rgba(255,255,255,.78);
  line-height:1.75; max-width:52ch;
  margin-bottom:40px; position:relative; z-index:1;
}
.il-hero__stats {
  display:flex; flex-wrap:wrap; gap:16px; position:relative; z-index:1;
}
.il-hero__stat {
  padding:14px 24px; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  text-align:center;
}
.il-hero__stat-val {
  font-family:var(--f-display); font-size:1.5rem; font-weight:800;
  color:var(--coral); display:block;
}
.il-hero__stat-label { font-size:.75rem; color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.08em; }

/* Hero right — programme cards */
.il-hero__cards { display:flex; flex-direction:column; gap:14px; position:relative; z-index:1; }
.il-prog-card {
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  padding:20px 24px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
  display:flex; align-items:center; gap:16px;
}
.il-prog-card__icon {
  width:44px; height:44px; border-radius:10px; flex-shrink:0;
  background:rgba(249,88,102,.15); color:var(--coral);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.il-prog-card__title { font-family:var(--f-display); font-size:.9375rem; font-weight:700; color:#fff; margin-bottom:3px; }
.il-prog-card__sub   { font-size:.8125rem; color:rgba(255,255,255,.6); }

/* ── Shared section ── */
.il-section { padding:80px 32px; }
.il-section--white { background:#fff; }
.il-section--low   { background:var(--surface-low); }
.il-section--navy  { background:var(--primary); }
@media(max-width:768px){ .il-section { padding:56px 20px; } }

.il-eyebrow {
  font-size:.75rem; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--crimson);
  display:flex; align-items:center; gap:8px; margin-bottom:14px;
}
.il-eyebrow--light { color:var(--coral); }
.il-h2 {
  font-family:var(--f-display); font-size:2rem; font-weight:700;
  color:var(--primary); line-height:1.2; letter-spacing:-.01em; margin-bottom:12px;
}
.il-h2--white { color:#fff; }
.il-lead { font-size:1.0625rem; color:var(--on-surface-var); line-height:1.75; max-width:60ch; margin-bottom:48px; }
.il-lead--white { color:rgba(255,255,255,.75); }

/* ── What we offer — 3 pillar cards ── */
.il-pillars {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
@media(max-width:1024px){ .il-pillars { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .il-pillars { grid-template-columns:1fr; } }

.il-pillar {
  background:#fff; border:1px solid var(--outline-var); padding:32px;
  clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);
  display:flex; flex-direction:column; gap:12px;
  transition:box-shadow .2s, transform .2s;
}
.il-pillar:hover { box-shadow:0 8px 32px rgba(1,21,80,.1); transform:translateY(-4px); }
.il-pillar__icon {
  width:56px; height:56px; border-radius:12px;
  background:rgba(149,3,41,.08); color:var(--crimson);
  display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0;
}
.il-pillar__title { font-family:var(--f-display); font-size:1.125rem; font-weight:700; color:var(--primary); }
.il-pillar__desc  { font-size:.9375rem; color:var(--on-surface-var); line-height:1.7; flex:1; }
.il-pillar__list  { display:flex; flex-direction:column; gap:8px; margin-top:4px; }
.il-pillar__item  { display:flex; align-items:flex-start; gap:8px; font-size:.875rem; color:var(--on-surface-var); line-height:1.5; }
.il-pillar__item i { color:var(--crimson); font-size:11px; margin-top:4px; flex-shrink:0; }

/* ── Industry sectors ── */
.il-sectors-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
@media(max-width:1024px){ .il-sectors-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .il-sectors-grid { grid-template-columns:1fr; } }

.il-sector {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  padding:28px 24px; text-align:center;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);
  transition:background .2s;
}
.il-sector:hover { background:rgba(255,255,255,.12); }
.il-sector__icon { font-size:2rem; color:var(--coral); margin-bottom:14px; display:block; }
.il-sector__name { font-family:var(--f-display); font-size:1rem; font-weight:700; color:#fff; margin-bottom:6px; }
.il-sector__desc { font-size:.8125rem; color:rgba(255,255,255,.65); line-height:1.6; }

/* ── Internship process — horizontal timeline ── */
.il-process {
  display:grid; grid-template-columns:repeat(4,1fr); gap:32px;
  position:relative; padding-top:16px;
}
.il-process::before {
  content:''; position:absolute; top:52px;
  left:calc(12.5% + 16px); right:calc(12.5% + 16px);
  height:2px; background:var(--outline-var); z-index:0;
}
@media(max-width:1024px){ .il-process { grid-template-columns:repeat(2,1fr); } .il-process::before { display:none; } }
@media(max-width:640px) { .il-process { grid-template-columns:1fr; } }

.il-step { display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; z-index:1; }
.il-step__num {
  width:64px; height:64px; border-radius:50%;
  background:var(--primary); color:#fff;
  font-family:var(--f-display); font-size:1.25rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px; box-shadow:0 4px 16px rgba(1,21,80,.2); flex-shrink:0;
}
.il-step__title { font-family:var(--f-display); font-size:1rem; font-weight:700; color:var(--primary); margin-bottom:8px; }
.il-step__desc  { font-size:.875rem; color:var(--on-surface-var); line-height:1.65; max-width:24ch; margin-inline:auto; }

/* ── Partner logos grid ── */
.il-partners-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:40px;
}
@media(max-width:1024px){ .il-partners-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .il-partners-grid { grid-template-columns:1fr; } }

.il-partner-card {
  background:#fff; border:1px solid var(--outline-var); padding:28px 24px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px;
  transition:box-shadow .2s, transform .2s;
}
.il-partner-card:hover { box-shadow:0 6px 24px rgba(1,21,80,.1); transform:translateY(-3px); }
.il-partner-card__icon {
  width:60px; height:60px; border-radius:14px;
  background:var(--surface-low); color:var(--primary);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem;
}
.il-partner-card__name { font-family:var(--f-display); font-size:1rem; font-weight:700; color:var(--primary); }
.il-partner-card__type { font-size:.75rem; color:var(--crimson); font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.il-partner-card__desc { font-size:.8125rem; color:var(--on-surface-var); line-height:1.6; }

.il-partner-note {
  background:var(--surface-low); border-left:3px solid var(--crimson);
  padding:16px 24px; font-size:.875rem; color:var(--on-surface-var); line-height:1.65;
}
.il-partner-note strong { color:var(--primary); }

/* ── CTA ── */
.il-cta {
  padding:80px 32px; background:var(--primary);
  text-align:center; position:relative; overflow:hidden;
}
.il-cta::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 30% 50%, rgba(149,3,41,.15), transparent 60%);
  pointer-events:none;
}
.il-cta__h2 { font-family:var(--f-display); font-size:2.25rem; font-weight:800; color:#fff; margin-bottom:14px; position:relative; z-index:1; }
@media(max-width:768px){ .il-cta__h2 { font-size:1.75rem; } }
.il-cta__sub { font-size:1rem; color:rgba(255,255,255,.78); max-width:52ch; margin:0 auto 36px; line-height:1.7; position:relative; z-index:1; }
.il-cta__btns { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; position:relative; z-index:1; }
.il-btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 32px; font-family:var(--f-body); font-size:.9375rem; font-weight:700;
  text-decoration:none; border:none; cursor:pointer; transition:all .2s;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
}
.il-btn:hover { filter:brightness(1.08); transform:translateY(-2px); }
.il-btn--crimson { background:var(--crimson); color:#fff; }
.il-btn--outline { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.5); clip-path:none; border-radius:2px; }
