/* V110: readable controls, reflow, keyboard access and motion fallback. */
html{scroll-padding-top:calc(var(--mpf-header-height,78px) + 16px)}
:focus-visible{outline:3px solid #315f82;outline-offset:3px}
.site-header :focus-visible,.article-hero :focus-visible,.section-hero :focus-visible,
footer :focus-visible,.site-foot :focus-visible,.calculator-panel :focus-visible,
.bt-calculator :focus-visible,.rr-calculator :focus-visible,.lang-panel :focus-visible{
  outline:3px solid #f6c945;outline-offset:3px
}
.skip-link{position:fixed;z-index:1000;top:.5rem;left:auto;right:auto;inset-inline-start:.5rem;
  max-width:calc(100% - 1rem);padding:.75rem 1rem;color:#071526;background:#f6c945;
  border:2px solid #071526;border-radius:.5rem;font-size:1rem;line-height:1.5;
  transform:translateY(-180%);text-decoration:underline;overflow-wrap:anywhere}
.skip-link:focus{top:.5rem;transform:none;outline:3px solid #fff;outline-offset:2px}
main:focus{outline:none}
.lang-panel:not(.open){display:none}
.lang-panel.open{display:block}
.lang-panel{max-height:calc(100vh - var(--mpf-header-occupied,78px) - 28px);
  max-height:calc(100dvh - var(--mpf-header-occupied,78px) - 28px);overflow-y:auto;overscroll-behavior:contain}
.lang-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.lang-option,.lang-option span{min-width:0;overflow-wrap:anywhere}
.lang-option img,.lang-button img,.brand-mark{flex-shrink:0}
.main-nav a,.lang-option,.toc-card a,.side-card a{font-size:.875rem}
.calculator label span,.bt-calc-field,.rr-field label{font-size:.875rem}
.menu-button,.lang-button,.lang-option,.filter-button{min-height:44px}
.article-main,.article-layout>article,.calculator-layout>article,.hero-grid>*,
.calculator-fields>label,.rr-field,.bt-calc-field,.policy-section>div{min-width:0}
h1,h2,h3,.brand-name,.calculator label span,.rr-field label{overflow-wrap:anywhere}
.calculator-actions{flex-wrap:wrap}
.calculator input,.calculator select,.bt-calc-field input,.rr-field input,.rr-field select{min-width:0;max-width:100%}
.calculator input:focus-visible,.calculator select:focus-visible{outline:3px solid #f6c945;outline-offset:2px}
.mpf-scroll-region{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.mpf-scroll-region:focus-visible{outline:3px solid #315f82;outline-offset:-3px}
html:not(.mpf-motion-ready) [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
.asset-label,.chart-kicker,.hero-stat span,.insight-score small,.preview-tag,.world-topic span{color:#a8b9ca}
.story-number{color:#5d6875}
.article-layout .section-number,.calculator-guide li b,.toc-card b{color:#805b00}

@media(max-width:1080px){
  .site-header{height:auto;min-height:78px}
  .header-inner{height:auto;min-height:78px;flex-wrap:wrap;gap:.65rem;padding-block:.65rem}
  .brand{min-width:0;max-width:100%}
  .brand-name{min-width:0}
  .header-actions{flex-shrink:0;margin-inline-start:auto}
  .menu-button{display:grid;width:44px;height:44px}
  .main-nav{position:absolute;inset:100% 0 auto;bottom:auto;display:none;visibility:hidden;transform:none!important;
    height:calc(100vh - var(--mpf-header-occupied,78px));height:calc(100dvh - var(--mpf-header-occupied,78px));
    overflow-y:auto;overscroll-behavior:contain;
    flex-direction:column;align-items:stretch;padding:1rem 20px 3rem;background:rgba(7,21,38,.99)}
  .main-nav.open{display:flex;visibility:visible}
  .main-nav a,.main-nav a.nav-home{white-space:normal;overflow-wrap:anywhere;margin:0;
    padding:1rem .5rem;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;font-size:1rem}
  /* Lock the document scroller. Locking body creates a new scroll ancestor
     and makes the sticky header disappear on an already scrolled page. */
  html.menu-open{overflow:hidden}
}
@media(max-width:860px){.article-particles,.particle-canvas{display:none}}
@media(max-width:620px){
  .site-header,.header-inner{min-height:70px}
  .brand-mark{width:2.375rem;height:2.375rem}
  .lang-wrap{position:static}
  .lang-panel{position:absolute;top:calc(100% + .75rem);left:14px!important;right:14px!important;
    width:auto;max-height:calc(100vh - var(--mpf-header-occupied,70px) - 28px);
    max-height:calc(100dvh - var(--mpf-header-occupied,70px) - 28px)}
  [dir=rtl] .lang-panel{left:14px!important;right:14px!important}
  .lang-grid{grid-template-columns:1fr}
  .header-actions .lang-button span{display:none}
  .hero h1,.article-hero h1,.section-hero h1{font-size:clamp(2rem,10vw,3.5rem);line-height:1.08}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-col a{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
  .article-particles,.particle-canvas{display:none}
}
