/* ------------------------------------------------------------------ *
   Daily Job Scout
   Editorial index layout: centred wordmark, sticky category rail,
   category doors on the front page, a three-up grid below.
   Colour is information: one hue per category, used on small marks only.
 * ------------------------------------------------------------------ */

:root{
  --paper:#fbfbf9;
  --paper-2:#f0f2ee;
  --ink:#13171a;
  --ink-2:#464e53;
  --ink-3:#848d93;
  --rule:#dce0dc;
  --rule-2:#eaeee9;
  --accent:#125a47;
  --accent-2:#1b7d62;
  --accent-soft:#e2efea;

  --serif:Lora,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:Archivo,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --s1:8px; --s2:14px; --s3:22px; --s4:34px; --s5:48px; --s6:66px;
  --wrap:1160px;

  /* one hue per category — used on kickers, chips and rules, never as a wash */
  --c-pay:#1d6b4f;
  --c-hours:#2a5f8f;
  --c-training:#7a4b12;
  --c-job-paths:#6a3f7a;
  --c-remote-work:#0f6670;
  --c-at-work:#8c3b3b;
  --c-paperwork:#3f4a5c;
  --c-gig-work:#9a4a13;
  --cat:var(--accent);
}
[data-cat="pay"]{--cat:var(--c-pay)}
[data-cat="hours"]{--cat:var(--c-hours)}
[data-cat="training"]{--cat:var(--c-training)}
[data-cat="job-paths"]{--cat:var(--c-job-paths)}
[data-cat="remote-work"]{--cat:var(--c-remote-work)}
[data-cat="at-work"]{--cat:var(--c-at-work)}
[data-cat="paperwork"]{--cat:var(--c-paperwork)}
[data-cat="gig-work"]{--cat:var(--c-gig-work)}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:17px;line-height:1.55;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;transition:color .13s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;
}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.014em}
p{margin:0}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:760px}
.link:hover{color:var(--accent-2)}

.skip{
  position:absolute;left:-9999px;top:0;z-index:60;background:var(--accent);color:#fff;
  font-family:var(--sans);font-size:13px;padding:10px 16px;
}
.skip:focus{left:8px;top:8px}

.kicker{
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--cat);
}
.meta{font-family:var(--sans);font-size:12.5px;color:var(--ink-3)}
.dek{color:var(--ink-2);max-width:64ch}

/* image slots hold their space and name the file they are waiting for ---- */
.imgbox{
  background:var(--paper-2);position:relative;border:1px solid var(--rule);overflow:hidden;
}
.imgbox img{width:100%;height:100%;object-fit:cover}
.imgbox::after{
  content:attr(data-file);position:absolute;inset:auto 0 0 0;padding:6px 10px;
  font-family:var(--sans);font-size:10px;letter-spacing:.08em;color:var(--ink-3);
  background:linear-gradient(to top,#f0f2eeee,#f0f2ee00);pointer-events:none;
}
.imgbox.filled::after{content:none}

.sec-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  border-bottom:1.5px solid var(--ink);padding-bottom:9px;margin-bottom:var(--s3);
}
.sec-head h2{
  font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
}
.sec-head a{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--accent)}
.sec-head a:hover{color:var(--accent-2)}

/* header -------------------------------------------------------------- */
.masthead{padding:var(--s5) 0 var(--s3)}
.masthead .wrap{display:flex;align-items:center;gap:var(--s3)}
.masthead .rule{flex:1;height:1px;background:var(--rule)}
.wordmark{font-size:clamp(30px,5vw,46px);line-height:1;letter-spacing:-.03em;white-space:nowrap;font-weight:600}
.wordmark i{font-style:normal;color:var(--accent)}
.tagline{
  text-align:center;font-family:var(--sans);font-size:11px;letter-spacing:.19em;
  text-transform:uppercase;color:var(--ink-3);margin-top:var(--s2);
}

/* nav: a row on desktop, a real menu on phones. The checkbox is the state. */
nav.cats{
  position:sticky;top:0;z-index:20;background:var(--paper);
  border-top:1px solid var(--rule);border-bottom:1.5px solid var(--ink);
}
nav.cats .wrap{position:relative}
.nav-toggle{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.nav-btn{display:none}
.nav-links{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 22px;min-height:46px;
}
.nav-links a{
  display:inline-block;
  font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-2);padding:5px 0;border-bottom:2px solid transparent;
}
.nav-links a:hover{color:var(--accent)}
.nav-links a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}
.nav-links .sep{width:1px;height:14px;background:var(--rule);align-self:center}

