.intern-page { --ip-ink:#071d39; --ip-muted:#52657a; --ip-paper:#f3f8fc; --ip-card:#fff; --ip-line:#dbe5ef; color:var(--ip-ink); background:var(--ip-card); overflow:hidden; }
.intern-page * { box-sizing:border-box; }
.intern-page [hidden] { display:none!important; }
.intern-shell { width:min(1280px,90%); margin-inline:auto; }
.intern-page a { text-decoration:none; }
.intern-page h1,.intern-page h2,.intern-page h3,.intern-page p,.intern-page figure { margin:0; }
.intern-page p { color:var(--ip-muted); }
.intern-page h2 { font-size:clamp(30px,3.3vw,46px); line-height:1.13; letter-spacing:-1.7px; color:var(--ip-ink); }
.intern-page h3 { color:var(--ip-ink); }
.intern-page .intern-kicker { font-size:11px!important; letter-spacing:1.8px; font-weight:600; line-height:1.6!important; color:var(--ip-muted); margin-bottom:22px; }
.intern-hero { background:#071d39; color:#fff; }
.intern-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:50px; align-items:center; padding-block:64px; }
.intern-hero-copy { padding-block:10px; }
.intern-hero .intern-kicker { color:#9cc7d7; display:flex; align-items:center; gap:10px; }
.intern-kicker>span { height:7px; width:7px; border-radius:50%; background:#22d3ee; flex-shrink:0; }
.intern-page .intern-hero h1 { font-size:clamp(42px,4.9vw,70px); line-height:1.06; letter-spacing:-3.3px; color:white; margin-bottom:25px; }
.intern-hero h1 em { font-style:normal; color:#22d3ee; }
.intern-page .intern-intro { max-width:480px; color:#c1d0df; line-height:1.8!important; }
.intern-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:30px; }
.intern-page .intern-button { display:inline-flex; justify-content:center; align-items:center; gap:22px; background:#22d3ee; color:#071d39; border:1px solid #22d3ee; border-radius:6px; min-height:50px; padding:13px 21px; font-size:14px; font-weight:600; cursor:pointer; transition:background .2s,transform .2s; }
.intern-page .intern-button:hover { background:#6ce8f8; border-color:#6ce8f8; transform:translateY(-2px); }
.intern-page .intern-button:disabled { opacity:.6; cursor:wait; transform:none; }
.intern-page :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #0083ad; outline-offset:4px; }
.intern-hero :is(a,button):focus-visible { outline-color:#22d3ee; }
.intern-page .intern-link { color:#fff; font-size:14px; border-bottom:1px solid #5a7089; padding:9px 0; }
.intern-link span { padding-left:12px; }
.intern-hero-note { margin-top:35px; display:flex; gap:13px; align-items:center; font-size:12px; line-height:1.7; color:#adbdce; }
.intern-note-mark { font-size:33px; color:#22d3ee; }
.intern-hero-photo { position:relative; min-width:0; }
.intern-hero-photo>img { display:block; width:100%; height:530px; object-fit:cover; border-radius:8px 8px 0 0; object-position:55% center; }
.intern-hero-photo figcaption { display:flex; gap:9px; align-items:center; background:#0f2d4c; font-size:10px; color:#a6bdcf; letter-spacing:1.4px; padding:18px; border-radius:0 0 8px 8px; }
.intern-hero-photo figcaption>span:last-child { margin-left:auto; letter-spacing:0; color:white; font-size:12px; }
.intern-live-dot { width:6px; height:6px; border-radius:50%; background:#22d3ee; }
.intern-photo-tag { position:absolute; left:-22px; bottom:78px; padding:19px 23px; background:#22d3ee; color:#071d39; transform:rotate(-3deg); box-shadow:0 5px 25px #071d3920; }
.intern-photo-tag span { display:block; font-size:8px; letter-spacing:1.5px; }
.intern-photo-tag strong { font-size:27px; letter-spacing:-1px; display:block; margin:4px 0 8px; }
.intern-ribbon { border-top:1px solid #29415d; }
.intern-ribbon>.intern-shell { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-block:22px; font-size:13px; color:#c8d7e5; }
.intern-ribbon span:first-child { font-size:10px; letter-spacing:2px; color:#87a3bd; }
.intern-ribbon i { font-style:normal; color:#22d3ee; padding-left:30px; }
.intern-section { padding-block:85px; scroll-margin-top:90px; }
.intern-section-heading { display:grid; grid-template-columns:1fr .65fr; align-items:end; gap:60px; margin-bottom:35px; }
.intern-section-heading>p { max-width:410px; }
.intern-track-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.intern-track { padding:25px 22px; border:1px solid var(--ip-line); border-radius:9px; display:flex; flex-direction:column; transition:border .2s,transform .2s,box-shadow .2s; background:var(--ip-card); color:var(--ip-ink); }
.intern-track:hover { transform:translateY(-5px); border-color:#008aa5; box-shadow:0 12px 30px #071d390a; }
.intern-track-number { display:flex; justify-content:space-between; font-size:11px; color:var(--ip-muted); }
.intern-track-number span { font-size:19px; color:var(--ip-ink); }
.intern-track-icon { font-size:40px; color:#0083a0; margin:24px 0 20px; line-height:1; }
.intern-track h3 { font-size:19px; line-height:1.3; letter-spacing:-.5px; margin-bottom:12px; }
.intern-page .intern-track p { font-size:14px!important; line-height:1.7!important; margin-bottom:25px; }
.intern-tags { display:flex; gap:5px; flex-wrap:wrap; margin-top:auto; }
.intern-tags span { font-size:9px; color:var(--ip-muted); padding:4px 7px; background:var(--ip-paper); border-radius:3px; }
.intern-page .intern-track-foot { margin-top:22px; font-size:13px!important; }
.intern-experience { padding-block:75px; background:var(--ip-paper); }
.intern-experience-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.intern-experience figure img { display:block; width:100%; height:445px; object-fit:cover; border-radius:8px; }
.intern-experience figcaption { font-size:9px; letter-spacing:1.8px; color:var(--ip-muted); margin-top:15px; }
.intern-experience h2 { margin-bottom:20px; }
.intern-benefits { list-style:none; padding:0; margin:22px 0 0; }
.intern-benefits li { display:flex; gap:18px; padding:18px 0; border-top:1px solid var(--ip-line); }
.intern-benefits li>span { color:#008aa5; font-size:12px; padding-top:4px; }
.intern-benefits h3 { font-size:16px; margin-bottom:5px; }
.intern-page .intern-benefits p { font-size:14px!important; }
.intern-apply-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:65px; align-items:start; }
.intern-apply-aside { position:sticky; top:100px; }
.intern-apply-aside>p:not(.intern-kicker) { margin-top:22px; max-width:335px; }
.intern-checklist { padding:24px 0; border-top:1px solid var(--ip-line); margin-top:30px; }
.intern-checklist h3 { font-size:14px; margin-bottom:18px; }
.intern-page .intern-checklist p { font-size:13px!important; display:flex; gap:10px; margin-bottom:10px; }
.intern-checklist p>span { color:#008aa5; }
.intern-page .intern-help { font-size:13px!important; }
.intern-help a { color:var(--ip-ink); border-bottom:1px solid var(--ip-line); }
.intern-aside-stamp { font-size:49px; font-weight:700; letter-spacing:-2px; line-height:1.03; color:var(--ip-line); margin-top:43px; }
.intern-aside-stamp span { color:#008aa5; }
.intern-application { min-width:0; border:1px solid var(--ip-line); background:var(--ip-card); padding:32px; border-radius:12px; box-shadow:0 15px 55px #071d3908; }
.intern-form-heading { display:flex; justify-content:space-between; gap:15px; align-items:center; font-size:11px; color:var(--ip-muted); }
.intern-form-label { letter-spacing:1.3px; font-size:10px; font-weight:600; color:var(--ip-ink); }
.intern-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:25px 0; border-bottom:1px solid var(--ip-line); }
.intern-steps button { border:0; border-bottom:2px solid transparent; background:none; color:var(--ip-muted); font-size:11px; padding:0 0 18px; cursor:pointer; white-space:nowrap; }
.intern-steps button>span { display:inline-grid; place-items:center; border-radius:50%; width:23px; height:23px; border:1px solid var(--ip-line); margin-right:5px; font-size:10px; }
.intern-steps button[aria-current="step"] { color:var(--ip-ink); border-bottom-color:#008aa5; }
.intern-steps button[aria-current="step"]>span { background:#071d39; border-color:#071d39; color:#fff; }
.intern-steps button.is-complete>span { background:#d9f8fc; color:#00536d; border-color:#a2e9f2; }
.intern-page .intern-required-note { font-size:11px!important; margin-bottom:28px; }
.intern-required-note>span { color:#007f9c; }
.intern-step { border:0; margin:0; padding:0; min-width:0; }
.intern-step legend { float:none; width:auto; color:var(--ip-ink); font-size:25px; line-height:1.2; font-weight:600; letter-spacing:-.8px; margin-bottom:10px; outline:none; }
.intern-step legend:focus-visible { outline:2px solid #0083ad; outline-offset:4px; }
.intern-page .intern-step-intro { font-size:13px!important; margin-bottom:25px; }
.intern-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; }
.intern-fields label,.intern-cv>label { display:block; font-size:12px; font-weight:600; color:var(--ip-ink); }
.intern-fields label>span,.intern-cv>label>span { color:#00809b; padding-left:2px; }
.intern-field-wide { grid-column:1/-1; }
.intern-fields :is(input:not([type="file"]),textarea,select) { width:100%; min-width:0; display:block; margin-top:8px; border:1px solid var(--ip-line); border-radius:5px; color:var(--ip-ink); background:var(--ip-paper); padding:11px 12px; min-height:46px; font-size:14px!important; font-weight:400; line-height:1.5; box-shadow:none; transition:border-color .15s; }
.intern-fields textarea { resize:vertical; min-height:90px; }
.intern-fields :is(input,textarea)::placeholder { color:var(--ip-muted); opacity:.85; }
.intern-fields :is(input,select,textarea):focus { border-color:#008aa5; }
.intern-fields small { display:block; font-size:10px; font-weight:400; color:var(--ip-muted); margin-top:6px; }
.intern-fields .intern-optional { display:inline; margin-left:6px; color:var(--ip-muted); font-size:10px; font-weight:400; }
.intern-page .intern-field-note { font-size:11px!important; margin-top:20px; line-height:1.7!important; }
.intern-upload { margin-top:9px; border:1px dashed #8caebd; background:var(--ip-paper); border-radius:7px; padding:23px 18px; display:flex; gap:15px; align-items:center; flex-wrap:wrap; }
.intern-upload-icon { font-size:27px; color:#008aa5; line-height:1; flex-shrink:0; }
.intern-upload strong { font-size:13px; }
.intern-page .intern-upload p { font-size:11px!important; margin-top:4px; }
.intern-upload input { width:100%; font-size:12px!important; color:var(--ip-muted); min-width:0; }
.intern-upload input::file-selector-button { border:1px solid var(--ip-line); background:var(--ip-card); color:var(--ip-ink); padding:8px 13px; border-radius:4px; margin-right:12px; font-size:11px; cursor:pointer; }
.intern-page .intern-file-status { font-size:11px!important; margin-top:8px; overflow-wrap:anywhere; }
.intern-review-group { border:1px solid var(--ip-line); border-radius:6px; padding:18px; margin-bottom:15px; }
.intern-review-group>div:first-child { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.intern-review-group h4 { font-size:13px; color:var(--ip-ink); margin:0; }
.intern-review-group button { font-size:11px; border:0; background:none; padding:4px; color:#007c9b; text-decoration:underline; cursor:pointer; }
.intern-review dl { margin:0; display:grid; grid-template-columns:110px 1fr; gap:8px 12px; font-size:11px; line-height:1.7; }
.intern-review dt { font-weight:400; color:var(--ip-muted); }
.intern-review dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; color:var(--ip-ink); }
.intern-consent { display:flex; align-items:start; gap:10px; font-size:12px; color:var(--ip-muted); line-height:1.8; margin-top:22px; }
.intern-consent input { width:16px; height:16px; margin-top:4px; flex-shrink:0; accent-color:#007e9b; }
.intern-consent a { color:#007c9b; text-decoration:underline; }
.intern-form-actions { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--ip-line); padding-top:22px; margin-top:25px; gap:15px; }
.intern-form-actions .intern-button { margin-left:auto; font-size:13px; }
.intern-back { background:none; border:0; padding:10px 0; color:var(--ip-muted); font-size:12px; cursor:pointer; }
.intern-page .intern-form-error { color:#b42b35; font-size:13px!important; margin-top:18px; overflow-wrap:anywhere; }
.intern-page .intern-save-status { font-size:12px!important; margin-top:10px; }
.intern-form-error:empty,.intern-save-status:empty { display:none; }
.intern-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.intern-confirmation { padding:50px 35px; background:var(--ip-paper); border:1px solid var(--ip-line); border-radius:12px; text-align:center; }
.intern-confirmation>span { display:grid; place-items:center; width:65px; height:65px; background:#22d3ee; color:#071d39; font-size:28px; border-radius:50%; margin:0 auto 28px; }
.intern-confirmation h3 { font-size:35px; letter-spacing:-1px; margin-bottom:20px; }
.intern-reference { padding:22px; border:1px dashed #8caebd; border-radius:6px; margin-block:25px; font-size:11px; color:var(--ip-muted); }
.intern-reference strong { display:block; font-size:18px; color:var(--ip-ink); overflow-wrap:anywhere; margin-top:7px; }
.intern-confirmation .intern-button { margin-top:25px; }
.intern-faq { display:grid; grid-template-columns:.68fr 1.32fr; gap:65px; padding-block:20px 75px; }
.intern-faq details { border-top:1px solid var(--ip-line); padding:20px 0; }
.intern-faq details:last-child { border-bottom:1px solid var(--ip-line); }
.intern-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:15px; font-weight:600; color:var(--ip-ink); cursor:pointer; list-style:none; }
.intern-faq summary::-webkit-details-marker { display:none; }
.intern-faq summary>span { font-size:22px; font-weight:400; color:#008aa5; }
.intern-faq details[open] summary>span { transform:rotate(45deg); }
.intern-page .intern-faq details p { font-size:14px!important; margin:15px 30px 0 0; }
.intern-closing { display:flex; justify-content:space-between; gap:20px; align-items:center; padding-block:25px; border-top:1px solid var(--ip-line); font-size:13px; color:var(--ip-muted); }
.intern-closing>a { color:var(--ip-ink); }
.intern-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:root[data-theme="dark"] .intern-page { --ip-ink:#e5edf6; --ip-muted:#a8bacd; --ip-paper:#101f33; --ip-card:#091627; --ip-line:#2a3d54; }
:root[data-theme="dark"] .intern-steps button[aria-current="step"]>span { background:#22d3ee; color:#071d39; border-color:#22d3ee; }
:root[data-theme="dark"] .intern-fields :is(input,select,textarea) { color-scheme:dark; }
:root[data-theme="dark"] .intern-page :is(.intern-consent a,.intern-help a,.intern-review-group button) { color:#69d8ed; }
:root[data-theme="dark"] .intern-page .intern-form-error { color:#ffaab1; }
@media(min-width:1600px) { .intern-hero-grid { padding-block:85px; } }
@media(max-width:1100px) {
  .intern-hero-grid { gap:35px; }.intern-page .intern-hero h1 { font-size:54px; }.intern-hero-photo>img { height:500px; }.intern-track-grid { grid-template-columns:repeat(2,1fr); }.intern-track-icon { margin-block:18px; }.intern-experience-grid,.intern-apply-layout,.intern-faq { gap:35px; }.intern-application { padding:24px; }.intern-steps { gap:3px; }.intern-steps button { font-size:10px; }.intern-steps button>span { margin-right:3px; width:21px; height:21px; }.intern-apply-layout { grid-template-columns:.6fr 1.4fr; }.intern-page h2 { font-size:36px; }
}
@media(max-width:760px) {
  .intern-hero-grid { grid-template-columns:1fr; padding-block:40px; gap:30px; }.intern-page .intern-hero h1 { font-size:clamp(43px,8.5vw,62px); letter-spacing:-2px; }.intern-hero-copy { padding:0; }.intern-hero .intern-kicker { font-size:9px!important; letter-spacing:1.3px; margin-bottom:20px; }.intern-hero-photo>img { height:390px; object-position:center 38%; }.intern-photo-tag { left:12px; bottom:70px; padding:14px 18px; }.intern-photo-tag strong { font-size:24px; }.intern-hero-note { margin-top:25px; }.intern-ribbon>.intern-shell { gap:15px; flex-wrap:wrap; justify-content:center; padding-block:17px; font-size:11px; }.intern-ribbon span:first-child { width:100%; text-align:center; font-size:9px; }.intern-ribbon i { padding-left:9px; }.intern-section { padding-block:55px; }.intern-section-heading { grid-template-columns:1fr; gap:20px; }.intern-page h2 { font-size:35px; letter-spacing:-1.3px; }.intern-track { padding:20px 17px; }.intern-track h3 { font-size:17px; }.intern-page .intern-track p { font-size:13px!important; }.intern-tags span { font-size:8px; }.intern-experience { padding-block:45px; }.intern-experience-grid { grid-template-columns:1fr; gap:35px; }.intern-experience figure img { height:330px; }.intern-apply-layout { grid-template-columns:1fr; gap:30px; }.intern-apply-aside { position:static; }.intern-checklist { margin-top:23px; padding-bottom:0; }.intern-aside-stamp { display:none; }.intern-page .intern-apply-aside .intern-help { margin-top:15px; }.intern-faq { grid-template-columns:1fr; gap:25px; padding-bottom:45px; }.intern-closing { align-items:start; font-size:11px; }.intern-closing>a { max-width:140px; text-align:right; }.intern-application { padding:23px 20px; }.intern-steps button { font-size:10px; }.intern-steps button>span { display:block; margin:0 auto 7px; }.intern-form-heading { font-size:10px; }.intern-form-label { font-size:9px; letter-spacing:1px; }.intern-page .intern-required-note { font-size:10px!important; }.intern-step legend { font-size:23px; }.intern-confirmation { padding:35px 23px; }.intern-confirmation h3 { font-size:30px; }
}
@media(max-width:440px) {
  .intern-fields { grid-template-columns:1fr; gap:18px; }.intern-track-grid { gap:10px; }.intern-track { padding:17px 13px; }.intern-track h3 { font-size:16px; letter-spacing:-.4px; }.intern-track-icon { font-size:32px; }.intern-track .intern-tags { gap:4px; }.intern-page .intern-track p { font-size:12px!important; }.intern-hero-photo>img { height:340px; }.intern-page .intern-intro { font-size:15px!important; }.intern-actions { gap:19px; }.intern-page .intern-actions .intern-button { font-size:12px; padding:12px 16px; gap:15px; }.intern-page .intern-link { font-size:12px; }.intern-review dl { grid-template-columns:85px 1fr; font-size:10px; }.intern-page .intern-button { gap:14px; }.intern-ribbon>.intern-shell { column-gap:10px; font-size:10px; }.intern-ribbon i { padding-left:5px; }
}
@media(prefers-reduced-motion:reduce) { .intern-page * { scroll-behavior:auto!important; transition:none!important; }.intern-track:hover,.intern-page .intern-button:hover { transform:none; } }
