@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

.projects-coming { display: grid; grid-template-columns: .65fr 1fr; align-items: center; gap: 40px; overflow: hidden; scroll-margin-top: 80px; }
.projects-coming-mark { font-size: clamp(120px, 24vw, 310px); line-height: 1; text-align: center; color: var(--accent); }
.projects-coming h2 { font-family: var(--f-serif); font-size: clamp(40px, 6vw, 82px); letter-spacing: -.05em; line-height: 1.08; margin: 22px 0; }
.projects-coming h2 em { color: var(--accent); }
.projects-coming p { font-size: 17px; line-height: 1.85; color: var(--fg-soft); }
.projects-coming-note { display: inline-flex; gap: 28px; margin-top: 28px; border-bottom: 1px solid var(--line-hard); padding-bottom: 12px; font-size: 14px; }
/* Internship Tracker: an opportunity board and interactive app tour. */
#internship-tracker { --f-sans: 'Montserrat', Arial, sans-serif; font-family: var(--f-sans); background: #293979; color: #fff; scroll-margin-top: 95px; overflow: hidden; }
.internship-masthead,.internship-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12px; padding-block:22px; border-bottom:1px solid #ffffff35; }
.internship-bottom { border-bottom:0; border-top:1px solid #ffffff35; margin-top:60px; color:#d6dfff; }
.internship-feature { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(32px,6vw,90px); align-items:center; padding-block:70px; }
.internship-copy,.internship-tour-copy { min-width:0; }
.internship-kicker { font-size:11px; font-weight:700; letter-spacing:.12em; color:#cbd6ff; }
.internship-copy h2 { font-family:inherit; font-size:clamp(48px,6.3vw,88px); line-height:1.02; letter-spacing:-.065em; margin:24px 0; }
.internship-copy h2 em,.internship-tour-copy h3 em { color:#ffdf32; font-style:normal; }
.internship-copy > p { font-size:15px; line-height:1.85; color:#e0e7ff; max-width:49ch; }
.internship-copy .internship-project-name { font-size:13px; font-weight:700; color:#fff; }
.internship-tags { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.internship-tags span { padding:8px 12px; border:1px solid #ffffff40; border-radius:30px; font-size:11px; }
.internship-explore { display:inline-flex; gap:35px; font-size:14px; padding:12px 0; border-bottom:2px solid #ffdf32; }
.internship-map { position:relative; padding:60px 28px 28px; background:#20306b; border:1px solid #ffffff25; border-radius:28px; transform:rotate(2deg); background-image:radial-gradient(#ffffff24 1px,transparent 1px); background-size:20px 20px; }
.internship-sticker { position:absolute; right:-8px; top:-23px; padding:18px; border-radius:50%; background:#ffdf32; color:#20306b; font-size:12px; font-weight:800; transform:rotate(12deg); box-shadow:0 8px 24px #0003; }
.internship-map-node { display:grid; grid-template-columns:42px 1fr; gap:6px 12px; background:#fff; color:#293979; padding:22px; border-radius:16px; box-shadow:0 10px 30px #0002; transform:rotate(-4deg); }
.internship-map-node > span { grid-row:span 2; font-size:32px; color:#293979; }
.internship-map-node strong { font-size:17px; }.internship-map-node small { font-size:11px; line-height:1.5; }
.internship-map-node--student { background:#ffdf32; transform:rotate(1deg); }
.internship-map-path { display:flex; align-items:center; justify-content:center; gap:14px; padding:28px 0; color:#d2ddff; font-size:24px; }.internship-map-path span { font-size:10px; }
.internship-map-foot { display:block; text-align:center; margin-top:28px; font-size:10px; letter-spacing:.15em; color:#cbd6ff; }
#internship-playground { scroll-margin-top:110px; }
.internship-playground { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:clamp(24px,4vw,56px); border-radius:32px; background:#1b285a; border:1px solid #ffffff25; align-items:center; }
.internship-tour-copy h3 { font-family:inherit; font-size:clamp(32px,4vw,53px); line-height:1.12; letter-spacing:-.05em; margin:22px 0 30px; }
.internship-role-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.internship-role-tabs button,.internship-screen-controls button { font:inherit; font-size:11px; padding:12px 14px; border:1px solid #ffffff40; border-radius:30px; background:transparent; color:#fff; cursor:pointer; }
.internship-role-tabs button[aria-pressed="true"],.internship-screen-controls button[aria-pressed="true"] { background:#ffdf32; border-color:#ffdf32; color:#1b285a; }
.internship-role-copy { min-height:185px; padding-top:28px; }.internship-role-copy h4 { font-size:21px; line-height:1.3; margin:0 0 14px; }.internship-role-copy p { font-size:14px; line-height:1.9; color:#cbd6ff; margin:0; }
.internship-tour-note { display:flex; gap:12px; font-size:11px; line-height:1.8; color:#b9c8f0; border-top:1px solid #ffffff25; padding-top:22px; }
.internship-device-stage { position:relative; display:grid; justify-items:center; gap:18px; min-width:0; padding:14px 0; }
.internship-stage-word { position:absolute; top:28%; left:50%; transform:translateX(-50%) rotate(-90deg); font-size:130px; font-weight:800; color:#ffffff05; letter-spacing:-.08em; pointer-events:none; }
.internship-device-badge { z-index:1; font-size:9px; letter-spacing:.15em; color:#e0e7ff; }
.internship-phone { position:relative; width:min(100%,250px); padding:13px 7px 9px; border:2px solid #7184b7; background:#111a36; border-radius:35px; box-shadow:18px 22px 0 #ffffff04,0 24px 50px #0005; }
.internship-phone-speaker { position:absolute; z-index:2; top:6px; left:50%; transform:translateX(-50%); width:60px; height:5px; border-radius:8px; background:#7184b7; }
.internship-screen { display:block; width:100%; padding:0; border:0; border-radius:24px; overflow:hidden; background:#f5f6fa; cursor:zoom-in; }
.internship-screen img { display:block; width:100%; height:auto; }
.internship-screen[hidden],.internship-admin-note[hidden] { display:none; }
.internship-admin-note { aspect-ratio:537/1119; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; text-align:center; padding:22px; border-radius:24px; background:#edf0fa; color:#293979; }
.internship-admin-note > span { font-size:60px; }.internship-admin-note p,.internship-admin-note small { font-size:12px; line-height:1.8; }
.internship-screen-controls { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; z-index:1; }.internship-screen-controls button { padding:9px 12px; font-size:10px; }
.internship-screen-caption { text-align:center; font-size:10px; line-height:1.6; color:#cbd6ff; }
#internship-tracker button:focus-visible,#internship-tracker a:focus-visible { outline:3px solid #ffdf32; outline-offset:5px; }
@media(max-width:800px) { .internship-feature,.internship-playground { grid-template-columns:1fr; }.internship-feature { padding-block:40px; }.internship-map { max-width:440px; width:100%; justify-self:center; margin-block:24px; }.internship-playground { gap:24px; }.internship-role-copy { min-height:0; padding-bottom:24px; }.projects-coming { grid-template-columns:1fr; }.projects-coming-mark { text-align:left; font-size:100px; } }
@media(prefers-reduced-motion:reduce) { .internship-map,.internship-map-node,.internship-sticker { transform:none; } }
