/* dodobe learn — article & hub styles (reuses v2 tokens defined in site.css) */

/* Sticky footer: the learn hub is short, so without this the footer would sit
   right under the cards with empty space below it on tall screens. Make the
   body a min-height column and let <main> grow to push the footer down. */
html { height: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; }
.hub-wrap, .post-wrap { flex: 1 0 auto; }
footer { flex-shrink: 0; }

.post-wrap{max-width:780px;margin:0 auto;padding:96px 20px 64px}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-2);margin-bottom:22px;flex-wrap:wrap}
.breadcrumb a{color:var(--text-2);text-decoration:none}
.breadcrumb a:hover{color:var(--text)}
.breadcrumb .sep{opacity:.5}
.post-cat{display:inline-block;font-size:12px;font-weight:600;color:var(--cyan);background:rgba(15,198,194,.1);border:1px solid rgba(15,198,194,.25);padding:4px 12px;border-radius:999px;margin-bottom:14px}
.post-head h1{font-family:'Manrope',sans-serif;font-size:36px;line-height:1.25;margin:0 0 16px;color:var(--text)}
.post-meta{display:flex;align-items:center;gap:12px;color:var(--text-2);font-size:13px;margin-bottom:28px;flex-wrap:wrap}
.post-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-3)}
.post-body{font-size:16px;line-height:1.8;color:var(--text)}
.post-body h2{font-family:'Manrope',sans-serif;font-size:24px;margin:38px 0 14px;color:var(--text);scroll-margin-top:90px}
.post-body h3{font-size:19px;margin:28px 0 10px;color:var(--text)}
.post-body p{margin:0 0 18px;color:#d6dbe6}
.post-body ul,.post-body ol{margin:0 0 18px;padding-left:22px;color:#d6dbe6}
.post-body li{margin:0 0 8px}
.post-body a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(15,198,194,.35)}
.post-body a:hover{color:#fff;border-color:#fff}
.post-body strong{color:var(--text);font-weight:600}
.post-body blockquote{border-left:3px solid var(--blue);background:rgba(22,93,255,.08);padding:14px 18px;margin:0 0 20px;border-radius:0 10px 10px 0;color:var(--text-2);font-size:14.5px}
.post-body hr{border:none;border-top:1px solid var(--border);margin:28px 0}
.author-box{display:flex;gap:14px;align-items:center;margin:40px 0 8px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.author-box .ava{width:46px;height:46px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:700;font-family:'Manrope',sans-serif;flex:none;font-size:16px}
.author-box .nm{color:var(--text);font-weight:600}
.author-box .rl{color:var(--text-2);font-size:13px}
.disclaimer{margin:14px 0 8px;font-size:13px;color:var(--text-3);line-height:1.7}
.related{margin-top:48px}
.related h3{font-size:18px;color:var(--text);margin:0 0 16px}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rel-card{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;transition:.2s}
.rel-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.rel-card .rc-cat{font-size:12px;color:var(--cyan)}
.rel-card .rc-t{color:var(--text);font-weight:600;margin:8px 0 6px;font-size:15.5px;line-height:1.35}
.rel-card .rc-d{color:var(--text-2);font-size:13px;line-height:1.6}

/* hub */
.hub-wrap{max-width:1080px;margin:0 auto;padding:96px 20px 64px}
.hub-head{max-width:680px;margin-bottom:36px}
.hub-head .post-cat{margin-bottom:14px}
.hub-head h1{font-family:'Manrope',sans-serif;font-size:40px;line-height:1.2;margin:0 0 14px;color:var(--text)}
.hub-head p{color:var(--text-2);font-size:16px;line-height:1.7;margin:0}
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.hub-card{display:flex;flex-direction:column;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;transition:.2s;min-height:200px}
.hub-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}
.hub-card .hc-cat{font-size:12px;color:var(--cyan);font-weight:600}
.hub-card .hc-t{font-family:'Manrope',sans-serif;font-size:21px;color:var(--text);margin:12px 0 10px;line-height:1.3}
.hub-card .hc-d{color:var(--text-2);font-size:14px;line-height:1.65;flex:1}
.hub-card .hc-meta{margin-top:16px;font-size:12.5px;color:var(--text-3);display:flex;gap:10px;align-items:center}
.hub-card .hc-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-3)}

/* mobile nav dropdown styles live in site.css (shared with the main site). */
@media(max-width:760px){
  .post-head h1{font-size:28px}
  .rel-grid,.hub-grid{grid-template-columns:1fr}
  .hub-head h1{font-size:30px}
  .post-wrap,.hub-wrap{padding-top:84px}
}
