*{box-sizing:border-box;margin:0}
html,body{height:100%}

body{
  font-family:'Lato',sans-serif;
  color:#fff;
  background:#000;
}

video{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}

.content{
  position:fixed;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:64px;
  max-width:900px;
}

.content p{
  margin-top:auto;
}

h1{
  font-family:'Playfair Display',serif;
}

h1{
  font-size:clamp(48px,6vw,92px);
  line-height:.9;
  font-weight:400;
  letter-spacing:-2.5px;
}

h1 span{
  display:block;
  font-size:35%;
  font-weight:400;
  letter-spacing:0px;
  text-transform:lowercase;
}

h2{
  font-family:'Lato',sans-serif;
  margin-top:35px;
  font-size:clamp(22px,2.2vw,34px);
  font-weight:300;
}

p{
  font-size:clamp(14px,1.5vw,18px);
  line-height:1.4;
  font-weight:300;
}

a{color:#fff;text-decoration:underline}

.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:5;
  font-family:'Lato',sans-serif;
}

.modal .box{
  position:relative;
  background:#111;
  padding:40px 30px 30px;
  border-radius:16px;
  width:90%;
  max-width:500px;
}


.modal.active{display:flex}

form{display:grid;gap:12px}

input,select,textarea{
  padding:10px;
  background:#000;
  border:1px solid #333;
  color:#fff;
  border-radius:8px;
  font-family:'Lato',sans-serif;
}

textarea{min-height:120px}

.modal .box button#close,
.modal .box button#closeSuccess{
  position:absolute;
  top:10px;
  right:10px;
  background:none;
  border:none;
  font-size:15px;
  color:rgba(255,255,255,.6);
  cursor:pointer;
  padding:4px 8px;
}

.modal .box button#close:hover,
.modal .box button#closeSuccess:hover{
  color:#fff;
}

.ghost{
  position:fixed;
  top:50%;
  left:0;
  width:100%;
  transform:translateY(-50%);
  overflow:hidden;
  pointer-events:none;
  z-index:1;
}

.ghost::before{
  content:"ENGINEERING BIG IDEAS.   ENGINEERING BIG IDEAS.   ENGINEERING BIG IDEAS.";
  display:inline-block;
  white-space:nowrap;
  font-family:'Playfair Display',serif;
  font-weight:400;
  font-size:35vw;
  opacity:.025;
  animation:drift 50s linear infinite;
  word-spacing:4vw; 
}

@keyframes drift{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
footer {

  font-size:10px;
  color:#676767;
  margin-top:35px;
}
.cta{
  display:inline-block;
  margin-top:18px;
  padding:10px 20px;
  background:transparent;
  border:1px solid #fff;
  color:#fff;
  font-family:'Lato',sans-serif;
  font-size:14px;
  letter-spacing:.5px;
  cursor:pointer;
  border-radius:3px;
  transition:background .2s ease, color .2s ease;
}

.cta:hover{
  background:#fff;
  color:#000;
}


.hp{position:absolute;left:-9999px;}
