
:root{--bg:#f6f6f2;--surface:#fff;--ink:#15161a;--muted:#62656e;--line:#dedfd9;--accent:#5b54eb;--soft:#eeedff;--ad:#efefea;--shadow:0 16px 38px rgba(16,18,25,.08);--overlay:rgba(10,11,15,.5)}
[data-theme="dark"]{--bg:#111216;--surface:#191a20;--ink:#f6f5ef;--muted:#afb0ba;--line:#303139;--accent:#9b94ff;--soft:#272540;--ad:#1e1f25;--shadow:0 16px 38px rgba(0,0,0,.24);--overlay:rgba(0,0,0,.72)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:background .2s,color .2s}body.search-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}.nav{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em;line-height:1.06}.brand{font-size:1.35rem;font-weight:bold;white-space:nowrap}.brand i{font-style:normal;color:var(--accent)}.nav-links,.nav-right{display:flex;align-items:center;gap:20px}.nav-links{font-size:.9rem;font-weight:700}.nav-links a:hover,.nav-links .active{color:var(--accent)}.nav-right{gap:9px}.icon-btn,.theme-btn,.menu-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0}.icon-btn:hover,.theme-btn:hover,.menu-btn:hover{color:var(--accent);border-color:var(--accent)}.icon-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.menu-btn{display:none}
.front-intro{padding:37px 0 25px;border-bottom:1px solid var(--line)}.eyebrow,.label{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;font-weight:850}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.front-intro h1{font-size:clamp(2rem,4vw,3.35rem);margin:7px 0}.front-intro p{margin:0;color:var(--muted)}
.front-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);border-bottom:1px solid var(--line);margin-bottom:52px}.feature{border-right:1px solid var(--line);cursor:pointer;display:grid;grid-template-columns:1fr 1fr}.visual{overflow:hidden;background:var(--soft);min-height:360px}.visual img{width:100%;height:100%;object-fit:cover;display:block}.feature-copy{padding:38px;display:flex;flex-direction:column;justify-content:center}.feature h2{font-size:clamp(2.1rem,3.3vw,3.35rem);margin:12px 0 17px}.muted{color:var(--muted)}.meta{color:var(--muted);font-size:.78rem;display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}.meta span+span:before{content:"·";margin-right:10px}.arrow-link{color:var(--accent);font-weight:800;margin-top:25px}.latest-rail{padding:23px 0 0 27px}.rail-head{font-size:1.55rem;margin:0}.rail-item{display:block;cursor:pointer;padding:21px 0;border-bottom:1px solid var(--line)}.rail-item:last-child{border:0}.rail-item h3{font-size:1.3rem;margin:6px 0}
.ad-slot{height:104px;margin:0 0 58px;border:1px dashed var(--line);background:var(--ad);display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;overflow:hidden}.ad-slot b{display:block;color:var(--ink);font-size:.74rem}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:24px}.section-head h2{font-size:clamp(1.9rem,3vw,2.8rem);margin:0}.section-head a{color:var(--accent);font-size:.86rem;font-weight:800}
.brief-strip{display:grid;grid-template-columns:210px repeat(3,1fr);border:1px solid var(--line);background:var(--surface);margin:0 0 68px}.brief-title,.brief-item{padding:23px;border-right:1px solid var(--line)}.brief-item:last-child{border:0}.brief-title h3{margin:8px 0;font-size:1.3rem}.brief-title p,.brief-item p{font-size:.88rem;color:var(--muted);margin:0}
.card-grid,.article-grid,.keep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:70px}.card{min-height:255px;cursor:pointer;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.card-image{height:130px;overflow:hidden;background:var(--soft)}.card-image img{height:100%;width:100%;object-fit:cover;display:block}.card-body,.article-grid .card:not(:has(.card-body)){padding:20px}.card-body{display:flex;flex:1;flex-direction:column}.card h3{font-size:1.44rem;margin:10px 0}.card .meta{margin-top:auto}.card.no-image .card-body{padding-top:27px}.label-link:hover{text-decoration:underline;text-underline-offset:3px}
.listing-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);padding:0!important;min-height:320px}.listing-feature .card-image{height:100%;min-height:320px}.listing-feature .card-body{padding:34px}.listing-feature h3{font-size:clamp(2rem,3.2vw,3.1rem)}
.explore{border-top:1px solid var(--line);padding:65px 0}.explore-copy{max-width:550px;margin-bottom:25px}.explore-copy h2{font-size:clamp(2rem,3vw,3rem);margin:10px 0}.explore-copy p{color:var(--muted);margin:0}.explore-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.explore-link{background:var(--surface);border:1px solid var(--line);padding:23px}.explore-link:hover{border-color:var(--accent)}.explore-link h3{margin:8px 0;font-size:1.38rem}.explore-link p{font-size:.9rem;color:var(--muted);margin:0}
.site-footer{border-top:1px solid var(--line);padding:42px 0 30px;color:var(--muted);font-size:.84rem}.footer-top{display:grid;grid-template-columns:1.25fr .8fr auto;gap:35px;align-items:start;padding-bottom:28px}.footer-brand p{max-width:390px;margin:7px 0 0}.footer-links{display:grid;grid-template-columns:repeat(2,max-content);gap:8px 24px}.footer-links a:hover{color:var(--accent)}.footer-social{display:flex;gap:9px}.social-icon{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink);background:var(--surface)}.social-icon:hover{color:var(--accent);border-color:var(--accent)}.social-svg{width:16px;height:16px;display:block;flex:0 0 auto}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:18px}
.listing-hero{padding:65px 0 37px;max-width:750px}.listing-hero h1{font-size:clamp(3rem,6vw,5rem);margin:10px 0}.listing-hero p{color:var(--muted);font-size:1.08rem}.filter-note{margin:-38px 0 28px;color:var(--muted);font-size:.88rem}.filter-note button{border:0;background:none;color:var(--accent);font-weight:700;cursor:pointer;padding:0}
.article{width:min(780px,calc(100% - 40px));margin:auto;padding:52px 0}.article-header{text-align:center;border-bottom:1px solid var(--line);padding-bottom:28px}.breadcrumb{font-size:.78rem;color:var(--muted);margin-bottom:18px}.breadcrumb a:hover{color:var(--accent)}.article h1{font-size:clamp(2.7rem,6vw,5rem);margin:11px 0}.lead{font-size:1.16rem;color:var(--muted);max-width:650px;margin:17px auto}.byline{justify-content:center;margin-top:17px}.article-hero{margin:31px 0 34px;aspect-ratio:16/8;overflow:hidden;background:var(--soft)}.article-hero img{width:100%;height:100%;object-fit:cover;display:block}.article-layout{display:grid;grid-template-columns:96px minmax(0,1fr);gap:28px}.share-rail{position:sticky;top:100px;height:max-content;display:flex;align-items:center;flex-direction:column;gap:9px}.share-rail small{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:2px}.share-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.share-btn:hover{color:var(--accent);border-color:var(--accent)}.share-btn .social-svg{width:16px;height:16px}.mobile-share{display:none}.article-body{font:1.18rem/1.72 Georgia,"Times New Roman",serif}.article-body h2{font-size:2.05rem;margin:40px 0 15px}.article-body h3{font-size:1.55rem;margin:32px 0 12px}.article-body p{margin:0 0 19px}.article-body ul,.article-body ol{padding-left:1.35em;margin:0 0 24px}.article-body li{margin:8px 0}.article-body blockquote{border-left:3px solid var(--accent);padding:7px 0 7px 21px;margin:30px 0;color:var(--muted);font-size:1.35rem}.article-body pre{overflow:auto;background:var(--surface);border:1px solid var(--line);padding:18px;font: .88rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.article-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.toc,.note{border:1px solid var(--line);background:var(--surface);padding:18px 20px;font:.9rem/1.55 Inter,system-ui,sans-serif;margin:26px 0}.toc strong,.note strong{display:block;margin-bottom:7px}.toc a{display:block;color:var(--accent);margin:5px 0}.in-article-ad{margin:33px 0}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:45px 0 56px}.post-nav a{border:1px solid var(--line);padding:17px;font:.86rem/1.35 Inter,system-ui,sans-serif}.post-nav a:hover{border-color:var(--accent)}.post-nav a:last-child{text-align:right}.post-nav strong{display:block;font:1.15rem/1.14 Georgia,serif;margin-top:5px}.related,.keep-reading{width:min(1160px,calc(100% - 40px));margin:0 auto 70px}.load-status{margin-top:20px;color:var(--muted);font-size:.86rem;text-align:center}
.legal{width:min(760px,calc(100% - 40px));margin:auto;padding:62px 0 80px}.legal-header{border-bottom:1px solid var(--line);padding-bottom:27px;margin-bottom:31px}.legal h1{font-size:clamp(2.8rem,6vw,4.6rem);margin:8px 0 13px}.legal-updated{font-size:.82rem;color:var(--muted)}.legal-body{font:1.06rem/1.75 Inter,system-ui,sans-serif}.legal-body h2{font-family:Georgia,serif;font-size:1.75rem;margin:36px 0 12px}.legal-body p,.legal-body ul{margin:0 0 18px}.legal-body ul{padding-left:21px}
.search-backdrop{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(10px);display:none;padding:92px 20px 24px}.search-backdrop.open{display:block}.search-panel{width:min(900px,100%);max-height:78vh;overflow:hidden;margin:auto;background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:none;display:flex;flex-direction:column}.search-head{display:flex;align-items:center;border-bottom:2px solid var(--ink);padding:22px 4px 17px;gap:14px}.search-head svg{width:22px;height:22px;fill:none;stroke:var(--muted);stroke-width:1.8}.search-input{flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,3vw,2.15rem);letter-spacing:-.025em;min-width:0}.search-input::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.search-close{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--muted);padding:5px 2px;cursor:pointer;font-size:.76rem}.search-close:hover{color:var(--accent);border-color:var(--accent)}.search-results{overflow:auto;padding:0}.search-result{display:block;padding:18px 4px;border-bottom:1px solid var(--line)}.search-result:last-child{border-bottom:0}.search-result:hover{background:transparent;color:var(--accent)}.search-result h3{font-size:1.28rem;margin:5px 0 4px}.search-result p{font-size:.86rem;color:var(--muted);margin:0}.search-empty{padding:35px 4px;text-align:left;color:var(--muted)}.search-hint{padding:13px 4px;font-size:.74rem;color:var(--muted)}.progress{position:fixed;left:0;top:0;z-index:50;height:3px;background:var(--accent);width:0}.to-top{position:fixed;right:21px;bottom:22px;z-index:25;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.to-top.show{opacity:1;transform:none;pointer-events:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.not-found{min-height:62vh;display:grid;place-items:center;text-align:center}.not-found-inner{max-width:650px;padding:70px 0}.not-found h1{font-size:clamp(4rem,12vw,8rem);margin:0}.not-found h2{font-size:clamp(2rem,4vw,3.3rem);margin:6px 0 12px}.button-link{display:inline-block;margin-top:18px;padding:11px 17px;background:var(--ink);color:var(--bg);font-weight:750;border-radius:4px}
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:3px}
@media(max-width:800px){.container{width:min(100% - 28px,1160px)}.nav{height:64px}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-btn{display:grid}.front-grid,.feature{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.feature-copy{padding:29px}.visual{min-height:235px}.latest-rail{padding:12px 24px}.brief-strip,.explore-links,.card-grid,.article-grid,.keep-grid{grid-template-columns:1fr}.brief-title,.brief-item{border-right:0;border-bottom:1px solid var(--line)}.brief-item:last-child{border:0}.card-grid,.article-grid,.keep-grid{gap:14px}.card{min-height:210px}.card-image{height:145px}.listing-feature{grid-template-columns:1fr}.listing-feature .card-image{min-height:210px;height:210px}.listing-feature .card-body{padding:24px}.footer-top{grid-template-columns:1fr;gap:22px}.footer-bottom{display:block}.footer-bottom p{margin:0 0 8px}.article{padding-top:38px}.article-layout{display:block}.share-rail{display:none}.mobile-share{display:flex;justify-content:center;gap:9px;margin:22px 0}.article-body{font-size:1.1rem}.article-hero{margin-top:23px}.post-nav{grid-template-columns:1fr}.post-nav a:last-child{text-align:left}.related,.keep-reading{width:min(100% - 28px,1160px)}.ad-slot{height:100px}.search-backdrop{padding:74px 18px 18px}.search-panel{width:100%;max-height:calc(100vh - 92px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0}.listing-hero{padding-top:48px}}

[data-card-href]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 62%,transparent);outline-offset:3px}.social-svg{width:16px;height:16px;display:block}.footer-social{flex-wrap:wrap}

/* Brand mark + anchor polish */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{width:31px;height:31px;display:block;flex:0 0 auto;border-radius:7px}
.header-brand{min-width:max-content}
.footer-brand .brand{gap:9px}
.footer-brand-mark{width:29px;height:29px;border-radius:7px}
.article-body h2[id],.article-body h3[id]{scroll-margin-top:98px}
.toc a{padding:2px 0;text-underline-offset:3px}
.toc a:hover{text-decoration:underline}
@media(max-width:800px){
  .header-brand .brand-wordmark{display:none}
  .header-brand{gap:0}
  .header-brand .brand-mark{width:34px;height:34px;border-radius:8px}
  .article-body h2[id],.article-body h3[id]{scroll-margin-top:88px}
}


/* Guide library */
.guide-library{padding-bottom:10px}.guide-hero{max-width:820px}.guide-start,.guide-topics,.all-guides{margin-bottom:72px}.guide-section-head{align-items:end;margin-bottom:22px}.guide-section-head>div h2{margin:5px 0 0;font-size:clamp(2rem,4vw,3rem)}.guide-section-head>p{max-width:430px;margin:0;color:var(--muted);font-size:.9rem}.start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}.start-card{min-height:230px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:start;border-right:1px solid var(--line);cursor:pointer;transition:background .2s,color .2s}.start-card:last-child{border-right:0}.start-card:hover{background:var(--soft)}.step-num{font:700 .72rem/1 Inter,sans-serif;color:var(--accent);padding-top:5px}.start-card h3{font-size:1.45rem;margin:8px 0 9px}.start-card p{font-size:.88rem;color:var(--muted);margin:0}.card-arrow{font-size:1.2rem;color:var(--muted)}.guide-level{display:inline-flex;align-items:center;font:700 .62rem/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.075em;color:var(--muted)}
.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.topic-card{border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:310px;transition:transform .2s,border-color .2s,box-shadow .2s}.topic-card:hover,.topic-card.active{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow)}.topic-visual{display:block;aspect-ratio:16/10;background:var(--soft);overflow:hidden;border-bottom:1px solid var(--line)}.topic-visual img{width:100%;height:100%;object-fit:cover;display:block}.topic-copy{display:flex;flex:1;flex-direction:column;padding:18px}.topic-copy strong{font:700 1.32rem/1.1 Georgia,serif}.topic-copy>span{font-size:.82rem;color:var(--muted);margin-top:8px}.topic-copy em{font-style:normal;font-size:.74rem;font-weight:750;color:var(--accent);margin-top:auto;padding-top:16px}.guide-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.guide-clear{border:0;background:transparent;color:var(--accent);font-weight:750;cursor:pointer;padding:5px 0}.guide-filter-note{margin:-8px 0 20px;color:var(--muted);font-size:.85rem}.guide-card[hidden]{display:none!important}
/* Optional article media / sources */
.video-embed{margin:32px 0;border:1px solid var(--line);background:var(--surface);font-family:Inter,system-ui,sans-serif}.video-stage{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}.video-stage img{width:100%;height:100%;object-fit:cover;opacity:.76;display:block}.video-play{position:absolute;inset:0;margin:auto;width:68px;height:68px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(18,18,20,.74);color:#fff;font-size:1.35rem;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}.video-play:hover{transform:scale(1.04)}.video-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-caption{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;color:var(--muted);font-size:.74rem}.video-caption a{color:var(--accent);font-weight:700}.sources-block{margin:42px 0 28px;padding-top:22px;border-top:1px solid var(--line);font-family:Inter,system-ui,sans-serif}.sources-block h2{font-size:1.28rem;margin:0 0 7px}.sources-block>p{font-size:.82rem;color:var(--muted);margin-bottom:15px}.source-list{display:grid;gap:9px}.source-link{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.84rem}.source-link span:last-child{color:var(--accent);font-weight:750}.source-link:hover{color:var(--accent)}
/* Search filters */
.search-filters{display:flex;gap:7px;flex-wrap:wrap;padding:14px 4px;border-bottom:1px solid var(--line)}.search-filter{border:1px solid var(--line);background:transparent;color:var(--muted);padding:6px 10px;border-radius:999px;font-size:.71rem;font-weight:750;cursor:pointer}.search-filter.active,.search-filter:hover{border-color:var(--ink);color:var(--ink)}
@media(max-width:1000px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.guide-start,.guide-topics,.all-guides{margin-bottom:52px}.guide-section-head{display:block}.guide-section-head>p{margin-top:9px}.start-grid{grid-template-columns:1fr}.start-card{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.start-card:last-child{border-bottom:0}.topic-grid{grid-template-columns:1fr 1fr}.topic-card{min-height:265px}.topic-copy{padding:15px}.topic-copy strong{font-size:1.18rem}.video-caption{display:block}.video-caption a{display:inline-block;margin-top:5px}}
@media(max-width:520px){.topic-grid{grid-template-columns:1fr}.topic-card{display:grid;grid-template-columns:118px 1fr;min-height:130px}.topic-visual{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line)}.topic-copy em{padding-top:10px}}


/* === Editorial content-type differentiation === */
.section-kicker{display:block;margin-bottom:8px;font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}
.section-head>div>h2{margin:0}
.section-head>div>p{margin:7px 0 0;color:var(--muted);max-width:620px}

/* Home — reporting stays crisp and newspaper-like */
.home-news-section{padding-top:68px;padding-bottom:70px}
.home-news-section .card-grid{border-top:2px solid var(--ink);padding-top:18px;gap:0}
.home-news-section .card{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
.home-news-section .card:last-child{border-right:0}
.home-news-section .card-body{padding:22px 26px}
.section-head-news{align-items:flex-end}

/* Home — Guides become a numbered learning path */
.home-guides-section{margin-top:18px;padding:76px 0;background:var(--soft)}
.home-guide-head{align-items:flex-end}
.home-guide-path{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-guide-step{position:relative;display:flex;min-height:300px;flex-direction:column;padding:30px 30px 28px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line);transition:transform .18s ease,background .18s ease}
.home-guide-step:last-child{border-right:0}
.home-guide-step:hover{background:var(--paper);transform:translateY(-3px)}
.home-guide-step .step-number{font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--accent);opacity:.42;margin-bottom:30px}
.home-guide-step h3{font-size:1.55rem;margin:10px 0 12px}
.home-guide-step p{color:var(--muted);margin:0 0 24px}
.home-guide-step .step-meta{margin-top:auto;font-size:.8rem;color:var(--muted)}

/* Home — Opinions are an editorial desk, not another card grid */
.home-opinion-section{padding:82px 0}
.home-opinion-head{align-items:flex-end}
.home-opinion-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;margin-top:28px}
.home-opinion-lead{position:relative;display:grid;grid-template-columns:105px 1fr;gap:22px;padding:38px;border:1px solid var(--line);border-radius:22px;cursor:pointer}
.home-opinion-lead .opinion-mark{font-family:var(--serif);font-size:7rem;line-height:.7;color:var(--accent)}
.home-opinion-lead h3{font-size:2rem;margin:10px 0 14px}
.home-opinion-lead p{color:var(--muted);max-width:620px}
.home-opinion-stack{display:flex;flex-direction:column;border-top:2px solid var(--ink)}
.home-opinion-stack>a{display:flex;flex-direction:column;gap:10px;padding:24px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.home-opinion-stack strong{font-family:var(--serif);font-size:1.32rem;line-height:1.12}
.home-opinion-stack>a>span:last-child{font-size:.8rem;color:var(--muted)}

/* News — lead story + compact editorial cards */
.news-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;padding-bottom:70px}
.news-editorial-grid .card{border-radius:0}
.news-lead-card{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;min-height:390px;border-top:2px solid var(--ink)!important}
.news-lead-card .card-image{min-height:100%;height:100%}
.news-lead-card .card-image img{width:100%;height:100%;object-fit:cover}
.news-lead-card .card-body{display:flex;flex-direction:column;justify-content:center;padding:42px}
.news-lead-card h3{font-size:2.25rem}
.news-story-card{border:0!important;border-top:1px solid var(--line)!important;background:transparent!important}
.news-story-card .card-body{padding:24px 5px 28px}
.news-story-card h3{font-size:1.48rem}
.news-story-card .muted{max-width:620px}
.news-story-card:hover{transform:none!important}
.news-story-card:hover h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* Guides — numbered library entries, lighter and more instructional */
.guide-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.guide-library-card{position:relative;min-height:230px;border-radius:18px!important;border:1px solid var(--line)!important;background:var(--paper)!important;overflow:hidden}
.guide-library-card .guide-card-number{position:absolute;right:18px;top:13px;font-family:var(--serif);font-size:2.2rem;color:var(--accent);opacity:.22}
.guide-library-card .card-body{padding:30px}
.guide-library-card h3{max-width:82%;font-size:1.48rem}
.guide-library-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);opacity:.7}
.guide-library-card:hover{transform:translateY(-2px)}