/* first fold: category doors ------------------------------------------ */
.opener{padding:var(--s4) 0 0}
.doors{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1.5px solid var(--ink);border-left:1px solid var(--rule);
}
.door{
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:var(--s3);display:flex;flex-direction:column;min-height:250px;background:var(--paper);
  transition:background .13s ease;
}
.door:hover{background:var(--accent-soft)}
.door > .kicker{display:block;margin-bottom:var(--s1)}
.door-top{margin-bottom:var(--s2)}
.door h2{font-size:19px;line-height:1.26;letter-spacing:-.018em}
.door:hover h2{color:var(--accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.door:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}
.door .what{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--ink-2)}
.door .newest{
  margin-top:auto;padding-top:var(--s3);
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);
  font-family:var(--sans);font-size:12.5px;line-height:1.45;color:var(--ink-3);
}
.door .go{font-weight:600;color:var(--accent);white-space:nowrap}
.door .go .arrow{display:inline-block;margin-left:5px;transition:transform .15s ease}
.door:hover .go .arrow{transform:translateX(4px)}

/* the grid ------------------------------------------------------------- */
.feed{padding-top:var(--s6)}
.feed.first{padding-top:var(--s5)}
.feed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5) var(--s4)}
.item{display:flex;flex-direction:column;min-width:0}
.item .imgbox{aspect-ratio:16/10;margin-bottom:var(--s2)}
.item .kicker{display:block;margin-bottom:7px}
.item h3{font-size:21px;line-height:1.22;margin-bottom:var(--s1)}
.item h3 a:hover{color:var(--accent-2)}
.item .dek{font-size:15.5px;line-height:1.5;margin-bottom:var(--s2)}
.item .meta{margin-top:auto}

.more{margin-top:var(--s4);padding:var(--s3) 0;border-top:1px solid var(--rule);text-align:center}
.more a{
  font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--rule);padding:12px 26px;display:inline-block;border-radius:2px;
}
.more a:hover{border-color:var(--accent);background:var(--accent-soft)}

/* topics --------------------------------------------------------------- */
.topics{padding-top:var(--s6)}
.tagcloud{display:flex;flex-wrap:wrap;gap:9px}
.tagcloud a{
  font-family:var(--sans);font-size:13px;color:var(--ink-2);
  border:1px solid var(--rule);padding:7px 13px;border-radius:2px;background:var(--paper);
}
.tagcloud a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.tagcloud a small{color:var(--ink-3);margin-left:6px;font-size:11.5px}

/* picks + about -------------------------------------------------------- */
.base{
  margin-top:var(--s6);padding:var(--s5) 0;background:var(--paper-2);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
}
.base-grid{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:var(--s4)}
.guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.seclist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.secitem{background:var(--paper);padding:var(--s2) var(--s3);display:block;min-width:0}
.secitem:hover{background:var(--accent-soft)}
.secitem b{display:block;font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.018em}
.secitem b .arrow{color:var(--cat);font-family:var(--sans);font-weight:400;font-size:15px;margin-left:6px;display:inline-block;transition:transform .15s ease}
.secitem:hover b{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.secitem:hover b .arrow{transform:translateX(4px)}
.secitem span{display:block;font-family:var(--sans);font-size:12.5px;line-height:1.45;color:var(--ink-2);margin-top:3px}
.guide{
  background:var(--paper);border:1px solid var(--rule);padding:var(--s3);
  display:flex;flex-direction:column;min-width:0;
}
.guide:hover{border-color:var(--accent)}
.guide .kicker{display:block;margin-bottom:var(--s1)}
.guide h3{font-size:19px;line-height:1.24;margin-bottom:var(--s1)}
.guide p.dek{font-family:var(--sans);font-size:13.5px;line-height:1.5;margin-bottom:var(--s2)}
.guide .meta{margin-top:auto;padding-top:var(--s2)}
.about{background:var(--accent-soft);border:1px solid var(--accent);padding:var(--s3);align-self:start}
.about h3{font-size:20px;line-height:1.24;margin-bottom:var(--s1);color:var(--accent)}
.about p{font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--ink-2);margin-bottom:var(--s2)}
.about p:last-child{margin-bottom:0}
.about a{color:var(--accent);font-weight:600;border-bottom:1px solid var(--accent);padding-bottom:1px}
.about a:hover{color:var(--accent-2);border-bottom-color:var(--accent-2)}

