/* Jupiter Recruitment | site styles. Palette: Jupiter Navy #0F2038, Champagne Gold #BE9E62 (accents only), Antique Gold #86682F (gold-toned text on white), white. See Jupiter-Brand-Guidelines.pdf */
@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}

:root{
  --paper:#FFFFFF;
  --paper-2:#F7F4EE;
  --white:#FFFFFF;
  --ink:#0F2038;
  --ink-2:#22324A;
  --muted:#4F5B6A;
  --line:#E3DCCB;
  --line-soft:#EEE8DB;
  --accent:#86682F;
  --gold:#BE9E62;
  --gold-light:#D8C3A0;
  --tint:#E8DDC4;
  --accent-ink:#6F5524;
  --deep:#0B1A2F;
  --deep-2:#12243D;
  --deep-line:#263852;
  --deep-muted:#A9B4C2;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wrap:1200px;
  --gutter:clamp(20px,4vw,40px);
  --radius:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
p{margin:0 0 1.1em}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.4rem,5.2vw,4.25rem);letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
h3{font-size:1.45rem;line-height:1.25}
h4{font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:0}
ul,ol{margin:0;padding:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:12px;top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:760px}
.eyebrow{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.4rem}
.lede{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.45;color:var(--ink-2);max-width:40ch}
.muted{color:var(--muted)}
.small{font-size:.9rem}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line-soft)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.wordmark{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.wordmark svg{width:30px;height:30px;flex:none}
.wordmark span{display:flex;flex-direction:column;line-height:1}
.wordmark b{font-family:var(--serif);font-weight:500;font-size:1.55rem;letter-spacing:-.01em}
.wordmark small{font-size:.62rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav{display:flex;align-items:center;gap:6px}
.nav>a,.nav .has-menu>button{font:500 .93rem/1 var(--sans);color:var(--ink-2);text-decoration:none;padding:12px 12px;background:none;border:0;cursor:pointer;border-radius:var(--radius)}
.nav>a:hover,.nav .has-menu>button:hover,.nav a[aria-current="page"]{color:var(--accent-ink)}
.nav .has-menu{position:relative}
.nav .has-menu>button::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px}
.mega{position:absolute;left:50%;top:100%;transform:translateX(-38%);width:min(760px,90vw);background:var(--white);border:1px solid var(--line);box-shadow:0 24px 48px -24px rgba(17,27,39,.25);padding:28px 30px;display:none;grid-template-columns:1.1fr 1fr 1fr;gap:6px 28px}
.has-menu:hover .mega,.has-menu:focus-within .mega,.has-menu.open .mega{display:grid}
.mega a{display:block;text-decoration:none;font-size:.92rem;padding:7px 0;color:var(--ink-2);border-bottom:1px solid var(--line-soft)}
.mega a:hover{color:var(--accent-ink)}
.mega .flag{grid-row:span 6;align-self:start;border:0;padding:0 18px 0 0;border-right:1px solid var(--line-soft)}
.mega .flag em{display:block;font-style:normal;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
.mega .flag strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.35rem;line-height:1.2;color:var(--ink);margin-bottom:8px}
.mega .flag p{font-size:.86rem;color:var(--muted);margin:0}
.mega .all{grid-column:1/-1;border:0;margin-top:10px;font-weight:600;color:var(--accent-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 .92rem/1 var(--sans);letter-spacing:.01em;text-decoration:none;padding:15px 22px;border-radius:var(--radius);border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--ink-2);border-color:var(--ink-2)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn--light:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn--line-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn--line-light:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn .arr{width:14px;height:1px;background:currentColor;position:relative}
.btn .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}
.nav>a.btn{margin-left:10px;padding:12px 18px;background:var(--ink);color:#fff;border:1px solid var(--ink)}
.nav>a.btn:hover{background:var(--ink-2);border-color:var(--ink-2);color:#fff}
.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:1.5px;background:var(--ink);margin:6px 0;transition:transform .2s}

/* Sections */
section{padding:clamp(64px,9vw,120px) 0}
.rule-top{border-top:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.section-head h2{margin:0}
.section-head p{margin:0;color:var(--muted);max-width:52ch}
.num{font-family:var(--serif);font-size:.95rem;color:var(--accent);margin-bottom:14px;display:block}

/* Hero */
.hero{padding:clamp(56px,8vw,112px) 0 0;position:relative;overflow:hidden}
.hero .wrap{position:relative}
.hero h1{max-width:17ch;margin-bottom:.45em}
.hero .lede{margin-bottom:2.2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-mark{position:absolute;right:calc(var(--gutter) * -1 - 120px);top:-40px;width:520px;height:520px;opacity:.9;pointer-events:none}
.expertise{margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.expertise ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between}
.expertise li{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);padding:20px 0}
.expertise li+li::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin:0 clamp(10px,1.6vw,22px) 2px 0;vertical-align:middle}

/* Practice selector */
.selector{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);border:1px solid var(--line);background:var(--white)}
.selector-list{list-style:none;border-right:1px solid var(--line)}
.selector-list li+li{border-top:1px solid var(--line-soft)}
.selector-list button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 24px;font-size:.96rem;color:var(--ink-2);cursor:pointer}
.selector-list button:hover{background:var(--paper)}
.selector-list button[aria-selected="true"]{background:var(--ink);color:#fff}
.selector-list button[aria-selected="true"]::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg)}
.selector-list button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.selector-panel{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column}
.selector-panel .eyebrow{margin-bottom:1rem}
.selector-panel h3{font-size:clamp(1.7rem,2.6vw,2.3rem);margin-bottom:.6em}
.selector-panel p{color:var(--ink-2);font-size:1.05rem;max-width:44ch}
.selector-panel .roles{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line-soft);padding-top:18px;margin-top:6px}
.selector-panel .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:28px}
.selector-panel .more{font-size:.92rem;font-weight:600;color:var(--accent-ink);margin-top:20px;display:inline-block}
.selector-mobile{display:none}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
.split>div{padding:clamp(32px,5vw,64px)}
.split .emp{background:var(--deep);color:#E8ECF0}
.split .emp h2,.split .emp h3{color:#fff}
.split .emp .eyebrow{color:var(--gold)}
.split .cand{background:var(--white)}
.split h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.cta-list{list-style:none;margin:28px 0 0;border-top:1px solid var(--line)}
.emp .cta-list{border-color:var(--deep-line)}
.cta-list a{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:500}
.emp .cta-list a{border-color:var(--deep-line)}
.cta-list a::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.cta-list a:hover{color:var(--accent)}
.emp .cta-list a:hover{color:var(--gold-light)}
.cta-list a:hover::after{transform:translateX(4px) rotate(45deg)}
.fee-note{margin-top:22px;font-size:.92rem;font-weight:600;color:var(--accent-ink)}

/* Steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.steps li{padding:26px 28px 0 0}
.steps li+li{padding-left:28px;border-left:1px solid var(--line)}
.steps .num{margin-bottom:22px}
.steps h3{font-size:1.3rem;margin-bottom:.5em}
.steps p{color:var(--muted);font-size:.96rem;margin:0}

/* Dark band */
.band{background:var(--deep);color:#DDE3E9}
.band h2{color:#fff}
.band .eyebrow{color:var(--gold)}
.band p{color:var(--deep-muted)}
.band-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end}
.band .actions{display:flex;flex-wrap:wrap;gap:12px}

/* Practices grid */
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.practice-grid a{display:flex;flex-direction:column;padding:28px 28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;min-height:210px;background:transparent;transition:background .15s}
.practice-grid a:hover{background:var(--white)}
.practice-grid .num{margin-bottom:auto}
.practice-grid h3{font-size:1.35rem;margin:28px 0 8px}
.practice-grid p{font-size:.9rem;color:var(--muted);margin:0}
.practice-grid a.flagship{grid-column:span 2;grid-row:span 2;background:var(--ink);color:#fff;justify-content:flex-start}
.practice-grid a.flagship h3{margin-top:auto}
.practice-grid a.flagship .num{margin-bottom:0}
.practice-grid a.flagship h3{color:#fff;font-size:1.9rem}
.practice-grid a.flagship p{color:var(--deep-muted);max-width:52ch}
.practice-grid a.flagship .num{color:var(--gold)}
.practice-grid a.flagship:hover{background:var(--deep-2)}

/* Page header */
.page-head{padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}
.crumbs{font-size:.82rem;color:var(--muted);margin-bottom:28px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span{margin:0 8px;color:var(--line)}
.page-head h1{max-width:20ch}
.page-head .lede{max-width:46ch;margin:0}

/* Content layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(40px,6vw,96px);padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.prose h2{font-size:clamp(1.6rem,2.4vw,2.1rem);margin-top:2.4em}
.prose h2:first-child{margin-top:0}
.prose>p{max-width:64ch}
.prose ul.ticks{list-style:none;margin:0 0 1.4em}
.prose ul.ticks li{padding:12px 0 12px 28px;border-bottom:1px solid var(--line-soft);position:relative;max-width:64ch}
.prose ul.ticks li::before{content:"";position:absolute;left:2px;top:23px;width:12px;height:1px;background:var(--gold)}
.roles-table{width:100%;border-collapse:collapse;margin:8px 0 1.6em;font-size:.97rem}
.roles-table th,.roles-table td{text-align:left;vertical-align:top;padding:16px 0;border-bottom:1px solid var(--line)}
.roles-table th{width:34%;font-family:var(--serif);font-weight:500;font-size:1.08rem;padding-right:24px;color:var(--ink)}
.roles-table td{color:var(--ink-2)}
.areas{list-style:none;columns:2;column-gap:40px;margin:0 0 1.6em;border-top:1px solid var(--line)}
.areas li{break-inside:avoid;padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:.98rem}
.services{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin-bottom:1.6em}
.services div{padding:22px 24px 22px 0;border-bottom:1px solid var(--line)}
.services div:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.services h3{font-size:1.2rem;margin-bottom:.4em}
.services p{font-size:.95rem;color:var(--muted);margin:0}
.notice{border-left:2px solid var(--gold);background:var(--white);padding:18px 22px;font-size:.95rem;color:var(--ink-2);margin:0 0 1.6em;max-width:64ch}
.notice strong{color:var(--ink)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-family:var(--serif);font-size:1.18rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:28px;width:9px;height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:32px}
.faq details p{color:var(--ink-2);max-width:62ch;padding-bottom:12px}

/* Aside */
.aside{position:relative}
.aside-inner{position:sticky;top:104px;display:flex;flex-direction:column;gap:18px}
.aside-box{border:1px solid var(--line);background:var(--white);padding:26px}
.aside-box.dark{background:var(--deep);border-color:var(--deep);color:#DDE3E9}
.aside-box h4{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin:0 0 4px;color:inherit}
.aside-box.dark h4{color:#fff}
.aside-box p{font-size:.88rem;color:var(--muted);margin:0 0 6px}
.aside-box.dark p{color:var(--deep-muted)}
.aside-box .cta-list{margin-top:14px}
.aside-box .cta-list a{padding:13px 0;font-size:.94rem}
.aside-box.dark .cta-list{border-color:var(--deep-line)}
.aside-box.dark .cta-list a{border-color:var(--deep-line)}
.aside-box.dark .cta-list a:hover{color:var(--gold-light)}

/* Related */
.related{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;border-top:1px solid var(--line)}
.related a{display:block;padding:15px 0;border-bottom:1px solid var(--line-soft);text-decoration:none;font-size:.95rem}
.related a:hover{color:var(--accent-ink)}

/* Forms */
.form-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.form-intro p{color:var(--ink-2);max-width:42ch}
.next{list-style:none;counter-reset:n;margin-top:28px;border-top:1px solid var(--line)}
.next li{counter-increment:n;padding:14px 0 14px 36px;border-bottom:1px solid var(--line-soft);position:relative;font-size:.95rem;color:var(--ink-2)}
.next li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--serif);color:var(--accent)}
form.jr-form{background:var(--white);border:1px solid var(--line);padding:clamp(24px,4vw,48px)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.84rem;font-weight:600;color:var(--ink-2)}
.field label .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;width:100%;transition:border-color .15s,background .15s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);background:#fff}
.field input[type=file]{padding:10px;background:transparent;border-style:dashed}
.field .hint{font-size:.8rem;color:var(--muted)}
.check{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--ink-2)}
.check input{margin-top:4px;width:17px;height:17px;accent-color:var(--ink);flex:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line-soft)}
.form-foot p{margin:0;font-size:.82rem;color:var(--muted);max-width:40ch}
.form-status{grid-column:1/-1;font-size:.95rem;padding:0;margin-top:18px}
.form-status.ok{border-left:2px solid #3F6B4E;padding:12px 16px;background:#EEF3EE}
.form-status.err{border-left:2px solid #A33A2A;padding:12px 16px;background:#F7ECE9}
.form-status.info{border-left:2px solid var(--gold);padding:12px 16px;background:var(--paper)}

/* Cards for employers/candidates hubs */
.route-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.route-grid.three{grid-template-columns:repeat(3,1fr)}
.route-grid a{display:flex;flex-direction:column;padding:30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;min-height:240px;background:var(--white);transition:background .15s}
.route-grid a:hover{background:var(--paper-2)}
.route-grid h3{font-size:1.4rem;margin:0 0 10px}
.route-grid p{font-size:.92rem;color:var(--muted);margin:0 0 20px}
.route-grid .go{margin-top:auto;font-size:.88rem;font-weight:600;color:var(--accent-ink)}
.two-col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px)}
.dont{list-style:none;border-top:1px solid var(--line)}
.dont li{padding:16px 0;border-bottom:1px solid var(--line-soft);color:var(--ink-2)}
.dont li strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--ink)}

/* Empty jobs */
.empty{border:1px solid var(--line);background:var(--white);padding:clamp(32px,5vw,64px);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:40px;align-items:center}
.empty h2{margin-bottom:.4em}
.empty .actions{display:flex;flex-direction:column;gap:10px}

/* Legal */
.legal{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.legal h2{font-size:1.6rem;margin-top:2.2em}
.legal p,.legal li{max-width:68ch;color:var(--ink-2)}
.legal ul{padding-left:1.2em;margin:0 0 1.2em}
.legal li{margin-bottom:.4em}

/* Footer */
.site-footer{background:var(--deep);color:var(--deep-muted);padding:clamp(56px,7vw,88px) 0 32px;font-size:.92rem}
.site-footer a{text-decoration:none;color:#DDE3E9}
.site-footer a:hover{color:#fff;text-decoration:underline}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--deep-line)}
.foot-top .wordmark{color:#fff;margin-bottom:20px}
.foot-top .wordmark small{color:var(--deep-muted)}
.foot-top h4{color:#fff;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;margin:6px 0 16px}
.foot-top ul{list-style:none}
.foot-top li{margin-bottom:9px}
.foot-top p{max-width:34ch}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;font-size:.82rem}
.foot-bottom p{margin:0;max-width:72ch}

/* Responsive */
@media (max-width:1080px){
  .nav>a.hide-md{display:none}
  .route-grid{grid-template-columns:repeat(2,1fr)}
  .hero-mark{width:400px;height:400px;right:-180px}
}
@media (max-width:960px){
  .menu-toggle{display:block}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}
  .nav{position:fixed;inset:76px 0 0 0;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 40px;overflow-y:auto;display:none;border-top:1px solid var(--line)}
  .nav.open{display:flex}
  .nav>a,.nav .has-menu>button,.nav>a.hide-md{display:block;width:100%;text-align:left;font-size:1.15rem;padding:18px 0;border-bottom:1px solid var(--line-soft)}
  .nav .has-menu>button{display:flex;justify-content:space-between;align-items:center}
  .mega{position:static;transform:none;width:auto;box-shadow:none;border:0;padding:6px 0 14px 14px;grid-template-columns:1fr;background:transparent;display:none}
  .has-menu:hover .mega,.has-menu:focus-within .mega{display:none}
  .has-menu.open .mega{display:grid}
  .mega .flag{grid-row:auto;border:0;border-bottom:1px solid var(--line-soft);padding:8px 0}
  .mega .flag strong{font-size:1.1rem;margin:0}.mega .flag p{display:none}
  .nav>a.btn{margin:24px 0 0;padding:17px;text-align:center;font-size:1rem;border-bottom:1px solid var(--ink)}
  body.menu-open{overflow:hidden}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .section-head,.band-grid,.two-col,.form-wrap,.layout{grid-template-columns:1fr}
  .selector{grid-template-columns:1fr}
  .selector-list{display:none}
  .selector-mobile{display:block;padding:0 0 28px;margin-bottom:24px;border-bottom:1px solid var(--line-soft)}
  #sel-label{display:none}
  .selector-mobile label{font-size:.84rem;font-weight:600;display:block;margin-bottom:8px}
  .selector-mobile select{font:inherit;width:100%;padding:14px;border:1px solid var(--ink);background:var(--paper);border-radius:var(--radius)}
  .split{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps li:nth-child(3){padding-left:0;border-left:0}
  .steps li{padding-bottom:28px}
  .practice-grid{grid-template-columns:1fr 1fr}
  .practice-grid a.flagship{grid-column:auto;grid-row:auto}
  .aside-inner{position:static}
  .related{grid-template-columns:1fr 1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .hero-mark{display:none}
  .empty{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:16px}
  .site-header .wrap{height:68px}
  .nav{inset:68px 0 0 0}
  .expertise ul{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:14px 0}
  .expertise li{padding:9px 0;font-size:.74rem}
  .expertise li+li::before{display:none}
  .steps{grid-template-columns:1fr}
  .steps li,.steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .steps li:first-child{border-top:0}
  .practice-grid{grid-template-columns:1fr}
  .practice-grid a{min-height:0}
  .route-grid,.route-grid.three{grid-template-columns:1fr}
  .route-grid a{min-height:0}
  .areas{columns:1}
  .services{grid-template-columns:1fr}
  .services div:nth-child(even){padding-left:0;border-left:0}
  .fields{grid-template-columns:1fr}
  .related{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .roles-table th,.roles-table td{display:block;width:100%;padding:0}
  .roles-table th{padding-top:16px;border:0}
  .roles-table td{padding:4px 0 16px}
  .hero-actions .btn,.band .actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.site-footer .wordmark svg>circle{fill:#FFFFFF}
@media (max-width:620px){.foot-top h4.spacer{display:none}.foot-top>div:nth-child(3){margin-top:-30px}}

/* ===== v2: platform additions ===== */
.brand{display:inline-flex;align-items:center}
.brand img{height:40px;width:auto}
.foot-logo{display:inline-block;margin-bottom:18px}
.foot-logo img{height:40px;width:auto}
.site-footer address{font-style:normal;color:var(--deep-muted);font-size:.9rem;line-height:1.6;margin:0 0 12px}
address.addr{font-style:normal;line-height:1.65;margin:0 0 1.1em}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sample-bar{background:#B3261E;color:#fff;text-align:center;font-size:.85rem;padding:8px 16px;letter-spacing:.02em}
.sample-bar strong{letter-spacing:.14em;margin-right:8px}
.sample-note{border-color:#B3261E!important}

/* home routes */
.hero{padding-bottom:clamp(40px,5vw,72px)}
.hero h1{max-width:22ch;font-size:clamp(2.1rem,4.4vw,3.6rem)}
.routes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:clamp(28px,4vw,44px) 0 clamp(32px,4vw,48px)}
.route{display:flex;flex-direction:column;gap:8px;text-decoration:none;padding:clamp(26px,3.4vw,44px);min-height:clamp(200px,22vw,270px);border:1px solid var(--ink);transition:transform .15s,background .15s}
.route--hire{background:var(--deep);color:#fff;border-color:var(--deep)}
.route--job{background:var(--white);color:var(--ink)}
.route:hover{transform:translateY(-2px)}
.route--job:hover{background:#fff}
.route-k{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.route-t{font-family:var(--serif);font-size:clamp(2rem,4vw,3.3rem);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase}
.route-d{max-width:40ch;font-size:.97rem;opacity:.85}
.route-go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.95rem;padding-top:12px}
.route--hire .route-go{color:var(--gold-light)}
.route--job .route-go{color:var(--accent-ink)}
.route-go .arr{width:14px;height:1px;background:currentColor;position:relative}
.route-go .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}
.prio{border-top:1px solid var(--line);padding-top:18px}
.prio-label{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.prio ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px}
.prio a{display:flex;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line-soft);text-decoration:none;font-weight:500;font-size:.98rem}
.prio a:hover{color:var(--accent-ink)}
.prio a.flag .pl{color:var(--accent-ink);font-weight:600}
.prio .num{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
.intro-band{padding:clamp(40px,5vw,72px) 0}

/* global talent network */
.gtn-section{background:var(--deep);color:#DDE3E9;padding:clamp(56px,7vw,104px) 0}
.gtn-section h1,.gtn-section h2,.gtn-section h3{color:#fff}
.gtn-section .eyebrow{color:#D8C3A0}
.gtn-intro{max-width:760px;margin-bottom:clamp(28px,4vw,48px)}
.gtn-intro h1{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.gtn-body{font-size:1.08rem;color:#C9D1DA;max-width:62ch}
.gtn-stage{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.gtn-mapwrap{position:relative;border:1px solid var(--deep-line);background:#091629;padding:clamp(10px,1.6vw,20px)}
.gtn-map{width:100%;height:auto;overflow:visible}
.gtn-map .dots{fill:none}
.gtn-map .dots-base{stroke:#3A4859}
.gtn-map .dots-placement_market{stroke:#7F8EA0}
.gtn-map .dots-sourcing_market{stroke:#D8C3A0}
.gtn-map .flow-base{fill:none;stroke:rgba(216,195,160,.22);stroke-width:1.5}
.gtn-map .flow{fill:none;stroke:#D8C3A0;stroke-width:2;stroke-dasharray:6 14;animation:gtnflow 2.4s linear infinite}
@keyframes gtnflow{to{stroke-dashoffset:-40}}
.gtn-map .mk{cursor:pointer;outline:none}
.gtn-map .mk .hit{fill:transparent}
.gtn-map .mk text{fill:#E9EDF1;font:600 15px var(--sans);letter-spacing:.02em;paint-order:stroke;stroke:#091629;stroke-width:4px}
.gtn-map .mk-sourcing_market .ring{fill:rgba(216,195,160,.16);stroke:#D8C3A0;stroke-width:1.5}
.gtn-map .mk-sourcing_market .core{fill:#D8C3A0}
.gtn-map .mk-business_location .ring{fill:rgba(255,255,255,.1);stroke:#fff;stroke-width:2}
.gtn-map .mk-business_location .core{fill:#fff}
.gtn-map .mk-placement_market .halo{fill:rgba(127,142,160,.12);stroke:#7F8EA0;stroke-width:1.2;stroke-dasharray:3 4}
.gtn-map .mk:hover .ring,.gtn-map .mk:focus-visible .ring,.gtn-map .mk.on .ring{stroke-width:3.5}
.gtn-map .mk:focus-visible .hit{stroke:var(--gold-light);stroke-width:2}
.gtn-map .mk.on text{fill:var(--gold-light)}
.gtn-legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:.82rem;color:#C9D1DA}
.gtn-legend li,.gtn-card .eyebrow{display:flex;align-items:center;gap:8px}
.sw{width:11px;height:11px;border-radius:50%;flex:none;display:inline-block}
.lg-business_location .sw,.gc-business_location .sw{background:#fff}
.lg-sourcing_market .sw,.gc-sourcing_market .sw{background:#D8C3A0}
.lg-placement_market .sw,.gc-placement_market .sw{background:transparent;border:1.5px dashed #7F8EA0}
.lg-recruitment_partner .sw{background:#6F8FB0}
.lg-jupiter_office .sw{background:var(--gold);box-shadow:0 0 0 2px #fff inset}
.gtn-panel{border:1px solid var(--deep-line);background:var(--deep-2);padding:26px;min-height:100%}
.gtn-panel h3{font-size:1.7rem;margin-bottom:8px}
.gtn-panel .muted{color:#AEB8C3;font-size:.92rem}
.gtn-panel .hint{color:#8D99A6;margin:18px 0 0}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.tags li{border:1px solid rgba(216,195,160,.45);color:var(--tint);font-size:.8rem;padding:5px 10px;border-radius:999px}
.tags:empty{display:none}
.gtn-section .more{color:var(--gold-light)}
.gtn-cards{display:none}
.gtn-card{border:1px solid var(--deep-line);background:var(--deep-2);padding:22px}
.gtn-card h3{margin-bottom:6px}
.gtn-card p{font-size:.92rem;color:#AEB8C3}
.gtn-ctas{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(28px,4vw,44px)}
.gtn-cta{border:1px solid var(--deep-line);padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;align-items:flex-start;gap:14px;background:var(--deep-2)}
.gtn-cta.dark{background:#091629}
.gtn-cta h3{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:0}
.gtn-note{margin:22px 0 0;color:#8D99A6;max-width:90ch}
.gtn-page{padding-top:clamp(36px,4vw,56px)}
.page-head.slim{padding:20px 0;border:0}

/* jobs */
.filters{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:14px;align-items:end;border:1px solid var(--line);background:var(--white);padding:20px}
.filters .linklike{font-size:.85rem;color:var(--muted);padding-bottom:14px}
.jobs-count{margin:18px 0 12px}
.jobs-list{list-style:none;display:grid;gap:14px;margin-bottom:20px}
.jobs-list:empty{display:none}
.job-card a{display:block;border:1px solid var(--line);background:var(--white);padding:24px 26px;text-decoration:none;transition:border-color .15s}
.job-card a:hover{border-color:var(--ink)}
.job-card h3{margin:2px 0 8px}
.job-card p{color:var(--muted);font-size:.94rem;margin-bottom:10px}
.job-meta{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.84rem;font-weight:600;color:var(--ink-2);margin-bottom:10px}
.facts{margin:10px 0 18px}
.facts div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:.88rem}
.facts dt{color:var(--muted)}
.facts dd{margin:0;font-weight:600;text-align:right}
.btn.full{width:100%}
.share{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.share .btn{padding:11px 14px;font-size:.84rem}
.applying{border-left:3px solid var(--gold);padding:10px 0 10px 16px;margin:20px 0}
.applying .eyebrow{margin:0 0 4px}
.applying-title{font-family:var(--serif);font-size:1.3rem;margin:0}

/* forms */
.salary{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:10px}
.salary.mm{grid-template-columns:1.2fr 1.2fr 1fr 1.3fr}
.related.two{grid-template-columns:1fr 1fr}

/* cookie banner */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:14px var(--gutter)}
.cookie-inner{max-width:var(--wrap);margin:0 auto;background:var(--white);border:1px solid var(--ink);box-shadow:0 12px 40px rgba(17,27,39,.18);padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:18px 28px;align-items:center;font-size:.9rem}
.cookie-title{font-family:var(--serif);font-size:1.25rem;margin:0 0 4px}
.cookie-inner p{margin:0}
.cookie-prefs{display:grid;gap:10px;margin-top:14px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.cookie-actions .btn{padding:12px 18px}
.site-footer .linklike{color:inherit}

@media (max-width:1080px){.prio ul{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr 1fr}.filters .kw{grid-column:1/-1}}
@media (max-width:960px){
  .gtn-stage{grid-template-columns:1fr}
  .gtn-panel{display:none}
  .gtn-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
  .gtn-ctas{grid-template-columns:1fr}
  .cookie-inner{grid-template-columns:1fr}
  .cookie-actions{justify-content:flex-start}
}
@media (max-width:620px){
  .routes{grid-template-columns:1fr}
  .route{min-height:0}
  .gtn-cards{grid-template-columns:1fr}
  .gtn-map .mk text{font-size:22px}
  .filters{grid-template-columns:1fr}
  .salary,.salary.mm{grid-template-columns:1fr 1fr}
  .related.two{grid-template-columns:1fr}
  .facts dd{text-align:right}
}
@media (prefers-reduced-motion:reduce){.gtn-map .flow{animation:none;stroke-dasharray:none}}
/* v2 tweaks */
.hero{padding-top:clamp(36px,4.5vw,64px)}
.hero h1{max-width:28ch;font-size:clamp(2rem,3.5vw,3.05rem)}
.routes{margin-top:clamp(22px,3vw,34px)}
.route{min-height:clamp(190px,17vw,230px)}
.gtn-map .mk text{font-size:19px}
.gtn-map .flow-base{stroke:rgba(216,195,160,.35)}
.gtn-map .flow{stroke-width:2.6}
.gtn-section .btn:not(.btn--light){background:var(--gold);border-color:var(--gold);color:var(--ink)}
.gtn-section .btn:not(.btn--light):hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--ink)}
.gtn-panel .more{display:inline-block;margin-top:10px}
@media (max-width:620px){.gtn-map .mk text{font-size:28px}}
.filters .field input,.filters .field select{height:48px;padding-top:0;padding-bottom:0}.filters .field input[type=search]{-webkit-appearance:none;appearance:none}
[hidden]{display:none!important}
.foot-top .fh{font-family:var(--sans);color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:6px 0 16px;line-height:1.4}
.crumbs .cur{color:var(--muted)}
.gtn-panel .ph{font-size:1.7rem;margin-bottom:8px}
.gtn-card h2,.gtn-card h3{font-size:1.45rem;margin-bottom:6px}
.gtn-cta h2,.gtn-cta h3{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:0}
@media (max-width:620px){.foot-top .fh.spacer{display:none}}