/* Opinions — long-form desk list with visible numbering */
.opinion-page{padding-bottom:80px}
.opinion-rule{display:flex;justify-content:space-between;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:12px 0;margin:28px 0 0;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.opinion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px}
.opinion-feature{grid-column:1/-1;display:grid;grid-template-columns:110px 1fr;padding:44px 0;border-bottom:1px solid var(--line);cursor:pointer}
.opinion-feature .opinion-index{font-family:var(--serif);font-size:4.8rem;line-height:1;color:var(--accent)}
.opinion-feature .opinion-copy{max-width:850px}
.opinion-feature h2{font-size:2.75rem;margin:12px 0}
.opinion-feature p{font-size:1.1rem;color:var(--muted)}
.opinion-tile{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:34px 0;border-bottom:1px solid var(--line);cursor:pointer}
.opinion-index{font-family:var(--serif);font-size:2rem;color:var(--accent);opacity:.7}
.opinion-tile h2{font-size:1.65rem;margin:9px 0 12px}
.opinion-tile p{color:var(--muted)}
.opinion-copy a{text-decoration:none;color:inherit}
.opinion-copy h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.opinion-disclosure{border-left:3px solid var(--accent);padding:10px 0 10px 18px;margin:0 0 30px}
.opinion-disclosure span{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.opinion-disclosure p{margin:5px 0 0!important;color:var(--muted)}
.opinion-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

@media(max-width:820px){
  .home-guide-path,.guide-library-grid,.opinion-list,.opinion-related-grid{grid-template-columns:1fr}
  .home-guide-step{min-height:240px;border-right:0;border-bottom:1px solid var(--line)}
  .home-opinion-layout{grid-template-columns:1fr}
  .home-opinion-lead{grid-template-columns:55px 1fr;padding:28px 20px}
  .home-opinion-lead .opinion-mark{font-size:4.6rem}
  .news-editorial-grid{grid-template-columns:1fr}
  .news-lead-card{grid-column:auto;grid-template-columns:1fr}
  .news-lead-card .card-image{min-height:220px}
  .news-lead-card .card-body{padding:28px 20px}
  .news-lead-card h3{font-size:1.8rem}
  .opinion-feature{grid-column:auto;grid-template-columns:58px 1fr;padding:30px 0}
  .opinion-feature .opinion-index{font-size:2.4rem}
  .opinion-feature h2{font-size:2rem}
}


/* === Article reading-area polish: share breathing room + friendly contents === */
@media (min-width:801px){
  /* Give the share rail its own lane instead of letting it visually crowd the article. */
  .article-layout{
    grid-template-columns:96px minmax(0,1fr);
    column-gap:60px;
  }
  .share-rail{
    padding-right:22px;
    border-right:1px solid var(--line);
  }
}

/* Contents should feel like part of the editorial page, not a generic UI box. */
.article-body .toc{
  position:relative;
  margin:34px 0 42px;
  padding:25px 28px 24px 31px;
  border:0;
  border-radius:0 16px 16px 0;
  background:color-mix(in srgb,var(--accent) 5%,var(--surface));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,var(--line));
  font:.92rem/1.55 Inter,system-ui,sans-serif;
}
.article-body .toc::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  border-radius:3px;
  background:var(--accent);
}
.article-body .toc strong{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 14px;
  color:var(--ink);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.article-body .toc strong::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--accent);
}
.article-body .toc a{
  position:relative;
  display:block;
  margin:0;
  padding:7px 8px 7px 20px;
  border-radius:8px;
  color:var(--ink);
  line-height:1.42;
  text-decoration:none;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.article-body .toc a::before{
  content:"↳";
  position:absolute;
  left:2px;
  color:var(--accent);
  opacity:.72;
}
.article-body .toc a:hover{
  background:color-mix(in srgb,var(--accent) 8%,transparent);
  color:var(--accent);
  text-decoration:none;
  transform:translateX(2px);
}
@media(max-width:800px){
  .article-body .toc{
    margin:28px 0 34px;
    padding:21px 19px 20px 22px;
    border-radius:0 13px 13px 0;
  }
}


/* === Article top-divider breathing room ===
   Keep the horizontal divider, but prevent SHARE and the article accent bar
   from beginning directly on top of it. Applies to News, Guides and Opinions. */
@media (min-width:801px){
  .article-layout{
    padding-top:22px;
  }
  .share-rail{
    top:122px;
  }
}


/* === V8 reading polish + responsive article media === */
.article-body .article-image{
  margin:32px 0;
  max-width:100%;
}
.article-body .article-image img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.article-body .article-image figcaption{
  margin-top:9px;
  color:var(--muted);
  font: .76rem/1.5 Inter,system-ui,sans-serif;
}

/* Links added inside editorial copy must look like links without becoming noisy. */
.article-body p a,
.article-body li a,
.article-body blockquote a{
  color:var(--accent);
  text-decoration-line:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);
  transition:text-decoration-color .15s ease,color .15s ease;
}
.article-body p a:hover,
.article-body li a:hover,
.article-body blockquote a:hover{
  text-decoration-thickness:2px;
  text-decoration-color:currentColor;
}