/* page heads ----------------------------------------------------------- */
.pagehead{padding:var(--s5) 0 var(--s4);border-bottom:1.5px solid var(--ink);margin-bottom:var(--s4)}
.pagehead .kicker{display:block;margin-bottom:var(--s1)}
.pagehead h1{font-size:clamp(30px,4.4vw,42px);line-height:1.1;letter-spacing:-.024em}
.pagehead p{margin-top:var(--s2);color:var(--ink-2);max-width:62ch}
.pagehead.plain{border-bottom-color:var(--rule)}

.catlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.catlist > li{border:1px solid var(--rule);border-left:3px solid var(--cat);padding:var(--s3);background:var(--paper)}
.catlist > li > a{display:block;margin-bottom:var(--s2)}
.catlist b{display:block;font-size:21px;font-weight:600;letter-spacing:-.02em}
.catlist > li > a:hover b{color:var(--accent-2)}
.catlist span{display:block;font-family:var(--sans);font-size:13.5px;line-height:1.5;color:var(--ink-2);margin-top:5px}
.catlist ul{list-style:none;margin:0;padding:var(--s2) 0 0;border-top:1px solid var(--rule-2)}
.catlist ul li{font-size:15.5px;line-height:1.35;padding:6px 0}
.catlist ul a:hover{color:var(--accent-2)}

/* pagination ----------------------------------------------------------- */
.pager{
  margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--rule);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s2);
  font-family:var(--sans);font-size:12.5px;font-weight:600;
}
.pg-nums{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.pg-nums a,.pg-on{
  min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--rule);border-radius:2px;
}
.pg-nums a:hover{border-color:var(--accent);color:var(--accent)}
.pg-on{background:var(--accent);color:#fff;border-color:var(--accent)}
.pager > a{color:var(--accent)}
.pager > a:hover{color:var(--accent-2)}

/* a post --------------------------------------------------------------- */
.postwrap{max-width:740px;padding-top:var(--s5);padding-bottom:var(--s5)}
.post-head{margin-bottom:var(--s3)}
.post-meta{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s2)}
.chip{
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--cat);border-left:3px solid var(--cat);padding-left:8px;
}
.post-head h1{font-size:clamp(31px,5vw,44px);line-height:1.08;letter-spacing:-.028em}
.post-head .dek{margin-top:var(--s2);font-size:19px;line-height:1.45}
.post .imgbox{aspect-ratio:16/9;margin:var(--s3) 0}

.toc{border:1px solid var(--rule);background:var(--paper-2);padding:var(--s3);margin:var(--s4) 0}
.toc h2{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s2)}
.toc ol{margin:0;padding-left:20px;font-family:var(--sans);font-size:14px;line-height:1.45}
.toc li{padding:4px 0}
.toc a{color:var(--ink-2);overflow-wrap:anywhere}
.toc a:hover{color:var(--accent)}

.post-body{font-size:18px;line-height:1.68;overflow-wrap:anywhere}
.post-body > *{margin-top:var(--s3)}
.post-body > *:first-child{margin-top:0}
.post-body h2{
  font-size:26px;line-height:1.22;letter-spacing:-.02em;margin-top:var(--s5);
  padding-top:var(--s2);border-top:1px solid var(--rule);
}
.post-body h3{font-size:20px;line-height:1.3;margin-top:var(--s4)}
.post-body ul,.post-body ol{padding-left:24px}
.post-body li{margin-top:7px}
.post-body a{color:var(--accent);border-bottom:1px solid var(--accent-soft)}
.post-body a:hover{border-bottom-color:var(--accent)}
.post-body strong{font-weight:600}
.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--paper-2);padding:1px 5px;border-radius:2px}
.post-body blockquote{
  margin:var(--s5) 0;padding:0 0 0 var(--s3);border-left:3px solid var(--cat);
  font-size:22px;line-height:1.38;color:var(--ink);font-style:italic;
}
.post-body blockquote p{margin:0}
.takeaway{
  background:var(--paper-2);border:1px solid var(--rule);border-top:3px solid var(--cat);
  padding:var(--s3);margin:var(--s5) 0;font-family:var(--sans);font-size:15.5px;line-height:1.55;
}
.takeaway p{margin:0}
.takeaway p + p{margin-top:var(--s2)}
.takeaway strong{font-weight:700}

