/* article.css — shared styles for guide/article pages (gpu-101, inference-101) */

body{line-height:1.7}
a{color:var(--teal);text-decoration:none} a:hover{text-decoration:underline}
.brand:hover{text-decoration:none}
.org a:hover{text-decoration:none}

/* article header */
.ahead{background:radial-gradient(800px 380px at 88% -16%,var(--embersoft),transparent 58%),radial-gradient(700px 420px at 4% 116%,var(--tealsoft),transparent 60%),var(--paper);border-bottom:1px solid var(--sand);padding:56px 0 44px}
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--ember);font-weight:600;margin-bottom:16px}
.ahead h1{font-family:var(--serif);font-weight:600;font-size:46px;line-height:1.06;letter-spacing:-1px;color:var(--ink);margin:0 0 16px;max-width:840px}
.ahead .dek{font-size:19px;color:var(--tm);max-width:720px;margin:0}
.ameta{margin-top:20px;font-size:13px;color:var(--td);font-family:var(--mono)}
@media(max-width:760px){.ahead h1{font-size:34px}}

/* layout: content + sticky toc */
.layout{display:grid;grid-template-columns:1fr 240px;gap:48px;padding:56px 0 30px;align-items:start}
@media(max-width:920px){.layout{grid-template-columns:1fr}.toc{display:none}}
.toc{position:sticky;top:90px;border-left:1px solid var(--sand);padding-left:20px}
.toc .h{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--td);margin-bottom:12px}
.toc a{display:block;font-size:13.5px;color:var(--tm);font-weight:500;padding:5px 0} .toc a:hover{color:var(--ink);text-decoration:none}

/* article typography */
article{max-width:760px}
article h2{font-family:var(--serif);font-weight:600;font-size:30px;color:var(--ink);letter-spacing:-.4px;margin:48px 0 14px;scroll-margin-top:84px;text-align:left}
article h2:first-child{margin-top:0}
article h3{font-size:19px;color:var(--ink);margin:30px 0 8px}
article p{font-size:17px;color:var(--tx);margin:0 0 18px}
article ul{margin:0 0 18px;padding-left:0;list-style:none}
article li{position:relative;padding:6px 0 6px 28px;font-size:16.5px;color:var(--tx)}
article li::before{content:"";position:absolute;left:4px;top:14px;width:9px;height:9px;border-radius:3px;background:var(--tealsoft);border:1px solid var(--teal)}
article strong{color:var(--ink)}
article code{font-family:var(--mono);font-size:14px;color:var(--teal);background:var(--tealsoft);padding:2px 6px;border-radius:5px}
.lead{font-size:19px;color:var(--tm);border-left:3px solid var(--ember);padding-left:18px;margin:0 0 28px}

/* in-page toc bar */
.tocbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px;padding:0 0 26px;border-bottom:1px solid var(--sand)}
.tocbar .lbl{width:100%;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--td);margin-bottom:4px}
.tocbar a{font-size:13px;font-weight:600;color:var(--teal);background:var(--tealsoft);border:1px solid var(--tealline);border-radius:999px;padding:7px 14px;transition:.14s}
.tocbar a:hover{background:var(--teal);color:#fff;text-decoration:none}

/* callout */
.callout{background:var(--paper2);border:1px solid var(--sand);border-left:3px solid var(--teal);border-radius:0 12px 12px 0;padding:18px 22px;margin:24px 0}
.callout .t{font-weight:700;color:var(--ink);margin-bottom:4px}
.callout p{margin:0;font-size:15.5px;color:var(--tm)}

/* comparison table */
.ctable{border:1px solid var(--sand);border-radius:14px;overflow:hidden;margin:24px 0;font-size:14.5px}
.ctable .r{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid var(--sand)}
.ctable .r:first-child{border-top:0}
.ctable .r>div{padding:13px 15px;border-left:1px solid var(--sand);color:var(--tm)}
.ctable .r>div:first-child{border-left:0;font-weight:700;color:var(--ink);background:var(--paper2)}
.ctable .head{background:var(--teal);color:#EAF3EF;font-family:var(--mono);font-size:11.5px;letter-spacing:.4px;text-transform:uppercase}
.ctable .r.head>div{color:#EAF3EF;background:var(--teal);font-weight:700;border-left-color:rgba(255,255,255,.18)}
@media(max-width:620px){.ctable{font-size:12px}.ctable .r>div{padding:10px 8px}}

/* article FAQ (slight variant of shared details) */
.faqs{margin:14px 0 0}
details summary{font-size:16.5px}
details p{font-size:15.5px;margin:0 0 16px}

/* CTA band */
.ctaband{background:linear-gradient(110deg,var(--tealsoft),var(--paper2));border:1px solid var(--tealline);border-radius:18px;padding:34px;text-align:center;margin:20px 0 0}
.ctaband h3{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--ink);margin:0 0 8px}
.ctaband p{color:var(--tm);margin:0 0 20px;font-size:16px}
.ctaband .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* next reading cards */
.next{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px 0 0}
@media(max-width:620px){.next{grid-template-columns:1fr}}
.ncard{display:block;background:var(--paper2);border:1px solid var(--sand);border-radius:14px;padding:20px 22px;transition:.15s}
.ncard:hover{border-color:var(--tealline);transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,77,68,.08);text-decoration:none}
.ncard .k{font-family:var(--mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ember);font-weight:600}
.ncard h4{margin:7px 0 4px;font-size:17px;color:var(--ink)}
.ncard p{margin:0;font-size:13.5px;color:var(--tm)}

/* article footer has margin-top */
footer{margin-top:64px}
