/* Inter: the identical Latin variable font recorded in Wave's April 2024 scan.
   The current Wave site could not be inspected. License: fonts/OFL.txt. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('./fonts/inter-latin-variable.woff2') format('woff2');
}
:root { font-family: 'Inter', Arial, sans-serif; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, .brand, .giant-word, .ticker span, .closing-watermark, .game-mark {
  font-family: 'Inter', Arial, sans-serif;
}
h1, h2, h3 { text-wrap: balance; }
.hero h1 {
  font-size: clamp(4.25rem, 7.2vw, 6.6rem);
  font-weight: 750;
  letter-spacing: -.065em;
  line-height: 1.06;
  margin-block: 25px 27px;
}
.hero-description { font-size: 1.0625rem; color: #a6aec0; }
.hero h1 span { background-image: linear-gradient(105deg, #d4e3ff, #86acff 50%, #627dff); }
h2 { font-weight: 650; letter-spacing: -.055em; line-height: 1.15; }
h2 span { color: #919aaf; }
.brand { letter-spacing: -.055em; font-weight: 800; }
.header nav { font-weight: 500; }
.button { font-weight: 650; letter-spacing: -.015em; }
.hero-meta, .eyebrow, .eyebrow-free, .scroll-cue, .hero-index, .overline,
.tag, .free-label, .visual-label, .product-tags span, .release-note,
.window-bar, .demo-top small, .preview-tag, .demo-tabs button,
.demo-profile small, .demo-profile>span, .setting-row small,
.demo-footer, .demo-disclaimer, .closing .overline,
footer p, footer>span, footer>a, dialog .overline { font-size: .75rem; }
.eyebrow { letter-spacing: .11em; }
.eyebrow-free { letter-spacing: .065em; }
.scroll-cue, .hero-index { letter-spacing: .12em; }
.free-label { font-size: .6875rem; }
.visual-label { letter-spacing: .08em; }
.hero-meta { color: #a4adbf; }
.section-head>p, .card-content p, .feature p, .faq-list details p { font-size: 1rem; }
.section-head>p { line-height: 1.7; }
.product-title h3 { font-weight: 650; letter-spacing: -.04em; }
.product-title>span>span { font-size: .75rem; }
.product-tags span { padding: 7px 10px; }
.release-note { color: #9ba5b9; }
.feature h3 { font-weight: 600; }
.feature p { color: #a0aabe; }
.demo-top h3 { font-weight: 600; font-size: 1.5rem; }
.demo-top small { font-size: .6875rem; letter-spacing: .08em; }
.preview-tag { font-size: .625rem; }
.demo-profile b, .setting-row b { font-size: .875rem; }
.demo-profile small, .setting-row small, .demo-footer { font-size: .75rem; color: #94a1b9; }
.demo-profile>span { font-size: .6875rem; }
.window-bar, .demo-disclaimer { color: #91a0b8; }
.swatches button { width: 18px; height: 18px; position: relative; }
.swatches button::after { content: ''; position: absolute; inset: -7px; }
.swatches { gap: 11px; }
.switch { min-width: 36px; width: 36px; height: 22px; position: relative; }
.switch::before { width: 16px; height: 16px; }
.switch::after { content: ''; position: absolute; inset: -8px; }
.faq-list summary { font-size: 1rem; font-weight: 500; }
.closing { padding-block: 55px 65px; }
.closing h2 { font-weight: 650; }
.html-download { color: #a9c5ff; }
.dialog-description { font-size: 1rem; }
.availability b { font-size: .875rem; }
.availability p, .download-options p { font-size: .875rem; }
.hero-art { translate: var(--parallax-x, 0px) var(--parallax-y, 0px); transition: translate 1.4s cubic-bezier(.2,.8,.2,1); }
.hero-shade { background: linear-gradient(90deg,#05070dfa 0%,#05070dcc 28%,transparent 64%),linear-gradient(0deg,var(--bg),transparent 28%,transparent 85%,#05070d80); }
.product-grid .product-card:nth-child(2) { transition-delay: 80ms; }
@media (max-width:1050px) {
  .hero h1 { font-size: clamp(4.5rem, 8.1vw, 5.5rem); }
  .hero-shade { background: linear-gradient(90deg,#05070df5,#05070da0 48%,#05070d20),linear-gradient(0deg,var(--bg),transparent 50%); }
  .experience-grid { gap: 32px; }
  .demo-body { padding: 20px; }
  .demo-top h3 { font-size: 1.3rem; }
  .demo-profile small, .setting-row small { max-width: 155px; line-height: 1.5; }
  .demo-footer { font-size: .6875rem; }
}
@media (max-width:720px) {
  .hero { padding-top: 150px; }
  .hero h1 { font-size: clamp(3.45rem, 13.1vw, 5.65rem); letter-spacing: -.065em; }
  .hero-description { font-size: 1rem; line-height: 1.75; max-width: 340px; }
  .hero-actions .button { font-size: .875rem; min-height: 50px; padding: 14px 18px; }
  .eyebrow { gap: 7px; font-size: .6875rem; letter-spacing: .08em; }
  .eyebrow-free { font-size: .625rem; }
  .hero-meta { flex-wrap: wrap; font-size: .75rem; row-gap: 8px; }
  .hero-shade { background: linear-gradient(0deg,#05070d 0%,#05070d25 30%,#05070db5 63%,#05070d 100%),linear-gradient(90deg,#05070d60,transparent); }
  .scroll-cue { font-size: .625rem; gap: 12px; letter-spacing: .1em; }
  .hero-index { font-size: .625rem; letter-spacing: .06em; }
  .section-head>p { font-size: 1rem; }
  h2 { font-size: clamp(2rem,9.2vw,2.65rem); }
  .product-title h3 { font-size: 1.4rem; }
  .card-top { padding: 20px; }
  .tag { font-size: .6875rem; }
  .free-label { font-size: .625rem; }
  .visual-label { font-size: .625rem; }
  .demo aside { padding-inline: 10px; }
  .demo-body { padding: 18px 14px; }
  .demo-top h3 { font-size: 1.2rem; }
  .demo-top small { font-size: .625rem; }
  .demo-tabs button { font-size: .75rem; }
  .setting-row { gap: 14px; }
  .setting-row small { font-size: .6875rem; }
  .demo-footer { gap: 8px; }
  .demo-disclaimer { font-size: .6875rem; padding-inline: 12px; }
  .swatches { gap: 9px; }
  .swatches button { width: 16px; height: 16px; }
  .closing h2 { font-size: 2rem; }
  footer { gap: 22px 18px; }
  footer>span { width: 100%; font-size: .75rem; }
  footer>a { margin: 0; font-size: .75rem; }
  footer>a:last-child { margin-left: auto; }
  dialog h2 { font-size: 2.375rem; }
  .dialog-close { min-width: 44px; min-height: 44px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-art { translate: none; }
  .product-grid .product-card:nth-child(2) { transition-delay: 0s; }
}

/* Centered hero and a fixed product strip. */
.hero { min-height: 740px; height: 88svh; max-height: 900px; }
.hero-content { text-align: center; padding-bottom: 0; }
.hero h1 { font-size: clamp(4rem, 7.4vw, 7rem); line-height: 1.06; letter-spacing: -.06em; }
.eyebrow, .hero-actions { justify-content: center; }
.hero-description { margin: 0 auto 30px; max-width: 580px; }
.hero-art { inset: -14% -10%; opacity: .48; background-position: 58% 52%; }
.hero-shade { background: radial-gradient(ellipse at 50% 42%, #05070d82 0%, #05070d44 35%, #05070d99 75%),linear-gradient(0deg,#05070d,transparent 40%,#05070d55); }
.grid-floor { display: none; }
.scroll-cue { left: 50%; bottom: 25px; transform: translateX(-50%); }
.ticker { padding: 0; }
.ticker-track { width: min(1100px, 100%); margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; animation: none; }
.ticker-track span { min-width: 0; text-align: center; padding: 30px 18px; color: #a0a9ba; font-size: 14px; font-weight: 600; letter-spacing: .12em; }
.ticker-track span + span { border-left: 1px solid #ffffff0c; }
.section { padding-block: 90px; }
.section-head { align-items: center; }
.section-head h2, .faq-section h2 { font-size: clamp(32px, 3.4vw, 46px); letter-spacing: -.045em; }
.section-head>p { color: #8e99ac; }
.product-card { border-radius: 10px; }
.card-top { padding: 25px 28px 22px; }
.card-content { border-top: 0; padding-top: 0; }
.product-title h3 { margin-bottom: 16px; font-size: clamp(21px, 2vw, 26px); }
.product-tags { margin-bottom: 28px; }
.free-label { background: transparent; border-color: #ffffff1a; color: #afbcd0; }
.product-title>span { color: #b7c7e2; }
.experience { background: #080b12; }
.feature-list { gap: 29px; }
.feature { padding-bottom: 26px; border-bottom: 1px solid #ffffff0b; }
.feature:last-child { border-bottom: none; padding-bottom: 0; }
.feature h3 { font-size: 18px; }
.interface-shell { transform: none; border-radius: 10px; }
.faq-section { grid-template-columns: .85fr 1.15fr; }
footer { padding-top: 30px; border-top: 1px solid #ffffff12; }
@media (max-width:720px) {
  .hero { min-height: 710px; height: 88svh; padding-top: 155px; }
  .hero h1 { font-size: clamp(3.1rem, 12.5vw, 5.25rem); }
  .hero-description { font-size: 15px; max-width: 340px; }
  .hero-actions { gap: 11px; }
  .hero-actions .button { padding: 13px 16px; font-size: 13px; }
  .hero-art { inset: 0 -70%; opacity: .4; }
  .ticker-track span { font-size: 11px; letter-spacing: .035em; padding: 24px 9px; line-height: 1.7; display: grid; place-items: center; }
  .section { padding-block: 64px; }
  .section-head>p { margin-top: 14px; }
  .card-top { padding: 24px 24px 20px; }
  .product-title h3 { font-size: 21px; }
  .faq-section { grid-template-columns: 1fr; }
  footer { padding-top: 26px; }
}
