/*
Theme Name: Creative Avenue 61
Author: Creative Avenue 61
Description: A bounded block theme for a modern advertising and media practice.
Version: 0.6.20
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: creativeavenue61
*/

:root {
  --ca61-cream: #f3efe6;
  --ca61-ink: #171717;
  --ca61-burgundy: #7a2e2e;
  --ca61-mustard: #c39a45;
  --ca61-olive: #66704a;
  --ca61-paper: #ffffff;
  --ca61-rule: rgba(23, 23, 23, 0.28);
  --ca61-content: 680px;
  --ca61-wide: 1180px;
  --ca61-gutter: clamp(20px, 4vw, 64px);
  --ca61-section: clamp(72px, 10vw, 144px);
  --ca61-display: "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --ca61-body: "Helvetica Neue", Arial, sans-serif;
  --ca61-serif: Georgia, "Times New Roman", serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--ca61-cream);
  color: var(--ca61-ink);
  font-family: var(--ca61-body);
  margin: 0;
  overflow-x: clip;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--ca61-mustard);
  outline-offset: 4px;
}

.ca61-shell {
  margin-inline: auto;
  max-width: var(--ca61-wide);
  padding-inline: var(--ca61-gutter);
  width: 100%;
}

.ca61-reading {
  max-width: var(--ca61-content);
}

.ca61-rule {
  border: 0;
  border-top: 1px solid currentColor;
  margin: 0;
  opacity: 0.38;
}

