/* ===== Reset & Base ===== */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body {
  font-family: 'Source Sans Pro', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #6f6f6f;
  background-color: #161616;
}
.page-inner { min-height: 100vh; display: flex; flex-direction: column; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

/* ===== Hero ===== */
.hero {
  position: relative;
  min-height: 65vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 56px 24px;
  background-color: #161616;
  background-image: linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0.25)), url('https://img1.wsimg.com/isteam/getty/2254711706/:/rs=w:1920,m');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}

.nav {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  justify-content: center;
  padding: 24px;
  z-index: 3;
}

.logo {
  font-family: 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #f7f7f7;
  line-height: 1.2;
  transition: color .3s;
}
.logo:hover { color: #bfbfbf; }

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 66%;
}

.tagline {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 62px;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.2;
  word-wrap: break-word;
}

/* ===== Footer ===== */
.footer {
  background-color: #161616;
  padding: 56px 24px;
  text-align: center;
  margin-top: auto;
}
.footer p {
  font-size: 12px;
  color: #a9a9a9;
  line-height: 1.5;
}

/* ===== Responsive ===== */
@media (max-width: 767px) {
  .hero { min-height: 360px; padding: 40px 24px; }
  .hero-content { max-width: 100%; }
  .tagline { font-size: 40px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .tagline { font-size: 48px; }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .tagline { font-size: 48px; }
}

@media (min-width: 1280px) and (max-width: 1535px) {
  .tagline { font-size: 62px; }
}

@media (min-width: 1536px) {
  .tagline { font-size: 64px; }
}