/* ============================================================
   Careers page (career.php). Black and white grounds, hairlines,
   Gotham for figures and interface, Georgia for headings.
   ============================================================ */

.cr .cr-sec { padding: 120px 0; scroll-margin-top: 70px; }
.cr-reveal { opacity: 0; transform: translateY(22px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); transition-delay: var(--d, 0s); }
.cr-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .cr-reveal { opacity: 1; transform: none; transition: none; } }
.cr-label { font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin: 0 0 14px; }
.cr-teams, .cr-lifesec, .cr-docs { background: #000; color: #fff; }
.cr-teams .v3-kicker, .cr-lifesec .v3-kicker, .cr-docs .v3-kicker { color: rgba(255,255,255,.6); }
.cr-teams .cr-label, .cr-lifesec .cr-label { color: rgba(255,255,255,.55); }
.cr .pl { width: 16px; height: 16px; flex: 0 0 auto; transition: transform .35s cubic-bezier(.2,.7,.2,1); }

/* 1. hero */
.cr-hero video { object-position: 50% 58%; }
.cr-hero::after { background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.12) 50%, rgba(0,0,0,0) 72%), linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 46%, rgba(0,0,0,.72) 100%); }
.cr-hero .cp-heroin { max-width: 640px; }
.cr-live { display: inline-flex; align-items: center; gap: 12px; margin-top: 34px; padding: 10px 16px 10px 14px; border: 1px solid rgba(255,255,255,.3); background: rgba(0,0,0,.25); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); font-family: 'Gotham-l'; font-size: 14px; color: rgba(255,255,255,.85); text-decoration: none; transition: border-color .3s, background .3s; }
.cr-live:hover { color: #fff; text-decoration: none; border-color: #fff; background: rgba(0,0,0,.45); }
.cr-live b { font-family: 'Gotham-m'; font-weight: normal; color: #fff; }
.cr-live i { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #4ade80; flex: 0 0 auto; }
.cr-live i::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid #4ade80; animation: crpulse 2.2s ease-out infinite; }
@keyframes crpulse { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.9); opacity: 0; } }

/* 2. why RSP: four reasons, all readable at once; on a laptop the picture beside them follows the reason in view */
.cr-reasons { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(40px, 6vw, 112px); align-items: start; }
.cr-rstage { position: sticky; top: max(96px, calc(50vh - min(34vh, 300px))); height: min(68vh, 600px); overflow: hidden; background: #000; }
.cr-rfig { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .8s ease; }
.cr-rfig.on { opacity: 1; }
.cr-rfig > img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.8s cubic-bezier(.2,.7,.2,1); }
.cr-rfig.on > img { transform: none; }
.cr-rfig figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 56px 26px 20px; background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.72)); font-family: 'Gotham-l'; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.9); }
.cr-rlist { list-style: none; margin: 0; padding: 0; }
.cr-reason { display: flex; flex-direction: column; justify-content: center; min-height: min(68vh, 600px); padding: 24px 0; }
.cr-reason + .cr-reason { border-top: 1px solid var(--rule); }
.cr-reasons.live .cr-reason { opacity: .26; transition: opacity .6s ease; }
.cr-reasons.live .cr-reason.on { opacity: 1; }
.cr-rmedia { display: none; }
.cr-reason .n { display: block; font-family: 'Gotham-l'; font-size: 12px; letter-spacing: .24em; color: var(--muted); margin-bottom: 18px; }
.cr-reason h3 { font-family: 'Georgia' !important; font-weight: normal; font-size: clamp(28px, 2.5vw, 36px); line-height: 1.18; color: var(--ink); text-transform: none; letter-spacing: 0; margin: 0 0 16px; text-wrap: balance; }
.cr-rline { font-family: 'Gotham-l'; font-size: 17px; line-height: 1.75; color: #33363b; margin: 0; max-width: 34em; }
.cr-proof { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--ink); }
.cr-proof .cr-label { margin-bottom: 14px; }
.cr-faces { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.cr-faces li { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cr-faces img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 40%; background: #e7e1d8; margin-bottom: 8px; }
.cr-faces b { font-family: 'Georgia'; font-weight: normal; font-size: 15px; line-height: 1.25; color: var(--ink); }
.cr-faces span { font-family: 'Gotham-l'; font-size: 12px; line-height: 1.35; color: var(--muted); }
.cr-fig { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.cr-fig b { font-family: 'Gotham-m'; font-weight: normal; font-size: clamp(36px, 3.4vw, 48px); line-height: 1; letter-spacing: -.01em; color: var(--ink); }
.cr-fig span { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.6; color: #33363b; max-width: 30em; }

/* 3. where you fit: four team cards in the order a campus needs them; the chosen card turns white and opens below */
.cr-tcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.22); border-left: 1px solid rgba(255,255,255,.12); }
.cr-tcard { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-height: 268px; padding: 26px 28px 26px; margin: 0; text-align: left; background: none; border: 0; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; cursor: pointer; transition: background .4s, color .4s; }
.cr-tcard:hover { background: rgba(255,255,255,.06); }
.cr-tcard.on { background: #fff; color: #000; }
.cr-tcard:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.cr-tcard.on:focus-visible { outline-color: #000; outline-offset: -6px; }
.cr-tcard::after { content: ''; position: absolute; left: 28px; bottom: -8px; width: 15px; height: 15px; background: #fff; transform: rotate(45deg) scale(0); transition: transform .35s cubic-bezier(.2,.7,.2,1); z-index: 1; }
.cr-tcard.on::after { transform: rotate(45deg) scale(1); }
.cr-tnum { font-family: 'Gotham-l'; font-size: 12px; letter-spacing: .2em; opacity: .55; }
.cr-tname { font-family: 'Georgia'; font-size: 25px; line-height: 1.2; margin-top: 28px; min-height: 2.4em; }
.cr-teams .v3-sub { text-wrap: balance; }
.cr-tco { font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin-top: 10px; opacity: .55; }
.cr-tpart { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.5; margin-top: 16px; opacity: .8; text-wrap: balance; }
.cr-topen { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 28px; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
.cr-topen i { width: 7px; height: 7px; border-radius: 50%; border: 1px solid currentColor; flex: 0 0 auto; }
.cr-topen.live { opacity: 1; }
.cr-topen.live i { background: currentColor; }

.cr-panels { margin-top: 56px; }
.cr-panel { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.cr-panel[hidden] { display: none; }
.cr-panel.swap > div > * { animation: crin .6s cubic-bezier(.2,.7,.2,1) both; }
.cr-panel.swap > div > *:nth-child(2) { animation-delay: .05s; } .cr-panel.swap > div > *:nth-child(n+3) { animation-delay: .1s; }
@keyframes crin { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.cr-panelmain .v3-kicker { margin-bottom: 14px; }
.cr-panelmain h3 { font-family: 'Georgia' !important; font-weight: normal; font-size: clamp(30px, 2.8vw, 40px); line-height: 1.15; color: #fff; text-transform: none; letter-spacing: 0; margin: 0 0 16px; }
.cr-line { font-family: 'Gotham-l'; font-size: 17px; line-height: 1.75; color: rgba(255,255,255,.75); margin: 0 0 32px; max-width: 46ch; }
.cr-panelside { padding-top: 6px; }
.cr-roles { list-style: none; margin: 0 0 34px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cr-roles li { font-family: 'Gotham-l'; font-size: 14px; line-height: 1.3; color: #fff; border: 1px solid rgba(255,255,255,.24); padding: 9px 14px; }
.cr-leads { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; }
.cr-leads li { display: flex; align-items: center; gap: 14px; }
.cr-leads img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; background: #1a1a1a; flex: 0 0 auto; }
.cr-leads span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cr-leads b { font-family: 'Georgia'; font-weight: normal; font-size: 17px; color: #fff; }
.cr-leads small { font-family: 'Gotham-l'; font-size: 13px; color: rgba(255,255,255,.6); }
.cr-meta { margin: 0 0 32px; border-top: 1px solid rgba(255,255,255,.2); }
.cr-meta div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.cr-meta dt { font-family: 'Gotham-m'; font-weight: normal; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.5); padding-top: 2px; }
.cr-meta dd { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.5; color: #fff; margin: 0; }
.cr-panellinks { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; }

/* 4. open roles */
.cr-filterbar { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-bottom: 40px; }
.cr-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.cr-filters button { height: 40px; padding: 0 16px; border: 1px solid var(--rule); background: none; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.cr-filters button i { font-style: normal; color: var(--muted); margin-left: 6px; }
.cr-filters button:hover { border-color: rgba(17,18,20,.45); }
.cr-filters button.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.cr-filters button.on i { color: rgba(255,255,255,.6); }
.cr-filters[data-dim="campus"] button { text-transform: none; letter-spacing: .01em; font-family: 'Gotham'; font-size: 14px; }
.cr-list { border-top: 1px solid var(--ink); }
.cr-job { border-bottom: 1px solid var(--rule); }
.cr-job[hidden] { display: none; }
.cr-job summary { list-style: none; display: grid; grid-template-columns: minmax(0, 4.4fr) minmax(0, 3.6fr) minmax(0, 1.4fr) minmax(0, 1.6fr) 16px; gap: 20px; align-items: center; padding: 24px 0; cursor: pointer; transition: padding .35s cubic-bezier(.2,.7,.2,1); }
.cr-job summary::-webkit-details-marker { display: none; }
.cr-job summary:hover { padding-left: 10px; }
.cr-jobt { display: flex; flex-direction: column; gap: 6px; }
.cr-jobt b { font-family: 'Georgia'; font-weight: normal; font-size: 21px; line-height: 1.25; color: var(--ink); }
.cr-jobt small { font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.cr-jobm { font-family: 'Gotham-l'; font-size: 15px; color: #33363b; }
.cr-jobwhere { min-width: 0; }
.cr-jobn { justify-self: start; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); border: 1px solid var(--rule); padding: 6px 10px; white-space: nowrap; }
.cr-job[open] .pl, .cr-ifield[open] .pl, .cr-q[open] .pl { transform: rotate(45deg); }
.cr-job[open] summary { padding-left: 10px; }
.cr-jobbody { padding: 0 10px 40px; max-width: 980px; animation: crin .5s cubic-bezier(.2,.7,.2,1) both; }
.cr-jobsum { font-family: 'Georgia'; font-size: 20px; line-height: 1.5; color: var(--ink); margin: 0 0 24px; max-width: 46ch; }
.cr-jobfacts { display: flex; flex-wrap: wrap; gap: 12px 40px; margin: 0 0 30px; padding: 16px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.cr-jobfacts div { display: flex; flex-direction: column; gap: 6px; }
.cr-jobfacts dt { font-family: 'Gotham-m'; font-weight: normal; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.cr-jobfacts dd { margin: 0; font-family: 'Gotham-l'; font-size: 15px; color: var(--ink); }
.cr-jobcols { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 40px; margin-bottom: 30px; }
.cr-jobcols ul { list-style: none; margin: 0; padding: 0; }
.cr-jobcols li { position: relative; font-family: 'Gotham-l'; font-size: 15px; line-height: 1.6; color: var(--ink); padding: 9px 0 9px 22px; border-bottom: 1px solid var(--rule-soft); }
.cr-jobcols li::before { content: ''; position: absolute; left: 0; top: 21px; width: 10px; border-top: 1px solid var(--ink); }
.cr-jobnote { font-family: 'Gotham-l'; font-size: 15px; color: var(--muted); margin: 0 0 28px; }
.cr-empty { text-align: center; font-family: 'Gotham-l'; font-size: 16px; color: var(--muted); padding: 40px 0; margin: 0; }
.cr-empty[hidden] { display: none; }
.cr-more { text-align: center; margin-top: 36px; }
.cr-more .v3-box { background: none; color: var(--ink); }
.cr-more .v3-box:hover { background: var(--ink); color: #fff; }
.cr-more [hidden] { display: none; }
.cr-none { max-width: 760px; margin: 0 auto; text-align: center; padding: 56px clamp(24px, 5vw, 64px); border: 1px solid var(--rule); }
.cr-nonebig { font-family: 'Georgia'; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.3; color: var(--ink); margin: 0 0 14px; }
.cr-none p:not(.cr-nonebig) { font-family: 'Gotham-l'; font-size: 16px; line-height: 1.75; color: #33363b; margin: 0 auto; max-width: 54ch; }
.cr-anyway { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; margin: 56px 0 0; padding: 28px 32px; border: 1px solid var(--rule); }
.cr-anyway p { margin: 0; font-family: 'Gotham-l'; font-size: 16px; color: #33363b; }
.cr-anyway b { font-family: 'Georgia'; font-weight: normal; font-size: 21px; color: var(--ink); margin-right: 8px; }

/* 5. internships */
.cr-intern { border-top: 1px solid var(--rule); }
.cr-ifacts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); margin-bottom: 72px; }
.cr-ifact { padding: 28px 24px 0 0; }
.cr-ifact + .cr-ifact { padding-left: 24px; border-left: 1px solid var(--rule); }
.cr-ifact .n { display: block; font-family: 'Gotham-l'; font-size: 12px; letter-spacing: .24em; color: var(--muted); margin-bottom: 14px; }
.cr-ifact b { display: block; font-family: 'Georgia'; font-weight: normal; font-size: 22px; line-height: 1.25; color: var(--ink); margin-bottom: 10px; }
.cr-ifact p { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.6; color: #33363b; margin: 0; }
.cr-igrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.cr-iimg { aspect-ratio: 4 / 5; overflow: hidden; background: #eee; }
.cr-iimg img { width: 100%; height: 100%; object-fit: cover; object-position: 42% 50%; }
.cr-ifields { border-top: 1px solid var(--ink); padding-top: 22px; }
.cr-ifield { border-bottom: 1px solid var(--rule); }
.cr-ifield summary { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr) auto 16px; gap: 16px; align-items: center; padding: 20px 0; cursor: pointer; }
.cr-ifield summary::-webkit-details-marker { display: none; }
.cr-ifield summary b { font-family: 'Georgia'; font-weight: normal; font-size: 22px; color: var(--ink); }
.cr-ifield summary small { font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.cr-ifield ul { list-style: none; margin: 0 0 18px; padding: 0; }
.cr-ifield li { position: relative; font-family: 'Gotham-l'; font-size: 16px; line-height: 1.6; color: #33363b; padding: 6px 0 6px 22px; }
.cr-ifield li::before { content: ''; position: absolute; left: 0; top: 17px; width: 10px; border-top: 1px solid var(--ink); }
.cr-ifield .lnk { margin: 4px 0 24px; }
.cr-iwho { margin: 32px 0 0; font-family: 'Gotham-l'; font-size: 16px; line-height: 1.7; color: #33363b; }
.cr-iwho .cr-label { display: block; margin-bottom: 8px; }

/* 6. life at RSP: a tab for each campus, its facts, then a strip of photographs */
.cr-lifesec { overflow: hidden; }
.cr-ctabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.18); margin-bottom: 52px; }
.cr-ctab { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin: -1px 0 0; padding: 26px 24px 0 0; background: none; border: 0; border-top: 2px solid transparent; color: rgba(255,255,255,.5); text-align: left; cursor: pointer; transition: color .3s, border-color .3s; }
.cr-ctab img { display: block; height: 30px; width: auto; max-width: 100%; opacity: .42; transition: opacity .3s; }
.cr-ctabmeta { display: flex; flex-wrap: wrap; gap: 4px 0; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.cr-ctabmeta em { font-style: normal; }
.cr-ctabmeta em + em::before { content: '\00b7'; margin: 0 .6em; }
.cr-ctab:hover img { opacity: .75; }
.cr-ctab.on { border-top-color: #fff; color: #fff; }
.cr-ctab.on img { opacity: 1; }
.cr-ctab:focus-visible { outline: 1px solid #fff; outline-offset: 4px; }
.cr-place[hidden] { display: none; }
.cr-place.swap .cr-placehead, .cr-place.swap .cr-strip { animation: crin .6s cubic-bezier(.2,.7,.2,1) both; }
.cr-place.swap .cr-strip { animation-delay: .08s; }
.cr-placehead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; margin-bottom: 44px; }
.cr-placeintro h3 { font-family: 'Georgia' !important; font-weight: normal; font-size: clamp(30px, 2.8vw, 40px); line-height: 1.15; color: #fff; text-transform: none; letter-spacing: 0; margin: 0 0 14px; }
.cr-placeintro p { font-family: 'Gotham-l'; font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.75); margin: 0; max-width: 32em;  text-wrap: pretty; }
.cr-placefacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 6px 0 0; border-top: 1px solid rgba(255,255,255,.22); }
.cr-placefacts div { padding: 18px 20px 0 0; }
.cr-placefacts div + div { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.12); }
.cr-placefacts dt { font-family: 'Gotham-m'; font-weight: normal; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 10px; }
.cr-placefacts dd { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.55; color: #fff; margin: 0; }
.cr-placefacts .lnk { display: flex; width: max-content; margin-top: 12px; }
.cr-strip { --sh: min(440px, 52vh); display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 0 var(--gut, 15px) 4px; scroll-padding: 0 var(--gut, 15px); scrollbar-width: none; outline: none; }
.cr-strip::-webkit-scrollbar { display: none; }
.cr-shot { flex: 0 0 auto; width: calc(var(--sh) * 1.5); margin: 0; scroll-snap-align: start; }
.cr-shot.tall { width: calc(var(--sh) * .72); }
.cr-shotimg { height: var(--sh); overflow: hidden; background: #111; }
.cr-shotimg img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.cr-shot:hover .cr-shotimg img { transform: scale(1.04); }
.cr-shot figcaption { margin-top: 14px; font-family: 'Gotham-l'; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.78); }
.cr-shot figcaption span { display: block; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 6px; }
.cr-stripnav { display: flex; align-items: center; justify-content: space-between; margin-top: 26px; }
.cr-stripn { margin: 0; font-family: 'Gotham-l'; font-size: 13px; letter-spacing: .2em; color: rgba(255,255,255,.5); }
.cr-stripn b { font-weight: normal; color: #fff; }
.cr-sbtn { width: 52px; height: 52px; margin-left: 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: none; color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .3s, color .3s, opacity .3s; }
.cr-sbtn svg { width: 20px; height: 14px; }
.cr-sbtn.prev svg { transform: rotate(180deg); }
.cr-sbtn:hover { background: #fff; color: #000; }
.cr-sbtn:disabled { opacity: .3; cursor: default; background: none; color: #fff; }
.cr-lifegrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid rgba(255,255,255,.2); }
.cr-lifeitem { padding: 28px 28px 0 0; }
.cr-lifeitem + .cr-lifeitem { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.14); }
.cr-lifeitem b { display: block; font-family: 'Georgia'; font-weight: normal; font-size: 22px; color: #fff; margin-bottom: 10px; }
.cr-lifeitem p { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.7); margin: 0; }
.cr-quote { margin: 88px auto 0; max-width: 760px; text-align: center; }
.cr-quote blockquote { margin: 0; padding: 0; border: 0; background: none; }
.cr-quote p { font-family: 'Georgia'; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.3; color: #fff; margin: 0 0 22px; }
.cr-quote p::before { content: '\201C'; } .cr-quote p::after { content: '\201D'; }
.cr-quote figcaption { display: flex; flex-direction: column; gap: 4px; align-items: center; }
.cr-quote figcaption b { font-family: 'Gotham-m'; font-weight: normal; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: #fff; }
.cr-quote figcaption span { font-family: 'Gotham-l'; font-size: 13px; color: rgba(255,255,255,.55); }

/* 7. how we hire */
.cr-ptabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 56px; }
.cr-ptabs button { height: 42px; padding: 0 18px; border: 1px solid var(--rule); background: none; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.cr-ptabs button.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.cr-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 24px; position: relative; }
.cr-steps[hidden] { display: none; }
.cr-steps::before { content: ''; position: absolute; top: 20px; left: 20px; right: calc((100% - (var(--n) - 1) * 24px) / var(--n) - 20px); border-top: 1px solid var(--ink); transform-origin: left; transform: scaleX(0); transition: transform 1.2s cubic-bezier(.4,0,.2,1); }
.cr-steps.go::before { transform: scaleX(1); }
.cr-steps li { position: relative; }
.cr-steps .dot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 41px; height: 41px; border-radius: 50%; border: 1px solid var(--ink); background: #fff; font-family: 'Gotham'; font-size: 14px; color: var(--ink); margin-bottom: 22px; transition: background .4s, color .4s; transition-delay: calc(var(--i) * .16s); }
.cr-steps.go .dot { background: var(--ink); color: #fff; }
.cr-steps b { display: block; font-family: 'Georgia'; font-weight: normal; font-size: 19px; line-height: 1.3; color: var(--ink); margin-bottom: 8px; }
.cr-steps p { font-family: 'Gotham-l'; font-size: 14px; line-height: 1.6; color: #33363b; margin: 0; }
.cr-promise { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--rule); }
.cr-promise p { margin: 0; font-family: 'Gotham-l'; font-size: 15px; line-height: 1.7; color: #33363b; }
.cr-promise b { font-family: 'Gotham-m'; font-weight: normal; color: var(--ink); }
.cr-promise a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* 8. documents: a checklist to tick off */
.cr-docgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(255,255,255,.3); }
.cr-docgroup { padding: 28px 28px 8px 0; }
.cr-docgroup + .cr-docgroup { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.14); }
.cr-docg { display: flex; align-items: baseline; gap: 12px; font-family: 'Georgia'; font-size: 22px; color: #fff; margin: 0 0 18px; }
.cr-docg span { font-family: 'Gotham-l'; font-size: 12px; letter-spacing: .22em; color: rgba(255,255,255,.5); }
.cr-docgroup ul { list-style: none; margin: 0; padding: 0; }
.cr-docgroup li { border-top: 1px solid rgba(255,255,255,.1); }
.cr-docgroup label { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 14px; align-items: start; padding: 13px 0; margin: 0; cursor: pointer; }
.cr-docgroup input { position: absolute; opacity: 0; pointer-events: none; }
.cr-docgroup .box { width: 22px; height: 22px; border: 1px solid rgba(255,255,255,.45); display: flex; align-items: center; justify-content: center; color: #000; transition: background .25s, border-color .25s; }
.cr-docgroup .box svg { width: 14px; height: 14px; stroke-dasharray: 16; stroke-dashoffset: 16; transition: stroke-dashoffset .35s ease .05s; }
.cr-docgroup .tx { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.85); padding-top: 1px; transition: color .25s; }
.cr-docgroup label:hover .box { border-color: #fff; }
.cr-docgroup input:checked + .box { background: #fff; border-color: #fff; }
.cr-docgroup input:checked + .box svg { stroke-dashoffset: 0; }
.cr-docgroup input:checked ~ .tx { color: rgba(255,255,255,.5); text-decoration: line-through; text-decoration-color: rgba(255,255,255,.35); }
.cr-docgroup input:focus-visible + .box { outline: 2px solid #fff; outline-offset: 2px; }
.cr-docfoot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px 40px; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2); }
.cr-docnote { margin: 0; font-family: 'Gotham-l'; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.75); max-width: 62ch; }
.cr-docnote b { font-family: 'Georgia'; font-weight: normal; font-size: 19px; color: #fff; margin-right: 6px; }
.cr-doccount { margin: 0; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.cr-doccount b { font-family: 'Gotham-l'; font-weight: normal; font-size: 28px; letter-spacing: 0; color: #fff; margin-right: 4px; vertical-align: -3px; }

/* 9. questions */
.cr-faq { border-top: 1px solid var(--rule); }
.cr-faqlist { max-width: 860px; margin: 0 auto; border-top: 1px solid var(--ink); }
.cr-q { border-bottom: 1px solid var(--rule); }
.cr-q summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; cursor: pointer; }
.cr-q summary::-webkit-details-marker { display: none; }
.cr-q summary span { font-family: 'Georgia'; font-size: 20px; line-height: 1.35; color: var(--ink); }
.cr-q summary:hover span { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.cr-q p { font-family: 'Gotham-l'; font-size: 16px; line-height: 1.75; color: #33363b; margin: -6px 0 26px; max-width: 64ch; }
.cr-q a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* 10. apply */
.cr-apply { border-top: 1px solid var(--rule); }
.cr-agrid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 88px); align-items: start; }
.cr-aside { position: sticky; top: 100px; }
.cr-progress { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.cr-progress li { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--rule); font-family: 'Gotham-l'; font-size: 15px; color: var(--muted); transition: color .3s; }
.cr-progress li span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--rule); font-family: 'Gotham'; font-size: 12px; transition: background .3s, color .3s, border-color .3s; }
.cr-progress li em { font-style: normal; }
.cr-progress li .t { font-weight: normal; }
.cr-progress li.now { color: var(--ink); }
.cr-progress li.now span { border-color: var(--ink); }
.cr-progress li.done { color: var(--ink); }
.cr-progress li.done span { background: var(--ink); border-color: var(--ink); color: #fff; }
.cr-sum { margin-top: 28px; }
.cr-sum[hidden] { display: none; }
.cr-sum p:last-child { font-family: 'Georgia'; font-size: 19px; line-height: 1.45; color: var(--ink); margin: 0; }

.cr-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cr-form [hidden] { display: none !important; }
.cr-step { border: 0; margin: 0 0 44px; padding: 0 0 8px; min-width: 0; animation: crin .6s cubic-bezier(.2,.7,.2,1) both; }
.cr-step legend { display: flex; align-items: center; gap: 14px; float: none; width: auto; padding: 0; margin: 0 0 22px; font-family: 'Georgia'; font-size: 26px; line-height: 1.2; color: var(--ink); }
.cr-step legend span { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--ink); font-family: 'Gotham'; font-size: 13px; flex: 0 0 auto; }
.cr-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 8px; }
.cr-choice { position: relative; margin: 0; cursor: pointer; }
.cr-choice input { position: absolute; opacity: 0; pointer-events: none; }
.cr-choice > span { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px 20px; border: 1px solid var(--rule); transition: border-color .25s, box-shadow .25s, background .25s; }
.cr-choice b { font-family: 'Georgia'; font-weight: normal; font-size: 19px; color: var(--ink); }
.cr-choice small { font-family: 'Gotham-l'; font-size: 13px; line-height: 1.5; color: var(--muted); }
.cr-choice:hover > span { border-color: rgba(17,18,20,.4); }
.cr-choice input:checked + span { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.cr-choice input:focus-visible + span { outline: 2px solid var(--ink); outline-offset: 2px; }
.cr-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 28px; }
.cr-row.one { grid-template-columns: 1fr; }
.cr-step .cr-row[data-need] { margin-top: 22px; }
.cr-form .v3-f > span i { font-style: normal; text-transform: none; letter-spacing: 0; font-family: 'Gotham-l'; color: #9a9ca0; margin-left: 6px; }
.cr-form .v3-f input.error, .cr-form .v3-f select.error, .cr-form .v3-f textarea.error { border-bottom-color: #b4231f; }
.cr-fielderr { font-family: 'Gotham'; font-size: 12px; color: #b4231f; }
.cr-choices.error + .cr-fielderr, .cr-step > .cr-fielderr { display: block; margin: 6px 0 0; }

.cr-drop { position: relative; border: 1px dashed rgba(17,18,20,.35); margin-bottom: 26px; transition: border-color .25s, background .25s; }
.cr-drop input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.cr-dropin { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 34px 20px; text-align: center; pointer-events: none; }
.cr-dropin svg { width: 28px; height: 28px; color: var(--ink); }
.cr-dropin p { margin: 0; font-family: 'Gotham-l'; font-size: 16px; color: #33363b; }
.cr-dropin b { font-family: 'Gotham'; font-weight: normal; color: var(--ink); }
.cr-dropin u { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.cr-dropin small { font-family: 'Gotham-l'; font-size: 13px; color: var(--muted); }
.cr-drop.over, .cr-drop:hover { border-color: var(--ink); background: #f6f6f7; }
.cr-drop.error { border-color: #b4231f; }
.cr-drop.has { border-style: solid; border-color: var(--ink); }
.cr-drop.has .cr-dropin, .cr-drop.has input[type="file"] { display: none; }
.cr-file { display: flex; align-items: center; gap: 14px; padding: 16px 18px; }
.cr-file[hidden] { display: none; }
.cr-file .ic { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 48px; background: var(--ink); color: #fff; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .1em; flex: 0 0 auto; }
.cr-file .nm { font-family: 'Gotham'; font-size: 15px; color: var(--ink); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; }
.cr-file .sz { font-family: 'Gotham-l'; font-size: 13px; color: var(--muted); flex: 0 0 auto; }
.cr-file button { background: none; border: 0; padding: 6px 0; font-family: 'Gotham-m'; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); cursor: pointer; text-decoration: underline; text-underline-offset: 4px; flex: 0 0 auto; }
.cr-drop + .cr-fielderr { display: block; margin: -18px 0 22px; }

.cr-consent { display: flex; gap: 14px; align-items: flex-start; margin: 4px 0 28px; cursor: pointer; font-family: 'Gotham-l'; font-size: 14px; line-height: 1.6; color: #33363b; }
.cr-consent input { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border: 1px solid var(--ink); border-radius: 0; margin: 1px 0 0; flex: 0 0 auto; display: grid; place-content: center; cursor: pointer; }
.cr-consent input::after { content: ''; width: 10px; height: 6px; border-left: 1.6px solid #fff; border-bottom: 1.6px solid #fff; transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
.cr-consent input:checked { background: var(--ink); }
.cr-consent input:checked::after { opacity: 1; }
.cr-consent input.error { border-color: #b4231f; box-shadow: 0 0 0 1px #b4231f; }
.cr-consent a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.cr-send { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.cr-send .v3-btn { min-width: 220px; justify-content: center; }
.cr-send .v3-btn[disabled] { opacity: .5; pointer-events: none; }
.cr-note { margin: 0; font-family: 'Gotham-l'; font-size: 14px; color: var(--muted); }
.cr-note a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.cr-err { flex-basis: 100%; margin: 0; font-family: 'Gotham'; font-size: 14px; color: #b4231f; }

.cr-done { padding: 8px 0; animation: crin .6s cubic-bezier(.2,.7,.2,1) both; }
.cr-done[hidden] { display: none; }
.cr-tick { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; border: 1px solid var(--ink); color: var(--ink); margin-bottom: 26px; }
.cr-tick svg { width: 28px; height: 28px; stroke-dasharray: 24; stroke-dashoffset: 24; animation: crtick .7s .15s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes crtick { to { stroke-dashoffset: 0; } }
.cr-done h3 { font-family: 'Georgia' !important; font-weight: normal; font-size: 34px; text-transform: none; letter-spacing: 0; color: var(--ink); margin: 0 0 12px; }
.cr-done > p { font-family: 'Gotham-l'; font-size: 17px; line-height: 1.7; color: #33363b; margin: 0 0 28px; max-width: 46ch; }
.cr-next { list-style: none; margin: 0 0 32px; padding: 0; border-top: 1px solid var(--ink); max-width: 560px; }
.cr-next li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--rule); }
.cr-next b { font-family: 'Gotham-m'; font-weight: normal; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); padding-top: 3px; }
.cr-next span { font-family: 'Gotham-l'; font-size: 15px; line-height: 1.6; color: #33363b; }
.cr-done .lnk { background: none; border: 0; padding: 0 0 6px; cursor: pointer; }

/* below a laptop */
@media (max-width: 1199px) {
  .cr-tcard { padding: 24px 22px; }
  .cr-tname { font-size: 22px; }
}
@media (max-width: 991px) {
  .cr .cr-sec { padding: 96px 0; }
  /* two by two */
  .cr-tcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-tcard { min-height: 230px; }
  .cr-tname { min-height: 0; }
  .cr-panel { grid-template-columns: 1fr; gap: 12px; }
  .cr-job summary { grid-template-columns: minmax(0, 1fr) auto 16px; gap: 8px 16px; }
  .cr-job summary .cr-jobt { grid-column: 1 / 2; }
  .cr-job summary .cr-jobwhere { grid-column: 1 / 2; grid-row: 2; }
  .cr-job summary .cr-jobm:not(.cr-jobwhere) { display: none; }
  .cr-job summary .cr-jobn { grid-column: 2; grid-row: 1; justify-self: end; }
  .cr-job summary .pl { grid-column: 3; grid-row: 1; }
  .cr-ifacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-ifact:nth-child(3) { padding-left: 0; border-left: 0; }
  .cr-ifact:nth-child(n+3) { padding-top: 32px; }
  .cr-igrid { grid-template-columns: 1fr; }
  .cr-iimg { aspect-ratio: 16 / 9; }
  /* the reasons stack, each with its own picture */
  .cr-reasons { display: block; max-width: 720px; margin: 0 auto; }
  .cr-rstage { display: none; }
  .cr-rmedia { display: block; position: relative; margin: 0 0 30px; aspect-ratio: 16 / 10; overflow: hidden; background: #000; }
  .cr-rmedia > img { width: 100%; height: 100%; object-fit: cover; }
  .cr-reason { min-height: 0; padding: 0 0 64px; opacity: 1 !important; }
  .cr-reason + .cr-reason { padding-top: 56px; }
  .cr-placehead { grid-template-columns: 1fr; gap: 28px; }
  .cr-docgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-docgroup:nth-child(3) { padding-left: 0; border-left: 0; }
  .cr-docgroup:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.14); }
  .cr-agrid { grid-template-columns: 1fr; gap: 36px; }
  .cr-aside { position: static; }
  .cr-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 0; }
  .cr-progress li { flex-direction: column; align-items: flex-start; gap: 10px; border-bottom: 0; border-top: 2px solid var(--rule); padding: 14px 8px 0 0; font-size: 13px; }
  .cr-progress li span { display: none; }
  .cr-progress li.now, .cr-progress li.done { border-top-color: var(--ink); }
  .cr-sum { display: none; }
  .cr-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
  .cr-steps::before { display: none; }
}

/* phones */
@media (max-width: 767px) {
  .cr .cr-sec { padding: 80px 0; }
  .cr-live { margin-top: 26px; font-size: 13px; }
  /* the reasons: each picture above its words */
  .cr-reason { padding: 0 0 48px; }
  .cr-reason + .cr-reason { padding-top: 40px; }
  .cr-rmedia { aspect-ratio: 4 / 3; margin-bottom: 26px; }
  .cr-reason h3 { font-size: 26px; }
  .cr-rline { font-size: 16px; }
  .cr-faces { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 20px; }
  .cr-faces img { width: 56px; height: 56px; }
  /* campus tabs: the logo over the sector and the count */
  .cr-ctabs { margin-bottom: 36px; }
  .cr-ctab { gap: 10px; padding: 18px 10px 0 0; }
  .cr-ctab img { height: 17px; }
  .cr-ctabmeta { flex-direction: column; letter-spacing: .08em; }
  .cr-ctabmeta em + em::before { display: none; }
  .cr-placehead { margin-bottom: 32px; }
  .cr-placeintro p { font-size: 16px; }
  .cr-placefacts { grid-template-columns: 1fr; }
  .cr-placefacts div, .cr-placefacts div + div { padding: 14px 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .cr-placefacts dt { margin-bottom: 6px; }
  .cr-strip { --sh: 58vw; gap: 10px; }
  .cr-shot { width: 84vw; }
  .cr-shot.tall { width: 44vw; }
  .cr-stripnav { margin-top: 20px; }
  .cr-stripnav > div { display: none; }
  .cr-tcard { min-height: 0; padding: 18px 16px 18px; }
  .cr-tcard::after { left: 16px; width: 13px; height: 13px; bottom: -7px; }
  .cr-tname { font-size: 19px; margin-top: 16px; min-height: 2.4em; }
  .cr-tco { font-size: 12px; letter-spacing: .08em; margin-top: 8px; }
  .cr-tpart { font-size: 13px; margin-top: 10px; }
  .cr-topen { display: block; padding-top: 16px; font-size: 12px; letter-spacing: .02em; text-transform: none; white-space: nowrap; }
  .cr-topen i { display: inline-block; margin-right: 7px; vertical-align: 1px; }
  .cr-topen .lg { display: none; }
  .cr-panels { margin-top: 40px; }
  .cr-line { font-size: 16px; margin-bottom: 24px; }
  .cr-leads { grid-template-columns: 1fr; }
  .cr-meta div { grid-template-columns: 110px minmax(0, 1fr); }
  .cr-panellinks .v3-box { width: 100%; }
  .cr-filterbar { align-items: stretch; }
  .cr-filters { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0 -15px; padding: 0 15px 2px; scrollbar-width: none; }
  .cr-filters::-webkit-scrollbar { display: none; }
  .cr-filters button { flex: 0 0 auto; white-space: nowrap; }
  .cr-job summary:hover, .cr-job[open] summary { padding-left: 0; }
  .cr-jobt b { font-size: 19px; }
  .cr-jobm { font-size: 14px; }
  .cr-jobbody { padding: 0 0 32px; }
  .cr-jobsum { font-size: 18px; }
  .cr-jobfacts { gap: 12px 24px; }
  .cr-jobcols { grid-template-columns: 1fr; gap: 20px; }
  .cr-jobbody .v3-box { width: 100%; }
  .cr-none { padding: 40px 22px; text-align: left; }
  .cr-anyway { flex-direction: column; align-items: stretch; padding: 24px 20px; }
  .cr-anyway .v3-box { width: 100%; }
  .cr-ifacts { grid-template-columns: 1fr; margin-bottom: 48px; }
  .cr-ifact, .cr-ifact + .cr-ifact, .cr-ifact:nth-child(n+3) { padding: 22px 0; border-left: 0; border-bottom: 1px solid var(--rule); }
  .cr-ifact .n { margin-bottom: 8px; }
  .cr-ifield summary { grid-template-columns: minmax(0, 1fr) 16px; }
  .cr-ifield summary small { display: none; }
  .cr-ifield summary b { font-size: 20px; }
  .cr-lifegrid { grid-template-columns: 1fr; margin-top: 40px; border-top: 0; }
  .cr-lifeitem, .cr-lifeitem + .cr-lifeitem { padding: 22px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .cr-quote { margin-top: 56px; }
  .cr-quote p { font-size: 26px; }
  .cr-ptabs { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin: 0 -15px 40px; padding: 0 15px 4px; scrollbar-width: none; }
  .cr-ptabs::-webkit-scrollbar { display: none; }
  .cr-ptabs button { flex: 0 0 auto; white-space: nowrap; }
  /* the steps run down the page, joined by a line */
  .cr-steps { grid-template-columns: 1fr; gap: 0; }
  .cr-steps::before { display: block; top: 20px; bottom: 40px; left: 20px; right: auto; border-top: 0; border-left: 1px solid var(--ink); transform: scaleY(0); transform-origin: top; }
  .cr-steps.go::before { transform: scaleY(1); }
  .cr-steps li { padding: 0 0 28px 64px; min-height: 64px; }
  .cr-steps .dot { position: absolute; left: 0; top: 0; margin: 0; }
  .cr-steps b { padding-top: 8px; }
  .cr-promise { grid-template-columns: 1fr; gap: 18px; margin-top: 36px; }
  .cr-docgrid { grid-template-columns: 1fr; }
  .cr-docgroup, .cr-docgroup + .cr-docgroup, .cr-docgroup:nth-child(n+3) { padding: 24px 0 8px; border-left: 0; }
  .cr-docgroup + .cr-docgroup { border-top: 1px solid rgba(255,255,255,.14); }
  .cr-docfoot { flex-direction: column; align-items: flex-start; }
  .cr-q summary span { font-size: 18px; }
  .cr-q p { font-size: 15px; }
  .cr-step legend { font-size: 22px; }
  .cr-choices { grid-template-columns: 1fr; }
  .cr-row { grid-template-columns: 1fr; }
  .cr-progress li { font-size: 12px; }
  .cr-send .v3-btn { width: 100%; }
  .cr-next li { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- Applying by phone, through HR (frontline facility roles, and the form) ----------
   One line in English, one in Hindi, never mixed in a line. The Hindi is set in Poppins, a geometric face drawn
   to sit with Gotham; it is fetched only when Hindi is on the page, and only for Hindi letters. */
@font-face { font-family: 'RSP Hindi'; src: url('../fonts/poppins-hindi-300.woff2') format('woff2'); font-weight: 300; font-style: normal; font-display: swap; size-adjust: 92%; unicode-range: U+0900-097F, U+200C-200D, U+25CC; }
@font-face { font-family: 'RSP Hindi'; src: url('../fonts/poppins-hindi-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; size-adjust: 92%; unicode-range: U+0900-097F, U+200C-200D, U+25CC; }
.cr-phone { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 22px 40px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--rule); }
.cr-phone[hidden] { display: none; }
.cr-phonetx p { margin: 0; color: var(--ink); text-wrap: balance; }
.cr-phonetx .en { font-family: 'Gotham-l'; font-size: 16px; line-height: 1.55; }
.cr-phonetx .hi { margin-top: 4px; font-family: 'RSP Hindi', 'Gotham-l', sans-serif; font-weight: 300; font-size: 16px; line-height: 1.65; }
.cr-phonetx .num { margin-top: 12px; font-family: 'Gotham-m'; font-size: 13px; letter-spacing: .12em; color: var(--muted); }
.cr-phonebtns { display: grid; grid-template-columns: repeat(2, 172px); gap: 12px; }
.cr-pbtn { display: flex; align-items: center; gap: 14px; height: 66px; padding: 0 18px; border: 1px solid var(--ink); background: #fff; color: var(--ink); text-decoration: none; transition: background .3s ease, color .3s ease; }
.cr-pbtn:hover, .cr-pbtn:focus-visible { background: var(--ink); color: #fff; text-decoration: none; }
.cr-pbtn svg { flex: 0 0 22px; width: 22px; height: 22px; }
.cr-pbtn span { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; }
.cr-pbtn b { font-family: 'Gotham-m'; font-weight: normal; font-size: 11.5px; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; }
.cr-pbtn i { font-family: 'RSP Hindi', 'Gotham', sans-serif; font-style: normal; font-weight: 500; font-size: 14.5px; line-height: 1.3; }
/* in the form the column is narrower, so the buttons sit under the two lines */
.cr-form .cr-phone { margin-top: 28px; grid-template-columns: minmax(0, 1fr); gap: 20px; }
/* below 1200 the text column beside the buttons is too narrow for the English line, so the buttons go under the two lines and both stay whole */
@media (max-width: 1199px) { .cr-phone { grid-template-columns: minmax(0, 1fr); gap: 20px; } .cr-phonebtns { grid-template-columns: repeat(2, 172px); } }
@media (max-width: 991px) { .cr-phonebtns { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 420px; } }
@media (max-width: 767px) { .cr-phone { margin-top: 28px; padding-top: 22px; } .cr-phonetx .en, .cr-phonetx .hi { font-size: 15.5px; } .cr-phonebtns { max-width: none; } .cr-pbtn { padding: 0 16px; gap: 12px; } }
@media (max-width: 359px) { .cr-phonetx .en, .cr-phonetx .hi { font-size: 14.5px; } }
