/* Careers page, on top of pages.css. Dark and light sections alternate: hero, principles, teams, hiring, apply. */
.careers-page{background:radial-gradient(circle at 82% 6%,rgba(174,73,255,.22),transparent 32%),var(--bg)}
.careers-page section[id],.careers-page li[id]{scroll-margin-top:60px}
.careers-page h2{margin:14px 0 0;font:800 clamp(34px,5vw,58px)/1 "Manrope",sans-serif;letter-spacing:-.055em}
.careers-page .section-heading>p:last-child{max-width:740px;margin:18px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.careers-page .light .section-heading>p:last-child{color:#69616e}

/* Hero */
.careers-hero{padding:clamp(72px,9vw,130px) clamp(24px,9vw,135px) clamp(64px,8vw,110px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(36px,6vw,90px);align-items:center}
.careers-hero h1{max-width:980px;margin:20px 0 26px;font:800 clamp(48px,7.2vw,96px)/.95 "Manrope",sans-serif;letter-spacing:-.065em}
.careers-hero .lead{max-width:740px;margin:0;color:var(--muted);font-size:clamp(17px,2vw,21px);line-height:1.65}
.hiring-status{max-width:740px;margin:28px 0 0;padding:14px 18px 14px 44px;position:relative;color:var(--muted);font-size:14px;line-height:1.55;background:rgba(255,186,36,.08);border:1px solid rgba(255,186,36,.32);border-radius:14px}
.hiring-status::before{position:absolute;left:18px;top:20px;width:10px;height:10px;content:"";background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px rgba(255,186,36,.18)}
.hiring-status strong{color:var(--ink)}
.careers-hero .actions{margin-top:26px}

/* Principle tiles (launcher-style icons) */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.value-icon{width:60px;height:60px;display:grid;place-items:center;flex:none;border-radius:17px;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 26px rgba(0,0,0,.28)}
.value-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tone-purple{background:linear-gradient(145deg,#c77dff,#6a1fb3)}
.tone-gold{background:linear-gradient(145deg,#ffd166,#e08a00)}
.tone-pink{background:linear-gradient(145deg,#ff8fb8,#c4306d)}
.tone-blue{background:linear-gradient(145deg,#7cc4ff,#2f62d6)}
.tone-green{background:linear-gradient(145deg,#8ee59b,#22924a)}
.tone-teal{background:linear-gradient(145deg,#6fe3d8,#147f88)}
.value-cluster{padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:28px}
.value-cluster a{display:grid;justify-items:center;gap:10px;color:#e8dfee;font-size:12px;font-weight:700;text-decoration:none;border-radius:16px}
.value-cluster a:focus-visible{outline:3px solid var(--purple);outline-offset:6px}
.value-cluster .value-icon{width:72px;height:72px;border-radius:20px;transition:transform .2s ease}
.value-cluster .value-icon svg{width:38px;height:38px}
.value-cluster a:hover .value-icon{transform:translateY(-3px)}
.js-motion .value-cluster a{animation:tile-in .6s cubic-bezier(.2,.7,.2,1) both}
.value-cluster a:nth-child(2){animation-delay:.07s}.value-cluster a:nth-child(3){animation-delay:.14s}.value-cluster a:nth-child(4){animation-delay:.21s}.value-cluster a:nth-child(5){animation-delay:.28s}.value-cluster a:nth-child(6){animation-delay:.35s}
@keyframes tile-in{from{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}

/* How we work (light) */
.careers-values{padding:clamp(64px,8vw,110px) clamp(24px,9vw,135px)}
.founder-note{margin-bottom:clamp(56px,7vw,90px);display:grid;grid-template-columns:minmax(200px,.55fr) minmax(0,1.45fr);gap:clamp(28px,5vw,70px);align-items:center}
.founder-note img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 18%;border-radius:24px;box-shadow:0 24px 50px rgba(60,20,90,.18)}
.founder-note figure{margin:0}
.founder-note blockquote{margin:16px 0 0}
.founder-note blockquote p{margin:0;font:800 clamp(26px,3.4vw,44px)/1.15 "Manrope",sans-serif;letter-spacing:-.04em}
.founder-note figcaption{margin-top:24px;display:grid;gap:4px}
.founder-note figcaption strong{font-size:16px}
.founder-note figcaption span{color:#69616e;font-size:13px}
.value-grid{margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none}
.value-card{padding:28px;display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-content:start;background:#fff;border:1px solid #e5dde9;border-radius:22px}
.value-card .value-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 20px rgba(60,20,90,.16)}
.value-card h3{margin:24px 0 10px;font:800 22px/1.15 "Manrope",sans-serif;letter-spacing:-.035em}
.value-card p{margin:0;color:#69616e;font-size:14.5px;line-height:1.65}
.value-card .in-practice{padding-top:18px;color:#3d3442;font-size:13.5px}
.value-card .in-practice::before{display:block;margin:0 0 14px;content:"";border-top:1px solid #eee7f1}
.value-card .in-practice b{display:block;margin-bottom:4px;color:#7b2ea6;font-size:10px;letter-spacing:.13em;text-transform:uppercase}

/* Teams (dark) */
.careers-roles{padding:clamp(64px,8vw,110px) clamp(24px,9vw,135px)}
.team-links{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.team-links a{padding:6px 14px 6px 6px;display:inline-flex;align-items:center;gap:9px;color:var(--ink);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:12px;font-weight:700;text-decoration:none;transition:border-color .2s ease}
.team-links a:hover{border-color:rgba(185,108,255,.6)}
.mini-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:#fff}
.mini-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.team{margin-top:44px;padding-top:34px;display:grid;grid-template-columns:minmax(210px,.85fr) minmax(0,3fr);gap:22px 40px;border-top:1px solid rgba(255,255,255,.1)}
.team-heading .value-icon{margin-bottom:20px}
.team-heading h3{margin:0;font:800 clamp(24px,2.3vw,30px)/1.1 "Manrope",sans-serif;letter-spacing:-.04em}
.team-heading p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.role-grid{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none}
.role-card{min-height:220px;padding:26px;display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.11);border-radius:20px;transition:border-color .2s ease,transform .2s ease}
.role-card:hover{border-color:rgba(185,108,255,.45);transform:translateY(-2px)}
.role-card h4{margin:0 0 10px;font:800 22px/1.1 "Manrope",sans-serif;letter-spacing:-.035em}
.role-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.role-status{margin-top:auto;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.role-status small{color:#d8cddc;font-size:11px;font-weight:700}
.role-apply{padding:9px 13px;color:#1a0924;background:#fff;border-radius:999px;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.role-apply:hover{background:#f0e2fb}

/* How hiring works (light) */
.careers-hiring{padding:clamp(64px,8vw,110px) clamp(24px,9vw,135px)}
.hiring-steps{margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;counter-reset:none;position:relative}
.hiring-steps::before{position:absolute;left:22px;right:22px;top:22px;height:2px;content:"";background:linear-gradient(90deg,#c77dff,#ffd166)}
.hiring-steps li{position:relative}
.hiring-steps span{width:46px;height:46px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#b96cff,#6a1fb3);border:4px solid #f6f3f8;border-radius:50%;font:800 13px/1 "Manrope",sans-serif;box-sizing:content-box;margin:-4px}
.hiring-steps h3{margin:24px 0 8px;font:800 20px/1.15 "Manrope",sans-serif;letter-spacing:-.03em}
.hiring-steps p{margin:0;color:#69616e;font-size:14.5px;line-height:1.65}

/* Send your resume (dark) */
.careers-apply{padding:clamp(64px,8vw,110px) clamp(24px,9vw,135px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,80px);align-items:start;scroll-margin-top:50px}
.careers-apply .section-heading a{color:#e4c7f4;text-underline-offset:2px}
.careers-form{padding:clamp(22px,3vw,34px);display:grid;gap:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:22px}
.field{display:grid;gap:7px}
.field>span{font-size:13px;font-weight:700}
.field small{color:var(--muted);font-weight:500}
.field input,.field select,.field textarea{width:100%;min-height:46px;padding:11px 14px;color:var(--ink);background:rgba(10,4,14,.6);border:1px solid rgba(255,255,255,.18);border-radius:12px;font:500 16px/1.4 "DM Sans",sans-serif}
.field textarea{min-height:110px;resize:vertical}
.field input[type=file]{padding:10px 12px;font-size:14px}
.field input[type=file]::file-selector-button{margin-right:12px;padding:7px 12px;color:#1a0924;background:#fff;border:0;border-radius:8px;font:800 12px/1 "DM Sans",sans-serif;cursor:pointer}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.consent input:focus-visible,.careers-updates summary:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:13px;line-height:1.55}
.consent input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--purple)}
.consent a{color:#e4c7f4;text-underline-offset:2px}
.careers-updates{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.careers-updates .consent{align-items:center}
.careers-updates details{color:var(--muted);font-size:13px}
.careers-updates details[open]{flex-basis:100%;padding:10px 12px;background:rgba(10,4,14,.6);border:1px solid rgba(255,255,255,.14);border-radius:12px}
.careers-updates summary{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;list-style:none}
.careers-updates summary::-webkit-details-marker{display:none}
.careers-updates summary::before{content:"Show more"}
.careers-updates details[open] summary::before{content:"Show less"}
.careers-updates details small{display:block;margin-top:6px;font-size:12px;line-height:1.5}
.form-error{margin:0;color:#ffb4b4;font-size:13px;font-weight:700}
.form-error:empty{display:none}
.careers-form .button{justify-self:start;padding:15px 22px;border:0;font-family:inherit;font-size:14px;cursor:pointer}
.careers-form .button:disabled{opacity:.6;cursor:progress}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.careers-thanks{min-height:70vh;padding:clamp(80px,10vw,140px) clamp(24px,9vw,135px);display:grid;align-content:center;justify-items:start}
.careers-thanks h1{max-width:820px;margin:18px 0 22px;font:800 clamp(42px,6vw,76px)/1 "Manrope",sans-serif;letter-spacing:-.06em}
.careers-thanks p{max-width:640px;margin:0 0 14px;color:var(--muted);font-size:17px;line-height:1.7}
.careers-thanks a:not(.button){color:#e4c7f4}


/* Scroll reveal: only hidden once the script is running, so the page never depends on it */
.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js-motion .reveal.is-visible{opacity:1;transform:none}
html.ss-reduce-motion .reveal,html.ss-reduce-motion .value-cluster a{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}

@media (max-width:1180px){.team{grid-template-columns:1fr}.team-heading{display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:center}.team-heading .value-icon{grid-row:span 2;margin:0}.team-heading p{margin-top:6px}}
@media (max-width:900px){.role-grid,.value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.careers-hero{grid-template-columns:1fr}.value-cluster{max-width:460px}.careers-apply{grid-template-columns:1fr}.hiring-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 16px}.hiring-steps::before{display:none}}
@media (max-width:620px){.value-grid,.role-grid,.hiring-steps,.field-row{grid-template-columns:1fr}.founder-note{grid-template-columns:1fr}.founder-note img{max-width:240px}.value-cluster{gap:20px 10px}.value-cluster .value-icon{width:60px;height:60px;border-radius:17px}.value-cluster .value-icon svg{width:32px;height:32px}.role-card{min-height:0}.careers-hero .actions .button{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.reveal,.value-cluster a{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.role-card,.team-links a,.value-cluster .value-icon{transition:none}.role-card:hover,.value-cluster a:hover .value-icon{transform:none}}

.careers-form fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}
.careers-auth{padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:20px;margin-bottom:24px}
.careers-auth form{display:grid;gap:16px}.careers-auth form[hidden]{display:none}
.careers-auth .button{justify-self:start}.careers-auth-status{line-height:1.6}

/* Small screens: pages.css hides the header links, so careers keeps its own section links as a scrollable row under the brand. */
@media (max-width:850px){.page-nav{flex-wrap:wrap;row-gap:0;padding-top:12px}.page-nav nav{display:flex;flex-wrap:nowrap;width:calc(100% + 2 * clamp(22px,6vw,86px));margin-inline:calc(-1 * clamp(22px,6vw,86px));padding-inline:clamp(22px,6vw,86px);gap:0 18px;overflow-x:auto;scrollbar-width:none}.page-nav nav::-webkit-scrollbar{display:none}.page-nav nav a{flex:none;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}}
/* Phones: the form card widens into the section padding so its fields are not squeezed. */
@media (max-width:620px){.careers-form{margin-inline:-16px;padding:20px 16px}}
/* Touch screens: 44px-tall resume buttons on the role cards. */
@media (pointer:coarse){.role-apply{display:inline-flex;align-items:center;min-height:44px}}
