/* Articles and legal pages: a sticky index on the left, one reading column on the right.
   Loaded after site.css. Uses the same tokens (--gold, --ink, --display...). */

/* ---------- hero ---------- */
.art-hero h1{max-width:22ch;font-size:clamp(36px,5vw,68px);line-height:1}
.art-hero .lead{max-width:60ch}
.mo .page-hero > .wrap > :nth-child(4){transition-delay:.42s}
.mo .page-hero > .wrap > :nth-child(5){transition-delay:.52s}
.byline{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:15px;color:rgba(247,244,239,.84)}
.byline img{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--gold);flex:0 0 auto}
.byline b{color:var(--paper);font-weight:600}
.byline .sep{opacity:.5;margin:0 4px}
.byline time{color:var(--mist)}

/* ---------- layout ---------- */
.art-s{--tocw:236px;--tgap:clamp(40px,6vw,96px);padding-block:clamp(56px,7vw,104px) clamp(72px,9vw,120px)}
.art-grid{display:grid;grid-template-columns:var(--tocw) minmax(0,1fr);gap:var(--tgap);align-items:start}
.art-grid.no-toc{grid-template-columns:minmax(0,1fr)}

/* ---------- table of contents ---------- */
.toc{position:sticky;top:104px;align-self:start;max-height:calc(100vh - 128px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.toc-t{font-size:14px;font-weight:700;color:var(--navy);margin:0 0 14px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line-light)}
.toc li{margin:0}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-2px;border-left:2px solid transparent;font-size:14.5px;line-height:1.35;color:var(--body);text-decoration:none;transition:color .2s, border-color .2s}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);font-weight:600;border-left-color:var(--gold)}
.toc-m{display:none;background:var(--white);border:1px solid var(--line-light);border-radius:18px}
.toc-m summary{cursor:pointer;list-style:none;padding:15px 20px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:12px}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s;flex:0 0 auto}
.toc-m[open] summary::after{transform:translateY(2px) rotate(225deg)}
.toc-m ol{margin:0 20px 16px}
@media (max-width:960px){
  .art-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .toc{position:static;max-height:none;overflow:visible}
  .toc-d{display:none}
  .toc-m{display:block}
}

/* ---------- reading column ---------- */
.prose{max-width:68ch;font-family:var(--text);font-size:18px;line-height:1.7;color:var(--body);min-width:0}
.prose > :first-child{margin-top:0}
.prose > :last-child{margin-bottom:0}
.prose p{margin:0 0 1.15em}
.prose h2{font-family:var(--display);font-stretch:var(--stretch);font-weight:800;font-size:clamp(27px,2.6vw,36px);line-height:1.06;letter-spacing:-.01em;color:var(--ink);margin:2.1em 0 .75em;scroll-margin-top:96px;text-wrap:balance}
.prose h2::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--gold);margin-top:16px}
.prose h3{font-family:var(--display);font-stretch:var(--stretch);font-weight:800;font-size:clamp(20px,1.8vw,24px);line-height:1.15;color:var(--ink);margin:1.8em 0 .55em;scroll-margin-top:96px}
.prose h2 + h3{margin-top:.4em}
.prose strong,.prose b{color:var(--ink);font-weight:700}
.prose a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:rgba(0,74,173,.35);overflow-wrap:anywhere}
.prose a:hover{text-decoration-color:currentColor}
.prose ul,.prose ol{margin:0 0 1.3em;padding:0}
.prose ul{list-style:none}
.prose ul li{position:relative;padding-left:24px;margin:0 0 .55em}
.prose ul li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:10px;border-radius:2px;background:var(--gold)}
.prose ol{padding-left:1.5em}
.prose ol li{margin:0 0 .6em;padding-left:.35em}
.prose ol li::marker{color:var(--navy);font-weight:800;font-family:var(--display)}
.prose blockquote{margin:1.9em 0;padding:4px 0 4px 24px;border-left:4px solid var(--gold)}
.prose blockquote p{font-family:var(--display);font-stretch:var(--stretch);font-weight:700;font-size:clamp(21px,2vw,26px);line-height:1.3;color:var(--ink);margin:0 0 .5em}
.prose blockquote p:last-child{margin-bottom:0}
.prose img{border-radius:16px;margin:1.6em 0;height:auto}
.prose code{font-size:.88em;background:var(--white);border:1px solid var(--line-light);border-radius:6px;padding:1px 6px}
.prose hr{border:0;border-top:1px solid var(--line-light);margin:2.4em 0}
.table-wrap{margin:0 0 1.4em;overflow-x:auto;border:1px solid var(--line-light);border-radius:16px;background:var(--white)}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--line-light)}
.prose th{font-weight:700;color:var(--ink);background:rgba(201,168,76,.12)}
.prose tr:last-child td{border-bottom:0}
@media (max-width:560px){.prose{font-size:17px}.prose th,.prose td{padding:10px 12px}}

/* legal extras */
.info-box{background:var(--white);border:1px solid var(--line-light);border-radius:18px;padding:18px 22px;margin:0 0 1.4em}
.info-box p{margin:0 0 .35em}
.info-box p:last-child{margin:0}
.legal-copy{margin-top:3em;font-size:14px;color:var(--muted)}
.only-es{display:none;font-size:15px;color:var(--muted);background:var(--white);border:1px solid var(--line-light);border-radius:14px;padding:10px 14px;margin:0 0 1.6em}
html[lang="en"] .only-es{display:block}

/* ---------- author box ---------- */
.author-box{display:flex;gap:20px;align-items:center;max-width:68ch;margin:64px 0 0 calc(var(--tocw) + var(--tgap));padding:24px;background:var(--white);border:1px solid var(--line-light);border-radius:24px}
.author-box img{width:72px;height:72px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--gold);flex:0 0 auto}
.author-box b{display:block;font-family:var(--display);font-stretch:var(--stretch);font-weight:800;font-size:22px;line-height:1.1;color:var(--ink)}
.author-box p{margin:6px 0 8px;font-size:16px;line-height:1.5}
.author-box a{font-size:15px;font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
@media (max-width:960px){.author-box{margin-left:0}}
@media (max-width:520px){.author-box{flex-direction:column;align-items:flex-start;padding:20px}}

/* ---------- keep reading ---------- */
.more .lessons{margin-top:36px}
.more .lesson{background:var(--paper)}
.more .lesson p{color:var(--body)}
.more .all{margin:28px 0 0;font-weight:700}
.more .all a{color:var(--navy);text-underline-offset:3px}
