
/* ---------- tokens ---------- */
:root{
  --navy:#0E1B33;--navy-2:#182A4D;--blue:#2450D6;--blue-deep:#1B41B8;--tint:#EEF2FC;--tint-2:#DCE6FF;
  --orange:#FF6B1A;--orange-deep:#F25F0F;--orange-soft:#FFE9DC;--paper:#F7F5F0;--paper-2:#EEEBE3;--white:#fff;
  --ink:#0E1B33;--ink-2:#4A5468;--line:#E2E4EA;--line-w:#E5E1D8;--inputb:#8A8F9C;--err:#B42318;
  --fh:'Manrope',system-ui,-apple-system,"Segoe UI",sans-serif;--fb:'Inter',system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:12px;--r-lg:20px;--r-xl:26px;--max:1180px;--gut:clamp(16px,4vw,40px);--hdr:72px;
  --shadow:0 1px 2px rgba(14,27,51,.04),0 28px 56px -32px rgba(14,27,51,.26);
  --shadow-sm:0 1px 2px rgba(14,27,51,.04),0 12px 28px -20px rgba(14,27,51,.18);
}
*{box-sizing:border-box}[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.65 var(--fb);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--fh);font-weight:800;line-height:1.12;margin:0;letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance}
h3,h4{font-weight:700}
p{margin:0}
a{color:var(--blue)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.btn-primary:focus-visible{outline-color:var(--navy)}
.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.i.b{stroke-width:2.5}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.ribbon{background:#FFF1C9;color:#4A3B00;font:500 12px/1.4 var(--fb);text-align:center;padding:6px 16px}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:10px 14px;z-index:100;border-radius:8px;font-weight:600}.skip:focus{left:8px}
.small{font-size:.85rem;color:var(--ink-2)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 .78rem/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--orange);border-radius:1px}
.lede{color:var(--ink-2);font-size:1.12rem;line-height:1.6;margin-top:14px;max-width:58ch}
.sec{padding:clamp(64px,8vw,112px) 0}
.sec.paper{background:var(--paper)}
.sec.tint{background:linear-gradient(180deg,var(--tint) 0%,#F5F7FD 100%)}
.sec.navy{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.sec.navy::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%,rgba(36,80,214,.45) 0%,rgba(36,80,214,0) 70%),radial-gradient(40% 60% at 0% 100%,rgba(255,107,26,.18) 0%,rgba(255,107,26,0) 70%);pointer-events:none}
.sec.navy .wrap{position:relative}
.sec.navy .eyebrow{color:#9DB4FF}
.sec.navy .lede{color:#C5CEE3}
.sec-h{max-width:66ch;margin-bottom:clamp(32px,4.5vw,56px)}
.sec-h h2{font-size:clamp(1.85rem, 1.15rem + 1.9vw, 2.6rem);line-height:1.1;letter-spacing:-.03em;margin-top:16px}
.sec-h.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-h.center .lede{margin-left:auto;margin-right:auto}
.tag{font:600 .66rem/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--ink-2);border:1px solid var(--line);padding:5px 9px;border-radius:999px;white-space:nowrap;display:inline-block;vertical-align:middle}
.tag.blue{background:var(--tint);color:var(--blue);border-color:var(--tint-2)}
/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:var(--r);font:700 1rem var(--fh);letter-spacing:-.01em;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;white-space:nowrap}
.btn-primary{background:var(--orange);color:var(--navy);box-shadow:0 10px 24px -14px rgba(255,107,26,.9)}
.btn-primary:hover{background:var(--orange-deep);transform:translateY(-1px)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2);transform:translateY(-1px)}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-deep)}
.btn-ghost{background:transparent;color:var(--navy);border-color:rgba(14,27,51,.45)}.btn-ghost:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.btn-lg{min-height:58px;padding:0 32px;font-size:1.05rem;border-radius:14px}
.btn-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;color:var(--blue);font:600 1rem var(--fh);text-decoration:none}
.btn-link:hover{text-decoration:underline}
/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.hdr.scrolled{border-color:var(--line);box-shadow:0 8px 24px -20px rgba(14,27,51,.35)}
.hdr .wrap{display:flex;align-items:center;gap:18px;min-height:var(--hdr);position:relative}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font:800 1.08rem/1 var(--fh);letter-spacing:-.025em;white-space:nowrap}
.logo .mark{width:40px;height:40px;flex:none}
.logo em{font-style:normal;font-weight:600;color:var(--blue)}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font:500 .95rem var(--fb);padding:9px 13px;border-radius:9px;white-space:nowrap;transition:background-color .15s,color .15s}
.nav a:hover{background:var(--tint);color:var(--blue)}
.nav .nav-apply{display:none}
.lang{display:inline-flex;background:var(--paper);border:1px solid var(--line-w);border-radius:999px;padding:3px;gap:2px}
.lang button{all:unset;cursor:pointer;font:600 .8rem/1 var(--fb);padding:9px 11px;border-radius:999px;color:var(--ink-2);min-width:40px;text-align:center;transition:background-color .2s,color .2s}
.lang button[aria-checked=true]{background:var(--navy);color:#fff}
.lang button:hover{color:var(--navy)}.lang button[aria-checked=true]:hover{color:#fff}
.lang button:focus-visible,.ldd .menu button:focus-visible,.ldd summary:focus-visible,.burger:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.lang button:focus-visible{outline-offset:-1px}
.hdr .btn{min-height:44px;padding:0 20px}
.ldd{display:none;position:relative;margin-left:auto}
.ldd summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px 0 10px;border-radius:999px;border:1px solid var(--line-w);background:var(--paper);font:600 .85rem var(--fb);color:var(--navy)}
.ldd summary::-webkit-details-marker{display:none}
.ldd summary .i{width:18px;height:18px}
.ldd[open] summary{background:var(--navy);color:#fff;border-color:var(--navy)}
.ldd .menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:var(--shadow);display:grid;gap:2px;z-index:60}
.ldd .menu button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 12px;border-radius:9px;font:500 .98rem var(--fb);color:var(--ink)}
.ldd .menu button:hover{background:var(--tint)}
.ldd .menu button[aria-checked=true]{font-weight:600;color:var(--blue)}
.ldd .menu button[aria-checked=true]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue)}
.burger{all:unset;display:none;cursor:pointer;width:44px;height:44px;border-radius:var(--r);place-items:center;color:var(--navy)}
.burger .i{width:26px;height:26px}
/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(36px,5.5vw,76px) 0 clamp(64px,7vw,104px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(48% 62% at 88% 4%,#E4EBFB 0%,rgba(228,235,251,0) 72%),radial-gradient(36% 46% at 0% 100%,#F7F2EA 0%,rgba(247,242,234,0) 70%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy visual" "trust visual";gap:0 clamp(32px,5vw,72px);align-items:center}
.hero-copy{grid-area:copy}
.hero-visual{grid-area:visual;align-self:center;position:relative}
.hero .trust{grid-area:trust}
.kicker{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--tint-2);color:var(--blue);font:600 .76rem/1.35 var(--fb);letter-spacing:.08em;text-transform:uppercase;padding:9px 14px 9px 11px;border-radius:999px;box-shadow:var(--shadow-sm)}
.kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.hero h1{font-size:clamp(2.5rem, 1.25rem + 3.1vw, 3.75rem);line-height:1.04;margin:26px 0 20px;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero .sub{font-size:1.18rem;line-height:1.6;color:var(--ink-2);max-width:48ch;margin-bottom:32px}
.actions{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.trust{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px}
.trust li{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink-2);font-weight:500}
.trust .i{width:18px;height:18px;color:var(--blue)}
.photo{position:relative;border-radius:28px 140px 28px 28px;overflow:hidden;aspect-ratio:5/4;background:var(--paper-2);box-shadow:var(--shadow)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.photo .cap{position:absolute;left:14px;top:12px;font-size:.7rem;color:#fff;background:rgba(14,27,51,.6);padding:5px 9px;border-radius:7px;backdrop-filter:blur(4px)}
.feat{position:absolute;left:-28px;bottom:28px;width:min(300px,calc(100% - 24px));background:#fff;border-radius:18px;padding:16px 18px 14px;box-shadow:var(--shadow);border:1px solid rgba(14,27,51,.07);text-decoration:none;color:var(--ink);display:block;transition:transform .2s,box-shadow .2s}
.feat:hover{transform:translateY(-2px)}
.feat .lab{display:flex;align-items:center;gap:8px;font:600 .7rem/1 var(--fb);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.feat .lab .dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}
.feat h2{font-size:1.08rem;margin:8px 0 4px;letter-spacing:-.015em;font-weight:700}
.feat .loc{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:.88rem}
.feat .loc .i{width:15px;height:15px;color:var(--blue)}
.feat .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.feat .pay{font:800 1.02rem/1 var(--fh);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.feat .go{display:inline-flex;align-items:center;gap:5px;font:600 .88rem var(--fh);color:var(--blue);white-space:nowrap}
.feat .go .i{width:15px;height:15px}
.feat:hover .go{text-decoration:underline}
/* ---------- jobs ---------- */
.jobs{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr);gap:24px;align-items:stretch}
.jcard{background:#fff;border:1px solid var(--line-w);border-radius:var(--r-xl);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:18px;position:relative;transition:box-shadow .2s,transform .2s}
.jcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.jc-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.chip{display:inline-flex;align-items:center;gap:7px;font:600 .74rem/1 var(--fb);letter-spacing:.06em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:var(--tint);color:var(--blue)}
.chip.open{background:#E6F6EC;color:#0F6B3A}
.chip.open::before{content:"";width:7px;height:7px;border-radius:50%;background:#1E9E5A}
.jcard h3{font-size:clamp(1.4rem,1rem + 1vw,1.75rem);letter-spacing:-.025em;line-height:1.15;font-weight:800}
.jcard .loc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--ink-2);font-size:.95rem;margin-top:6px}
.jcard .loc .i{width:17px;height:17px;color:var(--blue)}
.jcard .loc .sep{color:var(--line-w)}
.jc-facts{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin:0;background:var(--paper);border-radius:16px;padding:16px 18px}
.jc-facts>div{min-width:0}
.jc-facts dt{font:500 .76rem/1.3 var(--fb);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:5px}
.jc-facts dd{margin:0;font:600 1rem/1.3 var(--fb)}
.jc-facts .pay dd{font:800 1.55rem/1 var(--fh);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.jc-facts .pay dd span{font:500 .88rem/1 var(--fb);color:var(--ink-2);letter-spacing:0}
.jc-req .lab{display:block;font:600 .78rem/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px}
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pills li{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.9rem;font-weight:500;background:#fff}
.pills .i{width:15px;height:15px;color:var(--blue)}
.jc-extra{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.jc-extra li{display:flex;align-items:center;gap:8px;font-size:.93rem;font-weight:500;color:var(--ink)}
.jc-extra .i{width:18px;height:18px;color:var(--blue)}
.jcard .note{display:flex;align-items:flex-start;gap:7px;font-size:.78rem;color:var(--ink-2);line-height:1.4}
.jcard .note .i{width:15px;height:15px;color:var(--blue);margin-top:2px}
.jc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}
.gcard{background:transparent;border:2px dashed rgba(14,27,51,.18);border-radius:var(--r-xl);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.gcard .ic{width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid var(--line-w);color:var(--blue);display:grid;place-items:center}
.gcard .ic .i{width:24px;height:24px}
.gcard h3{font-size:1.25rem;letter-spacing:-.02em}
.gcard p{color:var(--ink-2);font-size:.96rem;line-height:1.55}
.gcard .btn{margin-top:auto}
/* ---------- partner (PREVIEW) ---------- */
/* Hero pill: same .kicker style; the company name is static text that never wraps inside itself. When the one-line pill
   does not fit, the fit helper adds .two-line so the pill hugs its two lines instead of stretching across the column. */
.kicker .kname{white-space:nowrap}
.kicker.two-line{max-width:100%}
.kicker.two-line .kl{white-space:nowrap}
.kicker .kt{text-align:left;min-width:0}
/* Partner card(s) after the jobs grid: one .partner per partner/client; the grid takes more cards without layout changes. */
.partners{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:24px}
.partner{background:#fff;border:1px solid var(--line-w);border-radius:var(--r-xl);padding:clamp(22px,3vw,30px) clamp(22px,3vw,34px);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo label" "logo body";column-gap:clamp(24px,3.5vw,44px);row-gap:8px;align-items:center}
.partner .eyebrow{grid-area:label;align-self:end}
.partner .plogo{grid-area:logo;align-self:center;padding-right:clamp(24px,3.5vw,44px);border-right:1px solid var(--line-w)}
.partner .plogo img{width:clamp(208px,20vw,260px);height:auto}
.partner .pbody{grid-area:body;align-self:start;color:var(--ink-2);font-size:.97rem;line-height:1.55;max-width:62ch}
@media(max-width:640px){
  .partner{grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "logo" "body";row-gap:14px}
  .partner .plogo{padding:0;border:0}
  .partner .plogo img{width:min(100%,220px)}
  .partner .pbody{margin-top:-2px}
}
/* ---------- vacancy details ---------- */
.job{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:start}
.jphoto{margin:0}
.jphoto img{border-radius:24px 24px 24px 110px;aspect-ratio:4/3;object-fit:cover;object-position:44% 50%;width:100%;box-shadow:var(--shadow-sm)}
figcaption{font-size:.8rem;color:var(--ink-2);margin-top:10px}
.jlists{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px}
.jlists h3{font-size:1.1rem;margin-bottom:10px}
.ck{list-style:none;padding:0;margin:0}
.ck li{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid var(--line-w);line-height:1.45}
.ck .i{color:var(--blue);margin-top:3px;width:18px;height:18px}
.ck.x .i{color:var(--ink-2)}
.ck li:last-child{border-bottom:0}
.jlists .small{margin-top:10px}
.jlists .span{grid-column:1/-1}
.cond-h{margin:clamp(36px,5vw,56px) 0 22px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px}
.cond-h h3{font-size:1.45rem;letter-spacing:-.025em;font-weight:800}
.cond-h p{color:var(--ink-2);max-width:60ch}
.spec{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 30px;box-shadow:var(--shadow-sm)}
.spec div{display:grid;grid-template-columns:40% 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);align-items:baseline;min-width:0}
.spec div:nth-last-child(-n+2){border-bottom:0}
.spec dt{color:var(--ink-2);font-weight:500;font-size:.95rem}
.spec dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.spec .big dd{font:800 1.45rem/1.1 var(--fh);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tbc{color:var(--ink-2);font-weight:500;border-bottom:1.5px dashed var(--inputb)}
.pcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.card{background:var(--paper);border-radius:var(--r-lg);padding:22px 22px 24px;transition:transform .2s,box-shadow .2s;border:1px solid transparent}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--line-w)}
.card .ic{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--blue);display:grid;place-items:center;margin-bottom:16px;border:1px solid var(--line-w)}
.card .ic .i{width:22px;height:22px}
.card h3{font-size:1.02rem;margin-bottom:8px}.card p{color:var(--ink-2);font-size:.95rem;line-height:1.5}
.notice{margin-top:22px;display:flex;gap:16px;align-items:flex-start;background:var(--tint);border-radius:var(--r-lg);padding:20px 22px}
.notice .i{width:24px;height:24px;color:var(--blue);margin-top:2px}
.notice strong{font-family:var(--fh);font-weight:700;display:block;margin-bottom:4px}
.notice p{color:var(--ink-2);font-size:.95rem;max-width:80ch}
.jd-cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
/* ---------- steps (navy band) ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.steps li{position:relative;counter-increment:s;padding-top:72px}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;top:0;left:0;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.28);color:#fff;display:grid;place-items:center;font:700 .92rem var(--fh);z-index:1}
.steps li:first-child::before{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:25px;left:52px;right:-28px;height:2px;background:rgba(255,255,255,.16)}
.steps h3{font-size:1.15rem;margin-bottom:8px;color:#fff}.steps p{color:#C5CEE3;font-size:.97rem;line-height:1.55}
/* ---------- about ---------- */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:start}
.about .sec-h{margin-bottom:26px}
.about .dont h3{font-size:1rem;margin-bottom:6px}
.about .dont .ck li{padding:8px 0;font-size:.97rem}
.dd{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dd>div{background:var(--paper);border:1px solid var(--line-w);border-radius:var(--r-lg);padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px}
.dd .ic{width:46px;height:46px;border-radius:13px;background:#fff;border:1px solid var(--line-w);color:var(--blue);display:grid;place-items:center}
.dd .ic .i{width:23px;height:23px}
.dd .n{font:700 .74rem/1 var(--fh);letter-spacing:.1em;color:var(--blue);text-transform:uppercase}
.dd p{font-weight:600;line-height:1.45;color:var(--ink)}
/* ---------- apply ---------- */
.apply{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:start}
.apply .side{position:sticky;top:calc(var(--hdr) + 24px)}
.apply .sec-h{margin-bottom:26px}
.next{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.next li{display:flex;gap:12px;counter-increment:n;color:var(--ink-2);font-size:.96rem;line-height:1.5}
.next{counter-reset:n}
.next li::before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid var(--tint-2);color:var(--blue);display:grid;place-items:center;font:700 .8rem var(--fh);margin-top:1px}
.next h3{font-size:1rem;margin-bottom:12px}
.side .privacy{margin-top:22px}
.fcard{background:#fff;border-radius:24px;padding:clamp(20px,3.5vw,40px);box-shadow:var(--shadow);border:1px solid rgba(14,27,51,.06)}
.prog{display:flex;gap:6px}.prog span{height:6px;flex:1;background:var(--tint-2);border-radius:3px;transition:background-color .3s}.prog span.on{background:var(--blue)}
.step-label{font:600 .76rem var(--fb);color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 4px}
.step-title{font-size:1.5rem;margin:0 0 22px;letter-spacing:-.025em;font-weight:800}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.span2{grid-column:1/-1}
.field{margin:0;padding:0;border:0;min-width:0}
.field>label:not(.inline):not(.consent),.field legend{display:block;font:600 .92rem var(--fb);margin-bottom:7px;padding:0;color:var(--navy)}
.field input[type=text],.field input[type=tel],.field input[type=email],.field select,.field textarea{width:100%;min-height:52px;border:1.5px solid var(--inputb);border-radius:var(--r);padding:12px 14px;font:1rem var(--fb);background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--tint-2)}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.field textarea{resize:vertical;min-height:130px}
.field.invalid input,.field.invalid select,.field.invalid textarea,.field.invalid .choice{border-color:var(--err)}
.err{color:var(--err);font-size:.875rem;margin:7px 0 0;font-weight:600;display:flex;gap:6px;align-items:flex-start}
.hint{color:var(--ink-2);font-size:.85rem;margin:7px 0 0}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.choices.one{grid-template-columns:1fr}
.choices.lang4{grid-template-columns:repeat(2,1fr)}
.choice{display:flex;align-items:flex-start;gap:11px;border:1.5px solid var(--inputb);border-radius:var(--r);padding:12px 13px;cursor:pointer;min-height:52px;transition:border-color .15s,background-color .15s;background:#fff}
.choice:hover{border-color:var(--navy)}
.choice input{margin:2px 0 0;accent-color:var(--blue);width:18px;height:18px;flex:none}
.choice:has(input:checked){border-color:var(--blue);background:var(--tint);box-shadow:inset 0 0 0 1px var(--blue)}
.choice:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}
.choice>span{line-height:1.3;font-weight:500}
.choice small{display:block;color:var(--ink-2);font-size:.84rem;font-weight:400;margin-top:2px}
.choice.pos{padding:14px 15px}
.choice.pos>span{display:flex;flex-direction:column;gap:6px;min-width:0}
.choice.pos .t{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-weight:600}
.choice.pos .tag{margin:0}
.choice.pos small{margin:0}
.inline{display:flex;align-items:center;gap:10px;margin-top:8px;min-height:32px;cursor:pointer;font-size:.95rem}
.inline input{width:18px;height:18px;accent-color:var(--blue);margin:0}
.consent{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;font-size:.95rem;line-height:1.45;background:var(--paper)}
.consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--blue);flex:none}
.consent:has(input:checked){border-color:var(--blue);background:var(--tint)}
.consent .tag{margin-left:8px}
.privacy{font-size:.9rem;color:var(--ink-2)}
.fnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.fnav .right{margin-left:auto;display:flex;gap:10px}
.success{background:#fff;border-radius:24px;padding:clamp(24px,4vw,40px);box-shadow:var(--shadow);border:1px solid rgba(14,27,51,.06)}
.success .ok{width:56px;height:56px;border-radius:50%;background:var(--tint);color:var(--blue);display:grid;place-items:center;margin-bottom:16px}
.success .ok .i{width:28px;height:28px}
.success h3{font-size:1.5rem;margin-bottom:8px}.success p{color:var(--ink-2)}
.success .vac{margin:14px 0 0;padding:12px 14px;background:var(--paper);border-radius:12px;font-size:.92rem;color:var(--ink);display:grid;gap:4px}
.success .vac b{font-weight:600;color:var(--ink-2);margin-right:6px}
.success .vac code{font:500 .85rem/1.4 ui-monospace,Consolas,monospace;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.success .small{margin-top:14px}
/* ---------- faq ---------- */
.faqg{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,64px);align-items:start}
.faqg .sec-h{margin-bottom:0;position:sticky;top:calc(var(--hdr) + 24px)}
.faqg .more{margin-top:20px;font-size:.98rem;color:var(--ink-2)}
.faqg .more a{font-weight:600}
.faq{background:#fff;border:1px solid var(--line-w);border-radius:var(--r-lg);padding:4px 24px;box-shadow:var(--shadow-sm)}
details{border-top:1px solid var(--line)}details:first-of-type{border-top:0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font:700 1.06rem var(--fh);letter-spacing:-.01em;border-radius:6px}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--blue)}
summary .i{color:var(--blue);transition:transform .2s;width:22px;height:22px}
details[open] summary .i{transform:rotate(45deg)}
details .a{padding:0 4px 22px;color:var(--ink-2);max-width:70ch;line-height:1.6}
/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:start}
.contact .sec-h{margin-bottom:22px}
.ctl{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ctl li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line-w);border-radius:var(--r-lg);padding:18px 20px}
.ctl .ic{width:44px;height:44px;border-radius:12px;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex:none}
.ctl .ic .i{width:22px;height:22px}
.ctl h3{font-size:1rem;margin-bottom:2px}
.ctl p{color:var(--ink-2);font-size:.92rem}
.ctl .btn{margin-top:10px;min-height:44px;padding:10px 18px;white-space:normal;text-align:center}
.ctl .tag{margin-top:8px}
.contact .small{margin-top:14px}
.mini-ok h3{font-size:1.3rem}
/* ---------- footer ---------- */
.foot{background:var(--navy);color:#C5CEE3;padding:56px 0 28px;font-size:.92rem}
.foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}
.foot .logo{color:#fff}.foot .logo em{color:#9DB4FF}
.foot p{margin:10px 0 0;max-width:46ch}
.foot a{color:#fff;text-decoration:none}.foot a:hover{text-decoration:underline}
.foot ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.foot h3{font:600 .72rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#9DB4FF}
.foot .bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;color:#9AA6C2;max-width:none}
.foot [data-lang][aria-checked=true]{font-weight:600;color:#fff;text-decoration:underline;text-underline-offset:3px}
/* ---------- sticky apply (mobile) ---------- */
.sticky-apply{position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s;z-index:40;display:none}
.sticky-apply.show{transform:none}.sticky-apply.hide{transform:translateY(110%)}
.sticky-apply .btn{width:100%;min-height:52px}
/* ---------- motion ---------- */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
  .card:hover,.jcard:hover,.feat:hover,.btn:hover{transform:none}
}
/* ---------- responsive ---------- */
@media(max-width:1399px){
  .lang{display:none}
  .ldd{display:block}
}
@media(max-width:1180px){
  .nav a{padding:9px 9px;font-size:.9rem}
}
@media(max-width:1040px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px var(--gut) 20px;flex-direction:column;align-items:stretch;gap:2px;box-shadow:0 20px 30px -20px rgba(14,27,51,.3)}
  .nav.open{display:flex}
  .nav a{padding:13px 10px;font-size:1.05rem;border-bottom:1px solid var(--line-w);border-radius:0}
  .nav a:hover{background:transparent}
  .nav .nav-apply{display:inline-flex;margin-top:14px;border:0;justify-content:center;border-radius:var(--r)}
  .lang,.hdr-apply{display:none}
  .ldd{display:block}
  .burger{display:grid}
  .pcards{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:36px 28px}
  .steps li:nth-child(2)::after{display:none}
  .jobs{grid-template-columns:minmax(0,1fr)}
  .gcard{flex-direction:row;flex-wrap:wrap;align-items:center}
  .gcard .ic{flex:none}
  .gcard .txt{flex:1 1 260px;min-width:0}
  .gcard .btn{margin:0}
}
@media(max-width:900px){
  .hero{padding-top:clamp(24px,4vw,40px);padding-bottom:56px}
  .hero .wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "visual" "trust";gap:34px 0}
  .hero h1{font-size:clamp(2.1rem, 1.3rem + 3.6vw, 3rem);margin:20px 0 16px}
  .hero .sub{font-size:1.08rem;margin-bottom:24px}
  .hero .trust{margin-top:0}
  .hero-visual{padding-bottom:0}
  .photo{aspect-ratio:4/3;border-radius:22px 110px 22px 22px}
  .feat{position:relative;left:auto;bottom:auto;width:auto;margin:-30px 14px 0;z-index:1}
  .job,.about,.apply,.faqg,.contact{grid-template-columns:minmax(0,1fr)}
  .jphoto img{aspect-ratio:16/10;border-radius:22px 22px 22px 80px;object-position:44% 45%}
  .apply .side,.faqg .sec-h{position:static}
  .sticky-apply{display:block}
  body{padding-bottom:84px}
  .foot .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .ribbon{font-size:11px}
  .fgrid,.jlists,.dd,.spec{grid-template-columns:1fr}
  .spec{padding:4px 20px;column-gap:0}
  .spec div{grid-template-columns:38% 1fr;gap:12px;padding:13px 0}
  .spec .big dd{font-size:1.25rem}
  .spec div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .spec div:last-child{border-bottom:0}
  .pcards,.steps{grid-template-columns:1fr}
  .steps{gap:28px}
  .steps li{padding:0 0 0 70px;min-height:52px}
  .steps li:not(:last-child)::after{left:25px;top:54px;right:auto;bottom:-30px;width:2px;height:auto}
  .steps li:nth-child(2)::after{display:block}
  .actions .btn{width:100%}
  .trust{flex-direction:column;gap:10px}
  .jc-facts{grid-template-columns:1fr 1fr}
  .jc-facts .pay{grid-column:1/-1}
  .btn{white-space:normal;line-height:1.25;padding-top:10px;padding-bottom:10px}
  .jc-actions .btn{flex:1 1 100%}
  .gcard{flex-direction:column;align-items:flex-start}
  .gcard .txt{flex:0 0 auto}
  .kicker{font-size:.7rem;letter-spacing:.06em}
  .gcard .btn{width:100%}
  .jd-cta .btn{width:100%}
  .faq{padding:0 16px}
  .fnav{flex-direction:column-reverse;align-items:stretch}
  .fnav .right{margin:0;flex-direction:column}
  .fnav .btn{width:100%}
  .foot .cols{grid-template-columns:1fr;gap:28px}
  .choices{grid-template-columns:1fr 1fr}
  .choices.one,.choices.stack{grid-template-columns:1fr}
}
@media(max-width:340px){.hdr .wrap{gap:13px}}
@media(max-width:380px){
  .choices{grid-template-columns:1fr}
  .feat{margin:-24px 10px 0;padding:14px 16px 12px}
  .jc-facts{grid-template-columns:1fr}
  .feat .row{flex-wrap:wrap}
}
/* ---------- DARK PREMIUM (PREVIEW 2026-11-04) ----------
   Intentional CSS dark theme: no inversion or filters; photos and both logos are untouched. Only colours, surfaces, shadows and
   section atmosphere change — content, typography, layout, spacing and breakpoints are the Solsbury preview's. The orange CTA
   (.btn-primary) keeps its approved colour, hover, shadow and shape; every other orange accent reuses var(--orange).
   Section rhythm: every tonal section starts and ends on the page tone (--bg) and lifts to its own tone over --fade, so no
   boundary is a hard seam; each section carries the hero's quiet blue (upper right) / warm (lower left) atmosphere, centred
   inside the section so the glow is zero at its edges. */
:root{
  color-scheme:dark;
  --bg:#15171B;--bg-2:#1B1E24;--bg-tint:#171B27;--surface:#1E2127;--surface-2:#262A33;--blue-t:#9DB4FF;
  --tint:#1A2440;--tint-2:#2A3A64;--orange-soft:rgba(255,107,26,.28);--paper:var(--surface);--paper-2:#1E2127;
  --ink:#F2F3F7;--ink-2:#A7B0C3;--line:rgba(255,255,255,.09);--line-w:rgba(255,255,255,.13);--inputb:rgba(255,255,255,.30);--err:#FF7B72;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 28px 56px -32px rgba(0,0,0,.75);
  --shadow-sm:0 1px 2px rgba(0,0,0,.3),0 12px 28px -20px rgba(0,0,0,.6);
  --fade:clamp(96px,12vw,176px);
  --edge:inset 0 1px 0 rgba(255,255,255,.04);
}
html,body{background:var(--bg)}
body{color:var(--ink)}
.ribbon{background:#2A2410;color:#F3D48A}
a{color:var(--blue-t)}
:focus-visible{outline-color:var(--blue-t)}
.btn-primary:focus-visible{outline-color:#fff} /* contrast correction: the navy keyboard-focus ring is invisible on the dark page; the button itself is unchanged */
.lang button:focus-visible,.ldd .menu button:focus-visible,.ldd summary:focus-visible,.burger:focus-visible,.choice:has(input:focus-visible){outline-color:var(--blue-t)}
.eyebrow{color:var(--blue-t)}
.tag{background:rgba(255,255,255,.06)}
.tag.blue{color:var(--blue-t)}
/* buttons (orange .btn-primary untouched) */
.btn-navy{background:var(--navy-2);border-color:rgba(157,180,255,.18)}
.btn-navy:hover{background:#21386A}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.btn-ghost:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.08);color:#fff}
.btn-link{color:var(--blue-t)}
/* header */
.hdr{background:rgba(21,23,27,.82)}
.hdr.scrolled{box-shadow:0 8px 24px -20px rgba(0,0,0,.8)}
.logo{color:#fff}.logo em{color:var(--blue-t)}
.hdr .mark path:nth-of-type(1){fill:#fff}.hdr .mark path:nth-of-type(2){fill:#9DB4FF} /* the mark's existing footer (dark-surface) colourway; SVG untouched, orange arch unchanged */
.nav a:hover{color:var(--blue-t)}
.lang{background:rgba(255,255,255,.05)}
.lang button[aria-checked=true]{background:var(--blue)}
.lang button:hover{color:#fff}
.ldd summary{background:rgba(255,255,255,.05);color:#fff}
.ldd[open] summary{background:var(--blue);border-color:var(--blue)}
.ldd .menu{background:var(--surface)}
.ldd .menu button[aria-checked=true]{color:var(--blue-t)}
.ldd .menu button[aria-checked=true]::after{background:var(--blue-t)}
.burger{color:#fff}
/* hero */
.hero::before{background:radial-gradient(52% 60% at 86% 8%,rgba(36,80,214,.26) 0%,rgba(36,80,214,0) 70%),radial-gradient(40% 40% at 6% 70%,rgba(255,107,26,.09) 0%,rgba(255,107,26,0) 70%)}
.kicker{background:rgba(255,255,255,.04);border-color:rgba(157,180,255,.3);color:var(--blue-t)}
.hero h1 em{color:var(--blue-t)}
.trust .i{color:var(--blue-t)}
.photo{box-shadow:var(--shadow),0 0 0 1px rgba(255,255,255,.06)}
.feat{background:var(--surface);border-color:rgba(255,255,255,.09);box-shadow:var(--shadow),var(--edge)}
.feat .loc .i,.feat .go{color:var(--blue-t)}
/* section atmosphere + blended boundaries */
.sec{background:radial-gradient(60% 50% at 85% 35%,rgba(36,80,214,.08) 0%,rgba(36,80,214,0) 70%),radial-gradient(45% 40% at 10% 72%,rgba(255,107,26,.05) 0%,rgba(255,107,26,0) 70%),var(--bg)}
.sec.paper{background:radial-gradient(60% 50% at 85% 35%,rgba(36,80,214,.11) 0%,rgba(36,80,214,0) 70%),radial-gradient(45% 40% at 10% 72%,rgba(255,107,26,.06) 0%,rgba(255,107,26,0) 70%),linear-gradient(180deg,var(--bg) 0,var(--bg-2) var(--fade),var(--bg-2) calc(100% - var(--fade)),var(--bg) 100%)}
.sec.tint{background:radial-gradient(60% 50% at 85% 35%,rgba(36,80,214,.14) 0%,rgba(36,80,214,0) 70%),radial-gradient(45% 40% at 10% 72%,rgba(255,107,26,.06) 0%,rgba(255,107,26,0) 70%),linear-gradient(180deg,var(--bg) 0,var(--bg-tint) var(--fade),var(--bg-tint) calc(100% - var(--fade)),var(--bg) 100%)}
.sec.navy{background:linear-gradient(180deg,var(--bg) 0,var(--navy) var(--fade),var(--navy) calc(100% - var(--fade)),var(--bg) 100%)}
.sec.navy::before{background:radial-gradient(60% 55% at 88% 28%,rgba(36,80,214,.42) 0%,rgba(36,80,214,0) 70%),radial-gradient(42% 46% at 8% 80%,rgba(255,107,26,.16) 0%,rgba(255,107,26,0) 70%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0,#000 var(--fade),#000 calc(100% - var(--fade)),rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0,#000 var(--fade),#000 calc(100% - var(--fade)),rgba(0,0,0,0) 100%)}
/* jobs */
.jcard{background:var(--surface);box-shadow:var(--shadow-sm),var(--edge)}
.jcard:hover{box-shadow:var(--shadow),var(--edge)}
.chip{color:var(--blue-t)}
.chip.open{background:rgba(30,158,90,.16);color:#5EDB95}.chip.open::before{background:#34C979}
.jcard .loc .i,.pills .i,.jc-extra .i,.ck .i,.jcard .note .i{color:var(--blue-t)}
.jc-facts{background:var(--surface-2)}
.pills li{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.15)}
.gcard{border-color:rgba(255,255,255,.16)}
.gcard .ic{background:var(--surface);color:var(--blue-t)}
.partner{background:var(--surface);box-shadow:var(--shadow-sm),var(--edge)}
.partner .plogo img{background:#F7F5F0;border-radius:14px;padding:14px 18px;width:calc(clamp(208px,20vw,260px) + 36px)} /* light local surface for the dark-grey official logo; artwork size unchanged (padding added to width) */
/* vacancy details */
.jphoto img{box-shadow:var(--shadow-sm),0 0 0 1px rgba(255,255,255,.06)}
.spec{background:var(--surface);box-shadow:var(--shadow-sm),var(--edge)}
.card{background:var(--surface);box-shadow:var(--edge)}
.card:hover{box-shadow:var(--shadow-sm),var(--edge)}
.card .ic{background:var(--surface-2);color:var(--blue-t)}
/* about */
.dd>div{background:var(--surface);box-shadow:var(--edge)}
.dd .ic{background:var(--surface-2);color:var(--blue-t)}
.dd .n{color:var(--blue-t)}
/* application + contact forms */
.fcard,.success{background:var(--surface);border-color:rgba(255,255,255,.08);box-shadow:var(--shadow),var(--edge)}
.field>label:not(.inline):not(.consent),.field legend{color:var(--ink)}
.field input[type=text],.field input[type=tel],.field input[type=email],.field select,.field textarea{background:var(--bg)}
.field input::placeholder,.field textarea::placeholder{color:#7D8597}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-t);box-shadow:0 0 0 3px rgba(157,180,255,.22)}
.field select{background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2F3F7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px} /* same chevron, light stroke; repeat/position/size restated because the shorthand above resets them */
.choice{background:var(--bg)}
.choice:hover{border-color:rgba(255,255,255,.6)}
.choice:has(input:checked){border-color:var(--blue-t);box-shadow:inset 0 0 0 1px var(--blue-t)}
.consent{background:var(--surface-2)}
.consent:has(input:checked){border-color:var(--blue-t)}
.success .ok{color:var(--blue-t)}
.success .vac{background:var(--surface-2)}
.success .vac code{background:var(--bg)}
/* faq + contact */
.faq{background:var(--surface);box-shadow:var(--shadow-sm),var(--edge)}
summary:hover,summary .i{color:var(--blue-t)}
.ctl li{background:var(--surface);box-shadow:var(--edge)}
.ctl .ic{color:var(--blue-t)}
/* footer: rises from the page tone into navy, no hard seam */
.foot{background:radial-gradient(55% 70% at 92% 100%,rgba(36,80,214,.16) 0%,rgba(36,80,214,0) 70%),linear-gradient(180deg,var(--bg) 0,var(--navy) clamp(120px,14vw,220px),#0C1628 100%);border-top:1px solid rgba(157,180,255,.08)}
.sticky-apply{background:rgba(21,23,27,.94)}
@media(max-width:1040px){
  .nav{background:var(--bg-2);box-shadow:0 20px 30px -20px rgba(0,0,0,.8)}
}
@media(max-width:640px){
  .partner .plogo img{width:min(100%,256px)}
}
/* ---------- DARK PREMIUM v2 — SECTION IDENTITY (PREVIEW 2026-11-05) ----------
   One controlled refinement of the dark premium candidate: each major section lands on its own tone from the existing dark
   family (deep charcoal / graphite / navy) instead of lifting from and returning to one page grey. Blending is kept: every
   section starts on the tone the previous one ended on and reaches its own tone over --fade (top of the section only), then
   holds it — no boundary is a hard seam. The identical per-section blue/warm glows are dropped; only the hero, the vacancy
   surface (one quiet depth glow), the navy "How it works" band and the footer keep atmosphere. The two lighter graphite
   sections lift their card surface token locally so cards stay clearly distinguishable. Content, typography, layout, spacing,
   breakpoints, both logos and the orange .btn-primary are untouched. */
:root{
  --t-hero:#15171B;    /* deep charcoal (page tone) */
  --t-jobs:#20242B;    /* graphite */
  --t-vac:#111317;     /* deep surface */
  --t-about:#171A21;   /* muted cool neutral */
  --t-apply:#151A28;   /* navy-tinted charcoal */
  --t-faq:#1C2026;     /* softer graphite */
  --t-contact:#121418; /* deep */
}
#jobs{--surface:#2A2E36;--surface-2:#1C1F25;background:linear-gradient(180deg,var(--t-hero) 0,var(--t-jobs) var(--fade),var(--t-jobs) 100%)}
#job-dongen{background:radial-gradient(55% 45% at 85% 30%,rgba(36,80,214,.09) 0%,rgba(36,80,214,0) 70%),linear-gradient(180deg,var(--t-jobs) 0,var(--t-vac) var(--fade),var(--t-vac) 100%)}
#how{background:linear-gradient(180deg,var(--t-vac) 0,var(--navy) var(--fade),var(--navy) 100%)}
#about{background:linear-gradient(180deg,var(--navy) 0,var(--t-about) var(--fade),var(--t-about) 100%)}
#apply{background:linear-gradient(180deg,var(--t-about) 0,var(--t-apply) var(--fade),var(--t-apply) 100%)}
#faq{--surface:#262A32;background:linear-gradient(180deg,var(--t-apply) 0,var(--t-faq) var(--fade),var(--t-faq) 100%)}
#contact{background:linear-gradient(180deg,var(--t-faq) 0,var(--t-contact) var(--fade),var(--t-contact) 100%)}
.foot{background:radial-gradient(55% 70% at 92% 100%,rgba(36,80,214,.16) 0%,rgba(36,80,214,0) 70%),linear-gradient(180deg,var(--t-contact) 0,var(--navy) clamp(120px,14vw,220px),#0C1628 100%)}

.closed-note{display:none}
html.forms-closed .closed-note{display:block}
html.forms-closed #apply-form,html.forms-closed #contact form,html.forms-closed #apply .side .lede,html.forms-closed #apply .side .privacy,html.forms-closed #contact .sec-h .lede,html.forms-closed #contact .ctl .btn{display:none}
