/* Agency689 DEV: sitewide visual system derived from The Art of Arrival. */
:root {
  --film-blue: #587784;
  --film-blue-deep: #365663;
  --film-cream: #eee5d5;
  --film-paper: #f7f0e4;
  --film-blush: #c6a4a1;
  --film-rose: #9f6e6b;
  --film-ochre: #bd8b4d;
  --film-rose-text: #80514f;
  --film-ochre-text: #7e551f;
  --film-ochre-light: #efc98f;
  --film-wine: #522d34;
  --film-ink: #261b1b;
  --film-line: rgba(38, 27, 27, .24);
  --film-line-light: rgba(238, 229, 213, .34);
  --site-paper: var(--film-paper);
  --site-ink: var(--film-ink);
  --site-soft: #624e4d;
  --site-muted: #806c69;
  --site-blue: var(--film-ochre);
  --site-blue-dark: var(--film-wine);
  --site-line: rgba(82, 45, 52, .26);
  --site-header-h: 68px;
  --ai-cyan: var(--film-ochre);
  --ai-cyan-soft: var(--film-rose);
  --ai-cyan-faint: rgba(189, 139, 77, .2);
  --ai-orange: var(--film-ochre);
  --ai-green: var(--film-blue);
  --ai-rose: var(--film-rose);
}

::selection {
  background: var(--film-wine);
  color: var(--film-cream);
}

html {
  background: var(--film-blue-deep);
}

body {
  background-color: var(--film-paper);
  color: var(--film-ink);
}

body[data-page="agency-about"],
body[data-page="agency-services"],
body[data-page="agency-performance-creative"],
body[data-page="agency-contact"],
body[data-page="agency-legal"],
body[data-page="work"],
body[data-page="ai-systems"] {
  background-color: var(--film-paper);
}

body[data-page="agency-about"] {
  --about-orange: var(--film-ochre);
  --about-blue: var(--film-blue-deep);
}

body[data-page="agency-services"] {
  --service-blue: var(--film-ochre);
  --service-orange: var(--film-rose);
  --service-green: var(--film-blue-deep);
}

body[data-page="agency-performance-creative"] {
  --pc-blue: var(--film-ochre);
  --pc-orange: var(--film-rose);
  --pc-green: var(--film-blue-deep);
}

body:not([data-page="home"]) {
  background-image:
    linear-gradient(90deg, rgba(82, 45, 52, .07) 1px, transparent 1px),
    linear-gradient(rgba(82, 45, 52, .045) 1px, transparent 1px);
  background-size: 25vw 100%, 100% 25vh;
}

body a {
  text-underline-offset: .18em;
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body textarea:focus-visible,
body summary:focus-visible {
  outline-color: var(--film-wine);
}

.site-header a:focus-visible,
.site-header button:focus-visible,
.site-footer a:focus-visible {
  outline-color: var(--film-cream);
}

/* Navigation: an open field of oversized titles, not a directory. */
.site-header {
  grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
  min-height: var(--site-header-h);
  padding: 0 clamp(16px, 2.4vw, 42px);
  border-bottom: 1px solid rgba(238, 229, 213, .26);
  background: var(--film-blue-deep);
  color: var(--film-cream);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}

.site-header.is-scrolled,
.site-header.is-menu-open {
  background: var(--film-blue-deep);
  border-bottom-color: rgba(238, 229, 213, .26);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.site-header__identity {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: baseline;
  gap: 14px;
  width: max-content;
  pointer-events: auto;
}

.brand-text {
  color: var(--film-cream);
  font-size: clamp(19px, 1.35vw, 24px);
  font-weight: 500;
  letter-spacing: .065em;
}

.site-header__edition,
.site-header__context {
  margin: 0;
  color: rgba(238, 229, 213, .80);
  font: 600 10px/1 var(--font-primary);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.site-header__context {
  position: relative;
  z-index: 3;
  justify-self: center;
  white-space: nowrap;
}

.nav-controls {
  gap: clamp(10px, 1.4vw, 24px);
}

.talk-button,
.menu-button {
  min-height: 44px;
  border-radius: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
}

.talk-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--film-cream);
}

.talk-button::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-radius: 50%;
  background: var(--film-ochre);
}

.menu-button {
  min-width: 92px;
  padding-inline: 15px 12px;
  border: 1px solid rgba(238, 229, 213, .42);
  color: var(--film-cream);
}

.talk-button:hover,
.talk-button:focus-visible {
  border: 0;
  background: transparent;
  color: var(--film-cream);
  text-decoration: underline;
}

.menu-button:hover,
.menu-button:focus-visible {
  border-color: var(--film-ochre);
  background: var(--film-ochre);
  color: var(--film-ink);
}

.site-header.is-menu-open .menu-button {
  border-color: var(--film-cream);
  background: var(--film-cream);
  color: var(--film-wine);
}

.site-menu-panel {
  inset: 0;
  z-index: 9002;
  width: 100%;
  height: 100svh;
  max-height: none;
  display: block;
  padding: calc(var(--site-header-h) + 16px) clamp(16px, 3vw, 48px) 16px;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(135deg, rgba(238, 229, 213, .045) 25%, transparent 25%) 0 0 / 18px 18px,
    linear-gradient(315deg, rgba(238, 229, 213, .035) 25%, transparent 25%) 0 0 / 18px 18px,
    var(--film-blue-deep);
  color: var(--film-ink);
  box-shadow: none;
  clip-path: inset(0 0 0 100%);
  overflow: hidden;
  transform: none;
  isolation: isolate;
}

.site-menu-panel::before {
  display: none;
  content: none;
}

.site-menu-panel::after {
  display: none;
  content: none;
}

.site-header.is-menu-open .site-menu-panel {
  clip-path: inset(0 0 0 0);
  transform: none;
}

.site-menu-book {
  position: relative;
  width: min(1500px, 100%);
  height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
  overflow: hidden;
  border: 7px solid var(--film-wine);
  border-radius: 5px;
  outline: 1px solid rgba(238, 229, 213, .5);
  outline-offset: 3px;
  background: var(--film-wine);
  box-shadow: 0 28px 80px rgba(38, 27, 27, .38);
  transform-origin: 50% 0;
}

.site-menu-page {
  min-width: 0;
  overflow: hidden auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(82, 45, 52, .25) transparent;
}

.site-menu-page--left {
  grid-column: 1;
  padding: clamp(26px, 3.2vw, 52px) clamp(28px, 4vw, 64px) clamp(24px, 3vw, 46px);
  background:
    radial-gradient(circle at 8% 6%, rgba(198, 164, 161, .2), transparent 22%),
    var(--film-paper);
}

