:root {
  color-scheme: dark;
  --text: #f7f8ff;
  --muted: #aeb8d1;
  --line: rgba(255,255,255,.12);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { min-width: 320px; }
body { margin: 0; min-height: 100vh; color: var(--text); background: #03040b; }
a { color: inherit; }
.skip-link {
  position: fixed;
  z-index: 30;
  top: 1rem;
  left: 1rem;
  transform: translateY(-180%);
  border-radius: 999px;
  padding: .7rem 1rem;
  background: #fff;
  color: #050713;
  font-weight: 800;
}
.skip-link:focus { transform: none; }
.gateway {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  overflow: hidden;
}
.planet-gateway {
  position: relative;
  z-index: 2;
  width: min(1100px, 100%);
  min-height: min(860px, calc(100vh - 2rem));
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-items: center;
  justify-items: center;
  gap: 1.5rem;
}
.planet-gateway__brand {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  text-decoration: none;
}
.planet-gateway__brand img { width: 62px; height: auto; filter: drop-shadow(0 0 18px rgba(139,222,255,.28)); }
.planet-gateway__brand span { display: grid; line-height: 1.05; }
.planet-gateway__brand strong { font-size: 1rem; }
.planet-gateway__brand small { margin-top: .2rem; color: var(--muted); font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; }
.planet-gateway h1 {
  margin: 0;
  text-align: center;
  font-size: clamp(1.6rem, 4vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.planet-universe {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: clamp(2rem, 8vw, 7rem);
}
.country-planet {
  --planet-size: clamp(220px, 29vw, 370px);
  position: relative;
  width: var(--planet-size);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  text-decoration: none;
  isolation: isolate;
  outline: none;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}
.country-planet::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 50% -18%;
  height: 18%;
  border: 1px solid rgba(210,235,255,.22);
  border-radius: 50%;
  transform: translateY(-50%) rotate(-12deg);
  box-shadow: 0 0 24px rgba(134,205,255,.08);
}
.country-planet::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -9%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(151,224,255,.16), transparent 64%);
  opacity: .7;
  transition: opacity .35s ease, transform .35s ease;
}
.country-planet__surface {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  box-shadow: inset -52px -44px 70px rgba(0,0,0,.56), inset 22px 18px 30px rgba(255,255,255,.12), 0 30px 80px rgba(0,0,0,.35);
}
.country-planet__surface::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.72), transparent 8%),
    radial-gradient(ellipse at 64% 70%, rgba(0,0,0,.18), transparent 38%),
    repeating-radial-gradient(ellipse at 40% 40%, rgba(255,255,255,.035) 0 2px, transparent 3px 14px);
  mix-blend-mode: screen;
  opacity: .55;
}
.country-planet--ireland .country-planet__surface {
  background: linear-gradient(90deg, #169b62 0 33.333%, #f7f7f3 33.333% 66.666%, #ff883e 66.666% 100%);
}
.country-planet--romania .country-planet__surface {
  background: linear-gradient(90deg, #002b7f 0 33.333%, #fcd116 33.333% 66.666%, #ce1126 66.666% 100%);
}
.country-planet strong {
  position: relative;
  z-index: 2;
  padding: .35rem .8rem;
  border-radius: 999px;
  background: rgba(4,8,18,.48);
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3.4rem);
  line-height: 1;
  letter-spacing: -.04em;
  text-shadow: 0 2px 16px rgba(0,0,0,.8);
  backdrop-filter: blur(5px);
}
.country-planet__atmosphere {
  position: absolute;
  z-index: 3;
  inset: -2px;
  border-radius: 50%;
  box-shadow: inset 0 0 22px rgba(199,237,255,.22), 0 0 36px rgba(114,205,255,.17);
  pointer-events: none;
}
.country-planet__orbit {
  position: absolute;
  z-index: 4;
  bottom: -1.1rem;
  min-width: 6rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .55rem .9rem;
  background: rgba(6,9,22,.74);
  color: #dff7ff;
  text-align: center;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}
.country-planet:hover,
.country-planet:focus-visible { transform: translateY(-12px) scale(1.035); filter: brightness(1.07); }
.country-planet:hover::after,
.country-planet:focus-visible::after { opacity: 1; transform: scale(1.08); }
.planet-gateway__footer { margin: 0; color: #7f899f; font-size: .75rem; }
@media (max-width: 760px) {
  .gateway { align-items: start; }
  .planet-gateway { min-height: auto; gap: 2rem; }
  .planet-gateway__brand { justify-self: center; }
  .planet-universe { grid-template-columns: 1fr; gap: 3.2rem; }
  .country-planet { --planet-size: min(70vw, 290px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}


/* Simplified planet gateway: planets only */
.planet-gateway {
  grid-template-rows: 1fr auto;
  align-content: center;
  gap: clamp(2rem, 6vw, 4rem);
}
.planet-universe {
  align-self: center;
}
.country-planet__surface {
  transition: box-shadow .35s ease, filter .35s ease;
}
.country-planet:hover .country-planet__surface,
.country-planet:focus-visible .country-planet__surface {
  box-shadow:
    inset -52px -44px 70px rgba(0,0,0,.5),
    inset 22px 18px 30px rgba(255,255,255,.16),
    0 34px 90px rgba(0,0,0,.42),
    0 0 46px rgba(130,216,255,.2);
  filter: saturate(1.08);
}
@media (max-width: 760px) {
  .planet-gateway {
    grid-template-rows: 1fr auto;
    padding-top: clamp(1.5rem, 8vw, 3rem);
  }
}

/* Accessible text for planet links without adding visible labels over the planets. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
