/* Careers and contact routes */

.page-careers .page-hero-art { background: linear-gradient(145deg, rgba(25, 80, 124, .64), rgba(9, 42, 73, .8)); }
.talent-radar { position: absolute; inset: 25px; display: grid; place-items: center; border-radius: 20px; overflow: hidden; background: radial-gradient(circle at center, rgba(93, 245, 255, .22), transparent 24%), linear-gradient(rgba(147, 229, 255, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(147, 229, 255, .1) 1px, transparent 1px); background-size: auto, 31px 31px, 31px 31px; }
.talent-radar::before, .talent-radar::after { position: absolute; border: 1px solid rgba(129, 232, 255, .31); border-radius: 50%; content: ""; }
.talent-radar::before { width: min(63%, 235px); aspect-ratio: 1; box-shadow: 0 0 0 38px rgba(96, 205, 255, .045), 0 0 0 76px rgba(96, 205, 255, .03); }
.talent-radar::after { width: 2px; height: min(41%, 145px); border: 0; border-radius: 0; transform-origin: bottom; background: linear-gradient(to top, rgba(93, 240, 255, .72), transparent); animation: talent-sweep 6s linear infinite; }
.talent-core { position: relative; z-index: 1; display: grid; width: 86px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(176, 244, 255, .5); border-radius: 50%; color: #dffcff; background: radial-gradient(circle, #258cc7, #12375e); box-shadow: 0 0 0 12px rgba(66, 214, 255, .12), 0 0 28px rgba(70, 221, 255, .45); font-size: 1.6rem; }
.talent-dot { position: absolute; width: 10px; aspect-ratio: 1; border-radius: 50%; background: #b7f974; box-shadow: 0 0 0 5px rgba(183, 249, 116, .12), 0 0 14px #b7f974; }
.talent-dot--one { top: 17%; left: 29%; }.talent-dot--two { top: 32%; right: 14%; background: var(--purple); box-shadow: 0 0 0 5px rgba(158,122,255,.14), 0 0 14px var(--purple); }.talent-dot--three { bottom: 17%; left: 18%; background: var(--cyan); box-shadow: 0 0 0 5px rgba(47,220,255,.14), 0 0 14px var(--cyan); }

.culture-board { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: repeat(2, minmax(168px, 1fr)); gap: 14px; }
.culture-card { position: relative; display: flex; min-height: 0; flex-direction: column; justify-content: flex-end; padding: 25px; overflow: hidden; border: 1px solid #c7dcf0; border-radius: 18px; background: rgba(255,255,255,.8); transition: transform .3s ease, box-shadow .3s ease; }
.culture-card:hover { z-index: 1; box-shadow: 0 19px 36px rgba(25, 72, 133, .13); transform: translateY(-6px); }
.culture-card::before { position: absolute; top: -62px; right: -47px; width: 175px; aspect-ratio: 1; border-radius: 50%; content: ""; opacity: .8; background: radial-gradient(circle, rgba(61, 199, 255, .25), transparent 68%); }
.culture-card > * { position: relative; z-index: 1; }
.culture-card--wide { grid-row: span 2; padding: 34px; color: var(--white); background: linear-gradient(145deg, #103e70, #1d2962); }
.culture-card--wide::before { top: auto; right: -96px; bottom: -80px; width: 350px; background: radial-gradient(circle, rgba(80, 230, 255, .27), transparent 67%); }
.culture-card--lime { background: linear-gradient(140deg, #e8ffd4, #f6fff3); }.culture-card--purple { background: linear-gradient(140deg, #f0edff, #f9f7ff); }
.culture-card .icon-tile { margin-bottom: auto; }.culture-card h3 { margin: 0 0 8px; color: #173d6b; font-size: 1.15rem; }.culture-card p { margin: 0; color: #617997; font-size: .73rem; line-height: 1.64; }.culture-card--wide h3 { max-width: 310px; color: var(--white); font-size: clamp(1.5rem, 2.7vw, 2.35rem); }.culture-card--wide p { max-width: 300px; color: #b8cfe7; font-size: .83rem; }

.role-board { display: grid; gap: 10px; }
.role-card { display: grid; grid-template-columns: 46px minmax(0, 1fr) 115px auto; align-items: center; gap: 18px; padding: 20px 23px; border: 1px solid #ccdfef; border-radius: 14px; background: rgba(255,255,255,.82); box-shadow: 0 9px 25px rgba(25, 68, 124, .05); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.role-card:hover { border-color: #88cbeb; box-shadow: 0 17px 34px rgba(25, 68, 124, .12); transform: translateX(6px); }
.role-card .role-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 11px; color: #246fbf; background: #e3f3ff; font-size: .95rem; }
.role-card h3 { margin: 0 0 4px; color: #193e6d; font-size: .96rem; }.role-card p { margin: 0; color: #7084a0; font-size: .67rem; }.role-card > span { color: #6b83a4; font-family: var(--font-mono); font-size: .57rem; letter-spacing: .05em; text-transform: uppercase; }.role-card a { display: inline-flex; align-items: center; gap: 8px; color: #246ec1; font-size: .69rem; font-weight: 800; }.role-card a i { transition: transform .2s ease; }.role-card a:hover i { transform: translateX(4px); }

.growth-track { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding-top: 13px; }
.growth-track::before { position: absolute; top: 37px; right: 10%; left: 10%; height: 1px; content: ""; background: linear-gradient(90deg, #7adbf2, #7d7ff4); }
.growth-milestone { position: relative; padding: 0 16px 4px; }.growth-milestone::before { display: block; width: 17px; height: 17px; margin-bottom: 22px; border: 4px solid #f3f8ff; border-radius: 50%; content: ""; background: #297dca; box-shadow: 0 0 0 1px #80c6e8; }.growth-milestone span { display: block; margin-bottom: 7px; color: #3d7dbf; font-family: var(--font-mono); font-size: .56rem; }.growth-milestone h3 { margin: 0 0 7px; color: #183e6d; font-size: .89rem; }.growth-milestone p { margin: 0; color: #7085a2; font-size: .68rem; line-height: 1.6; }

.page-contact .page-hero-art { background: linear-gradient(145deg, rgba(20, 82, 136, .55), rgba(21, 27, 81, .8)); }
.contact-signal { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; }.contact-signal::before { width: min(68%, 260px); aspect-ratio: 1; border: 1px solid rgba(151, 229, 255, .38); border-radius: 50%; content: ""; box-shadow: 0 0 0 25px rgba(100, 211, 255, .05), 0 0 0 52px rgba(100, 211, 255, .035), 0 0 0 87px rgba(100, 211, 255, .024); }.contact-signal::after { position: absolute; width: 180%; height: 1px; content: ""; opacity: .64; background: linear-gradient(90deg, transparent, #8ff4ff, transparent); transform: rotate(-32deg); }
.contact-signal i { position: relative; z-index: 1; display: grid; width: 71px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(202, 250, 255, .46); border-radius: 50%; color: #d5faff; background: linear-gradient(140deg, #1d8fd0, #4543b9); box-shadow: 0 0 0 11px rgba(79, 223, 255, .11), 0 0 31px rgba(52, 218, 255, .32); font-size: 1.5rem; }

.contact-channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.contact-channel { display: block; padding: 26px; border: 1px solid #cbdfee; border-radius: 17px; color: inherit; background: rgba(255,255,255,.82); box-shadow: 0 11px 28px rgba(28, 70, 126, .06); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }.contact-channel:hover { border-color: #82cdec; box-shadow: 0 20px 37px rgba(28, 70, 126, .13); transform: translateY(-6px); }.contact-channel .icon-tile { margin-bottom: 27px; }.contact-channel small { display: block; margin-bottom: 6px; color: #5c87b8; font-family: var(--font-mono); font-size: .55rem; letter-spacing: .09em; text-transform: uppercase; }.contact-channel strong { display: block; color: #1b406f; font-size: .86rem; line-height: 1.55; }.contact-channel p { margin: 7px 0 0; color: #6c819f; font-size: .69rem; line-height: 1.56; }

.contact-journey { display: grid; gap: 12px; }.contact-journey-item { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 15px; align-items: start; padding: 18px 0; border-bottom: 1px solid rgba(174, 215, 252, .14); }.contact-journey-item:last-child { border-bottom: 0; }.contact-journey-item > span { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(151, 225, 255, .28); border-radius: 50%; color: var(--cyan); font-family: var(--font-mono); font-size: .56rem; }.contact-journey-item h3 { margin: 0 0 6px; color: #e2f2ff; font-size: .92rem; }.contact-journey-item p { margin: 0; color: #9fb8d6; font-size: .71rem; line-height: 1.65; }

.contact-form-shell { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); gap: 0; overflow: hidden; border: 1px solid #b9d6ee; border-radius: 22px; background: var(--white); box-shadow: 0 26px 60px rgba(24, 67, 124, .15); }
.contact-form-aside { position: relative; padding: clamp(28px, 5vw, 50px); overflow: hidden; color: var(--white); background: linear-gradient(150deg, #0e3565, #182462); }.contact-form-aside::after { position: absolute; right: -90px; bottom: -102px; width: 270px; aspect-ratio: 1; border: 1px solid rgba(130, 226, 255, .32); border-radius: 50%; content: ""; box-shadow: 0 0 0 29px rgba(80, 205, 255, .06), 0 0 0 58px rgba(80, 205, 255, .03); }.contact-form-aside > * { position: relative; z-index: 1; }.contact-form-aside h2 { margin: 0 0 15px; font-size: clamp(1.8rem, 3vw, 2.6rem); }.contact-form-aside > p { margin: 0; color: #b2cbe5; font-size: .82rem; line-height: 1.78; }.contact-form-aside .social-links { margin-top: 29px; }
.contact-form-wrap { padding: clamp(25px, 5vw, 50px); }.contact-form-wrap h2 { margin: 0 0 7px; color: #173d6e; font-size: 1.5rem; }.contact-form-wrap > p { margin: 0 0 25px; color: #6b819f; font-size: .74rem; line-height: 1.6; }.contact-form-wrap .form-grid label { color: #426184; }.contact-form-wrap .form-grid input, .contact-form-wrap .form-grid select, .contact-form-wrap .form-grid textarea { border-color: #cbddea; color: #173b68; background: #fbfdff; }.contact-form-wrap .form-grid select option { color: #173b68; background: #fff; }.contact-form-wrap .form-grid input::placeholder, .contact-form-wrap .form-grid textarea::placeholder { color: #97aabf; }.contact-form-wrap .form-privacy { color: #7186a2; }.contact-form-wrap .form-privacy i { color: #2684cf; }.contact-form-wrap .form-feedback { color: #26815a; }.contact-form-wrap .form-feedback.is-error { color: #c0465d; }

@keyframes talent-sweep { to { transform: rotate(360deg); } }

@media (max-width: 960px) { .culture-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }.culture-card--wide { grid-row: auto; grid-column: span 2; min-height: 260px; }.contact-form-shell { grid-template-columns: minmax(0, 1fr); }.contact-channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.growth-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 0; }.growth-track::before { display: none; } }
@media (max-width: 700px) { .role-card { grid-template-columns: 42px minmax(0, 1fr); gap: 11px 14px; }.role-card > span { grid-column: 2; }.role-card a { grid-column: 1 / -1; justify-content: center; padding: 10px; border: 1px solid #c8ddec; border-radius: 7px; background: #f7fbff; }.contact-channel-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .culture-board { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }.culture-card, .culture-card--wide { min-height: 215px; grid-column: auto; }.growth-track { grid-template-columns: minmax(0, 1fr); }.contact-form-aside, .contact-form-wrap { padding: 28px 21px; } }
