/* Briefnote: ExecHealth Notes
   Tokens: cool office paper, graphite ink, moss accent, one highlighter. */
@font-face{font-family:"Bricolage";src:url(../fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Source Serif";src:url(../fonts/sourceserif-roman.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif";src:url(../fonts/sourceserif-ital.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap}

:root{
	--paper:#F2F4EF;
	--sheet:#FFFFFF;
	--ink:#1C2321;
	--graphite:#4F5B56;
	--moss:#2F5D46;
	--moss-wash:#E2EAE0;
	--marker:#E4EE5E;
	--rule:#CDD3CA;
	--display:"Bricolage","Arial Narrow",system-ui,sans-serif;
	--text:"Source Serif",Georgia,"Times New Roman",serif;
	--gutter:16px;
	--measure:41rem;
	--wide:72rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--text);font-optical-sizing:auto;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--ink);background:linear-gradient(transparent 58%,var(--marker) 58%)}
:focus-visible{outline:3px solid var(--moss);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:var(--gutter)}
h1,h2,h3{font-family:var(--display);font-stretch:84%;color:var(--ink);letter-spacing:-.012em;line-height:1.08}

/* Highlighter swipe: the one loud thing */
.swipe{background:linear-gradient(100deg,transparent 0 1%,var(--marker) 2% 97%,transparent 99%) no-repeat 0 72%/100% 46%;color:inherit;padding:0 .08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

.eyebrow{font:600 .78rem/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin:0 0 .7rem}

/* ---------- masthead ---------- */
.masthead{background:var(--paper);border-bottom:2px solid var(--ink)}
.masthead__inner{max-width:var(--wide);margin:0 auto;padding:14px var(--gutter) 0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"mark seek" "topics topics";align-items:center;gap:10px 16px}
.masthead__inner>*{min-width:0}
.wordmark{grid-area:mark;display:inline-flex;align-items:baseline;gap:.28em;text-decoration:none;color:var(--ink);font-family:var(--display);line-height:1;margin:0}
.wordmark:hover{background:none;color:var(--ink)}
.wordmark__exec{font-weight:800;font-stretch:78%;font-size:1.6rem;letter-spacing:-.02em}
.wordmark__notes{font-family:var(--text);font-style:italic;font-weight:500;font-size:1.35rem;color:var(--moss);position:relative}
.wordmark__notes::after{content:"";position:absolute;left:-.1em;right:-.1em;bottom:.08em;height:.32em;background:var(--marker);z-index:-1}
.wordmark--small .wordmark__exec{font-size:1.3rem}
.wordmark--small .wordmark__notes{font-size:1.1rem}

.topics{grid-area:topics;min-width:0;margin:0 calc(var(--gutter) * -1);overflow-x:auto;scrollbar-width:none}
.topics::-webkit-scrollbar{display:none}
.topics__list{list-style:none;margin:0;padding:0 var(--gutter);display:flex;gap:4px;white-space:nowrap}
.topics__list a{display:block;padding:.55rem .7rem .6rem;font:600 .86rem/1 var(--display);color:var(--ink);text-decoration:none;border-bottom:3px solid transparent}
.topics__list a:hover{background:none;border-bottom-color:var(--marker)}
.topics__list .current-menu-item a,.topics__list .current-post-ancestor a,.topics__list .current-category-ancestor a{border-bottom-color:var(--moss)}

.seek{display:flex;align-items:center;gap:6px}
.seek__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.seek__field{font:400 .95rem/1.2 var(--text);width:8.5rem;padding:.48rem .6rem;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);border-radius:3px}
.seek__field:focus{border-color:var(--moss);outline:none;box-shadow:0 0 0 3px var(--moss-wash)}
.seek__go{font:600 .85rem/1 var(--display);padding:.6rem .8rem;background:var(--ink);color:#fff;border:0;border-radius:3px;cursor:pointer}
.seek__go:hover{background:var(--moss)}
.masthead .seek{grid-area:seek}
.masthead .seek__go{display:none}
.seek--block{max-width:30rem;margin:1rem 0}
.seek--block .seek__field{flex:1;width:auto;font-size:1rem;padding:.65rem .75rem}
.seek--block .seek__go{display:block}

.sheet{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter) 3rem}

/* ---------- the slot (reading time as a calendar block) ---------- */
.slot{display:inline-flex;align-items:stretch;height:1.7rem;border:1px solid var(--ink);border-radius:3px;background:var(--sheet);font:600 .78rem/1 var(--display);color:var(--ink);white-space:nowrap;overflow:hidden;vertical-align:middle}
.slot__bar{width:6px;background:repeating-linear-gradient(135deg,var(--moss) 0 3px,var(--moss-wash) 3px 5px)}
.slot__time{display:flex;align-items:center;padding:0 .55rem}

.filed{font:700 .76rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--moss);text-decoration:none}
.filed:hover{color:var(--ink)}

