/* ============ The Launch Protocol — blog styles (shared) ============ */
:root{
  --paper:#FFFFFF; --ink:#0E0E0C; --accent:#6F632F;
  --ink-10:rgba(14,14,12,.10); --ink-16:rgba(14,14,12,.16);
  --ink-48:rgba(14,14,12,.48); --ink-62:rgba(14,14,12,.62); --ink-70:rgba(14,14,12,.70);
  --f-display:"Cormorant Garamond",Georgia,serif;
  --f-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --f-mono:"Space Mono",ui-monospace,monospace;
  --edge:clamp(18px,4.4vw,64px);
  --r-pill:999px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-sans);background:#fff;color:var(--ink);line-height:1.6;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
#dither-bg{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none;background:#fff}
main{position:relative;z-index:1}

/* ---- nav (same minimal bar as the site) ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(16px,2.2vw,24px) var(--edge)}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .3s ease;pointer-events:none}
.nav.is-scrolled::before{opacity:1}
.nav__brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:600;font-size:1.25rem;letter-spacing:-.01em;line-height:1;white-space:nowrap}
.nav__brand em{font-style:italic;font-weight:500}
.nav__logo{width:21px;height:21px;flex:0 0 auto;color:var(--ink)}
.nav__links{display:flex;align-items:center;gap:clamp(18px,2.6vw,36px);font-family:var(--f-mono);font-size:.89rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.nav__links a{color:var(--ink);opacity:.62;transition:opacity .2s ease}
.nav__links a:hover{opacity:1}
.nav__links a.is-active{opacity:1;font-weight:700}
.nav__soon{color:var(--ink);opacity:.34;cursor:default}
.nav__soon em{font-style:normal;font-size:.52rem;letter-spacing:.1em;vertical-align:super;margin-left:3px;opacity:.9}
.nav__links .nav__book{opacity:1;color:#F4F3EF;background:var(--ink);padding:11px 20px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--ink);transition:background .25s ease,color .25s ease,transform .18s cubic-bezier(.34,1.4,.64,1)}
.nav__links .nav__book:hover{background:#F4F3EF;color:var(--ink)}
.nav__links .nav__book:active{transform:scale(.94)}
@media (max-width:768px){
  .nav{padding:14px var(--edge);gap:10px}
  .nav__logo{width:18px;height:18px}
  .nav__brand{font-size:1.05rem}
  .nav__links{gap:12px;font-size:.78rem;letter-spacing:.08em}
  .nav__links .nav__book{padding:9px 14px}
  .nav__links a[data-hide-mobile],.nav__soon{display:none}
}

/* ---- shared bits ---- */
.pill{display:inline-flex;align-items:center;font-family:var(--f-sans);font-size:.82rem;font-weight:500;padding:7px 14px;border-radius:var(--r-pill);background:rgba(14,14,12,.05);color:var(--ink-70);white-space:nowrap}
.pill--featured{background:var(--ink);color:#fff;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.meta-mini{font-family:var(--f-sans);font-size:.9rem;color:var(--ink-62);white-space:nowrap}

/* ---- blog index ---- */
.bhero{padding:clamp(120px,18vh,180px) var(--edge) clamp(28px,4vw,44px);text-align:center}
.bhero h1{font-family:var(--f-display);font-weight:600;font-size:clamp(3rem,8vw,5.5rem);line-height:1;letter-spacing:-.02em}
.bsearch{display:flex;justify-content:center;padding:0 var(--edge) clamp(48px,8vw,90px)}
.bsearch__box{display:flex;align-items:center;gap:12px;width:min(640px,100%);padding:16px 22px;border:1px solid var(--ink-16);border-radius:var(--r-pill);background:#fff}
.bsearch__box svg{width:19px;height:19px;flex:0 0 auto;color:var(--ink-48)}
.bsearch__box input{border:0;outline:0;flex:1;font-family:var(--f-sans);font-size:1.02rem;color:var(--ink);background:transparent}
.bsearch__box input::placeholder{color:var(--ink-48)}
.bwrap{max-width:1180px;margin:0 auto;padding:0 var(--edge) clamp(80px,12vw,140px)}
.bsection{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);margin:0 0 clamp(22px,3vw,34px)}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(440px,100%),1fr));gap:clamp(22px,3vw,40px)}
.bcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink-10);border-radius:18px;overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}
.bcard:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(14,14,12,.25)}
.bcard__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#f2f1ee}
.bcard__media img{width:100%;height:100%;object-fit:cover}
.bcard__flag{position:absolute;top:16px;left:16px}
.bcard__body{display:flex;flex-direction:column;gap:14px;padding:clamp(18px,2.4vw,28px)}
.bcard__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bcard__title{font-family:var(--f-display);font-weight:600;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.12;letter-spacing:-.01em}
.bcard__excerpt{color:var(--ink-62);font-size:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bempty{display:none;text-align:center;color:var(--ink-62);padding:40px 0}
.bempty.show{display:block}

/* ---- article page ---- */
.art{max-width:820px;margin:0 auto;padding:clamp(120px,17vh,170px) var(--edge) clamp(70px,10vw,120px)}
.art__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,32px)}
.art__title{font-family:var(--f-display);font-weight:600;font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.06;letter-spacing:-.015em;margin-bottom:clamp(22px,3vw,34px)}
.art__dek{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink-62);margin-bottom:clamp(28px,4vw,42px)}
.author{display:flex;align-items:center;gap:14px;margin-bottom:clamp(30px,4.5vw,48px)}
.author__pic{width:52px;height:52px;border-radius:50%;border:1px solid var(--ink-16);display:flex;align-items:center;justify-content:center;background:#fff;flex:0 0 auto}
.author__pic svg{width:22px;height:22px;color:var(--ink)}
.author__name{font-family:var(--f-display);font-weight:600;font-size:1.15rem;display:flex;align-items:center;gap:9px;line-height:1.2}
.author__name .xlink svg{width:15px;height:15px;color:var(--ink);opacity:.85;transition:opacity .2s ease}
.author__name .xlink:hover svg{opacity:.45}
.author__org{font-size:.92rem;color:var(--ink-62);margin-top:2px}
.art__hero{border-radius:18px;overflow:hidden;margin-bottom:clamp(34px,5vw,54px);border:1px solid var(--ink-10)}
.art__hero img{width:100%;height:auto}
.art__body p{font-size:1.06rem;line-height:1.75;color:var(--ink);margin-bottom:1.35em}
.art__body h2{font-family:var(--f-display);font-weight:600;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.15;letter-spacing:-.01em;margin:clamp(36px,5vw,54px) 0 clamp(14px,2vw,20px)}
.art__body b{font-weight:600}
.art__body .lede::first-letter{font-family:var(--f-display)}

/* ---- FAQ accordion ---- */
.faqx{margin:clamp(44px,6vw,70px) 0 0}
.faqx__eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-70);margin-bottom:12px}
.faqx__title{font-family:var(--f-display);font-weight:600;font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.01em;margin-bottom:clamp(22px,3vw,32px)}
.faqx__item{border:1px solid var(--ink-16);border-radius:16px;background:#fff;margin-bottom:14px;overflow:hidden}
.faqx__q{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:clamp(18px,2.6vw,24px) clamp(18px,2.8vw,26px);background:none;border:0;cursor:pointer;text-align:left;font-family:var(--f-sans);font-size:clamp(1rem,1.4vw,1.12rem);font-weight:500;color:var(--ink)}
.faqx__icon{position:relative;width:16px;height:16px;flex:0 0 auto}
.faqx__icon::before,.faqx__icon::after{content:"";position:absolute;background:var(--ink);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.faqx__icon::before{left:0;top:7px;width:16px;height:2px}
.faqx__icon::after{left:7px;top:0;width:2px;height:16px}
.faqx__item.open .faqx__icon::after{transform:scaleY(0)}
.faqx__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}
.faqx__item.open .faqx__a{grid-template-rows:1fr}
.faqx__a-inner{overflow:hidden}
.faqx__a-inner p{padding:0 clamp(18px,2.8vw,26px) clamp(18px,2.6vw,24px);color:var(--ink-70);font-size:1rem;line-height:1.7}

/* ---- share + written-by ---- */
.share{display:flex;align-items:center;gap:12px;margin:clamp(40px,6vw,60px) 0 clamp(26px,4vw,38px);flex-wrap:wrap}
.share__label{font-size:.95rem;color:var(--ink-62)}
.share a,.share button{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-sans);font-size:.92rem;color:var(--ink);padding:9px 18px;border:1px solid var(--ink-16);border-radius:var(--r-pill);background:#fff;cursor:pointer;transition:background .2s ease}
.share a:hover,.share button:hover{background:rgba(14,14,12,.04)}
.share svg{width:13px;height:13px}
.wby{border:1px solid var(--ink-16);border-radius:18px;background:#fff;padding:clamp(22px,3.4vw,32px);display:flex;gap:18px;align-items:flex-start}
.wby__pic{width:64px;height:64px;border-radius:50%;border:1px solid var(--ink-16);display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#fff}
.wby__pic svg{width:26px;height:26px;color:var(--ink)}
.wby__label{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-62);margin-bottom:6px}
.wby__name{font-family:var(--f-display);font-weight:600;font-size:1.25rem;display:flex;align-items:center;gap:9px}
.wby__name .xlink svg{width:15px;height:15px;opacity:.85;transition:opacity .2s ease}
.wby__name .xlink:hover svg{opacity:.45}
.wby__bio{color:var(--ink-70);font-size:.98rem;margin-top:6px;line-height:1.6}

/* ---- footer ---- */
.bfoot{border-top:1px solid var(--ink-10);background:#fff;position:relative;z-index:1}
.bfoot__inner{max-width:1180px;margin:0 auto;padding:clamp(30px,4.5vw,44px) var(--edge);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bfoot__brand{display:flex;align-items:center;gap:9px;font-family:var(--f-display);font-weight:600;font-size:1.05rem}
.bfoot__brand svg{width:16px;height:16px;color:var(--ink)}
.bfoot__brand em{font-style:italic;font-weight:500}
.bfoot__links{display:flex;gap:clamp(14px,2.4vw,28px);font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.bfoot__links a{color:var(--ink-62);transition:color .2s ease}
.bfoot__links a:hover{color:var(--ink)}
