:root { color-scheme:dark; --background:#000; --text:#f7f7f7; --muted:#a0a0a5; --border:#242426; --surface:#0b0b0c; font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:40px; }
body { margin:0; background:var(--background); color:var(--text); font:16px/1.6 "Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
[hidden] { display:none!important; }
::selection { background:#eee; color:#000; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:2px solid #fff; outline-offset:6px; }
p,h1,h2,h3 { margin:0; }
p { color:var(--muted); }
.wrap { width:min(1120px,calc(100% - 96px)); margin-inline:auto; }
.brand { width:126px; height:42px; display:flex; align-items:center; flex:none; overflow:hidden; mix-blend-mode:screen; }
.brand img { display:block; width:100%; height:auto; }
.site-header { position:relative; z-index:2; height:104px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid #ffffff12; }
.site-header nav { display:flex; gap:32px; font-size:13px; color:#aaa; }
.site-header nav a { transition:color .2s; padding:10px 0; }
.site-header nav a:hover { color:white; }
.beta-label { display:flex; align-items:center; gap:9px; font-size:11px; color:#bbb; letter-spacing:.3px; }
.beta-label>span { width:5px; height:5px; background:#c4c4c4; border-radius:50%; box-shadow:0 0 12px #ffffff50; }
.hero { position:relative; isolation:isolate; min-height:718px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.atmosphere { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.ambient-light { position:absolute; width:640px; height:320px; left:calc(50% - 320px); top:120px; border-radius:50%; background:radial-gradient(ellipse,#ffffff0a,transparent 67%); animation:light-breathe 12s ease-in-out infinite alternate; }
.orbit-art { width:max(1440px,115%); height:auto; max-width:none; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); opacity:.6; }
.orbit-drift { transform-origin:720px 450px; animation:orbit-drift 28s ease-in-out infinite alternate; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(#0004,transparent 24%,transparent 75%,#000),radial-gradient(ellipse at 50% 43%,#000b 8%,#0007 31%,transparent 65%); }
.hero-content { position:relative; text-align:center; padding:75px 0 92px; animation:arrive .85s ease-out both; }
.eyebrow { color:#b0b0b5; font-size:10px; font-weight:600; letter-spacing:2.4px; text-transform:uppercase; }
h1 { font-size:clamp(54px,6.2vw,88px); line-height:1.05; letter-spacing:-4.3px; font-weight:600; margin:26px 0 24px; }
h1>span { background:linear-gradient(110deg,#f0f0f0 15%,#8c8c91 83%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-description { font-size:16px; line-height:1.8; color:#a8a8ad; }
.hero-actions { display:flex; justify-content:center; align-items:center; gap:28px; margin-top:34px; }
.button,.connect-card button { display:inline-flex; min-height:52px; padding:14px 28px; align-items:center; justify-content:center; border:1px solid #3e3e41; border-radius:9px; font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; transition:background .2s,transform .2s,border-color .2s,box-shadow .2s; }
.primary { background:#f5f5f5; color:#0b0b0b; border-color:#f5f5f5; box-shadow:0 0 30px #ffffff08; }
.primary:hover { background:#fff; transform:translateY(-2px); box-shadow:0 5px 30px #ffffff1a; }
.secondary,.connect-card button { background:#101012; color:#eee; }
.secondary:hover,.connect-card button:hover { background:#1b1b1e; border-color:#727277; }
.text-link { font-size:13px; color:#c0c0c4; padding:12px 0; border-bottom:1px solid transparent; transition:border-color .2s,color .2s; }
.text-link:hover { color:#fff; border-color:#777; }
.device-line { margin-top:24px; color:#85858c; font-size:11px; letter-spacing:.4px; }
.device-line>span { padding:0 10px; color:#6a6a70; }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; position:absolute; bottom:23px; left:0; right:0; }
.small-caption { font-size:10px; color:#85858c; letter-spacing:.3px; }
html[data-page-hidden="true"] .orbit-drift,html[data-page-hidden="true"] .ambient-light { animation-play-state:paused; }
.locations { padding:86px 0 80px; border-top:1px solid var(--border); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:42px; }
h2 { margin-top:17px; font-size:clamp(32px,3.4vw,44px); line-height:1.15; letter-spacing:-1.8px; font-weight:500; }
.section-description { font-size:13px; line-height:1.9; padding-bottom:4px; }
.country-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.country { display:flex; align-items:center; padding:29px 25px; gap:18px; transition:background .2s; }
.country:first-child { padding-left:0; }
.country:last-child { padding-right:0; }
.country+.country { border-left:1px solid var(--border); }
.country-number { font-size:10px; font-family:ui-monospace,monospace; color:#82828a; align-self:flex-start; padding-top:4px; }
.country-info { flex:1; }
.country h3 { font-size:20px; letter-spacing:-.5px; font-weight:500; }
.country p { font-size:11px; margin-top:3px; }
.flag { display:block; flex:none; width:28px; height:20px; border-radius:3px; box-shadow:0 0 0 1px #ffffff12; opacity:.9; }
.flag-pl { background:linear-gradient(#eee 50%,#c53448 50%); }
.flag-fr { background:linear-gradient(90deg,#334b8c 33.33%,#eee 33.33%,#eee 66.66%,#bd3c4c 66.66%); }
.flag-nl { background:linear-gradient(#b93e4a 33.33%,#eee 33.33%,#eee 66.66%,#344981 66.66%); }
.location-note { margin-top:18px; font-size:11px; color:#8e8e95; }
.setup-section { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; border-top:1px solid var(--border); padding:83px 0 94px; }
.muted-heading { color:#8c8c94; }
.setup-intro>p:not(.eyebrow) { font-size:13px; line-height:1.85; margin:23px 0 27px; max-width:310px; }
.setup-intro .button { font-size:12px; min-height:46px; padding:12px 22px; }
.setup-steps { list-style:none; padding:0; margin:0; }
.setup-steps li { display:flex; gap:24px; padding:26px 0; }
.setup-steps li:first-child { padding-top:0; }
.setup-steps li+li { border-top:1px solid var(--border); }
.step-number { font-size:11px; font-family:ui-monospace,monospace; color:#8f8f96; padding-top:3px; }
.setup-steps h3 { font-size:17px; font-weight:500; letter-spacing:-.3px; }
.setup-steps p { font-size:13px; margin-top:9px; line-height:1.85; }
.site-footer { border-top:1px solid var(--border); padding:30px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-footer .brand { width:100px; height:32px; }
.site-footer p { font-size:11px; color:#88888e; }
.site-footer>a:last-child { font-size:11px; color:#bbb; padding:12px 0; }
.skip-link { position:fixed; z-index:10; top:-80px; left:20px; background:white; color:black; padding:12px 20px; }
.skip-link:focus { top:20px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* The subscription page makes no external requests. */
.connect-page { min-height:100svh; background:radial-gradient(ellipse at 50% 0,#19191b 0,transparent 55%),#000; }
.connect-main { width:min(100% - 48px,520px); margin:56px auto; }
.connect-main>.brand { width:158px; height:52px; margin-bottom:44px; }
.connect-main h1 { font-size:46px; letter-spacing:-2px; line-height:1.12; margin:16px 0; }
.connect-main>p { font-size:14px; }
.connect-card { margin:30px 0; padding:24px; background:#0c0c0ed9; border:1px solid #303033; border-radius:18px; box-shadow:0 20px 80px #0006; }
.connect-card .button,.connect-card button { display:flex; width:100%; margin:10px 0; }
.connect-card .button:first-child { margin-top:0; }
#link { font-size:11px; overflow-wrap:anywhere; color:#a0a0a5; margin-top:12px; }
#status { font-size:13px; color:#ddd; margin-top:16px; }
.connect-main ol { padding-left:20px; color:var(--muted); font-size:13px; }
.connect-main li { padding:7px 0 7px 5px; }
.connect-footer { font-size:11px; color:#8f8f96; border-top:1px solid var(--border); padding-top:20px; margin:26px 0 12px; }
.connect-main>.text-link { display:inline-block; }

@keyframes orbit-drift { from { transform:translate(-16px,5px) rotate(-5deg) scale(.98); } to { transform:translate(18px,-17px) rotate(7deg) scale(1.05); } }
@keyframes light-breathe { from { opacity:.4; transform:scale(.9); } to { opacity:1; transform:scale(1.3); } }
@keyframes arrive { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@media (min-width:1500px) { .hero { min-height:760px; } }
@media (max-width:900px) { .wrap { width:calc(100% - 64px); } .site-header nav { gap:20px; } .setup-section { gap:48px; } .country { padding:24px 18px; gap:12px; } .country-number { display:none; } .country h3 { font-size:18px; } }
@media (max-width:640px) {
  html { scroll-padding-top:24px; }
  .wrap { width:calc(100% - 40px); }
  .site-header { height:80px; gap:12px; }
  .site-header .brand { width:113px; height:38px; }
  .site-header nav { display:none; }
  .beta-label { font-size:10px; gap:7px; }
  .hero { min-height:650px; }
  .hero-content { padding:64px 0 108px; }
  .eyebrow { font-size:9px; letter-spacing:1.9px; }
  h1 { font-size:clamp(40px,10.5vw,64px); letter-spacing:-2.3px; margin:25px 0 23px; line-height:1.1; }
  .hero-description { font-size:13px; line-height:1.9; }
  .hero-actions { flex-direction:column; gap:8px; margin-top:28px; }
  .hero-actions .primary { width:min(100%,276px); min-height:54px; }
  .text-link { font-size:12px; }
  .device-line { font-size:10px; margin-top:22px; }
  .device-line>span { padding:0 7px; }
  .orbit-art { width:1090px; left:58%; top:48%; opacity:.68; }
  .hero-shade { background:linear-gradient(#0002,transparent 20%,transparent 75%,#000),radial-gradient(ellipse at 50% 40%,#000b,transparent 65%); }
  .hero-bottom { bottom:13px; }
  .small-caption { font-size:9px; }
  .locations { padding:53px 0 47px; }
  .section-heading { display:block; margin-bottom:28px; }
  h2 { font-size:34px; letter-spacing:-1.6px; }
  .section-description { margin-top:20px; font-size:12px; }
  .country-list { grid-template-columns:1fr; }
  .country,.country:first-child,.country:last-child { padding:20px 0; gap:20px; }
  .country+.country { border-left:0; border-top:1px solid var(--border); }
  .country-number { display:block; }
  .country h3 { font-size:20px; }
  .flag { margin-right:2px; }
  .location-note { font-size:10px; }
  .setup-section { grid-template-columns:1fr; gap:40px; padding:50px 0; }
  .setup-intro>p:not(.eyebrow) { max-width:320px; }
  .setup-steps li { gap:20px; padding:24px 0; }
  .setup-steps h3 { font-size:16px; }
  .setup-steps p { font-size:12px; }
  .site-footer { flex-wrap:wrap; gap:14px; padding:24px 0; }
  .site-footer p { order:3; width:100%; font-size:10px; }
  .connect-main { margin:30px auto; width:calc(100% - 40px); }
  .connect-main>.brand { margin-bottom:32px; width:130px; }
  .connect-main h1 { font-size:40px; }
  .connect-card { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
