:root {
  --red: #c90808;
  --red-dark: #9f0505;
  --ink: #101010;
  --muted: #686868;
  --paper: #f7f6f4;
  --line: #d9d7d4;
  --shell: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Manrope", Arial, sans-serif; font-size: 16px; line-height: 1.6; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.shell { width: var(--shell); margin: 0 auto; }
.skip-link { position: fixed; z-index: 100; top: -50px; left: 16px; padding: 10px 14px; background: #fff; color: #000; transition: top .2s; }
.skip-link:focus { top: 16px; }
.eyebrow { margin: 0 0 16px; color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow.light { color: #fff; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: "Barlow Condensed", Impact, sans-serif; font-weight: 700; letter-spacing: -.035em; line-height: .94; text-transform: uppercase; }
h1 { max-width: 800px; margin-bottom: 24px; color: #fff; font-size: clamp(57px, 8.3vw, 122px); }
h2 { margin-bottom: 22px; font-size: clamp(43px, 5.2vw, 78px); }
h3 { margin-bottom: 8px; font-size: clamp(28px, 3.1vw, 43px); }
h1 em, h2 em { color: var(--red); font-style: normal; }
.hero h1 em, .framework-section h2 em, .work-preview h2 em, .final-cta h2 em { color: #fff; }
.section { padding: 136px 0; }
.text-link { display: inline-flex; gap: 12px; align-items: center; border-bottom: 1px solid currentColor; padding-bottom: 5px; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.text-link span { color: var(--red); font-size: 18px; }
.text-link.light { color: #fff; }
.text-link.light span { color: #fff; }
.button { display: inline-flex; align-items: center; gap: 18px; justify-content: center; min-height: 51px; padding: 12px 20px; border: 1px solid transparent; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; transition: transform .2s, background-color .2s, border-color .2s; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: var(--red); color: #fff; }
.button-primary:hover { background: #e10c0c; }
.button-outline { border-color: rgba(255,255,255,.65); color: #fff; }
.button-outline:hover { background: #fff; color: #000; }

.site-header { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; color: #fff; transition: background-color .25s, box-shadow .25s; }
.site-header.is-scrolled { position: fixed; background: rgba(13,13,13,.96); box-shadow: 0 4px 25px rgba(0,0,0,.18); }
.header-inner { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 32px; }
.brand-mark { width: 137px; flex: 0 0 auto; }
.brand-mark img { width: 100%; height: auto; }
.site-nav { display: flex; align-items: center; gap: 26px; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.site-nav > a:not(.nav-cta) { opacity: .78; transition: opacity .2s; }
.site-nav > a:hover, .site-nav > a.is-active { opacity: 1; }
.nav-cta { margin-left: 9px; background: var(--red); padding: 11px 15px; color: #fff; }
.nav-cta span { font-size: 17px; vertical-align: -1px; }
.menu-toggle { display: none; padding: 8px 0; border: 0; background: transparent; color: #fff; }
.menu-toggle span { display: block; width: 28px; height: 2px; margin: 5px 0; background: currentColor; }

.hero { position: relative; min-height: 790px; min-height: min(850px, 100svh); overflow: hidden; background: #0a0a0a; color: #fff; }
.hero-media { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,4,4,.93) 5%, rgba(4,4,4,.68) 51%, rgba(4,4,4,.37) 100%), url("../images/production-studio.jpg") center/cover; transform: scale(1.025); }
.hero-grid { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px); background-size: min(10vw, 128px) min(10vw, 128px); mask-image: linear-gradient(to bottom, #000, transparent 89%); }
.hero::after { position: absolute; right: clamp(24px, 8vw, 148px); bottom: 0; width: clamp(34px, 4.2vw, 66px); height: clamp(34px, 4.2vw, 66px); background: var(--red); content: ""; }
.hero-content { position: relative; z-index: 1; padding-top: clamp(190px, 29vh, 282px); }
.hero-copy { max-width: 550px; margin-bottom: 35px; color: #e9e9e9; font-size: clamp(15px, 1.7vw, 19px); }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }
.hero-footer { position: absolute; z-index: 1; bottom: 29px; left: 50%; display: flex; width: var(--shell); justify-content: space-between; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; transform: translateX(-50%); }

.split-intro { display: grid; grid-template-columns: 1.03fr .97fr; gap: 11vw; align-items: end; }
.section-heading h2 { margin-bottom: 0; }
.intro-copy { max-width: 470px; padding-bottom: 3px; }
.intro-copy p:not(.lead) { color: var(--muted); }
.lead { font-size: 22px; font-weight: 600; line-height: 1.5; }
.intro-copy .text-link { margin-top: 15px; }

.gap-section { overflow: hidden; padding-top: 84px; background: #fff; }
.gap-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 9vw; align-items: center; }
.image-frame { position: relative; overflow: hidden; }
.image-frame img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); }
.image-frame.portrait { min-height: 580px; }
.corner { position: absolute; width: 42px; height: 42px; }
.corner-red { right: -1px; top: 38px; background: var(--red); }
.gap-copy { max-width: 615px; }
.gap-copy > p:not(.eyebrow) { max-width: 540px; color: var(--muted); }
.statement-list { margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.statement-list li { display: grid; grid-template-columns: 45px 1fr; gap: 10px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; }
.statement-list span { color: var(--red); font-size: 10px; letter-spacing: .05em; }

.framework-section { position: relative; overflow: hidden; background: var(--red); color: #fff; }
.framework-section::after { position: absolute; right: -9vw; top: -15vw; width: 46vw; height: 46vw; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; content: ""; }
.framework-top { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: end; }
.framework-top h2 { grid-column: 1; margin-bottom: 0; }
.framework-top p:last-child { max-width: 420px; margin-bottom: 7px; font-size: 16px; }
.framework-steps { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); margin: 80px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.55); list-style: none; }
.framework-steps li { min-height: 242px; padding: 25px 22px 15px 0; border-right: 1px solid rgba(255,255,255,.55); }
.framework-steps li + li { padding-left: 22px; }
.framework-steps li:last-child { border-right: 0; }
.framework-steps span { display: block; margin-bottom: 43px; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.framework-steps strong { display: block; margin-bottom: 9px; font-family: "Barlow Condensed", sans-serif; font-size: 39px; letter-spacing: -.02em; line-height: 1; text-transform: uppercase; }
.framework-steps p { margin-bottom: 0; color: rgba(255,255,255,.84); font-size: 13px; }

.section-title-row { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.section-title-row h2 { margin-bottom: 0; }
.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.capability-card { position: relative; min-height: 407px; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #161616; color: #fff; }
.capability-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; transition: transform .45s, opacity .45s; }
.capability-card::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.08)); content: ""; }
.capability-card:hover img { opacity: .76; transform: scale(1.06); }
.capability-card > div { position: absolute; z-index: 1; right: 24px; bottom: 23px; left: 24px; }
.capability-card span { color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.capability-card h3 { margin: 17px 0 10px; }
.capability-card p { margin-bottom: 0; color: #d5d5d5; font-size: 12px; line-height: 1.5; }

.work-preview { background: #111; color: #fff; }
.work-top { display: grid; grid-template-columns: 1.1fr .9fr; gap: 42px; align-items: end; margin-bottom: 50px; }
.work-top h2 { margin-bottom: 0; }
.work-top .button { justify-self: end; }
.work-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; }
.work-card { position: relative; min-height: 300px; overflow: hidden; background: #222; }
.work-card-tall { grid-row: span 2; min-height: 622px; }
.work-card img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .35s, transform .5s; }
.work-card::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.05) 72%); content: ""; }
.work-card:hover img { filter: grayscale(0); transform: scale(1.035); }
.work-card-content { position: absolute; z-index: 1; right: 25px; bottom: 22px; left: 25px; }
.work-card-content span { color: #ff5d5d; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.work-card-content h3 { margin: 12px 0 13px; font-size: clamp(32px, 3.2vw, 48px); }
.work-card-content a { font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.impact-grid { display: grid; grid-template-columns: 1.25fr .6fr .6fr; gap: 4vw; align-items: end; }
.impact-copy { max-width: 520px; }
.impact-copy h2 { margin-bottom: 17px; }
.impact-copy > p:last-child { color: var(--muted); }
.impact-stat { min-height: 214px; border-top: 4px solid var(--red); padding-top: 18px; }
.impact-stat strong { display: block; margin-bottom: 12px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(38px, 4vw, 59px); font-weight: 700; letter-spacing: -.03em; line-height: .95; text-transform: uppercase; }
.impact-stat span { color: var(--muted); font-size: 12px; line-height: 1.55; }

.trusted-section { padding: 72px 0; background: #fff; }
.trusted-layout { display: grid; grid-template-columns: .33fr .67fr; gap: 7vw; align-items: center; }
.trusted-layout h2 { margin-bottom: 0; font-size: clamp(40px, 4vw, 61px); }
.trusted-layout img { width: 100%; border: 1px solid #eee; }

.final-cta { position: relative; overflow: hidden; min-height: 610px; background: #880202; color: #fff; }
.cta-media { position: absolute; inset: 0 0 0 45%; background: linear-gradient(90deg, #880202 0%, rgba(136,2,2,.06) 48%, rgba(0,0,0,.1)), url("../images/growth-partnership.jpg") center/cover; }
.cta-content { position: relative; z-index: 1; max-width: 620px; }
.cta-content h2 { margin-bottom: 24px; }
.cta-content > p:not(.eyebrow) { max-width: 430px; margin-bottom: 32px; color: rgba(255,255,255,.86); }

.site-footer { padding-top: 84px; background: #111; color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.55fr .65fr .85fr; gap: 6vw; padding-bottom: 65px; }
.footer-logo { width: 154px; margin-bottom: 19px; }
.footer-grid > div:first-child p { max-width: 375px; color: #bdbdbd; font-size: 13px; }
.footer-label { margin-bottom: 15px; color: #ff6666; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer-grid a:not(.brand-mark) { display: block; width: fit-content; margin-bottom: 9px; color: #e4e4e4; font-size: 13px; }
.footer-grid a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid #363636; padding: 18px 0 24px; color: #8f8f8f; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* Inner pages */
.page-hero { position: relative; min-height: 450px; overflow: hidden; padding: 190px 0 78px; background: #111; color: #fff; }
.page-hero::after { position: absolute; top: 0; right: 9vw; width: 66px; height: 66px; background: var(--red); content: ""; }
.page-hero .shell { position: relative; z-index: 1; }
.page-hero h1 { margin-bottom: 0; font-size: clamp(54px, 7.2vw, 103px); }
.page-hero p:not(.eyebrow) { max-width: 590px; margin: 21px 0 0; color: #d2d2d2; font-size: 16px; }
.page-hero.services-hero { background: linear-gradient(90deg, rgba(7,7,7,.93), rgba(7,7,7,.5)), url("../images/camera-lens.jpg") center 43%/cover; }
.page-hero.work-hero { background: linear-gradient(90deg, rgba(7,7,7,.94), rgba(7,7,7,.5)), url("../images/event-audience.jpg") center/cover; }
.page-hero.about-hero { background: linear-gradient(90deg, rgba(7,7,7,.94), rgba(7,7,7,.38)), url("../images/brand-cover.jpg") center/cover; }
.page-hero.contact-hero { background: linear-gradient(90deg, rgba(7,7,7,.94), rgba(7,7,7,.35)), url("../images/growth-partnership.jpg") center/cover; }
.breadcrumb { display: flex; gap: 8px; margin: 0 0 31px; color: #d4d4d4; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.breadcrumb span { color: #ff7373; }
.service-detail { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; padding: 100px 0; border-top: 1px solid var(--line); }
.service-detail:first-child { border-top: 0; padding-top: 0; }
.service-detail h2 { margin: 0; font-size: clamp(42px, 4.5vw, 66px); }
.service-detail .detail-content { max-width: 615px; }
.service-detail .detail-content > p { color: var(--muted); font-size: 17px; }
.service-detail ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin: 28px 0 0; padding: 0; list-style: none; }
.service-detail li { border-bottom: 1px solid var(--line); padding: 13px 0; font-size: 13px; font-weight: 700; }
.service-detail li::before { margin-right: 9px; color: var(--red); content: "+"; }
.service-highlight { margin-top: 37px; border-left: 4px solid var(--red); padding: 7px 0 7px 17px; font-family: "Barlow Condensed", sans-serif; font-size: 27px; font-weight: 700; line-height: 1.05; text-transform: uppercase; }
.image-band { position: relative; min-height: 390px; overflow: hidden; }
.image-band img { width: 100%; height: 100%; object-fit: cover; }
.image-band::after { position: absolute; top: 0; bottom: 0; left: 0; width: 16%; background: var(--red); content: ""; }

.portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.portfolio-item { position: relative; min-height: 480px; overflow: hidden; background: #151515; color: #fff; }
.portfolio-item img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform .4s, filter .4s; }
.portfolio-item:hover img { filter: grayscale(0); transform: scale(1.04); }
.portfolio-item::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.87), transparent 70%); content: ""; }
.portfolio-item > div { position: absolute; z-index: 1; right: 28px; bottom: 26px; left: 28px; }
.portfolio-item small { display: block; margin-bottom: 12px; color: #ff7777; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.portfolio-item h2 { margin: 0; font-size: clamp(38px, 4.4vw, 67px); }
.portfolio-caption { max-width: 620px; margin: 0 auto 74px; text-align: center; color: var(--muted); font-size: 16px; }
.case-framework { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-framework div { min-height: 150px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 16px; }
.case-framework span { display: block; margin-bottom: 19px; color: var(--red); font-size: 10px; font-weight: 800; }
.case-framework strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 25px; line-height: 1; text-transform: uppercase; }

.about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.about-image { position: relative; min-height: 515px; overflow: hidden; background: #111; }
.about-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.about-image::after { position: absolute; right: 0; bottom: 0; width: 83px; height: 83px; background: var(--red); content: ""; }
.about-copy .lead { max-width: 490px; }
.industry-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; margin: 31px 0 0; padding: 0; list-style: none; }
.industry-list li { border-top: 1px solid var(--line); padding: 14px 0; font-size: 13px; font-weight: 700; }
.leadership-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.leader { border-top: 4px solid var(--red); padding: 25px 0; }
.leader span { display: block; margin-bottom: 26px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.leader h3 { margin-bottom: 11px; font-size: 37px; }
.leader p { margin: 0; color: var(--muted); font-size: 13px; }
.affiliations img { width: 100%; border: 1px solid #eee; }

.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; }
.contact-details > p:not(.eyebrow) { max-width: 370px; color: var(--muted); }
.contact-lines { margin: 34px 0 0; padding: 0; list-style: none; }
.contact-lines li { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.contact-lines span { display: block; margin-bottom: 4px; color: var(--red); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 35px; background: #fff; }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { color: #555; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.form-field input, .form-field select, .form-field textarea { width: 100%; border: 0; border-bottom: 1px solid #bdbdbd; border-radius: 0; padding: 10px 0; background: transparent; outline: 0; color: #111; }
.form-field textarea { min-height: 112px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--red); }
.contact-form .button { justify-self: start; margin-top: 5px; border: 0; }
.form-note { grid-column: 1 / -1; margin: 0; color: #777; font-size: 11px; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  :root { --shell: min(100% - 40px, 680px); }
  .site-header { background: rgba(11,11,11,.86); }
  .header-inner { min-height: 73px; }
  .brand-mark { width: 125px; }
  .menu-toggle { display: block; position: relative; z-index: 3; }
  .site-nav { position: absolute; top: 0; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 94px 20px 20px; background: #111; }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 14px 0; border-bottom: 1px solid #303030; }
  .site-nav .nav-cta { margin: 18px 0 0; border-bottom: 0; padding: 13px 15px; text-align: center; }
  .hero { min-height: 700px; }
  .hero-content { padding-top: 185px; }
  .hero-footer { display: none; }
  .section { padding: 88px 0; }
  .split-intro, .gap-layout, .impact-grid, .trusted-layout, .contact-layout { grid-template-columns: 1fr; gap: 42px; }
  .gap-section { padding-top: 60px; }
  .image-frame.portrait { min-height: 390px; }
  .framework-top { grid-template-columns: 1fr; gap: 15px; }
  .framework-top p:last-child { grid-column: 1; }
  .framework-steps { grid-template-columns: repeat(2, 1fr); margin-top: 55px; }
  .framework-steps li:nth-child(2) { border-right: 0; }
  .framework-steps li:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.55); }
  .framework-steps li:nth-child(3) { padding-left: 0; }
  .capability-grid { grid-template-columns: repeat(2, 1fr); }
  .capability-card { min-height: 355px; }
  .work-top { grid-template-columns: 1fr; }
  .work-top .button { justify-self: start; }
  .work-grid { grid-template-columns: 1fr; }
  .work-card, .work-card-tall { min-height: 420px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr; gap: 40px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .page-hero { min-height: 405px; padding-top: 157px; }
  .service-detail { grid-template-columns: 1fr; gap: 32px; padding: 65px 0; }
  .about-layout { grid-template-columns: 1fr; gap: 42px; }
  .about-image { min-height: 420px; }
  .leadership-grid { grid-template-columns: 1fr; gap: 0; }
  .case-framework { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 560px) {
  :root { --shell: calc(100% - 32px); }
  h1 { font-size: clamp(54px, 16vw, 75px); }
  h2 { font-size: clamp(43px, 12vw, 62px); }
  .hero { min-height: 655px; }
  .hero-media { background-position: 60% center; }
  .hero-copy { font-size: 15px; }
  .button-row { align-items: flex-start; flex-direction: column; gap: 20px; }
  .section-title-row { align-items: flex-start; flex-direction: column; gap: 15px; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 340px; }
  .framework-steps { grid-template-columns: 1fr; }
  .framework-steps li, .framework-steps li + li { min-height: auto; border-right: 0; border-top: 1px solid rgba(255,255,255,.55); padding: 22px 0; }
  .framework-steps li:first-child { border-top: 0; }
  .framework-steps span { margin-bottom: 20px; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-item { min-height: 400px; }
  .case-framework { grid-template-columns: repeat(2, 1fr); }
  .service-detail ul, .industry-list { grid-template-columns: 1fr; }
  .contact-form { grid-template-columns: 1fr; padding: 25px; }
  .form-field.full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
  .cta-media { opacity: .47; inset: 0; }
  .final-cta { min-height: 535px; }
}

/* Corrections & new pages */
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.site-header :focus-visible,.site-footer :focus-visible,.hero :focus-visible,.page-hero :focus-visible{outline-color:#fff}
.eyebrow{font-size:11px}.hero-footer{font-size:10px}.footer-bottom{font-size:10px}
.site-nav{gap:18px;font-size:10.5px}.nav-cta{margin-left:4px}
@media(max-width:1180px){.menu-toggle{display:block;position:relative;z-index:3}.site-header{background:rgba(11,11,11,.9)}.header-inner{min-height:73px}.brand-mark{width:125px}.site-nav{position:absolute;top:0;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:94px 20px 20px;background:#111;font-size:12px}.site-nav.is-open{display:flex}.site-nav a{padding:14px 0;border-bottom:1px solid #303030}.site-nav .nav-cta{margin:18px 0 0;border-bottom:0;padding:13px 15px;text-align:center}}
.site-nav a.is-active{opacity:1}
.footer-grid{grid-template-columns:1.3fr .7fr 1fr}.footer-grid address{margin-top:10px;color:#bdbdbd;font-size:13px;font-style:normal;line-height:1.6}
.client-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.client-group{border-top:1px solid var(--line);padding:26px 0 34px}
.client-group:nth-child(n+3){}
.client-group h3{margin:0 0 20px;font-family:"Manrope",sans-serif;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}
.client-group ul{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin:0;padding:0;list-style:none}
.client-group li img{height:64px;width:auto;max-width:170px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.78;transition:filter .3s,opacity .3s}
.client-group li:hover img{filter:none;opacity:1}
.clients-note{max-width:340px;margin:0;color:var(--muted);font-size:14px}
.trusted-section{padding:96px 0}
.impact-two{grid-template-columns:1.1fr .9fr;align-items:center}.impact-two .text-link{margin-top:22px}
.process-step{display:grid;grid-template-columns:90px .8fr 1.2fr;gap:5vw;align-items:start;padding:54px 0;border-top:1px solid var(--line)}
.process-step:last-child{border-bottom:1px solid var(--line)}
.process-step span{color:var(--red);font-size:12px;font-weight:800;letter-spacing:.08em;padding-top:12px}
.process-step h2{margin:0;font-size:clamp(46px,5.4vw,82px)}
.process-step p{max-width:470px;margin:6px 0 0;color:var(--muted);font-size:18px}
.industry-rows{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.industry-rows li{display:grid;grid-template-columns:90px 1fr;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .25s}
.industry-rows li:hover{padding-left:14px}
.industry-rows span{color:var(--red);font-size:12px;font-weight:800}
.industry-rows strong{font-family:"Barlow Condensed",sans-serif;font-size:clamp(36px,5vw,72px);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase}
.industry-close{max-width:560px;margin:56px 0 0;font-size:20px;font-weight:600;line-height:1.5}
.leader-name{font-size:clamp(37px,4vw,52px)}.leadership-grid .leader h2{margin-bottom:11px}
.page-hero.process-hero{background:linear-gradient(90deg,rgba(7,7,7,.94),rgba(7,7,7,.45)),url("../images/production-studio.jpg") center/cover}
.page-hero.industries-hero{background:linear-gradient(90deg,rgba(7,7,7,.94),rgba(7,7,7,.45)),url("../images/market-gap-meeting.jpg") center/cover}
.page-hero.leadership-hero{background:linear-gradient(90deg,rgba(7,7,7,.94),rgba(7,7,7,.4)),url("../images/influencer-team.jpg") center/cover}
.affil-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.affil-grid h3{margin:0 0 18px;font-family:"Manrope",sans-serif;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}
.affil-grid ul{margin:0;padding:0;list-style:none}.affil-grid li{border-top:1px solid var(--line);padding:13px 0;font-size:14px;font-weight:700}
.explore-more .button-row{gap:34px}
.error-hero{min-height:100svh}.error-hero .hero-media{opacity:.55}.error-hero .hero-content{padding-top:clamp(150px,26vh,260px)}
@media(max-width:900px){.client-groups,.affil-grid{grid-template-columns:1fr;gap:0}.affil-grid>div+div{margin-top:40px}.process-step{grid-template-columns:50px 1fr;gap:16px;padding:38px 0}.process-step p{grid-column:2}.impact-two{grid-template-columns:1fr}.industry-rows li{grid-template-columns:50px 1fr}.trusted-section{padding:64px 0}}
@media(max-width:560px){.client-group li img{height:46px;max-width:120px}.client-group ul{gap:12px 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media(max-width:560px){.process-step{grid-template-columns:1fr;gap:6px}.process-step p{grid-column:auto}.process-step h2{font-size:clamp(38px,11.5vw,52px);overflow-wrap:anywhere}.industry-rows li{grid-template-columns:1fr;gap:6px}.industry-rows strong{font-size:clamp(32px,10vw,46px);overflow-wrap:anywhere}.case-framework div{min-width:0;padding:14px 12px}.case-framework strong{font-size:21px;overflow-wrap:anywhere}}

/* v3 fixes */
.brand-mark img,.footer-logo{height:auto}.footer-logo{width:154px}
.statement-list li{display:block}
.process-step{grid-template-columns:.8fr 1.2fr}
.industry-rows li{display:block}
@media(max-width:900px){.process-step{grid-template-columns:1fr;gap:6px}.process-step p{grid-column:auto}}
