/* Stoic Handbook 1.8: shared controls, practical homepage, focused articles. */
:root { --shb-ink:#1b2538; --shb-paper:#f5efe0; --shb-gold:#785b29; --shb-line:#ded7c8; --border-radius:4px; }
html { scroll-behavior:smooth; }
[hidden] { display:none !important; }
:where(a,button,input,textarea,select,summary,audio):focus-visible { outline:3px solid var(--shb-gold) !important; outline-offset:4px; }
.shb-skip-link { position:fixed; top:8px; left:8px; z-index:10000; padding:12px 18px; background:#fff; color:var(--shb-ink); transform:translateY(-160%); }
.shb-skip-link:focus { transform:translateY(0); }
a { text-underline-offset:3px; }
a:hover { color:#65491d; }
.button, a.button, .kg-button-card a.kg-btn, .head__nav .nav > .nav-free-challenge > a { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; max-width:100%; padding:12px 20px; border:1px solid var(--shb-ink); border-radius:4px; background:var(--shb-ink); color:#fff; font-family:Inter,sans-serif; font-size:16px; font-weight:600; line-height:1.45; text-align:center; white-space:normal; text-decoration:none; box-shadow:none; }
.button:hover, a.button:hover, .kg-button-card a.kg-btn:hover { background:#344055; border-color:#344055; color:#fff; }
a.shb-secondary, button.shb-secondary { background:transparent; color:var(--shb-ink); }
a.shb-secondary:hover, button.shb-secondary:hover { background:var(--shb-ink); color:#fff; }
.nav-trigger { color:var(--shb-ink); }
.nav-trigger:hover, .nav-trigger:focus { background:#ece7da; }
.nav-trigger svg g { fill:currentColor; }
.shb-eyebrow { color:var(--shb-gold); font:600 12px/1.5 Inter,sans-serif; letter-spacing:.1em; text-transform:uppercase; margin:0 0 14px; }
.shb-home { color:var(--shb-ink); }
.shb-home h1,.shb-home h2,.shb-home h3 { letter-spacing:-.025em; font-weight:600; }
.shb-home h2 { font-size:40px; line-height:1.12; margin:0 0 20px; }
.shb-home h3 { font-size:30px; line-height:1.15; margin:0 0 16px; }
.shb-home p { line-height:1.6; }
.shb-home .shb-eyebrow { line-height:1.5; }
.shb-small { font-size:13px; color:#5b5e63; line-height:1.55; }
.shb-text-link { display:inline-block; font-size:15px; line-height:1.6; color:var(--shb-ink); text-decoration:underline; }
.shb-home-section { padding:64px 0; }
.shb-home-intro { padding:0 16px; }
.shb-hero { display:grid; grid-template-columns:1.03fr 1fr; align-items:center; gap:64px; padding-top:54px; padding-bottom:66px; }
.shb-hero h1 { font-size:clamp(42px,4.5vw,60px); line-height:1.02; max-width:15ch; margin:0 0 24px; }
.shb-hero-description { font-size:19px; margin:0 0 26px; max-width: 42ch; }
.shb-hero-copy .shb-small { margin:8px 0 22px; }
.shb-hero-video { margin:0; min-width:0; }
.shb-hero-video lite-youtube { width:100%; border-radius:4px; }
.shb-hero-video figcaption { font-size:13px; color:#555b64; line-height:1.6; margin-top:14px; }
.shb-hero-video figcaption strong { color:var(--shb-ink); }
.shb-hero-video figcaption a { display:block; width:fit-content; margin-top:6px; color:inherit; }
.shb-section-intro { max-width:55ch; color:#555b64; margin:0 0 30px; font-size:17px; }
.shb-finder { scroll-margin-top:90px; }
.shb-finder-layout { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.35fr); gap:42px; }
.shb-finder-choices { display:flex; flex-direction:column; align-self:start; border-top:1px solid var(--shb-line); }
.shb-finder-choices a { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--shb-ink); border-bottom:1px solid var(--shb-line); padding:20px 16px; min-height:64px; text-decoration:none; font-size:16px; line-height:1.45; }
.shb-finder-choices a:hover { background:#f8f5ee; }
.shb-finder-choices a[aria-current="true"] { background:var(--shb-ink); color:#fff; border-color:var(--shb-ink); }
.shb-finder-choices a span { flex-shrink:0; }
.shb-route { background:#f8f5ee; border:1px solid var(--shb-line); padding:32px; margin:0 0 20px; scroll-margin-top:96px; }
.shb-route:last-child { margin-bottom:0; }
.shb-route > p:not(.shb-eyebrow):not(.shb-small) { font-size:17px; margin-bottom:22px; }
.shb-route-guide { display:block; color:var(--shb-ink); font-size:16px; margin:0 0 26px; }
.shb-route .shb-text-link { display:block; margin-top:16px; font-size:13px; }
.shb-route .shb-small { margin:8px 0 0; }
.shb-guides { border-top:1px solid var(--shb-line); }
.shb-section-heading { margin-bottom:28px; }
.shb-section-heading h2 { margin:0; }
.shb-section-heading > a { color:var(--shb-ink); }
.shb-guide-category { color:#575c64; }
.shb-guide-card h3 { font-size:28px; }
.shb-vault-band { background:var(--shb-paper); margin:0 -16px; padding:64px 16px; }
.shb-vault-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.shb-vault-intro > p:not(.shb-eyebrow) { margin:0 0 20px; font-size:17px; }
.shb-vault-intro > .button { margin:12px 0 18px; }
.shb-vault-intro > .shb-text-link { display:block; }
.shb-sample-card { min-width:0; border:1px solid var(--shb-line); background:#fff; border-radius:4px; overflow:hidden; }
.shb-sample-art { display:block; width:100%; height:auto; object-fit:contain; }
.shb-sample-body { padding:28px; }
.shb-sample-body h3 { font-size:32px; }
.shb-practice-preview { scroll-margin-top:96px; }
.shb-practice-preview > p:first-child { font-size:17px; margin:0 0 22px; }
.shb-practice-preview > .shb-small { margin:18px 0 0; }
.shb-printable { border-top:1px solid var(--shb-line); }
.shb-printable summary { cursor:pointer; color:var(--shb-ink); padding:16px 0; font-size:15px; font-weight:600; min-height:48px; }
.shb-practice-sheet { padding:24px; background:#faf8f2; border:1px solid var(--shb-line); }
.shb-practice-sheet h4 { font-size:28px; line-height:1.15; margin:0 0 16px; }
.shb-practice-sheet p { margin-bottom:16px; }
.shb-writing-prompt { margin-top:28px; }
.shb-writing-prompt p { font-size:14px; font-weight:600; }
.shb-writing-lines { height:70px; background:repeating-linear-gradient(transparent 0,transparent 32px,#c9c3b6 33px,transparent 34px); }
.shb-sheet-source,.shb-sheet-source a { color:#626365; font-size:12px; overflow-wrap:anywhere; }
.shb-sheet-source { padding-top:24px; border-top:1px solid var(--shb-line); margin-top:28px; }
.shb-print-trigger { margin-top:16px; }
.shb-listening { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.shb-listening p:not(.shb-eyebrow) { font-size:17px; margin-bottom:20px; }
.shb-episode-list { border-top:1px solid var(--shb-line); }
.shb-episode { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border-bottom:1px solid var(--shb-line); color:var(--shb-ink); font-size:17px; line-height:1.45; text-decoration:none; }
.shb-episode:hover > span:first-child { text-decoration:underline; }
.shb-episode > span:last-child { flex-shrink:0; }
/* Read first; retain the existing author, dates, images and article content. */
.shb-article-header { padding:36px 16px 28px; }
.shb-article-header h1 { font-size:44px; line-height:1.1; margin:0 0 16px; }
.shb-article-header .post-byline { margin:0 0 12px; font-size:14px; }
.shb-article-header .post-byline + div { margin:10px 0 16px; font-size:12px; }
.shb-post-deck { font-family:Inter,sans-serif; font-size:18px; font-weight:400; line-height:1.6; color:#4b515b; margin:0 auto 24px; max-width:60ch; }
.shb-article-header .post-image { display:block; width:100%; max-width:680px; height:auto; margin:24px auto 0; }
.shb-article-header .post-image--small { width:auto; max-height:200px; max-width:100%; }
.shb-reading-tools { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:20px; font-size:13px; color:#555b64; }
.shb-print-article { display:inline-block; padding:8px 0; min-height:44px; margin:0; border:0; border-radius:0; background:transparent; color:var(--shb-ink); font-size:13px; font-weight:500; text-decoration:underline; line-height:1.4; }
.shb-print-article:hover { background:transparent !important; color:var(--shb-ink) !important; }
.post-template article > .container > .post-content { margin-top:32px; }
.post-template article > .container > .post-content > .mt4 { margin-top:24px; }
#shb-print-output { display:none; }
@media (max-width:890px) {
  .shb-hero { gap:32px; }
  .shb-vault-grid,.shb-listening { gap:36px; }
  .shb-finder-layout { gap:24px; }
}
@media (max-width:700px) {
  .shb-home-section { padding:40px 0; }
  .shb-hero { grid-template-columns:1fr; gap:30px; padding-top:28px; padding-bottom:36px; }
  .shb-hero h1 { font-size:44px; max-width:12ch; margin-bottom:18px; }
  .shb-hero-description { font-size:17px; margin-bottom:20px; }
  .shb-hero .button { width:100%; }
  .shb-hero-copy .shb-small { margin-bottom:16px; }
  .shb-home h2 { font-size:34px; }
  .shb-finder-layout,.shb-vault-grid,.shb-listening { grid-template-columns:1fr; gap:24px; }
  .shb-finder-choices { display:grid; grid-template-columns:1fr 1fr; gap:8px; border:0; }
  .shb-finder-choices a { align-items:flex-start; padding:14px 12px; font-size:14px; border:1px solid var(--shb-line); border-radius:3px; min-height:76px; }
  .shb-finder-choices a span { display:none; }
  .shb-route { padding:24px; }
  .shb-route h3 { font-size:28px; }
  .shb-route .button { width:100%; }
  .shb-vault-band { padding:40px 16px; }
  .shb-sample-body { padding:22px; }
  .shb-practice-sheet { padding:18px; }
  .shb-article-header { padding-top:24px; padding-bottom:20px; }
  .shb-article-header .container { text-align:left; }
  .shb-article-header h1 { font-size:36px; margin-top:0; }
  .shb-post-deck { font-size:16px; line-height:1.5; margin:16px 0; }
  .shb-article-header .post-image { max-height:210px; width:100%; height:auto; object-fit:contain; margin-top:20px; }
  .shb-reading-tools { justify-content:flex-start; margin-top:10px; }
  .post-template article > .container > .post-content { margin-top:24px; }
  .shb-section-heading { gap:18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
@media print {
  @page { margin:18mm; }
  html,body { display:block; background:#fff !important; color:#111; padding:0; margin:0; font-size:11pt; }
  .head,.footer,.newsletter-block,.shb-skip-link,.shb-print-article,.shb-reading-tools,.shb-toc,.table-of-contents,iframe,lite-youtube,video,audio,#shb-consent { display:none !important; }
  body.shb-print-practice > * { display:none !important; }
  body.shb-print-practice > #shb-print-output { display:block !important; }
  #shb-print-output { border:0; padding:0; width:100%; background:#fff; }
  #shb-print-output .shb-eyebrow { color:#333; }
  #shb-print-output h4 { font-size:28pt; }
  #shb-print-output p { font-size:12pt; line-height:1.6; }
  #shb-print-output .shb-writing-lines { height:90px; background:none; border-top:1px solid #ccc; border-bottom:1px solid #ccc; }
  #shb-print-output .shb-sheet-source,#shb-print-output .shb-sheet-source a { font-size:9pt; }
  .shb-article-header,.post-header { background:#fff; margin:0; padding:0 0 20px; width:100%; }
  .shb-article-header .post-image { display:none; }
  .main-content,.post-content,.container,.container--narrow { width:100%; max-width:none; }
  .post-content { font-size:11pt; }
  h1,h2,h3,h4 { break-after:avoid; }
  img,figure,blockquote,tr { break-inside:avoid; }
  a { color:#111; }
}

/* 1.9 refinement: clear reading, quiet light and deliberate interaction feedback. */
body { letter-spacing:normal; }
.shb-home h1,.shb-home h2,.shb-home h3 { letter-spacing:-.01em; text-wrap:balance; }
.shb-article-header h1 { letter-spacing:-.01em; text-wrap:balance; }
.shb-practice-sheet h4 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; }
.shb-small,.shb-hero-video figcaption,.shb-reading-tools,.shb-print-article,.shb-route .shb-text-link { font-size:14px; }
.shb-guide-category { font-size:14px; }
.shb-home-intro { background:radial-gradient(ellipse at 80% 15%,#fffaf1 0%,#f5efe0 62%,#f1eadc 100%); }
.shb-hero-video { position:relative; }
.shb-hero-video lite-youtube { border:1px solid rgba(27,37,56,.12); box-shadow:0 12px 32px -24px rgba(27,37,56,.4); }
.shb-section-heading .shb-eyebrow,.shb-vault-intro .shb-eyebrow { display:flex; align-items:center; gap:10px; }
.shb-section-heading .shb-eyebrow::before,.shb-vault-intro .shb-eyebrow::before { content:''; display:block; width:6px; height:16px; flex-shrink:0; background:var(--shb-gold); clip-path:polygon(0 0,100% 0,100% 100%,50% 77%,0 100%); }
.head__logo { flex-shrink:0; }
.head__logo > a { display:inline-flex; align-items:center; min-height:48px; }
.head__logo .logo { display:block; width:218px; max-width:218px; max-height:52px; height:auto; }
@media (min-width:891px) and (max-width:1090px) {
  .head__nav a { margin-left:10px; }
  .head__logo .logo { width:192px; max-width:192px; }
}
@media (max-width:890px) {
  .head__logo { width:auto; }
  .head__nav { flex:1; width:auto; }
  .head__logo .logo { width:204px; max-width:204px; }
}
@media (max-width:360px) {
  .head__logo .logo { width:174px; max-width:174px; }
}
@media (prefers-reduced-motion:no-preference) {
  .button,.kg-button-card a.kg-btn,.shb-finder-choices a { transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease; }
  .button > span[aria-hidden],.shb-text-link > span[aria-hidden],.shb-episode > span:last-child { transition:transform 180ms ease; }
  .shb-guide-card { transition:transform 200ms ease; }
  .shb-guide-card img { transition:box-shadow 200ms ease; }
  .shb-route-enter:not([hidden]) { animation:shb-route-enter 180ms ease-out both; }
  @keyframes shb-route-enter { from { opacity:.35; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .button:hover > span[aria-hidden],.shb-text-link:hover > span[aria-hidden],.shb-episode:hover > span:last-child { transform:translateX(3px); }
  .shb-guide-card:hover { transform:translateY(-2px); }
  .shb-guide-card:hover img { box-shadow:0 8px 18px -12px rgba(27,37,56,.55); }
}
@media print {
  .shb-home-intro { background:#fff; }
  .shb-route-enter:not([hidden]) { animation:none; transform:none; opacity:1; }
}
