:root {
  --ink: #f6f3ec;
  --muted: rgba(246, 243, 236, 0.66);
  --dim: rgba(246, 243, 236, 0.38);
  --line: rgba(246, 243, 236, 0.14);
  --black: #050505;
  --charcoal: #10100f;
  --silver: #d8d2c4;
  --gold: #b9a369;
  --green: #7f9d84;
  --red: #8f4037;
  --max: 1500px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  scroll-behavior: auto;
  background: #050505;
}

body {
  min-height: 100%;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 20% 10%, rgba(185, 163, 105, 0.18), transparent 30rem),
    radial-gradient(circle at 86% 18%, rgba(127, 157, 132, 0.14), transparent 28rem),
    linear-gradient(180deg, #050505 0%, #0a0a09 44%, #030303 100%);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  overflow-x: hidden;
}

body::selection {
  color: #050505;
  background: var(--silver);
}

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

main {
  overflow: clip;
}

h1,
h2,
h3,
blockquote,
p {
  overflow-wrap: break-word;
}

.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  opacity: 0.045;
  background-image:
    linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.06) 50%, transparent 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.16) 0 1px, transparent 1px 5px);
  background-size: 100% 100%, 14px 14px;
}

.progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 60;
  background: rgba(255, 255, 255, 0.08);
}

.progress span {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--gold), var(--silver), var(--green));
}

.site-header {
  position: fixed;
  top: 18px;
  left: 50%;
  z-index: 40;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  width: min(calc(100% - 36px), 1180px);
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.02)),
    rgba(7, 7, 7, 0.84);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.32);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  transform: translateX(-50%);
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-right: 6px;
}

.brand-mark {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  color: #090908;
  background: linear-gradient(135deg, var(--ink), var(--gold));
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.brand-copy {
  display: grid;
  gap: 1px;
  font-size: 10px;
  line-height: 1.1;
  color: var(--dim);
  text-transform: uppercase;
}

.brand-copy strong {
  color: var(--ink);
  font-size: 11px;
}

.site-nav {
  display: flex;
  justify-content: center;
  gap: 2px;
  align-items: center;
  min-width: 0;
  width: max-content;
  max-width: 100%;
  justify-self: center;
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.032);
}

.site-nav a {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  overflow: hidden;
  border-radius: 999px;
  padding: 12px 13px;
  color: rgba(246, 243, 236, 0.72);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
  transition:
    color 0.25s var(--ease),
    background 0.25s var(--ease),
    transform 0.25s var(--ease);
}

.site-nav a::before {
  content: "";
  position: absolute;
  inset: auto 14px 7px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0;
  transform: scaleX(0.35);
  transition:
    opacity 0.25s var(--ease),
    transform 0.25s var(--ease);
}

.site-nav a span {
  color: var(--gold);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.site-nav a:hover,
.site-nav a.is-active {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.07);
}

.site-nav a:hover {
  transform: translateY(-1px);
}

.site-nav a:hover::before,
.site-nav a.is-active::before {
  opacity: 1;
  transform: scaleX(1);
}

.header-cta,
.menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(246, 243, 236, 0.94);
  color: #070706;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.header-cta {
  min-height: 48px;
  padding: 0 16px;
  white-space: nowrap;
}

.menu-toggle {
  position: relative;
  display: none;
  width: 48px;
  height: 48px;
  cursor: pointer;
}

.menu-toggle span {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #070706;
  transform: translate(-50%, -4px);
  transition:
    transform 0.25s var(--ease),
    opacity 0.25s var(--ease);
}

.menu-toggle span + span {
  transform: translate(-50%, 4px);
}

body.menu-open .menu-toggle span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

body.menu-open .menu-toggle span + span {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 35;
  display: grid;
  align-items: start;
  padding: 96px 12px 12px;
  pointer-events: none;
  opacity: 0;
  background: rgba(3, 3, 3, 0.78);
  transition:
    opacity 0.28s var(--ease),
    background 0.28s var(--ease);
}

.mobile-menu__panel {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 0%, rgba(185, 163, 105, 0.22), transparent 18rem),
    rgba(12, 12, 11, 0.96);
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.5);
  transform: translateY(-14px) scale(0.98);
  transition: transform 0.28s var(--ease);
}

.mobile-menu p {
  margin: 0 0 10px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mobile-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 4px;
  border-top: 1px solid var(--line);
  color: var(--ink);
  font-size: clamp(28px, 9vw, 54px);
  font-weight: 950;
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.mobile-menu a span {
  flex: 0 0 auto;
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 0.12em;
}

body.menu-open {
  overflow: hidden;
}

body.menu-open .mobile-menu {
  pointer-events: auto;
  opacity: 1;
}

body.menu-open .mobile-menu__panel {
  transform: translateY(0) scale(1);
}

.section-full,
.section-grid,
.intro-panel {
  width: min(calc(100% - 36px), var(--max));
  margin-inline: auto;
}

section {
  scroll-margin-top: 0;
}

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: end;
  padding: 150px 0 34px;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.35fr);
  gap: clamp(24px, 5vw, 76px);
  align-items: end;
}

.section-kicker {
  margin: 0 0 18px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.hero h1 {
  max-width: 1100px;
  margin: 0;
  font-size: clamp(76px, 14vw, 214px);
  line-height: 0.78;
  letter-spacing: -0.065em;
  text-transform: uppercase;
  max-width: 100%;
}

.role-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.role-stack span {
  padding: 12px 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--ink);
  font-size: clamp(16px, 2vw, 28px);
  font-weight: 900;
}

.hero-lede {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  align-items: center;
  margin: 26px 0 0;
  color: var(--muted);
  font-size: clamp(20px, 3.2vw, 52px);
  font-weight: 700;
  letter-spacing: -0.035em;
}

.hero-lede span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 28px rgba(185, 163, 105, 0.82);
}

.hero-card {
  min-height: 640px;
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.035));
  box-shadow: 0 30px 120px rgba(0, 0, 0, 0.45);
}

.portrait-frame {
  padding: 12px;
}

