:root {
  --blue:#2563eb;
  --blue-dark:#1d4ed8;
  --ink:#1f2937;
  --muted:#576477;
  --line:#dfe5ee;
  --paper:#f4f7fc;
  --purple:#6d5ce7;
  --max:1160px;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}

body {
  margin:0;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.6;
  background:#fff;
}

a {
  color:var(--blue-dark);
  text-underline-offset:4px;
}

a,button {
  -webkit-tap-highlight-color:transparent;
}

a:focus-visible,summary:focus-visible {
  outline:3px solid #eea41d;
  outline-offset:5px;
}

img {
  max-width:100%;
  display:block;
}

h1,h2,h3,p {
  margin-top:0;
}

h1,h2,h3 {
  line-height:1.13;
  letter-spacing:-.045em;
}

h1 {
  font-size:clamp(42px,5vw,68px);
}

h2 {
  font-size:clamp(32px,3.3vw,44px);
  font-weight:700;
}

h3 {
  font-size:23px;
  letter-spacing:-.025em;
}

p {
  margin-bottom:1.1em;
}

.wrap {
  width:min(var(--max),calc(100% - 80px));
  margin-inline:auto;
}

.skip {
  position:absolute;
  left:16px;
  top:-100px;
  background:white;
  padding:12px;
  z-index:10;
}

.skip:focus {
  top:10px;
}

.header {
  background:white;
}

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:88px;
  gap:24px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#142338;
  text-decoration:none;
  font-size:25px;
  font-weight:800;
  letter-spacing:-1.1px;
  white-space:nowrap;
}

.brand img {
  border-radius:10px;
}

.brand-dot {
  color:var(--blue);
}

.header nav {
  display:flex;
  align-items:center;
  gap:30px;
  font-size:14px;
  font-weight:600;
}

.header nav a {
  text-decoration:none;
  color:var(--ink);
  padding-block:12px;
}

.header nav a:hover {
  color:var(--blue);
}

.header .nav-app {
  white-space:nowrap;
  border:1px solid var(--line);
  padding:10px 17px;
  border-radius:8px;
}

.nav-app span {
  margin-left:15px;
}

.hero {
  position:relative;
  isolation:isolate;
  min-height:570px;
  background:#071627;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-image,.hero-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-2;
}

.hero-image {
  object-fit:cover;
  object-position:65% center;
}

.hero-shade {
  z-index:-1;
  background:linear-gradient(90deg,rgba(3,13,29,.83),rgba(3,13,29,.65) 36%,rgba(3,13,29,.04) 69%);
}

.hero-content {
  padding-top:68px;
  padding-bottom:92px;
}

.eyebrow {
  font-size:11px;
  letter-spacing:.15em;
  font-weight:700;
  color:var(--blue-dark);
  margin-bottom:24px;
}

.eyebrow.light {
  color:#d5e8ff;
  display:flex;
  align-items:center;
  gap:10px;
}

.live-dot {
  width:7px;
  height:7px;
  border-radius:100%;
  background:#70c7ff;
}

.hero h1 {
  max-width:750px;
  line-height:1.08;
  margin-bottom:24px;
  letter-spacing:-.052em;
}

.hero h1 span {
  color:#a5d9ff;
}

.hero-intro {
  color:#d1dbe8;
  font-size:18px;
  line-height:1.7;
  margin-bottom:28px;
}

.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  border-radius:8px;
  padding:14px 21px;
  font-weight:600;
  text-decoration:none;
  font-size:14px;
  min-height:50px;
  transition:background .15s;
}

.primary {
  background:var(--blue);
  color:white;
}

.primary:hover {
  background:var(--blue-dark);
}

.glass {
  color:white;
  border:1px solid #708094;
  background:#102236a8;
}

.glass:hover {
  background:#213751;
}

.hero-note {
  font-size:12px;
  color:#c7d3e0;
  margin:16px 0 0;
}

.hero-foot {
  display:flex;
  justify-content:space-between;
  position:absolute;
  bottom:22px;
  left:0;
  right:0;
  font-size:9px;
  letter-spacing:.18em;
  color:#afc1d0;
  border-top:1px solid #ffffff26;
  padding-top:20px;
}

