:root {
  color-scheme:dark;
  --ink:#091925;
  --ink-2:#102434;
  --panel:#11293a;
  --line:rgba(211,232,234,.17);
  --text:#f7f4ec;
  --muted:#b7c7cf;
  --gold:#ebc785;
  --cyan:#75e4e8;
  font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  font-synthesis:none
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:90px
}

body {
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-size:16px;
  line-height:1.55
}

button,input {
  font:inherit
}

button {
  cursor:pointer
}

a {
  color:inherit
}

img {
  max-width:100%
}

.icon {
  flex:none
}

::selection {
  background:#377787;
  color:white
}

:focus-visible {
  outline:2px solid var(--cyan);
  outline-offset:4px
}

.skip-link {
  position:fixed;
  z-index:30;
  left:14px;
  top:-80px;
  background:var(--gold);
  color:var(--ink);
  padding:10px 15px
}

.skip-link:focus {
  top:10px
}

.site-header {
  height:78px;
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  width:100%;
  border-bottom:1px solid rgba(255,255,255,.19);
  background:linear-gradient(#051522b8,#071e2a55);
  backdrop-filter:blur(14px)
}

.header-inner,.section-shell {
  width:min(1200px,calc(100% - 64px));
  margin:auto
}

.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  gap:48px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
  letter-spacing:.105em;
  font:700 16px/1.08 Georgia,'Times New Roman',serif;
  white-space:nowrap
}

.brand img {
  border-radius:8px
}

.brand small {
  display:block;
  color:var(--gold);
  font-size:11px;
  letter-spacing:.32em;
  margin-top:2px
}

.site-header nav {
  display:flex;
  align-items:center;
  gap:33px;
  margin-left:auto
}

.site-header nav a {
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  color:#f3f6f3d9;
  transition:color .2s
}

.site-header nav a:hover {
  color:var(--gold)
}

.header-account {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--text);
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.44);
  border-radius:5px;
  background:rgba(4,20,30,.31);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  transition:background .2s,border-color .2s
}

.header-account .icon {
  width:17px;
  height:17px
}

.header-account:hover {
  background:rgba(238,212,158,.18);
  border-color:var(--gold)
}

.hero {
  position:relative;
  min-height:780px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:130px 24px 90px;
  text-align:center;
  overflow:hidden;
  background:#194266
}

.hero-scene {
  position:absolute;
  inset:0;
  background-image:linear-gradient(180deg,rgba(3,20,34,.34) 0%,rgba(8,34,47,.04) 28%,rgba(5,23,34,.05) 50%,rgba(5,20,31,.66) 79%,#091925 100%),url('./highcall-grounded-title.webp');
  background-position:center,center center;
  background-size:cover;
  transform:scale(1.015);
  animation:scene-in 1.4s ease-out both
}

.hero-content {
  position:relative;
  z-index:1;
  width:min(850px,100%);
  display:flex;
  flex-direction:column;
  align-items:center
}

.hero-kicker,.overline {
  font-size:11px;
  letter-spacing:.26em;
  font-weight:700;
  line-height:1.5
}

.hero-kicker {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  color:#f3ebd8;
  text-shadow:0 1px 8px #182b46
}

.kicker-rule {
  height:12px;
  width:1px;
  background:rgba(255,255,255,.65)
}

.live-dot {
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 12px var(--cyan);
  vertical-align:middle
}

.hero h1 {
  width:min(520px,100%);
  margin:6px 0 5px;
  filter:drop-shadow(0 13px 26px rgba(1,18,29,.53));
  line-height:0
}

.hero h1 img {
  width:100%;
  height:auto;
  display:block
}

.hero-lead {
  margin:0 0 27px;
  font:500 clamp(21px,2.5vw,31px)/1.25 Georgia,'Times New Roman',serif;
  text-shadow:0 3px 15px #0b2335
}

.hero-actions,.account-actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap
}

.button {
  min-height:52px;
  min-width:208px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:4px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:.035em;
  transition:transform .2s,background .2s,border-color .2s,box-shadow .2s
}

.button:hover {
  transform:translateY(-2px)
}

.button .icon {
  width:18px;
  height:18px
}

.button .icon:last-child {
  width:17px;
  height:17px;
  margin-left:7px
}

