@font-face { font-family: "Bebas Neue"; src: url("assets/fonts/BebasNeue Book.otf") format("opentype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Bebas Neue"; src: url("assets/fonts/BebasNeue Light.otf") format("opentype"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Bebas Neue"; src: url("assets/fonts/BebasNeue Regular.otf") format("opentype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Bebas Neue"; src: url("assets/fonts/BebasNeue Bold.otf") format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  --black: #050606;
  --surface: #0d0f0f;
  --raised: #141717;
  --light: #f4f4f0;
  --muted: rgba(244,244,240,.64);
  --faint: rgba(244,244,240,.38);
  --border: rgba(244,244,240,.14);
  --accent: #e4dfd5;
  --shell: calc(100% - clamp(40px, 6.7vw, 128px));
  --display: "Bebas Neue", Impact, sans-serif;
  --sans: "Bebas Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--light); font-family: var(--sans); font-weight: 400; letter-spacing: .025em; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.menu-open, body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: clamp(90px, 10vw, 150px); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 14px; left: 14px; background: var(--light); color: var(--black); padding: 12px 18px; transform: translateY(-160%); transition: .2s; }
.skip-link:focus { transform: none; }
.grain { position: fixed; inset: 0; z-index: 99; pointer-events: none; opacity: .18; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E"); }
.progress { position: fixed; z-index: 101; top: 0; left: 0; right: 0; height: 2px; }
.progress span { display: block; height: 100%; width: 0; background: var(--light); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; min-height: 82px; padding: 22px 48px; display: grid; grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr); align-items: center; border-bottom: 1px solid transparent; transition: background .3s, border-color .3s, padding .3s; }
.site-header.is-scrolled { padding-block: 17px; background: rgba(5,6,6,.88); border-color: var(--border); backdrop-filter: blur(18px); }
.brand { width: clamp(180px, 17vw, 250px); }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; gap: clamp(20px, 2.3vw, 38px); }
.desktop-nav a { font-size: 26px; font-weight: 300; letter-spacing: .04em; text-transform: uppercase; }
.header-cta { font-size: 16px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.desktop-nav a { position: relative; color: var(--muted); transition: color .2s; }
.desktop-nav a::after { content: ""; position: absolute; right: 100%; bottom: -10px; left: 0; height: 1px; background: var(--light); transition: right .25s ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible, .desktop-nav a.is-active { color: var(--light); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after, .desktop-nav a.is-active::after { right: 0; }
.header-cta { justify-self: end; padding: 12px 18px; border: 1px solid var(--border); border-radius: 99px; transition: .2s; }
.header-cta:hover { background: var(--light); color: var(--black); }
.menu-button { display: none; justify-self: end; width: 40px; height: 40px; padding: 5px; border: 0; background: none; cursor: pointer; font-size: 24px; }
.menu-button .fa-xmark { display: none; }
.menu-button[aria-expanded="true"] .fa-bars { display: none; }
.menu-button[aria-expanded="true"] .fa-xmark { display: inline-block; }
.mobile-nav { display: none; }

.hero { position: relative; left: 50%; width: 100vw; max-width: none; min-height: 100svh; margin-left: -50vw; overflow: hidden; border-bottom: 1px solid var(--border); }
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; background: #080909; }
.hero-media iframe { position: absolute; left: 50%; top: 50%; width: max(100vw, 177.78svh); min-width: 100%; height: max(100svh, 56.25vw); min-height: 100%; border: 0; transform: translate(-50%, -50%); pointer-events: none; filter: grayscale(.2) contrast(1.1) brightness(.78); }
.hero-media-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,6,.68), rgba(5,6,6,.1) 58%, rgba(5,6,6,.48)), linear-gradient(0deg, rgba(5,6,6,.92), transparent 58%, rgba(5,6,6,.38)); }
.hero-content { position: relative; z-index: 2; min-height: 100svh; padding-top: 108px; padding-bottom: clamp(34px, 6vw, 76px); display: flex; flex-direction: column; justify-content: flex-end; }
.hero-copy { width: min(620px, 70%); padding: 0; }
.hero-summary { width: 100%; margin: 0; color: rgba(244,244,240,.84); font-size: clamp(22px, 2vw, 31px); line-height: 1.15; text-transform: uppercase; text-wrap: balance; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; margin-top: 32px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 52px; padding: 0 26px; border: 1px solid var(--border); border-radius: 99px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: .25s; }
.button-light { background: var(--light); color: var(--black); }
.button-light:hover { background: var(--accent); transform: translateY(-2px); }
.text-button { display: inline-flex; align-items: center; gap: 12px; padding: 10px 0; border: 0; background: none; color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.text-button:hover { color: var(--light); }
.play { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--border); border-radius: 50%; font-size: 11px; }
.hero .button, .hero .text-button { font-size: 18px; }
.hero .button { min-height: 64px; padding-inline: 34px; }
.hero .play { width: 46px; height: 46px; font-size: 15px; }

.section p:not(.eyebrow), .section blockquote { font-size: max(24px, 1.45vw); }
.section .button, .section .inline-link { min-height: 58px; font-size: 24px; }

.positioning { border-block: 1px solid var(--border); }
.positioning-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(260px, .58fr) minmax(320px, .82fr); gap: clamp(34px, 4.6vw, 78px); align-items: stretch; }
.positioning-lead { display: flex; flex-direction: column; justify-content: space-between; }
.positioning-label { margin: 0 0 60px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.positioning h2 { margin: 0; font: 400 clamp(50px, 6.1vw, 94px)/.96 var(--display); letter-spacing: -.018em; text-transform: uppercase; }
.positioning h2 span { color: var(--faint); }
.positioning-copy { padding-block: 72px 10px; display: flex; flex-direction: column; align-items: flex-start; }
.positioning-copy > p { margin: 0 0 40px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.positioning-copy blockquote { margin: 0 0 auto; padding-top: 34px; border-top: 1px solid var(--border); font-size: 17px; line-height: 1.65; }
.positioning-copy .inline-link { margin-top: 48px; }
.positioning-image { min-height: 610px; margin: 0; overflow: hidden; }
.positioning-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.48) brightness(.78); transition: transform .8s cubic-bezier(.16,1,.3,1), filter .4s; }
.positioning-image:hover img { transform: scale(1.025); filter: grayscale(.15) brightness(.86); }
.inline-link { display: inline-flex; gap: 16px; padding-bottom: 7px; border-bottom: 1px solid var(--light); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.inline-link i { transition: transform .2s; }
.inline-link:hover i { transform: translate(3px,-3px); }

.section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 64px; padding-bottom: 28px; border-bottom: 1px solid var(--border); }
.section-head h2 { margin: 0; font: 400 clamp(56px, 7vw, 104px)/.9 var(--display); text-transform: uppercase; }
.section-head--split { display: grid; grid-template-columns: 1fr 2fr; align-items: start; }
.section-head--split h2 { justify-self: start; font-size: clamp(78px, 10vw, 156px); line-height: .78; }
.eyebrow { margin: 6px 0 0; font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }

.focus { padding-block: 0; overflow: hidden; border-block: 1px solid var(--border); }
.build-band { position: relative; min-height: 440px; display: grid; grid-template-columns: minmax(260px, .92fr) minmax(320px, .92fr) minmax(400px, 1.5fr); align-items: center; overflow: hidden; }
.build-band::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--black) 0, rgba(5,6,6,.98) 43%, rgba(5,6,6,.74) 64%, rgba(5,6,6,.08) 100%); }
.build-statement, .build-copy { position: relative; z-index: 2; }
.build-statement { padding: 58px clamp(30px, 4vw, 66px) 58px 0; }
.build-statement h2 { max-width: 500px; margin: 38px 0 0; font: 500 clamp(48px, 5.1vw, 78px)/.92 var(--display); text-transform: none; }
.build-copy { padding: 70px clamp(28px, 3vw, 50px); }
.build-copy > p { margin: 0 0 30px; color: var(--muted); font-size: clamp(18px, 1.5vw, 24px); line-height: 1.28; }
.build-copy .button { background: rgba(5,6,6,.42); }
.build-image { position: absolute; inset: 0 0 0 43%; background: url("https://images.pexels.com/photos/325185/pexels-photo-325185.jpeg?auto=compress&cs=tinysrgb&w=1800") center/cover no-repeat; filter: grayscale(1) contrast(1.06) brightness(.65); opacity: 0; transition: opacity 1.1s ease; }
.focus.is-visible .build-image { opacity: 1; }

