/* Strong typographic contrast, with a restrained metallic light pass. */
.hero h1 {
  position: relative;
  isolation: isolate;
  font-weight: 750;
  text-shadow: 0 3px 25px #020a14b3;
}
.hero h1::before {
  content: '';
  position: absolute;
  inset: -24px -20px;
  z-index: -1;
  background: radial-gradient(ellipse, #d9b56f12, transparent 70%);
  pointer-events: none;
}
.hero h1 .title-line > span {
  animation: bt-title-arrive 1.25s cubic-bezier(.16,1,.3,1) both;
}
.hero h1 .title-line:nth-child(2) > span { animation-delay: .15s; }
.hero h1 .title-line.accent { font-weight: 600; }
.hero h1 .title-line.accent > span {
  color: #e4c485;
  background: linear-gradient(110deg, #b58a42 0%, #e3c17c 22%, #fff1c5 43%, #c6a05c 60%, #f3d89d 80%, #b58a42 100%);
  background-size: 220% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 2px 13px #d5ad6329);
  animation: bt-title-arrive 1.4s cubic-bezier(.16,1,.3,1) .28s both, bt-gold-light 9s ease-in-out 1.7s infinite;
}
@keyframes bt-title-arrive {
  from { opacity: 0; transform: translateY(22px) scale(.97); filter: blur(7px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes bt-gold-light {
  0%, 100% { background-position: 100% 50%; }
  50% { background-position: 0% 50%; }
}
@media (max-width: 700px) {
  .hero-copy { position: relative; }
  .hero .eyebrow {
    width: fit-content; margin: 0 auto 20px;
    padding: 6px 10px;
    border: 1px solid #e1c1842b;
    border-radius: 30px;
    background: #0b1723a6;
    backdrop-filter: blur(14px);
    color: #e6cc99;
    box-shadow: inset 0 1px #ffffff06, 0 5px 20px #0001;
  }
  .hero h1 {
    font-family: 'Manrope', Arial, sans-serif;
    font-size: clamp(36px, 10.3vw, 69px);
    font-weight: 800;
    letter-spacing: -.065em;
    line-height: 1.08;
    margin-bottom: 20px;
    color: #faf7ed;
  }
  .hero h1 .title-line:first-child { text-transform: uppercase; font-size: .91em; }
  .hero h1 .title-line:nth-child(2) {
    font-family: 'Manrope', Arial, sans-serif;
    font-size: .38em; font-weight: 600;
    text-transform: uppercase; letter-spacing: .28em;
    margin: 14px 0 2px; line-height: 1.5;
    color: #b9c5cf;
  }
  .hero h1 .title-line.accent {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.48em; font-style: italic; font-weight: 600;
    letter-spacing: -.035em; line-height: 1.03;
    overflow: visible;
  }
  .hero h1::after {
    content: ''; display: block; width: 74px; height: 1px;
    margin: 21px auto 0;
    background: linear-gradient(90deg, transparent, #dfbd7e, transparent);
    box-shadow: 0 0 15px #c6a66a60;
  }
  .hero .intro { color: #c6d0d8; font-size: clamp(12px, 3.2vw, 14px); }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 35px; }
  .hero h1 .title-line.accent { font-size: 1.42em; }
  .hero .eyebrow { padding: 6px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1 .title-line > span, .hero h1 .title-line.accent > span {
    animation: none; opacity: 1; transform: none; filter: none;
  }
}
.motion-paused .hero h1 .title-line > span {
  animation: none !important; opacity: 1; transform: none; filter: none;
}
