section[data-hero] { --tw3-red:        #C42B22; --tw3-red-hover:  #D63A2F; --tw3-red-bright: #F2544A; --tw3-red-deep:   #8E1C15; --silver-100: #F2F3F5; --silver-200: #C9CCD1; --silver-400: #8A8F98; --silver-600: #82878F; --ink-950: #0E0C0D; --ink-900: #141313; --ink-800: #1B1819; --ink-700: #221F20; --ink-600: #2B2728; --line: rgba(255, 255, 255, 0.10); --line-strong: rgba(255, 255, 255, 0.20); --font-display: 'Archivo', 'Archivo Fallback', 'Helvetica Neue', Arial, sans-serif; --font-body: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace; --rule-ink: rgba(255, 255, 255, .09); --sprocket: radial-gradient(circle, rgba(255,255,255,.16) 2.6px, transparent 3.2px); --ease: cubic-bezier(0.16, 1, 0.30, 1); }
@keyframes kenburns { from { transform: scale(1.02); } to { transform: scale(1.13); } }
@keyframes kenburns-framed { from { transform: scale(1.0); } to { transform: scale(1.035); } }
@keyframes chevron-drift { 0%, 100% { transform: translateY(-3px); opacity: .5; } 50% { transform: translateY(4px); opacity: 1; } }
@keyframes dotfill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes kb-push-face { from { transform: scale(1.02); } to { transform: scale(1.12); } }
@keyframes kb-dolly { from { transform: scale(1.08) translateX(2.5%); } to { transform: scale(1.08) translateX(-2.5%); } }
@keyframes kb-pull-crowd { from { transform: scale(1.16); } to { transform: scale(1.02); } }
@keyframes kb-pan { from { transform: scale(1.06) translateX(2.5%); } to { transform: scale(1.06) translateX(-2.5%); } }
@keyframes kb-push-grin { from { transform: scale(1.02); } to { transform: scale(1.14); } }
@keyframes kb-pull-room { from { transform: scale(1.4); } to { transform: scale(1.12) translateX(4%); } }
@keyframes title-in { from { opacity: 0; } to { opacity: 1; } }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transform: scale(1.13); transition: opacity 1.6s var(--ease), transform 8s linear; will-change: opacity, transform; }
.hero-slide.is-active { opacity: 1; animation: kenburns 14s linear forwards; }
.hero-slide--framed { transform: scale(1.035); }
.hero-slide--framed.is-active { animation: kenburns-framed 14s linear forwards; }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(14,12,13,.94) 0%, rgba(14,12,13,.72) 26%, rgba(14,12,13,.30) 52%, rgba(14,12,13,.14) 72%, rgba(14,12,13,.64) 100%), linear-gradient(to right, rgba(14,12,13,.90) 0%, rgba(14,12,13,.78) 34%, rgba(14,12,13,.50) 52%, rgba(14,12,13,.24) 66%, transparent 78%); }
@media (max-width: 767px) {
  .hero-scrim { background: linear-gradient(to top, rgba(14,12,13,.94) 0%, rgba(14,12,13,.86) 34%, rgba(14,12,13,.79) 58%, rgba(14,12,13,.68) 78%, rgba(14,12,13,.70) 100%); }
  section[data-hero] { height: auto; min-height: 100svh; }
  section[data-hero] > .h-full { height: auto; min-height: 100svh; padding-top: 6.5rem; }
}
.hero-scroll { position: absolute; left: 50%; bottom: 1.6rem; transform: translateX(-50%); z-index: 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: none; background: none; color: var(--tw3-red-bright); cursor: pointer; transition: color .25s var(--ease); }
.hero-scroll:hover { color: #fff; }
.hero-scroll svg { animation: chevron-drift 2s var(--ease) infinite; }
.hero-dot { flex: none; width: 34px; height: 3px; background: rgba(255,255,255,.5); position: relative; cursor: pointer; border: none; padding: 0; }
.hero-dot::before { content: ''; position: absolute; inset: -21px -6px; }
.hero-dot::after { content: ''; position: absolute; inset: 0; background: var(--tw3-red-bright); transform: scaleX(0); transform-origin: left; }
.hero-dot.is-active::after { animation: dotfill 6s linear forwards; }
@media (max-width: 400px) {
  .hero-dot { width: 18px; }
}
.hero-slide--1 { background-image: url('../img/hero-cloud.jpg'); background-image: image-set(url('../img/hero-cloud.webp') type('image/webp'), url('../img/hero-cloud.jpg') type('image/jpeg')); }
.hero-ready .hero-slide--2 { background-image: url('../img/hero-santa.jpg'); background-image: image-set(url('../img/hero-santa.webp') type('image/webp'), url('../img/hero-santa.jpg') type('image/jpeg')); }
.hero-ready .hero-slide--3 { background-image: url('../img/hero-amphitheatre.jpg'); background-image: image-set(url('../img/hero-amphitheatre.webp') type('image/webp'), url('../img/hero-amphitheatre.jpg') type('image/jpeg')); }
.hero-ready .hero-slide--4 { background-image: url('../img/hero-icecream.jpg'); background-image: image-set(url('../img/hero-icecream.webp') type('image/webp'), url('../img/hero-icecream.jpg') type('image/jpeg')); }
.hero-ready .hero-slide--5 { background-image: url('../img/hero-elf.jpg'); background-image: image-set(url('../img/hero-elf.webp') type('image/webp'), url('../img/hero-elf.jpg') type('image/jpeg')); }
.hero-ready .hero-slide--6 { background-image: url('../img/hero-session.jpg'); background-image: image-set(url('../img/hero-session.webp') type('image/webp'), url('../img/hero-session.jpg') type('image/jpeg')); }
@media (max-width: 767px) {
  .hero-slide--1 { background-image: url('../img/hero-cloud-portrait.jpg'); background-image: image-set(url('../img/hero-cloud-portrait.webp') type('image/webp'), url('../img/hero-cloud-portrait.jpg') type('image/jpeg')); }
  .hero-ready .hero-slide--2 { background-image: url('../img/hero-santa-portrait.jpg'); background-image: image-set(url('../img/hero-santa-portrait.webp') type('image/webp'), url('../img/hero-santa-portrait.jpg') type('image/jpeg')); }
  .hero-ready .hero-slide--3 { background-image: url('../img/hero-amphitheatre-portrait.jpg'); background-image: image-set(url('../img/hero-amphitheatre-portrait.webp') type('image/webp'), url('../img/hero-amphitheatre-portrait.jpg') type('image/jpeg')); }
  .hero-ready .hero-slide--4 { background-image: url('../img/hero-icecream-portrait.jpg'); background-image: image-set(url('../img/hero-icecream-portrait.webp') type('image/webp'), url('../img/hero-icecream-portrait.jpg') type('image/jpeg')); }
  .hero-ready .hero-slide--5 { background-image: url('../img/hero-elf-portrait.jpg'); background-image: image-set(url('../img/hero-elf-portrait.webp') type('image/webp'), url('../img/hero-elf-portrait.jpg') type('image/jpeg')); }
  .hero-ready .hero-slide--6 { background-image: url('../img/hero-session-portrait-v2.jpg'); background-image: image-set(url('../img/hero-session-portrait-v2.webp') type('image/webp'), url('../img/hero-session-portrait-v2.jpg') type('image/jpeg')); }
}
@media (max-width: 480px) {
  .hero-scroll { left: auto; right: .75rem; transform: none; }
}
@media print {
  .hero-scroll, .hero-dot { display: none !important; }
  .hero-slide { filter: none !important; }
}
.hero-pause { flex: none; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; padding: 0; cursor: pointer; color: rgba(255,255,255,.6); transition: color .25s var(--ease); margin-left: .5rem; position: relative; }
.hero-pause::before { content: ''; position: absolute; inset: -6px; }
.hero-pause:hover { color: #fff; }
.hero-pause .icon-play { display: none; }
.hero-pause[aria-pressed="true"] .icon-pause { display: none; }
.hero-pause[aria-pressed="true"] .icon-play { display: block; }
.is-paused .hero-dot.is-active::after { animation: none; transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
  .hero-slide.is-active { animation: none; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > * { animation: rise .9s var(--ease) both; }
  .hero-copy > :nth-child(1) { animation-delay: .15s; }
  .hero-copy > :nth-child(2) { animation-delay: .27s; }
  .hero-copy > :nth-child(3) { animation-delay: .39s; }
  .hero-copy > :nth-child(4) { animation-delay: .51s; }
  .hero-copy > :nth-child(5) { animation-delay: .63s; }
  .hero-copy > :nth-child(6) { animation-delay: .75s; }
}
@media (min-width: 768px) {
  section[data-hero] > .hero-scrim { background: linear-gradient(to bottom, rgba(14,12,13,.82) 0, rgba(14,12,13,.55) 90px, transparent 210px), linear-gradient(to top, rgba(14,12,13,.88) 0%, rgba(14,12,13,.40) 16%, transparent 38%), linear-gradient(to right, rgba(14,12,13,.88) 0%, rgba(14,12,13,.76) 30%, rgba(14,12,13,.42) 42%, rgba(14,12,13,.10) 54%, transparent 62%); transition: opacity 1.6s var(--ease); }
  section[data-hero] > .hero-slide--2.is-active ~ .hero-scrim, section[data-hero] > .hero-slide--3.is-active ~ .hero-scrim, section[data-hero] > .hero-slide--4.is-active ~ .hero-scrim, section[data-hero] > .hero-slide--5.is-active ~ .hero-scrim { opacity: .8; }
}
@media (max-width: 767px) {
  section[data-hero] > .hero-scrim { background: linear-gradient(to top, rgba(14,12,13,.94) 0%, rgba(14,12,13,.86) 34%, rgba(14,12,13,.80) 58%, rgba(14,12,13,.80) 62%, rgba(14,12,13,.40) 70%, rgba(14,12,13,.14) 78%, rgba(14,12,13,.14) 84%, rgba(14,12,13,.62) 93%, rgba(14,12,13,.70) 100%); }
}
.hero-dot.is-done { background: rgba(255,255,255,.85); }
.hero-tagline { margin: 0 0 1rem; font-family: var(--font-display); font-weight: 500; font-stretch: 125%; font-size: clamp(.8rem, 1.05vw, 1rem); letter-spacing: .32em; text-transform: uppercase; color: rgba(255,255,255,.9); text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.hero-slide { transform: none; transition: opacity 1.1s cubic-bezier(.7,0,.3,1); }
.hero-slide--framed { transform: none; }
.hero-slide.is-active { z-index: 2; }
.hero-slide.is-leaving { opacity: 1; z-index: 1; animation: kenburns 14s linear forwards; }
.hero-slide--framed.is-leaving { animation: kenburns-framed 14s linear forwards; }
section[data-hero] > .hero-scrim { z-index: 3; }
section[data-hero] > .hero-copy { z-index: 4; }
section[data-hero] > .hero-scroll { z-index: 5; }
@media (prefers-reduced-motion: reduce) {
  .hero-slide.is-leaving { animation: none; }
}
.hero-tagline { text-wrap: balance; }
@media (max-width: 767px) {
  section[data-hero] > .hero-scrim { background: linear-gradient(to top, rgba(14,12,13,.94) 0%, rgba(14,12,13,.88) 34%, rgba(14,12,13,.72) 48%, rgba(14,12,13,.22) 57%, rgba(14,12,13,.06) 64%, rgba(14,12,13,.06) 84%, rgba(14,12,13,.62) 93%, rgba(14,12,13,.70) 100%); }
  section[data-hero] > .hero-copy { padding-bottom: 2.25rem; }
  section[data-hero] .hero-tagline { margin-bottom: .75rem; }
  section[data-hero] .hero-actions { flex-wrap: nowrap; gap: .6rem; margin-top: 1.25rem; }
  section[data-hero] .hero-actions .btn { padding-left: 1.05rem; padding-right: 1.05rem; white-space: nowrap; }
  section[data-hero] [role="group"] { margin-top: 1.5rem; }
  section[data-hero] > .hero-slide--2 { background-size: auto 112%; background-position: 50% 100%; }
  section[data-hero] > .hero-slide--4 { background-size: auto 116%; background-position: 50% 100%; }
}
@media (max-width: 374px) {
  section[data-hero] .hero-actions .btn { padding-left: .85rem; padding-right: .85rem; }
}
@media (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
  section[data-hero] > .hero-slide--2 { background-position: 75% 50%; }
}
.hero-scroll svg { animation: none; }
@media (min-width: 768px) {
  .hero-ready .hero-slide--6 { background-image: url('../img/hero-session-43.jpg'); background-image: image-set(url('../img/hero-session-43.webp') type('image/webp'), url('../img/hero-session-43.jpg') type('image/jpeg')); }
}
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  section[data-hero] > .hero-slide--1 { transform-origin: 56% 23%; }
  section[data-hero] > .hero-slide--3 { transform-origin: 50% 58%; }
  section[data-hero] > .hero-slide--5 { transform-origin: 50% 45%; }
  section[data-hero] > .hero-slide--6 { transform-origin: 50.6% 38%; }
  section[data-hero] > .hero-slide--1.is-active, section[data-hero] > .hero-slide--1.is-leaving { animation: kb-push-face 7.6s linear forwards; }
  section[data-hero] > .hero-slide--2.is-active, section[data-hero] > .hero-slide--2.is-leaving { animation: kb-dolly 7.6s linear forwards; }
  section[data-hero] > .hero-slide--3.is-active, section[data-hero] > .hero-slide--3.is-leaving { animation: kb-pull-crowd 7.6s linear forwards; }
  section[data-hero] > .hero-slide--4.is-active, section[data-hero] > .hero-slide--4.is-leaving { animation: kb-pan 7.6s linear forwards; }
  section[data-hero] > .hero-slide--5.is-active, section[data-hero] > .hero-slide--5.is-leaving { animation: kb-push-grin 7.6s linear forwards; }
  section[data-hero] > .hero-slide--6.is-active, section[data-hero] > .hero-slide--6.is-leaving { animation: kb-pull-room 8s cubic-bezier(.25,.1,.25,1) forwards; }
}
.is-paused .hero-slide, section[data-hero]:focus-within .hero-slide { animation-play-state: paused; }
@media (min-width: 768px) {
  section[data-hero] > .hero-scrim { transition: opacity 1.1s cubic-bezier(.7,0,.3,1); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > * { animation: title-in .9s cubic-bezier(.2,.6,.2,1) both; animation-delay: .8s; }
  .hero-copy > :nth-child(1) { animation-delay: .1s; }
  .hero-copy > :nth-child(2) { animation-delay: .35s; animation-duration: 1.1s; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > :nth-child(n+3) { animation-delay: .8s; }
}
.hero-copy p.font-mono { font-family: var(--font-display) !important; font-weight: 800 !important; font-stretch: 118%; letter-spacing: .07em !important; }
@media (max-width: 767px) {
  section[data-hero] .hero-tagline { font-size: .72rem; letter-spacing: .2em; margin-bottom: .6rem; }
  section[data-hero] .hero-copy .lede { font-size: 1rem; line-height: 1.5; margin-top: .6rem; }
  section[data-hero] .hero-copy > .mt-5 { margin-top: .9rem; }
  section[data-hero] .hero-actions { margin-top: 1.1rem; }
  section[data-hero] .hero-actions .btn { letter-spacing: .1em; }
  section[data-hero] [role="group"] { margin-top: 1.25rem; }
  section[data-hero] > .hero-copy { padding-bottom: 1.5rem; }
  section[data-hero] > .hero-slide--5 { background-size: auto 106%; background-position: 50% 0%; }
}
@media (max-width: 767px) and (max-height: 620px) {
  section[data-hero] .hero-copy .lede { font-size: .92rem; }
  section[data-hero] .hero-copy > .mt-5 { display: none; }
}
@media (min-width: 768px) {
  section[data-hero] > .hero-copy::before { content: ''; position: absolute; z-index: -1; pointer-events: none; left: -10rem; bottom: -8rem; width: 64rem; height: 44rem; background: radial-gradient(closest-side, rgba(14,12,13,.74), rgba(14,12,13,.52) 58%, rgba(14,12,13,0)); }
  section[data-hero] .hero-copy .lede, section[data-hero] .hero-tagline, section[data-hero] .hero-copy > .mt-5 p { text-shadow: 0 1px 2px rgba(0,0,0,.55); }
}
section[data-hero]::before { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: url('../img/grain.webp') repeat; background-size: 192px 192px; mix-blend-mode: overlay; opacity: .07; }
.hero-lockup { margin: .25rem 0 0; }
.hero-lockup img { display: block; width: min(34rem, 40vw); height: auto; filter: drop-shadow(0 8px 28px rgba(0,0,0,.55)); }
@media (max-width: 767px) {
  .hero-lockup img { width: min(80vw, 22rem); }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-lockup img { width: min(34rem, 56vw); }
}
@media (max-width: 767px) {
  section[data-hero] .hero-tagline { margin-bottom: .35rem; }
  .hero-lockup img { width: min(76vw, 21rem); }
}
.hero-lockup img { width: min(30rem, 36vw, 54svh); }
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-lockup img { width: min(26rem, 48vw); }
}
@media (max-width: 767px) {
  .hero-lockup img { width: min(66vw, 17.5rem, max(42svh, 12rem)); }
}
@media (max-width: 767px) {
  section[data-hero] .hero-tagline { text-shadow: 0 1px 3px rgba(0,0,0,.75), 0 0 18px rgba(0,0,0,.6); }
}
section[data-hero] .hero-copy .lede { text-wrap: balance; }
@media (max-width: 639px) {
  section[data-hero] > .hero-scroll { display: none; }
}
@media (max-height: 760px) {
  section[data-hero] { height: auto; min-height: 100svh; }
  section[data-hero] > .hero-copy { height: auto; min-height: 100svh; padding-top: 6.5rem; }
}
@media (min-width: 768px) and (max-height: 700px) {
  .hero-lockup img { width: min(30rem, 36vw, 48svh); }
}
@media (min-width: 768px) and (max-height: 560px) {
  .hero-lockup img { width: min(30rem, 36vw, 40svh); }
}
@media (max-height: 500px) {
  section[data-hero] .hero-copy .lede { margin-top: .6rem; font-size: .94rem; line-height: 1.5; }
}
@media (max-width: 767px) and (max-height: 620px) {
  section[data-hero] .hero-copy > .mt-5 { display: flex; margin-top: .6rem; }
  section[data-hero] .hero-copy > .mt-5 .hazard { display: none; }
}
section[data-hero] > .hero-scroll { display: none; }
section .hero-copy > a.eyebrow.link-line { color: var(--silver-100); text-shadow: 0 1px 3px rgba(0,0,0,.75), 0 0 14px rgba(0,0,0,.5); }
.hero-copy > h1.hero-lockup { margin: 0; }
.hero-copy > .mt-5 .hazard { width: 2.5rem !important; height: 2px !important; background: var(--tw3-red) !important; background-image: none !important; }
section[data-hero]::before { display: none !important; }
@media (max-width: 400px) {
  section[data-hero] .hero-actions .btn { font-size: .72rem; letter-spacing: .02em; padding-left: .75rem; padding-right: .75rem; font-stretch: 100%; }
}
@media (max-width: 379px) {
  section[data-hero] .hero-actions { flex-wrap: wrap; row-gap: .6rem; }
  section[data-hero] .hero-actions .btn { flex: 1 1 100%; }
}
@media (min-width: 768px) {
  section[data-hero] > .hero-copy::before { background: radial-gradient(closest-side, rgba(14,12,13,.6), rgba(14,12,13,.38) 58%, rgba(14,12,13,0)); }
}
.hero-lockup img { filter: drop-shadow(0 3px 12px rgba(0,0,0,.42)); }
@media (min-width: 768px) {
  section[data-hero] > .hero-copy::before { display: none; }
  section[data-hero] .hero-tagline, section[data-hero] .hero-copy > .mt-5 p, section[data-hero] .hero-copy .lede { text-shadow: 0 1px 2px rgba(0,0,0,.7), 0 0 12px rgba(0,0,0,.6), 0 0 28px rgba(0,0,0,.45); }
}
@media (min-width: 768px) {
  section[data-hero] .hero-copy .lede { text-shadow: 0 1px 2px rgba(0,0,0,.85), 0 0 10px rgba(0,0,0,.72), 0 0 26px rgba(0,0,0,.55); }
}
@media (min-width: 768px) and (max-width: 1023px) {
  section[data-hero] .hero-copy .lede { text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 0 8px rgba(0,0,0,.8), 0 0 22px rgba(0,0,0,.65), 0 0 44px rgba(0,0,0,.45); }
}
@media (min-width: 768px) and (max-width: 1023px) {
  section[data-hero] .hero-copy .lede { position: relative; }
  section[data-hero] .hero-copy .lede::before { content: ''; position: absolute; inset: -.75rem -2rem; z-index: -1; pointer-events: none; background: radial-gradient(closest-side, rgba(14,12,13,.5), rgba(14,12,13,0)); }
}

section[data-hero] .btn { font-family: var(--font-display) !important; font-weight: 800; font-stretch: 112%; letter-spacing: .07em; font-size: .75rem; }
@media (max-width: 400px) { section[data-hero] .hero-actions .btn { font-size: .72rem; letter-spacing: .02em; padding-left: .75rem; padding-right: .75rem; font-stretch: 100%; } }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
section[data-hero] .nowrap { white-space: nowrap; }

section[data-hero] > .hero-slide--3 { filter: brightness(.8); }

@media (min-width: 640px) { section[data-hero] .hero-copy .lede { max-width: 40rem; } }

@media (min-width: 768px) and (max-width: 1023px) { section[data-hero] .hero-copy .lede::before { inset: -.75rem 0; } }

@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-garamond-600-latin.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
section[data-hero] .hero-tagline { font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif !important; font-weight: 600 !important; font-stretch: 100% !important; letter-spacing: .12em !important; font-size: clamp(1.05rem, 1.35vw, 1.3rem) !important; color: #F1E8D6 !important; }
@media (max-width: 767px) { section[data-hero] .hero-tagline { font-size: 1rem !important; letter-spacing: .1em !important; } }

section[data-hero] .hero-dot { display: none; }
section[data-hero] [aria-label="Hero image controls"] { position: absolute; right: 1.5rem; bottom: 1.25rem; margin: 0; z-index: 5; }
@media (min-width: 1024px) { section[data-hero] [aria-label="Hero image controls"] { right: 3rem; bottom: 1.75rem; } }
section[data-hero] .hero-pause { margin: 0; width: 30px; height: 30px; color: rgba(255,255,255,.42); }
section[data-hero] .hero-pause svg { width: 12px; height: 12px; }
section[data-hero] .hero-pause:hover, section[data-hero] .hero-pause:focus-visible { color: #fff; }

@media (max-width: 767px) { section[data-hero] [aria-label="Hero image controls"] { right: .9rem; bottom: auto; top: 5.75rem; } }

@media (max-width: 767px) {
  section[data-hero] .hero-copy { padding-bottom: 2.25rem; }
  section[data-hero] .hero-lockup img { width: min(76vw, 18.75rem); height: auto; }
  section[data-hero] .hero-copy > .mt-5 { margin-top: .85rem; }
  section[data-hero] .hero-copy .lede { margin-top: .6rem; font-size: .94rem; line-height: 1.5; }
  section[data-hero] .hero-actions { margin-top: 1.25rem; }
}

@media (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
  section[data-hero] .hero-tagline { position: absolute; top: 6.5rem; left: 1.5rem; right: 1.5rem; margin: 0; z-index: 2; }
  section[data-hero] .hero-scrim::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 15rem; background: linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,.25) 55%, rgba(0,0,0,0)); pointer-events: none; }
}

@media (max-width: 767px) {
  section[data-hero] .hero-tagline { display: none; }
}

@media (max-width: 379px) {
  section[data-hero] .hero-copy .lede { font-size: .875rem; }
}
@media (max-width: 767px) {
  section[data-hero] .hero-scrim::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 68%; background: linear-gradient(to top, rgba(14,12,13,.45), rgba(14,12,13,.3) 45%, rgba(14,12,13,0)); pointer-events: none; }
}

@media (min-width: 1024px) { section[data-hero] .hero-copy .lede { max-width: 31.25rem; } }

@media (min-width: 768px) {
  section[data-hero] > .hero-scrim::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, rgba(14,12,13,.72), rgba(14,12,13,.62) 28%, rgba(14,12,13,.4) 40%, rgba(14,12,13,0) 56%); opacity: 0; transition: opacity 1.1s cubic-bezier(.7,0,.3,1); pointer-events: none; }
  section[data-hero] > .hero-slide--6.is-active ~ .hero-scrim::before { opacity: 1; }
}

