/* Dream Productions Co — site stylesheet */

/* Base reset (Tailwind CSS v4.2.1 preflight, MIT License). Kept in a
   cascade layer so every site rule below takes priority, as before. */
@layer base {
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}
}

.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

:root {
  --acid: #e8ec00;
  --ink: #080808;
  --paper: #f2f1eb;
  --muted: #a4a49c;
  --line: rgba(8, 8, 8, 0.16);
  --radius: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.section-pad { padding-block: 132px; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
  height: 108px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 48px;
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.brand img { width: 122px; height: 58px; object-fit: contain; object-position: left center; }
.desktop-nav { display: flex; align-items: center; gap: 36px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; }
.desktop-nav a, .contact-meta a { transition: color .2s ease; }
.desktop-nav a:hover, .contact-meta a:hover { color: var(--acid); }
.nav-cta { justify-self: end; display: inline-flex; align-items: center; gap: 9px; padding: 13px 17px; background: var(--acid); color: var(--ink); font-weight: 800; text-transform: uppercase; font-size: 12px; letter-spacing: .08em; }

.hero { min-height: 900px; height: 100svh; position: relative; color: white; display: flex; align-items: flex-end; overflow: hidden; }
.hero-media { position: absolute; inset: 0; background-image: url('../images/alpha-omega.webp'); background-size: cover; background-position: center 47%; transform: scale(1.015); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.08) 32%, rgba(0,0,0,.88) 100%), linear-gradient(90deg, rgba(0,0,0,.52), transparent 67%); }
.hero-content { position: relative; z-index: 2; padding-bottom: 72px; }
.eyebrow { margin: 0 0 32px; font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; display: flex; align-items: center; gap: 12px; }
.eyebrow::before { content: ""; width: 34px; height: 3px; background: var(--acid); }
.eyebrow.light { color: rgba(255,255,255,.74); }
.eyebrow.dark::before { background: var(--ink); }
.hero h1, .section-heading h2, .intro h2, .fuse h2, .about h2, .contact h2 {
  margin: 0;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.065em;
  line-height: .84;
}
.hero h1 { max-width: 1080px; font-size: clamp(62px, 8.2vw, 126px); }
.hero h1 span, .contact h2 span { color: var(--acid); }
.hero-bottom { margin-top: 42px; display: grid; grid-template-columns: minmax(280px, 540px) auto; gap: 46px; align-items: end; }
.hero-bottom > p { margin: 0; max-width: 500px; font-size: 17px; line-height: 1.55; color: rgba(255,255,255,.8); }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 20px; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; transition: .2s ease; }
.button-primary { background: var(--acid); color: var(--ink); }
.button-primary:hover { background: white; }
.button-ghost { border: 1px solid rgba(255,255,255,.45); color: white; }
.button-ghost:hover { border-color: white; background: rgba(255,255,255,.08); }
.hero-caption { position: absolute; right: 24px; bottom: 24px; z-index: 2; margin: 0; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.5); }

.proof-strip { background: var(--acid); display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 48px; }
.proof-strip > div { min-height: 126px; border-right: 1px solid rgba(8,8,8,.25); padding: 26px 28px; display: flex; flex-direction: column; justify-content: center; }
.proof-strip > div:last-child { border: 0; }
.proof-strip strong { font-size: 37px; line-height: 1; letter-spacing: -.05em; }
.proof-strip span { margin-top: 8px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }

