/* Internship preparation detail page (internship-preparation.html). Uses the course pages' palette and type. */
.ip-page{background:#f7f5ed;color:#1e3228}
.ip-wrap{padding:0 max(6%,calc((100vw - 1180px)/2))}
.ip-page main{overflow:hidden}
.ip-eyebrow{font:500 12px/1.4 Neue,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#6c755f;margin:0 0 18px}
.ip-page h1,.ip-page h2,.ip-page h3{margin:0;font-weight:400}
.ip-page em{font-family:Editorial,serif;font-style:italic;font-weight:400;letter-spacing:-.02em}

.ip-hero{padding-top:72px;padding-bottom:64px;border-bottom:1px solid #173f3222}
.ip-hero .ip-back{display:inline-flex;gap:8px;align-items:center;font:14px/1.4 Neue,sans-serif;color:#4a574d;margin-bottom:36px}
.ip-hero .ip-back:hover{color:#173f32}
.ip-hero h1{font:400 clamp(44px,6vw,86px)/1.02 NeueHeavy,Neue,sans-serif;letter-spacing:-.045em;max-width:15ch;color:#173f32}
.ip-hero h1 em{font-size:1.05em}
.ip-lead{font:20px/1.55 Neue,sans-serif;color:#40584a;max-width:58ch;margin:26px 0 0}
.ip-facts{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.ip-facts li{padding:8px 14px;border:1px solid #173f322e;border-radius:999px;font:14px/1.3 Neue,sans-serif;color:#2f3d33;background:#fffefa}
.ip-facts strong{font-weight:500;color:#173f32}
.ip-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:34px}
.ip-primary{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:15px 24px;border-radius:5px;background:#173f32;color:#fffef3;font:500 16px/1.2 Neue,sans-serif;transition:background .2s,transform .2s}
.ip-primary:hover{background:#245e47;transform:translateY(-2px)}
.ip-primary svg{width:18px;height:18px}
.ip-secondary{font:15px/1.4 Neue,sans-serif;color:#173f32;border-bottom:1px solid #173f3266;padding:8px 0}

.ip-section{padding-top:76px;padding-bottom:76px;border-bottom:1px solid #173f3222}
.ip-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:end;margin-bottom:40px}
.ip-section h2{font:400 clamp(34px,4vw,56px)/1.06 NeueHeavy,Neue,sans-serif;letter-spacing:-.04em;color:#173f32}
.ip-section-head p{font:18px/1.55 Neue,sans-serif;color:#40584a;margin:0;max-width:52ch}

.ip-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:stage}
.ip-stages article{padding:26px;border-radius:10px;background:#fffefa;border:1px solid #173f3222}
.ip-stages span{display:block;font:500 13px/1 Neue,sans-serif;letter-spacing:.08em;color:#6c755f;margin-bottom:18px}
.ip-stages h3{font:500 24px/1.15 Neue,sans-serif;letter-spacing:-.02em;color:#173f32;margin-bottom:10px}
.ip-stages p{font:16px/1.5 Neue,sans-serif;color:#4a574d;margin:0}

.ip-groups{display:grid;gap:18px}
.ip-group{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:6%;padding:30px 0;border-top:1px solid #173f3222}
.ip-group:first-child{border-top:0;padding-top:0}
.ip-group-head{display:flex;gap:14px;align-items:flex-start}
.ip-group-head .nyc-icon,.ip-group-head svg{width:26px;height:26px;flex-shrink:0;color:#5d7a3a;margin-top:3px}
.ip-group-head h3{font:500 clamp(22px,2vw,28px)/1.15 Neue,sans-serif;letter-spacing:-.02em;color:#173f32}
.ip-group-head p{font:15px/1.5 Neue,sans-serif;color:#5f6d62;margin:8px 0 0}
.ip-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.ip-items li{padding:18px 20px;border-radius:8px;background:#fffefa;border:1px solid #173f321c}
.ip-items strong{display:block;font:500 17px/1.3 Neue,sans-serif;color:#173f32;margin-bottom:6px}
.ip-items span{display:block;font:15px/1.5 Neue,sans-serif;color:#4a574d}

.ip-dark{background:#173f32;color:#f6f6ef;border-bottom:0}
.ip-dark h2{color:#f6f6ef}
.ip-dark .ip-section-head p,.ip-dark .ip-eyebrow{color:#c9d3b0}
.ip-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.ip-phases li{padding:24px;border-radius:10px;border:1px solid #e1e8d433;background:#ffffff0a}
.ip-phases span{display:block;font:500 13px/1 Neue,sans-serif;letter-spacing:.08em;color:#d0df83;margin-bottom:16px}
.ip-phases strong{display:block;font:500 21px/1.2 Neue,sans-serif;letter-spacing:-.02em;margin-bottom:10px}
.ip-phases p{font:15px/1.5 Neue,sans-serif;color:#d9e4cc;margin:0}

.ip-honest{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:center}
.ip-honest h2{max-width:18ch}
.ip-honest p{font:18px/1.6 Neue,sans-serif;color:#40584a;margin:0 0 14px}
.ip-final{padding-top:80px;padding-bottom:90px;text-align:center}
.ip-final h2{font:400 clamp(34px,4.2vw,58px)/1.06 NeueHeavy,Neue,sans-serif;letter-spacing:-.04em;color:#173f32;max-width:20ch;margin:0 auto}
.ip-final p{font:18px/1.55 Neue,sans-serif;color:#40584a;max-width:52ch;margin:18px auto 0}
.ip-final .ip-actions{justify-content:center}

@media(max-width:900px){
 .ip-section-head,.ip-group,.ip-honest{grid-template-columns:1fr;gap:18px}
 .ip-stages{grid-template-columns:1fr}
 .ip-phases{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .ip-wrap{padding:0 22px}
 .ip-hero{padding-top:44px;padding-bottom:46px}
 .ip-hero .ip-back{margin-bottom:26px}
 .ip-hero h1{font-size:clamp(38px,11vw,50px)}
 .ip-lead{font-size:17px}
 .ip-section{padding-top:54px;padding-bottom:54px}
 .ip-section h2{font-size:clamp(30px,8.6vw,40px)}
 .ip-section-head{margin-bottom:28px}
 .ip-section-head p,.ip-honest p,.ip-final p{font-size:16px}
 .ip-items{grid-template-columns:1fr;gap:10px}
 .ip-items li{padding:16px}
 .ip-phases{grid-template-columns:1fr}
 .ip-group{padding:24px 0}
 .ip-final{padding-top:56px;padding-bottom:64px}
 .ip-primary{width:100%;justify-content:center}
}