@media (min-width: 1024px) { section[data-hero] > .hero-slide--6 { background-position: 50% 64%; } }

section[data-hero] > .hero-scroll { display: flex; left: 50%; right: auto; bottom: .9rem; transform: translateX(-50%); color: rgba(255,255,255,.88); }
section[data-hero] > .hero-scroll:hover, section[data-hero] > .hero-scroll:focus-visible { color: #fff; }
section[data-hero] > .hero-scroll svg { width: 30px; height: 30px; stroke-width: 1.7; filter: drop-shadow(0 1px 3px rgba(0,0,0,.6)); }
@media (prefers-reduced-motion: no-preference) { section[data-hero] > .hero-scroll svg { animation: chevron-drift 2.2s var(--ease) infinite; } }
@media (max-width: 767px) {
  section[data-hero] .hero-copy { padding-bottom: 4rem; }
  section[data-hero] > .hero-scroll { bottom: .35rem; }
}
@media (max-height: 500px) { section[data-hero] > .hero-scroll { display: none; } }

@media (max-width: 767px) {
  section[data-hero] .hero-actions { display: flex; flex-wrap: wrap; row-gap: .6rem; width: 100%; }
  section[data-hero] .hero-actions .btn { flex: 1 1 auto; justify-content: center; text-align: center; min-width: 0; }
}

@media (max-width: 767px) { section[data-hero] .hero-actions .btn { font-size: .72rem; letter-spacing: .02em; padding-left: .75rem; padding-right: .75rem; font-stretch: 100%; } }

@supports (height: 100lvh) {
  @media (max-width: 767px) {
    section[data-hero] { min-height: 100lvh; }
    section[data-hero] > .h-full { min-height: 100lvh; }
    section[data-hero] .hero-copy { padding-bottom: calc(4rem + (100lvh - 100svh)); }
    section[data-hero] > .hero-scroll { bottom: calc(.35rem + (100lvh - 100svh)); }
  }
}