.culture { padding-block: clamp(70px, 8vw, 118px); overflow: hidden; background: var(--black); color: var(--light); }
.culture-stage { position: relative; min-height: clamp(510px, 45vw, 680px); display: grid; grid-template-columns: minmax(190px, 20%) minmax(0, 80%); border-block: 1px solid var(--border); }
.culture-tabs { padding: 32px clamp(24px, 4vw, 64px) 32px 0; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--border); }
.culture-tabs .eyebrow { margin: 0 0 22px; color: var(--muted); }
.culture-tabs button { width: 100%; height: clamp(70px, 5vw, 82px); flex: 0 0 clamp(70px, 5vw, 82px); margin: 0; padding: 0; display: flex; flex-direction: column; align-items: stretch; justify-content: center; border: 0; background: transparent; color: rgba(244,244,240,.38); text-align: left; text-transform: uppercase; cursor: pointer; }
.culture-tab-label { display: block; flex: 0 0 auto; font-size: clamp(39px, 4vw, 64px); font-weight: 700; line-height: .92; transition: color .25s ease; }
.culture-tab-progress { display: block; flex: 0 0 8px; height: 8px; padding-top: 5px; overflow: hidden; }
.culture-tab-progress > span { display: block; width: 100%; height: 2px; background: rgba(244,244,240,.28); transform: scaleX(0); transform-origin: left center; }
.culture-tabs button[aria-selected="true"] { color: var(--light); }
.culture-tabs button[aria-selected="true"] .culture-tab-progress > span { animation: culture-timer 5s linear forwards; }
@keyframes culture-timer { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.culture-cards { position: relative; min-width: 0; padding-left: 4px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; overflow: hidden; }
.culture-card { position: relative; min-width: 0; min-height: 100%; margin-left: -24px; overflow: hidden; clip-path: polygon(30px 0, 100% 0, calc(100% - 30px) 100%, 0 100%); background: #1b1e1d; color: var(--light); cursor: pointer; opacity: .62; transition: opacity .35s, transform .35s; }
.culture-card:first-child { margin-left: 0; clip-path: polygon(0 0, 100% 0, calc(100% - 30px) 100%, 0 100%); }
.culture-card:last-of-type { clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%); }
.culture-card.is-active { opacity: 1; transform: translateY(-8px); }
.culture-card img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.66) brightness(.58); transition: transform .65s cubic-bezier(.16,1,.3,1), filter .35s; }
.culture-card.is-active img, .culture-card:hover img { filter: grayscale(.15) brightness(.72); transform: scale(1.025); }
.culture-card-title { position: absolute; inset: auto 0 0; min-height: 150px; padding: 24px 34px; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; background: linear-gradient(transparent, rgba(5,6,6,.96)); }
.culture-card-title h3 { margin: 0; font: 500 clamp(22px, 2vw, 34px)/.9 var(--display); letter-spacing: .18em; text-transform: uppercase; }
.culture-card-title i { font-size: 18px; font-weight: 400; }
.culture-expanded { position: absolute; z-index: 4; inset: 0; padding: clamp(42px, 5vw, 78px); display: grid; grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr); gap: clamp(24px, 3vw, 46px); align-items: center; background: var(--surface); color: var(--light); opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .35s ease, transform .45s cubic-bezier(.16,1,.3,1), visibility .35s; }
.culture-expanded.is-open { opacity: 1; visibility: visible; transform: none; }
.culture-close { position: absolute; z-index: 3; top: 24px; right: 28px; width: 54px; height: 54px; border: 1px solid var(--border); border-radius: 50%; background: rgba(5,6,6,.45); font-size: 24px; cursor: pointer; }
.culture-expanded-copy { min-width: 0; padding-right: clamp(4px, 1vw, 16px); }
.culture-expanded h3 { max-width: 900px; margin: 22px 0 24px; font: 500 clamp(68px, 7.5vw, 118px)/.86 var(--display); text-transform: uppercase; }
.culture-expanded-copy > p:last-child { max-width: 620px; margin: 0; color: rgba(244,244,240,.74); line-height: 1.38; letter-spacing: .02em; }
.culture-gallery { width: 100%; min-width: 0; }
.culture-gallery-viewport { width: 100%; overflow: hidden; }
.culture-gallery-track { display: flex; gap: 10px; transition: transform .5s cubic-bezier(.16,1,.3,1); will-change: transform; }
.culture-gallery-track figure { flex: 0 0 calc((100% - 30px) / 3.35); min-width: 0; margin: 0; background: var(--black); }
.culture-gallery-track img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: grayscale(.25) brightness(.78); }
.culture-gallery-track figcaption { min-height: 58px; padding: 15px 4px 0; color: rgba(244,244,240,.76); font-size: 18px; line-height: 1.15; text-transform: uppercase; }
.culture-gallery-controls { padding-top: 16px; display: grid; grid-template-columns: 52px 1fr 52px; align-items: center; gap: 14px; }
.culture-gallery-controls button { width: 52px; height: 52px; border: 1px solid var(--border); border-radius: 50%; background: transparent; cursor: pointer; }
.culture-gallery-controls span { justify-self: center; color: rgba(244,244,240,.76); font-size: 17px; letter-spacing: .16em; }

