:root{
  --bg:#050505;
  --panel:#0d0d0d;
  --panel-2:#111;
  --text:#f5f2ea;
  --muted:#8e8c86;
  --line:#222;
  --gold:#c9a76a;
  --gold-2:#e4cd9c;
  --radius:24px;
  --shell:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(calc(100% - 40px),var(--shell));margin-inline:auto}
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")
}
.site-header{
  position:relative;z-index:30;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(5,5,5,.78);
  backdrop-filter:blur(18px)
}
.site-header .shell{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px}
.brand-mark{
  width:44px;height:44px;border:1px solid rgba(201,167,106,.65);border-radius:50%;
  display:grid;place-items:center;color:var(--gold-2);font-size:18px;font-weight:800
}
.brand-copy strong{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:15px;line-height:1}
.brand-copy small{display:block;color:#777;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-top:7px}
.header-note{color:#8a8882;font-size:10px;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.status-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px rgba(201,167,106,.08)}

.hero{
  min-height:760px;position:relative;overflow:hidden;
  padding:110px 0 95px;
  background:
    radial-gradient(circle at 82% 12%,rgba(201,167,106,.12),transparent 26%),
    radial-gradient(circle at 15% 65%,rgba(70,77,80,.08),transparent 28%)
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:78px 78px;
  mask-image:linear-gradient(to bottom,black,transparent 80%)
}
.hero-orbit{
  position:absolute;border:1px solid rgba(201,167,106,.11);border-radius:50%;
  pointer-events:none
}
.orbit-a{width:680px;height:680px;right:-320px;top:30px}
.orbit-b{width:470px;height:470px;right:-210px;top:135px}
.hero-inner{position:relative;z-index:2}
.eyebrow{display:flex;align-items:center;gap:10px;color:#aaa69d;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}
.eyebrow span{width:28px;height:1px;background:var(--gold)}
h1,h2{font-family:inherit;letter-spacing:-.055em}
h1{font-size:clamp(58px,7.5vw,100px);line-height:.94;margin:21px 0 22px;max-width:850px}
h1 em{font-family:Georgia,serif;font-weight:400;color:var(--gold-2)}
.lead{max-width:610px;color:#9a9892;font-size:17px;line-height:1.8;margin:0}

.city-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-top:62px
}
.city-card{
  position:relative;min-height:255px;padding:24px;border-radius:22px;
  border:1px solid #242424;background:linear-gradient(145deg,#111,#090909);
  overflow:hidden;transition:.28s ease
}
.city-card::before{
  content:"";position:absolute;width:190px;height:190px;border:1px solid #1f1f1f;
  border-radius:50%;right:-78px;bottom:-80px;transition:.28s
}
.city-card.live:hover{
  transform:translateY(-5px);border-color:#54442f;
  background:linear-gradient(145deg,#15120d,#0a0a0a)
}
.city-card.live:hover::before{border-color:#4c3d29;transform:scale(1.08)}
.city-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.flag{
  width:54px;height:54px;border-radius:15px;background:#171717;border:1px solid #292929;
  display:grid;place-items:center;font-size:28px;box-shadow:0 12px 30px rgba(0,0,0,.22)
}
.city-status{
  border:1px solid #343434;border-radius:999px;padding:6px 9px;color:#777;
  font-size:8px;letter-spacing:.13em;text-transform:uppercase
}
.city-card.live .city-status{border-color:#59482e;color:var(--gold-2)}
.city-card h3{font-size:25px;margin:38px 0 4px;letter-spacing:-.035em}
.city-country{margin:0;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.13em}
.city-bottom{position:absolute;left:24px;right:24px;bottom:21px;display:flex;align-items:center;justify-content:space-between}
.city-bottom span{color:#6c6a65;font-size:10px}
.city-bottom b{font-size:15px;color:var(--gold-2)}
.city-card.coming-soon{opacity:.63;cursor:default}
.city-card.coming-soon .flag{filter:saturate(.45)}
.city-card.coming-soon::after{
  content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.015),transparent);
  pointer-events:none
}

.coming-copy{display:flex;align-items:center;gap:18px;margin-top:40px;color:#66645f;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.coming-copy .line{height:1px;flex:1;background:#1d1d1d}
.coming-copy p{margin:0}

.network-section{padding:110px 0;border-top:1px solid #181818}
.network-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end}
.network-grid h2,.future-panel h2{font-size:clamp(42px,5vw,65px);line-height:1;margin:18px 0 0}
.network-copy>p{color:#8c8a84;line-height:1.85;margin:0 0 26px}
.network-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.network-points span{padding:12px 0;border-top:1px solid #222;color:#aaa7a0;font-size:11px}

.future-section{padding:0 0 110px}
.future-panel{
  display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:end;
  border:1px solid #29251f;border-radius:24px;padding:42px;
  background:linear-gradient(135deg,#11100d,#090909)
}
.future-panel p{color:#88857f;line-height:1.8;margin:0}
.future-panel code{color:var(--gold-2);font-size:.94em}
.future-panel strong{color:#c7c1b5}

footer{border-top:1px solid #181818;padding:56px 0 75px;background:#040404}
.footer-grid{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}
.footer-copy{color:#66645f;font-size:11px;margin:22px 0 0}
.footer-meta{text-align:right;color:#5f5d58;font-size:9px;max-width:510px}
.footer-meta p{margin:5px 0}

:focus-visible{outline:3px solid var(--gold-2);outline-offset:4px;border-radius:6px}

@media(max-width:900px){
  .city-grid{grid-template-columns:1fr 1fr}
  .network-grid,.future-panel{grid-template-columns:1fr;gap:35px}
}
@media(max-width:620px){
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .site-header .shell{height:72px}
  .header-note{display:none}
  .hero{padding:85px 0 70px;min-height:auto}
  h1{font-size:54px}
  .lead{font-size:15px}
  .city-grid{grid-template-columns:1fr;margin-top:44px}
  .city-card{min-height:220px}
  .city-card h3{margin-top:31px}
  .coming-copy p{text-align:center;font-size:8px}
  .network-section{padding:80px 0}
  .future-section{padding-bottom:80px}
  .future-panel{padding:28px}
  .footer-grid{display:block}
  .footer-meta{text-align:left;margin-top:38px}
}
@media(prefers-reduced-motion:reduce){
  .city-card{transition:none}
}


/* =========================================================
   UNITED KINGDOM COUNTRY HUB
   ========================================================= */
.country-hub{
  grid-column:span 2;
  min-height:auto;
  padding:28px;
  border-color:#382f22;
  background:
    radial-gradient(circle at 92% 5%,rgba(201,167,106,.12),transparent 28%),
    linear-gradient(145deg,#12100d,#090909);
}
.country-hub::before{
  width:330px;height:330px;right:-145px;bottom:-190px;
  border-color:#30281d
}
.country-hub:hover{transform:none}
.country-hub .hub-flag{
  width:60px;height:60px;font-size:31px;
  border-color:#3c3326;background:#17140f
}
.country-hub-heading{
  display:flex;justify-content:space-between;align-items:end;gap:28px;
  margin:30px 0 20px
}
.country-hub-heading h3{
  margin:0 0 6px;
  font-size:34px
}
.hub-note{
  margin:0 0 3px;
  color:#746f66;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  text-align:right
}
.uk-city-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px
}
.uk-city-link{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:72px;
  padding:14px 15px;
  border:1px solid #28241e;
  border-radius:13px;
  background:rgba(8,8,8,.68);
  transition:.24s ease
}
.uk-city-link:hover{
  transform:translateY(-2px);
  border-color:#665234;
  background:#12100d
}
.uk-city-link span{
  min-width:0;
  display:block
}
.uk-city-link strong{
  display:block;
  color:#e9e3d8;
  font-size:13px;
  letter-spacing:-.01em
}
.uk-city-link small{
  display:block;
  margin-top:3px;
  color:#77736c;
  font-size:9px;
  line-height:1.35
}
.uk-city-link b{
  color:var(--gold-2);
  font-size:14px;
  flex:0 0 auto
}
.uk-city-link.disabled{
  opacity:.55;
  cursor:default
}
.uk-city-link.disabled b{
  color:#69665f;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em
}
.uk-provider-note{
  position:relative;
  z-index:2;
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid #28231c
}
.uk-provider-note strong{
  display:block;
  color:#c9b17f;
  font-size:10px;
  letter-spacing:.055em
}
.uk-provider-note p{
  max-width:760px;
  margin:7px 0 0;
  color:#716e68;
  font-size:9px;
  line-height:1.65
}

@media(max-width:900px){
  .country-hub{grid-column:1/-1}
}
@media(max-width:620px){
  .country-hub{padding:22px}
  .country-hub-heading{display:block;margin-top:25px}
  .country-hub-heading h3{font-size:28px}
  .hub-note{text-align:left;margin-top:10px}
  .uk-city-grid{grid-template-columns:1fr}
  .uk-city-link{min-height:66px}
}
