/* ============================================================
   Stargane — The Read (blog) shared styles
   Mirrors the homepage design system (Castoro serif, navy, Inter).
   One stylesheet for the blog index + every post.
   ============================================================ */

:root{
  --c-bg:#fff; --c-ink:#07111f; --c-ink-2:#0d1b2c;
  --c-copy:#2a2f37; --c-copy-2:#515761; --c-muted:#8a8f98;
  --c-line:#e6e8ec; --c-line-2:#d6d9df; --c-surface:#f5f6f7; --c-surface-2:#eef0f2; --c-err:#b80000;
  --on-dark-1:#fff; --on-dark-2:rgba(255,255,255,.70); --on-dark-3:rgba(255,255,255,.48); --on-dark-line:rgba(255,255,255,.14);
  --f-display:'Castoro','Times New Roman',serif;
  --f-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --f-mark:'Castoro','Times New Roman',serif;
  --maxw:1200px; --gutter:48px; --navh:74px;
  --measure:720px;
  --ease:cubic-bezier(.19,1,.22,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--c-bg);color:var(--c-copy);font-family:var(--f-sans);font-size:16px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
::selection{background:var(--c-ink);color:#fff;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}

/* ---------- NAV (cloned from homepage) ---------- */
.nav{position:sticky;top:0;z-index:60;background:var(--c-ink);}
.nav.scrolled{box-shadow:0 1px 0 rgba(255,255,255,.08);}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);height:var(--navh);display:flex;align-items:center;}
.nav .brand{font-family:var(--f-mark);font-weight:400;font-size:23px;color:#fff;letter-spacing:.01em;margin-right:46px;flex-shrink:0;}
.nav .menu{display:flex;align-items:center;gap:30px;margin-left:auto;}
.nav .menu a{position:relative;font-family:var(--f-sans);font-size:13.5px;font-weight:500;color:var(--on-dark-2);transition:color .2s;padding:4px 0;}
.nav .menu a:hover,.nav .menu a.active{color:#fff;}
.nav .menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:#fff;}
.nav-phone{font-family:var(--f-sans);font-size:14px;color:var(--on-dark-2);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;margin-left:30px;margin-right:18px;transition:color .18s;}
.nav-phone:hover{color:#fff;}
.nav-book{font-family:var(--f-sans);font-size:13.5px;font-weight:500;color:var(--on-dark-2);white-space:nowrap;margin-right:18px;transition:color .2s;}
.nav-book:hover{color:#fff;}
.nav .btn-cta{font-family:var(--f-sans);font-size:13.5px;font-weight:500;color:var(--c-ink);background:#fff;border:1.5px solid #fff;border-radius:4px;padding:10px 20px;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s;}
.nav .btn-cta:hover{background:transparent;color:#fff;}

/* ---------- Breadcrumb ---------- */
.crumb{max-width:var(--measure);margin:0 auto;font-family:var(--f-sans);font-size:12.5px;color:var(--c-muted);letter-spacing:.01em;}
.crumb a{color:var(--c-copy-2);transition:color .18s;}
.crumb a:hover{color:var(--c-ink);}
.crumb span{margin:0 8px;color:var(--c-line-2);}

/* Post wrapper provides the page gutter; inner blocks center on --measure */
.post-wrap{padding:30px var(--gutter) 100px;}

/* ---------- Shared buttons ---------- */
.btn{font-family:var(--f-sans);font-weight:500;font-size:15px;border-radius:4px;padding:14px 28px;line-height:1;cursor:pointer;border:1.5px solid transparent;display:inline-flex;align-items:center;gap:8px;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease);}
.btn-primary{background:var(--c-ink);color:#fff;border-color:var(--c-ink);}
.btn-primary:hover{background:#fff;color:var(--c-ink);border-color:var(--c-ink);}
.btn-outline{background:transparent;color:var(--c-ink);border-color:var(--c-line-2);}
.btn-outline:hover{background:var(--c-ink);color:#fff;border-color:var(--c-ink);}
.eyebrow{font-family:var(--f-sans);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--c-muted);display:inline-block;}

/* ============================================================
   ARTICLE / POST
   ============================================================ */
.post{max-width:var(--measure);margin:0 auto;}
.post-header{padding:22px 0 36px;margin-bottom:40px;border-bottom:1px solid var(--c-line);}
.post-header .eyebrow{margin-bottom:18px;}
.post h1{font-family:var(--f-display);font-weight:400;font-size:clamp(33px,4.6vw,46px);line-height:1.1;letter-spacing:-.012em;color:var(--c-ink);margin:0 0 20px;}
.post .dek{font-size:20px;line-height:1.5;color:var(--c-copy-2);margin:0 0 30px;font-weight:400;}
.byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.byline .avatar{width:42px;height:42px;border-radius:50%;background:var(--c-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:16px;overflow:hidden;flex-shrink:0;}
.byline .avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.byline .who{font-family:var(--f-sans);}
.byline .who a{font-size:14px;font-weight:600;color:var(--c-ink);}
.byline .who a:hover{text-decoration:underline;}
.byline .meta{font-size:12.5px;color:var(--c-muted);margin-top:2px;}

/* ---------- Prose ---------- */
.prose{font-size:17.5px;line-height:1.72;color:var(--c-copy);}
.prose > p{margin:0 0 22px;}
.prose h2{font-family:var(--f-display);font-weight:400;font-size:29px;line-height:1.2;letter-spacing:-.008em;color:var(--c-ink);margin:52px 0 16px;}
.prose h3{font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1.25;color:var(--c-ink);margin:36px 0 12px;}
.prose a.cite,.prose a.inline{color:var(--c-ink);font-weight:500;border-bottom:1px solid var(--c-line-2);transition:border-color .2s;}
.prose a.cite:hover,.prose a.inline:hover{border-bottom-color:var(--c-ink);}
.prose strong{font-weight:600;color:var(--c-ink);}
.prose em{font-style:italic;}
.prose ul,.prose ol{margin:0 0 22px;padding:0;list-style:none;}
.prose ul li,.prose ol li{position:relative;padding:6px 0 6px 28px;line-height:1.6;}
.prose ul li::before{content:"";position:absolute;left:0;top:16px;width:14px;height:1px;background:var(--c-ink);}
.prose ol{counter-reset:n;}
.prose ol li{counter-increment:n;}
.prose ol li::before{content:counter(n);position:absolute;left:0;top:6px;font-family:var(--f-sans);font-size:12px;font-weight:700;color:var(--c-muted);}
.prose blockquote{margin:30px 0;padding:4px 0 4px 26px;border-left:2px solid var(--c-ink);font-family:var(--f-display);font-size:22px;line-height:1.4;color:var(--c-ink);font-style:normal;}
.prose blockquote cite{display:block;margin-top:12px;font-family:var(--f-sans);font-size:13px;font-style:normal;color:var(--c-muted);}
.prose figure{margin:34px 0;}
.prose figure img{width:100%;border-radius:12px;border:1px solid var(--c-line);}
.prose figcaption{font-family:var(--f-sans);font-size:12.5px;color:var(--c-muted);margin-top:10px;text-align:center;}
.prose hr{border:0;border-top:1px solid var(--c-line);margin:44px 0;}

/* Answer capsule (the 40-60 word lead under an H2 — GEO extractable) */
.prose .answer{font-size:18px;line-height:1.6;color:var(--c-ink);background:var(--c-surface);border-left:3px solid var(--c-ink);border-radius:0 10px 10px 0;padding:18px 22px;margin:0 0 24px;}

/* Callout / note */
.prose .callout{background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px;padding:24px 26px;margin:30px 0;}
.prose .callout p:last-child{margin-bottom:0;}
.prose .callout .label{font-family:var(--f-sans);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);display:block;margin-bottom:10px;}

/* Pull stat */
.prose .stat{margin:34px 0;padding:26px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);}
.prose .stat .num{font-family:var(--f-display);font-size:44px;line-height:1;color:var(--c-ink);letter-spacing:-.01em;}
.prose .stat .cap{font-family:var(--f-sans);font-size:14px;color:var(--c-copy-2);margin-top:10px;max-width:52ch;}

/* Key facts table */
.prose .facts{width:100%;border-collapse:collapse;margin:28px 0;font-family:var(--f-sans);font-size:15px;}
.prose .facts th,.prose .facts td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--c-line);vertical-align:top;}
.prose .facts th{font-weight:600;color:var(--c-ink);background:var(--c-surface);}
.prose .facts td:first-child{font-weight:500;color:var(--c-ink);}

/* ---------- FAQ ---------- */
.faq{max-width:var(--measure);margin:64px auto 0;padding:44px 0 0;border-top:1px solid var(--c-line);}
.faq h2{font-family:var(--f-display);font-weight:400;font-size:28px;color:var(--c-ink);margin:0 0 8px;letter-spacing:-.008em;}
.faq .faq-sub{font-family:var(--f-sans);font-size:14px;color:var(--c-muted);margin:0 0 28px;}
.faq-item{padding:22px 0;border-bottom:1px solid var(--c-line);}
.faq-item h3{font-family:var(--f-sans);font-weight:600;font-size:17px;color:var(--c-ink);margin:0 0 8px;line-height:1.4;}
.faq-item p{margin:0;color:var(--c-copy);font-size:16px;line-height:1.65;}
.faq-item p + p{margin-top:12px;}

/* ---------- CTA card ---------- */
.cta{max-width:var(--measure);margin:64px auto 0;background:var(--c-ink);color:#fff;border-radius:16px;padding:44px 46px;}
.cta h2{font-family:var(--f-display);font-weight:400;font-size:27px;line-height:1.18;color:#fff;margin:0 0 12px;letter-spacing:-.008em;}
.cta p{font-family:var(--f-sans);font-size:16px;line-height:1.6;color:var(--on-dark-2);margin:0 0 26px;max-width:54ch;}
.cta-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.cta .btn-primary{background:#fff;color:var(--c-ink);border-color:#fff;}
.cta .btn-primary:hover{background:transparent;color:#fff;border-color:#fff;}
.cta .btn-ghost{background:transparent;color:#fff;border:1.5px solid var(--on-dark-line);padding:14px 26px;border-radius:4px;font-family:var(--f-sans);font-weight:500;font-size:15px;transition:border-color .2s,background .2s;}
.cta .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);}
.cta .cta-call{font-family:var(--f-sans);font-size:13.5px;color:var(--on-dark-3);margin-top:18px;}
.cta .cta-call a{color:var(--on-dark-2);}
.cta .cta-call a:hover{color:#fff;}

/* ---------- Author box ---------- */
.authorbox{max-width:var(--measure);margin:56px auto 0;display:flex;gap:22px;align-items:flex-start;padding:30px;border:1px solid var(--c-line);border-radius:14px;background:var(--c-surface);}
.authorbox .avatar{width:74px;height:74px;border-radius:12px;background:var(--c-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:24px;flex-shrink:0;overflow:hidden;}
.authorbox .avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.authorbox h3{margin:0 0 3px;font-family:var(--f-display);font-weight:400;font-size:20px;color:var(--c-ink);}
.authorbox .role{font-family:var(--f-sans);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);margin:0 0 10px;}
.authorbox p{font-family:var(--f-sans);font-size:14.5px;line-height:1.6;color:var(--c-copy-2);margin:0;}
.authorbox a{color:var(--c-ink);font-weight:500;border-bottom:1px solid var(--c-line-2);}

/* ---------- Related ---------- */
.related{max-width:var(--measure);margin:64px auto 0;padding:44px 0 0;border-top:1px solid var(--c-line);}
.related .eyebrow{margin-bottom:22px;}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--c-line);border:1px solid var(--c-line);border-radius:12px;overflow:hidden;}
.related-card{background:#fff;padding:24px 26px;transition:background .25s;}
.related-card:hover{background:var(--c-surface);}
.related-card .rc-cluster{font-family:var(--f-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);}
.related-card h3{font-family:var(--f-display);font-weight:400;font-size:19px;line-height:1.28;color:var(--c-ink);margin:8px 0 0;letter-spacing:-.005em;}

/* ---------- Disclaimer ---------- */
.disclaimer{max-width:var(--measure);margin:48px auto 0;font-family:var(--f-sans);font-size:12.5px;line-height:1.7;color:var(--c-muted);border-top:1px solid var(--c-line);padding-top:22px;}

/* ============================================================
   BLOG INDEX  ("The Read")
   ============================================================ */
.read-hero{border-bottom:1px solid var(--c-line);}
.read-hero .wrap{padding-top:64px;padding-bottom:52px;}
.read-hero .eyebrow{margin-bottom:18px;}
.read-hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(38px,5vw,58px);line-height:1.06;letter-spacing:-.015em;color:var(--c-ink);margin:0 0 18px;max-width:16ch;}
.read-hero p{font-family:var(--f-sans);font-size:19px;line-height:1.55;color:var(--c-copy-2);max-width:60ch;margin:0;}

.filters{display:flex;flex-wrap:wrap;gap:10px;padding:30px 0 0;}
.filters button{font-family:var(--f-sans);font-size:13.5px;color:var(--c-copy-2);background:#fff;border:1.5px solid var(--c-line-2);border-radius:100px;padding:8px 16px;line-height:1;cursor:pointer;transition:all .16s;}
.filters button:hover{border-color:var(--c-ink);color:var(--c-ink);}
.filters button.active{background:var(--c-ink);color:#fff;border-color:var(--c-ink);}

.read-list{padding:46px 0 100px;}
.read-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px 30px;}
.read-item{display:flex;flex-direction:column;border-top:2px solid var(--c-ink);padding-top:20px;}
.read-item .ri-cluster{font-family:var(--f-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);}
.read-item h2{font-family:var(--f-display);font-weight:400;font-size:23px;line-height:1.24;color:var(--c-ink);margin:12px 0 12px;letter-spacing:-.006em;transition:color .2s;}
.read-item:hover h2{color:var(--c-copy-2);}
.read-item p{font-family:var(--f-sans);font-size:14.5px;line-height:1.55;color:var(--c-copy-2);margin:0 0 16px;}
.read-item .ri-meta{margin-top:auto;font-family:var(--f-sans);font-size:12px;color:var(--c-muted);}
.read-empty{font-family:var(--f-sans);color:var(--c-muted);padding:40px 0;}

/* Featured first item spans wide */
.read-grid .read-item.feat{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;border-top:2px solid var(--c-ink);}
.read-grid .read-item.feat h2{font-size:34px;margin-top:14px;}
.read-grid .read-item.feat p{font-size:16px;}

/* ============================================================
   FOOTER (cloned from homepage)
   ============================================================ */
.footer{background:var(--c-ink);color:#fff;padding:80px 0 44px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--on-dark-line);}
.footer .brand{font-family:var(--f-mark);font-weight:400;font-size:24px;color:#fff;margin:0 0 14px;}
.footer .pos{font-family:var(--f-sans);font-size:13.5px;color:var(--on-dark-2);line-height:1.6;max-width:34ch;}
.footer h4{font-family:var(--f-sans);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--on-dark-3);margin:0 0 16px;}
.footer ul{list-style:none;margin:0;padding:0;}
.footer li{margin-bottom:11px;}
.footer li a{font-family:var(--f-sans);font-size:14px;color:var(--on-dark-2);}
.footer li a:hover{color:#fff;}
.footer .legal{font-family:var(--f-sans);font-size:12px;color:var(--on-dark-3);line-height:1.8;margin-top:28px;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){:root{--gutter:24px;}.read-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:860px){
  .read-grid{grid-template-columns:1fr 1fr;}
  .read-grid .read-item.feat{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .related-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  :root{--gutter:22px;}
  .nav-phone,.nav-book{display:none;}
  .post{padding-bottom:64px;}
  .prose{font-size:17px;}
  .prose h2{font-size:25px;margin-top:42px;}
  .cta{padding:32px 26px;}
  .authorbox{flex-direction:column;gap:16px;}
}
@media(max-width:560px){
  .nav .menu{gap:18px;}
  .read-grid{grid-template-columns:1fr;}
  .read-grid .read-item.feat h2{font-size:27px;}
  .footer-grid{grid-template-columns:1fr;}
  .cta-actions{flex-direction:column;align-items:stretch;}
  .cta-actions .btn,.cta-actions .btn-ghost{justify-content:center;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