.intro { background: var(--paper); }
.intro-grid { display: grid; grid-template-columns: 1fr 2.25fr; gap: 70px; }
.intro h2 { font-size: clamp(48px, 6.2vw, 90px); }
.lead { font-size: clamp(21px, 2.1vw, 31px); line-height: 1.34; letter-spacing: -.025em; }
.intro .lead { max-width: 870px; margin: 48px 0 0; color: #4d4d48; }

.services { background: var(--paper); padding-top: 22px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; border-top: 1px solid var(--line); padding-top: 30px; }
.section-heading h2 { font-size: clamp(52px, 6vw, 88px); }
.service-list { margin-top: 78px; border-top: 1px solid var(--ink); }
.service { display: grid; grid-template-columns: 90px 1fr 1.05fr .8fr; gap: 30px; padding: 34px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.service-number { color: #77776f; font-size: 12px; }
.service h3 { margin: 0; font-size: 25px; letter-spacing: -.03em; }
.service p { margin: 0; color: #55554f; line-height: 1.65; }
.service-detail { font-size: 10px; font-weight: 800; line-height: 1.6; text-transform: uppercase; letter-spacing: .1em; color: #66665e; }

.fuse { position: relative; overflow: hidden; background: var(--acid); padding-bottom: 0; }
.fuse-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 100px; align-items: start; padding-bottom: 110px; }
.fuse h2 { font-size: clamp(76px, 10.4vw, 164px); }
.fuse-kicker { margin: 42px 0 22px; font-size: 25px !important; font-weight: 800; line-height: 1.18 !important; letter-spacing: -.03em; }
.fuse-story > p { margin: 0; font-size: 17px; line-height: 1.65; }
.fuse-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 52px 0 36px; border-block: 1px solid rgba(8,8,8,.3); }
.fuse-facts > div { padding: 25px 18px 22px 0; display: flex; flex-direction: column; }
.fuse-facts strong { font-size: 41px; letter-spacing: -.055em; }
.fuse-facts span { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.scope-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.scope-list span { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; }
.case-study-note { display: inline-flex; align-items: center; gap: 8px; margin-top: 34px; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; border-bottom: 1px solid var(--ink); padding-bottom: 6px; }
.case-study-note:hover { gap: 12px; }
.ticker { width: 100%; overflow: hidden; background: var(--ink); color: var(--acid); font-size: 30px; font-weight: 900; letter-spacing: .04em; padding: 18px 0; }
.ticker-track { width: max-content; display: flex; animation: marquee 24s linear infinite; }
.ticker span { white-space: nowrap; }
@keyframes marquee { to { transform: translateX(-50%); } }

.work { background: var(--paper); }
.work-heading > p { max-width: 390px; color: #60605a; line-height: 1.65; margin: 0 0 4px; }
.project-grid { margin-top: 76px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.project { position: relative; min-height: 470px; overflow: hidden; background: #222; color: white; }
.project-wide { grid-column: span 2; min-height: 590px; }
.project img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.project:hover img { transform: scale(1.035); }
.project img.concert-image { transform: scale(1.09); object-position: center 45%; }
.project:hover img.concert-image { transform: scale(1.125); }
.project img.private-events-image { transform: scale(1.25); object-position: center center; }
.project:hover img.private-events-image { transform: scale(1.285); }
.project-placeholder { background: #111; }
.project-placeholder-art { position: absolute; inset: 0; display: grid; place-items: center; background-image: linear-gradient(rgba(232,236,0,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(232,236,0,.06) 1px, transparent 1px); background-size: 44px 44px; }
.project-placeholder-art::before { content: ""; width: 190px; height: 190px; border: 1px solid rgba(232,236,0,.25); transform: rotate(45deg); }
.project-placeholder-art span { position: absolute; color: rgba(255,255,255,.28); font-size: 10px; font-weight: 800; line-height: 1.5; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.project-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(0,0,0,.78) 100%); }
.project-copy { position: absolute; left: 30px; bottom: 28px; }
.project-copy span { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; color: var(--acid); }
.project-copy h3 { margin: 8px 0 0; font-size: clamp(28px, 3vw, 44px); letter-spacing: -.045em; }
.project-arrow { position: absolute; right: 28px; bottom: 30px; color: var(--acid); }
.project-hit-area { position: absolute; inset: 0; z-index: 4; }

.about { background: var(--ink); color: white; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; }
.about h2 { font-size: clamp(52px, 6vw, 90px); }
.about-copy .lead { margin: 42px 0 35px; color: white; }
.about-copy > p:not(.lead) { max-width: 600px; color: #a9a9a1; font-size: 16px; line-height: 1.7; }
.values { margin-top: 50px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #343434; }
.values span { padding: 19px 0; border-bottom: 1px solid #343434; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }

.contact { background: var(--paper); }
.contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: start; }
.contact h2 { font-size: clamp(72px, 9.7vw, 146px); }
.contact h2 span { color: var(--ink); -webkit-text-stroke: 2px var(--ink); -webkit-text-fill-color: transparent; }
.contact-panel { padding-top: 70px; }
.contact-panel > p { font-size: 19px; line-height: 1.6; color: #51514c; margin: 0 0 42px; }
.brief-link { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 17px; padding: 23px 0; border-block: 1px solid var(--ink); }
.brief-link span { font-size: 17px; font-weight: 800; }
.brief-link small { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .13em; color: #686862; margin-bottom: 5px; }
.contact-meta { display: flex; gap: 24px; margin-top: 28px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.contact-meta span, .contact-meta a { display: flex; align-items: center; gap: 7px; }

footer { background: var(--ink); color: white; }
.footer-inner { min-height: 170px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.footer-inner img { width: 100px; height: 55px; object-fit: contain; object-position: left; }
.footer-inner p { color: var(--acid); text-transform: uppercase; font-weight: 900; letter-spacing: .14em; font-size: 11px; }
.footer-inner span { justify-self: end; color: #777; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

/* Project brief */
.brief-page { background: var(--paper); min-height: 100vh; }
.brief-header {
  height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  background: var(--ink);
  color: white;
  border-bottom: 1px solid #2d2d2d;
}
.back-link { display: inline-flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.back-link:hover { color: var(--acid); }
.brief-hero { background: var(--ink); color: white; padding: 100px 0 112px; }
.brief-hero-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 90px; align-items: end; }
.brief-hero h1 { margin: 0; font-size: clamp(68px, 9vw, 136px); font-weight: 900; letter-spacing: -.065em; line-height: .84; text-transform: uppercase; }
.brief-hero h1 span { color: var(--acid); }
.brief-intro > p { color: #c0c0b8; font-size: 19px; line-height: 1.6; margin: 0 0 37px; }
.brief-promise { display: flex; flex-direction: column; gap: 12px; padding-top: 25px; border-top: 1px solid #333; }
.brief-promise span { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.brief-promise svg { color: var(--acid); }
.brief-form-section { padding: 120px 0 140px; }
.form-layout { display: grid; grid-template-columns: .68fr 1.32fr; gap: 110px; align-items: start; }
.form-layout aside { position: sticky; top: 35px; }
.form-layout aside h2 { margin: 0; font-size: clamp(43px, 5vw, 69px); font-weight: 900; line-height: .9; letter-spacing: -.055em; text-transform: uppercase; }
.form-layout aside > p:last-child { max-width: 370px; margin: 34px 0 0; color: #60605a; line-height: 1.65; }
.brief-form { border-top: 1px solid var(--ink); }
.form-section-label { display: flex; gap: 18px; padding: 30px 0 23px; margin-top: 34px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.form-section-label:first-child { margin-top: 0; }
.form-section-label span { color: #808078; font-size: 10px; padding-top: 3px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 22px; padding: 28px 0 18px; }
.field-grid label:not(.upload-field) { display: flex; flex-direction: column; gap: 10px; }
.field-grid label > span:first-child, .consent-field > span { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.field-full { grid-column: span 2; }
.brief-form input:not([type="checkbox"]):not([type="file"]),
.brief-form select,
.brief-form textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #b8b8b0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  padding: 12px 0 15px;
  font: inherit;
  font-size: 16px;
  outline: none;
}
.brief-form input:focus, .brief-form select:focus, .brief-form textarea:focus { border-color: var(--ink); }
.brief-form input::placeholder, .brief-form textarea::placeholder { color: #999991; }
.brief-form textarea { resize: vertical; line-height: 1.6; }
.brief-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #111 50%), linear-gradient(135deg, #111 50%, transparent 50%); background-position: calc(100% - 14px) 20px, calc(100% - 9px) 20px; background-size: 5px 5px; background-repeat: no-repeat; }
.upload-field { display: block; }
.upload-field > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-field > span:first-child { display: block; margin-bottom: 12px; }
.upload-box { min-height: 158px; border: 1px dashed #9a9a92; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; cursor: pointer; transition: .2s ease; }
.upload-box:hover { border-color: var(--ink); background: #e9e8df; }
.upload-box strong { font-size: 14px; }
.upload-box small { color: #707069; font-size: 11px; }
.file-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.file-list small { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; background: #e2e1d8; font-size: 10px; }
.consent-field { display: flex; align-items: flex-start; gap: 11px; margin: 34px 0; cursor: pointer; }
.consent-field input { margin: 1px 0 0; accent-color: var(--ink); }
.consent-field > span { line-height: 1.45; letter-spacing: .06em; }
.submit-brief { width: 100%; min-height: 70px; border: 0; background: var(--acid); color: var(--ink); display: flex; justify-content: center; align-items: center; gap: 14px; font: inherit; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: .2s ease; }
.submit-brief:hover { background: var(--ink); color: white; }
.prototype-note { margin: 13px 0 0; color: #777770; font-size: 10px; line-height: 1.5; text-align: center; }
.brief-success { min-height: 600px; border-top: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.success-icon { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 32px; background: var(--acid); border-radius: 50%; }
.brief-success h2 { margin: 0; font-size: clamp(44px, 5vw, 72px); font-weight: 900; line-height: .9; letter-spacing: -.055em; text-transform: uppercase; }
.brief-success > p:not(.eyebrow) { max-width: 580px; color: #5f5f59; font-size: 17px; line-height: 1.65; margin: 33px 0; }
.brief-success button { border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 8px 0; font: inherit; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }

/* Project case study */
.case-page { background: var(--paper); }
.case-header { height: 108px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 48px; background: var(--ink); color: white; border-bottom: 1px solid #303030; }
.case-header .back-link { justify-self: center; }
.case-hero { position: relative; min-height: 790px; padding: 112px 0 92px; display: flex; align-items: center; background: var(--acid); overflow: hidden; }
.case-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 110px; align-items: end; }
.case-hero h1, .case-copy-grid h2, .case-brief h2, .case-role h2, .case-system h2, .case-gallery h2, .case-result h2, .case-related h2, .case-cta h2 { margin: 0; font-weight: 900; text-transform: uppercase; letter-spacing: -.065em; line-height: .84; }
.case-hero h1 { font-size: clamp(74px, 10.2vw, 154px); }
.case-hero h1 span { color: var(--paper); }
.case-hero-story { padding-bottom: 10px; }
.case-kicker { margin: 0 0 24px; max-width: 500px; font-size: clamp(25px, 2.7vw, 38px); font-weight: 850; line-height: 1.12; letter-spacing: -.045em; }
.case-hero-story > p:not(.case-kicker) { max-width: 560px; margin: 0; font-size: 17px; line-height: 1.65; }
.case-meta { display: flex; flex-direction: column; gap: 13px; margin-top: 39px; padding-top: 27px; border-top: 1px solid rgba(8,8,8,.3); }
.case-meta span { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.case-scroll-note { position: absolute; right: 32px; bottom: 30px; display: flex; gap: 12px; align-items: center; font-size: 9px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; writing-mode: vertical-rl; }
.case-scroll-note span { font-size: 16px; }
.case-proof { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--ink); color: white; padding: 0 48px; }
.case-proof > div { min-height: 142px; padding: 30px 28px; border-right: 1px solid #373737; display: flex; flex-direction: column; justify-content: center; }
.case-proof > div:last-child { border-right: 0; }
.case-proof strong { color: var(--acid); font-size: 43px; line-height: 1; letter-spacing: -.055em; }
.case-proof span { margin-top: 8px; color: #aaa; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.case-intro { background: var(--paper); }
.case-copy-grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: 80px; }
.case-copy-grid h2 { font-size: clamp(56px, 7vw, 104px); }
.case-copy-grid .lead { max-width: 900px; margin: 45px 0 30px; }
.case-body-copy { max-width: 720px; margin: 0; color: #5a5a54; font-size: 17px; line-height: 1.72; }
.case-brief { background: var(--ink); color: white; }
.case-brief-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; }
.case-brief h2 { font-size: clamp(55px, 6.7vw, 96px); }
.case-brief-copy .lead { margin: 45px 0 42px; color: white; }
.case-checks { border-top: 1px solid #353535; }
.case-checks span { min-height: 56px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #353535; color: #c4c4bd; font-size: 12px; font-weight: 750; letter-spacing: .03em; }
.case-checks svg { color: var(--acid); flex: 0 0 auto; }
.case-role { background: var(--paper); }
.case-section-heading { align-items: start; }
.case-section-heading h2 { font-size: clamp(55px, 6.7vw, 96px); }
.role-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 82px; border-top: 1px solid var(--ink); }
.role-card { min-height: 360px; padding: 28px 25px 30px 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.role-card + .role-card { padding-left: 25px; }
.role-card:last-child { border-right: 0; }
.role-card > span { color: #77776f; font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.role-card h3 { margin: auto 0 21px; font-size: 27px; line-height: 1.05; letter-spacing: -.04em; }
.role-card p { min-height: 108px; margin: 0; color: #5d5d57; font-size: 14px; line-height: 1.65; }
.case-system { background: var(--ink); color: white; }
.case-system-title { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: start; }
.case-system h2 { font-size: clamp(62px, 8vw, 116px); }
.case-system h2 span { color: var(--acid); }
.pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 86px; border-top: 1px solid #3c3c3c; }
.pillar-grid article { min-height: 330px; padding: 28px 34px 30px 0; border-right: 1px solid #3c3c3c; }
.pillar-grid article + article { padding-left: 34px; }
.pillar-grid article:last-child { border-right: 0; }
.pillar-grid article > span { color: var(--acid); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.pillar-grid h3 { margin: 95px 0 20px; font-size: 34px; letter-spacing: -.045em; }
.pillar-grid p { margin: 0; color: #aaa; line-height: 1.7; }
.case-gallery { background: var(--paper); }
.case-gallery-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: end; }
.case-gallery h2 { font-size: clamp(58px, 7.4vw, 108px); }
.case-gallery-heading > p { max-width: 430px; margin: 0 0 5px; color: #5b5b55; line-height: 1.7; }
.media-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 76px; }
.media-placeholder { position: relative; min-height: 390px; padding: 28px; display: flex; justify-content: space-between; align-items: flex-end; background: #d9d8cf; color: #6c6c64; border: 1px solid #cdccc3; }
.media-placeholder::before { content: "Media to be added"; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); color: #9a9a92; font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.media-placeholder span { font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.media-placeholder p { margin: 0; color: #686860; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.media-feature { grid-column: span 2; min-height: 650px; background: #111; color: #777; border-color: #292929; }
.media-feature::before { color: #555; }
.media-feature p { color: #777; }
.video-feature { position: relative; min-height: 0; overflow: hidden; background: #000; }
.video-feature video { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: contain; background: #000; }
.video-caption { padding: 18px 24px 20px; display: flex; align-items: end; justify-content: space-between; color: white; }
.video-caption span { font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.video-caption p { margin: 0; color: white; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.media-photo { position: relative; min-height: 0; aspect-ratio: 3 / 4; overflow: hidden; background: #111; color: white; }
.media-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.media-atmosphere > img { object-position: center 63%; }
.media-streetwear > img { object-position: center 55%; }
.media-entertainment { grid-column: span 2; min-height: 650px; aspect-ratio: auto; }
.media-entertainment > img { object-position: center 54%; }
.media-photo::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.72)); }
.media-photo-caption { position: absolute; inset: auto 0 0; z-index: 1; padding: 28px; display: flex; align-items: end; justify-content: space-between; }
.media-photo-caption span { font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.media-photo-caption p { margin: 0; color: white; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.media-wide { grid-column: span 2; min-height: 480px; background: var(--acid); color: var(--ink); border: 0; }
.media-wide::before, .media-wide p { color: rgba(8,8,8,.54); }
.case-result { background: var(--acid); }
.case-result-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.result-number { min-height: 420px; padding: 42px; display: flex; flex-direction: column; justify-content: flex-end; background: var(--ink); color: white; }
.result-number svg { color: var(--acid); margin-bottom: auto; }
.result-number strong { color: var(--acid); font-size: clamp(72px, 9vw, 132px); letter-spacing: -.07em; line-height: .8; }
.result-number span { margin-top: 20px; color: #aaa; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.case-result h2 { font-size: clamp(56px, 6.9vw, 100px); }
.case-result-grid > div:last-child > p:last-child { max-width: 580px; margin: 35px 0 0; font-size: 17px; line-height: 1.7; }
.case-related { background: var(--ink); color: white; }
.case-related-heading { display: flex; justify-content: space-between; align-items: end; }
.case-related h2 { font-size: clamp(54px, 6.5vw, 94px); }
.case-related-heading > a { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 7px; border-bottom: 1px solid #777; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 70px; }
.related-card { position: relative; min-height: 480px; overflow: hidden; padding: 30px; display: flex; flex-direction: column; justify-content: flex-end; }
.related-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.related-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.83)); }
.related-card:hover img { transform: scale(1.035); }
.related-card > span, .related-card h3, .related-card > svg { position: relative; z-index: 1; }
.related-card > span { color: var(--acid); font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.related-card h3 { margin: 9px 0 0; font-size: 35px; letter-spacing: -.045em; }
.related-card > svg { position: absolute; right: 28px; bottom: 31px; color: var(--acid); }
.case-cta { background: var(--paper); }
.case-cta-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: end; }
.case-cta h2 { font-size: clamp(72px, 9.5vw, 142px); }
.case-cta h2 span { color: transparent; -webkit-text-stroke: 2px var(--ink); }
.case-cta-grid > div:last-child > p { margin: 0 0 34px; color: #55554f; font-size: 18px; line-height: 1.65; }
.case-cta-button { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; background: var(--acid); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.case-cta-button:hover { background: var(--ink); color: white; }

/* Alpha Omega Party case study */
.aop-page { --aop: #ff7a1a; background: #f3f0e9; }
.aop-header { background: #070707; }
.aop-hero { min-height: calc(100svh - 108px); position: relative; display: flex; align-items: flex-end; overflow: hidden; background: #050505; color: white; }
.aop-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.aop-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.35) 57%, rgba(0,0,0,.28)), linear-gradient(0deg, rgba(0,0,0,.9), transparent 58%); }
.aop-hero-content { position: relative; z-index: 1; padding-bottom: 62px; }
.aop-hero .eyebrow::before, .aop-identity .eyebrow::before, .aop-role .eyebrow::before, .aop-related .eyebrow::before { background: var(--aop); }
.aop-hero h1, .aop-intro h2, .aop-identity h2, .aop-timeline h2, .aop-role h2, .aop-gallery h2, .aop-result h2, .aop-related h2, .aop-cta h2 { margin: 0; font-weight: 900; line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.aop-hero h1 { max-width: 1050px; font-size: clamp(74px, 11.4vw, 174px); }
.aop-hero h1 span { color: var(--aop); }
.aop-hero-bottom { margin-top: 42px; display: flex; justify-content: space-between; align-items: end; }
.aop-hero-bottom > p { margin: 0; color: white; font-size: clamp(20px,2vw,29px); font-weight: 750; line-height: 1.2; letter-spacing: -.025em; }
.aop-hero-bottom > div { display: flex; align-items: center; gap: 11px; color: var(--aop); }
.aop-hero-bottom > div span { color: #bbb; font-size: 11px; font-weight: 800; line-height: 1.45; letter-spacing: .09em; text-transform: uppercase; }
.aop-proof { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 48px; background: var(--aop); color: #080808; }
.aop-proof > div { min-height: 138px; padding: 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(0,0,0,.28); }
.aop-proof > div:last-child { border-right: 0; }
.aop-proof strong { font-size: 42px; line-height: 1; letter-spacing: -.055em; }
.aop-proof span { margin-top: 8px; font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.aop-intro { background: #f3f0e9; }
.aop-copy-grid { display: grid; grid-template-columns: .58fr 1.42fr; gap: 80px; }
.aop-intro h2 { font-size: clamp(56px,7vw,104px); }
.aop-intro .lead { max-width: 900px; margin: 45px 0 30px; }
.aop-intro .lead + p { max-width: 720px; margin: 0; color: #56534e; font-size: 17px; line-height: 1.75; }
.aop-identity { background: #080808; color: white; }
.aop-identity-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.aop-identity-image { min-height: 650px; overflow: hidden; }
.aop-identity-image img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; object-position: 44% center; }
.aop-identity h2 { font-size: clamp(58px,7.3vw,108px); }
.aop-identity h2 span, .aop-role h2 span, .aop-cta h2 span { color: var(--aop); }
.aop-identity-grid > div:last-child > p:not(.eyebrow) { max-width: 600px; margin: 40px 0; color: #aaa; font-size: 17px; line-height: 1.72; }
.aop-spectrum { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding-top: 28px; border-top: 1px solid #333; color: var(--aop); font-size: 13px; font-weight: 900; letter-spacing: .16em; }
.aop-spectrum i { height: 2px; background: linear-gradient(90deg,var(--aop),#e5dfd2,var(--aop)); }
.aop-timeline { background: #f3f0e9; }
.aop-section-heading, .aop-gallery-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 90px; align-items: end; }
.aop-timeline h2, .aop-gallery h2 { font-size: clamp(58px,7.3vw,108px); }
.aop-section-heading > p, .aop-gallery-heading > p { max-width: 430px; margin: 0 0 5px; color: #5d5953; font-size: 16px; line-height: 1.7; }
.edition-list { margin-top: 78px; border-top: 1px solid #111; }
.edition { display: grid; grid-template-columns: 70px 145px .75fr 1.25fr; gap: 30px; align-items: baseline; padding: 32px 0; border-bottom: 1px solid rgba(0,0,0,.18); }
.edition strong { color: var(--aop); font-size: 28px; }
.edition > span { color: #6b6760; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.edition h3 { margin: 0; font-size: 25px; letter-spacing: -.035em; text-transform: uppercase; }
.edition p { margin: 0; color: #5a5650; font-size: 16px; line-height: 1.65; }
.aop-role { background: var(--aop); color: #080808; }
.aop-role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; }
.aop-role h2 { font-size: clamp(60px,7.6vw,112px); }
.aop-role h2 span { color: #080808; }
.aop-role .eyebrow::before { background: #080808; }
.aop-role-grid .lead { margin: 40px 0 42px; color: #080808; }
.aop-role-list { border-top: 1px solid rgba(0,0,0,.3); }
.aop-role-list span { min-height: 58px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(0,0,0,.3); font-size: 14px; font-weight: 750; }
.aop-gallery { background: #f3f0e9; }
.aop-gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 74px; }
.aop-photo { position: relative; min-height: 560px; margin: 0; overflow: hidden; background: #111; color: white; }
.aop-photo-wide { grid-column: span 2; min-height: 650px; }
.aop-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.aop-photo-anniversary img { object-position: center 88%; }
.aop-photo::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.75)); }
.aop-photo figcaption { position: absolute; z-index: 1; left: 25px; bottom: 22px; font-size: 12px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.aop-result { background: #f3f0e9; padding-top: 10px; }
.aop-result-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; align-items: center; }
.aop-result-mark { min-height: 420px; padding: 42px; display: flex; flex-direction: column; justify-content: flex-end; background: #080808; color: white; }
.aop-result-mark svg { margin-bottom: auto; color: var(--aop); }
.aop-result-mark strong { color: var(--aop); font-size: clamp(88px,11vw,155px); line-height: .75; letter-spacing: -.08em; }
.aop-result-mark span { margin-top: 22px; color: #aaa; font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.aop-result h2 { font-size: clamp(58px,7.2vw,106px); }
.aop-result-grid > div:last-child > p:last-child { max-width: 590px; margin: 34px 0 0; color: #57534d; font-size: 17px; line-height: 1.72; }
.aop-related { background: #080808; color: white; }
.aop-related-heading { display: flex; justify-content: space-between; align-items: end; }
.aop-related h2 { font-size: clamp(55px,6.5vw,95px); }
.aop-related-heading > a { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 7px; border-bottom: 1px solid #777; font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.aop-related-card { position: relative; min-height: 610px; margin-top: 65px; padding: 32px; display: flex; align-items: flex-end; overflow: hidden; }
.aop-related-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.aop-related-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 40%,rgba(0,0,0,.85)); }
.aop-related-card:hover > img { transform: scale(1.025); }
.aop-related-card > div, .aop-related-card > svg { position: relative; z-index: 1; }
.aop-related-card > div span { color: var(--acid); font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.aop-related-card h3 { margin: 7px 0 0; font-size: clamp(38px,5vw,70px); letter-spacing: -.05em; }
.aop-related-card > svg { margin-left: auto; color: var(--acid); }
.aop-cta { padding-block: 88px; background: var(--aop); }
.aop-cta-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 100px; align-items: center; }
.aop-cta h2 { font-size: clamp(72px,9vw,136px); }
.aop-cta-grid > div:last-child p { margin: 0 0 34px; font-size: 18px; line-height: 1.65; }
.aop-cta-grid > div:last-child a { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; background: #080808; color: white; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

@media (max-width: 900px) {
  .aop-hero { min-height: 780px; }
  .aop-proof { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .aop-proof > div:nth-child(2) { border-right: 0; }
  .aop-proof > div { border-bottom: 1px solid rgba(0,0,0,.25); }
  .aop-copy-grid, .aop-identity-grid, .aop-role-grid, .aop-result-grid, .aop-cta-grid { grid-template-columns: 1fr; gap: 55px; }
  .aop-identity-image, .aop-identity-image img { min-height: 560px; }
  .aop-section-heading, .aop-gallery-heading { grid-template-columns: 1fr; gap: 35px; }
  .edition { grid-template-columns: 55px 120px 1fr; }
  .edition p { grid-column: 3; }
  .aop-related-card { min-height: 520px; }
}

/* UAE 50th Anniversary case study */
.uae-page { --uae-red: #b3132b; --uae-green: #087844; background: #f4f1eb; color: #101010; }
.uae-header { background: #070707; }
.uae-hero { min-height: calc(100svh - 108px); position: relative; display: flex; align-items: flex-end; overflow: hidden; background: #080808; color: white; }
.uae-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.uae-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.35) 60%,rgba(0,0,0,.14)),linear-gradient(0deg,rgba(0,0,0,.86),transparent 62%); }
.uae-hero-content { position: relative; z-index: 1; padding-bottom: 68px; }
.uae-hero .eyebrow::before, .uae-diplomacy .eyebrow::before, .uae-result .eyebrow::before { background: var(--uae-green); }
.uae-hero h1, .uae-intro h2, .uae-diplomacy h2, .uae-role h2, .uae-gallery h2, .uae-result h2, .uae-cta h2 { margin: 0; font-weight: 900; line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.uae-hero h1 { max-width: 1120px; font-size: clamp(70px,10.5vw,160px); }
.uae-hero h1 span { color: #ef3340; }
.uae-hero-meta { margin-top: 42px; display: flex; gap: 38px; }
.uae-hero-meta div { display: flex; align-items: center; gap: 10px; color: #ddd; font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.uae-hero-meta svg { color: #ef3340; }
.uae-proof { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 48px; background: white; }
.uae-proof > div { min-height: 138px; padding: 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(0,0,0,.2); }
.uae-proof > div:last-child { border-right: 0; }
.uae-proof strong { color: var(--uae-red); font-size: clamp(33px,4vw,56px); line-height: .9; letter-spacing: -.06em; }
.uae-proof span { margin-top: 13px; color: #555; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.uae-copy-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; }
.uae-intro h2 { font-size: clamp(58px,7.4vw,108px); }
.uae-intro .lead { max-width: 900px; margin: 45px 0 30px; font-size: 24px; line-height: 1.35; letter-spacing: -.025em; }
.uae-intro .lead + p { max-width: 760px; margin: 0; color: #5d5954; font-size: 17px; line-height: 1.75; }
.uae-diplomacy { background: #080808; color: white; }
.uae-diplomacy-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.uae-diplomacy-image { min-height: 650px; overflow: hidden; }
.uae-diplomacy-image img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; object-position: center; }
.uae-diplomacy h2 { font-size: clamp(60px,7vw,105px); }
.uae-diplomacy h2 span { color: #ef3340; }
.uae-diplomacy-grid > div:last-child > p:not(.eyebrow) { max-width: 580px; margin: 40px 0; color: #aaa; font-size: 17px; line-height: 1.72; }
.uae-diplomacy-note { padding-top: 28px; display: flex; align-items: center; gap: 14px; border-top: 1px solid #333; color: #ddd; font-size: 13px; font-weight: 800; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.uae-diplomacy-note svg { flex: 0 0 auto; color: #ef3340; }
.uae-role { background: #f4f1eb; }
.uae-role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.uae-role h2 { font-size: clamp(62px,7.5vw,112px); }
.uae-role h2 span { color: var(--uae-red); }
.uae-role .lead { margin: 42px 0; font-size: 22px; line-height: 1.45; }
.uae-role-list { border-top: 1px solid rgba(0,0,0,.3); }
.uae-role-list span { min-height: 58px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(0,0,0,.3); font-size: 14px; font-weight: 750; }
.uae-role-list svg { color: var(--uae-green); }
.uae-gallery { background: white; }
.uae-gallery-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 90px; align-items: end; }
.uae-gallery h2 { font-size: clamp(58px,7.3vw,108px); }
.uae-gallery-heading > p { max-width: 430px; margin: 0 0 5px; color: #5d5953; font-size: 16px; line-height: 1.7; }
.uae-gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 74px; }
.uae-photo { position: relative; min-height: 560px; margin: 0; overflow: hidden; background: #111; color: white; }
.uae-photo-wide { grid-column: span 2; min-height: 650px; }
.uae-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.uae-photo-portrait img { object-position: center 55%; }
.uae-photo::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.72)); }
.uae-photo figcaption { position: absolute; z-index: 1; left: 25px; bottom: 22px; font-size: 12px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.uae-result { background: var(--uae-green); color: white; }
.uae-result-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: center; }
.uae-result-grid > div:first-child { min-height: 430px; padding: 42px; display: flex; flex-direction: column; justify-content: center; background: #070707; }
.uae-result-grid > div:first-child span { color: #ef3340; font-size: clamp(100px,12vw,168px); font-weight: 900; line-height: .68; letter-spacing: -.08em; }
.uae-result-grid > div:first-child strong { margin-top: 28px; font-size: 38px; line-height: 1; letter-spacing: .08em; }
.uae-result-grid > div:first-child small { margin-top: 8px; color: #aaa; font-size: 16px; font-weight: 800; letter-spacing: .18em; }
.uae-result h2 { font-size: clamp(56px,6.8vw,100px); }
.uae-result-grid > div:last-child > p:last-child { max-width: 650px; margin: 34px 0 0; color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.72; }
.uae-cta { padding-block: 92px; background: #ef3340; color: #080808; }
.uae-cta-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 100px; align-items: center; }
.uae-cta h2 { font-size: clamp(65px,8vw,120px); }
.uae-cta-grid > div:last-child p { margin: 0 0 34px; font-size: 18px; line-height: 1.65; }
.uae-cta-grid > div:last-child a { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; background: #080808; color: white; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

@media (max-width: 900px) {
  .uae-hero { min-height: 760px; }
  .uae-proof { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .uae-proof > div:nth-child(2) { border-right: 0; }
  .uae-proof > div { border-bottom: 1px solid rgba(0,0,0,.2); }
  .uae-copy-grid, .uae-diplomacy-grid, .uae-role-grid, .uae-result-grid, .uae-cta-grid { grid-template-columns: 1fr; gap: 55px; }
  .uae-diplomacy-image, .uae-diplomacy-image img { min-height: 560px; }
  .uae-gallery-heading { grid-template-columns: 1fr; gap: 35px; }
  .uae-gallery-grid { grid-template-columns: 1fr; }
  .uae-photo, .uae-photo-wide { grid-column: auto; min-height: 430px; }
}

@media (max-width: 620px) {
  .uae-hero-content { padding-bottom: 50px; }
  .uae-hero h1 { font-size: clamp(56px,16vw,80px); }
  .uae-hero-meta { flex-direction: column; gap: 14px; }
  .uae-proof { padding: 0 14px; }
  .uae-proof > div { min-height: 112px; padding: 20px 12px; }
  .uae-intro .lead, .uae-role .lead { font-size: 19px; }
  .uae-diplomacy-image, .uae-diplomacy-image img { min-height: 430px; }
  .uae-result-grid > div:first-child { min-height: 300px; }
  .uae-cta { padding-block: 74px; }
}

/* Private Events case study */
.private-page { --private-pink: #ff5b9d; --matrix: #59ff76; background: #f2f1eb; color: #080808; }
.private-header { background: #070707; }
.private-hero { min-height: calc(100svh - 108px); position: relative; display: flex; align-items: flex-end; overflow: hidden; background: #080808; color: white; }
.private-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.06); }
.private-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.2) 68%),linear-gradient(0deg,rgba(0,0,0,.9),transparent 68%); }
.private-hero-content { position: relative; z-index: 1; padding-bottom: 68px; }
.private-hero h1, .private-intro h2, .matrix-case h2, .journey-case h2, .private-approach h2, .private-result h2, .private-cta h2 { margin: 0; font-weight: 900; line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.private-hero h1 { max-width: 1050px; font-size: clamp(76px,11.3vw,170px); }
.private-hero h1 span { color: var(--private-pink); }
.private-hero-content > p:last-child { max-width: 620px; margin: 38px 0 0; color: #ddd; font-size: clamp(18px,2vw,26px); font-weight: 700; line-height: 1.3; letter-spacing: -.02em; }
.private-proof { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 48px; background: var(--acid); }
.private-proof > div { min-height: 138px; padding: 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(0,0,0,.26); }
.private-proof > div:last-child { border-right: 0; }
.private-proof strong { font-size: clamp(36px,4vw,58px); line-height: .9; letter-spacing: -.06em; }
.private-proof span { margin-top: 13px; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.private-copy-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; }
.private-intro h2 { font-size: clamp(60px,7.5vw,112px); }
.private-intro .lead { max-width: 880px; margin: 45px 0 30px; }
.private-intro .lead + p { max-width: 760px; margin: 0; color: #595953; font-size: 17px; line-height: 1.75; }
.matrix-case { background: #050706; color: white; }
.matrix-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 105px; align-items: center; }
.matrix-feature { min-height: 650px; position: relative; margin: 0; overflow: hidden; border: 1px solid #233d28; background: #071109; }
.matrix-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.matrix-feature::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.78)); }
.matrix-feature figcaption, .matrix-gallery figcaption, .journey-gallery figcaption { position: absolute; z-index: 1; left: 22px; bottom: 19px; color: white; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.matrix-case .eyebrow::before { background: var(--matrix); }
.matrix-case h2 { font-size: clamp(58px,7vw,104px); }
.matrix-case h2 span { color: var(--matrix); }
.matrix-copy .lead { margin: 42px 0 28px; color: white; font-size: 23px; }
.matrix-copy > p:not(.eyebrow):not(.lead) { max-width: 670px; color: #aaa; font-size: 17px; line-height: 1.75; }
.matrix-details { margin-top: 43px; border-top: 1px solid #304134; }
.matrix-details span { min-height: 58px; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid #304134; color: #ddd; font-size: 13px; font-weight: 750; }
.matrix-details svg { color: var(--matrix); }
.matrix-gallery { margin-top: 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.matrix-gallery figure { min-height: 410px; position: relative; margin: 0; overflow: hidden; background: #071109; }
.matrix-gallery img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.matrix-gallery figure::after, .journey-gallery figure::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.78)); }
.matrix-gallery figure:first-child img { object-position: center; }
.journey-case { background: #f2f1eb; }
.journey-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 95px; align-items: center; }
.journey-case h2 { font-size: clamp(58px,7vw,105px); }
.journey-case h2 span { color: var(--private-pink); }
.journey-copy .lead { margin: 43px 0 28px; font-size: 23px; }
.journey-copy > p:not(.eyebrow):not(.lead) { color: #595953; font-size: 17px; line-height: 1.75; }
.journey-route { margin-top: 42px; padding-top: 26px; display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 14px; border-top: 1px solid rgba(0,0,0,.28); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.journey-route svg { color: var(--private-pink); }
.journey-route i { height: 2px; background: linear-gradient(90deg,var(--private-pink),var(--acid)); }
.journey-image { min-height: 690px; position: relative; margin: 0; overflow: hidden; background: #111; color: white; }
.journey-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.18); }
.journey-image::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.78)); }
.journey-image figcaption { position: absolute; z-index: 1; left: 26px; bottom: 23px; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.journey-gallery { margin-top: 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.journey-gallery figure { min-height: 500px; position: relative; margin: 0; overflow: hidden; background: #111; }
.journey-gallery .journey-gallery-wide { grid-column: span 2; min-height: 620px; }
.journey-gallery img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.journey-gallery-wide:first-child img { object-position: center 63%; }
.journey-gallery figure:nth-child(2) img { object-position: center; }
.journey-gallery figure:nth-child(3) img { object-position: center 58%; }
.journey-gallery figure:nth-child(4) img { object-position: center 58%; }
.private-approach { background: var(--private-pink); }
.private-approach-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 105px; }
.private-approach h2 { font-size: clamp(60px,7.5vw,112px); }
.private-approach h2 span { color: white; }
.private-approach .eyebrow::before { background: #080808; }
.private-approach .lead { margin: 42px 0; color: #080808; font-size: 22px; }
.private-approach-list { border-top: 1px solid rgba(0,0,0,.3); }
.private-approach-list span { min-height: 58px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(0,0,0,.3); font-size: 14px; font-weight: 750; }
.private-result { background: #080808; color: white; }
.private-result-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; align-items: center; }
.private-result-grid > strong { min-height: 410px; padding: 42px; display: flex; align-items: flex-end; background: var(--acid); color: #080808; font-size: clamp(68px,8.5vw,125px); line-height: .78; letter-spacing: -.07em; }
.private-result .eyebrow::before { background: var(--private-pink); }
.private-result h2 { font-size: clamp(58px,7vw,104px); }
.private-result-grid > div > p:last-child { max-width: 650px; margin: 34px 0 0; color: #aaa; font-size: 17px; line-height: 1.72; }
.private-cta { padding-block: 92px; background: var(--acid); }
.private-cta-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 100px; align-items: center; }
.private-cta h2 { font-size: clamp(65px,8vw,120px); }
.private-cta-grid > div:last-child p { margin: 0 0 34px; font-size: 18px; line-height: 1.65; }
.private-cta-grid > div:last-child a { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; background: #080808; color: white; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

@media (max-width: 900px) {
  .private-hero { min-height: 760px; }
  .private-proof { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .private-proof > div:nth-child(2) { border-right: 0; }
  .private-proof > div { border-bottom: 1px solid rgba(0,0,0,.22); }
  .private-copy-grid, .matrix-grid, .journey-grid, .private-approach-grid, .private-result-grid, .private-cta-grid { grid-template-columns: 1fr; gap: 55px; }
  .matrix-feature { min-height: 520px; }
  .matrix-gallery { grid-template-columns: 1fr; margin-top: 55px; }
  .matrix-gallery figure { min-height: 500px; }
  .journey-image { min-height: 580px; grid-row: 1; }
  .journey-gallery { margin-top: 55px; }
  .private-result-grid > strong { min-height: 330px; }
}

@media (max-width: 620px) {
  .private-hero { min-height: 680px; }
  .private-hero > img { object-position: 45% center; }
  .private-hero-content { padding-bottom: 46px; }
  .private-hero h1 { font-size: 18vw; }
  .private-proof { padding-inline: 14px; }
  .private-proof > div { min-height: 112px; padding: 20px 12px; }
  .private-proof span { font-size: 9px; }
  .matrix-feature { min-height: 410px; }
  .matrix-gallery figure { min-height: 390px; }
  .matrix-copy .lead, .journey-copy .lead, .private-approach .lead { font-size: 19px; }
  .journey-image { min-height: 430px; }
  .journey-route { grid-template-columns: auto 1fr; }
  .journey-route i { grid-column: span 2; }
  .journey-gallery { grid-template-columns: 1fr; }
  .journey-gallery figure, .journey-gallery .journey-gallery-wide { grid-column: auto; min-height: 390px; }
  .private-result-grid > strong { min-height: 270px; }
  .private-cta { padding-block: 74px; }
}

@media (max-width: 620px) {
  .aop-hero { min-height: 680px; }
  .aop-hero > img { object-position: 60% center; }
  .aop-hero-content { padding-bottom: 38px; }
  .aop-hero h1 { font-size: 19vw; }
  .aop-hero-bottom { align-items: start; flex-direction: column; gap: 25px; }
  .aop-proof { padding-inline: 14px; }
  .aop-proof > div { min-height: 112px; padding: 20px 12px; }
  .aop-proof strong { font-size: 34px; }
  .aop-proof span { font-size: 10px; }
  .aop-identity-image, .aop-identity-image img { min-height: 430px; }
  .edition { grid-template-columns: 42px 1fr; gap: 13px; }
  .edition > span { grid-column: 2; }
  .edition h3, .edition p { grid-column: 2; }
  .edition h3 { margin-top: 8px; }
  .aop-gallery-grid { grid-template-columns: 1fr; }
  .aop-photo, .aop-photo-wide { grid-column: auto; min-height: 410px; }
  .aop-related-heading { display: block; }
  .aop-related-heading > a { margin-top: 28px; }
  .aop-related-card { min-height: 390px; padding: 22px; }
}

@media (max-width: 900px) {
  .container { width: min(100% - 40px, 720px); }
  .section-pad { padding-block: 90px; }
  .site-header { height: 88px; grid-template-columns: 1fr auto; padding: 0 20px; }
  .brand img { width: 96px; }
  .desktop-nav { display: none; }
  .nav-cta { font-size: 10px; padding: 11px 13px; }
  .hero { min-height: 760px; }
  .hero-content { padding-bottom: 55px; }
  .hero h1 { font-size: clamp(54px, 12.8vw, 88px); line-height: .87; }
  .hero-bottom { grid-template-columns: 1fr; gap: 28px; }
  .button-row { justify-content: flex-start; }
  .hero-caption { display: none; }
  .proof-strip { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .proof-strip > div { border-bottom: 1px solid rgba(8,8,8,.25); min-height: 112px; padding: 22px 12px; }
  .proof-strip > div:nth-child(2) { border-right: 0; }
  .intro-grid, .fuse-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 45px; }
  .intro .lead { margin-top: 36px; }
  .service { grid-template-columns: 50px 1fr; gap: 16px; }
  .service p, .service-detail { grid-column: 2; }
  .fuse { padding-bottom: 0; }
  .fuse-grid { padding-bottom: 80px; }
  .fuse-story { max-width: 650px; }
  .project { min-height: 420px; }
  .project-wide { min-height: 500px; }
  .about-copy .lead { margin-top: 0; }
  .contact-panel { padding-top: 0; }
  .brief-header { height: 88px; padding: 0 20px; }
  .brief-hero { padding: 74px 0 82px; }
  .brief-hero-grid, .form-layout { grid-template-columns: 1fr; gap: 55px; }
  .brief-intro { max-width: 620px; }
  .brief-form-section { padding: 85px 0 110px; }
  .form-layout aside { position: static; }
  .case-header { height: 88px; grid-template-columns: 1fr auto auto; padding: 0 20px; gap: 20px; }
  .case-hero { min-height: auto; padding: 90px 0 80px; }
  .case-hero-grid, .case-copy-grid, .case-brief-grid, .case-result-grid, .case-cta-grid { grid-template-columns: 1fr; gap: 55px; }
  .case-proof { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .case-proof > div:nth-child(2) { border-right: 0; }
  .case-proof > div { border-bottom: 1px solid #373737; }
  .role-grid { grid-template-columns: 1fr 1fr; }
  .role-card:nth-child(2) { border-right: 0; }
  .case-system-title { grid-template-columns: 1fr; gap: 35px; }
  .case-gallery-heading { grid-template-columns: 1fr; gap: 35px; }
  .media-feature { min-height: 520px; }
  .video-feature { min-height: 0; }
  .media-entertainment { min-height: 560px; }
  .case-related-heading { align-items: start; gap: 35px; }
}

@media (max-width: 620px) {
  .section-pad { padding-block: 72px; }
  .nav-cta { gap: 5px; }
  .nav-cta svg { display: none; }
  .hero { height: 100svh; min-height: 690px; }
  .hero-media { background-position: 56% center; }
  .hero-content { padding-bottom: 38px; }
  .eyebrow { margin-bottom: 24px; }
  .hero h1 { font-size: clamp(46px, 14vw, 66px); }
  .hero-bottom { margin-top: 30px; }
  .hero-bottom > p { font-size: 15px; }
  .button { width: 100%; }
  .proof-strip { padding-inline: 14px; }
  .proof-strip strong { font-size: 31px; }
  .proof-strip span { font-size: 8px; }
  .section-heading { display: block; }
  .work-heading > p { margin-top: 28px; }
  .service-list, .project-grid { margin-top: 52px; }
  .service { grid-template-columns: 38px 1fr; padding: 28px 0; }
  .fuse h2 { font-size: 23vw; }
  .fuse-facts { margin-top: 38px; }
  .fuse-facts strong { font-size: 34px; }
  .scope-list, .project-grid, .values { grid-template-columns: 1fr; }
  .project, .project-wide { grid-column: auto; min-height: 390px; }
  .project-copy { left: 21px; bottom: 21px; }
  .project-arrow { right: 20px; bottom: 22px; }
  .contact-meta { flex-direction: column; gap: 14px; }
  .brief-link { gap: 12px; }
  .brief-link span { font-size: 14px; }
  .footer-inner { min-height: 200px; grid-template-columns: 1fr auto; align-content: center; gap: 25px; }
  .footer-inner p { grid-column: span 2; grid-row: 1; margin: 0; }
  .footer-inner span { font-size: 8px; }
  .back-link { font-size: 9px; }
  .brief-hero h1 { font-size: 14.5vw; }
  .brief-intro > p { font-size: 16px; }
  .field-grid { grid-template-columns: 1fr; gap: 22px; }
  .field-full { grid-column: auto; }
  .brief-form-section { padding-top: 68px; }
  .case-header { grid-template-columns: 1fr auto; }
  .case-header .back-link { justify-self: end; }
  .case-header .nav-cta { display: none; }
  .case-hero { padding: 70px 0 68px; }
  .case-hero h1 { font-size: 20vw; }
  .case-scroll-note { display: none; }
  .case-proof { padding-inline: 14px; }
  .case-proof > div { min-height: 116px; padding: 22px 12px; }
  .case-proof strong { font-size: 34px; }
  .case-copy-grid .lead, .case-brief-copy .lead { margin-top: 34px; }
  .role-grid, .pillar-grid, .media-grid, .related-grid { grid-template-columns: 1fr; }
  .role-card, .role-card + .role-card, .pillar-grid article, .pillar-grid article + article { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--line); min-height: 280px; }
  .pillar-grid article, .pillar-grid article + article { border-bottom-color: #3c3c3c; }
  .pillar-grid h3 { margin-top: 75px; }
  .media-feature, .media-wide { grid-column: auto; min-height: 390px; }
  .video-feature { min-height: 0; }
  .video-caption { padding: 15px 18px 17px; }
  .video-caption p { font-size: 9px; }
  .media-photo { grid-column: auto; min-height: 0; }
  .media-entertainment { min-height: 440px; aspect-ratio: auto; }
  .media-photo-caption { padding: 19px; }
  .media-photo-caption p { font-size: 9px; }
  .case-gallery-heading > p { margin-top: 0; }
  .result-number { min-height: 340px; padding: 28px; }
  .case-related-heading { display: block; }
  .case-related-heading > a { margin-top: 30px; }
  .related-card { min-height: 390px; padding: 22px; }
  .related-card h3 { font-size: 28px; }
}

/* Live Concerts case study */
.concert-page { --concert-blue: #315cff; --concert-orange: #ff5d34; background: var(--paper); color: var(--ink); }
.concert-header { background: #050505; }
.concert-hero { min-height: calc(100svh - 108px); position: relative; display: flex; align-items: flex-end; overflow: hidden; background: #050505; color: white; }
.concert-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; transform: scale(1.015); }
.concert-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.08) 72%),linear-gradient(0deg,rgba(0,0,0,.92),transparent 66%); }
.concert-hero-content { position: relative; z-index: 1; padding-bottom: 64px; }
.concert-hero h1, .concert-intro h2, .concert-roles h2, .concert-control h2, .concert-artists h2, .concert-gallery h2, .concert-result h2, .concert-cta h2 { margin: 0; font-weight: 900; line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.concert-hero h1 { max-width: 1120px; font-size: clamp(76px,11.5vw,174px); }
.concert-hero h1 span, .concert-gallery h2 span { color: var(--acid); }
.concert-hero-content > p:last-child { max-width: 720px; margin: 36px 0 0; color: #deded8; font-size: clamp(18px,2vw,26px); font-weight: 700; line-height: 1.32; letter-spacing: -.02em; }
.concert-proof { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 48px; background: var(--acid); }
.concert-proof > div { min-height: 142px; padding: 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(0,0,0,.28); }
.concert-proof > div:last-child { border-right: 0; }
.concert-proof strong { max-width: 250px; font-size: clamp(32px,3.8vw,56px); line-height: .88; letter-spacing: -.06em; }
.concert-proof span { margin-top: 14px; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.concert-copy-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; }
.concert-intro h2 { font-size: clamp(60px,7.5vw,112px); }
.concert-intro h2 span { color: var(--concert-blue); }
.concert-intro .lead { max-width: 900px; margin: 46px 0 30px; }
.concert-intro .lead + p { max-width: 750px; margin: 0; color: #595953; font-size: 17px; line-height: 1.75; }
.concert-roles { background: #070707; color: white; }
.concert-section-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: end; }
.concert-roles h2 { font-size: clamp(62px,8vw,118px); }
.concert-roles h2 span { color: var(--concert-orange); }
.concert-section-heading > p { max-width: 570px; margin: 0 0 8px; color: #aaa; font-size: 18px; line-height: 1.7; }
.concert-role-grid { margin-top: 90px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #393939; }
.concert-role-grid article { min-height: 288px; padding: 25px 28px 30px; border-right: 1px solid #393939; }
.concert-role-grid article:first-child { border-left: 1px solid #393939; }
.concert-role-grid article > div { display: flex; align-items: center; justify-content: space-between; color: var(--concert-orange); }
.concert-role-grid article > div span { color: #777; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.concert-role-grid h3 { margin: 38px 0 15px; font-size: 25px; line-height: 1; letter-spacing: -.04em; }
.concert-role-grid p { margin: 0; color: #999; font-size: 15px; line-height: 1.65; }
.concert-control { background: var(--paper); }
.concert-control-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 100px; align-items: center; }
.concert-control figure { min-height: 760px; position: relative; margin: 0; overflow: hidden; background: #090909; }
.concert-control figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.concert-control figure::after, .concert-photo::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.82)); }
.concert-control figcaption, .concert-photo figcaption { position: absolute; z-index: 1; left: 22px; bottom: 19px; color: white; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.concert-control h2 { font-size: clamp(58px,7vw,104px); }
.concert-control h2 span { color: var(--concert-blue); }
.concert-control .lead { margin: 43px 0 35px; font-size: 22px; }
.concert-delivery-list { border-top: 1px solid rgba(0,0,0,.28); }
.concert-delivery-list span { min-height: 57px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(0,0,0,.2); font-size: 13px; font-weight: 750; }
.concert-delivery-list svg { color: var(--concert-blue); }
.concert-artists { padding-bottom: 0; overflow: hidden; background: var(--acid); }
.concert-artists-heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; }
.concert-artists h2 { font-size: clamp(58px,7.3vw,108px); }
.concert-artist-ticker { margin-top: 88px; overflow: hidden; background: #070707; color: white; }
.concert-artist-ticker > div { width: max-content; display: flex; padding: 24px 0 27px; animation: concert-marquee 42s linear infinite; }
.concert-artist-ticker span { white-space: nowrap; font-size: clamp(24px,3.1vw,46px); font-weight: 900; letter-spacing: -.035em; text-transform: uppercase; }
.concert-artist-ticker i { padding: 0 17px; color: var(--acid); font-style: normal; }
@keyframes concert-marquee { to { transform: translateX(-50%); } }
.concert-genre-line { min-height: 115px; display: flex; align-items: center; justify-content: space-between; gap: 28px; overflow-x: auto; }
.concert-genre-line span { flex: none; font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.concert-gallery { background: #070707; color: white; }
.concert-gallery-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: end; }
.concert-gallery h2 { font-size: clamp(62px,8vw,118px); }
.concert-gallery-heading > p { max-width: 540px; margin: 0 0 8px; color: #999; font-size: 18px; line-height: 1.7; }
.concert-gallery-grid { margin-top: 88px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.concert-photo { min-height: 520px; position: relative; margin: 0; overflow: hidden; background: #111; }
.concert-photo-wide { grid-column: span 2; min-height: 650px; }
.concert-photo-tall { min-height: 680px; }
.concert-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.concert-photo-wide:first-child img { object-position: center 54%; }
.concert-photo:nth-child(2) img { object-position: center 38%; }
.concert-photo:nth-child(4) img { object-position: center 50%; }
.concert-result { background: var(--concert-blue); color: white; }
.concert-result-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 100px; align-items: center; }
.concert-result-grid > strong { min-height: 420px; padding: 38px; display: flex; align-items: flex-end; background: var(--acid); color: #080808; font-size: clamp(64px,8vw,118px); line-height: .78; letter-spacing: -.07em; }
.concert-result h2 { font-size: clamp(58px,7vw,104px); }
.concert-result-grid > div > p:last-child { max-width: 650px; margin: 34px 0 0; color: #e2e5ff; font-size: 17px; line-height: 1.72; }
.concert-cta { padding-block: 92px; background: var(--concert-orange); }
.concert-cta-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 100px; align-items: center; }
.concert-cta h2 { font-size: clamp(65px,8vw,120px); }
.concert-cta-grid > div:last-child p { margin: 0 0 34px; font-size: 18px; line-height: 1.65; }
.concert-cta-grid > div:last-child a { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; background: #080808; color: white; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

@media (max-width: 900px) {
  .concert-hero { min-height: 760px; }
  .concert-proof { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .concert-proof > div:nth-child(2) { border-right: 0; }
  .concert-proof > div { border-bottom: 1px solid rgba(0,0,0,.24); }
  .concert-copy-grid, .concert-section-heading, .concert-control-grid, .concert-artists-heading, .concert-gallery-heading, .concert-result-grid, .concert-cta-grid { grid-template-columns: 1fr; gap: 55px; }
  .concert-role-grid { grid-template-columns: 1fr 1fr; margin-top: 60px; }
  .concert-role-grid article:nth-child(3) { border-left: 1px solid #393939; }
  .concert-control figure { min-height: 620px; }
  .concert-result-grid > strong { min-height: 330px; }
}

@media (max-width: 620px) {
  .concert-hero { min-height: 680px; }
  .concert-hero > img { object-position: 57% center; }
  .concert-hero-content { padding-bottom: 45px; }
  .concert-hero h1 { font-size: 17.8vw; }
  .concert-proof { padding-inline: 14px; }
  .concert-proof > div { min-height: 112px; padding: 20px 12px; }
  .concert-proof strong { font-size: 30px; }
  .concert-proof span { font-size: 8px; }
  .concert-role-grid { grid-template-columns: 1fr; }
  .concert-role-grid article, .concert-role-grid article:first-child, .concert-role-grid article:nth-child(3) { min-height: 0; border-left: 0; border-right: 0; border-bottom: 1px solid #393939; }
  .concert-control figure { min-height: 500px; }
  .concert-control .lead { font-size: 19px; }
  .concert-artist-ticker { margin-top: 58px; }
  .concert-genre-line { justify-content: flex-start; }
  .concert-gallery-grid { grid-template-columns: 1fr; margin-top: 55px; }
  .concert-photo, .concert-photo-wide, .concert-photo-tall { grid-column: auto; min-height: 410px; }
  .concert-result-grid > strong { min-height: 280px; }
  .concert-cta { padding-block: 74px; }
}

/* Brand Activations case study */
.activation-page { --activation-cyan: #08d4d1; --activation-pink: #ff4fa1; background: var(--paper); color: var(--ink); }
.activation-header { background: #050505; }
.activation-hero { min-height: calc(100svh - 108px); position: relative; display: flex; align-items: flex-end; overflow: hidden; background: #050505; color: white; }
.activation-hero-grid { position: absolute; inset: 0; display: grid; grid-template-columns: 1.65fr .62fr .62fr; gap: 5px; background: #050505; }
.activation-hero-grid img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.activation-hero-grid img:first-child { object-position: center; }
.activation-hero-grid img:nth-child(2) { object-position: 45% center; }
.activation-hero-grid img:nth-child(3) { object-position: center; }
.activation-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.2) 72%),linear-gradient(0deg,rgba(0,0,0,.94),transparent 64%); }
.activation-hero-content { position: relative; z-index: 1; padding-bottom: 64px; }
.activation-hero h1, .activation-intro h2, .activation-capabilities h2, .activation-project h2, .activation-result h2, .activation-cta h2 { margin: 0; font-weight: 900; line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.activation-hero h1 { max-width: 1180px; font-size: clamp(68px,10.8vw,164px); }
.activation-hero h1 span { color: var(--acid); }
.activation-hero-content > p:last-child { max-width: 730px; margin: 36px 0 0; color: #deded8; font-size: clamp(18px,2vw,26px); font-weight: 700; line-height: 1.32; letter-spacing: -.02em; }
.activation-proof { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 48px; background: var(--acid); }
.activation-proof > div { min-height: 142px; padding: 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(0,0,0,.28); }
.activation-proof > div:last-child { border-right: 0; }
.activation-proof strong { max-width: 270px; font-size: clamp(30px,3.4vw,50px); line-height: .9; letter-spacing: -.055em; }
.activation-proof > div:nth-child(3) strong { font-size: clamp(24px,2.25vw,34px); line-height: 1; }
.activation-proof span { margin-top: 14px; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.activation-copy-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; }
.activation-intro h2 { font-size: clamp(58px,7.4vw,110px); }
.activation-intro h2 span { color: var(--activation-pink); }
.activation-intro .lead { max-width: 900px; margin: 46px 0 30px; }
.activation-intro .lead + p { max-width: 760px; margin: 0; color: #595953; font-size: 17px; line-height: 1.75; }
.activation-capabilities { background: #070707; color: white; }
.activation-section-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: end; }
.activation-capabilities h2 { font-size: clamp(62px,8vw,118px); }
.activation-capabilities h2 span { color: var(--activation-cyan); }
.activation-section-heading > p { max-width: 570px; margin: 0 0 8px; color: #aaa; font-size: 18px; line-height: 1.7; }
.activation-capability-grid { margin-top: 90px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #393939; }
.activation-capability-grid article { min-height: 288px; padding: 25px 28px 30px; border-right: 1px solid #393939; }
.activation-capability-grid article:first-child { border-left: 1px solid #393939; }
.activation-capability-grid article > div { display: flex; align-items: center; justify-content: space-between; color: var(--activation-cyan); }
.activation-capability-grid article > div span { color: #777; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.activation-capability-grid h3 { margin: 38px 0 15px; font-size: 25px; line-height: 1; letter-spacing: -.04em; }
.activation-capability-grid p { margin: 0; color: #999; font-size: 15px; line-height: 1.65; }
.activation-project-heading { display: grid; grid-template-columns: .86fr 1.14fr; gap: 100px; align-items: start; }
.activation-project h2 { font-size: clamp(64px,8.6vw,130px); }
.activation-project-copy { padding-top: 2px; }
.activation-meta { display: grid; grid-template-columns: 1fr; border-top: 1px solid currentColor; }
.activation-meta span { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.activation-meta b { font-size: 12px; text-align: right; }
.activation-project-copy .lead { margin: 45px 0 24px; font-size: clamp(22px,2.2vw,31px); font-weight: 800; line-height: 1.25; }
.activation-project-copy > p:not(.lead) { margin: 0; color: #5b5b55; font-size: 17px; line-height: 1.75; }
.activation-checklist { margin-top: 38px; border-top: 1px solid currentColor; }
.activation-checklist span { min-height: 55px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 750; }
.activation-checklist svg { flex: 0 0 auto; color: var(--activation-pink); }
.activation-gallery { margin-top: 92px; display: grid; gap: 14px; }
.activation-gallery figure, .activation-r8-gallery figure { position: relative; min-height: 520px; margin: 0; overflow: hidden; background: #111; color: white; }
.activation-gallery figure::after, .activation-r8-gallery figure::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.84)); }
.activation-gallery img, .activation-r8-gallery img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.activation-gallery figcaption, .activation-r8-gallery figcaption { position: absolute; z-index: 1; left: 22px; bottom: 19px; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.activation-gallery-three { grid-template-columns: .78fr 1.22fr; grid-template-rows: repeat(2,390px); }
.activation-gallery-three figure { min-height: 0; }
.activation-gallery-three .activation-photo-tall { grid-row: span 2; }
.activation-gallery-three figure:nth-child(2) img { object-position: center 55%; }
.activation-gallery-three figure:nth-child(3) img { object-position: center 66%; }
.activation-cosmote { background: #063563; color: white; }
.activation-cosmote .eyebrow::before { background: var(--activation-cyan); }
.activation-cosmote h2 span { color: var(--activation-cyan); }
.activation-cosmote .activation-project-copy > p:not(.lead) { color: #c3d4e3; }
.activation-cosmote .activation-meta, .activation-cosmote .activation-meta span, .activation-cosmote .activation-checklist, .activation-cosmote .activation-checklist span { border-color: rgba(255,255,255,.28); }
.activation-cosmote .activation-checklist svg { color: var(--activation-cyan); }
.activation-gallery-cosmote { grid-template-columns: 1fr 1fr; grid-auto-rows: 510px; }
.activation-gallery-cosmote figure { min-height: 0; }
.activation-gallery-cosmote .activation-photo-wide { grid-column: span 2; }
.activation-gallery-cosmote .activation-photo-wide:first-child { min-height: 650px; }
.activation-gallery-cosmote .activation-photo-wide:first-child img { object-position: center 54%; }
.activation-gallery-cosmote figure:nth-child(2) img { object-position: center; }
.activation-gallery-cosmote figure:nth-child(3) img, .activation-gallery-cosmote figure:nth-child(4) img { object-position: center 66%; }
.activation-r8 { background: #070707; color: white; }
.activation-r8 .eyebrow::before { background: var(--activation-pink); }
.activation-r8 h2 span { color: var(--activation-pink); }
.activation-r8 .activation-project-copy > p:not(.lead) { color: #aaa; }
.activation-r8 .activation-meta, .activation-r8 .activation-meta span, .activation-r8 .activation-checklist, .activation-r8 .activation-checklist span { border-color: #3b3b3b; }
.activation-r8-gallery { width: min(1380px,calc(100% - 64px)); margin: 92px auto 0; display: grid; grid-template-columns: 1.55fr .65fr; gap: 14px; }
.activation-r8-gallery figure { min-height: 690px; }
.activation-r8-gallery figure:first-child img { object-position: center; }
.activation-r8-gallery figure:last-child img { object-position: center; }
.activation-result { background: var(--acid); }
.activation-result-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 100px; align-items: center; }
.activation-result-grid > strong { min-height: 440px; padding: 38px; display: flex; align-items: flex-end; background: #070707; color: white; font-size: clamp(59px,7.6vw,112px); line-height: .78; letter-spacing: -.07em; }
.activation-result h2 { font-size: clamp(58px,7vw,104px); }
.activation-result h2 span { color: #315cff; }
.activation-result-grid > div > p:last-child { max-width: 650px; margin: 34px 0 0; color: #353530; font-size: 17px; line-height: 1.72; }
.activation-cta { padding-block: 92px; background: var(--activation-pink); }
.activation-cta-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 100px; align-items: center; }
.activation-cta h2 { font-size: clamp(65px,8vw,120px); }
.activation-cta-grid > div:last-child p { margin: 0 0 34px; font-size: 18px; line-height: 1.65; }
.activation-cta-grid > div:last-child a { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; background: #080808; color: white; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

@media (max-width: 900px) {
  .activation-hero { min-height: 760px; }
  .activation-hero-grid { grid-template-columns: 1.3fr .7fr; grid-template-rows: 1fr 1fr; }
  .activation-hero-grid img:first-child { grid-row: span 2; }
  .activation-proof { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .activation-proof > div:nth-child(2) { border-right: 0; }
  .activation-proof > div { border-bottom: 1px solid rgba(0,0,0,.24); }
  .activation-copy-grid, .activation-section-heading, .activation-project-heading, .activation-result-grid, .activation-cta-grid { grid-template-columns: 1fr; gap: 55px; }
  .activation-capability-grid { grid-template-columns: 1fr 1fr; margin-top: 60px; }
  .activation-capability-grid article:nth-child(3) { border-left: 1px solid #393939; }
  .activation-gallery-three { grid-template-rows: repeat(2,310px); }
  .activation-gallery-cosmote { grid-auto-rows: 430px; }
  .activation-gallery-cosmote .activation-photo-wide:first-child { min-height: 560px; }
  .activation-r8-gallery { grid-template-columns: 1.2fr .8fr; }
  .activation-r8-gallery figure { min-height: 560px; }
  .activation-result-grid > strong { min-height: 330px; }
}

@media (max-width: 620px) {
  .activation-hero { min-height: 690px; }
  .activation-hero-grid { grid-template-columns: 1fr; grid-template-rows: 1fr; }
  .activation-hero-grid img:first-child { grid-row: auto; }
  .activation-hero-grid img:not(:first-child) { display: none; }
  .activation-hero-content { padding-bottom: 45px; }
  .activation-hero h1 { font-size: 14.8vw; }
  .activation-proof { padding-inline: 14px; }
  .activation-proof > div { min-height: 112px; padding: 20px 12px; }
  .activation-proof strong { font-size: 27px; }
  .activation-proof span { font-size: 8px; }
  .activation-capability-grid { grid-template-columns: 1fr; }
  .activation-capability-grid article, .activation-capability-grid article:first-child, .activation-capability-grid article:nth-child(3) { min-height: 0; border-left: 0; border-right: 0; border-bottom: 1px solid #393939; }
  .activation-meta b { max-width: 58%; }
  .activation-project-copy .lead { font-size: 21px; }
  .activation-gallery { margin-top: 56px; }
  .activation-gallery-three, .activation-gallery-cosmote { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: auto; }
  .activation-gallery-three figure, .activation-gallery-three .activation-photo-tall, .activation-gallery-cosmote figure, .activation-gallery-cosmote .activation-photo-wide, .activation-gallery-cosmote .activation-photo-wide:first-child { grid-column: auto; grid-row: auto; min-height: 410px; }
  .activation-r8-gallery { width: min(100% - 40px,1240px); margin-top: 56px; grid-template-columns: 1fr; }
  .activation-r8-gallery figure { min-height: 410px; }
  .activation-result-grid > strong { min-height: 300px; }
  .activation-cta { padding-block: 74px; }
}

/* The MINI Festival case study */
.mini-page { --mini-blue: #00a7dc; --mini-yellow: #ffd43b; --mini-coral: #ff6b5f; background: var(--paper); color: var(--ink); }
.mini-header { background: #050505; }
.mini-hero { min-height: calc(100svh - 108px); position: relative; display: flex; align-items: flex-end; overflow: hidden; background: #050505; color: white; }
.mini-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.mini-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.08) 76%),linear-gradient(0deg,rgba(0,0,0,.93),transparent 66%); }
.mini-hero-content { position: relative; z-index: 1; padding-bottom: 64px; }
.mini-hero h1, .mini-intro h2, .mini-audiences h2, .mini-production h2, .mini-programme h2, .mini-result h2, .mini-cta h2 { margin: 0; font-weight: 900; line-height: .84; letter-spacing: -.065em; text-transform: uppercase; }
.mini-hero h1 { max-width: 1120px; font-size: clamp(74px,11.2vw,170px); }
.mini-hero h1 span { color: var(--mini-yellow); }
.mini-hero-content > p:last-child { max-width: 720px; margin: 36px 0 0; color: #f0efea; font-size: clamp(18px,2vw,26px); font-weight: 700; line-height: 1.32; letter-spacing: -.02em; }
.mini-proof { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 48px; background: var(--mini-yellow); }
.mini-proof > div { min-height: 142px; padding: 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(0,0,0,.28); }
.mini-proof > div:last-child { border-right: 0; }
.mini-proof strong { font-size: clamp(32px,3.7vw,55px); line-height: .9; letter-spacing: -.055em; }
.mini-proof span { margin-top: 14px; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.mini-copy-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; }
.mini-intro h2 { font-size: clamp(57px,7.2vw,108px); }
.mini-intro h2 span { color: var(--mini-blue); }
.mini-intro .lead { max-width: 900px; margin: 46px 0 30px; }
.mini-intro .lead + p { max-width: 760px; margin: 0; color: #595953; font-size: 17px; line-height: 1.75; }
.mini-audiences { background: var(--mini-blue); }
.mini-audiences-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: end; }
.mini-audiences h2 { font-size: clamp(62px,8vw,118px); }
.mini-audiences h2 span { color: white; }
.mini-audiences-heading > p { max-width: 570px; margin: 0 0 8px; color: #063c51; font-size: 18px; font-weight: 650; line-height: 1.7; }
.mini-audience-cards { margin-top: 84px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(0,0,0,.35); }
.mini-audience-cards article { min-height: 340px; padding: 30px 34px; display: flex; flex-direction: column; align-items: flex-start; }
.mini-audience-cards article + article { border-left: 1px solid rgba(0,0,0,.35); }
.mini-audience-cards article > span { margin-bottom: auto; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.mini-audience-cards svg { color: white; }
.mini-audience-cards h3 { margin: 30px 0 14px; font-size: clamp(28px,3vw,43px); line-height: .95; letter-spacing: -.045em; }
.mini-audience-cards p { max-width: 520px; margin: 0; color: #063c51; font-size: 15px; line-height: 1.65; }
.mini-production { background: var(--paper); }
.mini-production-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 100px; align-items: center; }
.mini-production figure { position: relative; min-height: 760px; margin: 0; overflow: hidden; background: #111; }
.mini-production figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mini-production figure::after, .mini-gallery figure::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.82)); }
.mini-production figcaption, .mini-gallery figcaption { position: absolute; z-index: 1; left: 22px; bottom: 19px; color: white; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.mini-production h2 { font-size: clamp(58px,7vw,104px); }
.mini-production h2 span { color: var(--mini-coral); }
.mini-production .lead { margin: 43px 0 25px; font-size: 22px; }
.mini-production .lead + p { margin: 0; color: #595953; font-size: 16px; line-height: 1.72; }
.mini-checklist { margin-top: 36px; border-top: 1px solid rgba(0,0,0,.28); }
.mini-checklist span { min-height: 55px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(0,0,0,.2); font-size: 13px; font-weight: 750; }
.mini-checklist svg { color: var(--mini-blue); }
.mini-programme { background: #070707; color: white; }
.mini-programme-heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; }
.mini-programme h2 { font-size: clamp(62px,8vw,118px); }
.mini-programme h2 span { color: var(--mini-yellow); }
.mini-experience-grid { margin-top: 88px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #393939; }
.mini-experience-grid article { min-height: 292px; padding: 25px 28px 30px; border-right: 1px solid #393939; }
.mini-experience-grid article:first-child { border-left: 1px solid #393939; }
.mini-experience-grid article > div { display: flex; align-items: center; justify-content: space-between; color: var(--mini-yellow); }
.mini-experience-grid article > div span { color: #777; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.mini-experience-grid h3 { margin: 38px 0 15px; font-size: 25px; line-height: 1; letter-spacing: -.04em; }
.mini-experience-grid p { margin: 0; color: #999; font-size: 15px; line-height: 1.65; }
.mini-gallery { margin-top: 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mini-gallery figure { position: relative; min-height: 560px; margin: 0; overflow: hidden; background: #111; }
.mini-gallery .mini-photo-wide { grid-column: span 2; min-height: 720px; }
.mini-gallery img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mini-gallery .mini-photo-wide img { object-position: center 58%; }
.mini-gallery figure:nth-child(2) img { object-position: center; }
.mini-gallery figure:nth-child(3) img { object-position: center; }
.mini-result { background: var(--mini-coral); }
.mini-result-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; align-items: center; }
.mini-result-grid > strong { min-height: 440px; padding: 38px; display: flex; align-items: flex-end; background: var(--mini-yellow); font-size: clamp(50px,6.5vw,96px); line-height: .78; letter-spacing: -.07em; }
.mini-result h2 { font-size: clamp(58px,7vw,104px); }
.mini-result h2 span { color: white; }
.mini-result-grid > div > p:last-child { max-width: 650px; margin: 34px 0 0; color: #4a211d; font-size: 17px; line-height: 1.72; }
.mini-cta { padding-block: 92px; background: var(--mini-yellow); }
.mini-cta-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 100px; align-items: center; }
.mini-cta h2 { font-size: clamp(65px,8vw,120px); }
.mini-cta-grid > div:last-child p { margin: 0 0 34px; font-size: 18px; line-height: 1.65; }
.mini-cta-grid > div:last-child a { min-height: 62px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; background: #080808; color: white; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

@media (max-width: 900px) {
  .mini-hero { min-height: 760px; }
  .mini-proof { grid-template-columns: 1fr 1fr; padding: 0 20px; }
  .mini-proof > div:nth-child(2) { border-right: 0; }
  .mini-proof > div { border-bottom: 1px solid rgba(0,0,0,.24); }
  .mini-copy-grid, .mini-audiences-heading, .mini-production-grid, .mini-programme-heading, .mini-result-grid, .mini-cta-grid { grid-template-columns: 1fr; gap: 55px; }
  .mini-audience-cards { margin-top: 60px; }
  .mini-production figure { min-height: 620px; }
  .mini-experience-grid { grid-template-columns: 1fr 1fr; margin-top: 60px; }
  .mini-experience-grid article:nth-child(3) { border-left: 1px solid #393939; }
  .mini-gallery .mini-photo-wide { min-height: 620px; }
  .mini-result-grid > strong { min-height: 330px; }
}

@media (max-width: 620px) {
  .mini-hero { min-height: 690px; }
  .mini-hero > img { object-position: 60% center; }
  .mini-hero-content { padding-bottom: 45px; }
  .mini-hero h1 { font-size: 16vw; }
  .mini-proof { padding-inline: 14px; }
  .mini-proof > div { min-height: 112px; padding: 20px 12px; }
  .mini-proof strong { font-size: 29px; }
  .mini-proof span { font-size: 8px; }
  .mini-audience-cards { grid-template-columns: 1fr; }
  .mini-audience-cards article { min-height: 310px; padding: 26px 24px; }
  .mini-audience-cards article + article { border-left: 0; border-top: 1px solid rgba(0,0,0,.35); }
  .mini-production figure { min-height: 500px; }
  .mini-production .lead { font-size: 19px; }
  .mini-experience-grid { grid-template-columns: 1fr; }
  .mini-experience-grid article, .mini-experience-grid article:first-child, .mini-experience-grid article:nth-child(3) { min-height: 0; border-left: 0; border-right: 0; border-bottom: 1px solid #393939; }
  .mini-gallery { grid-template-columns: 1fr; margin-top: 58px; }
  .mini-gallery figure, .mini-gallery .mini-photo-wide { grid-column: auto; min-height: 430px; }
  .mini-result-grid > strong { min-height: 300px; }
  .mini-cta { padding-block: 74px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ticker-track { animation: none; }
  .concert-artist-ticker > div { animation: none; }
  .project img { transition: none; }
}
