/* Frequency — shared layer (2026, pass "d": original Syne wordmark, editorial headings).
   Type: Fraunces (Undercase Type, OFL 1.1) 500 for the h1, section headings and pull quotes.
   Wordmark only: Syne 800 (Bonjour Monde, OFL 1.1) as in the original theme, subset to the glyphs of "Frequency".
   Everything else is Atkinson Hyperlegible Next (Braille Institute, OFL 1.1), 400/600/700. No monospace; timecodes use the text face's tabular figures.
   Scale (1.25 ratio on an 18px body): 15 label · 16 secondary · 18 body · 20–22 lede/script · 24–28 item titles · 32–56 section · 26–38 pull quote · 36–100 h1. Headings: line-height 1.02–1.1, tracking −0.01 to −0.02em, sentence case.
   Labels are sentence case with near-zero tracking. Body line-height 1.6, measure ≤ 68ch.
   Colour ratios (WCAG): on --ink #0e0e0c — --paper 16.9:1, --paper-2 14.3:1, --mist 9.3:1, --signal 17.2:1, --ember 5.8:1 (status dot only), --line-ui 3.6:1 (control borders).
   On --ink-2 #161613 — --paper-2 13.5:1, --mist 8.7:1. On --paper — --ink 16.9:1, --ink-mute 9.7:1.
   Text on --signal is always --ink (17.2:1); white on --signal would be 1.1:1, so it is never used.
   Spacing: 4px scale only (--s1..--s10 = 4 8 12 16 24 32 48 64 96 128). */
