@font-face{font-family:Geist;font-weight:400;font-display:swap;src:url(/assets/fonts/g-reg.woff2) format("woff2")}
@font-face{font-family:Geist;font-weight:500;font-display:swap;src:url(/assets/fonts/g-med.woff2) format("woff2")}
@font-face{font-family:Geist;font-weight:700;font-display:swap;src:url(/assets/fonts/g-bold.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:400;font-display:swap;src:url(/assets/fonts/gm-reg.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:500;font-display:swap;src:url(/assets/fonts/gm-med.woff2) format("woff2")}

:root{
  --paper:#F7F5F0; --ink:#151515; --card:#FFFFFF; --rule:#DBD8D0; --soft:#EEECE6;
  --graphite:#707070; --body2:#454440; --blue:#4968FF; --blue-ink:#3D56E0;
  --blue-tint:rgba(73,104,255,.09); --yellow:#FFD95C;
  --sans:Geist,-apple-system,"Segoe UI",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans)}
img,svg{display:block;max-width:100%}
a{color:inherit}
ul{list-style:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* chrome */
nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav-in{display:flex;align-items:center;gap:26px;height:62px}
.lockup{display:flex;align-items:center;gap:9px;font-size:18px;letter-spacing:-.02em;text-decoration:none}
.lockup b{font-weight:700}
.mark{width:24px;height:24px}
.mark path{stroke:var(--ink)}
.nav-links{display:flex;gap:24px;margin:0 auto;font-size:14px;color:var(--body2)}
.nav-links a{text-decoration:none}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);
  font:500 15px/1 var(--sans);padding:15px 22px;border-radius:10px;text-decoration:none;
  transition:transform .13s ease,background .13s ease}
.btn:hover{background:#000;transform:translateY(-1px)}
nav .btn{padding:15px 16px;font-size:14px}
.pill{display:inline-block;font:500 13px/1 var(--mono);color:var(--blue-ink);background:var(--blue-tint);
  border-radius:6px;padding:5px 8px;white-space:nowrap}
footer{border-top:1px solid var(--rule);padding:34px 0 44px;margin-top:96px}
.foot-in{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.foot-in p{font-size:13px;color:var(--graphite)}
.foot-links{margin-left:auto;display:flex;gap:22px;font-size:13.5px;color:var(--body2)}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--ink)}

/* article + page layout */
.page{max-width:720px;margin:0 auto;padding:clamp(48px,7vw,80px) 24px 0}
.eyebrow{font:500 11.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--graphite);margin-bottom:16px}
h1{font-size:clamp(32px,5vw,46px);line-height:1.08;font-weight:700;letter-spacing:-.028em;margin-bottom:18px}
.lede{font-size:18px;line-height:1.65;color:var(--body2)}
.byline{display:flex;align-items:center;gap:12px;margin:26px 0 0;padding:18px 0;border-block:1px solid var(--rule)}
.byline img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.byline .who{font-size:14px;font-weight:500}
.byline .who a{text-decoration:none}
.byline .who a:hover{color:var(--blue-ink)}
.byline time,.byline .dot{font-size:13px;color:var(--graphite)}
.prose{margin-top:34px}
.prose h2{font-size:clamp(21px,3vw,26px);line-height:1.25;letter-spacing:-.02em;margin:44px 0 14px}
.prose h3{font-size:17px;margin:28px 0 8px}
.prose p{margin:0 0 18px;color:var(--body2)}
.prose strong{color:var(--ink)}
.prose a{color:var(--blue-ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}
.prose a:hover{text-decoration-color:var(--blue-ink)}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px;color:var(--body2)}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin-bottom:8px}
.prose li::marker{color:var(--graphite)}
.prose code{font:500 .88em/1 var(--mono);color:var(--blue-ink);background:var(--blue-tint);border-radius:4px;padding:2px 5px}
.prose img{border:1px solid var(--rule);border-radius:10px;margin:6px 0 8px}
.prose figure{margin:26px 0}
.prose figcaption{font-size:13px;color:var(--graphite);margin-top:10px}
.promptbox{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:16px 18px;margin:0 0 18px;
  font:400 13.5px/1.7 var(--mono);color:var(--body2)}
.callout{background:var(--soft);border:1px solid var(--rule);border-radius:10px;padding:18px 20px;margin:26px 0}
.callout p{margin:0}
.cta-box{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:26px;margin:44px 0 0;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cta-box .t{flex:1;min-width:220px}
.cta-box h2{font-size:20px;margin:0 0 4px;letter-spacing:-.02em}
.cta-box p{margin:0;font-size:14px;color:var(--graphite)}

/* faq on pages */
.faq{margin-top:8px}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;align-items:center;gap:14px;padding:17px 4px;font-size:15.5px;font-weight:500;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{margin-left:auto;flex:none;width:14px;height:14px;stroke:var(--graphite);stroke-width:2;fill:none;stroke-linecap:round;transition:rotate .16s ease}
.faq details[open] summary svg{rotate:45deg}
.faq details p{padding:0 4px 18px;color:var(--body2);font-size:14.5px}

/* blog index cards */
.post-list{display:grid;gap:14px;margin-top:36px}
.post-card{display:block;background:var(--card);border:1px solid var(--rule);border-radius:12px;
  padding:24px 26px;text-decoration:none;transition:border-color .13s ease,transform .13s ease}
.post-card:hover{border-color:var(--graphite);transform:translateY(-1px)}
.post-card h2{font-size:20px;letter-spacing:-.02em;margin-bottom:6px}
.post-card p{font-size:14.5px;color:var(--graphite);line-height:1.6}
.post-card time{display:block;font:400 12px/1 var(--mono);color:var(--graphite);margin-top:12px}

/* about specifics */
.head-row{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.head-row img{width:104px;height:104px;border-radius:50%;object-fit:cover;border:1px solid var(--rule)}
.links-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}
.links-row a{font-size:14px;color:var(--blue-ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}
.links-row a:hover{text-decoration-color:var(--blue-ink)}

@media (max-width:720px){
  .nav-links{display:none}
  .nav-in{gap:0}
  nav .btn{margin-left:auto}
}

/* buttons inside prose keep button styling */
.prose a.btn,.cta-box a.btn{color:var(--paper);text-decoration:none}
