/* Shared theme for the redesigned site: homepage, /learning, /blog */
:root{
  --paper:#f5f8fa; --p2:#e9f0f4; --ink:#15333f; --soft:#587284;
  --line:#d8e3ea; --accent:#3f7c9e; --accent-bright:#669bbc;
  --on-accent:#ffffff; --adim:#669bbc22;
  --coral:#c1666b; --coral-dim:#c1666b22;
  --teal:#3f8f78; --teal-dim:#3f8f7822;
  --purple:#8266b8; --purple-dim:#8266b822;
  --amber:#c98a3e; --amber-dim:#c98a3e22;
  --font-d:'Space Grotesk',system-ui,sans-serif;
  --font-b:'Newsreader',Georgia,serif;
  --font-m:'JetBrains Mono',ui-monospace,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--paper:#0f1a20;--p2:#172831;--ink:#e8eef2;--soft:#94a9b5;--line:#243a45;--accent:#7fb0cc;--accent-bright:#8cbdd8;--on-accent:#0f1a20;--adim:#669bbc2e;
  --coral:#e08a8f;--coral-dim:#e08a8f2e;--teal:#5cb89c;--teal-dim:#5cb89c2e;--purple:#a68ed9;--purple-dim:#a68ed92e;--amber:#e0ac6b;--amber-dim:#e0ac6b2e;}
}
/* Manual override via the header toggle, independent of OS preference */
:root[data-theme="dark"]{--paper:#0f1a20;--p2:#172831;--ink:#e8eef2;--soft:#94a9b5;--line:#243a45;--accent:#7fb0cc;--accent-bright:#8cbdd8;--on-accent:#0f1a20;--adim:#669bbc2e;
  --coral:#e08a8f;--coral-dim:#e08a8f2e;--teal:#5cb89c;--teal-dim:#5cb89c2e;--purple:#a68ed9;--purple-dim:#a68ed92e;--amber:#e0ac6b;--amber-dim:#e0ac6b2e;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;} *{animation:none!important;transition:none!important;}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-b);font-size:1.1rem;line-height:1.65;-webkit-font-smoothing:antialiased;transition:background-color .15s ease,color .15s ease;}
.wrap{max-width:820px;margin:0 auto;padding:0 1.5rem;}
a{color:var(--accent);text-underline-offset:.15em;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

header.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line);}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;}
.mark{font-family:var(--font-d);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.55rem;}
.mark span{width:9px;height:9px;background:var(--accent-bright);display:inline-block;}
.nav-wrap{display:flex;align-items:center;gap:1.1rem;}
nav.main{display:flex;gap:1.2rem;font-family:var(--font-m);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;}
nav.main a{color:var(--soft);text-decoration:none;}
nav.main a:hover, nav.main a.active{color:var(--accent);}
@media(max-width:680px){nav.main{display:none;}}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--soft);cursor:pointer;padding:0;}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent);}
.theme-toggle svg{width:16px;height:16px;fill:currentColor;}
.theme-toggle .i-sun{display:none;}
.theme-toggle .i-moon{display:block;}
:root[data-theme="dark"] .theme-toggle .i-moon{display:none;}
:root[data-theme="dark"] .theme-toggle .i-sun{display:block;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-toggle .i-moon{display:none;}
  :root:not([data-theme="light"]) .theme-toggle .i-sun{display:block;}
}

.eyebrow{font-family:var(--font-m);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--soft);}
section{padding:3.2rem 0;border-top:1px solid var(--line);}
section h2{font-family:var(--font-d);font-weight:700;font-size:1.5rem;letter-spacing:-.02em;margin:.7rem 0 1.4rem;}
.lead{font-size:1.18rem;max-width:64ch;}

.hero{padding:3.6rem 0 2.6rem;border-top:0;}
.hero h1{font-family:var(--font-d);font-weight:700;font-size:clamp(2rem,6vw,3.1rem);line-height:1.05;letter-spacing:-.035em;margin:.4rem 0 1rem;}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero .sub{font-size:1.25rem;color:var(--soft);max-width:58ch;margin:0 0 1.1rem;}
.now{font-family:var(--font-m);font-size:.8rem;color:var(--soft);margin:0 0 1.3rem;}
.now b{color:var(--ink);font-weight:500;}

/* Smaller hero used on sub-pages like /learning and /blog */
.subhero{padding:3rem 0 2rem;border-top:0;}
.subhero h1{font-family:var(--font-d);font-weight:700;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.1;letter-spacing:-.03em;margin:.4rem 0 .8rem;}
.subhero .sub{font-size:1.15rem;color:var(--soft);max-width:60ch;margin:0;}
.back{font-family:var(--font-m);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--soft);}
.back:hover{color:var(--accent);}