.sports-strip {
  border-bottom:1px solid var(--line);
  background:#f9fbff;
}

.sports-strip .wrap {
  display:flex;
  align-items:center;
  gap:40px;
  min-height:80px;
}

.strip-label {
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}

.sport-names {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  flex:1;
  font-size:16px;
  font-weight:600;
}

.sport-names i {
  font-size:18px;
  color:#758fc6;
  font-style:normal;
}

.section {
  padding-block:86px;
}

.section-heading {
  display:flex;
  justify-content:space-between;
  gap:64px;
  align-items:flex-end;
  margin-bottom:36px;
}

.section-heading h2 {
  margin-bottom:0;
}

.section-heading>p {
  color:var(--muted);
  max-width:370px;
  font-size:16px;
  margin:0 0 3px;
}

.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.feature {
  border:1px solid var(--line);
  border-radius:12px;
  padding:29px 27px 25px;
  display:flex;
  flex-direction:column;
}

.feature-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:35px;
  color:var(--blue);
}

.feature-top>span {
  font-size:11px;
  letter-spacing:.06em;
  color:#7f8b9c;
}

.feature:nth-child(2) .feature-top {
  color:var(--purple);
}

.feature:nth-child(3) .feature-top {
  color:#118164;
}

.feature p {
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:24px;
}

.feature h3 {
  max-width:230px;
  line-height:1.2;
  margin-bottom:15px;
}

.feature-tag {
  font-size:11px;
  font-weight:600;
  background:#eef4ff;
  border-radius:4px;
  padding:4px 9px;
  align-self:flex-start;
  color:#355588;
  margin-top:auto;
}

.availability {
  color:var(--muted);
  font-size:12px;
  margin:22px 0 0;
}

.play-section {
  background:var(--paper);
  border-block:1px solid #eaf0f9;
}

.play-inner {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:90px;
  padding-block:72px;
}

.play-heading>p:not(.eyebrow) {
  color:var(--muted);
  max-width:390px;
  font-size:15px;
}

.play-heading .button {
  margin-top:12px;
}

.steps {
  list-style:none;
  padding:0;
  margin:0;
}

.steps li {
  display:flex;
  gap:22px;
  padding:26px 0;
  border-bottom:1px solid #dce5f2;
}

.steps li:first-child {
  padding-top:0;
}

.steps li:last-child {
  border:0;
  padding-bottom:0;
}

.steps li>span {
  display:grid;
  place-items:center;
  border:1px solid #c8d6eb;
  background:white;
  width:38px;
  height:38px;
  border-radius:100%;
  font-size:11px;
  flex:none;
  color:var(--blue);
}

.steps h3 {
  font-size:20px;
  margin:7px 0 9px;
}

.steps p {
  font-size:14px;
  color:var(--muted);
  margin:0;
}

.contact-section {
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:70px;
  align-items:center;
}

.contact-section h2 {
  margin-bottom:22px;
}

.contact-section p:not(.eyebrow) {
  font-size:15px;
  color:var(--muted);
}

.contact-line {
  margin:24px 0 0;
}

.contact-links a {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-size:15px;
  text-decoration:none;
}

.contact-links a:hover {
  color:var(--blue);
}

.contact-links a span {
  color:var(--blue);
}

.pending {
  color:#745214;
  font-size:.92em;
  background:#fff4db;
  padding:2px 5px;
  border-radius:3px;
  overflow-wrap:anywhere;
}

.footer {
  border-top:1px solid var(--line);
  background:#fafcff;
}

.footer-top {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:35px;
  padding-block:46px;
}

.footer .brand {
  font-size:23px;
}

.footer .brand img {
  width:31px;
  height:31px;
  border-radius:8px;
}

.footer-top p {
  font-size:12px;
  color:var(--muted);
  margin:15px 0;
}

.footer-top p.small {
  font-size:10px;
  max-width:230px;
}

.footer-top p.footer-label {
  font-size:11px;
  font-weight:700;
  color:var(--ink);
  margin:5px 0 17px;
}

.footer-top>div>a:not(.brand) {
  display:block;
  margin-bottom:9px;
  font-size:12px;
  text-decoration:none;
  color:#536177;
}

.footer-top>div>a:hover {
  color:var(--blue);
}

