
:root{
  --a-green:#06261d;
  --a-green2:#0b3d2e;
  --a-deep:#031711;
  --a-orange:#e86f00;
  --a-gold:#d9a441;
  --a-paper:#fbfaf6;
  --a-ink:#101814;
  --a-muted:#6d7771;
  --a-line:rgba(6,38,29,.12);
}
#ff-article-page{background:var(--a-paper);color:var(--a-ink);overflow:hidden}
#ff-article-page *{box-sizing:border-box}
.article-shell{width:min(1240px,calc(100% - 56px));margin:auto}
.article-hero{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:var(--a-deep);
}
.article-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 14s ease-out both}
.article-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,23,17,.96),rgba(3,23,17,.66) 46%,rgba(3,23,17,.16)),
             linear-gradient(0deg,rgba(3,23,17,.96),transparent 55%);
}
.article-hero-orbit{
  position:absolute;width:520px;height:520px;right:-180px;bottom:-280px;
  border:1px solid rgba(217,164,65,.38);border-radius:50%;
  box-shadow:0 0 0 70px rgba(217,164,65,.035),0 0 0 140px rgba(217,164,65,.018);
  animation:orbit 16s linear infinite;
}
.article-hero-content{position:relative;z-index:2;padding:100px 0 76px;max-width:1050px}
.article-kicker{display:flex;align-items:center;gap:12px;color:#f0bd55;font-size:10px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}
.article-kicker::before{content:"";width:44px;height:2px;background:var(--a-orange)}
.article-title{margin:20px 0 24px;font-size:clamp(44px,6vw,88px);line-height:.94;letter-spacing:-.055em;font-weight:950;text-wrap:balance}
.article-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:rgba(255,255,255,.68);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.article-main{padding:78px 0 110px}
.article-layout{display:grid;grid-template-columns:minmax(0,820px) 240px;gap:80px;align-items:start;justify-content:center}
.article-lead{margin:0 0 42px;color:var(--a-green2);font-size:clamp(21px,2.1vw,29px);line-height:1.55;font-weight:600}
.article-body p{margin:0 0 25px;color:#2b352f;font-size:18px;line-height:1.9}
.article-body h2{margin:58px 0 22px;padding-left:18px;border-left:4px solid var(--a-orange);color:var(--a-green);font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.04em}
.article-photo{margin:44px 0}
.article-photo img{width:100%;display:block;box-shadow:0 25px 70px rgba(3,23,17,.12);transition:transform .8s ease}
.article-photo:hover img{transform:scale(1.012)}
.article-photo figcaption{margin-top:10px;color:var(--a-muted);font-size:10px;line-height:1.5;letter-spacing:.05em}
.article-quote{position:relative;margin:45px 0;padding:32px 38px;background:linear-gradient(135deg,var(--a-green),var(--a-green2));color:#fff;box-shadow:0 24px 60px rgba(3,23,17,.14);overflow:hidden}
.article-quote::before{content:"“";position:absolute;right:15px;bottom:-60px;color:rgba(255,255,255,.07);font:170px/1 Georgia,serif}
.article-quote p{position:relative;z-index:1;margin:0 0 13px;color:#fff;font-size:22px;line-height:1.55}
.article-quote cite{position:relative;z-index:1;color:#efc45f;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.article-sidebar{position:sticky;top:28px}
.article-side-box{padding:22px 0;border-top:1px solid var(--a-line);border-bottom:1px solid var(--a-line)}
.article-side-label{margin-bottom:14px;color:#a67a23;font-size:9px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.article-side-box strong{display:block;color:var(--a-green);font-size:22px;line-height:1.15}
.article-share{display:flex;gap:7px;margin-top:18px}
.article-share a{width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--a-line);color:var(--a-green);font-size:10px;font-weight:900;text-decoration:none;transition:.25s}
.article-share a:hover{background:var(--a-green);color:#fff;transform:translateY(-2px)}
.article-end{margin-top:65px;padding-top:24px;border-top:1px solid var(--a-line);color:var(--a-muted);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.article-back{display:inline-flex;gap:10px;margin-top:30px;color:var(--a-green);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.article-back::before{content:"←";color:var(--a-orange);font-size:17px}
.article-progress{position:fixed;top:0;left:0;width:0;height:3px;z-index:1000005;background:linear-gradient(90deg,var(--a-orange),var(--a-gold))}
.article-reveal{opacity:0;transform:translateY(24px);transition:.75s ease}
.article-reveal.is-visible{opacity:1;transform:none}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1.01)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@media(max-width:950px){.article-layout{grid-template-columns:1fr;gap:42px}.article-sidebar{position:static;order:-1}.article-side-box{display:flex;justify-content:space-between;align-items:center;gap:20px}.article-share{margin-top:0}}
@media(max-width:700px){
  .article-shell{width:calc(100% - 32px)}
  .article-hero{min-height:590px}
  .article-hero-content{padding:80px 0 52px}
  .article-title{font-size:clamp(40px,12vw,64px)}
  .article-main{padding:52px 0 75px}
  .article-body p{font-size:17px;line-height:1.82}
  .article-quote{padding:27px 24px}
  .article-quote p{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .article-hero-media,.article-hero-orbit,.article-reveal,.article-photo img{animation:none!important;transition:none!important}
}
