*,*::before,*::after{box-sizing:border-box}

:root{
  --ink:#07090d;
  --text:#f4ead8;
  --muted:#c7d0d5;
  --gold:#e5a74f;
  --line:rgba(244,234,216,0.18);
}

html{
  min-height:100%;
}

body{
  min-height:100vh;
  margin:0;
  font-family:"Outfit",Arial,sans-serif;
  background:var(--ink);
  color:var(--text);
}

body::selection{
  background:var(--gold);
  color:var(--ink);
}

a{
  color:inherit;
}

a:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:5px;
}

.home{
  min-height:100vh;
}

.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  align-items:end;
  justify-items:center;
  overflow:hidden;
  padding:clamp(14rem,30vh,18rem) clamp(1.25rem,4vw,4rem) clamp(2rem,8vh,4.5rem);
  isolation:isolate;
}

.hero-image{
  position:absolute;
  top:clamp(1rem,5vh,3rem);
  left:50%;
  z-index:-2;
  width:min(1500px,92vw);
  aspect-ratio:1707/282;
  object-fit:cover;
  object-position:center;
  border-radius:8px;
  opacity:0.88;
  transform:translateX(-50%);
  box-shadow:0 32px 90px rgba(0,0,0,0.45);
}

.hero-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(to bottom,rgba(7,9,13,0.06),rgba(7,9,13,0.22) 22%,rgba(7,9,13,0.94) 48%,rgba(7,9,13,1)),
    radial-gradient(circle at 52% 54%,rgba(229,167,79,0.16),transparent 38%),
    radial-gradient(circle at 18% 76%,rgba(85,199,164,0.12),transparent 30%);
}

.hero-content{
  width:min(1180px,100%);
  display:grid;
  gap:clamp(2rem,5vw,3.5rem);
  justify-items:center;
  text-align:center;
}

h1{
  max-width:16ch;
  margin:0;
  font-size:clamp(3rem,8.5vw,7.4rem);
  line-height:0.92;
  letter-spacing:0;
  font-weight:800;
  text-wrap:balance;
}

.contact-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0.85rem;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0.86rem 1.22rem;
  border:1px solid transparent;
  border-radius:8px;
  color:var(--ink);
  text-decoration:none;
  font-size:0.86rem;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
  box-shadow:0 16px 34px rgba(0,0,0,0.24);
  transition:background 0.18s ease,border-color 0.18s ease,color 0.18s ease,transform 0.18s ease,box-shadow 0.18s ease;
}

.button:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 42px rgba(0,0,0,0.34);
}

.button:active{
  transform:translateY(0);
}

.button-whatsapp{
  background:#25d366;
}

.button-whatsapp:hover{
  background:#1fb85a;
}

.button-email{
  background:#f4ead8;
}

.button-email:hover{
  background:#e5a74f;
}

.button-gpt{
  background:#55c7a4;
}

.button-gpt:hover{
  background:#77a9c8;
}

@media (max-width:720px){
  .hero{
    align-items:end;
    padding-block:13rem 2rem;
  }

  .hero-image{
    top:2rem;
    width:94vw;
    min-height:150px;
  }

  .hero-content{
    justify-items:stretch;
  }

  h1{
    max-width:none;
    font-size:clamp(2.75rem,13vw,5rem);
    text-align:left;
  }

  .contact-actions{
    align-items:stretch;
  }

  .button{
    width:100%;
  }
}
