/* Long-form writing, built around the portfolio palette. */
.page-article main{max-width:1120px}
.article-shell{max-width:900px;margin:36px auto 0}
.article-header{padding:28px clamp(20px,5vw,58px) 42px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(circle at 94% 0,rgba(139,108,255,.2),transparent 32%),linear-gradient(145deg,rgba(15,34,55,.96),rgba(7,14,27,.98));box-shadow:var(--shadow)}
.article-back{font-size:.9rem;font-weight:700}
.article-header .eyebrow{margin:34px 0 16px}
.article-header h1{font-size:clamp(2.45rem,4.5vw,3.85rem);line-height:1.05;margin:0 0 24px;max-width:850px;overflow-wrap:anywhere}
.article-byline{color:#bed1e3;margin:0}
.article-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);color:#c0d1e1;font-size:.86rem}
.article-stats span{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(4,14,27,.55)}
.article-stats strong{color:#f1faff;font-weight:800}
.article-stats small{display:block;font-size:.72rem;color:var(--muted);margin-left:0}
.article-body{max-width:760px;margin:52px auto 0;font:1.17rem/1.8 Georgia,Cambria,"Times New Roman",serif;color:#e4edf5;overflow-wrap:anywhere}
.article-body p,.article-body ul,.article-body ol{margin:0 0 1.45em}
.article-body h2,.article-body h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f2faff;line-height:1.22;letter-spacing:-.035em}
.article-body h2{font-size:clamp(1.75rem,3vw,2.25rem);margin:2.4em 0 .75em}
.article-body h3{font-size:1.38rem;margin:2em 0 .6em}
.article-body h2:after{display:none}
.article-body a{text-decoration:underline;text-decoration-color:rgba(99,217,255,.45);text-underline-offset:.18em}
.article-body strong{color:#fff}
.article-body ul,.article-body ol{padding-left:1.5em}
.article-body li{padding-left:.16em;margin-bottom:.35em}
.article-body blockquote{margin:2em 0;padding:8px 0 8px 25px;border-left:3px solid var(--cyan);color:#cfe9f5;font-size:1.14em;font-style:italic;background:linear-gradient(90deg,rgba(73,221,255,.05),transparent)}
.article-body figure{margin:2.2em 0}
.article-body img{display:block;max-width:100%;width:auto;height:auto;margin:1.5em auto;border:1px solid var(--line);border-radius:14px}
.article-body figure img{display:block;max-width:100%;width:auto;height:auto;margin:auto;border:1px solid var(--line);border-radius:14px;background:#0a1523}
.article-body figcaption{text-align:center;color:var(--muted);font: .84rem/1.5 Inter,ui-sans-serif,system-ui,sans-serif;margin-top:10px}
.article-body pre{max-width:100%;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:#071321;color:#d4edf7;font:.9rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.article-body code{font:.88em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#b8ebfa;overflow-wrap:anywhere}
.article-body hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}
.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.92em;margin:1.5em 0}
.article-body th,.article-body td{padding:8px 12px;border:1px solid var(--line);vertical-align:top}
.article-recovery-note{padding:14px 18px;border-left:2px solid var(--line);color:var(--muted);font: .9rem/1.5 Inter,ui-sans-serif,system-ui,sans-serif}
.article-video{aspect-ratio:16/9;margin:2em 0}
.article-video iframe{width:100%;height:100%;border:0;border-radius:14px}
.article-footer{max-width:760px;margin:64px auto 0;color:var(--muted)}
.article-neighbours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:30px 0}
.article-neighbours a{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(12,28,46,.75);line-height:1.35}
.article-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.article-year-nav{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 4px}
.article-year-nav a{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(12,28,46,.75);font-size:.84rem;font-weight:700}
.article-index .year-heading{grid-column:1/-1;margin:24px 0 0;font-size:1.45rem;scroll-margin-top:24px}
.article-index .card{display:flex;flex-direction:column;min-height:270px;padding:30px}
.article-index .card h3{font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.2;margin:12px 0}
.article-index .card p:not(.meta){color:#c8d8e8;line-height:1.62}
.article-index .card .links{margin-top:auto;padding-top:16px}
.article-index .card .meta{margin:0}
.article-index-intro{max-width:780px;color:#c4d7e8}
@media(max-width:760px){.article-shell{margin-top:0}.article-header{padding:26px 21px 30px}.article-header .eyebrow{margin-top:26px}.article-header h1{font-size:clamp(2.15rem,9.5vw,2.7rem)}.article-body{font-size:1.07rem;line-height:1.73;margin-top:34px}.article-index{grid-template-columns:minmax(0,1fr)}.article-index .card{min-height:0;padding:22px}.article-neighbours{grid-template-columns:minmax(0,1fr)}.article-stats span{border-radius:12px}}