.ca61-kicker,
.ca61-section-number,
.ca61-nav-index {
  font-family: var(--ca61-body);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ca61-section-number {
  align-self: start;
  color: var(--ca61-burgundy);
  font-family: var(--ca61-display);
  font-size: clamp(4.5rem, 12vw, 10rem);
  letter-spacing: -0.09em;
  line-height: 0.72;
}

.ca61-display {
  font-family: var(--ca61-display);
  font-size: clamp(3.4rem, 8.3vw, 8.6rem);
  font-weight: 900;
  letter-spacing: -0.075em;
  line-height: 0.82;
  margin: 0;
  max-width: 11ch;
  text-transform: uppercase;
}

.ca61-heading {
  font-family: var(--ca61-display);
  font-size: clamp(2.3rem, 5vw, 5.4rem);
  letter-spacing: -0.055em;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.ca61-deck {
  font-family: var(--ca61-serif);
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  line-height: 1.4;
  margin: 0;
}

.ca61-button {
  align-items: center;
  background: var(--ca61-ink);
  border: 1px solid var(--ca61-ink);
  color: var(--ca61-paper);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 16px;
  justify-content: space-between;
  letter-spacing: 0.12em;
  min-height: 52px;
  padding: 14px 22px;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-button::after {
  content: "↗";
  font-size: 1rem;
}

.ca61-button--light {
  background: transparent;
  border-color: currentColor;
  color: inherit;
}

.ca61-site-header {
  background: var(--ca61-cream);
  border-bottom: 1px solid var(--ca61-rule);
  position: relative;
  z-index: 20;
}

.ca61-header-grid {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(210px, 0.9fr) minmax(0, 2.1fr);
  min-height: 96px;
}

.ca61-brand {
  font-family: var(--ca61-display);
  font-size: 1.08rem;
  letter-spacing: -0.04em;
  line-height: 0.9;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-primary-nav {
  justify-self: stretch;
}

.ca61-primary-nav ul {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.ca61-primary-nav a,
.ca61-nav-unavailable {
  border-top: 1px solid currentColor;
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding-top: 8px;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-primary-nav a:hover {
  color: var(--ca61-burgundy);
}

.ca61-nav-unavailable {
  cursor: not-allowed;
  opacity: 0.5;
}

.ca61-home-hero {
  background: var(--ca61-cream);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 1440px;
  min-height: 0;
  overflow: hidden;
  width: 100%;
}

.ca61-home-building {
  align-self: start;
  background: var(--ca61-ink);
  margin: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.ca61-home-building > img:first-child {
  display: block;
  height: auto;
  margin: 0;
  max-width: 100%;
  width: 100%;
}

.ca61-home-plane {
  display: block;
  height: auto;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 30%;
  transform: translate(115%, 8%) rotate(-8deg) scale(1);
  transform-origin: center;
  width: clamp(3rem, 5.5vw, 5rem);
  z-index: 1;
  animation: ca61-home-plane-flight 17s linear infinite;
}

.ca61-home-plane-image {
  display: block;
  height: auto;
  transform: scaleX(-1);
  width: 100%;
}

@keyframes ca61-home-plane-flight {
  0%, 4% { opacity: 0; transform: translate(115%, 8%) rotate(-8deg) scale(1); }
  10% { opacity: 1; transform: translate(115%, 8%) rotate(-8deg) scale(1); }
  32% { opacity: 1; transform: translate(82%, -12%) rotate(-8deg) scale(0.95); }
  56% { opacity: 1; transform: translate(50%, -34%) rotate(-8deg) scale(0.86); }
  72% { opacity: 0.72; transform: translate(28%, -52%) rotate(-8deg) scale(0.78); }
  86%, 100% { opacity: 0; transform: translate(12%, -66%) rotate(-8deg) scale(0.74); }
}

@media (prefers-reduced-motion: reduce) {
  .ca61-home-plane { display: none; }
}

.ca61-stage-1.ca61-search-is-settled .ca61-search-hero img,
.ca61-stage-1.ca61-search-is-settled .ca61-search-film,
.ca61-stage-1.ca61-search-is-settled .ca61-search-inventory { animation: none !important; clip-path: none !important; opacity: 1 !important; transform: none !important; visibility: visible !important; }
.ca61-stage-1.ca61-search-is-settled .ca61-search-film-focus { animation: none !important; opacity: 0 !important; visibility: hidden !important; }
.ca61-services-v4-panel:not(.is-stage-active) .ca61-stage-1.ca61-search-is-playing .ca61-search-hero img,
.ca61-services-v4-panel:not(.is-stage-active) .ca61-stage-1.ca61-search-is-playing .ca61-search-film,
.ca61-services-v4-panel:not(.is-stage-active) .ca61-stage-1.ca61-search-is-playing .ca61-search-inventory { animation: none !important; opacity: 0 !important; visibility: hidden !important; }

.ca61-home-intro {
  background: var(--ca61-cream);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(3rem, 5.5vw, 6.5rem) clamp(2rem, 5vw, 6rem) 2rem;
}

.ca61-home-title {
  color: var(--ca61-ink);
  font-family: Impact, "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(4.5rem, 6.1vw, 7.4rem);
  font-stretch: condensed;
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 0.86;
  margin: 0;
}

.ca61-home-title span {
  color: var(--ca61-burgundy);
}

.ca61-home-rule {
  background: var(--ca61-burgundy);
  height: 1px;
  margin: clamp(2rem, 4vw, 4rem) 0 0;
  max-width: 16rem;
  width: 100%;
}

.ca61-home-nav {
  margin-top: clamp(1.25rem, 2.5vw, 2.5rem);
  max-width: 34rem;
  width: 100%;
}

.ca61-home-nav > a,
.ca61-home-nav-unavailable {
  align-items: center;
  border-bottom: 1px solid rgba(23, 23, 23, 0.18);
  color: var(--ca61-ink);
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  min-height: 3.15rem;
  padding: 0.45rem 0.25rem;
  text-decoration: none;
}

.ca61-home-hero .ca61-home-nav > a > strong,
.ca61-home-nav-unavailable > strong {
  color: var(--ca61-burgundy);
  font-size: 0.98rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ca61-home-nav > a {
  transition:
    background-color 150ms ease,
    padding-left 150ms ease;
}

.ca61-home-nav > a:hover {
  background: rgba(122, 46, 46, 0.07);
  padding-left: 0.65rem;
}

.ca61-home-nav > a:focus-visible {
  background: rgba(122, 46, 46, 0.09);
  outline: 2px solid var(--ca61-burgundy);
  outline-offset: 2px;
}

.ca61-home-nav-unavailable {
  cursor: not-allowed;
  opacity: 0.5;
}

.ca61-home-copyright {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: auto 0 0;
  padding-top: 2rem;
  text-transform: uppercase;
}

/*
 * The legacy .ca61-hero/.ca61-sign rules remain below as a reversible
 * fallback. The front-page template no longer emits their markup.
 */
.ca61-hero {
  background:
    linear-gradient(90deg, rgba(23, 23, 23, 0.94), rgba(23, 23, 23, 0.52)),
    repeating-linear-gradient(
      90deg,
      #2b2b2b 0,
      #2b2b2b 8%,
      #161616 8%,
      #161616 10%
    );
  color: var(--ca61-paper);
  min-height: min(850px, 88vh);
  overflow: hidden;
  position: relative;
}

.ca61-hero::after,
.ca61-photo::after {
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.16) 0.7px, transparent 0.7px),
    radial-gradient(rgba(0, 0, 0, 0.2) 0.7px, transparent 0.7px);
  background-position: 0 0, 3px 3px;
  background-size: 6px 6px;
  content: "";
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.35;
  pointer-events: none;
  position: absolute;
}

.ca61-hero-grid {
  display: grid;
  gap: clamp(48px, 8vw, 120px);
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  min-height: inherit;
  padding-block: clamp(72px, 10vw, 140px);
}

.ca61-hero-copy {
  align-self: end;
  display: grid;
  gap: 32px;
  position: relative;
  z-index: 2;
}

.ca61-sign {
  align-self: start;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.34));
  max-width: 360px;
  position: relative;
  transform: translateY(var(--ca61-parallax, 0));
  width: 100%;
  z-index: 2;
}

.ca61-sign text {
  fill: var(--ca61-paper);
  font-family: var(--ca61-display);
  font-weight: 900;
  letter-spacing: 4px;
}

.ca61-sign .ca61-sign-accent {
  fill: var(--ca61-mustard);
}

.ca61-section {
  padding-block: var(--ca61-section);
}

.ca61-section-grid {
  display: grid;
  gap: clamp(36px, 7vw, 96px);
  grid-template-columns: minmax(120px, 0.28fr) minmax(0, 1.72fr);
}

.ca61-section-body {
  display: grid;
  gap: clamp(32px, 5vw, 64px);
  grid-column: 1 / -1;
  min-width: 0;
}

/* HOME sections no longer use the removed decorative-number grid item as an anchor. */
.ca61-home-projects-grid,
.ca61-home-about-grid,
.ca61-home-insights-list {
  grid-column: 1 / -1;
  min-width: 0;
}

.ca61-negotiation {
  background: var(--ca61-burgundy);
}

/* HOME editorial spreads: explicit placement keeps removed structural labels out of layout. */
.ca61-negotiation .ca61-section-body {
  background: var(--ca61-burgundy);
  color: var(--ca61-paper);
  grid-template-columns: minmax(260px, 0.72fr) minmax(320px, 1.28fr);
  padding: clamp(28px, 5vw, 72px);
  max-width: none;
}

.ca61-home-approach-copy { grid-column: 1; grid-row: 1; }
.ca61-home-approach-copy,
.ca61-home-about-grid > .ca61-reading,
.ca61-home-insights-copy { min-width: 0; }
.ca61-home-approach-copy .ca61-heading,
.ca61-home-about-grid .ca61-heading,
.ca61-home-insights-copy .ca61-heading {
  font-size: clamp(2.15rem, 4.1vw, 4.6rem);
  max-width: 9ch;
  overflow-wrap: normal;
  text-wrap: balance;
}
.ca61-home-insights-copy { padding-right: clamp(12px, 2vw, 32px); }
.ca61-home-insights-copy .ca61-heading {
  font-size: clamp(2rem, 3.4vw, 3.8rem);
  max-width: 8ch;
}
.ca61-home-approach-image { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.ca61-home-approach-image img,
.ca61-home-about-image img,
.ca61-home-insights-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.ca61-home-approach-image img { aspect-ratio: 2 / 3; }
.ca61-home-approach-grid { grid-column: 1; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ca61-negotiation-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
}

.ca61-card {
  border-top: 1px solid currentColor;
  display: grid;
  gap: 18px;
  min-width: 240px;
  padding-top: 20px;
}

.ca61-card h3 {
  font-family: var(--ca61-display);
  font-size: clamp(1.4rem, 2.5vw, 2.2rem);
  letter-spacing: -0.04em;
  line-height: 0.95;
  margin: 0;
  text-transform: uppercase;
}

.ca61-card p {
  line-height: 1.65;
  margin: 0;
}

.ca61-projects {
  background: var(--ca61-ink);
  color: var(--ca61-paper);
}

.ca61-project-grid {
  display: grid;
  gap: clamp(30px, 5vw, 64px);
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
}

.ca61-chart {
  align-items: end;
  border-bottom: 1px solid currentColor;
  border-left: 1px solid currentColor;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(6, 1fr);
  min-height: 320px;
  padding: 32px;
}

.ca61-chart span {
  background: var(--ca61-burgundy);
  min-width: 18px;
}

.ca61-chart span:nth-child(1) { height: 34%; }
.ca61-chart span:nth-child(2) { height: 54%; }
.ca61-chart span:nth-child(3) { height: 46%; }
.ca61-chart span:nth-child(4) { height: 72%; }
.ca61-chart span:nth-child(5) { height: 66%; }
.ca61-chart span:nth-child(6) { height: 88%; }

.ca61-project-map {
  align-self: stretch;
  border-bottom: 1px solid currentColor;
  border-left: 1px solid currentColor;
  display: grid;
  grid-template-rows: auto repeat(3, minmax(82px, 1fr));
  min-height: 320px;
  padding: 24px 32px;
}

.ca61-project-map > span {
  align-content: center;
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  display: grid;
  gap: 8px;
  min-width: 0;
  position: relative;
}

.ca61-project-map > span:not(:last-child)::after {
  bottom: -0.8rem;
  color: var(--ca61-burgundy);
  content: "↓";
  font-size: 1.4rem;
  position: absolute;
  right: 0;
  z-index: 1;
}

.ca61-project-map strong {
  font-family: var(--ca61-display);
  font-size: clamp(1.45rem, 2.5vw, 2.5rem);
  letter-spacing: -0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.ca61-project-map small {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  opacity: 0.72;
  text-transform: uppercase;
}

.ca61-about {
  background: var(--ca61-cream);
  color: var(--ca61-ink);
}
.ca61-project-framework { position: relative; }
.ca61-framework-caption {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0 0 10px;
  text-transform: uppercase;
}
.ca61-framework-axis {
  border-left: 1px solid var(--ca61-burgundy);
  height: calc(100% - 42px);
  left: 12px;
  position: absolute;
  top: 42px;
}
.ca61-framework-stage { padding-left: 28px; }
.ca61-framework-number {
  color: var(--ca61-burgundy);
  font-size: 0.68rem;
  left: 28px;
  letter-spacing: 0.1em;
  position: absolute;
  top: 10px;
}
.ca61-framework-stage strong { padding-top: 20px; }
.ca61-framework-stage em {
  font-size: 0.58rem;
  font-style: normal;
  letter-spacing: 0.14em;
  opacity: 0.62;
  text-transform: uppercase;
}
.ca61-framework-stage::before {
  background: var(--ca61-burgundy);
  border: 2px solid var(--ca61-ink);
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 8px;
  position: absolute;
  width: 9px;
}

.ca61-home-about-grid {
  align-items: center;
  background: var(--ca61-cream);
  color: var(--ca61-ink);
  grid-template-columns: minmax(240px, 0.62fr) minmax(360px, 1.38fr);
  padding: clamp(28px, 5vw, 72px);
  max-width: none;
}
.ca61-home-about-image { margin: 0; }
.ca61-home-about-image img { aspect-ratio: 16 / 9; }

.ca61-photo {
  background:
    linear-gradient(135deg, transparent 0 42%, rgba(255, 255, 255, 0.2) 42% 43%, transparent 43%),
    linear-gradient(45deg, #222, #777);
  min-height: 420px;
  overflow: hidden;
  position: relative;
}

.ca61-photo-label {
  background: var(--ca61-cream);
  bottom: 24px;
  color: var(--ca61-ink);
  font-size: 0.72rem;
  font-weight: 800;
  left: 24px;
  letter-spacing: 0.1em;
  padding: 10px 14px;
  position: absolute;
  text-transform: uppercase;
  z-index: 2;
}

.ca61-insights {
  background: var(--ca61-paper);
}

.ca61-insights .ca61-section-body {
  background: var(--ca61-paper);
  color: var(--ca61-ink);
  grid-template-columns: minmax(240px, 0.58fr) minmax(360px, 1.42fr);
  padding: clamp(28px, 5vw, 72px);
  max-width: none;
}
.ca61-home-insights-copy { grid-column: 1; grid-row: 1; }
.ca61-home-insights-image { grid-column: 2; grid-row: 1; margin: 0; }
.ca61-home-insights-image img { aspect-ratio: 3 / 2; }
.ca61-home-insights-list,
.ca61-insights .ca61-insights-continuation { grid-column: 1 / -1; }

@media (min-width: 1200px) {
  .ca61-negotiation .ca61-section-body {
    gap: clamp(52px, 5vw, 88px);
    grid-template-columns: minmax(360px, 0.82fr) minmax(500px, 1.18fr);
  }
  .ca61-home-about-grid {
    gap: clamp(56px, 6vw, 96px);
    grid-template-columns: minmax(340px, 0.72fr) minmax(620px, 1.28fr);
  }
  .ca61-insights .ca61-section-body {
    gap: clamp(56px, 6vw, 96px);
    grid-template-columns: minmax(340px, 0.72fr) minmax(620px, 1.28fr);
  }
}

.ca61-editorial-list {
  display: grid;
  gap: 0;
}

.ca61-editorial-item {
  align-items: baseline;
  border-top: 1px solid var(--ca61-rule);
  display: grid;
  gap: 24px;
  grid-template-columns: 90px minmax(0, 1fr) auto;
  padding-block: 26px;
  text-decoration: none;
}

.ca61-editorial-item strong {
  font-family: var(--ca61-serif);
  font-size: clamp(1.2rem, 2.6vw, 2.1rem);
}

.ca61-insights-continuation {
  margin: 42px 0 0;
}

.ca61-insights-continuation a {
  border-bottom: 1px solid currentColor;
  border-top: 1px solid currentColor;
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  padding-block: 18px;
  text-decoration: none;
}

.ca61-insights-continuation a:hover {
  color: var(--ca61-burgundy);
}

.ca61-page {
  min-height: 60vh;
  padding-block: var(--ca61-section);
}

.ca61-page > .wp-block-post-content {
  margin-inline: auto;
  max-width: var(--ca61-wide);
  padding-inline: var(--ca61-gutter);
}

.ca61-page h1 {
  font-family: var(--ca61-display);
  font-size: clamp(3.2rem, 8vw, 7.5rem);
  letter-spacing: -0.07em;
  line-height: 0.84;
  text-transform: uppercase;
}

.ca61-department-services .ca61-page {
  background: var(--ca61-mustard);
  padding-block: 0;
}

.ca61-department-services .ca61-page > .wp-block-post-content {
  margin-inline: 0;
  max-width: none;
  padding-inline: 0;
}

.ca61-services-opening {
  background: var(--ca61-mustard);
  padding-block: clamp(64px, 8vw, 112px);
}

.ca61-services-opening-grid {
  align-items: start;
  display: grid;
  gap: clamp(28px, 4vw, 64px);
  grid-template-columns: minmax(72px, 0.18fr) minmax(300px, 0.72fr) minmax(420px, 1.1fr);
}

.ca61-services-number {
  color: var(--ca61-burgundy);
  font-family: var(--ca61-display);
  font-size: clamp(5.5rem, 10vw, 10rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 0.72;
}

.ca61-services-kicker,
.ca61-services-capability-label,
.ca61-services-stage-number {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ca61-services-opening-copy h1 {
  font-size: clamp(3.8rem, 5.5vw, 5.2rem);
  margin: 1.25rem 0 1.75rem;
}

.ca61-services-opening-copy,
.ca61-services-image {
  min-width: 0;
}

.ca61-services-intro {
  font-family: var(--ca61-serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.45;
  margin: 0;
  max-width: 34rem;
}

.ca61-services-image {
  border-bottom: 10px solid var(--ca61-burgundy);
  margin: 0;
}

.ca61-services-image img {
  display: block;
  height: auto;
  width: 100%;
}

.ca61-services-capabilities {
  background: var(--ca61-cream);
  padding-block: var(--ca61-section);
}

.ca61-services-capabilities-header {
  align-items: end;
  border-bottom: 1px solid var(--ca61-rule);
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  padding-bottom: 36px;
}

.ca61-services-capabilities h2,
.ca61-services-approach h2 {
  font-family: var(--ca61-display);
  font-size: clamp(2.8rem, 6vw, 6rem);
  letter-spacing: -0.06em;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.ca61-services-capabilities-header p {
  font-family: var(--ca61-serif);
  font-size: 1.15rem;
  margin: 0;
}

.ca61-services-capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ca61-services-capability {
  border-bottom: 1px solid var(--ca61-rule);
  min-height: 290px;
  padding: clamp(36px, 5vw, 64px) clamp(24px, 4vw, 56px) clamp(36px, 5vw, 64px) 0;
}

.ca61-services-capability:nth-child(odd) {
  border-right: 1px solid var(--ca61-rule);
}

.ca61-services-capability:nth-child(even) {
  padding-left: clamp(24px, 4vw, 56px);
  padding-right: 0;
}

.ca61-services-capability-label {
  color: var(--ca61-burgundy);
  margin: 0 0 3rem;
}

.ca61-services-capability h3 {
  font-family: var(--ca61-display);
  font-size: clamp(1.8rem, 3.2vw, 3.25rem);
  letter-spacing: -0.045em;
  line-height: 0.95;
  margin: 0 0 1.25rem;
  text-transform: uppercase;
}

.ca61-services-capability p:last-child {
  line-height: 1.7;
  margin-bottom: 0;
  max-width: 31rem;
}

.ca61-services-approach {
  background: var(--ca61-mustard);
  padding-block: var(--ca61-section);
}

.ca61-services-stage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(48px, 7vw, 88px);
}

.ca61-services-stage {
  border-top: 1px solid var(--ca61-ink);
  min-height: 250px;
  padding: 28px clamp(24px, 3vw, 44px) 20px 0;
  position: relative;
}

.ca61-services-stage:not(:last-child)::after {
  content: "→";
  font-size: 1.5rem;
  position: absolute;
  right: 18px;
  top: 20px;
}

.ca61-services-stage-number {
  color: var(--ca61-burgundy);
  display: block;
  margin-bottom: 3rem;
}

.ca61-services-stage h3 {
  font-family: var(--ca61-display);
  font-size: clamp(1.8rem, 3vw, 3rem);
  letter-spacing: -0.04em;
  margin: 0 0 1rem;
}

.ca61-services-stage p {
  line-height: 1.7;
  margin-bottom: 0;
  max-width: 22rem;
}

.ca61-services-cta {
  border-bottom: 1px solid var(--ca61-ink);
  border-top: 1px solid var(--ca61-ink);
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  margin-top: 24px;
  padding-block: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-services-cta:hover {
  color: var(--ca61-burgundy);
}

.ca61-services-cta:focus-visible {
  outline: 3px solid var(--ca61-burgundy);
  outline-offset: 5px;
}

.ca61-department-projects .ca61-page {
  background: var(--ca61-ink);
  color: var(--ca61-paper);
  padding-block: 0;
}

.ca61-department-projects .ca61-page > .wp-block-post-content {
  margin-inline: 0;
  max-width: none;
  padding-inline: 0;
}

.ca61-projects-page-opening {
  background: var(--ca61-ink);
  color: var(--ca61-paper);
  padding-block: clamp(64px, 8vw, 112px);
}

.ca61-projects-page-opening-grid {
  align-items: center;
  display: grid;
  gap: clamp(40px, 6vw, 84px);
  grid-template-columns: minmax(300px, 0.78fr) minmax(440px, 1.22fr);
}

.ca61-projects-page-copy,
.ca61-projects-page-image {
  min-width: 0;
}

.ca61-projects-page-kicker,
.ca61-projects-framework-label,
.ca61-projects-deliverable-index {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ca61-projects-page-copy h1 {
  color: var(--ca61-paper);
  font-family: var(--ca61-display);
  font-size: clamp(3.4rem, 4.5vw, 4.8rem);
  letter-spacing: -0.07em;
  line-height: 0.86;
  margin: 1.5rem 0 2rem;
  text-transform: uppercase;
}

.ca61-projects-page-intro {
  font-family: var(--ca61-serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.45;
  margin: 0;
  max-width: 35rem;
}

.ca61-projects-page-image {
  border-bottom: 10px solid var(--ca61-burgundy);
  margin: 0;
}

.ca61-projects-page-image img {
  display: block;
  height: auto;
  width: 100%;
}

.ca61-projects-framework,
.ca61-projects-deliverables {
  background: var(--ca61-cream);
  color: var(--ca61-ink);
  padding-block: var(--ca61-section);
}

.ca61-projects-framework h2,
.ca61-projects-deliverables h2,
.ca61-projects-decision h2 {
  font-family: var(--ca61-display);
  font-size: clamp(2.8rem, 6vw, 6rem);
  letter-spacing: -0.06em;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.ca61-projects-framework-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(48px, 7vw, 88px);
}

.ca61-projects-framework-item {
  border-bottom: 1px solid var(--ca61-rule);
  border-top: 1px solid var(--ca61-rule);
  min-height: 280px;
  padding: clamp(34px, 4vw, 54px);
}

.ca61-projects-framework-item:first-child {
  padding-left: 0;
}

.ca61-projects-framework-item:not(:last-child) {
  border-right: 1px solid var(--ca61-rule);
}

.ca61-projects-framework-item:last-child {
  padding-right: 0;
}

.ca61-projects-framework-label {
  color: var(--ca61-burgundy);
  margin: 0 0 3rem;
}

.ca61-projects-framework-item h3 {
  font-family: var(--ca61-display);
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  letter-spacing: -0.05em;
  margin: 0 0 1.25rem;
}

.ca61-projects-framework-item p:last-child {
  line-height: 1.7;
  margin-bottom: 0;
}

.ca61-projects-deliverables {
  background: var(--ca61-paper);
  border-top: 1px solid var(--ca61-rule);
}

.ca61-projects-deliverables-intro {
  font-family: var(--ca61-serif);
  font-size: 1.2rem;
  line-height: 1.6;
  margin: 1.5rem 0 0;
  max-width: var(--ca61-content);
}

.ca61-projects-deliverable-grid {
  border-top: 1px solid var(--ca61-rule);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(44px, 6vw, 72px);
}

.ca61-projects-deliverable {
  border-bottom: 1px solid var(--ca61-rule);
  min-height: 170px;
  padding: 28px clamp(22px, 3vw, 40px) 32px 0;
}

.ca61-projects-deliverable:not(:nth-child(3n)) {
  border-right: 1px solid var(--ca61-rule);
}

.ca61-projects-deliverable:nth-child(3n + 2),
.ca61-projects-deliverable:nth-child(3n + 3) {
  padding-left: clamp(22px, 3vw, 40px);
}

.ca61-projects-deliverable-index {
  color: var(--ca61-burgundy);
  display: block;
  margin-bottom: 2rem;
}

.ca61-projects-deliverable strong {
  font-family: var(--ca61-display);
  font-size: clamp(1.3rem, 2.3vw, 2rem);
  letter-spacing: -0.035em;
  line-height: 1;
  text-transform: uppercase;
}

.ca61-projects-decision {
  background: var(--ca61-burgundy);
  color: var(--ca61-paper);
  padding-block: var(--ca61-section);
}

.ca61-projects-decision-grid {
  align-items: end;
  display: grid;
  gap: clamp(36px, 7vw, 100px);
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

.ca61-projects-decision-copy {
  font-family: var(--ca61-serif);
  font-size: 1.2rem;
  line-height: 1.65;
  margin: 0 0 2rem;
}

.ca61-projects-cta {
  border-bottom: 1px solid currentColor;
  border-top: 1px solid currentColor;
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  padding-block: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-projects-cta:hover {
  color: var(--ca61-mustard);
}

.ca61-projects-cta:focus-visible {
  outline: 3px solid var(--ca61-mustard);
  outline-offset: 5px;
}

.ca61-department-about .ca61-page {
  background: var(--ca61-olive);
  color: var(--ca61-paper);
  padding-block: 0;
}

.ca61-department-about .ca61-page > .wp-block-post-content {
  margin-inline: 0;
  max-width: none;
  padding-inline: 0;
}

.ca61-about-opening {
  background: var(--ca61-olive);
  color: var(--ca61-paper);
  padding-block: clamp(64px, 8vw, 112px);
}

.ca61-about-opening-grid {
  align-items: center;
  display: grid;
  gap: clamp(36px, 6vw, 88px);
  grid-template-columns: minmax(300px, 0.82fr) minmax(420px, 1.18fr);
}

.ca61-about-opening-copy,
.ca61-about-image {
  min-width: 0;
}

.ca61-about-kicker,
.ca61-about-section-label,
.ca61-about-principle-index {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ca61-about-opening-copy h1 {
  color: var(--ca61-paper);
  font-size: clamp(3.5rem, 6.3vw, 6rem);
  margin: 1.5rem 0 2rem;
}

.ca61-about-intro {
  font-family: var(--ca61-serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.5;
  margin: 0;
  max-width: 35rem;
}

.ca61-about-image {
  border-bottom: 10px solid var(--ca61-burgundy);
  margin: 0;
}

.ca61-about-image img {
  display: block;
  height: auto;
  width: 100%;
}

.ca61-about-image figcaption {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  padding-top: 12px;
  text-transform: uppercase;
}

.ca61-about-definition {
  background: var(--ca61-cream);
  color: var(--ca61-ink);
  padding-block: var(--ca61-section);
}

.ca61-about-definition-grid,
.ca61-about-collaboration-grid,
.ca61-about-claims-grid {
  display: grid;
  gap: clamp(36px, 5vw, 72px);
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
}

.ca61-about-definition-grid > *,
.ca61-about-collaboration-grid > *,
.ca61-about-claims-grid > * {
  min-width: 0;
}

.ca61-about-definition-copy,
.ca61-about-collaboration-copy,
.ca61-about-claims-copy {
  font-family: var(--ca61-serif);
  font-size: clamp(1.25rem, 2.1vw, 1.8rem);
  line-height: 1.55;
  margin: 0;
  max-width: 44rem;
}

.ca61-about-principles {
  background: var(--ca61-cream);
  color: var(--ca61-ink);
  padding-bottom: var(--ca61-section);
}

.ca61-about-principles h2,
.ca61-about-collaboration h2,
.ca61-about-claims h2,
.ca61-about-definition h2 {
  font-family: var(--ca61-display);
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  letter-spacing: -0.055em;
  line-height: 0.9;
  margin: 1rem 0 0;
  text-transform: uppercase;
}

.ca61-about-principles-grid {
  border-bottom: 1px solid var(--ca61-rule);
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  margin-top: clamp(40px, 6vw, 72px);
}

.ca61-about-principle {
  border-right: 1px solid var(--ca61-rule);
  border-top: 1px solid var(--ca61-rule);
  min-height: 270px;
  padding: 28px clamp(24px, 3vw, 42px) 40px 0;
}

.ca61-about-principle:not(:first-child) {
  padding-left: clamp(24px, 3vw, 42px);
}

.ca61-about-principle:last-child {
  border-right: 0;
}

.ca61-about-principle h3 {
  font-family: var(--ca61-display);
  font-size: clamp(1.6rem, 2.6vw, 2.45rem);
  letter-spacing: -0.04em;
  line-height: 0.95;
  margin: 3rem 0 1.25rem;
  text-transform: uppercase;
}

.ca61-about-principle p {
  font-family: var(--ca61-serif);
  line-height: 1.6;
  margin: 0;
}

.ca61-about-collaboration {
  background: var(--ca61-mustard);
  color: var(--ca61-ink);
  padding-block: var(--ca61-section);
}

.ca61-about-collaboration-grid {
  border-bottom: 1px solid currentColor;
  border-top: 1px solid currentColor;
  padding-block: clamp(40px, 6vw, 72px);
}

.ca61-about-claims {
  background: var(--ca61-burgundy);
  color: var(--ca61-paper);
  padding-block: var(--ca61-section);
}

.ca61-about-claims-grid {
  align-items: end;
}

.ca61-about-claims-copy {
  margin-bottom: 2rem;
}

.ca61-about-cta {
  border-bottom: 1px solid currentColor;
  border-top: 1px solid currentColor;
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  padding-block: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-about-cta:hover {
  color: var(--ca61-mustard);
}

.ca61-about-cta:focus-visible {
  outline: 3px solid var(--ca61-mustard);
  outline-offset: 5px;
}

.ca61-department-insights .ca61-page {
  background: var(--ca61-cream);
  padding-block: 0;
}

.ca61-department-insights .ca61-page > .wp-block-post-content {
  margin-inline: 0;
  max-width: none;
  padding-inline: 0;
}

.ca61-insights-opening {
  background: var(--ca61-cream);
  color: var(--ca61-ink);
  padding-block: clamp(64px, 8vw, 112px);
}

.ca61-insights-opening-grid {
  align-items: center;
  display: grid;
  gap: clamp(36px, 6vw, 88px);
  grid-template-columns: minmax(300px, 0.82fr) minmax(420px, 1.18fr);
}

.ca61-insights-opening-copy,
.ca61-insights-image {
  min-width: 0;
}

.ca61-insights-kicker,
.ca61-insights-section-label,
.ca61-insights-index {
  color: var(--ca61-burgundy);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ca61-insights-opening-copy h1 {
  font-size: clamp(3.2rem, 5.4vw, 5.4rem);
  margin: 1.5rem 0 2rem;
}

.ca61-insights-intro {
  font-family: var(--ca61-serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.5;
  margin: 0;
  max-width: 35rem;
}

.ca61-insights-image {
  border-bottom: 10px solid var(--ca61-burgundy);
  margin: 0;
}

.ca61-insights-image img {
  display: block;
  height: auto;
  width: 100%;
}

.ca61-insights-image figcaption {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  padding-top: 12px;
  text-transform: uppercase;
}

.ca61-insights-principles {
  background: var(--ca61-paper);
  color: var(--ca61-ink);
  padding-block: var(--ca61-section);
}

.ca61-insights-principles h2,
.ca61-insights-future h2 {
  font-family: var(--ca61-display);
  font-size: clamp(2.5rem, 4vw, 4rem);
  letter-spacing: -0.055em;
  line-height: 0.9;
  margin: 1rem 0 0;
  text-transform: uppercase;
}

.ca61-insights-principles-grid {
  border-bottom: 1px solid var(--ca61-rule);
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  margin-top: clamp(40px, 6vw, 72px);
}

.ca61-insights-principle {
  border-right: 1px solid var(--ca61-rule);
  border-top: 1px solid var(--ca61-rule);
  min-height: 320px;
  padding: 28px clamp(24px, 3vw, 42px) 40px 0;
}

.ca61-insights-principle:not(:first-child) {
  padding-left: clamp(24px, 3vw, 42px);
}

.ca61-insights-principle:last-child {
  border-right: 0;
}

.ca61-insights-principle h3 {
  font-family: var(--ca61-display);
  font-size: clamp(1.65rem, 2.8vw, 2.55rem);
  letter-spacing: -0.045em;
  line-height: 0.95;
  margin: 3rem 0 1.25rem;
  text-transform: uppercase;
}

.ca61-insights-principle p,
.ca61-insights-future-intro {
  font-family: var(--ca61-serif);
  line-height: 1.65;
  margin: 0;
}

.ca61-insights-future {
  background: var(--ca61-ink);
  color: var(--ca61-cream);
  padding-block: var(--ca61-section);
}

.ca61-insights-future-grid {
  display: grid;
  gap: clamp(42px, 5vw, 72px);
  grid-template-columns: minmax(380px, 0.95fr) minmax(0, 1.05fr);
}

.ca61-insights-future-grid > * {
  min-width: 0;
}

.ca61-insights-future-intro {
  margin-top: 2rem;
  max-width: 35rem;
}

.ca61-insights-topic-list {
  border-bottom: 1px solid rgba(243, 239, 230, 0.45);
}

.ca61-insights-topic {
  align-items: center;
  border-top: 1px solid rgba(243, 239, 230, 0.45);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-block: 24px;
}

.ca61-insights-topic strong {
  font-family: var(--ca61-serif);
  font-size: clamp(1.2rem, 2vw, 1.65rem);
}

.ca61-insights-topic span {
  border: 1px solid var(--ca61-burgundy);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  padding: 8px 10px;
  text-transform: uppercase;
}

.ca61-insights-next {
  background: var(--ca61-burgundy);
  color: var(--ca61-paper);
  padding-block: clamp(52px, 7vw, 88px);
}

.ca61-insights-cta {
  border-bottom: 1px solid currentColor;
  border-top: 1px solid currentColor;
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  padding-block: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-insights-cta:hover {
  color: var(--ca61-mustard);
}

.ca61-insights-cta:focus-visible,
.ca61-insights-continuation a:focus-visible {
  outline: 3px solid var(--ca61-mustard);
  outline-offset: 5px;
}

.ca61-department-contact .ca61-page {
  background: var(--ca61-cream);
  padding-block: 0;
}

.ca61-department-contact .ca61-page > .wp-block-post-content {
  margin-inline: 0;
  max-width: none;
  padding-inline: 0;
}

.ca61-contact-opening {
  background: var(--ca61-cream);
  color: var(--ca61-ink);
  padding-block: clamp(72px, 9vw, 128px);
}

.ca61-contact-opening-grid,
.ca61-contact-brief-grid,
.ca61-contact-next-grid {
  display: grid;
  gap: clamp(40px, 7vw, 100px);
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
}

.ca61-contact-opening-grid > *,
.ca61-contact-brief-grid > *,
.ca61-contact-next-grid > * {
  min-width: 0;
}

.ca61-contact-label,
.ca61-contact-section-label,
.ca61-contact-email-label {
  color: var(--ca61-burgundy);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ca61-contact-heading h1 {
  font-size: clamp(3.3rem, 6vw, 5.9rem);
  margin: 1.5rem 0 0;
}

.ca61-contact-introduction {
  border-bottom: 1px solid var(--ca61-rule);
  border-top: 1px solid var(--ca61-rule);
  padding-block: clamp(32px, 5vw, 56px);
}

.ca61-contact-introduction > p:first-child,
.ca61-contact-brief-copy,
.ca61-contact-next-copy {
  font-family: var(--ca61-serif);
  font-size: clamp(1.2rem, 1.9vw, 1.65rem);
  line-height: 1.6;
}

.ca61-contact-introduction > p:first-child {
  margin: 0 0 clamp(40px, 6vw, 72px);
  max-width: 42rem;
}

.ca61-contact-email-label {
  margin: 0 0 12px;
}

.ca61-contact-email {
  color: var(--ca61-ink);
  display: inline;
  font-family: var(--ca61-display);
  font-size: clamp(1.7rem, 3.1vw, 3.2rem);
  letter-spacing: -0.035em;
  line-height: 1;
  overflow-wrap: anywhere;
  text-decoration-color: var(--ca61-burgundy);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

.ca61-contact-email:hover {
  color: var(--ca61-burgundy);
}

.ca61-contact-email:focus-visible,
.ca61-contact-privacy:focus-visible {
  outline: 3px solid var(--ca61-burgundy);
  outline-offset: 5px;
}

.ca61-contact-delivery-note {
  font-size: 0.78rem;
  line-height: 1.55;
  margin: 28px 0 0;
  max-width: 38rem;
}

.ca61-contact-brief {
  background: var(--ca61-paper);
  color: var(--ca61-ink);
  padding-block: var(--ca61-section);
}

.ca61-contact-brief-grid {
  border-bottom: 1px solid var(--ca61-rule);
  border-top: 1px solid var(--ca61-rule);
  padding-block: clamp(40px, 6vw, 72px);
}

.ca61-contact-brief h2,
.ca61-contact-next h2 {
  font-family: var(--ca61-display);
  font-size: clamp(2.5rem, 4.5vw, 4.6rem);
  letter-spacing: -0.055em;
  line-height: 0.9;
  margin: 1rem 0 0;
  text-transform: uppercase;
}

.ca61-contact-brief-copy p,
.ca61-contact-next-copy p {
  margin: 0;
}

.ca61-contact-brief-copy p + p {
  font-family: var(--ca61-sans);
  font-size: 0.82rem;
  margin-top: 28px;
}

.ca61-contact-next {
  background: var(--ca61-burgundy);
  color: var(--ca61-paper);
  padding-block: var(--ca61-section);
}

.ca61-contact-next .ca61-contact-section-label {
  color: var(--ca61-mustard);
}

.ca61-contact-next-copy p {
  margin-bottom: 36px;
}

.ca61-contact-privacy {
  border-bottom: 1px solid currentColor;
  border-top: 1px solid currentColor;
  color: var(--ca61-paper);
  display: inline-block;
  font-family: var(--ca61-sans);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  padding-block: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

.ca61-contact-privacy:hover {
  color: var(--ca61-mustard);
}

.ca61-contact-privacy:focus-visible {
  outline-color: var(--ca61-mustard);
}

.ca61-site-footer {
  background: var(--ca61-burgundy);
  color: var(--ca61-paper);
  padding-block: clamp(64px, 9vw, 120px) 36px;
}

.ca61-footer-grid {
  display: grid;
  gap: clamp(44px, 7vw, 100px);
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
}

.ca61-footer-title {
  font-family: var(--ca61-display);
  font-size: clamp(3rem, 8vw, 7rem);
  letter-spacing: -0.07em;
  line-height: 0.82;
  margin: 0;
  text-transform: uppercase;
}

.ca61-footer-links {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ca61-footer-meta {
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.72rem;
  font-weight: 800;
  gap: 18px;
  justify-content: space-between;
  letter-spacing: 0.1em;
  margin-top: 72px;
  padding-top: 20px;
  text-transform: uppercase;
}

.ca61-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.ca61-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.ca61-elevator {
  display: grid;
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 100;
}

.ca61-elevator::before,
.ca61-elevator::after {
  background: var(--ca61-burgundy);
  content: "";
  grid-area: 1 / 1;
  transform: scaleX(0);
  transition: transform 240ms ease;
  width: 50%;
}

.ca61-elevator::before {
  justify-self: start;
  transform-origin: left;
}

.ca61-elevator::after {
  justify-self: end;
  transform-origin: right;
}

.ca61-is-leaving .ca61-elevator::before,
.ca61-is-leaving .ca61-elevator::after {
  transform: scaleX(1);
}

@media (max-width: 900px) {
  .ca61-negotiation .ca61-section-body,
  .ca61-insights .ca61-section-body {
    grid-template-columns: 1fr;
    padding: 28px;
  }

  .ca61-home-approach-copy,
  .ca61-home-approach-image,
  .ca61-home-approach-grid,
  .ca61-home-insights-copy,
  .ca61-home-insights-image,
  .ca61-home-insights-list,
  .ca61-insights .ca61-insights-continuation {
    grid-column: 1;
    grid-row: auto;
  }

  .ca61-home-approach-image img,
  .ca61-home-about-image img,
  .ca61-home-insights-image img { aspect-ratio: 16 / 10; }

  .ca61-home-approach-grid { grid-template-columns: 1fr; }
  .ca61-home-about-grid { grid-template-columns: 1fr; padding: 28px; }

  .ca61-home-hero {
    display: block;
    min-height: 0;
  }

  .ca61-home-building {
    margin-inline: auto;
    max-width: 720px;
  }

  .ca61-home-intro {
    min-height: min(760px, 100vh);
    padding: clamp(3rem, 9vw, 5rem) clamp(1.25rem, 7vw, 3rem) 2rem;
  }

  .ca61-home-title {
    font-size: clamp(3.8rem, 14vw, 6rem);
  }

  .ca61-header-grid,
  .ca61-hero-grid,
  .ca61-section-grid,
  .ca61-project-grid,
  .ca61-footer-grid {
    grid-template-columns: 1fr;
  }

  .ca61-header-grid {
    padding-block: 22px;
  }

  .ca61-primary-nav ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ca61-hero {
    min-height: auto;
  }

  .ca61-sign {
    max-width: 260px;
  }

  .ca61-section-number {
    font-size: 4.5rem;
  }

  .ca61-negotiation-grid {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }

  .ca61-services-opening-grid {
    grid-template-columns: minmax(72px, 0.2fr) minmax(0, 0.8fr);
  }

  .ca61-services-image {
    grid-column: 1 / -1;
  }

  .ca61-services-capabilities-header {
    grid-template-columns: 1fr;
  }

  .ca61-projects-page-opening-grid,
  .ca61-projects-decision-grid,
  .ca61-about-opening-grid,
  .ca61-about-definition-grid,
  .ca61-about-collaboration-grid,
  .ca61-about-claims-grid,
  .ca61-insights-opening-grid,
  .ca61-insights-future-grid,
  .ca61-contact-opening-grid,
  .ca61-contact-brief-grid,
  .ca61-contact-next-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  :root {
    --ca61-gutter: 20px;
  }

  .ca61-home-intro {
    min-height: 620px;
  }

  .ca61-home-title {
    font-size: clamp(3.35rem, 16vw, 4.4rem);
  }

  .ca61-home-nav > a,
  .ca61-home-nav-unavailable {
    min-height: 3.35rem;
  }

  .ca61-primary-nav ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ca61-negotiation-grid {
    grid-template-columns: 1fr;
  }

  .ca61-services-opening-grid,
  .ca61-services-capability-grid,
  .ca61-services-stage-grid {
    grid-template-columns: 1fr;
  }

  .ca61-services-opening-copy h1 {
    font-size: clamp(3.2rem, 14.5vw, 4rem);
  }

  .ca61-services-capability {
    border-right: 0;
    min-height: 0;
    padding-inline: 0;
  }

  .ca61-services-capability:nth-child(odd) {
    border-right: 0;
  }

  .ca61-services-capability:nth-child(even) {
    padding-left: 0;
  }

  .ca61-services-stage {
    min-height: 0;
    padding-bottom: 44px;
  }

  .ca61-services-stage:not(:last-child)::after {
    content: "↓";
  }

  .ca61-projects-page-copy h1 {
    font-size: clamp(2.9rem, 12vw, 3.6rem);
  }

  .ca61-projects-framework-grid,
  .ca61-projects-deliverable-grid,
  .ca61-about-principles-grid,
  .ca61-insights-principles-grid {
    grid-template-columns: 1fr;
  }

  .ca61-about-opening-copy h1 {
    font-size: clamp(3rem, 13.5vw, 4rem);
  }

  .ca61-about-principle {
    border-right: 0;
    min-height: 0;
    padding-inline: 0;
  }

  .ca61-about-principle:not(:first-child) {
    padding-left: 0;
  }

  .ca61-insights-opening-copy h1 {
    font-size: clamp(2.9rem, 12.5vw, 3.8rem);
  }

  .ca61-contact-heading h1 {
    font-size: clamp(3rem, 13vw, 4rem);
  }

  .ca61-insights-principle {
    border-right: 0;
    min-height: 0;
    padding-inline: 0;
  }

  .ca61-insights-principle:not(:first-child) {
    padding-left: 0;
  }

  .ca61-insights-topic {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .ca61-projects-framework-item {
    border-right: 0;
    min-height: 0;
    padding-inline: 0;
  }

  .ca61-projects-framework-item:not(:last-child) {
    border-right: 0;
  }

  .ca61-projects-framework-item:not(:first-child) {
    border-top: 0;
  }

  .ca61-projects-deliverable {
    border-right: 0;
    min-height: 0;
    padding-inline: 0;
  }

  .ca61-projects-deliverable:not(:nth-child(3n)) {
    border-right: 0;
  }

  .ca61-projects-deliverable:nth-child(3n + 2),
  .ca61-projects-deliverable:nth-child(3n + 3) {
    padding-left: 0;
  }

  .ca61-editorial-item {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .ca61-editorial-item span:last-child {
    display: none;
  }

  .ca61-display {
    font-size: clamp(3rem, 17vw, 5.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .ca61-reveal {
    opacity: 1;
    transform: none;
  }

  .ca61-elevator {
    display: none;
  }
}

/* Services v2: editorial capabilities page */
.ca61-services-v2 { background: var(--ca61-cream); color: var(--ca61-ink); }
.ca61-services-v2-hero { border-bottom: 1px solid var(--ca61-ink); padding: clamp(4rem, 9vw, 9rem) 0 clamp(3rem, 6vw, 6rem); }
.ca61-services-v2-hero-grid { display: grid; grid-template-columns: 5rem minmax(0, 1fr) 15rem; gap: clamp(2rem, 5vw, 6rem); align-items: end; }
.ca61-services-v2-index, .ca61-services-v2-number { color: var(--ca61-burgundy); font-family: Arial, sans-serif; font-size: .75rem; letter-spacing: .12em; margin: 0; }
.ca61-services-v2-kicker { color: var(--ca61-burgundy); font: 600 .72rem/1.3 Arial, sans-serif; letter-spacing: .14em; margin: 0 0 1rem; text-transform: uppercase; }
.ca61-services-v2-hero h1 { font: 400 clamp(5rem, 13vw, 12rem)/.8 Impact, "Arial Narrow", sans-serif; letter-spacing: -.04em; margin: 0; }
.ca61-services-v2-deck { font: 600 clamp(1rem, 1.7vw, 1.5rem)/1.2 Arial, sans-serif; letter-spacing: .05em; margin: 2rem 0 0; max-width: 34rem; }
.ca61-services-v2-index-nav { border-top: 1px solid currentColor; display: grid; grid-template-columns: repeat(3, 1fr); }
.ca61-services-v2-index-nav a { border-bottom: 1px solid currentColor; color: var(--ca61-burgundy); padding: .7rem .3rem; text-decoration: none; }
.ca61-services-v2-section { border-bottom: 1px solid currentColor; padding: clamp(4rem, 8vw, 9rem) 0; }
.ca61-services-v2-section > .ca61-shell { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: clamp(2rem, 5vw, 6rem); }
.ca61-services-v2-section-head h2 { font: 400 clamp(3rem, 7vw, 7.5rem)/.86 Impact, "Arial Narrow", sans-serif; letter-spacing: -.035em; margin: 0 0 clamp(2rem, 5vw, 5rem); max-width: 55rem; }
.ca61-services-v2-columns, .ca61-services-v2-list-grid { grid-column: 2; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.4fr) minmax(12rem, .6fr); }
.ca61-services-v2-list-grid { grid-template-columns: repeat(3, 1fr); }
.ca61-services-v2-columns h3, .ca61-services-v2-list-grid h3 { border-top: 1px solid currentColor; font: 600 1.05rem/1.2 Arial, sans-serif; letter-spacing: .08em; padding-top: .8rem; text-transform: uppercase; }
.ca61-services-v2-columns p, .ca61-services-v2-list-grid p, .ca61-services-v2-long-list { font: 400 1.05rem/1.55 Arial, sans-serif; margin: 0; }
.ca61-services-v2-aside { border-left: 1px solid var(--ca61-burgundy); padding-left: 1.2rem; }
.ca61-services-v2-dark { background: var(--ca61-ink); color: var(--ca61-cream); }
.ca61-services-v2-cream { background: #fff; }
.ca61-services-v2-oxblood { background: var(--ca61-burgundy); color: #fff; }
.ca61-services-v2-oxblood .ca61-services-v2-kicker, .ca61-services-v2-dark .ca61-services-v2-kicker { color: var(--ca61-mustard); }
.ca61-services-v2-long-list { grid-column: 2; max-width: 62rem; }
.ca61-services-v2-cro { background: var(--ca61-mustard); }
.ca61-services-v2-example { border-top: 2px solid var(--ca61-ink); display: grid; gap: .7rem; grid-column: 2; margin-top: 3rem; padding-top: 1.2rem; }
.ca61-services-v2-example p { font: .7rem/1.2 Arial, sans-serif; letter-spacing: .08em; margin: 0 0 1rem; text-transform: uppercase; }
.ca61-services-v2-example strong { font: 400 clamp(1.8rem, 4vw, 4rem)/.95 Impact, sans-serif; }
.ca61-services-v2-example b { font: 700 .9rem/1.2 Arial, sans-serif; letter-spacing: .1em; margin-top: 1rem; }
.ca61-services-v2-ai { padding-bottom: clamp(6rem, 13vw, 13rem); }
@media (max-width: 900px) {
  .ca61-services-v2-hero-grid, .ca61-services-v2-section > .ca61-shell { grid-template-columns: 3rem minmax(0, 1fr); gap: 1.5rem; }
  .ca61-services-v2-index-nav { grid-column: 2; }
  .ca61-services-v2-list-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .ca61-services-v2-hero-grid, .ca61-services-v2-section > .ca61-shell { display: block; }
  .ca61-services-v2-index, .ca61-services-v2-number { margin-bottom: 1.5rem; }
  .ca61-services-v2-hero h1 { font-size: clamp(4.5rem, 23vw, 7rem); }
  .ca61-services-v2-index-nav { margin-top: 2rem; }
  .ca61-services-v2-columns, .ca61-services-v2-list-grid { display: block; }
  .ca61-services-v2-columns > div, .ca61-services-v2-list-grid > div { margin-bottom: 2rem; }
  .ca61-services-v2-section-head h2 { font-size: clamp(3.2rem, 16vw, 5rem); }
  .ca61-services-v2-long-list { font-size: 1rem; }
}

/* Services v3: compact interactive navigator */
.ca61-services-v3 { background: var(--ca61-cream); color: var(--ca61-ink); }
.ca61-services-v3-hero { border-bottom: 1px solid var(--ca61-ink); padding: clamp(3.5rem, 8vw, 7rem) 0 clamp(2.5rem, 5vw, 4rem); }
.ca61-services-v3-hero h1 { font: 400 clamp(4.5rem, 12vw, 11rem)/.8 Impact, "Arial Narrow", sans-serif; letter-spacing: -.04em; margin: 0; }
.ca61-services-v3-kicker { color: var(--ca61-burgundy); font: 600 .7rem/1.3 Arial, sans-serif; letter-spacing: .14em; margin: 0 0 1rem; text-transform: uppercase; }
.ca61-services-v3-lead { font: 400 clamp(2.2rem, 5vw, 5.5rem)/.88 Impact, "Arial Narrow", sans-serif; margin: 2rem 0; }
.ca61-services-v3-tags { border-top: 1px solid currentColor; font: 600 .75rem/1.3 Arial, sans-serif; letter-spacing: .12em; margin: 0; padding-top: .8rem; }
.ca61-services-v3-navigator { margin: 0 auto; max-width: 1180px; padding: 1rem 24px 4rem; }
.ca61-services-v3-item { border-bottom: 1px solid color-mix(in srgb, var(--ca61-ink) 35%, transparent); position: relative; }
.ca61-services-v3-item::before { background: var(--ca61-burgundy); content: ""; height: 0; left: -1px; position: absolute; top: 0; transition: height 220ms ease; width: 3px; }
.ca61-services-v3-item.is-active::before { height: 100%; }
.ca61-services-v3-trigger { align-items: center; background: none; border: 0; color: inherit; cursor: pointer; display: grid; font: inherit; gap: 1rem; grid-template-columns: 4rem minmax(0, 1fr) 2rem; padding: 1rem 0 1rem 1rem; text-align: left; width: 100%; }
.ca61-services-v3-num { color: var(--ca61-burgundy); font: 600 .75rem Arial, sans-serif; letter-spacing: .1em; }
.ca61-services-v3-label { font: 400 clamp(1.5rem, 3vw, 3rem)/1 Impact, "Arial Narrow", sans-serif; letter-spacing: -.01em; }
.ca61-services-v3-arrow { color: var(--ca61-burgundy); font-size: 1.4rem; opacity: .45; transition: transform 220ms ease, opacity 220ms ease; }
.ca61-services-v3-item.is-active .ca61-services-v3-arrow { opacity: 1; transform: rotate(45deg); }
.ca61-services-v3-panel { display: grid; grid-template-columns: 4rem minmax(0, 1fr); max-height: 0; opacity: 0; overflow: hidden; padding: 0 0 0 1rem; transition: max-height 260ms ease, opacity 180ms ease, padding 260ms ease; }
.ca61-services-v3-item.is-active .ca61-services-v3-panel { max-height: 48rem; opacity: 1; padding-bottom: 2rem; }
.ca61-services-v3-panel h2 { font: 400 clamp(2.3rem, 5vw, 5.5rem)/.86 Impact, "Arial Narrow", sans-serif; grid-column: 2; margin: 0 0 1.5rem; }
.ca61-services-v3-groups { display: grid; gap: 1rem 2rem; grid-column: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ca61-services-v3-group { border-top: 1px solid currentColor; padding-top: .65rem; }
.ca61-services-v3-group p:first-child { color: var(--ca61-burgundy); font: 600 .7rem Arial, sans-serif; letter-spacing: .12em; margin: 0 0 .6rem; text-transform: uppercase; }
.ca61-services-v3-group p:last-child { font: .9rem/1.45 Arial, sans-serif; margin: 0; }
.ca61-services-v3-example { border-top: 1px solid currentColor; display: grid; gap: .3rem; grid-column: 1 / -1; margin-top: 1rem; padding-top: .8rem; }
.ca61-services-v3-example small { font: .65rem Arial, sans-serif; letter-spacing: .1em; }
.ca61-services-v3-example strong { font: 400 clamp(1.7rem, 4vw, 4rem)/.9 Impact, sans-serif; }
.ca61-services-v3-example b { font: 700 .75rem Arial, sans-serif; letter-spacing: .12em; margin-top: .6rem; }
.ca61-services-v3-item[data-services-item="09"] .ca61-services-v3-panel { background: var(--ca61-ink); color: var(--ca61-cream); margin: 0 -1rem; padding-left: 2rem; padding-right: 1rem; }
@media (max-width: 700px) {
  .ca61-services-v3-navigator { padding-left: 16px; padding-right: 16px; }
  .ca61-services-v3-trigger { grid-template-columns: 2.5rem minmax(0, 1fr) 1.5rem; padding-left: .7rem; }
  .ca61-services-v3-label { font-size: 1.45rem; }
  .ca61-services-v3-panel { display: block; max-height: 0; padding: 0 .7rem 0 3.2rem; }
  .ca61-services-v3-item.is-active .ca61-services-v3-panel { max-height: 80rem; padding-bottom: 1.5rem; }
  .ca61-services-v3-panel h2 { font-size: 2.7rem; padding: 0; }
  .ca61-services-v3-groups { display: block; }
  .ca61-services-v3-group { margin-top: 1rem; }
  .ca61-services-v3-item[data-services-item="09"] .ca61-services-v3-panel { margin: 0 -.7rem; padding-left: 3.9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ca61-services-v3-panel, .ca61-services-v3-item::before, .ca61-services-v3-arrow { transition: none; }
}

/* Services v4: fixed editorial switchboard */
.ca61-services-v4-navigator { display: grid; grid-template-columns: 42% 58%; margin: 0 auto; max-width: 1180px; padding: 1rem 24px 4rem; position: relative; }
.ca61-department-services .ca61-page { background: var(--ca61-cream); }
.ca61-services-v4-hero { border-bottom: 1px solid var(--ca61-ink); padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(2rem, 4vw, 3rem); }
.ca61-services-v4-hero h1 { font: 400 clamp(5.5rem, 14vw, 13rem)/.78 Impact, "Arial Narrow", sans-serif; letter-spacing: -.045em; margin: 0; }
.ca61-services-v4-lead { font: 400 clamp(2.4rem, 5vw, 5rem)/.86 Impact, "Arial Narrow", sans-serif; margin: 1.5rem 0; }
.ca61-services-v4-item { display: contents; }
.ca61-services-v4-item::before { background: var(--ca61-burgundy); content: ""; height: 0; left: 0; position: absolute; top: 0; transition: height 220ms ease; width: 3px; }
.ca61-services-v4-item.is-active::before { height: 100%; }
.ca61-services-v4-trigger { align-items: center; background: none; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--ca61-ink) 35%, transparent); color: inherit; cursor: pointer; display: grid; font: inherit; gap: 1rem; grid-template-columns: 4rem minmax(0, 1fr) 2rem; padding: 1rem 0 1rem 1rem; text-align: left; width: 100%; }
.ca61-services-v4-num { color: var(--ca61-burgundy); font: 600 .75rem Arial, sans-serif; letter-spacing: .1em; }
.ca61-services-v4-label { font: 400 clamp(1.5rem, 2.4vw, 2.6rem)/1 Impact, "Arial Narrow", sans-serif; }
.ca61-services-v4-arrow { color: var(--ca61-burgundy); font-size: 1.4rem; }
.ca61-services-v4-trigger { grid-column: 1; }
.ca61-services-v4-item::before { z-index: 3; }
.ca61-services-v4-stage { background: var(--ca61-cream); border-left: 1px solid var(--ca61-ink); grid-column: 2; grid-row: 1 / span 9; min-height: 35rem; overflow: hidden; padding: clamp(2rem, 4vw, 4rem); position: relative; }
.ca61-services-v4-panel { display: none; }
.ca61-services-v4-panel.is-stage-active { animation: ca61-services-v4-stage-in 260ms ease both; display: block !important; }
.ca61-services-v4-panel h2 { font-size: clamp(2.4rem, 4.8vw, 5.1rem); padding: 0; }
.ca61-services-v4-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ca61-services-v4-group { border-top: 1px solid currentColor; padding-top: .65rem; }
.ca61-services-v4-group p { font: .9rem/1.45 Arial, sans-serif; margin: 0; }
.ca61-services-v4-group p:first-child { color: var(--ca61-burgundy); font-size: .7rem; font-weight: 600; letter-spacing: .12em; margin-bottom: .6rem; text-transform: uppercase; }
.ca61-services-v4-stage::before { color: var(--ca61-burgundy); content: "CAPABILITIES / LIVE INDEX"; font: 600 .65rem Arial, sans-serif; letter-spacing: .14em; position: absolute; right: 2rem; top: 1.2rem; }
.ca61-services-v4-item[data-services-item="09"] .ca61-services-v4-panel.is-stage-active { background: var(--ca61-ink); color: var(--ca61-cream); margin: calc(clamp(2rem, 4vw, 4rem) * -1); min-height: calc(100% + clamp(2rem, 4vw, 4rem) * 2); padding: clamp(4rem, 6vw, 6rem) clamp(2rem, 4vw, 4rem); }
.ca61-services-v4-panel.is-stage-active::after { border: 1px solid currentColor; content: "01—09"; color: var(--ca61-burgundy); font: .65rem Arial, sans-serif; letter-spacing: .15em; padding: .5rem; position: absolute; right: 2rem; bottom: 2rem; }
.ca61-services-v4-panel.is-stage-active { animation: none; opacity: 1; }
@media (min-width: 768px) {
  .ca61-services-v4-stage > .ca61-services-v4-panel[hidden] { display: block !important; }
  .ca61-services-v4-stage > .ca61-services-v4-panel:not(.is-stage-active) { display: none !important; }
}
@keyframes ca61-services-v4-stage-in { from { opacity: 0; transform: translateY(.6rem); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 767px) {
  .ca61-services-v4-navigator { display: block; padding-left: 16px; padding-right: 16px; }
  .ca61-services-v4-item { display: block; }
  .ca61-services-v4-trigger { grid-template-columns: 2.5rem minmax(0, 1fr) 1.5rem; padding-left: .7rem; }
  .ca61-services-v4-label { font-size: 1.45rem; }
  .ca61-services-v4-stage { display: none; }
  .ca61-services-v4-panel { display: block; }
  .ca61-services-v4-panel.is-stage-active { display: block; }
  .ca61-services-v4-panel h2 { font-size: 2.7rem; }
  .ca61-services-v4-item[data-services-item="09"] .ca61-services-v4-panel.is-stage-active { margin: 0 -.7rem; min-height: 0; padding: 2rem 1rem 1.5rem 3.9rem; }
}
@media (prefers-reduced-motion: reduce) { .ca61-services-v4-panel.is-stage-active { animation: none; } }

/* Services motion prototype stages */
.ca61-proto-head h2 { font-size: clamp(2.2rem, 4vw, 4.3rem); }
.ca61-proto-groups { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; }
.ca61-proto-groups > div { border-top: 1px solid currentColor; padding-top: .6rem; }
.ca61-proto-groups b, .ca61-proto-groups span { display: block; }
.ca61-proto-groups b { color: var(--ca61-burgundy); font: 600 .65rem Arial, sans-serif; letter-spacing: .12em; margin-bottom: .5rem; }
.ca61-proto-groups span { font: .78rem/1.4 Arial, sans-serif; }
.ca61-strategy-diagram { height: 8rem; margin: 1rem 0; overflow: hidden; position: relative; }
.ca61-strategy-diagram::before, .ca61-strategy-diagram::after, .ca61-strategy-diagram b { border-top: 1px solid var(--ca61-burgundy); content: ""; left: 8%; position: absolute; transform-origin: left; width: 82%; }
.ca61-strategy-diagram::before { top: 30%; transform: rotate(8deg) scaleX(.2); }
.ca61-strategy-diagram::after { top: 62%; transform: rotate(-6deg) scaleX(.3); }
.ca61-strategy-diagram b { border-color: var(--ca61-ink); top: 47%; transform: rotate(0) scaleX(.1); }
.is-stage-active .ca61-strategy-diagram::before, .is-stage-active .ca61-strategy-diagram::after, .is-stage-active .ca61-strategy-diagram b { animation: ca61-proto-lines 700ms ease forwards; }
@keyframes ca61-proto-lines { to { transform: rotate(0) scaleX(1); } }
.ca61-browser-proto { border: 1px solid currentColor; height: 11rem; margin: 1rem 0; padding: 1.2rem; position: relative; }
.ca61-browser-bar { border-bottom: 1px solid currentColor; height: 1rem; }
.ca61-browser-grid { display: grid; gap: .7rem; grid-template-columns: 1fr 1fr 1fr; height: 7rem; padding-top: 1rem; }
.ca61-browser-grid i { border: 1px solid var(--ca61-burgundy); display: block; opacity: 0; transform: translateY(.8rem); }
.is-stage-active .ca61-browser-grid i { animation: ca61-browser-build 500ms ease forwards; }
.is-stage-active .ca61-browser-grid i:nth-child(2) { animation-delay: 100ms; }.is-stage-active .ca61-browser-grid i:nth-child(3) { animation-delay: 180ms; }.is-stage-active .ca61-browser-grid i:nth-child(4) { animation-delay: 260ms; }
@keyframes ca61-browser-build { to { opacity: 1; transform: translateY(0); } }
.ca61-cro-proto { background: var(--ca61-mustard); border-top: 2px solid var(--ca61-ink); display: grid; gap: .4rem; margin-top: 1rem; padding: 1.2rem 0; }
.ca61-cro-proto small { font: .6rem Arial, sans-serif; letter-spacing: .1em; }.ca61-cro-proto strong { font: 400 clamp(1.8rem, 3.5vw, 3.5rem)/.9 Impact, sans-serif; }.ca61-cro-proto b { font: 700 .7rem Arial, sans-serif; letter-spacing: .1em; margin-top: .5rem; }
.ca61-cro-target { font-style: normal; }.is-stage-active .ca61-cro-target { animation: ca61-cro-number 700ms steps(1) 250ms forwards; }
@keyframes ca61-cro-number { to { } }
.ca61-ai-proto { background: var(--ca61-ink); color: var(--ca61-cream); margin: -4rem; min-height: 35rem; padding: 4rem; position: relative; overflow: hidden; }
.ca61-ai-proto::before { background-image: linear-gradient(rgba(243,239,230,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(243,239,230,.08) 1px, transparent 1px); background-size: 2rem 2rem; content: ""; inset: 0; opacity: .5; position: absolute; }
.ca61-ai-proto > * { position: relative; }.ca61-ai-coords { font: .6rem Arial, sans-serif; letter-spacing: .12em; position: absolute; right: 2rem; top: 2rem; }.ca61-ai-proto h2 { font-size: clamp(2.6rem, 5vw, 5.2rem); margin-top: 3rem; }.ca61-ai-proto .ca61-services-v4-kicker { color: var(--ca61-mustard); }.ca61-ai-sequence { display: flex; gap: 1rem; margin-top: 3rem; }.ca61-ai-sequence span { border-bottom: 1px solid var(--ca61-mustard); font: .65rem Arial, sans-serif; letter-spacing: .1em; padding-bottom: .5rem; }.ca61-ai-sequence span:nth-child(2){opacity:.8}.ca61-ai-sequence span:nth-child(3){opacity:.6}.ca61-ai-sequence span:nth-child(4){opacity:.4}
@media (max-width: 767px) { .ca61-proto-groups { display: block; }.ca61-proto-groups > div { margin-top: 1rem; }.ca61-ai-proto { margin: 0 -1rem; min-height: 0; padding: 2rem 1rem 1.5rem; }.ca61-ai-proto h2 { margin-top: 2rem; }.ca61-ai-sequence { flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; } }

/* Services art direction pass: denser hero, resolved systems, and readable final stages. */
.ca61-services-v4-hero { padding-bottom: clamp(1.5rem, 3vw, 2.4rem); padding-top: clamp(2.8rem, 5vw, 4.8rem); }
.ca61-services-v4-lead { margin-bottom: 1rem; margin-top: 1rem; }
.ca61-strategy-diagram { height: 10rem; margin: .5rem 0 1.2rem; }
.ca61-strategy-diagram::before, .ca61-strategy-diagram::after, .ca61-strategy-diagram b { width: 72%; }
.ca61-strategy-diagram i { border-top: 1px solid var(--ca61-ink); left: 8%; position: absolute; transform-origin: left; width: 25%; }
.ca61-strategy-diagram i:nth-child(1) { top: 18%; transform: rotate(18deg); }
.ca61-strategy-diagram i:nth-child(2) { top: 78%; transform: rotate(-18deg); }
.ca61-strategy-diagram i:nth-child(3) { left: 43%; top: 48%; transform: rotate(0); width: 37%; }
.ca61-browser-proto { background: var(--ca61-cream); border: 1px solid var(--ca61-ink); height: 13rem; margin: 1.2rem 0; overflow: hidden; padding: 2.2rem 1rem 1rem; }
.ca61-browser-proto::before { background: var(--ca61-ink); content: ""; height: 1.4rem; left: 0; position: absolute; right: 0; top: 0; }
.ca61-browser-proto::after { background: var(--ca61-burgundy); content: "INDEX   WORK   SYSTEMS                         START"; color: var(--ca61-cream); font: .48rem Arial, sans-serif; left: 1rem; letter-spacing: .12em; position: absolute; right: 1rem; top: .48rem; }
.ca61-browser-grid { display: grid; gap: .45rem; grid-template-columns: repeat(12, 1fr); grid-template-rows: 1.4rem 4rem 2.2rem; height: 100%; }
.ca61-browser-grid::before { background: var(--ca61-ink); content: "BUILDING A BETTER WAY TO MOVE FORWARD"; color: var(--ca61-cream); font: 1rem Impact, sans-serif; grid-column: 1 / span 7; padding: .65rem; }
.ca61-browser-grid::after { background: var(--ca61-mustard); content: "→"; font: 1.6rem Arial, sans-serif; grid-column: 10 / span 3; padding: .3rem .6rem; }
.ca61-browser-grid i { background: color-mix(in srgb, var(--ca61-burgundy) 18%, var(--ca61-cream)); border: 1px solid var(--ca61-burgundy); }
.ca61-browser-grid i:nth-child(1) { grid-column: 1 / span 3; grid-row: 1; }
.ca61-browser-grid i:nth-child(2) { grid-column: 4 / span 3; grid-row: 1; }
.ca61-browser-grid i:nth-child(3) { grid-column: 7 / span 3; grid-row: 1; }
.ca61-browser-grid i:nth-child(4) { grid-column: 10 / span 3; grid-row: 1; }
.ca61-proto-4 .ca61-browser-proto.stage-wireframe .ca61-browser-grid::before, .ca61-proto-4 .ca61-browser-proto.stage-wireframe .ca61-browser-grid::after { background: transparent; border: 1px dashed var(--ca61-ink); color: transparent; }
.ca61-proto-4 .ca61-browser-proto.stage-wireframe .ca61-browser-grid i { background: transparent; border-style: dashed; }
.ca61-proto-4 .ca61-browser-proto.stage-interface .ca61-browser-grid::before { background: var(--ca61-burgundy); }
.ca61-proto-4 .ca61-browser-proto.stage-product .ca61-browser-grid::before { background: var(--ca61-ink); }
.ca61-cro-proto { margin: -4rem; min-height: 35rem; padding: 5rem 4rem; }
.ca61-cro-proto strong { letter-spacing: -.02em; }
.ca61-cro-proto strong span { color: var(--ca61-burgundy); display: inline; font-family: Arial, sans-serif; }
.ca61-proto-groups { margin-top: 1.5rem; }
@media (max-width: 767px) { .ca61-services-v4-hero { padding-bottom: 1.4rem; padding-top: 2.2rem; }.ca61-strategy-diagram { height: 6rem; margin-bottom: .4rem; }.ca61-browser-proto { height: 10rem; }.ca61-cro-proto { margin: 0 -1rem; min-height: 0; padding: 2rem 1rem; } }
.ca61-index-visual, .ca61-brand-visual, .ca61-editorial-visual { border-top: 1px solid var(--ca61-ink); border-bottom: 1px solid var(--ca61-ink); min-height: 8rem; margin: 1rem 0; padding: 1rem 0; position: relative; }
.ca61-index-visual { display: flex; gap: 2rem; align-items: end; color: var(--ca61-burgundy); font: 2.4rem Impact, sans-serif; }
.ca61-index-visual i { border-bottom: 1px solid currentColor; font-style: normal; padding: .5rem 1rem; transform: translateY(.5rem); }
.ca61-index-visual b { color: var(--ca61-ink); font: .65rem Arial, sans-serif; letter-spacing: .16em; margin-left: auto; }
.ca61-channel-ticker { border-block: 1px solid var(--ca61-ink); display: flex; gap: 2rem; margin: 1rem 0; overflow: hidden; padding: 1.5rem 0; white-space: nowrap; }
.ca61-channel-ticker span { color: var(--ca61-burgundy); font: 1.2rem Impact, sans-serif; letter-spacing: .04em; }
.ca61-brand-visual { align-items: center; display: flex; gap: 2rem; }
.ca61-brand-visual b { font: 7rem Impact, sans-serif; line-height: .7; }
.ca61-brand-visual strong { font: 2rem Impact, sans-serif; }.ca61-brand-visual i { font: .65rem Arial, sans-serif; letter-spacing: .15em; margin-left: auto; }
.ca61-editorial-visual { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.ca61-editorial-visual i { border-left: 1px solid var(--ca61-burgundy); font: 2rem Impact, sans-serif; padding: 1rem; }
.ca61-crm-flow { align-items: center; display: flex; gap: .5rem; margin: 1.5rem 0; }
.ca61-crm-flow span { border-block: 1px solid var(--ca61-burgundy); color: var(--ca61-burgundy); flex: 1; font: .7rem Arial, sans-serif; letter-spacing: .12em; padding: 1rem .5rem; text-align: center; }
.ca61-crm-flow span:not(:last-child)::after { color: var(--ca61-ink); content: "→"; float: right; margin-right: -.8rem; }
.ca61-stage-7 .ca61-cro-proto { margin: 0 -4rem; }.ca61-stage-8 { margin: -4rem; }
@media (max-width: 767px) { .ca61-index-visual, .ca61-brand-visual, .ca61-editorial-visual { min-height: 5rem; }.ca61-brand-visual b { font-size: 4rem; }.ca61-channel-ticker { gap: 1rem; }.ca61-channel-ticker span { font-size: .9rem; }.ca61-crm-flow { flex-wrap: wrap; }.ca61-crm-flow span { flex: 1 1 40%; }.ca61-stage-7 .ca61-cro-proto, .ca61-stage-8 { margin: 0 -1rem; }.ca61-stage-8 { margin: 0 -1rem; } }
@media (max-width: 767px) { .ca61-stage-8 .ca61-ai-proto { margin: 0; } }
@media (max-width: 767px) { .ca61-index-visual { gap: .5rem; }.ca61-index-visual b { font-size: .55rem; letter-spacing: .08em; }.ca61-editorial-visual { gap: .35rem; }.ca61-editorial-visual i { min-width: 0; padding-inline: .35rem; font-size: 1.4rem; } }

/* Services v5: compact navigator, legible stage hierarchy, and purposeful motion. */
.ca61-services-v4-navigator { align-items: start; padding-bottom: 3rem; }
.ca61-services-v4-trigger { gap: .7rem; grid-template-columns: 3rem minmax(0, 1fr) 4.2rem; padding-bottom: .62rem; padding-top: .62rem; }
.ca61-services-v4-item.is-active > .ca61-services-v4-trigger { background: color-mix(in srgb, var(--ca61-mustard) 13%, transparent); border-left: 3px solid var(--ca61-burgundy); padding-left: .82rem; }
.ca61-services-v4-item.is-active > .ca61-services-v4-trigger { background: transparent; }
.ca61-services-v4-item.is-active .ca61-services-v4-num { color: var(--ca61-burgundy); font-weight: 800; }
.ca61-services-v4-item.is-active .ca61-services-v4-arrow { color: var(--ca61-burgundy); }
.ca61-services-v4-trigger:focus-visible { outline: 2px solid var(--ca61-ink); outline-offset: -2px; }
.ca61-services-v4-label { font-size: clamp(1.25rem, 1.8vw, 2rem); letter-spacing: -.01em; }
.ca61-services-v4-arrow { font: 600 .62rem Arial, sans-serif; letter-spacing: .1em; justify-self: end; white-space: nowrap; }
.ca61-services-v4-stage { min-height: 31rem; padding: clamp(2rem, 3.2vw, 3.2rem); }
.ca61-services-v4-stage .ca61-services-v4-panel h2,
.ca61-services-v4-stage .ca61-stage-0 h2,
.ca61-services-v4-stage .ca61-stage-1 h2,
.ca61-services-v4-stage .ca61-stage-2 h2,
.ca61-services-v4-stage .ca61-stage-3 h2,
.ca61-services-v4-stage .ca61-stage-4 h2,
.ca61-services-v4-stage .ca61-stage-5 h2,
.ca61-services-v4-stage .ca61-stage-6 h2,
.ca61-services-v4-stage .ca61-stage-7 h2 { font-size: clamp(2.2rem, 3.5vw, 4rem); line-height: .9; margin-bottom: .8rem; max-width: 14ch; }
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-7 .ca61-cro-proto,
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-8 .ca61-ai-proto { margin: 0; }
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-7 .ca61-cro-proto { min-height: 0; padding: 2rem 1.5rem; }
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-8 .ca61-ai-proto { min-height: 0; padding: 2.4rem; }
.ca61-stage-0 .ca61-strategy-diagram i { animation: ca61-v5-signal 700ms cubic-bezier(.2,.8,.2,1) both; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(2) { animation-delay: 90ms; }.ca61-stage-0 .ca61-strategy-diagram i:nth-child(3) { animation-delay: 180ms; }
.ca61-stage-1 .ca61-index-visual i { animation: ca61-v5-query 700ms ease both; }.ca61-stage-1 .ca61-index-visual i:nth-child(2) { animation-delay: 100ms; }.ca61-stage-1 .ca61-index-visual i:nth-child(3) { animation-delay: 200ms; }
.ca61-stage-2 .ca61-channel-ticker span { animation: ca61-v5-channel 3.8s ease-in-out infinite; }.ca61-stage-2 .ca61-channel-ticker span:nth-child(2) { animation-delay: .25s; }.ca61-stage-2 .ca61-channel-ticker span:nth-child(3) { animation-delay: .5s; }
.ca61-stage-3 .ca61-brand-visual b { animation: ca61-v5-form 650ms ease both; }.ca61-stage-3 .ca61-brand-visual strong { animation: ca61-v5-voice 650ms .15s ease both; }.ca61-stage-3 .ca61-brand-visual i { animation: ca61-v5-system 650ms .3s ease both; }
.ca61-stage-4 .ca61-browser-grid i { animation: ca61-browser-build 500ms ease both; }.ca61-stage-4 .ca61-browser-grid i:nth-child(2) { animation-delay: 100ms; }.ca61-stage-4 .ca61-browser-grid i:nth-child(3) { animation-delay: 180ms; }.ca61-stage-4 .ca61-browser-grid i:nth-child(4) { animation-delay: 260ms; }
.ca61-stage-5 .ca61-editorial-visual i { animation: ca61-v5-editorial 700ms ease both; }.ca61-stage-5 .ca61-editorial-visual i:nth-child(2) { animation-delay: 130ms; }.ca61-stage-5 .ca61-editorial-visual i:nth-child(3) { animation-delay: 260ms; }
.ca61-stage-6 .ca61-crm-flow span { animation: ca61-v5-flow 650ms ease both; }.ca61-stage-6 .ca61-crm-flow span:nth-child(2) { animation-delay: 120ms; }.ca61-stage-6 .ca61-crm-flow span:nth-child(3) { animation-delay: 240ms; }.ca61-stage-6 .ca61-crm-flow span:nth-child(4) { animation-delay: 360ms; }
.ca61-stage-7 .ca61-cro-proto em { animation: ca61-v5-leads 900ms steps(1) both; }.ca61-stage-7 .ca61-cro-proto em:last-of-type { animation-delay: 350ms; }
.ca61-stage-8 .ca61-ai-sequence span { animation: ca61-v5-progress 2.8s ease both; }.ca61-stage-8 .ca61-ai-sequence span:nth-child(2) { animation-delay: .25s; }.ca61-stage-8 .ca61-ai-sequence span:nth-child(3) { animation-delay: .5s; }.ca61-stage-8 .ca61-ai-sequence span:nth-child(4) { animation-delay: .75s; }
@keyframes ca61-v5-signal { from { opacity: .25; transform: translateX(-1rem); } to { opacity: 1; transform: none; } } @keyframes ca61-v5-query { from { opacity: .2; transform: translateY(.5rem); } to { opacity: 1; transform: none; } } @keyframes ca61-v5-channel { 50% { transform: translateX(.35rem); } } @keyframes ca61-v5-form { from { opacity: 0; transform: translateX(-.6rem); } to { opacity: 1; transform: none; } } @keyframes ca61-v5-voice { from { opacity: 0; letter-spacing: .3em; } to { opacity: 1; letter-spacing: normal; } } @keyframes ca61-v5-system { from { opacity: 0; transform: translateX(.6rem); } to { opacity: 1; transform: none; } } @keyframes ca61-v5-editorial { from { opacity: .2; transform: translateY(.7rem); } to { opacity: 1; transform: none; } } @keyframes ca61-v5-flow { from { opacity: .2; transform: translateX(-.5rem); } to { opacity: 1; transform: none; } } @keyframes ca61-v5-leads { from { opacity: .35; transform: scale(.9); } to { opacity: 1; transform: none; } } @keyframes ca61-v5-progress { from { opacity: .15; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ca61-stage-0 .ca61-strategy-diagram i, .ca61-stage-1 .ca61-index-visual i, .ca61-stage-2 .ca61-channel-ticker span, .ca61-stage-3 .ca61-brand-visual *, .ca61-stage-4 .ca61-browser-grid i, .ca61-stage-5 .ca61-editorial-visual i, .ca61-stage-6 .ca61-crm-flow span, .ca61-stage-7 .ca61-cro-proto em, .ca61-stage-8 .ca61-ai-sequence span { animation: none; opacity: 1; transform: none; } }
@media (max-width: 767px) { .ca61-services-v4-trigger { grid-template-columns: 2.5rem minmax(0,1fr) 1.5rem; }.ca61-services-v4-item.is-active > .ca61-services-v4-trigger { padding-left: .52rem; }.ca61-services-v4-arrow { font-size: 1.2rem; }.ca61-services-v4-stage .ca61-services-v4-panel h2, .ca61-services-v4-stage .ca61-stage-0 h2, .ca61-services-v4-stage .ca61-stage-1 h2, .ca61-services-v4-stage .ca61-stage-2 h2, .ca61-services-v4-stage .ca61-stage-3 h2, .ca61-services-v4-stage .ca61-stage-4 h2, .ca61-services-v4-stage .ca61-stage-5 h2, .ca61-services-v4-stage .ca61-stage-6 h2, .ca61-services-v4-stage .ca61-stage-7 h2 { font-size: 2.35rem; }.ca61-brand-visual { flex-wrap: wrap; gap: .5rem; }.ca61-brand-visual b { font-size: 3rem; }.ca61-brand-visual strong { font-size: 1.25rem; }.ca61-brand-visual i { flex-basis: 100%; margin-left: 0; } }
.ca61-services-v4-panel.is-stage-active::after { display: none; }
.ca61-stage-0 .ca61-strategy-labels { display: none; }
.ca61-stage-0 .ca61-strategy-diagram i::after { color: var(--ca61-burgundy); content: "MARKET"; font: 600 .58rem Arial, sans-serif; letter-spacing: .1em; position: absolute; right: 0; top: -.9rem; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(2)::after { content: "BRAND"; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(3)::after { content: "DATA"; }
.ca61-stage-0 .ca61-strategy-diagram b::after { background: none; border-radius: 0; content: "DECISION"; height: auto; left: 1rem; top: -.9rem; width: auto; color: var(--ca61-ink); font: 600 .58rem Arial, sans-serif; letter-spacing: .1em; position: absolute; }
.ca61-stage-4 .ca61-browser-proto { box-shadow: inset 0 -2rem 0 color-mix(in srgb, var(--ca61-burgundy) 8%, transparent); }
.ca61-stage-4 .ca61-browser-grid::after { content: "START →"; letter-spacing: .08em; }
.ca61-stage-4 .ca61-browser-grid::before { letter-spacing: .02em; }
.ca61-stage-7 .ca61-cro-proto { gap: .25rem; min-height: 0; }
.ca61-stage-7 .ca61-cro-proto strong { font-size: clamp(1.5rem, 2.7vw, 2.8rem); line-height: .95; }
.ca61-stage-7 .ca61-cro-proto b { margin-top: .25rem; }
@media (max-width: 767px) { .ca61-stage-3 h2 { font-size: 2.1rem !important; max-width: 14ch; }.ca61-stage-7 h2 { font-size: 2rem !important; line-height: .92; max-width: 13ch; }.ca61-stage-7 .ca61-cro-proto strong { font-size: 1.7rem; }.ca61-stage-7 .ca61-cro-proto { padding-block: 1.4rem; } }

/* Strategy diagram: fixed-coordinate SVG convergence system. */
.ca61-stage-0 .ca61-strategy-diagram { height: clamp(7.5rem, 15vw, 10rem); margin: .7rem 0 1.2rem; overflow: visible; }
.ca61-stage-0 .ca61-strategy-diagram::before,
.ca61-stage-0 .ca61-strategy-diagram::after { content: none; }
.ca61-stage-0 .ca61-strategy-diagram > b,
.ca61-stage-0 .ca61-strategy-diagram > i { display: none !important; }
.ca61-strategy-svg { display: block; height: 100%; overflow: visible; width: 100%; }
.ca61-strategy-svg text { font: 600 4.2px Arial, sans-serif; letter-spacing: .35px; }
.ca61-strategy-inputs text { fill: var(--ca61-burgundy); }
.ca61-strategy-lines path { fill: none; stroke: var(--ca61-burgundy); stroke-width: .55; vector-effect: non-scaling-stroke; }
.ca61-strategy-output { fill: none; stroke: var(--ca61-ink); stroke-width: .55; vector-effect: non-scaling-stroke; }
.ca61-strategy-junction { fill: var(--ca61-ink); }
.ca61-strategy-decision { fill: var(--ca61-ink); }
.ca61-strategy-inputs text { opacity: 0; }
.ca61-strategy-lines path, .ca61-strategy-output { stroke-dasharray: 100; stroke-dashoffset: 100; }
.ca61-strategy-junction, .ca61-strategy-decision { opacity: 0; }
.ca61-stage-0 .ca61-strategy-inputs text { animation: ca61-strategy-labels 260ms ease 80ms forwards; }
.ca61-stage-0 .ca61-strategy-inputs text:nth-child(2) { animation-delay: 150ms; }
.ca61-stage-0 .ca61-strategy-inputs text:nth-child(3) { animation-delay: 220ms; }
.ca61-stage-0 .ca61-strategy-lines path { animation: ca61-strategy-input-draw 680ms ease 380ms forwards; }
.ca61-stage-0 .ca61-strategy-lines path:nth-child(2) { animation-delay: 460ms; }
.ca61-stage-0 .ca61-strategy-lines path:nth-child(3) { animation-delay: 540ms; }
.ca61-stage-0 .ca61-strategy-junction { animation: ca61-strategy-appear 120ms ease 1.3s forwards; }
.ca61-stage-0 .ca61-strategy-output { animation: ca61-strategy-output-draw 620ms ease 1.42s forwards; }
.ca61-stage-0 .ca61-strategy-decision { animation: ca61-strategy-appear 260ms ease 1.95s forwards; }
@keyframes ca61-strategy-labels { to { opacity: 1; } }
@keyframes ca61-strategy-input-draw { to { stroke-dashoffset: 0; } }
@keyframes ca61-strategy-output-draw { to { stroke-dashoffset: 0; } }
@keyframes ca61-strategy-appear { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-svg text,
  .ca61-stage-0 .ca61-strategy-lines path,
  .ca61-stage-0 .ca61-strategy-output,
  .ca61-stage-0 .ca61-strategy-junction,
  .ca61-stage-0 .ca61-strategy-decision { animation: none !important; opacity: 1; stroke-dashoffset: 0; }
}
@media (max-width: 767px) {
  .ca61-stage-0 .ca61-strategy-diagram { height: 7.2rem; margin-inline: -.2rem; }
  .ca61-strategy-svg text { font-size: 4.5px; }
}

/* Strategy static artwork: geometry is intentionally settled pending motion approval. */
.ca61-stage-0 .ca61-strategy-diagram { height: 12rem; margin: 1rem 0 1.5rem; overflow: visible; }
.ca61-stage-0 .ca61-strategy-diagram::before,
.ca61-stage-0 .ca61-strategy-diagram::after,
.ca61-stage-0 .ca61-strategy-diagram > i,
.ca61-stage-0 .ca61-strategy-diagram > b { display: none !important; }
.ca61-strategy-svg { display: block; height: 100%; overflow: visible; width: 100%; }
.ca61-strategy-svg text { font: 600 5.2px Arial, sans-serif; letter-spacing: .38px; }
.ca61-strategy-inputs text { fill: var(--ca61-burgundy); opacity: 1 !important; }
.ca61-strategy-lines path,
.ca61-strategy-output { fill: none; stroke-dasharray: none !important; stroke-dashoffset: 0 !important; vector-effect: non-scaling-stroke; }
.ca61-strategy-lines path { stroke: var(--ca61-burgundy); stroke-width: .55; }
.ca61-strategy-output { stroke: var(--ca61-ink); stroke-width: .55; }
.ca61-strategy-junction { fill: var(--ca61-ink); opacity: 1 !important; }
.ca61-strategy-decision { fill: var(--ca61-ink); opacity: 1 !important; }
.ca61-stage-0 .ca61-strategy-svg text,
.ca61-stage-0 .ca61-strategy-svg path,
.ca61-stage-0 .ca61-strategy-svg circle { animation: none !important; transform: none !important; }
@media (max-width: 767px) {
  .ca61-stage-0 .ca61-strategy-diagram { height: 11rem; margin: 1rem 0 1.2rem; }
  .ca61-strategy-svg text { font-size: 5.8px; letter-spacing: .3px; }
}

/* Strategy supplied-asset assembly: one shared SVG coordinate system. */
.ca61-stage-0 .ca61-strategy-diagram { height: 12rem; margin: 1rem 0 1.5rem; overflow: visible; }
.ca61-stage-0 .ca61-strategy-diagram::before,
.ca61-stage-0 .ca61-strategy-diagram::after,
.ca61-stage-0 .ca61-strategy-diagram > i,
.ca61-stage-0 .ca61-strategy-diagram > b { display: none !important; }
.ca61-strategy-svg { display: block; height: 100%; overflow: visible; width: 100%; }
.ca61-strategy-layer { opacity: 1 !important; }
.ca61-strategy-layer > text,
.ca61-strategy-layer > path,
.ca61-strategy-layer > circle { opacity: 0; }
.ca61-strategy-layer path { stroke-dasharray: 100; stroke-dashoffset: 100; }
.ca61-stage-0 .ca61-strategy-market { animation: ca61-strategy-asset-reveal 360ms ease 120ms forwards; }
.ca61-stage-0 .ca61-strategy-market path { animation: ca61-strategy-asset-draw 360ms ease 120ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand { animation: ca61-strategy-asset-reveal 360ms ease 480ms forwards; }
.ca61-stage-0 .ca61-strategy-brand path { animation: ca61-strategy-asset-draw 360ms ease 480ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data { animation: ca61-strategy-asset-reveal 360ms ease 840ms forwards; }
.ca61-stage-0 .ca61-strategy-data path { animation: ca61-strategy-asset-draw 360ms ease 840ms forwards !important; }
.ca61-stage-0 .ca61-strategy-junction { animation: ca61-strategy-asset-reveal 140ms ease 1.2s forwards; }
.ca61-stage-0 .ca61-strategy-output { animation: ca61-strategy-asset-reveal 100ms ease 1.34s forwards; }
.ca61-stage-0 .ca61-strategy-output path { animation: ca61-strategy-v2-draw 420ms ease 1.82s forwards !important; }
.ca61-stage-0 .ca61-strategy-decision { animation: ca61-strategy-asset-reveal 260ms ease 1.9s forwards; }
@keyframes ca61-strategy-asset-reveal { to { opacity: 1; } }
@keyframes ca61-strategy-asset-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-layer,
  .ca61-stage-0 .ca61-strategy-layer path { animation: none !important; opacity: 1; stroke-dashoffset: 0; }
}
@media (max-width: 767px) { .ca61-stage-0 .ca61-strategy-diagram { height: 11rem; margin: 1rem 0 1.2rem; } }

/* Strategy V2 visual-state hotfix: final cascade, explicit child visibility. */
.ca61-stage-0 .ca61-strategy-layer { opacity: 1 !important; }
.ca61-stage-0 .ca61-strategy-layer > text,
.ca61-stage-0 .ca61-strategy-layer > circle { opacity: 0; visibility: hidden; }
.ca61-stage-0 .ca61-strategy-layer > path { opacity: 1; visibility: visible; stroke-dasharray: 1000px; stroke-dashoffset: 1000px; }
.ca61-stage-0 .ca61-strategy-market-label > text { animation: ca61-strategy-visual-label 220ms ease 320ms forwards !important; }
.ca61-stage-0 .ca61-strategy-market-line > path { animation: ca61-strategy-visual-draw 340ms ease 480ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-label > text { animation: ca61-strategy-visual-label 220ms ease 1450ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-line > path { animation: ca61-strategy-visual-draw 260ms ease 1570ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-label > text { animation: ca61-strategy-visual-label 220ms ease 1750ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-line > path { animation: ca61-strategy-visual-draw 260ms ease 1870ms forwards !important; }
.ca61-stage-0 .ca61-strategy-junction > circle { animation: ca61-strategy-visual-label 120ms ease 2.14s forwards !important; }
.ca61-stage-0 .ca61-strategy-output > path { animation: ca61-strategy-visual-draw 300ms ease 2.26s forwards !important; }
.ca61-stage-0 .ca61-strategy-decision > text { animation: ca61-strategy-visual-label 220ms ease 2.56s forwards !important; }
@keyframes ca61-strategy-visual-label { to { opacity: 1; visibility: visible; } }
@keyframes ca61-strategy-visual-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-layer > text,
  .ca61-stage-0 .ca61-strategy-layer > circle { animation: none !important; opacity: 1 !important; visibility: visible !important; }
  .ca61-stage-0 .ca61-strategy-layer > path { animation: none !important; opacity: 1 !important; stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
}

.ca61-stage-0:not(.ca61-strategy-is-playing) .ca61-strategy-layer > text,
.ca61-stage-0:not(.ca61-strategy-is-playing) .ca61-strategy-layer > circle { animation: none !important; opacity: 0 !important; visibility: hidden !important; }
.ca61-stage-0:not(.ca61-strategy-is-playing) .ca61-strategy-layer > path { animation: none !important; opacity: 1 !important; stroke-dasharray: 1000px !important; stroke-dashoffset: 1000px !important; visibility: hidden !important; }

/* Deterministic Strategy V2 activation: legacy choreography cannot run
   outside the explicit play state. */
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-market-label > text { animation: ca61-strategy-visual-label 220ms ease 320ms forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-market-line > path { animation: ca61-strategy-visual-draw 340ms ease 480ms forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-brand-label > text { animation: ca61-strategy-visual-label 220ms ease 1450ms forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-brand-line > path { animation: ca61-strategy-visual-draw 260ms ease 1570ms forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-data-label > text { animation: ca61-strategy-visual-label 220ms ease 1750ms forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-data-line > path { animation: ca61-strategy-visual-draw 260ms ease 1870ms forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-junction > circle { animation: ca61-strategy-visual-label 120ms ease 2.14s forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-output > path { animation: ca61-strategy-visual-draw 300ms ease 2.26s forwards !important; }
.ca61-stage-0.ca61-strategy-is-playing .ca61-strategy-decision > text { animation: ca61-strategy-visual-label 220ms ease 2.56s forwards !important; }

/* Strategy V2 visual-state hotfix: explicit child visibility and a fully
   hidden initial stroke window for the supplied geometry. */
.ca61-stage-0 .ca61-strategy-layer { opacity: 1 !important; }
.ca61-stage-0 .ca61-strategy-layer > text,
.ca61-stage-0 .ca61-strategy-layer > circle { opacity: 0; visibility: visible; }
.ca61-stage-0 .ca61-strategy-layer > path { opacity: 1; visibility: visible; stroke-dasharray: 1000px; stroke-dashoffset: 1000px; }
.ca61-stage-0 .ca61-strategy-market-label > text { animation: ca61-strategy-visual-label 260ms ease 120ms forwards !important; }
.ca61-stage-0 .ca61-strategy-market-line > path { animation: ca61-strategy-visual-draw 380ms ease 300ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-label > text { animation: ca61-strategy-visual-label 260ms ease 660ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-line > path { animation: ca61-strategy-visual-draw 380ms ease 840ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-label > text { animation: ca61-strategy-visual-label 260ms ease 1200ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-line > path { animation: ca61-strategy-visual-draw 380ms ease 1380ms forwards !important; }
.ca61-stage-0 .ca61-strategy-junction > circle { animation: ca61-strategy-visual-label 140ms ease 1.82s forwards !important; }
.ca61-stage-0 .ca61-strategy-output > path { animation: ca61-strategy-visual-draw 420ms ease 1.96s forwards !important; }
.ca61-stage-0 .ca61-strategy-decision > text { animation: ca61-strategy-visual-label 260ms ease 2.38s forwards !important; }
@keyframes ca61-strategy-visual-label { to { opacity: 1; } }
@keyframes ca61-strategy-visual-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-layer > text,
  .ca61-stage-0 .ca61-strategy-layer > circle { animation: none !important; opacity: 1 !important; }
  .ca61-stage-0 .ca61-strategy-layer > path { animation: none !important; opacity: 1 !important; stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
}

/* V2 timing fix: normalized supplied paths and child-layer visibility. */
.ca61-stage-0 .ca61-strategy-diagram { height: 12rem; margin: 1rem 0 1.5rem; overflow: visible; }
.ca61-stage-0 .ca61-strategy-diagram::before,
.ca61-stage-0 .ca61-strategy-diagram::after,
.ca61-stage-0 .ca61-strategy-diagram > i,
.ca61-stage-0 .ca61-strategy-diagram > b { display: none !important; content: none !important; }
.ca61-strategy-layer { opacity: 1 !important; }
.ca61-strategy-layer > text, .ca61-strategy-layer > path, .ca61-strategy-layer > circle { opacity: 0; }
.ca61-strategy-layer > path { stroke-dasharray: 100; stroke-dashoffset: 100; }
.ca61-stage-0 .ca61-strategy-market-label > text { animation: ca61-strategy-v2-reveal 220ms ease .15s forwards !important; }
.ca61-stage-0 .ca61-strategy-market-line > path { animation: ca61-strategy-v2-draw .5s ease .25s forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-label > text { animation: ca61-strategy-v2-reveal 220ms ease .6s forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-line > path { animation: ca61-strategy-v2-draw .5s ease .7s forwards !important; }
.ca61-stage-0 .ca61-strategy-data-label > text { animation: ca61-strategy-v2-reveal 220ms ease 1.05s forwards !important; }
.ca61-stage-0 .ca61-strategy-data-line > path { animation: ca61-strategy-v2-draw .5s ease 1.15s forwards !important; }
.ca61-stage-0 .ca61-strategy-junction > circle { animation: ca61-strategy-v2-reveal .14s ease 1.7s forwards !important; }
.ca61-stage-0 .ca61-strategy-output > path { animation: ca61-strategy-v2-draw .42s ease 1.82s forwards !important; }
.ca61-stage-0 .ca61-strategy-decision > text { animation: ca61-strategy-v2-reveal 240ms ease 2.24s forwards !important; }
@keyframes ca61-strategy-v2-reveal { to { opacity: 1; } }
@keyframes ca61-strategy-v2-draw { to { opacity: 1; stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-layer > text,
  .ca61-stage-0 .ca61-strategy-layer > path,
  .ca61-stage-0 .ca61-strategy-layer > circle { animation: none !important; opacity: 1; stroke-dashoffset: 0; }
}
@media (max-width: 767px) { .ca61-stage-0 .ca61-strategy-diagram { height: 11rem; margin: 1rem 0 1.2rem; } }

/* Strategy V2 final override: supplied atomic layers only. */
.ca61-stage-0 .ca61-strategy-diagram { height: 12rem; margin: 1rem 0 1.5rem; overflow: visible; }
.ca61-stage-0 .ca61-strategy-diagram::before,
.ca61-stage-0 .ca61-strategy-diagram::after,
.ca61-stage-0 .ca61-strategy-diagram > i,
.ca61-stage-0 .ca61-strategy-diagram > b { display: none !important; content: none !important; }
.ca61-strategy-svg { display: block; height: 100%; overflow: visible; width: 100%; }
.ca61-strategy-layer { opacity: 0; }
.ca61-strategy-layer path { stroke-dasharray: 100; stroke-dashoffset: 100; }
.ca61-stage-0 .ca61-strategy-market-label > text { animation: ca61-strategy-v2-reveal 220ms ease 100ms forwards !important; }
.ca61-stage-0 .ca61-strategy-market-line > path { animation: ca61-strategy-v2-draw 380ms ease 300ms forwards !important; }
.ca61-stage-0 .ca61-strategy-market-line path { animation: ca61-strategy-v2-draw 380ms ease 300ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-label > text { animation: ca61-strategy-v2-reveal 220ms ease 680ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-line > path { animation: ca61-strategy-v2-draw 380ms ease 880ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-line path { animation: ca61-strategy-v2-draw 380ms ease 880ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-label > text { animation: ca61-strategy-v2-reveal 220ms ease 1260ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-line > path { animation: ca61-strategy-v2-draw 380ms ease 1460ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-line path { animation: ca61-strategy-v2-draw 380ms ease 1460ms forwards !important; }
.ca61-stage-0 .ca61-strategy-junction > circle { animation: ca61-strategy-v2-reveal 140ms ease 1.9s forwards !important; }
.ca61-stage-0 .ca61-strategy-output > path { animation: ca61-strategy-v2-draw 300ms ease 2.04s forwards !important; }
.ca61-stage-0 .ca61-strategy-decision > text { animation: ca61-strategy-v2-reveal 260ms ease 2.34s forwards !important; }
@keyframes ca61-strategy-v2-reveal { to { opacity: 1; } }
@keyframes ca61-strategy-v2-draw { to { opacity: 1; stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-layer > text,
  .ca61-stage-0 .ca61-strategy-layer > path,
  .ca61-stage-0 .ca61-strategy-layer > circle { animation: none !important; opacity: 1; stroke-dashoffset: 0; }
}
@media (max-width: 767px) { .ca61-stage-0 .ca61-strategy-diagram { height: 11rem; margin: 1rem 0 1.2rem; } }

/* Services final polish: settled editorial states and restrained controls. */
.ca61-services-v4-arrow { font-size: 0; }
.ca61-services-v4-arrow::after { content: "+"; font: 600 1rem Arial, sans-serif; }
.ca61-services-v4-item.is-active .ca61-services-v4-arrow::after { content: ""; font-size: 1.1rem; }
.ca61-stage-0 .ca61-strategy-diagram i, .ca61-stage-0 .ca61-strategy-diagram b,
.ca61-stage-1 .ca61-index-visual i, .ca61-stage-1 .ca61-index-visual b,
.ca61-stage-3 .ca61-brand-visual *, .ca61-stage-5 .ca61-editorial-visual i,
.ca61-stage-6 .ca61-crm-flow span { opacity: 1; }
.ca61-stage-0 .ca61-strategy-diagram i::after, .ca61-stage-0 .ca61-strategy-diagram b::after { z-index: 2; }
.ca61-stage-0 .ca61-strategy-diagram b::after { content: "DECISION"; }
.ca61-stage-1 .ca61-index-visual { color: var(--ca61-burgundy); }
.ca61-stage-1 .ca61-index-visual i { color: var(--ca61-burgundy); opacity: .9; }
.ca61-stage-1 .ca61-index-visual i { animation: none !important; color: var(--ca61-burgundy) !important; opacity: 1 !important; transform: none !important; }
.ca61-stage-1 { min-width: 0; }
.ca61-stage-1 > h2 { margin-bottom: clamp(1.4rem, 3vw, 2.5rem); }
.ca61-stage-1 > h2 { max-width: 10ch; }
.ca61-services-v4-item.is-active > .ca61-services-v4-trigger .ca61-services-v4-arrow::after { content: none !important; }
.ca61-search-media { min-width: 0; }
.ca61-search-hero { background: transparent; overflow: hidden; position: relative; }
.ca61-search-hero::after { background: rgba(255,248,226,.18); content: ""; inset: 0; opacity: 0; pointer-events: none; position: absolute; }
.ca61-search-hero img, .ca61-search-film img { display: block; height: auto; max-width: 100%; width: 100%; }
.ca61-search-hero img { transform-origin: center; }
.ca61-search-film { margin-top: clamp(.8rem, 1.8vw, 1.4rem); overflow: hidden; }
.ca61-search-film { position: relative; }
.ca61-search-film-focus { inset: 0; opacity: 0; overflow: hidden; pointer-events: none; position: absolute; visibility: hidden; }
.ca61-search-film-focus[data-focus="search"] { left: 0; right: auto; width: 33.333%; }
.ca61-search-film-focus[data-focus="paid"] { left: 33.333%; right: auto; width: 33.333%; }
.ca61-search-film-focus[data-focus="social"] { left: 66.666%; right: auto; width: 33.334%; }
.ca61-search-film-focus img { display: block; height: 100%; object-fit: cover; width: 100%; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-film-focus { visibility: visible; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-film-focus[data-focus="search"] { animation: ca61-search-focus-search 450ms ease 1700ms both; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-film-focus[data-focus="paid"] { animation: ca61-search-focus-paid 450ms ease 1950ms both; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-film-focus[data-focus="social"] { animation: ca61-search-focus-social 450ms ease 2200ms both; }
@keyframes ca61-search-focus-search { 0% { opacity: 0; filter: none; } 12%, 55% { opacity: .78; filter: contrast(1.12) brightness(1.12); } 100% { opacity: 0; filter: none; } }
@keyframes ca61-search-focus-paid { 0%, 12% { opacity: 0; filter: none; } 20%, 55% { opacity: .78; filter: contrast(1.12) brightness(1.12); } 100% { opacity: 0; filter: none; } }
@keyframes ca61-search-focus-social { 0%, 12% { opacity: 0; filter: none; } 20%, 55% { opacity: .78; filter: contrast(1.12) brightness(1.12); } 100% { opacity: 0; filter: none; } }
.ca61-search-inventories { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.ca61-search-inventory { border-top: 1px solid currentColor; min-width: 0; padding-top: .65rem; }
.ca61-search-inventory b, .ca61-search-inventory span { display: block; }
.ca61-search-inventory b { color: var(--ca61-burgundy); font: 700 .7rem Arial, sans-serif; letter-spacing: .12em; margin-bottom: .55rem; }
.ca61-search-inventory span { font: .78rem/1.45 Arial, sans-serif; }
.ca61-stage-1:not(.ca61-search-is-playing) .ca61-search-hero img, .ca61-stage-1:not(.ca61-search-is-playing) .ca61-search-film, .ca61-stage-1:not(.ca61-search-is-playing) .ca61-search-inventory { opacity: 0; visibility: hidden; }
.ca61-stage-1:not(.ca61-search-is-playing) .ca61-search-hero { min-height: 0; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-hero img { animation: ca61-search-hero-reveal 450ms ease 250ms both, ca61-search-hero-push 700ms ease 700ms both; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-hero::after { animation: ca61-search-flash 180ms ease 760ms both; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-film { animation: ca61-search-film-enter 450ms cubic-bezier(.2,.8,.2,1) 1250ms both; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-inventory { animation: ca61-search-inventory-in 360ms ease both; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-inventory:nth-child(1) { animation-delay: 2300ms; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-inventory:nth-child(2) { animation-delay: 2480ms; }
.ca61-stage-1.ca61-search-is-playing .ca61-search-inventory:nth-child(3) { animation-delay: 2660ms; }
@keyframes ca61-search-hero-reveal { from { clip-path: inset(0 100% 0 0); opacity: 0; } to { clip-path: inset(0 0 0 0); opacity: 1; } }
@keyframes ca61-search-hero-push { from { transform: scale(1); } to { transform: scale(1.025); } }
@keyframes ca61-search-flash { 0%,100% { opacity: 0; } 35% { opacity: 1; } }
@keyframes ca61-search-film-enter { from { opacity: 0; transform: translateY(1.2rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes ca61-search-inventory-in { from { opacity: 0; transform: translateY(.5rem); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .ca61-stage-1 .ca61-search-hero img, .ca61-stage-1 .ca61-search-film, .ca61-stage-1 .ca61-search-inventory { animation: none !important; clip-path: none !important; opacity: 1 !important; transform: none !important; visibility: visible !important; }.ca61-stage-1 .ca61-search-film-focus { animation: none !important; opacity: 0 !important; visibility: hidden !important; } }
@media (max-width: 767px) { .ca61-search-inventories { display: block; }.ca61-search-inventory { margin-top: 1rem; }.ca61-search-inventory:first-child { margin-top: 0; } }
.ca61-stage-1 .ca61-index-visual b { color: var(--ca61-ink); opacity: 1; }
.ca61-stage-3 .ca61-brand-visual { min-height: 8rem; color: var(--ca61-ink); opacity: 1; }
.ca61-stage-3 .ca61-brand-visual b { color: var(--ca61-ink); opacity: 1; }
.ca61-stage-3 .ca61-brand-visual strong { color: var(--ca61-ink); opacity: 1; }
.ca61-stage-3 .ca61-brand-visual i { color: var(--ca61-ink); opacity: 1; }
.ca61-stage-3 .ca61-brand-visual b, .ca61-stage-3 .ca61-brand-visual strong, .ca61-stage-3 .ca61-brand-visual i { animation: none !important; color: var(--ca61-ink) !important; opacity: 1 !important; transform: none !important; }
.ca61-stage-0 .ca61-strategy-diagram i::after { color: var(--ca61-burgundy) !important; font-size: .62rem; opacity: 1; }
.ca61-stage-0 .ca61-strategy-diagram b::after { color: var(--ca61-ink) !important; font-size: .62rem; opacity: 1; }
.ca61-stage-0 .ca61-strategy-diagram i::after { font-size: .72rem; top: -1.05rem; }
.ca61-stage-0 .ca61-strategy-diagram b::after { left: auto; right: 0; top: -.95rem; }
.ca61-stage-1 .ca61-index-visual b { color: var(--ca61-ink); font-size: .7rem; opacity: 1; }
.ca61-stage-3 .ca61-brand-visual i { border-left: 1px solid var(--ca61-burgundy); padding-left: .8rem; }
.ca61-stage-5 .ca61-editorial-visual i { color: var(--ca61-ink); opacity: 1 !important; }
.ca61-stage-6 .ca61-crm-flow span { color: var(--ca61-burgundy); opacity: 1 !important; }
.ca61-stage-6 .ca61-crm-flow span:not(:last-child)::after { color: var(--ca61-ink); opacity: 1; }
.ca61-stage-7 .ca61-cro-proto strong:last-of-type { color: var(--ca61-ink); }
.ca61-stage-7 .ca61-cro-proto strong:last-of-type em:first-child { color: color-mix(in srgb, var(--ca61-burgundy) 72%, var(--ca61-mustard)); }
.ca61-stage-7 .ca61-cro-proto strong:last-of-type em:last-of-type { color: var(--ca61-ink); font-weight: 700; }
.ca61-stage-8 .ca61-ai-sequence span { color: color-mix(in srgb, var(--ca61-cream) 76%, var(--ca61-ink)); opacity: 1 !important; }
.ca61-stage-8 .ca61-ai-sequence span { color: color-mix(in srgb, var(--ca61-cream) 88%, var(--ca61-ink)); }
.ca61-stage-7 .ca61-cro-proto strong:last-of-type em:first-child { color: var(--ca61-burgundy); }
.ca61-stage-7 .ca61-cro-proto strong:last-of-type span { color: var(--ca61-burgundy); font-weight: 700; }
.ca61-services-v4-trigger { padding-right: .45rem; }
@media (max-width: 767px) { .ca61-stage-0 .ca61-strategy-diagram i::after { font-size: .68rem; }.ca61-crm-flow { display: grid; gap: .45rem .65rem; grid-template-columns: 1fr 1fr; }.ca61-crm-flow span { min-width: 0; }.ca61-crm-flow span:nth-child(2)::after { content: "→"; }.ca61-crm-flow span:nth-child(3)::before { color: var(--ca61-ink); content: "↓"; left: 50%; position: absolute; top: -1rem; }.ca61-crm-flow span { position: relative; }.ca61-services-v4-trigger { padding-right: 0; } }
.ca61-stage-7 .ca61-cro-proto strong:last-of-type em:first-child { color: #7a2e2e !important; opacity: 1 !important; }
@media (max-width: 767px) {
  .ca61-stage-0 .ca61-strategy-diagram { overflow: visible; }
  .ca61-stage-0 .ca61-strategy-diagram i { animation: none !important; left: 0; transform-origin: right center; width: 31%; }
  .ca61-stage-0 .ca61-strategy-diagram i:nth-child(1) { top: 24%; transform: rotate(13deg) !important; }
  .ca61-stage-0 .ca61-strategy-diagram i:nth-child(2) { top: 50%; transform: none !important; }
  .ca61-stage-0 .ca61-strategy-diagram i:nth-child(3) { top: 76%; transform: rotate(-13deg) !important; }
  .ca61-stage-0 .ca61-strategy-diagram i::after { left: 0; right: auto; top: -.95rem; transform-origin: left center; }
  .ca61-stage-0 .ca61-strategy-diagram i:nth-child(1)::after { transform: rotate(-13deg); }
  .ca61-stage-0 .ca61-strategy-diagram i:nth-child(2)::after { transform: none; }
  .ca61-stage-0 .ca61-strategy-diagram i:nth-child(3)::after { transform: rotate(13deg); }
  .ca61-stage-0 .ca61-strategy-diagram::before { left: 30%; top: calc(50% - .25rem); }
  .ca61-stage-0 .ca61-strategy-diagram::after { left: 31%; top: 50%; transform: none !important; width: 60%; }
  .ca61-stage-0 .ca61-strategy-diagram b { display: block; left: 31%; top: 50%; width: 60%; }
  .ca61-stage-0 .ca61-strategy-diagram b::after { right: 0; top: -.95rem; }
}
.ca61-stage-0 .ca61-strategy-diagram i::after { color: #7a2e2e !important; opacity: 1 !important; mix-blend-mode: normal; }
.ca61-stage-0 .ca61-strategy-diagram b::after { background: transparent !important; border-radius: 0 !important; content: "DECISION" !important; color: #171717 !important; height: auto !important; left: auto !important; opacity: 1 !important; right: -2rem; top: -.95rem; white-space: nowrap; width: auto !important; }
.ca61-stage-0 .ca61-strategy-diagram i { animation: none !important; color: #7a2e2e !important; opacity: 1 !important; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(1) { transform: rotate(14deg) !important; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(2) { transform: none !important; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(3) { transform: rotate(-14deg) !important; }
.ca61-stage-0 .ca61-strategy-diagram i { border-top-color: var(--ca61-burgundy); left: 0; transform-origin: right center; width: 34%; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(1) { top: 24%; transform: rotate(14deg); }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(2) { top: 50%; transform: none; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(3) { top: 76%; transform: rotate(-14deg); }
.ca61-stage-0 .ca61-strategy-diagram::before { background: var(--ca61-ink); border: 0; border-radius: 50%; content: ""; height: .5rem; left: 33%; top: calc(50% - .25rem); transform: none; width: .5rem; z-index: 1; }
.ca61-stage-0 .ca61-strategy-diagram::after { border-top: 1px solid var(--ca61-ink); left: 34%; top: 50%; transform: none; width: 52%; }
.ca61-stage-0 .ca61-strategy-diagram b { border: 0; left: 34%; top: 50%; width: 52%; }
@media (max-width: 767px) { .ca61-services-v4-tags { max-width: 19rem; }.ca61-crm-flow { display: grid; gap: .2rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }.ca61-crm-flow span { font-size: .58rem; letter-spacing: .08em; padding: .7rem .1rem; }.ca61-crm-flow span:not(:last-child)::after { float: none; margin: 0; position: absolute; right: -.35rem; top: .7rem; }.ca61-crm-flow span:nth-child(3)::before { display: none; } }
@media (max-width: 767px) { .ca61-stage-1 .ca61-index-visual b { font-size: .62rem; letter-spacing: .1em; }.ca61-stage-7 .ca61-cro-proto strong:last-of-type { font-size: 1.8rem; } }
.ca61-stage-4 .ca61-browser-grid::after { content: "→"; min-width: 2.6rem; text-align: center; }
.ca61-stage-7 .ca61-cro-proto strong em:first-child { color: var(--ca61-burgundy); font-style: normal; }
.ca61-stage-7 .ca61-cro-proto strong span { color: var(--ca61-burgundy); }
@media (max-width: 767px) { .ca61-stage-4 .ca61-browser-grid::after { min-width: 2.2rem; padding-inline: .25rem; }.ca61-stage-3 .ca61-brand-visual { min-height: 5rem; } }
.ca61-services-v4-stage > .ca61-services-v4-panel { box-sizing: border-box; min-width: 0; width: 100%; }
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-7,
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-8 { margin: 0; min-width: 0; width: 100%; }
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-8 .ca61-ai-proto { margin: 0; min-width: 0; width: 100%; }
.ca61-services-v4-stage > .ca61-services-v4-panel.ca61-proto-7 .ca61-cro-proto { margin: 0; width: 100%; }
.ca61-strategy-labels { display: flex; justify-content: space-between; color: var(--ca61-burgundy); font: 600 .62rem Arial, sans-serif; letter-spacing: .16em; margin: 1.1rem 8% .1rem; }
.ca61-stage-0 .ca61-strategy-diagram { height: 7.5rem; margin: 0 5% 1.2rem; }
.ca61-stage-0 .ca61-strategy-diagram::before, .ca61-stage-0 .ca61-strategy-diagram::after, .ca61-stage-0 .ca61-strategy-diagram b { left: 33%; width: 52%; }
.ca61-stage-0 .ca61-strategy-diagram::before { top: 38%; transform: rotate(0) scaleX(0); transform-origin: left; }
.ca61-stage-0 .ca61-strategy-diagram::after { border-color: var(--ca61-burgundy); top: 50%; transform: rotate(0) scaleX(0); transform-origin: left; }
.ca61-stage-0 .ca61-strategy-diagram b { border-color: var(--ca61-ink); left: 33%; top: 50%; transform: rotate(0) scaleX(0); transform-origin: left; }
.ca61-stage-0 .ca61-strategy-diagram i { border-top-color: var(--ca61-burgundy); left: 0; transform-origin: right; width: 34%; }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(1) { top: 22%; transform: rotate(18deg) scaleX(.85); }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(2) { top: 50%; transform: rotate(0) scaleX(.85); }
.ca61-stage-0 .ca61-strategy-diagram i:nth-child(3) { top: 78%; transform: rotate(-18deg) scaleX(.85); }
.ca61-stage-0 .ca61-strategy-diagram::after { animation: ca61-strategy-out 650ms ease .35s forwards; }
.ca61-stage-0 .ca61-strategy-diagram b { animation: none; }
.ca61-stage-0 .ca61-strategy-diagram b { transform: none; }
.ca61-stage-0 .ca61-strategy-diagram b::after { background: var(--ca61-ink); border-radius: 50%; content: ""; height: .45rem; left: -.22rem; position: absolute; top: -.25rem; width: .45rem; }
@keyframes ca61-strategy-out { to { transform: rotate(0) scaleX(1); } }
@media (max-width: 767px) { .ca61-strategy-labels { margin-top: .6rem; }.ca61-stage-0 .ca61-strategy-diagram { height: 5rem; margin: 0 2% .5rem; }.ca61-stage-0 .ca61-strategy-diagram i { width: 31%; }.ca61-stage-0 .ca61-strategy-diagram::before, .ca61-stage-0 .ca61-strategy-diagram::after, .ca61-stage-0 .ca61-strategy-diagram b { left: 30%; width: 58%; } }
@media (prefers-reduced-motion: reduce) { .is-stage-active .ca61-strategy-diagram::before, .is-stage-active .ca61-strategy-diagram::after, .is-stage-active .ca61-strategy-diagram b, .is-stage-active .ca61-browser-grid i { animation: none; opacity: 1; transform: none; } }

/* Final Strategy asset override: supplied layers only, no legacy geometry. */
.ca61-stage-0 .ca61-strategy-diagram { height: 12rem; margin: 1rem 0 1.5rem; overflow: visible; }
.ca61-stage-0 .ca61-strategy-diagram::before,
.ca61-stage-0 .ca61-strategy-diagram::after,
.ca61-stage-0 .ca61-strategy-diagram > i,
.ca61-stage-0 .ca61-strategy-diagram > b { display: none !important; content: none !important; }
.ca61-strategy-svg { display: block; height: 100%; overflow: visible; width: 100%; }
.ca61-strategy-layer { opacity: 0; }
.ca61-strategy-layer path { stroke-dasharray: 100; stroke-dashoffset: 100; }
.ca61-stage-0 .ca61-strategy-market-label { animation: ca61-strategy-asset-reveal 360ms ease 120ms forwards; }
.ca61-stage-0 .ca61-strategy-market-line { animation: ca61-strategy-asset-reveal 360ms ease 300ms forwards; }
.ca61-stage-0 .ca61-strategy-market-line path { animation: ca61-strategy-asset-draw 360ms ease 300ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-label { animation: ca61-strategy-asset-reveal 360ms ease 660ms forwards; }
.ca61-stage-0 .ca61-strategy-brand-line { animation: ca61-strategy-asset-reveal 360ms ease 840ms forwards; }
.ca61-stage-0 .ca61-strategy-brand-line path { animation: ca61-strategy-asset-draw 360ms ease 840ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-label { animation: ca61-strategy-asset-reveal 360ms ease 1200ms forwards; }
.ca61-stage-0 .ca61-strategy-data-line { animation: ca61-strategy-asset-reveal 360ms ease 1380ms forwards; }
.ca61-stage-0 .ca61-strategy-data-line path { animation: ca61-strategy-asset-draw 360ms ease 1380ms forwards !important; }
.ca61-stage-0 .ca61-strategy-junction { animation: ca61-strategy-asset-reveal 140ms ease 1.82s forwards; }
.ca61-stage-0 .ca61-strategy-output path { animation: ca61-strategy-asset-draw 420ms ease 1.96s forwards !important; }
.ca61-stage-0 .ca61-strategy-output { animation: ca61-strategy-asset-reveal 420ms ease 1.96s forwards; }
.ca61-stage-0 .ca61-strategy-market-line,
.ca61-stage-0 .ca61-strategy-brand-line,
.ca61-stage-0 .ca61-strategy-data-line,
.ca61-stage-0 .ca61-strategy-output,
.ca61-stage-0 .ca61-strategy-market-line path,
.ca61-stage-0 .ca61-strategy-brand-line path,
.ca61-stage-0 .ca61-strategy-data-line path,
.ca61-stage-0 .ca61-strategy-output path { opacity: 1; }
.ca61-stage-0 .ca61-strategy-decision { animation: ca61-strategy-asset-reveal 260ms ease 2.38s forwards; }
@keyframes ca61-strategy-asset-reveal { to { opacity: 1; } }
@keyframes ca61-strategy-asset-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-layer,
  .ca61-stage-0 .ca61-strategy-layer path { animation: none !important; opacity: 1; stroke-dasharray: 1; stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .ca61-stage-0 .ca61-strategy-market-line path,
  .ca61-stage-0 .ca61-strategy-brand-line path,
  .ca61-stage-0 .ca61-strategy-data-line path,
  .ca61-stage-0 .ca61-strategy-output path { stroke-dasharray: 1; stroke-dashoffset: 1; }
}
@media (max-width: 767px) { .ca61-stage-0 .ca61-strategy-diagram { height: 11rem; margin: 1rem 0 1.2rem; } }

/* Strategy V2 visual-state hotfix: final cascade, explicit child visibility. */
.ca61-stage-0 .ca61-strategy-layer { opacity: 1 !important; }
.ca61-stage-0 .ca61-strategy-layer > text,
.ca61-stage-0 .ca61-strategy-layer > circle { opacity: 0; visibility: visible; }
.ca61-stage-0 .ca61-strategy-layer > path { opacity: 1; visibility: visible; stroke-dasharray: 1000px; stroke-dashoffset: 1000px; }
.ca61-stage-0 .ca61-strategy-market-label > text { animation: ca61-strategy-visual-label 260ms ease 120ms forwards !important; }
.ca61-stage-0 .ca61-strategy-market-line > path { animation: ca61-strategy-visual-draw 380ms ease 300ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-label > text { animation: ca61-strategy-visual-label 260ms ease 660ms forwards !important; }
.ca61-stage-0 .ca61-strategy-brand-line > path { animation: ca61-strategy-visual-draw 380ms ease 840ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-label > text { animation: ca61-strategy-visual-label 260ms ease 1200ms forwards !important; }
.ca61-stage-0 .ca61-strategy-data-line > path { animation: ca61-strategy-visual-draw 380ms ease 1380ms forwards !important; }
.ca61-stage-0 .ca61-strategy-junction > circle { animation: ca61-strategy-visual-label 140ms ease 1.82s forwards !important; }
.ca61-stage-0 .ca61-strategy-output > path { animation: ca61-strategy-visual-draw 420ms ease 1.96s forwards !important; }
.ca61-stage-0 .ca61-strategy-decision > text { animation: ca61-strategy-visual-label 260ms ease 2.38s forwards !important; }
@keyframes ca61-strategy-visual-label { to { opacity: 1; } }
@keyframes ca61-strategy-visual-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ca61-stage-0 .ca61-strategy-layer > text,
  .ca61-stage-0 .ca61-strategy-layer > circle { animation: none !important; opacity: 1 !important; }
  .ca61-stage-0 .ca61-strategy-layer > path { animation: none !important; opacity: 1 !important; stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
}
