:root {
  --purple: #7755ff;
  --purple-dark: #4b2fbb;
  --purple-deep: #211447;
  --purple-soft: #eee9ff;
  --cyan: #3fd2e3;
  --cyan-soft: #dff9fb;
  --yellow: #ffc641;
  --yellow-soft: #fff1b9;
  --ink: #171426;
  --muted: #68647a;
  --paper: #f8f7fc;
  --white: #ffffff;
  --success: #198f60;
  --danger: #c74747;
  --shadow-sm: 0 14px 40px rgba(30, 21, 64, .08);
  --shadow-md: 0 24px 70px rgba(40, 24, 95, .14);
  --shadow-lg: 0 35px 100px rgba(30, 18, 70, .22);
  --radius-sm: 18px;
  --radius-md: 28px;
  --radius-lg: 42px;
  --container: min(1180px, calc(100% - 40px));
  --ease: cubic-bezier(.2,.75,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.modal-open { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.container { width: var(--container); margin-inline: auto; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 200; padding: 12px 16px; background: var(--ink); color: white; border-radius: 12px; transition: top .2s; }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; padding: 18px 0; transition: padding .3s var(--ease), background .3s, box-shadow .3s; }
.site-header.is-scrolled { padding: 10px 0; background: rgba(248,247,252,.88); backdrop-filter: blur(18px); box-shadow: 0 10px 35px rgba(31,20,67,.07); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 900; letter-spacing: -.4px; font-size: 19px; }
.brand img { width: 43px; height: 43px; object-fit: contain; border-radius: 13px; filter: drop-shadow(0 8px 13px rgba(80,50,180,.22)); }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 700; }
.main-nav > a:not(.nav-cta) { position: relative; padding: 11px 0; color: #423d53; }
.main-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 5px; height: 5px; border-radius: 50%; background: var(--purple); transform: translate(-50%, 7px) scale(0); opacity: 0; transition: .25s; }
.main-nav > a:not(.nav-cta):hover::after, .main-nav > a:not(.nav-cta):focus-visible::after { transform: translate(-50%, 0) scale(1); opacity: 1; }
.nav-cta { padding: 13px 18px; border-radius: 15px; background: var(--ink); color: white; transition: transform .2s, box-shadow .2s; }
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(23,20,38,.18); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 14px; background: white; box-shadow: var(--shadow-sm); align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.menu-toggle span { width: 20px; height: 2px; background: var(--ink); border-radius: 999px; transition: .25s; }

.hero { position: relative; min-height: 920px; padding: 150px 0 45px; overflow: hidden; background: radial-gradient(circle at 15% 15%, rgba(119,85,255,.16), transparent 30%), radial-gradient(circle at 88% 70%, rgba(63,210,227,.17), transparent 29%), linear-gradient(180deg, #fbfaff, #f7f6fc); }
.hero::after { content: ""; position: absolute; left: 50%; bottom: -180px; width: 940px; height: 300px; border-radius: 50%; background: rgba(255,255,255,.88); transform: translateX(-50%); filter: blur(1px); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .7; pointer-events: none; animation: drift 7s ease-in-out infinite alternate; }
.hero-orb-one { width: 80px; height: 80px; top: 16%; left: -30px; background: var(--yellow); }
.hero-orb-two { width: 36px; height: 36px; top: 25%; right: 7%; background: var(--cyan); animation-delay: -3s; }
@keyframes drift { to { transform: translate3d(25px,22px,0) rotate(20deg); } }
.hero-grid { display: grid; grid-template-columns: .94fr 1.06fr; gap: 55px; align-items: center; position: relative; z-index: 2; }
.audience-switch { width: fit-content; display: flex; gap: 5px; padding: 5px; margin-bottom: 34px; background: white; border-radius: 17px; box-shadow: var(--shadow-sm); }
.audience-button { border: 0; padding: 12px 17px; color: var(--muted); background: transparent; border-radius: 13px; font-size: 13px; font-weight: 800; cursor: pointer; transition: .25s var(--ease); }
.audience-button.is-active { color: white; background: var(--purple); box-shadow: 0 8px 20px rgba(119,85,255,.28); }
.hero-kicker, .eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--purple-dark); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: 1.5px; }
.hero-kicker span { width: 10px; height: 10px; border-radius: 4px 4px 4px 0; background: var(--yellow); transform: rotate(-12deg); }
.hero h1 { max-width: 660px; margin: 18px 0 23px; font-size: clamp(52px, 5.6vw, 82px); line-height: .97; letter-spacing: -4.7px; font-weight: 900; text-wrap: balance; }
.hero-lead { max-width: 610px; margin: 0; color: var(--muted); font-size: 19px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 12px; margin-top: 32px; flex-wrap: wrap; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 17px; padding: 0 22px; font-size: 14px; font-weight: 900; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s, background .25s; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: var(--purple); color: white; box-shadow: 0 14px 30px rgba(119,85,255,.3); }
.button-primary:hover { box-shadow: 0 20px 38px rgba(119,85,255,.4); }
.button-soft { background: white; color: var(--ink); box-shadow: var(--shadow-sm); }
.button-dark { background: var(--ink); color: white; }
.button-white { background: white; color: var(--purple-deep); box-shadow: 0 18px 38px rgba(25,13,57,.2); }
.button-outline-light { border: 1px solid rgba(255,255,255,.32); color: white; background: rgba(255,255,255,.08); }
.button-full { width: 100%; }
.hero-proof { display: flex; align-items: center; gap: 13px; margin-top: 35px; }
.proof-avatars { display: flex; }
.proof-avatars span { width: 34px; height: 34px; display: grid; place-items: center; margin-left: -8px; border: 3px solid var(--paper); border-radius: 50%; color: white; font-size: 10px; font-weight: 900; }
.proof-avatars span:first-child { margin-left: 0; background: var(--purple); }
.proof-avatars span:nth-child(2) { background: var(--cyan); color: var(--ink); }
.proof-avatars span:nth-child(3) { background: var(--yellow); color: var(--ink); }
.hero-proof p { display: grid; gap: 2px; margin: 0; font-size: 13px; }
.hero-proof p span { color: var(--muted); }

.hero-visual { min-height: 650px; display: grid; place-items: center; }
.map-stage { position: relative; width: min(620px, 100%); aspect-ratio: 1.02; border-radius: 52px; background: linear-gradient(145deg, #7956ff, #6645df 58%, #3fcce0); box-shadow: var(--shadow-lg); isolation: isolate; transform-style: preserve-3d; transition: transform .2s ease-out; }
.map-stage::before { content: ""; position: absolute; inset: 18px; border-radius: 42px; background: radial-gradient(circle at 70% 18%, rgba(255,255,255,.17), transparent 18%), radial-gradient(circle at 15% 75%, rgba(63,210,227,.28), transparent 28%); opacity: .95; }
.map-stage::after { content: ""; position: absolute; width: 115px; height: 115px; left: -35px; bottom: 15%; border-radius: 35px; background: var(--yellow); transform: rotate(17deg); z-index: -1; }
.map-glow { position: absolute; width: 340px; height: 340px; left: 50%; top: 47%; transform: translate(-50%,-50%); border-radius: 50%; background: rgba(255,255,255,.18); filter: blur(40px); }
.map-landmark { position: absolute; display: grid; gap: 5px; opacity: .35; }
.map-landmark span { width: 32px; height: 18px; border-radius: 6px; background: rgba(255,255,255,.7); }
.landmark-one { left: 6%; top: 17%; transform: rotate(-12deg); }
.landmark-two { right: 7%; top: 36%; transform: rotate(18deg); }
.landmark-three { right: 6%; bottom: 8%; grid-template-columns: repeat(2,1fr); transform: rotate(-10deg); }
.distance-pill { position: absolute; display: flex; align-items: center; gap: 7px; z-index: 5; padding: 9px 12px; border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: 0 12px 24px rgba(31,21,73,.18); color: var(--ink); font-size: 11px; font-weight: 900; animation: floaty 4s ease-in-out infinite; }
.distance-pill span { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px rgba(255,198,65,.18); }
.distance-a { top: 12%; left: 12%; }
.distance-b { top: 31%; right: 5%; animation-delay: -1.4s; }
.distance-c { bottom: 16%; left: 7%; animation-delay: -2.6s; }
@keyframes floaty { 50% { transform: translateY(-9px) rotate(1deg); } }
.phone-shell { position: absolute; left: 50%; top: 50%; width: 315px; height: 605px; padding: 10px; background: #1d1930; border-radius: 48px; transform: translate(-50%,-50%) rotate(-3deg); box-shadow: 0 30px 80px rgba(23,12,54,.45); z-index: 4; }
.phone-top { position: absolute; top: 11px; left: 50%; width: 100px; height: 22px; display: flex; align-items: center; justify-content: center; gap: 8px; background: #1d1930; border-radius: 0 0 14px 14px; transform: translateX(-50%); z-index: 4; }
.phone-top span { width: 42px; height: 4px; background: #3a354e; border-radius: 99px; }
.phone-top i { width: 6px; height: 6px; background: #4f4868; border-radius: 50%; }
.phone-screen { height: 100%; overflow: hidden; background: #faf9ff; border-radius: 39px; position: relative; }
.app-head { display: flex; align-items: center; justify-content: space-between; padding: 42px 20px 14px; }
.app-head > div { display: grid; gap: 4px; }
.app-head small { color: #777187; font-size: 10px; }
.app-head strong { font-size: 17px; letter-spacing: -.5px; }
.app-head button { width: 34px; height: 34px; display: grid; place-items: center; position: relative; border: 0; border-radius: 12px; background: white; color: var(--purple); box-shadow: 0 8px 20px rgba(40,25,90,.1); }
.notification-dot { position: absolute; right: 6px; top: 6px; width: 6px; height: 6px; background: var(--yellow); border-radius: 50%; }
.app-map { height: 238px; margin: 0 13px; border-radius: 25px; position: relative; overflow: hidden; background: #eae7f6; }
.app-map::before, .app-map::after { content: ""; position: absolute; background: #d6f4f5; border-radius: 40%; }
.app-map::before { width: 135px; height: 140px; left: -30px; bottom: -40px; transform: rotate(20deg); }
.app-map::after { width: 100px; height: 130px; right: -30px; top: -45px; transform: rotate(-15deg); }
.map-street { position: absolute; height: 18px; background: #fff; border-radius: 99px; box-shadow: inset 0 0 0 5px #f6f5fb; }
.street-a { width: 350px; left: -32px; top: 84px; transform: rotate(17deg); }
.street-b { width: 310px; left: -55px; top: 145px; transform: rotate(-25deg); }
.street-c { width: 210px; right: -44px; top: 45px; transform: rotate(70deg); }
.user-location { position: absolute; left: 48%; top: 51%; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: rgba(119,85,255,.16); transform: translate(-50%,-50%); z-index: 3; }
.user-location span { width: 18px; height: 18px; background: var(--purple); border: 4px solid white; border-radius: 50%; box-shadow: 0 5px 12px rgba(72,42,160,.3); }
.job-pin { position: absolute; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 13px 13px 13px 4px; background: white; box-shadow: 0 9px 18px rgba(43,29,90,.18); z-index: 4; transform: rotate(-8deg); }
.job-pin span { transform: rotate(8deg); font-size: 14px; }
.pin-a { top: 28px; left: 50px; }.pin-b { top: 55px; right: 40px; }.pin-c { bottom: 28px; right: 70px; }
.app-job-stack { position: relative; height: 130px; padding: 17px 15px 0; }
.mini-job { position: absolute; inset: 15px 15px auto; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 13px; border-radius: 18px; background: white; box-shadow: 0 13px 30px rgba(34,23,70,.11); opacity: 0; transform: translateY(16px) scale(.97); transition: .45s var(--ease); }
.mini-job.is-active { opacity: 1; transform: translateY(0) scale(1); }
.mini-job-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: var(--purple-soft); }
.mini-job div:nth-child(2) { display: grid; gap: 3px; }
.mini-job strong { font-size: 13px; }.mini-job span { color: #817b8e; font-size: 9px; }.mini-job small { color: var(--purple); font-size: 10px; font-weight: 900; }
.app-nav { position: absolute; left: 20px; right: 20px; bottom: 14px; height: 45px; display: flex; align-items: center; justify-content: space-around; border-radius: 16px; background: white; box-shadow: 0 10px 28px rgba(35,22,78,.12); }
.app-nav span { width: 18px; height: 18px; border-radius: 6px; background: #ece9f5; }.app-nav span.is-current { background: var(--purple); }
.floating-alert { position: absolute; right: -30px; bottom: 12%; z-index: 6; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; width: 225px; padding: 13px 15px; border-radius: 19px; background: white; box-shadow: 0 20px 45px rgba(25,14,58,.22); animation: floaty 5s ease-in-out infinite -2s; }
.floating-alert-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 14px; background: var(--purple-soft); }
.floating-alert > div:last-child { display: grid; gap: 3px; }.floating-alert small { color: var(--purple); font-size: 9px; font-weight: 900; text-transform: uppercase; }.floating-alert strong { font-size: 11px; line-height: 1.3; }

.trust-strip { position: relative; z-index: 4; display: grid; grid-template-columns: .85fr repeat(3,1fr); gap: 18px; align-items: center; margin-top: 75px; padding: 24px 30px; border-radius: 27px; background: rgba(255,255,255,.82); box-shadow: var(--shadow-sm); backdrop-filter: blur(12px); }
.trust-strip > span { color: var(--purple); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 1.2px; }
.trust-strip div { display: grid; gap: 5px; }.trust-strip strong { font-size: 13px; }.trust-strip small { color: var(--muted); font-size: 11px; }

.section { padding: 120px 0; }
.section-heading { max-width: 620px; }.section-heading.centered { margin: 0 auto 56px; text-align: center; }
.section-heading h2, .section-copy h2, .employer-copy h2, .trust-copy h2 { margin: 16px 0 20px; font-size: clamp(42px,5vw,68px); line-height: 1.02; letter-spacing: -3.4px; text-wrap: balance; }
.section-heading p, .section-lead, .employer-copy > p, .trust-copy > p { color: var(--muted); font-size: 18px; line-height: 1.65; }
.section-intro { background: white; position: relative; }
.journey-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.journey-card { min-height: 475px; padding: 28px; position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 34px; transition: transform .35s var(--ease), box-shadow .35s; }
.journey-card:hover { transform: translateY(-8px) rotate(-.5deg); box-shadow: var(--shadow-md); }
.journey-purple { background: var(--purple-soft); }.journey-cyan { background: var(--cyan-soft); }.journey-yellow { background: var(--yellow-soft); }
.journey-number { position: absolute; top: 27px; left: 28px; font-size: 12px; font-weight: 900; opacity: .55; }
.journey-illustration { height: 260px; display: grid; place-items: center; position: relative; }
.journey-card h3 { margin: auto 0 12px; font-size: 24px; letter-spacing: -1px; }.journey-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.radar-illustration > div { position: absolute; border-radius: 50%; }.radar-ring { border: 2px solid rgba(119,85,255,.16); }.radar-ring-one { width: 210px; height: 210px; }.radar-ring-two { width: 130px; height: 130px; }.radar-core { width: 58px; height: 58px; background: var(--purple); box-shadow: 0 0 0 18px rgba(119,85,255,.12); }.radar-dot { position: absolute; width: 18px; height: 18px; border-radius: 50%; background: white; box-shadow: 0 8px 17px rgba(48,31,100,.15); }.dot-a { left: 25%; top: 28%; }.dot-b { right: 24%; top: 34%; }.dot-c { right: 33%; bottom: 20%; background: var(--yellow); }
.cards-illustration { perspective: 700px; }.tiny-card { position: absolute; width: 190px; height: 135px; padding: 23px; border-radius: 25px; background: white; box-shadow: 0 20px 45px rgba(19,76,84,.13); }.tiny-card-back { transform: translate(28px,-18px) rotate(9deg); background: #aaf0f4; }.tiny-card-front { transform: translate(-20px,22px) rotate(-7deg); }.tiny-card span { display: block; width: 45px; height: 45px; border-radius: 15px; background: var(--cyan); }.tiny-card b { display: block; width: 85px; height: 10px; margin: -40px 0 0 58px; border-radius: 999px; background: var(--ink); }.tiny-card i { display: block; width: 63px; height: 7px; margin: 9px 0 0 58px; border-radius: 999px; background: #c8c4d3; }
.tap-button { width: 145px; height: 62px; display: grid; place-items: center; border-radius: 19px; background: var(--ink); color: white; font-weight: 900; box-shadow: 0 20px 35px rgba(23,20,38,.23); }.tap-hand { position: absolute; right: 26%; bottom: 29%; font-size: 58px; filter: drop-shadow(0 10px 10px rgba(66,44,10,.2)); }.tap-spark { position: absolute; width: 12px; height: 24px; border-radius: 99px; background: var(--purple); }.spark-a { top: 24%; right: 28%; transform: rotate(35deg); }.spark-b { top: 37%; right: 19%; transform: rotate(75deg); height: 18px; }

.candidate-section { background: #f7f6fc; }
.split-layout { display: grid; grid-template-columns: 1.02fr .98fr; gap: 85px; align-items: center; }
.candidate-scene { min-height: 640px; position: relative; overflow: hidden; border-radius: 48px; background: linear-gradient(180deg,#dff8fb 0%,#e9e8ff 58%,#d8d6ef 58%); box-shadow: var(--shadow-md); }
.scene-sun { position: absolute; width: 90px; height: 90px; top: 50px; right: 55px; border-radius: 50%; background: var(--yellow); }
.scene-building { position: absolute; bottom: 42%; padding: 18px 12px 0; display: grid; grid-template-columns: repeat(2,18px); gap: 12px; border-radius: 14px 14px 0 0; background: #8780ce; }.scene-building span { width: 18px; height: 28px; border-radius: 5px; background: rgba(255,255,255,.65); }.building-a { height: 210px; width: 115px; left: 28px; }.building-b { height: 140px; width: 90px; left: 143px; background: #b199ed; }.building-c { height: 175px; width: 110px; right: 25px; background: #5dc9d8; }
.scene-ground { position: absolute; inset: 58% 0 0; background: linear-gradient(160deg,#6d61bc,#4c3c99); clip-path: polygon(0 17%,100% 0,100% 100%,0 100%); }
.character { position: absolute; left: 38%; bottom: 52px; width: 170px; height: 380px; z-index: 4; }.character-head { position: absolute; left: 54px; top: 0; width: 72px; height: 86px; border-radius: 45% 45% 42% 42%; background: #bc7656; }.character-head::before { content:""; position:absolute; inset:-12px -8px 38px; border-radius:50% 50% 20% 20%; background:#2d214a; transform:rotate(-5deg); }.character-head span { position:absolute; right:-5px; top:42px; width:12px; height:18px; border-radius:50%; background:#bc7656; }.character-body { position: absolute; left: 34px; top: 75px; width: 110px; height: 150px; border-radius: 45px 45px 24px 24px; background: var(--yellow); transform: rotate(-2deg); }.character-arm { position:absolute; width:30px; height:145px; border-radius:20px; background:#bc7656; transform-origin:top; }.arm-a { left:37px; top:96px; transform:rotate(25deg); }.arm-b { right:27px; top:99px; transform:rotate(-34deg); }.character-leg { position:absolute; top:210px; width:37px; height:165px; border-radius:18px; background:#26203e; }.leg-a { left:52px; transform:rotate(4deg); }.leg-b { right:39px; transform:rotate(-4deg); }.character-phone { position:absolute; right:3px; top:155px; width:26px; height:46px; border-radius:7px; background:#171426; transform:rotate(-15deg); }
.scene-bubble { position: absolute; z-index: 6; display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; align-items: center; min-width: 145px; padding: 12px 14px; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: var(--shadow-sm); animation: floaty 4.5s ease-in-out infinite; }.scene-bubble span { grid-row: span 2; width: 38px; height: 38px; display:grid;place-items:center;border-radius:12px;background:var(--purple-soft); }.scene-bubble strong { font-size: 12px; }.scene-bubble small { color:var(--purple);font-size:9px;font-weight:900; }.bubble-a { left: 25px; top: 210px; }.bubble-b { right: 20px; top: 270px; animation-delay:-1.5s; }.bubble-c { left: 45px; bottom: 35px; animation-delay:-2.8s; }
.section-copy { max-width: 560px; }.section-copy h2 { font-size: clamp(44px,5vw,68px); }.section-lead { margin-bottom: 34px; }
.feature-list { display: grid; gap: 8px; }
.feature-list article { display: grid; grid-template-columns: auto 1fr; gap: 15px; padding: 17px; border-radius: 22px; transition: background .25s, transform .25s; }.feature-list article:hover { background: white; transform: translateX(5px); }
.feature-icon { width: 46px; height: 46px; display: grid; place-items:center; border-radius:15px; background:var(--purple-soft); color:var(--purple); font-size:21px; }
.feature-list h3 { margin: 1px 0 5px; font-size: 16px; }.feature-list p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.text-link { margin-top: 24px; padding: 0; border:0; background:transparent; color:var(--purple-dark); font-weight:900; cursor:pointer; }.text-link span { display:inline-block; margin-left:6px; transition:transform .2s; }.text-link:hover span { transform:translateX(5px); }

.employer-section { position: relative; overflow: hidden; background: linear-gradient(145deg,#201044,#39217b 58%,#6037d4); color:white; }
.employer-blob { position:absolute;border-radius:50%;filter:blur(1px);opacity:.6; }.blob-one { width:390px;height:390px;right:-120px;top:-120px;background:#7555ff; }.blob-two { width:240px;height:240px;left:-80px;bottom:-60px;background:#32c5da; }
.employer-grid { position:relative;z-index:2;display:grid;grid-template-columns:1fr .88fr;gap:95px;align-items:center; }
.eyebrow-light { color:#cabdff; }.employer-copy h2 { font-size:clamp(48px,5.4vw,74px); }.employer-copy > p { color:#cfc7e8; max-width:640px; }
.employer-benefits { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:35px 0; }.employer-benefits div { display:flex;align-items:center;gap:12px;padding:15px 17px;border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px); }.employer-benefits strong { width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--yellow);color:var(--ink);font-size:10px; }.employer-benefits span { font-size:13px;font-weight:700; }
.employer-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }.employer-stats div { display:grid;gap:4px; }.employer-stats strong { font-size:22px; }.employer-stats span { color:#aaa0c7;font-size:10px;text-transform:uppercase;letter-spacing:.8px; }
.lead-card { padding:34px;border-radius:34px;background:white;color:var(--ink);box-shadow:0 35px 80px rgba(11,5,28,.35); }
.lead-card-top { display:flex;align-items:center;gap:14px;margin-bottom:17px; }.lead-card-icon { width:53px;height:53px;display:grid;place-items:center;border-radius:17px;background:var(--purple-soft);font-size:23px; }.lead-card-top small { display:block;color:var(--purple);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px; }.lead-card-top h3 { margin:4px 0 0;font-size:25px;letter-spacing:-1px; }.lead-card > p { color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 24px; }
.lead-form { display:grid;gap:15px; }.lead-form label { display:grid;gap:7px; }.lead-form label > span { font-size:11px;font-weight:900;color:#4f4a5e; }.lead-form input,.waitlist-form input { width:100%;height:51px;border:0;outline:0;border-radius:15px;padding:0 15px;background:#f1eff7;color:var(--ink);transition:box-shadow .2s,background .2s; }.lead-form input:focus,.waitlist-form input:focus { background:#f7f5ff;box-shadow:0 0 0 3px rgba(119,85,255,.19); }.lead-form label.has-error input { box-shadow:0 0 0 2px rgba(199,71,71,.45); }.field-error { display:none;color:var(--danger);font-size:10px; }.has-error .field-error { display:block; }.form-row { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.form-note { color:#918b9e;text-align:center;font-size:10px; }
.form-success { text-align:center;padding:30px 0 15px; }.form-success > div { width:64px;height:64px;display:grid;place-items:center;margin:0 auto 18px;border-radius:22px;background:#dff8ec;color:var(--success);font-size:27px;font-weight:900; }.form-success h3 { font-size:27px;margin:0 0 10px; }.form-success p { color:var(--muted);font-size:14px;line-height:1.6; }

.trust-section { background:white; }
.trust-grid { display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:center; }.trust-copy h2 { font-size:clamp(45px,5vw,68px); }.trust-actions { display:flex;gap:18px;margin-top:28px;flex-wrap:wrap; }.trust-actions a { font-size:13px;font-weight:900;color:var(--purple-dark); }.trust-actions span { margin-left:5px; }
.trust-cards { display:grid;grid-template-columns:repeat(2,1fr);gap:18px; }.trust-card { padding:27px;border-radius:30px;background:var(--paper); }.trust-card-main { grid-column:1/-1;min-height:280px;position:relative;overflow:hidden;padding-right:250px;background:linear-gradient(135deg,var(--purple-soft),#e2f9fb); }.trust-card-main::after { content:"";position:absolute;width:220px;height:220px;right:-30px;bottom:-55px;border-radius:50%;background:rgba(119,85,255,.1); }.shield-visual { position:absolute;right:60px;top:50%;width:130px;height:150px;display:grid;place-items:center;transform:translateY(-50%);background:var(--purple);clip-path:polygon(50% 0,92% 16%,87% 68%,50% 100%,13% 68%,8% 16%);filter:drop-shadow(0 22px 25px rgba(75,47,187,.24)); }.shield-visual span { width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--purple);font-size:25px;font-weight:900; }.trust-card h3 { margin:0 0 10px;font-size:21px;letter-spacing:-.7px; }.trust-card p { margin:0;color:var(--muted);font-size:14px;line-height:1.65; }.trust-card-main h3 { max-width:420px;margin-top:95px;font-size:27px; }.trust-card-main p { max-width:420px; }.mini-trust-icon { width:48px;height:48px;display:grid;place-items:center;margin-bottom:42px;border-radius:16px;background:var(--yellow-soft);font-size:21px;font-weight:900; }.trust-card-small:nth-child(3) .mini-trust-icon { background:var(--cyan-soft); }

.faq-section { background:#f7f6fc; }
.faq-layout { display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:start; }.faq-list { display:grid;gap:12px; }.faq-item { padding:0 22px;border-radius:22px;background:white;box-shadow:0 10px 30px rgba(38,27,75,.045); }.faq-item button { width:100%;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0;border:0;background:transparent;text-align:left;color:var(--ink);font-weight:900;cursor:pointer; }.faq-item button i { position:relative;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:var(--purple-soft); }.faq-item button i::before,.faq-item button i::after { content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;border-radius:99px;background:var(--purple);transform:translate(-50%,-50%);transition:.2s; }.faq-item button i::after { transform:translate(-50%,-50%) rotate(90deg); }.faq-item.is-open button i::after { transform:translate(-50%,-50%) rotate(0); }.faq-answer { display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease); }.faq-answer p { min-height:0;overflow:hidden;margin:0;color:var(--muted);font-size:14px;line-height:1.65; }.faq-item.is-open .faq-answer { grid-template-rows:1fr; }.faq-item.is-open .faq-answer p { padding:0 0 22px; }

.final-cta { padding:0 0 40px;background:#f7f6fc; }.final-cta-inner { position:relative;min-height:420px;display:grid;grid-template-columns:180px 1fr auto;gap:42px;align-items:center;padding:55px 58px;overflow:hidden;border-radius:45px;background:linear-gradient(135deg,#5130bb,#7555ff 55%,#299fb7);color:white;box-shadow:var(--shadow-lg); }.final-cta-inner::before { content:"";position:absolute;width:360px;height:360px;right:-90px;top:-160px;border-radius:50%;background:rgba(255,255,255,.09); }.final-magnet { position:relative;width:180px;height:180px;display:grid;place-items:center; }.final-magnet img { width:150px;filter:drop-shadow(0 20px 25px rgba(24,11,61,.3)); }.final-dot { position:absolute;width:15px;height:15px;border-radius:50%;background:var(--yellow); }.final-dot-a { top:3px;left:20px; }.final-dot-b { right:2px;top:60px;width:10px;height:10px;background:var(--cyan); }.final-dot-c { bottom:14px;left:8px;width:8px;height:8px;background:white; }.final-cta h2 { margin:14px 0 15px;font-size:clamp(42px,5vw,66px);line-height:.98;letter-spacing:-3px; }.final-cta p { max-width:600px;margin:0;color:#ded7f6;font-size:16px;line-height:1.6; }.final-actions { position:relative;z-index:2;display:grid;gap:11px;min-width:175px; }

.site-footer { padding:70px 0 25px;background:#171426;color:white; }.footer-grid { display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:55px; }.brand-footer { color:white; }.footer-brand p { max-width:330px;color:#a9a4b5;font-size:13px;line-height:1.65;margin-top:20px; }.footer-column { display:grid;align-content:start;gap:13px; }.footer-column h3 { margin:8px 0 10px;color:#777185;font-size:10px;text-transform:uppercase;letter-spacing:1.4px; }.footer-column a,.footer-column p { margin:0;color:#d3cfdc;font-size:13px; }.footer-column a:hover { color:white; }.footer-bottom { display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding-top:23px;border-top:1px solid rgba(255,255,255,.08);color:#777185;font-size:11px; }

.modal[hidden] { display:none; }.modal { position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px; }.modal-backdrop { position:absolute;inset:0;background:rgba(19,13,35,.72);backdrop-filter:blur(8px); }.modal-card { position:relative;z-index:2;width:min(540px,100%);padding:42px;border-radius:35px;background:white;text-align:center;box-shadow:0 35px 100px rgba(0,0,0,.3);animation:modalIn .35s var(--ease); }.modal-close { position:absolute;right:18px;top:18px;width:39px;height:39px;border:0;border-radius:13px;background:#f1eff6;color:var(--ink);font-size:25px;cursor:pointer; }.modal-icon { width:96px;height:96px;display:grid;place-items:center;margin:0 auto 20px;border-radius:27px;background:var(--purple-soft); }.modal-icon img { width:80px; }.modal-card h2 { margin:13px 0 15px;font-size:34px;line-height:1.08;letter-spacing:-1.5px; }.modal-card > p { color:var(--muted);font-size:14px;line-height:1.6; }.waitlist-form { display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:23px; }.store-badges { display:flex;justify-content:center;gap:10px;margin-top:18px; }.store-badges div { display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:13px;background:#f1eff6; }.store-badges span { font-size:18px; }.store-badges small { display:grid;text-align:left;font-size:8px; }.store-badges strong { font-size:11px; }.modal-feedback { min-height:20px;margin:13px 0 0!important;color:var(--success)!important;font-weight:800; }.modal-feedback.is-error { color:var(--danger)!important; }
@keyframes modalIn { from { opacity:0;transform:translateY(25px) scale(.97); } }

.reveal { opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease); }.reveal.is-visible { opacity:1;transform:translateY(0); }

/* Legal pages */
.legal-page { background:#f7f6fc; }
.legal-hero { padding:155px 0 70px;background:linear-gradient(145deg,#ece7ff,#e5f9fb); }
.legal-hero-inner { max-width:800px; }.legal-back { display:inline-flex;align-items:center;gap:8px;margin-bottom:30px;color:var(--purple-dark);font-size:13px;font-weight:900; }.legal-hero h1 { margin:15px 0;font-size:clamp(48px,7vw,80px);line-height:1;letter-spacing:-4px; }.legal-hero p { color:var(--muted);font-size:16px; }.legal-main { padding:70px 0 110px; }.legal-content { max-width:900px;margin:auto;padding:48px;border-radius:34px;background:white;box-shadow:var(--shadow-sm); }.legal-content h2 { margin:42px 0 12px;font-size:25px;letter-spacing:-.7px; }.legal-content h2:first-child { margin-top:0; }.legal-content h3 { margin:26px 0 8px;font-size:17px; }.legal-content p,.legal-content li { color:#5f5a6d;font-size:14px;line-height:1.75; }.legal-content ul { padding-left:22px; }.legal-highlight { padding:20px 22px;border-radius:18px;background:var(--purple-soft);color:var(--purple-deep)!important; }.legal-table { width:100%;border-collapse:separate;border-spacing:0 8px; }.legal-table td { padding:14px;background:#f7f6fb;color:#5f5a6d;font-size:13px; }.legal-table td:first-child { width:32%;border-radius:12px 0 0 12px;font-weight:900;color:var(--ink); }.legal-table td:last-child { border-radius:0 12px 12px 0; }

@media (max-width: 1050px) {
  .main-nav { gap:18px; }.main-nav > a:not(.nav-cta) { display:none; }
  .hero { min-height:auto; }.hero-grid { grid-template-columns:1fr; }.hero-copy { max-width:760px;text-align:center;margin:auto; }.audience-switch,.hero-kicker,.hero-actions,.hero-proof { margin-left:auto;margin-right:auto; }.hero-visual { min-height:640px; }.map-stage { max-width:610px; }
  .trust-strip { grid-template-columns:repeat(3,1fr); }.trust-strip > span { grid-column:1/-1;text-align:center; }
  .split-layout,.employer-grid,.trust-grid,.faq-layout { grid-template-columns:1fr;gap:60px; }.candidate-visual { max-width:650px;width:100%;margin:auto; }.section-copy,.employer-copy,.trust-copy { max-width:750px; }.lead-card { max-width:650px;width:100%;margin:auto; }.trust-cards { max-width:800px; }.faq-list { max-width:800px; }
  .final-cta-inner { grid-template-columns:140px 1fr; }.final-actions { grid-column:2;grid-template-columns:repeat(2,auto);justify-content:start; }
  .footer-grid { grid-template-columns:1.5fr repeat(3,1fr);gap:30px; }
}

@media (max-width: 760px) {
  :root { --container:min(100% - 28px,1180px); --radius-lg:30px; }
  .site-header { padding:12px 0; }.brand img { width:39px;height:39px; }.brand span { font-size:17px; }
  .menu-toggle { display:flex; }.main-nav { position:fixed;left:14px;right:14px;top:70px;display:grid;gap:4px;padding:14px;border-radius:22px;background:white;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(-10px);transition:.25s; }.main-nav.is-open { opacity:1;pointer-events:auto;transform:translateY(0); }.main-nav > a:not(.nav-cta) { display:block;padding:13px 12px;border-radius:12px; }.nav-cta { text-align:center;margin-top:4px; }.menu-toggle.is-open span:first-child { transform:translateY(7px) rotate(45deg); }.menu-toggle.is-open span:nth-child(2) { opacity:0; }.menu-toggle.is-open span:last-child { transform:translateY(-7px) rotate(-45deg); }
  .hero { padding:120px 0 40px; }.hero h1 { font-size:clamp(45px,14vw,64px);letter-spacing:-3.5px; }.hero-lead { font-size:16px; }.audience-switch { margin-bottom:27px; }.audience-button { padding:10px 12px;font-size:11px; }.hero-actions { justify-content:center; }.hero-proof { justify-content:center;text-align:left; }
  .hero-visual { min-height:520px;margin-top:25px; }.map-stage { width:100%;border-radius:36px; }.phone-shell { width:245px;height:470px;border-radius:38px; }.phone-screen { border-radius:30px; }.app-head { padding:34px 15px 10px; }.app-head strong { font-size:13px; }.app-map { height:185px; }.app-job-stack { height:105px; }.mini-job { padding:10px; }.app-nav { height:37px;bottom:10px; }.floating-alert { right:-2px;bottom:6%;width:185px;padding:9px; }.floating-alert strong { font-size:9px; }.distance-b { right:2px; }.distance-c { left:2px; }.map-stage::after { width:80px;height:80px;left:-20px; }
  .trust-strip { grid-template-columns:1fr;margin-top:45px;padding:22px; }.trust-strip div { text-align:center; }
  .section { padding:85px 0; }.section-heading h2,.section-copy h2,.employer-copy h2,.trust-copy h2 { font-size:clamp(38px,11vw,54px);letter-spacing:-2.5px; }.section-heading p,.section-lead,.employer-copy > p,.trust-copy > p { font-size:16px; }
  .journey-grid { grid-template-columns:1fr; }.journey-card { min-height:410px; }.journey-illustration { height:230px; }
  .candidate-scene { min-height:520px;border-radius:32px; }.character { transform:scale(.8);transform-origin:bottom center;left:32%; }.scene-bubble { transform:scale(.86); }.bubble-a { left:-5px; }.bubble-b { right:-8px; }.bubble-c { left:6px; }.scene-building { transform:scale(.8);transform-origin:bottom; }.building-a { left:-5px; }.building-b { left:80px; }.building-c { right:-5px; }
  .employer-benefits { grid-template-columns:1fr; }.employer-stats { grid-template-columns:1fr; }.employer-stats div { padding:10px 0; }.lead-card { padding:24px;border-radius:27px; }.form-row { grid-template-columns:1fr; }
  .trust-cards { grid-template-columns:1fr; }.trust-card-main { padding:28px;min-height:430px; }.trust-card-main h3 { margin-top:0; }.shield-visual { right:50%;top:auto;bottom:25px;transform:translateX(50%); }.trust-card-small { min-height:230px; }.mini-trust-icon { margin-bottom:35px; }
  .final-cta-inner { grid-template-columns:1fr;padding:40px 25px;text-align:center; }.final-magnet { margin:auto;width:135px;height:135px; }.final-magnet img { width:120px; }.final-actions { grid-column:1;grid-template-columns:1fr;width:100%; }.final-cta h2 { font-size:clamp(39px,12vw,55px); }
  .footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }.footer-bottom { flex-direction:column; }.footer-contact { grid-column:1/-1; }
  .modal-card { padding:35px 20px 28px;border-radius:27px; }.modal-card h2 { font-size:28px; }.waitlist-form { grid-template-columns:1fr; }.store-badges { flex-wrap:wrap; }
  .legal-hero { padding:120px 0 55px; }.legal-hero h1 { font-size:clamp(45px,14vw,65px);letter-spacing:-3px; }.legal-main { padding:35px 0 70px; }.legal-content { padding:25px;border-radius:25px; }.legal-table,.legal-table tbody,.legal-table tr,.legal-table td { display:block;width:100%!important; }.legal-table tr { margin-bottom:10px; }.legal-table td { border-radius:0!important; }.legal-table td:first-child { border-radius:12px 12px 0 0!important; }.legal-table td:last-child { border-radius:0 0 12px 12px!important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}
