.hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; padding-top: var(--header-h); isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: -3; }
.hero__media video, .hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__media video { transform: scale(1.04); }
.hero__overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(16,15,14,.45) 0%, rgba(16,15,14,.35) 40%, rgba(16,15,14,.92) 78%, var(--black) 100%); }
.hero__marble { position: absolute; inset: 0; z-index: -1; background: url("../images/textures/marble-2.jpg") center / cover; mix-blend-mode: soft-light; opacity: .35; }
.hero__grain { position: absolute; inset: 0; z-index: -1; opacity: .06; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); pointer-events: none; }
.hero__inner { position: relative; min-width: 0; width: min(100% - var(--gutter) * 2, var(--container-wide)); margin-inline: auto; padding-block: clamp(48px, 7vw, 96px) clamp(40px, 6vw, 72px); }
.hero__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; font-family: var(--f-sub); font-size: .8rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.hero__eyebrow .crown { width: 26px; height: auto; }
.hero__title { font-size: clamp(3.6rem, 11.5vw, 11rem); line-height: .86; letter-spacing: -.01em; max-width: 14ch; }
.hero__title .line { display: block; overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; }
.hero__title .word { display: inline-block; transform: translateY(110%); animation: heroWord 1s var(--ease-out) forwards; }
.hero__title .word.gold { color: var(--gold); }
.hero__title .line:nth-child(2) .word { animation-delay: .12s; }
.hero__title .line:nth-child(3) .word { animation-delay: .24s; }
@keyframes heroWord { to { transform: translateY(0); } }
.hero__row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-top: clamp(28px, 4vw, 44px); }
.hero__lede { font-size: clamp(1.1rem, 1.5vw, 1.4rem); color: var(--cream); max-width: 56ch; margin: 0; opacity: 0; animation: fadeUp .9s var(--ease-out) .45s forwards; }
.hero__lede strong { color: var(--gold-lt); }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-end; opacity: 0; animation: fadeUp .9s var(--ease-out) .6s forwards; }
.hero__ticker { position: relative; margin-top: clamp(40px, 6vw, 72px); padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15); display: flex; flex-wrap: wrap; gap: 14px 40px; opacity: 0; animation: fadeUp .9s var(--ease-out) .8s forwards; }
.hero__fact { display: flex; align-items: baseline; gap: 10px; }
.hero__fact b { font-family: var(--f-display); font-size: clamp(1.6rem, 2.6vw, 2.4rem); color: var(--white); line-height: 1; }
.hero__fact span { font-family: var(--f-sub); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--silver); }
.hero__scroll { position: absolute; right: var(--gutter); bottom: 28px; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--silver); font-family: var(--f-sub); font-size: .65rem; letter-spacing: .3em; text-transform: uppercase; writing-mode: vertical-rl; opacity: 0; animation: fadeUp 1s var(--ease-out) 1.2s forwards; }
.hero__scroll::after { content: ""; width: 1px; height: 54px; background: linear-gradient(180deg, var(--gold), transparent); animation: scrollPulse 1.8s ease-in-out infinite; }
@keyframes scrollPulse { 0%, 100% { transform: scaleY(1); opacity: 1; } 50% { transform: scaleY(.4); opacity: .4; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Play button (video modal trigger) */
.btn--play { gap: 14px; }
.btn--play .play-ring { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid currentColor; display: grid; place-items: center; position: relative; }
.btn--play .play-ring::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1px solid var(--gold); opacity: 0; animation: ring 2.2s ease-out infinite; }
@keyframes ring { 0% { transform: scale(.7); opacity: .8; } 100% { transform: scale(1.4); opacity: 0; } }

/* Inner page hero */
.page-hero { position: relative; padding: calc(var(--header-h) + clamp(56px, 8vw, 110px)) 0 clamp(48px, 6vw, 88px); overflow: hidden; isolation: isolate; }
.page-hero__bg { position: absolute; inset: 0; z-index: -1; background: url("../images/textures/marble-2.jpg") center / cover; opacity: .28; }
.page-hero--marble-3 .page-hero__bg { background-image: url("../images/textures/marble-3.jpg"); }
.page-hero--marble-1 .page-hero__bg { background-image: url("../images/textures/marble-1.jpg"); }
.page-hero--marble-4 .page-hero__bg { background-image: url("../images/textures/marble-4.jpg"); }
.page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(16,15,14,.55), rgba(16,15,14,.15) 50%, var(--black) 100%); }
.page-hero__inner .h-hero { font-size: clamp(2.6rem, 5.8vw, 5.4rem); max-width: 18ch; }
.page-hero__inner .lede { margin-top: 24px; }
.page-hero--media { min-height: 70svh; display: flex; align-items: flex-end; }
.page-hero--media .page-hero__video { position: absolute; inset: 0; z-index: -2; }
.page-hero--media .page-hero__video video { width: 100%; height: 100%; object-fit: cover; }
.page-hero--media .page-hero__bg { mix-blend-mode: soft-light; opacity: .4; }