.portrait-placeholder {
  position: relative;
  min-height: 510px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: 8px;
  padding: 22px;
  overflow: hidden;
  border-radius: 22px;
  background:
    linear-gradient(180deg, transparent 28%, rgba(0, 0, 0, 0.86) 100%),
    radial-gradient(circle at 50% 21%, rgba(246, 243, 236, 0.58), transparent 16%),
    linear-gradient(145deg, #2e2e2c, #10100f 52%, #060606);
}

.portrait-placeholder::before {
  content: "";
  position: absolute;
  inset: 12% 23% 0;
  border-radius: 52% 52% 0 0;
  background:
    linear-gradient(180deg, rgba(246, 243, 236, 0.18), rgba(246, 243, 236, 0.03)),
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
  filter: blur(0.2px);
}

.portrait-placeholder span,
.portrait-placeholder strong {
  position: relative;
  z-index: 1;
}

.portrait-placeholder span {
  color: var(--dim);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.portrait-placeholder strong {
  max-width: 18rem;
  font-size: 25px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.hero-card__footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

.hero-card__footer a {
  color: var(--ink);
  font-weight: 900;
  white-space: nowrap;
}

.hero-strip {
  display: flex;
  gap: 10px;
  padding-top: 36px;
  overflow: hidden;
}

.hero-strip span {
  flex: 1;
  min-width: 190px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.045);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}


.intro-panel {
  display: grid;
  grid-template-columns: 0.35fr 1fr;
  gap: 40px;
  margin-top: 54px;
  padding: clamp(24px, 5vw, 64px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.intro-panel__meta {
  display: grid;
  align-content: start;
  gap: 8px;
}

.intro-panel__meta span,
.section-heading > span {
  color: var(--dim);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.intro-panel__meta strong {
  max-width: 19rem;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.intro-panel p {
  margin: 0;
  max-width: 1000px;
  font-size: clamp(30px, 5vw, 74px);
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.section-grid {
  display: grid;
  grid-template-columns: minmax(260px, 420px) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 82px);
  padding: 150px 0;
}

.section-grid > *,
.project-feature > *,
.metrics-grid > *,
.media-grid > * {
  min-width: 0;
}

.sticky-heading {
  position: sticky;
  top: 128px;
  align-self: start;
  max-width: 420px;
}

.section-heading h2 {
  margin: 0;
  font-size: clamp(44px, 7vw, 106px);
  line-height: 0.9;
  letter-spacing: -0.055em;
}

.sticky-heading h2 {
  font-size: clamp(42px, 4vw, 72px);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.philosophy .sticky-heading h2 {
  font-size: clamp(40px, 3.55vw, 64px);
}

.centered {
  max-width: 980px;
  margin: 0 auto 54px;
  text-align: center;
}

.story-copy {
  display: grid;
  gap: 28px;
}

.story-copy p {
  margin: 0;
  color: rgba(246, 243, 236, 0.78);
  font-size: clamp(23px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.quote-block {
  margin-top: 18px;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.055);
}

.quote-block span {
  color: var(--gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.quote-block blockquote {
  margin: 18px 0 0;
  font-size: clamp(28px, 4vw, 64px);
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.metric-stage {
  padding: 120px 0;
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.metric-card {
  min-height: 300px;
  display: grid;
  align-content: end;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, rgba(185, 163, 105, 0.2), transparent 45%),
    rgba(255, 255, 255, 0.055);
  contain: layout paint;
}

.metric-value {
  display: block;
  font-size: clamp(58px, 8vw, 118px);
  font-weight: 900;
  line-height: 0.78;
  letter-spacing: -0.07em;
}

.metric-value::after {
  content: "+";
  color: var(--gold);
  font-size: 0.48em;
}

.metric-card p {
  margin: 24px 0 7px;
  font-size: 17px;
  font-weight: 900;
}

.metric-card small {
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.achievement-ledger {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.achievement-ledger span {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.035);
  font-size: 13px;
  font-weight: 800;
}

.timeline-list {
  display: grid;
  gap: 0;
}

.timeline-list article {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 30px;
  padding: 34px 0;
  border-top: 1px solid var(--line);
}

.timeline-list article:last-child {
  border-bottom: 1px solid var(--line);
}

.timeline-list time {
  color: var(--gold);
  font-size: 13px;
  font-weight: 900;
}

.timeline-list h3,
.principles h3,
.media-grid h3,
.project-copy h3 {
  margin: 0;
  font-size: clamp(31px, 4vw, 64px);
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.timeline-list p,
.principles p,
.media-grid p,
.project-copy p {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.45;
}

.gallery-band {
  padding: 40px 0 120px;
  overflow: hidden;
}

.gallery-track {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: marquee 52s linear infinite;
  will-change: transform;
}


.gallery-item {
  width: 330px;
  height: 420px;
  display: flex;
  align-items: end;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, 0.72) 100%),
    linear-gradient(135deg, rgba(246, 243, 236, 0.16), rgba(185, 163, 105, 0.16), rgba(127, 157, 132, 0.12));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.gallery-item.wide {
  width: 520px;
}

.gallery-item.tall {
  height: 520px;
}

.gallery-item span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}

.projects {
  padding: 80px 0 150px;
}

.project-stack {
  display: grid;
  gap: 18px;
}

.project-feature {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  min-height: 720px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.045);
  contain: layout paint;
}

.project-feature.reverse {
  grid-template-columns: 0.85fr 1.15fr;
}

.project-feature.reverse .project-visual {
  order: 2;
}

.project-visual {
  display: grid;
  place-items: center;
  padding: 40px;
  background:
    radial-gradient(circle at 38% 28%, rgba(185, 163, 105, 0.28), transparent 24rem),
    linear-gradient(135deg, #242421, #070707);
}

.project-visual.warm {
  background:
    radial-gradient(circle at 70% 18%, rgba(143, 64, 55, 0.32), transparent 22rem),
    linear-gradient(135deg, #201512, #070707);
}

.project-visual.cool {
  background:
    radial-gradient(circle at 30% 22%, rgba(127, 157, 132, 0.26), transparent 23rem),
    linear-gradient(135deg, #111a14, #070707);
}

.visual-device {
  width: min(100%, 680px);
  aspect-ratio: 1.34;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 72px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 72px);
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.34);
}

.visual-device span {
  max-width: 260px;
  color: rgba(246, 243, 236, 0.74);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
}

.project-copy {
  display: grid;
  align-content: end;
  padding: clamp(28px, 5vw, 72px);
}

.project-index {
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.project-copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 28px 0 0;
  list-style: none;
}

.project-copy li {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.principles {
  display: grid;
  gap: 12px;
}

.principles article {
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.045);
  contain: layout paint;
}

.principles h3 {
  max-width: 20ch;
  font-size: clamp(32px, 3.4vw, 56px);
}

.principles span,
.media-grid span {
  display: block;
  margin-bottom: 16px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.media {
  padding: 120px 0;
}

.media-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.media-grid article {
  min-height: 360px;
  display: grid;
  align-content: end;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.055)),
    rgba(255, 255, 255, 0.025);
  contain: layout paint;
}

.media-grid h3 {
  font-size: clamp(27px, 3vw, 44px);
}

.contact {
  padding: 120px 0 70px;
}

.contact-inner {
  min-height: 620px;
  display: grid;
  align-content: center;
  padding: clamp(30px, 8vw, 110px);
  overflow: hidden;
  border-radius: 38px;
  background:
    radial-gradient(circle at 74% 36%, rgba(185, 163, 105, 0.24), transparent 26rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.contact h2 {
  max-width: 1100px;
  margin: 0;
  font-size: clamp(52px, 9vw, 144px);
  line-height: 0.86;
  letter-spacing: -0.06em;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 42px;
}

.contact-actions a {
  padding: 16px 20px;
  border-radius: 999px;
  background: var(--ink);
  color: #080807;
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
}

.contact-actions a + a {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
}

.site-footer {
  display: flex;
  justify-content: space-between;
  width: min(calc(100% - 36px), var(--max));
  margin: 0 auto;
  padding: 34px 0 44px;
  border-top: 1px solid var(--line);
  color: var(--dim);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.52s var(--ease),
    transform 0.52s var(--ease);
  will-change: opacity, transform;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  will-change: auto;
}


/* Layout stabilization: prevents half-painted transitions around section boundaries. */
.section-full,
.section-grid,
.intro-panel,
.project-feature,
.metric-card,
.media-grid article,
.principles article,
.quote-block,
.contact-inner {
  transform: translateZ(0);
}

.about,
.timeline,
.philosophy {
  align-items: start;
}

.timeline-list,
.story-copy,
.principles {
  position: relative;
  z-index: 1;
}

@media (max-width: 1320px) {
  :root {
    --max: 1240px;
  }

  .site-header {
    width: min(calc(100% - 32px), 1120px);
  }

  .hero h1 {
    font-size: clamp(72px, 13vw, 168px);
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: clamp(22px, 4vw, 54px);
  }

  .hero-card {
    min-height: 560px;
  }

  .portrait-placeholder {
    min-height: 440px;
  }

  .section-heading h2 {
    font-size: clamp(42px, 6vw, 86px);
  }

  .sticky-heading h2 {
    font-size: clamp(40px, 4vw, 66px);
  }

  .philosophy .sticky-heading h2 {
    font-size: clamp(38px, 3.5vw, 58px);
  }

  .timeline-list h3,
  .principles h3,
  .project-copy h3 {
    font-size: clamp(34px, 4.2vw, 58px);
  }

  .metric-card {
    min-height: 260px;
  }
}

@media (max-width: 980px) {
  .site-header {
    width: min(calc(100% - 28px), 860px);
  }

  .brand-copy {
    max-width: 150px;
  }

  .hero {
    min-height: auto;
    padding-top: 132px;
  }

  .hero h1 {
    font-size: clamp(72px, 16vw, 132px);
    line-height: 0.82;
  }

  .hero-lede {
    font-size: clamp(30px, 6vw, 52px);
  }

  .hero-card {
    max-width: 680px;
    justify-self: stretch;
  }

  .section-grid {
    padding: 112px 0;
    gap: 42px;
  }

  .sticky-heading {
    max-width: 760px;
  }

  .story-copy p {
    font-size: clamp(24px, 4.6vw, 38px);
  }

  .quote-block blockquote {
    font-size: clamp(32px, 6vw, 56px);
  }

  .timeline-list article {
    grid-template-columns: 84px 1fr;
    gap: 22px;
  }

  .gallery-band {
    padding: 24px 0 92px;
  }

  .project-feature,
  .project-feature.reverse {
    grid-template-columns: 1fr;
  }

  .project-feature.reverse .project-visual {
    order: 0;
  }

  .project-feature {
    min-height: auto;
  }

  .project-visual {
    min-height: 440px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

@media (max-width: 1100px) {
  .site-header {
    grid-template-columns: auto 1fr auto;
    width: min(calc(100% - 32px), 980px);
  }

  .site-nav {
    display: none;
  }

  .header-cta {
    justify-self: end;
    min-width: 190px;
    max-width: 230px;
    width: auto;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .hero-grid,
  .intro-panel,
  .section-grid,
  .project-feature,
  .project-feature.reverse,
  .metrics-grid,
  .achievement-ledger,
  .media-grid {
    grid-template-columns: 1fr;
  }

  .project-feature.reverse .project-visual {
    order: 0;
  }

  .hero-card {
    min-height: auto;
  }

  .sticky-heading {
    position: relative;
    top: auto;
  }

  .media-grid,
  .metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .site-header {
    top: 12px;
    left: 12px;
    right: 12px;
    width: auto;
    grid-template-columns: auto auto;
    justify-content: space-between;
    border-radius: 999px;
    padding: 7px;
    transform: none;
  }

  .brand-copy {
    display: none;
  }

  .brand-lockup {
    min-height: 48px;
    padding-left: 0;
    padding-right: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
  }

  .brand-mark,
  .menu-toggle {
    width: 48px;
    height: 48px;
  }

  .header-cta {
    display: none;
  }

  .mobile-menu {
    padding-top: 86px;
  }

  .section-full,
  .section-grid,
  .intro-panel {
    width: min(calc(100% - 24px), var(--max));
  }

  .hero {
    min-height: auto;
    padding-top: 132px;
  }

  .hero h1 {
    font-size: clamp(58px, 20vw, 104px);
    line-height: 0.84;
  }

  .hero-lede {
    display: block;
    font-size: clamp(28px, 7vw, 42px);
  }

  .hero-lede span {
    display: inline-block;
    margin: 0 8px;
  }

  .portrait-placeholder {
    min-height: 380px;
  }

  .role-stack {
    gap: 8px;
    margin-top: 22px;
  }

  .role-stack span {
    padding: 10px 14px;
    font-size: 18px;
  }

  .intro-panel,
  .section-grid,
  .metric-stage,
  .projects,
  .media,
  .contact {
    padding-block: 82px;
  }

  .story-copy p {
    font-size: 24px;
  }

  .metrics-grid,
  .media-grid {
    grid-template-columns: 1fr;
  }

  .metric-card,
  .media-grid article {
    min-height: 240px;
  }

  .timeline-list article {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .project-feature {
    min-height: auto;
  }

  .project-visual {
    min-height: 390px;
    padding: 22px;
  }

  .visual-device {
    transform: none;
  }

  .gallery-track {
    width: 100%;
    overflow-x: auto;
    animation: none;
    scroll-snap-type: x mandatory;
  }

  .gallery-item {
    width: 82vw;
    min-width: 82vw;
    scroll-snap-align: start;
  }

  .gallery-item.wide {
    width: 82vw;
  }

  .contact-inner {
    min-height: 500px;
    border-radius: 28px;
  }

  .hero-strip {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding-top: 24px;
  }

  .hero-strip span {
    min-width: 0;
    padding: 13px;
  }

  .hero-card__footer {
    display: grid;
  }

  .section-kicker {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.16em;
  }

  .section-heading h2,
  .sticky-heading h2,
  .philosophy .sticky-heading h2 {
    font-size: clamp(42px, 14vw, 64px);
    line-height: 0.92;
    overflow-wrap: normal;
  }

  .quote-block {
    padding: 24px;
    border-radius: 22px;
  }

  .quote-block blockquote {
    font-size: clamp(30px, 9vw, 44px);
  }

  .metric-value {
    font-size: clamp(66px, 24vw, 112px);
  }

  .achievement-ledger {
    grid-template-columns: 1fr;
  }

  .timeline-list h3,
  .principles h3,
  .media-grid h3,
  .project-copy h3 {
    font-size: clamp(32px, 12vw, 52px);
  }

  .timeline-list article {
    padding: 28px 0;
  }

  .gallery-band {
    overflow: visible;
    padding: 20px 0 76px;
  }

  .gallery-track {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 8px;
    animation: none !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    will-change: auto;
  }

  .gallery-track::-webkit-scrollbar {
    display: none;
  }

  .gallery-item,
  .gallery-item.wide,
  .gallery-item.tall {
    width: 84vw;
    min-width: 84vw;
    height: 380px;
    scroll-snap-align: start;
  }

  .project-copy {
    padding: 26px;
  }

  .contact h2 {
    font-size: clamp(42px, 14vw, 68px);
    line-height: 0.9;
  }

  .contact-actions a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .site-footer {
    display: grid;
    gap: 8px;
  }
}

@media (max-width: 420px) {
  .brand-mark,
  .menu-toggle {
    width: 44px;
    height: 44px;
  }

  .brand-lockup {
    min-height: 44px;
    padding-right: 6px;
  }

  .site-header {
    left: 10px;
    right: 10px;
    padding: 6px;
  }

  .hero {
    padding-top: 116px;
  }

  .hero h1 {
    font-size: clamp(54px, 19vw, 86px);
    letter-spacing: -0.06em;
  }

  .hero-lede {
    font-size: clamp(25px, 7vw, 32px);
  }

  .role-stack span {
    font-size: 16px;
    padding: 9px 12px;
  }

  .portrait-placeholder {
    min-height: 330px;
  }

  .portrait-placeholder strong {
    font-size: 21px;
  }

  .intro-panel,
  .section-grid,
  .metric-stage,
  .projects,
  .media,
  .contact {
    padding-block: 68px;
  }

  .intro-panel p,
  .story-copy p {
    font-size: 23px;
    line-height: 1.08;
  }

  .metric-card,
  .media-grid article {
    min-height: 220px;
    padding: 22px;
  }

  .project-visual {
    min-height: 320px;
  }

  .mobile-menu a {
    padding: 17px 4px;
    font-size: clamp(26px, 10vw, 42px);
  }
}

/* ===============================
   Responsive text / clipping patch
   Paste this at the very bottom of the current style block.
   =============================== */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body,
main {
  min-width: 0;
}

.section-full,
.section-grid,
.intro-panel,
.hero-grid,
.hero-copy,
.hero-card,
.story-copy,
.timeline-list,
.timeline-list article,
.timeline-list article > div,
.project-feature,
.project-visual,
.project-copy,
.principles,
.principles article,
.media-grid,
.media-grid article,
.metric-card,
.contact,
.contact-inner,
.quote-block,
.site-footer,
.contact-actions,
.contact-actions a {
  min-width: 0;
  max-width: 100%;
}

h1,
h2,
h3,
blockquote,
p,
.hero-lede,
.role-stack span,
.project-copy li,
.contact-actions a {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

.section-heading > span,
.intro-panel__meta span,
.section-kicker,
.project-index,
.metric-card small,
.gallery-item span,
.media-grid span,
.principles span {
  display: block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.22;
}

.section-heading h2,
.contact h2,
.hero h1,
.quote-block blockquote,
.timeline-list h3,
.principles h3,
.media-grid h3,
.project-copy h3 {
  text-wrap: balance;
}

.story-copy p,
.timeline-list p,
.principles p,
.media-grid p,
.project-copy p,
.intro-panel p {
  text-wrap: pretty;
}

.contact-inner {
  container-type: inline-size;
  padding: clamp(30px, 6vw, 96px);
}

.contact h2 {
  max-width: 100%;
  font-size: clamp(42px, 7.2vw, 108px);
  line-height: 0.91;
  letter-spacing: -0.055em;
}

.contact-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow-wrap: anywhere;
  text-align: center;
}

/* Modern browsers: use the actual section/card width, not the browser viewport.
   This fixes Webflow canvas states where the page is visually narrow but vw is still huge. */
@supports (font-size: 1cqw) {
  .hero-copy,
  .section-heading,
  .story-copy,
  .quote-block,
  .intro-panel,
  .timeline-list article > div,
  .project-copy,
  .principles article,
  .media-grid article,
  .metric-card,
  .contact-inner {
    container-type: inline-size;
  }

  .hero h1 {
    font-size: clamp(58px, 18cqw, 198px);
  }

  .section-heading h2 {
    font-size: clamp(40px, 15cqw, 96px);
  }

  .sticky-heading h2,
  .philosophy .sticky-heading h2 {
    font-size: clamp(38px, 14cqw, 68px);
  }

  .intro-panel p {
    font-size: clamp(26px, 4.6cqw, 66px);
  }

  .story-copy p {
    font-size: clamp(22px, 4.2cqw, 42px);
  }

  .quote-block blockquote {
    font-size: clamp(28px, 6.4cqw, 60px);
  }

  .timeline-list h3,
  .principles h3,
  .media-grid h3,
  .project-copy h3 {
    font-size: clamp(29px, 10cqw, 56px);
  }

  .contact h2 {
    font-size: clamp(42px, 8.4cqw, 108px);
  }
}

@media (max-width: 1100px) {
  .contact-inner {
    min-height: 560px;
    padding: clamp(34px, 7vw, 76px);
  }

  .contact h2 {
    font-size: clamp(42px, 8.8vw, 82px);
    line-height: 0.93;
  }
}

@media (max-width: 720px) {
  .hero-orbit {
    display: none;
  }

  .intro-panel,
  .section-grid,
  .metric-stage,
  .projects,
  .media,
  .contact {
    padding-block: 76px;
  }

  .section-heading > span {
    max-width: 34ch;
    font-size: 11px;
    letter-spacing: 0.11em;
  }

  .contact-inner {
    min-height: auto;
    padding: 34px 24px;
  }

  .contact h2 {
    font-size: clamp(38px, 11vw, 58px);
    line-height: 0.94;
    letter-spacing: -0.052em;
  }
}

@media (max-width: 420px) {
  .section-full,
  .section-grid,
  .intro-panel {
    width: min(calc(100% - 20px), var(--max));
  }

  .contact-inner {
    padding: 30px 20px;
  }

  .contact h2 {
    font-size: clamp(34px, 10.6vw, 46px);
  }

  .timeline-list h3,
  .principles h3,
  .media-grid h3,
  .project-copy h3 {
    font-size: clamp(30px, 10.5vw, 44px);
  }

  .quote-block blockquote {
    font-size: clamp(28px, 8.8vw, 38px);
  }
}

/* ==========================================================
   FINAL RESPONSIVE / TEXT SAFETY PATCH
   Paste at the very bottom of the current Webflow <style> block.
   It fixes text collisions, container-width scaling, section clipping,
   and mobile/tablet edge cases.
   ========================================================== */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body,
main,
section,
header,
footer,
div,
article,
aside,
nav {
  min-width: 0;
}

.section-full,
.section-grid,
.intro-panel,
.hero,
.hero-grid,
.hero-copy,
.hero-card,
.hero-strip,
.story-copy,
.timeline-list,
.timeline-list article,
.timeline-list article > div,
.project-stack,
.project-feature,
.project-visual,
.project-copy,
.principles,
.principles article,
.media-grid,
.media-grid article,
.metrics-grid,
.metric-card,
.achievement-ledger,
.contact,
.contact-inner,
.contact-actions,
.site-footer,
.quote-block,
.visual-device {
  min-width: 0;
  max-width: 100%;
}

h1,
h2,
h3,
blockquote,
p,
a,
span,
strong,
small,
time,
li {
  max-width: 100%;
}

h1,
h2,
h3,
blockquote,
p,
.hero-lede,
.project-copy li,
.contact-actions a {
  overflow-wrap: break-word;
  word-break: normal;
}

.section-heading > span,
.intro-panel__meta span,
.section-kicker,
.project-index,
.metric-card small,
.gallery-item span,
.media-grid span,
.principles span,
.portrait-placeholder span {
  display: block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.28;
}

/* Headline labels should never touch the giant heading above them. */
.section-heading h2 + span {
  display: block;
  margin-top: clamp(12px, 1.2vw, 18px);
  max-width: 34ch;
  line-height: 1.28;
}

.section-heading h2,
.sticky-heading h2,
.philosophy .sticky-heading h2 {
  line-height: 0.96;
}

/* Hero lede: the original flex text-node wrapping can collapse line height in Webflow previews. */
.hero-lede {
  display: block !important;
  margin-top: clamp(22px, 2.2vw, 34px);
  max-width: min(100%, 980px);
  color: var(--muted);
  font-size: clamp(34px, 5.2vw, 76px);
  font-weight: 800;
  line-height: 1.06 !important;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.hero-lede span {
  display: inline-block !important;
  width: 0.16em;
  height: 0.16em;
  min-width: 8px;
  min-height: 8px;
  margin: 0 0.24em 0.12em;
  vertical-align: middle;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 28px rgba(185, 163, 105, 0.82);
}

.hero h1 {
  max-width: 100%;
  font-size: clamp(72px, 12.4vw, 176px);
  line-height: 0.84;
  letter-spacing: -0.062em;
}

.role-stack {
  max-width: 100%;
}

.role-stack span {
  line-height: 1;
  white-space: nowrap;
}

/* Make long body copy readable and prevent overflow on desktop/tablet. */
.story-copy p {
  font-size: clamp(24px, 2.65vw, 38px);
  line-height: 1.12;
}

.intro-panel p {
  font-size: clamp(28px, 4.35vw, 64px);
  line-height: 1;
}

.quote-block blockquote {
  line-height: 1.02;
}

.timeline-list h3,
.principles h3,
.media-grid h3,
.project-copy h3 {
  line-height: 1;
}

/* Contact card was clipped by overflow:hidden + oversized vw heading. */
.contact-inner {
  container-type: inline-size;
  overflow: hidden;
  padding: clamp(34px, 6vw, 92px);
}

.contact h2 {
  max-width: 100%;
  font-size: clamp(44px, 7vw, 104px);
  line-height: 0.95;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.contact-actions {
  align-items: stretch;
}

.contact-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  text-align: center;
  overflow-wrap: anywhere;
  line-height: 1.1;
}

/* Use actual component width where supported, not only viewport width. */
@supports (font-size: 1cqw) {
  .hero-copy,
  .section-heading,
  .story-copy,
  .quote-block,
  .intro-panel,
  .timeline-list article > div,
  .project-copy,
  .principles article,
  .media-grid article,
  .metric-card,
  .contact-inner {
    container-type: inline-size;
  }

  .hero h1 {
    font-size: clamp(64px, 17cqw, 176px);
  }

  .hero-lede {
    font-size: clamp(32px, 7.1cqw, 72px);
  }

  .section-heading h2 {
    font-size: clamp(42px, 14cqw, 92px);
  }

  .sticky-heading h2,
  .philosophy .sticky-heading h2 {
    font-size: clamp(40px, 13cqw, 66px);
  }

  .intro-panel p {
    font-size: clamp(28px, 4.5cqw, 62px);
  }

  .story-copy p {
    font-size: clamp(24px, 4cqw, 38px);
  }

  .quote-block blockquote {
    font-size: clamp(28px, 6.2cqw, 58px);
  }

  .timeline-list h3,
  .principles h3,
  .media-grid h3,
  .project-copy h3 {
    font-size: clamp(30px, 9.2cqw, 54px);
  }

  .contact h2 {
    font-size: clamp(42px, 8.2cqw, 104px);
  }
}

@media (max-width: 1320px) {
  .hero h1 {
    font-size: clamp(68px, 11.8vw, 154px);
  }

  .hero-lede {
    font-size: clamp(32px, 4.7vw, 64px);
  }

  .story-copy p {
    font-size: clamp(24px, 2.6vw, 34px);
  }
}

@media (max-width: 1100px) {
  .hero {
    align-items: start;
    padding-top: 132px;
  }

  .hero-grid,
  .intro-panel,
  .section-grid,
  .project-feature,
  .project-feature.reverse,
  .metrics-grid,
  .achievement-ledger,
  .media-grid {
    grid-template-columns: 1fr !important;
  }

  .hero h1 {
    font-size: clamp(70px, 14.5vw, 132px);
    line-height: 0.88;
  }

  .hero-lede {
    font-size: clamp(34px, 6vw, 58px);
    line-height: 1.08 !important;
  }

  .sticky-heading {
    position: relative;
    top: auto;
    max-width: 760px;
  }

  .section-heading h2,
  .sticky-heading h2,
  .philosophy .sticky-heading h2 {
    font-size: clamp(46px, 8.5vw, 82px);
  }

  .section-heading h2 + span {
    margin-top: 14px;
  }

  .contact-inner {
    min-height: 540px;
    padding: clamp(34px, 7vw, 72px);
  }

  .contact h2 {
    font-size: clamp(42px, 8.2vw, 78px);
    line-height: 0.98;
  }
}

@media (max-width: 980px) {
  .hero h1 {
    font-size: clamp(66px, 15vw, 120px);
  }

  .hero-lede {
    font-size: clamp(32px, 6.4vw, 52px);
  }

  .story-copy p {
    font-size: clamp(24px, 4.2vw, 36px);
    line-height: 1.14;
  }

  .quote-block blockquote {
    line-height: 1.05;
  }
}

@media (max-width: 720px) {
  .hero-orbit {
    display: none;
  }

  .section-full,
  .section-grid,
  .intro-panel {
    width: min(calc(100% - 24px), var(--max));
  }

  .hero {
    padding-top: 116px;
    padding-bottom: 24px;
  }

  .hero h1 {
    font-size: clamp(54px, 18vw, 92px);
    line-height: 0.9;
    letter-spacing: -0.058em;
  }

  .hero-lede {
    font-size: clamp(30px, 8.2vw, 44px);
    line-height: 1.1 !important;
    letter-spacing: -0.045em;
  }

  .hero-lede span {
    margin-inline: 0.18em;
  }

  .section-heading h2,
  .sticky-heading h2,
  .philosophy .sticky-heading h2 {
    font-size: clamp(42px, 13vw, 64px);
    line-height: 0.98;
  }

  .section-heading h2 + span {
    max-width: 32ch;
    margin-top: 12px;
    font-size: 11px;
    letter-spacing: 0.11em;
    line-height: 1.3;
  }

  .intro-panel,
  .section-grid,
  .metric-stage,
  .projects,
  .media,
  .contact {
    padding-block: 76px;
  }

  .intro-panel p,
  .story-copy p {
    font-size: clamp(22px, 6.1vw, 28px);
    line-height: 1.16;
    letter-spacing: -0.035em;
  }

  .timeline-list h3,
  .principles h3,
  .media-grid h3,
  .project-copy h3 {
    font-size: clamp(31px, 10vw, 48px);
    line-height: 1.02;
  }

  .project-copy,
  .principles article,
  .media-grid article,
  .metric-card,
  .quote-block {
    padding: 24px;
  }

  .contact-inner {
    min-height: auto;
    padding: 34px 24px;
    border-radius: 28px;
  }

  .contact h2 {
    font-size: clamp(36px, 10.5vw, 56px);
    line-height: 1;
    letter-spacing: -0.05em;
  }

  .contact-actions {
    margin-top: 30px;
  }

  .contact-actions a {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: clamp(50px, 17.2vw, 78px);
  }

  .hero-lede {
    font-size: clamp(28px, 8vw, 36px);
  }

  .role-stack span {
    font-size: 15px;
    padding: 9px 12px;
  }

  .section-heading h2,
  .sticky-heading h2,
  .philosophy .sticky-heading h2 {
    font-size: clamp(38px, 12.2vw, 54px);
  }

  .section-heading h2 + span {
    font-size: 10px;
  }

  .intro-panel p,
  .story-copy p {
    font-size: 22px;
  }

  .quote-block blockquote {
    font-size: clamp(27px, 8.2vw, 36px);
  }

  .timeline-list h3,
  .principles h3,
  .media-grid h3,
  .project-copy h3 {
    font-size: clamp(29px, 9.6vw, 42px);
  }
}

@media (max-width: 380px) {
  .section-full,
  .section-grid,
  .intro-panel {
    width: min(calc(100% - 20px), var(--max));
  }

  .hero h1 {
    font-size: clamp(46px, 16.2vw, 66px);
  }

  .hero-lede {
    font-size: clamp(26px, 7.7vw, 32px);
  }

  .contact-inner {
    padding: 30px 20px;
  }

  .contact h2 {
    font-size: clamp(32px, 10vw, 42px);
  }
}

/* Final polish after visual QA */
section {
  scroll-margin-top: 112px;
}

.hero-strip {
  max-width: 100%;
}

@media (max-width: 1100px) {
  .hero-orbit {
    display: none;
  }

  section {
    scroll-margin-top: 98px;
  }

  .hero-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .hero-strip span {
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .hero-strip {
    grid-template-columns: 1fr;
  }
}

/* Clean hero role line when the HTML uses .hero-lede__item wrappers. */
.hero-lede.has-clean-lines,
.hero-lede:has(.hero-lede__item) {
  display: grid !important;
  gap: 0.04em;
  align-items: start;
  justify-items: start;
}

.hero-lede__item {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: inherit !important;
}

.hero-lede__dot {
  display: none !important;
}
/* ===============================
   Mobile menu refinement + hover motion
   Paste this after the current responsive safety patch.
   =============================== */

.mobile-menu {
  align-items: start;
  padding: 94px 12px 14px;
  background:
    radial-gradient(circle at 82% 16%, rgba(185, 163, 105, 0.12), transparent 28rem),
    rgba(3, 3, 3, 0.86);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.mobile-menu__panel {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 0;
  max-height: calc(100svh - 108px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: clamp(22px, 3.2vw, 38px);
  border-radius: clamp(28px, 4vw, 42px);
  background:
    radial-gradient(circle at var(--menu-x, 78%) var(--menu-y, 12%), rgba(185, 163, 105, 0.22), transparent 23rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.072), rgba(255, 255, 255, 0.018)),
    rgba(9, 9, 8, 0.96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 30px 120px rgba(0, 0, 0, 0.62);
  scrollbar-width: none;
}

.mobile-menu__panel::-webkit-scrollbar {
  display: none;
}

.mobile-menu__panel::before {
  content: "B";
  position: absolute;
  left: -0.08em;
  top: 19%;
  z-index: -1;
  color: rgba(246, 243, 236, 0.032);
  font-size: clamp(128px, 31vw, 420px);
  font-weight: 950;
  line-height: 0.76;
  letter-spacing: -0.085em;
  pointer-events: none;
}

.mobile-menu__panel > p,
.mobile-menu__eyebrow {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0 0 clamp(22px, 3.2vw, 38px);
  border-bottom: 1px solid rgba(246, 243, 236, 0.15);
  color: var(--gold);
  font-size: clamp(11px, 1.2vw, 13px);
  font-weight: 950;
  letter-spacing: 0.28em;
  line-height: 1.1;
  text-transform: uppercase;
}

.mobile-menu a {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: clamp(42px, 7vw, 76px) minmax(0, 1fr) clamp(34px, 5vw, 48px);
  align-items: center;
  justify-content: stretch;
  gap: clamp(14px, 2.6vw, 34px);
  width: 100%;
  min-height: clamp(82px, 12vw, 136px);
  padding: clamp(18px, 3.1vw, 34px) clamp(8px, 1.8vw, 22px);
  overflow: hidden;
  border-top: 0;
  border-bottom: 1px solid rgba(246, 243, 236, 0.14);
  border-radius: 0;
  color: var(--ink);
  font-size: clamp(34px, 7.2vw, 72px);
  font-weight: 950;
  line-height: 0.88;
  letter-spacing: -0.062em;
  text-align: left;
  white-space: normal;
  transform: translateZ(0);
  transition:
    color 0.34s var(--ease),
    letter-spacing 0.34s var(--ease),
    transform 0.34s var(--ease),
    border-color 0.34s var(--ease),
    background 0.34s var(--ease);
}

.mobile-menu a:first-of-type {
  border-top: 0;
}

.mobile-menu a:last-of-type {
  border-bottom: 0;
}

.mobile-menu a::before {
  content: "";
  position: absolute;
  inset: 9px 0;
  z-index: -1;
  border-radius: 24px;
  background:
    linear-gradient(90deg, rgba(185, 163, 105, 0.18), rgba(246, 243, 236, 0.055), transparent 72%),
    rgba(255, 255, 255, 0.035);
  opacity: 0;
  transform: scaleX(0.965) translateX(-14px);
  transform-origin: left center;
  transition:
    opacity 0.34s var(--ease),
    transform 0.34s var(--ease);
}

.mobile-menu a::after {
  content: "";
  width: clamp(30px, 4.5vw, 44px);
  height: clamp(30px, 4.5vw, 44px);
  justify-self: end;
  border-radius: 50%;
  border: 1px solid rgba(246, 243, 236, 0.18);
  background:
    linear-gradient(135deg, rgba(246, 243, 236, 0.14), rgba(246, 243, 236, 0.03));
  opacity: 0.44;
  transform: translateX(-8px) scale(0.92);
  transition:
    opacity 0.34s var(--ease),
    transform 0.34s var(--ease),
    background 0.34s var(--ease),
    border-color 0.34s var(--ease);
}

.mobile-menu a > span {
  grid-column: 1;
  justify-self: start;
  color: var(--gold);
  font-size: clamp(11px, 1.45vw, 14px);
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0.18em;
  transform: translateY(0.1em);
  transition:
    color 0.34s var(--ease),
    transform 0.34s var(--ease);
}

.mobile-menu a > strong,
.mobile-menu a:not(.mobile-menu__link) {
  font: inherit;
}

.mobile-menu a > strong {
  grid-column: 2;
  display: block;
  min-width: 0;
  max-width: 12ch;
  color: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-wrap: balance;
}

.mobile-menu a.is-active {
  color: var(--ink);
  border-color: rgba(185, 163, 105, 0.28);
}

.mobile-menu a.is-active::before {
  opacity: 0.75;
  transform: scaleX(1) translateX(0);
}

.mobile-menu a.is-active::after {
  opacity: 1;
  border-color: rgba(185, 163, 105, 0.42);
  background: linear-gradient(135deg, var(--ink), var(--gold));
  transform: translateX(0) scale(1);
}

@media (hover: hover) and (pointer: fine) {
  .mobile-menu a:hover {
    color: #fffaf0;
    letter-spacing: -0.068em;
    transform: translateX(8px);
    border-color: rgba(185, 163, 105, 0.34);
  }

  .mobile-menu a:hover::before {
    opacity: 1;
    transform: scaleX(1) translateX(0);
  }

  .mobile-menu a:hover::after {
    opacity: 1;
    border-color: rgba(185, 163, 105, 0.48);
    background: linear-gradient(135deg, var(--ink), var(--gold));
    transform: translateX(0) scale(1);
  }

  .mobile-menu a:hover > span {
    color: var(--ink);
    transform: translate(4px, 0.1em);
  }
}

.mobile-menu a:active {
  transform: scale(0.992);
}

@media (max-width: 720px) {
  .mobile-menu {
    padding: 84px 10px 10px;
  }

  .mobile-menu__panel {
    max-height: calc(100svh - 94px);
    padding: 22px;
    border-radius: 30px;
  }

  .mobile-menu__panel::before {
    top: 22%;
    font-size: clamp(142px, 42vw, 220px);
    opacity: 0.027;
  }

  .mobile-menu a {
    grid-template-columns: 40px minmax(0, 1fr) 34px;
    gap: 14px;
    min-height: 86px;
    padding: 18px 2px;
    font-size: clamp(36px, 10.7vw, 48px);
    line-height: 0.88;
  }

  .mobile-menu a > strong {
    max-width: 11ch;
  }

  .mobile-menu a::before {
    inset: 7px -8px;
    border-radius: 20px;
  }

  .mobile-menu a::after {
    width: 32px;
    height: 32px;
    transform: translateX(0) scale(0.9);
  }
}

@media (max-width: 430px) {
  .mobile-menu__panel {
    padding: 20px;
  }

  .mobile-menu__panel > p,
  .mobile-menu__eyebrow {
    padding-bottom: 20px;
    letter-spacing: 0.22em;
  }

  .mobile-menu a {
    grid-template-columns: 34px minmax(0, 1fr) 30px;
    gap: 12px;
    min-height: 78px;
    padding: 15px 0;
    font-size: clamp(31px, 9.7vw, 40px);
    letter-spacing: -0.06em;
  }

  .mobile-menu a > span {
    font-size: 11px;
    letter-spacing: 0.14em;
  }

  .mobile-menu a::after {
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 370px) {
  .mobile-menu__panel {
    padding: 18px;
  }

  .mobile-menu a {
    grid-template-columns: 32px minmax(0, 1fr) 26px;
    gap: 10px;
    min-height: 72px;
    font-size: 30px;
  }
}


/* ===============================
   Bstephen content + menu polish patch
   Paste after the current CSS.
   =============================== */

.brand-mark {
  letter-spacing: -0.04em;
  font-size: 18px;
}

.mobile-menu__panel::before {
  content: "B" !important;
  left: -0.04em;
  top: 12%;
  color: rgba(246, 243, 236, 0.025);
  letter-spacing: -0.08em;
}

.mobile-menu__panel {
  gap: 8px;
  padding: clamp(22px, 3.2vw, 40px);
}

.mobile-menu__panel > p,
.mobile-menu__eyebrow {
  border-bottom: 0;
  padding-bottom: clamp(14px, 2vw, 22px);
  margin-bottom: 4px;
}

.mobile-menu a {
  grid-template-columns: clamp(42px, 6vw, 58px) minmax(0, 1fr) clamp(28px, 4vw, 38px);
  min-height: clamp(72px, 8.6vw, 104px);
  padding: clamp(16px, 2vw, 24px) clamp(14px, 2.2vw, 24px);
  margin: 0;
  border: 1px solid rgba(246, 243, 236, 0.055);
  border-radius: clamp(18px, 2.2vw, 28px);
  background: rgba(255, 255, 255, 0.018);
  font-size: clamp(31px, 5.4vw, 60px);
  line-height: 0.92;
  letter-spacing: -0.058em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
  transition:
    color 0.28s var(--ease),
    border-color 0.28s var(--ease),
    background 0.28s var(--ease),
    box-shadow 0.28s var(--ease),
    transform 0.28s var(--ease);
}

.mobile-menu a + a {
  margin-top: 8px;
}

.mobile-menu a > strong {
  max-width: none;
  text-wrap: balance;
}

.mobile-menu a > span {
  display: inline-grid;
  width: clamp(34px, 4.8vw, 46px);
  height: clamp(34px, 4.8vw, 46px);
  place-items: center;
  border: 1px solid rgba(185, 163, 105, 0.22);
  border-radius: 999px;
  background: rgba(185, 163, 105, 0.075);
  color: var(--gold);
  font-size: clamp(10px, 1.12vw, 12px);
  letter-spacing: 0.08em;
  transform: none;
}

.mobile-menu a::before {
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 16% 50%, rgba(185, 163, 105, 0.18), transparent 18rem),
    linear-gradient(90deg, rgba(246, 243, 236, 0.08), rgba(246, 243, 236, 0.018));
  opacity: 0;
  transform: none;
}

.mobile-menu a::after {
  content: "";
  width: clamp(24px, 3vw, 32px);
  height: clamp(24px, 3vw, 32px);
  border-radius: 50%;
  border: 1px solid rgba(246, 243, 236, 0.14);
  background:
    linear-gradient(135deg, rgba(246, 243, 236, 0.16), rgba(246, 243, 236, 0.02));
  opacity: 0.48;
  transform: none;
  box-shadow: inset 0 0 0 7px rgba(5, 5, 5, 0.35);
}

.mobile-menu a.is-active,
.mobile-menu a:hover {
  color: var(--ink);
  border-color: rgba(185, 163, 105, 0.32);
  background: rgba(255, 255, 255, 0.042);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 18px 58px rgba(0,0,0,0.28);
}

.mobile-menu a.is-active::before,
.mobile-menu a:hover::before {
  opacity: 1;
}

.mobile-menu a.is-active::after,
.mobile-menu a:hover::after {
  opacity: 1;
  border-color: rgba(185, 163, 105, 0.46);
  background: linear-gradient(135deg, var(--ink), var(--gold));
  box-shadow: 0 0 30px rgba(185, 163, 105, 0.22);
}

@media (hover: hover) and (pointer: fine) {
  .mobile-menu a:hover {
    transform: translateY(-2px);
    letter-spacing: -0.058em;
  }

  .mobile-menu a:hover > span {
    color: #070706;
    border-color: rgba(185, 163, 105, 0.62);
    background: linear-gradient(135deg, var(--ink), var(--gold));
    transform: none;
  }
}

.mobile-menu a:active {
  transform: translateY(0) scale(0.997);
}

.story-copy--long {
  gap: clamp(18px, 2.2vw, 30px);
  align-content: start;
}

.story-copy--long p {
  max-width: 37em;
  margin: 0;
  color: rgba(246, 243, 236, 0.76);
  font-size: clamp(20px, 2.05vw, 30px);
  line-height: 1.24;
  letter-spacing: -0.032em;
}

.story-copy--long strong {
  color: var(--ink);
  font-weight: 950;
}

.story-lead {
  color: var(--ink) !important;
  font-size: clamp(38px, 5.4vw, 76px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.058em !important;
  max-width: 13.5ch !important;
}

.story-sublead {
  color: var(--silver) !important;
  font-size: clamp(28px, 3.8vw, 54px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.052em !important;
  max-width: 18ch !important;
}

.story-punch,
.story-statement,
.story-final {
  color: var(--ink) !important;
  font-weight: 950;
  font-size: clamp(30px, 4.3vw, 62px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.058em !important;
  max-width: 18ch !important;
}

.story-punch span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 0.52em;
  line-height: 1.14;
  letter-spacing: -0.035em;
}

.story-final {
  max-width: 13ch !important;
  padding-top: 10px;
}

.story-quote-card,
.story-principles-block {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 3.3vw, 42px);
  border: 1px solid rgba(246, 243, 236, 0.13);
  border-radius: clamp(24px, 3vw, 34px);
  background:
    radial-gradient(circle at 84% 18%, rgba(185, 163, 105, 0.16), transparent 20rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.066), rgba(255, 255, 255, 0.022));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.055);
}

.story-quote-card p {
  color: var(--ink) !important;
  font-size: clamp(28px, 3.4vw, 50px) !important;
  font-weight: 950;
  line-height: 1.02 !important;
  letter-spacing: -0.052em !important;
}

.story-quote-card--warm {
  background:
    radial-gradient(circle at 15% 20%, rgba(127, 157, 132, 0.16), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.018));
}

.story-principles-block span {
  display: block;
  margin-bottom: 22px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.story-principles-block ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.story-principles-block li {
  position: relative;
  padding-left: 24px;
  color: var(--ink);
  font-size: clamp(22px, 2.6vw, 38px);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: -0.045em;
}

.story-principles-block li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 20px rgba(185, 163, 105, 0.55);
}

.story-wheel-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  counter-reset: wheel-item;
  max-width: min(100%, 760px);
  margin: clamp(26px, 4.2vw, 54px) 0;
  padding: clamp(4px, 0.8vw, 10px) 0;
}

.story-wheel-grid span {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 0;
  padding: clamp(18px, 2.8vw, 30px) 0 clamp(18px, 2.8vw, 30px) clamp(52px, 5.5vw, 78px);
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid rgba(246, 243, 236, 0.13);
  background: transparent;
  color: var(--ink);
  font-size: clamp(42px, 6.2vw, 88px);
  font-weight: 950;
  line-height: 0.9;
  letter-spacing: -0.065em;
  counter-increment: wheel-item;
  transition:
    color 0.32s var(--ease),
    transform 0.32s var(--ease),
    border-color 0.32s var(--ease),
    text-shadow 0.32s var(--ease);
}

.story-wheel-grid span:first-child {
  border-top: 1px solid rgba(246, 243, 236, 0.13);
}

.story-wheel-grid span::before {
  content: "0" counter(wheel-item);
  position: absolute;
  left: 0;
  top: 50%;
  color: var(--gold);
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 950;
  letter-spacing: 0.16em;
  transform: translateY(-50%);
  transition:
    opacity 0.32s var(--ease),
    transform 0.32s var(--ease),
    color 0.32s var(--ease);
}

.story-wheel-grid span::after {
  content: "";
  position: absolute;
  left: 0;
  right: auto;
  bottom: -1px;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), rgba(246, 243, 236, 0.42), transparent);
  transition: width 0.36s var(--ease);
}

.story-wheel-grid span:hover {
  color: #fffaf0;
  transform: translateX(10px);
  border-color: rgba(185, 163, 105, 0.34);
  text-shadow: 0 0 28px rgba(185, 163, 105, 0.18);
}

.story-wheel-grid span:hover::before {
  color: var(--silver);
  transform: translateY(-50%) translateX(-4px);
}

.story-wheel-grid span:hover::after {
  width: min(100%, 520px);
}

.project-copy h3,
.timeline-list h3,
.principles h3,
.media-grid h3 {
  text-wrap: balance;
}

@media (max-width: 1100px) {
  .story-copy--long p {
    max-width: 100%;
    font-size: clamp(20px, 2.6vw, 28px);
  }

  .story-lead {
    max-width: 16ch !important;
    font-size: clamp(38px, 7vw, 68px) !important;
  }

  .story-sublead,
  .story-punch,
  .story-statement,
  .story-final {
    max-width: 21ch !important;
  }
}

@media (max-width: 720px) {
  .mobile-menu__panel {
    padding: 18px;
    gap: 7px;
  }

  .mobile-menu a {
    grid-template-columns: 38px minmax(0, 1fr) 26px;
    min-height: 68px;
    padding: 14px 12px;
    font-size: clamp(27px, 8.2vw, 38px);
    line-height: 0.96;
    border-radius: 18px;
  }

  .mobile-menu a > span {
    width: 32px;
    height: 32px;
    font-size: 10px;
  }

  .mobile-menu a::after {
    width: 22px;
    height: 22px;
  }

  .story-copy--long {
    gap: 18px;
  }

  .story-copy--long p {
    font-size: 20px;
    line-height: 1.28;
    letter-spacing: -0.028em;
  }

  .story-lead {
    font-size: clamp(38px, 11vw, 54px) !important;
    line-height: 0.98 !important;
  }

  .story-sublead,
  .story-punch,
  .story-statement,
  .story-final {
    font-size: clamp(30px, 8vw, 42px) !important;
    line-height: 1 !important;
  }

  .story-quote-card,
  .story-principles-block {
    padding: 22px;
    border-radius: 24px;
  }

  .story-quote-card p {
    font-size: clamp(28px, 8vw, 38px) !important;
  }

  .story-principles-block li {
    font-size: clamp(22px, 6.8vw, 31px);
  }

  .story-wheel-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .story-wheel-grid span {
    font-size: clamp(38px, 8vw, 64px);
  }
}

@media (max-width: 430px) {
  .mobile-menu a {
    grid-template-columns: 34px minmax(0, 1fr) 22px;
    padding: 13px 10px;
    font-size: clamp(25px, 7.7vw, 34px);
  }

  .story-copy--long p {
    font-size: 19px;
  }

  .story-lead {
    font-size: clamp(34px, 10.2vw, 46px) !important;
  }

  .story-sublead,
  .story-punch,
  .story-statement,
  .story-final {
    font-size: clamp(28px, 8.2vw, 36px) !important;
  }

  .story-wheel-grid {
    grid-template-columns: 1fr;
    margin: 24px 0 30px;
  }

  .story-wheel-grid span {
    padding: 16px 0 16px 42px;
    font-size: clamp(34px, 10vw, 46px);
    letter-spacing: -0.06em;
  }
}


/* ===============================
   Story image placeholders + cleaner mobile-menu hover
   Added after Bstephen content patch.
   =============================== */

.story-image-placeholder {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: end;
  min-height: clamp(250px, 33vw, 500px);
  width: 100%;
  max-width: 100%;
  margin: clamp(6px, 0.8vw, 10px) 0;
  padding: clamp(22px, 3.4vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(246, 243, 236, 0.14);
  border-radius: clamp(24px, 3vw, 36px);
  background:
    radial-gradient(circle at 76% 16%, rgba(185, 163, 105, 0.26), transparent 18rem),
    radial-gradient(circle at 12% 86%, rgba(127, 157, 132, 0.12), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.072), rgba(255, 255, 255, 0.018)),
    rgba(10, 10, 9, 0.94);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.065),
    0 22px 72px rgba(0, 0, 0, 0.24);
  transform: translateZ(0);
}

.story-image-placeholder::before {
  content: "";
  position: absolute;
  inset: clamp(16px, 2vw, 26px);
  z-index: -1;
  border: 1px dashed rgba(246, 243, 236, 0.18);
  border-radius: calc(clamp(24px, 3vw, 36px) - 10px);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px);
  background-size: 54px 54px;
  opacity: 0.82;
}

.story-image-placeholder::after {
  content: "";
  position: absolute;
  inset: auto clamp(22px, 3vw, 42px) clamp(22px, 3vw, 42px) auto;
  width: clamp(42px, 5vw, 68px);
  height: clamp(42px, 5vw, 68px);
  border-radius: 50%;
  background:
    linear-gradient(135deg, rgba(246, 243, 236, 0.92), rgba(185, 163, 105, 0.72));
  opacity: 0.82;
  box-shadow: 0 0 58px rgba(185, 163, 105, 0.22);
}

.story-image-placeholder > span {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 10px;
  color: var(--gold);
  font-size: clamp(10px, 0.9vw, 12px);
  font-weight: 950;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.story-image-placeholder > strong {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 12ch;
  color: var(--ink);
  font-size: clamp(34px, 5.2vw, 72px);
  font-weight: 950;
  line-height: 0.94;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

.story-image-placeholder > small {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 16px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.story-image-placeholder--02,
.story-image-placeholder--07,
.story-image-placeholder--11 {
  background:
    radial-gradient(circle at 18% 18%, rgba(185, 163, 105, 0.22), transparent 17rem),
    radial-gradient(circle at 78% 86%, rgba(127, 157, 132, 0.14), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018)),
    rgba(10, 10, 9, 0.94);
}

.story-image-placeholder--03,
.story-image-placeholder--08 {
  background:
    radial-gradient(circle at 80% 24%, rgba(127, 157, 132, 0.2), transparent 19rem),
    radial-gradient(circle at 18% 82%, rgba(185, 163, 105, 0.13), transparent 17rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.068), rgba(255, 255, 255, 0.018)),
    rgba(10, 10, 9, 0.94);
}

/* Cleaner hover: no twitchy letter-spacing or layout jumps. */
.mobile-menu a,
.mobile-menu a:hover,
.mobile-menu a.is-active {
  letter-spacing: -0.058em !important;
}

@media (hover: hover) and (pointer: fine) {
  .mobile-menu a:hover {
    transform: none !important;
  }

  .mobile-menu a:hover > span {
    color: var(--gold) !important;
    border-color: rgba(185, 163, 105, 0.42) !important;
    background: rgba(185, 163, 105, 0.11) !important;
    transform: none !important;
  }
}

.mobile-menu a::before {
  transform: none !important;
}

.mobile-menu a::after {
  transform: scale(0.92) !important;
}

.mobile-menu a:hover::after,
.mobile-menu a.is-active::after {
  transform: scale(1) !important;
}

@media (max-width: 1100px) {
  .story-image-placeholder {
    min-height: clamp(240px, 42vw, 420px);
  }

  .story-image-placeholder > strong {
    font-size: clamp(32px, 6vw, 58px);
  }
}

@media (max-width: 720px) {
  .story-image-placeholder {
    min-height: 238px;
    padding: 22px;
    border-radius: 24px;
  }

  .story-image-placeholder::before {
    inset: 14px;
    border-radius: 17px;
    background-size: 36px 36px;
  }

  .story-image-placeholder::after {
    right: 22px;
    bottom: 22px;
    width: 44px;
    height: 44px;
  }

  .story-image-placeholder > strong {
    max-width: 11ch;
    font-size: clamp(30px, 9vw, 42px);
    line-height: 0.98;
  }

  .story-image-placeholder > small {
    margin-top: 12px;
    font-size: 10px;
  }
}

@media (max-width: 430px) {
  .story-image-placeholder {
    min-height: 220px;
    padding: 20px;
  }

  .story-image-placeholder > strong {
    font-size: clamp(28px, 8.6vw, 36px);
  }
}


/* ===============================
   Clean image placeholders: no visible labels
   =============================== */
.story-image-placeholder {
  align-content: center;
  min-height: clamp(260px, 34vw, 520px);
}

.story-image-placeholder > :not(.media-slot-badge) {
  display: none;
}

.story-image-placeholder::after {
  inset: 50% auto auto 50%;
  width: clamp(74px, 10vw, 138px);
  height: clamp(74px, 10vw, 138px);
  transform: translate(-50%, -50%);
  opacity: 0.34;
  filter: blur(0.2px);
}

.story-image-placeholder::before {
  opacity: 0.56;
}

@media (max-width: 720px) {
  .story-image-placeholder {
    min-height: clamp(220px, 64vw, 340px);
  }
}

.story-quote-card--two-lines p {
  display: block;
}

.story-quote-card--two-lines p span {
  display: block;
}

.story-logo-carousel {
  margin: 6px 0 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background:
    radial-gradient(circle at 70% 20%, rgba(185, 163, 105, 0.14), transparent 18rem),
    rgba(255, 255, 255, 0.03);
  padding: 18px 0;
}

.story-logo-carousel__track {
  display: flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  will-change: transform;
}

.story-logo-carousel__item {
  flex: 0 0 auto;
  width: 180px;
  height: 92px;
  display: grid;
  place-items: center;
  padding: 16px 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
  transition:
    transform 0.25s var(--ease),
    border-color 0.25s var(--ease),
    background 0.25s var(--ease);
}

.story-logo-carousel__item img {
  display: block;
  max-width: 100%;
  max-height: 36px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) brightness(1.08);
  opacity: 0.9;
  transition:
    transform 0.25s var(--ease),
    filter 0.25s var(--ease),
    opacity 0.25s var(--ease);
}

.story-logo-carousel__item:hover {
  transform: translateY(-2px);
  border-color: rgba(185, 163, 105, 0.22);
  background: rgba(255, 255, 255, 0.05);
}

.story-logo-carousel__item:hover img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.03);
}

@media (max-width: 720px) {
  .story-logo-carousel {
    padding: 14px 0;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .story-logo-carousel::-webkit-scrollbar {
    display: none;
  }

  .story-logo-carousel__track {
    padding: 0 14px;
    gap: 12px;
  }

  .story-logo-carousel__item {
    width: 150px;
    height: 78px;
    padding: 14px 16px;
  }

  .story-logo-carousel__item img {
    max-height: 30px;
  }
}

.story-logo-carousel__track {
  animation: marquee 34s linear infinite;
}

.story-logo-carousel:hover .story-logo-carousel__track {
  animation-play-state: paused;
}

@media (max-width: 720px) {
  .story-logo-carousel {
    overflow: hidden;
  }

  .story-logo-carousel__track {
    animation: marquee 28s linear infinite;
  }
}

.story-video-placeholder {
  position: relative;
  min-height: clamp(280px, 38vw, 520px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: clamp(26px, 3vw, 38px);
  background:
    radial-gradient(circle at 50% 38%, rgba(246, 243, 236, 0.12), transparent 18rem),
    radial-gradient(circle at 78% 22%, rgba(185, 163, 105, 0.16), transparent 20rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 26px 90px rgba(0, 0, 0, 0.28);
}

.story-video-placeholder::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px dashed rgba(246, 243, 236, 0.15);
  border-radius: clamp(18px, 2.4vw, 28px);
  pointer-events: none;
}

.story-video-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.05) 48%, transparent 72%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 18px);
  opacity: 0.42;
  pointer-events: none;
}

.story-video-placeholder__inner {
  position: relative;
  z-index: 1;
  min-height: inherit;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 18px;
  padding: clamp(28px, 5vw, 58px);
  text-align: center;
}

.story-video-placeholder__play {
  width: clamp(72px, 8vw, 112px);
  height: clamp(72px, 8vw, 112px);
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(246, 243, 236, 0.96), rgba(185, 163, 105, 0.92));
  box-shadow:
    0 0 0 12px rgba(246, 243, 236, 0.055),
    0 22px 70px rgba(0, 0, 0, 0.35);
}

.story-video-placeholder__play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 6px;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid #080807;
}

.story-video-placeholder span {
  display: block;
  color: var(--gold);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

@media (max-width: 720px) {
  .story-video-placeholder {
    min-height: 260px;
    border-radius: 26px;
  }

  .story-video-placeholder::before {
    inset: 14px;
    border-radius: 20px;
  }

  .story-video-placeholder__inner {
    padding: 28px;
  }

  .story-video-placeholder span {
    font-size: 11px;
  }
}

.achievement-ledger {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.achievement-ledger span {
  min-height: 112px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
}

.achievement-ledger span small {
  color: var(--gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.2;
}

.achievement-ledger span strong {
  color: var(--ink);
  font-size: clamp(22px, 2.4vw, 34px);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

@media (max-width: 1100px) {
  .achievement-ledger {
    grid-template-columns: 1fr;
  }
}

.achievement-award-heading {
  max-width: min(100%, 1100px);
  margin-inline: auto;
}

.metric-stage .achievement-award-title {
  margin: 0;
  display: grid;
  gap: clamp(6px, 0.8vw, 12px);
  color: var(--ink);
  font-weight: 950;
  line-height: 0.86;
  letter-spacing: -0.065em;
  text-align: center;
  text-transform: uppercase;
  text-wrap: normal;
}

.metric-stage .achievement-award-title > span {
  display: block;
  color: inherit;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  white-space: nowrap;
}

.metric-stage .achievement-award-title > span:first-child {
  font-size: clamp(58px, 8vw, 118px);
}

.metric-stage .achievement-award-title > span:last-child {
  font-size: clamp(38px, 5.4vw, 82px);
  letter-spacing: -0.055em;
}

@media (max-width: 720px) {
  .metric-stage .achievement-award-title > span:first-child {
    font-size: clamp(48px, 14vw, 76px);
  }

  .metric-stage .achievement-award-title > span:last-child {
    font-size: clamp(27px, 7.6vw, 42px);
    letter-spacing: -0.052em;
  }
}

@media (max-width: 420px) {
  .metric-stage .achievement-award-title > span:first-child {
    font-size: clamp(42px, 13vw, 62px);
  }

  .metric-stage .achievement-award-title > span:last-child {
    font-size: clamp(23px, 6.8vw, 32px);
  }
}
/* ===============================
   Desktop nav cleanup
   - remove numbers
   - remove parent border/block
   - remove hover bubble
   - remove underline
   =============================== */

.site-header .site-nav {
  gap: clamp(18px, 2.2vw, 34px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.site-header .site-nav a {
  padding: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  color: rgba(246, 243, 236, 0.7);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  transform: none;
  transition: color 0.22s var(--ease), opacity 0.22s var(--ease);
}

.site-header .site-nav a span {
  display: none;
}

.site-header .site-nav a::before {
  display: none;
}

.site-header .site-nav a:hover,
.site-header .site-nav a.is-active {
  color: var(--ink);
  background: transparent;
  transform: none;
}

.site-header .site-nav:hover a {
  opacity: 0.46;
}

.site-header .site-nav:hover a:hover {
  opacity: 1;
}

.mobile-menu .mobile-menu__link > span {
  display: none;
}

.mobile-menu .mobile-menu__link {
  justify-content: flex-start;
}

/* ===============================
   Soft mobile story spacing
   =============================== */

@media (max-width: 720px) {
  .story-copy {
    gap: 34px;
  }

  .story-copy p {
    line-height: 1.14;
  }

  .story-statement + p,
  .story-punch + p,
  .story-quote-card + p,
  .story-principles-block + p,
  .story-video-placeholder + p,
  .story-image-placeholder + p,
  .story-logo-carousel + p {
    margin-top: 4px;
  }
}

@media (max-width: 420px) {
  .story-copy {
    gap: 36px;
  }

  .story-copy p {
    line-height: 1.15;
  }
}

.achievement-image-placeholder {
  width: min(100%, 980px);
  min-height: clamp(280px, 34vw, 520px);
  margin: clamp(34px, 5vw, 74px) auto clamp(18px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: clamp(28px, 3vw, 44px);
  background:
    radial-gradient(circle at 50% 28%, rgba(246, 243, 236, 0.13), transparent 18rem),
    radial-gradient(circle at 72% 18%, rgba(185, 163, 105, 0.16), transparent 22rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 30px 90px rgba(0, 0, 0, 0.26);
}

.achievement-image-placeholder::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.055) 48%, transparent 72%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.052) 0 1px, transparent 1px 18px);
  opacity: 0.42;
}

@media (max-width: 720px) {
  .achievement-image-placeholder {
    min-height: 250px;
    margin-top: 30px;
    margin-bottom: 16px;
    border-radius: 28px;
  }
}

@media (max-width: 420px) {
  .achievement-image-placeholder {
    min-height: 220px;
    margin-top: 26px;
  }
}

/* Four wheels: remove generated numbers */
.story-wheel-grid {
  counter-reset: none;
}

.story-wheel-grid span {
  padding-left: 0;
  counter-increment: none;
}

.story-wheel-grid span::before {
  content: none;
}
/* ===============================
   Client logo placeholders
   =============================== */

.client-logo-placeholder {
  width: min(170px, 82%);
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: 0.86;
}

.client-logo-placeholder__mark {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background:
    radial-gradient(circle at 35% 28%, rgba(246, 243, 236, 0.95), rgba(246, 243, 236, 0.58) 42%, transparent 44%),
    linear-gradient(135deg, rgba(185, 163, 105, 0.95), rgba(246, 243, 236, 0.74));
  box-shadow:
    0 0 0 1px rgba(246, 243, 236, 0.16),
    0 12px 30px rgba(0, 0, 0, 0.22);
}

.client-logo-placeholder__word {
  flex: 1 1 auto;
  height: 18px;
  max-width: 112px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(246, 243, 236, 0.78), rgba(246, 243, 236, 0.34));
}

.client-logo-placeholder--wide {
  width: min(190px, 86%);
}

.client-logo-placeholder--wide .client-logo-placeholder__word {
  max-width: 136px;
}

.client-logo-placeholder--stacked {
  display: grid;
  justify-items: center;
  gap: 8px;
}

.client-logo-placeholder--stacked .client-logo-placeholder__mark {
  width: 32px;
  height: 32px;
  border-radius: 999px;
}

.client-logo-placeholder--stacked .client-logo-placeholder__word {
  width: 104px;
  height: 14px;
}

@media (max-width: 720px) {
  .client-logo-placeholder {
    width: min(140px, 84%);
    gap: 10px;
  }

  .client-logo-placeholder__mark {
    width: 24px;
    height: 24px;
    border-radius: 8px;
  }

  .client-logo-placeholder__word {
    height: 15px;
    max-width: 92px;
  }

  .client-logo-placeholder--wide .client-logo-placeholder__word {
    max-width: 108px;
  }
}

/* ===============================
   Achievement image cards
   Text over image placeholders
   =============================== */

.achievement-ledger--visual {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(18px, 2.4vw, 34px);
}

.achievement-proof-card {
  position: relative;
  min-height: clamp(220px, 20vw, 340px);
  overflow: hidden;
  border: 1px solid rgba(246, 243, 236, 0.14);
  border-radius: clamp(24px, 2.2vw, 34px);
  background: rgba(255, 255, 255, 0.035);
  isolation: isolate;
}

.achievement-proof-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 70% 24%, rgba(246, 243, 236, 0.2), transparent 15rem),
    radial-gradient(circle at 22% 80%, rgba(185, 163, 105, 0.18), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.018)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 16px);
  opacity: 0.92;
  transform: scale(1.01);
}

.achievement-proof-card__media::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px dashed rgba(246, 243, 236, 0.13);
  border-radius: clamp(18px, 1.8vw, 26px);
}

.achievement-proof-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.12) 0%, rgba(5, 5, 5, 0.42) 58%, rgba(5, 5, 5, 0.82) 100%),
    radial-gradient(circle at 50% 100%, rgba(0, 0, 0, 0.72), transparent 62%);
  pointer-events: none;
}

.achievement-proof-card__content {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: grid;
  align-content: end;
  gap: 12px;
  padding: clamp(22px, 3vw, 40px);
}

.achievement-proof-card small {
  display: block;
  color: var(--gold);
  font-size: clamp(11px, 0.95vw, 14px);
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.achievement-proof-card strong {
  display: block;
  color: var(--ink);
  font-size: clamp(34px, 3.7vw, 64px);
  font-weight: 950;
  line-height: 0.9;
  letter-spacing: -0.07em;
  text-transform: uppercase;
  text-shadow: 0 18px 60px rgba(0, 0, 0, 0.48);
}

@media (max-width: 1100px) {
  .achievement-ledger--visual {
    grid-template-columns: 1fr;
  }

  .achievement-proof-card {
    min-height: clamp(220px, 42vw, 380px);
  }
}

@media (max-width: 720px) {
  .achievement-proof-card {
    min-height: 240px;
    border-radius: 26px;
  }

  .achievement-proof-card__content {
    padding: 24px;
  }

  .achievement-proof-card strong {
    font-size: clamp(34px, 11vw, 54px);
  }
}

/* Achievement image cards: keep company result in one line */
.achievement-proof-card strong {
  white-space: nowrap;
  font-size: clamp(30px, 2.85vw, 54px);
  letter-spacing: -0.075em;
}

/* ===============================
   Brand logo carousel Р      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ў Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› proportional logo sizing
   =============================== */

.story-logo-carousel--brand-wall {
  position: relative;
  width: 100%;
  margin-block: clamp(14px, 1.8vw, 28px);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.story-logo-carousel--brand-wall::before,
.story-logo-carousel--brand-wall::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  width: clamp(42px, 8vw, 150px);
  pointer-events: none;
}

.story-logo-carousel--brand-wall::before {
  left: 0;
  background: linear-gradient(90deg, #050505 0%, rgba(5, 5, 5, 0) 100%);
}

.story-logo-carousel--brand-wall::after {
  right: 0;
  background: linear-gradient(270deg, #050505 0%, rgba(5, 5, 5, 0) 100%);
}

.story-logo-carousel--brand-wall .story-logo-carousel__track {
  display: flex;
  align-items: center;
  gap: clamp(20px, 1.9vw, 36px);
  width: max-content;
  padding-block: clamp(10px, 1.3vw, 18px);
  will-change: transform;
  animation: marquee 58s linear infinite;
}


.story-logo-carousel--brand-wall .story-logo-carousel__item {
  --card-w: clamp(280px, 20vw, 410px);
  --card-h: clamp(104px, 7.4vw, 138px);

  flex: 0 0 auto;
  width: var(--card-w);
  height: var(--card-h);
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 0;
  border-radius: clamp(22px, 1.7vw, 32px);
  background: #111110;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.026),
    0 22px 54px rgba(0, 0, 0, 0.22);
  transition:
    transform 0.28s var(--ease),
    background 0.28s var(--ease),
    opacity 0.28s var(--ease);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover {
  transform: translateY(-2px);
  background: #151514;
}

.story-logo-carousel--brand-wall .logo-card--xl {
  --card-w: clamp(390px, 27vw, 560px);
}

.story-logo-carousel--brand-wall .logo-card--lg {
  --card-w: clamp(330px, 23vw, 470px);
}

.story-logo-carousel--brand-wall .logo-card--md {
  --card-w: clamp(260px, 18vw, 370px);
}

.story-logo-carousel--brand-wall .logo-card--sm {
  --card-w: clamp(170px, 12vw, 240px);
}

/* Main rule: every logo gets 80% safe area */
.story-logo-carousel--brand-wall img {
  display: block;
  width: 80%;
  height: 80%;
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
  object-position: center center;
  opacity: 0.86;
  filter: grayscale(1) brightness(1.72) contrast(0.92);
  transform: translateZ(0);
  transform-origin: center;
  transition:
    opacity 0.28s var(--ease),
    filter 0.28s var(--ease),
    transform 0.28s var(--ease);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img {
  opacity: 1;
  filter: grayscale(1) brightness(1.95) contrast(0.95);
  transform: scale(1.025);
}

@media (max-width: 720px) {
  .story-logo-carousel--brand-wall {
    overflow: hidden;
    margin-block: 18px 24px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: auto;
  }

  .story-logo-carousel--brand-wall::-webkit-scrollbar {
    display: none;
  }

  .story-logo-carousel--brand-wall::before,
  .story-logo-carousel--brand-wall::after {
    display: block;
    width: 34px;
  }

  .story-logo-carousel--brand-wall::before {
    background: linear-gradient(90deg, #050505 0%, rgba(5, 5, 5, 0) 100%);
  }

  .story-logo-carousel--brand-wall::after {
    background: linear-gradient(270deg, #050505 0%, rgba(5, 5, 5, 0) 100%);
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__track {
    width: max-content;
    gap: 12px;
    padding-block: 8px;
    animation: marquee 46s linear infinite;
    will-change: transform;
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item {
    --card-w: clamp(190px, 52vw, 238px);
    --card-h: clamp(82px, 22vw, 96px);

    height: var(--card-h);
    border-radius: 20px;
  }

  .story-logo-carousel--brand-wall .logo-card--xl {
    --card-w: clamp(270px, 74vw, 330px);
  }

  .story-logo-carousel--brand-wall .logo-card--lg {
    --card-w: clamp(230px, 64vw, 292px);
  }

  .story-logo-carousel--brand-wall .logo-card--md {
    --card-w: clamp(198px, 54vw, 246px);
  }

  .story-logo-carousel--brand-wall .logo-card--sm {
    --card-w: clamp(132px, 38vw, 176px);
  }

  .story-logo-carousel--brand-wall img {
    width: 82%;
    height: 82%;
    max-width: 82%;
    max-height: 82%;
    object-fit: contain;
    object-position: center center;
  }
}

/* --- Optical fixes for problematic logos --- */

/* OG / OGX */
.story-logo-carousel--brand-wall img[src*="/OG.svg"],
.story-logo-carousel--brand-wall img[src*="/OGX.svg"] {
  width: 64%;
  height: 64%;
  max-width: 64%;
  max-height: 64%;
  object-position: center center;
}
/* ===============================
   Logo carousel: McDonald's + Stream final sizing
   =============================== */

/* Narrower cards only for these two logos */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="MCDONALDS.svg"]) {
  --card-w: clamp(260px, 15vw, 340px);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="STREAM.svg"]) {
  --card-w: clamp(280px, 16vw, 360px);
}

/* Bigger logo inside smaller card */
.story-logo-carousel--brand-wall img[src*="MCDONALDS.svg"] {
  width: 70%;
  height: 70%;
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
  object-position: center center;
  transform: translateY(-30%) scale(0.94);
  transform-origin: center center;
}

.story-logo-carousel--brand-wall img[src*="STREAM.svg"] {
  width: 72%;
  height: 72%;
  max-width: 72%;
  max-height: 72%;
  object-fit: contain;
  object-position: center center;
  transform: translateY(-22%) scale(0.96);
  transform-origin: center center;
}

/* Keep correction on hover */
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="MCDONALDS.svg"] {
  transform: translateY(-30%) scale(0.98);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="STREAM.svg"] {
  transform: translateY(-22%) scale(1);
}

/* ===============================
   Logo carousel: Disney + McDonald's optical alignment
   =============================== */

/* Disney Interactive Р      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ў Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р  Р вЂ Р  РІР‚С™Р РЋРІР‚С”Р  Р Р‹Р РЋРІР‚С”Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р РЋРІвЂћСћР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’Вµ Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС› Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВµР       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р  Р вЂ Р  РІР‚С™Р РЋРІР‚С”Р  Р Р‹Р РЋРІР‚С”Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС›Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС›Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќ Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћ Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРІвЂћСћР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВµР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВµР       Р     Р   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р РЋРІвЂћСћР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р  Р вЂ Р  РІР‚С™Р РЋРІР‚С”Р  Р Р‹Р РЋРІР‚С”Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р РЋРІвЂћСћР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="DISNEY.svg"]) {
  --card-w: clamp(360px, 23vw, 500px);
}

.story-logo-carousel--brand-wall img[src*="DISNEY.svg"] {
  width: 82%;
  height: 82%;
  max-width: 82%;
  max-height: 82%;
  object-fit: contain;
  object-position: center center;
  transform: translateX(-2%) translateY(3%) scale(0.96);
  transform-origin: center center;
}

/* McDonald's Р      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ў Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРЎв„ўР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС›Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРІвЂћСћР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р РЋРІвЂћСћР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС›Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќ Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¶Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’Вµ, Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В±Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќ Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В·Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В· Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћ Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС›Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦ Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРІвЂћСћР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р     Р   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р  Р вЂ Р  РІР‚С™Р РЋРІР‚С”Р  Р Р‹Р РЋРІР‚С”Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  РІР‚в„ўР вЂ™Р’В° Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В·Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р       Р     Р   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р  Р вЂ Р  РІР‚С™Р РЋРІР‚С”Р  Р Р‹Р РЋРІР‚С”Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќ Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћ Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРІвЂћСћР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р РЋРІвЂћСћР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќ */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="MCDONALDS.svg"]) {
  --card-w: clamp(250px, 15vw, 330px);
}

.story-logo-carousel--brand-wall img[src*="MCDONALDS.svg"] {
  width: 76%;
  height: 76%;
  max-width: 76%;
  max-height: 76%;
  object-fit: contain;
  object-position: center center;
  transform: translateY(-8%) scale(0.98);
  transform-origin: center center;
}

/* Hover Р      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ў Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В±Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћ Р      Р    Р   Р  РІР‚в„–Р   Р  РІР‚ Р  Р вЂ Р  РІР‚С™Р РЋРІР‚С”Р  Р Р‹Р РЋРІР‚С”Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р     Р    Р   Р  Р РЏР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В·Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р РЋРІвЂћСћР       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћ Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќ, Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В±Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќ Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРІвЂћСћР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В»Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†Р вЂљРЎвЂќР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В±Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В»Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  РІР‚в„ўР вЂ™Р’В°Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р     Р    Р  Р вЂ Р  РІР‚С™ Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р  РІР‚С™Р РЋРІР‚СњР    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРІвЂћСћ hover Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС›Р       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¦Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р Р‹Р РЋРІвЂћСћР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В¬Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’Вµ Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРЎв„ўР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВµР      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВµР       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В±Р       Р     Р    Р   Р Р†Р вЂљРІвЂћвЂ“Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’ВР       Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћ Р       Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РЎС›Р   Р Р†Р вЂљРІвЂћСћР  РІР‚в„ўР вЂ™Р’В°Р      Р     Р    Р  Р вЂ Р  РІР‚С™Р Р†РІР‚С›РІР‚вЂњР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› transform */
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="DISNEY.svg"] {
  transform: translateX(-2%) translateY(3%) scale(0.99);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="MCDONALDS.svg"] {
  transform: translateY(-8%) scale(1.01);
}

/* ===============================
   Hero portrait real image
   =============================== */

.portrait-placeholder--image {
  position: relative;
  padding: 0;
  background: #090908;
  isolation: isolate;
}

.portrait-placeholder--image::before {
  content: none;
  display: none;
}

.portrait-placeholder--image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.08) 42%, rgba(0, 0, 0, 0.42) 100%),
    radial-gradient(circle at 50% 12%, rgba(246, 243, 236, 0.12), transparent 28rem);
}

.portrait-placeholder__image {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(0.92) contrast(1.04) brightness(0.92);
  transform: scale(1.01);
}

/* ===============================
   Header social avatar
   =============================== */

.brand-mark--photo {
  padding: 3px;
  overflow: hidden;
  color: transparent;
  background:
    linear-gradient(#050505, #050505) padding-box,
    conic-gradient(
      from 180deg,
      #f6f3ec,
      #b9a369,
      #8f4037,
      #7f9d84,
      #f6f3ec
    ) border-box;
  border: 1px solid transparent;
  box-shadow:
    0 0 0 1px rgba(246, 243, 236, 0.08),
    0 10px 34px rgba(0, 0, 0, 0.34);
}

.brand-mark--photo img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center center;
}

/* ===============================
   Hero title + signature
   =============================== */

.hero-title-lockup {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

.hero-title-lockup h1 {
  text-transform: none;
}

.hero-signature {
  position: absolute;
  left: 45%;
  top: 66%;
  z-index: 2;
  width: clamp(260px, 43vw, 700px);
  height: auto;
  pointer-events: none;
  opacity: 0.82;
  mix-blend-mode: normal;
  filter:
    brightness(0)
    saturate(100%)
    invert(53%)
    sepia(23%)
    saturate(620%)
    hue-rotate(8deg)
    brightness(86%)
    contrast(88%);
  transform: rotate(-3deg);
  transform-origin: left center;
}

/* ===============================
   Logo carousel mobile optical fixes
   =============================== */

@media (max-width: 720px) {
  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="DISNEY.svg"]) {
    --card-w: clamp(270px, 76vw, 330px);
  }

  .story-logo-carousel--brand-wall img[src*="DISNEY.svg"] {
    width: 84%;
    height: 84%;
    max-width: 84%;
    max-height: 84%;
    transform: translateX(-1%) translateY(1%) scale(0.98);
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="MCDONALDS.svg"]) {
    --card-w: clamp(180px, 48vw, 220px);
  }

  .story-logo-carousel--brand-wall img[src*="MCDONALDS.svg"] {
    width: 76%;
    height: 76%;
    max-width: 76%;
    max-height: 76%;
    transform: translateY(-2%) scale(0.98);
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="STREAM.svg"]) {
    --card-w: clamp(200px, 54vw, 245px);
  }

  .story-logo-carousel--brand-wall img[src*="STREAM.svg"] {
    width: 78%;
    height: 78%;
    max-width: 78%;
    max-height: 78%;
    transform: translateY(-5%) scale(0.96);
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="/OG.svg"]),
  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="/OGX.svg"]) {
    --card-w: clamp(132px, 38vw, 170px);
  }

  .story-logo-carousel--brand-wall img[src*="/OG.svg"],
  .story-logo-carousel--brand-wall img[src*="/OGX.svg"] {
    width: 68%;
    height: 68%;
    max-width: 68%;
    max-height: 68%;
    transform: scale(0.96);
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="LG.svg"]),
  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="HBO.svg"]) {
    --card-w: clamp(140px, 40vw, 178px);
  }

  .story-logo-carousel--brand-wall img[src*="LG.svg"],
  .story-logo-carousel--brand-wall img[src*="HBO.svg"] {
    width: 72%;
    height: 72%;
    max-width: 72%;
    max-height: 72%;
    transform: scale(0.98);
  }
}

