/* Supplied ITC Avant Garde Gothic web assets. */
@font-face {
  font-family: "Avant Garde Book";
  src: url("./assets/fonts/%5BITC%5D%20Avant%20Garde%20Gothic/ITCAvantGardeStd-Bk.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Avant Garde Demi";
  src: url("./assets/fonts/%5BITC%5D%20Avant%20Garde%20Gothic/ITCAvantGardeStd-Demi.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Avant Garde Book";
  src: url("./assets/fonts/%5BITC%5D%20Avant%20Garde%20Gothic/ITCAvantGardeStd-BkObl.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --black: #050505;
  --black-2: #0a0a0a;
  --black-3: #111;
  --gold: #fcc630;
  --white: #f5f5f2;
  --muted: rgba(255, 255, 255, 0.6);
  --line: rgba(255, 255, 255, 0.18);
  --pad: clamp(1.25rem, 4vw, 4.75rem);
  --hero-p: 0;
  --team-fill: 0%;
  --process-p: 0%;
  --work-x: 0px;
  --page-p: 0;
  --display-font: "Avant Garde Book", Arial, sans-serif;
  --heading-font: "Avant Garde Demi", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; background: var(--black); }
body { margin: 0; max-width: 100%; overflow-x: clip; background: var(--black); color: var(--white); font-family: var(--display-font); font-synthesis: none; font-size: 1rem; line-height: 1.45; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
::selection { background: var(--gold); color: var(--black); }
.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; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 1000; background: var(--gold); color: var(--black); padding: .75rem 1rem; font-weight: 800; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

.eyebrow { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.gold { color: var(--gold); }
.brand-mark { display: block; width: 4.3rem; height: auto; }

.intro { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: #000; transition: opacity .5s ease, visibility .5s ease; }
.intro.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.intro__logo { width: clamp(7rem, 13vw, 13rem); clip-path: inset(0 100% 0 0); animation: logoWipe .55s .08s cubic-bezier(.77,0,.18,1) forwards; }
.intro__words { position: absolute; bottom: 10vh; left: var(--pad); right: var(--pad); display: flex; justify-content: space-between; color: var(--white); font-size: clamp(.8rem, 1.1vw, 1rem); font-weight: 700; letter-spacing: .13em; overflow: hidden; }
.intro__words span { opacity: 0; transform: translateY(120%); animation: introWord .32s forwards; }
.intro__words span:nth-child(1) { animation-delay: .6s; }.intro__words span:nth-child(2) { animation-delay: .78s; }.intro__words span:nth-child(3) { animation-delay: .96s; }
@keyframes logoWipe { to { clip-path: inset(0); } }
@keyframes introWord { to { opacity: 1; transform: translateY(0); } }

.scroll-progress{position:fixed;z-index:70;right:0;top:0;width:3px;height:100svh;background:rgba(255,255,255,.08);pointer-events:none}.scroll-progress i{display:block;width:100%;height:calc(var(--page-p) * 100%);background:var(--gold);box-shadow:0 0 1.5rem rgba(252,198,48,.7);transform-origin:top}

.nav { position: fixed; z-index: 50; inset: 0 0 auto; height: 5.6rem; padding: 0 var(--pad); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; transition: height .35s ease, background .35s ease, backdrop-filter .35s ease; }
.nav.is-scrolled { height: 4.5rem; background: rgba(5,5,5,.72); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.07); }
.nav__brand { justify-self: start; }
.nav__links { display: flex; gap: clamp(1.2rem, 2.6vw, 2.8rem); font-size: .76rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.nav__links a { position: relative; padding: .5rem 0; }
.nav__links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: .2rem; height: 1px; background: var(--gold); transition: right .3s ease; }
.nav__links a:hover::after, .nav__links a:focus-visible::after { right: 0; }
.nav__cta { justify-self: end; border: 1px solid rgba(255,255,255,.35); padding: .7rem 1.1rem; font-size: .73rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; transition: background .3s, color .3s, border-color .3s; }
.nav__cta:hover { background: var(--gold); color: var(--black); border-color: var(--gold); }
.nav__actions{justify-self:end;display:flex;align-items:center;gap:.7rem}.motion-toggle{display:flex;align-items:center;gap:.55rem;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(5,5,5,.4);padding:.58rem .78rem;color:rgba(255,255,255,.72);font-size:.62rem;font-weight:800;line-height:1;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(10px);transition:border-color .25s,color .25s,background .25s}.motion-toggle::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:rgba(255,255,255,.35);transition:background .25s,box-shadow .25s}.motion-toggle b{color:var(--gold);font-size:inherit}.motion-toggle[aria-pressed="true"]{border-color:rgba(252,198,48,.6);color:var(--white);background:rgba(252,198,48,.08)}.motion-toggle[aria-pressed="true"]::before{background:var(--gold);box-shadow:0 0 .8rem var(--gold)}
.nav__menu { display: none; justify-self: end; width: 2.7rem; height: 2.7rem; background: transparent; border: 0; padding: .65rem; }
.nav__menu span { display: block; height: 1px; background: var(--white); margin: .38rem 0; transition: transform .35s ease; }
.nav__menu[aria-expanded="true"] span:first-child { transform: translateY(.39rem) rotate(45deg); }.nav__menu[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }
.mobile-menu { position: fixed; inset: 0; z-index: 40; display: grid; align-content: center; padding: 7rem var(--pad) 3rem; background: var(--black); opacity: 0; visibility: hidden; clip-path: inset(0 0 100% 0); transition: clip-path .55s cubic-bezier(.77,0,.18,1), opacity .3s, visibility .55s; }
.mobile-menu.is-open { opacity: 1; visibility: visible; clip-path: inset(0); }
.mobile-menu nav { display: grid; gap: .3rem; }.mobile-menu a { font-size: clamp(2.7rem, 13vw, 5rem); font-weight: 800; line-height: .95; letter-spacing: -.06em; text-transform: uppercase; }.mobile-menu a:hover { color: var(--gold); }
.mobile-menu p { position: absolute; left: var(--pad); bottom: 2rem; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.mobile-menu__motion{align-self:start;margin-top:auto}

.hero { height: 190vh; background: var(--black); }
.hero__stage { position: sticky; top: 0; height: 100svh; min-height: 42rem; overflow: hidden; padding: 8rem var(--pad) 3rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .38fr); grid-template-rows: auto 1fr auto; }
.hero__field { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 76% 48%, rgba(252,198,48,.14), transparent 24%), linear-gradient(115deg, #050505 15%, #111 61%, #080808 100%); transform: scale(calc(1 + var(--hero-p) * .09)); }
.field__orb { position: absolute; width: min(48vw, 45rem); aspect-ratio: 1; right: -4vw; top: 10vh; border: 1px solid rgba(252,198,48,.45); border-radius: 50%; box-shadow: inset 0 0 10rem rgba(252,198,48,.08); }
.field__orb::before, .field__orb::after { content:""; position:absolute; inset:14%; border:1px solid rgba(255,255,255,.14); border-radius:50%; }.field__orb::after { inset:31%; background:var(--gold); opacity:.8; filter:blur(60px); }
.field__grid { position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size: 8vw 8vw; mask-image:linear-gradient(90deg,transparent,black); }
.field__label { position:absolute; right:var(--pad); top:48%; font-size:.67rem; letter-spacing:.18em; writing-mode:vertical-rl; }
.hero__shade { position:absolute; inset:0; z-index:1; background:rgba(0,0,0,calc(var(--hero-p) * .86)); pointer-events:none; }
.hero__eyebrow { grid-column:1 / -1; z-index:2; align-self:start; opacity:calc(1 - var(--hero-p) * 1.8); }
.hero__title { z-index:2; grid-column:1 / -1; align-self:center; margin:0; font-size:clamp(4.4rem, 10.1vw, 11rem); font-weight:800; line-height:.76; letter-spacing:-.075em; text-transform:uppercase; }
.hero__title span { display:block; will-change:transform,opacity; }.hero__title span:nth-child(1){transform:translateX(calc(var(--hero-p) * -24vw));}.hero__title span:nth-child(2){margin-left:8vw;transform:translateX(calc(var(--hero-p) * 31vw));}.hero__title span:nth-child(3){margin-left:2vw;transform:translateX(calc(var(--hero-p) * -20vw));}.hero__title em { color:var(--gold); font-style:normal; }
.hero__copy { z-index:2; align-self:end; max-width:34rem; margin:0; color:var(--muted); font-size:clamp(1rem,1.4vw,1.25rem); transform:translateY(calc(var(--hero-p) * 8rem)); opacity:calc(1 - var(--hero-p) * 1.4); }
.hero__discover { z-index:2; justify-self:end; align-self:end; display:flex; align-items:center; gap:1rem; font-size:.77rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; transform:translateY(calc(var(--hero-p) * 8rem)); opacity:calc(1 - var(--hero-p) * 1.4); }.hero__discover span{color:var(--gold);font-size:1.15rem;transition:transform .3s}.hero__discover:hover span{transform:translateY(.3rem)}
.hero__counter { position:absolute; z-index:2; left:var(--pad); bottom:2rem; display:none; gap:.6rem; align-items:center; font-size:.68rem; }.hero__counter i{width:3rem;height:1px;background:var(--line);position:relative}.hero__counter i::after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(var(--hero-p))}
.hero__side{position:absolute;z-index:2;right:1.4rem;bottom:3rem;margin:0;color:var(--muted);font-size:.62rem;letter-spacing:.16em;writing-mode:vertical-rl}

.world { position:relative; z-index:3; min-height:135vh; padding:16vh var(--pad) 10vh; background:var(--black); overflow:hidden; }
.world::before{content:"SPORT";position:absolute;left:-.045em;bottom:-.19em;color:rgba(255,255,255,.025);font-size:31vw;font-weight:900;line-height:.8;letter-spacing:-.1em}
.world__title{position:relative;margin:8vh 0 18vh;font-size:clamp(5rem,13.5vw,14rem);line-height:.75;letter-spacing:-.08em;text-transform:uppercase}.world__title span{display:block}.world__title span:nth-child(2){margin-left:8vw}.world__title span:nth-child(3){margin-left:31vw}
.world__roles{position:relative;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:1.1rem;text-transform:uppercase;font-weight:700;font-size:clamp(.9rem,1.4vw,1.2rem)}
.reveal{opacity:0;transform:translateY(4rem);transition:opacity .8s ease,transform .9s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}

.signal-strip{position:relative;z-index:5;display:flex;width:100%;min-width:0;overflow:hidden;border-top:1px solid rgba(252,198,48,.5);border-bottom:1px solid rgba(252,198,48,.5);background:transparent;color:var(--gold);transform:translateY(-1.4rem) scale(1.02);transform-origin:center}.signal-strip>div{flex:none;display:flex;align-items:center;justify-content:space-around;gap:2.4rem;min-width:100%;padding:.86rem 1.2rem;font-size:clamp(.78rem,1.1vw,1rem);font-weight:900;letter-spacing:.15em;white-space:nowrap;animation:signalRun 36s linear infinite}.signal-strip i{flex:none;width:.48rem;height:.48rem;border-radius:50%;background:var(--gold)}
@keyframes signalRun{to{transform:translateX(-100%)}}

.audience{position:relative;display:grid;grid-template-columns:56% 44%;background:var(--black-2)}
.audience__media{position:sticky;top:0;height:100svh;min-height:42rem;overflow:hidden;background:#111}
.audience__media>p{position:absolute;z-index:4;left:1.3rem;bottom:1rem;margin:0;color:rgba(255,255,255,.45);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.audience__visual{position:absolute;inset:0;padding:var(--pad);display:grid;align-content:space-between;background:radial-gradient(circle at 50% 50%,var(--visual-glow),transparent 35%),linear-gradient(135deg,var(--visual-a),#060606 70%);opacity:0;transform:scale(1.08);transition:opacity .7s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}.audience__visual.is-active{opacity:1;transform:scale(1)}
.audience__visual--1{--visual-glow:rgba(252,198,48,.28);--visual-a:#202015}.audience__visual--2{--visual-glow:rgba(255,255,255,.12);--visual-a:#161616}.audience__visual--3{--visual-glow:rgba(252,198,48,.17);--visual-a:#261c05}
.audience__visual span{font-size:.72rem;letter-spacing:.15em}.audience__visual i{position:absolute;width:60%;aspect-ratio:1;border:1px solid rgba(255,255,255,.2);border-radius:50%;left:22%;top:19%}.audience__visual i::after{content:"";position:absolute;left:50%;top:-20%;height:140%;width:1px;background:linear-gradient(transparent,var(--gold),transparent);transform:rotate(35deg)}.audience__visual b{justify-self:end;text-align:right;font-size:clamp(3rem,7vw,7rem);line-height:.78;letter-spacing:-.07em}
.audience__chapters{padding:35vh var(--pad)}.audience__chapter{min-height:100vh;display:grid;grid-template-columns:4rem 1fr;align-content:center;gap:1rem;opacity:.23;transition:opacity .5s}.audience__chapter.is-active{opacity:1}.audience__chapter>span{color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.12em;margin-top:.8rem}.audience__chapter>div{min-width:0}.audience__chapter h3{margin:0;font-size:clamp(3.2rem,5.4vw,6.5rem);line-height:.85;letter-spacing:-.07em;text-transform:uppercase}.audience__chapter p{max-width:31rem;margin:2rem 0 0;color:var(--muted);font-size:1.05rem}

.bridge{height:220vh;background:var(--black)}.bridge__stage{position:sticky;top:0;height:100svh;min-height:42rem;display:grid;align-content:center;padding:var(--pad);overflow:hidden;background:radial-gradient(circle at 75% 60%,rgba(252,198,48,.1),transparent 28%)}.bridge__stage p{margin:0;color:var(--muted);font-size:clamp(2.3rem,5.5vw,5.4rem);font-weight:700;line-height:.9;text-transform:uppercase}.bridge__stage h2{margin:2rem 0 0;font-size:clamp(5rem,12vw,13rem);line-height:.76;letter-spacing:-.08em;text-transform:uppercase}.bridge__stage h2 span{display:block;color:var(--gold);font-size:clamp(4.2rem,10.5vw,11.5rem);transform:translateX(calc((1 - var(--bridge-p, 0)) * 60vw));will-change:transform}

.section-head{position:relative;z-index:2}.section-head h2{margin:1.1rem 0 0;font-size:clamp(3.7rem,7.5vw,8rem);line-height:.84;letter-spacing:-.065em;text-transform:uppercase}
.services{position:relative;padding:15vh var(--pad);min-height:130vh;background:var(--black);overflow:hidden}.services__backdrop{position:absolute;inset:0;display:grid;place-items:center;opacity:.08;pointer-events:none;transition:background .5s}.services__backdrop span{font-size:20vw;font-weight:900;letter-spacing:-.1em;text-transform:uppercase;white-space:nowrap;transform:rotate(-7deg)}
.services__list{position:relative;z-index:2;margin-top:12vh;border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:5rem minmax(15rem,1fr) minmax(15rem,.7fr) 2rem;align-items:center;gap:1rem;min-height:8.2rem;border-bottom:1px solid var(--line);transition:padding .35s ease,color .35s ease}.service:hover,.service:focus-visible{padding-left:1.25rem}.service>span{font-size:.74rem;font-weight:700;letter-spacing:.13em;transition:color .3s}.service:hover>span,.service:focus-visible>span{color:var(--gold)}.service h3{margin:0;font-size:clamp(2rem,3.8vw,4.3rem);line-height:.9;letter-spacing:-.05em;text-transform:uppercase}.service p{margin:0;color:var(--muted);max-width:30rem;font-size:.92rem}.service i{font-style:normal;font-size:1.4rem;color:var(--gold);transition:transform .3s}.service:hover i{transform:translate(.25rem,-.25rem)}

.team{height:260vh;background:var(--black-2)}.team__stage{position:sticky;top:0;height:100svh;min-height:44rem;overflow:hidden;padding:9vh var(--pad);display:flex;flex-direction:column;justify-content:center}.team__stage>h2{margin:2rem 0 0;font-size:clamp(3.7rem,7vw,7rem);line-height:.8;letter-spacing:-.065em;text-transform:uppercase}.team__statement{margin-top:auto;text-transform:uppercase}.team__statement>span{display:block;font-size:clamp(1.2rem,2vw,2rem);font-weight:700}.team__statement strong{position:relative;display:inline-block;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.4);font-size:clamp(5rem,15vw,16rem);line-height:.8;letter-spacing:-.09em;white-space:nowrap}.team__statement strong::after{content:attr(data-text);position:absolute;inset:0;color:var(--gold);-webkit-text-stroke:0;clip-path:inset(0 calc(100% - var(--team-fill)) 0 0)}.team__copy{align-self:flex-end;max-width:33rem;margin:2rem 0 0;color:var(--muted);font-size:1.05rem}

.process{height:240vh;background:var(--black)}.process__stage{position:sticky;top:0;height:100svh;min-height:44rem;overflow:hidden;padding:9vh var(--pad);display:flex;flex-direction:column;justify-content:space-between}.process__ghost{position:absolute;left:-.04em;bottom:-.18em;margin:0;color:rgba(255,255,255,.03);font-size:24vw;font-weight:900;line-height:.8;letter-spacing:-.1em}.process__steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;list-style:none;margin:10vh 0 1.7rem;padding:0}.process__steps li{opacity:.24;transition:opacity .35s,color .35s}.process__steps li.is-active{opacity:1}.process__steps span{display:block;color:var(--gold);font-size:.7rem;letter-spacing:.13em;margin-bottom:1rem}.process__steps strong{font-size:clamp(1.2rem,2.4vw,2.7rem);text-transform:uppercase;letter-spacing:-.04em}.process__line{position:relative;z-index:2;height:2px;background:var(--line)}.process__line i{display:block;width:var(--process-p);height:100%;background:var(--gold);box-shadow:0 0 1.8rem rgba(252,198,48,.5)}

.work{height:340vh;background:var(--black-3)}.work__stage{position:sticky;top:0;height:100svh;min-height:44rem;overflow:hidden;padding:8vh 0 3rem}.work__head{padding:0 var(--pad)}.work__track{display:flex;gap:2rem;width:max-content;margin-top:7vh;padding:0 var(--pad);transform:translate3d(calc(var(--work-x) * -1),0,0);will-change:transform}.project{width:min(70vw,62rem);flex:none}.project__visual{position:relative;height:47vh;min-height:20rem;overflow:hidden;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;background:radial-gradient(circle at var(--project-x,65%) 50%,rgba(252,198,48,.25),transparent 27%),linear-gradient(125deg,#201b0c,#080808 65%)}.project--2 .project__visual{--project-x:30%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.15),transparent 24%),linear-gradient(135deg,#151515,#050505)}.project--3 .project__visual{--project-x:50%;background:radial-gradient(circle at 50% 70%,rgba(252,198,48,.3),transparent 22%),linear-gradient(150deg,#211806,#070707)}.project__visual>span{color:var(--gold);font-size:.72rem;letter-spacing:.12em}.project__visual i{position:absolute;left:50%;top:50%;width:36%;aspect-ratio:1;border:1px solid rgba(255,255,255,.26);border-radius:50%;transform:translate(-50%,-50%)}.project__visual i::before,.project__visual i::after{content:"";position:absolute;background:var(--gold)}.project__visual i::before{left:50%;top:-60%;width:1px;height:220%;transform:rotate(22deg)}.project__visual i::after{top:50%;left:-60%;width:220%;height:1px}.project__visual b{align-self:flex-end;text-align:right;font-size:clamp(2.7rem,5vw,5rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase}.project__meta{display:grid;grid-template-columns:1.4fr 1fr .35fr;border-top:1px solid var(--line);padding-top:1rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.project__meta b{display:block;margin-top:.35rem;color:var(--white);font-size:.84rem}.work__note{position:absolute;right:var(--pad);bottom:1rem;color:var(--muted);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}

.manifesto{background:var(--black);padding:18vh var(--pad);overflow:hidden}.manifesto__lead{min-height:80vh;display:grid;align-content:center}.manifesto__lead h2{margin:0;font-size:clamp(4rem,9vw,9.5rem);line-height:.82;letter-spacing:-.07em;text-transform:uppercase}.manifesto__lead h2 span{color:var(--muted)}.manifesto__words{display:grid;gap:4vh;padding:14vh 0}.manifesto__words span{display:block;font-size:clamp(5rem,14vw,15rem);font-weight:850;line-height:.77;letter-spacing:-.09em;text-transform:uppercase;opacity:.14;transform:translateX(-5vw);transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1)}.manifesto__words span:nth-child(even){text-align:right;transform:translateX(5vw)}.manifesto__words span.is-visible{opacity:1;transform:translateX(0)}

.final{min-height:100svh;padding:9vh var(--pad) 5vh;display:flex;flex-direction:column;background:var(--gold);color:var(--black)}.final__top{display:flex;justify-content:space-between}.final .eyebrow{color:rgba(0,0,0,.62)}.final__top>span{font-size:.72rem;font-weight:700;letter-spacing:.12em}.final h2{margin:auto 0;font-size:clamp(5rem,13vw,14rem);font-weight:850;line-height:.72;letter-spacing:-.09em;text-transform:uppercase}.final h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--black)}.final__bottom{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;border-top:1px solid rgba(0,0,0,.3);padding-top:1.5rem}.final__bottom p{max-width:29rem;margin:0;font-size:1.1rem}.magnetic{position:relative;isolation:isolate;overflow:hidden;width:13rem;height:4.5rem;border:1px solid var(--black);background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 1.4rem;text-transform:uppercase;font-size:.78rem;font-weight:850;letter-spacing:.11em;cursor:pointer}.magnetic::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--black);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}.magnetic:hover{color:var(--gold)}.magnetic:hover::before{transform:scaleX(1)}.magnetic i{font-style:normal;font-size:1.4rem;transition:transform .3s}.magnetic:hover i{transform:translateX(.35rem)}.final__note{text-align:right;margin:.65rem 0 0;color:rgba(0,0,0,.6);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}

.footer{padding:14vh var(--pad) 3rem;background:#000}.footer__brand{display:flex;align-items:center;gap:2rem;padding-bottom:12vh;border-bottom:1px solid var(--gold)}.footer__brand .brand-mark{width:clamp(7rem,15vw,15rem)}.footer__brand>span{font-size:clamp(4.5rem,13vw,14rem);font-weight:850;line-height:.7;letter-spacing:-.09em;text-transform:uppercase}.footer__meta{display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;padding-top:2rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.footer__meta p{margin:0}.footer__meta span{color:rgba(255,255,255,.32)}

@media (max-width: 900px) {
  .nav{grid-template-columns:1fr auto}.nav__links,.nav__actions{display:none}.nav__menu{display:block}.hero__stage{grid-template-columns:1fr;padding-top:8.5rem}.hero__title{font-size:clamp(4rem,15vw,8rem);line-height:.8}.hero__title span:nth-child(2){margin-left:0}.hero__title span:nth-child(3){margin-left:5vw}.hero__copy{max-width:27rem}.hero__discover{position:absolute;right:var(--pad);bottom:3rem}.field__orb{width:75vw;right:-22vw;top:25vh}.world{min-height:110vh}.world__title{font-size:clamp(4rem,15vw,8rem)}.world__title span:nth-child(2){margin-left:0}.world__title span:nth-child(3){margin-left:20vw}.audience{grid-template-columns:1fr}.audience__media{position:relative;height:62svh;min-height:32rem}.audience__chapters{padding:0 var(--pad)}.audience__chapter{min-height:55vh}.service{grid-template-columns:3.4rem 1fr 1.1rem}.service p{grid-column:2 / 4;margin-top:-.8rem;padding-bottom:1.4rem}.team__statement strong{font-size:14vw}.process__steps{grid-template-columns:1fr;gap:1.1rem}.process__steps li{display:grid;grid-template-columns:3.5rem 1fr;align-items:center}.process__steps span{margin:0}.process__line{display:none}.work{height:auto}.work__stage{position:relative;height:auto;min-height:0;padding:12vh 0}.work__track{display:grid;width:auto;transform:none !important}.project{width:calc(100vw - var(--pad) * 2)}.project__visual{height:55vw;min-height:19rem}.work__note{position:static;margin:2rem var(--pad) 0}.manifesto__words span{font-size:15vw}.final__bottom{grid-template-columns:1fr}.final__note{text-align:left}.footer__meta{grid-template-columns:1fr 1fr}.footer__meta p:last-child{grid-column:1 / -1}.footer__brand{align-items:flex-end;gap:1rem}.footer__brand>span{font-size:15vw}
}

@media (max-width: 560px) {
  :root{--pad:1.15rem}.brand-mark{width:3.6rem}.intro__words{display:grid;gap:.25rem}.hero{height:145vh}.hero__stage{min-height:38rem}.hero__title{font-size:15.8vw}.hero__copy{font-size:1rem;padding-right:1rem;align-self:end;margin-bottom:5rem}.hero__discover{left:var(--pad);right:auto;bottom:2.2rem}.hero__side{display:none}.world{padding-top:13vh}.world__title{font-size:16vw;margin-bottom:11vh}.world__roles{display:grid;gap:.55rem;font-size:.78rem}.audience__media{height:55svh;min-height:27rem}.audience__visual b{font-size:12vw}.audience__chapter{grid-template-columns:2.5rem 1fr;min-height:48vh}.audience__chapter h3{font-size:13vw}.bridge{height:165vh}.bridge__stage h2{font-size:15vw}.bridge__stage h2 span{font-size:12.5vw}.services{padding-top:12vh}.service{grid-template-columns:2.6rem 1fr 1rem;min-height:7rem}.service h3{font-size:8.4vw}.service p{font-size:.82rem}.team{height:180vh}.team__stage{min-height:40rem;padding-top:11vh}.team__stage>h2{font-size:12vw}.team__statement strong{white-space:normal;font-size:20vw;line-height:.72}.team__copy{font-size:.92rem}.process{height:auto}.process__stage{position:relative;height:auto;min-height:100svh;padding:14vh var(--pad)}.process__steps{margin-top:14vh}.process__steps strong{font-size:1.8rem}.project__visual{min-height:17rem}.project__meta{grid-template-columns:1fr 1fr}.project__meta span:last-child{display:none}.manifesto{padding-top:12vh;padding-bottom:12vh}.manifesto__lead{min-height:65vh}.manifesto__lead h2{font-size:13.7vw}.manifesto__words{padding-top:8vh}.final{min-height:92svh}.final h2{font-size:16vw}.magnetic{width:100%}.footer__brand{display:grid}.footer__brand .brand-mark{width:7rem}.footer__brand>span{font-size:16.5vw}.footer__meta{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce) {
  html:not(.motion-full){scroll-behavior:auto}html:not(.motion-full) *,html:not(.motion-full) *::before,html:not(.motion-full) *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}html:not(.motion-full) .intro{display:none}html:not(.motion-full) .hero{height:100svh}html:not(.motion-full) .hero__stage,html:not(.motion-full) .audience__media,html:not(.motion-full) .bridge__stage,html:not(.motion-full) .team__stage,html:not(.motion-full) .process__stage,html:not(.motion-full) .work__stage{position:relative}html:not(.motion-full) .hero__field,html:not(.motion-full) .hero__title span,html:not(.motion-full) .hero__copy,html:not(.motion-full) .hero__discover,html:not(.motion-full) .bridge__stage h2 span,html:not(.motion-full) .work__track{transform:none !important}html:not(.motion-full) .hero__shade{display:none}html:not(.motion-full) .reveal,html:not(.motion-full) .manifesto__words span{opacity:1;transform:none}html:not(.motion-full) .team,html:not(.motion-full) .process,html:not(.motion-full) .bridge,html:not(.motion-full) .work{height:auto}
}

/* Cinematic campaign direction */
body::before{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.035;background-image:repeating-radial-gradient(circle at 20% 30%,transparent 0,rgba(255,255,255,.9) .7px,transparent 1.2px,transparent 4px);background-size:7px 7px;mix-blend-mode:screen}
.nav{mix-blend-mode:normal}.nav:not(.is-scrolled){border-bottom:1px solid rgba(255,255,255,.09)}
.hero__stage{padding-top:7.5rem}.hero__field{margin:0;background:#000;transform:none;clip-path:inset(calc(var(--hero-p) * 6vh) calc(var(--hero-p) * 6vw) calc(var(--hero-p) * 6vh) calc(var(--hero-p) * 6vw));will-change:clip-path}
.field__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:brightness(.62) contrast(1.12) saturate(.72);transform:scale(calc(1.035 + var(--hero-p) * .12));will-change:transform,filter}
.hero__field::before{content:"";position:absolute;z-index:4;top:0;bottom:0;width:12vw;background:linear-gradient(90deg,transparent,rgba(252,198,48,.18),transparent);mix-blend-mode:screen;transform:translateX(-18vw) skewX(-10deg);animation:stadiumSweep 6.5s 2.25s cubic-bezier(.22,1,.36,1) infinite}.hero__title span{clip-path:inset(-.08em 0 -.26em);animation:heroLineIn 1.05s cubic-bezier(.16,1,.3,1) both}.hero__title span:nth-child(1){animation-delay:1.82s}.hero__title span:nth-child(2){animation-delay:1.96s}.hero__title span:nth-child(3){animation-delay:2.1s}.hero__eyebrow,.hero__copy,.hero__discover,.hero__frame{animation:heroMetaIn .8s 2.2s ease both}
@keyframes heroLineIn{from{opacity:0;clip-path:inset(100% 0 -.26em)}}@keyframes heroMetaIn{from{filter:blur(8px);clip-path:inset(100% 0 0)}}@keyframes stadiumSweep{0%,45%{transform:translateX(-18vw) skewX(-10deg)}75%,100%{transform:translateX(118vw) skewX(-10deg)}}
.hero__field::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.52) 43%,rgba(0,0,0,.06) 76%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 34%,rgba(0,0,0,.22));}
.field__grid{z-index:2;opacity:.32;background-size:12.5vw 100%,100% 25vh;mask-image:linear-gradient(90deg,black,transparent 72%)}
.field__label{z-index:3;right:2rem;color:rgba(255,255,255,.7)}
.hero__shade{background:linear-gradient(0deg,rgba(0,0,0,calc(var(--hero-p) * .93)),rgba(0,0,0,calc(var(--hero-p) * .56)))}
.hero__title{max-width:92rem;text-wrap:balance;text-shadow:0 .12em .45em rgba(0,0,0,.2)}
.hero__eyebrow{margin-top:1.9rem}
.hero__title span:nth-child(2){margin-left:4vw}.hero__title span:nth-child(3){margin-left:10vw}
.hero__copy{color:rgba(255,255,255,.72)}
.hero__frame{position:absolute;z-index:3;left:var(--pad);right:var(--pad);top:6.7rem;display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.52);font-size:.63rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:calc(1 - var(--hero-p) * 1.7)}

.world{margin-top:-1px;padding-top:20vh;background:linear-gradient(180deg,#050505 0%,#050505 68%,#0a0a0a 100%)}
.world::after{content:"";position:absolute;top:0;left:calc(var(--pad) + 8vw);width:1px;height:42vh;background:linear-gradient(var(--gold),transparent);transform-origin:top;transform:scaleY(calc(.25 + var(--hero-p) * .75))}
.world__title{margin-top:12vh}.world__title span:nth-child(1){font-size:.55em;letter-spacing:-.055em}.world__title span:nth-child(2){margin-left:13vw}.world__title span:nth-child(3){margin-left:37vw;text-shadow:0 0 5rem rgba(252,198,48,.12)}
.world__roles span{display:flex;align-items:center;gap:.65rem}.world__roles span::before{content:"";width:.45rem;height:.45rem;border:1px solid var(--gold);border-radius:50%}

.audience__media{background:#030303}.audience__visual{padding:var(--pad);background:#050505;clip-path:inset(7% 7%);opacity:0;transform:none;transition:opacity .65s ease,clip-path 1s cubic-bezier(.22,1,.36,1)}.audience__visual.is-active{opacity:1;clip-path:inset(0)}
.audience__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.22) 48%,rgba(0,0,0,.9)),linear-gradient(90deg,rgba(0,0,0,.24),transparent 65%)}
.audience__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.08) brightness(.76);transform:scale(1.08);transition:transform 1.4s cubic-bezier(.22,1,.36,1),filter .7s}.audience__visual.is-active img{transform:scale(1)}
.audience__visual--1 img{object-position:38% center}.audience__visual--2 img{object-position:center}.audience__visual--3 img{object-position:68% center}
.audience__visual span,.audience__visual b{position:relative;z-index:2}.audience__visual b{max-width:90%;font-size:clamp(3rem,6vw,6.8rem)}
.audience__chapter{position:relative}.audience__chapter::before{content:"";position:absolute;left:-1px;top:50%;width:2px;height:0;background:var(--gold);transition:height .55s ease,top .55s ease}.audience__chapter.is-active::before{height:24%;top:38%}