.site-menu-page--right {
  grid-column: 3;
  display: grid;
  grid-template-rows: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(20px, 3vh, 34px);
  padding: clamp(26px, 3.2vw, 52px) clamp(28px, 4vw, 64px) clamp(24px, 3vw, 46px);
  background:
    radial-gradient(circle at 92% 94%, rgba(189, 139, 77, .13), transparent 24%),
    #f3e8d6;
}

.site-menu-spine {
  position: relative;
  z-index: 3;
  grid-column: 2;
  background:
    linear-gradient(90deg,
      rgba(38, 27, 27, .16),
      rgba(255, 255, 255, .65) 24%,
      rgba(82, 45, 52, .3) 50%,
      rgba(255, 255, 255, .55) 76%,
      rgba(38, 27, 27, .18));
  box-shadow: -8px 0 18px rgba(38, 27, 27, .12), 8px 0 18px rgba(38, 27, 27, .1);
}

.site-menu-spine::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  width: 1px;
  background: rgba(82, 45, 52, .32);
}

.site-menu-crest {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 10px;
  color: var(--film-ochre-text);
}

.site-menu-crest span {
  width: 34px;
  height: 1px;
  background: currentColor;
}

.site-menu-crest b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.site-menu-heading {
  display: block;
  padding: 0;
  border: 0;
  text-align: center;
  color: var(--film-wine);
}