@font-face{font-family:"Syne";font-weight:800;font-display:swap;src:url(../assets/fonts/syne-800-wordmark-2026.woff2) format("woff2");unicode-range:U+0046,U+0063,U+0065,U+006E,U+0071,U+0072,U+0075,U+0079}
@font-face{font-family:"Fraunces";font-weight:500;font-display:swap;src:url(../assets/fonts/fraunces-latin-500-normal.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:"Fraunces";font-weight:500;font-display:swap;src:url(../assets/fonts/fraunces-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";font-weight:600;font-display:swap;src:url(../assets/fonts/fraunces-latin-600-normal.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:"Fraunces";font-weight:600;font-display:swap;src:url(../assets/fonts/fraunces-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible Next";font-weight:400;font-display:swap;src:url(../assets/fonts/atkinson-hyperlegible-next-latin-400-normal.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:"Atkinson Hyperlegible Next";font-weight:400;font-display:swap;src:url(../assets/fonts/atkinson-hyperlegible-next-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible Next";font-weight:600;font-display:swap;src:url(../assets/fonts/atkinson-hyperlegible-next-latin-600-normal.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:"Atkinson Hyperlegible Next";font-weight:600;font-display:swap;src:url(../assets/fonts/atkinson-hyperlegible-next-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible Next";font-weight:700;font-display:swap;src:url(../assets/fonts/atkinson-hyperlegible-next-latin-700-normal.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:"Atkinson Hyperlegible Next";font-weight:700;font-display:swap;src:url(../assets/fonts/atkinson-hyperlegible-next-latin-ext-700-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0e0e0c; --ink-2:#161613; --panel:#1e1d18; --line:#2f2e28; --line-ui:#6f6a60;
  --paper:#f4efe6; --paper-2:#e5ddd0; --mist:#bab3a6; --ink-mute:#3f3b35;
  --signal:#e4ff3a; --ember:#ff4d1a;
  --f-display:"Fraunces",Georgia,"Times New Roman",serif;--f-logo:"Syne",ui-sans-serif,system-ui,sans-serif; --f-text:"Atkinson Hyperlegible Next",ui-sans-serif,system-ui,sans-serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --t-label:0.9375rem; --t-small:1rem; --t-body:1.125rem; --t-lede:clamp(1.1875rem,1.05rem + .45vw,1.375rem);
  --t-script:clamp(1.1875rem,1.05rem + .45vw,1.375rem);
  --t-item:clamp(1.375rem,1.2rem + .6vw,1.75rem); --t-h3:clamp(1.5rem,1.3rem + .8vw,2rem);
  --t-h2:clamp(2rem,1.5rem + 2.4vw,3.5rem);
  --wrap:1320px; --gutter:clamp(20px,4vw,56px); --measure:66ch;
  --r-ctl:4px; --focus:3px solid var(--signal);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ink);color:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;font:400 var(--t-body)/1.6 var(--f-text);font-variant-numeric:lining-nums;background:var(--ink);color:var(--paper);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
img{height:auto}
picture{display:block}
h1,h2,h3{font-family:var(--f-display);font-weight:500;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
figure,blockquote,dl,dd{margin:0}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:var(--focus);outline-offset:3px}
::selection{background:var(--signal);color:var(--ink)}
.fq-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.fq-wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.fq-tc{font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
.fq-eyebrow{font:600 var(--t-label)/1.45 var(--f-text);letter-spacing:.01em;color:var(--mist)}
.fq-h2{font-size:var(--t-h2);line-height:1.08;letter-spacing:-.015em}
.fq-note{font-size:var(--t-small);line-height:1.55;color:var(--mist)}
.fq-skip{position:absolute;left:var(--s4);top:-100px;z-index:100;background:var(--signal);color:var(--ink);padding:var(--s3) var(--s4);font-weight:600;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.fq-skip:focus{top:var(--s3)}

/* Buttons */
.fq-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border:1px solid transparent;border-radius:var(--r-ctl);font:700 var(--t-small)/1.2 var(--f-text);letter-spacing:.005em;text-decoration:none;cursor:pointer;background:none;white-space:nowrap}
.fq-btn svg{width:20px;height:20px;flex:none}
.fq-btn--lg{min-height:56px;padding:0 var(--s6);font-size:1.0625rem}
.fq-btn--signal{background:var(--signal);color:var(--ink)}
.fq-btn--signal:hover{background:var(--paper)}
.fq-btn--ghost{border-color:var(--line-ui);color:var(--paper)}
.fq-btn--ghost:hover{border-color:var(--paper)}
.fq-btn--ink{background:var(--ink);color:var(--paper)}
.fq-btn--ink:hover{background:var(--ink-mute)}
.fq-btn--quiet{color:var(--mist);padding:0 var(--s3);min-width:48px}
.fq-btn--quiet:hover{color:var(--paper)}

/* Header */
.fq-header{position:sticky;top:0;z-index:30;background:rgb(14 14 12/.92);border-bottom:1px solid var(--line)}
@supports (backdrop-filter:blur(8px)){.fq-header{background:rgb(14 14 12/.82);backdrop-filter:blur(12px)}}
.fq-header__in{max-width:calc(var(--wrap) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter);height:72px;display:flex;align-items:center;gap:var(--s5)}
.fq-brand{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;text-decoration:none;color:var(--paper);font:800 1.25rem/1 var(--f-logo);letter-spacing:-.025em}
.fq-brand .fq-mark{width:32px;height:32px;color:var(--signal)}
.fq-nav{margin-left:var(--s5)}
.fq-nav ul{display:flex;gap:var(--s1)}
.fq-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s3);color:var(--paper-2);text-decoration:none;font-size:var(--t-small);font-weight:600}
.fq-nav a:hover,.fq-nav a[aria-current]{color:var(--paper)}
.fq-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:8px;text-decoration-thickness:2px}
.fq-onair{margin-left:auto;display:inline-flex;align-items:center;gap:var(--s2);font:600 var(--t-label)/1.2 var(--f-text);color:var(--mist)}
.fq-dot{width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px rgb(255 77 26/.18)}
.fq-header__cta{min-height:44px;padding:0 var(--s4)}
.fq-menu-btn{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--line-ui);border-radius:var(--r-ctl);background:none;cursor:pointer;color:var(--paper)}
.fq-menu-btn svg{width:24px;height:24px}
.fq-menu{inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;padding:0 var(--gutter) var(--s7);background:var(--ink);color:var(--paper);overflow-y:auto}
.fq-menu::backdrop{background:rgb(14 14 12/.6)}
.fq-menu__top{display:flex;align-items:center;justify-content:space-between;height:72px;border-bottom:1px solid var(--line)}
.fq-menu nav a{display:flex;align-items:center;min-height:64px;border-bottom:1px solid var(--line);font:700 clamp(1.5rem,6vw,2rem)/1.2 var(--f-text);text-decoration:none}
.fq-menu nav a[aria-current]{color:var(--signal)}
@media (max-width:899px){.fq-nav{display:none}.fq-menu-btn{display:inline-flex}}
@media (max-width:599px){.fq-onair,.fq-header__cta{display:none}.fq-menu-btn{margin-left:auto}}

/* Image edge fade (CSS mask; never baked into files) */
.img-fade img{--fade-size:18%;-webkit-mask-image:var(--fade-mask);mask-image:var(--fade-mask);-webkit-mask-composite:source-in;mask-composite:intersect}
.img-fade--b img{--fade-mask:linear-gradient(to bottom,#000 calc(100% - var(--fade-size)),transparent)}
.img-fade--r img{--fade-mask:linear-gradient(to right,#000 calc(100% - var(--fade-size)),transparent)}
.img-fade--l img{--fade-mask:linear-gradient(to left,#000 calc(100% - var(--fade-size)),transparent)}
.img-fade--x img{--fade-size:10%;--fade-mask:linear-gradient(to right,transparent,#000 var(--fade-size),#000 calc(100% - var(--fade-size)),transparent),linear-gradient(to bottom,transparent,#000 var(--fade-size),#000 calc(100% - var(--fade-size)),transparent)}

/* Footer (tight) */
.fq-footer{border-top:1px solid var(--line)}
.fq-footer__in{max-width:calc(var(--wrap) + 2*var(--gutter));margin-inline:auto;padding:var(--s6) var(--gutter);display:flex;flex-wrap:wrap;gap:var(--s5) var(--s7);align-items:flex-end;justify-content:space-between}
.fq-footer__name{font:800 1.5rem/1 var(--f-logo);letter-spacing:normal}
.fq-footer__line{margin-top:var(--s3);max-width:52ch;font-size:var(--t-small);line-height:1.6;color:var(--mist)}
.fq-footer ul{display:flex;flex-wrap:wrap;gap:0 var(--s1)}
.fq-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s3);font-size:var(--t-small);font-weight:600;color:var(--paper-2);text-decoration:none}
.fq-footer nav a:hover{color:var(--paper)}
.fq-footer nav li:first-child a{padding-left:0}

@media (forced-colors:active){.fq-btn{border:1px solid ButtonText}.fq-dot{forced-color-adjust:none}}
