/* Success by Rx blog archive — Productivity Stacks brand (white ground, charcoal text, sky blue + purple accents) */
:root{
  --bg:#ffffff; --ink:#4d4d4d; --ink-strong:#2f3136; --soft:#6f7378; --faint:#9a9ea4;
  --line:#e6e8eb; --tint:#f5f9fb;
  --sky:#00afef; --sky-text:#0079a8; --purple:#c457ff; --purple-text:#8a2fc2;
  --grad:linear-gradient(135deg,#00afef,#c457ff);
  --head:"Nunito","Century Gothic","Trebuchet MS",sans-serif;
  --body:"Lato","Open Sans","Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}
img{max-width:100%;height:auto}
a{color:var(--sky-text);text-underline-offset:3px}
a:hover{color:var(--purple-text)}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:3px}
.wrap{max-width:1160px;margin:0 auto;padding-inline:20px}
.bar{height:5px;background:var(--grad)}
.kicker{font-family:var(--head);font-weight:800;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-text);margin:0 0 8px}
h1,h2,h3{font-family:var(--head);color:var(--ink-strong);text-wrap:balance}

/* header */
header.site{border-bottom:1px solid var(--line)}
.head{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-block:16px}
.home{display:flex;flex-direction:column;text-decoration:none;line-height:1.15}
.sbx{font-family:var(--head);font-weight:800;font-size:22px;color:var(--ink-strong)}
.arch{font-size:13px;color:var(--soft)}
header nav{display:flex;flex-wrap:wrap;gap:4px 18px}
header nav a{font-family:var(--head);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;padding-block:4px;border-bottom:2px solid transparent}
header nav a:hover{color:var(--ink-strong);border-bottom-color:var(--sky)}

