/*
Theme Name: Instaccom
Description: Theme for Instaccom, African business stories. Home page, blog and podcast.
Version: 1.1
Author: Instaccom
Text Domain: instaccom
License: GNU General Public License v2 or later
*/

:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
  --bg:#F3F5F7; --surface:#FFFFFF; --ink:#12163A; --muted:#4F5575; --line:#D9DDE7;
  --gold:#F2B632; --gold-ink:#12163A; --red:#C8372D; --band:#12163A; --band-ink:#F3F5F7;
  --display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --text:"Newsreader",Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0E1130; --surface:#171B45; --ink:#EEF0F7; --muted:#A9AFCB; --line:#2B3066;
    --gold:#F2B632; --gold-ink:#12163A; --red:#FF6A5C; --band:#F2B632; --band-ink:#12163A;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E1130; --surface:#171B45; --ink:#EEF0F7; --muted:#A9AFCB; --line:#2B3066;
  --gold:#F2B632; --gold-ink:#12163A; --red:#FF6A5C; --band:#F2B632; --band-ink:#12163A;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:19px;line-height:1.6}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);line-height:1.05;margin:0;letter-spacing:-.02em}
p{margin:0 0 1em}

header.top{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.logo{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.03em;text-decoration:none}
.logo i{font-style:normal;color:var(--gold);background:var(--ink);padding:0 .12em;margin-right:.05em;border-radius:3px}
nav{display:flex;gap:22px;font-family:var(--display);font-weight:500;font-size:16px}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--gold);text-decoration-thickness:3px}

.hero{padding:56px 0 72px}
.hero h1{font-weight:800;font-size:clamp(44px,9vw,104px);max-width:12ch}
.hero h1 span{display:block}
.hero h1 .strike{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:.07em}
.hero p.lede{font-size:clamp(20px,2.4vw,25px);max-width:34em;margin:32px 0 32px;color:var(--muted)}
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btn{font-family:var(--display);font-weight:700;font-size:17px;padding:14px 24px;border-radius:999px;text-decoration:none;border:2px solid var(--ink);display:inline-block}
.btn.primary{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.btn:hover{transform:translateY(-2px)}

.band{background:var(--band);color:var(--band-ink);overflow:hidden;padding:18px 0;font-family:var(--display);font-weight:700;font-size:clamp(20px,3vw,30px);white-space:nowrap}
.band .track{display:inline-block;padding-left:100%;animation:run 38s linear infinite}
.band b{margin:0 .8em;opacity:.45;font-weight:500}
@keyframes run{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.band .track{animation:none;padding-left:0;white-space:normal}.btn:hover{transform:none}html{scroll-behavior:auto}}

section{padding:80px 0}
section h2{font-size:clamp(32px,5vw,54px);max-width:16ch;margin-bottom:18px}
.sub{color:var(--muted);max-width:36em;margin-bottom:44px}

.progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:0;border-top:2px solid var(--ink)}
.prog{padding:28px 28px 28px 0;border-bottom:1px solid var(--line)}
.prog h3{font-size:25px;margin-bottom:8px}
.prog p{color:var(--muted);margin:0;font-size:18px}
.prog .tag{display:inline-block;font-family:var(--display);font-weight:700;font-size:13px;background:var(--gold);color:var(--gold-ink);padding:2px 10px;border-radius:999px;margin-bottom:12px}
.prog.future .tag{background:transparent;border:1.5px solid var(--muted);color:var(--muted)}

.stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.story{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px;display:flex;flex-direction:column;min-height:200px}
.story h3{font-size:23px;margin-bottom:10px}
.story p{font-size:17px;color:var(--muted);margin:0}
.story .meta{margin-top:auto;padding-top:18px;font-family:var(--display);font-weight:700;font-size:14px;color:var(--red)}

.tagline{background:var(--band);color:var(--band-ink)}
.tagline blockquote{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(30px,5.5vw,64px);line-height:1.08;letter-spacing:-.025em;max-width:18ch}

.about{display:grid;grid-template-columns:1fr;gap:36px}
@media (min-width:820px){.about{grid-template-columns:1.1fr 1fr;gap:64px}}
.about .note{border-left:5px solid var(--gold);padding-left:24px;font-style:italic;font-size:21px}
.about .note small{display:block;font-style:normal;font-family:var(--display);font-weight:700;font-size:15px;margin-top:14px;color:var(--muted)}

.cta{text-align:left}
.cta h2{max-width:14ch}
footer{border-top:1px solid var(--line);padding:28px 0 40px;font-family:var(--display);font-size:15px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
.hero{display:flex;flex-direction:column}
.hero-art{order:5;margin-top:44px}
.hero-art svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:10px}
.hero-art .g{fill:var(--gold)}.hero-art .i{fill:var(--ink)}.hero-art .r{fill:var(--red)}.hero-art .s{fill:var(--surface)}
@media (min-width:900px){.hero{display:grid;grid-template-columns:1.25fr 1fr;column-gap:48px;align-items:center}.hero>*:not(.hero-art){grid-column:1}.hero-art{grid-column:2;grid-row:1/span 3;order:0;margin:0}}
.cov{width:100%;height:auto;display:block;border-radius:4px;margin-bottom:18px}
.post{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:0 24px 24px;display:flex;flex-direction:column;min-height:220px}
.post::before{content:"";display:block;height:12px;margin:0 -24px 20px;background:repeating-linear-gradient(90deg,#F2B632 0 24px,#12163A 24px 48px,#C8372D 48px 72px)}
.post h3{font-size:23px;margin-bottom:10px}.post p{font-size:17px;color:var(--muted);margin:0}
.post .meta{margin-top:auto;padding-top:18px;font-family:var(--display);font-weight:700;font-size:14px;color:var(--red)}
.pod{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media (min-width:820px){.pod{grid-template-columns:1fr 1fr;gap:64px}}
.pod svg{width:100%;height:auto;display:block;border-radius:10px}
@media (max-width:640px){header.top{flex-wrap:wrap;gap:10px}nav{gap:16px;font-size:15px;flex-wrap:wrap}}

.top nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
@media (max-width:640px){.top nav ul{gap:16px}}
.post.has-thumb::before{display:none}
.post.has-thumb{padding-top:0}
.post .thumb{display:block;margin:0 -24px 20px}
.post .thumb img{width:100%;height:190px;object-fit:cover;display:block;border-radius:5px 5px 0 0}
.post h3 a{text-decoration:none}
.post h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:4px}
.page-head{padding:48px 0 8px}
.page-head h1{font-size:clamp(36px,6vw,64px)}
.entry{max-width:700px;margin:0 auto;padding:16px 0 80px}
.entry h2{font-size:32px;margin:1.6em 0 .5em;max-width:none}
.entry h3{font-size:25px;margin:1.4em 0 .4em}
.entry img,.entry iframe,.entry video{max-width:100%;height:auto}
.entry a{text-decoration-color:var(--gold);text-underline-offset:3px;text-decoration-thickness:2px}
.entry blockquote{border-left:5px solid var(--gold);margin:1.5em 0;padding-left:20px;font-style:italic}
.postmeta{font-family:var(--display);font-weight:700;font-size:14px;color:var(--red);margin:12px 0 28px}
.entry .feat img{width:100%;border-radius:6px;margin-bottom:28px}
.navigation.pagination .nav-links{display:flex;gap:14px;font-family:var(--display);font-weight:700;padding:30px 0 60px}
.screen-reader-text{position:absolute;left:-9999px}
