/* Neolism shared stylesheet: Brand System v1 (Swiss). Loaded after each page's own styles. */
:root{
--bg:#F3EEE4;--bg-alt:#EAE4D8;--surface:#FFFFFF;--fg:#0B0B0C;--fg-body:#3A3832;--fg-label:#4A473F;--fg-muted:#6E6A62;
--accent:#A3112B;--on-accent:#FFFFFF;--signal:#D4FF3A;--on-signal:#0B0B0C;--rule:#0B0B0C;--rule-soft:rgba(11,11,12,.15);
--accent-ink:#E0425C;--ink:#0B0B0C;--paper:#F3EEE4;
--sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Instrument Serif",Georgia,"Times New Roman",serif;--mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
--margin:80px}
html{scroll-behavior:smooth}
body{background:var(--bg) !important;color:var(--fg);font-family:var(--sans)}
body .sg,body .nl,body{font-family:var(--sans)}
::selection{background:var(--signal);color:var(--on-signal)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--fg) !important;outline-offset:3px !important;border-radius:0 !important}
.wrap{max-width:1360px !important;padding-left:var(--margin) !important;padding-right:var(--margin) !important}

/* ---------- site nav (all inner pages) ---------- */
.top{background:var(--bg) !important;border-bottom:1px solid var(--rule) !important;box-shadow:none !important}
.top::before,.top::after{display:none !important}
.site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--rule)}
.site-logo{display:inline-flex;align-items:center;text-decoration:none}
.site-logo img{display:block;height:34px;width:auto}
.site-r{display:flex;align-items:center;gap:36px}
.site-links{display:flex;gap:36px}
.site-links a{font:500 12px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--fg);padding:14px 0}
.site-links a:hover,.site-links a[aria-current]{color:var(--accent)}
.site-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border:1px solid var(--rule);border-radius:2px;font:500 15px/1 var(--sans);color:var(--fg);text-decoration:none;transition:background-color .18s ease}
.site-btn:hover{background:rgba(11,11,12,.06);color:var(--fg)}

/* ---------- page head ---------- */
.head{padding-top:48px !important;padding-bottom:88px !important}
.crumbs,.crumbs a,.crumbs span{font:500 11px/1.2 var(--mono) !important;letter-spacing:.14em !important;text-transform:uppercase;color:var(--fg-label) !important}
.crumbs{gap:10px !important;margin-bottom:40px !important}
.crumbs a{text-decoration:underline !important;text-decoration-color:var(--rule-soft) !important;text-underline-offset:3px}
.crumbs a:hover{color:var(--accent) !important;text-decoration-color:var(--accent) !important}
.kicker,.eyebrow{display:flex !important;align-items:center;gap:12px !important;font:500 12px/1.2 var(--mono) !important;letter-spacing:.16em !important;text-transform:uppercase;color:var(--fg-label) !important}
.kicker .dot{width:10px !important;height:10px !important;border-radius:0 !important;background:var(--accent) !important}
.kicker::before{content:"";width:10px !important;height:10px !important;border-radius:0 !important;background:var(--accent) !important}
.kicker:has(.dot)::before{display:none}
.title,.h1{font-family:var(--sans) !important;font-weight:600 !important;font-size:clamp(40px,5.4vw,76px) !important;line-height:.98 !important;letter-spacing:-0.04em !important;color:var(--fg)}
.title .strong{font-weight:600 !important}
.title .lite,.h1 em,.card-t .lite{font-family:var(--serif) !important;font-style:italic !important;font-weight:400 !important;letter-spacing:-0.01em !important}
.h1 u{text-decoration:underline !important;background:none !important;text-decoration-color:var(--accent) !important;text-decoration-thickness:4px !important;text-underline-offset:10px}
.dek{font:400 19px/1.6 var(--sans) !important;color:var(--fg-body) !important;max-width:600px}
.dek b{font-weight:600 !important;color:var(--fg) !important;background:none !important}
.meta,.meta span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-label)}
.meta .who{font-family:var(--sans) !important;font-size:15px !important;letter-spacing:0 !important;text-transform:none !important;color:var(--fg) !important;font-weight:600 !important}
.meta .bar{width:4px !important;height:4px !important;border-radius:0 !important;background:var(--fg-label) !important}
.avatar{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--rule);background:var(--surface) !important}
.chip{border-radius:0 !important;border:1px solid var(--rule) !important;background:transparent !important;font:500 11px/1.2 var(--mono) !important;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-label) !important;padding:8px 12px !important}
.chip i{border-radius:0 !important;background:var(--signal) !important;box-shadow:none !important}
.cat{font:500 11px/1.2 var(--mono) !important;letter-spacing:.14em !important;text-transform:uppercase;color:var(--fg-label) !important}
.cat i{border-radius:0 !important;width:10px !important;height:10px !important;box-shadow:none !important}