.tagrow{
  margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
}
.tagrow-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}
.tagrow a{font-family:var(--sans);font-size:13px;color:var(--ink-2);border:1px solid var(--rule);padding:6px 12px;border-radius:2px}
.tagrow a:hover{border-color:var(--accent);color:var(--accent)}

.post-note{
  margin-top:var(--s3);font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--ink-3);
  border:1px solid var(--rule);border-left:3px solid var(--rule);padding:var(--s2) var(--s3);
}
.post-note a{color:var(--accent)}

.postnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-top:var(--s5)}
.postnav a{border:1px solid var(--rule);padding:var(--s3);display:block;min-width:0}
.postnav a:hover{border-color:var(--accent)}
.postnav small{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:6px}
.postnav b{font-weight:600;font-size:17px;line-height:1.28}
.postnav a:hover b{color:var(--accent-2)}
.postnav .next{text-align:right}

.relbox{margin-top:var(--s5)}
.relbox h2,.relbox-title{
  font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  border-bottom:1.5px solid var(--ink);padding-bottom:9px;margin-bottom:var(--s3);
}
.relbox ul,.relbox-list{list-style:none;margin:0;padding:0}
.relbox li,.relbox-list li{
  border-bottom:1px solid var(--rule-2);padding:var(--s2) 0;
  display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);
}
.relbox li a,.relbox-list li a{font-size:17px;line-height:1.3}
.relbox li a:hover,.relbox-list li a:hover{color:var(--accent-2)}
.relbox li span,.relbox-list li span{
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--cat);white-space:nowrap;
}
.side-all{
  display:inline-block;margin-top:var(--s3);font-family:var(--sans);font-size:12.5px;
  font-weight:600;color:var(--accent);
}
.side-all:hover{color:var(--accent-2)}

/* static pages --------------------------------------------------------- */
.page{font-size:17px;line-height:1.68;padding-bottom:var(--s5);overflow-wrap:anywhere}
.page > *{margin-top:var(--s3)}
.page > *:first-child{margin-top:0}
.page h2{font-size:24px;line-height:1.24;margin-top:var(--s5);padding-top:var(--s2);border-top:1px solid var(--rule)}
.page h3{font-size:19px;margin-top:var(--s4)}
.page ul,.page ol{padding-left:24px}
.page li{margin-top:7px}
.page a{color:var(--accent);border-bottom:1px solid var(--accent-soft)}
.page a:hover{border-bottom-color:var(--accent)}
.page blockquote{margin:var(--s4) 0;padding-left:var(--s3);border-left:3px solid var(--accent);color:var(--ink-2)}

/* forms ---------------------------------------------------------------- */
.cform{margin-top:var(--s4);font-family:var(--sans)}
.cform-row{margin-bottom:var(--s3)}
.cform-row label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
.cform-row label span{font-weight:400;color:var(--ink-3)}
.cform input[type=text],.cform input[type=email],.cform select,.cform textarea{
  width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--paper);
  border:1px solid var(--rule);border-radius:2px;padding:11px 12px;
}
.cform textarea{resize:vertical}
.cform-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin-bottom:var(--s3)}
.cform-check input{margin-top:3px}
.cform-check a{color:var(--accent)}
.cform-trap{position:absolute;left:-9999px}
.btn{
  font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:2px;
  padding:13px 28px;cursor:pointer;
}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2)}
.cform-note{margin-top:var(--s2);font-size:12.5px;color:var(--ink-3);line-height:1.6}

/* ad slots — labelled, never dressed as editorial ---------------------- */
.adunit{margin:var(--s5) 0;padding:var(--s2) 0;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);text-align:center}
.adunit-label{display:block;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s1)}

/* footer --------------------------------------------------------------- */
/* The page needs a bottom. It gets one in the brand green rather than a dark
   neutral, which is the other site's territory. */