.partners { overflow: hidden; background: var(--black); color: var(--light); border-top: 1px solid var(--border); }
.group-heading { margin-bottom: 30px; display: flex; justify-content: space-between; align-items: end; }
.group-heading h2 { margin: 26px 0 0; font: 500 clamp(46px, 5.5vw, 84px)/.88 var(--display); text-transform: none; }
.group-heading .inline-link { margin-bottom: 10px; }
.partner-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); border-top: 1px solid var(--border); }
.partner-item { position: relative; min-width: 0; min-height: 490px; padding: 0 20px 34px; display: flex; flex-direction: column; border-right: 1px solid var(--border); }
.partner-item:first-child { padding-left: 0; }
.partner-item:last-child { padding-right: 0; border-right: 0; }
.partner-item figure { height: 245px; margin: 0 -8px 24px; overflow: hidden; background: var(--raised); }
.partner-item:first-child figure { margin-left: 0; }
.partner-item:last-child figure { margin-right: 0; }
.partner-item img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.72) brightness(.67); transition: transform .65s cubic-bezier(.16,1,.3,1), filter .35s; }
.partner-item:hover img { transform: scale(1.035); filter: grayscale(.15) brightness(.78); }
.partner-item h3 { margin: 0 0 14px; color: rgba(244,244,240,.88); font: 500 clamp(28px, 2.5vw, 40px)/.86 var(--display); text-transform: uppercase; transition: color .25s; }
.partner-item p { max-width: 230px; margin: 0; color: rgba(244,244,240,.8); font-size: 17px; line-height: 1.28; transition: color .25s; }
.partner-item > i { margin-top: auto; align-self: flex-end; color: rgba(244,244,240,.84); font-size: 23px; transition: color .25s, transform .25s; }
.partner-item:hover h3, .partner-item:hover p, .partner-item:hover > i { color: var(--light); }
.partner-item:hover > i { transform: translateX(4px); }