.bridge__stage{isolation:isolate;background:#050505}.bridge__image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.34) grayscale(.3) contrast(1.12);transform:scale(calc(1.16 - var(--bridge-p) * .1));will-change:transform}.bridge__stage::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.18) 65%),linear-gradient(0deg,#050505 0%,transparent 30%,rgba(0,0,0,.45) 100%)}
.bridge__stage p{line-height:1.02;padding-bottom:.12em;transform:translateY(calc(var(--bridge-p) * -2vh));opacity:calc(1 - var(--bridge-p) * 1.15)}
.bridge__stage h2{position:absolute;left:var(--pad);right:var(--pad);bottom:9vh;margin:0}.bridge__stage h2 span{white-space:nowrap;text-shadow:0 0 4rem rgba(252,198,48,.16)}

.services{background:#050505}.services__backdrop{opacity:1;overflow:hidden;background:#050505}.services__backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505 6%,rgba(5,5,5,.77) 42%,rgba(5,5,5,.9)),linear-gradient(0deg,#050505,transparent 32%,#050505)}
.services__backdrop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% center;opacity:.2;filter:grayscale(1) contrast(1.15);transform:scale(1.04);transition:opacity .5s,transform .8s cubic-bezier(.22,1,.36,1)}
.services__backdrop span{position:relative;z-index:2;color:var(--white);opacity:.13}
.services:has(.service:hover) .services__backdrop img,.services:has(.service:focus-visible) .services__backdrop img{opacity:.34;transform:scale(1.08)}
.service{min-height:9.3rem;grid-template-columns:5rem minmax(15rem,1fr) minmax(17rem,.62fr) 2rem}.service h3{font-weight:780}.service:nth-child(even) h3{padding-left:4vw}.service p{opacity:.45;transform:translateY(.45rem);transition:opacity .3s,transform .3s}.service:hover p,.service:focus-visible p{opacity:1;transform:none}

.team__stage{isolation:isolate}.team__stage::before{content:"";position:absolute;z-index:-2;inset:0;background:url('./assets/stadium-tunnel.jpg') center/cover no-repeat;filter:brightness(.28) grayscale(.25) contrast(1.12);transform:scale(calc(1.08 + var(--team-p,0) * .06))}.team__stage::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.2)),linear-gradient(0deg,#050505 0%,transparent 36%,rgba(0,0,0,.52))}.team__stage>*{position:relative;z-index:2}.team__statement strong{-webkit-text-stroke:1px rgba(255,255,255,.7);filter:drop-shadow(0 1rem 3rem rgba(0,0,0,.5))}

.process{background:linear-gradient(180deg,#050505,#0b0b0b 55%,#111)}.process__steps li.is-active strong{color:var(--white)}.process__steps strong{color:rgba(255,255,255,.28);transition:color .4s}.process__line{height:3px}.process__line::after{content:"";position:absolute;left:var(--process-p);top:50%;width:.8rem;height:.8rem;border-radius:50%;background:var(--gold);box-shadow:0 0 2.5rem var(--gold);transform:translate(-50%,-50%)}

.project__visual{background:#050505}.project__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.76),transparent 54%),linear-gradient(90deg,rgba(0,0,0,.22),transparent)}.project__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.18) brightness(.75) contrast(1.08);transform:scale(1.04);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s}.project:hover .project__visual img{transform:scale(1.09);filter:grayscale(0) brightness(.82) contrast(1.08)}.project--1 .project__visual img{object-position:38% center}.project--2 .project__visual img{object-position:center}.project--3 .project__visual img{object-position:center}.project__visual>span,.project__visual>b,.project__visual>i{z-index:2}.project__visual i{border-color:rgba(255,255,255,.38)}

.manifesto{position:relative;background:linear-gradient(180deg,#050505 0%,#050505 68%,#0a0a0a 100%)}.manifesto::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent 38%)}.manifesto__lead h2{max-width:13ch}.manifesto__words span{-webkit-text-stroke:1px rgba(255,255,255,.42);color:transparent;opacity:1}.manifesto__words span.is-visible{color:var(--white);-webkit-text-stroke:0}.manifesto__words span.gold.is-visible{color:var(--gold)}
.final{position:relative;overflow:hidden}.final::before{content:"BE";position:absolute;right:-.05em;top:-.14em;color:rgba(0,0,0,.055);font-size:52vw;font-weight:900;line-height:1;letter-spacing:-.12em}.final>*{position:relative;z-index:2}

@media (max-width:900px){
  .hero__field{clip-path:inset(calc(var(--hero-p) * 3vh) calc(var(--hero-p) * 3vw))}.field__image{object-position:64% center}.hero__field::after{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.13)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%)}.hero__frame{top:6.2rem}.hero__title span:nth-child(2){margin-left:0}.hero__title span:nth-child(3){margin-left:5vw}.world__title span:nth-child(2){margin-left:5vw}.world__title span:nth-child(3){margin-left:21vw}.audience__visual{clip-path:inset(4%)}.audience__visual.is-active{clip-path:inset(0)}.bridge__stage h2 span{white-space:normal}.service{grid-template-columns:3.4rem 1fr 1.1rem}.service:nth-child(even) h3{padding-left:0}.team__stage::before{background-position:center}.project__visual img{filter:grayscale(.08) brightness(.76) contrast(1.08)}
}

@media (max-width:560px){
  body::before{opacity:.022}.hero__stage{padding-top:7rem}.hero__frame{top:5.7rem}.hero__frame span:first-child{display:none}.hero__eyebrow{margin-top:1.35rem}.hero__title{font-size:15.2vw;line-height:.78}.hero__title span:nth-child(3){margin-left:9vw}.hero__copy{color:rgba(255,255,255,.78)}.field__image{object-position:69% center;filter:brightness(.48) contrast(1.12) saturate(.7)}.field__grid{opacity:.18}.world{padding-top:15vh}.world::after{left:var(--pad);height:26vh}.world__title span:nth-child(1){font-size:.65em}.world__title span:nth-child(2){margin-left:0}.world__title span:nth-child(3){margin-left:18vw}.world__roles span::before{width:.35rem;height:.35rem}.audience__visual b{font-size:11.5vw}.audience__visual--1 img{object-position:31% center}.audience__visual--3 img{object-position:70% center}.bridge__stage p{font-size:9vw}.bridge__stage h2{bottom:12vh}.bridge__stage h2 span{font-size:11.5vw}.services__backdrop img{object-position:32% center;opacity:.13}.service{min-height:7.6rem}.team__stage::before{background-position:58% center}.team__stage::after{background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.88) 70%,#050505)}.project__visual{min-height:21rem}.manifesto__words span{-webkit-text-stroke:.7px rgba(255,255,255,.45)}.final::before{font-size:80vw;top:.2em}
}

@media (prefers-reduced-motion:reduce){
  html:not(.motion-full) .hero__field{clip-path:none}html:not(.motion-full) .field__image,html:not(.motion-full) .audience__visual img,html:not(.motion-full) .bridge__image,html:not(.motion-full) .team__stage::before,html:not(.motion-full) .project__visual img{transform:none!important}html:not(.motion-full) .audience__visual{clip-path:none}html:not(.motion-full) .bridge__stage p{opacity:1;transform:none}
  html:not(.motion-full) .audience{display:block}html:not(.motion-full) .audience__media{position:relative;height:72vh;min-height:34rem}html:not(.motion-full) .audience__chapters{padding:2vh var(--pad) 12vh}html:not(.motion-full) .audience__chapter{min-height:auto;padding:9vh 0;opacity:1}html:not(.motion-full) .audience__chapter::before{display:none}
  html:not(.motion-full) .work__stage{position:relative;height:auto;min-height:0}html:not(.motion-full) .work__track{display:grid;width:auto;transform:none!important}html:not(.motion-full) .project{width:calc(100vw - var(--pad) * 2)}
}

html.motion-reduced{scroll-behavior:auto}html.motion-reduced *,html.motion-reduced *::before,html.motion-reduced *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}html.motion-reduced .intro{display:none}html.motion-reduced .hero{height:100svh}html.motion-reduced .hero__stage,html.motion-reduced .audience__media,html.motion-reduced .bridge__stage,html.motion-reduced .team__stage,html.motion-reduced .process__stage,html.motion-reduced .work__stage{position:relative}html.motion-reduced .hero__field{clip-path:none}html.motion-reduced .hero__field,html.motion-reduced .hero__title span,html.motion-reduced .hero__copy,html.motion-reduced .hero__discover,html.motion-reduced .bridge__stage h2 span,html.motion-reduced .work__track,html.motion-reduced .field__image,html.motion-reduced .audience__visual img,html.motion-reduced .bridge__image,html.motion-reduced .team__stage::before,html.motion-reduced .project__visual img{transform:none!important}html.motion-reduced .hero__shade{display:none}html.motion-reduced .reveal,html.motion-reduced .manifesto__words span{opacity:1;transform:none}html.motion-reduced .team,html.motion-reduced .process,html.motion-reduced .bridge,html.motion-reduced .work{height:auto}html.motion-reduced .audience{display:block}html.motion-reduced .audience__media{position:relative;height:72vh;min-height:34rem}html.motion-reduced .audience__chapters{padding:2vh var(--pad) 12vh}html.motion-reduced .audience__chapter{min-height:auto;padding:9vh 0;opacity:1}html.motion-reduced .audience__chapter::before{display:none}html.motion-reduced .work__stage{position:relative;height:auto;min-height:0}html.motion-reduced .work__track{display:grid;width:auto;transform:none!important}html.motion-reduced .project{width:calc(100vw - var(--pad) * 2)}

/* Use the supplied Bellevue artwork exactly as provided. */
.nav__brand .brand-mark{width:clamp(9rem,12vw,12rem);height:auto}.intro__logo{width:min(88vw,68rem);height:auto}.footer__brand .brand-mark{width:min(52vw,58rem);height:auto}
@media (max-width:560px){.nav__brand .brand-mark{width:7.5rem}.intro__logo{width:94vw}.footer__brand .brand-mark{width:94vw}}

/* Selected Work navigation: preserves the card composition while exposing its destination. */
.project{color:inherit;text-decoration:none;cursor:pointer}.project:focus-visible{outline:2px solid var(--gold);outline-offset:.45rem}.page-wipe{position:fixed;z-index:120;inset:0;background:linear-gradient(90deg,#050505 0%,#050505 78%,var(--gold) 78%,var(--gold) 100%);transform:scaleX(0);transform-origin:left;pointer-events:none;transition:transform .28s cubic-bezier(.77,0,.18,1)}.page-wipe.is-covering{transform:scaleX(1)}

/* Placeholder category pages. */
.category-page{min-height:100svh;background:var(--black);color:var(--white)}.category-hero{position:relative;isolation:isolate;min-height:100svh;display:grid;align-content:end;padding:9rem var(--pad) 4rem;overflow:hidden;background:#050505}.category-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.23)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 62%)}.category-hero::after{content:"";position:absolute;z-index:-1;inset:0;background-image:var(--category-image);background-size:cover;background-position:center;filter:grayscale(.15) brightness(.66) contrast(1.08);transform:scale(1.04);animation:categoryImageIn 1.1s cubic-bezier(.22,1,.36,1) both}.category-hero__eyebrow{margin-bottom:auto}.category-hero__back{justify-self:start;display:inline-flex;align-items:center;gap:.65rem;margin-bottom:clamp(3rem,10vh,8rem);color:var(--white);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.category-hero__back span{color:var(--gold);font-size:1.2rem;transition:transform .3s ease}.category-hero__back:hover span,.category-hero__back:focus-visible span{transform:translateX(-.3rem)}.category-hero h1{max-width:10ch;margin:0;font-size:clamp(5rem,14vw,15rem);font-weight:850;line-height:.74;letter-spacing:-.09em;text-transform:uppercase;animation:categoryTitleIn .8s .12s cubic-bezier(.22,1,.36,1) both}.category-hero p:last-child{max-width:38rem;margin:2rem 0 0;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.45;color:rgba(255,255,255,.8);animation:categoryTitleIn .8s .24s cubic-bezier(.22,1,.36,1) both}.category-page .page-wipe{transform:scaleX(1);transform-origin:right;animation:pageReveal .45s .04s cubic-bezier(.77,0,.18,1) forwards}@keyframes pageReveal{to{transform:scaleX(0)}}@keyframes categoryImageIn{from{transform:scale(1.11)}to{transform:scale(1.04)}}@keyframes categoryTitleIn{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.category-hero{padding:7rem var(--pad) 2.5rem}.category-hero h1{font-size:20vw}.category-hero__back{margin-bottom:3rem}.category-hero p:last-child{font-size:1rem}}@media (prefers-reduced-motion:reduce){html:not(.motion-full) .category-hero::after,html:not(.motion-full) .category-hero h1,html:not(.motion-full) .category-hero p:last-child{animation:none}html:not(.motion-full) .category-page .page-wipe{display:none}}html.motion-reduced .category-hero::after,html.motion-reduced .category-hero h1,html.motion-reduced .category-hero p:last-child{animation:none}html.motion-reduced .category-page .page-wipe{display:none}

/* Tighter scroll choreography: every scene completes before its sticky frame releases. */
@media (min-width:901px){
  .hero{height:165vh}
  .audience__chapters{padding:22vh var(--pad)}
  .audience__chapter{min-height:76vh}
  .bridge{height:180vh}
  .team{height:210vh}
  .process{height:195vh}
  .work{height:275vh}
}

@media (max-width:900px){
  .audience{display:block;isolation:isolate}
  .audience__media{position:sticky;top:0;height:100svh;min-height:32rem}
  .audience__chapters{position:relative;z-index:4;margin-top:-100svh;padding:12vh var(--pad) 18vh}
  .audience__chapter{min-height:75svh;align-content:end;padding:0 0 9vh;opacity:.32;text-shadow:0 .2rem 1.8rem rgba(0,0,0,.85)}
  .audience__chapter::after{content:"";position:absolute;z-index:-1;left:calc(var(--pad) * -1);right:calc(var(--pad) * -1);bottom:0;height:58%;background:linear-gradient(transparent,rgba(5,5,5,.88))}
  .audience__chapter p{color:rgba(255,255,255,.78)}
}

/* Service detail card: added interaction without changing the service section layout. */
button.service{width:100%;padding:0;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.service-card{box-sizing:border-box;width:min(43rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100svh - 2rem);margin:auto;padding:clamp(2rem,5vw,4.5rem);overflow-x:hidden;overflow-y:auto;border:1px solid rgba(252,198,48,.72);background:#050505;color:var(--white);box-shadow:0 2rem 7rem rgba(0,0,0,.7)}.service-card::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(.35rem)}.service-card__close{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--white);font-size:1.55rem;line-height:1;cursor:pointer}.service-card__close:hover,.service-card__close:focus-visible{border-color:var(--gold);color:var(--gold)}.service-card h2{margin:1rem 0 2.25rem;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.84;letter-spacing:-.065em;text-transform:uppercase}.service-card h2 span{display:block;white-space:nowrap}.service-card__description{max-width:37rem;margin:0;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.55vw,1.2rem);line-height:1.5}.service-card__tags{margin:2.25rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--gold);font-size:.78rem;font-weight:700;line-height:1.6;letter-spacing:.11em;text-transform:uppercase}.service-card-open{overflow:hidden}@media (max-width:560px){.service-card{padding:4rem 1.4rem 1.8rem}.service-card h2{font-size:clamp(2.15rem,9vw,3.4rem)}.service-card__tags{font-size:.72rem;letter-spacing:.08em}}

/* Case-study scaffold for each Selected Work category. */
.category-work{padding:9rem var(--pad) 15vh;background:#050505}.category-work__head{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}.category-work__head h1{margin:1rem 0 0;font-size:clamp(3.5rem,8vw,8rem);line-height:.8;letter-spacing:-.07em;text-transform:uppercase}.category-work__back{display:inline-flex;align-items:center;gap:.65rem;color:var(--white);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.category-work__back span{color:var(--gold);font-size:1.2rem;transition:transform .3s ease}.category-work__back:hover span,.category-work__back:focus-visible span{transform:translateX(-.3rem)}.case-studies{min-height:18rem}.case-studies__empty{margin:0;padding:8vh 0;color:var(--muted);font-size:1rem}.case-study{display:block;color:inherit;text-decoration:none;border-bottom:1px solid var(--line);padding:2rem 0}.case-study img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(.2) brightness(.72);transition:filter .45s ease,transform .8s cubic-bezier(.22,1,.36,1)}.case-study>div{display:grid;grid-template-columns:4rem 1fr auto;gap:1rem;align-items:baseline;padding-top:1rem}.case-study span,.case-study b{color:var(--gold);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.case-study h3{margin:0;font-size:clamp(2rem,4vw,4.5rem);line-height:.85;letter-spacing:-.055em;text-transform:uppercase}.case-study p{margin:0;color:var(--muted);font-size:.9rem}.case-study:hover img,.case-study:focus-visible img{filter:grayscale(0) brightness(.84);transform:scale(1.01)}.case-study:focus-visible{outline:2px solid var(--gold);outline-offset:.45rem}@media (max-width:700px){.category-work{padding:7rem var(--pad) 12vh}.category-work__head{display:block}.category-work__head .eyebrow{margin-bottom:1.3rem}.category-work__back{margin-top:1.8rem}.case-study>div{grid-template-columns:2.8rem 1fr}.case-study p{grid-column:2}.case-study b{display:none}}

/* Contact form in the existing closing section. */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.72fr);gap:clamp(3rem,9vw,10rem);align-items:center;flex:1;margin:5vh 0}.contact-layout__intro h2{margin:0;font-size:clamp(5rem,11vw,12rem);line-height:.72}.contact-layout__intro>p{max-width:28rem;margin:2rem 0 0;font-size:1.05rem;line-height:1.45}.contact-form{display:grid;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem);background:var(--black);color:var(--white);box-shadow:1rem 1rem 0 rgba(0,0,0,.16)}.contact-field{display:grid;gap:.7rem}.contact-field>span{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-field>span em{margin-left:.35rem;color:rgba(255,255,255,.48);font-style:normal;font-weight:500}.contact-field input,.contact-field select,.contact-field textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid rgba(255,255,255,.35);border-radius:0;background:transparent;padding:.6rem 0;color:var(--white);font:inherit;font-size:1rem;outline:0}.contact-field textarea{min-height:6rem;resize:vertical}.contact-field select{cursor:pointer}.contact-field select option{background:var(--black);color:var(--white)}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--gold)}.contact-field textarea::placeholder{color:rgba(255,255,255,.42)}.contact-submit{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:.7rem;border:1px solid var(--gold);background:var(--gold);padding:1.05rem 1.2rem;color:var(--black);font-size:.78rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .3s ease,color .3s ease}.contact-submit:hover,.contact-submit:focus-visible{background:transparent;color:var(--gold)}.contact-submit i{font-size:1.3rem;font-style:normal;transition:transform .3s ease}.contact-submit:hover i,.contact-submit:focus-visible i{transform:translateX(.3rem)}.contact-form__status{min-height:1.25rem;margin:0;color:rgba(255,255,255,.68);font-size:.8rem;line-height:1.4}@media (max-width:900px){.contact-layout{grid-template-columns:1fr;gap:3rem}.contact-layout__intro h2{font-size:15vw}.contact-form{max-width:38rem}}@media (max-width:560px){.contact-layout{margin:3rem 0}.contact-layout__intro h2{font-size:17vw}.contact-layout__intro>p{font-size:1rem}.contact-form{padding:1.4rem}.contact-field>span{font-size:.7rem}}
.contact-form__honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-submit:disabled{cursor:wait;opacity:.58}

/* Hero call to action and a restrained gold cursor aura. */
.cursor-aura{position:fixed;z-index:110;left:0;top:0;width:.72rem;aspect-ratio:1;pointer-events:none;opacity:0;transform:translate3d(var(--cursor-x,-24rem),var(--cursor-y,-24rem),0) translate(-50%,-50%);border-radius:50%;background:var(--gold);box-shadow:0 0 0 .28rem rgba(252,198,48,.11),0 0 1.25rem rgba(252,198,48,.72);transition:opacity .18s ease;will-change:transform,opacity}.cursor-aura.is-active{opacity:1}
.hero__actions{z-index:2;justify-self:end;align-self:end;display:flex;align-items:center;gap:1.25rem;transform:translateY(calc(var(--hero-p) * 8rem));opacity:calc(1 - var(--hero-p) * 1.4);animation:heroMetaIn .8s 2.2s ease both}.hero__work{display:inline-flex;align-items:center;gap:1.25rem;padding:.9rem 1.05rem;border:1px solid var(--gold);background:var(--gold);color:var(--black);font-size:.73rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;box-shadow:0 .8rem 2rem rgba(252,198,48,.16);transition:background .3s,color .3s,box-shadow .3s,transform .3s}.hero__work:hover,.hero__work:focus-visible{background:rgba(5,5,5,.52);color:var(--gold);box-shadow:0 1rem 2.8rem rgba(252,198,48,.3);transform:translateY(-.2rem)}.hero__work span{font-size:1rem;transition:transform .3s}.hero__work:hover span,.hero__work:focus-visible span{transform:translate(.2rem,.16rem)}.hero__discover{position:static;display:flex;align-items:center;gap:1rem;font-size:.77rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transform:none;opacity:1;animation:none}.hero__discover span{color:var(--gold);font-size:1.15rem;transition:transform .3s}.hero__discover:hover span{transform:translateY(.3rem)}
.hero__title{grid-row:2}.hero__actions{grid-column:2;grid-row:3}
.hero__copy{grid-column:1;grid-row:3}
html.motion-reduced .cursor-aura{display:none}html.motion-reduced .hero__actions{transform:none!important}
@media (max-width:900px){.hero__actions{position:absolute;left:var(--pad);right:var(--pad);bottom:3rem;justify-self:auto;justify-content:space-between;gap:1rem}}
@media (max-width:560px){.hero__copy{margin-bottom:5.8rem}.hero__actions{bottom:2.1rem;gap:.85rem}.hero__work{gap:.8rem;padding:.8rem .9rem;font-size:.66rem}.hero__discover{gap:.6rem;font-size:.65rem;letter-spacing:.08em}.hero__discover span{font-size:1rem}}
@media (pointer:fine){html.motion-full body,html.motion-full a,html.motion-full button,html.motion-full [role="button"]{cursor:none}}@media (pointer:coarse){.cursor-aura{display:none}}@media (prefers-reduced-motion:reduce){html:not(.motion-full) .cursor-aura{display:none}}

/* Image-free hero: a minimal editorial field built from the Bellevue palette. */
.hero__field{
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/12.5vw 100%,
    linear-gradient(180deg,#050505 0%,#090909 54%,#020202 100%);
}
.hero__field::before{
  content:"";
  position:absolute;
  z-index:1;
  left:var(--pad);
  right:var(--pad);
  top:50%;
  bottom:auto;
  width:auto;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 68%,transparent);
  mix-blend-mode:normal;
  transform:none;
  animation:none;
}
.hero__field::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:auto calc(var(--pad) + 2vw) 14vh auto;
  width:clamp(.55rem,.8vw,.9rem);
  height:38vh;
  background:var(--gold);
  box-shadow:0 0 4rem rgba(252,198,48,.2);
  transform:skewY(-12deg) translateY(calc(var(--hero-p) * -8vh));
  opacity:calc(1 - var(--hero-p) * .72);
  will-change:transform,opacity;
}
.field__orb{
  position:absolute;
  z-index:0;
  width:min(54vw,48rem);
  aspect-ratio:1;
  right:-10vw;
  top:50%;
  border:1px solid rgba(252,198,48,.5);
  border-radius:50%;
  box-shadow:inset 0 0 8rem rgba(252,198,48,.035),0 0 8rem rgba(252,198,48,.04);
  transform:translateY(-50%) scale(calc(1 - var(--hero-p) * .08));
  will-change:transform;
}
.field__orb::before,.field__orb::after{
  content:"";
  position:absolute;
  border-radius:50%;
}
.field__orb::before{
  inset:14%;
  border:1px solid rgba(255,255,255,.13);
}
.field__orb::after{
  inset:34%;
  border:clamp(.55rem,1.15vw,1.15rem) solid var(--gold);
  background:transparent;
  opacity:1;
  filter:none;
  box-shadow:0 0 4rem rgba(252,198,48,.16);
}
.field__grid{
  z-index:0;
  opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:100% 18vh;
  mask-image:linear-gradient(90deg,black 0%,rgba(0,0,0,.75) 55%,transparent 100%);
}
.hero__shade{background:rgba(0,0,0,calc(var(--hero-p) * .9))}
.hero__title{
  max-width:90rem;
  font-family:var(--display-font);
  font-weight:400;
  font-size:clamp(4rem,8.9vw,10.2rem);
  /* Preserve room for Avant Garde's distinctive lower-case descenders. */
  line-height:.93;
  text-shadow:none;
}
.hero__title em{font-family:inherit;font-weight:400;font-style:italic}
.hero__title span:nth-child(2){margin-left:5vw}
.hero__title span:nth-child(3){margin-left:12vw}

@media (max-width:900px){
  .hero__field{background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/25vw 100%,linear-gradient(180deg,#050505,#080808 58%,#020202)}
  .field__orb{width:86vw;right:-40vw;top:43%}
  .hero__field::after{right:var(--pad);bottom:14vh;height:26vh}
  .field__grid{background-size:100% 14vh}
  .hero__title{font-size:clamp(3.7rem,11.7vw,7.2rem);line-height:.93}
  .hero__title span:nth-child(2){margin-left:0}
  .hero__title span:nth-child(3){margin-left:6vw}
}

@media (max-width:560px){
  .hero__stage{min-height:40rem;padding-top:6.4rem}
  .hero__field{clip-path:inset(calc(var(--hero-p) * 2vh) calc(var(--hero-p) * 2vw))}
  .field__orb{width:104vw;right:-58vw;top:39%}
  .field__orb::after{border-width:.55rem}
  .hero__field::before{top:45%}
  .hero__field::after{right:var(--pad);bottom:17vh;width:.48rem;height:20vh}
  .hero__title{align-self:center;font-size:clamp(3rem,12.7vw,4.65rem);line-height:.93;letter-spacing:-.07em}
  .hero__title span:nth-child(3){margin-left:5vw}
  .hero__copy{max-width:30rem;margin-bottom:6.6rem;font-size:1rem;line-height:1.45}
}

.audience__visual--4{--visual-glow:rgba(252,198,48,.22);--visual-a:#1d1708}
.audience__visual--4 img{object-position:72% center}

.audience__cta{
  display:inline-flex;
  width:max-content;
  margin-top:1.5rem;
  padding:.72rem 1rem;
  border:1px solid var(--gold);
  color:var(--white);
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background .3s ease,color .3s ease;
}
.audience__cta:hover,.audience__cta:focus-visible{background:var(--gold);color:var(--black)}

/* Broken perspective lines replace the former circular hero geometry. */
.field__vectors{
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:calc(1 - var(--hero-p) * .7);
}
.field__vectors i{
  position:absolute;
  left:79%;
  top:43%;
  width:max(72vw,64rem);
  height:1px;
  background:linear-gradient(90deg,transparent 0 7%,rgba(255,255,255,.2) 8%,rgba(255,255,255,.62) 38%,rgba(255,255,255,.14) 72%,transparent 94%);
  transform-origin:left center;
  transform:translateX(calc(var(--hero-p) * 4vw)) rotate(var(--vector-angle)) scaleX(calc(.9 + var(--hero-p) * .13));
  will-change:transform,opacity;
}
.field__vectors i:nth-child(1){--vector-angle:137deg;opacity:.3}
.field__vectors i:nth-child(2){--vector-angle:151deg;opacity:.48}
.field__vectors i:nth-child(3){--vector-angle:165deg;opacity:.25}
.field__vectors i:nth-child(4){--vector-angle:180deg;opacity:.7}
.field__vectors i:nth-child(5){--vector-angle:195deg;opacity:.28}
.field__vectors i:nth-child(6){--vector-angle:209deg;opacity:.5}
.field__vectors i:nth-child(7){--vector-angle:223deg;opacity:.26}
.field__vectors i:nth-child(2),
.field__vectors i:nth-child(6){
  height:2px;
  background:linear-gradient(90deg,transparent 0 10%,rgba(252,198,48,.28) 11%,var(--gold) 42%,rgba(252,198,48,.22) 72%,transparent 92%);
  box-shadow:0 0 1.4rem rgba(252,198,48,.18);
}
.field__grid{
  display:none;
}
body::before{display:none}

@media (max-width:900px){
  .field__vectors i{left:88%;top:42%;width:max(108vw,52rem)}
}

@media (max-width:560px){
  .field__vectors i{left:96%;top:39%;width:max(132vw,36rem)}
  .field__vectors i:nth-child(1),.field__vectors i:nth-child(7){opacity:.18}
  .field__vectors i:nth-child(4){opacity:.55}
}

.project--4 .project__visual{--project-x:72%;background:radial-gradient(circle at 72% 38%,rgba(252,198,48,.22),transparent 25%),linear-gradient(140deg,#17130a,#050505 68%)}
.project--4 .project__visual img{object-position:72% center}
@media (min-width:901px){.work{height:360vh}}

@media (max-width:700px){
  .audience__visual b{display:none}
}

/* Preserve the natural sentence casing written in the site content. */
body,
body :not(input):not(textarea):not(select):not(option) {
  text-transform: none !important;
}

/* Targeted hierarchy: utility navigation stays quiet, section titles gain contrast. */
.nav__links,
.nav__links a,
.nav__cta {
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.audience__chapter h3,
.audience__visual b {
  text-transform: uppercase !important;
}

.audience__chapter h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.045em;
  text-transform: none !important;
}

/* A restrained serif contrast for the service and portfolio headings. */
.services .section-head h2,
.services .service h3,
.service-card h2,
.work .section-head h2,
.project__visual b,
.category-work__head h1,
.case-study h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400 !important;
  font-style: italic;
  letter-spacing: -.045em;
  text-transform: none !important;
}

/* A calmer service list with a clear hover cue. */
.services .service h3 {
  font-size: clamp(1.85rem, 2.65vw, 3.25rem);
  transition: color .28s ease;
}
.services .service:hover h3,
.services .service:focus-visible h3 {
  color: var(--gold);
}

/* Service-card titles keep their intentional two-line composition inside the panel. */
.service-card h2 {
  max-width: calc(100% - 3rem);
  font-size: clamp(2.7rem, 4.4vw, 4.25rem);
  line-height: .92;
  letter-spacing: -.05em;
}
.service-card h2 span {
  max-width: 100%;
}
@media (max-width: 560px) {
  .service-card h2 {
    max-width: 100%;
    font-size: clamp(2.25rem, 8.2vw, 3.15rem);
    line-height: .94;
  }
}

@media (min-width: 901px) {
  .services .service {
    grid-template-columns: 4rem minmax(15rem, 1fr) minmax(17rem, .62fr) auto;
  }
  .services .service::after {
    content: "OPEN";
    justify-self: end;
    padding: .52rem .62rem;
    border: 1px solid rgba(255, 255, 255, .25);
    color: rgba(255, 255, 255, .64);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .12em;
    transition: border-color .28s ease, background .28s ease, color .28s ease;
  }
  .services .service:hover::after,
  .services .service:focus-visible::after {
    border-color: var(--gold);
    background: var(--gold);
    color: var(--black);
  }
}

/* What we do: a quieter editorial list inspired by the supplied reference. */
.services {
  min-height: 0;
  padding: clamp(5rem, 11vh, 9rem) var(--pad);
  background: #070707;
}
.services .section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
.services .section-head h2 {
  margin: 0;
  font-size: clamp(2.6rem, 5.2vw, 5.4rem);
  line-height: .9;
}
.services__backdrop { opacity: .45; }
.services__backdrop img { opacity: .08; }
.services__backdrop span { opacity: .035; }
.services__list {
  margin-top: 0;
  border-top: 0;
}
.services .service {
  position: relative;
  grid-template-columns: 3.4rem minmax(18rem, .95fr) minmax(18rem, .85fr) auto;
  min-height: 0;
  gap: 1.1rem;
  padding: 1.35rem 0;
  border-bottom-color: rgba(255, 255, 255, .16);
  transition: padding .3s ease, background .3s ease;
}
.services .service:nth-child(even) h3 { padding-left: 0; }
.services .service > span {
  align-self: start;
  padding-top: .45rem;
  color: var(--gold);
  font-size: .62rem;
  letter-spacing: .16em;
}
.services .service h3 {
  font-size: clamp(1.85rem, 2.35vw, 2.85rem);
  line-height: .92;
}
.services .service p {
  align-self: center;
  max-width: 26rem;
  margin: 0;
  color: rgba(255, 255, 255, .48);
  font-size: .8rem;
  line-height: 1.45;
  opacity: 1;
  transform: none;
}
.services .service::after {
  content: "VIEW DETAILS";
  align-self: center;
  justify-self: end;
  padding: .46rem .58rem;
  border: 1px solid rgba(255, 255, 255, .22);
  color: rgba(255, 255, 255, .62);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .12em;
  white-space: nowrap;
}
.services .service:hover,
.services .service:focus-visible {
  padding-left: .72rem;
  background: linear-gradient(90deg, rgba(252, 198, 48, .09), transparent 42%);
}
.services .service:hover p,
.services .service:focus-visible p { color: rgba(255, 255, 255, .82); }
.services .service:hover::after,
.services .service:focus-visible::after {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--black);
}

@media (max-width: 900px) {
  .services .section-head { display: block; }
  .services .section-head h2 { margin-top: .8rem; }
  .services .service {
    grid-template-columns: 2.8rem 1fr;
    padding: 1.35rem 0;
  }
  .services .service > span { padding-top: .3rem; }
  .services .service p {
    grid-column: 2;
    margin-top: .15rem;
    padding: 0;
  }
  .services .service::after {
    grid-column: 2;
    justify-self: start;
    margin-top: .05rem;
  }
}

/* Keep the capabilities group centered and intentionally narrower than the viewport. */
.services .section-head,
.services__list {
  width: min(100%, 82rem);
  margin-left: auto;
  margin-right: auto;
}
.services .section-head {
  display: grid;
  justify-items: center;
  text-align: center;
}
.services .section-head .eyebrow {
  margin-bottom: .7rem;
}

@media (max-width: 900px) {
  .services .section-head { display: grid; }
}

/* Who we work with uses the hero's dark perspective and a scroll-driven gold flare. */
.audience__media {
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0/20% 100%,
    linear-gradient(180deg, #050505, #090909 54%, #020202);
}
.audience__media::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: var(--pad);
  right: var(--pad);
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.2), rgba(255,255,255,.05) 68%, transparent);
}
.audience__media::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 19%;
  right: var(--pad);
  width: clamp(.5rem, .8vw, .9rem);
  height: 27%;
  background: var(--gold);
  box-shadow: 0 0 4rem rgba(252,198,48,.24);
  transform: skewY(-12deg) translateY(calc(var(--audience-p, 0) * 13vh));
  opacity: calc(1 - var(--audience-p, 0) * .3);
}
.audience__visual { z-index: 2; background: transparent; }
.audience__visual::after { display: none; }
.audience__flare {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  transform: translate3d(calc(var(--audience-p, 0) * -13vw), calc(var(--audience-p, 0) * 12vh), 0);
  will-change: transform;
}
.audience__flare::before,
.audience__flare::after {
  content: "";
  position: absolute;
  left: 77%;
  top: 41%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.audience__flare::before {
  z-index: 2;
  width: clamp(.65rem, 1.2vw, 1rem);
  aspect-ratio: 1;
  background: #fff1b6;
  box-shadow: 0 0 0 .4rem rgba(252,198,48,.14), 0 0 1.8rem .5rem rgba(252,198,48,.72), 0 0 6rem 1.5rem rgba(252,198,48,.22);
}
.audience__flare::after {
  width: min(70vw, 40rem);
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(252,198,48,.13), transparent 60%);
}
.audience__flare i {
  position: absolute;
  left: 77%;
  top: 41%;
  width: max(105%, 35rem);
  height: 1px;
  transform-origin: left center;
  transform: rotate(var(--flare-angle));
  background: linear-gradient(90deg, rgba(255,255,255,.19), rgba(255,255,255,.06) 60%, transparent);
}
.audience__flare i:nth-child(1) { --flare-angle: 137deg; opacity: .3; }
.audience__flare i:nth-child(2) { --flare-angle: 151deg; opacity: .8; }
.audience__flare i:nth-child(3) { --flare-angle: 165deg; opacity: .28; }
.audience__flare i:nth-child(4) { --flare-angle: 180deg; opacity: .62; }
.audience__flare i:nth-child(5) { --flare-angle: 195deg; opacity: .3; }
.audience__flare i:nth-child(6) { --flare-angle: 209deg; opacity: .75; }
.audience__flare i:nth-child(7) { --flare-angle: 223deg; opacity: .27; }
.audience__flare i:nth-child(2),
.audience__flare i:nth-child(6) {
  height: 2px;
  background: linear-gradient(90deg, transparent 0 10%, rgba(252,198,48,.28) 11%, var(--gold) 42%, rgba(252,198,48,.22) 72%, transparent 92%);
  box-shadow: 0 0 1.4rem rgba(252,198,48,.18);
}
@media (max-width: 560px) {
  .audience__flare::before,
  .audience__flare::after,
  .audience__flare i { left: 83%; top: 43%; }
  .audience__media::after { height: 22%; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(.motion-full) .audience__flare,
  html:not(.motion-full) .audience__media::after { transform: none; }
}
html.motion-reduced .audience__flare,
html.motion-reduced .audience__media::after { transform: none; }

/* Selected work: let the full project label system respond together on hover. */
.project__visual > span,
.project__visual b,
.project__meta,
.project__meta b {
  transition: color .3s ease;
}
.project:hover .project__visual > span,
.project:hover .project__visual b,
.project:hover .project__meta,
.project:hover .project__meta b,
.project:focus-visible .project__visual > span,
.project:focus-visible .project__visual b,
.project:focus-visible .project__meta,
.project:focus-visible .project__meta b {
  color: var(--gold);
}

/* Let the four capabilities breathe while remaining together in one viewport. */
@media (min-width: 901px) {
  .services__list {
    display: grid;
    gap: clamp(.85rem, 1.8vh, 1.35rem);
    padding: clamp(.75rem, 1.5vh, 1.25rem) 0;
  }
  .services .service {
    min-height: clamp(8.25rem, 13vh, 10rem);
  }
}

/* Tighten the footer's upper breathing room so the centered mark sits higher. */
.footer {
  padding-top: 8vh;
}

/* Keep both hero actions inside the first mobile viewport. */
@media (max-width: 560px) {
  .hero__actions {
    position: absolute;
    z-index: 8;
    left: var(--pad);
    right: var(--pad);
    /* Leave the browser chrome clear while keeping the CTAs below the intro copy. */
    bottom: max(5rem, calc(env(safe-area-inset-bottom) + 3.75rem));
    display: flex !important;
    justify-content: stretch;
    opacity: 1;
    transform: none;
  }
  .hero__work,
  .hero__discover {
    display: inline-flex !important;
    flex: 1 1 0;
    justify-content: center;
  }
}

@media (max-width: 560px) {
  .world > .eyebrow {
    margin-left: 1.35rem;
  }
  .manifesto__lead h2 {
    max-width: none;
    font-size: 12vw;
  }
}


/* Keep the Team statement legible while its gold reveal initializes. */
.team__statement strong {
  color: rgba(255, 255, 255, .12);
}
.team__statement strong::after {
  will-change: clip-path;
  /* The font's upper curves extend past a tight line box, especially on phones. */
  clip-path: inset(-.16em calc(100% - var(--team-fill)) -.12em 0);
}

/* Closing contact treatment and a compact, centered footer mark. */
.contact-layout__intro h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400 !important;
  font-style: italic;
  letter-spacing: -.055em;
  line-height: .84;
}
.contact-layout__intro h2 em {
  color: var(--black);
  -webkit-text-stroke: 0;
  font-style: italic;
}

.footer__brand {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 7vh;
}
.footer__brand .brand-mark {
  width: clamp(8rem, 14vw, 13rem);
}
.footer__meta a { color: inherit; text-decoration: none; transition: color .2s ease; }
.footer__meta a:hover, .footer__meta a:focus-visible { color: var(--gold); }
.footer__meta a:focus-visible { outline: 1px solid var(--gold); outline-offset: 3px; }
.footer__meta { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.footer__meta p:nth-child(2) { grid-column: 2; text-align: center; }
.footer__meta p:last-child { grid-column: 3; justify-self: end; }
@media (max-width: 900px) {
  .footer__meta p:last-child { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 560px) {
  .footer__meta { grid-template-columns: 1fr; }
  .footer__meta p:nth-child(2) { grid-column: 1; justify-self: center; }
  .footer__meta p:last-child { grid-column: 1; }
}
.project__meta { display: block; }
.project__meta span:last-child { display: block; }

/* Intro progress line shares the same timing as the opening reveal. */
.intro__loader {
  position: absolute;
  left: 50%;
  top: 66%;
  width: min(28rem, 68vw);
  height: 3px;
  overflow: hidden;
  background: rgba(255, 255, 255, .16);
  transform: translateX(-50%);
}
.intro__loader i {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--gold);
  box-shadow: 0 0 .9rem rgba(252, 198, 48, .72);
  transform: scaleX(0);
  transform-origin: left;
  animation: introLoad 1.55s .08s cubic-bezier(.22, 1, .36, 1) forwards;
}
@keyframes introLoad {
  to { transform: scaleX(1); }
}

@media (max-width: 560px) {
  .footer__brand .brand-mark { width: clamp(7.5rem, 40vw, 10rem); }
  .intro__loader { top: 63%; width: min(18rem, 72vw); }

  .audience__chapter > span {
    margin-left: .9rem;
  }

  /* Separate the lead-in from the oversized two-line Team statement. */
  .team__statement > span {
    margin-bottom: .6rem;
    line-height: 1.1;
  }
  .team__statement strong {
    display: block;
    line-height: .94;
  }
}

/* Keep the hero actions concise and visually balanced as a pair. */
.hero__actions { gap: .7rem; }
.hero__work,
.hero__discover {
  justify-content: center;
  min-height: 3.05rem;
  padding: .78rem 1rem;
  border: 1px solid rgba(255, 255, 255, .36);
  font-weight: 400 !important;
  letter-spacing: .055em;
  white-space: nowrap;
  text-transform: uppercase !important;
  transition: border-color .3s ease, color .3s ease, background .3s ease;
}
.hero__discover:hover,
.hero__discover:focus-visible {
  border-color: var(--gold);
  background: rgba(252, 198, 48, .08);
  color: var(--gold);
}

@media (max-width: 560px) {
  .hero__actions { gap: .55rem; }
  .hero__discover { min-height: 2.65rem; padding: .65rem .72rem; font-size: .62rem; }
}

/* Keep the mobile CTAs in the hero grid, directly below the description. */
@media (max-width: 560px) {
  .hero__stage {
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    padding-bottom: max(2rem, calc(env(safe-area-inset-bottom) + 1.25rem));
  }
  .hero__copy {
    grid-column: 1;
    grid-row: 3;
    margin-bottom: 1.25rem;
  }
  .hero__actions {
    position: relative;
    grid-column: 1;
    grid-row: 4;
    align-self: end;
    justify-self: start;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    justify-content: flex-start;
    gap: .7rem;
  }
  .hero__work,
  .hero__discover {
    flex: 0 0 auto;
    min-height: 3.05rem;
    padding: .78rem 1rem;
  }
  .hero__work { font-size: .73rem; }
  .hero__discover { font-size: .77rem; }
}

/* Native language switcher: translation never relies on browser-injected UI. */
.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: .1rem;
  border: 1px solid rgba(255, 255, 255, .25);
  padding: .18rem;
}
.language-switcher button {
  border: 0;
  background: transparent;
  padding: .34rem .42rem;
  color: rgba(255, 255, 255, .55);
  font: inherit;
  font-size: .65rem;
  font-weight: 400;
  letter-spacing: .08em;
  cursor: pointer;
}
.language-switcher button[aria-pressed="true"] {
  background: var(--gold);
  color: var(--black);
}
.language-switcher--mobile { display: none; }

/* Footballers selected work: compressed pre-match photo slider. */
/* Club crests: compact, accessible image cards with an enlarged view. */
.club-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);padding-top:clamp(2rem,4vw,4rem)}
.club-card{display:flex;flex-direction:column;min-width:0;min-height:29rem;padding:1.2rem;border:1px solid var(--line);background:#0b0b0b;color:var(--white);font:inherit;text-align:left;cursor:pointer;transition:border-color .3s,background .3s,transform .3s}
.club-card:hover,.club-card:focus-visible{border-color:var(--gold);background:#111;transform:translateY(-.25rem)}
.club-card:focus-visible{outline:2px solid var(--gold);outline-offset:.3rem}
.club-card__number{color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.12em}
.club-card__image{display:grid;place-items:center;flex:1;padding:1.5rem;min-height:17rem}
.club-card__image img{display:block;max-width:100%;max-height:17rem;width:auto;height:auto;object-fit:contain;transition:transform .4s}
.club-card:hover img,.club-card:focus-visible img{transform:scale(1.045)}
.club-card__bottom{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.2rem}
.club-card__bottom strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,2.5vw,2.5rem);font-style:italic;font-weight:400;line-height:1}
.club-card:hover .club-card__bottom strong,.club-card:focus-visible .club-card__bottom strong{color:var(--gold)}
.club-card__bottom>span{flex:none;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.club-lightbox{box-sizing:border-box;width:min(92vw,68rem);max-width:92vw;max-height:92svh;margin:auto;padding:2.5rem 1.5rem 1.25rem;overflow:auto;border:1px solid var(--gold);background:#050505;color:var(--white);text-align:center}
.club-lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(.35rem)}
html.motion-full .club-lightbox,html.motion-full .club-lightbox::backdrop{cursor:default}
html.motion-full .club-lightbox__close{cursor:pointer}
.club-lightbox__close{position:absolute;right:.5rem;top:.5rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);background:#050505;color:var(--white);font-size:1.5rem;cursor:pointer}
.club-lightbox__close:hover,.club-lightbox__close:focus-visible{border-color:var(--gold);color:var(--gold)}
.club-lightbox img{display:block;width:auto;height:auto;max-width:100%;max-height:70svh;margin:auto;object-fit:contain}
.club-lightbox img[hidden]{display:none}
.club-lightbox p{margin:1rem 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,3vw,2.5rem);font-style:italic}
.club-lightbox p small{display:block;margin-top:.45rem;color:var(--gold);font-family:Arial,sans-serif;font-size:.72rem;font-style:normal;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:900px){.club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.club-grid{grid-template-columns:1fr}.club-card{min-height:24rem}.club-card__image{min-height:14rem}.club-card__image img{max-height:14rem}}

.case-study-gallery {
  max-width: 70rem;
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 6rem) 0 0;
  scroll-margin-top: 7rem;
}
.case-study-gallery__head {
  display: flex;
  align-items: baseline;
  gap: clamp(1rem, 3vw, 3rem);
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.case-study-gallery__head > span {
  color: var(--gold);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.case-study-gallery__head h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 6vw, 6rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
}
.photo-slider:focus-visible { outline: 2px solid var(--gold); outline-offset: .45rem; }
.photo-slider__frame {
  display: block;
  height: min(56svh, 31rem);
  min-height: 19rem;
  overflow: hidden;
  background: radial-gradient(circle at 50% 55%, #1b170c, #0b0b0b 63%);
  border: 1px solid rgba(255, 255, 255, .14);
  touch-action: pan-y;
}
.photo-slider__track {
  display: flex;
  width: 400%;
  height: 100%;
  will-change: transform;
}
.photo-slider__track img {
  display: block;
  flex: 0 0 25%;
  width: 25%;
  height: 100%;
  min-width: 0;
  object-fit: contain;
}
.photo-slider__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
}
.photo-slider__position {
  color: var(--gold);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .12em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.photo-slider__actions { display: flex; align-items: center; gap: .5rem; }
.photo-slider__actions button,
.photo-slider__actions select {
  min-height: 2.6rem;
  border: 1px solid var(--line);
  background: #0b0b0b;
  color: var(--white);
  font: inherit;
  cursor: pointer;
}
.photo-slider__actions button { min-width: 2.6rem; padding: .45rem .8rem; }
.photo-slider__actions select { min-width: 4rem; padding: .45rem; }
.photo-slider__actions label {
  color: var(--muted);
  font-size: .8rem;
  font-weight: 700;
}
.photo-slider__actions button:hover,
.photo-slider__actions button:focus-visible,
.photo-slider__actions select:hover,
.photo-slider__actions select:focus-visible { border-color: var(--gold); color: var(--gold); }
.photo-slider__actions button:focus-visible,
.photo-slider__actions select:focus-visible { outline: 2px solid var(--gold); outline-offset: .15rem; }
@media (min-width: 701px) {
  .photo-slider__track { width: 133.333333%; }
}
@media (max-width: 700px) {
  .case-study-gallery__head { gap: 1rem; }
  .case-study-gallery__head h2 { font-size: clamp(2.6rem, 10vw, 4rem); }
  .photo-slider__frame { height: min(52svh, 27rem); min-height: 17rem; }
  .photo-slider__controls { display: block; }
  .photo-slider__position { display: block; margin-bottom: .65rem; }
  .photo-slider__actions { justify-content: space-between; gap: .25rem; }
  .photo-slider__actions label { white-space: nowrap; }
}

/* The large PROCESS word is decorative and crowds the mobile process section. */
@media (max-width: 560px) {
  .process__ghost { display: none; }
}

@media (max-width: 900px) {
  .language-switcher--mobile { display: inline-flex; position: absolute; left: var(--pad); bottom: 5.6rem; }
}

/* A compact mark keeps the loading frame intentionally understated. */
.intro__logo { width: min(42vw, 25rem); }
@media (max-width: 560px) {
  .intro__logo { width: 62vw; }
}

/* Keep the Team statement cinematic without letting it crowd laptop layouts. */
@media (min-width: 901px) {
  .team__statement strong {
    font-size: clamp(5.2rem, 10.8vw, 11.5rem);
    letter-spacing: -.075em;
    line-height: .98;
  }
  .team__statement strong::after {
    /* Leave room for the font's tall glyphs during the gold fill reveal. */
    clip-path: inset(-.16em calc(100% - var(--team-fill)) -.12em 0);
  }
  .team__copy { max-width: min(33rem, 42vw); }
}

/* Keep the bridge statement and headline in separate visual lanes on desktop. */
@media (min-width: 561px) {
  .bridge__stage p {
    position: absolute;
    left: var(--pad);
    top: auto;
    bottom: clamp(19rem, 36vh, 24rem);
    z-index: 2;
    font-size: clamp(2rem, 3.65vw, 3.85rem);
  }
  .bridge__stage h2 {
    bottom: 3.5vh;
    font-size: clamp(4.5rem, 10vw, 10.5rem);
    line-height: .84;
  }
  .bridge__stage h2 span {
    /* Preserve the entrance, but bring the second line on screen sooner. */
    transform: translateX(calc((1 - var(--bridge-p, 0)) * 20vw));
  }
}

/* Editorial category pages from the supplied section outline. */
.case-studies { min-width: 0; }
.category-anchor-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0;
  margin: clamp(2.5rem, 6vw, 5rem) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.category-anchor-nav a {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
  padding: 1.3rem 1rem;
  color: var(--white);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .25s, color .25s;
}
.category-anchor-nav a + a { border-left: 1px solid var(--line); }
.category-anchor-nav a span,.category-anchor-nav a i { color: var(--gold); }
.category-anchor-nav a i { margin-left: auto; font-size: 1.1rem; font-style: normal; }
.category-anchor-nav a:hover,.category-anchor-nav a:focus-visible { background: var(--gold); color: var(--black); }
.category-anchor-nav a:hover span,.category-anchor-nav a:hover i,.category-anchor-nav a:focus-visible span,.category-anchor-nav a:focus-visible i { color: var(--black); }
.category-anchor-nav a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.category-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2rem, 4vw, 4rem); }
.category-section-head .eyebrow { margin: 0; white-space: nowrap; }
.category-section-head h2 { max-width: 18ch; margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.8rem, 5.7vw, 6rem); font-style: italic; font-weight: 400; line-height: 1.02; letter-spacing: -.05em; text-align: right; }
.player-intro,.player-metrics,.player-stories,.player-services,.player-work,.player-digital,.club-feature,.company-feature { scroll-margin-top: 7rem; }
.player-intro { padding: clamp(3rem, 7vh, 5.5rem) 0 0; }
.player-intro > .eyebrow { color: var(--gold); }
.player-intro h2 { max-width: 18ch; margin: 1.25rem 0 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.7rem, 5.2vw, 5.7rem); font-style: italic; font-weight: 400; line-height: 1.05; letter-spacing: -.05em; }
.player-intro .category-anchor-nav { margin-bottom: 0; }
.player-metrics { padding: clamp(3rem, 6vh, 5rem) 0; }
.player-metrics__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.player-metric { display: flex; flex-direction: column; justify-content: space-between; min-height: 8.5rem; padding: clamp(1rem, 2vw, 1.5rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.player-metric strong { color: var(--gold); font-size: clamp(2.4rem, 4.2vw, 4.25rem); font-weight: 800; line-height: 1; letter-spacing: -.075em; }
.player-metric span { color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.player-metrics > p { margin: 1.3rem 0 0; color: var(--muted); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.player-stories,.player-services,.player-work,.player-digital { padding: clamp(3.5rem, 7vh, 6rem) 0; border-top: 1px solid var(--line); }
.player-stories .category-section-head h2,.player-services .category-section-head h2,.player-work .category-section-head h2,.player-digital .category-section-head h2 { font-size: clamp(2.4rem, 4.5vw, 4.75rem); }
.player-stories__opening { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(2rem, 4vw, 4.5rem); margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.player-stories__opening .category-section-head { display: block; margin: 0; }
.player-stories__opening .category-section-head h2 { max-width: 10ch; margin-top: 1.25rem; text-align: left; }
.player-photo-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .55rem; min-width: 0; }
.player-photo-grid__item { position: relative; display: flex; flex-direction: column; justify-content: flex-end; grid-column: span 2; min-width: 0; width: 100%; aspect-ratio: 1.22; overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 0; background: linear-gradient(135deg,rgba(255,200,42,.07),transparent 48%),repeating-linear-gradient(135deg,transparent 0,transparent 18px,rgba(255,255,255,.025) 19px),#0d0d0d; cursor: pointer; text-align: left; transition: border-color .25s ease, transform .25s ease; }
.player-photo-grid__item:hover,.player-photo-grid__item:focus-visible,.player-photo-grid__item[aria-expanded="true"] { border-color: var(--gold); }
.player-photo-grid__item:hover,.player-photo-grid__item:focus-visible { transform: translateY(-3px); }
.player-photo-grid__item:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.player-photo-grid__item:nth-child(n+4) { grid-column: span 3; aspect-ratio: 1.65; }
.player-photo-grid__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.player-photo-grid__placeholder { position: absolute; top: .8rem; left: .8rem; color: rgba(255,200,42,.62); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.player-photo-grid__caption { position: relative; display: block; padding: 1rem .8rem .75rem; background: linear-gradient(transparent,rgba(0,0,0,.85)); color: var(--white); font-size: .7rem; font-weight: 800; letter-spacing: .04em; line-height: 1.25; text-transform: uppercase; }
.player-photo-grid__item:hover .player-photo-grid__caption,.player-photo-grid__item:focus-visible .player-photo-grid__caption,.player-photo-grid__item[aria-expanded="true"] .player-photo-grid__caption { color: var(--gold); }
.player-photo-grid__arrow { position: absolute; top: .7rem; right: .7rem; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border: 1px solid currentColor; color: var(--gold); font-size: .85rem; line-height: 1; }
.player-stories__grid { display: grid; grid-template-columns: 1fr; scroll-margin-top: 7rem; }
.player-stories__grid[hidden],.player-story[hidden] { display: none; }
.player-story { min-width: 0; padding: clamp(1.6rem, 2.5vw, 2.5rem) 0; border-top: 1px solid var(--line); }
.player-story > span,.player-service > span { color: var(--gold); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.player-story h3 { margin: 1rem 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2rem, 3.1vw, 3.3rem); font-style: italic; font-weight: 400; line-height: 1.08; letter-spacing: -.045em; }
.player-story p { max-width: 36rem; margin: 0; color: rgba(255,255,255,.68); font-size: clamp(.9rem, 1vw, 1rem); line-height: 1.6; }
.player-stories__closing { max-width: 48rem; margin: clamp(2.5rem, 5vw, 5rem) 0 0 auto; padding-left: 1.4rem; border-left: 3px solid var(--gold); font-size: clamp(1.1rem, 1.75vw, 1.7rem); line-height: 1.45; letter-spacing: -.03em; }
.player-services__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.player-service { display: grid; grid-template-columns: 3rem 1fr; align-items: baseline; gap: .5rem; min-width: 0; padding: 1.5rem 1rem 1.5rem 0; border-bottom: 1px solid var(--line); }
.player-service:nth-child(odd) { border-right: 1px solid var(--line); }
.player-service:nth-child(even) { padding-left: 2rem; }
.player-service h3 { margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.6rem, 2.65vw, 2.7rem); font-style: italic; font-weight: 400; line-height: 1.15; letter-spacing: -.04em; }
.case-study-gallery { border-top: 1px solid var(--line); }
.player-work__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }
.player-work__group { min-width: 0; border-top: 1px solid var(--gold); }
.player-work__group--previews { grid-column: 1 / -1; }
.player-work__group h3 { margin: 1.2rem 0 1.5rem; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.8rem, 2.6vw, 2.6rem); font-style: italic; font-weight: 400; }
.player-video-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.player-video-card { min-width: 0; border: 1px solid var(--line); background: #0d0d0d; }
.player-work__group .player-video-card__preview { position: relative; display: grid; place-items: center; align-content: center; justify-content: center; height: clamp(15rem, 23vw, 21rem); padding: 0; overflow: hidden; background: radial-gradient(circle at 50% 40%,rgba(255,200,42,.13),transparent 45%),#161616; }
.player-work__group .player-video-card__preview:hover,.player-work__group .player-video-card__preview:focus-visible { padding: 0; }
.player-video-card__preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; transition: transform .35s, opacity .35s; }
.player-video-card__preview img[hidden] { display: none; }
.player-video-card__preview--image img { object-fit: contain; opacity: 1; }
.player-video-card__preview.player-video-card__preview--image:hover img,.player-video-card__preview.player-video-card__preview--image:focus-visible img { transform: none; }
.player-video-card__play { position: relative; display: grid; place-items: center; width: 3.25rem; height: 3.25rem; padding-left: .15rem; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(0,0,0,.6); color: var(--white); font-size: 1.1rem; }
.player-video-card__preview:hover img,.player-video-card__preview:focus-visible img { transform: scale(1.05); opacity: 1; }
.player-video-card > a { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .85rem; color: var(--white); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.player-video-card > a span:last-child { color: var(--gold); }
.player-video-card > a:hover,.player-video-card > a:focus-visible { background: var(--gold); color: var(--black); }
.player-video-card > a:hover span:last-child,.player-video-card > a:focus-visible span:last-child { color: var(--black); }
.player-video-card > a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.player-work__group ul { margin: 0; padding: 0; list-style: none; }
.player-work__group li { border-top: 1px solid var(--line); }
.player-work__group a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem .25rem; color: var(--muted); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: color .25s, padding .25s; }
.player-work__group a:hover,.player-work__group a:focus-visible { color: var(--gold); padding-left: .7rem; }
.player-work__group a:focus-visible { outline: 2px solid var(--gold); }
.player-digital__names { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.player-digital__names > div { padding: clamp(2rem, 5vw, 5rem) 0; border-top: 1px solid var(--gold); }
.player-digital__names span { display: block; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3rem, 6vw, 6.5rem); font-style: italic; line-height: 1; letter-spacing: -.06em; }
.player-digital__names small { display: block; margin-top: 1rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.club-features,.company-features { border-top: 1px solid var(--line); }
.club-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: clamp(2rem, 6vw, 7rem); min-height: 33rem; padding: clamp(3rem, 7vh, 6rem) 0; border-bottom: 1px solid var(--line); }
.club-feature__copy h2 { max-width: 10ch; margin: 1.3rem 0 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3.3rem, 6.7vw, 7rem); font-style: italic; font-weight: 400; line-height: .98; letter-spacing: -.06em; }
.club-feature__title-button { display: inline; padding: 0; border: 0; background: none; color: var(--white); font: inherit; font-style: inherit; letter-spacing: inherit; line-height: inherit; text-align: left; cursor: pointer; transition: color .25s; }
.club-feature__title-button:hover,.club-feature__title-button:focus-visible,.club-feature.is-open .club-feature__title-button { color: var(--gold); }
.club-feature__title-button:focus-visible { outline: 2px solid var(--gold); outline-offset: .25rem; }
.club-feature__title-button span { display: inline-block; font-family: Arial,sans-serif; font-size: .28em; font-style: normal; vertical-align: top; }
.club-feature__copy p { margin: 1.8rem 0 0; color: var(--gold); font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.club-feature__image { display: grid; place-items: center; gap: 1.5rem; width: 100%; min-height: 27rem; padding: 2.5rem; border: 1px solid transparent; background: transparent; color: var(--gold); font: inherit; cursor: pointer; transition: border-color .3s; }
.club-feature__image:hover,.club-feature__image:focus-visible { border-color: var(--gold); }
.club-feature__image:focus-visible { outline: 2px solid var(--gold); outline-offset: .3rem; }
.club-feature__image img { display: block; width: auto; height: auto; max-width: min(100%, 18rem); max-height: 19rem; object-fit: contain; transition: transform .35s; }
.club-feature__image:hover img,.club-feature__image:focus-visible img { transform: scale(1.045); }
.club-feature__image span { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.club-feature__details { grid-column: 1 / -1; min-width: 0; padding-top: clamp(1rem, 2vw, 2rem); border-top: 1px solid var(--line); scroll-margin-top: 7rem; }
.club-feature__details[hidden] { display: none; }
.club-feature__overview { display: grid; grid-template-columns: minmax(11rem, .35fr) 1fr; gap: 2rem; align-items: start; padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.club-feature__overview p { max-width: 52rem; margin: 0; color: var(--white); font-size: clamp(1.05rem, 1.8vw, 1.5rem); line-height: 1.45; }
.club-feature__gallery { min-width: 0; }
.club-feature__gallery-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.club-feature__gallery-head > span:last-child { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.club-feature__gallery-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; overflow: hidden; }
.club-feature__gallery-grid[data-gallery-count="10"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.club-feature__gallery-item { position: relative; display: block; min-width: 0; width: 100%; aspect-ratio: 1; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: #111; color: var(--gold); cursor: pointer; }
.club-feature__gallery-item::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.82)); pointer-events: none; }
.club-feature__gallery-item:hover,.club-feature__gallery-item:focus-visible { z-index: 1; outline: 2px solid var(--gold); outline-offset: -2px; }
.club-feature__gallery-item img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.club-feature__gallery-item:hover img,.club-feature__gallery-item:focus-visible img { transform: scale(1.04); }
.club-feature__gallery-item--uncropped .club-feature__gallery-backdrop { filter: blur(1rem) brightness(.48); transform: scale(1.12); }
.club-feature__gallery-item--uncropped:hover .club-feature__gallery-backdrop,.club-feature__gallery-item--uncropped:focus-visible .club-feature__gallery-backdrop { transform: scale(1.12); }
.club-feature__gallery-item--uncropped .club-feature__gallery-artwork { object-fit: contain; }
.club-feature__gallery-number,.club-feature__gallery-caption { position: absolute; z-index: 1; display: block; font-weight: 800; letter-spacing: .08em; }
.club-feature__gallery-number { left: .65rem; top: .55rem; padding: .15rem .35rem; background: rgba(0,0,0,.72); font-size: .65rem; }
.club-feature__gallery-caption { left: .7rem; right: .7rem; bottom: .65rem; color: var(--white); font-size: .66rem; line-height: 1.25; text-align: left; text-transform: uppercase; }
.club-feature__gallery-item:hover .club-feature__gallery-caption,.club-feature__gallery-item:focus-visible .club-feature__gallery-caption { color: var(--gold); }
.club-feature__gallery-grid[data-gallery-count="18"] .club-feature__gallery-item:last-child,.club-feature__gallery-grid[data-gallery-count="10"] .club-feature__gallery-item:nth-last-child(2) { grid-column: span 3; aspect-ratio: 3; }
.company-feature { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; align-items: end; gap: 1.5rem; min-height: 23rem; padding: clamp(3rem, 6vw, 6rem) 0; overflow: hidden; border-bottom: 1px solid var(--line); }
.company-feature .eyebrow { grid-column: 1 / -1; color: var(--gold); }
.company-feature h2 { min-width: 0; margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(4.5rem, 10vw, 11rem); font-style: italic; font-weight: 400; line-height: 1; letter-spacing: -.075em; overflow-wrap: anywhere; }
.company-feature p { margin: 0 0 .5rem; color: var(--muted); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.company-feature__title-button { display: inline; padding: 0; border: 0; background: none; color: var(--white); font: inherit; letter-spacing: inherit; line-height: inherit; text-align: left; cursor: pointer; transition: color .25s; }
.company-feature__title-button:hover,.company-feature__title-button:focus-visible,.company-feature.is-open .company-feature__title-button { color: var(--gold); }
.company-feature__title-button:focus-visible { outline: 2px solid var(--gold); outline-offset: .25rem; }
.company-feature__title-button span { display: inline-block; color: var(--gold); font-size: .28em; vertical-align: top; }
.company-feature__preview { display: grid; gap: .9rem; width: clamp(10rem, 22vw, 16rem); padding: .7rem; border: 1px solid var(--line); background: #090909; color: var(--gold); font: inherit; text-align: left; cursor: pointer; transition: border-color .25s; }
.company-feature__preview:hover,.company-feature__preview:focus-visible { border-color: var(--gold); }
.company-feature__preview:focus-visible { outline: 2px solid var(--gold); outline-offset: .25rem; }
.company-feature__preview img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; }
.company-feature__preview span { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.company-feature__details { grid-column: 1 / -1; min-width: 0; margin-top: clamp(1rem, 3vw, 2rem); }
.company-feature__details[hidden] { display: none; }
.company-feature__overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); padding: clamp(2rem, 4vw, 3.5rem) 0; border-top: 1px solid var(--line); }
.company-feature__overview .eyebrow { display: block; margin-bottom: 1.25rem; }
.company-feature__overview p { max-width: 32rem; margin: 0; color: var(--white); font-size: clamp(1.15rem, 1.8vw, 1.6rem); font-weight: 400; line-height: 1.45; letter-spacing: -.025em; text-transform: none; white-space: normal; }
.company-feature__overview ul { display: grid; gap: .9rem; align-content: start; margin: 0; padding: 0; list-style: none; }
.company-feature__overview li { position: relative; padding: .9rem 0 .9rem 1.25rem; border-top: 1px solid var(--line); color: var(--muted); font-size: clamp(.8rem, 1vw, .95rem); line-height: 1.35; }
.company-feature__overview li::before { content: ""; position: absolute; left: 0; top: 1.25rem; width: .35rem; height: .35rem; border-radius: 50%; background: var(--gold); }
.company-feature__gallery-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 1rem 0 1.25rem; }
.company-feature__gallery-head > span:last-child { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.company-feature__gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.65rem, 1.4vw, 1.25rem); }
.company-feature__artwork { display: block; min-width: 0; padding: 0; border: 1px solid var(--line); background: #090909; color: var(--white); font: inherit; text-align: left; cursor: pointer; transition: border-color .25s ease; }
.company-feature__artwork:hover,.company-feature__artwork:focus-visible { border-color: var(--gold); }
.company-feature__artwork:focus-visible { outline: 2px solid var(--gold); outline-offset: .25rem; }
.company-feature__media { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: #090909; }
.company-feature__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.company-feature__media .company-feature__media-backdrop { object-fit: cover; filter: blur(1rem) brightness(.45); transform: scale(1.1); }
.company-feature__caption { display: flex; align-items: center; gap: .75rem; min-height: 3.5rem; padding: .85rem 1rem; font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.company-feature__artwork b,.company-feature__artwork i { color: var(--gold); font-style: normal; }
.company-feature__artwork i { margin-left: auto; font-size: 1.1rem; }
@media (max-width: 900px) {
  .player-work__groups { grid-template-columns: 1fr 1fr; }
  .player-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .club-feature { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .club-feature__image { min-height: 22rem; }
  .club-feature__gallery-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .company-feature__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .category-anchor-nav { grid-template-columns: 1fr 1fr; }
  .category-anchor-nav a { border-top: 1px solid var(--line); }
  .category-anchor-nav a + a { border-left: 0; }
  .category-anchor-nav a:nth-child(even) { border-left: 1px solid var(--line); }
  .category-section-head { display: block; }
  .category-section-head h2 { margin-top: 1rem; text-align: left; }
  .player-intro h2 { font-size: clamp(2.5rem, 8vw, 4.5rem); }
  .player-metrics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-metric { min-height: 9rem; }
  .player-stories__opening { grid-template-columns: 1fr; }
  .player-stories__opening .category-section-head h2 { max-width: none; }
  .player-stories__grid,.player-services__grid,.player-work__groups,.player-digital__names { grid-template-columns: 1fr; }
  .player-service,.player-service:nth-child(even) { padding-left: 0; }
  .player-service:nth-child(odd) { border-right: 0; }
  .club-feature { grid-template-columns: 1fr; min-height: 0; }
  .club-feature__image { min-height: 19rem; }
  .club-feature__overview { grid-template-columns: 1fr; gap: .8rem; }
  .club-feature__gallery-grid,.club-feature__gallery-grid[data-gallery-count="10"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .club-feature__gallery-grid[data-gallery-count="10"] .club-feature__gallery-item:nth-last-child(2) { grid-column: auto; aspect-ratio: 1; }
  .club-feature__gallery-grid[data-gallery-count="18"] .club-feature__gallery-item:last-child { grid-column: span 2; aspect-ratio: 2; }
  .club-feature__gallery-grid[data-gallery-count="25"] .club-feature__gallery-item:last-child { grid-column: span 2; aspect-ratio: 2; }
  .company-feature { grid-template-columns: 1fr; min-height: 19rem; }
  .company-feature p { white-space: normal; }
  .company-feature--featured h2 { font-size: clamp(2.3rem, 12vw, 4rem); overflow-wrap: normal; }
  .company-feature__preview { width: min(100%, 18rem); }
  .company-feature__overview { grid-template-columns: 1fr; }
  .company-feature__gallery { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
  .category-anchor-nav { grid-template-columns: 1fr; }
  .category-anchor-nav a:nth-child(even) { border-left: 0; }
  .player-metric { padding: 1rem; }
  .player-metric strong { font-size: clamp(2.4rem, 10vw, 3.5rem); }
  .player-metric span { font-size: .65rem; }
  .player-photo-grid { gap: .4rem; }
  .player-photo-grid__caption { padding: .85rem .55rem .55rem; font-size: .61rem; }
  .player-video-grid { grid-template-columns: 1fr; }
  .player-video-card__preview { height: 21rem; }
  .club-feature__image { padding: 1.5rem; }
  .club-feature__image img { max-height: 15rem; }
}

/* Selected work mirrors the image-free, scroll-driven perspective flare above. */
.project__visual {
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0/20% 100%,
    linear-gradient(180deg, #050505, #090909 54%, #020202);
}
.project--2 .project__visual,
.project--3 .project__visual,
.project--4 .project__visual { background: linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0/20% 100%, linear-gradient(180deg, #050505, #090909 54%, #020202); }
.project__visual::before {
  content: "";
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.2), rgba(255,255,255,.05) 68%, transparent);
}
.project__visual::after {
  z-index: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.45));
}
.project__flare {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  transform: translate3d(calc(var(--project-p, 0) * -12%), calc(var(--project-p, 0) * 11%), 0);
  will-change: transform;
  animation: projectFlareDrift var(--flare-duration, 9s) ease-in-out var(--flare-delay, 0s) infinite;
}
.project--1 { --flare-left: 77%; --flare-top: 41%; --flare-drift-x: -17%; --flare-drift-y: 18%; --flare-duration: 8.5s; }
.project--2 { --flare-left: 32%; --flare-top: 57%; --flare-drift-x: 21%; --flare-drift-y: -18%; --flare-duration: 10.5s; --flare-delay: -3s; --flare-turn: 24deg; }
.project--3 { --flare-left: 64%; --flare-top: 65%; --flare-drift-x: -23%; --flare-drift-y: -23%; --flare-duration: 9.5s; --flare-delay: -6s; --flare-turn: -18deg; }
.project--4 { --flare-left: 43%; --flare-top: 34%; --flare-drift-x: 24%; --flare-drift-y: 25%; --flare-duration: 11s; --flare-delay: -4s; --flare-turn: 38deg; }
@keyframes projectFlareDrift {
  0%, 100% { transform: translate3d(calc(var(--project-p, 0) * -12%), calc(var(--project-p, 0) * 11%), 0); }
  50% { transform: translate3d(calc(var(--project-p, 0) * -12% + var(--flare-drift-x)), calc(var(--project-p, 0) * 11% + var(--flare-drift-y)), 0); }
}
.project__flare::before,
.project__flare::after {
  content: "";
  position: absolute;
  left: var(--flare-left);
  top: var(--flare-top);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.project__flare::before {
  z-index: 2;
  width: clamp(.65rem, 1.2vw, 1rem);
  aspect-ratio: 1;
  background: #fff1b6;
  box-shadow: 0 0 0 .4rem rgba(252,198,48,.14), 0 0 1.8rem .5rem rgba(252,198,48,.72), 0 0 6rem 1.5rem rgba(252,198,48,.22);
  animation: projectFlarePulse 3.2s ease-in-out infinite alternate;
}
@keyframes projectFlarePulse {
  to { transform: translate(-50%, -50%) scale(1.28); box-shadow: 0 0 0 .6rem rgba(252,198,48,.2), 0 0 2.6rem .8rem rgba(252,198,48,.9), 0 0 7rem 2rem rgba(252,198,48,.32); }
}
.project__flare::after {
  width: min(70vw, 40rem);
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(252,198,48,.13), transparent 60%);
}
.project__flare em {
  position: absolute;
  left: var(--flare-left);
  top: var(--flare-top);
  width: max(105%, 35rem);
  height: 1px;
  transform-origin: left center;
  transform: rotate(calc(var(--flare-angle) + var(--flare-turn, 0deg)));
  background: linear-gradient(90deg, rgba(255,255,255,.19), rgba(255,255,255,.06) 60%, transparent);
}
.project__flare em:nth-child(1) { --flare-angle: 137deg; opacity: .3; }
.project__flare em:nth-child(2) { --flare-angle: 151deg; opacity: .8; }
.project__flare em:nth-child(3) { --flare-angle: 165deg; opacity: .28; }
.project__flare em:nth-child(4) { --flare-angle: 180deg; opacity: .62; }
.project__flare em:nth-child(5) { --flare-angle: 195deg; opacity: .3; }
.project__flare em:nth-child(6) { --flare-angle: 209deg; opacity: .75; }
.project__flare em:nth-child(7) { --flare-angle: 223deg; opacity: .27; }
.project__flare em:nth-child(2),
.project__flare em:nth-child(6) {
  height: 2px;
  background: linear-gradient(90deg, transparent 0 10%, rgba(252,198,48,.28) 11%, var(--gold) 42%, rgba(252,198,48,.22) 72%, transparent 92%);
  box-shadow: 0 0 1.4rem rgba(252,198,48,.18);
}
.project:hover .project__flare::before,
.project:focus-visible .project__flare::before { box-shadow: 0 0 0 .5rem rgba(252,198,48,.2), 0 0 2.2rem .7rem rgba(252,198,48,.85), 0 0 7rem 2rem rgba(252,198,48,.3); }
@media (max-width: 560px) {
  .project--1 { --flare-left: 77%; --flare-top: 43%; }
  .project--2 { --flare-left: 38%; --flare-top: 54%; }
  .project--3 { --flare-left: 69%; --flare-top: 59%; }
  .project--4 { --flare-left: 48%; --flare-top: 38%; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(.motion-full) .project__flare { animation: none; transform: none; }
  html:not(.motion-full) .project__flare::before { animation: none; }
}
html.motion-reduced .project__flare,
html.motion-reduced .project__flare::before { animation: none; }

/* Bellevue typography: Avant Garde Demi for display, Book for reading and UI. */
:is(h1, h2, h3, h4, h5, h6),
:is(.audience__visual b, .project__visual b, .team__statement strong,
    .process__steps strong, .manifesto__words span, .footer__brand > span,
    .player-metric strong, .player-digital__names span, .club-card__bottom strong,
    .bridge__stage p) {
  font-family: var(--heading-font) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}
:is(h1, h2, h3, h4, h5, h6) em,
.contact-layout__intro h2 em { font-style: normal !important; }
.club-lightbox p,
.club-lightbox p small,
.club-feature__title-button span { font-family: var(--display-font) !important; font-style: normal !important; }

/* Sans titles need a little more breathing room than the former italic serif. */
.audience__chapter h3,
.services .section-head h2,
.services .service h3,
.service-card h2,
.work .section-head h2,
.project__visual b,
.category-work__head h1,
.case-study h3,
.contact-layout__intro h2,
.case-study-gallery__head h2,
.category-section-head h2,
.player-intro h2,
.player-story h3,
.player-service h3,
.player-work__group h3,
.club-feature__copy h2,
.company-feature h2 {
  line-height: 1.03;
  letter-spacing: -.055em;
}
.audience__chapter h3 { font-size: clamp(2.9rem, 4.8vw, 5.8rem); }
.services .service h3 { font-size: clamp(1.7rem, 2.4vw, 3rem); }
.project__visual b { font-size: clamp(2.3rem, 4.5vw, 4.7rem); }
.contact-layout__intro h2 { font-size: clamp(4rem, 9vw, 10rem); }
.hero__title { line-height: 1.02; letter-spacing: -.065em; }

/* Keep the Spanish contact heading on two lines at the shared title size. */
@media (min-width: 901px) {
  html[lang="es"] .contact-layout__intro h2 {
    width: calc(100% + min(4.5rem, 5vw));
  }
}

/* Crop the tunnel walls on desktop so the stadium reaches both screen edges. */
@media (min-width: 901px) {
  .bridge__image {
    left: -38%;
    right: auto;
    width: 176%;
    object-position: center 54%;
    transform: scale(calc(1.06 - var(--bridge-p, 0) * .06));
  }
  .team__stage::before {
    background-size: 176% auto;
    background-position: center 54%;
    transform: scale(calc(1 + var(--team-p, 0) * .06));
  }
}

/* Echo the hero's black field and white/gold perspective rays in the mobile bridge only. */
.bridge__vectors { display: none; }
@media (max-width: 560px) {
  .bridge__stage {
    background:
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 25vw 100%,
      linear-gradient(180deg, #050505, #080808 58%, #020202);
  }
  .bridge__image { display: none; }
  .bridge__stage::after {
    background:
      radial-gradient(circle at 96% 39%, rgba(252,198,48,.12), transparent 35%),
      linear-gradient(180deg, transparent 0 62%, rgba(0,0,0,.4) 100%);
  }
  .bridge__vectors {
    --hero-p: 0;
    display: block;
    z-index: 0;
    opacity: calc(1 - var(--bridge-p, 0) * .3);
  }
  .bridge__stage p, .bridge__stage h2 { position: relative; z-index: 1; }
  .bridge__stage h2 { position: absolute; }
}