footer{padding:var(--s5) 0 var(--s6);background:var(--accent);color:#e4efea}
main > .wrap:last-child{padding-bottom:var(--s6)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s4)}
footer h3{
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;margin-bottom:var(--s2);color:#fff;
}
footer .foot-mark{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:-.02em;display:block;margin-bottom:var(--s1);text-transform:none;color:#fff}
footer .foot-mark i{font-style:normal;color:#9fd3c2}
footer ul{list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:13.5px}
footer li{padding:5px 0;color:#c9e0d8}
footer li a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.foot-about{font-family:var(--sans);font-size:13.5px;color:#c9e0d8;line-height:1.6;max-width:36ch}
.foot-note{
  margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid #3d7a67;
  font-family:var(--sans);font-size:12px;color:#b5d3c8;line-height:1.65;max-width:92ch;
}
.foot-note a{color:#fff;border-bottom:1px solid #4f8e79}
.foot-note + .foot-note{margin-top:var(--s2);padding-top:0;border-top:0}

/* responsive ------------------------------------------------------------ */
@media (max-width:980px){
  .doors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .base-grid{grid-template-columns:minmax(0,1fr);gap:var(--s4)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:var(--s3) var(--s4)}
  .catlist{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .guides{grid-template-columns:minmax(0,1fr)}
  .seclist{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 16px}

  .masthead{padding:var(--s3) 0 var(--s2)}
  .masthead .rule{display:none}
  .masthead .wrap{justify-content:center}
  .wordmark{font-size:31px}
  .tagline{margin-top:6px;font-size:10.5px;letter-spacing:.16em}

  .nav-btn{display:flex;align-items:center;width:46px;height:50px;margin-left:-11px;cursor:pointer}
  .burger,.burger::before,.burger::after{
    position:absolute;width:22px;height:2px;background:var(--ink);border-radius:2px;
    transition:transform .18s ease,top .18s ease,background .1s ease;
  }
  .burger{position:relative}
  .burger::before,.burger::after{content:"";left:0}
  .burger::before{top:-7px}
  .burger::after{top:7px}
  .nav-toggle:checked ~ .nav-btn .burger{background:transparent}
  .nav-toggle:checked ~ .nav-btn .burger::before{top:0;transform:rotate(45deg)}
  .nav-toggle:checked ~ .nav-btn .burger::after{top:0;transform:rotate(-45deg)}
  .nav-toggle:focus-visible ~ .nav-btn{outline:2px solid var(--accent);outline-offset:-4px}
  .nav-links{display:none}
  .nav-toggle:checked ~ .nav-links{
    display:block;min-height:0;padding-bottom:var(--s1);border-top:1px solid var(--rule-2);
    max-height:72vh;overflow-y:auto;
  }
  .nav-links li{border-bottom:1px solid var(--rule-2)}
  .nav-links li:last-child{border-bottom:0}
  .nav-links li.sep{display:none}
  .nav-links a{display:block;padding:13px 0;font-size:13px;border-bottom:0}
  .nav-links a[aria-current]{border-bottom:0}

  /* Eight doors two-up would run a thousand pixels before the first post, so on
     phones a door is just its name: four short rows, all of it on one screen. */
  .opener{padding-top:var(--s4)}
  .doors{grid-template-columns:minmax(0,1fr)}
  .door{min-height:0;padding:var(--s3) var(--s2)}
  .door .what{display:none}
  .door-top{margin-bottom:var(--s1)}
  .door h2{font-size:19px;line-height:1.25}
  .door .newest{padding-top:var(--s2)}

  .feed{padding-top:var(--s5)}
  .feed-grid{grid-template-columns:minmax(0,1fr);gap:var(--s4)}
  .item .imgbox{aspect-ratio:16/9}
  .item h3{font-size:20px}
  .item .dek{font-size:15px}
  .more a{display:block;padding:14px 20px}

  .topics{padding-top:var(--s5)}
  .base{margin-top:var(--s5);padding:var(--s4) 0}
  .guide{padding:var(--s2) var(--s3)}

  .pagehead{padding:var(--s4) 0 var(--s3);margin-bottom:var(--s3)}
  .postwrap{padding-top:var(--s4)}
  .post-head .dek{font-size:17px}
  .post-body{font-size:17px}
  .post-body blockquote{font-size:19px}
  .postnav{grid-template-columns:minmax(0,1fr)}
  .postnav .next{text-align:left}
  .pager{flex-direction:column;align-items:stretch;text-align:center;gap:var(--s2)}

  footer{padding:var(--s4) 0 var(--s5)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:var(--s3)}
  .foot-grid > :first-child{grid-column:1/-1}
  footer li{padding:7px 0}
  .foot-about{max-width:none}
}
@media (max-width:380px){
  .doors{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
}
@media print{
  nav.cats,.postnav,.relbox,.more,.pager,footer .foot-grid{display:none}
}
