
.careers-page{
  --ink:#173e60;
  --muted:#6d8192;
  --line:#dce6ed;
  --blue:#1776b8;
  --green:#2b9a72;
  --soft-blue:#f4f9fc;
  --soft-green:#f4faf7;
  color:#3f596e;
  background:#fff;
}
.careers-page *{box-sizing:border-box}
.eyebrow{
  margin:0 0 8px;
  color:#1780b8;
  font-size:11px;
  font-weight:900;
  letter-spacing:.19em;
}
.careers-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 25%,rgba(44,154,114,.11),transparent 29%),
    radial-gradient(circle at 65% 80%,rgba(23,118,184,.10),transparent 34%),
    linear-gradient(135deg,#f2f9fd 0%,#ffffff 54%,#f3faf7 100%);
  border-bottom:1px solid #e1ebf1;
}
.careers-hero:before{
  content:"CAREER";
  position:absolute;
  right:-18px;
  bottom:-38px;
  color:rgba(20,70,105,.035);
  font-size:150px;
  font-weight:950;
  line-height:1;
  letter-spacing:-.06em;
}
.careers-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  align-items:center;
  gap:64px;
  min-height:430px;
  padding:68px 0 62px;
}
.hero-copy h1{
  margin:0;
  color:#123d62;
  font-size:clamp(38px,4.6vw,60px);
  letter-spacing:-.05em;
}
.hero-message{
  margin:24px 0 0;
  color:#4c667b;
  font-size:clamp(24px,3vw,38px);
  font-weight:700;
  line-height:1.48;
  letter-spacing:-.03em;
}
.hero-message strong{
  color:#155f92;
  font-size:1.12em;
  font-weight:950;
}
.hero-sub{
  margin:18px 0 0;
  color:#718696;
  font-size:14px;
  line-height:1.9;
}
.hero-keywords{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.hero-keywords span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:66px;
  padding:10px 8px;
  border:1px solid rgba(38,109,151,.14);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  color:#3e6179;
  font-size:12px;
  font-weight:850;
  text-align:center;
  box-shadow:0 10px 28px rgba(30,70,100,.04);
}
.hero-keywords span:nth-child(5),
.hero-keywords span:nth-child(6),
.hero-keywords span:nth-child(9){
  background:rgba(246,252,249,.92);
  color:#34715d;
}

.career-data-section{padding:78px 0 88px;background:#fbfdfe}
.section-intro{margin-bottom:32px}
.section-intro h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(29px,3.2vw,42px);
  letter-spacing:-.04em;
  line-height:1.25;
}
.section-intro>p:last-child{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}
.section-intro.split{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
}
.section-sidecopy{
  margin:0!important;
  padding-bottom:4px;
  color:#728595!important;
  font-size:13px!important;
  line-height:1.8!important;
  text-align:right;
}