.links{display:flex;flex-wrap:wrap;gap:.6rem;}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-m);font-size:.8rem;text-decoration:none;padding:.55rem .9rem;border-radius:6px;border:1px solid var(--line);color:var(--ink);background:transparent;cursor:pointer;}
.btn:hover{border-color:var(--accent);color:var(--accent);}
.btn.pri{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.btn.pri:hover{color:var(--on-accent);opacity:.9;}
.btn svg{width:15px;height:15px;fill:currentColor;}

.impact-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:2.2rem 0;border-top:1px solid var(--line);}
.impact-band .stat .n{font-family:var(--font-d);font-weight:700;font-size:1.6rem;letter-spacing:-.03em;color:var(--accent);line-height:1.05;}
.impact-band .stat:nth-child(2) .n{color:var(--coral);}
.impact-band .stat:nth-child(3) .n{color:var(--teal);}
.impact-band .stat:nth-child(4) .n{color:var(--purple);}
.impact-band .stat .l{font-size:.86rem;color:var(--soft);margin-top:.45rem;line-height:1.35;}
@media(max-width:680px){.impact-band{grid-template-columns:1fr 1fr;gap:1.4rem 1rem;}}

.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;}
.sec-head h2{margin:.6rem 0 0;}
.more{font-family:var(--font-m);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--accent);white-space:nowrap;}
.more:hover{text-decoration:underline;}

.posts{margin-top:1.5rem;border-top:1px solid var(--line);}
.post{display:grid;grid-template-columns:1fr auto;gap:.35rem 1.2rem;align-items:baseline;padding:1.3rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);}
.post .ptitle{font-family:var(--font-d);font-weight:500;font-size:1.3rem;letter-spacing:-.02em;line-height:1.2;}
.post:hover .ptitle{color:var(--accent);}
.post .pdesc{grid-column:1;color:var(--soft);font-size:1.02rem;}
.post .pmeta{grid-column:2;grid-row:1;font-family:var(--font-m);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);white-space:nowrap;padding-top:.4rem;}
.post .psection{grid-column:1;grid-row:1;color:var(--accent);font-family:var(--font-m);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;}
.post .ptags{grid-column:1;display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem;}
@media(max-width:560px){.post{grid-template-columns:1fr;}.post .pmeta{grid-column:1;grid-row:auto;order:-1;padding-top:0;}.post .psection{order:-2;}}
.blog-cta{margin-top:1.7rem;}
.no-posts{margin-top:1.5rem;color:var(--soft);}

.blog-main{padding-top:1rem;}
.blog-controls{margin-top:.6rem;display:flex;flex-direction:column;gap:.9rem;}
.search-input{width:100%;font-family:var(--font-b);font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:.65rem .9rem;box-sizing:border-box;}
.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--adim);}
.section-filters{display:flex;flex-wrap:wrap;gap:.5rem;}
.section-filter{display:inline-block;font-family:var(--font-m);font-weight:500;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--ink);background:var(--p2);border:1px solid var(--line);padding:.4rem 1rem;border-radius:8px;}
.section-filter:hover{border-color:var(--accent);color:var(--accent);}

.post-group{scroll-margin-top:5rem;margin-top:2rem;}
.post-group:first-of-type{margin-top:1.5rem;}
.post-group h2{margin-bottom:.3rem;}

.tag-filters{display:flex;flex-wrap:wrap;gap:.5rem;}
.tag-filter{font-family:var(--font-m);font-size:.72rem;color:var(--soft);background:transparent;border:1px solid var(--line);padding:.32rem .8rem;border-radius:999px;cursor:pointer;}
.tag-filter:hover{border-color:var(--accent);color:var(--accent);}
.tag-filter.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}

.cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;}
.card{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;padding:1.1rem 1.25rem;background:var(--paper);}
.card h3{font-family:var(--font-d);font-weight:500;font-size:1.08rem;letter-spacing:-.01em;margin:0 0 .4rem;}
.card p{font-size:.98rem;color:var(--soft);margin:0 0 .8rem;line-height:1.5;}
.card .impact{color:var(--accent);font-family:var(--font-m);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:.5rem;}
.card .cert-link{margin-top:.2rem;}
.card.accent-blue{border-left-color:var(--accent);}
.card.accent-blue .impact{color:var(--accent);}
.card.accent-coral{border-left-color:var(--coral);}
.card.accent-coral .impact{color:var(--coral);}
.card.accent-teal{border-left-color:var(--teal);}
.card.accent-teal .impact{color:var(--teal);}
.card.accent-purple{border-left-color:var(--purple);}
.card.accent-purple .impact{color:var(--purple);}
.card.accent-amber{border-left-color:var(--amber);}
.card.accent-amber .impact{color:var(--amber);}
.tags{display:flex;flex-wrap:wrap;gap:.3rem;}
.tag{font-family:var(--font-m);font-size:.68rem;color:var(--soft);border:1px solid var(--line);padding:.12rem .45rem;border-radius:4px;}
@media(max-width:640px){.cards{grid-template-columns:1fr;}}