.button-primary {
  background:linear-gradient(125deg,#f8e5b9,#d7aa62);
  color:#112536;
  box-shadow:0 12px 30px rgba(12,22,31,.22)
}

.button-primary:hover {
  background:linear-gradient(125deg,#fff4d8,#e5c084);
  box-shadow:0 16px 32px rgba(12,22,31,.34)
}

.button-outline {
  background:rgba(7,28,41,.66);
  border-color:rgba(244,231,205,.72);
  color:#fff
}

.button-outline:hover {
  background:rgba(9,45,61,.93);
  border-color:#fff
}

.hero-note {
  margin:17px 0 0;
  color:#dde6e6;
  font-size:11px;
  letter-spacing:.06em
}

.explore-link {
  position:absolute;
  z-index:1;
  bottom:25px;
  display:flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.17em;
  color:#ebeeeb
}

.explore-link .icon {
  width:16px;
  height:16px
}

.downloads {
  padding-top:82px;
  padding-bottom:84px
}

.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:32px
}

.overline {
  margin:0 0 12px;
  color:#86dfe3
}

.overline.gold {
  color:var(--gold)
}

h2,h3,p {
  margin-top:0
}

.section-heading h2,.account-section h2,.closing h2 {
  font:500 clamp(31px,3.6vw,47px)/1.16 Georgia,'Times New Roman',serif;
  letter-spacing:-.025em;
  margin-bottom:12px
}

.section-heading h2 {
  margin-bottom:0
}

.release-pill {
  border:1px solid var(--line);
  border-radius:99px;
  padding:9px 15px;
  font-size:12px;
  color:var(--muted);
  white-space:nowrap
}

.release-pill .live-dot {
  width:6px;
  height:6px;
  margin-right:8px
}

.release-pill strong {
  color:#f5f0e2;
  font-weight:600;
  margin-left:6px
}

.platform-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}

.platform-card {
  position:relative;
  padding:32px 32px 26px;
  border:1px solid rgba(204,226,231,.19);
  border-radius:8px;
  background:linear-gradient(143deg,rgba(33,65,79,.65),rgba(15,36,52,.78) 55%);
  box-shadow:0 22px 60px #020d162c;
  overflow:hidden
}

.platform-card:before {
  content:'';
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.68
}

.platform-heading {
  display:flex;
  align-items:center;
  gap:15px
}

.platform-icon {
  display:grid;
  place-items:center;
  width:51px;
  height:51px;
  border:1px solid rgba(224,205,163,.34);
  border-radius:8px;
  color:var(--gold);
  background:#253d4866
}

.platform-icon .icon {
  width:27px;
  height:27px
}

.platform-heading .overline {
  display:block;
  margin:0 0 1px;
  font-size:10px;
  color:#88dfe1
}

.platform-heading h3,.platform-card h3 {
  font:600 23px/1.2 Georgia,'Times New Roman',serif;
  margin:0
}

.button-card {
  width:100%;
  justify-content:center;
  margin-top:23px;
  background:#e7c78c;
  color:#132b38
}

.button-card:hover {
  background:#f7dca5
}

.platform-details {
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  padding:16px 0;
  color:#e0e5df;
  font-size:12px
}

.steps {
  padding-left:19px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.85
}

.steps li {
  padding-left:5px
}

.steps li::marker {
  color:var(--gold)
}

.steps strong {
  color:#fff;
  font-weight:500
}

.unavailable {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:280px
}

.unavailable p {
  color:var(--muted);
  margin-top:17px
}

.checksum {
  margin-top:19px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:12px;
  color:var(--muted)
}

.checksum summary {
  cursor:pointer;
  color:var(--gold);
  font-weight:600
}

.checksum p {
  margin:12px 0 4px
}

.checksum code {
  display:block;
  overflow-wrap:anywhere;
  color:#d4e5e7;
  font:11px/1.5 ui-monospace,monospace
}

.install-note {
  display:flex;
  gap:11px;
  align-items:flex-start;
  max-width:840px;
  color:#9eafb9;
  font-size:12px;
  line-height:1.6;
  margin:22px 0 0
}

.install-note .icon {
  width:18px;
  height:18px;
  color:var(--gold)
}

