:root {
  --black: #0F0F0F;
  --wine: #3B0D11;
  --sand: #D6C3A3;
  --muted: #8A7A63;
  --fire: #E63946;
  --soft: #A68F74;
}

body {
  margin: 0;
  background: var(--black);
  color: var(--sand);
  font-family: "Inter", sans-serif;
}

.hero {
  position: relative;
  min-height: 100vh;
  padding: 60px 8vw;
  background: linear-gradient(180deg, var(--wine), var(--black));
}

.grain {
  position: absolute;
  inset: 0;
  opacity: 0.08;
  background-image: url("https://www.transparenttextures.com/patterns/asfalt-light.png");
}

.hero-content {
  max-width: 700px;
  margin-top: 20vh;
}

h1 {
  font-family: "Playfair Display", serif;
  font-size: 56px;
  line-height: 1.1;
}

.subtitle {
  margin-top: 20px;
  color: var(--soft);
}

.description {
  margin-top: 20px;
  color: var(--muted);
}

.buttons {
  margin-top: 30px;
  display: flex;
  gap: 15px;
}

.btn {
  padding: 14px 28px;
  text-decoration: none;
}

.primary {
  background: var(--fire);
  color: white;
}

.secondary {
  border: 1px solid var(--sand);
  color: var(--sand);
}

.bottom-note {
  position: absolute;
  bottom: 20px;
  left: 8vw;
  font-size: 12px;
  color: #6F6252;
}

.section {
  padding: 100px 8vw;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}

.portfolio-card {
  padding: 25px;
  border: 1px solid rgba(255,255,255,0.1);
}

.contact {
  text-align: left;
}
