:root{
  --bg:#0B0E0D;--bg-2:#101413;--card:rgba(255,255,255,.035);--card-border:rgba(255,255,255,.09);
  --card-hover:rgba(63,203,170,.44);--ink:#F2F1EC;--muted:#9DA6A2;--faint:rgba(255,255,255,.07);
  --brand:#3FCBAA;--brand-2:#1E9E86;--gold:#E7C27E;--glow:rgba(45,200,165,.30);
  --font-sans:"Helvetica Neue","Segoe UI",Roboto,system-ui,Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-weight:400;
  line-height:1.6;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(64% 42% at 12% -4%,rgba(30,158,134,.18),transparent 60%),
    radial-gradient(52% 40% at 104% 6%,rgba(231,194,126,.05),transparent 56%),
    radial-gradient(60% 50% at 50% 108%,rgba(30,158,134,.08),transparent 60%)}
::selection{background:var(--brand-2);color:#04120E}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:8px}

.wrap{width:min(1160px,92vw);margin-inline:auto}
.prose-wrap{width:min(720px,92vw);margin-inline:auto}
header.nav,main,footer{position:relative;z-index:1}

.eyebrow{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--brand);display:inline-flex;align-items:center;gap:.6em}
.eyebrow::before{content:"";width:1.7em;height:1px;background:linear-gradient(90deg,var(--brand),transparent)}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(11,14,13,.55);backdrop-filter:saturate(1.2) blur(20px);border-bottom:1px solid var(--faint)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:.95rem 0}
.brand{display:flex;align-items:baseline;gap:.4ch;font-weight:800;letter-spacing:-.04em;font-size:1.18rem}
.brand .dot{width:.4em;height:.4em;border-radius:50%;background:var(--gold);display:inline-block;transform:translateY(-.05em);box-shadow:0 0 10px var(--gold)}
.brand b{color:var(--brand)}
nav.links{display:flex;gap:1.9rem;align-items:center}
nav.links a{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em;color:var(--muted);transition:color .2s}
nav.links a:hover,nav.links a.active{color:var(--brand)}
.nav-cta .btn{height:46px;padding:0 1.25rem;font-size:.88rem}
@media(max-width:820px){nav.links{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;height:54px;padding:0 1.6rem;border-radius:15px;
  font-family:var(--font-sans);font-size:.97rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;border:1px solid transparent;
  transition:transform .25s,box-shadow .25s,background .25s,border-color .25s,filter .25s}
.btn .arw{transition:transform .25s}.btn:hover .arw{transform:translateX(4px)}
.btn-accent{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#04140F;font-weight:700;
  box-shadow:0 10px 34px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 18px 50px -10px var(--glow);filter:brightness(1.05)}
.btn-ghost{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:var(--ink)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);transform:translateY(-2px)}

/* blog index */
.blog-hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(1.5rem,3vw,2.5rem)}
.blog-hero h1{font-size:clamp(2.4rem,6vw,3.9rem);font-weight:800;letter-spacing:-.038em;line-height:1.03;margin:1.2rem 0 0}
.blog-hero .hl{color:var(--brand)}
.blog-hero p{color:var(--muted);max-width:52ch;margin-top:1.2rem;font-size:1.05rem;line-height:1.7}
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;padding-bottom:clamp(3rem,7vw,6rem)}
@media(max-width:760px){.posts{grid-template-columns:1fr}}
.post-card{background:var(--card);border:1px solid var(--card-border);border-radius:22px;padding:1.9rem 1.8rem;display:flex;flex-direction:column;gap:.9rem;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s}
.post-card:hover{transform:translateY(-6px);border-color:var(--card-hover);box-shadow:0 30px 70px -42px var(--glow)}
.post-card .cat{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.post-card h2{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;line-height:1.18;color:var(--ink)}
.post-card p{color:var(--muted);font-size:.96rem;line-height:1.6;flex:1}
.post-card .more{font-family:var(--font-mono);font-size:.8rem;color:var(--brand);display:inline-flex;gap:.5ch;align-items:center}

/* article */
.article-head{padding:clamp(2.6rem,6vw,4.5rem) 0 0}
.crumbs{font-family:var(--font-mono);font-size:.76rem;color:var(--muted);letter-spacing:.02em}
.crumbs a:hover{color:var(--brand)}
.article-head h1{font-size:clamp(2.1rem,5vw,3.3rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;margin:1.1rem 0 0}
.article-meta{margin-top:1.1rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.03em;color:var(--muted);display:flex;gap:1.2rem;flex-wrap:wrap}
.article-meta span{display:inline-flex;gap:.5ch;align-items:center}
.article-meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}

article{padding:clamp(2rem,4vw,3rem) 0 clamp(3rem,6vw,5rem);font-size:1.075rem;line-height:1.78;color:#DCDBD4}
article .lead{font-size:1.2rem;line-height:1.7;color:var(--ink);margin:0 0 1.8rem}
article h2{font-size:clamp(1.5rem,3vw,1.95rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--ink);margin:2.6rem 0 1rem}
article h3{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:1.9rem 0 .7rem}
article p{margin:0 0 1.15rem}
article ul,article ol{margin:0 0 1.3rem;padding-left:1.3rem;display:flex;flex-direction:column;gap:.55rem}
article li{padding-left:.2rem}article li::marker{color:var(--brand)}
article strong{color:var(--ink);font-weight:700}
article a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(63,203,170,.4)}
article a:hover{text-decoration-color:var(--brand)}
article blockquote{margin:1.8rem 0;padding:1.1rem 1.5rem;border-left:3px solid var(--brand);background:rgba(63,203,170,.06);
  border-radius:0 14px 14px 0;color:var(--ink);font-size:1.12rem;line-height:1.6}
.callout{margin:2rem 0;padding:1.6rem 1.7rem;background:var(--card);border:1px solid var(--card-border);border-radius:18px}
.callout h3{margin:0 0 .5rem}
.callout p{margin:0;color:var(--muted)}
.key{margin:1.8rem 0;padding:1.5rem 1.7rem;border:1px solid rgba(231,194,126,.28);background:rgba(231,194,126,.05);border-radius:18px}
.key b{color:var(--gold)}

/* end CTA */
.cta-box{margin-top:3rem;padding:clamp(2rem,4vw,3rem);border-radius:24px;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(150deg,var(--brand),rgba(231,194,126,.7)) border-box;border:1px solid transparent}
.cta-box h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 .7rem;color:var(--ink)}
.cta-box p{color:var(--muted);max-width:44ch;margin:0 auto 1.5rem;line-height:1.7}

/* related */
.related{border-top:1px solid var(--faint);padding:clamp(2.5rem,5vw,4rem) 0}
.related h2{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;margin:0 0 1.5rem}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media(max-width:760px){.rel-grid{grid-template-columns:1fr}}
.rel-card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:1.3rem 1.4rem;transition:border-color .25s,transform .25s}
.rel-card:hover{border-color:var(--card-hover);transform:translateY(-4px)}
.rel-card .cat{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.rel-card h3{font-size:1.02rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:.5rem 0 0;line-height:1.3}

footer{border-top:1px solid var(--faint);padding:3rem 0;color:var(--muted);margin-top:2rem}
.foot{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start}
.foot .fmono{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.02em}
.foot a{color:var(--muted)}.foot a:hover{color:var(--ink)}
.foot .fcol{display:flex;flex-direction:column;gap:.6rem}
