/* Seylo website — global styles, resets and all keyframe animations.
   Layout/visual styles stay as inline style attributes on each element (as authored);
   everything that cannot be inlined (resets, keyframes, media queries) lives here. */

body { margin:0; background:#0A1020; color:#fff; -webkit-font-smoothing:antialiased; }
  a { color:#7FB2FF; text-decoration:none; }
  a:hover { color:#fff; }
  @keyframes feedScroll { 0%,6% {transform:translateY(0)} 32%,38% {transform:translateY(-232px)} 64%,70% {transform:translateY(-464px)} 92%,100% {transform:translateY(-696px)} }
  @keyframes wave { 0%,100% {transform:scaleY(.28)} 50% {transform:scaleY(1)} }
  @keyframes floatY { 0%,100% {transform:translate3d(0,0,0) rotate(0deg)} 50% {transform:translate3d(0,-26px,0) rotate(8deg)} }
  @keyframes pulseRing { 0% {box-shadow:0 0 0 0 rgba(46,123,246,.55)} 100% {box-shadow:0 0 0 16px rgba(46,123,246,0)} }
  @keyframes dotBlink { 0%,100% {opacity:1} 50% {opacity:.25} }
  @keyframes railGlide { 0%,8% {transform:translateY(0)} 30%,38% {transform:translateY(34px)} 62%,68% {transform:translateY(68px)} 90%,100% {transform:translateY(102px)} }
  #heroGrid { grid-template-columns: minmax(0,auto) 408px minmax(300px,1fr); }
  @media (max-width: 1320px) {
    #heroGrid { grid-template-columns: 408px minmax(280px,1fr); }
    #heroWord { display:none !important; }
  }
  @media (max-width: 900px) {
    #heroGrid { grid-template-columns: minmax(0,1fr); justify-items:center; }
    #heroCopy { justify-self:start; }
  }
  /* rpx-style fluid scaling: the 408px design width tracks the viewport in fine steps */
  @media (max-width: 470px) { #phoneScale { zoom: .96; } }
  @media (max-width: 450px) { #phoneScale { zoom: .92; } }
  @media (max-width: 430px) { #phoneScale { zoom: .88; } }
  @media (max-width: 412px) { #phoneScale { zoom: .84; } }
  @media (max-width: 393px) { #phoneScale { zoom: .80; } }
  @media (max-width: 375px) { #phoneScale { zoom: .76; } }
  @media (max-width: 360px) { #phoneScale { zoom: .72; } }
  @media (max-width: 340px) { #phoneScale { zoom: .66; } }
  @media (max-width: 320px) { #phoneScale { zoom: .60; } }

/* language switch */
.lang-btn { -webkit-appearance: none; appearance: none; }
.lang-btn:focus-visible { outline: 2px solid #2E7BF6; outline-offset: 2px; }

/* long-form legal pages: keep text readable, never overflow horizontally */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { max-width: 100%; }
