/* Intrazix — employer site. Tokens from the Intrazix design system (light theme). */
:root{
  --paper:#FBF7F0; --sand:#F3ECDF; --card:#FFFFFF; --rule:#E6DECF;
  --ink:#141A3D; --muted:#585D75;
  --night:#141A3D; --on-night:#FFFFFF; --on-night-muted:#BCC0E4; --night-rule:#2A3268;
  --saffron:#FFB21E; --on-saffron:#141A3D; --saffron-ink:#9A4700; --saffron-on-night:#FFC857;
  --lilac:#4C54C4; --lilac-on-night:#A9B0FF; --haze:#DADDFB;
  --success:#1F8F5F; --warn:#B42318; --focus:rgba(255,178,30,.65);
  --display:"Bricolage Grotesque","Instrument Sans",system-ui,sans-serif;
  --sans:"Instrument Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --r-sm:10px; --r-md:18px; --r-lg:32px; --pill:999px;
  --gutter:64px; --section:104px; --max:1180px;
}
@media (max-width:760px){ :root{ --gutter:18px; --section:56px; } }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6}
img,svg{display:block;max-width:100%}
a{color:var(--saffron-ink)}a:hover{color:#6E3300}
:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--saffron);color:var(--on-saffron);padding:10px 18px;border-radius:var(--pill);z-index:10;font-weight:700;text-decoration:none}
.skip:focus{left:12px}

.wrap{max-width:calc(var(--max) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section) 0}
.bg-sand{background:var(--sand)}
.bg-night{background:var(--night);color:var(--on-night)}
.bg-night p,.bg-night .lead{color:var(--on-night-muted)}
.bg-night a:not(.btn){color:var(--saffron-on-night)}

/* Type */
h1,h2,h3,.d{font-family:var(--display);font-weight:800;letter-spacing:-.025em;line-height:1.04;margin:0}
h1{font-size:clamp(44px,7vw,80px);letter-spacing:-.03em;line-height:1}
h2{font-size:clamp(34px,4.6vw,52px)}
h3{font-size:clamp(22px,2.2vw,26px);font-weight:700;letter-spacing:-.015em;line-height:1.2}
p{margin:0}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--muted);max-width:600px}
.muted{color:var(--muted)}
.m{font-family:var(--mono);font-weight:500;font-feature-settings:"tnum"}
.hl{color:var(--saffron-ink)}
.bg-night .hl{color:var(--saffron-on-night)}
.eb{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.eb::before{content:"";width:18px;height:9px;border-radius:18px 18px 0 0;background:var(--saffron);flex-shrink:0}
.stack{display:flex;flex-direction:column;gap:22px}
.stack-sm{display:flex;flex-direction:column;gap:12px}

/* Buttons: pills, two styles */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 28px;border-radius:var(--pill);font:700 17px/1.2 var(--sans);text-decoration:none;cursor:pointer;border:0;transition:filter .15s ease}
.btn-primary{background:var(--saffron);color:var(--on-saffron)}
.btn-primary:hover{filter:brightness(.94);color:var(--on-saffron)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-ghost:hover{background:rgba(20,26,61,.06);color:var(--ink)}
.hero .btn-ghost,.bg-night .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.hero .btn-ghost:hover,.bg-night .btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-lg{min-height:58px;padding:18px 34px;font-size:18px}
.btn[aria-disabled="true"]{background:var(--rule);color:var(--muted)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--night-rule);border-radius:var(--pill);padding:8px 16px;font-size:15px;color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:10px}

/* Nav */
.nav{background:var(--night);border-bottom:1px solid var(--night-rule);position:sticky;top:0;z-index:5}
.nav .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff}
.brand img{width:34px;height:34px}
.brand span{font:800 27px/1 var(--display);letter-spacing:-.03em}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a:not(.btn){color:var(--on-night-muted);text-decoration:none;font-weight:600;font-size:16px;padding:12px 14px;border-radius:var(--pill)}
.nav-links a:not(.btn):hover,.nav-links a[aria-current="page"]{color:#fff}
.nav-links .btn{min-height:44px;padding:10px 22px;font-size:16px;margin-left:8px}
@media (max-width:760px){
  .nav .wrap{height:64px}
  .brand span{font-size:24px}
  .nav-links a:not(.btn){padding:10px 8px;font-size:15px}
  .nav-links .btn{display:none}
}

/* Hero with the shift arc */
.hero{background:var(--night);color:#fff;position:relative;overflow:hidden}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;padding-top:96px;padding-bottom:104px;align-items:end}
.hero p{color:var(--on-night-muted)}
.hero h1 .hl{color:var(--saffron-on-night)}
.arc{position:absolute;right:-40px;bottom:0;width:min(560px,48vw);height:auto;pointer-events:none}
.hero-simple .wrap{grid-template-columns:minmax(0,1fr);padding-bottom:88px}
.hero-simple .arc{width:min(440px,40vw)}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;padding-top:56px;padding-bottom:64px}
  .arc{width:78vw;right:-24vw;opacity:.9}
  .hero-simple .arc{width:62vw}
}

/* Cards */
.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-md);padding:32px}
.card-night{background:var(--night);color:#fff;border-color:var(--night)}
.card-night p{color:var(--on-night-muted)}
.card-saffron{background:var(--saffron);color:var(--on-saffron);border-color:var(--saffron)}
.card-saffron p{color:var(--on-saffron)}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr}}
@media (max-width:760px){.g2,.g4{grid-template-columns:1fr}.card{padding:24px}}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:28px}}
.step-n{font:600 38px/1 var(--mono);color:var(--lilac)}
.card-saffron .step-n{color:var(--on-saffron)}
.head{display:flex;flex-direction:column;gap:18px;margin-bottom:44px;max-width:760px}

