@font-face{font-family:UnifrakturCook;font-style:normal;font-weight:700;font-display:swap;src:url(/static/unifrakturcook-700.Hw99rxGi.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/static/playfair-ext.CT1r92Rl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/static/playfair-display.BOwq7MWX.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 700;font-display:swap;src:url(/static/playfair-italic-ext.ze_cPdSg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Playfair Display;font-style:italic;font-weight:400 700;font-display:swap;src:url(/static/playfair-display-italic.DmbndNpe.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville Fallback;src:local(Georgia);ascent-override:83.6415%;descent-override:23.2817%;size-adjust:115.971%}@font-face{font-family:Libre Baskerville Fallback TNR;src:local(Times New Roman),local(TimesNewRomanPSMT),local(Liberation Serif);ascent-override:76.221%;descent-override:21.2162%;line-gap-override:0%;size-adjust:127.262%}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman),local(TimesNewRomanPSMT),local(Liberation Serif);ascent-override:103.56%;descent-override:24.0237%;line-gap-override:0%;size-adjust:104.48%}@font-face{font-family:UnifrakturCook Fallback;src:local(Times New Roman),local(TimesNewRomanPSMT),local(Liberation Serif);ascent-override:117.028%;descent-override:31.6143%;line-gap-override:0%;size-adjust:88.0361%}@font-face{font-family:IBM Plex Mono Fallback;src:local(Courier New),local(CourierNewPSMT),local(Liberation Mono);ascent-override:102.517%;descent-override:27.5045%;line-gap-override:0%;size-adjust:99.9837%}@font-face{font-family:Special Elite Fallback;src:local(Courier New),local(CourierNewPSMT),local(Liberation Mono);ascent-override:80.7608%;descent-override:34.099%;line-gap-override:0%;size-adjust:87.0627%}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400 700;font-display:swap;src:url(/static/libre-ext.D07agSQC.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Libre Baskerville;font-style:normal;font-weight:400 700;font-display:swap;src:url(/static/libre-baskerville.kU5d48Ec.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/static/libre-italic-ext.BgvGgHFw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/static/libre-baskerville-italic.Dx5Rrf3o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/static/ibm-400-ext.BmRBH3aV.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/static/ibm-plex-mono-400.DMJ8VG8y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/static/ibm-500-ext.CAhNIIs5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/static/ibm-plex-mono-500.DSY6xOcd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/static/ibm-600-ext.D38SheWl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/static/ibm-plex-mono-600.BgSNZQsw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Special Elite;font-style:normal;font-weight:400;font-display:swap;src:url(/static/special-ext.ChcxYnmu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Special Elite;font-style:normal;font-weight:400;font-display:swap;src:url(/static/special-elite.YjDd9tmf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f5f0e8;--paper-dark:#ebe5d8;--ink:#1a1a18;--ink-light:#3a3a35;--ink-faded:#5e5e54;--red:#7f151f;--red-light:#9a2a2f;--rule:#1a1a18;--rule-light:#c5bfb3;--font-masthead:"UnifrakturCook", "UnifrakturCook Fallback", cursive;--font-headline:"Playfair Display", "Playfair Display Fallback", serif;--font-body:"Libre Baskerville", "Libre Baskerville Fallback", "Libre Baskerville Fallback TNR", georgia, "Times New Roman", serif;--font-meta:"IBM Plex Mono", "IBM Plex Mono Fallback", monospace;--font-verdict:"Special Elite", "Special Elite Fallback", cursive;--col-gap:1.5rem;--page-max:1200px;--page-padding:1.5rem;--cache-version:2;--text-min:0px}@media not (min-width:768px){:root{--text-min:12px}}:root.fonts-deferred{--font-masthead:"UnifrakturCook Fallback", cursive;--font-headline:"Playfair Display Fallback", serif;--font-body:"Libre Baskerville Fallback", "Libre Baskerville Fallback TNR", georgia, "Times New Roman", serif;--font-meta:"IBM Plex Mono Fallback", monospace;--font-verdict:"Special Elite Fallback", cursive}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1c1a15;--paper-dark:#252219;--ink:#e8e2d4;--ink-light:#c5bfb0;--ink-faded:#c0b8a2;--red:#ec7078;--red-light:#e8606a;--rule:#e8e2d4;--rule-light:#3d3830}}:root[data-theme=dark]{--paper:#1c1a15;--paper-dark:#252219;--ink:#e8e2d4;--ink-light:#c5bfb0;--ink-faded:#c0b8a2;--red:#ec7078;--red-light:#e8606a;--rule:#e8e2d4;--rule-light:#3d3830}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);color:var(--ink);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");min-height:100vh;line-height:1.65}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body{background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E")}}:root[data-theme=dark] body{background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E")}a{color:var(--ink);-webkit-text-decoration-color:var(--rule-light);text-decoration-color:var(--rule-light);text-underline-offset:2px;transition:color .15s}a:hover{color:var(--red);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}img{max-width:100%;height:auto}.rule-double{border:none;border-top:3px double var(--rule);margin:0}.rule-single{border:none;border-top:1px solid var(--rule);margin:0}.rule-thin{border:none;border-top:1px solid var(--rule-light);margin:0}.page-container{max-width:var(--page-max);padding:0 var(--page-padding);margin:0 auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.masthead{text-align:center;padding:.75rem 0 .5rem}@media (min-width:768px){.masthead{padding:1.5rem 0 .5rem}}.masthead-top{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);justify-content:space-between;align-items:center;padding:.25rem 0;display:none}@media (min-width:768px){.masthead-top{display:flex}}.masthead-title{font-family:var(--font-masthead);letter-spacing:.02em;margin:.25rem 0;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;line-height:1}.masthead-title .masthead-brand{color:var(--red)}.masthead-tagline{font-family:var(--font-body);color:var(--ink);letter-spacing:.005em;margin-bottom:.5rem;font-size:1.1rem;font-style:italic;font-weight:400;line-height:1.4}.masthead-meta{font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faded);flex-direction:column;align-items:center;gap:.2rem;padding:.25rem 0;display:flex}@media (min-width:768px){.masthead-meta{font-size:max(var(--text-min),.65rem);flex-direction:row;justify-content:flex-end}}.masthead-meta__controls{align-items:center;gap:.75rem;display:flex}.nav-bar{font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1rem;padding:.4rem 0;display:flex}@media (min-width:768px){.nav-bar{font-size:max(var(--text-min),.7rem);letter-spacing:.1em;gap:1.5rem;padding:.6rem 0}}.nav-bar a{color:var(--ink);border-bottom:1px solid #0000;padding:.15rem 0;text-decoration:none;transition:border-color .15s}.nav-bar a:hover,.nav-bar a.active{border-bottom-color:var(--red);color:var(--red)}.nav-bar .nav-separator{color:var(--rule-light);-webkit-user-select:none;user-select:none}@media not (min-width:768px){.nav-bar .nav-separator{display:none}}.theme-toggle,.search-icon,.rss-link,.lang-switch{box-sizing:border-box;min-width:26px;height:26px;font-family:var(--font-meta);border:1px solid var(--rule-light);color:var(--ink-faded);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 .45rem;font-size:.75rem;line-height:1;text-decoration:none;transition:all .15s;display:inline-flex}.theme-toggle:hover,.search-icon:hover,.rss-link:hover,.lang-switch:hover{border-color:var(--red);background:var(--paper);color:var(--red)!important}.theme-toggle{font-size:.8rem}.lang-switch{font-weight:600}.sticky-header{z-index:999;background:var(--paper);border-bottom:1px solid var(--rule-light);padding:.4rem var(--page-padding);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:none;transition:transform .25s;position:fixed;top:0;left:0;right:0;transform:translateY(calc(-100% - 2px))}.sticky-header.visible{transform:translateZ(0)}.sticky-header__inner{max-width:var(--page-max);pointer-events:auto;justify-content:space-between;align-items:center;margin:0 auto;display:flex}.sticky-header__middle{pointer-events:none;flex:1;justify-content:center;display:flex}.sticky-header__brand{font-family:var(--font-masthead);color:var(--ink);font-size:1.3rem;font-weight:700;line-height:1;text-decoration:none}.sticky-header__brand span{color:var(--red)}.sticky-header__back{font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);opacity:0;pointer-events:none;white-space:nowrap;z-index:1;text-decoration:none;transition:opacity .2s,transform .2s;position:relative;transform:translate(-8px)}.sticky-header.scrolled-deep .sticky-header__back{opacity:1;pointer-events:auto;transform:translate(0)}.sticky-header__back:hover{color:var(--red)}@media (min-width:768px){.sticky-header__back--mobile{display:none}}.sticky-header__back--desktop{display:none}@media (min-width:768px){.sticky-header__back--desktop{align-items:center;gap:.4rem;display:flex}}.sticky-header__breadcrumbs{font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .2s,transform .2s;transform:translate(-8px)}.sticky-header.scrolled-deep .sticky-header__breadcrumbs{opacity:1;pointer-events:auto;transform:translate(0)}.sticky-header__breadcrumbs a{color:var(--ink-faded);text-decoration:none;transition:color .2s}.sticky-header__breadcrumbs a:hover{color:var(--red)}.sticky-header__breadcrumbs span.sep{color:var(--rule-light)}.sticky-header__breadcrumbs span.current{color:var(--ink);font-weight:600}.sticky-header__right{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;display:flex}.sticky-header__search{font-size:max(var(--text-min),.7rem);color:var(--ink-faded);line-height:1;text-decoration:none}.sticky-header__search:hover{color:var(--red)}.sticky-header__lang{border:1px solid var(--rule);color:var(--ink);padding:.1rem .4rem;font-weight:600;text-decoration:none}.sticky-header__lang:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sticky-header__theme{border:1px solid var(--rule-light);color:var(--ink-faded);cursor:pointer;background:0 0;padding:.1rem .35rem;font-size:.8rem;line-height:1}.sticky-header__theme:hover{border-color:var(--red);color:var(--red)}.front-grid{grid-template-columns:1fr;gap:0;display:grid}.front-grid>*{border-bottom:1px solid var(--rule-light);padding:1rem 0}@media (min-width:768px){.front-grid{column-gap:var(--col-gap);grid-template-columns:1fr 1fr}}@media (min-width:1024px){.front-grid{grid-template-columns:1fr 1fr 1fr}}.front-grid>.lead-story{border-bottom:1px solid var(--rule);grid-column:1/-1;padding:1.5rem 0}@media (min-width:768px){.front-grid>.lead-story{border-bottom:none}}.article-card{flex-direction:column;gap:.5rem;display:flex}.article-card__category{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:600}.article-card__headline{font-family:var(--font-body);overflow-wrap:break-word;font-size:1.3rem;font-weight:900;line-height:1.35}.article-card__headline a{text-decoration:none}.article-card__headline a:hover{text-decoration:underline;text-decoration-thickness:2px}.article-card__subtitle{font-family:var(--font-body);color:var(--ink-light);overflow-wrap:break-word;border-bottom:1px solid var(--rule-light);margin-bottom:.75rem;padding-bottom:.75rem;font-size:1.05rem;font-style:italic;line-height:1.4}.article-card__excerpt{overflow-wrap:break-word;color:var(--ink-light);font-size:1rem;line-height:1.6}.article-card__meta{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin-top:.25rem;display:flex}.article-card__meta>*{white-space:nowrap}.article-card__tested{color:var(--red);font-weight:600}.article-card__read-more{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:600;text-decoration:none}.article-card__read-more:hover{color:var(--ink)}.lead-story .article-card__headline{font-family:var(--font-headline);letter-spacing:.02em;-webkit-text-stroke:.45px currentcolor;paint-order:stroke fill;overflow-wrap:break-word;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;line-height:1.2}.lead-story .article-card__subtitle{font-family:var(--font-body);color:var(--ink-light);overflow-wrap:break-word;font-size:1.05rem;font-style:italic;line-height:1.4}.section-header{border-bottom:2px solid var(--rule);padding:.75rem var(--col-gap) .4rem;grid-column:1/-1;border-right:none!important}.section-header__title{font-family:var(--font-body);overflow-wrap:break-word;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;font-weight:700;line-height:1.35}.obituary-card{border-left:3px solid var(--ink);padding-left:1rem}.obituary-card .article-card__category:before{content:"†"}.classified-card{border:1px dashed var(--rule-light);background:var(--paper-dark);color:var(--ink);padding:1rem}.classified-card .article-card__meta{color:var(--ink-light)}.type-badge{font-family:var(--font-meta);font-size:max(var(--text-min),.55rem);text-transform:uppercase;letter-spacing:.12em;padding:.15rem .4rem;font-weight:600}.type-badge--obituary{background:var(--ink);color:var(--paper)}.type-badge--classified{border:1px dashed var(--ink-light);color:var(--ink-light);background:0 0}.article-page{max-width:720px;margin:0 auto;padding:1rem 0 2rem}.article-page__back{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--rule-light);margin-bottom:.75rem;text-decoration:none;display:inline-block}.article-page__category{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);align-items:center;gap:0;margin-bottom:.25rem;font-weight:600;display:flex}.article-page__category-home{color:var(--ink-faded);font-weight:400;text-decoration:none;transition:color .15s}.article-page__category-home:hover{color:var(--red)}.article-page__category-sep{color:var(--ink-faded);margin:0 .4rem;font-weight:400}.article-page__title{font-family:var(--font-headline);letter-spacing:.02em;-webkit-text-stroke:.45px currentcolor;paint-order:stroke fill;overflow-wrap:break-word;margin-bottom:.25rem;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;line-height:1.2}.article-page__subtitle{font-family:var(--font-body);color:var(--ink-light);overflow-wrap:break-word;margin-bottom:.5rem;font-size:1.05rem;font-style:italic;line-height:1.4}.article-page__author{color:var(--ink);font-weight:600}.article-page__meta{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);font-size:max(var(--text-min),.6rem);border-top:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;padding:.4rem 0;display:flex}.article-page__meta .tested-badge{color:var(--red);font-weight:600}@media (min-width:768px){.article-page{padding-top:2rem}.article-page__back{margin-bottom:1.5rem}.article-page__category,.article-page__title{margin-bottom:.5rem}.article-page__subtitle{margin-bottom:1rem}.article-page__meta{font-size:max(var(--text-min),.65rem);gap:1.5rem;margin-bottom:1.5rem;padding:.75rem 0}}.article-body{overflow-wrap:break-word}.article-body p{margin-bottom:1rem;font-size:.95rem;line-height:1.75}.article-body>p:first-of-type:first-letter{font-family:var(--font-headline);color:var(--red);margin-right:.05em;font-size:2.2rem;font-weight:900;line-height:.8}.article-body .mermaid{justify-content:center;width:100%;margin:2rem 0;display:flex;overflow-x:auto}.article-body .mermaid svg{max-width:1200px;height:auto}.article-body .mermaid foreignObject{overflow:visible!important}.article-body .mermaid .node rect,.article-body .mermaid .node circle,.article-body .mermaid .node polygon,.article-body .mermaid .cluster rect{fill:url(#mermaid-hatch)!important;stroke:var(--ink)!important;stroke-width:2px!important;rx:0!important;ry:0!important}.article-body .mermaid .nodeLabel{color:var(--ink)!important;font-family:var(--font-meta)!important;background-color:var(--paper)!important;box-shadow:0 0 0 4px var(--paper)!important;border-radius:1px!important;padding:0!important;font-size:13px!important;font-weight:600!important;line-height:1.3!important;display:inline-block!important}.article-body .mermaid .node .labelBkg{display:none!important}.article-body .mermaid .edgePath .path{stroke:var(--ink)!important;stroke-width:1.5px!important}.article-body .mermaid marker path{fill:var(--ink)!important;stroke:var(--ink)!important}.article-body .mermaid .edgeLabel{position:relative;color:var(--red)!important;font-family:var(--font-meta)!important;background-color:var(--paper)!important;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--red)!important;z-index:10!important;border:none!important;border-radius:1px!important;padding:0!important;font-size:11px!important;font-weight:600!important;display:inline-block!important}.article-body .mermaid .edgeLabel rect,.article-body .mermaid .edgeLabel .labelBkg{display:none!important}.article-body h2,.article-body h3{font-family:var(--font-headline);margin-top:1.5rem;margin-bottom:.75rem}.article-body h2{font-size:1.4rem}.article-body h3{font-size:1.1rem}.article-body ul,.article-body ol{margin:0 0 1rem 1.5rem;font-size:.95rem}.article-body li{margin-bottom:.35rem}.article-body code{font-family:var(--font-meta);background:var(--paper-dark);border-radius:2px;padding:.15em .4em;font-size:.95em}.article-body pre{background:var(--ink);color:var(--paper);border:1px solid var(--rule);margin-bottom:1.5rem;padding:1.25rem;font-size:.95rem;line-height:1.6;overflow-x:auto}.article-body pre code{color:inherit;background:0 0;padding:0;font-size:1em}.article-body a{color:var(--red);-webkit-text-decoration-color:var(--red-light);text-decoration-color:var(--red-light)}.article-body a[target=_blank]:after{content:"↗";vertical-align:baseline;opacity:.75;margin-left:.15em;font-size:.78em;line-height:1;text-decoration:none;display:inline-block}.article-body hr{border:none;border-top:1px solid var(--rule-light);margin:1.5rem 0}.article-body strong{font-weight:700}.article-body abbr.acronym{font-style:inherit;-webkit-text-decoration:underline dotted var(--ink-faded);text-decoration:underline dotted var(--ink-faded);text-underline-offset:3px;cursor:help;text-decoration-thickness:1px;transition:text-decoration-color .15s}.article-body abbr.acronym:hover,.article-body abbr.acronym:focus{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);outline:none}.article-body abbr.acronym:focus-visible{outline:1px dotted var(--red);outline-offset:2px}.article-body .pull-quote{border-left:3px solid var(--red);font-family:var(--font-headline);color:var(--ink-light);margin:1.5rem 0;padding:.75rem 1.25rem;font-size:1.1rem;font-style:italic}.article-body .pull-quote p{margin-bottom:.5rem}.article-body .pull-quote p:last-child{margin-bottom:0}.article-quote{border:1px solid var(--rule-light);border-left:4px solid var(--red);background:var(--paper-dark);margin:1.75rem 0;padding:1rem 1.25rem .85rem}.article-quote__text{font-family:var(--font-body);color:var(--ink);background:0 0;border:none;margin:0;padding:0;font-size:.95rem;font-style:italic;line-height:1.6}.article-quote__text p{font-size:inherit;line-height:inherit;margin:0 0 .5rem}.article-quote__text p:last-child{margin-bottom:0}.article-quote__text p:first-of-type:first-letter{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit;margin-right:0}.article-quote__attribution{border-top:1px solid var(--rule-light);font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-top:.6rem;padding-top:.55rem;display:flex}.article-quote__source{color:var(--red);border-bottom:1px solid #0000;font-weight:600;text-decoration:none;transition:border-color .15s}.article-quote__source:hover{border-bottom-color:var(--red)}.article-quote__source--unlinked{color:var(--ink-faded);cursor:default}.article-quote__platform{color:var(--ink-faded);font-weight:400}.article-quote__context{color:var(--ink-faded);text-transform:none;letter-spacing:0;font-style:italic}.article-figure{margin:1.5rem 0}.article-figure img{border:1px solid var(--rule-light);max-width:100%;height:auto;display:block}.article-figure__caption{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faded);border-top:1px solid var(--rule-light);margin-top:.4rem;padding-top:.3rem}.code-block{border:1px solid var(--rule-light);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6;overflow-x:auto}.code-block pre{border:none;margin:0}.code-block .shiki{padding:1rem;overflow-x:auto;background:var(--paper-dark)!important}.code-block .shiki code{font-family:var(--font-meta);background:0 0;padding:0}:root[data-theme=dark] .code-block .shiki,:root[data-theme=dark] .code-block .shiki span{color:var(--shiki-dark)!important;background-color:#0000!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .code-block .shiki,:root:not([data-theme=light]) .code-block .shiki span{color:var(--shiki-dark)!important;background-color:#0000!important}}:root[data-theme=dark] .article-body pre{background:var(--paper-dark);color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .article-body pre{background:var(--paper-dark);color:var(--ink)}}.table-wrap{border:1px solid var(--rule-light);margin:1.5rem 0;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-family:var(--font-meta);font-size:.75rem}.table-wrap th{background:var(--paper-dark);text-transform:uppercase;letter-spacing:.05em;text-align:left;font-weight:600}.table-wrap th,.table-wrap td{border-bottom:1px solid var(--rule-light);padding:.5rem .75rem}.embed{margin:1.5rem 0}.embed--video{height:0;padding-bottom:56.25%;position:relative}.embed--video iframe{border:1px solid var(--rule-light);width:100%;height:100%;position:absolute;top:0;left:0}.embed--codepen iframe,.embed--codesandbox iframe{border:1px solid var(--rule-light);width:100%;height:450px}.verdict-box{border:2px solid var(--rule);background:var(--paper-dark);margin-top:2rem;padding:1.25rem}.verdict-box__label{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.15em;color:var(--red);margin-bottom:.5rem;font-weight:600}.verdict-box__text{font-family:var(--font-verdict);color:var(--ink);font-size:1.05rem;line-height:1.5}.article-tags{border-top:1px solid var(--rule-light);flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.article-tags__label{font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faded);align-self:center}.tag{min-height:24px;font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);background:var(--paper-dark);border:1px solid var(--rule-light);color:var(--ink-faded);letter-spacing:.05em;align-items:center;padding:.15rem .5rem;text-decoration:none;display:inline-flex}.tag:hover{border-color:var(--red);color:var(--red)}.embed--callout{background:var(--paper-dark);border:1px solid var(--rule);border-left:4px solid var(--red);font-family:var(--font-body);align-items:center;gap:1rem;margin:1.5rem 0;padding:1rem;display:flex}.embed--callout .callout-icon{color:var(--red);font-size:1.5rem}.embed--callout .callout-content{font-size:.95rem;line-height:1.5}.embed--callout .callout-content strong{text-transform:uppercase;font-family:var(--font-meta);letter-spacing:.1em;color:var(--red);margin-bottom:.2rem;font-size:.75rem;display:block}.embed--callout .callout-content a{color:var(--ink);border-bottom:1px solid var(--ink);text-decoration:none}.embed--callout .callout-content a:hover{color:var(--red);border-color:var(--red)}.embed--github-repo{border:2px solid var(--rule);background:var(--paper-dark);font-family:var(--font-meta);margin:1.5rem 0;padding:1.25rem}.embed--github-repo .gh-header{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:flex}.embed--github-repo .gh-header a{color:var(--ink);border-bottom:1px solid var(--rule-light);text-decoration:none}.embed--github-repo .gh-header a:hover{color:var(--red);border-color:var(--red)}.embed--github-repo .gh-meta{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faded);flex-wrap:wrap;gap:1.5rem;font-size:.75rem;display:flex}.embed--github-repo .gh-meta .gh-stat{align-items:center;gap:.25rem;display:flex}.acronym-popover{z-index:100;max-width:240px;font-family:var(--font-meta);color:var(--paper);background:var(--ink);border:1px solid var(--ink);pointer-events:auto;border-radius:2px;padding:.45rem .65rem;font-size:.75rem;line-height:1.35;position:absolute;box-shadow:0 4px 12px #00000040}.article-chart{-webkit-overflow-scrolling:touch;max-width:100%;margin:1.5rem 0;overflow-x:auto}.article-chart svg{max-width:100%;height:auto;display:block}@media (max-width:600px){.article-chart svg{min-width:480px;max-width:none}}.article-compare svg{max-width:100%;height:auto;display:block}.article-diagram{-webkit-overflow-scrolling:touch;max-width:100%;margin:1.5rem 0;overflow-x:auto}.article-diagram svg{max-width:100%;height:auto;display:block}.article-diagram svg[aria-roledescription=flowchart-v2] .flowchart-link{stroke:var(--ink)!important;stroke-width:1.5px!important}.article-diagram svg[aria-roledescription=flowchart-v2] .arrowMarkerPath{fill:var(--ink)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=stateDiagram] .transition{stroke:var(--ink)!important;stroke-width:1.5px!important}.article-diagram svg[aria-roledescription=stateDiagram] .arrowMarkerPath{fill:var(--ink)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=pie] path.pieCircle:first-of-type{fill:var(--red)!important}.article-diagram svg[aria-roledescription=pie] path.pieCircle:nth-of-type(2){fill:var(--ink)!important}.article-diagram svg[aria-roledescription=pie] path.pieCircle:nth-of-type(3){fill:var(--ink-faded)!important}.article-diagram svg[aria-roledescription=pie] path.pieCircle:nth-of-type(4){fill:var(--rule-light)!important}.article-diagram svg[aria-roledescription=pie] path.pieCircle:nth-of-type(5){fill:var(--ink-light)!important}.article-diagram svg[aria-roledescription=pie] .pieCircle{stroke:var(--paper)!important;stroke-width:2px!important}.article-diagram svg[aria-roledescription=pie] .pieTitleText{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=pie] .slice{fill:var(--paper)!important}.article-diagram svg[aria-roledescription=pie] .legend text{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=pie] .legend:first-of-type rect{fill:var(--red)!important}.article-diagram svg[aria-roledescription=pie] .legend:nth-of-type(2) rect{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=pie] .legend:nth-of-type(3) rect{fill:var(--ink-faded)!important}.article-diagram svg[aria-roledescription=pie] .legend:nth-of-type(4) rect{fill:var(--rule-light)!important}.article-diagram svg[aria-roledescription=pie] .legend:nth-of-type(5) rect{fill:var(--ink-light)!important}.article-diagram svg[aria-roledescription=mindmap] .mindmap-node.section-root .node-bkg{fill:var(--red)!important;stroke:var(--red)!important}.article-diagram svg[aria-roledescription=mindmap] .mindmap-node.section-root .text-outer-tspan{fill:var(--paper)!important}.article-diagram svg[aria-roledescription=mindmap] .mindmap-node:not(.section-root) .node-bkg{fill:var(--paper)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=mindmap] .mindmap-node:not(.section-root) .text-outer-tspan{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=mindmap] .node-line-0,.article-diagram svg[aria-roledescription=mindmap] .node-line-1,.article-diagram svg[aria-roledescription=mindmap] .node-line-2,.article-diagram svg[aria-roledescription=mindmap] .node-line-3{stroke:var(--red)!important}.article-diagram svg[aria-roledescription=mindmap] .edge{stroke:var(--ink)!important;fill:var(--ink)!important}.article-diagram svg[aria-roledescription=timeline] .taskWrapper .node-bkg{fill:var(--paper)!important;stroke:var(--red)!important}.article-diagram svg[aria-roledescription=timeline] .eventWrapper .node-bkg{fill:var(--paper)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=timeline] .node-line--1,.article-diagram svg[aria-roledescription=timeline] .node-line-0,.article-diagram svg[aria-roledescription=timeline] .node-line-1,.article-diagram svg[aria-roledescription=timeline] .node-line-2,.article-diagram svg[aria-roledescription=timeline] .node-line-3{stroke:var(--red)!important}.article-diagram svg[aria-roledescription=timeline] .lineWrapper line{stroke:var(--rule-light)!important}.article-diagram svg[aria-roledescription=timeline] text{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=gantt]{min-width:500px}.article-diagram svg[aria-roledescription=gantt] text{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=gantt] .task{fill:var(--ink)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=gantt] .taskText{fill:var(--paper)!important}.article-diagram svg[aria-roledescription=gantt] .taskTextOutside0,.article-diagram svg[aria-roledescription=gantt] .taskTextOutside1,.article-diagram svg[aria-roledescription=gantt] .taskTextOutside2,.article-diagram svg[aria-roledescription=gantt] .taskTextOutsideLeft,.article-diagram svg[aria-roledescription=gantt] .taskTextOutsideRight,.article-diagram svg[aria-roledescription=gantt] .titleText,.article-diagram svg[aria-roledescription=gantt] .sectionTitle{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=gantt] .grid .tick line{stroke:var(--rule-light)!important}.article-diagram svg[aria-roledescription=gantt] .domain{stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=gantt] .today{stroke:var(--red)!important;stroke-width:2px!important}.article-diagram svg[aria-roledescription=gantt] .section0{fill:#0000!important}.article-diagram svg[aria-roledescription=gantt] .section1{fill:var(--paper-dark,var(--paper))!important}.article-diagram svg[aria-roledescription=gantt] .section2{fill:#0000!important}.article-diagram svg[aria-roledescription=classDiagram] .node .outer{fill:var(--paper)!important;stroke:var(--red)!important;stroke-width:1.5px!important}.article-diagram svg[aria-roledescription=classDiagram] .node .divider{stroke:var(--rule-light)!important}.article-diagram svg[aria-roledescription=classDiagram] .classTitle{font-weight:700;fill:var(--ink)!important}.article-diagram svg[aria-roledescription=classDiagram] .nodeLabel{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=classDiagram] .relation{stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=classDiagram] .edgeLabel .label{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=classDiagram] marker path{fill:var(--ink)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] text{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] .branch0{stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] .branch1{stroke:var(--red)!important}.article-diagram svg[aria-roledescription=gitGraph] .commit0{fill:var(--ink)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] .commit1{fill:var(--red)!important;stroke:var(--red)!important}.article-diagram svg[aria-roledescription=gitGraph] .commit-merge{fill:var(--ink)!important;stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] .arrow0{stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] .arrow1{stroke:var(--red)!important}.article-diagram svg[aria-roledescription=gitGraph] .branch-label0 .label{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] .branch-label1 .label{fill:var(--red)!important}.article-diagram svg[aria-roledescription=gitGraph] .branchLabelBkg{fill:var(--paper)!important;stroke:none!important}.article-diagram svg[aria-roledescription=gitGraph] .commit-label{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=gitGraph] .commit-label-bkg{fill:var(--paper)!important;stroke:var(--rule-light)!important}.article-diagram svg[aria-roledescription=er] .entityBox{stroke:var(--red)!important;fill:var(--paper)!important}.article-diagram svg[aria-roledescription=er] .entityLabel{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=er] .attributeBoxOdd{fill:var(--paper)!important;stroke:var(--rule-light)!important}.article-diagram svg[aria-roledescription=er] .attributeBoxEven{fill:var(--paper-dark,var(--paper))!important;stroke:var(--rule-light)!important}.article-diagram svg[aria-roledescription=er] .relationshipLine{stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=er] .relationshipLabel{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=sequence] .actor{stroke:var(--red)!important;fill:var(--paper)!important}.article-diagram svg[aria-roledescription=sequence] text.actor>tspan{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=sequence] .messageLine0,.article-diagram svg[aria-roledescription=sequence] .messageLine1{stroke:var(--ink)!important}.article-diagram svg[aria-roledescription=sequence] .messageText{fill:var(--ink)!important}.article-diagram svg[aria-roledescription=sequence] .activation0{fill:var(--rule-light)!important;stroke:var(--red)!important}.article-diagram svg[aria-roledescription=sequence] .actor-line{stroke:var(--rule-light)!important}.article-diagram svg[aria-roledescription=sequence] .arrowhead{fill:var(--ink)!important}.article-diagram figcaption{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);text-align:center;border-top:1px solid var(--rule-light);margin-top:.5rem;padding-top:.25rem}.article-illustration{margin:1.5rem 0}.article-illustration img{border:1px solid var(--rule-light);border-radius:2px;max-width:100%;height:auto}:root[data-theme=dark] .article-illustration img{background:var(--paper-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .article-illustration img{background:var(--paper-dark)}}.chart-error{font-family:var(--font-meta);color:var(--ink-faded);border:1px dashed var(--rule-light);margin:1rem 0;padding:.5rem;font-size:.75rem}.chart-truncated{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);color:var(--ink-faded);text-align:center;margin-top:.25rem;font-style:italic}.article-compare{max-width:100%;margin:1.5rem 0;overflow-x:auto}.article-compare .compare-title{font-family:var(--font-headline);text-align:center;color:var(--ink);margin-bottom:.5rem;font-size:.95rem;font-weight:700}.article-compare .compare-source{font-family:var(--font-meta);text-align:center;color:var(--ink-faded);overflow-wrap:anywhere;margin-top:.4rem;font-size:.75rem;font-style:italic}.article-compare .compare-source a{color:inherit}.article-compare table.compare-matrix{border-collapse:collapse;width:100%;font-family:var(--font-body);font-size:.9rem}.article-compare table.compare-matrix th,.article-compare table.compare-matrix td{border:1px solid var(--rule-light);vertical-align:top;text-align:left;padding:.4rem .6rem}.article-compare table.compare-matrix thead th{background:var(--paper-tinted,var(--paper));font-family:var(--font-headline);color:var(--ink);font-size:.85rem;font-weight:700}.article-compare table.compare-matrix tbody th{font-family:var(--font-headline);color:var(--ink);background:0 0;font-weight:600}.article-compare table.compare-matrix tr.compare-row--hero th,.article-compare table.compare-matrix tr.compare-row--hero td{background:var(--red-tint,color-mix(in srgb, var(--red) 8%, transparent));color:var(--ink)}.article-compare table.compare-matrix .compare-cell--yes{color:var(--ink);font-weight:700}.article-compare table.compare-matrix .compare-cell--no{color:var(--ink-faded)}.compare-error{font-family:var(--font-meta);color:var(--red);background:color-mix(in srgb,var(--red) 5%,transparent);border-left:3px solid var(--red);margin:1rem 0;padding:.6rem .8rem;font-size:.85rem}.hp-above{padding:1.25rem 0}@media (min-width:1024px){.hp-above .lead-story__excerpt{columns:2;column-rule:1px solid var(--rule-light);column-gap:2.5rem}}.lead-story__category{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin-bottom:.25rem;font-weight:600}.lead-story__title{font-family:var(--font-headline);letter-spacing:.02em;-webkit-text-stroke:.45px currentcolor;paint-order:stroke fill;overflow-wrap:break-word;margin-bottom:.5rem;font-size:clamp(1.8rem,4.4vw,2.8rem);font-weight:900;line-height:1.2}.lead-story__title a{color:var(--ink);text-decoration:none}.lead-story__title a:hover{color:var(--red)}.lead-story__dek{font-family:var(--font-body);color:var(--ink-light);overflow-wrap:break-word;border-bottom:1px solid var(--rule-light);margin-bottom:1rem;padding-bottom:1rem;font-size:1.05rem;font-style:italic;line-height:1.4}.lead-story__excerpt{overflow-wrap:break-word;color:var(--ink);margin-bottom:.6rem;font-size:1.05rem;line-height:1.7}.lead-story__meta{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);flex-wrap:wrap;gap:.4rem 1rem;display:flex}.lead-story__readmore{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:600;text-decoration:none}.lead-story__readmore:hover{color:var(--ink)}.hp-section{border-top:3px double var(--rule);padding:1.25rem 0 1.5rem}.hp-section__heading{font-family:var(--font-meta);text-transform:uppercase;letter-spacing:.12em;color:var(--red);text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:.85rem;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:grid}.hp-section__heading:before,.hp-section__heading:after{content:"";background:var(--rule-light);height:1px}.hp-section__footer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;padding-top:1rem;display:flex}.hp-section__more{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-top:1rem;font-weight:600;text-decoration:none;display:inline-block}.hp-section__more:hover{color:var(--ink)}.hp-section__footer .hp-section__more{margin-top:0}.hp-grid{grid-template-columns:1fr;gap:0;display:grid}.hp-grid>*{border-bottom:1px solid var(--rule-light);padding:1rem 0}@media (min-width:768px){.hp-grid{column-gap:var(--col-gap);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.hp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.hp-grid .article-card__headline{font-size:1.15rem}.hp-empty{text-align:center;font-family:var(--font-body);color:var(--ink-faded);padding:3rem 1rem;font-style:italic}.reading-progress{z-index:1000;pointer-events:none;background:0 0;width:100%;height:3px;position:fixed;top:0;left:0}.reading-progress__bar{background:var(--red,#7f151f);width:0%;height:100%;transition:width 50ms linear}.share-buttons{border-top:1px solid var(--rule-light);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.share-buttons__label{font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faded)}.share-btn{min-height:24px;font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--rule-light);background:var(--paper);color:var(--ink-faded);cursor:pointer;align-items:center;padding:.3rem .6rem;font-weight:600;line-height:1;text-decoration:none;transition:all .15s;display:inline-flex}.share-btn:hover{border-color:var(--red);color:var(--red);background:var(--paper)}.article-feedback{border:1px solid var(--rule);background:var(--paper-dark);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:grid}.article-feedback__title{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin:0 0 .25rem;font-weight:700}.article-feedback__prompt,.article-feedback__status{font-family:var(--font-meta);color:var(--ink-faded);margin:0;font-size:.75rem}.article-feedback__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.article-feedback__button{border:1px solid var(--rule);background:var(--paper);min-height:44px;color:var(--ink);font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;padding:.45rem .75rem;font-weight:700;transition:border-color .15s,color .15s,background .15s}:is(.article-feedback__button:hover,.article-feedback__button:focus-visible){border-color:var(--red);color:var(--red);outline:none}.article-feedback__button--selected{background:var(--red);border-color:var(--red);color:var(--paper)}.article-feedback__status{grid-column:1/-1}@media (max-width:640px){.article-feedback{grid-template-columns:1fr}.article-feedback__actions{justify-content:flex-start}}.related-articles{border-top:2px solid var(--rule);margin-top:2rem;padding-top:1.5rem}.related-articles__heading{font-family:var(--font-body);overflow-wrap:break-word;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:1.15rem;font-weight:700;line-height:1.35}.related-articles__list{margin:0;padding:0;list-style:none}.related-articles__list li{border-bottom:1px solid var(--rule-light)}.related-articles__list li:last-child{border-bottom:none}.related-articles__link{color:var(--ink);flex-direction:column;gap:.3rem;padding:1rem 0;text-decoration:none;transition:color .15s;display:flex}.related-articles__link:hover{color:var(--red)}.related-articles__category{font-family:var(--font-meta);text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-size:.75rem;font-weight:600}.related-articles__title{font-family:var(--font-body);overflow-wrap:break-word;font-size:1.2rem;font-weight:700;line-height:1.35}.related-articles__meta{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded)}.author-note{border:1px solid var(--rule-light);border-left:4px solid var(--red);background:var(--paper-dark);align-items:flex-start;gap:1rem;margin-top:2rem;padding:1rem 1.1rem;display:flex}.author-note__photo{border:2px solid var(--ink);filter:grayscale()contrast(1.05);flex-shrink:0;width:64px;height:64px}.author-note__body{min-width:0}.author-note__label{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin-bottom:.25rem;font-weight:600}.author-note__name{font-family:var(--font-body);overflow-wrap:break-word;color:var(--ink);font-size:1.1rem;font-weight:700;line-height:1.35}.author-note__name span{font-family:var(--font-meta);font-size:max(var(--text-min),.62rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);margin-top:.1rem;font-weight:400;display:block}.author-note__bio,.author-note__archive{font-family:var(--font-body);color:var(--ink);margin-top:.5rem;font-size:.92rem;line-height:1.6}.author-note__archive{color:var(--ink-light);font-style:italic}.author-note__archive a{color:var(--red)}.author-note__links{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.author-note__links a{min-height:24px;color:var(--red);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.author-note__links a:hover{color:var(--ink)}@media (max-width:480px){.author-note{flex-direction:column}}.key-findings{border:2px solid var(--rule);background:var(--paper-dark);margin:0 0 1.5rem;padding:.9rem 1.1rem .6rem}.key-findings__label{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin-bottom:.4rem;font-weight:600}.key-findings__list{counter-reset:finding;margin:0;padding:0;list-style:none}.key-findings__list li{border-top:1px solid var(--rule-light);font-family:var(--font-body);color:var(--ink);counter-increment:finding;padding:.45rem 0 .45rem 1.9rem;font-size:.95rem;line-height:1.55;position:relative}.key-findings__list li:first-child{border-top:none}.key-findings__list li:before{content:counter(finding,decimal-leading-zero);font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);color:var(--red);font-weight:600;position:absolute;top:.55rem;left:0}.cite-block{border-top:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);flex-wrap:wrap;align-items:baseline;gap:.4rem .75rem;margin-top:1.25rem;padding:.75rem 0;display:flex}.cite-block__label{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);flex-basis:100%;font-weight:600}.cite-block__text{min-width:0;font-family:var(--font-body);color:var(--ink-light);overflow-wrap:anywhere;flex:20rem;font-size:.85rem;line-height:1.55}.cite-block__copy{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--rule-light);color:var(--ink-faded);cursor:pointer;background:0 0;padding:.25rem .6rem}:is(.cite-block__copy:hover,.cite-block__copy:focus-visible){border-color:var(--red);color:var(--red)}.cite-block__status{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.archive-header{text-align:center;padding:2rem 0 1.25rem}.archive-header__title{font-family:var(--font-headline);letter-spacing:.01em;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:900}.archive-header__subtitle{font-family:var(--font-headline);color:var(--ink-light);margin-top:.35rem;font-size:1.15rem;font-style:italic}.archive-list{max-width:720px;padding:0 var(--page-padding) 3rem;margin:0 auto;list-style:none}.archive-list li{border-bottom:1px solid var(--rule-light);padding:1rem 0}.archive-list li:first-child{padding-top:1.25rem}.archive-list__title{font-family:var(--font-body);margin-bottom:.4rem;font-size:1.15rem;font-weight:700;line-height:1.4;display:block}.archive-list__title a{color:var(--ink);text-decoration:none;transition:color .15s}.archive-list__title a:hover{color:var(--red)}.archive-list__meta{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);line-height:1.5;display:block}.archive-empty{max-width:720px;padding:2.5rem var(--page-padding);text-align:center;font-family:var(--font-headline);color:var(--ink-faded);border-top:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);margin:2.5rem auto;font-size:1.1rem;font-style:italic}.pagination{padding:1.5rem var(--page-padding) 3rem;font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em}.pagination__inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.pagination__pages{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.pagination__link,.pagination__page,.pagination__current{min-width:1.8rem;height:1.8rem;color:var(--ink);border:1px solid var(--rule-light);justify-content:center;align-items:center;padding:0 .4rem;text-decoration:none;transition:all .15s;display:inline-flex}.pagination__link{gap:.4rem;padding:0 .7rem}.pagination__link:hover{color:var(--red);border-color:var(--red)}.pagination__link--prev{margin-right:.25rem}.pagination__link--next{margin-left:.25rem}.pagination__page:hover{color:var(--red);border-color:var(--red)}.pagination__current{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:700}.pagination__ellipsis{min-width:1.8rem;color:var(--ink-faded);justify-content:center;align-items:center;display:inline-flex}.pagination__placeholder{visibility:hidden;min-width:1.8rem;height:1.8rem;display:inline-flex}.pagination__placeholder--prev{margin-right:.25rem}.pagination__placeholder--next{margin-left:.25rem}@media (max-width:600px){.pagination__label{display:none}}.category-header{text-align:center;padding:2rem 0 1rem}.category-header__title{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.05em;font-size:1.5rem;font-weight:900}.categories-list{max-width:720px;padding:0 var(--page-padding) 3rem;margin:0 auto;list-style:none}.categories-list li{border-bottom:1px solid var(--rule-light)}.categories-list a{padding:1.25rem 0;text-decoration:none;transition:all .15s;display:block}.categories-list a:hover .categories-list__name{color:var(--red)}.categories-list__name{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:1.2rem;font-weight:900;display:block}.categories-list__desc{font-family:var(--font-body);color:var(--ink-light);font-size:.85rem;line-height:1.5;display:block}.categories-list__count{font-family:var(--font-meta);font-size:max(var(--text-min),.6rem);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faded);margin-top:.35rem;display:block}.tag-header__label{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faded);text-align:center;margin-bottom:.25rem}.empty-state{text-align:center;font-family:var(--font-headline);color:var(--ink-faded);grid-column:1/-1;padding:3rem;font-style:italic}.contact-page{max-width:720px;padding:2rem var(--page-padding);text-align:center;margin:0 auto}.contact-page__title{font-family:var(--font-headline);margin-bottom:1rem;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900}.contact-page__intro{font-family:var(--font-body);color:var(--ink-light);margin-bottom:1.5rem;font-size:.95rem}.contact-page__email{font-family:var(--font-meta);letter-spacing:.05em;margin-bottom:1rem;font-size:1.1rem}.contact-page__email a{color:var(--red);border-bottom:1px solid var(--red);padding-bottom:.1rem;text-decoration:none}.contact-page__email a:hover{color:var(--ink);border-color:var(--ink)}.contact-page__feedback{font-family:var(--font-meta);min-height:1.2em;margin-top:.5rem;font-size:.8rem}.contact-page__feedback--ok{color:var(--ink);font-weight:600}.contact-page__feedback--err{color:var(--red)}.contact-page__tip-box{border-top:1px solid var(--rule-light);margin-top:2.5rem;padding-top:1.5rem}.contact-page__tip-title{font-family:var(--font-headline);margin-bottom:.25rem;font-size:1.2rem;font-weight:700}.contact-page__tip-desc{font-family:var(--font-body);color:var(--ink-light);margin-bottom:1rem;font-size:.85rem}.contact-page__form{text-align:left;flex-direction:column;gap:.6rem;max-width:480px;margin:0 auto;display:flex}.contact-page__input,.contact-page__textarea{font-family:var(--font-meta);border:1px solid var(--rule-light);background:var(--paper);color:var(--ink);box-sizing:border-box;border-radius:2px;width:100%;padding:.5rem .6rem;font-size:.8rem}.contact-page__input:focus,.contact-page__textarea:focus{border-color:var(--red);outline:none}.contact-page__input::placeholder,.contact-page__textarea::placeholder{color:var(--ink-faded)}.contact-page__textarea{resize:vertical;min-height:3rem}.contact-page__submit{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.1em;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;align-self:flex-start;padding:.5rem 1.5rem;transition:all .15s}.contact-page__submit:hover{background:var(--red);border-color:var(--red)}.site-footer{text-align:center;padding:2rem var(--page-padding) 3rem;font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faded)}.site-footer p{margin:0}.site-footer .footer-sep{color:var(--rule-light);margin:0 .4rem}.site-footer a{color:var(--ink-faded);border-bottom:1px solid #0000;text-decoration:none;transition:all .15s}.site-footer a:hover{color:var(--red);border-bottom-color:var(--red)}@media print{body{background:#fff}.nav-bar,.lang-switch{display:none}}.archive-index{max-width:760px;margin:0 auto;padding:0 0 3rem}.archive-index__links{font-family:var(--font-meta);font-size:max(var(--text-min),.7rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;padding-top:1rem;display:flex}.archive-index__links a{color:var(--red);font-weight:600;text-decoration:none}.archive-index__links a:hover{color:var(--ink)}.archive-index__month-label{border-bottom:2px solid var(--rule);font-family:var(--font-headline);text-transform:capitalize;margin-top:1.5rem;padding-bottom:.3rem;font-size:1.2rem;font-weight:900}.archive-index__list{margin:0;padding:0;list-style:none}.archive-index__item{border-bottom:1px solid var(--rule-light);grid-template-columns:4.5rem minmax(0,1fr);gap:.75rem;padding:.9rem 0;display:grid}.archive-index__date{font-family:var(--font-meta);font-size:max(var(--text-min),.65rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);padding-top:.2rem}.archive-index__kicker{font-family:var(--font-meta);font-size:max(var(--text-min),.62rem);text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin-bottom:.15rem;font-weight:600;display:block}.archive-index__title{font-family:var(--font-body);color:var(--ink);font-size:1.08rem;font-weight:700;line-height:1.4;text-decoration:none}.archive-index__title:hover{color:var(--red)}.archive-index__teaser{font-family:var(--font-body);color:var(--ink-light);margin-top:.25rem;font-size:.92rem;line-height:1.55}.archive-index__meta{font-family:var(--font-meta);font-size:max(var(--text-min),.62rem);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded);margin-top:.25rem}