.internships-page {
    position: relative;
    isolation: isolate;
    padding: 56px 0 220px;
    background-color: #f2f7fb;
    background-image: linear-gradient(to bottom, rgba(242,247,251,.8), rgba(242,247,251,.85) 35%, transparent), url('/images/career/internship-landscape.png?v=1');
    background-position: center, center bottom;
    background-size: 100% 100%, max(1440px, 100%) auto;
    background-repeat: no-repeat;
}
.internships-page::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 500px;
    z-index: -1;
    pointer-events: none;
    background: url('/images/career/internship-top-frame.png?v=1') center top / 100% auto no-repeat;
    opacity: .8;
    mask-image: linear-gradient(to bottom, #000 75%, transparent);
}
.internships-page > .container { max-width: 1180px; }
.intern-intro-section {
    background: rgba(255,255,255,.97);
    border: 1px solid #dce7f1;
    border-top: 4px solid #2563eb;
    border-radius: 20px;
    padding: 36px 48px;
    text-align: left;
    box-shadow: 0 8px 30px rgba(8,22,60,.06);
}
.intern-intro-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.intern-intro-heading i { display: grid; place-items: center; width: 52px; height: 52px; flex-shrink: 0; border-radius: 15px; color: #1e40af; background: #eaf2ff; font-size: 24px; }
.intern-intro-heading h2 { margin: 0; color: #08163c; font-size: 1.6rem; font-weight: 700; }
.intern-intro-text { color: #244164; font-size: 1.15rem; font-weight: 500; line-height: 1.8; }
.intern-intro-text,
.intern-details-section .intro-text p {
    text-align: justify;
}
.intern-section { border: 1px solid #dce7f1; border-radius: 20px; box-shadow: 0 8px 30px rgba(8,22,60,.05); }
.intern-details-section .intro-text p { font-size: 1.05rem; line-height: 1.8; }
.internship-img { height: auto; min-height: 0; max-height: 560px; object-fit: contain; border-radius: 16px; box-shadow: none; background: #f2f7fb; }
.intern-tagline-section { background: #eaf3fc; border: 1px solid #cbdff1; box-shadow: none; }
.intern-tagline-section::before { display: none; }
.intern-tagline-content { padding: 28px 36px; }
.intern-tagline-section .tagline-text, .intern-tagline-section.ltr-visible .tagline-text { color: #163d71; font-size: 1.2rem; }
.intern-tagline-section .tagline-icon, .intern-tagline-section.ltr-visible .tagline-icon { color: #2563eb; }
.internships-page .apply-cta-btn { background: #075985; box-shadow: none; min-height: 44px; transition: background .2s; }
.internships-page .apply-cta-btn:hover { background: #0c4a6e; transform: none; box-shadow: none; }
.internships-page .dl-btn { min-height: 44px; background: #1e40af; }
.internships-page a:focus-visible, .internships-page button:focus-visible { outline: 3px solid #0284c7; outline-offset: 4px; }
.intern-empty { color: #475569; margin: 0; line-height: 1.7; }
@media (max-width: 767px) {
    .internships-page { padding: 28px 0 180px; background-size: 100% 100%, 1000px auto; }
    .internships-page::before { height: 280px; background-size: 1000px auto; opacity: .55; }
    .intern-intro-section { padding: 24px; }
    .intern-intro-heading h2 { font-size: 1.3rem; }
    .intern-intro-text, .intern-details-section .intro-text p { font-size: 1rem; }
    .intern-tagline-content { padding: 24px; }
    .recruitment-table thead { display: none; }
    .recruitment-table, .recruitment-table tbody, .recruitment-table tr, .recruitment-table td { display: block; width: 100%; }
    .recruitment-table tr { padding: 16px; border-bottom: 1px solid #dce7f1; }
    .recruitment-table td { display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: right; padding: 8px 0; border: 0; white-space: normal; overflow-wrap: anywhere; }
    .recruitment-table td::before { content: attr(data-label); font-weight: 600; color: #334155; text-align: left; flex: 0 0 40%; }
}
@media (prefers-reduced-motion: reduce) {
    .internships-page *, .internships-page *::before { transition: none !important; animation: none !important; }
}
