@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wdth,wght@75..100,400..700&display=swap');

:root { --aim-paper: #e9e6df; --aim-ink: #171717; --aim-muted: #68645d; --aim-line: rgb(23 23 23 / 25%); --aim-sans: 'Instrument Sans', 'Roboto', sans-serif; }
html { scroll-behavior: smooth; scroll-padding-top: 8rem; }
html.aim-document, html.aim-document body { background: var(--aim-paper); }
html.aim-document body { opacity: 1; font-family: var(--aim-sans); }
.aim-page { overflow: hidden; background: var(--aim-paper); color: var(--aim-ink); }
.aim-header { position: absolute; z-index: 400; inset: 0 0 auto; height: 9rem; padding: 0 clamp(2rem, 4vw, 7rem); display: flex; align-items: center; justify-content: space-between; color: #fff; }
.aim-header__brand { position: relative; z-index: 2; color: #fff; font-size: 2.3rem; font-weight: 500; letter-spacing: -.04em; }
.aim-header__nav { display: flex; align-items: center; gap: clamp(1.8rem, 3vw, 4rem); }
.aim-header__nav a { color: #fff; font-size: 1.05rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.aim-header__nav a:last-child { padding: 1.2rem 1.5rem; border: 1px solid rgb(255 255 255 / 65%); }
.aim-header__toggle { display: none; background: none; color: #fff; font: inherit; font-size: 1.1rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.aim-kicker { margin: 0; font-size: 1rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.aim-hero { position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden; isolation: isolate; padding: 11rem clamp(2rem, 4vw, 7rem) clamp(3rem, 5vw, 7rem); display: flex; flex-direction: column; background: #24211f; color: #fff; }
.aim-hero__video, .aim-hero__shade { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.aim-hero__video { object-fit: cover; object-position: center; }
.aim-hero__shade { z-index: -1; background: linear-gradient(180deg, rgb(0 0 0 / 42%), rgb(0 0 0 / 8%) 38%, rgb(0 0 0 / 62%)); }
.aim-hero__top { display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; }
.aim-hero__top p { margin: 0; font-size: 1rem; font-weight: 600; letter-spacing: .14em; }
.aim-hero__body { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.aim-hero h1 { margin: 0; font-size: clamp(4rem, 6vw, 8rem); font-weight: 700; line-height: 1; letter-spacing: -.045em; }
.aim-hero__copy { align-self: flex-end; width: min(100%, 64rem); display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.aim-hero__copy p { margin: 0; line-height: 1.5; }
.aim-hero__lead { font-size: clamp(2.2rem, 3vw, 4rem); line-height: 1.08 !important; letter-spacing: -.035em; }
.aim-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.aim-button { min-height: 5.4rem; display: inline-flex; align-items: center; justify-content: center; padding: 1.6rem 2.5rem; border: 1px solid currentColor; color: #fff; font-size: 1.1rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: background .25s, color .25s; }
.aim-button:hover { background: var(--aim-ink); color: var(--aim-paper); }
.aim-button--dark { background: #fff; border-color: #fff; color: #171717; }
.aim-button--dark:hover { background: transparent; color: #fff; }
.aim-hero__scroll { align-self: flex-start; color: #fff; font-size: 2.5rem; }
.aim-intro, .aim-talents, .aim-casting, .aim-services, .aim-work, .aim-process, .aim-studio, .aim-final { padding: clamp(9rem, 13vw, 19rem) clamp(2rem, 4vw, 7rem); }
.aim-intro { display: grid; grid-template-columns: 1fr 3fr; gap: 4rem; }
.aim-intro > div, .aim-section-head > div { min-width: 0; }
.aim-intro h2, .aim-section-head h2, .aim-final h2 { margin: 0; font-family: var(--aim-sans); font-size: clamp(6rem, 10.5vw, 15rem); font-stretch: 80%; font-weight: 400; line-height: .82; letter-spacing: -.045em; text-transform: uppercase; }
.aim-copy { width: min(100%, 65rem); margin: clamp(6rem, 8vw, 11rem) 0 0 auto; font-size: clamp(1.7rem, 2vw, 2.4rem); line-height: 1.55; }
.aim-copy p { margin: 0; }
.aim-intro .aim-copy { margin-inline: auto; }
.aim-copy p + p { margin-top: 2.5rem; }
.aim-section-head { display: grid; grid-template-columns: 1fr 3fr; gap: 4rem; margin-bottom: clamp(6rem, 9vw, 13rem); }
.aim-section-head > div > p { width: min(100%, 53rem); margin: 3rem 0 0; font-size: 1.7rem; line-height: 1.55; }
.aim-talents { background: #191919; color: #eee; }
.talent-roster { display: grid; gap: 1px; background: rgb(255 255 255 / 18%); }
.talent-card { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(30rem, .85fr); min-height: min(80rem, 75vh); background: #b8b1a6; color: #151515; }
.talent-card__visual { min-height: 60rem; padding: 2rem; display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(135deg, #9e978d, #d1ccc3); color: rgb(0 0 0 / 55%); font-size: 1rem; letter-spacing: .13em; }
.talent-card__info { padding: clamp(3rem, 5vw, 7rem); display: flex; flex-direction: column; justify-content: flex-end; }
.talent-card__visual--media { padding: 0; }
.talent-card__asset { width: 100%; height: 100%; display: block; object-fit: cover; }
.talent-card__asset:not(img):not(video) { display: grid; place-items: center; color: rgb(0 0 0 / 45%); font-size: 1rem; letter-spacing: .13em; }
.talent-card h3 { margin: auto 0 3rem; font-family: var(--aim-sans); font-size: clamp(8rem, 12vw, 17rem); font-stretch: 80%; font-weight: 400; line-height: .78; letter-spacing: -.05em; text-transform: uppercase; }
.talent-card__info > p:not(.aim-kicker) { max-width: 42rem; font-size: 1.7rem; line-height: 1.5; }
.talent-card ul { display: flex; flex-wrap: wrap; gap: .8rem; margin: 3rem 0; }
.talent-card li { padding: .8rem 1.1rem; border: 1px solid rgb(0 0 0 / 35%); font-size: 1rem; letter-spacing: .09em; text-transform: uppercase; }
.aim-text-link { width: fit-content; padding-bottom: .3rem; border-bottom: 1px solid currentColor; color: inherit; font-size: 1.1rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.aim-casting { background: #f1eee8; }
.casting-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--aim-line); border-left: 1px solid var(--aim-line); }
.casting-option { min-height: 60rem; padding: clamp(3rem, 5vw, 7rem); display: flex; flex-direction: column; border-right: 1px solid var(--aim-line); border-bottom: 1px solid var(--aim-line); }
.casting-option > span, .services-list article > span, .aim-process li > span { font-size: 1rem; letter-spacing: .12em; }
.casting-option h3 { margin: auto 0 4rem; font-family: var(--aim-sans); font-size: clamp(5rem, 7.5vw, 10rem); font-stretch: 80%; font-weight: 400; line-height: .82; letter-spacing: -.04em; text-transform: uppercase; }
.casting-option p { max-width: 52rem; margin: 0; color: var(--aim-muted); line-height: 1.55; }
.casting-option .casting-option__lead { margin-bottom: 2rem; color: var(--aim-ink); font-size: clamp(1.8rem, 2.2vw, 2.7rem); line-height: 1.25; }
.casting-option .aim-text-link { margin-top: 4rem; }
.aim-services { background: #d4d0c7; }
.services-list { border-top: 1px solid var(--aim-line); }
.services-list article { display: grid; grid-template-columns: 7rem minmax(25rem, 1.1fr) minmax(25rem, 1fr); gap: 3rem; padding: 3rem 0; border-bottom: 1px solid var(--aim-line); }
.services-list h3 { margin: 0; font-size: clamp(2.5rem, 3.5vw, 4.8rem); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.services-list p { max-width: 43rem; margin: 0; color: var(--aim-muted); line-height: 1.55; }
.aim-work { background: #f1eee8; }
.work-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--aim-line); }
.work-card { margin: 0; padding: 0 0 2rem; background: #f1eee8; }
.work-card--wide { grid-column: span 2; }
.work-card__placeholder { aspect-ratio: 4 / 5; padding: 2rem; display: flex; align-items: flex-end; background: #c1bcb2; color: rgb(0 0 0 / 45%); font-size: 1rem; letter-spacing: .13em; }
.work-card__media { aspect-ratio: 4 / 5; overflow: hidden; background: #c1bcb2; }
.work-card--wide .work-card__media { aspect-ratio: 16 / 8; }
.work-card__asset { width: 100%; height: 100%; display: block; object-fit: cover; }
.work-card--wide .work-card__placeholder { aspect-ratio: 16 / 8; background: #aaa49a; }
.work-card p { margin: 2rem 2rem 0; font-size: 1rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.work-card h3 { margin: 1rem 2rem 0; font-size: clamp(2.4rem, 3.5vw, 5rem); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.work-card > span { display: block; margin: 1rem 2rem 0; color: var(--aim-muted); line-height: 1.5; }
.aim-process { background: #1a1a1a; color: #eee; }
.aim-process ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 25%); }
.aim-process li { display: grid; grid-template-columns: 7rem minmax(20rem, 1fr) minmax(25rem, 1fr); gap: 3rem; padding: 3rem 0; border-bottom: 1px solid rgb(255 255 255 / 25%); }
.aim-process h3 { margin: 0; font-size: clamp(2.5rem, 3.5vw, 4.8rem); font-weight: 400; letter-spacing: -.04em; text-transform: uppercase; }
.aim-process li p { max-width: 43rem; margin: 0; color: #929292; line-height: 1.55; }
.aim-studio { display: grid; grid-template-columns: 1fr 3fr; gap: 4rem; background: #b9b3a8; }
.aim-studio h2 { max-width: 100rem; margin: 0; font-family: var(--aim-sans); font-size: clamp(5rem, 8vw, 11rem); font-stretch: 80%; font-weight: 400; line-height: .86; letter-spacing: -.04em; }
.aim-studio div > p { max-width: 60rem; margin: 5rem 0 3rem; font-size: 1.7rem; line-height: 1.55; }
.aim-final { min-height: 85vh; display: flex; flex-direction: column; justify-content: space-between; background: #cf392f; color: #f5eee6; }
.aim-final h2 { max-width: 140rem; margin: 8rem 0; }
.aim-final > div { display: flex; align-items: end; justify-content: space-between; gap: 4rem; }
.aim-final > div p { max-width: 52rem; margin: 0; font-size: clamp(1.8rem, 2.3vw, 3rem); line-height: 1.3; }
.aim-button--light { color: #f5eee6; }
.aim-button--light:hover { background: #f5eee6; color: #cf392f; }
.aim-reveal { opacity: 0; transform: translateY(3rem); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.aim-reveal.is-visible { opacity: 1; transform: none; }
@media (max-width: 780px) {
  .aim-header { height: 8rem; }
  .aim-header__brand { font-size: 2rem; }
  .aim-header__toggle { position: relative; z-index: 2; display: block; }
  .aim-header__nav { position: fixed; inset: 0; display: none; padding: 12rem 2rem 4rem; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 2rem; background: #171717; }
  .aim-header__nav a { font-size: clamp(3.2rem, 11vw, 5rem); font-weight: 400; line-height: .95; letter-spacing: -.04em; text-transform: uppercase; }
  .aim-header__nav a:last-child { margin-top: 2rem; padding: 0 0 .4rem; border: 0; border-bottom: 1px solid; font-size: 1.2rem; font-weight: 700; letter-spacing: .1em; }
  .aim-menu-open { overflow: hidden; }
  .aim-menu-open .aim-header { position: fixed; }
  .aim-menu-open .aim-header__nav { display: flex; }
  .aim-hero { padding-top: 10rem; }
  .aim-hero__copy, .aim-intro, .aim-section-head, .aim-studio { grid-template-columns: 1fr; }
  .aim-hero__copy { align-self: stretch; }
  .aim-hero__lead { grid-column: 1 / -1; }
  .aim-intro h2, .aim-section-head h2, .aim-final h2 { font-size: clamp(4.5rem, 15vw, 8rem); }
  .talent-card, .casting-grid { grid-template-columns: 1fr; }
  .talent-card__visual { min-height: 55rem; }
  .talent-card h3 { margin-top: 8rem; }
  .casting-option { min-height: 52rem; }
  .services-list article, .aim-process li { grid-template-columns: 4rem 1fr; gap: 2rem; }
  .services-list p, .aim-process li p { grid-column: 2; }
  .work-grid { grid-template-columns: 1fr; }
  .work-card--wide { grid-column: span 1; }
  .work-card--wide .work-card__placeholder { aspect-ratio: 4 / 5; }
  .work-card--wide .work-card__media { aspect-ratio: 4 / 5; }
  .aim-final > div { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .aim-reveal { opacity: 1; transform: none; transition: none; }
}