/* ===============================
   Logo carousel mobile full-bleed
   no side fade / edge-to-edge
   =============================== */

@media (max-width: 720px) {
  .story-logo-carousel--brand-wall {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    padding-inline: 0;
  }

  .story-logo-carousel--brand-wall::before,
  .story-logo-carousel--brand-wall::after {
    content: none;
    display: none;
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__track {
    width: max-content;
    padding-inline: 0;
    padding-block: 8px;
    gap: 12px;
    animation: marquee 46s linear infinite;
    will-change: transform;
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.026),
      0 18px 42px rgba(0, 0, 0, 0.18);
  }
}

@supports (width: 100dvw) {
  @media (max-width: 720px) {
    .story-logo-carousel--brand-wall {
      width: 100dvw;
      margin-left: calc(50% - 50dvw);
      margin-right: calc(50% - 50dvw);
    }
  }
}

/* ===============================
   FINAL FIX Р      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ў Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› logo carousel mobile paint bug
   fixes iOS/Safari disappearing card background
   =============================== */

@keyframes logoMarqueeStable {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

/* Base render stabilization */
.story-logo-carousel--brand-wall {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.story-logo-carousel--brand-wall .story-logo-carousel__track {
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  animation-name: logoMarqueeStable;
}

/* Move card background into pseudo-layer.
   This fixes Safari bug where item background disappears but img remains visible. */
.story-logo-carousel--brand-wall .story-logo-carousel__item {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.038), rgba(255, 255, 255, 0.012)),
    #111110;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.026),
    0 18px 42px rgba(0, 0, 0, 0.18);
  pointer-events: none;
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.016)),
    #151514;
}

