
/* Article system: supports both migrated long-form analysis and structured buyer guides. */
main[id="main-content"], main:not([id]){scroll-margin-top:90px}
.insight-hero,.guide-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#f8f1e3 0%,#fcfaf5 64%,#efe1c5 100%);
  border-bottom:1px solid var(--line);
}
.insight-hero{min-height:470px;display:flex;align-items:center}
.insight-hero-bg{
  position:absolute;right:6%;top:50%;transform:translateY(-50%);
  width:min(38vw,390px);height:min(38vw,390px);object-fit:contain;
  opacity:.11;filter:saturate(.8);
}
.insight-hero-inner{
  position:relative;z-index:1;width:min(var(--max),calc(100% - 36px));margin:auto;
  padding:72px 0;max-width:1100px;
}
.insight-hero h1{max-width:930px;font-size:clamp(2.5rem,5.6vw,5.2rem)}
.hero-deck{font-size:clamp(1.05rem,1.8vw,1.3rem);max-width:800px;color:#46534b}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;color:#6b736e;font-size:.82rem}
.insight-shell{
  width:min(var(--max),calc(100% - 36px));margin:0 auto;padding:56px 0 82px;
  display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:44px;align-items:start;
}
.insight-main,.guide-article{min-width:0}
.article-copy{font-family:Georgia,"Times New Roman",serif;font-size:1.055rem}
.article-copy p,.article-copy li{color:#344139}
.article-copy a{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:700}
.article-copy h2{font-size:clamp(1.9rem,3vw,2.7rem);margin-top:1.55em}
.article-copy h3{font-size:1.45rem;margin-top:1.4em}
.article-copy ul,.article-copy ol{padding-left:1.35rem}
.article-copy li{margin:.46rem 0}
.direct-answer,.key-takeaways,.market-note,.data-card{
  border:1px solid rgba(184,137,46,.28);border-radius:18px;padding:22px 24px;margin:0 0 28px;
  background:#fffaf0;
}
.direct-answer p:last-child,.market-note p:last-child,.data-card p:last-child{margin-bottom:0}
.key-takeaways{background:#f5f7f3;border-color:rgba(23,60,42,.16)}
.key-takeaways ul{margin-bottom:0}
.market-note{background:var(--green-950);border-color:var(--green-950)}
.market-note .label{color:var(--gold-300)}
.market-note p,.market-note strong{color:#eef4ef}
.evidence-grid,.scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0 28px}
.evidence-card,.scenario{
  border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;
}
.metric,.rate{
  color:var(--green-900);font-family:Georgia,"Times New Roman",serif;
  font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:1;
}
.metric-label{font-family:Inter,ui-sans-serif,system-ui;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:7px}
.scenario .n{font-family:Inter,ui-sans-serif,system-ui;color:var(--gold-600);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.scenario h3{margin:.55rem 0}
.table-wrap{overflow-x:auto;margin:20px 0 28px;border:1px solid var(--line);border-radius:15px;background:#fff}
.insight-table{border-collapse:collapse;width:100%;min-width:640px;font-family:Inter,ui-sans-serif,system-ui;font-size:.86rem}
.insight-table th,.insight-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.insight-table th{background:#f3eee4;color:var(--green-950)}
.insight-table tr:last-child td{border-bottom:0}
.faq{margin-top:42px}
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:16px 0;font-family:Inter,ui-sans-serif,system-ui;font-weight:800;color:var(--green-950)}
.faq details p{padding:0 0 14px;margin:0}
.source-list{font-family:Inter,ui-sans-serif,system-ui;font-size:.88rem}
.article-cta{
  margin-top:38px;padding:28px;border-radius:22px;
  background:linear-gradient(135deg,var(--green-900),var(--green-950));color:#dfe9e2;
}
.article-cta h2,.article-cta strong{color:#fff}
.article-cta p{color:#d5e2d9}
.article-cta .btn-primary{background:#fff;color:var(--green-950)}
.article-cta .btn-secondary{border-color:rgba(255,255,255,.35);background:transparent;color:#fff}
.insight-aside,.guide-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:106px}
.aside-card{
  border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;
  box-shadow:0 12px 28px rgba(18,44,32,.05);
}
.aside-card h2{font-size:1.25rem}
.aside-card p,.aside-card li{font-size:.84rem;color:#647068}
.aside-card ul{padding-left:18px}
.aside-card a{font-weight:800;text-decoration:none}
.aside-card .rate{margin:9px 0}
.article-cta--wide{
  width:min(var(--max),calc(100% - 36px));margin:0 auto 78px;
}
.guide-hero{
  width:min(var(--max),calc(100% - 36px));margin:24px auto 0;
  min-height:430px;border:1px solid var(--line);border-radius:28px;
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:center;padding:48px;
}
.guide-hero__copy{position:relative;z-index:2}
.guide-hero__copy h1{font-size:clamp(2.4rem,5vw,4.6rem)}
.guide-hero__copy>p{font-size:1.14rem;color:#566159;max-width:760px}
.guide-hero__mark{width:270px;opacity:.15;justify-self:center}
.guide-layout{
  width:min(var(--max),calc(100% - 36px));margin:0 auto;padding:54px 0 60px;
  display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:44px;align-items:start;
}
.guide-step{position:relative;padding-left:58px;margin-bottom:42px}
.guide-step .step{
  position:absolute;left:0;top:.3rem;
  width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--ivory-100);border:1px solid rgba(184,137,46,.35);
  color:var(--gold-600);font-family:Inter,ui-sans-serif,system-ui;font-size:.74rem;font-weight:850;
}
.checklist{list-style:none;padding-left:0!important}
.checklist li{position:relative;padding-left:24px;margin:.55rem 0!important}
.checklist li::before{
  content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;
  background:var(--gold-500);box-shadow:0 0 0 4px rgba(199,154,59,.12);
}
.stack-links{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.stack-links a{text-decoration:none;font-size:.85rem}
.legal-note{
  padding:16px;border-left:3px solid var(--gold-500);background:#fffaf0;
  color:#6d746f;font-size:.78rem;
}

@media (max-width:940px){
  .insight-shell,.guide-layout{grid-template-columns:1fr}
  .insight-aside,.guide-aside{position:static;display:grid;grid-template-columns:repeat(2,1fr)}
  .guide-hero{grid-template-columns:1fr 180px;padding:38px}
  .guide-hero__mark{width:170px}
}
@media (max-width:680px){
  .insight-hero{min-height:390px}
  .insight-hero-inner{padding:52px 0}
  .insight-hero-bg{width:250px;height:250px;right:-55px;opacity:.08}
  .insight-shell,.guide-layout{padding-top:36px}
  .evidence-grid,.scenario-grid{grid-template-columns:1fr}
  .insight-aside,.guide-aside{grid-template-columns:1fr}
  .guide-hero{grid-template-columns:1fr;padding:26px}
  .guide-hero__mark{position:absolute;right:-40px;bottom:-30px;width:210px;opacity:.08}
  .guide-step{padding-left:0}
  .guide-step .step{position:static;margin-bottom:12px}
}

/* v1.1.0 related-reading cluster */
.related-reading{
  width:min(var(--max),calc(100% - 36px));margin:16px auto 72px;padding-top:36px;
  border-top:1px solid var(--line);
}
.related-reading__head{max-width:760px;margin-bottom:22px}
.related-reading__head h2{font-size:clamp(1.9rem,3vw,2.7rem);margin:.35rem 0 0}
.related-reading__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-reading__grid article{
  display:flex;flex-direction:column;min-height:250px;padding:22px;border:1px solid var(--line);
  border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(18,44,32,.045);
}
.related-reading__grid article>span{
  color:var(--gold-600);font:800 .7rem/1.2 Inter,ui-sans-serif,system-ui;
  letter-spacing:.08em;text-transform:uppercase;
}
.related-reading__grid h3{font-size:1.3rem;margin:.85rem 0 .6rem}
.related-reading__grid h3 a{text-decoration:none;color:inherit}
.related-reading__grid p{color:var(--muted);font:400 .9rem/1.6 Inter,ui-sans-serif,system-ui}
.related-reading__grid .text-link{margin-top:auto}
@media (max-width:860px){.related-reading__grid{grid-template-columns:1fr}}

/* v1.2.0 location intelligence links */
.article-location-links{margin:58px 0 0;padding-top:48px;border-top:1px solid var(--line)}
.article-location-links__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.article-location-links__grid a{display:flex;flex-direction:column;gap:5px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none}
.article-location-links__grid a>span{color:var(--gold-600);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.article-location-links__grid a>strong{color:var(--green-950);font-size:.9rem}
@media(max-width:940px){.article-location-links__grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.article-location-links__grid{grid-template-columns:1fr}}

/* v1.2.1 editorial visuals */
.editorial-visual{
  margin:30px 0 36px;border:1px solid var(--line);border-radius:22px;overflow:hidden;
  background:#fff;box-shadow:0 14px 38px rgba(18,44,32,.07)
}
.editorial-visual picture,.editorial-visual img{display:block;width:100%}
.editorial-visual img{aspect-ratio:16/9;object-fit:contain}
.editorial-visual figcaption{
  padding:12px 16px;border-top:1px solid var(--line);color:var(--muted);
  font:500 .78rem/1.5 Inter,ui-sans-serif,system-ui
}
@media(max-width:680px){.editorial-visual{margin:22px 0 30px;border-radius:16px}}
