:root{--ink:#111827;--muted:#4B5563;--primary:#2563EB;--cyan:#06B6D4;--green:#16A34A;--amber:#F59E0B;--page:#F3F4F6;--surface:#FFFFFF;--border:#E5E7EB;--dark:#0F172A}
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(17,24,39,.04)}
.site-header .container{padding:14px 24px 0}
.site-brand{font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:24px;color:var(--ink)}
.site-tagline{margin-left:12px;color:var(--muted);font-size:13px}
.search-compact{width:180px}
.main-nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px;border-top:1px solid var(--border)}
.nav-item{position:relative}
.nav-item>a{display:block;padding:12px 14px;color:var(--ink);font-weight:700;font-size:14px}
.nav-item:first-child>a,.nav-item>a:hover{background:var(--primary);color:#fff;text-decoration:none}
.nav-dropdown{display:none;position:absolute;min-width:220px;background:#fff;border:1px solid var(--border);box-shadow:0 8px 24px rgba(17,24,39,.14)}
.has-dropdown:hover .nav-dropdown{display:block}
.nav-dropdown a{display:block;padding:9px 12px;color:var(--ink)}
.page-shell{min-height:70vh}
.editorial-hero{background:linear-gradient(115deg,rgba(15,23,42,.9),rgba(37,99,235,.72)),url('/assets/images/img_be97ffa92164.png') center/cover;color:#fff;margin-bottom:26px}
.editorial-hero .hero-body{max-width:1180px;margin:0 auto;padding:62px 24px}
.hero-copy{max-width:760px}
.hero-copy h1{font-family:Manrope,Inter,sans-serif;font-size:44px;line-height:1.12;margin:0}
.eyebrow{color:var(--cyan);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr)310px;gap:28px;padding:0 24px 36px}
.main-column,.article-shell,.listing-shell,.error-shell{background:var(--surface);border:1px solid var(--border);padding:24px}
.article-header{border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:16px}
.article-header h1,.section-head h1{font-family:Manrope,Inter,sans-serif;font-size:34px;line-height:1.2;margin:0 0 8px}
.meta-line{color:var(--muted);font-size:13px}
.prose p,.listing-list p{margin:0 0 16px}
.prose a,.listing-list a,.article-shell a,.site-block--paragraph a{color:var(--primary);text-decoration:underline;text-decoration-color:rgba(37,99,235,.35);text-underline-offset:2px}
.prose a:hover,.listing-list a:hover{color:#003ea8;text-decoration-color:#003ea8}
.content-image{margin:0 0 20px}
.content-image img,.gallery-grid img,.category-card img{max-width:100%;height:auto;border:1px solid var(--border)}
.magazine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.magazine-grid h2,.magazine-grid h3{font-family:Manrope,Inter,sans-serif;margin:0;border:1px solid var(--border);padding:16px;background:#fff}
.magazine-grid h2:first-child{grid-column:span 2;background:var(--dark);color:#fff;font-size:28px}
.listing-row{border-bottom:1px solid var(--border);padding:13px 0}
.listing-row a{font-weight:800;color:var(--ink)}
.site-sidebar{display:flex;flex-direction:column;gap:18px}
.widget{background:var(--surface);border:1px solid var(--border);padding:18px}
.widget h3{font-family:Manrope,Inter,sans-serif;font-size:16px;margin:0 0 12px}
.widget .nav{margin:0}
.widget .nav-item a{display:block;padding:6px 0;color:var(--ink);font-size:14px}
.tag-list{display:flex;flex-wrap:wrap;gap:6px}
.tag-list span{background:#EEF2FF;color:#1E3A8A;padding:3px 7px;font-size:12px;border-radius:4px}
.site-footer{background:var(--dark);color:#CBD5E1;padding:28px 0;margin-top:34px}
.site-footer .container{padding:0 24px}
.site-footer h2{color:#fff;margin:0 0 6px}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:flex-end}
.footer-links a{color:#E5E7EB;font-size:13px}
.breadcrumb{margin-bottom:18px}
.table-wrap{overflow:auto}
blockquote{border-left:4px solid var(--primary);background:#F8FAFC;margin:18px 0;padding:12px 18px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.toc-panel,.toc-top{background:#EFF6FF;border:1px solid #BFDBFE;padding:16px;margin-bottom:18px}
.main-image{float:right;max-width:33%;margin:0 0 16px 22px;border:1px solid var(--border)}
.article-summary{border-left:4px solid var(--amber);padding-left:14px;color:var(--muted)}
.category-intro{background:#fff;border:1px solid var(--border);padding:24px;margin-bottom:22px}
.category-intro section+section{margin-top:22px}
.category-intro p{margin:0 0 16px}
.category-intro table{width:100%;border-collapse:collapse;margin:16px 0}
.category-intro th,.category-intro td{border:1px solid var(--border);padding:8px;text-align:left;vertical-align:top}
.category-grid{row-gap:18px}
.category-card{height:100%;background:#fff;border:1px solid var(--border);padding:16px}
.category-card h2{font-size:20px;line-height:1.25}
.category-card.horizontal{display:grid;grid-template-columns:150px 1fr;gap:14px}
.category-card.minimal{border-left:4px solid var(--primary);box-shadow:none}
.read-more{font-weight:800;font-size:13px;text-transform:uppercase}
@media(max-width:900px){.content-layout{grid-template-columns:1fr}.magazine-grid{grid-template-columns:1fr}.magazine-grid h2:first-child{grid-column:auto}.footer-links{justify-content:flex-start}.main-image{float:none;max-width:100%;margin:0 0 16px}.search-compact{display:none}.site-header{position:static}}
@media(max-width:600px){.site-header .container,.editorial-hero .hero-body,.content-layout,.site-footer .container{padding-left:14px;padding-right:14px}.hero-copy h1{font-size:32px}.main-column,.article-shell,.listing-shell,.error-shell{padding:18px}.main-nav{display:block}.nav-item>a{padding:10px 0}.category-card.horizontal{display:block}}
.site-brand{color:#2563eb!important}
.site-footer{color:#4b5563;border:2px solid #16a34a}
.magazine-grid h2:first-child{background:#06b6d4}
.hero-copy h1{border:1px solid #f59e0b;padding:10px}
