/* Same components in every language; allow natural text expansion. */
.link-language{display:inline-block;margin-inline-start:.35em;font-size:.7em;font-weight:700;letter-spacing:.05em;color:inherit;opacity:.8;white-space:nowrap}
.language-picker a{white-space:normal;min-width:10rem}
.btn,.game-card,.planned-card,.plan,.nav-actions,.footer-col{min-width:0}
.btn{white-space:normal;text-align:center;overflow-wrap:break-word}
.hero h1,.page-intro h1,.end-cta h2{overflow-wrap:break-word;hyphens:auto}
.game-meta span,.hero-plan dd{font-variant-numeric:tabular-nums}
.hero-card{width:324px;max-width:100%}
.hero-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-card dl>div,.game-plan,.credit-visual,.credits-copy,.pricing-copy,[data-plan-container],.plan-card{min-width:0}
.eyebrow{white-space:normal;flex-wrap:wrap}
.hero-card dd{white-space:normal}
.plan-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
.plan-specs>div,.plan-specs span{min-width:0}
.plan-specs strong{white-space:normal}
.credit-visual>span{overflow-wrap:break-word;hyphens:auto}
@media(min-width:1100px){.navlinks{gap:clamp(.75rem,1.4vw,1.8rem)}.nav-actions{gap:.75rem}}
@media(max-width:540px){.end-cta .actions{width:100%}.end-cta .btn{max-width:100%}.filter-bar .chips{flex-wrap:wrap}.plan-meta{flex-wrap:wrap}.hero-card{width:100%;max-width:100%}.game-plan-grid{grid-template-columns:minmax(0,1fr)}.game-plan dl>div{display:block}.game-plan dd{text-align:left;margin-inline-start:0}.game-plan dt{margin-bottom:.25rem}.game-plan .plan-label,.game-plan .plan-badge{white-space:normal}.credit-visual>span{font-size:clamp(44px,12vw,66px)}}

/* Public-site motion only; native controls and content remain functional. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  main :is(section, [id]) { scroll-margin-top: 110px; }
  body :is(.btn,.button,.text-link,.filter-chip,.game-card,.planned-card,.plan-card,.future-plan-grid .plan,.finder-option span,.language-picker a,.navlinks a) {
    transition-property: background-color, border-color, color, box-shadow, transform;
    transition-duration: 180ms;
    transition-timing-function: cubic-bezier(.2,.7,.2,1);
  }
  body :is(.faq-item,.feature-detail,.plans-helper) summary {
    transition: color 160ms ease, background-color 160ms ease;
  }
  .language-picker[open] > nav, dialog[open] {
    animation: chunkarc-pane-in 180ms cubic-bezier(.2,.7,.2,1);
  }
  .mobile-nav { opacity: 0; transform: translateY(-4px); transition: opacity 180ms ease, transform 180ms ease, display 180ms allow-discrete; }
  .mobile-nav.open { opacity: 1; transform: none; }
  @starting-style { .mobile-nav.open { opacity: 0; transform: translateY(-4px); } }
  @supports (interpolate-size: allow-keywords) {
    :is(.faq-item,.feature-detail,.plans-helper) { interpolate-size: allow-keywords; }
    :is(.faq-item,.feature-detail,.plans-helper)::details-content {
      block-size: 0;
      overflow: clip;
      transition: block-size 220ms ease, content-visibility 220ms allow-discrete;
    }
    :is(.faq-item,.feature-detail,.plans-helper)[open]::details-content { block-size: auto; }
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  body :is(.btn,.button):not(:disabled):hover { transform: translateY(-2px); }
  body .plans-clean .button:not(:disabled):hover { transform: translateY(-2px); }
  body :is(.game-card,.planned-card):hover { transform: translateY(-3px); }
  body :is(.btn,.button):not(:disabled):active { transform: translateY(0); }
}
@keyframes chunkarc-pane-in {
  from { opacity: .7; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