.story-logo-carousel--brand-wall img {
  position: relative;
  z-index: 1;
}

/* Mobile-specific stabilization */
@media (max-width: 720px) {
  .story-logo-carousel--brand-wall {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    padding-block: 10px 18px;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  .story-logo-carousel--brand-wall::before,
  .story-logo-carousel--brand-wall::after {
    content: none;
    display: none;
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__track {
    display: flex;
    align-items: center;
    width: max-content;
    gap: 12px;
    padding-block: 0;
    animation: logoMarqueeStable 46s linear infinite;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item {
    flex: 0 0 auto;
    min-width: var(--card-w);
    width: var(--card-w);
    height: var(--card-h);
    transform: translate3d(0, 0, 0);
  }

  /* On touch devices hover transform can cause paint tearing */
  .story-logo-carousel--brand-wall .story-logo-carousel__item:hover {
    transform: translate3d(0, 0, 0);
  }
}

@supports (width: 100dvw) {
  @media (max-width: 720px) {
    .story-logo-carousel--brand-wall {
      width: 100dvw;
      margin-left: calc(50% - 50dvw);
      margin-right: calc(50% - 50dvw);
    }
  }
}

/* ===============================
   Case study PDF buttons
   =============================== */

.case-study-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 16px);
  margin-block: clamp(12px, 1.8vw, 28px) clamp(18px, 2.4vw, 36px);
}

.case-study-button {
  position: relative;
  min-height: clamp(104px, 8vw, 148px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  overflow: hidden;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid rgba(246, 243, 236, 0.13);
  border-radius: clamp(20px, 1.8vw, 30px);
  background:
    radial-gradient(circle at 82% 18%, rgba(185, 163, 105, 0.18), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.022)),
    rgba(17, 17, 16, 0.88);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 22px 58px rgba(0, 0, 0, 0.22);
  transform: translateZ(0);
  transition:
    transform 0.28s var(--ease),
    border-color 0.28s var(--ease),
    background 0.28s var(--ease);
}

.case-study-button::after {
  content: "PDF";
  position: absolute;
  right: clamp(16px, 1.5vw, 22px);
  top: clamp(16px, 1.5vw, 22px);
  color: rgba(246, 243, 236, 0.34);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.case-study-button span {
  color: var(--gold);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.case-study-button strong {
  color: var(--ink);
  font-size: clamp(24px, 2.8vw, 46px);
  font-weight: 950;
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.case-study-button:hover {
  transform: translateY(-3px);
  border-color: rgba(246, 243, 236, 0.24);
  background:
    radial-gradient(circle at 82% 18%, rgba(185, 163, 105, 0.26), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.03)),
    rgba(20, 20, 18, 0.94);
}

@media (max-width: 720px) {
  .case-study-buttons {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-block: 22px 30px;
  }

  .case-study-button {
    min-height: 96px;
    border-radius: 22px;
    padding: 20px;
  }

  .case-study-button strong {
    font-size: clamp(28px, 9vw, 42px);
  }
}

/* ===============================
   Hero portrait card cleanup
   Remove outer pin/border line outside image area
   =============================== */

.hero-card {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.portrait-frame {
  padding: 0;
}

.portrait-placeholder--image {
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(246, 243, 236, 0.14);
  background: #090908;
}

.hero-card__footer {
  border-top: 0;
  padding: 22px 0 0;
}

.hero-card__footer {
  display: none;
}

/* Keep logo/gallery carousels running on mouse hover */
.gallery-track:hover,
.story-logo-carousel--brand-wall:hover .story-logo-carousel__track {
  animation-play-state: running;
}

/* ===============================
   Hero portrait desktop right breathing room
   =============================== */

@media (min-width: 1101px) {
  .hero .hero-card {
    margin-right: clamp(18px, 1.8vw, 34px);
  }
}

/* ==========================================================
   REAL MEDIA INSERTION PATCH Р      Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ў Р      Р    Р   Р Р†Р вЂљ Р    Р  Р вЂ Р  РІР‚С™Р РЋРІвЂћСћР   Р  Р вЂ№Р  Р вЂ Р Р†Р вЂљРЎвЂєР РЋРЎвЂєР     Р    Р  Р вЂ Р  РІР‚С™ Р     Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†РІР‚С›РЎС›Р    Р   Р  РІР‚в„–Р   Р  Р вЂ№Р  Р Р‹Р Р†РІР‚С›РЎС› numbered slots only
   Applies only to .story-media and .achievement-media.
   Gallery items, project visual devices, and achievement proof cards stay as placeholders.
   ========================================================== */

.story-media,
.achievement-media {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  margin: clamp(8px, 1vw, 14px) 0;
  overflow: hidden;
  border: 1px solid rgba(246, 243, 236, 0.14);
  border-radius: clamp(26px, 3vw, 38px);
  background: rgba(10, 10, 9, 0.94);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 26px 90px rgba(0, 0, 0, 0.28);
}

.story-media::after,
.achievement-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.02) 0%, rgba(5, 5, 5, 0.18) 100%),
    radial-gradient(circle at 76% 18%, rgba(185, 163, 105, 0.16), transparent 28rem);
  opacity: 0.82;
}

.story-media__image,
.story-media__video,
.achievement-media__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-media--01,
.story-media--02,
.story-media--06,
.story-media--07 {
  aspect-ratio: 16 / 9;
  min-height: auto;
}

.story-media--03,
.story-media--04,
.story-media--05,
.story-media--08,
.story-media--10,
.achievement-media--11 {
  aspect-ratio: 2 / 1;
  min-height: auto;
}

.achievement-media--11 {
  max-width: 1080px;
  margin: 0 auto 18px;
}

.achievement-media__image {
  object-position: center center;
}

@media (max-width: 720px) {
  .story-media,
  .achievement-media {
    border-radius: 24px;
  }
}


/* ==========================================================
   Logo carousel desktop-only update v2
   - ~30% smaller on desktop only
   - starts only when JS adds .is-marquee-active
   - no pause on hover
   ========================================================== */
@media (min-width: 721px) {
  .story-logo-carousel--brand-wall {
    margin-block: 14px 20px;
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__track {
    gap: clamp(14px, 1.33vw, 25px);
    padding-block: clamp(7px, 0.9vw, 13px);
    animation: none;
    transform: translateX(0);
    will-change: auto;
  }

  .story-logo-carousel--brand-wall.is-marquee-active .story-logo-carousel__track {
    animation: marquee 58s linear infinite;
    animation-play-state: running;
    will-change: transform;
  }

  .story-logo-carousel--brand-wall:hover .story-logo-carousel__track,
  .story-logo-carousel--brand-wall.is-marquee-active:hover .story-logo-carousel__track {
    animation-play-state: running;
  }

  .story-logo-carousel--brand-wall .story-logo-carousel__item {
    --card-w: clamp(196px, 14vw, 287px);
    --card-h: clamp(73px, 5.18vw, 97px);
    border-radius: clamp(15px, 1.2vw, 22px);
  }

  .story-logo-carousel--brand-wall .logo-card--xl {
    --card-w: clamp(273px, 18.9vw, 392px);
  }

  .story-logo-carousel--brand-wall .logo-card--lg {
    --card-w: clamp(245px, 16.8vw, 343px);
  }

  .story-logo-carousel--brand-wall .logo-card--md {
    --card-w: clamp(206px, 14vw, 294px);
  }

  .story-logo-carousel--brand-wall .logo-card--sm {
    --card-w: clamp(147px, 10.5vw, 210px);
  }
}

/* ==========================================================
   TEMP CONTENT MAP: fixed media slot numbers
   - Uses only data-media-slot + .media-slot-badge.
   - No CSS counters, so numbering never resets by section.
   - Remove .media-map-debug from <main> to hide all numbers.
   ========================================================== */

.media-slot-badge {
  display: none;
}

.media-map-debug :is(
  .story-media,
  .achievement-media,
  .story-image-placeholder,
  .story-video-placeholder,
  .achievement-image-placeholder,
  .achievement-proof-card__media,
  .gallery-item,
  .visual-device
) {
  position: relative;
}

.media-map-debug .media-slot-badge {
  position: absolute;
  left: clamp(18px, 1.6vw, 28px);
  top: clamp(18px, 1.6vw, 28px);
  z-index: 140;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 58px;
  height: 42px;
  padding: 0 14px;

  border: 0;
  border-radius: 999px;
  background: rgba(5, 5, 5, 0.74);
  color: var(--gold);

  font-size: 18px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: none;

  pointer-events: none;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);

  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}

@media (max-width: 720px) {
  .media-map-debug .media-slot-badge {
    left: 12px;
    top: 12px;
    min-width: 46px;
    height: 34px;
    padding: 0 11px;
    font-size: 15px;
    letter-spacing: 0.07em;
  }
}

/* ==========================================================
   FINAL: remove gray borders from all image/video areas
   Keeps radius, shadows, overlays and debug numbers.
   ========================================================== */

.story-media,
.achievement-media,
.story-image-placeholder,
.story-video-placeholder,
.achievement-image-placeholder,
.achievement-proof-card__media,
.gallery-item,
.visual-device,
.portrait-frame,
.portrait-placeholder,
.portrait-placeholder--image,
.portrait-picture,
.text-over-image-placeholder,
.text-image-placeholder,
.image-placeholder,
.video-placeholder {
  border: 0;
  outline: 0;
  box-shadow: none;
}

/* remove inner dashed/guide lines */
.story-media::before,
.story-media::after,
.achievement-media::before,
.achievement-media::after,
.story-image-placeholder::before,
.story-image-placeholder::after,
.story-video-placeholder::before,
.story-video-placeholder::after,
.achievement-image-placeholder::before,
.achievement-image-placeholder::after,
.achievement-proof-card__media::before,
.achievement-proof-card__media::after,
.gallery-item::before,
.gallery-item::after,
.visual-device::before,
.visual-device::after,
.portrait-frame::before,
.portrait-frame::after,
.portrait-placeholder::before,
.portrait-placeholder::after,
.portrait-placeholder--image::before,
.portrait-placeholder--image::after,
.text-over-image-placeholder::before,
.text-over-image-placeholder::after,
.text-image-placeholder::before,
.text-image-placeholder::after,
.image-placeholder::before,
.image-placeholder::after,
.video-placeholder::before,
.video-placeholder::after {
  border: 0;
  outline: 0;
}

/* actual media elements */
.story-media__image,
.story-media__video,
.achievement-media__image,
.achievement-media__video,
.portrait-placeholder__image,
img,
video,
picture {
  border: 0;
  outline: 0;
  box-shadow: none;
}

/* ==========================================================
   FINAL: logo carousel optical centering fixes
   Fix vertical alignment for problematic SVG logos.
   Firebox should be removed from HTML.
   ========================================================== */

.story-logo-carousel--brand-wall .story-logo-carousel__item {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Base image behavior */
.story-logo-carousel--brand-wall img {
  display: block;
  object-fit: contain;
  object-position: center center;
  transform-origin: center center;
}

/* Disney Interactive */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="DISNEY.svg"]) {
  --card-w: clamp(360px, 24vw, 520px);
}

