/* Fonts are self-hosted (no requests to Google). */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/hanken-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/hanken-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/martian-mono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/martian-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---------- Colourways (2d Night is the default, 2c Gold second) ---------- */
body[data-theme=night]{--navy:#0A0C0F;--accent:#009FE3;--accent-l:#0079AD;--paper-l:#F4F6F9;--ink-l:#0A0C0F;--muted-l:#55606C;--line-l:#DFE3E8;--paper-d:#111418;--panel-d:#0A0C0F;--ink-d:#E8ECEF;--muted-d:#9AA6B2;--line-d:#29313A;--btn-fg-d:#04121C}
body[data-theme=gold]{--navy:#06264B;--accent:#F4B52E;--accent-l:#946708;--logo-accent-l:#C48A0E;--paper-l:#F6F3EC;--ink-l:#06264B;--muted-l:#5F5A4E;--line-l:#E2DACB;--paper-d:#0B1D30;--panel-d:#06264B;--ink-d:#F4F7FA;--muted-d:#BCCAD7;--line-d:#29425C;--btn-fg-d:#06264B}
body[data-theme=flag]{--navy:#041C38;--accent:#009FE3;--accent-l:#0079AD;--paper-l:#F4F6F9;--ink-l:#041C38;--muted-l:#55606C;--line-l:#DFE3E8;--paper-d:#071729;--panel-d:#041C38;--ink-d:#F4F7FA;--muted-d:#BCCAD7;--line-d:#29425C;--btn-fg-d:#041C38}
body[data-theme=balanced]{--navy:#06264B;--accent:#0088CF;--accent-l:#006FA8;--paper-l:#F7F8FA;--ink-l:#06264B;--muted-l:#55606C;--line-l:#DFE3E8;--paper-d:#091C30;--panel-d:#06264B;--ink-d:#F4F7FA;--muted-d:#BCCAD7;--line-d:#29425C;--btn-fg-d:#04152B}
body[data-mode=light]{--paper:var(--paper-l);--panel:#fff;--ink:var(--ink-l);--muted:var(--muted-l);--line:var(--line-l);--accent-text:var(--accent-l);--logo-ink:var(--ink-l);--logo-accent:var(--logo-accent-l,var(--accent));--btn-bg:var(--navy);--btn-fg:#fff}
body[data-mode=dark]{--paper:var(--paper-d);--panel:var(--panel-d);--ink:var(--ink-d);--muted:var(--muted-d);--line:var(--line-d);--accent-text:var(--accent);--logo-ink:#fff;--logo-accent:var(--accent);--btn-bg:var(--accent);--btn-fg:var(--btn-fg-d)}
/* surfaces that are always dark / always white, whatever the mode */
.on-dark{--logo-ink:#fff;--logo-accent:var(--accent);color:#fff;background:var(--navy)}
.on-white{--logo-ink:var(--ink-l);--logo-accent:var(--logo-accent-l,var(--accent));color:var(--ink-l);background:#fff}

/* ---------- Base ---------- */
body{margin:0;font:400 17px/1.65 'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
button,textarea{font:inherit}button{cursor:pointer}
svg{height:auto}
.logo{display:block;width:100%}
.wrap{max-width:1160px;margin:auto;padding:0 36px}
h1,h2,h3{font-weight:600;margin:0}
h1{font-size:clamp(40px,5.2vw,72px);line-height:1.04;letter-spacing:-.03em;margin:22px 0 26px}
h2{font-size:clamp(28px,3.2vw,40px);line-height:1.15;letter-spacing:-.02em;margin:12px 0 20px}
h3{font-size:20px;line-height:1.3;letter-spacing:-.01em;margin:0 0 10px}
p{margin:0 0 18px}
.muted,.small{color:var(--muted)}.small{font-size:14px}
.mono,.eyebrow,.tag,.chip,#countdown{font-family:'Martian Mono',ui-monospace,Menlo,monospace}
.eyebrow{font-size:11px;font-weight:500;line-height:1.7;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.tag{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:14px}
.intro{max-width:660px;color:var(--muted)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.button{display:inline-block;padding:12px 22px;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bg);border-radius:4px;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.01em}
.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}
.button.outline:hover{border-color:var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.link{font-weight:600;text-decoration:none;color:var(--accent-text)}.link:hover{text-decoration:underline}

/* ---------- Header: logo is the anchor of the page ---------- */
header{background:var(--panel);border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:24px}
.brand{display:block;width:136px;flex:none}
nav{display:flex;gap:26px;font-size:14px;flex-wrap:wrap;justify-content:flex-end}
nav a{text-decoration:none;color:var(--muted)}nav a:hover{color:var(--ink)}
.studio{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}
.studio .wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.theme,.mode,.tab{padding:7px 13px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:13px}
.theme[aria-pressed=true],.mode[aria-pressed=true],.tab[aria-selected=true]{background:var(--ink);color:var(--paper)}
.mode-label{margin-left:18px}

/* ---------- Hero (same structure in every theme and mode) ---------- */
.hero{padding:44px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:72px;align-items:center}
.next-card{padding:36px 32px;border-radius:8px;border:1px solid rgba(255,255,255,.1)}
.next-brand{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.next-card .logo,.next-logo-made{width:145px;margin-bottom:0}
.next-brand-x{font-size:26px;font-weight:300;color:var(--accent);opacity:.9;line-height:1;margin:0 2px}
.next-logo-partner{height:52px;width:auto;max-width:170px;object-fit:contain}
.next-card .eyebrow{color:var(--accent)}
.next-card h2{font-size:30px;margin:10px 0 16px}
.next-card p{color:#C9D8E6}
.next-card .button{background:var(--accent);border-color:var(--accent);color:var(--btn-fg-d)}
.next-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 4px}
.next-cal-actions{display:inline-flex;align-items:center;gap:6px;font:500 11px 'Martian Mono',monospace;color:#9fb2c4}
.next-cal-btn{padding:4px 9px;border-radius:4px;background:rgba(255,255,255,.08);color:#f2f5f8;text-decoration:none;border:1px solid rgba(255,255,255,.18);font-size:11px;transition:all .15s}
.next-cal-btn:hover{background:rgba(255,255,255,.2);color:#fff}
.event-cal-actions{display:inline-flex;align-items:center;gap:6px;margin-left:6px;font-size:13px}
.cal-item-actions{margin-left:auto;display:inline-flex;gap:6px;font:500 10px 'Martian Mono',monospace}
.cal-item-actions a{color:var(--accent-text);text-decoration:none;padding:1px 6px;border:1px solid var(--line);border-radius:3px}
.cal-item-actions a:hover{background:var(--accent);color:var(--btn-fg-d)}
.event-detail-title{font-size:30px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.event-partner-logo{height:34px;width:auto;max-width:160px;object-fit:contain;vertical-align:middle;filter:brightness(0) invert(1)}
body[data-mode=light] .event-partner-logo{filter:brightness(0)}
#countdown{border-top:1px solid rgba(255,255,255,.2);padding-top:18px;margin-top:26px;font-size:12px;color:#fff;letter-spacing:.04em}

.section{padding:96px 0;border-top:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:44px}
.card{padding:28px 0 0;border-top:1px solid var(--line)}
.card p{color:var(--muted)}

/* ---------- Timeline ---------- */
.tl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.tl-nav{display:flex;gap:8px}
.tl-nav button{padding:8px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;font-size:13px}
.tl-nav button:hover{border-color:var(--ink)}
.tl-scroll{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x proximity;padding:36px 0 24px;margin-top:20px;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
.tl-item{flex:none;width:272px;scroll-snap-align:start;text-align:left;background:none;border:0;border-top:2px solid var(--line);padding:26px 22px 8px 0;margin-right:20px;color:var(--ink);position:relative}
.tl-item::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--muted)}
.tl-item .when{font:500 11px 'Martian Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:10px}
.tl-item h3{font-size:18px}
.tl-item p{font-size:14px;color:var(--muted);margin:0}
.tl-item.past{opacity:.78}
.tl-item.next{border-top-color:var(--accent)}
.tl-item.next::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 25%,transparent)}
.tl-item.future::before{border-color:var(--accent)}
.tl-item.open{border-top-style:dashed}
.tl-item.open::before{border-style:dashed}
.tl-item[aria-pressed=true]{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%)}
.tl-item[aria-pressed=true] h3{color:var(--accent-text)}
.tl-today{flex:none;width:72px;border-top:2px solid var(--accent);padding-top:26px;position:relative;margin-right:20px;font:500 10px 'Martian Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.tl-today::before{content:"";position:absolute;top:-2px;left:0;width:2px;height:40px;background:var(--accent)}
.tl-today span{display:block;padding-left:10px}
.badge-new{display:inline-block;font:500 10px 'Martian Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;background:var(--accent);color:var(--btn-fg-d);margin-left:6px;vertical-align:middle}
.detail{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:40px;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;margin-top:8px}
.detail ul{margin:0 0 18px;padding-left:18px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{font-size:10.5px;letter-spacing:.04em;padding:8px 12px;border-radius:999px;border:1px dashed var(--accent-text);background:transparent;color:var(--accent-text)}
.chip:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.stat{font:500 12px 'Martian Mono',monospace;color:var(--muted);letter-spacing:.02em;border-left:2px solid var(--accent);padding-left:12px;margin:18px 0}
.mini-people{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 18px}
.mini-people a{font-size:14px;text-decoration:none;border-bottom:1px solid var(--line)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:110px;gap:10px}
.ph{border:1px dashed var(--line);border-radius:6px;background:repeating-linear-gradient(135deg,transparent 0 12px,color-mix(in srgb,var(--muted) 8%,transparent) 12px 13px),var(--paper);display:flex;align-items:flex-end;padding:10px;font:400 10px/1.4 'Martian Mono',monospace;color:var(--muted)}
.ph.art{border:0;color:rgba(255,255,255,.8);position:relative}.ph.art span{background:rgba(0,0,0,.45);padding:3px 7px;border-radius:3px}
.sample-tag{display:inline-block;font:500 9px 'Martian Mono',monospace;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:3px;border:1px solid currentColor;margin-left:8px;color:var(--accent-text);vertical-align:middle}
.quote{margin:16px 0 0;padding:14px 18px;border-left:2px solid var(--accent);font-size:15px;color:var(--muted);font-style:italic}.quote cite{display:block;font:400 10px 'Martian Mono',monospace;font-style:normal;margin-top:8px;letter-spacing:.06em;text-transform:uppercase}
.topic{font-weight:600;font-size:15px;margin:0 0 8px}
.gallery .ph:first-child{grid-column:span 2;grid-row:span 2}
.opps{display:grid;gap:10px}
.opp{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px dashed var(--accent-text);border-radius:6px;background:transparent;color:var(--ink);text-align:left;width:100%}
.opp:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.opp b{font-weight:600;display:block}.opp span{font-size:13px;color:var(--muted)}.opp i{font-style:normal;color:var(--accent-text);font-size:13px;white-space:nowrap}

/* ---------- Contributors ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 0}
.filter{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:13px}
.filter[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.people{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:36px}
@media(max-width:1000px){.people{grid-template-columns:repeat(2,1fr)}}
.person{display:flex;flex-direction:column}
.portrait{aspect-ratio:4/5;border-radius:6px;border:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(160deg,var(--panel),color-mix(in srgb,var(--accent) 16%,var(--panel)));margin-bottom:20px}
.portrait .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:500;color:color-mix(in srgb,var(--ink) 26%,transparent);letter-spacing:.04em}
.portrait small{position:absolute;left:12px;bottom:10px;font:400 10px 'Martian Mono',monospace;color:var(--muted)}
.portrait .logo{position:absolute;right:12px;top:12px;width:44px;opacity:.9}
.person h3{margin-bottom:2px}
.role{color:var(--muted);font-size:15px;margin:0 0 12px}
.bio{font-size:15px;color:var(--muted);font-style:italic}
.li{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;color:var(--accent-text);margin-top:auto}
.li:hover{text-decoration:underline}.li.todo{color:var(--muted);font-weight:400;cursor:default}.li.todo:hover{text-decoration:none}
.li-mark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:3px;background:currentColor;position:relative}
.li-mark::after{content:"in";font:700 11px/1 'Hanken Grotesk',sans-serif;color:var(--paper)}

/* ---------- Partners ---------- */
.group-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:56px 0 0;padding-bottom:14px;border-bottom:1px solid var(--line)}
.group-title h3{margin:0}
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.partner{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:10px}
.logo-slot{height:96px;border:1px dashed var(--line);border-radius:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;justify-content:center;font-weight:700;font-size:22px;letter-spacing:-.01em;color:var(--muted);text-align:center;padding:0 12px}
.logo-slot small{display:block;font:400 9.5px 'Martian Mono',monospace;letter-spacing:.04em;font-weight:400;margin-top:4px}
.partner h3{font-size:18px;margin:6px 0 0}.partner p{font-size:14px;margin:0;color:var(--muted)}
.status{font:500 10px 'Martian Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;border:1px solid var(--line);color:var(--muted);align-self:flex-start}
.status.live{border-color:var(--accent-text);color:var(--accent-text)}
.partner.open{border-style:dashed;background:transparent}
.community{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:24px}
.comm{border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--panel);display:flex;flex-direction:column;gap:10px;min-height:150px}
.comm .mono{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:500;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-text)}
.comm b{font-weight:600;font-size:15px;line-height:1.3}.comm .status{margin-top:auto}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:28px}
.step b{display:block;font:500 11px 'Martian Mono',monospace;color:var(--accent-text);letter-spacing:.1em;margin-bottom:8px}
.step p{font-size:15px;color:var(--muted);margin:0}
.spotlight{margin-top:28px;border:1px dashed var(--accent-text);border-radius:8px;padding:22px 26px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.spotlight p{margin:0;max-width:640px;color:var(--muted);font-size:15px}

/* ---------- Brand in use ---------- */
.apps{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:44px}
.app{background:color-mix(in srgb,var(--muted) 10%,var(--paper));border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:18px;justify-content:space-between}
.app>.cap{font:400 10.5px 'Martian Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.app .stage{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;flex:1}
.a-cards{grid-column:span 8}.a-badge{grid-column:span 4}.a-tees{grid-column:span 4}.a-slide{grid-column:span 5}.a-roll{grid-column:span 3}.a-post{grid-column:span 12}
.ncard{width:200px;aspect-ratio:85/55;border-radius:5px;box-shadow:0 10px 24px rgba(0,0,0,.22);padding:16px;position:relative;overflow:hidden}
.ncard.front{display:grid;place-items:center}.ncard.front .logo{width:56%}
.ncard.back{display:flex;flex-direction:column;justify-content:flex-end;font-size:10.5px;line-height:1.4;padding:14px}
.ncard.back .logo{position:absolute;top:12px;right:12px;width:44px}
.ncard.back b{font-size:14px;font-weight:600;display:block}
.ncard.back .mono{font-size:7.5px;letter-spacing:.04em;opacity:.8;display:block;margin-top:6px}
.tee-wrap{filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))}
.tee{width:118px;aspect-ratio:122/132;clip-path:polygon(30% 0,40% 5%,60% 5%,70% 0,100% 15%,90% 34%,79% 29%,79% 100%,21% 100%,21% 29%,10% 34%,0 15%);display:flex;justify-content:center;padding-top:25%}
.tee .logo{width:38%;height:fit-content}
.badge{width:180px;aspect-ratio:3/4.2;border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.22);padding:18px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.badge::before{content:"";width:44px;height:7px;border-radius:4px;background:rgba(255,255,255,.35);position:absolute;top:10px;left:50%;transform:translateX(-50%)}
.badge .logo{width:70%;margin:14px auto 0}
.badge .who{margin-top:auto;font-size:19px;font-weight:600;line-height:1.15}
.badge .org{font-size:12px;opacity:.8;margin-bottom:12px}
.badge .role-bar{margin:0 -18px -18px;padding:10px 18px;background:var(--accent);color:var(--btn-fg-d);font:500 10.5px 'Martian Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
.slide{width:100%;max-width:420px;aspect-ratio:16/9;border-radius:6px;box-shadow:0 10px 24px rgba(0,0,0,.22);padding:22px 26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.slide .logo{width:70px;position:absolute;right:20px;top:16px}
.slide .mono{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.slide b{font-size:24px;line-height:1.1;font-weight:600;letter-spacing:-.02em;max-width:72%;display:block;margin-top:8px}
.slide small{font-size:11px;opacity:.75}
.roll{width:130px;aspect-ratio:1/2.4;border-radius:3px;box-shadow:0 10px 24px rgba(0,0,0,.22);padding:18px 14px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}
.roll .logo{width:100%}
.roll b{font-size:14px;line-height:1.2;font-weight:600}
.roll .mono{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.post{flex:1 1 380px;max-width:500px;aspect-ratio:1.91/1;border-radius:6px;box-shadow:0 10px 24px rgba(0,0,0,.22);padding:26px 30px;display:grid;grid-template-columns:1fr 130px;gap:20px;align-items:center}
.post .mono{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.post b{display:block;font-size:26px;line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:8px 0}
.post small{opacity:.8;font-size:12px}
.post-row{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;align-items:center;width:100%}
.post.white{border:1px solid var(--line)}

/* ---------- Involve ---------- */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:34px 0 26px}
.kit{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:40px}
.kit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.kit h2{font-size:28px}
textarea{width:100%;min-height:360px;padding:20px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font-size:14px;line-height:1.75;border-radius:4px}
#status{font-size:13px;margin:16px 0 0}

details{margin-top:8px}summary{cursor:pointer;font-weight:600;font-size:15px}
.palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}
.logo-box{padding:22px;border-radius:6px;border:1px solid var(--line);margin-bottom:10px}
.palette p{font-size:12px;margin-top:10px;font-family:'Martian Mono',monospace}
.contact{background:var(--panel)}
footer{padding:32px 0;font-size:12px;color:var(--muted)}

@media(max-width:1000px){.community{grid-template-columns:repeat(3,1fr)}.a-cards,.a-tees,.a-slide,.a-roll,.a-badge{grid-column:span 12}.detail{grid-template-columns:1fr}}
@media(max-width:800px){.wrap{padding:0 22px}.hero{padding:56px 0}.section{padding:64px 0}.hero-grid,.kit-grid{grid-template-columns:1fr;gap:40px}.grid,.people,.partners,.steps{grid-template-columns:1fr}.palette-grid{grid-template-columns:1fr 1fr}.brand{width:104px}.nav{flex-wrap:wrap}nav{justify-content:flex-start;gap:16px}.mode-label{margin-left:0}.kit,.detail{padding:24px}.post{grid-template-columns:1fr}.post .logo{display:none}.next-card{padding:28px 22px}.next-card .logo,.next-logo-made{width:130px}.next-logo-partner{height:34px;max-width:130px}}
@media(max-width:520px){.community{grid-template-columns:1fr 1fr}.palette-grid{grid-template-columns:1fr}}
/* ---------- Support section ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px}
.fig{border-top:2px solid var(--accent);padding-top:18px}
.fig b{display:block;font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--accent-text)}
.fig span{display:block;margin-top:12px;font-size:14px;color:var(--muted)}
.ways{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:44px}
.way{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:30px;display:flex;flex-direction:column;gap:16px}
.way dl{margin:0;display:grid;gap:12px}
.way dt{font:500 10.5px 'Martian Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
.way dd{margin:2px 0 0;color:var(--muted);font-size:15px}
.way .next{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:14px;font-weight:600}
.opp span{display:block}
@media(max-width:800px){.stats{grid-template-columns:1fr 1fr}.ways{grid-template-columns:1fr}}
@media(max-width:480px){.stats{grid-template-columns:1fr}}
/* ---------- Calendar: month agenda ---------- */
.cal-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:28px}
.cal-legend span{display:inline-flex;align-items:center;gap:8px}
.mk{display:inline-block;width:4px;height:14px;border-radius:2px}
.mk.made{background:var(--accent)}
.mk.event{background:color-mix(in srgb,var(--ink) 55%,transparent)}
.mk.holiday{background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--ink) 45%,transparent) 0 2px,transparent 2px 4px)}
.months{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;align-items:start}
.month{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px 22px 14px}
.month.current{border-top:3px solid var(--accent)}
.month header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.month h3{margin:0;font-size:19px}
.month h3 span{font-weight:400;color:var(--muted)}
.month .tag{margin:0;color:var(--accent-text)}
.month ul{list-style:none;margin:0;padding:0}
.ce{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:11px 0 11px 12px;border-bottom:1px solid var(--line);position:relative}
.ce:last-child{border-bottom:0}
.ce::before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;border-radius:2px;background:color-mix(in srgb,var(--ink) 55%,transparent)}
.ce.made::before{background:var(--accent)}
.ce.holiday::before{background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--ink) 45%,transparent) 0 2px,transparent 2px 4px)}
.ce-d{font:500 12px/1.5 'Martian Mono',monospace;color:var(--muted);font-variant-numeric:tabular-nums}
.ce-n{font-size:15px;line-height:1.4;font-weight:500;min-width:0}
.ce-n small{display:block;font-size:13px;font-weight:400;color:var(--muted)}
.ce.made .ce-n{font-weight:700;color:var(--accent-text)}
.ce.holiday .ce-n{font-weight:400;color:var(--muted)}
.ce.past{opacity:.5}
.month .none{margin:14px 0 6px;font-size:14px;color:var(--muted)}
.cal-more{margin-top:24px}
@media(max-width:1000px){.months{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.months{grid-template-columns:1fr}.ce{grid-template-columns:84px 1fr}}
/* ---------- Inspiration pass: join button, impressions band, formats, quote, stay informed ---------- */
nav a.nav-cta{background:var(--btn-bg);color:var(--btn-fg);padding:8px 16px;border-radius:4px;font-weight:600}
nav a.nav-cta:hover{color:var(--btn-fg);opacity:.9}
.band{border-top:1px solid var(--line);padding:0 0 18px}
.band-row{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr 1.3fr;height:240px}
.band-tile{margin:0;position:relative;display:flex;align-items:flex-end;padding:14px}
.band-tile figcaption{font:500 10.5px 'Martian Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.42);padding:4px 8px;border-radius:3px}
.band-tile.t1{background:radial-gradient(circle at 72% 30%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 55%),linear-gradient(160deg,#1c2b3b,#0a0c0f)}
.band-tile.t2{background:linear-gradient(115deg,transparent 40%,color-mix(in srgb,var(--accent) 35%,transparent) 41%,transparent 60%),linear-gradient(200deg,#26384b,#0d1117)}
.band-tile.t3{background:radial-gradient(ellipse at 20% 85%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 55%),linear-gradient(20deg,#101820,#2a3a4d)}
.band-tile.t4{background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 2px,transparent 2px 38px),linear-gradient(180deg,#1b2735,#0b0f14)}
.band-tile.t5{background:radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--accent) 50%,transparent),transparent 60%),linear-gradient(180deg,#0f1722,#1d2c3f)}
.band-note{margin:14px 0 0}
h3.sub{margin:64px 0 0;font-size:20px}
.formats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px}
.fmt{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px}
.fmt b{display:block;font:500 11px 'Martian Mono',monospace;letter-spacing:.1em;color:var(--accent-text);margin-bottom:14px}
.fmt h3{font-size:18px;margin-bottom:8px}
.fmt p{margin:0;font-size:15px;color:var(--muted)}
.quote-band{border-top:1px solid var(--line);padding:88px 0;background:var(--panel)}
.quote-band blockquote{margin:0;max-width:880px;font-size:clamp(26px,3vw,38px);line-height:1.25;letter-spacing:-.015em;font-weight:500}
.quote-cite{margin:22px 0 0;font:500 11px 'Martian Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.join-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}
.join-actions{margin-top:0;justify-content:flex-end}
@media(max-width:1000px){.formats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.band-row{grid-template-columns:1fr 1fr;height:auto}.band-tile{height:150px}.band-tile.t5{display:none}.join-grid{grid-template-columns:1fr;gap:20px}.join-actions{justify-content:flex-start}.quote-band{padding:56px 0}}
@media(max-width:520px){.formats{grid-template-columns:1fr}}
@media print{header,.studio,.tabs,.email-pane,.actions,.tl-nav{display:none}.section,.hero{padding:24px 0}.kit-grid{display:block}}

/* ---------- Multi-page additions ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--btn-bg);color:var(--btn-fg);padding:8px 14px;z-index:10}
.skip:focus{left:16px;top:16px}
nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:8px}
main > section:first-child.section{border-top:0}
a.opp{text-decoration:none}
footer{border-top:1px solid var(--line)}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;line-height:1.7}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-links a{color:var(--muted)}
.foot-links a:hover{color:var(--ink)}

/* ---------- Sticky header (compact once scrolled) ---------- */
html{scroll-padding-top:120px}
.site-header{position:sticky;top:0;z-index:50;background:var(--panel);border-bottom:1px solid var(--line);transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}
.site-header .nav{display:flex;align-items:center;gap:28px;padding:16px 0;flex-wrap:nowrap;transition:padding .2s ease}
.site-header .brand{width:120px;flex:none;transition:width .2s ease}
.nav-links{display:flex;gap:26px;flex:1;justify-content:flex-end;font-size:14px;min-width:0}
.nav-links a{text-decoration:none;color:var(--muted);white-space:nowrap}
.nav-links a:hover{color:var(--ink)}
.nav-links a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:8px}
.site-header .nav-cta{flex:none;background:var(--btn-bg);color:var(--btn-fg);padding:9px 16px;border-radius:4px;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
.site-header .nav-cta:hover{opacity:.9}
.nav-toggle{display:none}
body.scrolled .site-header .nav{padding:8px 0}
body.scrolled .site-header .brand{width:64px}
@media(max-width:800px){
  html{scroll-padding-top:84px}
  .site-header .nav{gap:12px;padding:10px 0;flex-wrap:wrap;justify-content:space-between}
  .site-header .brand{width:54px}
  body.scrolled .site-header .brand{width:44px}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:7px;cursor:pointer;line-height:1;order:2}
  .nav-toggle .icon-close{display:none}
  .site-header.nav-open .nav-toggle .icon-menu{display:none}
  .site-header.nav-open .nav-toggle .icon-close{display:block}
  .site-header .nav-cta{order:1;margin-left:auto;padding:7px 12px;font-size:12.5px}
  .nav-links{display:none;width:100%;flex:none;order:3;flex-direction:column;gap:6px;padding:12px 0 8px;border-top:1px solid var(--line)}
  .site-header.nav-open .nav-links{display:flex}
  .nav-links a{padding:9px 12px;font-size:14.5px;border-radius:6px;display:block;width:100%}
}

/* ---------- Home: how to attend ---------- */
.hero-how{margin:12px 0 0;line-height:1.55}
.hero-reg-note{margin:14px 0 0;color:var(--muted);line-height:1.5;font-size:14px}
.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}
.hero-subactions{margin-top:12px}
.hero-subactions .link{font-size:13.5px;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.hero-subactions .link:hover{color:var(--ink);text-decoration:underline}
.company-job-filter-bar{display:flex;align-items:center;gap:14px;margin:12px 0 18px;flex-wrap:wrap}
.company-search-input{flex:1;min-width:240px;max-width:480px;padding:9px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font-size:14px}
.company-search-input:focus{outline:none;border-color:var(--accent)}
.company-filter-count{font:500 12px 'Martian Mono',monospace;color:var(--muted)}
.steps-attend{list-style:none;counter-reset:s;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps-attend li{counter-increment:s;border-top:2px solid var(--accent);padding-top:16px}
.steps-attend li::before{content:counter(s);display:block;font:500 11px 'Martian Mono',monospace;color:var(--accent-text);letter-spacing:.1em;margin-bottom:8px}
.steps-attend b{display:block;font-weight:600;margin-bottom:4px}
.steps-attend span{color:var(--muted);font-size:15px}
.attend{margin:16px 0 0;padding:12px 14px;border-left:2px solid var(--accent);font-size:15px}
.attend b{display:block;font:500 11px 'Martian Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);margin-bottom:4px}

/* ---------- Get involved: role cards ---------- */
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.role-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:26px;display:flex;flex-direction:column;gap:14px;scroll-margin-top:120px}
.role-card.is-target{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.role-card .tag{margin:0}
.role-card h3{margin:0;font-size:20px}
.role-card dl{margin:0;display:grid;gap:12px}
.role-card dt{font:500 10.5px 'Martian Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
.role-card dd{margin:2px 0 0;color:var(--muted);font-size:15px}
.role-card .next{margin:0;font-size:14px;font-weight:600}
.role-card .button{margin-top:auto;align-self:flex-start}
.stats{margin-top:36px}

/* ---------- Next step line at the end of a page ---------- */
.next-step{border-top:1px solid var(--line);padding:28px 0;background:color-mix(in srgb,var(--accent) 6%,var(--paper))}
.next-step p{margin:0;font-size:16px}

/* ---------- Legal pages ---------- */
.legal .wrap{max-width:780px}
.legal h3{margin:30px 0 8px;font-size:18px}
.todo-note{border:1px dashed var(--accent-text);border-radius:6px;padding:12px 16px;color:var(--accent-text);font-size:14px}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--panel);padding:48px 0 24px;font-size:14px;color:var(--muted)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.foot-logo{display:block;width:76px;margin-bottom:12px}
.foot-brand p{margin:0;max-width:340px}
.foot-h{font:500 10.5px 'Martian Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin:0 0 12px}
.foot-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-list a{color:var(--muted);text-decoration:none}
.foot-list a:hover{color:var(--ink);text-decoration:underline}
.foot-bottom{margin-top:36px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:1000px){.roles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}.steps-attend{grid-template-columns:1fr}}
@media(max-width:600px){.roles{grid-template-columns:1fr}}
@media(min-width:801px){.nav-links{flex-wrap:nowrap}}
span.mono{font-size:.86em}

/* ---------- Header: tighter compact state, highlighted current page ---------- */
.nav-links{gap:4px}
.nav-links a{padding:7px 12px;border-radius:999px;transition:background .15s ease,color .15s ease}
.nav-links a:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.nav-links a[aria-current="page"]{background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent);color:var(--ink);font-weight:600;text-decoration:none}
body.scrolled .site-header{background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 18px rgba(0,0,0,.25)}
body.scrolled .site-header .nav{padding:4px 0}
body.scrolled .site-header .brand{width:48px}
body.scrolled .nav-links a{padding:5px 10px;font-size:13px}
body.scrolled .site-header .nav-cta{padding:6px 12px;font-size:13px}
@media(max-width:800px){
  .site-header.nav-open .nav-links{gap:6px}
  body.scrolled .site-header .brand{width:40px}
}

/* ---------- Home: logo carousel ---------- */
.network{border-top:1px solid var(--line);padding:30px 0 22px}
.network-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.network-head .eyebrow{margin:0}
.marquee{display:flex;overflow:hidden;margin-top:20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;align-items:center;gap:56px;padding:6px 56px 6px 0;margin:0;list-style:none;flex:none;animation:marquee 45s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-100%)}}
.logo-item{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:var(--muted)}
.logo-art{height:52px;display:flex;align-items:center}
.logo-art img{height:44px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(100%);opacity:.7;transition:filter .25s ease,opacity .25s ease,transform .2s ease}
body[data-mode=dark] .logo-art img{filter:grayscale(100%) brightness(1.2);opacity:.75}
body[data-mode=light] .logo-art img{filter:grayscale(100%);opacity:.7}
.logo-item.own .logo-art{width:52px}
.logo-name{font:500 10px 'Martian Mono',monospace;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.logo-item:hover .logo-art img,.logo-item:focus-visible .logo-art img{filter:grayscale(0%) brightness(1);opacity:1;transform:scale(1.04)}
.logo-item:hover .logo-name{color:var(--ink)}
.network-note{margin:14px 0 0}
@media(prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none}
  .marquee-track{animation:none;flex-wrap:wrap;justify-content:center;gap:28px 40px;padding:6px 16px;width:100%}
  .marquee-track[aria-hidden="true"]{display:none}
}

/* ---------- Display bar (dark/light and colourway), compact on scroll ---------- */
.display-bar{position:fixed;right:14px;bottom:14px;z-index:60;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.25);font-size:12px;color:var(--muted)}
.db-label{font:500 10px 'Martian Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.db-mode{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:4px 10px;font-size:12px}
.db-icon{font-size:14px;line-height:1}
.db-sep{width:1px;height:18px;background:var(--line)}
.db-swatch{display:inline-flex;width:24px;height:24px;border-radius:50%;overflow:hidden;border:2px solid transparent;padding:0;background:none;transform:rotate(-45deg)}
.db-swatch i{flex:1}
.db-swatch[aria-pressed="true"]{border-color:var(--ink)}
body.scrolled .display-bar{padding:5px;gap:6px}
body.scrolled .display-bar .db-label,body.scrolled .display-bar .db-text,body.scrolled .display-bar .db-sep{display:none}
body.scrolled .db-mode{padding:4px 7px}
/* ---------- Bottom bar: display settings in preview, un-fixed ---------- */
.display-bar{position:static;right:auto;bottom:auto;box-shadow:none;border:0;background:transparent;padding:0;border-radius:0}
.bottom-bar{position:static;background:var(--panel);border-top:1px solid var(--line)}
.bottom-inner{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:8px 0}
.legal-links{display:flex;gap:18px;font-size:13px}
.legal-links a{color:var(--muted);text-decoration:none}
.legal-links a:hover{color:var(--ink);text-decoration:underline}
.foot-legal-links{display:inline-flex;gap:8px;margin-left:14px}
.foot-legal-links a{color:var(--muted);text-decoration:none}
.foot-legal-links a:hover{color:var(--ink);text-decoration:underline}
.site-footer{padding-bottom:32px}
@media(max-width:800px){.display-bar .db-label,.display-bar .db-sep{display:none}}
@media(max-width:480px){
  .bottom-inner{flex-direction:column;gap:10px;padding:12px 0}
  .site-header .nav-cta{padding:6px 10px;font-size:11.5px}
  .header-lang{transform:scale(0.9);transform-origin:center right}
}

/* ---------- Email login & calendar registration ---------- */
.email-quick-box{margin-top:14px;padding:14px 18px;background:var(--panel);border:1px solid var(--accent);border-radius:6px;max-width:540px;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.email-quick-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.email-quick-form input[type="email"]{flex:1 1 240px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:9px 12px;font:400 14px 'Hanken Grotesk',sans-serif;color:var(--ink)}
.email-quick-form input[type="email"]:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.email-quick-status{font-size:13px;color:var(--ink);line-height:1.5;margin-top:8px}
.email-success-badge{display:inline-block;padding:8px 12px;background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid var(--accent);border-radius:6px}
.btn-text-link{background:none;border:none;color:var(--accent-text);text-decoration:underline;cursor:pointer;padding:0;font:inherit;margin-left:6px}
.button.logged-in{border-color:var(--accent);color:var(--accent-text);font-weight:600}

/* ---------- Current page: solid highlight in the top bar ---------- */
.nav-links a[aria-current="page"]{background:var(--accent);color:var(--btn-fg-d);box-shadow:none;font-weight:600}
.nav-links a[aria-current="page"]:hover{background:var(--accent)}

/* ---------- Display bar: mode as two circles, active one highlighted (same logic as colours) ---------- */
.db-modeopt{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;padding:0;border:2px solid var(--line);background:transparent;color:var(--muted)}
.db-modeopt svg{width:14px;height:14px}
.db-modeopt:hover{color:var(--ink)}
.db-modeopt[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.db-swatch{width:26px;height:26px}
.db-swatch[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--ink)}

/* ---------- Stock photos ---------- */
.band-tile.photo{background-size:cover;background-position:center;position:relative}
.band-tile.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55));pointer-events:none}
.band-tile.photo figcaption{position:relative}
.ph.photo{background-size:cover;background-position:center}
.credit-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:16px}
.credit-list li{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.credit-list img{width:120px;height:80px;object-fit:cover;border-radius:4px}
.credit-list b{display:block;font-weight:600;font-size:15px}
.credit-list span{font-size:14px;color:var(--muted)}

/* ---------- Countdown: split-flap board ---------- */
#countdown{border-top:1px solid rgba(255,255,255,.2);padding-top:20px;margin-top:24px;letter-spacing:0}
.flap-units{display:flex;gap:14px;flex-wrap:wrap}
.flap-unit{display:flex;flex-direction:column;align-items:center;gap:7px}
.flap-digits{display:flex;gap:3px;perspective:300px}
.flap{position:relative;width:30px;height:44px;border-radius:4px;background:linear-gradient(180deg,#1b2433 0 50%,#121a26 50% 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 4px rgba(0,0,0,.4);display:grid;place-items:center;overflow:hidden}
.flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:rgba(0,0,0,.65);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.flap::before{content:"";position:absolute;left:-1px;top:calc(50% - 3px);width:3px;height:6px;border-radius:1px;background:#0a0f17}
.flap-face{font:500 26px/1 'Martian Mono',monospace;color:#f2f5f8;font-variant-numeric:tabular-nums}
.flap.flip .flap-face{animation:flapdrop .18s ease-in}
@keyframes flapdrop{0%{transform:rotateX(-80deg);opacity:.4}100%{transform:rotateX(0);opacity:1}}
.flap-label{font:500 9.5px 'Martian Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#9fb2c4}
.flap-caption{margin:12px 0 0;font:500 11px 'Martian Mono',monospace;letter-spacing:.06em;color:#c9d8e6}
@media(max-width:400px){.flap{width:26px;height:38px}.flap-face{font-size:22px}.flap-units{gap:10px}}

/* ---------- Carousel: one smooth strip, pausable, keeps moving gently with reduced motion ---------- */
.marquee{display:block}
.marquee-inner{display:flex;width:max-content;animation:marquee-strip 150s linear infinite;will-change:transform}
.marquee-track{animation:none !important;width:auto !important;flex-wrap:nowrap !important}
.marquee-track[aria-hidden="true"]{display:flex !important}
@keyframes marquee-strip{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.marquee:hover .marquee-inner,.marquee:focus-within .marquee-inner,.marquee.paused .marquee-inner{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .marquee-inner{animation-duration:240s}
  .flap.flip .flap-face{animation:none !important}
}
.carousel-toggle{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:3px 12px;font-size:12px}
.carousel-toggle:hover{color:var(--ink);border-color:var(--ink)}
.network-head .head-actions{display:flex;align-items:center;gap:14px}

.photo-notice{margin:18px 0 0;padding-left:12px;border-left:2px solid var(--line)}

/* ---------- People links & email ---------- */
.person-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto;padding-top:14px}
.person-links .li{margin-top:0}
.li-mail{display:inline-flex;align-items:center;gap:6px;font:500 12px 'Martian Mono',monospace;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px}
.li-mail:hover{color:var(--accent-text);border-color:var(--accent-text)}

/* ---------- Interactive role composer ---------- */
.composer-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 12px}
.field-row{display:flex;flex-direction:column;gap:5px}
.field-row label{font:500 10.5px 'Martian Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.field-row input{padding:8px 12px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font:400 14px 'Hanken Grotesk',sans-serif;border-radius:4px;outline:none;transition:border-color .15s ease}
.field-row input:focus{border-color:var(--accent)}
.email-pane textarea{width:100%;min-height:220px;font-family:'Hanken Grotesk',sans-serif;font-size:14px;line-height:1.6;resize:vertical}
.card-role-select{margin-top:auto;align-self:flex-start}
.comm-logo{height:42px;display:flex;align-items:center}

.mono-logo{max-height:52px;max-width:80%;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.85}
.comm-logo .mono-logo{max-height:34px;max-width:100%}
body[data-mode=light] .mono-logo{filter:grayscale(1) brightness(0);opacity:.75}
.asp-tag{border-style:dashed;color:var(--muted)}
.logo-name .asp-tag{font-size:8px;padding:1px 4px;margin-left:6px}

.hero-grid.solo{grid-template-columns:1fr}
[hidden]{display:none!important}

.preview-flag{background:repeating-linear-gradient(135deg,#f2b705 0 14px,#e0a800 14px 28px);color:#1a1300;font-size:13px;line-height:1.4;padding:7px 0}
.preview-flag b{font:600 10.5px 'Martian Mono',monospace;letter-spacing:.12em;text-transform:uppercase;background:#1a1300;color:#f2b705;padding:2px 7px;border-radius:3px;margin-right:10px}
.tl-scroll.fits{-webkit-mask-image:none;mask-image:none}
.preview-flag a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ---------- Jobs Board & Feeds ---------- */
.jobs-feed-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:28px 0 20px;padding:16px 20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.jobs-feed-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.small-btn{padding:7px 14px;font-size:12px;display:inline-flex;align-items:center;gap:7px}
.feed-icon{vertical-align:middle;display:inline-block}
.jobs-search-wrap{flex:1;min-width:280px}
.jobs-search-wrap input{width:100%;padding:10px 16px;background:var(--paper);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:400 14px 'Hanken Grotesk',sans-serif;outline:none;transition:border-color .15s}
.jobs-search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
.jobs-summary{margin:18px 0 28px}
.job-region-section{margin-bottom:48px}
.job-region-header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:2px solid var(--line);margin-bottom:20px}
.job-region-header h3{font-size:22px;margin:0;color:var(--ink)}
.job-region-header .region-count{font:500 12px 'Martian Mono',monospace;color:var(--accent-text)}
.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.community-advisory-card{border-left:3px solid var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--card-line));background:color-mix(in srgb,var(--accent) 4%,var(--card-bg));box-shadow:0 2px 8px rgba(0,0,0,.08)}
.community-advisory-card:hover{border-color:var(--accent);border-left-color:var(--accent);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.community-advisory-card .job-badge-new{background:var(--accent);color:var(--btn-fg-d,#04121C);border-color:var(--accent);font-weight:700}
.community-advisory-card .job-apply-link{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid var(--accent);color:var(--accent-text);font-weight:600;text-decoration:none;transition:all .15s ease}
.community-advisory-card .job-apply-link:hover{background:var(--accent);color:var(--btn-fg-d,#04121C);text-decoration:none}
.job-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;text-decoration:none;transition:border-color .15s,box-shadow .15s;position:relative;content-visibility:auto;contain-intrinsic-size:0 180px}
.job-card:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.12)}
.job-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.job-comp{font-weight:600;font-size:14px;color:var(--accent-text)}
.job-badge-new{font:500 10.5px 'Martian Mono',monospace;padding:2px 6px;border-radius:3px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-text);border:1px solid var(--accent);text-transform:uppercase}
.job-title{font-size:16px;font-weight:600;line-height:1.35;margin:0;color:var(--ink)}
.job-title a{text-decoration:none;color:inherit}
.job-card:hover .job-title a{color:var(--accent-text)}
.job-snippet{font-size:13px;line-height:1.45;color:var(--muted);margin:4px 0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.job-tags{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 6px}
.job-tag{font:500 10px 'Martian Mono',monospace;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--paper) 70%,transparent);color:var(--muted);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);letter-spacing:.02em}
.job-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);margin-top:auto}
.job-loc{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.job-apply-link{font-size:12px;font-weight:600;color:var(--accent-text);white-space:nowrap;text-decoration:none}
.job-apply-link:hover{text-decoration:underline}
.job-board-link{font-size:12px;color:var(--muted);white-space:nowrap;text-decoration:none}
.job-board-link:hover{color:var(--ink);text-decoration:underline}

.jobs-full-board-btn{cursor:pointer;background:none;border:none;padding:0;color:var(--accent-text);font:inherit;font-weight:600;text-decoration:none}
.jobs-full-board-btn:hover{text-decoration:underline}
.full-board-expand-sep{color:var(--muted);margin:0 4px}

.header-lang{margin-left:4px}
.jobs-head-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ---------- Home: Jobs Announcement Banner ---------- */
.jobs-top-banner{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,var(--panel)),var(--panel));border-bottom:1px solid var(--accent);padding:10px 0;position:relative;z-index:10}
.jobs-top-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.jobs-top-banner-main{display:flex;align-items:center;gap:10px;font-size:14px;flex-wrap:wrap}
.jobs-banner-pill{font:600 10.5px 'Martian Mono',monospace;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--accent);color:var(--btn-fg-d);letter-spacing:.05em}
.jobs-banner-lead{font-weight:600;color:var(--ink)}
.jobs-banner-desc{color:var(--muted);font-size:13.5px}
.jobs-top-banner-action{flex-shrink:0}
.jobs-banner-btn{font-size:12.5px;padding:6px 14px}
@media(max-width:768px){
  .jobs-banner-desc{display:none}
  .jobs-top-banner{padding:8px 0}
}

/* ---------- Jobs Ticker ---------- */
.jobs-ticker-bar{display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:24px 0 20px;height:46px}
.jobs-ticker-label{display:inline-flex;align-items:center;gap:8px;padding:0 16px;background:color-mix(in srgb,var(--accent) 14%,transparent);border-right:1px solid var(--line);font:600 10.5px 'Martian Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);white-space:nowrap;height:100%;flex-shrink:0;z-index:2}
.ticker-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#00d26a;box-shadow:0 0 6px #00d26a}
.jobs-ticker{flex:1;overflow:hidden;height:100%;display:flex;align-items:center;margin:0;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.jobs-ticker-inner{display:flex;width:max-content;animation:jobs-ticker-scroll 170s linear infinite;will-change:transform}
.jobs-ticker:hover .jobs-ticker-inner,.jobs-ticker:focus-within .jobs-ticker-inner{animation-play-state:paused}
@keyframes jobs-ticker-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.jobs-ticker-track{display:flex;align-items:center;gap:36px;padding:0 36px 0 0;margin:0;list-style:none;white-space:nowrap;flex:none}
.ticker-item a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:13px;color:var(--ink);transition:color .15s}
.ticker-item a:hover{color:var(--accent-text)}
.ticker-badge{font:500 9.5px 'Martian Mono',monospace;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-text);border:1px solid var(--accent);text-transform:uppercase}
.ticker-comp{font-weight:600;color:var(--accent-text)}
.ticker-title{font-weight:500}
.ticker-loc{color:var(--muted);font-size:12px}

/* ---------- Scope Radius Bar ---------- */
.scope-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0 16px;padding:12px 18px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.scope-label{color:var(--muted);white-space:nowrap;font-weight:500}
.scope-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.scope-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:500 13px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.scope-btn:hover{border-color:var(--accent);color:var(--accent-text)}
.scope-btn[aria-pressed="true"]{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--accent-text);font-weight:600}
.scope-icon{font-size:14px}
.scope-tag{font:600 9.5px 'Martian Mono',monospace;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:var(--accent);color:var(--btn-fg-d);margin-left:2px}
.scope-cnt{font:400 11.5px 'Martian Mono',monospace;color:var(--muted)}
.scope-btn[aria-pressed="true"] .scope-cnt{color:var(--accent-text)}

/* ---------- Keyword Filter Bar ---------- */
.keyword-bar{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap}
.keyword-label{color:var(--muted);white-space:nowrap;font-weight:500;padding-top:4px}
.keyword-pills{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.keyword-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);font:500 12px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.keyword-pill:hover{border-color:var(--accent);color:var(--accent-text)}
.keyword-pill[aria-pressed="true"]{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent);color:var(--accent-text);font-weight:600}
.keyword-pill .pill-count{font:400 10.5px 'Martian Mono',monospace;color:var(--muted);padding-left:2px}
.keyword-pill[aria-pressed="true"] .pill-count{color:var(--accent-text)}



.job-more { display: flex; justify-content: center; margin: 1.1rem 0 0.4rem; }
.job-more[hidden], .job-more-btn[hidden] { display: none; }
.job-more-co { grid-column: 1 / -1; display: flex; align-items: center; padding: .1rem .4rem; }
.job-more-co .link { background: none; border: 0; cursor: pointer; color: var(--accent-text, inherit); font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.job-group-head { grid-column: 1 / -1; display: flex; align-items: baseline; gap: .6rem; margin: 1.1rem 0 .1rem; padding-bottom: .35rem; border-bottom: 1px solid var(--line); font: 600 .78rem 'Martian Mono', monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.job-group-head:first-child { margin-top: .2rem; }
.job-group-head .job-group-n { font-weight: 400; letter-spacing: 0; text-transform: none; }

/* jobs: language toggle and the home-page jobs section */
.lang-toggle{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;align-self:flex-start;flex:none}
.lang-toggle button{padding:6px 12px;background:var(--paper);color:var(--ink);border:0;font:600 12px 'Hanken Grotesk',sans-serif;cursor:pointer}
.lang-toggle button[aria-pressed="true"]{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-text)}
.jobs-home-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.jobs-home-head>div:first-child{flex:1 1 520px}
.jobs-head-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:4px 0 6px}
.jobs-head-title-row h2{margin:0}
.jobs-head-toggle{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 'Martian Mono',monospace;padding:5px 11px;border-radius:6px;background:var(--card-bg);border:1px solid var(--card-line);color:var(--soft);cursor:pointer;transition:all .15s ease}
.jobs-head-toggle:hover{border-color:var(--accent);color:var(--ink)}
.jobs-head-toggle .toggle-icon{font-size:10px;transition:transform .2s ease;display:inline-block}
.jobs-head-collapsible{overflow:hidden;transition:max-height .3s cubic-bezier(0.4,0,0.2,1),opacity .25s ease,margin .25s ease;max-height:500px;opacity:1}
.jobs-home-head.is-collapsed .jobs-head-collapsible{max-height:0;opacity:0;margin:0;pointer-events:none}
.jobs-home-head.is-collapsed .jobs-head-toggle .toggle-icon{transform:rotate(180deg)}
.jobs-home-grid{margin:8px 0 22px}

/* jobs board: readability (raised cards, stronger borders, larger small text) and company logo tiles */
body{--card-bg:var(--panel);--card-line:color-mix(in srgb,var(--ink) 22%,var(--paper));--soft:var(--muted)}
body[data-mode=dark]{--card-bg:#1B222A;--card-line:#3B4757;--soft:#B6C0CB}
body[data-mode=light]{--card-line:#BCC5D0;--soft:#46515E}
.job-card{background:var(--card-bg);border-color:var(--card-line);border-radius:10px;padding:16px 18px;gap:10px}
.job-card:hover{border-color:var(--accent);box-shadow:0 6px 20px rgba(0,0,0,.28)}
.job-card-top{align-items:center;gap:12px}
.job-co-line{flex:1;min-width:0}
.job-comp{display:block;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.job-comp:hover{color:var(--accent-text);text-decoration:underline}
.job-title{font-size:17px;line-height:1.35}
.job-snippet{font-size:14px;line-height:1.5;color:var(--soft)}
.job-tag{font-size:12px;padding:2px 8px;color:var(--soft);border:1px solid var(--card-line);background:transparent}
.job-badge-new{font-size:12px;padding:2px 8px;color:var(--ink);background:color-mix(in srgb,var(--accent) 28%,transparent)}
.job-loc{font-size:14px;color:var(--soft)}
.job-apply-link{font-size:14px;color:var(--accent-text)}
.job-board-link{font-size:13px;color:var(--soft)}
.job-card-bottom{border-top-color:var(--card-line)}
.co-logo{flex:none;width:40px;height:40px;border-radius:8px;background:#fff;border:1px solid rgba(0,0,0,.12);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.co-logo img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}
.co-logo.mono{background:hsl(var(--h) 42% 30%);color:#fff;font:700 14px/1 'Hanken Grotesk',system-ui,sans-serif;letter-spacing:.02em;border-color:transparent}
.job-region-header{border-bottom-color:var(--card-line)}
.job-region-header .region-count{font-size:13px;color:var(--soft)}

/* jobs board: facets (field, level, source), selected-filter chips, company pages and index */
.facets{margin:0 0 16px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--card-line);border-radius:10px;display:flex;flex-direction:column;gap:10px}
.facet-row{display:flex;align-items:flex-start;gap:12px}
.facet-label{color:var(--soft);white-space:nowrap;font-weight:500;padding-top:6px;min-width:84px}
.facet-pills{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.facet-row:has(> .facet-pills:empty){display:none}
.near-ctl{align-items:center}
.job-card .job-tag:not(.job-tag-class):not(.job-tag-org){cursor:pointer}
.job-card .job-tag:not(.job-tag-class):not(.job-tag-org):hover{border-color:var(--accent-text);color:var(--accent-text)}
.job-card .job-tag.is-on{border-color:var(--accent-text);color:var(--accent-text);font-weight:600}
.near-city{font:inherit;font-size:14px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 8px;max-width:100%}
.job-dist,.co-dist{font-size:12.5px;color:var(--muted);white-space:nowrap}
.job-dist::before{content:"\00b7\00a0"}
.sim-item[hidden]{display:none}
.sim-meta{padding:6px 2px 0}
#similar-positions .facet-pills{margin:6px 0}
.facets .keyword-pill{font-size:13.5px;padding:5px 11px;border-color:var(--card-line);color:var(--ink)}
.facets .keyword-pill .pill-count{font-size:11.5px;color:var(--soft)}
.facets .keyword-pill[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--btn-fg-d,#04121C);font-weight:600}
.facets .keyword-pill[aria-pressed="true"] .pill-count{color:var(--btn-fg-d,#04121C)}
.facet-search{flex:1;min-width:240px;padding:9px 14px;background:var(--paper);border:1px solid var(--card-line);border-radius:6px;color:var(--ink);font:400 15px 'Hanken Grotesk',system-ui,sans-serif}
.facet-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--card-line)}
.facet-chip,.facet-clear{font:600 13px 'Hanken Grotesk',system-ui,sans-serif;padding:4px 11px;border-radius:999px;cursor:pointer}
.facet-chip{background:color-mix(in srgb,var(--accent) 24%,transparent);border:1px solid var(--accent);color:var(--ink)}
.facet-chip:hover{background:color-mix(in srgb,var(--accent) 40%,transparent)}
.facet-clear{background:transparent;border:1px solid var(--card-line);color:var(--ink)}
.facet-clear:hover{border-color:var(--ink)}
.facet-note{font-size:13.5px;color:var(--soft)}
.facet-note b{color:var(--ink)}
.job-via{display:block;font-size:12.5px;color:var(--soft);line-height:1.3}
.job-via a{color:var(--soft);text-decoration:underline}
.back-link{display:inline-block;margin-bottom:18px;color:var(--soft);text-decoration:none;font-size:14px}
.back-link:hover{color:var(--ink)}
.co-head{display:flex;gap:22px;align-items:flex-start;margin-bottom:34px}
.co-head-text{flex:1;min-width:0}
.co-head h1{margin:4px 0 10px}
.co-logo-xl{width:84px;height:84px;border-radius:14px;font-size:28px}
.co-logo-lg{width:48px;height:48px;border-radius:10px}
.company-page h2{margin:8px 0 18px}
.job-tags a.job-tag{text-decoration:none}
.job-tags a.job-tag:hover{border-color:var(--accent);color:var(--ink)}
.co-group-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:16px 2px 10px;margin-top:20px;border-bottom:2px solid var(--card-line)}
.co-group-header:first-child{margin-top:0;padding-top:0}
.co-group-header .group-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.co-group-header h3{margin:0;font-size:18px;font-weight:700;color:var(--ink)}
.co-group-header .group-tier{font:600 11px 'Martian Mono',monospace;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-text)}
.co-group-header .group-count{font:500 12px 'Martian Mono',monospace;color:var(--soft)}
.co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin:8px 0 28px}
.co-card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.co-card:hover{border-color:var(--accent)}
.co-card-head{display:flex;gap:12px;align-items:center}
.co-card h3{margin:0;font-size:17px}
.co-card h3 a{color:var(--ink);text-decoration:none}
.co-card h3 a:hover{color:var(--accent-text);text-decoration:underline}
.co-meta{font-size:13.5px;color:var(--soft)}
.co-profile{margin:0;font-size:14.5px;line-height:1.5;color:var(--soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.co-section-title{margin:40px 0 6px;font-size:22px}
.co-fact-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px;align-items:center}
.co-fact-pill{display:inline-flex;align-items:center;gap:6px;font:500 12px/1.4 'Martian Mono',monospace;padding:4px 10px;border-radius:6px;background:color-mix(in srgb,var(--card-bg) 80%,transparent);border:1px solid var(--card-line);color:var(--text);letter-spacing:.01em;text-decoration:none}
.co-fact-pill-active{background:color-mix(in srgb,var(--accent) 15%,var(--card-bg));border-color:color-mix(in srgb,var(--accent) 50%,var(--card-line));color:var(--accent-text)}
.co-fact-pill-active:hover{background:color-mix(in srgb,var(--accent) 25%,var(--card-bg));box-shadow:0 2px 8px rgba(0,0,0,.15)}
.co-fact-pedigree{background:color-mix(in srgb,#f59e0b 12%,var(--card-bg));border-color:color-mix(in srgb,#f59e0b 40%,var(--card-line));color:#fbbf24}
.co-fact-icon{font-size:13px;line-height:1}
.scope-btn-board{border-left:1px dashed var(--line);margin-left:8px}
.company-job-filter-bar{display:flex;align-items:center;gap:16px;margin:14px 0 24px;flex-wrap:wrap}
.company-job-filter-bar input[type="search"]{max-width:440px;width:100%;padding:9px 14px;border-radius:6px;border:1px solid var(--card-line);background:var(--card-bg);color:var(--ink);font-size:14px;outline:none;transition:border-color .15s}
.company-job-filter-bar input[type="search"]:focus{border-color:var(--accent)}
@media (max-width:640px){.facet-row{flex-direction:column;gap:6px}.co-head{flex-direction:column}}
@media (min-width:1300px){
}
@media (min-width:1800px){
  .job-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
}

/* ---------- Jobs 2-Column Sidebar Layout ---------- */
.jobs-layout-wrap{margin-top:16px}
@media (min-width: 1100px){
  .jobs-layout-wrap{display:flex;gap:28px;align-items:flex-start}
  .jobs-sidebar{width:320px;flex-shrink:0;position:sticky;top:56px;max-height:calc(100vh - 72px);overflow-y:auto;padding-right:6px;display:flex;flex-direction:column;gap:14px}
  .jobs-sidebar::-webkit-scrollbar{width:5px}
  .jobs-sidebar::-webkit-scrollbar-thumb{background:var(--card-line);border-radius:4px}
  .jobs-sidebar .jobs-search-wrap{width:100%}
  .jobs-sidebar .scope-bar{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--card-bg);border:1px solid var(--card-line);border-radius:10px;margin:0}
  .jobs-sidebar .scope-buttons{display:grid;grid-template-columns:1fr;gap:6px;width:100%}
  .jobs-sidebar .scope-btn{width:100%;justify-content:flex-start}
  .jobs-sidebar .facets{margin:0;padding:12px 14px}
  .jobs-sidebar .facet-row{flex-direction:column;gap:6px}
  .jobs-sidebar .facet-label{min-width:auto;padding-top:0}
  .jobs-sidebar .jobs-feed-links{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--card-bg);border:1px solid var(--card-line);border-radius:10px}
  .jobs-main-area{flex:1;min-width:0}
  .jobs-main-area .jobs-summary{margin:0 0 16px}
}
@media (max-width: 1099px){
  .jobs-sidebar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
  .jobs-sidebar .scope-bar{margin-bottom:0}
  .jobs-sidebar .facets{margin-bottom:0}
}


/* ---- role / organisation classification (tools/meta_engine.py): pills on job cards, breakdown drawer, company profile ---- */
.job-tag-class{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;font-size:12px;padding:2px 8px;border:1px solid color-mix(in srgb,var(--class-color,var(--accent)) 55%,var(--card-line));background:color-mix(in srgb,var(--class-color,var(--accent)) 12%,transparent);color:var(--ink);border-radius:999px}
.job-tag-class:hover,.job-tag-class.is-expanded{background:color-mix(in srgb,var(--class-color,var(--accent)) 24%,transparent)}
.job-tag-class:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.job-tag-org{display:inline-flex;align-items:center;gap:6px;border-color:color-mix(in srgb,var(--org-color,var(--accent)) 45%,var(--card-line))}
.tag-code{font:600 10px 'Martian Mono',monospace;letter-spacing:.04em;color:var(--class-color,var(--org-color,var(--accent-text)))}
.tag-label{max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-indicator{display:inline-flex;align-items:center;gap:5px}
.match-bar{display:block;height:4px;min-width:2px;max-width:34px;border-radius:2px;background:var(--class-color,var(--accent))}
.match-val{font:500 10px 'Martian Mono',monospace;color:var(--muted)}
.pill-expand-arrow{font-size:10px;color:var(--muted);transition:transform .15s}
.job-tag-class.is-expanded .pill-expand-arrow{transform:rotate(180deg)}
.job-class-drawer{margin:6px 0 8px;padding:12px 14px;border:1px solid var(--card-line);border-radius:10px;background:color-mix(in srgb,var(--card-bg) 70%,var(--paper));font-size:13px;display:grid;gap:10px}
.job-class-drawer[hidden],.drawer-similar[hidden]{display:none}
.class-drawer-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.drawer-match-badge{font:500 11px 'Martian Mono',monospace;padding:1px 8px;border-radius:999px;white-space:nowrap}
.drawer-subhead{font:500 10.5px 'Martian Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.signal-list,.similar-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.signal-list li{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(40px,1fr) 38px;gap:8px;align-items:center}
.dim-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dim-bar-wrap{display:block;height:6px;border-radius:3px;background:color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden}
.dim-bar{display:block;height:100%;border-radius:3px;background:var(--accent)}
.dim-val{font:500 11px 'Martian Mono',monospace;color:var(--muted);text-align:right}
.similar-list li{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.similar-list a{color:var(--accent-text)}
.drawer-secondary,.drawer-org-box{color:var(--soft,var(--muted))}
.drawer-actions{display:flex;gap:8px;flex-wrap:wrap}
/* company page: classification pill with details, and the similar-employers block */
.co-class-details{display:inline-block;max-width:100%}
.co-class-details>summary{list-style:none;cursor:pointer}
.co-class-details>summary::-webkit-details-marker{display:none}
.co-class-details[open]{display:block;flex-basis:100%}
.co-fact-class .pill-toggle{font-size:10px;color:var(--muted)}
.co-class-drawer{margin-top:8px;padding:12px 14px;border:1px solid var(--card-line);border-radius:10px;background:var(--card-bg);display:grid;gap:8px;max-width:640px}
.co-class-desc{margin:0;color:var(--soft,var(--muted))}
.co-class-note{margin:0;font-size:13px;color:var(--muted);font-style:italic}
.similar-positions-section{margin-top:32px}
.similar-positions-header{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.similar-positions-header h2{margin:0 0 4px}

/* ---- job page (job.html) and the company overview ---- */
.job-page .wrap{max-width:min(var(--wrap),1440px)}
.jobp-crumbs{margin-bottom:14px}.jobp-crumbs a{color:var(--muted)}
.jobp-head{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-start;margin-bottom:22px}
.jobp-head>div:first-of-type{flex:1;min-width:260px}
.jobp-head h1{margin:2px 0 8px;font-size:clamp(24px,3.4vw,34px);line-height:1.15}
.jobp-actions{display:flex;gap:10px;align-items:center}
.jobp-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px;align-items:start}
@media (max-width:900px){.jobp-grid{grid-template-columns:1fr}}
.jobp-main h2,.jobp-card h2,.jobp-similar-wrap h2{font-size:16px;margin:0 0 10px}
.jobp-desc{max-width:72ch;line-height:1.6}
.jobp-desc h3{font-size:14px;margin:18px 0 6px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.jobp-desc p{margin:0 0 10px}.jobp-desc ul{margin:0 0 12px;padding-left:20px}.jobp-desc li{margin:3px 0}
.jobp-gap{font-style:italic}
.jobp-side{display:grid;gap:14px}
.jobp-card{border:1px solid var(--card-line);border-radius:10px;background:var(--card-bg);padding:14px 16px}
.jobp-card .signal-list li.is-best .dim-name{font-weight:700}
.jobp-facts{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px;font-size:14px}
.geo-chain{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:14px}
.geo-chain li+li::before{content:"›";margin:0 7px;color:var(--muted)}
.geo-chain li:last-child{font-weight:600}
.geo-common strong{color:var(--ink)}
.jobp-similar-wrap{margin-top:28px}
.jobp-similar li{padding:3px 0}
.jobp-empty{padding:30px 0;max-width:560px}
.co-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:18px 0 8px}
.co-overview .signal-list li{grid-template-columns:minmax(0,1.4fr) minmax(40px,1fr) 30px}

/* event page: long form (lede, sections, what to expect, closing call to action) and the homepage teaser lines */
.event-where{margin:2px 0 18px}
.event-lede{font-size:1.25rem;line-height:1.45;font-weight:500;margin:0 0 20px}
.event-h{margin:28px 0 8px;font-size:1.1rem}
.event-motto{font-size:1.15rem;font-weight:600;margin:30px 0 8px;color:var(--accent-text)}
.event-expect{list-style:none;padding:0;margin:10px 0;display:grid;gap:12px}
.event-expect li{border-left:3px solid var(--accent);padding:2px 0 2px 14px}
.event-expect b{display:block}
.event-expect span{color:var(--muted)}
.event-close{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:28px 0 12px;padding:18px 20px;border:1px solid var(--line);border-radius:10px}
.event-close div{display:grid;gap:2px}
.event-hero-img{display:block;width:100%;height:auto;border-radius:10px;margin:0 0 20px}
.img-on-dark{display:none}
body[data-mode=dark] .img-on-light{display:none}
body[data-mode=dark] .img-on-dark{display:block}
.event-aside{float:right;width:min(340px,42%);margin:0 0 18px 30px}
.event-aside .event-hero-img{max-width:none;margin:0 0 12px}
.event-btns{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.opp-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.opp-pill{font-size:12.5px;padding:5px 10px;border:1px dashed var(--accent-text);border-radius:999px;color:var(--ink);text-decoration:none;line-height:1.3}
.opp-pill:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.detail.single{display:block}
.detail.single>div::after{content:"";display:block;clear:both}
.event-close,.event-embed{clear:both}
.next-image{display:block;width:100%;max-width:340px;height:auto;border-radius:10px;margin:0 auto 18px}
.next-sub{display:block;font-size:.62em;font-weight:500;margin-top:6px;color:#C9D8E6}
@media(max-width:800px){.event-aside{float:none;width:100%;margin:0 0 18px}}
.event-embed{display:block;width:100%;max-width:600px;height:450px;border:1px solid #bfcbda88;border-radius:4px;margin:16px 0}
.hero-tagline{margin:12px 0 0}
.next-body{margin:10px 0 0}
.next-tagline{margin:10px 0 0}
.next-body:empty,.next-tagline:has(b:empty){display:none}

/* organiser kit: colours in use */
.swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0 6px}
.swatch{padding:14px;border-radius:8px;border:1px solid var(--line);display:grid;gap:2px;min-height:96px;align-content:end}
.swatch b{font-size:14px}.swatch small{opacity:.8;font-size:12px}
#logo-files .palette-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
#logo-files .logo-box img{display:block;width:100%;height:auto}
.kit-colours .palette-grid{max-width:640px}
#joint-branding .logo-box img{display:block;width:100%;height:auto}
.joint-example{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:28px;align-items:start;margin-top:36px}
.joint-example img{width:100%;height:auto;border-radius:10px;display:block}
@media(max-width:800px){.joint-example{grid-template-columns:1fr}}
.joint-row{display:grid;gap:24px;margin-top:26px}
.joint-row.stacked{grid-template-columns:repeat(2,minmax(0,300px))}
.joint-row.wide{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
@media(max-width:700px){.joint-row.stacked,.joint-row.wide{grid-template-columns:1fr}}

/* company page: the overview rows and the header tags filter the list below */
.ov-row{all:unset;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(40px,1fr) 38px;gap:8px;align-items:center;width:100%;padding:3px 6px;margin:0 -6px;border-radius:6px;cursor:pointer}
.ov-row:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.ov-row:focus-visible{outline:2px solid var(--accent-text)}
.ov-row[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 18%,transparent);outline:1px solid var(--accent-text)}
.ov-row[aria-pressed=true] .dim-name{font-weight:600}
.ov-hint{margin:8px 0 18px}
.job-tag-filter{cursor:pointer;font:inherit;background:none}
.job-tag-filter[aria-pressed=true],.job-card .job-tag.is-on{border-color:var(--accent-text);color:var(--accent-text);font-weight:600}
#company-chips{margin:8px 0}
.ov-list li{display:block}

/* place navigator: the way up from the chosen place and the places below it */
.area-nav{align-items:center;gap:6px}
.area-sep{color:var(--muted);padding:0 2px}
.area-crumb[aria-pressed=true]{cursor:default}
.area-kid{border-style:dashed}
/* role page: other roles as cards */
.jobp-more-wrap,.jobp-similar-wrap{margin-top:36px}
.jobp-similar .sim-meta{padding:6px 2px 0}

/* Board-stated facts of a role (department, work place, contract type) */
.job-facts{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}
.job-facts .job-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-facts .job-wp,.job-facts .job-et{color:var(--ink);border-color:var(--line)}

/* One listing layout for the jobs board, the companies overview and a company's roles: sticky filter sidebar, card grid in the main area */
.jobs-sidebar .co-overview{display:flex;flex-direction:column;gap:14px;margin:0}
.jobs-sidebar .co-hiring{padding:12px 14px;background:var(--card-bg);border:1px solid var(--card-line);border-radius:10px}
.jobs-sidebar .co-hiring h2{font-size:16px;margin:0 0 6px}
.jobs-sidebar .company-job-filter-bar{display:flex;flex-direction:column;gap:10px}
.jobs-sidebar .facet-search,.jobs-sidebar .company-job-filter-bar input[type="search"]{width:100%;max-width:none}
.jobs-main-area h2{margin-top:0}
.jobs-main-area .co-grid,.jobs-main-area .job-grid{margin-top:8px}
.co-places-row .facet-pills .near-city{margin-top:4px}

/* Card balance: more room for the role's own text, smaller classification chips, less padding */
.job-card{padding:13px 15px;gap:6px}
.job-card-top{gap:8px}
.job-comp{font-size:14px}
.job-badge-new{font-size:11px;padding:1px 6px}
.job-title{font-size:16px;line-height:1.3}
.job-snippet{font-size:13.5px;line-height:1.45;margin:0;-webkit-line-clamp:4}
.job-tags{gap:4px;margin:2px 0 0}
.job-card .job-tag,.job-card .job-tag-class,.job-card .job-tag-org{font-size:10.5px;line-height:1.3;padding:1px 6px;gap:4px}
.job-card .job-tag-class .pill-code,.job-card .job-tag-org .tag-code{font-size:9.5px}
.job-facts{margin:0}
.job-card-bottom{padding-top:7px;font-size:12.5px}
.job-loc{font-size:12.5px}

/* Role page: same adaptive width as the board and the company page; the description keeps a readable line length, the side cards use the free width */
@media (min-width:1300px){.job-page .wrap{max-width:min(94vw,1840px)}}
@media (min-width:1800px){.job-page .wrap{max-width:min(96vw,2400px)}}
@media (min-width:1300px){.jobp-grid{grid-template-columns:minmax(0,100ch) minmax(0,1fr)}.jobp-side{display:block;column-width:340px;column-gap:14px}.jobp-card{break-inside:avoid;margin:0 0 14px}}
.jobp-main{max-width:100ch}
.jobp-main ul{margin:6px 0 12px;padding-left:20px}
.jobp-main li{margin:3px 0}
.jobp-main p{margin:0 0 10px}
.jobp-main h3{margin:18px 0 6px;font-size:14px;letter-spacing:.04em}
.jobp-more-wrap .job-grid,.jobp-similar-wrap .job-grid{margin-top:10px}

/* Company header and sidebar: smaller chips, bars that leave room for the name */
.co-fact-pill{font-size:12px;padding:3px 9px}
.co-head .job-tags .job-tag{font-size:11.5px;padding:2px 8px}
.jobs-sidebar .ov-row{grid-template-columns:minmax(0,1fr) 56px 28px}
.jobs-sidebar .dim-name{white-space:normal;line-height:1.25}
.jobs-sidebar .ov-hint{margin:0}
.event-embed{max-width:none;height:490px;margin:18px 0 22px}
.event-opps{margin-top:22px}
/* Luma switches from side-by-side to stacked by its own width, so size by the container, not the viewport */
.detail.single>div{container-type:inline-size}
@container (max-width:665px){.event-embed{height:830px}}
@container (max-width:420px){.event-embed{height:860px}}
.detail.single>div>p,.detail.single .event-expect{max-width:100ch}

/* views of the jobs board: the board itself, Match me, the atlas and the companies */
.jobs-subnav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}.jobs-subnav a{font-size:13.5px;padding:6px 13px;border:1px solid var(--line);border-radius:16px;color:var(--muted);text-decoration:none}.jobs-subnav a:hover{color:var(--ink);border-color:var(--ink)}.jobs-subnav a[aria-current=page]{border-color:var(--accent-text);color:var(--accent-text);font-weight:600}
.data-notice{margin:2rem auto 1rem;padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted)}
.data-notice p{max-width:70ch;margin:0}

/* the board, the companies, the atlas and the company pages: the page starts right under the header, the header spans the same width as
   the content, and the intro sits beside the title on wide screens instead of in a narrow column under it */
.section:has(> .wrap > .jobs-subnav),.section.company-page{padding-top:22px}
.jobs-home-head>.lang-toggle{display:none}   /* the header carries the language switch */
@media (min-width:1100px){
  .jobs-subnav{justify-content:flex-end;margin:0 0 -30px;position:relative;z-index:1}
  .jobs-home-head>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:56px;align-items:start}
  .jobs-home-head>div:first-child>.eyebrow{grid-column:1 / -1;grid-row:1;padding-right:380px}
  .jobs-home-head>div:first-child>.jobs-head-title-row,.jobs-home-head>div:first-child>h2{grid-column:1;grid-row:2;margin:6px 0 0}
  .jobs-home-head>div:first-child>.jobs-head-collapsible{grid-column:2;grid-row:2 / span 2;margin-top:10px}
  .jobs-home-head>div:first-child>.intro{grid-column:2;grid-row:2;margin:12px 0 0}
  .jobs-home-head>div:first-child>.alt-site-line{grid-column:2;grid-row:3}
  .jobs-home-head .intro{max-width:none}
  .jobs-home-head .jobs-head-collapsible p.small{display:inline-block;margin:6px 18px 0 0}
  .co-head .intro{max-width:110ch}
}
.jobs-home-head .jobs-head-collapsible .intro{margin-top:0}
/* the sort bar above the results, and the place headings of the nearest-first order */
.results-sort{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:4px 0 14px}
.results-sort .facet-label,.results-sort>.mono{margin-right:4px;color:var(--soft)}
.results-sort .near-ctl{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:8px}
.co-group-head{grid-column:1 / -1;margin:18px 0 2px;padding-bottom:6px;border-bottom:1px solid var(--line);font:600 15px/1.3 'Hanken Grotesk',sans-serif;color:var(--ink)}
.co-group-head .muted,.co-group-head small{font-weight:400;color:var(--muted)}
.co-family{margin:.4rem 0 0}.co-family .job-tags{display:inline-flex;margin-left:.4rem}

/* the atlas's options in the look of the board's pills (the same control on every page) */
#atlas .atlas-pills button,#atlas .atlas-fields button{padding:4px 10px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);font:500 12px 'Hanken Grotesk',sans-serif;height:auto;line-height:1.4;width:auto}
#atlas .atlas-pills button:hover,#atlas .atlas-fields button:hover{border-color:var(--accent);color:var(--accent-text)}
#atlas .atlas-pills button[aria-pressed=true],#atlas .atlas-fields button[aria-pressed=true],#atlas .atlas-scrub .atlas-seg button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent);color:var(--accent-text);font-weight:600}
#atlas .atlas-ctl-l{font:500 11px 'Martian Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
#atlas .atlas-bar{row-gap:10px;column-gap:22px}

/* ---------- one page width for every page: the header, the content and the footer share it and grow with the viewport ---------- */
/* reading pages keep their text measure inside it (.intro, .legal); the board, companies and atlas pages are wider still */
:root{--wrap:1160px}
@media (min-width:1300px){:root{--wrap:min(92vw,1560px)}}
@media (min-width:1800px){:root{--wrap:min(90vw,1840px)}}
@media (min-width:1180px){body:is([data-page=jobs],[data-page=companies],[data-page=company],[data-page^=atlas]){--wrap:min(96vw,1840px)}}
@media (min-width:1800px){body:is([data-page=jobs],[data-page=companies],[data-page=company],[data-page^=atlas]){--wrap:min(96vw,2400px)}}
.wrap{max-width:var(--wrap);padding-inline:clamp(18px,2.6vw,48px)}
.legal .wrap{max-width:min(var(--wrap),820px)}
.site-header .brand{width:clamp(64px,6vw,104px)}
/* wide screens: card grids add columns instead of growing their cards */
@media (min-width:1500px){
  .people{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
  .grid,.partners,.roles{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}
  .community{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
  .months{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}
  .formats{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
}
/* ---------- function, domain and level (one set of colours with the atlas and the map: jobcrawl-profile functions.json, domains) ---------- */
.pill-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--dot);margin-right:6px;vertical-align:-1px;box-shadow:0 0 0 1px color-mix(in srgb,var(--dot) 40%,transparent)}
.keyword-pill.pill-sub{font-size:12px;padding-left:10px;border-style:dashed}
.keyword-pill.pill-sub .pill-dot{width:7px;height:7px}
.job-group-head .pill-dot{width:11px;height:11px;margin-right:8px}
.job-tag-fn{border-color:color-mix(in srgb,var(--class-color) 55%,transparent);background:color-mix(in srgb,var(--class-color) 16%,transparent)}
.job-tag-fn2{border:1px solid color-mix(in srgb,var(--class-color) 45%,transparent);background:color-mix(in srgb,var(--class-color) 8%,transparent);cursor:pointer}
.job-tag-dom{border:1px dashed color-mix(in srgb,var(--dom-color) 65%,transparent);background:transparent;cursor:pointer}
.job-tag-dom.is-on{background:color-mix(in srgb,var(--dom-color) 18%,transparent);border-style:solid}
.job-tag-lv{border:1px solid var(--line);background:color-mix(in srgb,var(--ink) var(--lv),transparent);color:var(--ink)}
a.job-tag-fn,a.job-tag-fn2,a.job-tag-dom,a.job-tag-lv{text-decoration:none;color:inherit}
.job-tag-none{cursor:default;border-style:dashed;background:transparent;color:var(--soft)}
/* an employer's open roles by function family, in the family colours (build_pages.fam_strip) */
.co-fam-strip{display:flex;height:6px;border-radius:3px;overflow:hidden;margin:2px 0 8px;background:var(--line)}
.co-fam-strip span{display:block;height:100%}
