/* APIS Lab v6.28 — text layout polish, card rhythm and spacing repair */
:root{--v628-text-card-max:380px}
html,body{overflow-x:clip}
.v624-page :where(h1,h2,h3){text-wrap:balance}
.v624-page :where(p,li){text-wrap:pretty}

/* International hero CTA row */
.intl-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px}
.intl-cta .v6-btn{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:0 28px;border-radius:999px}
.intl-text-link{display:inline-flex;align-items:center;min-height:60px;padding:0 4px;color:#f5f3ec;text-decoration:none;font-size:clamp(20px,1.8vw,24px);line-height:1.2;white-space:nowrap;transition:opacity .18s ease,transform .18s ease}
.intl-text-link:hover{opacity:.84;transform:translateX(2px)}

/* Analytical cards */
.analysis-panel{padding:32px}
.panel-head>div>span{display:block;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--v624-muted)}
.panel-head h3{line-height:1.08;letter-spacing:-.03em}
.chart-caption{max-width:none;margin-top:18px}

/* Driver bars in the international block — actual markup is div/span/i/b */
.driver-bars{display:grid;gap:16px;margin-top:6px}
.driver-bars>div{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1fr) auto;align-items:center;gap:16px}
.driver-bars span{display:block;font-size:17px;line-height:1.2;color:#171717}
.driver-bars i{display:block;position:relative;width:100%;height:10px;border-radius:999px;background:#ddd7cb;overflow:hidden;font-style:normal}
.driver-bars i::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--w,0);border-radius:inherit;background:#111}
.driver-bars b{display:block;min-width:118px;text-align:right;font-size:15px;line-height:1.2;color:#171717;white-space:nowrap}

/* Context cards at the end of sections */
.context-next{gap:20px}
.context-next>a{min-height:220px;padding:30px 28px;border-radius:26px}
.context-next span,.context-next b,.context-next p{display:block}
.context-next span{margin:0 0 14px}
.context-next b{margin:0 0 18px;font-size:clamp(23px,2vw,29px);line-height:1.1;letter-spacing:-.02em}
.context-next p{margin-top:auto;max-width:34ch;font-size:17px;line-height:1.58}

/* Article hero layout with side meta card */
.article-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,var(--v628-text-card-max));gap:clamp(40px,4vw,68px);align-items:start}
.article-v624-hero h1{max-width:9.5ch;font-size:clamp(52px,5.8vw,90px);line-height:.9;letter-spacing:-.055em}
.article-hero-grid>div>p{max-width:820px}
.article-meta-v624{width:min(100%,var(--v628-text-card-max));justify-self:end;padding:32px;border-radius:30px}
.article-meta-v624>b{display:block;margin:0 0 18px;font-size:clamp(20px,2vw,24px);line-height:1.12;letter-spacing:-.02em}
.article-meta-v624 ol{margin:0;padding-left:27px}
.article-meta-v624 li{margin:0 0 14px;font-size:16px;line-height:1.5}
.article-meta-v624>span{margin-top:24px}

/* Section heads and dense text blocks */
.v624-section-head{gap:clamp(34px,4vw,54px)}
.v624-section-head>p{max-width:44ch;line-height:1.65}
.prose-lg p,.article-prose-v624 p,.scenario-long-block p,.tool-notice p,.tool-explain-grid p{line-height:1.7}

@media(max-width:1200px){
  .analysis-panel{padding:28px}
  .article-v624-hero h1{max-width:10.2ch;font-size:clamp(48px,6vw,78px)}
}
@media(max-width:1180px){
  .article-hero-grid{grid-template-columns:1fr;gap:28px}
  .article-meta-v624{width:100%;max-width:760px;justify-self:start}
}
@media(max-width:900px){
  .driver-bars>div{grid-template-columns:minmax(125px,.95fr) minmax(0,1fr) auto;gap:12px}
  .driver-bars span{font-size:16px}
  .context-next>a{min-height:auto;padding:26px 24px}
}
@media(max-width:760px){
  .intl-cta{align-items:stretch}
  .intl-cta .v6-btn,.intl-text-link{width:100%;justify-content:center}
  .intl-text-link{min-height:52px;padding:0 20px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.04)}
  .driver-bars>div{grid-template-columns:1fr;gap:8px}
  .driver-bars b{text-align:left;min-width:0}
  .context-next b{font-size:22px}
}
@media(max-width:640px){
  .analysis-panel{padding:24px}
  .article-v624-hero h1{max-width:none;font-size:clamp(42px,13vw,62px)}
  .article-meta-v624{padding:24px}
  .article-meta-v624>b{font-size:20px}
  .article-meta-v624 li,.context-next p{font-size:15px}
}