.site-menu-heading p,
.site-menu-heading span,
.site-menu-eyebrow {
  display: block;
  margin: 0;
  color: var(--film-rose-text);
  font: 700 clamp(8px, .62vw, 10px)/1.2 var(--font-primary);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.site-menu-heading h2 {
  margin: 5px 0 7px;
  color: var(--film-wine);
  font-size: clamp(24px, 2.2vw, 36px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

.site-menu-links {
  display: grid;
  gap: clamp(7px, 1.05vh, 12px);
  margin-top: clamp(16px, 2.2vh, 26px);
  min-width: 0;
}

.site-menu-links > a {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  border: 0;
  color: var(--film-wine);
  white-space: normal;
  transition: color .35s ease, transform .55s var(--site-ease), opacity .35s ease;
}

.site-menu-links > a::before {
  display: none;
  content: none;
}

.site-menu-links > a::after {
  display: none;
  content: none;
}

.site-menu-links > a:hover,
.site-menu-links > a:focus-visible,
.site-menu-links > a.is-active {
  padding: 0;
  color: var(--film-ochre-text);
}

.site-menu-links > a:hover,
.site-menu-links > a:focus-visible {
  transform: translateX(5px);
}

.site-menu-link-course {
  display: block;
  margin-bottom: 2px;
  color: var(--film-rose-text);
  font-size: clamp(7px, .58vw, 9px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.site-menu-link-title {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  color: inherit;
  font-size: clamp(21px, 2vw, 31px);
  font-weight: 300;
  line-height: .94;
  letter-spacing: -.035em;
  white-space: nowrap;
}

.site-menu-link-title::after {
  content: "";
  position: absolute;
  top: 52%;
  right: -13px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--film-ochre);
  opacity: 0;
  transform: translateY(-50%) scale(0);
  transition: opacity .3s ease, transform .45s var(--site-ease);
}

.site-menu-links > a.is-active .site-menu-link-title::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.site-menu-link-desc {
  display: block;
  max-width: 56ch;
  margin-top: 3px;
  color: var(--site-soft);
  font-size: clamp(9px, .72vw, 11px);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: .012em;
  transition: color .35s ease;
}

.site-menu-links > a:hover .site-menu-link-desc,
.site-menu-links > a:focus-visible .site-menu-link-desc {
  color: var(--film-ink);
}

.site-menu-links.is-hovering > a:not(:hover):not(:focus-visible) {
  color: rgba(82, 45, 52, .32);
}

.site-menu-links.is-hovering > a.is-active:not(:hover):not(:focus-visible) {
  color: var(--film-ochre-text);
}

.site-menu-featured,
.site-menu-wine {
  min-height: 0;
}

.site-menu-featured h2,
.site-menu-wine h2 {
  margin: 5px 0 clamp(12px, 1.7vh, 20px);
  color: var(--film-wine);
  font-size: clamp(22px, 2vw, 32px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

.site-menu-featured ul,
.site-menu-wine ul {
  display: grid;
  gap: clamp(7px, 1vh, 11px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-menu-featured li,
.site-menu-wine li {
  margin: 0;
  padding: 0;
}

.site-menu-featured a {
  display: block;
  color: var(--film-ink);
  transition: color .3s ease, transform .45s var(--site-ease);
}

.site-menu-featured a:hover,
.site-menu-featured a:focus-visible {
  color: var(--film-ochre-text);
  outline: 0;
  transform: translateX(4px);
}

.site-menu-featured strong,
.site-menu-wine strong {
  display: block;
  color: inherit;
  font-size: clamp(12px, .92vw, 15px);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.site-menu-featured li span,
.site-menu-wine li span {
  display: block;
  margin-top: 2px;
  color: var(--site-soft);
  font-size: clamp(9px, .7vw, 11px);
  line-height: 1.28;
}

.site-menu-all-work {
  display: inline-block;
  margin-top: clamp(12px, 1.8vh, 20px);
  color: var(--film-wine);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.site-menu-all-work::after {
  content: " ↗";
  color: var(--film-ochre-text);
}

.site-menu-wine {
  align-self: end;
  padding-top: clamp(16px, 2.4vh, 26px);
  border-top: 1px solid rgba(82, 45, 52, .2);
}

.site-menu-wine h2 {
  font-size: clamp(20px, 1.75vw, 28px);
}

.site-menu-wine-note {
  margin: 10px 0 0;
  color: var(--film-rose-text);
  font-size: 9px;
  font-style: italic;
  letter-spacing: .03em;
}

.m-menu-preview {
  display: none !important;
}

/* Home owns a separate film stylesheet. Keep its header from reviving the
   retired boxed CTA and wider mobile menu controls. */
.home-page .site-header,
.home-page .site-header.is-scrolled {
  min-height: var(--site-header-h);
  border-bottom-color: rgba(238, 229, 213, .26);
  background: var(--film-blue-deep);
  color: var(--film-cream);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.home-page .brand-text {
  color: var(--film-cream);
  font-size: clamp(19px, 1.35vw, 24px);
  font-weight: 500;
  letter-spacing: .065em;
}

.home-page .talk-button {
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--film-cream);
  font-size: 10px;
}

.home-page .menu-button {
  min-width: 92px;
  min-height: 44px;
  padding-inline: 15px 12px;
  border: 1px solid rgba(238, 229, 213, .42);
  border-radius: 0;
  background: transparent;
  color: var(--film-cream);
  font-size: 10px;
}

.home-page .site-header.is-menu-open .menu-button {
  border-color: var(--film-cream);
  background: var(--film-cream);
  color: var(--film-wine);
}

/* Footer: final credits. */
.site-footer {
  grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(150px, .58fr));
  gap: clamp(32px, 4vw, 72px);
  padding: clamp(64px, 8vw, 120px) clamp(22px, 5vw, 84px) clamp(26px, 3vw, 46px);
  border-top: 8px solid var(--film-ochre);
  background:
    linear-gradient(90deg, rgba(238, 229, 213, .09) 1px, transparent 1px),
    linear-gradient(rgba(238, 229, 213, .06) 1px, transparent 1px),
    var(--film-wine);
  background-size: 25vw 100%, 100% 25vh, auto;
  color: var(--film-cream);
}

.footer-background {
  opacity: .22;
  background: radial-gradient(circle at 12% 18%, rgba(189, 139, 77, .52), transparent 27%);
}

.footer-kicker,
.footer-column h2,
.footer-bottom {
  color: rgba(238, 229, 213, .68);
  font-size: 10px;
  letter-spacing: .18em;
}

.footer-statement {
  max-width: 12ch;
  color: var(--film-cream);
  font-size: clamp(38px, 5vw, 78px);
  line-height: .94;
}

.footer-primary-link {
  padding: 14px 18px;
  border: 1px solid var(--film-cream);
  background: var(--film-cream);
  color: var(--film-wine);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footer-column a,
.footer-contact span {
  color: rgba(238, 229, 213, .76);
  font-size: clamp(16px, 1.15vw, 20px);
}

.footer-column a:hover,
.footer-column a:focus-visible,
.footer-primary-link:hover,
.footer-primary-link:focus-visible {
  color: var(--film-cream);
  text-decoration: underline;
}

.footer-bottom {
  border-top-color: rgba(238, 229, 213, .22);
}

/* Shared editorial pages: About, Services, Performance, Contact and Legal. */
body:not([data-page="home"]) .agency-page {
  padding: calc(var(--site-header-h) + clamp(22px, 3vw, 46px)) clamp(14px, 2vw, 30px) clamp(24px, 4vw, 64px);
}

body:not([data-page="home"]) .agency-hero {
  max-width: 1680px;
  padding: clamp(30px, 5vw, 82px);
  border: 4px double var(--film-cream);
  outline: 1px solid rgba(54, 86, 99, .42);
  outline-offset: 6px;
  background:
    linear-gradient(90deg, rgba(238, 229, 213, .11) 1px, transparent 1px),
    linear-gradient(rgba(238, 229, 213, .07) 1px, transparent 1px),
    var(--film-blue);
  background-size: 25% 100%, 100% 25%, auto;
  color: var(--film-cream);
}

body:not([data-page="home"]) .agency-hero h1,
body:not([data-page="home"]) .agency-hero h2,
body:not([data-page="home"]) .agency-hero h3,
body:not([data-page="home"]) .agency-hero p,
body:not([data-page="home"]) .agency-hero a,
body:not([data-page="home"]) .agency-hero__title p:first-child,
body:not([data-page="home"]) .agency-hero__title p:last-child,
body:not([data-page="home"]) .agency-hero__copy p,
body:not([data-page="home"]) .agency-hero__lede {
  color: var(--film-cream);
}

body:not([data-page="home"]) .agency-hero__meta {
  color: rgba(238, 229, 213, .80);
}

body:not([data-page="home"]) .agency-hero__title p:first-child {
  opacity: .58;
}

body:not([data-page="home"]) .agency-hero__copy > p:last-child {
  border-top-color: rgba(238, 229, 213, .34);
}

body:not([data-page="home"]) .agency-actions a,
body:not([data-page="home"]) .ai-hero__actions a,
body:not([data-page="home"]) .ai-hero__actions button,
.case-contact-actions a {
  border-radius: 0;
  border-color: var(--film-wine);
  background: transparent;
  color: var(--film-wine);
}

body:not([data-page="home"]) .agency-hero .agency-actions a,
body:not([data-page="home"]) .agency-hero .ai-hero__actions a {
  border-color: var(--film-cream);
  color: var(--film-cream);
}

body:not([data-page="home"]) .agency-hero .agency-actions a:first-child,
body:not([data-page="home"]) .agency-hero .ai-hero__actions a:first-child,
.case-contact-actions a:first-child {
  border-color: var(--film-cream);
  background: var(--film-cream);
  color: var(--film-wine);
}

.agency-jump,
.ai-jump {
  top: var(--site-header-h);
  margin-top: 14px;
  border: 1px solid var(--film-line);
  border-top: 5px solid var(--film-ochre);
  background: rgba(238, 229, 213, .94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.agency-jump a,
.ai-jump a {
  border-left-color: rgba(82, 45, 52, .18);
  background: transparent;
  color: var(--film-wine);
}

.agency-jump a:hover,
.agency-jump a:focus-visible,
.agency-jump a.is-active,
.ai-jump a:hover,
.ai-jump a:focus-visible,
.ai-jump a.is-active {
  background: var(--film-blush);
  color: var(--film-ink);
  box-shadow: inset 0 -3px 0 var(--film-wine);
}

.agency-proof-band {
  gap: 0;
  border: 1px solid var(--film-line);
  border-top: 6px solid var(--film-wine);
  background: var(--film-ochre);
}

.agency-proof-band > span,
.agency-proof-band > a {
  border-color: rgba(38, 27, 27, .18);
  background: transparent;
  color: var(--film-ink);
}

.agency-proof-band small,
.agency-proof-band em,
.agency-proof-band b,
.agency-proof-band strong {
  color: var(--film-ink);
}

.agency-section {
  margin-top: 14px;
  padding: clamp(58px, 7vw, 116px) clamp(26px, 5vw, 84px);
  border: 1px solid var(--film-line);
  background: rgba(238, 229, 213, .94);
}

.agency-section:nth-of-type(even) {
  background: rgba(198, 164, 161, .9);
}

/* Long-form pages stay legible without turning into long-form journeys. */
body[data-page="agency-about"] .agency-section,
body[data-page="agency-legal"] .agency-section {
  padding-block: clamp(44px, 5vw, 78px);
}

body[data-page="agency-legal"] .agency-section__intro {
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
  gap: clamp(24px, 4vw, 64px);
}

body[data-page="agency-legal"] .agency-section__intro h2 {
  font-size: clamp(30px, 3.5vw, 52px);
}

body[data-page="agency-legal"] .legal-jump {
  overflow-x: auto;
  scrollbar-width: thin;
}

body[data-page="agency-legal"] .legal-jump a {
  white-space: nowrap;
}

@media (max-width: 760px) {
  body[data-page="agency-legal"] .agency-section__intro {
    grid-template-columns: 1fr;
  }
}

.agency-marker,
.ai-marker,
.ai-status {
  color: var(--film-wine);
}

.agency-marker::before,
.ai-marker::before {
  border-radius: 0;
  background: var(--film-ochre);
  transform: rotate(45deg);
}

.agency-page h1,
.agency-page h2,
.agency-page h3,
.agency-section p,
.agency-section__intro p,
.agency-faq p {
  color: var(--film-ink);
}

.agency-card-grid {
  gap: 10px;
}

.agency-card-grid article,
.agency-proof-list a,
.contact-side section,
.agency-faq details,
.services-capability-card,
.pc-engagement-modes > *,
.pc-process > * {
  border: 1px solid var(--film-line);
  border-top: 4px solid var(--film-ochre);
  background: rgba(247, 240, 228, .76);
  box-shadow: none;
}

.agency-card-grid article:nth-child(3n + 2),
.services-capability-card:nth-child(3n + 2) {
  border-top-color: var(--film-blue);
}

.agency-card-grid article:nth-child(3n),
.services-capability-card:nth-child(3n) {
  border-top-color: var(--film-wine);
}

/* Services proof system: capabilities are paired directly with relevant work
   so buyers can navigate by evidence without adding thin service pages. */
body[data-page="agency-services"] .services-proof-system {
  background:
    linear-gradient(90deg, rgba(82, 45, 52, .055) 1px, transparent 1px),
    rgba(238, 229, 213, .96);
  background-size: 25% 100%, auto;
}

body[data-page="agency-services"] .services-capability-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body[data-page="agency-services"] .services-capability-card {
  min-height: 0;
  padding: clamp(28px, 3.4vw, 52px);
  border-color: var(--film-line);
  border-top-width: 6px;
  background: rgba(247, 240, 228, .82);
}

body[data-page="agency-services"] .services-capability-card:nth-child(3n + 1) {
  border-top-color: var(--film-wine);
}

body[data-page="agency-services"] .services-capability-card:nth-child(3n + 2) {
  border-top-color: var(--film-blue);
}

body[data-page="agency-services"] .services-capability-card:nth-child(3n) {
  border-top-color: var(--film-ochre);
}

body[data-page="agency-services"] .services-capability-card h3 {
  max-width: 15ch;
  font-size: clamp(34px, 3.35vw, 58px);
}

body[data-page="agency-services"] .services-proof-links {
  display: grid;
  width: 100%;
  margin-top: clamp(24px, 3vw, 40px);
  border-top: 1px solid var(--film-line);
}

body[data-page="agency-services"] .services-proof-links a {
  display: grid;
  grid-template-columns: minmax(150px, .72fr) minmax(0, 1.28fr);
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid var(--film-line);
  color: var(--film-ink);
  text-decoration: none;
}

body[data-page="agency-services"] .services-proof-links strong {
  font: 700 12px/1.25 var(--font-body);
  letter-spacing: .09em;
  text-transform: uppercase;
}

body[data-page="agency-services"] .services-proof-links span {
  color: rgba(38, 27, 27, .76);
  font: 300 15px/1.4 var(--font-body);
}

body[data-page="agency-services"] .services-proof-links a:hover,
body[data-page="agency-services"] .services-proof-links a:focus-visible {
  padding-inline: 10px;
  background: var(--film-blush);
  box-shadow: inset 4px 0 0 var(--film-wine);
}

body[data-page="agency-services"] .services-capability-link {
  padding-top: 30px;
}

@media (max-width: 680px) {
  body[data-page="agency-services"] .services-capability-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="agency-services"] .services-proof-links a {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

/* Condensed Performance Creative channel proof. */
.pc-channel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: clamp(32px, 5vw, 70px);
}

.pc-channel-grid article {
  min-width: 0;
  border: 1px solid var(--film-line);
  border-top: 6px solid var(--film-wine);
  background: rgba(247, 240, 228, .78);
}

.pc-channel-grid article:nth-child(2) {
  border-top-color: var(--film-blue);
}

.pc-channel-grid article:nth-child(3) {
  border-top-color: var(--film-ochre);
}

.pc-channel-grid article > div {
  padding: clamp(24px, 2.6vw, 40px);
}

.pc-channel-grid h3 {
  margin: 18px 0 0;
  color: var(--film-ink);
  font-size: clamp(28px, 2.5vw, 43px);
  font-weight: 200;
  line-height: 1;
}

.pc-channel-grid article > div > p:not(.agency-marker) {
  margin: 20px 0 0;
  color: rgba(38, 27, 27, .76);
  font: 300 16px/1.45 var(--font-body);
}

.pc-channel-grid article > div > strong {
  display: block;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--film-line);
  color: var(--film-wine);
  font: 700 12px/1.45 var(--font-body);
  letter-spacing: .055em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .pc-channel-grid {
    grid-template-columns: 1fr;
  }
}

.agency-section blockquote,
.services-hero-note blockquote {
  border: 1px solid var(--film-line);
  border-left: 6px solid var(--film-wine);
  background: rgba(247, 240, 228, .55);
  color: var(--film-wine);
}

.about-hero-board,
.services-capability-board,
.pc-creative-board,
.pc-response-grid {
  border-color: var(--film-line-light);
  background-color: rgba(238, 229, 213, .08);
}

.about-hero-board::before,
.services-capability-board::before,
.pc-creative-board::before {
  border-color: rgba(238, 229, 213, .22);
  background: transparent;
}

.about-hero-board__panel,
.services-capability-board__panel,
.pc-creative-board__panel {
  border-color: rgba(238, 229, 213, .28);
}

.about-hero-board__panel::after,
.services-capability-board__panel::after,
.pc-creative-board__panel::after {
  background: linear-gradient(180deg, transparent 40%, rgba(38, 27, 27, .76));
}

.about-hero-board__panel figcaption,
.services-capability-board__panel figcaption,
.pc-creative-board__panel figcaption {
  border-color: var(--film-ochre);
}

.about-hero-board__signal,
.pc-creative-board__signal,
.pc-response-grid > div {
  border-color: rgba(238, 229, 213, .44);
  background: rgba(82, 45, 52, .88);
  color: var(--film-cream);
}

.agency-closing,
.ai-closing {
  margin-top: 14px;
  padding: clamp(64px, 8vw, 132px) clamp(28px, 5vw, 84px);
  border: 4px double var(--film-cream);
  background:
    linear-gradient(90deg, rgba(238, 229, 213, .08) 1px, transparent 1px),
    linear-gradient(rgba(238, 229, 213, .055) 1px, transparent 1px),
    var(--film-wine);
  background-size: 25% 100%, 100% 25%, auto;
  color: var(--film-cream);
}

.agency-closing h2,
.agency-closing p,
.agency-closing .agency-marker,
.ai-closing h2,
.ai-closing p,
.ai-closing .ai-marker {
  color: var(--film-cream);
}

.agency-closing .agency-actions a,
.ai-closing .ai-hero__actions a {
  border-color: var(--film-cream);
  color: var(--film-cream);
}

.agency-closing .agency-actions a:first-child,
.ai-closing .ai-hero__actions a:first-child {
  background: var(--film-cream);
  color: var(--film-wine);
}

/* Contact: make the form feel like a production document. */
.contact-layout {
  gap: 14px;
  padding-top: 14px;
}

.agency-form,
.contact-side section {
  border: 1px solid var(--film-line);
  background: rgba(238, 229, 213, .96);
}

.agency-form {
  border-top: 6px solid var(--film-ochre);
}

.agency-form input:not([type="checkbox"]),
.agency-form textarea,
.agency-form select {
  border-radius: 0;
  border-color: var(--film-line);
  background: var(--film-paper);
  color: var(--film-ink);
}

.agency-form input:focus,
.agency-form textarea:focus,
.agency-form select:focus {
  border-color: var(--film-wine);
  box-shadow: 0 0 0 2px rgba(189, 139, 77, .35);
}

.agency-form button {
  border-radius: 0;
  border-color: var(--film-wine);
  background: var(--film-wine);
  color: var(--film-cream);
}

body[data-page="agency-contact"] .contact-layout {
  display: block;
  width: min(100%, 1420px);
}

.agency-form--compact {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 5vw, 76px);
  border: 5px double var(--film-wine);
  border-top: 10px solid var(--film-ochre);
  background:
    linear-gradient(90deg, rgba(82, 45, 52, .06) 1px, transparent 1px),
    var(--film-cream);
  background-size: 25% 100%, auto;
  box-shadow: 0 24px 70px rgba(38, 27, 27, .12);
}

.agency-form--compact::after {
  content: "A689 / NEW BUSINESS";
  position: absolute;
  top: 22px;
  right: 24px;
  color: rgba(82, 45, 52, .48);
  font: 700 9px/1 var(--font-primary);
  letter-spacing: .18em;
}

.contact-form-intro {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  gap: clamp(24px, 5vw, 78px);
  align-items: end;
  padding: 24px 0 clamp(32px, 5vw, 68px);
  border-bottom: 1px solid var(--film-line);
}

.contact-form-intro .agency-marker {
  align-self: start;
}

.contact-form-intro h2 {
  max-width: 9ch;
  font-size: clamp(46px, 6vw, 92px);
}

.contact-form-intro > p:last-child {
  grid-column: 2;
  max-width: 36ch;
  margin-top: -18px;
  color: var(--site-soft);
  font: 300 clamp(16px, 1.35vw, 21px)/1.45 var(--font-body);
}

.contact-form-composition {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  gap: clamp(30px, 5vw, 78px);
  padding-block: clamp(38px, 5vw, 72px);
}

.agency-form--compact label {
  color: var(--film-wine);
  font: 700 11px/1.2 var(--font-primary);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.agency-form--compact label > span {
  color: var(--film-ochre-text);
  font: inherit;
  font-weight: 500;
  letter-spacing: .08em;
}

.agency-form--compact input:not([type="hidden"]),
.agency-form--compact textarea {
  margin-top: 9px;
  border: 0;
  border-bottom: 1px solid rgba(82, 45, 52, .44);
  background: transparent;
  box-shadow: none;
  color: var(--film-ink);
  font: 300 clamp(18px, 1.5vw, 23px)/1.35 var(--font-body);
}

.agency-form--compact input:not([type="hidden"]) {
  padding: 13px 0 12px;
}

.agency-form--compact textarea {
  min-height: 330px;
  padding: 18px;
  border: 1px solid rgba(82, 45, 52, .38);
  background: rgba(247, 240, 228, .72);
  resize: vertical;
}

.agency-form--compact input:focus,
.agency-form--compact textarea:focus {
  border-color: var(--film-wine);
  outline: 2px solid var(--film-ochre);
  outline-offset: 3px;
  box-shadow: none;
}

.form-details {
  display: grid;
  gap: 30px;
  align-content: start;
}

.agency-form--compact .form-note {
  max-width: 82ch;
  color: var(--site-soft);
  font: 300 14px/1.55 var(--font-body);
}

.agency-form--compact .form-note a {
  color: var(--film-wine);
  font-weight: 600;
}

.form-submit-row {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  margin-top: 22px;
  padding-top: 24px;
  border-top: 1px solid var(--film-line);
}

.agency-form--compact .form-submit-row button {
  min-width: min(100%, 260px);
  min-height: 58px;
  margin: 0;
}

.agency-form--compact .form-submit-row p {
  color: var(--film-wine);
  font: 600 12px/1.4 var(--font-primary);
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .contact-form-intro,
  .contact-form-composition {
    grid-template-columns: 1fr;
  }

  .contact-form-intro > p:last-child {
    grid-column: 1;
    margin-top: 0;
  }

  .agency-form--compact textarea {
    min-height: 230px;
  }

  .form-submit-row {
    align-items: stretch;
    flex-direction: column;
  }

  .agency-form--compact .form-submit-row button {
    width: 100%;
  }
}

/* Work index: preserve the live page's full-width alternating composition,
   then translate its surfaces into the Art of Arrival palette. */
body[data-page="work"] .work-page {
  background: var(--film-cream);
  color: var(--film-ink);
}

body[data-page="work"] .work-hero {
  border-bottom: 8px solid var(--film-ochre);
  background:
    linear-gradient(90deg, rgba(247, 240, 228, .09) 1px, transparent 1px),
    linear-gradient(rgba(247, 240, 228, .07) 1px, transparent 1px),
    var(--film-blue);
  background-size: 25% 100%, 100% 25%, auto;
  color: var(--film-cream);
}

body[data-page="work"] .work-hero h1,
body[data-page="work"] .work-hero p,
body[data-page="work"] .work-hero .work-kicker {
  color: var(--film-cream);
}

body[data-page="work"] .work-hero h1 .headline-char {
  color: var(--film-cream);
  animation-name: work-film-char-glint;
}

body[data-page="work"] .work-hero p:last-child {
  color: rgba(247, 240, 228, .74);
}

@keyframes work-film-char-glint {
  0%, 100% {
    color: rgba(247, 240, 228, .96);
    text-shadow: 0 0 0 rgba(247, 240, 228, 0);
  }

  5% {
    color: var(--film-ochre-light);
    text-shadow: 0 0 18px rgba(247, 240, 228, .45);
  }

  14% {
    color: rgba(247, 240, 228, .96);
    text-shadow: 0 0 0 rgba(247, 240, 228, 0);
  }
}

.home-title-glint .headline-word {
  display: inline-block;
  white-space: nowrap;
}

.home-title-glint .headline-char {
  display: inline-block;
  color: rgba(247, 240, 228, .96);
  animation: work-film-char-glint 8.5s ease-in-out infinite;
  animation-delay: calc(var(--char-index) * 38ms);
  will-change: color, text-shadow, opacity;
}

.home-motion-rule {
  position: absolute;
  z-index: 2;
  top: 9px;
  right: 12px;
  left: 12px;
  height: 1px;
  background: currentColor;
  opacity: .44;
  pointer-events: none;
}

body:not([data-page="home"]):not([data-page="work"]) .agency-hero h1 .headline-word,
body[data-page="ai-systems"] .ais-hero h1 .headline-word {
  display: inline-block;
  white-space: nowrap;
}

body:not([data-page="home"]):not([data-page="work"]) .agency-hero h1 .headline-char,
body[data-page="ai-systems"] .ais-hero h1 .headline-char {
  display: inline-block;
  color: rgba(247, 240, 228, .96);
  animation: work-film-char-glint 8.5s ease-in-out infinite;
  animation-delay: calc(var(--char-index) * 38ms);
  will-change: color, text-shadow, opacity;
}

body[data-page="work"] .work-entry.work-entry--grid {
  border-color: var(--film-line);
  background: var(--film-cream);
}

body[data-page="work"] .work-entry.work-entry--grid:nth-child(even) {
  background: var(--film-blush);
}

body[data-page="work"] .work-entry.work-entry--grid::after,
body[data-page="work"] .work-entry.work-entry--grid .work-entry-copy,
body[data-page="work"] .work-entry.work-entry--grid .work-entry-action {
  border-color: var(--film-line);
}

body[data-page="work"] .work-entry-title {
  color: var(--film-ink);
}

body[data-page="work"] .work-entry-desc {
  color: rgba(38, 27, 27, .7);
}

body[data-page="work"] .work-entry.work-entry--grid .work-entry-action {
  background: rgba(247, 240, 228, .12);
  color: var(--film-wine);
}

body[data-page="work"] .work-entry.work-entry--grid .work-entry-action:hover,
body[data-page="work"] .work-entry.work-entry--grid .work-entry-action:focus-visible {
  background: var(--film-wine);
  color: var(--film-paper);
}

/* Responsive display type: protect the editorial scale without letting fixed
   viewport-height tracks crop long project names. */
body[data-page="work"] .work-entry.work-entry--grid {
  grid-template-rows: minmax(clamp(520px, 62svh, 680px), auto) clamp(72px, 6vw, 96px);
}

body[data-page="work"] .work-entry.work-entry--grid .work-entry-copy {
  min-height: min-content;
}

body[data-page="work"] .work-entry-title {
  font-size: clamp(52px, 6vw, 112px);
  line-height: .9;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

/* Five timeline columns become too narrow before the site's former mobile
   breakpoint. Reflow them while each label can still remain a whole word. */
.about-evolution strong {
  font-size: clamp(30px, 2.65vw, 48px);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

@media (max-width: 1480px) and (min-width: 901px) {
  .agency-evolution.about-evolution {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .about-evolution span:nth-child(3) {
    border-right: 0;
  }
}

@media (max-width: 1180px) {
  body[data-page="work"] .work-entry.work-entry--grid,
  body[data-page="work"] .work-entry.work-entry--grid.work-entry--reverse {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  body[data-page="work"] .work-entry.work-entry--grid::after,
  body[data-page="work"] .work-grid-line {
    display: none;
  }

  body[data-page="work"] .work-entry.work-entry--grid .work-entry-media,
  body[data-page="work"] .work-entry.work-entry--grid .work-entry-copy,
  body[data-page="work"] .work-entry.work-entry--grid .work-entry-action {
    grid-column: 1;
    grid-row: auto;
    border-right: 0;
    border-left: 0;
  }

  body[data-page="work"] .work-entry.work-entry--grid .work-entry-media {
    height: clamp(320px, 58vw, 620px);
  }

  body[data-page="work"] .work-entry.work-entry--grid .work-entry-copy {
    min-height: 0;
    padding: clamp(38px, 7vw, 74px) clamp(22px, 6vw, 70px);
  }

  body[data-page="work"] .work-entry-title {
    max-width: 13ch;
    font-size: clamp(48px, 10vw, 92px);
  }

  body[data-page="work"] .work-entry.work-entry--grid .work-entry-action {
    min-height: 72px;
    padding-inline: clamp(22px, 6vw, 70px);
  }
}

@media (max-width: 900px) and (min-width: 621px) {
  .agency-evolution.about-evolution {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-evolution span:nth-child(odd) {
    border-right: 1px solid rgba(0, 0, 0, .1);
  }

  .about-evolution span:nth-child(even) {
    border-right: 0;
  }
}

@media (max-width: 620px) {
  .agency-evolution.about-evolution {
    grid-template-columns: 1fr;
  }

  .about-evolution span,
  .about-evolution span:nth-child(odd) {
    min-height: 0;
    border-right: 0;
  }

  .about-evolution strong {
    font-size: clamp(34px, 11vw, 48px);
  }
}

body[data-page="work"] .work-grid-line {
  background: linear-gradient(90deg, rgba(82, 45, 52, .12), rgba(82, 45, 52, .45), rgba(82, 45, 52, .12));
}

body[data-page="work"] .work-example-section {
  border-color: var(--film-line);
  background: var(--film-ochre);
}

body[data-page="work"] .work-example-card {
  border: 5px solid var(--film-paper);
  border-radius: 0;
  background: var(--film-wine);
}

/* AI: keep the product diagrams, replace the unrelated neon wrapper. */
body[data-page="ai-systems"] .ai-page {
  background: transparent;
}

.ai-hero {
  min-height: auto;
  margin: calc(var(--site-header-h) + 22px) clamp(14px, 2vw, 30px) 0;
  padding: clamp(40px, 6vw, 92px);
  border: 4px double var(--film-cream);
  outline: 1px solid rgba(54, 86, 99, .42);
  outline-offset: 6px;
  background:
    linear-gradient(90deg, rgba(238, 229, 213, .1) 1px, transparent 1px),
    linear-gradient(rgba(238, 229, 213, .07) 1px, transparent 1px),
    var(--film-blue);
  background-size: 25% 100%, 100% 25%, auto;
  color: var(--film-cream);
}

.ai-hero h1,
.ai-hero p,
.ai-hero__meta,
.ai-hero__title p:first-child,
.ai-hero__title p:last-child,
.ai-hero__copy {
  color: var(--film-cream);
}

.ai-hero h1 {
  font-size: clamp(52px, 7vw, 112px);
}

.ai-hero__title p:first-child {
  font-size: clamp(64px, 9vw, 146px);
}

.ai-hero-visual,
.ai-system-visual,
.ai-agent-wall,
.ai-architecture {
  border-radius: 0;
  border: 1px solid var(--film-line);
  border-top: 5px solid var(--film-ochre);
  background-color: var(--film-paper);
  box-shadow: none;
}

.ai-module-grid article,
.ai-split article,
.ai-example-groups article,
.ai-flow li,
.ai-production-card,
.ai-notice {
  border-radius: 0;
  border-color: var(--film-line);
  background: rgba(247, 240, 228, .78);
  box-shadow: none;
}

.ai-proof-band {
  gap: 0;
  margin: 14px clamp(14px, 2vw, 30px) 0;
  border: 1px solid var(--film-line);
  border-top: 6px solid var(--film-wine);
  background: var(--film-ochre);
}

.ai-proof-band > a,
.ai-proof-band > span {
  border: 0;
  border-right: 1px solid rgba(38, 27, 27, .18);
  border-top: 0;
  background: transparent;
  color: var(--film-ink);
}

.ai-section {
  margin: 14px clamp(14px, 2vw, 30px) 0;
  padding: clamp(58px, 7vw, 116px) clamp(26px, 5vw, 84px);
  border: 1px solid var(--film-line);
  background: rgba(238, 229, 213, .96);
}

.ai-section:nth-of-type(odd) {
  background: rgba(198, 164, 161, .92);
}

.ai-section--governance {
  background: var(--film-blue-deep) !important;
  color: var(--film-cream);
}

.ai-section--governance h2,
.ai-section--governance h3,
.ai-section--governance p,
.ai-section--governance .ai-marker {
  color: var(--film-cream) !important;
}

.ai-ladder span {
  border-color: var(--film-line-light);
  background: rgba(238, 229, 213, .08);
  color: var(--film-cream);
}

.ai-closing {
  margin: 14px clamp(14px, 2vw, 30px) 28px;
}

/* Case studies: one house frame, with client color retained inside the work. */
body[data-page="motion-work"] {
  background-color: var(--film-paper);
}

body[data-page="motion-work"] .motion-work {
  background: transparent;
}

.mw-hero {
  padding-top: calc(var(--site-header-h) + 14px);
  border-bottom: 8px solid var(--film-ochre);
  background:
    linear-gradient(90deg, rgba(238, 229, 213, .09) 1px, transparent 1px),
    var(--film-blue-deep);
  background-size: 25vw 100%, auto;
}

.mw-hero__media {
  margin-inline: clamp(14px, 2vw, 30px);
  border: 5px double var(--film-cream);
}

.mw-hero__title {
  padding-inline: clamp(30px, 5vw, 84px);
}

.mw-back {
  top: calc(var(--site-header-h) + 34px);
  left: clamp(30px, 5vw, 84px);
  border-color: rgba(238, 229, 213, .5);
  border-radius: 0;
  background: rgba(54, 86, 99, .72);
  color: var(--film-cream);
}

.mw-meta,
.mw-hero__hud {
  color: var(--film-cream);
}

.mw-hero__hud span {
  border-top-color: rgba(238, 229, 213, .3);
}

.mw-overview {
  width: calc(100% - 28px);
  max-width: calc(var(--site-max) - 28px);
  margin-top: 14px;
  border: 1px solid var(--film-line);
  border-top: 6px solid var(--film-wine);
  background: var(--film-cream);
}

.mw-overview h1,
.mw-overview p,
.mw-overview__facts p {
  color: var(--film-ink);
}

.mw-overview__facts {
  border-color: var(--film-line);
}

.mw-overview__facts p {
  border-color: var(--film-line);
}

.mw-overview__facts span,
.mw-section-index {
  color: var(--film-wine);
}

.mw-field {
  width: calc(100% - 28px);
  margin-top: 14px;
  border: 1px solid rgba(82, 45, 52, .2);
  box-shadow: inset 0 5px 0 var(--film-ochre);
}

.mw-field h2,
.mw-field-copy,
.client-copy-stack .mw-field-copy {
  text-shadow: none;
}

.client-gallery,
.client-callout,
.client-proof-card,
.redtouch-interface-system,
.redtouch-process-strip,
.navis-ad-wall {
  outline: 5px solid var(--film-paper);
  box-shadow: 0 0 0 6px rgba(82, 45, 52, .24);
}

.client-gallery figure,
.client-gallery img,
.mw-asset,
.mw-asset__mask,
.mw-asset img {
  border-radius: 0;
}

.client-callout,
.client-proof-card {
  background: var(--film-wine);
  color: var(--film-cream);
}

.case-contact-cta {
  width: min(calc(100% - 28px), 1600px);
  margin-top: 14px;
  border: 4px double var(--film-cream);
  background:
    linear-gradient(90deg, rgba(238, 229, 213, .08) 1px, transparent 1px),
    var(--film-wine);
  background-size: 25% 100%, auto;
  color: var(--film-cream);
}

.case-contact-cta > p {
  color: var(--film-ochre-light);
}

.case-contact-actions a {
  border-color: var(--film-cream);
  color: var(--film-cream);
}

.case-contact-actions a:hover,
.case-contact-actions a:focus-visible {
  border-color: var(--film-ochre-light);
  outline-color: var(--film-ochre-light);
}

/* Home already owns its tableaux; share only the rebuilt shell. */
.home-page .site-footer {
  margin-top: 0;
}

@media (max-width: 1080px) {
  .site-header {
    grid-template-columns: 1fr auto;
  }

  .site-header__context {
    display: none;
  }

  .site-menu-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .site-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-cta {
    grid-column: 1 / -1;
  }

}

@media (max-width: 760px) {
  :root {
    --site-header-h: 62px;
  }

  body:not([data-page="home"]) {
    background-size: 50vw 100%, 100% 25vh;
  }

  .site-header {
    padding-inline: 14px;
  }

  .site-header__edition {
    display: none;
  }

  .talk-button {
    padding: 0;
  }

  .menu-button {
    min-width: 48px;
    width: 48px;
    padding: 0;
  }

  .home-page .talk-button {
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 10px;
  }

  .home-page .menu-button {
    min-width: 48px;
    width: 48px;
    min-height: 44px;
    padding: 0;
    border-radius: 0;
  }

  .menu-button-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .site-menu-panel {
    display: block;
    padding: calc(var(--site-header-h) + 10px) 10px 10px;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .site-menu-book {
    display: block;
    width: 100%;
    height: auto;
    min-height: 100%;
    overflow: visible;
    border-width: 5px;
    outline-offset: 2px;
  }

  .site-menu-page {
    overflow: visible;
  }

  .site-menu-page--left,
  .site-menu-page--right {
    padding: 28px 22px 30px;
  }

  .site-menu-page--right {
    display: grid;
    grid-template-rows: auto auto;
    gap: 34px;
  }

  .site-menu-spine {
    width: 100%;
    height: 18px;
    background:
      linear-gradient(rgba(38, 27, 27, .14), rgba(255, 255, 255, .64) 26%, rgba(82, 45, 52, .28) 50%, rgba(255, 255, 255, .52) 74%, rgba(38, 27, 27, .16));
    box-shadow: 0 -8px 16px rgba(38, 27, 27, .1), 0 8px 16px rgba(38, 27, 27, .1);
  }

  .site-menu-spine::after {
    inset: 50% 0 auto;
    width: auto;
    height: 1px;
  }

  .site-menu-heading {
    margin: 0;
  }

  .site-menu-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
  }

  .site-menu-links > a,
  .site-menu-links > a:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    width: 100%;
    padding: 0;
    text-align: left;
  }

  .site-menu-link-title {
    font-size: clamp(23px, 7vw, 31px);
  }

  .site-menu-links > a:nth-child(4) .site-menu-link-title {
    font-size: clamp(21px, 6.3vw, 28px);
  }

  .site-menu-link-desc {
    max-width: 54ch;
    margin-top: 3px;
    font-size: clamp(10px, 2.7vw, 11px);
    line-height: 1.3;
  }

  .site-menu-links > a:nth-child(7) .site-menu-link-desc {
    margin-inline: 0;
  }

  .site-menu-links > a:hover,
  .site-menu-links > a:focus-visible,
  .site-menu-links > a.is-active {
    padding: 0;
  }

  .site-menu-featured h2,
  .site-menu-wine h2 {
    font-size: clamp(24px, 7vw, 31px);
  }

  .site-menu-featured strong,
  .site-menu-wine strong {
    font-size: 12px;
  }

  .site-menu-featured li span,
  .site-menu-wine li span {
    font-size: 10px;
  }

  .site-footer {
    grid-template-columns: 1fr;
  }

  .footer-cta,
  .footer-bottom {
    grid-column: auto;
  }

  body:not([data-page="home"]) .agency-page {
    padding-inline: 8px;
  }

  body:not([data-page="home"]) .agency-hero,
  .ai-hero {
    padding: 28px 18px 34px;
    outline-offset: 3px;
  }

  .agency-section,
  .ai-section,
  .agency-closing,
  .ai-closing {
    padding: 48px 18px;
  }

  .agency-proof-band,
  .ai-proof-band {
    grid-template-columns: 1fr 1fr;
  }

  .ai-hero {
    margin-inline: 8px;
  }

  .ai-proof-band,
  .ai-section,
  .ai-closing {
    margin-inline: 8px;
  }

  .mw-hero__media {
    margin-inline: 8px;
  }

  .mw-hero__title {
    padding-inline: 18px;
  }

  .mw-back {
    left: 18px;
  }

  .mw-overview,
  .mw-field {
    width: calc(100% - 16px);
  }

  .case-contact-cta {
    width: calc(100% - 16px);
  }
}

@media (max-width: 820px) {
  body[data-page="work"] .work-grid-line {
    display: none;
  }
}

@media (max-width: 420px) {
  .brand-text {
    font-size: 17px;
  }

  .nav-controls {
    gap: 6px;
  }

  .talk-button {
    min-height: 44px;
    padding: 0;
    font-size: 9px;
  }

  .menu-button {
    min-height: 44px;
    width: 44px;
    min-width: 44px;
  }

  .home-page .talk-button {
    min-height: 44px;
    padding: 0;
    font-size: 9px;
  }

  .home-page .menu-button {
    min-width: 44px;
    width: 44px;
    min-height: 44px;
    padding: 0;
  }

  .site-menu-panel {
    padding: calc(var(--site-header-h) + 8px) 8px 8px;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .site-menu-heading span:last-child {
    display: none;
  }

  .site-menu-links {
    gap: 10px;
  }

  .site-menu-page--left,
  .site-menu-page--right {
    padding: 26px 18px 28px;
  }

  .site-menu-link-title,
  .site-menu-links > a:nth-child(4) .site-menu-link-title {
    font-size: clamp(22px, 7vw, 29px);
  }

  .site-menu-link-desc {
    font-size: 10px;
    line-height: 1.22;
  }

  .agency-proof-band,
  .ai-proof-band {
    grid-template-columns: 1fr;
  }

  .case-contact-cta h2 {
    max-width: 18ch;
    font-size: clamp(30px, 9vw, 42px);
    line-height: .98;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-menu-links > a,
  .interior-headline-glint .headline-char {
    transition: none;
  }

  .interior-headline-glint .headline-char {
    animation: none;
  }
}

/* Consent control: quiet enough for the site, explicit enough for a real
   choice. Analytics code is injected only after Accept is selected. */
.a689-consent {
  position: fixed;
  z-index: 10020;
  right: clamp(12px, 2vw, 28px);
  bottom: clamp(12px, 2vw, 28px);
  left: clamp(12px, 2vw, 28px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px 28px;
  align-items: center;
  max-width: 980px;
  margin-inline: auto;
  padding: 18px 20px;
  border: 1px solid var(--film-wine);
  border-top: 5px solid var(--film-ochre);
  background: var(--film-paper);
  color: var(--film-ink);
  box-shadow: 0 18px 54px rgba(38, 27, 27, .24);
}

.a689-consent[hidden],
.a689-consent-reopen[hidden],
.a689-consent__preferences[hidden] {
  display: none;
}

.a689-consent__copy p,
.a689-consent__copy span,
.a689-consent__preferences p {
  margin: 0;
}

.a689-consent__copy p {
  color: var(--film-wine);
  font: 700 11px/1.2 var(--font-primary);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.a689-consent__copy span,
.a689-consent__preferences {
  display: block;
  margin-top: 5px;
  color: var(--site-soft);
  font: 400 14px/1.45 var(--font-body);
}

.a689-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.a689-consent button,
.a689-consent-reopen {
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid var(--film-wine);
  border-radius: 0;
  background: transparent;
  color: var(--film-wine);
  font: 700 10px/1 var(--font-primary);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}

.a689-consent button:first-child,
.a689-consent button:hover,
.a689-consent button:focus-visible {
  background: var(--film-wine);
  color: var(--film-cream);
}

.a689-consent__preferences {
  grid-column: 1 / -1;
  padding-top: 14px;
  border-top: 1px solid var(--film-line);
}

.a689-consent__preferences a {
  display: inline-block;
  margin-top: 6px;
  color: var(--film-wine);
  font-weight: 700;
}

.a689-consent-reopen {
  position: fixed;
  z-index: 8990;
  bottom: 10px;
  left: 10px;
  border-color: var(--film-cream);
  background: var(--film-wine);
  color: var(--film-cream);
  opacity: .78;
}

.a689-consent-reopen:hover,
.a689-consent-reopen:focus-visible {
  opacity: 1;
}

@media (max-width: 700px) {
  .a689-consent {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 16px;
  }

  .a689-consent__preferences {
    grid-column: 1;
  }

  .a689-consent__actions button {
    flex: 1 1 auto;
  }
}