/* ---------- home: opening ---------- */
.opening{display:grid;gap:2rem;padding:2rem 0 2.5rem;border-bottom:1px solid var(--rule)}
.opening__title{font-size:clamp(2.15rem,8.4vw,3.6rem);font-weight:780;margin:0 0 1rem;max-width:15ch}
.opening__lede{font-size:1.1rem;color:var(--graphite);max-width:36rem;margin:0 0 1rem}
.opening__links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0;font:600 .92rem/1.4 var(--display)}
.lead-note{background:var(--sheet);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--rule);padding:12px 12px 18px}
.lead-note__img{display:block;border:1px solid var(--rule)}
.lead-note__img:hover{background:none}
.lead-note__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin:1rem 4px .6rem}
.lead-note__flag{font:700 .72rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;background:var(--marker);padding:.35rem .45rem}
.lead-note__title{font-size:1.55rem;font-weight:720;margin:0 4px .5rem}
.lead-note__title a{color:var(--ink);text-decoration:none}
.lead-note__dek{margin:0 4px;color:var(--graphite);font-size:1rem}

/* ---------- docket (lists) ---------- */
.docket{padding:2.2rem 0 0}
.docket__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem 1rem;border-bottom:2px solid var(--ink);padding-bottom:.5rem;margin-bottom:.2rem}
.docket__title{font-size:1.5rem;font-weight:760;margin:0}
.docket--after .docket__title,.lost + .docket .docket__title{border-bottom:2px solid var(--ink);padding-bottom:.5rem;margin-bottom:.2rem}
.docket__note{margin:0;font-size:.9rem;color:var(--graphite);font-style:italic}
.docket-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"meta time" "body body";gap:.45rem 1rem;padding:1.15rem 0 1.25rem;border-bottom:1px solid var(--rule)}
.docket-row__meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .8rem;font-size:.86rem;color:var(--graphite)}
.docket-row__time{grid-area:time;justify-self:end}
.docket-row__body{grid-area:body}
.docket-row__title{font-size:1.32rem;font-weight:700;margin:0 0 .35rem}
.docket-row__title a{color:var(--ink);text-decoration:none}
.docket-row__title a:hover{background:linear-gradient(transparent 60%,var(--marker) 60%)}
.docket-row__dek{margin:0;color:var(--graphite);font-size:1rem;max-width:44rem}
.empty{padding:1.5rem 0;color:var(--graphite)}

.nav-links{display:flex;flex-wrap:wrap;gap:.4rem;padding:1.6rem 0 0;font:600 .9rem/1 var(--display)}
.nav-links .page-numbers{padding:.6rem .8rem;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);text-decoration:none;border-radius:3px}
.nav-links .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- topic shelf ---------- */
.shelf{padding:2.8rem 0 0}
.shelf__title{font-size:1.5rem;font-weight:760;margin:0 0 1rem;border-bottom:2px solid var(--ink);padding-bottom:.5rem}
.shelf__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.shelf__item a{display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;padding:.9rem .8rem;background:var(--sheet);border:1px solid var(--rule);border-radius:3px;color:var(--ink);text-decoration:none;height:100%}
.shelf__item a:hover{border-color:var(--ink);background:var(--sheet)}
.shelf__item .motif{grid-row:1 / 3;width:2rem;height:2rem;color:var(--moss)}
.shelf__name{font:700 .98rem/1.15 var(--display)}
.shelf__count{font-size:.82rem;color:var(--graphite)}

/* ---------- topic / search header ---------- */
.topic-head{padding:1.6rem 0 .4rem}
.topic-head__row{display:flex;align-items:center;gap:1rem}
.topic-head .motif{width:3.2rem;height:3.2rem;color:var(--moss);flex:none}
.topic-head__title{font-size:clamp(2rem,7vw,3rem);font-weight:780;margin:0}
.topic-head__desc{color:var(--graphite);max-width:40rem}
.topic-head .eyebrow{margin-bottom:.35rem}

.trail ol{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.2rem;font:500 .84rem/1.4 var(--display);color:var(--graphite)}
.trail li+li::before{content:"/";margin:0 .4rem;color:var(--rule)}
.trail a{color:var(--graphite)}

/* ---------- single memo ---------- */
.memo{max-width:52rem;margin:0 auto}
.memo__head{padding:1.6rem 0 1.4rem;max-width:var(--measure);margin:0 auto}
.memo__filed{margin:0 0 .7rem}
.memo__title{font-size:clamp(2rem,7.6vw,3.1rem);font-weight:780;margin:0 0 .9rem}
.memo__dek{font-size:1.18rem;line-height:1.5;color:var(--graphite);margin:0 0 1.1rem}
.memo__byline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;font:500 .88rem/1.3 var(--display);color:var(--graphite);border-top:1px solid var(--rule);padding-top:.9rem;margin:0}
.memo__byline a{color:var(--ink)}
.memo__cover{max-width:var(--measure);margin:0 auto 2.4rem;border:1px solid var(--ink);background:var(--sheet)}
.memo__cover img{width:100%}
.memo--page .memo__head{border-bottom:2px solid var(--ink);margin-bottom:1.8rem}

.prose{max-width:var(--measure);margin:0 auto;font-size:1.125rem;line-height:1.7}
.prose p,.prose ul,.prose ol{margin:0 0 1.15em}
.prose h2{font-size:1.65rem;font-weight:740;margin:2.1em 0 .6em}
.prose h3{font-size:1.28rem;font-weight:700;margin:1.7em 0 .5em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--moss)}
.prose strong{font-weight:650}

