*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#031126;color:#fff}a{color:inherit}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;background:#020d20;border-bottom:1px solid #0e2a4d;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:14px}.brandmark{font-size:42px;font-weight:800;letter-spacing:-2px;border-right:1px solid #77633a;padding-right:16px}.brandtext{display:flex;flex-direction:column}.brandtext strong{color:#f3b500;font-size:20px}.brandtext span{font-size:15px;color:#d9deea}.topbar nav{display:flex;gap:26px;flex-wrap:wrap}.topbar nav a{text-decoration:none;color:#e7ebf4;font-size:15px;padding:30px 0 22px}.topbar nav a:hover,.topbar nav a.active{color:#ffc400;border-bottom:2px solid #ffc400}.hero{position:relative;min-height:690px;background:url('/images/tus-ipv6-eu-blue-hero.png') center/cover no-repeat;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,10,27,.92) 0%,rgba(1,10,27,.64) 34%,rgba(1,10,27,.08) 68%,rgba(1,10,27,.2) 100%)}.hero-copy{position:relative;z-index:3;padding:70px 0 0 3.2vw;width:37%;max-width:610px}.hero-copy h1{font-size:46px;line-height:1.12;margin:0 0 26px}.hero-copy h1 span{color:#ffc000}.hero-copy p{font-size:19px;line-height:1.7;color:#e8edf5;max-width:480px}.cta-row{display:flex;gap:16px;margin-top:30px}.btn{padding:15px 24px;border:1px solid #e3a900;border-radius:7px;text-decoration:none;background:rgba(0,8,24,.62)}.btn.primary{background:#ffc000;color:#071126;font-weight:700}.city-links{position:absolute;inset:0;z-index:4;pointer-events:none}.city{position:absolute;pointer-events:auto;text-decoration:none;font-size:13px;padding:5px 8px;border-radius:16px;background:rgba(1,14,39,.66);border:1px solid rgba(67,181,255,.55);box-shadow:0 0 12px rgba(0,137,255,.35)}.city:hover{background:#ffc000;color:#04122a;border-color:#ffc000}.athlone{left:39%;top:40%;color:#ffc000;border-color:#ffc000}.dublin{left:41%;top:32%}.london{left:49%;top:43%}.paris{left:48%;top:57%}.brussels{left:53%;top:48%}.amsterdam{left:52%;top:34%}.berlin{left:59%;top:42%}.vienna{left:64%;top:51%}.rome{left:58%;top:60%}.madrid{left:40%;top:68%}.athens{left:68%;top:68%}.stockholm{left:59%;top:23%}.helsinki{left:64%;top:20%}.city-card{position:absolute;z-index:5;right:3vw;bottom:26px;display:flex;flex-direction:column;gap:4px;padding:14px 18px;background:rgba(1,12,31,.82);border:1px solid #1e5f9d;border-radius:8px;max-width:340px}.city-card strong{color:#ffc000}.city-card span{font-size:13px;color:#dbe8f6}.supply,.journey{padding:52px 4vw}.supply{background:#061832;border-top:1px solid #173f69;border-bottom:1px solid #173f69}.supply h2,.journey h2{text-align:center;color:#ffc000;font-size:26px;margin:0 0 30px}.supply-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.supply-grid div{padding:20px 14px;border:1px solid #164f86;background:#06142b;text-align:center;border-radius:8px;min-height:105px}.supply-grid b{display:block;color:#fff;margin-bottom:8px}.supply-grid span{font-size:13px;color:#a9c6df}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:auto}.card{text-decoration:none;padding:26px;background:#071b38;border:1px solid #1d5689;border-radius:10px;min-height:170px;transition:.2s}.card:hover{transform:translateY(-3px);border-color:#ffc000}.card>span{color:#ffc000;font-size:28px;font-weight:800}.card h3{margin:10px 0 8px}.card p{margin:0;color:#bcd0e5;line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#234e73;border-top:1px solid #234e73}.metrics div{background:#06162f;text-align:center;padding:28px}.metrics strong{display:block;color:#ffc000;font-size:28px}.metrics span{font-size:14px;color:#c9d7e8}.footer-links{display:flex;justify-content:center;gap:34px;padding:28px;background:#020d20}.footer-links a{text-decoration:none;color:#dce6f1}.footer-links a:hover{color:#ffc000}@media(max-width:1100px){.topbar{height:auto;align-items:flex-start;gap:20px;padding:18px 3vw}.topbar nav{gap:14px}.topbar nav a{padding:8px 0}.hero-copy{width:48%}.hero-copy h1{font-size:38px}.supply-grid{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{position:relative;display:block}.topbar nav{margin-top:14px}.hero{min-height:760px;background-position:62% center}.hero-shade{background:rgba(1,10,27,.76)}.hero-copy{width:92%;padding-top:45px}.hero-copy h1{font-size:34px}.city{display:none}.city-card{display:none}.supply-grid,.cards,.metrics{grid-template-columns:1fr}.footer-links{flex-direction:column;align-items:center}}
.wifi-case-studies {
  margin: 3rem 0;
}

.pdf-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 1.25rem;
  margin-top: 1.5rem;
}

.pdf-card {
  background: #ffffff;
  border: 1px solid #d9e2ec;
  border-top: 5px solid #005eb8;
  border-radius: 10px;
  padding: 1.5rem;
  box-shadow: 0 5px 16px rgba(0, 45, 90, 0.09);
}

.pdf-card h3 {
  color: #003b70;
  margin: 0.6rem 0;
}

.pdf-label {
  color: #005eb8;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.pdf-button {
  display: inline-block;
  margin-top: 0.8rem;
  padding: 0.75rem 1rem;
  color: #ffffff;
  background: #005eb8;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
}

.pdf-button:hover,
.pdf-button:focus {
  background: #003b70;
}
.presentation-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: 18px;
}

.presentation-links a {
  color: #ffd200;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.presentation-links a:hover,
.presentation-links a:focus {
  text-decoration: underline;
}
.contact-section {
  padding: 70px 6%;
  background: #06162b;
}

.contact-section h2 {
  color: #ffc000;
  text-align: center;
  margin-bottom: 18px;
}

.contact-introduction {
  max-width: 900px;
  margin: 0 auto 35px;
  color: #bcd0e5;
  font-size: 17px;
  line-height: 1.7;
  text-align: center;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}

.contact-card {
  padding: 28px;
  border: 1px solid #246493;
  border-radius: 10px;
  background: #0b2340;
}

.contact-card h3 {
  margin: 0 0 8px;
  color: #ffffff;
}

.contact-card p {
  color: #bcd0e5;
  line-height: 1.6;
}

.contact-role {
  color: #ffc000 !important;
  font-weight: 600;
}

.contact-link {
  display: inline-block;
  margin-top: 12px;
  color: #ffc000;
  font-weight: 600;
  text-decoration: none;
}

.contact-link:hover,
.contact-link:focus {
  text-decoration: underline;
}

@media (max-width: 700px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}
