@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600&family=Bitter:wght@700&display=swap');

:root{
  --paper:#f3f1e9;
  --ink:#233041;
  --blue:#315f9f;
  --orange:#d36d42;
  --green:#3b7d67;
  --line:#cec8ba;
}

*{box-sizing:border-box}

body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"IBM Plex Sans",sans-serif;
}

header{
  padding:2rem max(1.5rem,8vw) 4rem;
  border-bottom:1px solid var(--line);
}

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

nav a{
  color:var(--blue);
  font-weight:600;
  text-decoration:none;
}

.eyebrow{
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.75rem;
  font-weight:600;
}

h1,h2{font-family:Bitter,serif}

h1{
  max-width:13ch;
  margin:.5rem 0 0;
  font-size:clamp(3.5rem,8vw,7rem);
  line-height:.92;
}

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

article{
  font-size:1.04rem;
  line-height:1.85;
}

article h2{
  color:var(--green);
  font-size:2.2rem;
}

.comparison-tool{
  align-self:start;
  position:sticky;
  top:2rem;
  padding:1.4rem;
  border:1px solid var(--line);
  background:white;
}

.comparison-tool h2{
  margin-top:0;
  color:var(--blue);
}

label{
  display:block;
  margin:1rem 0;
  color:#5d6876;
}

input{
  width:100%;
  margin-top:.4rem;
  padding:.7rem;
  border:1px solid var(--line);
  font:inherit;
}

button{
  width:100%;
  padding:.75rem;
  color:white;
  border:0;
  background:var(--orange);
  font:inherit;
  font-weight:600;
  cursor:pointer;
}

#result{
  margin-top:1rem;
  padding:1rem;
  border-left:4px solid var(--green);
  background:#edf4f1;
  line-height:1.55;
}

@media(max-width:820px){
  main{grid-template-columns:1fr}
  .comparison-tool{position:static}
}