.track-panel{
  position:relative;
  display:grid;
  grid-template-columns:230px 1fr;
  gap:22px;
  margin-top:22px;
  padding:26px 28px 28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(24,64,94,.055);
}
.track-panel:before{
  content:"";
  position:absolute;
  left:0;top:24px;bottom:24px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:var(--blue);
}
.advanced-panel:before{background:var(--green)}
.track-summary{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:4px;
}
.track-label{
  display:flex;
  align-items:center;
  gap:9px;
}
.track-label span{
  color:#fff;
  padding:6px 12px;
  border-radius:999px;
  background:var(--blue);
  font-size:12px;
  font-weight:900;
}
.advanced-panel .track-label span{background:var(--green)}
.track-label small{
  color:#94a4af;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}
.track-copy h3{
  margin:15px 0 8px;
  color:#234a69;
  font-size:20px;
  line-height:1.45;
}
.track-copy p{
  margin:0;
  color:#80919e;
  font-size:11px;
}
.track-copy strong{color:#375a72;font-size:16px}
.year-cards{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:11px;
}
.career-year-card{
  padding:14px 8px 13px;
  border-radius:15px;
  background:#f8fbfd;
  text-align:center;
}
.advanced-panel .career-year-card{background:#f7fbf9}
.career-year{
  margin-bottom:8px;
  color:#486378;
  font-size:17px;
  font-weight:950;
}
.career-year span{
  margin-left:2px;
  color:#96a5b0;
  font-size:8px;
  font-weight:800;
}
.career-donut{
  --job:50;
  position:relative;
  width:92px;height:92px;
  margin:0 auto 10px;
  border-radius:50%;
  background:conic-gradient(#1769AA 0 calc(var(--job)*1%),#63C174 calc(var(--job)*1%) 100%);
}
.advanced-panel .career-donut{background:conic-gradient(#1769AA 0 calc(var(--job)*1%),#63C174 calc(var(--job)*1%) 100%)}
.career-donut-hole{
  position:absolute;
  inset:11px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
}
.dominant-label{
  color:#8294a0;
  font-size:8px;
  font-weight:800;
}
.career-donut-hole strong{
  margin-top:1px;
  color:#214a69;
  font-size:20px;
  line-height:1;
}
.career-rate-pair{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.career-rate-pair span{
  display:flex;align-items:center;gap:3px;
  color:#708492;
  font-size:8px;
}
.career-rate-pair i{
  width:6px;height:6px;border-radius:50%;
  background:var(--blue);
}
.career-rate-pair .progress i{background:#60b991}
.career-rate-pair b{color:#405d72;font-size:9px}
.data-note{
  margin:16px 0 0;
  color:#8b99a4;
  font-size:9px;
  text-align:right;
}

.undergraduate-destinations{padding:84px 0 94px}
.subhead-block{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:38px;
}
.subhead-block>span{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;
  border-radius:50%;
  background:#eaf5fb;
  color:#1675ad;
  font-size:12px;
  font-weight:950;
}
.subhead-block p{
  margin:0 0 1px;
  color:#8ba0ae;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
}
.subhead-block h3{
  margin:0;
  color:#194c72;
  font-size:25px;
}
.subhead-lead{
  margin:12px 0 20px;
  color:#798c9a;
  font-size:11px;
}
.field-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.field-card{
  position:relative;
  overflow:hidden;
  min-height:220px;
  padding:20px;
  border:1px solid #dbe6ed;
  border-radius:17px;
  background:#fff;
  box-shadow:0 9px 25px rgba(33,73,101,.035);
}
.field-card:after{
  content:"";
  position:absolute;
  right:-26px;top:-26px;
  width:90px;height:90px;
  border-radius:50%;
  background:#f1f8fc;
}
.field-card:nth-child(4n+2):after,
.field-card:nth-child(4n+4):after{background:#f2faf6}
.field-card-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-height:55px;
}
.field-no{
  color:#b1c5d3;
  font-size:21px;
  font-weight:950;
  line-height:1;
}
.field-card-head p{
  margin:0 0 3px;
  color:#8da0ac;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.field-card-head h3{
  margin:0;
  color:#24516f;
  font-size:15px;
  line-height:1.35;
}
.name-cloud{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:15px;
}
.name-cloud span{
  display:inline-flex;
  padding:6px 8px;
  border:1px solid #e0e8ee;
  border-radius:7px;
  background:#fafcfd;
  color:#587086;
  font-size:9px;
  font-weight:760;
  line-height:1.35;
}
.subhead-block.transfer{margin-top:56px}
.destination-band{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:20px;
  padding:24px;
  border-radius:18px;
  background:linear-gradient(135deg,#f3f8fc,#f9fcfd);
  border:1px solid #dce8ef;
}
.destination-band-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-right:1px solid #dbe5eb;
}
.destination-band-label strong{
  color:#1b6f9f;
  font-size:38px;
  line-height:1;
}
.destination-band-label span{
  color:#718895;
  font-size:9px;
  font-weight:800;
  line-height:1.35;
}
.school-grid{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-content:center;
}
.school-grid span{
  padding:7px 9px;
  border-radius:8px;
  background:#fff;
  color:#315e79;
  border:1px solid #d8e5ec;
  font-size:9.5px;
  font-weight:800;
}

.advanced-destinations{
  padding:84px 0 92px;
  background:linear-gradient(180deg,#f7fbf9,#fff);
}
.advanced-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.advanced-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border:1px solid #dae7df;
  border-radius:19px;
  background:#fff;
}
.advanced-card:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:#2b7db8;
}
.advanced-card.progression:before{background:var(--green)}
.advanced-card-kicker{
  color:#91a2ae;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.advanced-card h3{
  margin:7px 0 8px;
  color:#23516e;
  font-size:26px;
}
.advanced-card.progression h3{color:#267258}
.advanced-card>p{
  margin:0;
  color:#788b98;
  font-size:11px;
  line-height:1.7;
}

.alumni-preparing{padding:0 0 86px}
.alumni-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px 32px;
  border:1px dashed #d4dfe6;
  border-radius:17px;
  background:#fafcfd;
}
.alumni-card h2{margin:0;color:#526b7d;font-size:23px}
.alumni-card>span{
  padding:7px 12px;
  border-radius:999px;
  background:#fff3f3;
  color:#c34141;
  font-size:10px;
  font-weight:900;
}

@media(max-width:1050px){
  .careers-hero-inner{grid-template-columns:1fr .9fr;gap:34px}
  .track-panel{grid-template-columns:1fr}
  .track-summary{flex-direction:row;justify-content:space-between;align-items:center}
  .track-copy{text-align:right}
  .track-copy h3{margin:0 0 4px}
  .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .careers-hero-inner{grid-template-columns:1fr;min-height:auto;padding:48px 0 50px}
  .hero-keywords{grid-template-columns:repeat(3,1fr)}
  .section-intro.split{align-items:flex-start;flex-direction:column;gap:10px}
  .section-sidecopy{text-align:left}
  .year-cards{grid-template-columns:repeat(2,1fr)}
  .track-summary{align-items:flex-start;flex-direction:column}
  .track-copy{text-align:left}
  .track-copy h3{margin:12px 0 6px}
  .field-grid{grid-template-columns:1fr}
  .destination-band{grid-template-columns:1fr}
  .destination-band-label{justify-content:flex-start;padding-bottom:14px;border-right:0;border-bottom:1px solid #dbe5eb}
  .advanced-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero-keywords{grid-template-columns:repeat(2,1fr)}
  .year-cards{grid-template-columns:1fr 1fr}
  .career-year-card{padding:12px 5px}
  .career-donut{width:82px;height:82px}
  .career-donut-hole{inset:10px}
  .field-card{min-height:auto}
  .alumni-card{align-items:flex-start;flex-direction:column}
}

/* v3: stronger undergraduate career message */
.career-key-message{
  position:relative;
  min-width:390px;
  padding:20px 24px 20px 27px;
  border-left:4px solid #1878b7;
  border-radius:0 15px 15px 0;
  background:linear-gradient(90deg,#f0f8fd 0%,rgba(244,250,253,.35) 100%);
}
.career-key-message>span{
  display:block;
  margin-bottom:7px;
  color:#6f9ab5;
  font-size:9px;
  font-weight:950;
  letter-spacing:.16em;
}
.career-key-message p{
  margin:0;
  color:#3b5d74;
  font-size:18px;
  font-weight:800;
  line-height:1.65;
  letter-spacing:-.02em;
}
.career-key-message strong{
  color:#135f95;
  font-weight:950;
}
.career-key-message em{
  color:#188460;
  font-style:normal;
  font-weight:950;
}
@media(max-width:760px){
  .career-key-message{
    min-width:0;
    width:100%;
  }
  .career-key-message p{
    font-size:16px;
  }
}

/* v6: year in donut center; employment/progression values integrated with donut */
.career-year-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:158px;
  padding:12px 8px;
  overflow:visible;
}
.career-donut{
  position:relative;
  width:128px;
  height:128px;
  margin:0 auto;
  overflow:visible;
}
.career-donut-hole{
  position:absolute;
  inset:22px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
}
.career-donut-hole strong{
  margin:0;
  color:#214966;
  font-size:19px;
  font-weight:950;
  line-height:1;
}
.career-donut-hole span{
  margin-top:4px;
  color:#8799a5;
  font-size:8px;
  font-weight:850;
}
.donut-label{
  position:absolute;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:43px;
  padding:4px 5px;
  border-radius:8px;
  background:rgba(255,255,255,.94);
  box-shadow:0 2px 9px rgba(25,62,90,.12);
  line-height:1;
}
.donut-label span{font-size:7px;font-weight:900}
.donut-label b{margin-top:3px;font-size:11px;font-weight:950}
.donut-job{left:-3px;top:12px;color:#1769AA}
.donut-progress{right:-3px;bottom:12px;color:#3B8F4A}
@media(max-width:480px){
  .career-donut{width:112px;height:112px}
  .career-donut-hole{inset:20px}
  .donut-label{min-width:39px;padding:3px 4px}
  .donut-label b{font-size:10px}
}

/* v7: compact hero to match the other department pages */
.careers-hero-inner{
  display:block;
  min-height:0;
  padding-top:42px;
  padding-bottom:40px;
}
.hero-copy{
  max-width:760px;
}
.hero-copy h1{
  font-size:clamp(34px,4vw,48px);
}
.hero-message{
  margin-top:15px;
  font-size:clamp(21px,2.5vw,30px);
  line-height:1.42;
}
.hero-sub{
  margin-top:11px;
  font-size:13px;
  line-height:1.7;
}
.hero-keywords{
  display:none!important;
}
.careers-hero:before{
  font-size:105px;
  bottom:-29px;
}
@media(max-width:760px){
  .careers-hero-inner{
    padding-top:34px;
    padding-bottom:34px;
  }
}

/* v8: improve readability of company / destination names */
.name-cloud span{
  font-weight:900;
  color:#405f76;
}
.advanced-card .name-cloud span{
  font-weight:900;
  color:#405f76;
}

/* v9: data note at top right */
.hero-top-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,420px);
  align-items:center;
  gap:54px;
}
.career-data-notice{
  position:relative;
  padding:19px 21px 19px 23px;
  border:1px solid #d7e5ed;
  border-left:4px solid #6e9eb9;
  border-radius:0 13px 13px 0;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(28,67,94,.04);
}
.career-data-notice>span{
  display:block;
  margin-bottom:7px;
  color:#7d9aad;
  font-size:8px;
  font-weight:950;
  letter-spacing:.16em;
}
.career-data-notice p{
  margin:0;
  color:#637b8d;
  font-size:11px;
  font-weight:750;
  line-height:1.75;
}
.career-data-notice strong{
  color:#365d78;
  font-weight:950;
}
@media(max-width:820px){
  .hero-top-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .career-data-notice{
    max-width:100%;
  }
}

/* v10: make top data note larger and red */
.career-data-notice{
  padding:22px 24px 22px 26px;
  border-color:#efcaca;
  border-left-color:#c93434;
  background:rgba(255,249,249,.94);
}
.career-data-notice>span{
  margin-bottom:8px;
  color:#c93434;
  font-size:10px;
}
.career-data-notice p{
  color:#c52f2f;
  font-size:14px;
  font-weight:800;
  line-height:1.75;
}
.career-data-notice strong{
  color:#b92323;
  font-weight:950;
}

/* v11: keep the notice card neutral; only the text is red */
.career-data-notice{
  border:1px solid #d7e5ed;
  border-left:4px solid #6e9eb9;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(28,67,94,.04);
}
.career-data-notice>span{
  color:#c93434;
}
.career-data-notice p{
  color:#c52f2f;
}
.career-data-notice strong{
  color:#b92323;
}

.footer-preparing{color:inherit;opacity:.72;cursor:default}


/* RELEASE FINAL v9 — transfer destinations after removing the count column */
.destination-band{
  display:block;
}
.school-grid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  align-content:flex-start;
}
.school-grid span{
  flex:0 0 auto;
}




/* RELEASE FINAL v16 — 凡例を各色の円弧中央に配置 */
.career-donut .donut-label{left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%) !important;}
.career-donut.ug-y2025 .donut-job{left:106.0px !important;top:73.4px !important;}
.career-donut.ug-y2025 .donut-progress{left:22.0px !important;top:54.6px !important;}
.career-donut.ug-y2024 .donut-job{left:104.5px !important;top:78.6px !important;}
.career-donut.ug-y2024 .donut-progress{left:23.5px !important;top:49.4px !important;}
.career-donut.ug-y2023 .donut-job{left:107.0px !important;top:65.4px !important;}
.career-donut.ug-y2023 .donut-progress{left:21.0px !important;top:62.6px !important;}
.career-donut.ug-y2022 .donut-job{left:106.0px !important;top:73.4px !important;}
.career-donut.ug-y2022 .donut-progress{left:22.0px !important;top:54.6px !important;}
.career-donut.ug-y2021 .donut-job{left:106.0px !important;top:73.4px !important;}
.career-donut.ug-y2021 .donut-progress{left:22.0px !important;top:54.6px !important;}
.career-donut.adv-y2025 .donut-job{left:74.7px !important;top:22.4px !important;}
.career-donut.adv-y2025 .donut-progress{left:53.3px !important;top:105.6px !important;}
.career-donut.adv-y2024 .donut-job{left:76.0px !important;top:22.7px !important;}
.career-donut.adv-y2024 .donut-progress{left:52.0px !important;top:105.3px !important;}
.career-donut.adv-y2023 .donut-job{left:106.5px !important;top:70.7px !important;}
.career-donut.adv-y2023 .donut-progress{left:21.5px !important;top:57.3px !important;}
.career-donut.adv-y2022 .donut-job{left:107.0px !important;top:64.0px !important;}
.career-donut.adv-y2022 .donut-progress{left:21.0px !important;top:64.0px !important;}
.career-donut.adv-y2021 .donut-job{left:101.0px !important;top:42.1px !important;}
.career-donut.adv-y2021 .donut-progress{left:27.0px !important;top:85.9px !important;}

/* v18: keep percentage badges clear of the year in the donut centre */
.career-donut.ug-y2025 .donut-job,
.career-donut.ug-y2024 .donut-job,
.career-donut.ug-y2023 .donut-job,
.career-donut.ug-y2022 .donut-job,
.career-donut.ug-y2021 .donut-job,
.career-donut.adv-y2023 .donut-job,
.career-donut.adv-y2022 .donut-job{left:114px !important;}
.career-donut.ug-y2025 .donut-progress,
.career-donut.ug-y2024 .donut-progress,
.career-donut.ug-y2023 .donut-progress,
.career-donut.ug-y2022 .donut-progress,
.career-donut.ug-y2021 .donut-progress,
.career-donut.adv-y2023 .donut-progress,
.career-donut.adv-y2022 .donut-progress{left:14px !important;}
.career-donut.adv-y2025 .donut-job,
.career-donut.adv-y2024 .donut-job{left:101px !important;top:20px !important;}
.career-donut.adv-y2025 .donut-progress,
.career-donut.adv-y2024 .donut-progress{left:27px !important;top:108px !important;}
.career-donut.adv-y2021 .donut-job{left:108px !important;top:35px !important;}
.career-donut.adv-y2021 .donut-progress{left:20px !important;top:93px !important;}

/* v19: improve readability of company and school destination names */
.name-cloud{
  gap:8px;
}
.name-cloud span{
  padding:8px 10px;
  font-size:12px;
  line-height:1.45;
  font-weight:850;
}
.school-grid{
  gap:8px;
}
.school-grid span{
  padding:9px 11px;
  font-size:12px;
  line-height:1.45;
  font-weight:850;
}
@media(max-width:760px){
  .name-cloud span,
  .school-grid span{
    font-size:12px;
  }
}
