/* The launch surface: one product, one invitation. */
.launch-page { background: #050505; }
.launch-page .site-header { max-width: 1440px; width: 100%; min-height: 88px; padding: 20px 48px; margin: 0 auto; background: transparent; backdrop-filter: none; }
.launch-page .site-header .brand { font-size: 23px; letter-spacing: -1.1px; }
.launch-page .site-header nav { gap: 28px; }
.launch-page .site-header nav a { color: #929292; font-size: 13px; text-decoration: none; }
.launch-page .site-header nav a:hover { color: #ededed; }
.launch-hero { position: relative; isolation: isolate; max-width: 1440px; min-height: calc(100svh - 88px); margin: 0 auto; padding: 42px 32px 42px; text-align: center; overflow: clip; }
.launch-hero::before { content: ""; position: absolute; z-index: -2; inset: 100px 0 0; background: radial-gradient(ellipse at 50% 42%, #24242468, transparent 54%); pointer-events: none; }
.launch-hero::after { content: ""; position: absolute; z-index: -1; inset: 20px 0 0; opacity: .3; background: radial-gradient(#686868 .8px, transparent 1px); background-size: 7px 7px; mask-image: radial-gradient(ellipse at 50% 48%, transparent 18%, #000 53%, transparent 73%); pointer-events: none; }
.launch-heading h1 { max-width: none; margin: 0; color: #ededed; font-size: clamp(42px, 5vw, 68px); font-weight: 500; line-height: 1.13; letter-spacing: -.045em; text-wrap: balance; }
.launch-heading h1 span { color: #929292; }
.launch-heading > p { margin: 16px 0 0; color: #969696; font: 14px/1.7 var(--mono); letter-spacing: -.025em; }
.launch-product { width: min(100%, 700px); margin: 45px auto 42px; padding: 4px 15px 8px; }
.launch-phone { padding: 6px; border: 1px solid #656565; border-radius: 48px; background: linear-gradient(145deg, #707070, #252525 32%, #161616 75%, #424242); box-shadow: 0 26px 45px #000c, inset 0 0 0 2px #292929; transform: perspective(1500px) rotateX(8deg) rotateY(-8deg) rotateZ(-3deg); }
.launch-phone img { width: 100%; height: auto; border: 1px solid #0a0a0a; border-radius: 40px; }
.launch-hero .signup-card { position: relative; width: min(100%, 550px); margin: 0 auto; padding: 9px; border-color: #333; border-radius: 21px; background: #090909; }
.launch-hero .signup-card .form-row { padding: 7px; border-radius: 14px; }
.launch-hero .signup-card .form-row input { height: 44px; font-size: 14px; }
.launch-hero .signup-card .form-row button { display: inline-flex; gap: 15px; min-height: 44px; font-weight: 450; }
.launch-hero .signup-card .form-row button:active { transform: scale(.98); }
.launch-hero .signup-consent { margin: 9px 4px 2px; font-size: 10px; color: #8f8f8f; }
.launch-platforms { margin: 18px 0 0; color: #777; font: 10px/1.8 var(--mono); }
.launch-page .site-footer { border-color: #1d1d1d; }
@media (min-width: 641px) and (max-height: 800px) {
  .launch-page .site-header { min-height: 72px; padding-block: 16px; }
  .launch-hero { min-height: calc(100svh - 72px); padding-block: 22px 32px; }
  .launch-heading h1 { font-size: clamp(42px, 4.5vw, 58px); }
  .launch-heading > p { margin-top: 12px; }
  .launch-product { max-width: 610px; margin-block: 28px 30px; }
}
@media (max-width: 640px) {
  .launch-page .site-header { min-height: 74px; padding: 18px 22px; flex-wrap: nowrap; }
  .launch-page .site-header nav { gap: 20px; }
  .launch-page .site-header nav a { font-size: 12px; }
  .launch-hero { min-height: calc(100svh - 74px); padding: 25px 20px 44px; }
  .launch-heading h1 { font-size: clamp(38px, 10.5vw, 56px); letter-spacing: -.045em; }
  .launch-heading h1 span { display: block; }
  .launch-heading > p { margin-top: 15px; font-size: 12px; }
  .launch-product { width: calc(100% + 12px); margin: 37px -6px 33px; padding: 4px 9px 8px; }
  .launch-phone { padding: 4px; border-radius: 29px; transform: perspective(1000px) rotateX(5deg) rotateY(-6deg) rotateZ(-4deg); }
  .launch-phone img { border-radius: 23px; }
  .launch-hero .signup-card { padding: 7px; border-radius: 18px; }
  .launch-hero .signup-card .form-row { padding: 5px; border-radius: 12px; }
  .launch-hero .signup-card .form-row input { font-size: 16px; }
  .launch-hero .signup-card .form-row button { gap: 7px; padding-inline: 11px; font-size: 12px; }
  .launch-platforms { max-width: 280px; margin: 17px auto 0; font-size: 9px; }
}
@media (max-width: 640px) and (max-height: 650px) {
  .launch-hero { padding-top: 12px; padding-bottom: 28px; }
  .launch-heading h1 { font-size: 36px; }
  .launch-product { margin-block: 22px 23px; }
}

/* Current phone-controller launch, demo pricing and receiver distribution. */
.launch-heading .eyebrow { margin: 0 0 20px; font: 10px/1.5 var(--mono); letter-spacing: .14em; }
.launch-heading .hero-description { max-width: 640px; margin: 20px auto 0; font: 16px/1.8 var(--sans, system-ui, sans-serif); letter-spacing: 0; }
.launch-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.availability-note { color: #aaa; font-size: 12px; margin-top: 18px; }
.availability-note a { color: #dedede; text-underline-offset: 4px; }
.launch-page .launch-phone { transform: none; border-radius: 31px; padding: 5px; }
.launch-page .launch-phone img { border-radius: 26px; }
.launch-page .launch-product { max-width: 880px; margin-block: 44px 22px; }
.launch-page .launch-platforms { font-size: 11px; color: #999; }
.pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.price-card { border: 1px solid #303030; background: #0b0b0b; border-radius: 24px; padding: 36px; display: flex; flex-direction: column; }
.price-card.pro-card { border-color: #858585; background: #121212; }
.price-card h3 { margin: 0; font-size: clamp(42px, 5vw, 60px); letter-spacing: -.06em; font-weight: 500; }
.price-card h3 span { font-size: 13px; letter-spacing: 0; color: #aaa; }
.price-card .price-subtitle { color: #ededed; margin: 10px 0; font-size: 15px; }
.price-card .quiet-checklist { margin-block: 14px 30px; }
.price-card .button { margin-top: auto; align-self: flex-start; }
.pricing-note { max-width: 760px; margin: 24px auto 0; text-align: center; }
.receiver-card { display: grid; grid-template-columns: 1fr auto; gap: 40px; padding: 36px; border: 1px solid #303030; border-radius: 24px; background: #0b0b0b; }
.receiver-card h3 { margin-top: 0; font-size: 24px; }
.receiver-card .download-detail { max-width: 540px; font-size: 12px; }
.receiver-actions { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; }
.launch-page a:focus-visible { outline: 2px solid #ededed; outline-offset: 5px; }
@media (max-width: 640px) {
 .launch-page .site-header nav { gap: 14px; }
 .launch-page .site-header nav a { font-size: 11px; }
 .launch-heading .hero-description { font-size: 14px; }
 .launch-heading .hero-description br { display: none; }
 .pricing-grid, .receiver-card { grid-template-columns: 1fr; }
 .price-card, .receiver-card { padding: 26px; }
 .launch-page .launch-platforms { max-width: none; font-size: 10px; }
}

.current-docs .docs-hero { grid-template-columns: 1fr; min-height: auto; padding-block: 70px; }
.current-docs .docs-layout { padding-bottom: 80px; }
.current-docs .docs-copy h2 { scroll-margin-top: 100px; }
.historical-note { padding-top: 24px; font-size: 13px; color: #aaa; }

.launch-page .brand { gap: 0; }
@media(max-width:640px) { .launch-page .site-header nav a:first-child { display: inline; } }

.hero-pricing { margin: 18px 0 0; color: #c8c8c8; font-size: 13px; }

/* Ability artwork stays aligned with the ConsolePort screenshot at every size. */
.consoleport-preview { position: relative; }
.consoleport-preview > img:first-child { display: block; }
.launch-page .consoleport-preview .ability-icon { position: absolute; width: 6.65%; height: auto; aspect-ratio: 1; object-fit: cover; border: 0; border-radius: 50%; transform: translate(-50%, -50%); pointer-events: none; }
.ability-y { left: 75.4%; top: 28.9%; }
.ability-x { left: 65.3%; top: 51.2%; }
.ability-b { left: 85.5%; top: 51.2%; }
.ability-a { left: 75.4%; top: 73.2%; }
.ability-up { left: 24.6%; top: 28.9%; }
.ability-left { left: 14.5%; top: 51.2%; }
.ability-right { left: 34.7%; top: 51.2%; }
.ability-lt { left: 44.7%; top: 37.1%; }
.ability-rt { left: 55.7%; top: 37.1%; }
 .ability-down { left: 24.6%; top: 73.2%; width: 6.95% !important; }

/* WoW-first positioning keeps the existing layout and controller artwork. */
.launch-page .preview-caption { max-width: 640px; margin: 18px auto 0; padding-inline: 24px; color: #aaa; font-size: 12px; line-height: 1.6; text-align: center; }
.launch-page .launch-heading h1 { text-wrap: balance; }