.story-logo-carousel--brand-wall img[src*="DISNEY.svg"] {
  width: 78%;
  height: 78%;
  max-width: 78%;
  max-height: 78%;
  transform: translateX(-1%) translateY(-2%) scale(0.96);
}

/* OG / OGX round marks */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="/OG.svg"]),
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="/OGX.svg"]) {
  --card-w: clamp(170px, 11vw, 240px);
}

.story-logo-carousel--brand-wall img[src*="/OG.svg"],
.story-logo-carousel--brand-wall img[src*="/OGX.svg"] {
  width: 66%;
  height: 66%;
  max-width: 66%;
  max-height: 66%;
  transform: translateY(-2%) scale(0.98);
}

/* McDonald's Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р  РІР‚С™Р РЋРЎС™ move up and reduce a bit so it does not sit on the bottom edge */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="MCDONALDS.svg"]) {
  --card-w: clamp(230px, 15vw, 310px);
}

.story-logo-carousel--brand-wall img[src*="MCDONALDS.svg"] {
  width: 68%;
  height: 68%;
  max-width: 68%;
  max-height: 68%;
  transform: translateY(-12%) scale(0.9);
}

/* Stream Р   Р  РІР‚ Р   Р Р†Р вЂљРЎв„ўР  Р вЂ Р  РІР‚С™Р РЋРЎС™ move up and reduce so the word is not clipped */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="STREAM.svg"]) {
  --card-w: clamp(250px, 17vw, 360px);
}

.story-logo-carousel--brand-wall img[src*="STREAM.svg"] {
  width: 68%;
  height: 68%;
  max-width: 68%;
  max-height: 68%;
  transform: translateY(-10%) scale(0.9);
}

/* Hover should keep the same optical correction */
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="DISNEY.svg"] {
  transform: translateX(-1%) translateY(-2%) scale(0.98);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="/OG.svg"],
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="/OGX.svg"] {
  transform: translateY(-2%) scale(1);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="MCDONALDS.svg"] {
  transform: translateY(-12%) scale(0.92);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="STREAM.svg"] {
  transform: translateY(-10%) scale(0.92);
}

/* ==========================================================
   FINAL: enlarge centered problem logos
   Stream / OG / OGX / McDonald's
   ========================================================== */

/* Stream */
.story-logo-carousel--brand-wall img[src*="STREAM.svg"] {
  width: 88%;
  height: 88%;
  max-width: 88%;
  max-height: 88%;
  transform: translateY(-2%) scale(1.08);
}

/* OG / OGX */
.story-logo-carousel--brand-wall img[src*="/OG.svg"],
.story-logo-carousel--brand-wall img[src*="/OGX.svg"] {
  width: 82%;
  height: 82%;
  max-width: 82%;
  max-height: 82%;
  transform: translateY(-1%) scale(1.12);
}

/* McDonald's */
.story-logo-carousel--brand-wall img[src*="MCDONALDS.svg"] {
  width: 86%;
  height: 86%;
  max-width: 86%;
  max-height: 86%;
  transform: translateY(-4%) scale(1.1);
}

/* Keep hover consistent */
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="STREAM.svg"] {
  transform: translateY(-2%) scale(1.12);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="/OG.svg"],
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="/OGX.svg"] {
  transform: translateY(-1%) scale(1.16);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="MCDONALDS.svg"] {
  transform: translateY(-4%) scale(1.14);
}

/* ==========================================================
   FINAL: McDonald's card width + Disney logo scale
   ========================================================== */

/* McDonald's: narrower card, larger centered logo */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="MCDONALDS.svg"]) {
  --card-w: clamp(170px, 10vw, 230px);
}

.story-logo-carousel--brand-wall img[src*="MCDONALDS.svg"] {
  width: 92%;
  height: 92%;
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
  object-position: center center;
  transform: translateY(-3%) scale(1.16);
}

/* Disney: keep wide card, enlarge logo inside */
.story-logo-carousel--brand-wall img[src*="DISNEY.svg"] {
  width: 92%;
  height: 92%;
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
  object-position: center center;
  transform: translateX(-1%) translateY(-1%) scale(1.12);
}

/* keep hover consistent */
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="MCDONALDS.svg"] {
  transform: translateY(-3%) scale(1.18);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="DISNEY.svg"] {
  transform: translateX(-1%) translateY(-1%) scale(1.14);
}

@media (max-width: 720px) {
  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="MCDONALDS.svg"]) {
    --card-w: clamp(150px, 42vw, 200px);
  }

  .story-logo-carousel--brand-wall img[src*="MCDONALDS.svg"] {
    width: 94%;
    height: 94%;
    max-width: 94%;
    max-height: 94%;
    transform: translateY(-3%) scale(1.12);
  }

  .story-logo-carousel--brand-wall img[src*="DISNEY.svg"] {
    width: 94%;
    height: 94%;
    max-width: 94%;
    max-height: 94%;
    transform: translateX(-1%) translateY(-1%) scale(1.08);
  }
}

/* ==========================================================
   FINAL: Disney card width + logo scale
   ========================================================== */

.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="DISNEY.svg"]) {
  --card-w: clamp(260px, 17vw, 380px);
}

.story-logo-carousel--brand-wall img[src*="DISNEY.svg"] {
  width: 96%;
  height: 96%;
  max-width: 96%;
  max-height: 96%;
  object-fit: contain;
  object-position: center center;
  transform: translateX(-1%) translateY(-1%) scale(1.12);
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img[src*="DISNEY.svg"] {
  transform: translateX(-1%) translateY(-1%) scale(1.14);
}

@media (max-width: 720px) {
  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="DISNEY.svg"]) {
    --card-w: clamp(240px, 66vw, 310px);
  }

  .story-logo-carousel--brand-wall img[src*="DISNEY.svg"] {
    width: 96%;
    height: 96%;
    max-width: 96%;
    max-height: 96%;
    transform: translateX(-1%) translateY(-1%) scale(1.08);
  }
}

/* Stream logo fix */
.story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="STREAM.svg"]) {
  --card-w: clamp(250px, 16vw, 360px);
}

.story-logo-carousel--brand-wall img[src*="STREAM.svg"] {
  width: 92%;
  height: 92%;
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
  object-position: center center;
  transform: scale(1.14);
}

@media (max-width: 720px) {
  .story-logo-carousel--brand-wall .story-logo-carousel__item:has(img[src*="STREAM.svg"]) {
    --card-w: clamp(230px, 62vw, 300px);
  }

  .story-logo-carousel--brand-wall img[src*="STREAM.svg"] {
    width: 92%;
    height: 92%;
    max-width: 92%;
    max-height: 92%;
    transform: scale(1.1);
  }
}



/* ==========================================================
   FINAL: Project media relocation patch
   5IV and GivingEgg videos now live inside Signature Projects.
   ========================================================== */

.project-feature--media .project-visual--media {
  overflow: hidden;
  align-content: center;
  justify-items: center;
  padding: clamp(26px, 4vw, 54px);
}

.project-media {
  position: relative;
  isolation: isolate;
  width: min(100%, 760px);
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: clamp(24px, 2.6vw, 36px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025)),
    rgba(8, 8, 7, 0.92);
  box-shadow: 0 28px 86px rgba(0, 0, 0, 0.34);
}



.project-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.02) 0%, rgba(5, 5, 5, 0.2) 100%),
    radial-gradient(circle at 76% 18%, rgba(185, 163, 105, 0.16), transparent 26rem);
}

.project-media__video {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  object-fit: cover;
  object-position: center center;
}

.project-copy--media {
  align-content: center;
  gap: clamp(14px, 1.6vw, 22px);
}

.project-copy--media p {
  max-width: 48ch;
}

.media-map-debug .project-media {
  position: relative;
}

.media-map-debug .project-media .media-slot-badge {
  display: inline-flex;
}

@media (max-width: 1100px) {
  .project-feature--media .project-visual--media {
    min-height: auto;
    padding: clamp(22px, 5vw, 40px);
  }

  .project-media,
  .project-feature.reverse .project-media {
    width: 100%;
    max-width: 820px;
    transform: none;
  }

  .project-copy--media p {
    max-width: 62ch;
  }
}

@media (max-width: 720px) {
  .project-feature--media .project-visual--media {
    padding: 16px;
  }

  .project-media {
    border-radius: 22px;
  }

  .project-copy--media {
    gap: 14px;
  }
}

 /* ==========================================================
   FINAL: Signature Projects full-bleed media layout
   5IV / GivingEgg video fills the whole visual side.
   Desktop: video left + text right, then reversed below.
   ========================================================== */

.project-feature--media {
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  min-height: clamp(620px, 48vw, 820px);
}

.project-feature--media.reverse {
  grid-template-columns: minmax(360px, 0.85fr) minmax(0, 1.15fr);
}

.project-feature--media.reverse .project-visual--media {
  order: 2;
}

.project-feature--media .project-visual--media {
  position: relative;
  display: block;
  min-height: clamp(620px, 48vw, 820px);
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 36% 18%, rgba(185, 163, 105, 0.24), transparent 28rem),
    linear-gradient(135deg, #242421, #070707);
}

.project-feature--media .project-visual--media.warm {
  background:
    radial-gradient(circle at 70% 18%, rgba(143, 64, 55, 0.28), transparent 28rem),
    linear-gradient(135deg, #201512, #070707);
}

.project-feature--media .project-media {
  position: absolute;
  inset: 0;
  isolation: isolate;

  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-width: 100%;
  min-height: 100%;

  margin: 0;
  aspect-ratio: auto;

  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #050505;
  box-shadow: none;
  transform: none;
}

.project-feature--media .project-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.04) 0%, rgba(5, 5, 5, 0.22) 100%),
    radial-gradient(circle at 76% 18%, rgba(185, 163, 105, 0.12), transparent 28rem);
}

.project-feature--media .project-media__video,
.project-feature--media .project-media img {
  position: absolute;
  inset: 0;
  z-index: 0;

  display: block;
  width: 100%;
  height: 100%;

  border: 0;
  outline: 0;

  object-fit: cover;
  object-position: center center;
  transform: none;
}

.project-feature--media .project-copy--media {
  align-content: center;
  gap: clamp(14px, 1.6vw, 22px);
  padding: clamp(34px, 5vw, 76px);
}

.project-feature--media .project-copy--media p {
  max-width: 48ch;
}

/* keep debug number visible above video */
.media-map-debug .project-feature--media .project-media .media-slot-badge {
  z-index: 5;
}

