/* NI21IRO careers: readable, mobile-first pages with scoped styles. */
.careers-page { --career-blue:#0b84b5; --career-ink:#163b49; --career-line:#cad8da; --career-paper:#fffdf8; --career-ivory:#f2ead9; --career-light:#e9f4f7; color:var(--career-ink); padding-top:114px; background:var(--career-paper); font-family:"Helvetica Neue","Hiragino Sans","Yu Gothic",sans-serif; }
.careers-page *, .careers-page *::before, .careers-page *::after { box-sizing:border-box; min-width:0; }
.careers-page h1,.careers-page h2,.careers-page h3,.careers-page p { word-break:normal; overflow-wrap:anywhere; }
.careers-page h1,.careers-page h2,.careers-page h3 { margin:0; font-weight:800; letter-spacing:-.035em; }
.careers-page p { line-height:1.9; margin:0 0 18px; }
.careers-page a { text-underline-offset:5px; }
.careers-page a:focus-visible,.careers-page summary:focus-visible { outline:3px solid var(--career-blue); outline-offset:5px; }
.careers-section,.careers-breadcrumb { width:min(1160px,calc(100% - 96px)); margin-inline:auto; }
.careers-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:.8rem; line-height:1.7; padding-top:24px; color:#5d7279; }
.careers-breadcrumb a { text-decoration:underline; }
.careers-section { padding-block:88px; }
.careers-page .careers-kicker { font-size:.78rem; color:var(--career-blue); letter-spacing:.12em; font-weight:800; line-height:1.8; margin-bottom:18px; }
.careers-page h2 { font-size:clamp(1.65rem,3vw,2.65rem); line-height:1.45; text-wrap:balance; }
.careers-page h3 { font-size:1.2rem; line-height:1.55; text-wrap:balance; }
.careers-page .careers-small { font-size:.83rem; color:#5b7078; line-height:1.85; }
.careers-hero { display:grid; grid-template-columns:1.4fr 1fr; align-items:center; gap:64px; padding-top:40px; padding-bottom:72px; }
.careers-hero h1 { font-size:clamp(2.3rem,4.1vw,3.7rem); line-height:1.35; }
.careers-hero h1 > span { display:block; }
.careers-page .careers-hero-lead { font-size:1.03rem; line-height:1.9; margin-top:24px; }
.careers-page .careers-hero-schools { margin-top:24px; font-size:.9rem; line-height:1.8; }
.careers-hero-photo { margin:0; background:var(--career-ivory); padding:14px 14px 0; transform:rotate(1deg); box-shadow:14px 14px 0 #6cc0dc; }
.careers-hero-photo img { display:block; width:100%; height:auto; max-height:480px; object-fit:contain; }
.careers-hero-photo figcaption { font-size:.75rem; padding:12px 4px; line-height:1.6; }
.careers-hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:stretch; margin:28px 0 12px; }
.careers-btn { display:inline-flex; gap:22px; align-items:center; justify-content:center; padding:16px 22px; min-height:56px; max-width:100%; background:var(--career-blue); border:1.5px solid var(--career-blue); border-radius:5px; color:white; font-size:.95rem; font-weight:800; line-height:1.6; text-align:center; text-decoration:none; }
.careers-btn > span { flex-shrink:0; font-size:1.2rem; }
.careers-btn:hover { background:#09688f; border-color:#09688f; }
.careers-btn-outline { background:transparent; color:var(--career-blue); }
.careers-btn-outline:hover { background:#def0f5; color:var(--career-ink); }
.careers-text-link { display:inline-flex; gap:10px; align-items:center; font-size:.95rem; font-weight:700; color:var(--career-blue); text-decoration:underline; line-height:1.8; }
.careers-philosophy { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; border-top:1px solid var(--career-line); }
.careers-philosophy .careers-kicker { grid-column:1/-1; }
.careers-prose { font-size:1.02rem; }
.careers-team { border-top:1px solid var(--career-line); }
.careers-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:40px; }
.careers-benefits article { border-top:3px solid var(--career-blue); padding:24px 0 0; }
.careers-benefits article > span { display:block; font-size:1.35rem; font-weight:800; color:var(--career-blue); margin-bottom:18px; line-height:1.4; }
.careers-benefits h3 { margin-bottom:16px; }
.careers-benefits p { font-size:.95rem; color:#50656d; }
.careers-scenes { border-top:1px solid var(--career-line); }
.careers-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:36px; }
.careers-photo-grid figure { margin:0; background:var(--career-ivory); }
.careers-photo-grid img { display:block; width:100%; height:auto; }
.careers-photo-grid figcaption { padding:20px; line-height:1.7; }
.careers-photo-grid figcaption strong { display:block; font-size:1.02rem; margin-bottom:5px; }
.careers-photo-grid figcaption span { display:block; font-size:.85rem; color:#516970; }
.careers-open { border-top:1px solid var(--career-line); }
.careers-section-intro { margin-top:18px!important; color:#50656d; }
.careers-role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:32px 0 18px; }
.careers-role { display:flex; align-items:flex-start; gap:22px; padding:28px 24px; background:white; border:1px solid var(--career-line); border-top:4px solid var(--career-blue); text-decoration:none; color:var(--career-ink); transition:background .2s; }
.careers-role:hover { background:var(--career-light); }
.careers-role-no { font-size:1.25rem; font-weight:800; color:var(--career-blue); line-height:1.6; }
.careers-role-copy { flex:1; }
.careers-role-type { display:block; font-size:.8rem; color:#546a73; margin-bottom:9px; line-height:1.6; }
.careers-role h3 { font-size:1.25rem; }
.careers-role p { margin:12px 0 0; font-weight:700; font-size:1rem; line-height:1.7; }
.careers-role p span { font-size:.85rem; font-weight:500; }
.careers-role-arrow { flex-shrink:0; font-size:1.5rem; color:var(--career-blue); }
.careers-extra { border-top:1px solid var(--career-line); margin-top:28px; padding-top:20px; }
.careers-extra summary { font-weight:700; font-size:.95rem; line-height:1.8; cursor:pointer; }
.careers-extra p { margin-top:20px; }
.careers-locations { border-top:1px solid var(--career-line); }
.careers-location-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:36px; }
.careers-location-grid article { padding:30px; background:var(--career-light); }
.careers-location-grid h3 { margin-bottom:18px; }
.careers-location-grid p:not(.careers-kicker) { font-size:.95rem; }
.careers-process { border-top:1px solid var(--career-line); }
.careers-process ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin:36px 0 0; }
.careers-process li { display:flex; gap:18px; border-top:1px solid var(--career-line); padding-top:24px; }
.careers-process li > span { font-size:1.35rem; font-weight:800; color:var(--career-blue); }
.careers-process h3 { font-size:1.05rem; margin-bottom:12px; }
.careers-process p { font-size:.9rem; }
.careers-apply { display:grid; grid-template-columns:1fr 1fr; gap:48px; background:var(--career-light); padding:48px; border-top:4px solid var(--career-blue); margin-bottom:80px; align-items:center; }
.careers-apply > div > p:not(.careers-kicker) { margin-top:22px; }
.careers-apply .careers-btn { width:100%; }
.careers-line-guide { font-size:.88rem; line-height:1.9!important; margin-top:20px!important; color:#4d646e; }
.careers-line-guide strong { font-weight:700; }
.career-hero { display:grid; grid-template-columns:1.35fr 1fr; gap:72px; padding-top:42px; padding-bottom:48px; align-items:center; }
.career-hero h1 { font-size:clamp(2.4rem,4vw,3.8rem); line-height:1.35; }
.career-hero h1 > span { display:block; }
.career-hero h1 small { display:block; font-size:1rem; font-weight:600; letter-spacing:.04em; margin-top:14px; }
.careers-page .career-employment { font-size:.9rem; margin-bottom:16px; }
.careers-page .career-lead { font-size:1.25rem; font-weight:800; margin:26px 0 16px; line-height:1.7; }
.career-hero figure { margin:0; background:var(--career-ivory); padding:14px 14px 0; }
.career-hero img { width:100%; height:auto; max-height:470px; object-fit:contain; display:block; }
.career-hero figcaption { font-size:.75rem; padding:12px 0; text-align:center; }
.career-jump { padding:0 0 26px; display:flex; flex-wrap:wrap; gap:12px 28px; border-bottom:1px solid var(--career-line); }
.career-jump a { font-size:.9rem; text-decoration:underline; }
.career-appeal { background:var(--career-ivory); padding:42px 48px; }
.career-appeal > p:not(.careers-kicker) { max-width:52em; margin-top:20px; }
.career-facts { margin:32px 0 18px; border-top:2px solid var(--career-ink); }
.career-facts > div { display:grid; grid-template-columns:180px minmax(0,1fr); border-bottom:1px solid var(--career-line); }
.career-facts dt { padding:26px 20px; background:var(--career-light); font-weight:800; font-size:.95rem; line-height:1.85; }
.career-facts dd { margin:0; padding:26px 30px; font-size:.98rem; line-height:1.95; overflow-wrap:anywhere; }
.career-facts dd a { color:var(--career-blue); text-decoration:underline; }
.career-facts dd ul { margin:0; padding-left:1.2em; }
.career-facts dd li + li { margin-top:12px; }
.career-facts dd .careers-small { margin:12px 0 0; }
.career-related { padding-top:0; }
.career-related > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; margin:28px 0; }
.career-related > div > a { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid var(--career-line); font-size:.95rem; }
.careers-page section[id] { scroll-margin-top:125px; }
@media(max-width:1000px) {
 .careers-section,.careers-breadcrumb { width:calc(100% - 64px); }
 .careers-hero,.career-hero { gap:36px; }
 .careers-hero h1 { font-size:clamp(2.1rem,4vw,3rem); }
 .careers-hero-actions { flex-direction:column; align-items:stretch; }
 .careers-benefits { gap:22px; }
 .careers-process ol { grid-template-columns:1fr; gap:12px; }
 .careers-process p { margin-bottom:8px; }
 .careers-apply { gap:30px; padding:36px; }
}
@media(max-width:760px) {
 .careers-page { padding-top:94px; }
 .careers-section,.careers-breadcrumb { width:calc(100% - 40px); }
 .careers-breadcrumb { font-size:.72rem; padding-top:18px; }
 .careers-section { padding-block:52px; }
 .careers-page h2 { font-size:1.65rem; line-height:1.55; text-wrap:wrap; }
 .careers-page h3 { text-wrap:wrap; }
 .careers-page .careers-kicker { font-size:.72rem; letter-spacing:.08em; margin-bottom:14px; }
 .careers-hero,.career-hero { grid-template-columns:1fr; gap:32px; padding-top:26px; }
 .careers-hero h1 { font-size:clamp(1.8rem,8.1vw,2.5rem); line-height:1.4; }
 .careers-page .careers-hero-lead { font-size:.95rem; margin-top:20px; }
 .careers-page .careers-hero-schools { margin-top:20px; font-size:.85rem; }
 .careers-hero-actions { margin-top:24px; gap:10px; }
 .careers-btn { width:100%; padding:15px 18px; font-size:.92rem; }
 .careers-hero-photo { max-width:270px; width:80%; margin-inline:auto; box-shadow:10px 10px 0 #6cc0dc; }
 .careers-hero-photo img { max-height:350px; }
 .careers-hero-photo figcaption { font-size:.68rem; }
 .careers-philosophy { display:block; }
 .careers-prose { margin-top:26px; font-size:1rem; }
 .careers-benefits { grid-template-columns:1fr; gap:24px; margin-top:28px; }
 .careers-benefits article { padding-top:18px; }
 .careers-benefits article > span { font-size:1.35rem; margin-bottom:12px; }
 .careers-benefits h3 { font-size:1.2rem; margin-bottom:10px; }
 .careers-benefits p { font-size:.95rem; margin-bottom:0; }
 .careers-photo-grid { gap:24px; grid-template-columns:1fr; max-width:360px; margin:28px auto 0; }
 .careers-photo-grid figure { display:grid; grid-template-columns:45% 55%; align-items:center; }
 .careers-photo-grid figcaption { padding:16px; }
 .careers-photo-grid figcaption strong { font-size:.92rem; }
 .careers-photo-grid figcaption span { font-size:.8rem; }
 .careers-role-grid { grid-template-columns:1fr; gap:14px; margin-top:24px; }
 .careers-role { padding:22px 18px; gap:16px; }
 .careers-role h3 { font-size:1.16rem; }
 .careers-role-no { font-size:1.25rem; }
 .careers-role-arrow { font-size:1.3rem; }
 .careers-role p { font-size:.95rem; }
 .careers-location-grid { grid-template-columns:1fr; gap:18px; margin-top:26px; }
 .careers-location-grid article { padding:24px; }
 .careers-apply { display:block; padding:30px 22px; margin-bottom:48px; }
 .careers-apply h2 { font-size:1.55rem; }
 .careers-apply-action { margin-top:26px; }
 .careers-line-guide { font-size:.87rem; }
 .career-hero h1 { font-size:clamp(2rem,9vw,2.8rem); }
 .career-hero h1 small { font-size:.9rem; }
 .careers-page .career-lead { font-size:1.15rem; margin-top:22px; }
 .career-hero figure { max-width:260px; width:80%; margin:auto; }
 .career-hero img { max-height:340px; }
 .career-jump { padding:0 0 24px; gap:12px 18px; }
 .career-jump a { font-size:.83rem; }
 .career-appeal { padding:30px 22px; }
 .career-facts > div { grid-template-columns:1fr; }
 .career-facts dt { padding:14px 18px; }
 .career-facts dd { padding:18px; font-size:.95rem; }
 .career-related { padding-top:0; }
 .career-related > div { grid-template-columns:1fr; }
 .careers-page section[id] { scroll-margin-top:105px; }
}
@media(prefers-reduced-motion:reduce) { .careers-page * { scroll-behavior:auto; transition:none; } }