.news-head { align-items: end; }
.news-head .eyebrow { margin-bottom: 24px; color: var(--muted); }
.news-layout { display: block; }
.news-feature { min-width: 0; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(360px, .85fr); border: 1px solid var(--border); }
.news-feature-art { position: relative; min-height: 520px; overflow: hidden; background: var(--raised); }
.news-feature-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(5,6,6,.72)); }
.news-feature-art img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.72); transition: transform .8s cubic-bezier(.16,1,.3,1), filter .35s; }
.news-feature:hover .news-feature-art img { transform: scale(1.025); filter: grayscale(.08) brightness(.78); }
.news-feature-art span { position: absolute; z-index: 1; left: clamp(24px, 3vw, 48px); bottom: clamp(24px, 3vw, 48px); font-size: 18px; letter-spacing: .16em; text-transform: uppercase; }
.news-feature-copy { padding: clamp(30px, 4vw, 58px); }
.news-feature-copy h3 { max-width: 980px; margin: 24px 0 38px; font: 400 clamp(38px, 4.2vw, 66px)/.98 var(--display); text-transform: uppercase; }
.news-meta { display: flex; justify-content: space-between; gap: 16px; color: rgba(244,244,240,.62); font-size: 16px; letter-spacing: .12em; text-transform: uppercase; }
.news-meta time { white-space: nowrap; }
.news-rail { min-width: 0; margin-top: 24px; }
.news-viewport { width: 100%; overflow: hidden; }
.news-track { display: flex; gap: 18px; transition: transform .5s cubic-bezier(.16,1,.3,1); will-change: transform; }
.news-small-card { flex: 0 0 calc((100% - 54px) / 3.25); min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--border); background: var(--surface); }
.news-small-image { height: 230px; overflow: hidden; }
.news-small-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.68) brightness(.68); transition: transform .55s cubic-bezier(.16,1,.3,1), filter .3s; }
.news-small-card:hover img { transform: scale(1.035); filter: grayscale(.15) brightness(.78); }
.news-small-card > div { min-width: 0; min-height: 280px; padding: clamp(20px, 2.2vw, 34px); display: flex; flex-direction: column; }
.news-small-card .news-meta { display: grid; gap: 6px; font-size: 13px; }
.news-small-card h3 { margin: 24px 0 18px; font: 500 clamp(25px, 2vw, 34px)/1 var(--display); text-transform: uppercase; }
.news-card-link { margin-top: auto; align-self: flex-end; font-size: 21px; transition: transform .25s; }
.news-small-card:hover .news-card-link { transform: translateX(4px); }
.news-pagination { padding-top: 18px; display: grid; grid-template-columns: 50px 1fr 50px; align-items: center; gap: 14px; }
.news-pagination button { width: 50px; height: 50px; border: 1px solid var(--border); border-radius: 50%; background: transparent; cursor: pointer; }
.news-pagination span { justify-self: center; color: rgba(244,244,240,.72); font-size: 16px; letter-spacing: .16em; }

