/* Approved three-identity system. Load after the shared component styles. */
.site-header,.navigation-panel,.menu-toggle{background:var(--family-ink);color:#F7F6F2}
.site-header :is(a,.brand-name,.brand-tagline){color:inherit}
.site-header :focus-visible,.footer-useful :focus-visible{outline-color:#F7F6F2}
main .button:not(.secondary):not(:disabled):not([aria-disabled=true]){background:var(--family-ink);border-color:var(--family-ink);color:#fff}
main .button:not(.secondary):hover:not(:disabled):not([aria-disabled=true]){background:var(--family-hover);border-color:var(--family-hover)}
main .button:not(.secondary):active:not(:disabled):not([aria-disabled=true]){background:var(--family-active);border-color:var(--family-active)}
.player.player-simple{--audio-field:var(--family-field);--audio-ink:var(--family-ink);--audio-hover:var(--family-hover);--audio-active:var(--family-active);--audio-quiet:var(--family-quiet);background:var(--family-field);color:var(--family-ink)}
.player.player-simple :is(.player-brand,.elapsed,.total,.audio-status,.temporary-audio){color:var(--family-ink)}
.section-shapes #weekly,.newsletter-signup{background:var(--family-field);color:var(--family-ink)}
.site-footer.footer-useful{background:var(--family-ink);color:#F7F6F2}
.footer-useful a:active{background:var(--family-hover)}
.footer-useful .footer-support{border-color:var(--family-field)}
.footer-useful .motion-setting input{accent-color:var(--family-field)}
a[data-support=coffee]{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:fit-content;max-width:100%;padding:12px 20px;background:#FFDD00;color:#222222;border:1px solid #FFDD00;border-radius:6px 24px 24px 24px;font-size:15px;font-weight:650;line-height:1.4;text-decoration:none}
a[data-support=coffee]:is(:hover,:active){background:#FFDD00;color:#222222;text-decoration:underline;text-underline-offset:4px}
/* Standalone links are quiet; inline prose retains a persistent affordance. */
:root[data-homepage-family] a{ text-decoration:none }
:root[data-homepage-family] p>a:not(.button,.text-link),:root[data-homepage-family] :is(.prose,.reading-copy) a:not(.button,.text-link){ text-decoration:underline;text-underline-offset:.23em }
:root[data-homepage-family] :is(nav,footer) li>a{ text-decoration:none }
:root[data-homepage-family] a:hover{ text-decoration:underline;text-underline-offset:.23em }
:root[data-homepage-family] .site-header nav a[aria-current]{text-decoration:none;font-weight:650}
:root[data-homepage-family] .site-header nav a:hover{ text-decoration:underline }
:root[data-homepage-family] :is(.episode-action,.text-button,.reply-link,.reply-context button,.transcript summary){text-decoration:none}
:root[data-homepage-family] :is(.text-button,.reply-link,.reply-context button,.transcript summary):hover{ text-decoration:underline }
:root[data-homepage-family] .episode-link:hover .episode-action{ text-decoration:underline }
:root[data-homepage-family] .footer-useful :is(.footer-arrow,[data-support=paypal]){display:inline-flex;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid var(--family-field);border-radius:3px;text-decoration:none;font-size:15px;font-weight:500;line-height:1.4;width:fit-content}
:root[data-homepage-family] .footer-useful :is(.footer-arrow,[data-support=paypal]):hover{background:var(--family-field);color:var(--family-ink);text-decoration:none}
:root[data-homepage-family] .footer-useful :is(.footer-arrow,[data-support=paypal]):active{background:#F7F6F2;color:var(--family-ink)}
.footer-start .footer-arrow{margin-top:12px}
.footer-useful .footer-support nav{gap:12px 24px;align-items:center}
.handbook-header{background:var(--family-ink);color:#F7F6F2}
.handbook-header :is(a,strong,span){color:inherit}
.handbook-header :focus-visible{outline-color:#F7F6F2}
:root[data-homepage-family] body:has(.handbook-layout){background:var(--color-canvas);color:var(--family-ink)}
:root[data-homepage-family] .handbook-layout :is(a,h1,h2,h3){color:var(--family-ink)}
.handbook-layout :is(code,th),body:has(.handbook-layout)>footer{background:var(--family-quiet)}
.handbook-layout main img[src*='episode-sweep/']{max-width:360px}
.family-section-copy{font-size:18px;line-height:1.55;margin-top:22px;max-width:35ch}
.family-episodes .section-lead>.text-link{display:flex;width:fit-content}
.family-episodes .episode-list{display:grid;gap:0}
.family-episodes .episode-link{padding:24px 0;border-bottom:1px solid var(--family-field)}
.family-episodes .episode-link:first-child{padding-top:0}
.family-episodes .episode-link:last-child{padding-bottom:0;border-bottom:0}
.family-episodes .episode-link img{object-fit:cover;aspect-ratio:1;width:112px;height:112px}
.family-episodes .episode-title{font-size:26px}
.family-episodes .episode-action{margin-top:12px}
.family-dialog{max-width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:32px;border:1px solid var(--family-ink);border-radius:3px;background:var(--color-canvas);color:var(--family-ink)}
.family-dialog::backdrop{background:rgb(0 0 0 / .5)}
.family-dialog>form{display:flex;justify-content:flex-end;margin-bottom:24px}
.family-dialog>h2{font-size:36px;margin-bottom:26px}
.family-dialog .article-prose{margin:0;padding:0}
.family-dialog .article-prose h2{font-size:28px}
.family-dialog .preview-context{font-size:15px;margin-top:24px;padding-top:24px;border-top:1px solid var(--family-field)}
html:has(.family-dialog[open]){overflow:hidden}
/* Keep every section join, including the final article-to-footer join, at 3px. */
@media screen{
  :root[data-homepage-family] .home.section-shapes main>section+section,:root[data-homepage-family] .home.section-shapes main+.site-footer{margin-top:3px}
  @supports(mask-image:url('/design/assets/section-edges/solid.svg')){
    :root[data-homepage-family] .home.section-shapes main>section+section,:root[data-homepage-family] .home.section-shapes main+.site-footer{margin-top:calc(3px - var(--edge-depth))}
  }
}
@media(min-width:1001px){
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .site-header nav{gap:18px;font-size:15px}
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .brand-name{font-size:26px}
}
@media(max-width:1000px){
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .brand-name{white-space:normal;max-width:13ch;font-size:25px}
}
@media(max-width:760px){
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .site-header{gap:10px}
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .brand-identity{max-width:100%;gap:9px}
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .brand-name{font-size:22px;max-width:13ch}
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .brand-tagline{font-size:11px;max-width:20ch}
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .is-condensed .brand-name{font-size:20px}
  .family-episodes .episode-list{margin-top:30px}
  .family-episodes .episode-title{font-size:23px}
  .family-episodes .episode-link img{width:88px;height:88px}
  .family-dialog{padding:24px}
  .family-dialog>h2{font-size:30px}
}
@media(max-width:359px){
  [data-homepage-family]:not([data-homepage-family=steven-webb]) .brand-name{font-size:20px}
  .family-episodes .episode-link img{width:64px;height:80px}
  :root[data-homepage-family] .footer-useful .footer-arrow{font-size:14px;padding:10px 12px;gap:8px}
}

.links-disclosure a[data-support=coffee]{margin:12px 0}