/* Key points: the briefing card at the top of every note */
.brief-points{position:relative;background:var(--sheet);border:1px solid var(--ink);padding:1.7rem 1.15rem .4rem 1.15rem;margin:0 0 2.2rem;box-shadow:6px 6px 0 var(--moss-wash)}
.prose .brief-points__label{position:absolute;top:-.85rem;left:.9rem;margin:0;font:700 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;background:var(--marker);color:var(--ink);padding:.45rem .6rem;border:1px solid var(--ink)}
.prose .brief-points ul{list-style:none;padding:0;margin:0}
.prose .brief-points li{position:relative;padding:0 0 .9rem 1.6rem;margin:0;font-size:1.05rem;line-height:1.5}
.brief-points li::before{content:"";position:absolute;left:0;top:.52em;width:.8rem;height:2px;background:var(--moss)}
.brief-points li+li{border-top:1px dashed var(--rule);padding-top:.9rem}
.brief-points li+li::before{top:calc(.9rem + .52em)}

/* When to see a doctor */
.doc-flag{background:var(--moss-wash);border-left:5px solid var(--moss);padding:.2rem 1.1rem .4rem;margin:2.4rem 0 0;border-radius:0 3px 3px 0}
.prose .doc-flag h2{margin:1rem 0 .6rem;font-size:1.4rem}

.memo__foot{max-width:var(--measure);margin:2.4rem auto 0}
.memo__caveat{font-size:.92rem;line-height:1.55;color:var(--graphite);border-top:2px solid var(--ink);padding-top:1rem;margin:0}

.docket--after{max-width:52rem;margin:1.5rem auto 0}

/* ---------- 404 ---------- */
.lost{padding:3rem 0 1rem;max-width:40rem}
.lost__title{font-size:clamp(2.2rem,8vw,3.4rem);font-weight:780;margin:0 0 .8rem}
.lost__text{color:var(--graphite);font-size:1.1rem}

/* ---------- colophon ---------- */
.colophon{background:var(--ink);color:#E9EDE7;margin-top:3rem}
.colophon__inner{max-width:var(--wide);margin:0 auto;padding:2.4rem var(--gutter) 2rem;display:grid;gap:1.4rem}
.colophon a{color:#fff}
.colophon a:hover{color:var(--ink)}
.colophon .wordmark{color:#fff}
.colophon .wordmark__notes{color:var(--marker)}
.colophon .wordmark__notes::after{display:none}
.colophon__tag{margin:.4rem 0 0;color:#C6CEC8;font-size:.95rem}
.colophon__caveat{margin:0;font-size:.92rem;line-height:1.55;color:#D5DBD6;max-width:44rem;border-left:3px solid var(--marker);padding-left:.9rem}
.colophon__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;font:600 .92rem/1.6 var(--display)}
.colophon .seek--block{margin:0}
.colophon .seek__field{border-color:#55615C}
.colophon .seek__go{background:var(--marker);color:var(--ink)}
.colophon .seek__go:hover{background:#fff}
.colophon__small{margin:0;font-size:.82rem;color:#AEB8B1}

/* ---------- larger screens ---------- */
@media (min-width:640px){
	:root{--gutter:28px}
	.shelf__grid{grid-template-columns:repeat(3,1fr)}
	.docket-row{grid-template-columns:9.5rem 1fr auto;grid-template-areas:"meta body time";align-items:start;padding:1.35rem 0}
	.docket-row__meta{flex-direction:column;align-items:flex-start;gap:.45rem;padding-top:.3rem}
	.brief-points{padding:1.9rem 1.6rem .5rem}
	.colophon__inner{grid-template-columns:1fr 1.4fr}
	.colophon__nav,.colophon .seek--block{grid-column:1 / -1}
}
@media (min-width:900px){
	.masthead__inner{grid-template-columns:auto 1fr auto;grid-template-areas:"mark topics seek";padding-top:0;gap:28px}
	.topics{margin:0;overflow:visible}
	.topics__list{padding:0;justify-content:flex-start}
	.topics__list a{padding:1.45rem .6rem 1.3rem}
	.seek__field{width:11rem}
	.masthead .seek__go{display:block}
	.opening{grid-template-columns:1.05fr 1fr;align-items:center;gap:3.5rem;padding:3.5rem 0 3.2rem}
	.shelf__grid{grid-template-columns:repeat(4,1fr)}
	.docket--after{margin-left:auto}
	.colophon__inner{grid-template-columns:1fr 1.4fr 1fr}
	.colophon__nav{grid-column:auto}
	.colophon .seek--block{grid-column:1 / 3}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.masthead,.colophon,.docket--after,.memo__cover{display:none}body{background:#fff}}
.topic-head + .docket--solo{border-top:2px solid var(--ink);margin-top:1.4rem;padding-top:0}
body{display:flex;flex-direction:column;min-height:100vh}.sheet{flex:1 0 auto;width:100%}.masthead,.colophon{flex:none}
