:root { --hero-fallback: url('../images/hero_1.webp'); }
.hero { position: relative; display: flex; min-height: 100svh; align-items: flex-end; justify-content: flex-start; padding: 5rem 1.15rem 2.3rem; overflow: clip; background: linear-gradient(90deg, rgba(18, 48, 43, .92), rgba(18, 48, 43, .68) 55%, rgba(18, 48, 43, .2)), var(--hero-image-desktop, var(--hero-fallback)) center / cover no-repeat; color: var(--gold-100); text-align: left; }
.hero__mist { position: absolute; inset: -12% -6%; z-index: 0; pointer-events: none; mix-blend-mode: screen; filter: blur(6px); transform: translate3d(0, calc(var(--hero-parallax, 0px) * var(--hero-mist-rate, .3)), 0); }
.hero__mist--1 { --hero-mist-rate: .32; opacity: .55; background: radial-gradient(closest-side, rgba(238, 226, 201, .16), transparent 70%) 18% 26% / 50% 46% no-repeat, radial-gradient(closest-side, rgba(169, 131, 90, .14), transparent 72%) 78% 62% / 46% 42% no-repeat; }
.hero__mist--2 { --hero-mist-rate: .16; opacity: .7; mix-blend-mode: normal; background: radial-gradient(closest-side, rgba(10, 31, 27, .65), transparent 74%) 62% 12% / 58% 56% no-repeat, radial-gradient(closest-side, rgba(10, 31, 27, .55), transparent 76%) 12% 82% / 48% 46% no-repeat; }
.hero__content { position: relative; z-index: 2; width: min(100%, 590px); margin-top: clamp(4rem, 8vw, 7rem); }
.hero .eyebrow { margin: 0 0 .65rem; font-size: .75rem; letter-spacing: .16em; }
.hero h1 { max-width: 22ch; font-size: clamp(1.7rem, 4vw, 3rem); line-height: 1.06; color: var(--gold-100); }
.hero__body { max-width: 66ch; margin: 1rem 0 0; font-size: clamp(.9rem, 2vw, 1.08rem); line-height: 1.55; }
.hero__support { max-width: 66ch; margin: .7rem 0 0; color: rgba(238, 226, 201, .78); font-size: .78rem; line-height: 1.5; }
.hero__dates { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.hero__dates span { border: 1px solid var(--gold-400); border-radius: 999px; padding: .52rem .72rem; background: rgba(18, 48, 43, .48); font-size: .7rem; font-weight: 600; }
.hero__route { display: flex; align-items: center; gap: .4rem; margin-top: .9rem; font-size: .62rem; font-weight: 600; text-transform: uppercase; }
.hero__route span { position: relative; padding-left: .8rem; }
.hero__route span::before { content: ''; position: absolute; left: 0; top: 52%; width: 6px; height: 6px; border-radius: 55% 45% 60% 40% / 45% 55% 40% 60%; background: var(--gold-400); transform: translateY(-50%) rotate(-6deg); }
.hero__route-stroke { flex: none; width: clamp(24px, 6vw, 58px); height: 12px; overflow: visible; }
.hero__route-stroke path { fill: none; stroke: var(--gold-400); stroke-width: 1.5; stroke-linecap: round; opacity: .8; }
.hero__cta { position: relative; z-index: 2; display: inline-flex; margin-top: 1.1rem; border-radius: var(--radius-btn); padding: .9rem 1.1rem; background: var(--seal-red); color: var(--gold-100); font-size: .82rem; font-weight: 700; text-decoration: none; box-shadow: 0 14px 32px -8px rgba(179, 80, 46, .55); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.hero__cta:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -8px rgba(179, 80, 46, .7); filter: brightness(1.1); }
.hero__cta:active { transform: translateY(0); filter: brightness(.97); }
.hero__cta:focus-visible { outline: 3px solid var(--gold-400); outline-offset: 3px; }
.hero__credit { position: absolute; right: 1rem; bottom: .55rem; z-index: 2; margin: 0; color: rgba(238, 226, 201, .58); font-size: .56rem; }
.hero__credit a { color: inherit; }
.form-anchor { min-height: 1px; scroll-margin-top: 90px; }
@media (min-width: 769px) { .hero { align-items: flex-end; padding: 7rem clamp(2rem, 7vw, 8rem) 4rem; } }
@media (max-width: 768px) { :root { --hero-fallback: url('../images/hero_1-mobile.webp'); } .hero { background-image: linear-gradient(90deg, rgba(18, 48, 43, .94), rgba(18, 48, 43, .74) 55%, rgba(18, 48, 43, .3)), var(--hero-image-mobile, var(--hero-fallback)); } }
@media (prefers-reduced-motion: reduce) { .hero__mist { transform: none; } .hero__cta { transition: none; } }