.footer-bottom {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-block:20px;
  color:#6c7789;
  font-size:10px;
}

.document {
  padding-top:40px;
  padding-bottom:90px;
}

.narrow {
  max-width:820px;
}

.page-head {
  max-width:840px;
  padding-top:0;
}

.back-link {
  font-size:12px;
  color:var(--muted);
  display:inline-block;
  margin-bottom:38px;
  text-decoration:none;
}

.page-head .eyebrow {
  margin-bottom:20px;
}

.page-head h1 {
  font-size:clamp(40px,4.4vw,58px);
  margin-bottom:21px;
}

.page-intro {
  color:var(--muted);
  font-size:18px;
  max-width:700px;
  line-height:1.65;
  margin-bottom:32px;
}

.policy-meta {
  display:flex;
  flex-wrap:wrap;
  gap:12px 30px;
  font-size:12px;
  margin-bottom:25px;
}

.notice {
  border-left:3px solid #c28d2b;
  background:#fff8e9;
  padding:22px 25px;
  margin:24px 0 36px;
  color:#58482b;
  font-size:14px;
}

.notice p:last-child {
  margin-bottom:0;
}

.notice h2 {
  font-size:23px;
  line-height:1.3;
}

.document-grid {
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:75px;
  align-items:start;
  padding-top:14px;
}

.contents {
  border-left:1px solid var(--line);
  padding:0 0 0 22px;
  font-size:12px;
}

.contents>p {
  font-weight:700;
  font-size:10px;
  letter-spacing:.1em;
  color:#66758b;
  margin-bottom:19px;
}

.contents>a {
  display:block;
  color:var(--muted);
  text-decoration:none;
  line-height:1.5;
  padding-block:6px;
}

.contents>a:hover {
  color:var(--blue);
}

.contents hr {
  border:0;
  border-top:1px solid var(--line);
  margin:22px 0;
}

.prose {
  font-size:15px;
  color:#465368;
  overflow-wrap:anywhere;
}

.prose section {
  margin-bottom:34px;
  scroll-margin-top:28px;
}

.prose h2 {
  font-size:25px;
  color:var(--ink);
  letter-spacing:-.025em;
  line-height:1.3;
  margin-bottom:15px;
}

.prose p,.prose li {
  line-height:1.85;
}

.prose li {
  margin-bottom:10px;
}

.prose ul,.prose ol {
  padding-left:24px;
}

.support-contact {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  padding:30px;
  margin-bottom:40px;
  font-size:14px;
  color:var(--muted);
  overflow-wrap:anywhere;
}

.support-contact h2 {
  font-size:24px;
  color:var(--ink);
}

.support-contact p:last-child {
  margin-bottom:0;
}

.large-contact {
  font-size:24px;
  margin-bottom:16px;
}

.support-contact .button {
  margin:8px 0 18px;
}

.review-fields {
  margin:0;
}

.review-fields>div {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  border-bottom:1px solid var(--line);
  padding:15px 0;
}

.review-fields dt {
  font-weight:600;
}

.review-fields dd {
  margin:0;
}

.not-found {
  padding-block:100px;
}

.not-found h1 {
  margin-bottom:30px;
}

.not-found p:not(.eyebrow) {
  color:var(--muted);
  margin-bottom:30px;
}

