/* After editing, run node site/assets/signal/sync-home-styles.mjs to refresh the homepage. */
/* Signal release: shared chrome and editorial pages. Existing form and consent logic is unchanged. */
@font-face{font-family:Barlow;src:url(assets/condensed.woff2) format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Hanken;src:url(assets/hanken-grotesk-latin-757962.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:AfinarWordmark;src:url(assets/afinar-wordmark.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:JetBrains;src:url(assets/jetbrains-mono-latin-b87346.woff2) format('woff2');font-style:normal;font-weight:100 800;font-display:swap}
:root{--signal-bg:#191d1a;--signal-panel:#222722;--signal-text:#e9e9df;--signal-muted:#aab0a6;--signal-line:#434a41;--signal-yellow:#eac13d;--signal-gutter:clamp(22px,4.5vw,72px)}
html{scroll-padding-top:104px}.anchor-alias{display:block;scroll-margin-top:104px}
.site-header{position:sticky;top:0;z-index:30;background:#191d1af5;border-bottom:1px solid var(--signal-line);backdrop-filter:blur(16px);font:400 14px/1.5 Hanken,Arial,sans-serif;color:var(--signal-text)}
.site-header *{box-sizing:border-box}.site-header a{text-decoration:none;color:var(--signal-text)}
.site-header .header-inner{height:88px;max-width:1440px;margin:auto;padding-inline:var(--signal-gutter);display:flex;align-items:center;gap:40px}
.site-header .brand,.release-footer .brand{display:flex;align-items:center;gap:13px;font:600 33px/1 AfinarWordmark,Georgia,serif;letter-spacing:-.045em;flex:none;color:var(--signal-text);text-decoration:none}
.site-header .brand img,.release-footer .brand img{width:36px;height:36px;display:block}
.site-header nav{display:flex;gap:30px;margin-left:auto;font-size:14px}
.site-header nav a{display:flex;align-items:center;gap:5px;min-height:44px;white-space:nowrap}.site-header nav a:hover{color:var(--signal-yellow)}.site-header nav a[aria-current="page"]{color:var(--signal-yellow)}
.site-header .header-download{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--signal-yellow);color:var(--signal-bg);font:650 14px/1.25 Hanken,Arial,sans-serif;min-height:44px;padding:12px 18px;border:0;border-radius:0;white-space:nowrap}
.site-header .header-download:hover{background:#f7d267}.site-header .header-download .fi{font-size:16px}
.site-header .menu-button{display:none;height:44px;width:44px;padding:0;border:0;background:none;color:var(--signal-text);font-size:23px;cursor:pointer}
.site-header :focus-visible,.release-footer :focus-visible,.signal-skip:focus{outline:2px solid var(--signal-yellow);outline-offset:5px}
.release-footer{max-width:1440px;margin:auto;padding:60px var(--signal-gutter) 30px;background:var(--signal-bg);color:var(--signal-text);font:400 15px/1.6 Hanken,Arial,sans-serif}
.release-footer *{box-sizing:border-box}.release-footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:36px;border-bottom:1px solid var(--signal-line)}
.release-footer-top p{margin:0;font:700 34px/1 Barlow,'Arial Narrow',sans-serif;letter-spacing:-.03em;color:var(--signal-muted)}
.release-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:38px 0}
.release-footer-links [role=navigation]{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.release-footer .release-footer-links h2{font:400 11px/1.5 JetBrains,monospace;letter-spacing:.08em;color:var(--signal-muted);margin:0 0 15px}
.release-footer-links a,.release-footer-links button{font:400 15px/1.6 Hanken,Arial,sans-serif;text-decoration:none;color:var(--signal-text);border:0;border-radius:0;background:none;padding:3px 0;margin:0;text-align:left;cursor:pointer}
.release-footer a:hover,.release-footer button:hover{color:var(--signal-yellow)}
.release-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--signal-line);padding-top:24px;font-size:12px;color:var(--signal-muted)}
.release-footer-bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* Existing editorial layouts retain their content and behavior; only the visual language changes. */
html:has(body.signal-inner){background:var(--signal-bg)}
body.signal-inner{--d-bg:var(--signal-bg);--d-panel:var(--signal-panel);--d-raised:#2b312a;--d-line:var(--signal-line);--d-line-strong:var(--signal-line);--d-ink:var(--signal-text);--d-ink-2:#bdc3b8;--d-ink-3:var(--signal-muted);--d-amber:var(--signal-yellow);--d-amber-hi:#f7d267;--d-on-amber:var(--signal-bg);--d-display:Barlow,'Arial Narrow',sans-serif;--d-text:Hanken,Arial,sans-serif;--paper:var(--signal-bg);--paper-raised:var(--signal-panel);--paper-sunk:#131613;--ink:var(--signal-text);--ink-secondary:#bdc3b8;--ink-tertiary:var(--signal-muted);--amber:var(--signal-yellow);--amber-on:var(--signal-bg);--hairline:var(--signal-line);--font-display:Barlow,'Arial Narrow',sans-serif;--font-body:Hanken,Arial,sans-serif;--font-mono:JetBrains,monospace;--display-vars:normal;--r-shot:0px;--r-card:0px;--measure:72ch;margin:0;background:var(--signal-bg);color:var(--signal-text);font-family:Hanken,Arial,sans-serif}
.signal-inner .page{background:var(--signal-bg)}
.signal-inner .wrap,.signal-inner .dk-wrap{width:min(1152px,calc(100% - 2 * var(--signal-gutter)));max-width:1152px;margin-inline:auto}
.signal-inner h1,.signal-inner .af-section h1{font:700 clamp(48px,6.3vw,90px)/.98 Barlow,'Arial Narrow',sans-serif!important;letter-spacing:-.025em!important;text-transform:uppercase;font-variation-settings:normal!important;max-width:19ch}
.signal-inner h2,.signal-inner .af-section h2{font-family:Hanken,Arial,sans-serif;font-weight:650;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}
.signal-inner h3{font-family:Hanken,Arial,sans-serif;line-height:1.3;letter-spacing:-.02em}
.signal-inner .lead{font-size:clamp(19px,2vw,25px);line-height:1.5;color:#bdc3b8}
.signal-inner .af-section{padding-block:64px}.signal-inner .af-section + .af-section{border-top:1px solid var(--signal-line)}
.signal-inner .af-dark{background:var(--signal-bg)}
.signal-inner .btn,.signal-inner .dk-btn{border-radius:0!important;box-shadow:none!important;font-family:Hanken,Arial,sans-serif;min-height:44px;line-height:1.3}
.signal-inner .btn--primary,.signal-inner .dk-btn--primary{background:var(--signal-yellow);color:var(--signal-bg)}
.signal-inner .dk-hero::before{display:none}.signal-inner .dk-hero{padding-block:72px 64px}.signal-inner .dk-hero h1{margin-inline:auto;max-width:20ch}.signal-inner .dk-h1 span{background:none;color:var(--signal-yellow)}
.signal-inner .dk-dl-card,.signal-inner .dk-notify{border-radius:0}.signal-inner .dk-dl-card{box-shadow:none}
.signal-inner table{display:block;max-width:100%;overflow-x:auto}.signal-inner th,.signal-inner td{min-width:130px}.signal-inner td:first-child{min-width:150px}
.signal-inner article a{overflow-wrap:anywhere}.signal-inner main{min-width:0}.signal-inner .confirmation{min-height:65vh}
.signal-skip{position:fixed;top:10px;left:20px;transform:translateY(-200%);z-index:100;background:var(--signal-yellow);color:var(--signal-bg);padding:12px 18px}.signal-skip:focus{transform:none}
/* Consent UI uses its existing token contract, scoped away from homepage tokens. */
body .af-consent{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--paper-raised:var(--signal-panel);--ink:var(--signal-text);--ink-secondary:#bdc3b8;--ink-tertiary:var(--signal-muted);--hairline:var(--signal-line);--r-shot:0px;--type-small:14px;--type-body:20px;--lh-small:1.5;--weight-medium:600;--amber:var(--signal-yellow);font-family:Hanken,Arial,sans-serif;text-align:left}
body .af-consent h2{font:600 20px/1.25 Hanken,Arial,sans-serif;text-transform:none;letter-spacing:-.02em}
body .af-consent a{color:var(--signal-yellow);text-decoration:underline}
body .af-consent .btn{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #929c8c;border-radius:0;color:var(--signal-text);background:transparent;font:500 14px/1.3 Hanken,Arial,sans-serif;padding:10px 8px;cursor:pointer}
body .af-consent .btn:hover{background:#3a4237}body .af-consent :focus-visible{outline:2px solid var(--signal-yellow);outline-offset:3px}
@media(max-width:950px){:root{--signal-gutter:32px}.site-header .header-inner{height:76px;gap:24px}.site-header .brand{font-size:29px}.site-header .brand img{width:32px;height:32px}.site-header nav{gap:19px;font-size:13px}.site-header .header-download{font-size:12px;gap:12px;padding:12px}}
@media(max-width:700px){:root{--signal-gutter:22px}html{scroll-padding-top:84px}.site-header .header-inner{height:72px;gap:12px}.site-header .header-download{margin-left:auto;min-height:40px}.site-header .header-download span{font-size:0}.site-header .header-download span:after{content:'Get Afinar';font-size:12px}.site-header .menu-button{display:block}.site-header nav{display:none;position:absolute;top:71px;left:0;right:0;padding:15px 22px 22px;background:var(--signal-bg);border-bottom:1px solid var(--signal-line);font-size:19px;margin:0}.site-header nav.is-open{display:flex;flex-direction:column;gap:5px}.site-header nav a{justify-content:space-between;border-bottom:1px solid var(--signal-line);padding-block:10px}.site-header .brand{font-size:29px;gap:9px}.site-header .brand img{width:31px;height:31px}.release-footer{padding-block:40px 24px}.release-footer-top{gap:20px;flex-wrap:wrap}.release-footer-top p{font-size:26px}.release-footer-links{gap:25px;grid-template-columns:1fr 1fr}.release-footer-links [role=navigation]:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.release-footer-links [role=navigation]:last-child h2{grid-column:1/-1}.release-footer-links a,.release-footer-links button{min-height:36px;font-size:14px}.release-footer-bottom{font-size:11px}.signal-inner .af-section{padding-block:45px}.signal-inner h1,.signal-inner .af-section h1{font-size:clamp(44px,11.6vw,72px)!important}.signal-inner .dk-hero{padding-block:48px}.signal-inner .lead{font-size:20px}.signal-inner h2{font-size:28px}.signal-inner .confirmation{padding-inline:22px}.signal-inner .dk-notify{padding:24px}}
@media(max-width:370px){:root{--signal-gutter:18px}.site-header .header-inner{gap:7px}.site-header .brand{font-size:27px}.release-footer-top .brand{font-size:29px}.release-footer-top p{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header *{transition:none!important}}
.signal-inner #notify,.signal-inner .dk-notify input[type=email]{border-radius:0}
.signal-inner .page{overflow:visible}
/* At the existing 900px article-grid breakpoint, override legacy inline sticky
   positioning so the menu scrolls away rather than covering the article. */
@media(max-width:900px){
  .signal-inner .af-article > .wrap > article{min-width:0}
  .signal-inner .af-article > .wrap > nav{
    position:static!important;
    top:auto!important;
  }
}
