/* Internships: listing + detail/apply. Uses forms.css for the form. SFA royal blue; ease-out, specific props, hover only on real pointers. */
:root{--in-ease:cubic-bezier(.23,1,.32,1)}
html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.in-hero{background:linear-gradient(110deg,var(--brand-deep),var(--brand) 62%,#2a45e0);color:#fff;padding:28px 0 34px}
.in-crumbs{font-size:.84rem;color:#bcd0ff;margin-bottom:12px}.in-crumbs a{color:#dbe4ff;text-decoration:none}
.in-eyebrow{color:var(--gold-soft,#f0c777);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.in-hero h1{font-family:var(--font-display);font-size:clamp(1.9rem,4.2vw,2.8rem);line-height:1.1;margin:8px 0 6px;color:#fff}
.in-lede{color:#dbe4ff;max-width:620px;margin:0;font-size:1.02rem}
.in-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.in-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:999px;padding:5px 13px;font-size:.84rem;font-weight:600}
.in-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:1.5px solid var(--brand);background:var(--brand);color:#fff;font:700 .95rem var(--font-body);text-decoration:none;cursor:pointer;transition:transform .15s var(--in-ease),box-shadow .15s var(--in-ease)}
.in-btn--light{background:#fff;color:var(--brand-deep);border-color:#fff}.in-btn--line{background:#fff;color:var(--brand);border-color:#C5CCE0}
.in-btn:active{transform:scale(.97)}.in-btn:focus-visible,.in-card:focus-visible{outline:3px solid var(--gold,#C98A2B);outline-offset:2px}
.in-hero .in-btn{margin-top:16px}

.in-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin:22px 0 14px}
.in-count{font-weight:700}.in-count span{color:var(--ink-soft);font-weight:500}
.in-filters{display:flex;flex-wrap:wrap;gap:8px}
.in-chip{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--border);background:#fff;font:600 .85rem var(--font-body);color:var(--ink);cursor:pointer;transition:border-color .15s var(--in-ease),background-color .15s var(--in-ease),transform .15s var(--in-ease)}
.in-chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.in-chip:active{transform:scale(.97)}
.in-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;padding-bottom:44px}
.in-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;text-decoration:none;color:inherit;position:relative;transition:transform .16s var(--in-ease),box-shadow .16s var(--in-ease),border-color .16s var(--in-ease)}
.in-card[hidden]{display:none}
.in-card:active{transform:scale(.985)}
.in-dept{align-self:flex-start;background:var(--brand-tint);color:var(--brand);font-weight:700;font-size:.74rem;border-radius:999px;padding:3px 11px}
.in-card h2{font-family:var(--font-display);font-size:1.3rem;line-height:1.2;margin:2px 0 0}
.in-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem;color:var(--ink-soft)}
.in-meta b{color:var(--ink)}
.in-ex{margin:0;color:var(--ink-soft);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.in-go{margin-top:auto;padding-top:6px;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--brand);font-size:.92rem}
.in-go i{font-style:normal;transition:transform .16s var(--in-ease)}
.in-new{position:absolute;right:16px;top:16px;background:#e3f4ea;color:#1f6b45;font-weight:800;font-size:.7rem;border-radius:999px;padding:3px 10px}
.in-empty{background:#fff;border:1px dashed #C5CCE0;border-radius:16px;padding:34px 20px;text-align:center;color:var(--ink-soft);margin:24px 0 44px}
.in-empty b{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:4px}
.in-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 0}
.in-why div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 16px;font-size:.9rem;color:var(--ink-soft)}.in-why b{display:block;color:var(--ink)}

.in-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;padding:22px 0 8px}
.in-doc{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 24px}
.in-doc h2{font-family:var(--font-display);font-size:1.4rem;margin:0 0 10px}
.in-side{position:sticky;top:90px;display:grid;gap:14px}
.in-glance{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 18px}
.in-glance h2{font-family:var(--font-display);font-size:1.1rem;margin:0 0 10px}
.in-glance dl{margin:0;display:grid;gap:10px}.in-glance dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:700}.in-glance dd{margin:0;font-weight:700}
.in-glance .in-btn{width:100%;margin-top:14px}
.in-apply{padding:10px 0 44px}
.in-apply>h2{font-family:var(--font-display);font-size:1.7rem;margin:22px 0 4px}.in-apply>p{color:var(--ink-soft);margin:0 0 14px}
.in-others{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding-bottom:44px}
.in-others a{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit;font-weight:700;display:flex;flex-direction:column;gap:2px;transition:border-color .15s var(--in-ease),transform .15s var(--in-ease)}
.in-others a:active{transform:scale(.98)}.in-others small{font-weight:500;color:var(--ink-soft)}
.in-sec-h{font-family:var(--font-display);font-size:1.4rem;margin:8px 0 10px}

@media (hover:hover) and (pointer:fine){
  .in-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(17,31,143,.14);border-color:#b7c3f0}.in-card:hover .in-go i{transform:translateX(4px)}
  .in-btn:hover{box-shadow:0 6px 16px rgba(17,31,143,.25)}.in-chip:hover{border-color:var(--brand)}.in-others a:hover{border-color:var(--brand)}
}
@media (max-width:900px){.in-body{grid-template-columns:minmax(0,1fr)}.in-side{display:none}.in-why{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.in-hero{padding:22px 0 26px}.in-doc{padding:18px}.in-grid{grid-template-columns:minmax(0,1fr)}.in-hero .in-btn{width:100%}}
@media (prefers-reduced-motion:reduce){.in-card,.in-btn,.in-chip,.in-go i{transition:none}}
.in-apply .sf-wrap--one{margin:0;max-width:none}
