:root {
  --ink: #f3f1ed;
  --muted: rgba(243,241,237,.62);
  --line: rgba(243,241,237,.32);
  --bg: #050505;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); }
body { color: var(--ink); font-family: Inter, Arial, sans-serif; }
a { color: inherit; text-decoration: none; }

.hero {
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  background: #030303;
  isolation: isolate;
}

.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
  filter: contrast(1.03) brightness(.9);
  transform: scale(1.015);
  animation: imageIn 1.4s cubic-bezier(.22,.61,.36,1) both;
}

.shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.93) 0%, rgba(0,0,0,.66) 31%, rgba(0,0,0,.13) 63%, rgba(0,0,0,.18) 100%),
    linear-gradient(180deg, rgba(0,0,0,.26), transparent 25%, transparent 72%, rgba(0,0,0,.48));
  z-index: 1;
}

.topbar,
.copy,
.footer { position: relative; z-index: 2; }

.topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 34px 46px;
  letter-spacing: .18em;
  font-size: 11px;
}

.brand {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: 23px;
  letter-spacing: .14em;
}

.edition { color: var(--muted); }

.copy {
  position: absolute;
  left: 7.5vw;
  top: 50%;
  transform: translateY(-47%);
  width: min(590px, 44vw);
  animation: copyIn 1.1s .15s cubic-bezier(.22,.61,.36,1) both;
}

.eyebrow {
  margin: 0 0 26px;
  font-size: 10px;
  letter-spacing: .32em;
  color: var(--muted);
}

h1 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(54px, 5.6vw, 92px);
  line-height: .92;
  font-weight: 400;
  letter-spacing: -.025em;
}

.hairline {
  width: 72px;
  height: 1px;
  background: var(--line);
  margin: 32px 0 18px;
}

.subcopy {
  margin: 0;
  color: var(--muted);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 19px;
  letter-spacing: .04em;
}

.footer {
  position: absolute;
  left: 46px;
  right: 46px;
  bottom: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: rgba(243,241,237,.48);
  font-size: 9px;
  letter-spacing: .21em;
}

.footer a { transition: color .25s ease; }
.footer a:hover { color: var(--ink); }

@keyframes imageIn {
  from { opacity: 0; transform: scale(1.05); }
  to { opacity: 1; transform: scale(1.015); }
}
@keyframes copyIn {
  from { opacity: 0; transform: translateY(-43%); }
  to { opacity: 1; transform: translateY(-47%); }
}

@media (max-width: 800px) {
  .hero-image {
    object-position: 64% center;
    filter: contrast(1.02) brightness(.82);
  }
  .shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.08) 24%, rgba(0,0,0,.10) 55%, rgba(0,0,0,.86) 100%),
      linear-gradient(90deg, rgba(0,0,0,.46), transparent 74%);
  }
  .topbar { padding: 24px 22px; }
  .brand { font-size: 20px; }
  .edition { font-size: 8px; }
  .copy {
    left: 22px;
    right: 22px;
    top: auto;
    bottom: 86px;
    width: auto;
    transform: none;
  }
  .eyebrow { margin-bottom: 14px; }
  h1 { font-size: clamp(46px, 14.2vw, 72px); line-height: .93; }
  .hairline { margin: 21px 0 12px; }
  .subcopy { font-size: 17px; }
  .footer { left: 22px; right: 22px; bottom: 23px; }
  .footer span:first-child { display: none; }
  .footer { justify-content: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-image, .copy { animation: none; }
}
