@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#10110f;--text:#eeeae2;--muted:#b0afa7;--accent:#e7ee94}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{display:flex;justify-content:space-between;align-items:center;padding:30px 5vw;border-bottom:1px solid #ffffff20}.brand{font-size:16px;font-weight:700;letter-spacing:-.5px}nav{display:flex;gap:32px;font-size:13px}nav a:hover{color:var(--accent)}.wrap{margin:0 5vw}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.hero{min-height:650px;padding:88px 0 50px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:550px;height:550px;right:-220px;top:10px;background:radial-gradient(ellipse,#b7c57b22,transparent 65%);pointer-events:none}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-.055em}h1{font-size:clamp(54px,7.3vw,112px);line-height:1.04;margin:30px 0;max-width:1100px}h1 em{font-style:normal;color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:50px}.hero-bottom p{max-width:490px;font-size:18px;line-height:1.6;color:var(--muted)}.text-link{font-size:13px;border-bottom:1px solid #8e9280;padding:14px 0;display:inline-block}.text-link span{margin-left:35px}.section-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff30;padding:25px 0 35px}.section-head h2{font-size:32px;margin:0}.section-head p{font-size:12px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project{position:relative;min-height:350px;background:#1a201c;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:end}.project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.025)}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#070b09e8)}.project>*:not(img){z-index:1}.project h3{font-size:40px;margin:8px 0}.project p{margin:5px 0;color:#ddd;font-size:14px}.project .num{position:absolute;top:30px;left:34px;font-size:11px;letter-spacing:2px}.project .arrow{position:absolute;right:30px;bottom:40px;font-size:24px}.project.forza{grid-column:1/-1;min-height:480px}.project.halo{background:linear-gradient(135deg,#293832,#101a18)}.project.gears{background:linear-gradient(135deg,#38241e,#171310)}.pending{color:#b9b4aa!important;font-size:11px!important;margin-top:24px!important}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding:100px 0}.about h2{font-size:48px;line-height:1.1;margin:15px 0}.about p,.copy p{font-size:19px;line-height:1.7;color:var(--muted)}.facts{display:flex;gap:40px;margin-top:35px}.facts strong{display:block;font-size:35px;font-weight:500}.facts span{font-size:12px;color:var(--muted)}.contact{padding:70px 0;border-top:1px solid #ffffff30}.contact h2{font-size:clamp(40px,6vw,80px);margin:20px 0}footer{display:flex;justify-content:space-between;padding:25px 5vw;color:var(--muted);font-size:11px;border-top:1px solid #ffffff20}.case-hero{padding:55px 0 45px}.case-hero h1{font-size:clamp(50px,7vw,100px);margin-bottom:20px}.case-hero .intro{max-width:650px;color:var(--muted);font-size:20px;line-height:1.6}.meta{display:flex;gap:65px;margin:40px 0 0;font-size:13px}.meta small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;margin-bottom:8px}.film{margin:20px 0 70px}video{width:100%;display:block;background:#000;aspect-ratio:16/9}.caption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:16px 0}.story{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid #ffffff30;padding:55px 0}.story h2{font-size:35px;margin:0}.copy h3{font-size:36px;line-height:1.2;margin:0 0 20px}.copy p{margin:0 0 20px}.execution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:20px 0 70px}.execution-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}.execution-grid h3{font-size:22px;letter-spacing:-.03em}.execution-grid p{font-size:14px;line-height:1.6;color:var(--muted)}@media(max-width:700px){header{padding:24px 5vw}nav{gap:20px}.hero{min-height:580px;padding-top:65px}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.work-grid{grid-template-columns:1fr}.project.forza{min-height:330px}.project{min-height:270px}.project h3{font-size:32px}.about,.story{grid-template-columns:1fr;gap:25px;padding:55px 0}.about h2{font-size:38px}.about p,.copy p{font-size:17px}.meta{gap:25px;flex-wrap:wrap}.execution-grid{grid-template-columns:1fr}.section-head p{max-width:120px;text-align:right}.caption{gap:20px}footer{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.project.forza{aspect-ratio:16/9;min-height:0}.project.forza .num{left:auto;right:34px;background:#10110f99;padding:7px 10px}.project.forza:after{background:linear-gradient(transparent 55%,#070b09e8)}@media(max-width:700px){.project.forza{aspect-ratio:auto;padding:0 0 24px;background:#1a201c}.project.forza img{position:relative;aspect-ratio:16/9;object-fit:contain;height:auto}.project.forza:after{display:none}.project.forza .num{display:none}.project.forza h3{font-size:28px;margin:20px 20px 5px}.project.forza p{margin:0 20px;font-size:13px}.project.forza .arrow{right:20px;bottom:30px}}

.portfolio-intro{max-width:820px;font-size:clamp(24px,3vw,40px);line-height:1.4;color:var(--muted);letter-spacing:-.025em;margin:30px 0}.hero{min-height:570px}.hero h1{font-size:clamp(54px,8.5vw,128px)}@media(max-width:700px){.hero{min-height:530px}.hero-bottom{margin-top:35px}}

