h1,h2,h3,h4{font-family:var(--font-d);line-height:1.2;margin:0;letter-spacing:-.02em}

/* reading progress */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--gold));z-index:300;transition:width .1s}

/* ARTICLE HEADER */
.art-head{position:relative;color:#fff;overflow:hidden;isolation:isolate}

.art-head .bg{position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,#0d1526 0%,#12256b 55%,#1f47e6 130%)}

.art-head .bg::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 39h40M39 0v40' stroke='%23ffffff' stroke-opacity='.06' stroke-width='1'/%3E%3C/svg%3E")}

.art-head .bg.has-image::after{content:none}

.art-head::after{content:"";position:absolute;right:-6%;top:-40%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(240,165,24,.16),transparent 62%);z-index:-1}

.art-head-in{padding:clamp(48px,6.5vw,80px) 0 clamp(52px,6.5vw,84px);max-width:860px}

.crumb{font-family:var(--font-m);font-size:.76rem;letter-spacing:.06em;color:#c2ccdf;display:flex;gap:.5em;align-items:center;margin-bottom:18px;flex-wrap:wrap}

.crumb a{color:#c2ccdf}

.chip-cat{display:inline-block;font-family:var(--font-m);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#2a1c00;padding:.45em .9em;border-radius:999px;font-weight:600}

.art-head h1{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;margin:16px 0 0;max-width:820px}

.art-meta{display:flex;align-items:center;gap:16px;margin-top:24px;flex-wrap:wrap;font-family:var(--font-m);font-size:.8rem;color:#dbe2f2}

.art-meta .who{display:flex;align-items:center;gap:9px;color:#fff}

.art-meta .who img{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:4px}

.art-meta .dot{opacity:.45}

/* PROSE */
.article{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,64px) 0}

.prose>*{margin:0 0 22px}

.prose>*:last-child{margin-bottom:0}

.prose .lead{font-size:1.2rem;color:var(--text);line-height:1.7}

.prose p{font-size:1.06rem;color:var(--text);line-height:1.8}

.prose h2{font-size:1.6rem;font-weight:700;margin:38px 0 4px}

.prose h3{font-size:1.25rem;font-weight:700;margin:28px 0 2px}

.prose a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}

.prose ul{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:12px}

.prose ul li{position:relative;padding-left:30px;font-size:1.04rem;color:var(--text)}

.prose ul li::before{content:"";position:absolute;left:4px;top:9px;width:9px;height:9px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}

.prose blockquote{margin:0;padding:20px 26px;background:var(--bg-soft);border-left:4px solid var(--blue);border-radius:0 12px 12px 0;font-family:var(--font-d);font-size:1.2rem;font-weight:600;color:var(--text);font-style:italic}

.prose pre{background:#0d1526;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;overflow-x:auto;font-family:var(--font-m);font-size:.9rem;line-height:1.7;color:#cdd8ee}

.prose pre .k{color:#6ea8ff}

.prose pre .s{color:#f0a518}

.prose pre .c{color:#54637f}

.prose code{font-family:var(--font-m);font-size:.9em;background:var(--tag-bg);color:var(--blue);padding:.15em .4em;border-radius:6px;border:1px solid var(--tag-bd)}

.prose pre code{background:none;border:0;color:inherit;padding:0}

/* SHARE + TAGS */
.art-foot{max-width:760px;margin:0 auto;padding-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px}

.tags{display:flex;flex-wrap:wrap;gap:8px}

.tag{font-family:var(--font-m);font-size:.74rem;color:var(--blue);background:var(--tag-bg);border:1px solid var(--tag-bd);padding:.35em .7em;border-radius:8px}

.share{display:flex;align-items:center;gap:9px}

.share span{font-family:var(--font-m);font-size:.74rem;color:var(--muted)}

.share a,.share button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:.15s}

.share a:hover,.share button:hover{border-color:var(--blue);color:var(--blue);background:var(--bg-soft);transform:translateY(-2px)}

.share svg{width:18px;height:18px}

.post-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}

.post .meta{font-family:var(--font-m);font-size:.72rem;color:var(--muted)}

.post h3{font-size:1.1rem;font-weight:700}

@media(max-width:960px){
  .nav-links,.nav-cta .btn{display:none}
  .burger{display:flex}
  .grid-3{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr;gap:30px}
}

@media(max-width:640px){
  .container{padding:0 18px}
  .art-foot{flex-direction:column;align-items:flex-start}
  .f-bottom{flex-direction:column;align-items:flex-start}
}