/* Warm editorial text selection rather than the browser's default blue. */
::selection{
  background:#f4e8a7;
  color:#181818;
}
::-moz-selection{
  background:#f4e8a7;
  color:#181818;
}
[data-theme="dark"] ::selection{
  background:#d8c86f;
  color:#111216;
}
[data-theme="dark"] ::-moz-selection{
  background:#d8c86f;
  color:#111216;
}

/* Progressive N/P/O archive loading: only a small batch is in the DOM at once. */
.listing-loader{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:12px 0 70px;
}
.listing-load-more{
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--ink);
  padding:11px 18px;
  border-radius:999px;
  font-weight:750;
  font-size:.82rem;
  cursor:pointer;
}
.listing-load-more:hover,
.listing-load-more:focus-visible{
  border-color:var(--accent);
  color:var(--accent);
}
.listing-load-more[hidden]{display:none!important}

/* V9 controlled rich-text output */
.article-body .editorial-mark,.article-header .editorial-mark{background:#f4e8a7;color:inherit;padding:.04em .12em;border-radius:.18em}
.article-body .text-color-violet,.article-header .text-color-violet{color:var(--accent)}
.article-body .text-color-blue,.article-header .text-color-blue{color:#2865c7}
.article-body .text-color-green,.article-header .text-color-green{color:#287a51}
.article-body .text-color-red,.article-header .text-color-red{color:#b84343}
.article-body .text-color-muted,.article-header .text-color-muted{color:var(--muted)}

.empty-state{padding:24px 0;color:var(--muted)}.support-page{padding-top:72px;padding-bottom:80px}.support-intro{max-width:760px;margin-bottom:38px}.support-intro h1{font:clamp(2.4rem,6vw,4.8rem)/.98 Georgia,serif;margin:12px 0 20px}.support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:28px 0}.support-card{border:1px solid var(--line);padding:22px;border-radius:16px}.support-card code{display:block;overflow-wrap:anywhere;padding:14px 0}.support-warning{border-top:1px solid var(--line);padding-top:24px;max-width:760px}