/* Certificate / learning platform logos */
.logo-row{display:flex;align-items:center;gap:.65rem;margin-bottom:.7rem;}
.cert-logo{width:30px;height:30px;display:inline-block;flex:none;}
.cert-logo-fallback{width:30px;height:30px;border-radius:7px;background:var(--adim);color:var(--accent);font-family:var(--font-d);font-weight:700;font-size:1rem;flex:none;display:none;align-items:center;justify-content:center;}
.cert-logo-fallback.amber{background:var(--amber-dim);color:var(--amber);}
.cert-logo-fallback.purple{background:var(--purple-dim);color:var(--purple);}
.cert-logo-fallback.teal{background:var(--teal-dim);color:var(--teal);}
.logo-row h3{margin:0;}

/* Course lists (learning page) */
.card.wide{grid-column:1 / -1;}
.course-count{font-family:var(--font-m);font-weight:400;font-size:.68rem;color:var(--soft);text-transform:none;letter-spacing:0;margin-left:.4rem;}
.course-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.course-item{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);}
.course-item .c-name{font-size:.94rem;line-height:1.4;}
.course-item .c-name a{color:var(--ink);text-decoration-color:var(--line);}
.course-item .c-name a:hover{color:var(--accent);text-decoration-color:var(--accent);}
.course-item .c-provider{display:block;color:var(--soft);font-size:.82rem;margin-top:.1rem;}
.course-item .c-meta{font-family:var(--font-m);font-size:.68rem;color:var(--soft);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;text-align:right;flex:none;}
.badge-ongoing{display:inline-block;margin-top:.3rem;color:var(--amber);border:1px solid var(--amber);border-radius:4px;padding:.05rem .4rem;font-size:.64rem;font-family:var(--font-m);text-transform:uppercase;letter-spacing:.03em;}

.about p{max-width:64ch;}
.about p + p{margin-top:1.1rem;}

.hl-box{border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:0 8px 8px 0;padding:1.1rem 1.3rem;background:var(--teal-dim);margin-top:1.4rem;}
.hl-box .lbl{font-family:var(--font-m);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);}
.hl-box p{margin:.4rem 0 0;font-size:1.02rem;max-width:64ch;}

.contact{text-align:center;}
.contact h2{margin-bottom:.6rem;}
.contact .sub{font-size:1.18rem;color:var(--soft);max-width:52ch;margin:0 auto 1.4rem;}
.cform{max-width:440px;margin:0 auto;text-align:left;}
.frow{display:flex;gap:.7rem;}
.frow input{flex:1;}
.cform input,.cform textarea{width:100%;font-family:var(--font-b);font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:.6rem .8rem;margin-bottom:.7rem;}
.cform textarea{resize:vertical;}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--adim);}
.cform button.btn{width:100%;justify-content:center;font-size:.85rem;padding:.7rem;}
.cform button:disabled{opacity:.6;cursor:default;}
.cform .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;margin:0;}
.cnote{font-family:var(--font-m);font-size:.72rem;color:var(--soft);text-align:center;margin:.9rem 0 0;line-height:1.5;}

.rte-toolbar{display:flex;gap:.3rem;margin-bottom:.4rem;}
.rte-toolbar button{width:2rem;height:2rem;font-family:var(--font-b);font-size:.95rem;line-height:1;color:var(--soft);background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;}
.rte-toolbar button:hover{border-color:var(--accent);color:var(--accent);}
.rte-toolbar button.active{border-color:var(--accent);color:var(--accent);background:var(--adim);}
.rte-input{width:100%;min-height:6rem;font-family:var(--font-b);font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:.6rem .8rem;margin-bottom:.7rem;overflow-y:auto;}
.rte-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--adim);}
.rte-input:empty:before{content:attr(data-placeholder);color:var(--soft);}
.rte-input ul{margin:.3rem 0;padding-left:1.3rem;}

footer{border-top:1px solid var(--line);padding:2rem 0 3rem;font-family:var(--font-m);font-size:.75rem;color:var(--soft);}