.account-section {
  position:relative;
  border-block:1px solid rgba(203,226,231,.12);
  background:radial-gradient(ellipse at 83% 20%,#24526450,transparent 43%),linear-gradient(120deg,#0a2433,#0d1e2b)
}

.account-inner {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(290px,.8fr);
  gap:10%;
  align-items:center;
  padding-top:80px;
  padding-bottom:80px
}

.account-section h2 {
  max-width:650px
}

.account-section p:not(.overline) {
  max-width:590px;
  color:var(--muted);
  line-height:1.75
}

.account-actions {
  justify-content:flex-start;
  margin:26px 0 14px
}

.text-link {
  border:0;
  background:none;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  padding:10px 2px
}

.text-link:hover {
  text-decoration:underline
}

.text-link .icon {
  width:17px;
  height:17px
}

.account-panel {
  padding:30px;
  border:1px solid rgba(235,199,133,.27);
  background:linear-gradient(145deg,#1c3b49,#142c3b);
  border-radius:7px;
  box-shadow:0 22px 60px #010b1440
}

.panel-emblem {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  color:var(--gold);
  border:1px solid rgba(235,199,133,.36);
  border-radius:50%;
  margin-bottom:25px
}

.account-panel h3 {
  font:500 23px/1.3 Georgia,'Times New Roman',serif;
  margin:0 0 12px
}

.account-panel p:not(.overline) {
  font-size:13px;
  margin:0;
  color:var(--muted)
}

.account-panel #account-signout {
  margin-top:12px
}

.closing {
  text-align:center;
  padding-top:84px;
  padding-bottom:88px
}

.closing h2 {
  margin-bottom:10px
}

.closing p:not(.overline) {
  color:var(--muted)
}

footer {
  border-top:1px solid var(--line);
  background:#07131d
}

.footer-inner {
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#99aab4;
  font-size:12px
}

footer a {
  text-decoration:none
}

footer a:hover {
  color:var(--gold)
}

dialog {
  width:min(430px,calc(100% - 28px));
  max-height:calc(100% - 28px);
  padding:0;
  border:1px solid rgba(235,199,133,.35);
  border-radius:8px;
  background:#102a3a;
  color:var(--text);
  box-shadow:0 35px 100px #000b;
  overflow:auto
}

dialog::backdrop {
  background:rgba(3,14,23,.79);
  backdrop-filter:blur(5px)
}

.dialog-inner {
  padding:37px
}

.dialog-close {
  position:absolute;
  right:14px;
  top:9px;
  border:0;
  background:none;
  color:#d6e1df;
  font-size:28px;
  line-height:1
}

.dialog-close:hover {
  color:#fff
}

.dialog-icon {
  border-radius:8px;
  margin-bottom:17px
}

.dialog-inner h2 {
  font:500 25px/1.2 Georgia,'Times New Roman',serif;
  margin:0 0 8px
}

.dialog-intro,.dialog-help {
  color:var(--muted);
  font-size:13px
}

.dialog-intro {
  margin-bottom:25px
}

.dialog-help {
  line-height:1.65;
  border-top:1px solid var(--line);
  padding-top:17px;
  margin:21px 0 0
}

.dialog-inner label {
  display:block;
  margin:14px 0 6px;
  font-size:12px;
  font-weight:700;
  color:#dbe9e7
}

.dialog-inner input {
  width:100%;
  height:47px;
  color:#fff;
  background:#071a27;
  border:1px solid #507080;
  border-radius:4px;
  padding:0 13px;
  outline:none
}

.dialog-inner input:focus {
  border-color:var(--cyan);
  box-shadow:0 0 0 2px #75e4e82b
}

.dialog-inner input::placeholder {
  color:#809aa7
}

.form-submit {
  width:100%;
  margin-top:22px
}

.form-submit:disabled {
  opacity:.7;
  cursor:wait
}

.form-message {
  font-size:12px;
  color:#ffbcb1;
  margin:12px 0 0
}

.form-message[hidden],#account-signout[hidden] {
  display:none
}

@keyframes scene-in {
  from {
    opacity:.4;
    transform:scale(1.045)
  }
  to {
    opacity:1;
    transform:scale(1.015)
  }
}

@media(max-width:800px) {
  .hero {
    min-height:725px
  }
  .hero h1 {
    max-width:490px;
    margin-bottom:0
  }
  .header-inner,.section-shell {
    width:min(100% - 38px,1200px)
  }
  .account-inner {
    gap:35px;
    grid-template-columns:1fr 300px
  }
  .site-header nav {
    gap:17px
  }
}

@media(max-width:650px) {
  .site-header {
    height:66px
  }
  .header-inner {
    gap:12px
  }
  .brand {
    font-size:12px
  }
  .brand img {
    width:30px;
    height:30px
  }
  .brand small {
    font-size:9px
  }
  .site-header nav {
    display:none
  }
  .header-account {
    margin-left:auto;
    padding:8px 10px
  }
  .hero {
    min-height:720px;
    padding:116px 18px 90px
  }
  .hero-scene {
    background-position:center,48% center
  }
  .hero h1 {
    margin:0 0 3px;
    max-width:370px
  }
  .hero-kicker {
    font-size:10px;
    gap:8px
  }
  .hero-lead {
    font-size:20px
  }
  .hero-actions {
    width:100%;
    max-width:370px
  }
  .hero-actions .button {
    width:100%
  }
  .hero-note {
    font-size:10px
  }
  .section-heading {
    align-items:start;
    flex-direction:column
  }
  .downloads {
    padding-top:62px;
    padding-bottom:62px
  }
  .platform-grid,.account-inner {
    grid-template-columns:1fr
  }
  .platform-card {
    padding:24px
  }
  .account-inner {
    padding-top:67px;
    padding-bottom:67px
  }
  .account-panel {
    max-width:460px
  }
  .closing {
    padding-top:70px;
    padding-bottom:70px
  }
  .footer-inner {
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding-block:18px;
    gap:4px
  }
  .explore-link {
    bottom:18px
  }
}

@media(max-width:380px) {
  .brand {
    letter-spacing:0
  }
  .brand img {
    width:27px;
    height:27px
  }
  .header-account .icon {
    display:none
  }
  .hero h1 {
    margin-bottom:0
  }
  .hero-kicker {
    font-size:9px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}
