@font-face{font-family:"Syne";src:url(syne.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Inter";src:url(inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Mono";src:url(mono.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--bg:#04070d;--ink:#eef3fb;--dim:rgba(214,226,243,.62);--faint:rgba(200,215,235,.14);--a1:#1d5bbf;--a2:#38a9de;
  --chrome:linear-gradient(100deg,#7f97bb 0%,#e9f0fb 18%,#ffffff 26%,#8fb6e8 38%,#38a9de 50%,#1d5bbf 62%,#9fb6d6 78%,#ffffff 86%,#7f97bb 100%);
  --pad:clamp(20px,5vw,72px);--display:"Syne",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;--mono:"Mono",ui-monospace,monospace;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:clamp(16px,1.1vw,18px);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
::selection{background:var(--a1);color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* animated metallic backdrop */
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bg i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.28;mix-blend-mode:screen;animation:drift 26s ease-in-out infinite alternate}
.bg i:nth-child(1){background:var(--a1);left:-20vmax;top:-25vmax}
.bg i:nth-child(2){background:var(--a2);right:-25vmax;top:20vh;opacity:.16;animation-duration:32s;animation-delay:-8s}
.bg i:nth-child(3){background:#9fb6d6;left:20vw;bottom:-40vmax;opacity:.1;animation-duration:38s;animation-delay:-14s}
@keyframes drift{to{transform:translate(12vw,10vh) scale(1.15)}}
.grain{position:fixed;inset:-50%;z-index:1;pointer-events:none;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}33%{transform:translate(-5%,3%)}66%{transform:translate(4%,-6%)}100%{transform:translate(0,0)}}
@keyframes shift{to{background-position:-300% 0}}
.chrome{background:var(--chrome);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shift 9s linear infinite}

/* nav */
.bnav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);
  background:linear-gradient(var(--bg),rgba(4,7,13,.6) 70%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bnav__logo{font-family:var(--display);font-weight:800;font-size:22px;text-decoration:none;letter-spacing:-.04em}
.bnav__logo span{color:var(--a2)}
.bnav nav{display:flex;gap:clamp(16px,3vw,36px);font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.bnav nav a{text-decoration:none;color:var(--dim);transition:color .3s}
.bnav nav a:hover,.bnav nav a.is-on{color:var(--ink)}
.bnav nav a.is-on{background:var(--chrome);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shift 6s linear infinite}

.bwrap{position:relative;z-index:2;padding:0 var(--pad) 80px;max-width:1440px;margin:0 auto}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--a2)}

/* reveal */
.reveal,.prose>*{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms)}
.in{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.reveal,.prose>*{opacity:1;transform:none}.bg i,.grain,.chrome{animation:none}}

/* index hero */
.bhero{padding:clamp(60px,12vh,140px) 0 clamp(30px,6vh,60px)}
.bhero h1{font-family:var(--display);font-weight:800;font-size:clamp(52px,10vw,160px);line-height:.9;letter-spacing:-.05em;margin:18px 0 26px}
.bhero__lede{max-width:56ch;color:var(--dim);font-size:clamp(17px,1.4vw,21px)}
.bhero__lede a{color:var(--ink)}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:36px}
.chip{appearance:none;border:1px solid var(--faint);background:rgba(255,255,255,.03);color:var(--dim);font:12px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;border-radius:99px;cursor:pointer;transition:all .3s var(--ease)}
.chip i{font-style:normal;opacity:.6;margin-left:4px}
.chip:hover{color:var(--ink);border-color:rgba(200,215,235,.35)}
.chip.is-on{color:#fff;border-color:var(--a2);background:linear-gradient(135deg,rgba(29,91,191,.55),rgba(56,169,222,.3));box-shadow:0 8px 30px -10px var(--a2)}
.search{margin-left:auto}
.search input{appearance:none;background:rgba(255,255,255,.04);border:1px solid var(--faint);border-radius:99px;color:var(--ink);font:14px var(--body);padding:10px 18px;width:min(280px,80vw);outline:none;transition:border-color .3s}
.search input:focus{border-color:var(--a2)}
@media (max-width:700px){.search{margin-left:0;width:100%}.search input{width:100%}}

/* post grid */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.post{--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;text-decoration:none;border-radius:20px;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid var(--faint);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);transition:transform .6s var(--ease),border-color .4s,box-shadow .5s}
.post::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(400px circle at var(--mx) var(--my),rgba(143,182,232,.16),transparent 60%)}
.post:hover{transform:translateY(-6px);border-color:rgba(56,169,222,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 30px 70px -30px var(--a1)}
.post:hover::after{opacity:1}
.post__img{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#0c1f3f,#06101f)}
.post__img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(1.05);transition:transform 1.2s var(--ease),filter .6s}
.post:hover .post__img img{transform:scale(1.06);filter:saturate(1.05)}
.post__ph{display:grid;place-items:center;height:100%;font:800 42px var(--display);color:rgba(255,255,255,.12)}
.post__body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.post__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.post__meta span:first-child{color:var(--a2)}
.post h2{font-family:var(--display);font-weight:700;font-size:clamp(19px,1.5vw,23px);line-height:1.15;letter-spacing:-.02em;margin:12px 0 10px}
.post p{color:var(--dim);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post__more{margin-top:auto;padding-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.post__more b{display:inline-block;transition:transform .4s var(--ease);color:var(--ink)}
.post:hover .post__more b{transform:translateX(6px)}
@media (min-width:1001px){body:not(.is-filtered) .post--lead{grid-column:span 2;flex-direction:row}
  body:not(.is-filtered) .post--lead .post__img{aspect-ratio:auto;flex:1.3}
  body:not(.is-filtered) .post--lead .post__body{flex:1;padding:32px}
  body:not(.is-filtered) .post--lead h2{font-size:clamp(26px,2.4vw,38px)}}
@media (max-width:1000px){.posts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.posts{grid-template-columns:1fr}}
.post[hidden]{display:none}
.empty{color:var(--dim);padding:40px 0;text-align:center}

/* article */
.blog-post .bwrap{max-width:820px}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:20}
.progress i{display:block;height:100%;background:var(--chrome);background-size:300% 100%;transform-origin:0 50%;transform:scaleX(0);animation:shift 4s linear infinite}
.back{display:inline-block;margin:clamp(30px,6vh,70px) 0 28px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-decoration:none}
.back:hover{color:var(--ink)}
.article__title{font-family:var(--display);font-weight:800;font-size:clamp(34px,5.4vw,68px);line-height:1;letter-spacing:-.04em;margin:18px 0 34px;
  background:var(--chrome);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shift 12s linear infinite}
.article__hero{margin:0 0 40px;border-radius:22px;overflow:hidden;border:1px solid var(--faint);box-shadow:0 40px 100px -40px var(--a1)}
.article__hero img{display:block;width:100%;max-height:70vh;object-fit:cover}
.prose{font-size:clamp(17px,1.25vw,19px);line-height:1.75;color:rgba(232,239,250,.88)}
.prose>*+*{margin-top:1.1em}
.prose h2,.prose h3{font-family:var(--display);color:var(--ink);letter-spacing:-.02em;line-height:1.2;margin-top:1.8em}
.prose h2{font-size:clamp(24px,2vw,30px)}
.prose h3{font-size:clamp(20px,1.6vw,24px)}
.prose a{color:var(--a2);text-decoration-thickness:1px;text-underline-offset:3px}
.prose strong,.prose b{color:var(--ink)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose blockquote{border-left:2px solid var(--a2);padding:4px 0 4px 22px;font-style:italic;color:var(--ink)}
.prose img{max-width:100%;height:auto;border-radius:14px;display:block}
.prose figure{margin-left:0;margin-right:0}
.prose figcaption{font-size:13px;color:var(--dim);margin-top:8px}
.prose iframe{width:100%;border:0;border-radius:14px}
.origin{margin-top:50px;padding-top:22px;border-top:1px solid var(--faint);font-size:14px;color:var(--dim)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.pager__a{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:16px;border:1px solid var(--faint);text-decoration:none;background:rgba(255,255,255,.03);transition:border-color .3s,transform .4s var(--ease)}
.pager__a:hover{border-color:var(--a2);transform:translateY(-3px)}
.pager__a span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.pager__a b{font-family:var(--display);font-weight:700;line-height:1.2}
.pager__a--r{text-align:right}
@media (max-width:640px){.pager{grid-template-columns:1fr}.pager__a--r{text-align:left}}

.bfoot{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:28px var(--pad);border-top:1px solid var(--faint);font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--dim)}
.bfoot a{text-decoration:none}
