:root{
  --ink:#101311;
  --paper:#f2f1eb;
  --signal:#D1864F;
  --muted:#666d66;
  --line:#d0d2ca}

*{
  box-sizing:border-box}

html{
  scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif}

a{
  color:inherit;
  text-decoration:none}

header{
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 6vw;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:5;
  background:rgba(242,241,235,.94);
  backdrop-filter:blur(12px)}

.brand{
  display:flex;
  align-items:center}

.brand img{
  display:block;
  width:190px;
  max-height:62px;
  object-fit:contain}

nav{
  display:flex;
  gap:38px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:800}

.headCta{
  background:var(--ink);
  color:white;
  padding:14px 17px;
  font-size:11px;
  text-transform:uppercase;
  font-weight:800}

.hero{
  min-height:calc(100vh - 88px);
  padding:8vh 7vw 85px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:7vw;
  align-items:center;
  position:relative;
  overflow:hidden}

.grid{
  position:absolute;
  inset:0;
  opacity:.35;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:linear-gradient(90deg,#000,transparent 72%)}

.heroCopy,.panel{
  position:relative}

.eyebrow,.label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800}

.eyebrow{
  display:flex;
  align-items:center;
  gap:10px}

.eyebrow i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--signal);
  border:1px solid}

.hero h1{
  font-size:clamp(57px,7vw,110px);
  line-height:.87;
  letter-spacing:-.075em;
  margin:32px 0}

.hero h1 em,h2 em{
  font-family:inherit;
  font-style:normal;
  font-weight:800}

.intro{
  font-size:17px;
  line-height:1.7;
  color:#4f554f;
  border-left:2px solid var(--signal);
  padding-left:20px;
  max-width:650px}

.actions{
  display:flex;
  align-items:center;
  gap:32px;
  margin-top:36px}

.button{
  background:var(--signal);
  border:1px solid;
  padding:18px 22px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:6px 6px 0 var(--ink)}

.under{
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  border-bottom:1px solid;
  padding-bottom:5px}

.panel{
  background:#171b18;
  color:white;
  border:1px solid #333a34;
  box-shadow:18px 18px 0 var(--signal);
  transform:rotate(1deg)}

.panelHead,.panelFoot{
  padding:16px 20px;
  background:#202521;
  font:10px monospace;
  letter-spacing:.08em;
  display:flex;
  justify-content:space-between}

.panelHead b,.panelFoot b,.hot{
  color:var(--signal)}

.ladder{
  padding:25px 22px}

.rung{
  height:70px;
  display:flex;
  align-items:center;
  font-family:monospace}

.rung small{
  color:#6e766f;
  width:23px}

.rung .line{
  height:2px;
  background:#59615b;
  width:35px}

.rung .grow{
  flex:1}

.rung strong{
  font-size:17px;
  padding:0 9px}

.rung label{
  font-size:9px;
  text-transform:uppercase;
  color:#969d97;
  white-space:nowrap}

.panelFoot{
  justify-content:flex-start;
  gap:14px;
  color:#818983}

.ticker{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:50px;
  background:var(--ink);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  font-size:9px;
  letter-spacing:.2em;
  font-weight:800}

.ticker{
  color:var(--signal)}

.ticker span{
  color:white}

.section{
  padding:115px 7vw}

.sectionLead{
  display:grid;
  grid-template-columns:.6fr 1.4fr 1fr;
  gap:5vw;
  margin-bottom:65px}

.section h2,.experience h2,.contactUs h2{
  font-size:clamp(42px,5vw,74px);
  line-height:.95;
  letter-spacing:-.06em;
  margin:0}

.sectionLead>p:last-child{
  color:var(--muted);
  line-height:1.7}

.label{
  color:#646b64}

.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid;
  border-left:1px solid}

.cards article{
  min-height:370px;
  padding:28px;
  border-right:1px solid;
  border-bottom:1px solid;
  display:flex;
  flex-direction:column;
  transition:.2s}

.cards article:hover{
  background:var(--signal);
  transform:translateY(-7px)}

.cardTop{
  display:flex;
  justify-content:space-between;
  font:11px monospace}

.cards h3{
  font-size:23px;
  line-height:1.05;
  margin:65px 0 17px}

.cards p{
  font-size:14px;
  line-height:1.65;
  color:#565d56}

.cards small{
  margin-top:auto;
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.09em;
  font-weight:800}

.experience{
  background:var(--ink);
  color:white;
  padding:115px 7vw;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:9vw}

.signal{
  color:var(--signal)}

.experience h2{
  margin:35px 0}

.experience>div>p:not(.label){
  color:#aeb4af;
  line-height:1.7;
  max-width:530px}

.light{
  display:inline-block;
  color:white;
  border-color:var(--signal);
  margin-top:28px}

.proof{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #3a403b;
  border-left:1px solid #3a403b}

.proof article{
  min-height:210px;
  border-right:1px solid #3a403b;
  border-bottom:1px solid #3a403b;
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:space-between}

.proof strong{
  font-size:61px;
  color:var(--signal);
  letter-spacing:-.07em}

.proof span{
  font-size:10px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#aab1aa}

.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px}

.steps article{
  border-top:3px solid;
  padding-top:22px}

.steps h3{
  margin:43px 0 13px;
  font-size:22px}

.steps p{
  font-size:14px;
  line-height:1.65;
  color:var(--muted)}

.contactUs{
  padding:95px 7vw;
  background:var(--signal);
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:10vw;
  align-items:center}

.contactUs>div>p{
  line-height:1.7}

.contactUs h2{
  margin-top:30px}

.contactButton{
  background:var(--ink);
  color:white;
  padding:20px;
  margin:25px 0 18px;
  display:flex;
  justify-content:space-between;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase}

.contactButton span{
  color:var(--signal)}

.contactUs small{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:800}

footer{
  background:var(--ink);
  color:white;
  padding:42px 7vw;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em}

.footerBrand{
  width:max-content;
  background:var(--paper);
  padding:7px 10px}

.footerBrand img{
  width:180px}

footer p{
  text-align:center;
  color:#8a918b}

footer>span{
  text-align:right;
  color:#8a918b}


@media(max-width:950px){
  nav{
  display:none}

.hero{
  grid-template-columns:1fr}

.sectionLead{
  grid-template-columns:1fr}

.cards{
  grid-template-columns:1fr 1fr}

.experience{
  grid-template-columns:1fr}

.steps{
  grid-template-columns:1fr 1fr}

.contactUs{
  grid-template-columns:1fr}

}


@media(max-width:620px){
  header{
  height:74px;
  padding:0 20px}

.headCta{
  font-size:9px}

.hero{
  padding:55px 24px 85px}

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

.ladder{
  padding:18px 10px}

.rung label{
  display:none}

.ticker{
  gap:10px}

.section{
  padding:80px 24px}

.cards{
  grid-template-columns:1fr}

.cards article{
  min-height:300px}

.experience{
  padding:80px 24px}

.proof{
  grid-template-columns:1fr}

.proof article{
  min-height:160px}

.steps{
  grid-template-columns:1fr}

.contactUs{
  padding:70px 24px}

footer{
  grid-template-columns:1fr;
  gap:25px}

footer p,footer>span{
  text-align:left}

}


