/* Editorial layouts for the Tanzania Safari Journal articles */
.article-hero{position:relative;isolation:isolate;display:flex;min-height:clamp(28rem,56vw,42rem);align-items:flex-end;overflow:hidden;background:#20372b;color:#fff}
.article-hero-image,.article-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.article-hero-image{z-index:-2;object-fit:cover;object-position:center 48%}
.article-hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(15,31,23,.78),rgba(15,31,23,.38) 58%,rgba(15,31,23,.12)),linear-gradient(0deg,rgba(15,31,23,.36),transparent 62%)}
.article-hero-copy{padding-top:10rem;padding-bottom:4.4rem}
.article-back{display:inline-flex;gap:.5rem;margin-bottom:2rem;color:rgba(255,255,255,.84);font-size:.82rem;font-weight:600}
.article-back:hover{color:#d6b56b}
.article-kicker{margin:0 0 1rem;color:#d6b56b;font-size:.73rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.article-title{max-width:920px;margin:0 0 1.1rem;font-family:var(--ff-serif);font-size:clamp(2.4rem,6vw,5rem);font-weight:700;line-height:1.08}
.article-deck{max-width:700px;margin:0;color:rgba(255,255,255,.83);font-size:1.08rem;line-height:1.75}
.article-main{padding:4.5rem 0 5.5rem;background:var(--clr-cream)}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,280px);gap:clamp(2rem,6vw,5rem);align-items:start}
.journal-article-content{min-width:0;padding:0 0 2rem}
.article-byline{display:flex;gap:.6rem 1.4rem;flex-wrap:wrap;margin-bottom:1.6rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(47,74,57,.13);color:var(--clr-stone);font-size:.79rem}
.article-byline span+span::before{content:"·";margin-right:1.4rem;color:var(--clr-amber)}
.article-intro{margin:0 0 2.5rem;color:var(--clr-forest);font-family:var(--ff-serif);font-size:1.35rem;line-height:1.65}
.article-section{scroll-margin-top:7rem;margin:0 0 2.6rem}
.article-section h2{margin:0 0 .9rem;color:var(--clr-forest);font-family:var(--ff-serif);font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.25}
.article-section p,.article-section li{color:#5f665e;font-size:.98rem;line-height:1.85}
.article-section p{margin:.7rem 0}
.article-section ul{display:grid;gap:.65rem;margin:.85rem 0 0;padding-left:1.2rem}
.article-section li::marker{color:var(--clr-amber)}
.article-note{margin:2rem 0;padding:1.25rem 1.35rem;border-left:3px solid var(--clr-amber);border-radius:0 var(--radius-md) var(--radius-md) 0;background:rgba(176,141,69,.09);color:var(--clr-forest);line-height:1.7}
.article-note a,.article-section a{color:var(--clr-forest);font-weight:700;text-decoration:underline;text-decoration-color:var(--clr-amber);text-underline-offset:3px}
.article-sidebar{position:sticky;top:6.5rem;display:grid;gap:1rem}
.article-side-card{padding:1.35rem;border:1px solid rgba(47,74,57,.09);border-radius:var(--radius-lg);background:var(--clr-white);box-shadow:var(--shadow-card)}
.article-side-title{margin:0 0 .85rem;color:var(--clr-forest);font-family:var(--ff-serif);font-size:1.15rem}
.article-toc{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}
.article-toc a{color:var(--clr-stone);font-size:.84rem;line-height:1.45}
.article-toc a:hover{color:var(--clr-amber)}
.article-side-card p{margin:0 0 1rem;color:var(--clr-stone);font-size:.87rem;line-height:1.65}
.article-side-card .btn{width:100%;justify-content:center;text-align:center}
.article-bottom-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3.2rem;padding-top:1.5rem;border-top:1px solid rgba(47,74,57,.14)}
.article-bottom-nav a{color:var(--clr-forest);font-size:.87rem;font-weight:700}
.article-bottom-nav a:hover{color:var(--clr-amber)}
.article-bottom-nav .next{text-align:right;margin-left:auto}
@media(max-width:850px){.article-layout{grid-template-columns:1fr}.article-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.article-main{padding:3.25rem 0 4rem}}
@media(max-width:580px){.article-hero{min-height:34rem}.article-hero-copy{padding-top:8rem;padding-bottom:3rem}.article-hero-shade{background:linear-gradient(0deg,rgba(15,31,23,.82),rgba(15,31,23,.16) 90%)}.article-intro{font-size:1.18rem}.article-sidebar{grid-template-columns:1fr}.article-bottom-nav{font-size:.8rem}}