/* layout: content + always-visible newsletter sidebar */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.content{min-width:0}
.side{position:sticky;top:24px;padding-block:40px 24px}
.side-box{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg);box-shadow:0 6px 24px #1f2a3a14}
.side-box::before{content:"";display:block;height:5px;background:var(--grad)}
.side-box .kicker,.side-box h2,.side-box > p:not(.fine-print){padding-inline:20px}
.side-box .kicker{margin:18px 0 6px;font-size:11.5px}
.side-box .kicker,.side-box h2,.signup-inline .kicker,.signup-inline h2{text-align:center}
.side-box h2{font-size:21px;line-height:1.25;font-weight:800;margin:0}
.side-box > p:not(.fine-print):not(.kicker){font-size:14.5px;line-height:1.5;color:var(--soft);margin:0 0 4px}
.signup-form{background:#fff;min-width:0}
iframe.beehiiv-embed{max-width:100%;margin-inline:auto}
.fine-print{font-size:12.5px;color:var(--faint);text-align:center;margin:0;padding:0 16px 16px}
.coach-box{margin-top:16px;padding:18px 20px 20px;border-radius:16px;background:var(--tint);text-align:center}
.coach-box .kicker{margin:0 0 6px;font-size:11.5px}
.coach-box h2{font-size:18px;line-height:1.3;font-weight:800;margin:0 0 6px}
.coach-box p:not(.kicker){font-size:14px;line-height:1.5;color:var(--soft);margin:0 0 14px}
.coach-box .btn{display:block;padding:10px 14px;font-size:15px;background:var(--ink-strong)}
.coach-box .btn:hover{background:#1c1e22}
header nav a.nav-coach{color:var(--sky-text)}
.signup-inline,.coach-inline{display:none}
.mbar{display:none}

/* intro */
.intro{padding-block:44px 24px}
.intro.slim{padding-block:40px 20px;padding-inline:0}
.intro h1{font-size:clamp(30px,4.6vw,46px);font-weight:800;line-height:1.1;margin:0 0 14px;max-width:20ch}
.lede{font-size:19px;color:var(--soft);max-width:62ch;margin:0 0 20px}
.catlinks{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}
.catlinks a{display:inline-flex;gap:8px;align-items:center;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;text-decoration:none;color:var(--ink-strong);font-family:var(--head);font-weight:700;font-size:15px}
.catlinks a:hover{border-color:var(--sky)}
.catlinks b{font-variant-numeric:tabular-nums;color:var(--sky-text)}
.sec{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin:36px 0 16px;display:flex;align-items:center;gap:14px}
.sec::after{content:"";flex:1;height:1px;background:var(--line)}

/* cards */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.card{display:flex;flex-direction:column;gap:12px;min-width:0}
.thumb{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:var(--tint)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.card:hover .thumb img{transform:scale(1.03)}
.card h3{font-size:19px;line-height:1.3;margin:0 0 6px;font-weight:800}
.card h3 a{color:var(--ink-strong);text-decoration:none}
.card h3 a:hover{color:var(--sky-text)}
.meta{font-size:13px;color:var(--faint);margin:0 0 4px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.meta a{color:var(--sky-text);text-decoration:none;font-weight:700}
.ex{font-size:15px;color:var(--soft);margin:0;line-height:1.55}

/* index list */
.index{list-style:none;padding:0;margin:0 0 56px;border-top:1px solid var(--line)}
.index li{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.index time{font-size:13px;color:var(--faint);font-variant-numeric:tabular-nums}
.index a{color:var(--ink-strong);text-decoration:none;font-weight:700}
.index a:hover{color:var(--sky-text)}
.index .c{font-size:12.5px;color:var(--faint)}

/* post */
.post{max-width:720px;padding-block:40px 8px}
.post-head h1{font-size:clamp(28px,4.4vw,42px);line-height:1.15;font-weight:800;margin:6px 0 12px}
.note{font-size:14px;color:var(--soft);background:var(--tint);border-left:3px solid var(--sky);padding:8px 12px;border-radius:0 6px 6px 0;margin:0 0 26px}
.hero{margin:0 0 28px}
.hero img{width:100%;border-radius:12px;display:block}
.prose{font-size:18px;line-height:1.75;overflow-wrap:break-word}
.prose p{margin:0 0 1.1em}
.prose h2,.prose h3,.prose h4{line-height:1.25;margin:1.6em 0 .5em}
.prose h2{font-size:26px} .prose h3{font-size:22px} .prose h4{font-size:19px}
.prose ul,.prose ol{padding-left:1.4em;margin:0 0 1.1em}
.prose li{margin:.35em 0}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--purple);color:var(--ink-strong);font-style:italic}
.prose img{border-radius:8px;display:block;margin:1.2em auto}
.prose .wp-caption{max-width:100%!important;margin:1.4em auto}
.prose .wp-caption-text{font-size:14px;color:var(--faint);text-align:center;margin-top:6px}
.prose table{display:block;overflow-x:auto;border-collapse:collapse;font-size:15px}
.prose td,.prose th{border:1px solid var(--line);padding:6px 10px}
.prose .aligncenter{margin-inline:auto;text-align:center}

/* prev/next + related */
.pn{max-width:720px;margin:40px 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pn a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink-strong);font-weight:700;font-family:var(--head);line-height:1.3;min-width:0}
.pn a:hover{border-color:var(--sky)}
.pn span{font-family:var(--body);font-weight:400;font-size:12.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.pn .newer{text-align:right}
.related{margin-bottom:56px}

.btn{display:inline-block;background:var(--sky);color:#fff;text-decoration:none;font-family:var(--head);font-weight:800;padding:12px 22px;border-radius:10px}
.btn:hover{color:#fff;background:#0098d1}

/* footer */
footer.site{border-top:1px solid var(--line);background:var(--tint);margin-top:40px}
.foot{padding-block:32px 40px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 32px;align-items:start}
.pslogo img{display:block;height:50px;width:auto}
.foot p{margin:0;font-size:15px;max-width:70ch}
.foot .fine{grid-column:2;font-size:13px;color:var(--faint)}

/* keep the whole sidebar on screen on shorter laptop screens */
@media (min-width:1024px) and (max-height:899px){
  .side{padding-top:24px}
  .coach-box p:not(.kicker){display:none}
}
@media (min-width:1024px) and (max-height:679px){
  .side{position:static}
}
@media (max-width:1023px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .side{display:none}
  .post,.pn{max-width:none}
  .coach-inline{display:block;margin:0 0 8px}
  .coach-inline .coach-box{margin-top:16px}
  .signup-inline{display:block;margin:48px 0 8px;padding:24px 20px 4px;border-radius:16px;background:var(--tint);scroll-margin-top:16px}
  .signup-inline h2{font-size:22px;line-height:1.25;font-weight:800;margin:0 0 6px}
  .signup-inline > p:not(.fine-print):not(.kicker){color:var(--soft);font-size:15px;margin:0 0 12px}
  .signup-inline .signup-form{border-radius:12px}
  .signup-inline .signup-form iframe{height:350px!important}
  .signup-inline .fine-print{padding-top:10px}
  .mbar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--ink-strong);color:#fff;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)) 16px;box-shadow:0 -4px 20px #0000002a;transition:transform .25s}
  .mbar[hidden]{display:none}
  .mbar.away{transform:translateY(110%)}
  .mbar span{display:flex;flex-direction:column;line-height:1.2;margin-right:auto;min-width:0}
  .mbar b{font-family:var(--head);font-size:15px}
  .mbar small{font-size:12px;color:#c9cdd3}
  .mbar-btn{background:var(--sky);color:#fff;text-decoration:none;font-family:var(--head);font-weight:800;font-size:15px;padding:9px 16px;border-radius:9px;white-space:nowrap}
  .mbar-btn:hover{color:#fff}
  .mbar-x{background:none;border:0;color:#c9cdd3;font-size:24px;line-height:1;padding:4px 6px;cursor:pointer}
  footer.site{padding-bottom:72px}
}
@media (max-width:560px){
  body{font-size:16px}
  .grid{grid-template-columns:1fr}
  .index li{grid-template-columns:minmax(0,1fr);gap:2px}
  .index .c{display:none}
  .prose{font-size:17px}
  .pn{grid-template-columns:1fr}
  .pn .newer{text-align:left}
  .foot{grid-template-columns:1fr}
  .foot .fine{grid-column:1}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
