/* internship page styles */
/* ── Hero ─────────────────────────────────────────── */
.ship-hero{
  background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 40%,#312e81 70%,#1e3a5f 100%);
  color:#fff;padding:64px 0 56px;text-align:center;position:relative;overflow:hidden;
}
.ship-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 60% 50%,rgba(99,102,241,.25) 0%,transparent 65%),
             radial-gradient(ellipse at 20% 30%,rgba(220,38,38,.2) 0%,transparent 50%);
  pointer-events:none;
}
.ship-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.85);font-size:.75rem;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;padding:5px 16px;border-radius:20px;margin-bottom:22px;
  backdrop-filter:blur(4px);
}
.ship-hero h1{
  font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1.15;
  margin-bottom:14px;
  background:linear-gradient(135deg,#fff 0%,#c7d2fe 50%,#fca5a5 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.ship-hero .hero-sub{
  font-size:clamp(.9rem,2vw,1.1rem);color:rgba(255,255,255,.7);
  max-width:600px;margin:0 auto 30px;line-height:1.6;
}
.ship-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ship-cta-primary{
  background:var(--sh-red);color:#fff;border:none;
  padding:13px 30px;border-radius:25px;font-size:1rem;font-weight:700;
  cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 4px 20px rgba(220,38,38,.4);
}
.ship-cta-primary:hover{background:var(--sh-red-h);transform:translateY(-2px);box-shadow:0 6px 24px rgba(220,38,38,.5)}
.ship-cta-secondary{
  background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.3);
  padding:13px 28px;border-radius:25px;font-size:1rem;font-weight:600;
  cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px;
  backdrop-filter:blur(4px);
}
.ship-cta-secondary:hover{background:rgba(255,255,255,.2)}
/* Floating stats */
.ship-hero-stats{
  display:flex;justify-content:center;gap:32px;flex-wrap:wrap;
  margin-top:40px;padding-top:36px;
  border-top:1px solid rgba(255,255,255,.12);
}
.hero-stat .num{font-size:2rem;font-weight:900;color:#fff}
.hero-stat .lbl{font-size:.76rem;color:rgba(255,255,255,.55);letter-spacing:.5px;text-transform:uppercase;margin-top:2px}

/* ── Why Join section ─────────────────────────────── */
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin:32px 0;
}
@media(max-width:768px){.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.why-grid{grid-template-columns:1fr}}
.why-card{
  background:#fff;border-radius:var(--sh-r-lg);padding:24px 20px;
  text-align:center;box-shadow:var(--sh-shadow-md);transition:.2s;
  border-top:3px solid transparent;
}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--sh-shadow-lg)}
.why-card:nth-child(1){border-top-color:#dc2626}
.why-card:nth-child(2){border-top-color:#7c3aed}
.why-card:nth-child(3){border-top-color:#16a34a}
.why-card:nth-child(4){border-top-color:#2563eb}
.why-card:nth-child(5){border-top-color:#ea580c}
.why-card:nth-child(6){border-top-color:#0891b2}
.why-icon{font-size:2.4rem;margin-bottom:12px;display:block}
.why-card h3{font-size:.95rem;font-weight:700;color:var(--sh-dark);margin-bottom:7px}
.why-card p{font-size:.8rem;color:var(--sh-muted);line-height:1.55}

/* ── What You'll Do ─────────────────────────────── */
.role-steps{display:flex;flex-direction:column;gap:0}
.role-step{
  display:flex;gap:18px;padding:18px 0;
  border-bottom:1px solid var(--sh-border);
}
.role-step:last-child{border-bottom:none}
.role-step-num{
  width:38px;height:38px;border-radius:50%;background:var(--sh-red);
  color:#fff;font-weight:800;font-size:.9rem;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;
}
.role-step-title{font-size:.92rem;font-weight:700;color:var(--sh-dark);margin-bottom:4px}
.role-step-desc{font-size:.8rem;color:var(--sh-muted);line-height:1.5}

/* ── Timeline / Journey ─────────────────────────── */
.journey-timeline{position:relative;padding-left:28px}
.journey-timeline::before{
  content:'';position:absolute;left:8px;top:0;bottom:0;
  width:2px;background:linear-gradient(to bottom,var(--sh-red),#7c3aed);
}
.journey-item{position:relative;margin-bottom:24px}
.journey-dot{
  position:absolute;left:-24px;top:4px;
  width:14px;height:14px;border-radius:50%;
  background:var(--sh-red);border:2px solid #fff;
  box-shadow:0 0 0 3px rgba(220,38,38,.25);
}
.journey-item:nth-child(2) .journey-dot{background:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.25)}
.journey-item:nth-child(3) .journey-dot{background:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.25)}
.journey-item:nth-child(4) .journey-dot{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.25)}
.journey-month{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--sh-red);margin-bottom:3px}
.journey-title{font-size:.9rem;font-weight:700;color:var(--sh-dark);margin-bottom:4px}
.journey-desc{font-size:.78rem;color:var(--sh-muted);line-height:1.5}

/* ── Testimonials ─────────────────────────────────── */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}
@media(max-width:768px){.testimonial-grid{grid-template-columns:1fr}}
.testimonial-card{
  background:#fff;border-radius:var(--sh-r-lg);padding:22px 18px;
  box-shadow:var(--sh-shadow);position:relative;
}
.testimonial-card::before{
  content:'\201C';font-size:4rem;line-height:1;
  color:rgba(220,38,38,.15);position:absolute;top:8px;left:16px;
  font-family:Georgia,serif;
}
.testimonial-text{font-size:.82rem;color:var(--sh-text);line-height:1.6;margin-bottom:14px;margin-top:10px}
.testimonial-author{display:flex;align-items:center;gap:10px}
.testimonial-avatar{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:#fff;font-size:.9rem;flex-shrink:0;
}
.testimonial-name{font-size:.82rem;font-weight:700;color:var(--sh-dark)}
.testimonial-role{font-size:.72rem;color:var(--sh-muted)}

/* ── Eligibility ─────────────────────────────────── */
.eligibility-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:520px){.eligibility-list{grid-template-columns:1fr}}
.eligibility-list li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:.85rem;color:var(--sh-text);padding:8px 12px;
  background:var(--sh-bg);border-radius:var(--sh-r-sm);
}
.eligibility-list li::before{content:'✅';flex-shrink:0}

