/* Lightweight editorial blog — deliberately distinct from the hub design system.
   System serif headings + system sans body, warm paper, single column. */
:root{
  --paper:#FBFAF7; --paper-2:#F3EFE8; --ink:#1C1B18; --muted:#6C6860; --faint:#928D83;
  --rule:#E7E2D8; --accent:#4F46E5; --accent-ink:#3730A3;
  --maxw:720px;
  --serif:"Iowan Old Style",Georgia,Cambria,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
a:hover{color:var(--accent);}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:22px;}

/* header */
.b-head{border-bottom:1px solid var(--rule);background:var(--paper);}
.b-head .wrap{display:flex;align-items:baseline;justify-content:space-between;padding-block:20px;}
.b-brand{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em;}
.b-brand:hover{color:var(--ink);}
.b-nav a{font-family:var(--sans);font-size:.92rem;color:var(--muted);text-decoration:none;margin-left:20px;}
.b-nav a:hover{color:var(--accent-ink);}

/* home masthead */
.b-mast{padding:54px 0 30px;border-bottom:1px solid var(--rule);}
.b-mast h1{font-family:var(--serif);font-size:clamp(2rem,1.4rem+2.4vw,2.9rem);line-height:1.1;margin:0 0 .35em;letter-spacing:-.015em;}
.b-mast p{font-size:1.15rem;color:var(--muted);margin:0;max-width:48ch;}

/* post list */
.b-list{padding:14px 0 40px;}
.b-item{padding:26px 0;border-bottom:1px solid var(--rule);}
.b-item:last-child{border-bottom:0;}
.b-item .date{font-size:.82rem;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;}
.b-item h2{font-family:var(--serif);font-size:1.55rem;line-height:1.2;margin:.25em 0 .3em;letter-spacing:-.01em;}
.b-item h2 a{color:var(--ink);text-decoration:none;}
.b-item h2 a:hover{color:var(--accent-ink);}
.b-item .dek{color:var(--muted);margin:0;}
.b-item .more{display:inline-block;margin-top:.6rem;font-size:.9rem;color:var(--accent-ink);text-decoration:none;}
.b-item .more:hover{text-decoration:underline;}

/* article */
.b-article{padding:48px 0 24px;}
.b-article .kicker{font-size:.82rem;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.6em;}
.b-article h1{font-family:var(--serif);font-size:clamp(2rem,1.5rem+2vw,2.7rem);line-height:1.12;margin:0 0 .35em;letter-spacing:-.015em;}
.b-article .dek{font-size:1.2rem;color:var(--muted);margin:0 0 1.2em;line-height:1.5;}
.b-meta{display:flex;gap:14px;align-items:center;padding-block:14px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:2em;font-size:.92rem;color:var(--muted);}
.b-meta img{width:38px;height:38px;border-radius:50%;}
.b-meta b{color:var(--ink);font-weight:600;}
.b-body{font-size:1.08rem;}
.b-body h2{font-family:var(--serif);font-size:1.55rem;margin:1.8em 0 .4em;line-height:1.25;letter-spacing:-.01em;}
.b-body h3{font-family:var(--serif);font-size:1.22rem;margin:1.5em 0 .3em;}
.b-body p{margin:0 0 1.1em;}
.b-body ul,.b-body ol{margin:0 0 1.1em;padding-left:1.3em;}
.b-body li{margin:.35em 0;}
.b-body blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--accent);
  color:var(--muted);font-style:italic;}
.b-body strong{color:var(--ink);}

/* author note + footer */
.b-byline-end{display:flex;gap:14px;align-items:flex-start;margin:2.4em 0 0;padding:20px;
  background:var(--paper-2);border-radius:12px;}
.b-byline-end img{width:52px;height:52px;border-radius:50%;flex-shrink:0;}
.b-byline-end .nm{font-weight:700;font-family:var(--serif);}
.b-byline-end p{margin:.2em 0 0;font-size:.95rem;color:var(--muted);}
.b-back{display:inline-block;margin:28px 0;font-size:.92rem;color:var(--accent-ink);text-decoration:none;}
.b-foot{border-top:1px solid var(--rule);padding:34px 0;margin-top:40px;color:var(--faint);font-size:.88rem;}
.b-foot .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;}
.b-foot a{color:var(--muted);text-decoration:none;}
.b-foot a:hover{color:var(--accent-ink);}
.b-legal-main{max-width:var(--maxw);}
.b-legal-main h1{font-family:var(--serif);}

/* logo mark + cookie banner */
.b-brand{display:inline-flex;align-items:center;gap:10px;}
.logo-mark{flex:0 0 auto;border-radius:8px;}
.ck-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:720px;margin-inline:auto;
  background:var(--paper);border:1px solid var(--rule);border-radius:14px;box-shadow:0 12px 34px rgba(20,18,10,.14);
  padding:14px 18px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:60;}
.ck-banner p{margin:0;font-size:.9rem;color:var(--muted);}
.ck-actions{display:flex;gap:8px;flex-shrink:0;}
.ck-btn{font:inherit;font-size:.86rem;font-weight:600;padding:.5em 1.05em;border-radius:9px;cursor:pointer;border:1px solid var(--rule);background:#fff;color:var(--ink);}
.ck-accept{background:var(--accent);color:#fff;border-color:var(--accent);}
.ck-ghost{background:transparent;}

/* referral CTA banner */
.ref-cta{margin:2em 0;border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:14px;background:var(--paper-2);}
.ref-cta-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;flex-wrap:wrap;}
.ref-cta-txt{max-width:60ch;}
.ref-cta-txt strong{display:block;font-family:var(--serif);font-size:1.18rem;margin-bottom:.2em;}
.ref-cta-txt span{color:var(--muted);font-size:.95rem;}
.ref-cta-btn{flex:0 0 auto;background:var(--accent);color:#fff;font-weight:600;font-size:.95rem;padding:.72em 1.35em;border-radius:10px;white-space:nowrap;text-decoration:none;cursor:pointer;}
.ref-cta-btn:hover{background:var(--accent-ink);text-decoration:none;color:#fff;}

/* post cover image + list thumbnails */
.b-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin:.4em 0 1.6em;background:var(--paper-2);}
.b-item.has-thumb{display:flex;gap:22px;align-items:flex-start;}
.b-thumb{flex:0 0 210px;display:block;border-radius:12px;overflow:hidden;background:var(--paper-2);}
.b-thumb img{width:210px;height:136px;object-fit:cover;display:block;transition:transform .3s var(--ease,ease);}
.b-thumb:hover img{transform:scale(1.04);}
.b-item-txt{flex:1;min-width:0;}
@media (max-width:560px){ .b-item.has-thumb{flex-direction:column;gap:12px;} .b-thumb{flex:none;width:100%;} .b-thumb img{width:100%;height:190px;} }