/* Tablet / mobile: stack cleanly */
@media (max-width: 1100px) {
  .project-feature--media,
  .project-feature--media.reverse {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .project-feature--media.reverse .project-visual--media {
    order: 0;
  }

  .project-feature--media .project-visual--media {
    min-height: clamp(360px, 62vw, 620px);
  }

  .project-feature--media .project-copy--media {
    padding: clamp(28px, 6vw, 56px);
  }

  .project-feature--media .project-copy--media p {
    max-width: 62ch;
  }
}

@media (max-width: 720px) {
  .project-feature--media .project-visual--media {
    min-height: clamp(280px, 70vw, 460px);
  }

  .project-feature--media .project-copy--media {
    padding: 26px;
  }
}

/* ==========================================================
   FINAL: reduce Signature Projects media block height by ~35%
   ========================================================== */

.project-feature--media,
.project-feature--media.reverse {
  min-height: clamp(400px, 31vw, 535px);
}

.project-feature--media .project-visual--media {
  min-height: clamp(400px, 31vw, 535px);
}

.project-feature--media .project-copy--media {
  padding-block: clamp(28px, 3.4vw, 52px);
}

/* keep video full-bleed inside the shorter block */
.project-feature--media .project-media {
  inset: 0;
  width: 100%;
  height: 100%;
}

.project-feature--media .project-media__video,
.project-feature--media .project-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Tablet */
@media (max-width: 1100px) {
  .project-feature--media,
  .project-feature--media.reverse {
    min-height: auto;
  }

  .project-feature--media .project-visual--media {
    min-height: clamp(300px, 50vw, 480px);
  }
}

/* Mobile */
@media (max-width: 720px) {
  .project-feature--media .project-visual--media {
    min-height: clamp(220px, 58vw, 360px);
  }

  .project-feature--media .project-copy--media {
    padding: 24px;
  }
}

/* ==========================================================
   Story people-build paragraph
   ========================================================== */

.story-people-build {
  margin: 0;
  color: rgba(246, 243, 236, 0.78);
  font-size: clamp(23px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

@media (max-width: 720px) {
  .story-people-build {
    font-size: 24px;
    line-height: 1.12;
  }
}

/* ==========================================================
   FINAL: ABA award title Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ viewport-safe one-line scaling
   American Business always stays in one row.
   ========================================================== */

.metric-stage .achievement-award-heading {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: clamp(14px, 3vw, 44px);
  text-align: center;
  overflow: hidden;
}

.metric-stage .achievement-award-title--stacked {
  display: grid;
  justify-items: center;
  align-items: center;
  gap: clamp(5px, 0.65vw, 12px);
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
  line-height: 0.92;
  overflow: hidden;
}

.metric-stage .achievement-award-title--stacked > .achievement-award-title__line {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  text-align: center;
  white-space: nowrap;
  overflow: visible;
  text-wrap: nowrap;
}

/* 1st line Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ BIG, always one row */
.metric-stage .achievement-award-title--stacked > .achievement-award-title__line--big {
  font-size: min(clamp(34px, 4.8vw, 78px), calc((100vw - 48px) / 14.5));
  font-weight: 950;
  line-height: 0.86;
  letter-spacing: -0.058em;
  color: var(--ink);
  text-transform: uppercase;
}

/* 2nd line Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ medium */
.metric-stage .achievement-award-title--stacked > .achievement-award-title__line--medium {
  font-size: min(clamp(22px, 2.65vw, 42px), calc((100vw - 48px) / 7.2));
  font-weight: 560;
  line-height: 0.96;
  letter-spacing: 0.045em;
  color: rgba(246, 243, 236, 0.72);
  text-transform: uppercase;
}

/* 3rd line Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ medium bold */
.metric-stage .achievement-award-title--stacked > .achievement-award-title__line--medium-bold {
  font-size: min(clamp(27px, 3.25vw, 56px), calc((100vw - 48px) / 13.2));
  font-weight: 950;
  line-height: 0.92;
  letter-spacing: -0.03em;
  color: var(--ink);
  text-transform: none;
}

/* Tablet / small desktop */
@media (max-width: 1100px) {
  .metric-stage .achievement-award-heading {
    padding-inline: 24px;
  }

  .metric-stage .achievement-award-title--stacked > .achievement-award-title__line--big {
    font-size: min(clamp(30px, 5.2vw, 58px), calc((100vw - 56px) / 14.5));
  }

  .metric-stage .achievement-award-title--stacked > .achievement-award-title__line--medium {
    font-size: min(clamp(20px, 3.8vw, 32px), calc((100vw - 56px) / 7.2));
  }

  .metric-stage .achievement-award-title--stacked > .achievement-award-title__line--medium-bold {
    font-size: min(clamp(23px, 4.4vw, 38px), calc((100vw - 56px) / 13.2));
  }
}

/* Mobile */
@media (max-width: 720px) {
  .metric-stage .achievement-award-heading {
    padding-inline: 14px;
  }

  .metric-stage .achievement-award-title--stacked {
    gap: 5px;
  }

  .metric-stage .achievement-award-title--stacked > .achievement-award-title__line--big {
    font-size: min(clamp(20px, 5.6vw, 31px), calc((100vw - 36px) / 14.5));
    letter-spacing: -0.048em;
  }

  .metric-stage .achievement-award-title--stacked > .achievement-award-title__line--medium {
    font-size: min(clamp(16px, 4.6vw, 24px), calc((100vw - 36px) / 7.2));
    letter-spacing: 0.035em;
  }

  .metric-stage .achievement-award-title--stacked > .achievement-award-title__line--medium-bold {
    font-size: min(clamp(18px, 5.1vw, 27px), calc((100vw - 36px) / 13.2));
    letter-spacing: -0.025em;
  }
}



/* ==========================================================
   FINAL FIX: ABA mobile overflow hard override
   Keeps American Business in one line on smaller screens.
   ========================================================== */

.metric-stage .achievement-award-heading {
  width: 100%;
  max-width: 100vw;
  margin-inline: auto;
  padding-inline: clamp(14px, 3vw, 40px);
  overflow: hidden;
  box-sizing: border-box;
}

.metric-stage .achievement-award-title.achievement-award-title--stacked {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  overflow: hidden;
  text-align: center;
}

.metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: block;
  text-align: center;
  white-space: nowrap;
  overflow: visible;
}

/* Desktop-safe size */
.metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--big {
  font-size: min(4.35vw, 72px);
}

.metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--medium {
  font-size: min(2.55vw, 40px);
}

.metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--medium-bold {
  font-size: min(3.05vw, 52px);
}

/* Tablet + mobile hard scaling */
@media (max-width: 900px) {
  .metric-stage .achievement-award-heading {
    padding-inline: 18px;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--big {
    font-size: min(6.2vw, 42px) !important;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--medium {
    font-size: min(4.8vw, 28px) !important;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--medium-bold {
    font-size: min(5.4vw, 34px) !important;
  }
}

/* Phone */
@media (max-width: 720px) {
  .metric-stage .achievement-award-heading {
    padding-inline: 18px;
    overflow: hidden;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked {
    gap: 5px;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line {
    width: 100%;
    max-width: 100%;
    display: block;
    white-space: nowrap;
    text-align: center;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--big {
    font-size: min(clamp(38px, 11.2vw, 58px), calc((100vw - 52px) / 10.35)) !important;
    line-height: 0.9;
    letter-spacing: -0.056em;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--medium {
    font-size: min(clamp(28px, 8.5vw, 42px), calc((100vw - 52px) / 5.95)) !important;
    line-height: 0.94;
    letter-spacing: 0.035em;
  }

  .metric-stage .achievement-award-title.achievement-award-title--stacked > .achievement-award-title__line--medium-bold {
    font-size: min(clamp(31px, 9.6vw, 48px), calc((100vw - 52px) / 9.65)) !important;
    line-height: 0.92;
    letter-spacing: -0.026em;
  }
}

/* ==========================================================
   Story people carousel Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ slot 09
   Replaces placeholder with Supabase AVIF image carousel.
   ========================================================== */

.story-people-carousel {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1;
  min-height: auto;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: clamp(26px, 3vw, 46px);
  background:
    radial-gradient(circle at 74% 22%, rgba(185, 163, 105, 0.18), transparent 30rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
    #070707;
  box-shadow: none;
  isolation: isolate;
}

.story-people-carousel__viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  background: #050505;
}

.story-people-carousel__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.035);
  transition:
    opacity 0.55s var(--ease),
    transform 1.1s var(--ease);
}

.story-people-carousel__image.is-active {
  z-index: 1;
  opacity: 1;
  transform: scale(1);
}

.story-people-carousel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.02) 0%, rgba(5, 5, 5, 0.24) 100%),
    radial-gradient(circle at 78% 12%, rgba(185, 163, 105, 0.14), transparent 28rem);
}

.story-people-carousel .media-slot-badge {
  z-index: 8;
}

.story-people-carousel__controls {
  position: absolute;
  right: clamp(16px, 1.8vw, 28px);
  bottom: clamp(16px, 1.8vw, 28px);
  z-index: 9;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-radius: 999px;
  background: rgba(5, 5, 5, 0.58);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.story-people-carousel__button {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(246, 243, 236, 0.92);
  color: #070706;
  cursor: pointer;
  font: inherit;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.story-people-carousel__dots {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.story-people-carousel__dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(246, 243, 236, 0.34);
  cursor: pointer;
  transition:
    width 0.25s var(--ease),
    background 0.25s var(--ease);
}

.story-people-carousel__dots button.is-active {
  width: 22px;
  background: var(--gold);
}

@media (max-width: 720px) {
  .story-people-carousel {
    aspect-ratio: 1.45 / 1;
    border-radius: 24px;
  }

  .story-people-carousel__controls {
    right: 12px;
    bottom: 12px;
    gap: 8px;
    padding: 7px;
  }

  .story-people-carousel__button {
    width: 30px;
    height: 30px;
    font-size: 21px;
  }

  .story-people-carousel__dots {
    gap: 5px;
  }

  .story-people-carousel__dots button {
    width: 6px;
    height: 6px;
  }

  .story-people-carousel__dots button.is-active {
    width: 18px;
  }
}

/* ==========================================================
   People carousel swipe support
   ========================================================== */

.story-people-carousel {
  touch-action: pan-y;
}

.story-people-carousel__viewport,
.story-people-carousel__image {
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.story-people-carousel__button,
.story-people-carousel__dots button {
  touch-action: manipulation;
}

.story-media--10 .story-media__image {
  object-fit: cover;
  object-position: center center;
}

.story-media--10 .story-media__image {
  object-fit: cover;
  object-position: center 48%;
}

/* ==========================================================
   Standout story quote
   ========================================================== */

.story-standout-quote {
  position: relative;
  margin: clamp(6px, 1.4vw, 16px) 0;
  padding: clamp(26px, 4vw, 54px);
  overflow: hidden;
  border: 1px solid rgba(246, 243, 236, 0.14);
  border-radius: clamp(24px, 3vw, 42px);
  background:
    radial-gradient(circle at 82% 18%, rgba(185, 163, 105, 0.2), transparent 26rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 24px 80px rgba(0, 0, 0, 0.28);
}

.story-standout-quote::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.16;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.08) 0 1px,
      transparent 1px 72px
    );
}

.story-copy .story-standout-quote p {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 34ch;
  color: var(--ink);
  font-size: clamp(24px, 2.8vw, 42px);
  font-style: italic;
  font-weight: 850;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

@media (max-width: 720px) {
  .story-standout-quote {
    padding: 24px;
    border-radius: 26px;
  }

.story-copy .story-standout-quote p {
  max-width: 100%;
  font-size: clamp(22px, 6.2vw, 31px);
  line-height: 1.12;
}
}


/* ==========================================================
   Story final two-line fix Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ no page clipping
   ========================================================== */

.story-final--two-line {
  max-width: 100% !important;
}

.story-final--two-line .story-final__line {
  display: block;
}

/* desktop/tablet: Р  Р Р‹Р Р†Р вЂљРЎв„ўР  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚ВР   Р РЋР’ВР   Р вЂ™Р’В°Р  Р Р‹Р Р†Р вЂљРЎСљР   Р РЋР’ВР   Р РЋРІР‚Сћ 2 Р  Р Р‹Р  РІР‚С™Р  Р Р‹Р  Р РЏР   Р СћРІР‚ВР   Р РЋРІР‚СњР   Р РЋРІР‚В Р   Р вЂ™Р’В±Р   Р вЂ™Р’ВµР   Р вЂ™Р’В· Р   Р  РІР‚ Р   Р  РІР‚В¦Р  Р Р‹Р РЋРІР‚СљР  Р Р‹Р Р†Р вЂљРЎв„ўР  Р Р‹Р  РІР‚С™Р  Р Р‹Р Р†Р вЂљРІР‚СљР  Р Р‹Р Р†РІР‚С™Р’В¬Р   Р  РІР‚В¦Р  Р Р‹Р Р†Р вЂљРІР‚СљР  Р Р‹Р Р†Р вЂљР’В¦ Р   Р РЋРІР‚вЂќР   Р вЂ™Р’ВµР  Р Р‹Р  РІР‚С™Р   Р вЂ™Р’ВµР   Р  РІР‚В¦Р   Р РЋРІР‚СћР  Р Р‹Р  РЎвЂњР  Р Р‹Р Р†Р вЂљРІР‚СљР   Р  РІР‚  */
@media (min-width: 721px) {
  .story-final--two-line .story-final__line {
    white-space: nowrap;
  }
}

/* mobile: Р   Р  РІР‚В¦Р   Р вЂ™Р’Вµ Р   Р СћРІР‚ВР   Р вЂ™Р’В°Р  Р Р‹Р Р†Р вЂљРЎСљР   Р РЋР’ВР   Р РЋРІР‚Сћ Р   Р РЋРІР‚СћР   Р СћРІР‚ВР   Р  РІР‚В¦Р   Р РЋРІР‚СћР   Р РЋР’ВР  Р Р‹Р РЋРІР‚Сљ Р  Р Р‹Р  РІР‚С™Р  Р Р‹Р  Р РЏР   Р СћРІР‚ВР   Р РЋРІР‚СњР  Р Р‹Р РЋРІР‚Сљ Р  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚СћР   Р вЂ™Р’В·Р   Р СћРІР‚ВР  Р Р‹Р РЋРІР‚СљР   Р  РІР‚ Р   Р вЂ™Р’В°Р  Р Р‹Р Р†Р вЂљРЎв„ўР   Р РЋРІР‚В Р   Р  РІР‚ Р  Р Р‹Р  РЎвЂњР  Р Р‹Р  РІР‚в„– Р  Р Р‹Р  РЎвЂњР  Р Р‹Р Р†Р вЂљРЎв„ўР   Р РЋРІР‚СћР  Р Р‹Р  РІР‚С™Р  Р Р‹Р Р†Р вЂљРІР‚СљР   Р  РІР‚В¦Р   Р РЋРІР‚СњР  Р Р‹Р РЋРІР‚Сљ */
@media (max-width: 720px) {
  .story-final--two-line .story-final__line {
    white-space: normal;
  }
}

/* =========================================
   Location bubble on media
   ========================================= */


.media-slot-badge {
  z-index: 4;
}

@media (max-width: 720px) {
  .story-media__location {
    bottom: 12px;
    min-height: 38px;
    padding: 0 16px;
    max-width: calc(100% - 20px);
    font-size: clamp(14px, 4.4vw, 22px);
  }
}

/* ==========================================================
   Slot 10 height fix
   Spartan image needs a taller frame
   ========================================================== */

.story-media--10 {
  aspect-ratio: 3 / 2;
}

.story-media--10 .story-media__image {
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 720px) {
  .story-media--10 {
    aspect-ratio: 3 / 2;
  }
}


/* ==========================================================
   Logo carousel: old design + 4 simultaneous rows
   Keeps existing .story-logo-carousel__item / .logo-card design.
   ========================================================== */

.story-logo-carousel--brand-wall.story-logo-carousel--multi {
  display: grid;
  gap: clamp(10px, 1vw, 16px);
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.story-logo-carousel--brand-wall.story-logo-carousel--multi::before,
.story-logo-carousel--brand-wall.story-logo-carousel--multi::after {
  pointer-events: none;
}

.story-logo-carousel--multi .story-logo-carousel__row {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.story-logo-carousel--multi .story-logo-carousel__track {
  display: flex;
  align-items: center;
  width: max-content;
  max-width: none;
  gap: clamp(14px, 1.33vw, 25px);
  padding-block: clamp(7px, 0.9vw, 13px);
  animation: none;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: auto;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--left .story-logo-carousel__track {
  animation: logoRowLeft 42s linear infinite;
  will-change: transform;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--right .story-logo-carousel__track {
  animation: logoRowRight 42s linear infinite;
  will-change: transform;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--one .story-logo-carousel__track {
  animation-duration: 38s;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--two .story-logo-carousel__track {
  animation-duration: 42s;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--three .story-logo-carousel__track {
  animation-duration: 40s;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--four .story-logo-carousel__track {
  animation-duration: 44s;
}

.story-logo-carousel--multi:hover .story-logo-carousel__track,
.story-logo-carousel--multi.is-marquee-active:hover .story-logo-carousel__track {
  animation-play-state: running;
}

@keyframes logoRowLeft {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes logoRowRight {
  from {
    transform: translate3d(-50%, 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 720px) {
  .story-logo-carousel--brand-wall.story-logo-carousel--multi {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    gap: 9px;
    padding-block: 8px 16px;
  }

  .story-logo-carousel--multi .story-logo-carousel__track {
    gap: 12px;
    padding-block: 0;
  }

  .story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--one .story-logo-carousel__track {
    animation-duration: 30s;
  }

  .story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--two .story-logo-carousel__track {
    animation-duration: 34s;
  }

  .story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--three .story-logo-carousel__track {
    animation-duration: 32s;
  }

  .story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--four .story-logo-carousel__track {
    animation-duration: 36s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .story-logo-carousel--multi .story-logo-carousel__track {
    animation: none !important;
    transform: none !important;
  }
}

/* ==========================================================
   Logo carousel desktop row spacing tweak
   ========================================================== */

@media (min-width: 721px) {
  .story-logo-carousel--brand-wall.story-logo-carousel--multi {
    gap: clamp(4px, 0.45vw, 8px);
  }

  .story-logo-carousel--multi .story-logo-carousel__track {
    padding-block: clamp(3px, 0.35vw, 6px);
  }
} 

/* ==========================================================
   Hero experience pills Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ variable width desktop
   ========================================================== */

@media (min-width: 981px) {
  .hero-strip.hero-experience {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: clamp(42px, 4.4vw, 76px);
    overflow: visible;
  }

  .hero-experience__kicker {
    margin: 0 0 clamp(18px, 1.7vw, 28px);
    color: rgba(185, 163, 105, 0.92);
    font-size: clamp(10px, 0.74vw, 12px);
    font-weight: 950;
    line-height: 1;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .hero-experience__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(12px, 1.15vw, 18px);
    width: 100%;
    max-width: 100%;
  }

  .hero-experience__grid span {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: clamp(58px, 4vw, 72px);
    padding: 0 clamp(30px, 3vw, 56px);
    border: 1px solid rgba(246, 243, 236, 0.13);
    border-radius: clamp(18px, 1.55vw, 25px);
    color: rgba(246, 243, 236, 0.56);
    background:
      radial-gradient(circle at 78% 18%, rgba(185, 163, 105, 0.13), transparent 54%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.018)),
      rgba(16, 16, 14, 0.7);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.045),
      0 14px 38px rgba(0, 0, 0, 0.16);
    font-size: clamp(18px, 1.48vw, 27px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.045em;
    text-align: center;
    text-transform: none;
    white-space: nowrap;
  }

  .hero-experience__grid span:nth-child(1) {
    padding-inline: clamp(34px, 3.4vw, 64px);
  }

  .hero-experience__grid span:nth-child(2) {
    padding-inline: clamp(32px, 3.2vw, 58px);
  }

  .hero-experience__grid span:nth-child(3) {
    padding-inline: clamp(34px, 3.4vw, 62px);
  }

  .hero-experience__grid span:nth-child(4) {
    padding-inline: clamp(36px, 3.7vw, 70px);
  }

  .hero-experience__grid span:nth-child(5) {
    padding-inline: clamp(34px, 3.4vw, 62px);
  }

  .hero-experience__grid span:nth-child(6) {
    padding-inline: clamp(34px, 3.4vw, 62px);
  }

  .hero-experience__grid span:nth-child(7) {
    padding-inline: clamp(34px, 3.4vw, 62px);
  }
}

/* ==========================================================
   Hero experience Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ mobile, matched to Core Beliefs block
   ========================================================== */

@media (max-width: 980px) {
  .hero-strip.hero-experience {
    display: block;
    width: 100%;
    margin: clamp(24px, 7vw, 42px) 0 0;
    padding: clamp(28px, 7vw, 44px) clamp(24px, 7vw, 42px)
      clamp(32px, 8vw, 50px);
    overflow: hidden;
    border: 1px solid rgba(246, 243, 236, 0.14);
    border-radius: clamp(26px, 7vw, 38px);
    background:
      radial-gradient(circle at 82% 16%, rgba(185, 163, 105, 0.18), transparent 48%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.018)),
      rgba(14, 14, 13, 0.76);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.045),
      0 22px 70px rgba(0, 0, 0, 0.2);
  }

  .hero-experience__kicker {
    margin: 0 0 clamp(24px, 6vw, 34px);
    color: rgba(185, 163, 105, 0.96);
    font-size: clamp(13px, 3.2vw, 19px);
    font-weight: 950;
    line-height: 1;
    letter-spacing: 0.17em;
    text-transform: uppercase;
  }

  .hero-experience__grid {
    display: grid;
    gap: clamp(16px, 4.2vw, 26px);
    width: 100%;
  }

  .hero-experience__grid span {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0 0 0 clamp(34px, 8.5vw, 54px);
    border: 0;
    border-radius: 0;
    color: var(--ink);
    background: transparent;
    box-shadow: none;

    font-size: clamp(27px, 7.1vw, 44px);
    font-weight: 850;
    line-height: 1.02;
    letter-spacing: -0.055em;
    text-align: left;
    text-transform: none;
    white-space: normal;
  }

  .hero-experience__grid span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.46em;
    width: clamp(9px, 2.4vw, 14px);
    height: clamp(9px, 2.4vw, 14px);
    border-radius: 999px;
    background: rgba(185, 163, 105, 0.96);
    box-shadow: 0 0 18px rgba(185, 163, 105, 0.22);
  }
}

/* ==========================================================
   Location bubble Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ below media, not over image
   ========================================================== */

.story-media:has(.story-media__location) {
  overflow: visible;
  margin-bottom: clamp(58px, 5.6vw, 88px);
}

.story-media:has(.story-media__location) .story-media__image,
.story-media:has(.story-media__location) .story-media__video {
  border-radius: inherit;
}

.story-media__location {
  position: absolute;
  left: 50%;
  top: calc(100% + clamp(10px, 1.15vw, 16px));
  bottom: auto;
  z-index: 6;
  transform: translateX(-50%);

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: auto;
  min-width: clamp(190px, 22vw, 330px);
  max-width: calc(100% - 40px);
  min-height: clamp(30px, 2.4vw, 40px);
  padding: 0 clamp(18px, 2vw, 30px);

  border-radius: 999px;
  background: rgba(34, 34, 34, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.055);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);

  color: rgba(185, 163, 105, 0.96);
  font-size: clamp(12px, 0.95vw, 17px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;

  pointer-events: none;
}

.media-slot-badge {
  z-index: 7;
}

@media (max-width: 720px) {
  .story-media:has(.story-media__location) {
    margin-bottom: clamp(52px, 13vw, 72px);
  }

  .story-media__location {
    top: calc(100% + 10px);
    min-width: clamp(180px, 54vw, 300px);
    min-height: 32px;
    padding: 0 18px;
    max-width: calc(100% - 32px);
    font-size: clamp(12px, 3.2vw, 15px);
    letter-spacing: 0.12em;
  }
}

/* ==========================================================
   Project title logos
   ========================================================== */

.project-logo-title {
  display: flex;
  align-items: center;
  margin: 0 0 clamp(28px, 2.6vw, 46px);
  line-height: 1;
}

.project-logo-title img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.project-logo-title--5iv img {
  width: clamp(160px, 11vw, 220px);
}

.project-logo-title--givingegg img {
  width: clamp(230px, 16vw, 330px);
}

/* Р  Р Р‹Р  Р РЏР   Р РЋРІР‚СњР  Р Р‹Р Р†Р вЂљР’В°Р   Р РЋРІР‚Сћ SVG Р  Р Р‹Р Р†Р вЂљРЎв„ўР   Р вЂ™Р’ВµР   Р РЋР’ВР   Р  РІР‚В¦Р  Р Р‹Р Р†Р вЂљРІР‚Сљ Р  Р Р‹Р Р†Р вЂљРІР‚Сљ Р   Р РЋРІР‚вЂќР   Р РЋРІР‚СћР   Р РЋРІР‚вЂњР   Р вЂ™Р’В°Р   Р  РІР‚В¦Р   Р РЋРІР‚Сћ Р   Р  РІР‚ Р   Р РЋРІР‚ВР   Р СћРІР‚ВР   Р  РІР‚В¦Р   Р РЋРІР‚Сћ Р  Р вЂ Р  РІР‚С™Р Р†Р вЂљРЎСљ Р  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚СћР   Р вЂ™Р’В·Р   Р РЋРІР‚СњР   Р РЋРІР‚СћР   Р РЋР’ВР   Р вЂ™Р’ВµР   Р  РІР‚В¦Р  Р Р‹Р Р†Р вЂљРЎв„ўР  Р Р‹Р РЋРІР‚СљР   Р Р†РІР‚С›РІР‚вЂњ Р  Р Р‹Р Р†Р вЂљ Р   Р вЂ™Р’ВµР   Р Р†РІР‚С›РІР‚вЂњ Р   Р вЂ™Р’В±Р   Р вЂ™Р’В»Р   Р РЋРІР‚СћР   Р РЋРІР‚Сњ */
/*
.project-logo-title img {
  filter: brightness(0) invert(1);
  opacity: 0.96;
}
*/

@media (max-width: 720px) {
  .project-logo-title {
    margin-bottom: clamp(24px, 6vw, 34px);
  }

  .project-logo-title--5iv img {
    width: clamp(150px, 44vw, 210px);
  }

@media (max-width: 720px) {
  .project-logo-title--givingegg img {
    width: clamp(210px, 62vw, 310px);
  }
}
}

/* ==========================================================
   Logo carousel stability fix
   - removes loop jump
   - prevents logo flicker
   - keeps old visual design
   ========================================================== */

.story-logo-carousel--multi .story-logo-carousel__track {
  --logo-row-gap: clamp(14px, 1.33vw, 25px);

  display: flex;
  align-items: center;
  width: max-content;
  max-width: none;
  gap: 0;
  padding-block: clamp(7px, 0.9vw, 13px);
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  contain: layout paint;
}

.story-logo-carousel--multi .story-logo-carousel__group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--logo-row-gap);
  padding-right: var(--logo-row-gap);
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.story-logo-carousel--multi .story-logo-carousel__item {
  flex: 0 0 var(--card-w);
  width: var(--card-w);
  height: var(--card-h);
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.story-logo-carousel--multi .story-logo-carousel__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-user-drag: none;
  user-select: none;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--left .story-logo-carousel__track {
  animation-name: logoRowLeftStable;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  will-change: transform;
}

.story-logo-carousel--multi.is-marquee-active .story-logo-carousel__row--right .story-logo-carousel__track {
  animation-name: logoRowRightStable;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  will-change: transform;
}

@keyframes logoRowLeftStable {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes logoRowRightStable {
  from {
    transform: translate3d(-50%, 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

/* ==========================================================
   Logo wall performance mode
   Keeps 4-row carousel, removes expensive paint effects
   ========================================================== */

.story-logo-carousel--brand-wall.story-logo-carousel--multi {
  contain: layout paint;
  isolation: isolate;
  gap: clamp(4px, 0.55vw, 9px);
}

/* Р  Р Р‹Р Р†Р вЂљРЎв„ўР  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚СћР  Р Р‹Р Р†Р вЂљР’В¦Р   Р РЋРІР‚В Р   Р вЂ™Р’В»Р   Р вЂ™Р’ВµР   Р РЋРІР‚вЂњР  Р Р‹Р Р†РІР‚С™Р’В¬Р  Р Р‹Р Р†Р вЂљРІР‚Сљ side-fades */
.story-logo-carousel--brand-wall::before,
.story-logo-carousel--brand-wall::after {
  width: clamp(36px, 5vw, 88px);
}

/* Р   Р РЋРІР‚вЂќР  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚ВР   Р вЂ™Р’В±Р   Р РЋРІР‚ВР  Р Р‹Р  РІР‚С™Р   Р вЂ™Р’В°Р  Р Р‹Р Р†Р вЂљРЎСљР   Р РЋР’ВР   Р РЋРІР‚Сћ Р   Р  РІР‚ Р   Р вЂ™Р’В°Р   Р вЂ™Р’В¶Р   Р РЋРІР‚СњР  Р Р‹Р Р†Р вЂљРІР‚Сљ Р   Р РЋРІР‚СњР   Р вЂ™Р’В°Р  Р Р‹Р  РІР‚С™Р  Р Р‹Р Р†Р вЂљРЎв„ўР   Р РЋРІР‚СњР   Р РЋРІР‚СћР   Р  РІР‚ Р  Р Р‹Р Р†Р вЂљРІР‚Сљ Р   Р вЂ™Р’ВµР  Р Р‹Р Р†Р вЂљРЎвЂєР   Р вЂ™Р’ВµР   Р РЋРІР‚СњР  Р Р‹Р Р†Р вЂљРЎв„ўР   Р РЋРІР‚В */
.story-logo-carousel--brand-wall .story-logo-carousel__item,
.story-logo-carousel--brand-wall .story-logo-carousel__item::before {
  box-shadow: none !important;
  transition: none !important;
  filter: none !important;
}

.story-logo-carousel--brand-wall .story-logo-carousel__item {
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 255, 255, 0.035);
  transform: none !important;
}

/* Р   Р РЋРІР‚вЂќР  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚ВР   Р вЂ™Р’В±Р   Р РЋРІР‚ВР  Р Р‹Р  РІР‚С™Р   Р вЂ™Р’В°Р  Р Р‹Р Р†Р вЂљРЎСљР   Р РЋР’ВР   Р РЋРІР‚Сћ hover-Р  Р Р‹Р  РІР‚С™Р  Р Р‹Р РЋРІР‚СљР  Р Р‹Р Р†Р вЂљР’В¦ */
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover,
.story-logo-carousel--brand-wall .story-logo-carousel__item:hover::before {
  transform: none !important;
  background: rgba(255, 255, 255, 0.052) !important;
}

/* Р   Р  РІР‚В¦Р   Р вЂ™Р’В°Р   Р Р†РІР‚С›РІР‚вЂњР   Р  РІР‚ Р   Р вЂ™Р’В°Р   Р вЂ™Р’В¶Р   Р вЂ™Р’В»Р   Р РЋРІР‚ВР   Р  РІР‚ Р  Р Р‹Р Р†Р вЂљРІР‚СљР  Р Р‹Р Р†РІР‚С™Р’В¬Р   Р вЂ™Р’Вµ: Р   Р РЋРІР‚вЂќР  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚ВР   Р вЂ™Р’В±Р   Р РЋРІР‚ВР  Р Р‹Р  РІР‚С™Р   Р вЂ™Р’В°Р  Р Р‹Р Р†Р вЂљРЎСљР   Р РЋР’ВР   Р РЋРІР‚Сћ filter Р   Р вЂ™Р’В· SVG */
.story-logo-carousel--brand-wall img {
  filter: none !important;
  opacity: 0.52;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

.story-logo-carousel--brand-wall .story-logo-carousel__item:hover img {
  filter: none !important;
  opacity: 0.62;
  transform: none !important;
}

/* Р   Р  РІР‚В¦Р   Р вЂ™Р’Вµ Р  Р Р‹Р Р†Р вЂљРЎв„ўР  Р Р‹Р  РІР‚С™Р   Р РЋРІР‚ВР   Р РЋР’ВР   Р вЂ™Р’В°Р  Р Р‹Р Р†Р вЂљРЎв„ўР   Р РЋРІР‚В Р   Р вЂ™Р’В·Р   Р вЂ™Р’В°Р   Р Р†РІР‚С›РІР‚вЂњР   Р  РІР‚ Р  Р Р‹Р Р†Р вЂљРІР‚Сљ GPU layers Р   Р  РІР‚В¦Р   Р вЂ™Р’В° Р   Р РЋРІР‚СњР   Р РЋРІР‚СћР   Р вЂ™Р’В¶Р   Р  РІР‚В¦Р  Р Р‹Р Р†Р вЂљРІР‚СљР   Р Р†РІР‚С›РІР‚вЂњ Р   Р РЋРІР‚СњР   Р вЂ™Р’В°Р  Р Р‹Р  РІР‚С™Р  Р Р‹Р Р†Р вЂљРЎв„ўР  Р Р‹Р Р†Р вЂљ Р  Р Р‹Р Р†Р вЂљРІР‚Сљ */
.story-logo-carousel--multi .story-logo-carousel__item,
.story-logo-carousel--multi .story-logo-carousel__item img {
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
}

/* ==========================================================
   Logo wall edge fade fix
   Replaces visible dark overlays with clean mask fade
   ========================================================== */

.story-logo-carousel--brand-wall::before,
.story-logo-carousel--brand-wall::after {
  content: none !important;
  display: none !important;
}

.story-logo-carousel--multi .story-logo-carousel__row {
  overflow: hidden;

  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 9%,
    #000 91%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 9%,
    #000 91%,
    transparent 100%
  );

  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* ==========================================================
   Story continuation alignment
   - logo wall matches the fixed header width
   - everything after the logo wall is centered as one column
   - Major Achievements / American Business remains unchanged
   ========================================================== */

.about {
  padding-bottom: 0;
}

.story-continuation {
  display: grid;
  gap: clamp(18px, 2.2vw, 30px);
  padding-top: clamp(18px, 2.2vw, 30px);
  padding-bottom: 150px;
}

.story-continuation > .story-logo-carousel--brand-wall.story-logo-carousel--multi {
  width: min(calc(100vw - 36px), 1180px);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.story-continuation__content {
  width: calc(
    min(calc(100vw - 36px), var(--max))
    - 420px
    - clamp(32px, 5vw, 82px)
  );
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1320px) {
  .story-continuation > .story-logo-carousel--brand-wall.story-logo-carousel--multi {
    width: min(calc(100vw - 32px), 1120px);
  }
}

@media (max-width: 1100px) {
  .story-continuation > .story-logo-carousel--brand-wall.story-logo-carousel--multi {
    width: min(calc(100vw - 32px), 980px);
  }

  .story-continuation__content {
    width: 100%;
  }
}

@media (max-width: 980px) {
  .story-continuation {
    padding-bottom: 112px;
  }
}

@media (max-width: 720px) {
  .story-continuation {
    padding-bottom: 82px;
  }

  .story-continuation > .story-logo-carousel--brand-wall.story-logo-carousel--multi {
    width: calc(100vw - 24px);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 420px) {
  .story-continuation {
    padding-bottom: 68px;
  }

  .story-continuation > .story-logo-carousel--brand-wall.story-logo-carousel--multi {
    width: calc(100vw - 20px);
  }
}


/* ==========================================================
   Clients Served / Global Brands Built
   Heading above the brand logo wall
   ========================================================== */

.story-continuation > .brand-wall-heading {
  width: min(calc(100vw - 36px), 1180px);
  max-width: none;

  margin-top: clamp(72px, 7vw, 110px);
  margin-bottom: clamp(62px, 6vw, 90px);
  margin-inline: auto;

  padding-inline: clamp(14px, 3vw, 40px);
  box-sizing: border-box;
  overflow: hidden;
  text-align: center;
}

.brand-wall-heading__kicker {
  margin: 0 0 clamp(14px, 1.4vw, 20px);
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.18em;
  text-align: center;
  text-transform: uppercase;
}

.brand-wall-heading__title {
  display: grid;
  justify-items: center;
  align-items: center;
  gap: clamp(5px, 0.65vw, 10px);
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: var(--ink);
  line-height: 0.92;
  text-align: center;
  text-transform: uppercase;
  overflow: hidden;
}

.brand-wall-heading__main,
.brand-wall-heading__sub {
  display: block;
  width: 100%;
  max-width: 100%;
  text-align: center;
  white-space: nowrap;
}

.brand-wall-heading__main {
  font-size: min(
    clamp(42px, 6vw, 82px),
    calc((100vw - 48px) / 8.2)
  );
  font-weight: 950;
  line-height: 0.86;
  letter-spacing: -0.058em;
  color: var(--ink);
}

.brand-wall-heading__sub {
  font-size: min(
    clamp(26px, 3.2vw, 42px),
    calc((100vw - 48px) / 3.6)
  );
  font-weight: 560;
  line-height: 0.96;
  letter-spacing: 0.045em;
  color: rgba(246, 243, 236, 0.72);
}

@media (max-width: 1320px) {
  .story-continuation > .brand-wall-heading {
    width: min(calc(100vw - 32px), 1120px);
  }
}

@media (max-width: 1100px) {
  .story-continuation > .brand-wall-heading {
    width: min(calc(100vw - 32px), 980px);
    padding-inline: 24px;
  }
}

@media (max-width: 720px) {
  .story-continuation > .brand-wall-heading {
    width: calc(100vw - 24px);
    padding-inline: 14px;
      margin-top: 54px;
  margin-bottom: 48px;
  }

  .brand-wall-heading__kicker {
    margin-bottom: 12px;
    font-size: 11px;
  }

  .brand-wall-heading__title {
    gap: 4px;
  }

  .brand-wall-heading__main {
    font-size: min(
      clamp(34px, 10vw, 54px),
      calc((100vw - 44px) / 8.2)
    );
    letter-spacing: -0.052em;
  }

  .brand-wall-heading__sub {
    font-size: min(
      clamp(24px, 7vw, 36px),
      calc((100vw - 44px) / 3.6)
    );
  }
}

@media (max-width: 420px) {
  .story-continuation > .brand-wall-heading {
    width: calc(100vw - 20px);
    padding-inline: 10px;
  }
}

/* People carousel arrows Р Р†Р вЂљРІР‚Сњ transparent */
.story-people-carousel__button {
  background: transparent;
  color: rgba(246, 243, 236, 0.34);
}

/* ==========================================================
   Story people carousel Р Р†Р вЂљРІР‚Сњ dynamic location pill
   Uses the same design as other media locations
   ========================================================== */

.story-people-carousel:has(.story-people-carousel__location) {
  overflow: visible;
  margin-bottom: clamp(58px, 5.6vw, 88px);
}

.story-people-carousel::after {
  border-radius: inherit;
}

.story-people-carousel__location {
  z-index: 10;
}

@media (max-width: 720px) {
  .story-people-carousel:has(.story-people-carousel__location) {
    margin-bottom: clamp(52px, 13vw, 72px);
  }
}

/* ==========================================================
   Achievement media 11 Р Р†Р вЂљРІР‚Сњ location pill
   ========================================================== */

.achievement-media--11:has(.story-media__location) {
  overflow: visible;
  margin-bottom: clamp(58px, 5.6vw, 88px);
}

.achievement-media--11:has(.story-media__location) .achievement-media__image,
.achievement-media--11:has(.story-media__location)::after {
  border-radius: inherit;
}

@media (max-width: 720px) {
  .achievement-media--11:has(.story-media__location) {
    margin-bottom: clamp(52px, 13vw, 72px);
  }
}

/* ==========================================================
   Contact modal
   ========================================================== */

body.contact-modal-open {
  overflow: hidden;
}

.contact-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;

  display: grid;
  place-items: center;

  width: 100%;
  height: 100%;
  padding: clamp(12px, 3vw, 34px);

  visibility: hidden;
  pointer-events: none;
  opacity: 0;

  transition:
    opacity 0.28s var(--ease),
    visibility 0s linear 0.28s;
}

.contact-modal.is-open {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;

  transition-delay: 0s;
}

.contact-modal__backdrop {
  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 18% 12%,
      rgba(185, 163, 105, 0.16),
      transparent 32rem
    ),
    radial-gradient(
      circle at 88% 82%,
      rgba(127, 157, 132, 0.11),
      transparent 30rem
    ),
    rgba(2, 2, 2, 0.88);

  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}

.contact-modal__dialog {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns:
    minmax(0, 0.82fr)
    minmax(0, 1.18fr);

  width: min(1080px, 100%);
  max-height: min(900px, calc(100svh - 48px));

  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;

  border: 1px solid rgba(246, 243, 236, 0.14);
  border-radius: 36px;

  background:
    radial-gradient(
      circle at 10% 8%,
      rgba(185, 163, 105, 0.18),
      transparent 27rem
    ),
    radial-gradient(
      circle at 96% 96%,
      rgba(127, 157, 132, 0.1),
      transparent 26rem
    ),
    linear-gradient(
      145deg,
      rgba(19, 19, 18, 0.98),
      rgba(7, 7, 7, 0.99)
    );

  box-shadow:
    0 50px 160px rgba(0, 0, 0, 0.72),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);

  opacity: 0;
  transform: translateY(24px) scale(0.975);

  transition:
    opacity 0.32s var(--ease),
    transform 0.32s var(--ease);
}

.contact-modal.is-open .contact-modal__dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.contact-modal__dialog::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(32px, 6vw, 76px);
  right: clamp(32px, 6vw, 76px);

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(185, 163, 105, 0.74),
      transparent
    );
}

.contact-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 4;

  width: 48px;
  height: 48px;

  border: 1px solid rgba(246, 243, 236, 0.13);
  border-radius: 50%;

  background: rgba(255, 255, 255, 0.055);
  color: var(--ink);

  cursor: pointer;

  transition:
    background 0.24s var(--ease),
    border-color 0.24s var(--ease),
    transform 0.24s var(--ease);
}

.contact-modal__close:hover {
  border-color: rgba(246, 243, 236, 0.25);
  background: rgba(255, 255, 255, 0.1);
  transform: rotate(4deg);
}

.contact-modal__close span {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 17px;
  height: 2px;

  border-radius: 999px;
  background: rgba(246, 243, 236, 0.7);
}

.contact-modal__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.contact-modal__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.contact-modal__intro {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 28px;

  min-width: 0;
  padding:
    clamp(42px, 6vw, 78px)
    clamp(30px, 5vw, 68px);

  border-right: 1px solid rgba(246, 243, 236, 0.1);
}

.contact-modal__eyebrow {
  margin: 0 0 22px;

  color: var(--gold);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.contact-modal__intro h2 {
  max-width: 10ch;
  margin: 0;

  color: var(--ink);
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.contact-modal__description {
  max-width: 34rem;
  margin: 28px 0 0;

  color: rgba(246, 243, 236, 0.6);
  font-size: 16px;
  line-height: 1.55;
}

.contact-modal__direct {
  display: grid;
  gap: 8px;
  align-self: start;

  padding-top: 26px;
  border-top: 1px solid rgba(246, 243, 236, 0.11);
}

.contact-modal__direct span {
  color: rgba(246, 243, 236, 0.34);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.contact-modal__direct a {
  color: rgba(246, 243, 236, 0.86);
  font-size: 14px;
  font-weight: 750;
  overflow-wrap: anywhere;

  transition: color 0.22s var(--ease);
}

.contact-modal__direct a:hover {
  color: var(--gold);
}

.contact-modal__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: 20px;

  min-width: 0;
  padding:
    clamp(72px, 6vw, 92px)
    clamp(30px, 5vw, 68px)
    clamp(42px, 6vw, 72px);
}

.contact-modal__field {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.contact-modal__field--full {
  grid-column: 1 / -1;
}

.contact-modal__field label {
  color: rgba(246, 243, 236, 0.45);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.contact-modal__field input,
.contact-modal__field select,
.contact-modal__field textarea {
  width: 100%;
  min-width: 0;

  border: 1px solid rgba(246, 243, 236, 0.12);
  border-radius: 16px;
  outline: none;

  background: rgba(255, 255, 255, 0.045);
  color: var(--ink);

  font: inherit;
  font-size: 15px;
  line-height: 1.35;

  transition:
    border-color 0.22s var(--ease),
    background 0.22s var(--ease),
    box-shadow 0.22s var(--ease);
}

.contact-modal__field input,
.contact-modal__field select {
  min-height: 58px;
  padding: 0 17px;
}

.contact-modal__field textarea {
  min-height: 148px;
  padding: 17px;

  resize: vertical;
}

.contact-modal__field input::placeholder,
.contact-modal__field textarea::placeholder {
  color: rgba(246, 243, 236, 0.27);
}

.contact-modal__field select {
  appearance: none;
  -webkit-appearance: none;

  padding-right: 44px;

  background-image:
    linear-gradient(
      45deg,
      transparent 50%,
      rgba(246, 243, 236, 0.42) 50%
    ),
    linear-gradient(
      135deg,
      rgba(246, 243, 236, 0.42) 50%,
      transparent 50%
    );

  background-position:
    calc(100% - 21px) 26px,
    calc(100% - 16px) 26px;

  background-size: 5px 5px;
  background-repeat: no-repeat;
}

.contact-modal__field select:invalid {
  color: rgba(246, 243, 236, 0.29);
}

.contact-modal__field select option {
  color: #f6f3ec;
  background: #10100f;
}

.contact-modal__field input:hover,
.contact-modal__field select:hover,
.contact-modal__field textarea:hover {
  border-color: rgba(246, 243, 236, 0.2);
  background-color: rgba(255, 255, 255, 0.065);
}

.contact-modal__field input:focus,
.contact-modal__field select:focus,
.contact-modal__field textarea:focus {
  border-color: rgba(185, 163, 105, 0.72);
  background-color: rgba(255, 255, 255, 0.075);

  box-shadow:
    0 0 0 3px rgba(185, 163, 105, 0.09);
}

.contact-modal__footer {
  grid-column: 1 / -1;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  margin-top: 4px;
}

.contact-modal__status {
  flex: 1;
  min-height: 20px;
  margin: 0;

  color: rgba(246, 243, 236, 0.48);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.contact-modal__status.is-success {
  color: var(--green);
}

.contact-modal__status.is-error {
  color: #d8897f;
}

.contact-modal__submit {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;

  min-width: 190px;
  min-height: 58px;
  padding: 0 18px 0 22px;

  border: 0;
  border-radius: 999px;

  background: var(--ink);
  color: #080807;

  font: inherit;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    transform 0.24s var(--ease),
    background 0.24s var(--ease),
    opacity 0.24s var(--ease);
}

.contact-modal__submit:hover:not(:disabled) {
  background: var(--silver);
  transform: translateY(-2px);
}

.contact-modal__submit:disabled {
  cursor: wait;
  opacity: 0.66;
}

.contact-modal__submit-icon {
  display: grid;
  width: 29px;
  height: 29px;
  place-items: center;

  border-radius: 50%;

  background: rgba(5, 5, 5, 0.1);

  font-size: 17px;
  line-height: 1;
}

.contact-modal__submit.is-loading .contact-modal__submit-icon {
  font-size: 0;

  border: 2px solid rgba(5, 5, 5, 0.2);
  border-top-color: #050505;

  background: transparent;

  animation: contactModalSpin 0.7s linear infinite;
}

.contact-modal__submit.is-success {
  background: var(--green);
  color: #050505;
}

.contact-modal__honey {
  position: absolute;
  left: -9999px;

  width: 1px;
  height: 1px;

  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

@keyframes contactModalSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 820px) {
  .contact-modal {
    place-items: start center;
    overflow-y: auto;
    padding: 12px;
  }

  .contact-modal__dialog {
    grid-template-columns: 1fr;
    max-height: none;
    margin-block: 12px;
    border-radius: 28px;
  }

  .contact-modal__intro {
    gap: 28px;
    padding: 50px 26px 30px;
    border-right: 0;
    border-bottom: 1px solid rgba(246, 243, 236, 0.1);
  }

@media (max-width: 820px) {
  .contact-modal__intro h2 {
    max-width: 11ch;
    font-size: clamp(34px, 9vw, 54px);
  }
}

  .contact-modal__direct {
    padding-top: 20px;
  }

  .contact-modal__form {
    padding: 30px 26px 34px;
  }
}

@media (max-width: 560px) {
  .contact-modal__close {
    top: 12px;
    right: 12px;

    width: 44px;
    height: 44px;
  }

  .contact-modal__form {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .contact-modal__field--full {
    grid-column: auto;
  }

  .contact-modal__footer {
    grid-column: auto;
    display: grid;
    gap: 14px;
  }

  .contact-modal__submit {
    width: 100%;
  }

  .contact-modal__status {
    order: 2;
  }
}

@media (max-width: 380px) {
  .contact-modal {
    padding: 8px;
  }

  .contact-modal__dialog {
    border-radius: 24px;
  }

  .contact-modal__intro,
  .contact-modal__form {
    padding-inline: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-modal,
  .contact-modal__dialog,
  .contact-modal__close,
  .contact-modal__submit {
    transition: none;
  }

  .contact-modal__submit.is-loading .contact-modal__submit-icon {
    animation-duration: 1.2s;
  }
} 

/* ==========================================================
   FINAL MOBILE CONTACT MODAL PATCH
   Proper scrolling, safe areas and very small screens
   ========================================================== */

@media (max-width: 820px) {
  /*
   * Р  РЎС™Р  РЎвЂўР  РўвЂР  Р’В°Р  Р’В»Р  РЎвЂќР  Р’В° Р  Р’В·Р  Р вЂ¦Р  Р’В°Р РЋРІР‚В¦Р  РЎвЂўР  РўвЂР  РЎвЂР РЋРІР‚С™Р РЋР Р‰Р РЋР С“Р РЋР РЏ Р  Р вЂ Р РЋР С“Р  Р’ВµР РЋР вЂљР  Р’ВµР  РўвЂР  РЎвЂР  Р вЂ¦Р РЋРІР‚вЂњ main,
   * Р  Р’В° main Р  Р’В·Р  Р’В° Р  Р’В·Р  Р’В°Р  РЎВР  РЎвЂўР  Р вЂ Р РЋРІР‚РЋР РЋРЎвЂњР  Р вЂ Р  Р’В°Р  Р вЂ¦Р  Р вЂ¦Р РЋР РЏР  РЎВ Р  РЎВР  Р’В°Р РЋРІР‚Сњ overflow: clip.
   */
  body.contact-modal-open main {
    overflow: visible;
  }

  .contact-modal {
    display: block;

    width: 100%;
    height: 100svh;
    height: 100dvh;
    min-height: 100svh;

    padding-top: max(8px, env(safe-area-inset-top));
    padding-right: max(8px, env(safe-area-inset-right));
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    padding-left: max(8px, env(safe-area-inset-left));

    overflow-x: hidden;
    overflow-y: auto;

    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  .contact-modal__backdrop {
    position: fixed;
    inset: 0;
  }

  .contact-modal__dialog {
    display: block;

    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;

    margin: 0 auto;

    overflow: visible;

    border-radius: 26px;
  }

  /*
   * Р  РЎв„ўР  Р вЂ¦Р  РЎвЂўР  РЎвЂ”Р  РЎвЂќР  Р’В° Р  Р’В·Р  Р’В°Р  РЎвЂќР РЋР вЂљР  РЎвЂР РЋРІР‚С™Р РЋРІР‚С™Р РЋР РЏ Р  Р’В·Р  Р’В°Р  Р вЂ Р  Р’В¶Р  РўвЂР  РЎвЂ Р  Р’В·Р  Р’В°Р  Р’В»Р  РЎвЂР РЋРІвЂљВ¬Р  Р’В°Р РЋРІР‚СњР РЋРІР‚С™Р РЋР Р‰Р РЋР С“Р РЋР РЏ
   * Р  РўвЂР  РЎвЂўР РЋР С“Р РЋРІР‚С™Р РЋРЎвЂњР  РЎвЂ”Р  Р вЂ¦Р  РЎвЂўР РЋР вЂ№ Р  РЎвЂ”Р РЋРІР‚вЂњР  РўвЂ Р РЋРІР‚РЋР  Р’В°Р РЋР С“ Р  РЎвЂ”Р РЋР вЂљР  РЎвЂўР  РЎвЂќР РЋР вЂљР РЋРЎвЂњР РЋРІР‚С™Р  РЎвЂќР  РЎвЂ Р РЋРІР‚С›Р  РЎвЂўР РЋР вЂљР  РЎВР  РЎвЂ.
   */
  .contact-modal__close {
    position: fixed;

    top: max(14px, env(safe-area-inset-top));
    right: max(14px, env(safe-area-inset-right));

    width: 46px;
    height: 46px;
  }

  .contact-modal__intro {
    display: block;

    padding:
      68px
      22px
      28px;

    border-right: 0;
    border-bottom: 1px solid rgba(246, 243, 236, 0.1);
  }

  .contact-modal__eyebrow {
    margin-bottom: 24px;

    font-size: 10px;
    line-height: 1.2;
  }

  .contact-modal__intro h2 {
    width: 100%;
    max-width: 11ch;

    font-size: clamp(34px, 9.6vw, 52px);
    line-height: 0.93;
    letter-spacing: -0.055em;
  }

  .contact-modal__description {
    max-width: 36rem;
    margin-top: 22px;

    font-size: 15px;
    line-height: 1.5;
  }

  /*
   * Р  РЎСљР  Р’В° Р РЋРІР‚С™Р  Р’ВµР  Р’В»Р  Р’ВµР РЋРІР‚С›Р  РЎвЂўР  Р вЂ¦Р  Р’В°Р РЋРІР‚В¦ Р РЋРІР‚вЂњ Р  Р вЂ¦Р  Р’ВµР  Р вЂ Р  Р’ВµР  Р’В»Р  РЎвЂР  РЎвЂќР  РЎвЂР РЋРІР‚В¦ Р  РЎвЂ”Р  Р’В»Р  Р’В°Р  Р вЂ¦Р РЋРІвЂљВ¬Р  Р’ВµР РЋРІР‚С™Р  Р’В°Р РЋРІР‚В¦
   * Р  РЎвЂ”Р  РЎвЂўР  Р’В»Р РЋР РЏ Р  Р’В·Р  Р’В°Р  Р вЂ Р  Р’В¶Р  РўвЂР  РЎвЂ Р  РІвЂћвЂ“Р  РўвЂР РЋРЎвЂњР РЋРІР‚С™Р РЋР Р‰ Р  Р вЂ  Р  РЎвЂўР  РўвЂР  Р вЂ¦Р РЋРЎвЂњ Р  РЎвЂќР  РЎвЂўР  Р’В»Р  РЎвЂўР  Р вЂ¦Р  РЎвЂќР РЋРЎвЂњ.
   */
  .contact-modal__form {
    grid-template-columns: 1fr;
    gap: 17px;

    width: 100%;

    padding:
      28px
      22px
      max(30px, env(safe-area-inset-bottom));
  }

  .contact-modal__field,
  .contact-modal__field--full {
    grid-column: auto;

    width: 100%;
    min-width: 0;
  }

  .contact-modal__field input,
  .contact-modal__field select {
    min-height: 54px;

    /*
     * 16px Р  Р’В·Р  Р’В°Р  РЎвЂ”Р  РЎвЂўР  Р’В±Р РЋРІР‚вЂњР  РЎвЂ“Р  Р’В°Р РЋРІР‚Сњ Р  Р’В°Р  Р вЂ Р РЋРІР‚С™Р  РЎвЂўР  РЎВР  Р’В°Р РЋРІР‚С™Р  РЎвЂР РЋРІР‚РЋР  Р вЂ¦Р  РЎвЂўР  РЎВР РЋРЎвЂњ zoom
     * Safari Р  РЎвЂ”Р РЋР вЂљР  РЎвЂ Р РЋРІР‚С›Р  РЎвЂўР  РЎвЂќР РЋРЎвЂњР РЋР С“Р РЋРІР‚вЂњ Р  Р вЂ¦Р  Р’В° Р  РЎвЂ”Р  РЎвЂўР  Р’В»Р РЋРІР‚вЂњ.
     */
    font-size: 16px;
  }

  .contact-modal__field textarea {
    min-height: 148px;
    font-size: 16px;
  }

  .contact-modal__footer {
    grid-column: auto;

    display: grid;
    gap: 13px;

    width: 100%;
  }

  .contact-modal__submit {
    width: 100%;
    min-width: 0;
  }

  .contact-modal__status {
    order: 2;
    width: 100%;
  }
}


/* Small phones: approximately 320Р Р†Р вЂљРІР‚Сљ430px */
@media (max-width: 430px) {
  .contact-modal {
    padding-top: max(5px, env(safe-area-inset-top));
    padding-right: max(5px, env(safe-area-inset-right));
    padding-bottom: max(8px, env(safe-area-inset-bottom));
    padding-left: max(5px, env(safe-area-inset-left));
  }

  .contact-modal__dialog {
    border-radius: 21px;
  }

  .contact-modal__close {
    top: max(10px, env(safe-area-inset-top));
    right: max(10px, env(safe-area-inset-right));

    width: 42px;
    height: 42px;
  }

  .contact-modal__intro {
    padding:
      60px
      17px
      24px;
  }

  .contact-modal__eyebrow {
    margin-bottom: 20px;
    font-size: 9px;
  }

  .contact-modal__intro h2 {
    max-width: 100%;

    font-size: clamp(30px, 10.4vw, 42px);
    line-height: 0.94;
  }

  .contact-modal__description {
    margin-top: 18px;

    font-size: 14px;
    line-height: 1.48;
  }

  .contact-modal__form {
    gap: 15px;

    padding:
      24px
      17px
      max(24px, env(safe-area-inset-bottom));
  }

  .contact-modal__field {
    gap: 8px;
  }

  .contact-modal__field input,
  .contact-modal__field select {
    min-height: 52px;
    padding-inline: 14px;
  }

  .contact-modal__field textarea {
    min-height: 136px;
    padding: 14px;
  }

  .contact-modal__submit {
    min-height: 54px;
  }
}


/* Р  РІР‚СњР РЋРЎвЂњР  Р’В¶Р  Р’Вµ Р  Р вЂ¦Р  РЎвЂР  Р’В·Р РЋР Р‰Р  РЎвЂќР РЋРІР‚вЂњ Р  Р’ВµР  РЎвЂќР РЋР вЂљР  Р’В°Р  Р вЂ¦Р  РЎвЂ Р РЋРІР‚С™Р  Р’В° landscape */
@media (max-width: 820px) and (max-height: 700px) {
  .contact-modal__intro {
    padding-top: 58px;
    padding-bottom: 22px;
  }

  .contact-modal__eyebrow {
    margin-bottom: 16px;
  }

  .contact-modal__intro h2 {
    font-size: clamp(30px, 8vw, 42px);
  }

  .contact-modal__description {
    margin-top: 15px;
  }

  .contact-modal__form {
    padding-top: 22px;
    padding-bottom: max(22px, env(safe-area-inset-bottom));
  }

  .contact-modal__field textarea {
    min-height: 118px;
  }
}

/* ==========================================================
   Mobile menu contact button parity patch
   Keeps the CONTACT button visually identical to menu links
   while preventing anchor scrolling when HTML uses <button>.
   ========================================================== */

.mobile-menu__contact {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: clamp(42px, 6vw, 58px) minmax(0, 1fr) clamp(28px, 4vw, 38px);
  align-items: center;
  justify-content: stretch;
  gap: clamp(14px, 2.6vw, 34px);
  width: 100%;
  min-width: 0;
  min-height: clamp(72px, 8.6vw, 104px);
  margin: 8px 0 0;
  padding: clamp(16px, 2vw, 24px) clamp(14px, 2.2vw, 24px);
  overflow: hidden;
  border: 1px solid rgba(246, 243, 236, 0.055);
  border-radius: clamp(18px, 2.2vw, 28px);
  outline: 0;
  background: rgba(255, 255, 255, 0.018);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  font: inherit;
  font-size: clamp(31px, 5.4vw, 60px);
  font-weight: 950;
  line-height: 0.92;
  letter-spacing: -0.058em !important;
  text-align: left;
  white-space: normal;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transform: translateZ(0);
  transition:
    color 0.28s var(--ease),
    border-color 0.28s var(--ease),
    background 0.28s var(--ease),
    box-shadow 0.28s var(--ease),
    transform 0.28s var(--ease);
}

.mobile-menu__contact::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(circle at 16% 50%, rgba(185, 163, 105, 0.18), transparent 18rem),
    linear-gradient(90deg, rgba(246, 243, 236, 0.08), rgba(246, 243, 236, 0.018));
  opacity: 0;
  pointer-events: none;
  transform: none !important;
  transition: opacity 0.28s var(--ease);
}

.mobile-menu__contact::after {
  content: "";
  grid-column: 3;
  width: clamp(24px, 3vw, 32px);
  height: clamp(24px, 3vw, 32px);
  justify-self: end;
  border: 1px solid rgba(246, 243, 236, 0.14);
  border-radius: 50%;
  background:
    linear-gradient(135deg, rgba(246, 243, 236, 0.16), rgba(246, 243, 236, 0.02));
  box-shadow: inset 0 0 0 7px rgba(5, 5, 5, 0.35);
  opacity: 0.48;
  pointer-events: none;
  transform: scale(0.92) !important;
  transition:
    opacity 0.28s var(--ease),
    border-color 0.28s var(--ease),
    background 0.28s var(--ease),
    box-shadow 0.28s var(--ease),
    transform 0.28s var(--ease);
}

.mobile-menu__contact > span {
  grid-column: 1;
  display: inline-grid;
  width: clamp(34px, 4.8vw, 46px);
  height: clamp(34px, 4.8vw, 46px);
  place-items: center;
  justify-self: start;
  border: 1px solid rgba(185, 163, 105, 0.22);
  border-radius: 999px;
  background: rgba(185, 163, 105, 0.075);
  color: var(--gold);
  font-size: clamp(10px, 1.12vw, 12px);
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0.08em;
  transform: none !important;
  transition:
    color 0.28s var(--ease),
    border-color 0.28s var(--ease),
    background 0.28s var(--ease);
}

.mobile-menu__contact > strong {
  grid-column: 2;
  display: block;
  min-width: 0;
  max-width: none;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-wrap: balance;
}

.mobile-menu__contact:hover,
.mobile-menu__contact.is-active {
  color: var(--ink);
  border-color: rgba(185, 163, 105, 0.32);
  background: rgba(255, 255, 255, 0.042);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 18px 58px rgba(0, 0, 0, 0.28);
}

.mobile-menu__contact:hover::before,
.mobile-menu__contact.is-active::before {
  opacity: 1;
}

.mobile-menu__contact:hover::after,
.mobile-menu__contact.is-active::after {
  opacity: 1;
  border-color: rgba(185, 163, 105, 0.46);
  background: linear-gradient(135deg, var(--ink), var(--gold));
  box-shadow: 0 0 30px rgba(185, 163, 105, 0.22);
  transform: scale(1) !important;
}

.mobile-menu__contact:focus-visible {
  border-color: rgba(185, 163, 105, 0.68);
  box-shadow:
    0 0 0 3px rgba(185, 163, 105, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.mobile-menu__contact:active {
  transform: translateY(0) scale(0.997);
}

@media (hover: hover) and (pointer: fine) {
  .mobile-menu__contact:hover {
    transform: none !important;
    letter-spacing: -0.058em !important;
  }

  .mobile-menu__contact:hover > span {
    color: var(--gold) !important;
    border-color: rgba(185, 163, 105, 0.42) !important;
    background: rgba(185, 163, 105, 0.11) !important;
    transform: none !important;
  }
}

@media (max-width: 720px) {
  .mobile-menu__contact {
    grid-template-columns: 38px minmax(0, 1fr) 26px;
    min-height: 68px;
    margin-top: 7px;
    padding: 14px 12px;
    border-radius: 18px;
    font-size: clamp(27px, 8.2vw, 38px);
    line-height: 0.96;
  }

  .mobile-menu__contact > span {
    width: 32px;
    height: 32px;
    font-size: 10px;
  }

  .mobile-menu__contact::after {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 430px) {
  .mobile-menu__contact {
    grid-template-columns: 34px minmax(0, 1fr) 22px;
    padding: 13px 10px;
    font-size: clamp(25px, 7.7vw, 34px);
  }
}

@media (max-width: 370px) {
  .mobile-menu__contact {
    grid-template-columns: 32px minmax(0, 1fr) 22px;
    gap: 10px;
    min-height: 64px;
    padding-inline: 9px;
    font-size: 29px;
  }
}


/* ==========================================================
   Mobile Major Achievements spacing correction
   ========================================================== */

@media (max-width: 720px) {
  /*
   * Р СџРЎР‚Р С‘Р В±Р С‘РЎР‚Р В°РЎвЂќР СР С• Р Р…Р В°Р Т‘Р СРЎвЂ“РЎР‚Р Р…РЎС“ Р С—Р С•РЎР‚Р С•Р В¶Р Р…РЎР‹ Р В·Р С•Р Р…РЎС“ Р СРЎвЂ“Р В¶
   * Р С•РЎРѓРЎвЂљР В°Р Р…Р Р…РЎвЂ“Р С РЎвЂљР ВµР С”РЎРѓРЎвЂљР С•Р С РЎвЂ“РЎРѓРЎвЂљР С•РЎР‚РЎвЂ“РЎвЂ” РЎвЂљР В° Major Achievements.
   */
  .story-continuation {
    padding-bottom: 24px;
  }

  .story-continuation + .metric-stage {
    padding-top: 36px;
  }

  /*
   * Р вЂќР В°РЎвЂќР СР С• Р В±РЎвЂ“Р В»РЎРЉРЎв‚¬Р Вµ Р С—Р С•Р Р†РЎвЂ“РЎвЂљРЎР‚РЎРЏ Р С—РЎвЂ“РЎРѓР В»РЎРЏ РЎвЂљР В°Р В±Р В»Р ВµРЎвЂљР С”Р С‘ Chicago IL.
   * Р вЂ™РЎР‚Р В°РЎвЂ¦Р С•Р Р†РЎС“РЎвЂќР СР С• Р Р†Р С‘РЎРѓР С•РЎвЂљРЎС“ РЎРѓР В°Р СР С•РЎвЂ” РЎвЂљР В°Р В±Р В»Р ВµРЎвЂљР С”Р С‘ РЎвЂљР В° РЎвЂ”РЎвЂ” offset.
   */
  .achievement-media--11:has(.story-media__location) {
    margin-bottom: 96px;
  }
}

@media (max-width: 420px) {
  .story-continuation {
    padding-bottom: 20px;
  }

  .story-continuation + .metric-stage {
    padding-top: 30px;
  }

  .achievement-media--11:has(.story-media__location) {
    margin-bottom: 92px;
  }
}

/* ==========================================================
   GivingEgg signature quote
   Always one line
   ========================================================== */

.project-copy .givingegg-quote {
  display: block;
  width: 100%;
  max-width: 100%;
  margin:
    clamp(28px, 2.8vw, 44px)
    0;

  color: var(--ink);

  font-family:
    "Bodoni Moda",
    Didot,
    "Bodoni 72",
    "Times New Roman",
    serif;

  font-size: clamp(36px, 3.15vw, 56px);
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  letter-spacing: -0.045em;

  white-space: nowrap;
  text-wrap: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 720px) {
  .project-copy .givingegg-quote {
    display: inline-block;

    /*
     * Р вЂРЎвЂ“Р В»РЎРЉРЎв‚¬Р С‘Р в„– РЎР‚Р С•Р В·Р СРЎвЂ“РЎР‚ Р С—Р С• Р Р†Р С‘РЎРѓР С•РЎвЂљРЎвЂ“, Р В°Р В»Р Вµ Р В»Р ВµР С–Р С”Р Вµ Р С–Р С•РЎР‚Р С‘Р В·Р С•Р Р…РЎвЂљР В°Р В»РЎРЉР Р…Р Вµ
     * РЎРѓРЎвЂљР С‘РЎРѓР С”Р В°Р Р…Р Р…РЎРЏ Р Т‘Р С•Р В·Р Р†Р С•Р В»РЎРЏРЎвЂќ Р В·Р В±Р ВµРЎР‚Р ВµР С–РЎвЂљР С‘ Р С•Р Т‘Р С‘Р Р… РЎР‚РЎРЏР Т‘Р С•Р С”.
     */
    width: calc(100% / 0.92);
    max-width: none;
    margin-block: 28px;

    font-size: clamp(30px, 8.6vw, 40px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.065em;

    white-space: nowrap;

    transform: scaleX(0.92);
    transform-origin: left center;
  }
}

@media (max-width: 420px) {
  .project-copy .givingegg-quote {
    width: calc(100% / 0.89);

    font-size: clamp(28px, 8.5vw, 35px);
    letter-spacing: -0.07em;

    transform: scaleX(0.89);
  }
}

@media (max-width: 350px) {
  .project-copy .givingegg-quote {
    width: calc(100% / 0.86);

    font-size: 27px;
    letter-spacing: -0.075em;

    transform: scaleX(0.86);
  }
}

/* ==========================================================
   Contact modal РІР‚вЂќ mobile scroll arrow
   ========================================================== */

.contact-modal__scroll-cue {
  display: none;
}

@media (max-width: 820px) {
  .contact-modal__scroll-cue {
    position: fixed;
    left: 50%;
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 1010;

    display: grid;
    width: 50px;
    height: 50px;
    padding: 0;
    place-items: center;

    border: 1px solid rgba(246, 243, 236, 0.2);
    border-radius: 50%;
    outline: none;

    appearance: none;
    -webkit-appearance: none;

    background:
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.12),
        rgba(255, 255, 255, 0.045)
      ),
      rgba(8, 8, 8, 0.9);

    color: var(--gold);

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    box-shadow:
      0 16px 46px rgba(0, 0, 0, 0.62),
      0 0 0 7px rgba(5, 5, 5, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translate(-50%, 14px) scale(0.94);

    cursor: pointer;
    touch-action: manipulation;

    transition:
      opacity 0.25s var(--ease),
      visibility 0s linear 0.25s,
      transform 0.25s var(--ease);
  }

  .contact-modal__scroll-cue svg {
    width: 22px;
    height: 22px;

    animation: contactScrollArrow 1.35s ease-in-out infinite;
  }

  .contact-modal__scroll-cue.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translate(-50%, 0) scale(1);

    transition-delay: 0s;
  }

  .contact-modal__scroll-cue:active {
    transform: translate(-50%, 2px) scale(0.94);
  }
}

@keyframes contactScrollArrow {
  0%,
  100% {
    transform: translateY(-3px);
  }

  50% {
    transform: translateY(4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-modal__scroll-cue svg {
    animation: none;
  }
}

/* Mobile menu РІР‚вЂќ align labels to the left */
@media (max-width: 720px) {
  .mobile-menu a,
  .mobile-menu__contact {
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 14px;
    padding-inline: 18px;
  }

  .mobile-menu a > span,
  .mobile-menu__contact > span {
    display: none;
  }

  .mobile-menu a > strong,
  .mobile-menu__contact > strong {
    grid-column: 1;
    justify-self: start;
    max-width: 100%;
    text-align: left;
  }

  .mobile-menu a::after,
  .mobile-menu__contact::after {
    grid-column: 2;
    justify-self: end;
  }
}

@media (max-width: 430px) {
  .mobile-menu a,
  .mobile-menu__contact {
    grid-template-columns: minmax(0, 1fr) 30px;
    gap: 12px;
    padding-inline: 14px;
  }
}

/* ==========================================================
   FINAL РІР‚вЂќ iOS Safari story section clipping fix
   ========================================================== */

@media (max-width: 720px) {
  .story-continuation.section-full {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
    min-width: 0;

    margin-right: auto;
    margin-left: auto;
  }

  .story-continuation__content {
    justify-self: stretch;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    margin-right: 0;
    margin-left: 0;

    /*
     * Р СџРЎР‚Р С‘Р В±Р С‘РЎР‚Р В°РЎвЂќ Safari sizing bug, РЎРѓР С—РЎР‚Р С‘РЎвЂЎР С‘Р Р…Р ВµР Р…Р С‘Р в„–
     * container-type: inline-size Р Р…Р В° .story-copy.
     */
    container-type: normal;
    transform: none;
  }

  .story-continuation__content > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .story-continuation__content .story-people-carousel,
  .story-continuation__content .story-quote-card,
  .story-continuation__content .story-principles-block,
  .story-continuation__content .story-media,
  .story-continuation__content .story-wheel-grid,
  .story-continuation__content .case-study-buttons {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    margin-right: 0;
    margin-left: 0;
  }

  .story-continuation__content .story-quote-card p {
    width: 100%;
    max-width: 100%;

    overflow-wrap: break-word;
    word-break: normal;
  }

  .story-continuation__content .story-people-carousel__controls {
    right: 12px;
    max-width: calc(100% - 24px);
  }
}

@media (max-width: 420px) {
  .story-continuation.section-full {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }
}

/* ==========================================================
   Visual evidence gallery РІР‚вЂќ top aligned, varied natural sizes
   No empty areas and no image cropping
   ========================================================== */

/*
 * Every AVIF source in this gallery is 1600 Р“вЂ” 1600.
 * Therefore the only way to have zero cropping and zero empty space
 * is to keep each card square, while varying its overall size.
 */
.gallery-track {
  align-items: flex-start;
}

.gallery-item--media {
  position: relative;
  isolation: isolate;

  flex: 0 0 auto;
  align-self: flex-start;

  width: var(--gallery-card-size, 430px);
  min-width: var(--gallery-card-size, 430px);
  height: var(--gallery-card-size, 430px);

  overflow: hidden;
  padding: 18px;

  background: #090908;
}

.gallery-item--media .gallery-item__image {
  position: absolute;
  inset: 0;
  z-index: 0;

  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transform: scale(1.001);

  transition:
    transform 0.7s var(--ease),
    filter 0.7s var(--ease);
}

.gallery-item--media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      180deg,
      rgba(3, 3, 3, 0.01) 24%,
      rgba(3, 3, 3, 0.04) 56%,
      rgba(3, 3, 3, 0.78) 100%
    );

  pointer-events: none;
}

.gallery-item--media .gallery-item__title {
  position: relative;
  z-index: 2;

  display: block;
  max-width: calc(100% - 4px);

  color: var(--ink);

  font-size: 12px;
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-transform: uppercase;

  text-shadow:
    0 2px 18px rgba(0, 0, 0, 0.86),
    0 1px 2px rgba(0, 0, 0, 0.74);
}

/* Deliberately uneven card sizes */
.gallery-item--media[data-media-slot="15"] {
  --gallery-card-size: 520px;
}

.gallery-item--media[data-media-slot="16"] {
  --gallery-card-size: 400px;
}

.gallery-item--media[data-media-slot="20-1"] {
  --gallery-card-size: 460px;
}

.gallery-item--media[data-media-slot="17"] {
  --gallery-card-size: 490px;
}

.gallery-item--media[data-media-slot="18"] {
  --gallery-card-size: 430px;
}

.gallery-item--media[data-media-slot="20-2"] {
  --gallery-card-size: 510px;
}

.gallery-item--media[data-media-slot="19"] {
  --gallery-card-size: 410px;
}

.gallery-item--media[data-media-slot="20-3"] {
  --gallery-card-size: 470px;
}

.gallery-item--media:hover .gallery-item__image {
  transform: scale(1.018);
  filter: saturate(1.04) contrast(1.02);
}

@media (max-width: 720px) {
  .gallery-track {
    align-items: flex-start;
  }

  .gallery-item--media {
    width: var(--gallery-card-size-mobile, 82vw);
    min-width: var(--gallery-card-size-mobile, 82vw);
    height: var(--gallery-card-size-mobile, 82vw);
  }

  .gallery-item--media[data-media-slot="15"] {
    --gallery-card-size-mobile: 88vw;
  }

  .gallery-item--media[data-media-slot="16"] {
    --gallery-card-size-mobile: 72vw;
  }

  .gallery-item--media[data-media-slot="20-1"] {
    --gallery-card-size-mobile: 82vw;
  }

  .gallery-item--media[data-media-slot="17"] {
    --gallery-card-size-mobile: 86vw;
  }

  .gallery-item--media[data-media-slot="18"] {
    --gallery-card-size-mobile: 76vw;
  }

  .gallery-item--media[data-media-slot="20-2"] {
    --gallery-card-size-mobile: 88vw;
  }

  .gallery-item--media[data-media-slot="19"] {
    --gallery-card-size-mobile: 74vw;
  }

  .gallery-item--media[data-media-slot="20-3"] {
    --gallery-card-size-mobile: 84vw;
  }

  .gallery-item--media .gallery-item__title {
    font-size: 11px;
  }

  .gallery-item--media:hover .gallery-item__image {
    transform: scale(1.001);
    filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-item--media .gallery-item__image {
    transition: none;
  }
}

/* Achievement cards вЂ” real case study images */

.achievement-proof-card__media {
  overflow: hidden;
  background: none;
  opacity: 1;
  transform: none;
}

.achievement-proof-card__media::before {
  display: none;
}

.achievement-proof-card__image {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}

/* Individual crop positioning */

.achievement-proof-card__media[data-media-slot="12"]
  .achievement-proof-card__image {
  object-position: center top;
}

.achievement-proof-card__media[data-media-slot="13"]
  .achievement-proof-card__image {
  object-position: center 52%;
}

.achievement-proof-card__media[data-media-slot="14"]
  .achievement-proof-card__image {
  object-position: center;
}

/* ==========================================================
   HERO PORTRAIT SLIDER
   Apple-style crossfade, swipe and internal pagination
   ========================================================== */

.hero-portrait-slider {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

.hero-portrait-slider.is-dragging {
  cursor: grabbing;
}

.hero-portrait-slider__slides,
.hero-portrait-slider__slide {
  position: absolute;
  inset: 0;
}

.hero-portrait-slider__slides {
  z-index: 1;
}

.hero-portrait-slider__slide {
  opacity: 0;
  visibility: hidden;
  z-index: 0;

  transform: scale(1.035);
  filter: blur(3px) brightness(0.92);

  transition:
    opacity 1.05s var(--ease),
    transform 1.45s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.05s var(--ease),
    visibility 0s linear 1.05s;

  will-change: opacity, transform, filter;
}

.hero-portrait-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;

  transform: scale(1);
  filter: blur(0) brightness(1);

  transition-delay: 0s;
}

.hero-portrait-slider__image {
  position: absolute;
  inset: 0;

  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center 18%;

  pointer-events: none;
  -webkit-user-drag: none;

  filter:
    saturate(0.92)
    contrast(1.04)
    brightness(0.92);

  transform: none;
}



.hero-portrait-slider__dots {
  position: absolute;
  left: 50%;
  bottom: 14px;
  z-index: 5;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  padding: 7px 9px;
  border: 1px solid rgba(246, 243, 236, 0.12);
  border-radius: 999px;

  background: rgba(7, 7, 7, 0.38);

  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);

  transform: translateX(-50%);
}

.hero-portrait-slider__dot {
  width: 7px;
  height: 7px;
  min-width: 0;
  padding: 0;

  border: 0;
  border-radius: 999px;
  outline: none;

  appearance: none;
  -webkit-appearance: none;

  background: rgba(246, 243, 236, 0.38);
  cursor: pointer;

  transition:
    width 0.42s var(--ease),
    background-color 0.42s var(--ease),
    transform 0.25s var(--ease);
}

.hero-portrait-slider__dot:hover {
  background: rgba(246, 243, 236, 0.68);
}

.hero-portrait-slider__dot.is-active {
  width: 22px;
  background: var(--gold);
}

.hero-portrait-slider__dot:focus-visible {
  box-shadow:
    0 0 0 2px rgba(7, 7, 7, 0.9),
    0 0 0 4px rgba(185, 163, 105, 0.72);
}

.hero-portrait-slider__dot:active {
  transform: scale(0.9);
}

@media (max-width: 720px) {
  .hero-portrait-slider__dots {
    bottom: 12px;
    gap: 6px;
    padding: 6px 8px;
  }

  .hero-portrait-slider__dot {
    width: 6px;
    height: 6px;
  }

  .hero-portrait-slider__dot.is-active {
    width: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-portrait-slider__slide,
  .hero-portrait-slider__dot {
    transition: none;
  }
}

/* Hero slider — mobile portrait framing */
@media (max-width: 720px) {
  /* Усі фото: верх зображення завжди видимий */
  .hero-portrait-slider__image {
    object-position: center top;
  }

  /* Фото №2: трохи піднімаємо лице */
  .hero-portrait-slider__slide:nth-child(2)
    .hero-portrait-slider__image {
    object-position: center 30%;
  }
}

/* ==========================================================
   Hero slider — portrait mobile layout
   ========================================================== */

@media (max-width: 720px) {
  .hero-portrait-slider {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .hero-portrait-slider__slides,
  .hero-portrait-slider__slide {
    width: 100%;
    height: 100%;
  }

  .hero-portrait-slider__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}