.common-banner.top-banner .banner-wrapper {
  position: relative;
  background: #f60;
  isolation: isolate;
}
.hero-calculator-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}
.hero-calculator-art svg {
  display: block;
  width: 100%;
  height: 100%;
}
.hero-calculator-digits {
  font-family: "Courier New", monospace;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  fill: #1f2724;
  letter-spacing: -1.4px;
}
.hero-calculator-expression {
  font-family: "Courier New", monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  fill: #323c38;
  opacity: 0.9;
}
.hero-mobile-mask {
  display: none;
}
.hero-calculator-key {
  opacity: 0;
  fill: #ffb26a;
  stroke: #fff2d4;
  stroke-width: 3;
  transition: opacity 0.14s ease;
}
.hero-calculator-key.is-pressed { opacity: 0.56; }
.hero-motion-toggle {
  position: absolute;
  right: 0.24rem;
  bottom: 0.2rem;
  z-index: 2;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.94);
  color: #5b3c28;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(90, 45, 0, 0.08);
}
.hero-motion-toggle::before,
.hero-motion-toggle::after {
  content: "";
  width: 3px;
  height: 10px;
  background: currentColor;
  border-radius: 1px;
  margin: 0 2px;
}
.hero-motion-toggle[aria-pressed="true"]::before {
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid currentColor;
  background: none;
  border-radius: 0;
  margin-left: 4px;
}
.hero-motion-toggle[aria-pressed="true"]::after { display: none; }
.hero-motion-toggle:focus-visible { outline: 2px solid #29251f; outline-offset: 4px; }
@media only screen and (max-width: 767px) {
  .common-banner.top-banner .banner-wrapper {
    display: flex;
    flex-direction: column;
    padding-bottom: 0.14rem;
    overflow: hidden;
  }
  .top-banner .banner-wrapper > .wrapper { order: 1; }
  .hero-mobile-mask { display: block; }
  .hero-calculator-art {
    position: relative;
    inset: auto;
    order: 2;
    width: min(100%, 3.35rem);
    height: 2.32rem;
    margin: 0.04rem auto 0.04rem;
    z-index: 0;
  }
  .hero-calculator-scene {
    transform-box: view-box;
    transform-origin: 1470px 483px;
    transform: rotate(9deg);
    animation: hero-calc-float 6.5s ease-in-out infinite;
  }
  .top-banner.is-hero-paused .hero-calculator-scene {
    animation-play-state: paused;
  }
  .hero-motion-toggle {
    right: 0.16rem;
    bottom: 0.16rem;
    width: 28px;
    height: 28px;
    background: rgba(255, 250, 244, 0.22);
    border-color: rgba(255, 255, 255, 0.42);
    color: #fffaf4;
    box-shadow: none;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
}
@keyframes hero-calc-float {
  0%, 100% { transform: rotate(9deg) translateY(0); }
  50% { transform: rotate(9deg) translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-calculator-key { transition: none; }
  .hero-calculator-scene { animation: none; }
}