/* Figure card — the signature */
.figure{background:var(--card);color:var(--ink);border-radius:var(--r-md);padding:30px;box-shadow:0 24px 48px rgba(8,10,30,.35);position:relative}
.figure .row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px dashed var(--rule);font-size:16px}
.figure .row .m{font-weight:600;white-space:nowrap}
.figure .total{background:var(--haze);border-radius:12px;padding:15px 18px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.figure .total .m{white-space:nowrap;font-size:clamp(20px,6vw,26px);font-weight:600;color:var(--success)}
.figure .note{margin-top:12px;font-size:14px;line-height:1.5;color:var(--muted)}

/* Lists */
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ticks li{display:flex;gap:14px;line-height:1.55}
.ticks svg{flex-shrink:0;margin-top:3px}
.card-night .ticks li{color:#E6E8F7}

/* Role row on careers */
.role{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;text-decoration:none;color:inherit;transition:border-color .15s ease}
.role:hover{border-color:var(--ink);color:inherit}
.role .meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:15px;margin-top:10px}
@media (max-width:760px){.role{grid-template-columns:1fr}}
.badge{display:inline-flex;align-items:center;border-radius:var(--pill);background:var(--haze);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.04em;padding:5px 12px}

/* FAQ */
.faq{display:flex;flex-direction:column}
.faq details{border-bottom:1px solid var(--rule);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:600;font-size:19px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 26px/1 var(--mono);color:var(--lilac)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 20px;color:var(--muted);max-width:680px}

/* Team photos */
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:900px){.team{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
.person figure{margin:0}
.photo{aspect-ratio:4/5;border-radius:var(--r-md);background:var(--sand);border:1px dashed var(--rule);display:flex;align-items:flex-end;padding:16px;font-size:14px;color:var(--muted);overflow:hidden;position:relative}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.person figcaption{padding-top:12px}
.person strong{display:block;font-size:17px}
.person span{color:var(--muted);font-size:15px}
.wide-photo{aspect-ratio:16/9;border-radius:var(--r-lg)}

/* Form */
.form-panel{background:var(--card);color:var(--ink);border-radius:var(--r-lg);padding:44px}
.form-panel p{color:var(--ink)}
.form-panel .muted{color:var(--muted)}
.form-panel a:not(.btn){color:var(--saffron-ink)}
.form-panel .prompt p{color:#fff}
@media (max-width:760px){.form-panel{padding:24px 18px;border-radius:var(--r-md)}}
form{display:flex;flex-direction:column;gap:44px}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;min-width:0}
legend{font:700 26px/1.2 var(--display);letter-spacing:-.015em;padding:0;margin-bottom:20px}
legend .m{color:var(--lilac);font-size:17px;margin-right:10px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.fields{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:8px}
label{font-weight:600;font-size:15px}
input,select,textarea{font:16px/1.4 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sm);padding:14px 15px;width:100%;min-height:50px}
textarea{resize:vertical;line-height:1.5}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23585D75' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:42px}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--saffron)}
.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-color:var(--warn)}
.err{color:var(--warn);font-size:14px;display:none}
.field[data-invalid] .err,.check[data-invalid] .err{display:block}
.check label{display:flex;gap:14px;align-items:flex-start;font-weight:500;font-size:16px;line-height:1.5;cursor:pointer}
.check input{width:22px;height:22px;min-height:0;padding:0;margin:2px 0 0;flex-shrink:0;accent-color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.prompt{background:var(--night);color:#fff;border-radius:var(--r-md);padding:28px;display:flex;flex-direction:column;gap:10px}
.prompt .eb-s{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--saffron-on-night)}
.prompt p{font:700 clamp(22px,2.6vw,30px)/1.18 var(--display);letter-spacing:-.015em}
.bubble-wrap{display:flex;flex-direction:column;gap:6px;max-width:420px}
.bubble{background:#EDE6F7;border-radius:20px 20px 20px 6px;padding:14px 18px;font-size:17px;line-height:1.45}
.submit-row{display:flex;flex-direction:column;gap:20px;padding-top:28px;border-top:1px solid var(--rule)}
.alert{background:#FDECEA;border-radius:12px;padding:14px 16px;font-size:15px;color:#7A1A12}
.progress{display:flex;flex-direction:column;gap:10px}
.progress .bar{height:10px;background:var(--night-rule);border-radius:var(--pill);overflow:hidden}
.progress .bar span{display:block;height:100%;width:0;background:var(--saffron);border-radius:var(--pill);transition:width .2s ease}

/* Video gate */
.video{width:100%;aspect-ratio:16/9;border:0;padding:0;cursor:pointer;background:var(--night);border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}
.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .play{position:relative;width:88px;height:88px;border-radius:var(--pill);background:var(--saffron);display:flex;align-items:center;justify-content:center}
.video .cap{position:absolute;left:24px;bottom:20px;font-weight:600;font-size:16px;text-align:left}
.video .len{position:absolute;right:24px;bottom:20px;color:var(--on-night-muted);font-size:15px}
.watched{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--success)}
.locked{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:12px 0}
.done{display:flex;flex-direction:column;gap:18px;padding:24px 0}
[hidden]{display:none!important}

/* Footer */
.foot{background:var(--night);color:var(--on-night-muted);padding:48px 0;font-size:15px}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.foot a{color:var(--on-night-muted);text-decoration:none}
.foot a:hover{color:#fff}
.foot nav{display:flex;flex-wrap:wrap;gap:20px}