/* ---------- buttons and links ---------- */
.pill,.btn,.turn-btn{border-radius:2px !important;box-shadow:none !important;transform:none !important;font-family:var(--sans) !important;font-weight:500 !important}
.pill{min-height:48px;padding:0 22px !important;border:1px solid var(--rule) !important}
.pill-dark{background:var(--fg) !important;color:var(--bg) !important}
.pill-dark:hover{background:var(--accent) !important;color:var(--on-accent) !important;border-color:var(--accent) !important}
.pill-light{background:transparent !important;color:var(--fg) !important}
.pill-light:hover{background:rgba(11,11,12,.06) !important}
.btn{min-height:52px !important;padding:0 8px 0 24px !important;gap:14px !important;font-size:15px !important}
.btn-dark{background:var(--accent) !important;color:var(--on-accent) !important}
.btn-dark:hover{background:var(--fg) !important;color:var(--bg) !important}
.btn .ar{border-radius:0 !important;width:36px !important;height:36px !important;background:var(--signal) !important;color:var(--on-signal) !important}
.btn-ghost{background:transparent !important;color:var(--fg) !important;border:1px solid var(--rule) !important;padding:0 20px !important}
.btn-ghost:hover{background:rgba(11,11,12,.06) !important}
.btn-light{background:transparent !important;color:var(--fg) !important;border:1px solid var(--rule) !important;padding:0 22px !important}
.btn-light:hover{background:rgba(11,11,12,.06) !important}
.btn[disabled]{opacity:.35}
.go,.kgo,.next,.card-go,.take span,.status.take span{text-decoration:underline !important;text-decoration-thickness:1px !important;text-underline-offset:5px !important}
.body a,.src a,.sources a,.guard a,.liab a,.bench a,.row-b a{color:var(--fg) !important;text-decoration:underline !important;text-decoration-color:var(--accent) !important;text-decoration-thickness:1px !important;text-underline-offset:4px !important;background:none !important}
.body a:hover,.sources a:hover,.guard a:hover,.liab a:hover{color:var(--accent) !important}

