*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html, body{
  background:#050505;
  color:#f6f2e8;
  font-family:Arial, Helvetica, sans-serif;
  overflow-x:hidden;
}

body{
  line-height:1.6;
}

/* HERO */

.hero{
  min-height:100vh;
  background:#050505;
  display:grid;
  grid-template-columns:48% 52%;
  align-items:center;
  padding:70px 0 70px 7vw;
  overflow:hidden;
}

.hero-copy{
  max-width:720px;
  position:relative;
  z-index:2;
}

.hero-logo{
  width:150px !important;
  max-width:150px !important;
  height:auto !important;
  display:block;
  margin-bottom:42px;
  object-fit:contain;
  filter:none;
  box-shadow:none;
}

.hero h1{
  font-size:clamp(40px,4.2vw,64px);
  line-height:1.02;
  letter-spacing:-2px;
  max-width:720px;
  margin-bottom:26px;
  color:#fff;
}

.hero-subtitle{
  font-size:21px;
  line-height:1.55;
  max-width:660px;
  color:#fff;
  margin-bottom:20px;
}

.hero-copy p{
  font-size:18px;
  line-height:1.65;
  max-width:680px;
  color:#b9b3a7;
}

.hero-image-wrap{
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  overflow:hidden;
}

.hero-phone{
  height:96vh;
  width:auto;
  max-width:none;
  display:block;
  object-fit:contain;
  margin-right:0;
}

/* GENERAL */

.section-line{
  height:1px;
  width:78%;
  margin:0 auto;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,.55),transparent);
}

.text-section,
.visual-section,
.contact-section,
footer{
  background:#050505;
  color:#f6f2e8;
}

.text-section{
  padding:105px 12%;
  max-width:1320px;
  margin:0 auto;
}

h2{
  font-size:clamp(36px,4.5vw,60px);
  line-height:1.05;
  letter-spacing:-2px;
  margin-bottom:28px;
  color:#fff;
}

p{
  font-size:19px;
  color:#b9b3a7;
  max-width:980px;
  margin-bottom:18px;
}

.visual-section{
  padding:115px 4%;
}

.section-heading{
  text-align:center;
  max-width:940px;
  margin:0 auto 55px auto;
}

.section-heading h2,
.section-heading p{
  margin-left:auto;
  margin-right:auto;
}

.wide-image{
  display:block;
  width:100%;
  max-width:1600px;
  margin:0 auto;
  border-radius:22px;
  box-shadow:0 40px 120px rgba(0,0,0,.68);
}

/* CONTACT */

.contact-section{
  padding:130px 8%;
  text-align:center;
  max-width:1200px;
  margin:0 auto;
}

.contact-section h2{
  margin:0 auto 30px auto;
}

.contact-section p{
  max-width:900px;
  margin:0 auto;
  font-size:20px;
}

.contact-email{
  display:inline-block;
  margin-top:38px;
  padding:18px 36px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.25);
  background:rgba(255,255,255,.02);
  font-size:22px;
  font-weight:600;
  letter-spacing:1px;
  color:#fff;
}

/* FOOTER */

footer{
  padding:80px 20px;
  text-align:center;
  border-top:1px solid rgba(212,175,55,.15);
}

.footer-logo{
  width:100px !important;
  max-width:100px !important;
  height:auto !important;
  display:block;
  margin:0 auto 20px auto;
  filter:none;
  box-shadow:none;
}

footer p{
  font-size:14px;
  color:#999;
  margin:0 auto;
}

/* MOBILE */

@media(max-width:1000px){
  .hero{
    grid-template-columns:1fr;
    padding:70px 8%;
  }

  .hero-image-wrap{
    height:auto;
    margin-top:45px;
    justify-content:center;
  }

  .hero-phone{
    height:auto;
    width:100%;
    max-width:620px;
  }
}