@media(min-width:1700px) {
  .hero-image {
    object-position:center 45%;
  }
  .hero {
    min-height:650px;
  }
  .hero-shade {
    background:linear-gradient(90deg,#03101fde,transparent 85%);
  }
}

@media(max-width:1000px) {
  .wrap {
    width:calc(100% - 48px);
  }
  .hero h1 {
    font-size:56px;
  }
  .hero-shade {
    background:linear-gradient(90deg,#030d1ddb,#030d1d88 55%,#030d1d11);
  }
  .sport-names {
    font-size:13px;
    gap:16px;
  }
  .sports-strip .wrap {
    gap:25px;
  }
  .section-heading {
    gap:38px;
  }
  .section-heading>p {
    max-width:300px;
  }
  .feature {
    padding:25px 22px;
  }
  .play-inner {
    gap:50px;
  }
  .footer-top {
    gap:25px;
  }
  .document-grid {
    grid-template-columns:200px minmax(0,1fr);
    gap:35px;
  }
}

@media(max-width:700px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .header-inner {
    min-height:76px;
    gap:10px;
  }
  .brand {
    font-size:22px;
    gap:8px;
  }
  .brand img {
    width:31px;
    height:31px;
    border-radius:8px;
  }
  .header nav {
    gap:17px;
    font-size:12px;
  }
  .header nav>a:first-child {
    display:none;
  }
  .header .nav-app {
    padding:8px 10px;
  }
  .nav-app span {
    margin-left:7px;
  }
  .hero {
    min-height:605px;
    justify-content:flex-start;
  }
  .hero-content {
    padding-top:48px;
    padding-bottom:88px;
  }
  .hero-image {
    object-position:68% center;
    opacity:.8;
  }
  .hero-shade {
    background:linear-gradient(90deg,#031023ec,#0310236b),linear-gradient(0deg,#03102344,transparent);
  }
  .hero h1 {
    font-size:clamp(38px,8.2vw,54px);
    line-height:1.1;
    max-width:540px;
    margin-bottom:24px;
  }
  .hero .eyebrow {
    font-size:9px;
    letter-spacing:.13em;
    margin-bottom:27px;
  }
  .hero-intro {
    font-size:16px;
    max-width:300px;
  }
  .actions {
    gap:10px;
  }
  .button {
    padding:13px 17px;
    font-size:12px;
    gap:16px;
  }
  .hero-foot {
    font-size:8px;
    bottom:24px;
  }
  .hero-foot-right {
    display:none;
  }
  .hero-note {
    font-size:11px;
  }
  .sports-strip .wrap {
    display:block;
    padding-block:20px;
  }
  .strip-label {
    display:block;
    font-size:10px;
    margin-bottom:12px;
  }
  .sport-names {
    font-size:11px;
    gap:8px;
    justify-content:space-between;
  }
  .sport-names i {
    font-size:11px;
  }
  .section {
    padding-block:55px;
  }
  .section-heading {
    display:block;
    margin-bottom:29px;
  }
  .section-heading h2 {
    margin-bottom:23px;
  }
  .section-heading>p {
    max-width:500px;
    font-size:15px;
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:19px;
  }
  h2 {
    font-size:34px;
  }
  .feature-grid {
    grid-template-columns:1fr;
    gap:16px;
  }
  .feature {
    padding:25px;
  }
  .feature-top {
    margin-bottom:24px;
  }
  .feature h3 {
    max-width:none;
    font-size:22px;
  }
  .feature p {
    margin-bottom:19px;
  }
  .availability {
    font-size:11px;
  }
  .play-inner {
    grid-template-columns:1fr;
    gap:42px;
    padding-block:52px;
  }
  .play-heading>p:not(.eyebrow) {
    max-width:none;
  }
  .steps li {
    padding-block:22px;
  }
  .steps h3 {
    font-size:19px;
  }
  .contact-section {
    grid-template-columns:1fr;
    gap:22px;
  }
  .contact-section p br {
    display:none;
  }
  .contact-links a {
    padding-block:18px;
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:30px 20px;
    padding-block:36px;
  }
  .footer-top>div:first-child {
    grid-column:1/-1;
  }
  .footer-top p.small {
    max-width:none;
  }
  .footer-top p.footer-label {
    margin-bottom:13px;
  }
  .footer-bottom {
    font-size:9px;
  }
  .document {
    padding-top:26px;
    padding-bottom:45px;
  }
  .back-link {
    margin-bottom:30px;
  }
  .page-head h1 {
    font-size:39px;
  }
  .page-intro {
    font-size:16px;
    margin-bottom:26px;
  }
  .policy-meta {
    display:block;
    line-height:2;
  }
  .policy-meta>span {
    display:block;
  }
  .document-grid {
    display:block;
    padding-top:0;
  }
  .contents {
    border:1px solid var(--line);
    border-radius:8px;
    padding:20px;
    margin-bottom:36px;
  }
  .contents>p {
    margin-bottom:12px;
  }
  .contents hr {
    margin-block:14px;
  }
  .contents>a {
    padding-block:7px;
  }
  .prose {
    font-size:14px;
  }
  .prose h2 {
    font-size:23px;
  }
  .notice {
    padding:20px;
    font-size:13px;
  }
  .notice h2 {
    font-size:21px;
  }
  .support-contact {
    padding:23px;
  }
  .large-contact {
    font-size:20px;
  }
  .review-fields>div {
    grid-template-columns:1fr;
    gap:7px;
  }
  .not-found {
    padding-block:70px;
  }
}

@media(max-width:360px) {
  .header nav a[href="/support"] {
    display:none;
  }
  .wrap {
    width:calc(100% - 32px);
  }
  .header nav {
    gap:10px;
  }
  .brand {
    font-size:20px;
  }
  .hero h1 {
    font-size:37px;
  }
  .sport-names {
    font-size:10px;
    gap:5px;
  }
  .actions {
    flex-direction:column;
    align-items:flex-start;
  }
  .hero {
    min-height:630px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
  }
}

[hidden] { display: none !important; }
.language-switch { display: flex; gap: 8px; justify-content: flex-end; }
.language-switch button { border: 1px solid #cbd5e1; border-radius: 8px; padding: 7px 13px; color: #334155; background: white; cursor: pointer; }
.language-switch button[aria-pressed="true"] { color: #1d4ed8; border-color: #1d4ed8; background: #eff6ff; }
.deletion-panel { margin-top: 40px; padding: 28px; border: 1px solid #cbd5e1; border-radius: 18px; background: #f8fafc; }
.deletion-panel fieldset { border: 0; padding: 0; margin: 22px 0 0; min-width: 0; }
.deletion-panel legend { font-weight: 700; margin-bottom: 18px; }
.deletion-panel label:not(.confirm-choice) { display: block; font-weight: 600; margin: 16px 0 7px; }
.deletion-panel input:not([type="checkbox"]) { display: block; box-sizing: border-box; width: 100%; padding: 12px; font: inherit; border: 1px solid #94a3b8; border-radius: 8px; background: white; }
.deletion-panel button { font: inherit; cursor: pointer; }
.deletion-panel button:disabled { opacity: .55; cursor: not-allowed; }
.deletion-panel p { line-height: 1.65; }
.deletion-panel .danger { color: white; background: #991b1b; border: 1px solid #991b1b; }
.deletion-panel .danger:hover:not(:disabled) { background: #7f1d1d; }
.deletion-error, .deletion-blockers { color: #991b1b; }
.deletion-error:empty, .deletion-blockers:empty { display: none; }
.confirm-choice { display: flex; align-items: flex-start; gap: 12px; line-height: 1.7; margin: 0 0 20px; }
.confirm-choice input { margin-top: 7px; flex-shrink: 0; width: 18px; height: 18px; }
.deletion-actions { flex-wrap: wrap; margin-top: 18px; }
.deletion-related { margin-top: 24px; }
@media (max-width: 560px) { .deletion-panel { padding: 20px; } .deletion-panel .button { white-space: normal; text-align: center; } }

@media print {
  .header,.footer,.contents,.back-link,.skip {
    display:none;
  }
  .wrap {
    width:100%;
    max-width:none;
  }
  .document {
    padding:0;
  }
  .document-grid {
    display:block;
  }
  .prose {
    font-size:11pt;
  }
  .prose section {
    break-inside:avoid;
  }
  .page-head h1 {
    font-size:28pt;
  }
  .notice {
    border:1px solid #888;
    background:white;
  }
  a {
    color:inherit;
  }
  body {
    color:black;
  }
}

/* Download page (/download). Store buttons are disabled "Coming soon" until real listing URLs are configured. */
.header .nav-app[aria-current="page"] { border-color:var(--blue); color:var(--blue); }
.dl-hero { background:#071627; color:#d1dbe8; overflow:hidden; }
.dl-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:48px; align-items:center; padding-block:44px 56px; }
.dl-hero .back-link { color:#9fb2c8; margin-bottom:40px; }
.dl-hero .back-link:hover { color:white; }
.dl-hero h1 { color:white; font-size:clamp(40px,4.4vw,56px); line-height:1.06; letter-spacing:-.05em; margin-bottom:22px; }
.dl-hero h1 span { color:#a5d9ff; }
.dl-intro { font-size:18px; line-height:1.7; color:#d1dbe8; max-width:470px; margin-bottom:32px; }
.store-row { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:18px; }
.store-option { display:flex; flex-direction:column; gap:8px; }
.store-device { margin:0; font-size:12px; font-weight:600; letter-spacing:.02em; color:#9fb2c8; }
.store { display:flex; align-items:center; gap:12px; min-width:200px; min-height:60px; padding:10px 18px; border-radius:12px; background:white; color:#0b1220; text-decoration:none; line-height:1.15; }
.store:hover { background:#e8f0ff; }
.store svg { flex:none; }
.store-text { display:flex; flex-direction:column; }
.store-small { font-size:11px; color:#475569; }
.store-name { font-size:20px; font-weight:700; letter-spacing:-.02em; white-space:nowrap; }
.store.is-pending { background:rgba(255,255,255,.06); color:white; border:1px solid rgba(255,255,255,.26); cursor:default; }
.store.is-pending .store-small { color:#a5d9ff; }
.dl-status { font-size:13px; line-height:1.6; color:#9fb2c8; max-width:440px; margin:0; }
.dl-art { margin:0; justify-self:center; width:100%; max-width:560px; }
.dl-art img { width:100%; height:auto; }
.dl-art figcaption { margin-top:6px; text-align:center; font-size:11px; color:#7f93aa; }
.dl-features { padding-block:84px 20px; }
.dl-features h2 { margin-bottom:40px; }
.dl-feature-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
.dl-feature-list li { border-top:1px solid var(--line); padding-top:24px; }
.dl-feature-list svg { display:block; color:var(--blue); margin-bottom:18px; }
.dl-feature-list li:nth-child(2) svg { color:var(--purple); }
.dl-feature-list li:nth-child(3) svg { color:#118164; }
.dl-feature-list li:nth-child(4) svg { color:var(--blue-dark); }
.dl-feature-list h3 { font-size:19px; line-height:1.25; margin-bottom:10px; }
.dl-feature-list p { font-size:14px; line-height:1.75; color:var(--muted); margin:0; }
.dl-help { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-block:56px 90px; padding:30px 34px; border-radius:14px; background:var(--paper); border:1px solid var(--line); }
.dl-help h2 { font-size:26px; margin-bottom:6px; }
.dl-help p { margin:0; color:var(--muted); font-size:15px; }
.dl-help .button { flex:none; }
@media(max-width:1000px) {
  .dl-hero-grid { gap:28px; }
  .dl-feature-list { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px) {
  .dl-hero-grid { grid-template-columns:1fr; gap:26px; padding-block:24px 30px; }
  .dl-hero .back-link { margin-bottom:26px; }
  .dl-hero h1 { font-size:clamp(34px,10vw,46px); margin-bottom:18px; }
  .dl-intro { font-size:16px; margin-bottom:24px; }
  .store-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .store { min-width:0; min-height:56px; padding:9px 12px; gap:9px; }
  .store svg { width:20px; height:20px; }
  .store-name { font-size:17px; }
  .dl-art { max-width:420px; }
  .dl-features { padding-block:52px 10px; }
  .dl-features h2 { margin-bottom:26px; }
  .dl-feature-list { grid-template-columns:1fr; gap:0; }
  .dl-feature-list li { display:grid; grid-template-columns:44px 1fr; column-gap:14px; padding-block:20px; }
  .dl-feature-list svg { grid-row:span 2; margin:2px 0 0; }
  .dl-feature-list h3 { margin-bottom:6px; }
  .dl-help { flex-direction:column; align-items:flex-start; padding:24px; margin-block:34px 56px; }
}
@media(max-width:359px) {
  .store-row { grid-template-columns:1fr; }
}

/* Full-width launch hero; content stays in normal flow at large text sizes. */
.hero { min-height:calc(100vh - 88px); min-height:calc(100svh - 88px); }
.hero-picture { position:absolute; inset:0; z-index:-2; }
.hero-image { object-position:70% center; opacity:1; }
.hero-shade { background:linear-gradient(90deg,rgba(2,22,49,.91),rgba(3,26,53,.77) 28%,rgba(3,26,53,.36) 49%,rgba(3,26,53,.03) 74%); }
.hero-content { width:calc(100% - clamp(48px,10.6vw,180px)); padding-block:clamp(72px,10vh,150px); }
.hero h1 { font-size:clamp(48px,4.9vw,88px); max-width:820px; line-height:1.03; letter-spacing:-.045em; }
.hero .eyebrow { font-size:13px; color:#9bdbff; margin-bottom:26px; }
.hero-intro { font-size:clamp(18px,1.5vw,25px); line-height:1.4; margin-bottom:34px; }
.hero .button { font-size:17px; min-height:60px; padding:16px 28px; }
.hero .primary { background:#0051ff; }
.hero .primary:hover { background:#0344d1; }
.hero .glass { border-color:#d0def1; background:#0a244580; }
.hero-note { font-size:14px; color:#e0eafa; }
@media(max-width:1000px) and (min-width:701px) {
  .hero h1 { font-size:52px; max-width:580px; }
  .hero-shade { background:linear-gradient(90deg,#021631eb,#031a35a6 48%,#031a350d 90%); }
}
@media(max-width:700px) {
  .header-inner { flex-wrap:wrap; padding-block:14px; min-height:76px; }
  .header nav { flex-wrap:wrap; gap:14px; }
  .hero { min-height:calc(100svh - 76px); justify-content:flex-end; }
  .hero-content { width:calc(100% - 40px); padding-top:320px; padding-bottom:max(36px,env(safe-area-inset-bottom)); }
  .hero-image { object-position:68% top; }
  .hero-shade { background:linear-gradient(0deg,#021631 2%,#021631ee 40%,#021631a6 59%,#02163100 87%); }
  .hero h1 { font-size:clamp(34px,8vw,54px); max-width:100%; margin-bottom:20px; }
  .hero .eyebrow { font-size:10px; letter-spacing:.1em; margin-bottom:18px; }
  .hero-intro { font-size:17px; max-width:100%; margin-bottom:24px; }
  .hero-intro br { display:none; }
  .hero .actions { flex-direction:column; align-items:stretch; }
  .hero .button { font-size:16px; min-height:52px; padding:13px 20px; }
  .hero-note { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Shared public-site reading rhythm and responsive content. */
:root { --blue:#0051ff; --blue-dark:#1548c4; --ink:#12213a; --muted:#586780; --max:1200px; }
body { overflow-wrap:break-word; }
main, .wrap, .feature, .footer-top>div, .dl-copy, .prose, .contents { min-width:0; }
.button, .header nav a { min-height:44px; }
.button { text-align:center; line-height:1.4; }
.secondary { color:var(--blue-dark); background:#edf3ff; border:1px solid #d7e3ff; }
.brand { color:#071c46; }
.header nav a[aria-current=page] { color:var(--blue); }
.header-inner { padding-top:max(12px,env(safe-area-inset-top)); padding-bottom:12px; }
.section { padding-block:clamp(52px,7vw,96px); }
.feature { border-radius:18px; background:#fff; box-shadow:0 8px 28px #18386506; }
.feature p, .steps p, .contact-section p:not(.eyebrow), .contact-links a { font-size:1rem; }
.feature-tag { font-size:.75rem; }
.availability, .strip-label, .footer-top p, .footer-top>div>a:not(.brand) { font-size:.875rem; }
.footer-top p.small, .footer-bottom { font-size:.75rem; }
.footer-top p.footer-label { font-size:.8125rem; letter-spacing:.03em; }
.footer-top>div>a:not(.brand) { padding-block:6px; margin-bottom:4px; }
.sport-names { flex-wrap:wrap; }
.hero-content { max-width:1280px; }
.scene-art { position:relative; overflow:hidden; border-radius:24px; border:1px solid #ffffff26; aspect-ratio:4/5; max-width:520px; }
.scene-art picture { display:block; width:100%; height:100%; }
.scene-art img { width:100%; height:100%; object-fit:cover; object-position:75% center; }
.scene-art:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#051c3de8,transparent 55%); pointer-events:none; }
.scene-art figcaption { position:absolute; z-index:1; bottom:30px; left:30px; right:30px; margin:0; text-align:left; color:white; }
.scene-art figcaption span { display:block; color:#b8e3ff; font-size:.6875rem; letter-spacing:.12em; margin-bottom:12px; }
.scene-art figcaption strong { display:block; font-size:clamp(26px,3vw,40px); line-height:1.15; letter-spacing:-.025em; }
.dl-hero-grid { gap:clamp(24px,5vw,72px); padding-block:48px 64px; }
.dl-status, .store-device { font-size:.875rem; color:#c0cee0; }
.store-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.store-option { min-width:0; }
.store { min-width:0; padding:14px; gap:10px; }
.store-text { min-width:0; }
.store-small { font-size:.75rem; }
.store-name { font-size:1.1875rem; white-space:normal; }
.dl-feature-list p { font-size:1rem; }
.page-head .back-link { margin-bottom:28px; }
.back-link { font-size:.875rem; padding-block:8px; }
.document { padding-block:48px 80px; }
.document-grid { grid-template-columns:240px minmax(0,70ch); justify-content:space-between; gap:clamp(28px,5vw,72px); }
.prose { font-size:1rem; }
.prose p, .prose li { line-height:1.8; }
.prose section { margin-bottom:40px; }
.prose h2 { font-size:1.5rem; line-height:1.35; }
.policy-meta { color:var(--muted); font-size:.8125rem; padding:20px 0; border-block:1px solid var(--line); }
.contents { background:#f6f8fc; border:1px solid var(--line); border-radius:14px; padding:20px; font-size:.875rem; }
.contents>a { padding-block:9px; }
.policy-back { margin:16px 0 0; }
.support-contact { border-radius:18px; font-size:1rem; }
.support-contact .large-contact { font-size:clamp(18px,4vw,26px); }
.deletion-panel { overflow-wrap:anywhere; }
@media(max-width:1000px) {
  .dl-hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
  .store-row { grid-template-columns:1fr; max-width:350px; }
  .document-grid { grid-template-columns:200px minmax(0,1fr); gap:28px; }
}
@media(max-width:760px) {
  .dl-hero-grid { grid-template-columns:minmax(0,1fr); padding-block:28px 40px; }
  .scene-art { max-width:none; aspect-ratio:3/2; }
  .scene-art img { object-position:75% 35%; }
  .scene-art figcaption { bottom:22px; left:22px; }
  .scene-art figcaption strong { font-size:28px; }
  .store-row { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
  .document-grid { display:block; }
  .contents { margin-bottom:32px; }
  .page-head h1 { font-size:clamp(30px,7.8vw,46px); overflow-wrap:anywhere; }
  .page-intro { font-size:1rem; }
  .policy-meta { display:flex; flex-direction:column; gap:8px; line-height:1.6; }
  .header nav>a:first-child, .header nav a[href="/support"] { display:inline-flex; }
  .header-inner { flex-wrap:wrap; gap:12px; }
  .header nav { justify-content:space-between; width:100%; gap:12px; font-size:.875rem; }
  .header .nav-app { padding:9px 14px; }
  .hero { min-height:calc(100svh - 126px); }
  .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-top>div:first-child { grid-column:1/-1; }
  .hero .eyebrow { flex-wrap:wrap; }
  .sports-strip .wrap { display:block; padding-block:20px; }
  .strip-label { margin-bottom:12px; }
  .sport-names { justify-content:flex-start; gap:10px 14px; font-size:.8125rem; }
  .document { padding-block:28px 52px; }
}
@media(max-width:380px) {
  .store-row { grid-template-columns:1fr; }
  .scene-art figcaption span { display:none; }
  .scene-art figcaption strong { font-size:24px; }
  .footer-top { grid-template-columns:minmax(0,1fr); }
}
@media print { .contents,.policy-back { display:none; } .document-grid { display:block; } }

/* The approved white-background blue launcher mark, without a blue tile. */
.brand img { width:44px; height:44px; border-radius:0; background:#fff; flex:none; }
.footer .brand img { width:40px; height:40px; border-radius:0; }

/* Owner-confirmed wide-screen composition: full-bleed photo, restrained copy. */
@media(min-width:1001px) { .hero h1 { font-size:clamp(48px,4vw,68px); max-width:720px; } .hero-intro { font-size:20px; } .hero .button { font-size:14px; min-height:50px; padding:14px 22px; } .hero .eyebrow { font-size:11px; } .hero-note { font-size:12px; } }
