/* The theme carries its own faces. The previous rule loaded the ADMIN's
   font from /assets/fonts/, which only worked because both are served from
   the same origin and would break the day that path moved.
   Relative URLs resolve beside this file inside the theme package.
   Oswald and PT Sans are SIL OFL; see OFL.txt. Missing files simply fall
   back down the stack, so the theme is never broken by an absent asset. */
@font-face{font-family:Oswald;src:url("oswald-latin-var.woff2") format("woff2");font-weight:200 700;font-style:normal;font-display:swap}
@font-face{font-family:"PT Sans";src:url("pt-sans-latin-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"PT Sans";src:url("pt-sans-latin-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--signal:#dc3d31;--paper:#fff;--surface:#fff;--soft:#eee;--ink:#171717;--muted:#838383;--line:#eee;--nav:#000;--backdrop:#2c5364;--sans:"PT Sans",Arial,Helvetica,sans-serif;--display:Oswald,Arial,Helvetica,sans-serif}
:root[data-theme=dark]{color-scheme:dark;--paper:#151716;--surface:#1d201e;--soft:#292c2a;--ink:#f4f2ed;--muted:#aaa9a4;--line:#393c39;--nav:#050505;--backdrop:#0b0c0b}
*{box-sizing:border-box}html{font-family:var(--sans);scroll-behavior:smooth}body{margin:0;background:#2c5364;color:var(--ink);line-height:1.55}.frame{width:100%;max-width:72rem;margin-inline:auto;background:var(--paper)}a{color:inherit}img{display:block;max-width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.65rem 1rem;background:var(--nav);color:#fff;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:relative;z-index:10;padding:1rem}.header-row{position:relative;display:flex;min-height:5.25rem;align-items:center;justify-content:center}.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);font-family:var(--display);font-size:30px;font-stretch:condensed;font-weight:900;letter-spacing:-.035em;text-decoration:none;text-transform:uppercase}.brand-logo{max-width:15rem;max-height:4.5rem;object-fit:contain}.signal{display:inline-flex;height:2.2rem;align-items:center;gap:4px;color:var(--signal)}.signal i{display:block;width:4px;border-radius:999px;background:currentColor}.signal i:nth-child(1),.signal i:nth-child(4){height:42%}.signal i:nth-child(2){height:72%}.signal i:nth-child(3){height:100%}.header-tools{position:absolute;right:0;display:flex;align-items:center;gap:.1rem}.site-theme-toggle,.site-search>summary{display:flex;min-width:44px;height:44px;align-items:center;justify-content:center;gap:.35rem;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.74rem;font-weight:700;cursor:pointer;list-style:none}.site-theme-toggle:hover,.site-search>summary:hover{color:var(--signal)}.site-search>summary::-webkit-details-marker{display:none}.site-search>summary svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:2}.site-search{position:relative}.site-search form{position:absolute;z-index:12;top:calc(100% + .5rem);right:0;width:min(23rem,calc(100vw - 2rem));padding:1rem;border:1px solid var(--line);background:var(--surface);box-shadow:0 .8rem 2rem rgba(0,0,0,.16)}.site-search form label{display:block;margin-bottom:.45rem;font-size:.72rem;font-weight:800;text-transform:uppercase}.site-search form div,.search-form div{display:flex}.site-search input,.search-form input{min-width:0;flex:1;padding:.75rem;border:1px solid var(--line);background:var(--soft);color:var(--ink);font:inherit}.site-search button,.search-form button{border:0;padding:.75rem 1rem;background:var(--signal);color:#fff;font:inherit;font-weight:800}.navigation-mobile{margin-top:.5rem}.navigation-mobile>summary{display:flex;min-height:44px;align-items:center;justify-content:center;gap:.6rem;border:1px solid var(--line);font-size:.75rem;font-weight:800;letter-spacing:.1em;list-style:none;text-transform:uppercase;cursor:pointer}.navigation-mobile>summary::-webkit-details-marker{display:none}.navigation-mobile>summary b,.navigation-mobile>summary b::after{display:block;width:1.2rem;height:2px;background:currentColor;content:""}.navigation-mobile>summary b::after{transform:translateY(6px)}.navigation-drawer{padding:.7rem 0}.navigation-drawer ul{margin:0;padding:0;list-style:none}.navigation-drawer li+li{border-top:1px solid var(--line)}.navigation-drawer a{display:block;padding:.7rem .2rem;font-weight:700;text-decoration:none}.navigation-drawer ul ul{padding-left:1rem}.desktop-navigation{display:none}
main.frame{min-height:35rem;padding:0 1rem 3rem}.issue-head{padding:2.2rem 0 1rem;border-bottom:1px solid var(--line)}.kicker,.story-meta{color:var(--muted);font-size:12px;letter-spacing:.025em;text-transform:uppercase}.kicker{margin:0 0 .35rem}.issue-head h1,.section-heading h2,.sidebar-title h2{margin:0;font-family:var(--display);font-weight:400;letter-spacing:1px;line-height:1.2;text-transform:uppercase}.issue-head h1{font-size:24px}.issue-head h1 span,.section-heading h2 span,.sidebar-title h2 span{color:var(--signal)}.deck{max-width:42rem;margin:.7rem 0 0;color:var(--muted)}
.lead-grid{display:grid;gap:1.5rem;padding:1.4rem 0 2rem}.lead-story{position:relative;min-height:20rem;overflow:hidden;background:var(--nav);color:#fff}.lead-visual{position:absolute;inset:0}.lead-visual::after{position:absolute;inset:35% 0 0;content:"";background:linear-gradient(transparent,rgba(0,0,0,.9))}.lead-visual img{width:100%;height:100%;object-fit:cover}.lead-placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--signal);font-family:var(--display);font-size:8rem;font-weight:900}.lead-copy{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:1.25rem}.lead-copy>span{color:var(--signal);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lead-copy h2{max-width:19ch;margin:.45rem 0 0;font-family:var(--display);font-size:24px;font-stretch:condensed;line-height:1.02;text-transform:uppercase}.lead-copy a{text-decoration:none}.lead-copy a:hover{text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:.12em}.frequency-sidebar{min-width:0}.sidebar-title,.section-heading{padding:10px 0;border-bottom:1px solid var(--line)}.sidebar-title h2,.section-heading h2{font-size:24px}.frequency-sidebar ol{margin:0;padding:0;list-style:none}.frequency-sidebar li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.55rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.frequency-sidebar li span{color:var(--muted);font-size:.7rem;font-weight:800}.frequency-sidebar li a{font-weight:700;line-height:1.3;text-decoration:none}.frequency-sidebar li a:hover{color:var(--signal)}
.story-grid{display:grid}.story-card{display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.story-visual,.story-pulse{grid-column:2;grid-row:1;align-self:start;aspect-ratio:1/1;overflow:hidden;background:var(--soft)}.story-visual img{width:100%;height:100%;object-fit:cover}.story-pulse{display:grid;place-items:center;color:var(--signal);font-family:var(--display);font-size:2.25rem;font-weight:900}.story-copy{grid-column:1;grid-row:1;min-width:0}.story-meta{display:flex;flex-wrap:wrap;gap:.4rem}.story-meta span{color:var(--signal)}.story-copy h2,.search-results h2{margin:.45rem 0;font-family:var(--display);font-size:24px;font-weight:600;line-height:33px;text-transform:uppercase}.story-copy h2 a,.search-results h2 a{text-decoration:none}.story-copy h2 a:hover,.search-results h2 a:hover{color:var(--signal)}.story-copy p{display:-webkit-box;overflow:hidden;margin:10px 0 0;color:var(--muted);font-size:16px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.read-link{display:inline-flex;min-height:40px;align-items:center;margin-top:.45rem;color:var(--signal);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.empty-state{padding:5rem 1rem;text-align:center}.empty-state h2{margin:1rem 0 .3rem;font-family:var(--display);font-size:2rem;text-transform:uppercase}.empty-state p{margin:0;color:var(--muted)}.signal-large{height:3rem}.signal-large i{width:5px}.pager{display:flex;justify-content:space-between;padding:2rem 0}.pager a{display:inline-flex;min-height:44px;align-items:center;color:var(--signal);font-weight:800;text-decoration:none}
.single{padding:3rem 0}.single-head{max-width:55rem;margin-bottom:1.5rem}.single-head h1{margin:.5rem 0 0;font-family:var(--display);font-size:30px;font-stretch:condensed;line-height:.95;text-transform:uppercase}.single-byline{display:flex;flex-wrap:wrap;gap:.25rem;margin:1rem 0 0;color:var(--muted);font-size:.875rem}.single-byline time{font-variant-numeric:tabular-nums}.single-byline strong{color:var(--signal);font-weight:700}.single-hero{margin:0 0 2.5rem}.single-hero img{width:100%;max-height:43rem;object-fit:cover}.single-hero figcaption{padding-top:.55rem;color:var(--muted);font-size:.8rem}.prose{max-width:48rem;font-size:16px;line-height:24px}.prose>:first-child{margin-top:0}.prose h2,.prose h3{margin:2.2em 0 .6em;font-family:var(--display);line-height:1.08;text-transform:uppercase}.prose a{color:var(--signal);text-underline-offset:.15em}.prose blockquote{margin:2rem 0;padding-left:1.15rem;border-left:.3rem solid var(--signal);font-size:1.2em}.prose img{max-width:100%;height:auto}.topic-list{max-width:48rem;margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line)}.topic-list div{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.topic-list span{margin-right:.5rem;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.topic-list a{color:var(--signal)}.preview-note{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid var(--signal)}
.search-head .search-form{max-width:42rem;margin-top:1.25rem}.search-results{padding-bottom:2rem}.search-results article{padding:1.25rem 0;border-bottom:1px solid var(--line)}.search-results article p{max-width:44rem;color:var(--muted)}
.site-footer{background:#222;color:#fff;font-size:14px}.footer-grid{display:grid;gap:2rem;padding:2.5rem 1rem}.footer-label{display:block;margin-bottom:.5rem;color:#838383;font-family:var(--display);font-size:14px;text-transform:uppercase}.footer-grid strong{font-family:var(--display);font-size:24px;letter-spacing:1px;text-transform:uppercase}.footer-grid p{margin:.3rem 0 0;color:#838383}.footer-grid nav{display:grid;align-content:start;gap:2px}.footer-grid nav a{color:#fff;text-decoration:none}.footer-grid nav a:hover{text-decoration:underline}.footer-grid small{grid-column:-2/-1;max-width:260px;color:#838383}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
/* The source has exactly ONE breakpoint: 992px (responsive.css:429), with a
   fixed 1002px layout above it and a fluid one below. We had three, which
   meant the two designs only ever agreed at a width by accident. */
@media(min-width:62rem){.site-header{padding:1.25rem 2rem}.header-row{min-height:7rem}.brand{font-size:2.7rem}.navigation-mobile{display:none}.desktop-navigation{display:block;margin:0 -2rem;background:var(--nav)}.desktop-navigation ul{display:flex;margin:0;padding:0;list-style:none}.desktop-navigation li{flex:1}.desktop-navigation a{display:flex;min-height:44px;align-items:center;justify-content:center;padding:.15rem 1.25rem;color:#fff;font-family:var(--display);font-size:1rem;font-weight:700;letter-spacing:.02em;line-height:40px;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:background .2s ease-in-out}.desktop-navigation a:hover,.desktop-navigation a[aria-current=page]{background:var(--signal)}main.frame{padding:0 2rem 4rem}.issue-head{padding-top:2.75rem}.lead-grid{grid-template-columns:minmax(0,1.75fr) minmax(15rem,.9fr);gap:2rem;padding-top:2rem}.lead-story{min-height:27rem}.story-card{grid-template-columns:minmax(0,1fr) 140px}.story-visual,.story-pulse{aspect-ratio:4/3}.footer-grid{grid-template-columns:1fr 163px auto;padding:3rem 2rem}.single{padding:4rem 0}.prose{margin-left:0}.lead-copy h2{font-size:30px;line-height:38px}.issue-head h1{font-size:24px}.brand{font-size:44px}.site-header{padding-inline:2.25rem}.desktop-navigation{margin-inline:-2.25rem}main.frame{padding-inline:2.25rem}.footer-grid{padding-inline:2.25rem}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.site-theme-toggle svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8}.site-theme-toggle svg path{fill:currentColor;stroke:none}
/* The measure of the reference: a ~1200px column centred in the window,
   with the masthead, the black bar and the body all sharing its edges.
   At 90rem the column swallowed the whole viewport and nothing centred. */
body{background:var(--backdrop)}.frame{max-width:1002px;margin-inline:auto}
/* Sparse states: a new site should look deliberate, not broken. */
.desktop-navigation.is-bare li{flex:0 0 auto}.desktop-navigation.is-bare a{padding-inline:2rem}
.navigation-mobile.is-empty{display:none}
.lead-placeholder{display:flex;align-items:center;justify-content:center;gap:.7rem;height:100%;background:var(--nav)}.lead-placeholder i{display:block;width:.7rem;border-radius:999px;background:var(--signal)}.lead-placeholder{opacity:.5}.lead-placeholder i:nth-child(1),.lead-placeholder i:nth-child(4){height:2.5rem}.lead-placeholder i:nth-child(2){height:5rem}.lead-placeholder i:nth-child(3){height:7rem}
.lead-story.is-quiet{min-height:15rem}
@media(min-width:62rem){.lead-story.is-quiet{min-height:19rem}}
/* The mobile menu sits inside the centred header row, so it has to claim a
   line of its own instead of colliding with the wordmark. */
.header-row{flex-wrap:wrap}.navigation-mobile{width:100%}
/* The hero copy used to be absolutely positioned: a long headline grew past
   the top of a fixed-height box and was clipped by overflow:hidden. Letting
   it sit in flow means the hero grows to fit its own title. */
.lead-story{display:flex;flex-direction:column;justify-content:flex-end}
.lead-copy{position:relative}
/* The current section, in the drawer as well as the bar. The source marks it
   on the list item; we mark the link, which fills the same cell. */
.navigation-drawer a[aria-current=page]{color:var(--signal)}
.navigation-drawer a[aria-current=page]::before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.5rem;border-radius:999px;background:var(--signal);vertical-align:middle}
.prose figure[data-media-kind]{display:grid;gap:.75rem;margin:2rem 0}.prose figure[data-media-kind] audio,.prose figure[data-media-kind] video{display:block;width:100%;max-width:100%}.prose figure[data-media-kind=audio]>img{width:min(100%,24rem);margin-inline:auto;aspect-ratio:1;object-fit:cover}.prose figure[data-media-kind=video] video{background:#000;aspect-ratio:16/9}.prose figure[data-media-kind] figcaption{margin:0;color:var(--muted);font-size:.8rem;text-align:center}
