.company-hero,
.company-section,
.company-cta{
  background:#fff;
  color:#20242b;
}

.company-hero{
  padding:
    clamp(4.5rem,7vw,6rem)
    clamp(1rem,4vw,4rem)
    clamp(2.5rem,4vw,3.5rem);
}

.company-section{
  padding:
    clamp(3rem,5vw,4.5rem)
    clamp(1rem,4vw,4rem);
}

.company-cta{
  padding:
    clamp(2rem,4vw,3rem)
    clamp(1rem,4vw,4rem)
    clamp(5rem,8vw,7rem);
}

.company-inner{
  max-width:1280px;
  margin:0 auto;
}

.company-hero .company-inner{
  max-width:980px;
}

.company-eyebrow,
.company-mini-eyebrow{
  margin:0 0 .75rem;
  font-size:.9rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(32,36,43,.48);
}

.company-hero h1,
.company-head h2,
.company-grid h2,
.company-cta h2{
  margin:0;
  font-size:clamp(2.65rem,4.5vw,3.85rem);
  line-height:1.03;
  letter-spacing:-.03em;
  font-weight:400;
  color:rgba(32,36,43,.94);
}

.company-lead{
  margin:1.35rem 0 0;
  max-width:68ch;
  font-size:clamp(1.12rem,1.6vw,1.35rem);
  line-height:1.55;
  color:rgba(32,36,43,.68);
}

.company-text{
  margin:1rem 0 0;
  max-width:72ch;
  font-size:1rem;
  line-height:1.7;
  color:rgba(32,36,43,.62);
}

.company-head{
  max-width:920px;
  margin-bottom:clamp(2.5rem,5vw,4rem);
}

.company-grid{
  display:grid;
  gap:clamp(2rem,5vw,5rem);
}

.company-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.company-grid article h2{
  max-width:12ch;
}

.company-grid article p,
.company-values p,
.company-lines p,
.company-cta p{
  margin:1rem 0 0;
  font-size:.98rem;
  line-height:1.65;
  color:rgba(32,36,43,.62);
}

.company-grid article p:first-of-type{
  margin-top:1.15rem;
}

.company-section--soft{
  background:
    radial-gradient(70% 70% at 18% 20%, rgba(195,170,191,.12), transparent 72%),
    #fff;
}

.company-values{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(32,36,43,.12);
  border-left:1px solid rgba(32,36,43,.12);
}

.company-values article{
  padding:1.4rem;
  border-right:1px solid rgba(32,36,43,.12);
  border-bottom:1px solid rgba(32,36,43,.12);
}

.company-values h3,
.company-lines h3{
  margin:0 0 .7rem;
  font-size:clamp(1.15rem,1.6vw,1.45rem);
  line-height:1.14;
  letter-spacing:-.02em;
  font-weight:400;
  color:rgba(32,36,43,.94);
}

.company-lines{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.1rem;
}

.company-lines article{
  padding:0;
}

.company-lines h3{
  padding-top:1.25rem;
  border-top:1.5px solid rgba(32,36,43,.16);
}

.company-cta__inner{
  max-width:980px;
  margin:0 auto;
  padding:clamp(2.2rem,5vw,4rem);
  text-align:center;
  border-radius:34px;
  background:
    radial-gradient(70% 80% at 50% 0%, rgba(255,255,255,.10), transparent 70%),
    radial-gradient(80% 90% at 18% 20%, rgba(195,170,191,.14), transparent 72%),
    #1f2430;
  color:#fff;
  box-shadow:0 28px 90px rgba(32,36,43,.16);
}

.company-cta .company-eyebrow{
  color:rgba(255,255,255,.52);
}

.company-cta h2{
  color:#fff;
}

.company-cta p{
  max-width:62ch;
  margin:1.2rem auto 1.8rem;
  font-size:1.08rem;
  line-height:1.65;
  color:rgba(255,255,255,.68);
}

.company-cta .btn{
  background:#fff;
  color:#20242b;
}

/* Contact page */

.contact-section{
  padding-top:clamp(3rem,5vw,4.5rem);
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) 360px;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}

.contact-main h2{
  margin:0;
  max-width:10ch;
  font-size:clamp(2.45rem,4vw,3.5rem);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:400;
  color:rgba(32,36,43,.94);
}

.contact-main > p{
  margin:1.15rem 0 0;
  max-width:62ch;
  font-size:1.02rem;
  line-height:1.72;
  color:rgba(32,36,43,.62);
}

.contact-actions{
  margin-top:2.1rem;
  display:grid;
  gap:1rem;
}

.contact-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.25rem 1.35rem;
  border-radius:26px;
  text-decoration:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.78)),
    radial-gradient(120% 140% at 12% 10%,rgba(195,170,191,.14),transparent 58%);
  border:1.5px solid rgba(32,36,43,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 0 0 1px rgba(255,255,255,.36);
  transition:border-color .22s ease, transform .22s ease;
}

.contact-card:hover{
  transform:translateY(-2px);
  border-color:rgba(195,170,191,.46);
}

.contact-card span{
  display:block;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(32,36,43,.42);
}

.contact-card strong{
  display:block;
  font-size:1.02rem;
  line-height:1.3;
  font-weight:500;
  color:rgba(32,36,43,.86);
}

.contact-card::after{
  content:"↗";
  color:rgba(32,36,43,.36);
  font-size:1rem;
}

.contact-side{
  align-self:start;
  padding:1.35rem;
  border-radius:28px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.78)),
    radial-gradient(120% 140% at 12% 10%,rgba(195,170,191,.13),transparent 58%);
  border:1.5px solid rgba(32,36,43,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 0 0 1px rgba(255,255,255,.36);
}

.contact-side > div + div{
  margin-top:1.45rem;
  padding-top:1.45rem;
  border-top:1px solid rgba(32,36,43,.10);
}

.contact-side ul{
  margin:0;
  padding:0;
  list-style:none;
}

.contact-side li{
  position:relative;
  padding-left:1.2rem;
  line-height:1.7;
  color:rgba(32,36,43,.62);
}

.contact-side li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:#c3aabf;
}

.contact-side p{
  margin:0;
  line-height:1.7;
  color:rgba(32,36,43,.62);
}

/* Mobile */

@media (max-width:900px){

  .company-hero{
    padding:3.5rem 1rem 1.25rem;
  }

  .company-section{
    padding:2rem 1rem;
  }

  .company-cta{
    padding:2rem 1rem 4rem;
  }

  .company-grid--2,
  .company-values,
  .company-lines,
  .contact-layout{
    grid-template-columns:1fr;
  }

  .company-values{
    border-left:0;
  }

  .company-values article{
    padding:1.25rem 0;
    border-right:0;
  }

  .company-grid article h2,
  .contact-main h2{
    max-width:none;
  }

  .company-cta__inner{
    border-radius:28px;
  }

  .contact-layout{
    display:grid;
    gap:1.5rem;
  }

  .contact-main{
    order:1;
  }

  .contact-side{
    order:2;
    margin-top:0;
  }

  .contact-card{
    align-items:flex-start;
    flex-direction:column;
  }

  .contact-card::after{
    display:none;
  }
}