@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700&family=Roboto+Slab:wght@700&display=swap');

:root{
  --cream:#fff8eb;
  --ink:#24313a;
  --blue:#235d85;
  --coral:#ea684f;
  --green:#4f8c72;
  --line:#d9d2c5;
}

*{box-sizing:border-box}

body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 90% 10%,rgba(234,104,79,.14),transparent 24rem),
    var(--cream);
  font-family:Figtree,sans-serif;
}

nav{
  padding:1.3rem max(1.3rem,6vw);
  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(--blue);
  font-weight:700;
  text-decoration:none;
}

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

.eyebrow{
  color:var(--coral);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.76rem;
  font-weight:700;
}

h1,h2{font-family:"Roboto Slab",serif}

h1{
  max-width:15ch;
  margin:.5rem 0 0;
  color:var(--blue);
  font-size:clamp(3rem,7vw,6rem);
  line-height:.98;
}

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

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

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

.matcher{
  align-self:start;
  position:sticky;
  top:2rem;
  padding:1.5rem;
  border:1px solid var(--line);
  border-radius:1.3rem;
  background:white;
  box-shadow:.8rem .8rem 0 rgba(35,93,133,.08);
}

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

label{
  display:block;
  margin:1rem 0;
  color:#52606a;
}

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

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

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

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