.contact { position: relative; min-height: min(760px, 78svh); display: grid; place-items: center; overflow: hidden; border-top: 1px solid var(--border); text-align: center; }
.contact-inner { position: relative; z-index: 2; }
.contact h2 { margin: 0 0 48px; font: 400 clamp(92px, 16vw, 240px)/.8 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.contact-orbit { position: absolute; width: min(64vw, 920px); aspect-ratio: 1; border: 1px solid var(--border); border-radius: 50%; }
.contact-orbit::before, .contact-orbit::after { content: ""; position: absolute; inset: 13%; border: 1px solid var(--border); border-radius: inherit; }
.contact-orbit::after { inset: 28%; background: var(--surface); }

.site-footer { background: var(--surface); border-top: 1px solid var(--border); }
.footer-main { min-height: 270px; padding-block: 60px; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; }
.footer-brand { width: min(310px, 100%); align-self: start; }
.footer-links, .footer-social { display: flex; flex-direction: column; gap: 16px; color: var(--muted); font-size: 20px; letter-spacing: .12em; text-transform: uppercase; }
.footer-main a:hover { color: var(--light); }
.footer-social i { width: 18px; margin-right: 8px; text-align: center; }
.footer-bottom { padding-block: 25px; display: flex; justify-content: space-between; border-top: 1px solid var(--border); color: var(--faint); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.footer-bottom p { margin: 0; }
.footer-bottom button { padding: 0; border: 0; background: none; cursor: pointer; text-transform: inherit; letter-spacing: inherit; font-size: inherit; }

.modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 50px; background: rgba(5,6,6,.96); opacity: 0; pointer-events: none; transition: opacity .25s; }
.modal.is-open { opacity: 1; pointer-events: auto; }
.modal-close { position: absolute; right: 30px; top: 18px; border: 0; background: none; font-size: 34px; cursor: pointer; }
.modal-content { width: min(1200px, 100%); }
.modal-frame { aspect-ratio: 16/9; background: #000; }
.modal-frame iframe { width: 100%; height: 100%; border: 0; }
.modal-caption { display: flex; justify-content: space-between; padding-top: 18px; color: var(--faint); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }

@media (max-width: 1040px) {
  :root { --shell: calc(100% - 64px); }
  .site-header { padding-inline: 32px; grid-template-columns: 1fr auto; }
  .desktop-nav, .header-cta { display: none; }
  .menu-button { display: block; }
  .mobile-nav { position: fixed; inset: 74px 0 auto; padding: 10px 32px 26px; display: flex; flex-direction: column; background: rgba(5,6,6,.97); border-bottom: 1px solid var(--border); transform: translateY(-120%); opacity: 0; visibility: hidden; transition: .28s; }
  .mobile-nav.is-open { transform: none; opacity: 1; visibility: visible; }
  .mobile-nav a { position: relative; padding: 17px 32px 17px 0; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; transition: color .2s, padding-left .2s; }
  .mobile-nav a::after { content: "\f35d"; position: absolute; right: 2px; font-family: "Font Awesome 6 Free"; font-weight: 900; opacity: 0; transform: translate(-5px, 5px); transition: opacity .2s, transform .2s; }
  .mobile-nav a:hover, .mobile-nav a:focus-visible, .mobile-nav a.is-active { color: var(--light); padding-left: 8px; }
  .mobile-nav a:hover::after, .mobile-nav a:focus-visible::after, .mobile-nav a.is-active::after { opacity: 1; transform: none; }
  .hero-copy { width: 92%; }
  .positioning-grid { grid-template-columns: 1fr 1fr; }
  .positioning-lead { grid-column: 1 / -1; }
  .positioning-label { margin-bottom: 34px; }
  .positioning-copy { padding-block: 20px 0; }
  .positioning-image { min-height: 500px; }
  .build-band { grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.1fr); }
  .build-statement { padding-right: 30px; }
  .build-copy { padding-inline: 30px 0; }
  .build-image { left: 35%; }
  .culture-stage { grid-template-columns: 24% 76%; }
  .culture-tabs { padding-right: 24px; }
  .culture-card-title { padding-inline: 26px; }
  .partner-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .partner-grid::-webkit-scrollbar { display: none; }
  .partner-item { flex: 0 0 min(38vw, 330px); scroll-snap-align: start; }
  .partner-item:nth-child(n) { padding-inline: 18px; border-top: 0; border-right: 1px solid var(--border); }
  .partner-item:first-child { padding-left: 0; }
  .partner-item:last-child { padding-right: 0; border-right: 0; }
  .news-feature { grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); }
  .news-feature-art { min-height: 450px; }
  .news-small-card { flex-basis: calc((100% - 36px) / 2.25); }
}