/* ---------- footer (ink) ---------- */
.site-foot{background:var(--ink);color:var(--paper);padding:112px 0 32px;margin-top:0}
.site-foot .sf-word{margin:0;font:600 clamp(96px,17vw,248px)/.82 var(--sans);letter-spacing:-0.06em}
.site-foot .sf-word b{color:var(--accent-ink);font-weight:600}
.site-foot .sf-row{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap;margin-top:48px}
.site-foot .sf-tag{margin:0;max-width:440px;font:400 18px/1.6 var(--sans);color:#CFC9BD}
.site-foot .sf-links{display:flex;flex-wrap:wrap;gap:16px 32px}
.site-foot .sf-links a{font:500 12px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper);text-decoration:none}
.site-foot .sf-links a:hover{color:var(--signal)}
.site-foot .sf-credit{display:flex;justify-content:space-between;gap:16px;margin-top:84px;padding-top:20px;border-top:1px solid rgba(243,238,228,.2);font:500 11px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#B5AFA3}
.site-foot a:focus-visible{outline-color:var(--signal) !important}

/* ---------- Signal articles ---------- */
.pg-signal .progress i{background:var(--accent) !important}
.pg-signal .article{background:var(--bg) !important}
.pg-signal .col{max-width:720px}
.pg-signal .lede{font:500 24px/1.45 var(--sans) !important;letter-spacing:-0.015em !important;color:var(--fg) !important}
.pg-signal .body p{font-size:18px !important;line-height:1.72 !important;color:var(--fg-body) !important}
.pg-signal .body p.beat{font-family:var(--sans) !important;font-weight:600 !important;color:var(--fg) !important}
.pg-signal .h3{font:600 clamp(28px,3vw,40px)/1.08 var(--sans) !important;letter-spacing:-0.03em !important;color:var(--fg) !important;margin-top:72px !important;padding-top:20px;border-top:1px solid var(--rule)}
.pg-signal .numbers,.pg-signal .duo li,.pg-signal .turn{background:var(--ink) !important;border-radius:0 !important;color:var(--paper) !important}
.pg-signal .numbers .label,.pg-signal .turn-l{font:500 12px/1.2 var(--mono) !important;letter-spacing:.16em !important;color:#B5AFA3 !important}
.pg-signal .numbers .label::before{border-radius:0 !important;background:var(--signal) !important}
.pg-signal .n{border-top:1px solid rgba(243,238,228,.2) !important}
.pg-signal .n-big{font-family:var(--sans) !important;font-weight:600 !important;letter-spacing:-0.05em !important;color:var(--paper) !important}
.pg-signal .n-big .pct{color:inherit !important}
.pg-signal .n-big.hot{color:var(--signal) !important}
.pg-signal .n-t{color:#CFC9BD !important}
.pg-signal .numbers .src,.pg-signal .numbers .src a{font:500 11px/1.5 var(--mono) !important;letter-spacing:.08em !important;color:#B5AFA3 !important;text-decoration-color:rgba(243,238,228,.35) !important}
.pg-signal .quote p{font-family:var(--serif) !important;font-weight:400 !important;font-style:italic !important;font-size:clamp(34px,4.2vw,56px) !important;line-height:1.08 !important;letter-spacing:-0.01em !important}
.pg-signal .quote p span{background:none !important;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:10px}
.pg-signal .guard{background:var(--surface) !important;border:1px solid var(--rule) !important;border-radius:0 !important}
.pg-signal .guard .gl,.pg-signal .flow .label,.pg-signal .more .eyebrow,.pg-signal .sources summary{font:500 12px/1.2 var(--mono) !important;letter-spacing:.16em !important;color:var(--fg-label) !important}
.pg-signal .flow .label::before,.pg-signal .more .eyebrow::before{content:"";display:inline-block;width:10px;height:10px;border-radius:0 !important;background:var(--accent) !important;margin-right:12px}
.pg-signal .move{background:transparent !important;border-radius:0 !important;border-top:1px solid var(--rule);padding:28px 0 8px !important;transform:none !important;box-shadow:none !important}
.pg-signal .moves{gap:0 !important}
.pg-signal .mn{font:600 32px/1 var(--sans) !important;color:var(--accent) !important}
.pg-signal .mn::after{display:none}
.pg-signal .move h4,.pg-signal .s-t,.pg-signal .stack b,.pg-signal .measures b,.pg-signal .liab b,.pg-signal .duo h4,.pg-signal .tile-t,.pg-signal .sn{font-family:var(--sans) !important;font-weight:600 !important;letter-spacing:-0.02em !important}
.pg-signal .move .first{background:var(--bg-alt) !important;border-radius:0 !important;box-shadow:none !important}
.pg-signal .fm,.pg-signal .s-n,.pg-signal .duo .dn{font:500 11px/1.2 var(--mono) !important;letter-spacing:.14em !important;color:var(--accent) !important}
.pg-signal .duo .dn{color:var(--signal) !important}
.pg-signal .flow{background:transparent !important;border-radius:0 !important;box-shadow:none !important;border-top:1px solid var(--rule);margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important}
.pg-signal .step{background:var(--surface) !important;border:1px solid var(--rule);border-radius:0 !important;box-shadow:none !important}
.pg-signal .step:not(:last-child)::after{border-color:var(--fg) !important}
.pg-signal .s-who{border-radius:0 !important;font:500 11px/1 var(--mono) !important;letter-spacing:.12em !important;background:var(--bg-alt) !important;color:var(--fg) !important}
.pg-signal .s-who.h{background:var(--signal) !important}
.pg-signal .s-who.m{background:var(--fg) !important;color:var(--paper) !important}
.pg-signal .stack li{background:transparent !important;border-radius:0 !important;box-shadow:none !important;border-top:1px solid var(--rule)}
.pg-signal .tag{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--rule-soft);background:var(--surface) !important}
.pg-signal .tag em{font-family:var(--mono);color:var(--accent) !important}
.pg-signal .tag.rent em{color:var(--fg-label) !important}
.pg-signal .measures li,.pg-signal .liab li{border-top:1px solid var(--rule) !important}
.pg-signal .duo p{color:#CFC9BD !important}
.pg-signal .turn-q{font-family:var(--sans) !important;font-weight:600 !important}
.pg-signal .turn-btn{background:var(--accent-ink) !important;color:var(--ink) !important;font-weight:500 !important}
.pg-signal .turn-btn:hover{background:var(--paper) !important;color:var(--ink) !important}
.pg-signal .turn-kit a{color:var(--signal) !important;text-decoration:underline !important;text-underline-offset:4px}
.pg-signal .sources summary{border-top:1px solid var(--rule) !important}
.pg-signal .sign{border-color:var(--rule) !important}
.pg-signal .sign .avatar{background:var(--surface) !important}
.pg-signal .more{background:var(--bg-alt) !important;border-top:1px solid var(--rule)}
.pg-signal .h2,.pg-hub .h2{font-family:var(--sans) !important;letter-spacing:-0.04em !important}
.pg-signal .h2 b{font-weight:600 !important}
.pg-signal .h2 span{font-family:var(--serif) !important;font-style:italic;font-weight:400 !important}
.pg-signal .tile{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--rule) !important;background:var(--surface) !important}
.pg-signal .tile:hover{transform:translateY(-3px) !important}
.pg-signal .tile-live:hover .tile-t{color:var(--accent)}

/* ---------- Signals hub ---------- */
.pg-hub .card{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--rule) !important;background:var(--surface) !important}
.pg-hub .card:hover{transform:translateY(-3px) !important}
.pg-hub .card.new{background:var(--surface) !important}
.pg-hub .card.soon{background:transparent !important;border-style:dashed !important}
.pg-hub .card-t{font-family:var(--sans) !important;font-weight:600 !important;letter-spacing:-0.03em !important;color:var(--fg) !important}
.pg-hub .card-d{color:var(--fg-body) !important}
.pg-hub .card-go{color:var(--fg) !important}
.pg-hub .card:hover .card-go,.pg-hub .card:hover .card-go .u{color:var(--accent) !important}
.pg-hub .newtag{border-radius:0 !important;background:var(--signal) !important;color:var(--on-signal) !important;font-family:var(--mono)}
.pg-hub .subrow{border-radius:0 !important;background:transparent !important;box-shadow:none !important;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}

/* ---------- Field Kit hub ---------- */
.pg-kit .kfeat,.pg-kit .ktile{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--rule) !important;background:var(--surface) !important;color:var(--fg) !important}
.pg-kit .kfeat:hover,.pg-kit .ktile-live:hover{transform:translateY(-3px) !important}
.pg-kit .kfeat h2,.pg-kit .ktile h3{font-family:var(--sans) !important;font-weight:600 !important;letter-spacing:-0.03em !important;color:var(--fg) !important}
.pg-kit .kfeat p,.pg-kit .ktile p{color:var(--fg-body) !important}
.pg-kit .steps li{border-radius:0 !important;background:transparent !important;border-top:1px solid var(--rule-soft) !important;color:var(--fg) !important}
.pg-kit .steps b{color:var(--accent) !important;font-family:var(--mono) !important;font-weight:500 !important}
.pg-kit .go span,.pg-kit .kgo span{border-radius:0 !important}
.pg-kit .how > div{border-radius:0 !important;background:transparent !important;box-shadow:none !important;border-top:1px solid var(--rule)}
.pg-kit .how b{font-family:var(--sans) !important;font-weight:600 !important}
.pg-kit .suggest{border-radius:0 !important;background:transparent !important;box-shadow:none !important;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--fg) !important}
.pg-kit .suggest b{font-weight:600 !important}
.pg-kit .ktile a{color:var(--fg) !important}