/* ── Registration Form ────────────────────────────── */
.reg-form-wrap{
  background:#fff;border-radius:var(--sh-r-lg);
  box-shadow:0 8px 32px rgba(0,0,0,.1);
  overflow:hidden;
}
.reg-form-header{
  background:linear-gradient(135deg,var(--sh-dark),#312e81);
  color:#fff;padding:28px 32px;
}
.reg-form-header h2{font-size:1.35rem;font-weight:800;margin-bottom:6px}
.reg-form-header p{font-size:.85rem;color:rgba(255,255,255,.65)}
.reg-form-body{padding:28px 32px}
@media(max-width:600px){.reg-form-body{padding:20px 18px}.reg-form-header{padding:22px 18px}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:540px){.form-row{grid-template-columns:1fr}}
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:.78rem;font-weight:700;color:var(--sh-dark);margin-bottom:5px}
.form-label .req{color:var(--sh-red)}
.form-input,.form-select,.form-textarea{
  width:100%;padding:10px 14px;
  border:1.5px solid var(--sh-border);
  border-radius:var(--sh-r-sm);
  font-size:.88rem;color:var(--sh-text);
  background:#fff;outline:none;transition:.2s;
  font-family:inherit;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--sh-red);box-shadow:0 0 0 3px rgba(220,38,38,.1);
}
.form-textarea{resize:vertical;min-height:96px;line-height:1.5}
.form-submit{
  width:100%;padding:13px;
  background:var(--sh-red);color:#fff;border:none;
  border-radius:var(--sh-r);font-size:1rem;font-weight:700;
  cursor:pointer;transition:.2s;margin-top:6px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.form-submit:hover{background:var(--sh-red-h)}
.form-note{font-size:.74rem;color:var(--sh-muted);text-align:center;margin-top:10px}
.cv-upload-zone{
  border:2px dashed var(--sh-border);border-radius:var(--sh-r);padding:16px;
  text-align:center;background:#fafafa;cursor:pointer;transition:.15s;
}
.cv-upload-zone:hover,.cv-upload-zone.has-file{border-color:var(--sh-red);background:#fff5f5}
.cv-upload-zone .cv-ico{font-size:1.8rem;margin-bottom:6px}
.cv-upload-zone .cv-name{font-size:.8rem;font-weight:700;color:var(--sh-dark)}
.cv-upload-hint{font-size:.7rem;color:var(--sh-muted);margin-top:4px}
.form-error{font-size:.78rem;color:var(--sh-red);margin-top:6px;display:none}

/* ── Success toast ─────────────────────────────────── */
.ship-success{
  display:none;text-align:center;padding:32px 24px;
}
.ship-success .success-icon{
  width:70px;height:70px;background:var(--sh-green);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;margin:0 auto 16px;
  animation:popIn .4s ease;
}
@keyframes popIn{0%{transform:scale(0)}80%{transform:scale(1.1)}100%{transform:scale(1)}}

/* ── Section helpers ────────────────────────────────── */
.section-tag{
  display:inline-block;background:rgba(220,38,38,.1);color:var(--sh-red);
  font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  padding:3px 12px;border-radius:20px;margin-bottom:8px;
}
.section-title{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:800;color:var(--sh-dark);margin-bottom:6px}
.section-sub{font-size:.88rem;color:var(--sh-muted);line-height:1.6;max-width:560px}
.two-col-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:768px){.two-col-section{grid-template-columns:1fr;gap:28px}}