.franchise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.franchise-entry h3{display:flex;align-items:center;justify-content:space-between;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.035em;margin:0 0 18px}.franchise-entry h3 span{font-family:'DM Sans',sans-serif;font-size:20px;color:var(--muted)}.portrait{height:clamp(320px,42vw,560px);overflow:hidden;background:#171917}.portrait img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.franchise-entry:hover img{transform:scale(1.025)}.franchise-entry:hover h3 span{color:var(--accent)}.hero{min-height:0;padding:60px 0 55px}.hero h1{margin:18px 0}.portfolio-intro{margin:22px 0}.hero-bottom{margin-top:22px}.franchise-page{padding:55px 0}.franchise-page h1{margin:35px 0 20px}.campaign-list{margin:50px 0}.campaign-row{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding:28px 0;border-top:1px solid #ffffff30}.campaign-row img{width:100%;aspect-ratio:16/9;object-fit:cover}.campaign-row h2{font-size:36px}.campaign-row p,.franchise-page .description{font-size:18px;color:var(--muted);line-height:1.6;max-width:650px}.campaign-row .pending{font-size:13px!important}@media(max-width:700px){.franchise-grid{gap:10px}.franchise-entry h3{font-size:clamp(13px,3.7vw,24px);margin-bottom:12px}.franchise-entry h3 span{font-size:12px}.portrait{height:clamp(180px,48vw,330px)}.hero{padding:40px 0}.portfolio-intro{font-size:24px}.campaign-row{grid-template-columns:1fr;gap:12px}.campaign-row h2{font-size:28px}}

.franchise-grid .portrait{height:auto;aspect-ratio:3/4}.franchise-grid .portrait img{object-position:center top}.franchise-entry:hover img{transform:scale(1.015)}

.halo-campaigns{max-width:1120px;margin:45px auto 65px;display:grid;gap:60px}.halo-campaign h2{display:flex;justify-content:space-between;align-items:center;font-size:clamp(26px,3vw,40px);margin:0 0 20px}.halo-campaign h2 span{font-family:DM Sans,sans-serif;font-size:24px;color:var(--muted)}.halo-campaign img,.campaign-key-art{display:block;width:100%;height:auto}.halo-campaign a:hover h2 span{color:var(--accent)}.halo-campaign img{transition:filter .2s}.halo-campaign a:hover img{filter:brightness(1.06)}.campaign-detail{padding:55px 0 70px}.campaign-detail h1{font-size:clamp(38px,6vw,86px);margin:35px 0}.campaign-key-art{max-width:1280px}.campaign-coming{padding:45px 0}.campaign-coming h2{font-size:30px;margin:0 0 16px}.campaign-coming p{color:var(--muted);font-size:17px}@media(max-width:700px){.halo-campaigns{gap:35px;margin-top:30px}.halo-campaign h2{margin-bottom:14px}.campaign-detail,.franchise-page{padding-top:30px}}

.infinite-introduction{max-width:940px;padding:40px 0 48px}.infinite-introduction h1{margin:18px 0 28px;font-size:clamp(58px,8vw,110px)}.infinite-introduction p{font-size:clamp(17px,1.55vw,20px);line-height:1.75;color:var(--muted);margin:0}.infinite-introduction strong{font-weight:500;color:var(--text)}@media(max-width:700px){.infinite-introduction{padding:32px 0 36px}}

.archive-section{padding:55px 0 70px;border-top:1px solid #ffffff20;margin-top:55px}.archive-section h2{font-size:34px;margin:0 0 28px}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.archive-grid video{aspect-ratio:16/9;object-fit:contain}.archive-grid h3{font-size:23px;letter-spacing:-.025em;margin:16px 0 0}@media(max-width:700px){.archive-grid{grid-template-columns:1fr;gap:32px}.archive-section{padding:35px 0;margin-top:35px}}

.infinite-introduction p+p{margin-top:22px}.hw2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.hw2-grid{grid-template-columns:1fr}}

.hero-film-caption h3{font-size:23px;letter-spacing:-.025em;margin:16px 0 0}.hero-film-caption p{font-size:16px;line-height:1.7;color:var(--muted);max-width:850px;margin:14px 0 0}

.campaign-embed{width:100%;aspect-ratio:16/9;display:block;border:0;background:#000}

.youtube-poster{display:block;width:100%;aspect-ratio:16/9;position:relative;border:0;padding:0;background:#000;cursor:pointer;overflow:hidden}.youtube-poster img{display:block;width:100%;height:100%;object-fit:cover}.youtube-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:48px;border-radius:12px;background:#000b;color:#fff;font-size:24px}.youtube-poster:hover .youtube-play,.youtube-poster:focus-visible .youtube-play{background:#e62117}

.gears-introduction h1{font-size:clamp(32px,4.4vw,60px);margin:0 0 14px;letter-spacing:-.035em}.gears-introduction .gears-theme{font-size:clamp(44px,6.3vw,84px);font-weight:400;line-height:1.08;letter-spacing:-.045em;color:var(--text);margin:0 0 34px}

.stream-poster{width:100%;display:block;aspect-ratio:16/9}.stream-poster img{width:100%;height:100%;object-fit:contain}.campaign-embed{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}
