@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700&family=DM+Serif+Display&display=swap');

:root{
  --navy:#071522;
  --navy-soft:#102638;
  --teal:#48d6c4;
  --amber:#f3b35e;
  --violet:#9d8ad7;
  --white:#f4f8fb;
  --muted:#afc0cc;
  --line:rgba(255,255,255,.14);
}

*{box-sizing:border-box}

body{
  margin:0;
  color:var(--white);
  background:
    radial-gradient(circle at 15% 8%,rgba(72,214,196,.13),transparent 30rem),
    radial-gradient(circle at 90% 30%,rgba(157,138,215,.12),transparent 34rem),
    var(--navy);
  font-family:Manrope,sans-serif;
}

nav{
  padding:1.25rem max(1.3rem,5vw);
  border-bottom:1px solid var(--line);
}

nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.2rem;
  margin:0;
  padding:0;
  list-style:none;
}

nav a{
  color:var(--white);
  font-size:.84rem;
  font-weight:600;
  text-decoration:none;
}

nav a:hover{color:var(--teal)}

header{
  min-height:72vh;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  overflow:hidden;
}

.hero-copy{
  position:relative;
  z-index:1;
  padding:4rem max(1.5rem,6vw);
}

header img{
  width:100%;
  height:72vh;
  object-fit:cover;
  opacity:.72;
  mask-image:linear-gradient(to left,#000 78%,transparent);
}

.eyebrow{
  color:var(--amber);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.75rem;
  font-weight:700;
}

h1,h2{font-family:"DM Serif Display",serif}

h1{
  margin:.5rem 0 1rem;
  font-size:clamp(3.8rem,9vw,8rem);
  line-height:.84;
}

h1 span{color:var(--teal)}

.lede{
  max-width:40rem;
  color:var(--muted);
  font-size:1.12rem;
  line-height:1.75;
}

.network-state{
  display:grid;
  grid-template-columns:1fr;
  gap:.55rem;
  max-width:31rem;
  margin-top:2rem;
  padding:1rem 1.1rem;
  border:1px solid var(--line);
  border-radius:1rem;
  background:rgba(16,38,56,.8);
}

.network-state span{
  color:var(--muted);
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.network-state strong{color:var(--teal)}

button{
  width:max-content;
  padding:.65rem .9rem;
  color:var(--navy);
  border:0;
  border-radius:.65rem;
  background:var(--amber);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18rem;
  gap:4rem;
  max-width:78rem;
  margin:auto;
  padding:5rem 2rem 7rem;
}

article{
  color:#cbd7df;
  font-size:1.04rem;
  line-height:1.86;
}

article h2{
  color:var(--violet);
  font-size:clamp(2.4rem,5vw,4rem);
  line-height:1.05;
}

aside{
  align-self:start;
  padding:1.4rem;
  border:1px solid var(--line);
  border-top:5px solid var(--teal);
  background:var(--navy-soft);
}

aside p{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.74rem;
}

aside strong{line-height:1.6}

@media(max-width:800px){
  header,main{grid-template-columns:1fr}
  header img{height:40vh;mask-image:linear-gradient(to bottom,transparent,#000)}
}
