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

body {

  background: #060807;

  color: #ece7df;

  font-family: 'Inter', sans-serif;

  overflow-x: hidden;

  position: relative;

}

.background {

  position: fixed;

  inset: 0;

  background:

    radial-gradient(
      circle at top left,
      rgba(160,80,30,0.16),
      transparent 32%
    ),

    radial-gradient(
      circle at bottom right,
      rgba(110,20,10,0.18),
      transparent 30%
    ),

    radial-gradient(
      circle at bottom left,
      rgba(40,70,50,0.12),
      transparent 35%
    );

  filter: blur(70px);

  z-index: 0;

}

.grain {

  position: fixed;

  inset: 0;

  opacity: 0.03;

  pointer-events: none;

  z-index: 1;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/g%3E%3C/svg%3E");

}

.hero {

  position: relative;

  z-index: 2;

  min-height: 82vh;

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  text-align: center;

  padding: 3rem 2rem;

}

.symbol {

  margin-bottom: 1.5rem;

  opacity: 0.7;

}

.hero h1 {

  font-family: 'Cormorant Garamond', serif;

  font-size: clamp(4rem, 10vw, 7rem);

  font-weight: 300;

  letter-spacing: 0.05em;

}

.subtitle {

  margin-top: 1rem;

  font-size: 0.8rem;

  letter-spacing: 0.42em;

  text-transform: uppercase;

  opacity: 0.72;

}

.hero-copy {

  margin-top: 3rem;

  display: flex;

  flex-direction: column;

  gap: 1rem;

  max-width: 760px;

  line-height: 1.9;

  color: rgba(255,255,255,0.72);

}

.construction {

  margin-top: 3rem;

  padding: 0.95rem 1.5rem;

  border-radius: 999px;

  border: 1px solid rgba(255,255,255,0.12);

  font-size: 0.76rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

}

main {

  position: relative;

  z-index: 2;

  width: min(1320px, calc(100% - 2rem));

  margin: 0 auto 8rem;

}

.top-nav {

  display: flex;

  justify-content: center;

  gap: 2rem;

  flex-wrap: wrap;

  margin-bottom: 5rem;

}

.top-nav a {

  color: rgba(255,255,255,0.72);

  text-decoration: none;

  font-size: 0.82rem;

  letter-spacing: 0.12em;

  text-transform: uppercase;

}

.element-section {

  border-radius: 34px;

  overflow: hidden;

  padding: 5rem 4rem;

  background:

    radial-gradient(
      circle at top right,
      rgba(170,70,20,0.18),
      transparent 35%
    ),

    radial-gradient(
      circle at bottom left,
      rgba(120,30,10,0.16),
      transparent 32%
    ),

    rgba(255,255,255,0.03);

  border: 1px solid rgba(255,255,255,0.08);

}

.section-header {

  text-align: center;

  margin-bottom: 3rem;

}

.eyebrow {

  font-size: 0.74rem;

  letter-spacing: 0.3em;

  text-transform: uppercase;

  opacity: 0.7;

}

.section-header h2 {

  margin-top: 1rem;

  font-family: 'Cormorant Garamond', serif;

  font-size: clamp(4rem, 9vw, 6rem);

  font-weight: 300;

  color: #d2a07d;

}

.section-header p {

  margin-top: 1rem;

  color: rgba(255,255,255,0.72);

}

.material-tags {

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  gap: 1rem;

  margin-bottom: 2rem;

}

.tag {

  display: flex;

  align-items: center;

  gap: 0.8rem;

  padding: 0.9rem 1.2rem;

  border-radius: 999px;

  background: rgba(255,255,255,0.04);

  border: 1px solid rgba(255,255,255,0.06);

}

.tag img {

  width: 34px;

  height: 34px;

  object-fit: contain;

  display: block;

  opacity: 0.92;

}

.tag span {

  font-size: 0.78rem;

  letter-spacing: 0.08em;

  text-transform: uppercase;

}

.material-palette {

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  gap: 1rem;

  margin-bottom: 3rem;

}

.material-palette span {

  padding: 0.7rem 1rem;

  border-radius: 999px;

  background: rgba(0,0,0,0.18);

  border: 1px solid rgba(255,255,255,0.06);

  font-size: 0.74rem;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: rgba(255,255,255,0.72);

}

.feature-image {

  border-radius: 28px;

  overflow: hidden;

}

.feature-image img {

  width: 100%;

  display: block;

}

.description {

  max-width: 760px;

  margin: 3rem auto 0;

  text-align: center;

  line-height: 1.9;

  color: rgba(255,255,255,0.74);

}

.description p + p {

  margin-top: 1.5rem;

}

@media (max-width: 900px) {

  .hero {

    min-height: 70vh;

  }

  .element-section {

    padding: 3rem 1.5rem;

  }

  .section-header h2 {

    font-size: 4rem;

  }

}