.pg-kit .kfeat::after,.pg-kit .kfeat::before{display:none !important}
.pg-kit .kfeat .cat{color:var(--fg-label) !important}
.pg-kit .kfeat .go{background:var(--accent) !important;color:var(--on-accent) !important;text-decoration:none !important;min-height:52px;padding:0 8px 0 24px !important;border-radius:2px !important;font-weight:500 !important}
.pg-kit .kfeat .go span{border-radius:0 !important;background:var(--signal) !important;color:var(--on-signal) !important}
.pg-kit .kfeat:hover .go{background:var(--fg) !important;color:var(--bg) !important}
.pg-hub .card-go{text-decoration:none !important;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pg-hub .card-go .u{color:var(--fg) !important;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.pg-hub .card-go span:not(.u){margin-left:0 !important;font:500 11px/1.2 var(--mono) !important;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-label) !important}

/* ---------- Tools ---------- */
.pg-tool .card{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--rule) !important;background:var(--surface) !important}
.pg-tool .prog-bar{border-radius:0 !important;background:var(--bg-alt) !important;height:8px !important}
.pg-tool .prog-bar i{border-radius:0 !important;background:var(--accent) !important}
.pg-tool .prog-t,.pg-tool .q-tag,.pg-tool .tier-l,.pg-tool .sec-l,.pg-tool .field label{font-family:var(--mono) !important;font-weight:500 !important;letter-spacing:.14em !important;text-transform:uppercase;font-size:11px !important}
.pg-tool .q-tag,.pg-tool .tier-l{color:var(--accent) !important}
.pg-tool .q-h,.pg-tool .tier-h,.pg-tool .unlock h3,.pg-tool .rep-sec h3,.pg-tool .step-h{font-family:var(--sans) !important;font-weight:600 !important;letter-spacing:-0.03em !important}
.pg-tool .opt label{border-radius:0 !important;border:1px solid var(--rule-soft) !important;font-weight:500 !important;transform:none !important}
.pg-tool .opt label:hover{border-color:var(--fg) !important}
.pg-tool .opt label::before{border-radius:0 !important}
.pg-tool .opt input:checked + label{border-color:var(--fg) !important;background:#EEFFB8 !important}
.pg-tool .opt input:checked + label::before{background:var(--fg) !important;border-color:var(--fg) !important;box-shadow:inset 0 0 0 4px #EEFFB8 !important}
.pg-tool .bench{border-radius:0 !important;border:1px solid var(--rule-soft) !important;border-left:1px solid var(--rule-soft) !important;background:var(--bg) !important}
.pg-tool .field input{border-radius:0 !important;border:1px solid var(--rule) !important}
.pg-tool .field input:focus{box-shadow:0 0 0 3px rgba(212,255,58,.8) !important}
.pg-tool .ring-n b{font-family:var(--sans) !important;font-weight:600 !important}
.pg-tool .tag{border-radius:0 !important;font-family:var(--mono) !important;font-weight:500 !important;letter-spacing:.06em}
.pg-tool .moves li,.pg-tool .dcard,.pg-tool .refbox,.pg-tool .rcard,.pg-tool .wcard{border-radius:0 !important;box-shadow:none !important}
.pg-tool .moves li{background:transparent !important;border-top:1px solid var(--rule)}
.pg-tool .moves li b.n{font-family:var(--mono) !important;font-weight:500 !important;color:var(--accent) !important;font-size:15px !important}
.pg-tool .dcard .di{border-radius:0 !important;font-family:var(--mono) !important}
.pg-tool .wcard{border:1px solid var(--rule-soft) !important}

/* ---------- responsive ---------- */
@media (max-width:1024px){:root{--margin:36px}}
@media (max-width:860px){
.site-nav{flex-wrap:wrap;row-gap:4px;padding-top:18px;padding-bottom:12px}
.site-r{display:contents}
.site-btn{order:2}
.site-links{order:3;flex-basis:100%;gap:24px}
.head{padding-top:28px !important;padding-bottom:56px !important}
.site-foot{padding:72px 0 28px}
.site-foot .sf-credit{flex-direction:column;gap:6px;margin-top:56px}
}
@media (max-width:720px){:root{--margin:20px}.site-logo img{height:30px}}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}