@media (max-width: 680px) {
  :root { --shell: calc(100% - 36px); }
  .section { padding-block: 78px; }
  .site-header { min-height: 70px; padding: 17px 18px; }
  .brand { width: 190px; }
  .mobile-nav { top: 70px; padding-inline: 18px; }
  .hero-content { padding-top: 96px; padding-bottom: 24px; }
  .hero-copy { width: 100%; padding: 0 0 18px; }
  .hero-summary { width: 100%; max-width: 320px; font-size: 20px; }
  .hero-actions { gap: 20px; }
  .positioning-grid { grid-template-columns: 1fr; gap: 44px; }
  .positioning-lead { grid-column: auto; }
  .positioning-label { margin-bottom: 28px; }
  .positioning h2 { font-size: 50px; }
  .positioning-copy { padding: 0; }
  .positioning-copy blockquote { font-size: 16px; }
  .positioning-image { min-height: 430px; }
  .section-head { align-items: start; margin-bottom: 36px; }
  .build-band { min-height: 650px; grid-template-columns: 1fr; align-content: start; }
  .build-statement { padding: 52px 0 20px; }
  .build-statement h2 { margin-top: 24px; font-size: 50px; }
  .build-copy { padding: 10px 0 210px; }
  .build-copy > p { font-size: 18px; }
  .build-image { inset: auto 0 0; height: 280px; }
  .build-band::after { background: linear-gradient(180deg, var(--black) 0, var(--black) 57%, rgba(5,6,6,.55) 78%, rgba(5,6,6,.08)); }
  .culture-stage { min-height: 720px; grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .culture-tabs { padding: 24px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border-right: 0; border-bottom: 1px solid var(--border); }
  .culture-tabs .eyebrow { grid-column: 1 / -1; margin-bottom: 8px; }
  .culture-tabs button { position: relative; isolation: isolate; width: auto; height: 168px; min-width: 0; padding: 16px; overflow: hidden; border: 1px solid var(--border); background: var(--surface); justify-content: flex-end; transition: border-color .25s; }
  .culture-tabs button::before { content: ""; position: absolute; z-index: -2; inset: 0; background-position: center; background-size: cover; filter: grayscale(.55) brightness(.58); transition: transform .55s cubic-bezier(.16,1,.3,1), filter .3s; }
  .culture-tabs button::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(5,6,6,.08) 20%, rgba(5,6,6,.92) 100%); }
  .culture-tabs button[data-culture-tab="music"]::before { background-image: url("https://images.pexels.com/photos/1763075/pexels-photo-1763075.jpeg?auto=compress&cs=tinysrgb&w=800"); }
  .culture-tabs button[data-culture-tab="film"]::before { background-image: url("https://images.pexels.com/photos/7991579/pexels-photo-7991579.jpeg?auto=compress&cs=tinysrgb&w=800"); }
  .culture-tabs button[data-culture-tab="sport"]::before { background-image: url("https://images.pexels.com/photos/114296/pexels-photo-114296.jpeg?auto=compress&cs=tinysrgb&w=800"); }
  .culture-tabs button[data-culture-tab="gaming"]::before { background-image: url("https://images.pexels.com/photos/7915357/pexels-photo-7915357.jpeg?auto=compress&cs=tinysrgb&w=800"); }
  .culture-tabs button[data-culture-tab="events"]::before { background-image: url("https://images.pexels.com/photos/1105666/pexels-photo-1105666.jpeg?auto=compress&cs=tinysrgb&w=1000"); }
  .culture-tabs button:last-child { grid-column: 1 / -1; }
  .culture-tabs button[aria-selected="true"] { border-color: rgba(244,244,240,.7); }
  .culture-tabs button[aria-selected="true"]::before { filter: grayscale(.1) brightness(.72); transform: scale(1.025); }
  .culture-tab-label { font-size: 32px; }
  .culture-tab-progress { flex-basis: 8px; height: 8px; padding-top: 5px; }
  .culture-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .culture-cards::-webkit-scrollbar { display: none; }
  .culture-card { flex: 0 0 58vw; min-height: 510px; margin-left: -20px; scroll-snap-align: start; }
  .culture-card:first-child { margin-left: 0; }
  .culture-expanded { position: absolute; inset: 0; min-width: 100%; padding: 72px 22px 28px; grid-template-columns: 1fr; gap: 26px; align-content: start; overflow-y: auto; }
  .culture-expanded h3 { margin-block: 18px 14px; font-size: 64px; }
  .culture-expanded-copy > p:last-child { font-size: 22px; }
  .culture-gallery-track figure { flex-basis: 78%; }
  .culture-close { top: 14px; right: 16px; }
  .group-heading { align-items: flex-start; flex-direction: column; gap: 28px; }
  .partner-item { flex-basis: 76vw; min-height: 470px; }
  .partner-item figure { height: 240px; }
  .partner-item h3 { font-size: 34px; }
  .news-feature { grid-template-columns: 1fr; }
  .news-feature-art { min-height: 300px; }
  .news-feature-copy h3 { font-size: 38px; }
  .news-small-card { flex-basis: 82%; }
  .news-small-image { height: 230px; }
  .contact { min-height: 520px; }
  .contact h2 { font-size: clamp(84px, 28vw, 128px); }
  .contact-orbit { width: 125vw; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 45px 30px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { align-items: end; gap: 30px; }
  .modal { padding: 18px; }
  .modal-close { top: 10px; right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
