:root {
  --paper: #ffffff;
  --ink: #1e1f1d;
  --muted: #696a66;
  --gold: #b79552;
  --gold-soft: #d8c69c;
  --line: #ddd6c6;
  --font-body: "Plus Jakarta Sans", sans-serif;
  --font-thin: "Plus Jakarta Sans", sans-serif;
  --font-bold: "Plus Jakarta Sans", sans-serif;
  --font-title: "Cormorant Garamond", serif;
  --font-subtitle: "Plus Jakarta Sans", sans-serif;
  --font-time: "Inter", sans-serif;
  --font-decorative: "Inter", sans-serif;
  --font-balerno: "Plus Jakarta Sans", sans-serif;
  --font-bayon: "Plus Jakarta Sans", sans-serif;
  --font-philosopher: "Plus Jakarta Sans", sans-serif;
  --serif: var(--font-title);
  --sans: var(--font-body);
  --page: min(1280px, calc(100vw - 96px));
  --motion-fast: .34s;
  --motion-medium: .78s;
  --motion-slow: 1.32s;
  --motion-cinematic: 1.5s;
  --motion-stagger: .1s;
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
  --motion-cinematic-ease: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; overflow-x: clip; background: #fff; }
body {
  margin: 0;
  overflow-x: clip;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
main { background: #fff; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.page-section { width: var(--page); max-width: 85vw; margin-inline: auto; }
.opening-inner,
.site-footer { max-width: none; }
.section-index { margin: 0 0 25px; color: #33332f; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.section-index b { color: var(--gold); font-weight: 600; }
.section-index span { margin: 0 12px; color: var(--gold); }
.gold-rule { display: block; width: 34px; height: 2px; margin: 22px 0 20px; background: var(--gold); }
.section-desc { max-width: 320px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2 { font-family: var(--font-title); }
h3 { font-family: var(--font-subtitle); }
.split-reveal-title { isolation: isolate; }
.titleRevealLine,
.titleRevealLine-mask {
  position: relative !important;
  display: block !important;
  background: transparent !important;
}
.titleRevealLine-mask {
  width: max-content;
  max-width: none;
  overflow: hidden !important;
}
main > section:not(.opening) { max-width: 85vw; margin-inline: auto; background-color: #fff; }

.site-topbar {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  width: 100%;
  height: 96px;
  padding-inline: clamp(36px, 3.2vw, 52px);
  display: grid;
  grid-template-columns: clamp(170px, 14vw, 200px) minmax(0, 1fr) clamp(210px, 16.5vw, 230px);
  align-items: center;
  gap: clamp(14px, 1.7vw, 24px);
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  transition: transform .35s ease, height .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.site-topbar.is-scrolled {
  top: 0;
  height: 82px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 8px 28px rgba(46,39,25,.08);
}
.site-topbar.is-hidden { transform: translateY(-110%); }
.topbar-brand { height: 100%; display: flex; align-items: center; justify-content: flex-start; }
.topbar-brand img { width: clamp(154px, 12.6vw, 182px); height: 48px; object-fit: contain; object-position: left center; filter: none; opacity: 1; transition: width .3s ease, height .3s ease; }
.site-topbar.is-scrolled .topbar-brand img { width: 168px; height: 44px; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(23px, 2.5vw, 40px); }
.primary-nav a { position: relative; padding: 12px 0; color: #30312e; font-family: var(--font-body); font-size: 11px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; transition: color .25s ease; }
.primary-nav a::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 0; height: 1px; background: var(--gold); transform: translateX(-50%); transition: width .3s ease; }
.primary-nav a:hover { color: #946d2c; }
.primary-nav a:hover::after { width: 100%; }
.topbar-tools { width: 100%; min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 17px; }
.language { display: flex; align-items: center; gap: 9px; color: inherit; font-size: 11px; line-height: 1; }
.language b { color: var(--gold); }
.language i { width: 1px; height: 12px; background: var(--line); }
.search-link { position: relative; display: block; width: 27px; height: 27px; flex: 0 0 27px; }
.search-link span::before { content: ""; position: absolute; left: 5px; top: 4px; width: 10px; height: 10px; border: 1.5px solid currentColor; border-radius: 50%; }
.search-link span::after { content: ""; position: absolute; left: 15px; top: 15px; width: 7px; height: 1.5px; background: currentColor; transform: rotate(45deg); transform-origin: left center; }
.contact-link { min-width: 108px; height: 32px; padding: 0 16px; display: grid; place-items: center; color: #fff; background: var(--gold); border: 1px solid var(--gold); border-radius: 0; box-shadow: none; font-size: 11px; font-weight: 600; letter-spacing: .09em; text-align: center; text-transform: uppercase; transition: color .25s ease, background-color .25s ease; }
.contact-link:hover { color: var(--gold); background: #fff; border-color: var(--gold); transform: none; }
.nav-toggle { display: none; }

.opening { position: relative; min-height: 715px; border-bottom: 1px solid var(--line); background: #fff; overflow: hidden; }
.opening-inner { position: relative; min-height: 715px; display: flex; align-items: center; }
.opening-inner::after { display: none; }
.opening-copy { position: relative; z-index: 2; width: min(560px, 42%); padding: 112px 0 42px; }
.opening-label { margin: 0 0 20px; color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.opening-copy h1,
.capability-copy h2,
.investment > h2,
.featured-projects > h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  line-height: .93;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.opening-copy h1 { color: #172130; font-size: clamp(43px, 4vw, 48px); line-height: 1.08; letter-spacing: -.035em; text-shadow: none; }
.opening-copy h1 > span { display: block; }
.opening-copy h1 > span + span { margin-top: 3px; }
.opening-intro { max-width: 435px; margin: 23px 0 0; color: #384554; font-size: 14px; line-height: 1.7; text-shadow: none; }
.opening-actions { display: flex; align-items: center; gap: 38px; margin-top: 32px; }
.opening-actions a { font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.opening-actions a:first-child { padding: 16px 29px; color: #fff; background: var(--gold); }
.opening-actions a:last-child { display: flex; gap: 21px; color: var(--gold); }
.opening-media { position: absolute; z-index: 0; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); }
.opening-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.4) 28%, rgba(255,255,255,.08) 48%, transparent 62%); pointer-events: none; }
.opening-image { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; filter: saturate(.94) contrast(1.02) brightness(.99); }
.opening-scroll { display: none; }

.brand-story {
  position: relative;
  min-height: 0;
  margin-top: 60px;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  align-items: stretch;
  border-bottom: 0;
  background: #fff;
  overflow: hidden;
}
.brand-story-visual { position: relative; z-index: 1; min-height: 0; }
.brand-collage { position: relative; width: 100%; height: 100%; min-height: 0; isolation: isolate; }
.brand-collage-image {
  position: absolute;
  left: 0;
  width: 78%;
  height: calc(50% - 12px);
  margin: 0;
  overflow: hidden;
  background: #d8d4ca;
}
.brand-collage-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 55%, rgba(17,31,43,.12)); pointer-events: none; }
.brand-collage-image img { width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.78) contrast(1.025); transform: scale(1.015); transition: transform .9s cubic-bezier(.16,1,.3,1), filter .5s ease; }
.brand-collage-image:hover img { filter: saturate(.96) contrast(1.02); transform: scale(1.045); }
.brand-collage-image-top { top: 0; clip-path: polygon(0 0, 90% 0, 100% 13%, 72% 100%, 0 100%); }
.brand-collage-image-bottom { bottom: 0; clip-path: polygon(0 0, 72% 0, 100% 74%, 92% 100%, 0 100%); }
.brand-collage-image-top img { object-position: center 50%; }
.brand-collage-image-bottom img { object-position: center 22%; }
.brand-collage-logo {
  position: absolute;
  z-index: 3;
  left: 78%;
  top: 50%;
  width: min(29%, 230px);
  padding: 0;
  margin-left: 25px;
  display: grid;
  place-items: center;
  background: transparent;
  transform: translate(-50%, -50%);
}
.brand-collage-logo img {
  display: block;
  width: 100%;
  height: auto;
  margin: auto;
  object-fit: contain;
}
.brand-story-copy {
  position: relative;
  z-index: 2;
  padding: 0 clamp(18px, 2vw, 30px) 0 clamp(34px, 3.7vw, 56px);
  align-self: center;
  isolation: isolate;
}
.brand-story-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 -12vw 36px -30px;
  background-image:
    linear-gradient(30deg, rgba(30,62,91,.08) 12%, transparent 12.5%, transparent 87%, rgba(30,62,91,.08) 87.5%),
    linear-gradient(150deg, rgba(30,62,91,.08) 12%, transparent 12.5%, transparent 87%, rgba(30,62,91,.08) 87.5%);
  background-size: 22px 38px;
  background-position: 0 0, 11px 19px;
  mask-image: radial-gradient(ellipse at 57% 46%, #000 0 54%, transparent 82%);
  opacity: .72;
  pointer-events: none;
}
.brand-story-accent { display: block; width: 100px; height: 4px; margin-bottom: 26px; background: #e6542e; }
.brand-story-copy h2 { margin: 0 0 38px; color: #17304c; font-family: var(--font-title); font-size: clamp(30px, 2.8vw, 38px); font-weight: 700; line-height: 1.05; letter-spacing: -.02em; text-transform: uppercase; }
.brand-story-copy p { max-width: 610px; margin: 0 0 18px; color: #33383d; font-size: 14px; line-height: 1.72; }
.brand-story-copy p:last-child { margin-bottom: 0; }
.brand-story-copy strong { color: var(--ink); font-weight: 600; }
.brand-story-extra,
.brand-story-extra-inner { display: contents; }
.brand-mobile-nav,
.brand-mobile-swipe,
.brand-mobile-pagination,
.brand-story-more { display: none; }
.development-path {
  position: relative;
  padding: clamp(96px, 9vw, 132px) 0 clamp(87px, 7.5vw, 114px);
  border-bottom: 1px solid var(--line);
  background: #fff;
  overflow: hidden;
}
.development-path > h2 {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #a88137;
  font-family: var(--font-title);
  font-size: clamp(44px, 4.2vw, 56px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .035em;
  text-align: center;
  text-transform: none;
}
.development-path > h2::after {
  content: "";
  display: block;
  width: 42px;
  height: 1px;
  margin: 22px auto 0;
  background: var(--gold);
  transform: scaleX(var(--gold-line-scale, 1));
  transform-origin: 0 50%;
}
.development-path-stage {
  position: relative;
  width: min(1200px, 100%);
  height: auto;
  aspect-ratio: 12 / 5;
  margin: 16px auto 0;
}
.development-path-center {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  width: 34%;
  height: 88%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.development-path-logo {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 42.4%;
  height: auto;
  transform: translate(-50%, -50%);
  filter: saturate(.95) contrast(1.02);
  transition: opacity .72s cubic-bezier(.22,.8,.24,1);
  will-change: opacity;
}
.development-path-detail {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  width: 96%;
  height: 96%;
  padding: 1px;
  border: 0;
  background: linear-gradient(145deg, #dfc07a, #8f6727 58%, #ead5a4);
  border-radius: 48% 48% 10px 10px / 30% 30% 10px 10px;
  box-shadow: 0 22px 44px rgba(65,48,19,.16), 0 0 0 6px rgba(181,138,62,.04);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -47%) scale(.94);
  transition: opacity .38s ease, visibility .38s ease, transform .52s cubic-bezier(.22,.8,.24,1);
  will-change: opacity, transform;
}
.development-path-detail-backdrop,
.development-path-detail-close { display: none; }
.development-path-detail-inner {
  height: 100%;
  padding: 64px 34px 24px;
  display: grid;
  align-content: start;
  justify-items: center;
  border-radius: calc(48% - 1px) calc(48% - 1px) 9px 9px / calc(30% - 1px) calc(30% - 1px) 9px 9px;
  background:
    radial-gradient(circle at 50% 9%, rgba(206,169,91,.12), transparent 34%),
    #fff;
  text-align: center;
}
.development-path-detail span {
  color: #aa7e33;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.development-path-detail strong {
  margin-top: 10px;
  color: #a67a30;
  font-family: var(--font-title);
  font-size: clamp(44px, 3.8vw, 58px);
  font-weight: 500;
  line-height: .8;
}
.development-path-detail h3 {
  max-width: 330px;
  margin: 13px 0 0;
  color: #1f211d;
  font-family: var(--font-title);
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 500;
  line-height: 1;
}
.development-path-detail p {
  max-width: 330px;
  margin: 12px 0 0;
  color: #6f716a;
  font-size: 12px;
  line-height: 1.5;
}
.development-path-detail small {
  margin-top: 12px;
  color: #a98a52;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .16em;
}
.development-path-stage.has-active .development-path-logo {
  opacity: 0;
  transform: translate(-50%, -50%);
}
.development-path-stage.has-active .development-path-detail {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.development-path-detail.is-updating .development-path-detail-inner > * {
  animation: development-detail-in .55s cubic-bezier(.22,.8,.24,1) both;
}
.development-path-detail.is-updating strong { animation-delay: .03s; }
.development-path-detail.is-updating h3 { animation-delay: .07s; }
.development-path-detail.is-updating p { animation-delay: .11s; }
.development-path-detail.is-updating small { animation-delay: .15s; }
@keyframes development-detail-in {
  from { opacity: 0; transform: translateY(13px); }
  to { opacity: 1; transform: translateY(0); }
}
.development-path-connectors {
  position: absolute;
  z-index: 3;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.development-path-connectors path {
  fill: none;
  stroke: #bd994f;
  stroke-width: 1.15;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transition: opacity .3s ease, stroke .3s ease, stroke-width .3s ease, filter .3s ease;
}
.development-path-stage.has-sequence-animation .development-path-connectors path {
  stroke-dasharray: var(--connector-length) var(--connector-length);
  stroke-dashoffset: var(--connector-length);
}
.development-path-stage.has-sequence-animation .development-path-connectors path.is-drawing {
  animation: development-connector-draw .708s cubic-bezier(.45, 0, .2, 1) forwards;
}
.development-path-stage.has-sequence-animation .development-path-connectors path.is-erasing {
  animation: development-connector-erase .62s cubic-bezier(.55, 0, .7, 1) forwards;
}
.development-path-stage.has-sequence-animation .development-path-connectors path.is-drawn {
  animation: none;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  filter: none;
}
@keyframes development-connector-draw {
  0% {
    stroke-dashoffset: var(--connector-length);
    stroke: #c7a65e;
    opacity: .22;
    filter: drop-shadow(0 0 0 rgba(216,170,79,0));
  }
  28% {
    opacity: 1;
    filter: drop-shadow(0 0 5px rgba(216,170,79,.82));
  }
  82% {
    stroke: #e0b85e;
    opacity: 1;
    filter: drop-shadow(0 0 7px rgba(216,170,79,.72));
  }
  100% {
    stroke-dashoffset: 0;
    stroke: #bd994f;
    opacity: 1;
    filter: drop-shadow(0 0 0 rgba(216,170,79,0));
  }
}
@keyframes development-connector-erase {
  0% {
    stroke-dashoffset: 0;
    opacity: 1;
    filter: drop-shadow(0 0 5px rgba(216,170,79,.58));
  }
  100% {
    stroke-dashoffset: var(--connector-length);
    opacity: 0;
    filter: drop-shadow(0 0 0 rgba(216,170,79,0));
  }
}
.development-path-connectors circle { fill: #bd994f; }
.development-path-milestones { position: absolute; z-index: 4; inset: 0; }
.development-mobile-scroll-status { display: none; }
.development-milestone {
  position: absolute;
  width: 20.833%;
  color: #252522;
  cursor: pointer;
  outline: none;
  transition: opacity .3s ease, transform .38s cubic-bezier(.22,.8,.24,1);
}
.development-path-stage.has-sequence-animation .development-milestone {
  pointer-events: none;
}
.development-path-stage.has-sequence-animation .development-milestone time,
.development-path-stage.has-sequence-animation .development-milestone p {
  opacity: 0;
  transform: translateY(15px);
  transition:
    opacity .58s cubic-bezier(.22,.8,.24,1),
    transform .72s cubic-bezier(.22,.8,.24,1),
    color .35s ease,
    text-shadow .35s ease,
    filter .35s ease;
}
.development-path-stage.has-sequence-animation .development-milestone p {
  transition-delay: .07s;
}
.development-path-stage.has-sequence-animation .development-milestone.is-sequence-visible {
  pointer-events: auto;
}
.development-path-stage.has-sequence-animation .development-milestone.is-sequence-visible time,
.development-path-stage.has-sequence-animation .development-milestone.is-sequence-visible p {
  opacity: 1;
  transform: translateY(0);
}
.development-path-stage.has-sequence-animation .development-milestone.is-sequence-glowing time {
  animation: development-milestone-year-glow .9s cubic-bezier(.22,.8,.24,1) both;
}
.development-path-stage.has-sequence-animation .development-milestone.is-sequence-glowing p {
  animation: development-milestone-copy-glow .9s cubic-bezier(.22,.8,.24,1) .07s both;
}
@keyframes development-milestone-year-glow {
  0% { color: #a88137; text-shadow: 0 0 0 rgba(218,171,78,0); filter: brightness(1); }
  38% { color: #e0b45a; text-shadow: 0 0 22px rgba(218,171,78,.72); filter: brightness(1.2); }
  100% { color: #a88137; text-shadow: 0 0 0 rgba(218,171,78,0); filter: brightness(1); }
}
@keyframes development-milestone-copy-glow {
  0% { color: #252522; text-shadow: 0 0 0 rgba(218,171,78,0); }
  38% { color: #a87528; text-shadow: 0 0 14px rgba(218,171,78,.46); }
  100% { color: #252522; text-shadow: 0 0 0 rgba(218,171,78,0); }
}
.development-milestone time {
  display: block;
  color: #a88137;
  font-family: var(--font-time);
  font-size: clamp(38px, 3.2vw, 49px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.02em;
  transition: color .35s ease, text-shadow .35s ease;
}
.development-milestone p {
  margin: 11px 0 0;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .045em;
  text-transform: uppercase;
  transition: color .35s ease;
}
.development-path-stage.has-active .development-milestone:not(.is-active) {
  opacity: .22;
}
.development-milestone.is-active {
  z-index: 2;
  opacity: 1;
  transform: translateY(-3px);
}
.development-milestone.is-active time {
  color: #d2a34c;
  text-shadow: 0 0 18px rgba(203,158,70,.3);
}
.development-milestone.is-active p { color: #966b25; }
.development-milestone:focus-visible { outline: 1px solid rgba(181,138,62,.75); outline-offset: 7px; }
.development-path-stage.has-active .development-path-connectors path { opacity: .2; }
.development-path-stage.has-active .development-path-connectors path.is-active {
  opacity: 1;
  stroke: #d5a64e;
  stroke-width: 1.8;
}
.development-path-stage.has-sequence-animation .development-milestone.is-sequence-visible.is-active {
  transform: translateY(-3px);
}
.milestone-2009,
.milestone-2016,
.milestone-2017 { left: 0; text-align: right; }
.milestone-2020,
.milestone-2023,
.milestone-2026 { right: 0; text-align: left; }
.milestone-2017,
.milestone-2020 { top: 13.6%; }
.milestone-2016,
.milestone-2023 { top: 43.6%; }
.milestone-2009,
.milestone-2026 { top: 73.6%; }

.quick-facts { position: relative; min-height: 424px; padding: 44px 0 28px; border-bottom: 1px solid var(--line); overflow: hidden; }
.quick-facts-inner { position: relative; width: 100%; max-width: none; }
.facts-heading { position: relative; z-index: 2; }
.facts-heading p { margin: 0; color: var(--gold); font-family: var(--font-bold); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.facts-heading > span { display: block; width: 50px; height: 1px; margin: 18px 0; background: var(--gold); }
.facts-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(51px, 4.6vw, 60px); font-weight: 500; line-height: .95; letter-spacing: -.025em; text-transform: none; }
.facts-track { position: relative; z-index: 2; height: 218px; margin-top: 20px; display: grid; grid-template-columns: repeat(5, 1fr); }
.facts-track::before { content: ""; position: absolute; left: 0; right: 0; top: 98px; height: 1px; background: var(--gold); }
.facts-track article { position: relative; min-width: 0; text-align: center; }
.facts-track strong { position: absolute; left: 0; top: 5px; width: 100%; color: var(--gold); font-family: var(--font-time); font-size: clamp(39px, 3.35vw, 51px); font-weight: 400; line-height: 1; text-transform: uppercase; }
.facts-track article:nth-child(even) strong { top: 126px; }
.fact-marker { position: absolute; z-index: 2; left: 50%; top: 90px; width: 17px; height: 17px; border: 2px solid var(--gold); border-radius: 50%; background: radial-gradient(circle, var(--gold) 0 4px, var(--paper) 4.5px); transform: translateX(-50%); }
.fact-marker::before { display: none; }
.fact-label { position: absolute; top: 148px; left: 0; width: 100%; padding-inline: 12px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.facts-track article:nth-child(even) .fact-label { top: 187px; }
.fact-label::before { content: ""; display: block; width: 38px; height: 1px; margin: 0 auto 14px; background: var(--ink); }
.facts-emblem { position: absolute; z-index: 1; right: -62px; bottom: -92px; width: 265px; height: 400px; opacity: .26; pointer-events: none; transform: scale(.78); transform-origin: bottom right; }
.facts-emblem i { position: absolute; bottom: 0; width: 21px; border: 2px solid var(--gold-soft); background: rgba(255,255,255,.34); transform-origin: bottom center; }
.facts-emblem i:nth-child(1) { left: 4px; height: 150px; transform: rotate(-17deg); }
.facts-emblem i:nth-child(2) { left: 45px; height: 255px; transform: rotate(-10deg); }
.facts-emblem i:nth-child(3) { left: 89px; height: 350px; transform: rotate(-4deg); }
.facts-emblem i:nth-child(4) { left: 132px; height: 395px; }
.facts-emblem i:nth-child(5) { left: 175px; height: 350px; transform: rotate(4deg); }
.facts-emblem i:nth-child(6) { left: 219px; height: 255px; transform: rotate(10deg); }
.facts-emblem i:nth-child(7) { left: 260px; height: 150px; transform: rotate(17deg); }

.capability { display: grid; grid-template-columns: 47% 53%; min-height: 620px; padding: 51px 0; border-bottom: 1px solid var(--line); }
.capability-media { position: relative; width: 100%; height: 550px; overflow: hidden; background: #e7e5df; }
.capability-slide {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  visibility: hidden;
  transform-origin: center center;
}
.capability-slide.is-active { z-index: 1; visibility: visible; }
.capability-pagination { position: absolute; z-index: 4; left: 50%; bottom: 7px; display: flex; align-items: center; gap: 11px; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; transform: translateX(-50%); }
.capability-pagination button { width: 9px; height: 9px; padding: 0; border: 1px solid rgba(30,31,29,.28); border-radius: 50%; background: rgba(255,255,255,.78); box-shadow: 0 1px 5px rgba(20,18,13,.22); cursor: pointer; transition: background-color .3s ease, border-color .3s ease, transform .3s ease; }
.capability-pagination button.is-active { border-color: rgba(255,255,255,.8); background: var(--gold); transform: scale(1.18); }
.capability-copy { padding: 0 0 20px 65px; }
.capability-copy h2 { width: 100%; color: var(--gold); font-size: clamp(49px, 4.5vw, 60px); text-align: center; text-transform: none; }
.capability-kpis {
  height: clamp(330px, 29vw, 430px);
  margin-top: clamp(24px, 2.2vw, 32px);
  display: flex;
  align-items: flex-end;
  gap: clamp(5px, .55vw, 9px);
}
.capability-kpi {
  --pillar-height: 72%;
  --pillar-line: 48px;
  --pillar-shape: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
  position: relative;
  z-index: 1;
  width: auto;
  height: var(--pillar-height);
  min-width: 0;
  min-height: 0;
  flex: 1 1 0;
  padding: 0 clamp(5px, .55vw, 9px) clamp(40px, 3.2vw, 50px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: flex-end;
  color: #fff;
  text-align: center;
  border: 0;
  border-radius: 0;
  background: linear-gradient(145deg, #e2b958, #9d7029 48%, #f0ca70);
  box-shadow: 0 11px 20px rgba(28,23,15,.18);
  clip-path: var(--pillar-shape);
  transition: transform .3s ease, filter .3s ease, box-shadow .3s ease;
}
.capability-kpi::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 2px;
  width: auto;
  height: auto;
  background:
    radial-gradient(circle at 25% 18%, rgba(255,255,255,.045), transparent 28%),
    radial-gradient(circle at 75% 58%, rgba(255,255,255,.035), transparent 34%),
    linear-gradient(145deg, #1a1b1a, #0e1110 58%, #171817);
  clip-path: var(--pillar-shape);
}
.capability-kpi::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 22%;
  right: 22%;
  bottom: clamp(19px, 1.7vw, 27px);
  height: 1px;
  background: #e4bd59;
}
.capability-kpi:nth-child(2),
.capability-kpi:nth-child(5) { --pillar-height: 86%; --pillar-line: 68px; --pillar-shape: polygon(0 7%, 100% 0, 100% 100%, 0 100%); }
.capability-kpi:nth-child(3) { --pillar-height: 100%; --pillar-line: 92px; --pillar-shape: polygon(0 6%, 100% 0, 100% 100%, 0 100%); }
.capability-kpi:nth-child(4) { --pillar-height: 100%; --pillar-line: 92px; --pillar-shape: polygon(0 0, 100% 6%, 100% 100%, 0 100%); }
.capability-kpi:nth-child(5) { --pillar-shape: polygon(0 0, 100% 7%, 100% 100%, 0 100%); }
.capability-kpi:nth-child(6) { --pillar-height: 72%; --pillar-line: 48px; --pillar-shape: polygon(0 0, 100% 10%, 100% 100%, 0 100%); }
.capability-kpi:hover { filter: brightness(1.06); box-shadow: 0 17px 28px rgba(28,23,15,.23); transform: translateY(-4px); }
.capability-kpi strong {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  color: #e8c366;
  font-family: var(--font-time);
  font-size: clamp(15px, 1.55vw, 23px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.035em;
  white-space: nowrap;
  text-shadow: 0 1px 0 #6d4915;
}
.capability-kpi strong::before {
  content: "";
  display: block;
  width: 1px;
  height: var(--pillar-line);
  margin: 0 auto clamp(14px, 1.25vw, 20px);
  background: #e4bd59;
}
.capability-kpi-wide strong,
.capability-kpi:last-child strong { font-size: clamp(15px, 1.55vw, 23px); }
.capability-kpi span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: clamp(52px, 4.5vw, 68px);
  margin-top: clamp(15px, 1.4vw, 22px);
  color: #f7f4ed;
  font-size: clamp(9px, .75vw, 11px);
  font-weight: 600;
  line-height: 1.48;
  letter-spacing: .075em;
  text-align: center;
  text-transform: uppercase;
}

@media (min-width: 981px) {
  .opening { height: 100svh; min-height: 620px; }
  .opening-inner { width: calc(100vw - 96px); max-width: 1600px; height: 100%; min-height: 620px; }
  .opening-copy {
    width: min(630px, 46vw);
    margin-left: 50px;
    padding: clamp(112px, 14vh, 132px) 0 0;
    transform: translateY(8px);
  }
  .opening-copy::before {
    content: "";
    position: absolute;
    left: -50px;
    top: 103px;
    bottom: -14px;
    width: 1px;
    background: var(--gold);
  }
  .opening-label {
    margin-bottom: 22px;
    font-size: clamp(12px, .95vw, 16px);
    letter-spacing: .1em;
  }
  .opening-copy h1 {
    font-family: var(--font-title);
    font-size: clamp(52px, 3.9vw, 58px);
    line-height: 1.02;
    letter-spacing: .015em;
  }
  .opening-copy h1 > span { white-space: nowrap; }
  .opening-copy h1 > span + span { margin-top: clamp(12px, 1.5vh, 16px); }
  .opening-intro {
    max-width: 350px;
    margin-top: 24px;
    font-size: clamp(14px, 1.05vw, 18px);
    line-height: 1.65;
  }
  .opening-actions {
    gap: clamp(34px, 3vw, 52px);
    margin-top: clamp(30px, 4.2vh, 42px);
  }
  .opening-actions a {
    font-size: 12px;
    letter-spacing: .04em;
  }
  .opening-actions a:first-child {
    min-width: 210px;
    height: 40px;
    padding: 0 24px;
    display: grid;
    place-items: center;
  }
  .opening-actions a:last-child { gap: 20px; }
  .opening-actions a:last-child span { font-size: 20px; line-height: 1; }
  .opening-scroll {
    position: absolute;
    z-index: 3;
    right: clamp(28px, 3.2vw, 55px);
    top: 16%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 17px;
    color: var(--gold);
    font-family: var(--font-bold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
  }
  .opening-scroll i { width: 1px; height: 72px; background: var(--gold); }
  .opening-scroll span { writing-mode: vertical-rl; transform: rotate(180deg); }
  .capability {
    min-height: 0;
    padding-block: clamp(34px, 3.6vw, 52px);
    align-items: center;
  }
  .capability-media {
    height: auto;
    aspect-ratio: 1 / 1;
  }
  .capability-copy {
    padding: 0 0 0 clamp(58px, 4.7vw, 68px);
  }
  .capability-pillars { margin-top: clamp(38px, 3.8vw, 55px); }
}

.investment { padding: 87px 0 105px; border-bottom: 1px solid var(--line); }
.investment > h2,
.featured-projects > h2 { font-size: clamp(48px, 4.1vw, 60px); text-transform: none; }
.investment > h2 { text-align: left; }
.investment > h2::after {
  content: "";
  display: block;
  width: min(500px, 42vw);
  height: 1px;
  margin-top: 24px;
  background: linear-gradient(90deg, var(--gold) 0 56px, var(--line) 56px 100%);
  transform: scaleX(var(--gold-line-scale, 1));
  transform-origin: 0 50%;
}
.featured-projects > h2 { text-align: center; }
.investment-showcase {
  position: relative;
  isolation: isolate;
  overflow: visible;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
  align-items: center;
  gap: clamp(40px, 4.2vw, 66px);
  margin-top: 34px;
}
.investment-feature {
  position: relative;
  z-index: 1;
  height: clamp(390px, 31vw, 420px);
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 20px 45px rgba(45,37,20,.1);
}
.investment-feature-media { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; background: #ddd8cd; }
.investment-feature-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 35%, rgba(255,255,255,.16), transparent 67%); pointer-events: none; }
.investment-feature-media img { width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.investment-feature:hover .investment-feature-media img { transform: scale(1.025); }
.investment-feature-copy {
  position: relative;
  min-width: 0;
  padding: clamp(28px, 2.2vw, 34px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
.investment-feature-index { color: var(--gold); font-family: var(--font-time); font-size: clamp(42px, 3.6vw, 56px); line-height: .9; }
.investment-feature-copy > i { width: 40px; height: 1px; margin: 12px 0 14px; background: var(--gold); }
.investment-feature-title { margin: 0 0 14px; font-family: var(--font-subtitle); font-size: clamp(21px, 1.75vw, 27px); font-weight: 500; line-height: 1.06; text-transform: uppercase; }
.investment-feature-description { margin: 0; color: #4f504c; font-size: clamp(12px, 1vw, 14px); line-height: 1.65; }
.investment-feature-arrow { position: absolute; left: clamp(28px, 2.2vw, 34px); bottom: clamp(24px, 2vw, 30px); display: block; width: max-content; margin: 0; color: var(--gold); font-size: 26px; line-height: 1; text-decoration: none; transition: transform .25s ease, color .25s ease; }
.investment-feature-arrow:hover { color: #8e6b2f; transform: translateX(5px); }
@property --sector-light-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.investment-fan {
  position: relative;
  z-index: 2;
  width: 86%;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-self: end;
  overflow: visible;
  isolation: isolate;
}
.investment-sector {
  --investment-ease: cubic-bezier(.22, 1, .36, 1);
  --magnetic-x: 0px;
  --magnetic-y: 0px;
  --sector-hover-scale: 1;
  --sector-light-angle: 0deg;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 62px;
  margin-left: auto;
  margin-right: 0;
  padding: 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: 32% 68%;
  color: #f4efe3;
  background: #151919;
  border: 1px solid rgba(183,149,82,.2);
  border-radius: 4px;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
  cursor: pointer;
  isolation: isolate;
  transform: translate3d(var(--magnetic-x), var(--magnetic-y), 0) scale(var(--sector-hover-scale));
  transform-origin: 50% 50%;
  transition: color 450ms var(--investment-ease), border-color 450ms var(--investment-ease), transform 450ms var(--investment-ease), box-shadow 450ms var(--investment-ease);
  will-change: transform;
}
.investment-sector::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(100deg, #e4d2a5 0%, #d5b978 52%, #c9a55f 100%);
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform 450ms var(--investment-ease);
  pointer-events: none;
}
.investment-sector::after {
  content: "";
  position: absolute;
  z-index: 6;
  inset: 0;
  padding: 2px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--sector-light-angle),
    transparent 0deg 255deg,
    rgba(210,171,91,.14) 278deg,
    rgba(255,246,207,.98) 309deg,
    #d7a84d 329deg,
    transparent 360deg
  );
  opacity: 0;
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  filter: drop-shadow(0 0 4px rgba(255,229,159,.9));
  transition: opacity 220ms ease;
}
.investment-sector:nth-child(1),
.investment-sector:nth-child(6) { width: 72%; }
.investment-sector:nth-child(2),
.investment-sector:nth-child(5) { width: 86%; }
.investment-sector:nth-child(3),
.investment-sector:nth-child(4) { width: 100%; }
.investment-sector:is(:hover, :focus-visible) {
  --sector-hover-scale: 1.2;
  z-index: 100;
  color: #241c10;
  border-color: rgba(151,109,39,.72);
  box-shadow:
    0 18px 38px rgba(46,35,17,.2),
    0 0 24px rgba(207,160,68,.24);
}
.investment-sector:is(:hover, :focus-visible)::before { transform: scaleX(1); }
.investment-sector:is(:hover, :focus-visible)::after {
  opacity: 1;
  animation: investment-sector-light-orbit 1.35s linear infinite;
}
@keyframes investment-sector-light-orbit {
  to { --sector-light-angle: 360deg; }
}
.investment-sector-media {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(12,17,18,.08), rgba(12,17,18,.42)), var(--sector-image);
  background-size: cover;
  background-position: center;
}
.investment-sector-content {
  position: relative;
  z-index: 3;
  min-width: 0;
  padding: 0 27px 0 14px;
  display: grid;
  grid-template-columns: auto 1px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  background: transparent;
}
.investment-sector.is-active {
  color: var(--ink);
  background: #fff;
  border-color: var(--gold);
  box-shadow: 0 18px 38px rgba(38,31,18,.13);
}
.investment-sector.is-active .investment-sector-content { background: transparent; }
.investment-sector.is-active .investment-sector-media { background-image: linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,.1)), var(--sector-image); }
.investment-sector-number { color: var(--gold); font-family: var(--font-time); font-size: clamp(23px, 2vw, 30px); line-height: 1; transition: color 450ms var(--investment-ease); }
.investment-sector-content > i { width: 1px; height: 32px; background: var(--gold); opacity: .66; transition: background-color 450ms var(--investment-ease), opacity 450ms var(--investment-ease); }
.investment-sector-name { overflow: hidden; font-family: var(--font-body); font-size: clamp(11px, .82vw, 13px); font-weight: 600; line-height: 1.3; letter-spacing: .01em; text-align: left; text-transform: none; white-space: normal; }
.investment-sector-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  right: 9px;
  color: var(--gold-soft);
  font-size: 17px;
  line-height: 1;
  transform: translate3d(0, -50%, 0);
  transition: color 450ms var(--investment-ease), transform 450ms var(--investment-ease);
  pointer-events: none;
}
.investment-sector:is(:hover, :focus-visible) .investment-sector-number { color: #3a2a12; }
.investment-sector:is(:hover, :focus-visible) .investment-sector-content > i { background: #5d431c; opacity: .52; }
.investment-sector:is(:hover, :focus-visible) .investment-sector-arrow {
  color: #34250f;
  transform: translate3d(6px, -50%, 0);
}
.investment-sector.is-magnetic { will-change: transform; }

.news-feature,
.news-list article {
  position: relative;
  transition: transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) ease;
}
.news-feature { overflow: hidden; }
.news-feature img,
.news-list img {
  transition: transform var(--motion-slow) var(--motion-cinematic-ease), filter var(--motion-medium) ease;
}

@media (hover: hover) and (pointer: fine) {
  .contact-link,
  .opening-actions a:first-child,
  .callout-actions > a:first-child,
  .newsletter button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition:
      color var(--motion-fast) ease,
      background-color var(--motion-fast) ease,
      border-color var(--motion-fast) ease,
      box-shadow var(--motion-fast) ease,
      transform var(--motion-fast) var(--motion-ease);
  }
  .contact-link::after,
  .opening-actions a:first-child::after,
  .callout-actions > a:first-child::after,
  .newsletter button::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: -35% auto -35% -45%;
    width: 34%;
    background: linear-gradient(90deg, transparent, rgba(255,246,211,.72), transparent);
    transform: translateX(-180%) skewX(-18deg);
    transition: transform .58s cubic-bezier(.22,1,.36,1);
    pointer-events: none;
  }
  .contact-link:hover,
  .opening-actions a:first-child:hover,
  .callout-actions > a:first-child:hover,
  .newsletter button:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(127,91,29,.2), 0 0 16px rgba(205,159,67,.18);
  }
  .contact-link:hover::after,
  .opening-actions a:first-child:hover::after,
  .callout-actions > a:first-child:hover::after,
  .newsletter button:hover::after {
    transform: translateX(520%) skewX(-18deg);
  }
  .project-card,
  .capability-kpi,
  .news-list article { z-index: 1; }
  .project-card:hover {
    z-index: 8;
    transform: translateY(-3px) scale(1.03);
  }
  .capability-kpi:hover {
    z-index: 8;
    transform: translateY(-3px) scale(1.03);
  }
  .news-list article:hover {
    z-index: 5;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 14px 28px rgba(38,31,18,.08);
  }
  .brand-collage-image:hover img,
  .project-card:hover > img,
  .investment-feature:hover .investment-feature-media img,
  .news-feature:hover img,
  .news-list article:hover img,
  .logo-set article:hover img {
    filter: saturate(1.04) brightness(1.025);
    opacity: 1;
    transform: scale(1.04);
  }
}

@media (hover: none) {
  .project-card:hover,
  .capability-kpi:hover,
  .news-list article:hover { transform: none; }
  .brand-collage-image:hover img,
  .project-card:hover > img,
  .investment-feature:hover .investment-feature-media img,
  .news-feature:hover img,
  .news-list article:hover img,
  .logo-set article:hover img { transform: none; }
}

.featured-projects { padding: 68px 0 83px; border-bottom: 1px solid var(--line); }
.featured-projects > .opening-label { margin-bottom: 8px; text-align: center; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-top: 28px; }
.project-card { position: relative; z-index: 1; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); background: #fff; transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) var(--motion-ease); }
.project-card:hover { z-index: 8; border-color: rgba(183,149,82,.62); box-shadow: 0 20px 38px rgba(38,31,18,.09); transform: translateY(-3px) scale(1.03); }
.project-card > img { width: 100%; height: 235px; object-fit: cover; transition: transform .8s cubic-bezier(.16,1,.3,1), filter .5s ease; }
.project-card:hover > img { filter: saturate(1.04) brightness(1.025); transform: scale(1.04); }
.project-card-body { flex: 1; padding: 20px 19px 22px; display: flex; flex-direction: column; }
.project-type { color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.project-card h3 { min-height: 70px; margin: 12px 0 8px; font-family: var(--font-subtitle); font-size: clamp(22px, 1.8vw, 26px); font-weight: 600; line-height: 1.08; text-transform: none; }
.project-meta { min-height: 18px; margin: 0 0 9px !important; color: var(--gold) !important; font-size: 11px !important; font-weight: 500; text-transform: none; }
.project-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.project-card-body > p:last-child { min-height: 58px; }
.project-pagination { display: none; }

.ecosystem {
  position: relative;
  min-height: 760px;
  padding: 111px 0 123px;
  overflow: hidden;
}
.network-heading {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  align-items: end;
  gap: clamp(40px, 7vw, 110px);
}
.network-heading h2,
.journey-intro h2,
.news-title > h2,
.callout > h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  text-transform: uppercase;
  line-height: .93;
  letter-spacing: -.025em;
}
.network-heading h2 { font-size: clamp(48px, 4.35vw, 60px); text-transform: none; }
.network-heading > p {
  max-width: 355px;
  margin: 0 0 4px;
  padding-left: 28px;
  border-left: 1px solid var(--gold);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}
.watermark {
  position: absolute;
  top: 35px;
  right: -10px;
  color: rgba(183,149,82,.085);
  font-family: var(--serif);
  font-size: 60px;
  font-weight: 400;
  line-height: 1;
}
.network-marquees {
  position: relative;
  z-index: 2;
  width: 100vw;
  margin-top: 58px;
  margin-left: calc(50% - 50vw);
}
.network-lane + .network-lane { margin-top: 22px; }
.network-lane-label {
  width: var(--page);
  max-width: 85vw;
  margin: 0 auto 11px;
  color: #30312f;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.network-lane-label span { margin-right: 10px; color: var(--gold); font-family: var(--font-time); font-size: 13px; font-weight: 400; }
.logo-marquee {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.logo-track {
  display: flex;
  width: max-content;
  transform: translate3d(0, 0, 0);
  animation-play-state: paused;
  backface-visibility: hidden;
  will-change: transform;
}
.network-marquees.is-motion-active .logo-track { animation-play-state: running; }
.logo-track-left { animation: logo-marquee-left 52s linear infinite; }
.logo-track-right { transform: translate3d(-50%, 0, 0); animation: logo-marquee-right 34s linear infinite; }
.logo-set { display: flex; flex: none; }
.logo-set article {
  width: 232px;
  flex: 0 0 232px;
  height: 126px;
  padding: 24px 34px;
  display: grid;
  place-items: center;
  border-right: 1px solid var(--line);
  background: #fff;
}
.logo-set img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: saturate(.88);
  opacity: .88;
  transition: filter .4s ease, opacity .4s ease, transform .4s ease;
}
.partner-logo-set img,
.ecosystem-logo-set img { max-width: 180px; max-height: 62px; }
.ecosystem-logo-set img { filter: grayscale(.1) saturate(.85); }
.logo-set article:hover img { filter: saturate(1); opacity: 1; transform: scale(1.045); }
@keyframes logo-marquee-left { to { transform: translate3d(-50%, 0, 0); } }
@keyframes logo-marquee-right { to { transform: translate3d(0, 0, 0); } }

.journey {
  display: grid;
  grid-template-columns: 28% 72%;
  min-height: 1000px;
  padding: 70px 0 60px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.journey-intro { padding-right: 70px; }
.journey-intro h2 { font-size: clamp(54px, 5vw, 60px); text-transform: none; }
.timeline { position: relative; padding-left: 24px; }
.timeline::before { content: ""; position: absolute; z-index: 1; left: calc(50% - 1px); top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, rgba(183,149,82,.25), var(--gold) 12%, var(--gold) 88%, rgba(183,149,82,.25)); }
.timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: 145px;
  gap: 62px;
}
.timeline-item::before { content: ""; position: absolute; z-index: 2; left: 50%; top: 50%; width: 17px; height: 17px; border: 1px solid var(--gold); border-radius: 50%; background: radial-gradient(circle, var(--gold) 0 3px, var(--paper) 3.5px 6px, var(--gold) 6.5px 7.5px, transparent 8px); transform: translate(-50%,-50%); box-shadow: 0 0 0 5px rgba(183,149,82,.11); }
.timeline-item img { width: 100%; height: 122px; object-fit: cover; filter: grayscale(1) contrast(.88); }
.timeline-copy { max-width: 230px; }
.text-left .timeline-copy { justify-self: end; text-align: left; }
.text-right .timeline-copy { justify-self: start; }
.timeline-copy time { display: block; margin-bottom: 6px; color: var(--gold); font-family: var(--serif); font-size: 28px; font-weight: 600; line-height: 1; }
.timeline-copy h3 { margin: 0 0 7px; font-family: var(--font-subtitle); font-size: 22px; font-weight: 600; text-transform: none; }
.timeline-copy p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }

.news {
  display: grid;
  grid-template-columns: 25% 31% 44%;
  min-height: 475px;
  padding: 87px 0 72px;
  border-bottom: 1px solid var(--line);
}
.news-title { padding-right: 38px; }
.news-title > h2 { font-size: clamp(46px, 4vw, 59px); text-transform: none; }
.news-title > h2 span,
.callout > h2 span { white-space: nowrap; }
.headline-text { margin-top: 42px; }
.news time { display: block; margin-bottom: 8px; color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.news h3 { margin: 0; font-family: var(--font-subtitle); font-size: 18px; font-weight: 600; line-height: 1.25; }
.news a { display: inline-flex; gap: 10px; margin-top: 14px; color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.news-feature { padding: 75px 0 0; }
.news-feature img { width: 100%; height: 250px; object-fit: cover; }
.news-list { margin-left: 28px; padding-top: 75px; }
.news-list article { display: grid; grid-template-columns: 42% 58%; min-height: 125px; border-bottom: 1px solid var(--line); }
.news-list article + article { padding-top: 20px; }
.news-list img { width: 100%; height: 105px; object-fit: cover; }
.news-list article > div { padding: 6px 0 15px 24px; }
.news-list h3 { font-size: 16px; }
.news-mobile-carousel { display: none; }

.callout {
  position: relative;
  min-height: 390px;
  display: grid;
  grid-template-columns: 41% 37% 22%;
  align-items: center;
  border-bottom: 1px solid var(--gold-soft);
  overflow: hidden;
}
.callout > h2 { padding-left: 24px; font-size: clamp(40px, 3.7vw, 53px); text-transform: none; }
.callout-content { position: relative; z-index: 2; width: min(360px, 100%); justify-self: center; text-align: center; }
.callout-kicker { margin: 0 0 13px; color: var(--gold); font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.callout-intro { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.75; }
.callout-actions { margin-top: 25px; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.callout-actions > a:first-child { min-width: 280px; padding: 16px 28px; color: var(--gold); border: 1px solid var(--gold); font-size: 11px; font-weight: 600; text-align: center; text-transform: uppercase; letter-spacing: .08em; transition: color .35s ease, background-color .35s ease; }
.callout-actions > a:first-child:hover { color: #fff; background: var(--gold); }
.download-link { display: flex; align-items: center; gap: 38px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; transition: color .3s ease; }
.download-link span { color: var(--gold); font-size: 16px; transition: transform .35s cubic-bezier(.22,1,.36,1); }
.download-link:hover { color: var(--gold); }
.download-link:hover span { transform: translateX(5px); }
.line-emblem { position: absolute; right: 15px; bottom: -44px; width: 210px; height: 220px; display: flex; align-items: end; justify-content: center; opacity: .42; }
.line-emblem i { display: block; width: 22px; height: 75%; margin-left: -4px; border: 2px solid var(--gold-soft); border-bottom: 0; transform-origin: bottom; }
.line-emblem i:nth-child(1) { height: 42%; transform: rotate(-47deg); }
.line-emblem i:nth-child(2) { height: 59%; transform: rotate(-30deg); }
.line-emblem i:nth-child(3) { height: 77%; transform: rotate(-15deg); }
.line-emblem i:nth-child(4) { height: 94%; }
.line-emblem i:nth-child(5) { height: 77%; transform: rotate(15deg); }
.line-emblem i:nth-child(6) { height: 59%; transform: rotate(30deg); }
.line-emblem i:nth-child(7) { height: 42%; transform: rotate(47deg); }

.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 25px 0;
  margin-top: 30px;
  margin-bottom: 0;
  padding: clamp(20px, 2vw, 30px) clamp(50px, 6.7vw, 92px) clamp(20px, 2vw, 28px);
  color: #2b2b29;
  background: #fffdf8 url("assets/footer-background-clean.webp") top center / 100% 100% no-repeat;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 11px;
  line-height: 1.55;
}
.site-footer::before { display: none; }
.site-footer > * { position: relative; z-index: 1; }
.site-footer > div:not(.footer-bottom) { min-width: 0; }
.footer-heading {
  grid-column: 1 / -1;
  display: flex;
  min-height: clamp(132px, 11vw, 158px);
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
  padding: 0;
  border: 0;
}
.footer-heading img { width: clamp(165px, 16vw, 218px); height: clamp(122px, 10.5vw, 150px); flex: 0 0 auto; object-fit: contain; filter: none; opacity: 1; }
.footer-office { grid-column: span 4; padding: 0 clamp(20px, 2.1vw, 30px); }
.footer-office-headquarters { padding-left: clamp(38px, 4.2vw, 60px); }
.footer-office:nth-of-type(4) { padding-right: 0; padding-left: clamp(24px, 2.5vw, 36px); }
.footer-office + .footer-office { border-left: 1px solid rgba(183,149,82,.72); }
.site-footer h3,
.footer-office-toggle { margin: 0 0 12px; color: #9a741f; font-family: var(--font-body); font-size: clamp(11px, .95vw, 14px); font-weight: 700; line-height: 1.35; text-transform: uppercase; letter-spacing: .055em; }
.footer-office-toggle { width: 100%; padding: 0; display: block; border: 0; background: transparent; text-align: left; cursor: default; }
.footer-office-toggle i { display: none; }
.footer-office-panel { display: block; }
.site-footer p { margin: 0 0 8px; color: #55544f; }
.site-footer > div > a { color: #464540; transition: color .25s ease; }
.site-footer > div > a:hover { color: #9a741f; }
.footer-office address {
  min-height: 62px;
  margin-bottom: 13px;
  color: #4f4e49;
  font-family: var(--font-thin);
  font-style: normal;
  font-weight: 400;
  line-height: 1.55;
}
.footer-contact-list { padding-top: 12px; border-top: 1px solid rgba(183,149,82,.65); }
.footer-contact-list p { display: grid; grid-template-columns: 142px minmax(0, 1fr); gap: 10px; align-items: center; margin-bottom: 5px; }
.footer-contact-list span { display: flex; align-items: center; gap: 10px; color: #9a741f; font-family: var(--font-bold); font-size: 8.5px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; }
.footer-contact-list span::before { content: attr(data-icon); width: 19px; height: 19px; flex: 0 0 19px; display: grid; place-items: center; color: #b58c37; border: 1px solid rgba(183,149,82,.55); border-radius: 50%; font-family: Arial, sans-serif; font-size: 9px; line-height: 1; }
.footer-contact-list a,
.footer-contact-list b { min-width: 0; color: #3f3e3a; font-size: 9.5px; font-weight: 400; overflow-wrap: anywhere; }
.footer-contact-list a[href^="mailto:"] { font-size: 8.5px; letter-spacing: -.015em; white-space: nowrap; }
.footer-contact-list a:hover { color: #9a741f; }
.footer-navigation { grid-column: 1 / 6; padding: 16px 42px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(183,149,82,.72); }
.footer-navigation h3 { grid-column: 1 / -1; margin-bottom: 8px; }
.footer-navigation > a { display: block; padding-right: 15px; color: #4b4a46; font-size: 10px; white-space: nowrap; }
.footer-navigation > a + a { padding-left: 22px; border-left: 1px solid rgba(183,149,82,.62); }
.newsletter { grid-column: 6 / -1; padding: 16px 0 0 48px; display: grid; grid-template-columns: minmax(150px, .78fr) minmax(250px, 1.22fr); grid-template-rows: auto 1fr; column-gap: 30px; border-top: 1px solid rgba(183,149,82,.72); border-left: 1px solid rgba(183,149,82,.72); }
.newsletter h3 { grid-column: 1; grid-row: 1; margin-bottom: 8px; }
.newsletter p { grid-column: 1; grid-row: 2; max-width: 225px; font-size: 10px; line-height: 1.45; }
.newsletter form { grid-column: 2; grid-row: 1 / 3; align-self: center; display: flex; height: 48px; margin: 0; overflow: hidden; border: 1px solid #c6a04b; border-radius: 10px; background: rgba(255,255,255,.72); }
.newsletter input { width: 100%; min-width: 0; padding: 11px 14px; color: #34332f; background: transparent; border: 0; outline: 0; font-size: 11px; }
.newsletter input::placeholder { color: #989690; }
.newsletter button { width: 52px; flex: 0 0 52px; color: #211d15; background: linear-gradient(135deg, #eed17f, #c99024); border: 0; cursor: pointer; font-size: 20px; transition: color .25s ease, background-color .25s ease; }
.newsletter button:hover { color: #fff; background: #9f7727; }
.footer-bottom { display: none; }

/* Use one consistent type family throughout the complete interface. */
.section-desc,
.opening-intro,
.capability-intro,
.capability-pillars p,
.sector-copy p,
.project-card-body > p:not(.project-meta),
.timeline-copy p,
.site-footer p,
.site-footer > div > a {
  font-family: var(--font-thin);
  font-weight: 400;
}

.section-index,
.opening-label,
.contact-link,
.opening-actions a,
.quick-facts span,
.project-type,
.callout-actions a,
.download-link,
.language b {
  font-family: var(--font-bold);
  font-weight: 700;
}

.section-index b,
.quick-facts strong,
.sector-copy > span,
.watermark,
.timeline-copy time,
.news time {
  font-family: var(--font-time);
  font-weight: 400;
}

@media (max-width: 980px) {
  :root { --page: min(100% - 48px, 760px); }
  body.nav-open { overflow: hidden; }
  .site-topbar { position: fixed; top: 0; left: 0; width: 100%; height: 76px; padding-inline: 24px; grid-template-columns: 1fr auto; border-radius: 0; }
  .site-topbar.is-scrolled { top: 0; height: 70px; }
  .topbar-brand { position: relative; z-index: 2; }
  .topbar-brand img, .site-topbar.is-scrolled .topbar-brand img { width: 164px; height: 40px; }
  .nav-toggle { position: relative; z-index: 2; display: grid; place-content: center; gap: 5px; width: 42px; height: 42px; padding: 0; border: 1px solid var(--gold-soft); border-radius: 0; background: transparent; }
  .nav-toggle > span:not(.sr-only) { width: 18px; height: 1px; background: var(--ink); transition: transform .25s, opacity .25s; }
  .nav-open .nav-toggle > span:first-child { transform: translateY(6px) rotate(45deg); }
  .nav-open .nav-toggle > span:nth-child(2) { opacity: 0; }
  .nav-open .nav-toggle > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .primary-nav { position: fixed; inset: 0; z-index: 1; max-height: none; padding: 110px 24px 50px; overflow-y: auto; display: flex; flex-direction: column; grid-template-columns: none; align-items: flex-start; justify-content: center; gap: 12px; background: var(--paper); border: 0; border-radius: 0; box-shadow: none; opacity: 0; visibility: hidden; transform: none; transition: opacity .25s, visibility .25s; }
  .nav-open .primary-nav { opacity: 1; visibility: visible; transform: none; }
  .primary-nav a { color: #30312e; font-family: var(--serif); font-size: clamp(34px, 7vw, 55px); font-weight: 500; letter-spacing: -.02em; white-space: normal; }
  .topbar-tools { display: none; }
  .opening, .opening-inner { min-height: 650px; }
  .opening-copy { width: 57%; }
  .opening-copy h1 { font-size: clamp(43px, 6.4vw, 48px); }
  .brand-story { grid-template-columns: 1fr; padding: 0 0 102px; }
  .brand-story-visual { min-height: 520px; }
  .brand-collage { min-height: 520px; }
  .brand-collage-image { width: 82%; }
  .brand-collage-logo { left: 78%; width: min(28%, 218px); }
  .brand-story-copy { padding: 93px 24px; }
  .brand-story-copy::before { inset: 25px -10vw -40px 0; }
  .brand-story-copy p { max-width: 680px; font-size: 13px; }
  .development-path-stage {
    height: auto;
    margin-top: 38px;
    display: flex;
    flex-direction: column;
  }
  .development-path-center {
    position: relative;
    left: auto;
    top: auto;
    order: 1;
    width: min(390px, 100%);
    height: 468px;
    margin: 0 auto 30px;
    transform: none;
  }
  .development-path-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 120px;
    height: auto;
    margin: 0;
    transform: translate(-50%, -50%);
  }
  .development-path-detail { width: min(360px, 94%); height: 444px; }
  .development-path-detail-inner { padding: 66px 28px 22px; }
  .development-path-detail strong { font-size: 52px; }
  .development-path-detail h3 { font-size: 23px; }
  .development-path-detail p { font-size: 12px; line-height: 1.5; }
  .development-path-connectors { display: none; }
  .development-path-milestones {
    position: relative;
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    isolation: isolate;
    border-top: 1px solid rgba(183,149,82,.45);
  }
  .development-path-stage.has-sequence-animation .development-path-milestones::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(to top, #b79552, #e2c27a 55%, #b79552);
    transform: scaleY(0);
    transform-origin: 50% 100%;
  }
  .development-path-stage.has-sequence-animation.is-sequence-running .development-path-milestones::before {
    animation: development-mobile-spine 2.338s cubic-bezier(.42,0,.2,1) forwards;
  }
  .development-path-stage.has-sequence-animation.is-sequence-complete .development-path-milestones::before {
    transform: scaleY(1);
  }
  .development-path-stage.has-sequence-animation.is-sequence-leaving .development-path-milestones::before {
    animation: development-mobile-spine-out 1.14s cubic-bezier(.55,0,.7,1) forwards;
  }
  @keyframes development-mobile-spine { to { transform: scaleY(1); } }
  @keyframes development-mobile-spine-out { from { transform: scaleY(1); } to { transform: scaleY(0); } }
  .development-milestone,
  .milestone-2009,
  .milestone-2016,
  .milestone-2017,
  .milestone-2020,
  .milestone-2023,
  .milestone-2026 {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 124px;
    padding: 24px 18px 20px;
    border-bottom: 1px solid rgba(183,149,82,.45);
    text-align: left;
  }
  .development-path-stage.has-sequence-animation .development-milestone {
    border-bottom-color: transparent;
    transition: border-color .5s ease, opacity .3s ease, transform .38s cubic-bezier(.22,.8,.24,1);
  }
  .development-path-stage.has-sequence-animation .development-milestone.is-sequence-visible {
    border-bottom-color: rgba(183,149,82,.45);
  }
  .milestone-2009,
  .milestone-2016,
  .milestone-2017 { border-right: 1px solid rgba(183,149,82,.45); }
  .development-path-stage.has-sequence-animation .milestone-2009,
  .development-path-stage.has-sequence-animation .milestone-2016,
  .development-path-stage.has-sequence-animation .milestone-2017 { border-right-color: transparent; }
  .development-milestone::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    width: 28px;
    height: 1px;
    background: #b79552;
    transform: scaleX(0);
    transition: transform .72s cubic-bezier(.42,0,.2,1), filter .3s ease;
  }
  .milestone-2009::after,
  .milestone-2016::after,
  .milestone-2017::after { right: 0; transform-origin: 100% 50%; }
  .milestone-2020::after,
  .milestone-2023::after,
  .milestone-2026::after { left: 0; transform-origin: 0 50%; }
  .development-milestone.is-connecting::after,
  .development-milestone.is-sequence-connected::after {
    transform: scaleX(1);
  }
  .development-milestone.is-connecting::after {
    filter: drop-shadow(0 0 5px rgba(216,170,79,.8));
  }
  .milestone-2017 { grid-column: 1; grid-row: 1; }
  .milestone-2020 { grid-column: 2; grid-row: 1; }
  .milestone-2016 { grid-column: 1; grid-row: 2; }
  .milestone-2023 { grid-column: 2; grid-row: 2; }
  .milestone-2009 { grid-column: 1; grid-row: 3; }
  .milestone-2026 { grid-column: 2; grid-row: 3; }
  .development-milestone::before {
    content: "";
    position: absolute;
    top: -3px;
    left: 18px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    transition: opacity .45s ease, transform .55s cubic-bezier(.22,.8,.24,1), box-shadow .45s ease;
  }
  .development-path-stage.has-sequence-animation .development-milestone::before {
    opacity: 0;
    transform: scale(.5);
  }
  .development-path-stage.has-sequence-animation .development-milestone.is-sequence-visible::before {
    opacity: 1;
    transform: scale(1);
  }
  .development-path-stage.has-sequence-animation .development-milestone.is-sequence-glowing::before {
    box-shadow: 0 0 12px rgba(216,170,79,.72);
  }
  .development-milestone time { font-size: 38px; }
  .development-milestone p { margin-top: 10px; font-size: 11px; line-height: 1.5; }
  .capability { grid-template-columns: 1fr; }
  .capability-media { height: 430px; }
  .capability-copy { padding: 48px 0 30px; }
  .capability-kpi { min-height: 112px; }
  .capability-kpi strong,
  .capability-kpi-wide strong,
  .capability-kpi:last-child strong { font-size: 28px; }
  .investment-showcase { grid-template-columns: 1fr; }
  .investment-feature { width: min(680px, 100%); margin-inline: auto; }
  .investment-fan { width: min(476px, 70%); margin-left: auto; }
  .project-grid { grid-template-columns: 1fr 1fr; }
  .project-card:last-child { grid-column: 1 / -1; width: calc(50% - 13px); justify-self: center; }
  .ecosystem { min-height: 0; }
  .network-heading { grid-template-columns: 1fr; align-items: start; gap: 26px; }
  .network-heading > p { max-width: 520px; }
  .network-marquees { margin-top: 48px; }
  .journey { grid-template-columns: 1fr; }
  .journey-intro { padding: 0 0 70px; }
  .journey-intro h2 { max-width: 600px; }
  .timeline { padding-left: 0; }
  .news { grid-template-columns: 40% 60%; }
  .news-list { grid-column: 1 / -1; margin-left: 0; padding-top: 35px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .news-list article + article { padding-top: 0; }
  .callout { grid-template-columns: 1fr 1fr; column-gap: 36px; }
  .callout > h2 { padding-left: 0; }
  .callout-content { width: 100%; }
  .line-emblem { display: none; }
  .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 0; padding: 28px 36px 30px; background-size: auto 607px; background-color: #fffdf8; border-radius: 0; }
  .footer-heading { grid-column: 1 / -1; }
  .footer-office { grid-column: span 1; padding: 0 24px; }
  .footer-office + .footer-office { border-left: 1px solid rgba(183,149,82,.72); }
  .footer-office-headquarters { grid-column: 1 / -1; padding: 0; }
  .footer-office:nth-of-type(3) { padding-left: 0; border-left: 0; }
  .footer-office:nth-of-type(4) { padding-right: 0; }
  .footer-office address { min-height: 0; }
  .footer-navigation { grid-column: 1 / -1; padding-right: 0; }
  .newsletter { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
}

@media (max-width: 620px) {
  :root {
    --page: calc(100% - 34px);
    --motion-fast: .28s;
    --motion-medium: .64s;
    --motion-slow: 1.08s;
    --motion-cinematic: 1.2s;
    --motion-stagger: .08s;
  }
  body { font-size: 13px; }
  .site-topbar { top: 0; width: 100%; height: 74px; padding-inline: 20px 12px; border-radius: 0; }
  .site-topbar.is-scrolled { top: 0; height: 64px; }
  .topbar-brand img { width: 180px; height: 43px; }
  .site-topbar.is-scrolled .topbar-brand img { width: 145px; height: 35px; }
  .nav-toggle { width: 44px; height: 44px; border: 0; }
  .nav-toggle > span:not(.sr-only) { width: 22px; height: 2px; background: #121a21; }
  .primary-nav { padding: 110px 24px 50px; gap: 12px; }
  .primary-nav a { font-size: clamp(34px, 7vw, 55px); }
  .opening { min-height: 100svh; border-bottom: 0; }
  .opening-inner { min-height: 100svh; align-items: stretch; }
  .opening-media { top: 0; bottom: 0; width: 100vw; height: auto; }
  .opening-media::after {
    display: block;
    background:
      radial-gradient(ellipse 92% 47% at 4% 82%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.7) 43%, rgba(255,255,255,0) 78%),
      linear-gradient(180deg, transparent 50%, rgba(255,255,255,.05) 57%, rgba(255,255,255,.68) 77%, rgba(255,255,255,.94) 100%);
  }
  .opening-image { object-position: 52% center; }
  .opening-copy {
    position: absolute;
    z-index: 2;
    left: 25px;
    bottom: 39px;
    width: calc(100% - 38px);
    padding: 0;
  }
  .opening-copy::before { content: ""; position: absolute; top: 0; bottom: 1px; left: -18px; width: 1px; background: var(--gold); }
  .opening-label { margin-bottom: 11px; font-size: 10px; letter-spacing: .1em; }
  .opening-copy h1 { color: #172130; font-size: 27.5px; line-height: 1.12; letter-spacing: -.02em; text-shadow: none; }
  .opening-copy h1 > span + span { margin-top: 4px; }
  .opening-intro { max-width: 305px; margin-top: 12px; color: #283541; font-size: 12px; line-height: 1.5; text-shadow: none; }
  .opening-actions { margin-top: 13px; flex-direction: column; align-items: flex-start; gap: 13px; }
  .opening-actions a { font-size: 10px; }
  .opening-actions a:first-child { width: 185px; height: 38px; padding: 0; display: grid; place-items: center; }
  .opening-actions a:last-child {
    width: 185px;
    justify-content: center;
    gap: 15px;
  }
  .opening-actions a:last-child span { font-size: 20px; line-height: 1; }
  .brand-story { margin-top: 90px; padding: 0 0 81px; }
  .brand-story-visual { min-height: 390px; }
  .brand-collage { min-height: 390px; }
  .brand-collage-image { width: 88%; height: calc(50% - 9px); }
  .brand-collage-image-top { clip-path: polygon(0 0, 90% 0, 100% 13%, 72% 100%, 0 100%); }
  .brand-collage-image-bottom { clip-path: polygon(0 0, 72% 0, 100% 74%, 92% 100%, 0 100%); }
  .brand-collage-logo { left: 77%; width: 30%; padding: 0; }
  .brand-story-copy { padding: 72px 0 84px; }
  .brand-story-accent { width: 64px; height: 3px; margin-bottom: 20px; }
  .brand-story-copy h2 { margin-bottom: 30px; font-size: 27px; }
  .brand-story-copy p { font-size: 11px; line-height: 1.75; }
  .development-path { padding: 78px 0 87px; }
  .development-path > h2 { font-size: 29px; line-height: 1.12; }
  .development-path > h2::after { margin-top: 17px; }
  .development-path-stage {
    height: auto;
    margin-top: 30px;
    display: flex;
    flex-direction: column;
  }
  .development-path-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 86.4px;
    height: auto;
    margin: 0;
    transform: translate(-50%, -50%);
  }
  .development-path-center { width: 100%; height: 456px; margin-bottom: 25px; }
  .development-path-detail { width: min(324px, 92%); height: 432px; }
  .development-path-detail-inner { padding: 60px 20px 18px; }
  .development-path-detail strong { font-size: 48px; }
  .development-path-detail h3 { margin-top: 13px; font-size: 21px; }
  .development-path-detail p { margin-top: 10px; font-size: 12px; line-height: 1.45; }
  .development-path-detail small { margin-top: 11px; }
  .development-path-connectors { display: none; }
  .development-path-milestones {
    position: relative;
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(183,149,82,.45);
  }
  .development-milestone,
  .milestone-2009,
  .milestone-2016,
  .milestone-2017,
  .milestone-2020,
  .milestone-2023,
  .milestone-2026 {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 112px;
    padding: 22px 13px 18px;
    border-bottom: 1px solid rgba(183,149,82,.45);
    text-align: left;
  }
  .milestone-2009,
  .milestone-2016,
  .milestone-2017 { border-right: 1px solid rgba(183,149,82,.45); }
  .development-milestone::before {
    content: "";
    position: absolute;
    top: -3px;
    left: 13px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
  }
  .development-milestone time { font-size: 34px; }
  .development-milestone p { margin-top: 9px; font-size: 11px; line-height: 1.5; }
  .capability-kpis { height: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 8px; }
  .capability-kpi,
  .capability-kpi-wide {
    --pillar-height: 220px;
    --pillar-line: 34px;
    --pillar-shape: none;
    width: 100%;
    height: 220px;
    min-height: 220px;
    grid-column: span 1;
    padding: 0 13px 34px;
    display: flex;
    clip-path: none;
  }
  .capability-kpi:first-child,
  .capability-kpi-wide,
  .capability-kpi:last-child { grid-column: span 1; }
  .capability-kpi::before { inset: 1px; clip-path: none; }
  .capability-kpi::after { bottom: 18px; }
  .capability-kpi strong,
  .capability-kpi-wide strong,
  .capability-kpi:last-child strong { display: block; margin: 0; font-size: 39px; }
  .capability-kpi strong::before { height: 34px; margin-bottom: 14px; }
  .capability-kpi span { min-height: 48px; margin-top: 15px; display: grid; font-size: 9px; text-align: center; }
  .investment { padding: 69px 0 81px; }
  .investment > h2 { font-size: 42px; }
  .investment > h2::after { width: 100%; margin-top: 18px; }
  .investment-showcase { gap: 30px; margin-top: 22px; }
  .investment-feature { height: auto; grid-template-columns: 1fr; }
  .investment-feature-media { height: auto; aspect-ratio: 4 / 3; }
  .investment-feature-copy { min-height: 265px; padding: 28px 24px 30px; justify-content: center; }
  .investment-feature-index { font-size: 48px; }
  .investment-feature-copy > i { width: 36px; height: 1px; margin: 14px 0 18px; }
  .investment-feature-title { font-size: 25px; }
  .investment-feature-description { font-size: 13px; }
  .investment-feature-arrow { position: static; margin-top: 20px; }
  .investment-fan { width: 100%; height: auto; margin: 0; padding: 0; display: flex; gap: 8px; overflow: visible; }
  .investment-sector,
  .investment-sector:nth-child(n) { width: 100%; height: 72px; margin-inline: 0; grid-template-columns: 30% 70%; clip-path: none; }
  .investment-sector:hover { transform: none; }
  .capability-kpi:hover,
  .project-card:hover,
  .news-list article:hover { transform: none; }
  .brand-collage-image:hover img,
  .project-card:hover > img,
  .investment-feature:hover .investment-feature-media img,
  .news-feature:hover img,
  .news-list article:hover img,
  .logo-set article:hover img { transform: none; }
  .investment-sector-content { padding: 0 12px; grid-template-columns: auto 1px minmax(0,1fr); gap: 10px; }
  .investment-sector-number { font-size: 27px; }
  .investment-sector-content > i { height: 34px; }
  .investment-sector-name { font-size: 13px; }
  .quick-facts { min-height: 0; padding: 32px 0 18px; }
  .facts-heading h2 { font-size: 38px; }
  .facts-heading > span { margin: 14px 0 16px; }
  .facts-track { height: auto; margin: 24px 0 0 8px; padding-left: 32px; display: block; }
  .facts-track::before { left: 8px; right: auto; top: 7px; bottom: 25px; width: 1px; height: auto; }
  .facts-track article { min-height: 88px; padding-bottom: 16px; text-align: left; }
  .facts-track strong,
  .facts-track article:nth-child(even) strong,
  .facts-track .fact-location strong { position: static; display: block; width: auto; font-size: 32px; white-space: normal; }
  .facts-track .fact-location strong { font-size: 19px; }
  .fact-marker { left: -24px; top: 7px; width: 17px; height: 17px; }
  .fact-marker::before,
  .facts-track article:nth-child(even) .fact-marker::before { display: none; }
  .fact-label,
  .facts-track article:nth-child(even) .fact-label { position: static; display: block; width: auto; margin-top: 9px; padding: 0; font-size: 11px; }
  .fact-label::before { width: 28px; margin: 0 0 8px; }
  .facts-emblem { right: -110px; bottom: -70px; opacity: .18; transform: scale(.58); transform-origin: bottom right; }
  .capability { padding-top: 26px; }
  .capability-media { height: 290px; }
  .capability-pagination { left: 50%; bottom: 6px; }
  .capability-copy { padding-top: 35px; }
  .capability-copy h2 { font-size: 43px; }
  .capability-intro { font-size: 13px; }
  .capability-pillars { grid-template-columns: 1fr; gap: 28px; }
  .capability-pillars article { display: grid; grid-template-columns: 55px 1fr; padding: 0 0 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .capability-pillars article:last-child { border-bottom: 0; }
  .capability-pillars h3 { margin: 3px 0 8px; }
  .capability-pillars p { grid-column: 2; }
  .capability-icon { grid-row: 1 / 3; }
  .investment > h2, .featured-projects > h2 { font-size: 39px; }
  .investment-grid { grid-template-columns: 1fr; min-height: 0; }
  .sector-main { grid-column: auto; }
  .sector-main .sector-media { min-height: 0; height: 245px; }
  .sector-media { height: 170px; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card:last-child { grid-column: auto; width: 100%; }
  .project-card > img { height: 205px; }
  .project-card h3, .project-card p { min-height: 0; }
  .section-index { margin-bottom: 17px; font-size: 11px; }
  .ecosystem { padding: 72px 0 87px; }
  .network-heading h2 { font-size: 41px; }
  .network-heading > p { padding-left: 18px; font-size: 12px; line-height: 1.7; }
  .watermark { top: 15px; right: -15px; font-size: 60px; }
  .network-marquees { margin-top: 38px; }
  .network-lane + .network-lane { margin-top: 18px; }
  .network-lane-label { margin-bottom: 9px; font-size: 11px; }
  .logo-set article { width: 175px; height: 105px; flex-basis: 175px; padding: 19px 25px; }
  .partner-logo-set img,
  .ecosystem-logo-set img { max-width: 140px; max-height: 53px; }
  .logo-track-left { animation-duration: 40s; }
  .logo-track-right { animation-duration: 26s; }
  .journey { padding-top: 50px; }
  .journey-intro { padding-bottom: 48px; }
  .journey-intro h2 { font-size: 48px; }
  .timeline::before { left: 15px; }
  .timeline-item { grid-template-columns: 1fr; gap: 12px; min-height: 0; margin-bottom: 42px; padding-left: 42px; }
  .timeline-item::before { left: 15px; top: 18px; }
  .timeline-item img, .timeline-item .timeline-copy { grid-column: 1; width: 100%; max-width: none; justify-self: stretch; text-align: left; }
  .timeline-item img { height: 150px; }
  .timeline-item .timeline-copy { grid-row: 1; }
  .timeline-copy time { font-size: 24px; }
  .news { grid-template-columns: 1fr; padding-top: 72px; }
  .news-title { padding-right: 0; }
  .news-title > h2 { font-size: 48px; }
  .headline-text { margin-top: 25px; }
  .news-feature { padding-top: 30px; }
  .news-feature img { height: 210px; }
  .news-list { display: block; padding-top: 25px; }
  .news-list article + article { padding-top: 20px; }
  .news-list h3 { font-size: 14px; }
  .callout { min-height: 0; grid-template-columns: 1fr; gap: 0; padding: 63px 0; }
  .callout > h2 { font-size: 42px; }
  .callout-content { width: 100%; margin-top: 32px; justify-self: stretch; text-align: left; }
  .callout-actions { align-items: flex-start; margin-top: 32px; }
  .callout-actions > a:first-child { min-width: 250px; }
  .site-footer { grid-template-columns: 1fr; margin-top: 20px; margin-bottom: 0; padding: 26px 20px 28px; gap: 27px; background-size: auto 607px; border-radius: 0; }
  .footer-heading,
  .footer-office,
  .footer-office-headquarters,
  .footer-navigation,
  .newsletter { grid-column: 1 / -1; }
  .footer-heading { min-height: 138px; align-items: center; margin-bottom: 6px; padding: 0; }
  .footer-heading img { width: 168px; height: 125px; }
  .footer-office,
  .footer-office-headquarters,
  .footer-office:nth-of-type(3),
  .footer-office:nth-of-type(4) { padding: 0; border-left: 0; border-bottom: 1px solid rgba(183,149,82,.48); }
  .footer-office-toggle {
    min-height: 61px;
    margin: 0;
    padding: 14px 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: #795719;
    font-size: 11px;
    line-height: 1.45;
    text-align: left;
    cursor: pointer;
  }
  .footer-office-toggle span { max-width: calc(100% - 42px); }
  .footer-office-toggle i {
    position: relative;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: block;
    border: 1px solid rgba(183,149,82,.55);
    border-radius: 50%;
    background: rgba(255,253,248,.66);
    box-shadow: 0 5px 13px rgba(83,58,14,.06);
    transition: background-color .4s ease, border-color .4s ease, transform .55s cubic-bezier(.22,1,.36,1);
  }
  .footer-office-toggle i::before,
  .footer-office-toggle i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 1px;
    background: #9a741f;
    transform: translate(-50%, -50%);
    transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .3s ease;
  }
  .footer-office-toggle i::after { transform: translate(-50%, -50%) rotate(90deg); }
  .footer-office.is-open .footer-office-toggle i {
    border-color: #b9903c;
    background: #fff9eb;
    transform: rotate(180deg);
  }
  .footer-office.is-open .footer-office-toggle i::after { opacity: 0; transform: translate(-50%, -50%) rotate(0); }
  .footer-office-panel {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transform: translateY(-7px);
    transition: grid-template-rows .58s cubic-bezier(.22,1,.36,1), opacity .34s ease, transform .58s cubic-bezier(.22,1,.36,1);
  }
  .footer-office-panel-inner { min-height: 0; overflow: hidden; }
  .footer-office.is-open .footer-office-panel { grid-template-rows: 1fr; opacity: 1; transform: translateY(0); }
  .footer-office-panel-inner { padding: 0 3px; }
  .footer-office.is-open .footer-office-panel-inner { padding-bottom: 21px; }
  .footer-office address { min-height: 0; margin-bottom: 15px; font-size: 11px; line-height: 1.65; }
  .footer-contact-list { padding-top: 14px; }
  .footer-contact-list p { grid-template-columns: 116px minmax(0, 1fr); gap: 8px; margin-bottom: 8px; }
  /* Keep contact icons identical to the desktop treatment on mobile. */
  .footer-contact-list span { gap: 10px; font-size: 8.5px; }
  .footer-contact-list span::before {
    width: 19px;
    height: 19px;
    flex-basis: 19px;
    font-size: 9px;
  }
  .footer-contact-list a,
  .footer-contact-list b { font-size: 9px; }
  .footer-contact-list a[href^="mailto:"] { font-size: 8px; white-space: normal; }
  .footer-navigation { display: none; }
  .newsletter { padding-top: 25px; display: block; border-top: 0; }
  .newsletter h3 { margin-bottom: 9px; font-size: 12px; }
  .newsletter p { max-width: 280px; font-size: 10px; line-height: 1.6; }
  .newsletter form { height: 49px; margin-top: 16px; border-radius: 9px; }
}

/* Enlarge the eight editorial sections by 10% while preserving the hero and footer scale. */
@media (min-width: 981px) {
  main > section:not(.opening) {
    width: min(1267px, calc(100vw - 128px));
    max-width: 84.15vw;
  }

  .brand-story { margin-top: 59px; }
  .brand-story-copy { padding: 0 clamp(18px, 1.98vw, 30px) 0 clamp(34px, 3.66vw, 55px); }
  .brand-story-accent { width: 99px; margin-bottom: 25px; }
  .brand-story-copy h2 { margin-bottom: 37px; font-size: clamp(30px, 2.77vw, 37px); }
  .brand-story-copy p { margin-bottom: 18px; font-size: 14px; }

  .development-path { padding: clamp(95px, 8.91vw, 131px) 0 clamp(86px, 7.43vw, 113px); }
  .development-path > h2 { font-size: clamp(44px, 4.16vw, 55px); }
  .development-path > h2::after { margin-top: 22px; }
  .development-path-stage { width: min(1188px, 100%); margin-top: 15px; }
  .development-path-detail-inner { padding: 64px 34px 24px; }
  .development-path-detail strong { font-size: clamp(44px, 3.76vw, 57px); }
  .development-path-detail h3 { font-size: clamp(20px, 1.78vw, 24px); }
  .development-path-detail p { font-size: 12px; }
  .development-milestone time { font-size: clamp(37px, 3.17vw, 48px); }
  .development-milestone p { margin-top: 11px; font-size: 11px; }

  .capability { padding-block: clamp(34px, 3.56vw, 52px); }
  .capability-copy { padding-left: clamp(57px, 4.65vw, 67px); }
  .capability-copy h2 { font-size: clamp(48px, 4.46vw, 59px); }
  .capability-kpis { height: clamp(327px, 28.71vw, 426px); margin-top: clamp(24px, 2.2vw, 32px); }
  .capability-kpi { padding-bottom: clamp(40px, 3.17vw, 50px); }
  .capability-kpi strong,
  .capability-kpi-wide strong,
  .capability-kpi:last-child strong { font-size: clamp(15px, 1.54vw, 23px); }
  .capability-kpi span { min-height: clamp(52px, 4.46vw, 67px); margin-top: clamp(15px, 1.39vw, 22px); font-size: clamp(9px, .75vw, 11px); }

  .investment { padding: 86px 0 105px; }
  .investment > h2,
  .featured-projects > h2 { font-size: clamp(47px, 4.06vw, 59px); }
  .investment > h2::after { width: min(495px, 41.58vw); margin-top: 24px; }
  .investment-showcase { gap: clamp(40px, 4.16vw, 65px); margin-top: 34px; }
  .investment-feature { height: clamp(386px, 30.69vw, 416px); }
  .investment-feature-copy { padding: clamp(28px, 2.2vw, 34px); }
  .investment-feature-index { font-size: clamp(42px, 3.56vw, 55px); }
  .investment-feature-title { font-size: clamp(21px, 1.74vw, 26px); }
  .investment-feature-description { font-size: clamp(12px, .99vw, 14px); }
  .investment-feature-arrow { left: clamp(28px, 2.2vw, 34px); bottom: clamp(24px, 1.98vw, 30px); }
  .investment-fan { gap: 8px; }
  .investment-sector { height: 62px; }
  .investment-sector-number { font-size: clamp(23px, 1.98vw, 30px); }
  .investment-sector-name { font-size: clamp(11px, .81vw, 13px); }

  .featured-projects { padding: 67px 0 83px; }
  .project-grid { gap: 24px; margin-top: 28px; }
  .project-card > img { height: 233px; }
  .project-card-body { padding: 20px 19px 22px; }
  .project-card h3 { min-height: 69px; font-size: clamp(22px, 1.78vw, 25px); }
  .project-card p { font-size: 13px; }
  .project-card-body > p:last-child { min-height: 57px; }

  .ecosystem { min-height: 752px; padding: 110px 0 122px; }
  .network-heading h2 { font-size: clamp(47px, 4.31vw, 59px); }
  .network-heading { gap: clamp(40px, 6.93vw, 109px); }
  .network-marquees { margin-top: 57px; }
  .network-lane + .network-lane { margin-top: 22px; }
  .logo-set article { width: 230px; height: 124px; flex-basis: 230px; padding: 24px 34px; }
  .partner-logo-set img,
  .ecosystem-logo-set img { max-width: 178px; max-height: 62px; }

  .news { min-height: 471px; padding: 86px 0 72px; }
  .news-title { padding-right: 37px; }
  .news-title > h2 { font-size: clamp(45px, 3.96vw, 58px); }
  .headline-text { margin-top: 42px; }
  .news-feature { padding-top: 75px; }
  .news-feature img { height: 248px; }
  .news-list { margin-left: 28px; padding-top: 75px; }
  .news-list article { min-height: 124px; }
  .news-list img { height: 105px; }
  .news-list h3 { font-size: 15px; }

  .callout { min-height: 386px; }
  .callout > h2 { padding-left: 24px; font-size: clamp(40px, 3.66vw, 53px); }
  .callout-content { width: min(356px, 100%); }
  .callout-actions { margin-top: 25px; gap: 18px; }
  .callout-actions > a:first-child { min-width: 277px; padding: 15px 28px; }
  .line-emblem { width: 208px; height: 218px; }
}

@media (min-width: 621px) and (max-width: 980px) {
  main > section:not(.opening) {
    width: min(752px, calc(100% - 56px));
    max-width: 84.15vw;
  }

  .brand-story { padding-bottom: 101px; }
  .brand-story-visual,
  .brand-collage { min-height: 515px; }
  .brand-story-copy { padding: 92px 24px; }
  .development-path { padding-block: 95px 86px; }
  .development-path > h2 { font-size: clamp(44px, 4.16vw, 55px); }
  .development-path-center { height: 463px; margin-bottom: 30px; }
  .development-path-detail { height: 440px; }
  .development-milestone { min-height: 123px; }
  .capability-media { height: 426px; }
  .capability-copy { padding: 47px 0 30px; }
  .capability-copy h2 { font-size: clamp(48px, 4.46vw, 59px); }
  .investment { padding: 86px 0 105px; }
  .investment-feature { width: min(673px, 100%); height: clamp(386px, 41.8vw, 416px); }
  .investment-fan { width: min(471px, 70%); }
  .featured-projects { padding: 67px 0 83px; }
  .project-card > img { height: 233px; }
  .ecosystem { padding: 110px 0 122px; }
  .logo-set article { width: 230px; height: 124px; flex-basis: 230px; padding: 24px 34px; }
  .partner-logo-set img,
  .ecosystem-logo-set img { max-width: 178px; max-height: 62px; }
  .news { min-height: 471px; padding: 86px 0 72px; }
  .news-feature img { height: 248px; }
  .news-list img { height: 105px; }
  .callout { min-height: 386px; }
}

@media (max-width: 620px) {
  main > section:not(.opening) {
    width: calc(100% - 20px);
    max-width: 93.5vw;
  }

  .brand-story {
    margin-top: 72px;
    padding-bottom: 78px;
    display: block;
    overflow: visible;
  }
  .brand-story-visual {
    min-height: 0;
    padding-bottom: 36px;
  }
  .brand-collage {
    min-height: 0;
    aspect-ratio: 1 / 1.03;
    overflow: hidden;
    border-radius: 19px;
    background: #dedbd3;
    box-shadow: 0 17px 42px rgba(38, 29, 15, .14);
  }
  .brand-collage-image,
  .brand-collage-image-top,
  .brand-collage-image-bottom {
    inset: 0;
    width: 100%;
    height: 100%;
    clip-path: none;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.045);
    transition: opacity .72s cubic-bezier(.22, 1, .36, 1), transform 1.15s cubic-bezier(.16, 1, .3, 1), visibility .72s;
  }
  .brand-collage-image.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
  .brand-collage-image::after {
    z-index: 1;
    background: linear-gradient(180deg, transparent 52%, rgba(10, 12, 12, .1) 67%, rgba(10, 12, 12, .7) 100%);
  }
  .brand-collage-image img,
  .brand-collage-image:hover img {
    height: 100%;
    filter: saturate(.88) contrast(1.02);
    transform: scale(1.01);
  }
  .brand-collage-image-top img { object-position: center center; }
  .brand-collage-image-bottom img { object-position: 52% center; }
  .brand-collage-logo { display: none; }
  .brand-mobile-nav {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 43px;
    height: 43px;
    padding: 0 0 4px;
    display: grid;
    place-items: center;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 35px;
    line-height: 1;
    border: 1px solid rgba(255, 255, 255, .46);
    border-radius: 50%;
    background: rgba(191, 148, 65, .9);
    box-shadow: 0 7px 18px rgba(42, 29, 7, .2);
    transform: translateY(-50%);
    backdrop-filter: blur(6px);
  }
  .brand-mobile-nav-prev { left: 11px; }
  .brand-mobile-nav-next { right: 11px; }
  .brand-mobile-nav:active { transform: translateY(-50%) scale(.94); }
  .brand-mobile-swipe {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 21px;
    display: block;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .42);
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .brand-mobile-pagination {
    position: absolute;
    left: 50%;
    bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
    transform: translateX(-50%);
  }
  .brand-mobile-pagination button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #dddcd8;
    transition: width .35s cubic-bezier(.22, 1, .36, 1), background-color .35s ease;
  }
  .brand-mobile-pagination button.is-active {
    width: 29px;
    background: var(--gold);
  }
  .brand-story-copy {
    padding: 50px 13px 0;
    display: flex;
    flex-direction: column;
    text-align: center;
  }
  .brand-story-copy::before,
  .brand-story-accent { display: none; }
  .brand-story-copy h2 {
    margin-bottom: 22px;
    color: #171a19;
    font-family: var(--font-subtitle);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-transform: none;
  }
  .brand-story-copy p {
    max-width: 345px;
    margin: 0 auto 17px;
    color: #555753;
    font-size: 12px;
    line-height: 1.72;
  }
  .brand-story-extra {
    order: 2;
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .58s cubic-bezier(.22, 1, .36, 1), opacity .34s ease;
  }
  .brand-story-extra-inner {
    position: relative;
    min-height: 0;
    display: block;
    overflow: hidden;
  }
  .brand-story-extra-inner::before {
    content: 'DISCOVERY / INSIGHT';
    display: block;
    width: max-content;
    margin: 0 auto 15px;
    color: rgba(156, 119, 53, .72);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1;
    opacity: 0;
    transform: translateY(9px);
    transition: opacity .45s ease, transform .62s cubic-bezier(.22, 1, .36, 1);
  }
  .brand-story-copy.is-expanded .brand-story-extra {
    grid-template-rows: 1fr;
    opacity: 1;
  }
  .brand-story-extra-inner { padding-top: 0; transition: padding-top .58s cubic-bezier(.22, 1, .36, 1); }
  .brand-story-copy.is-expanded .brand-story-extra-inner { padding-top: 23px; }
  .brand-story-extra-inner p {
    opacity: 0;
    transform: translateY(13px);
    transition: opacity .48s ease, transform .62s cubic-bezier(.22, 1, .36, 1);
  }
  .brand-story-copy.is-expanded .brand-story-extra-inner::before,
  .brand-story-copy.is-expanded .brand-story-extra-inner p {
    opacity: 1;
    transform: translateY(0);
  }
  .brand-story-copy.is-expanded .brand-story-extra-inner p:nth-child(1) { transition-delay: .08s; }
  .brand-story-copy.is-expanded .brand-story-extra-inner p:nth-child(2) { transition-delay: .18s; }
  .brand-story-copy.is-expanded .brand-story-extra-inner p:nth-child(3) { transition-delay: .28s; }
  .brand-story-more {
    position: relative;
    isolation: isolate;
    overflow: visible;
    order: 1;
    min-width: 164px;
    height: 45px;
    margin: 25px auto 0;
    padding: 0 25px;
    display: inline-grid;
    place-items: center;
    color: #9c7735;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    border: 1px solid rgba(183, 149, 82, .72);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(73, 51, 13, .06);
    transition: color .35s ease, background-color .35s ease, border-color .35s ease, box-shadow .45s ease, transform .45s cubic-bezier(.22, 1, .36, 1);
  }
  .brand-story-more::before {
    content: '';
    position: absolute;
    inset: -7px;
    border: 1px solid rgba(183, 149, 82, .45);
    border-radius: 11px;
    opacity: 0;
    pointer-events: none;
    transform: scale(.72);
  }
  .brand-story-more::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .3s ease;
  }
  .brand-story-copy.is-more-arming .brand-story-more {
    color: #7f5c20;
    border-color: rgba(183, 149, 82, .95);
    background: linear-gradient(105deg, #fff 0%, #fffaf0 42%, #f5ead0 50%, #fffaf0 58%, #fff 100%);
    background-size: 230% 100%;
    box-shadow: 0 0 0 1px rgba(183, 149, 82, .11), 0 13px 30px rgba(73, 51, 13, .13);
    animation: brand-more-sheen 1.05s ease both;
  }
  .brand-story-copy.is-more-arming .brand-story-more::before {
    animation: brand-more-ring .9s cubic-bezier(.22, 1, .36, 1) both;
  }
  .brand-story-copy.is-expanded .brand-story-more::after {
    transform: translateY(-35%) rotate(225deg);
  }
  .brand-story-copy.is-expanded .brand-story-more {
    order: 3;
    margin-top: 23px;
  }
  .brand-story-copy.is-more-holding .brand-story-more { order: 1; margin-top: 25px; }
  .brand-story-copy.is-more-collapsing .brand-story-more { order: 3; margin-top: 23px; }
  .brand-story-copy.is-more-moving .brand-story-more {
    opacity: 0;
    pointer-events: none;
  }
  .brand-story-more.is-reordered {
    transition: transform 1s cubic-bezier(.22, 1, .36, 1);
  }
  .brand-story-more:active { transform: scale(.97); }
  .brand-story-copy.is-expanded .brand-story-more {
    color: #7f5c20;
    border-color: rgba(183, 149, 82, .9);
    background: #fffaf0;
    box-shadow: 0 10px 24px rgba(73, 51, 13, .1);
  }

  @keyframes brand-more-sheen {
    0% { background-position: 120% 0; }
    100% { background-position: -25% 0; }
  }
  @keyframes brand-more-ring {
    0% { opacity: .85; transform: scale(.72); }
    70% { opacity: .2; transform: scale(1.1); }
    100% { opacity: 0; transform: scale(1.22); }
  }

@media (prefers-reduced-motion: reduce) {
    .brand-story-extra,
    .brand-story-more,
    .brand-story-extra-inner::before,
    .brand-story-extra-inner p { transition-duration: .01ms; }
    .brand-story-more::before,
    .brand-story-more::after { animation: none !important; transition-duration: .01ms; }
  }

  .development-path { padding: 76px 0 80px; }
  .development-path > h2 { font-size: 30px; }
  .development-path-stage {
    --timeline-card-height: clamp(92px, 24vw, 104px);
    --timeline-card-gap: 10px;
    height: auto;
    aspect-ratio: auto;
    margin-top: 31px;
    display: block;
  }
  .development-path-center,
  .development-path-connectors { display: none; }
  .development-path-milestones {
    position: relative;
    inset: auto;
    width: min(354px, calc(100% - 8px));
    height: calc(var(--timeline-card-height) * 4 + var(--timeline-card-gap) * 3 + 8px);
    margin-inline: auto;
    padding: 4px;
    display: flex;
    flex-direction: column;
    gap: var(--timeline-card-gap);
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    counter-reset: development-card;
  }
  .development-path-milestones::-webkit-scrollbar { display: none; }
  .development-milestone,
  .milestone-2009,
  .milestone-2016,
  .milestone-2017,
  .milestone-2020,
  .milestone-2023,
  .milestone-2026 {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: var(--timeline-card-height);
    height: var(--timeline-card-height);
    flex: 0 0 var(--timeline-card-height);
    padding: 15px 42px 15px 18px;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: center;
    gap: 15px;
    overflow: hidden;
    color: #282821;
    text-align: left;
    border: 1px solid rgba(183,149,82,.42);
    border-radius: 13px;
    background:
      radial-gradient(circle at 96% 0%, rgba(214,178,102,.13), transparent 38%),
      linear-gradient(145deg, #fffefb, #fbf7ed);
    box-shadow: 0 9px 24px rgba(67,50,18,.075), inset 0 1px 0 rgba(255,255,255,.92);
    opacity: .42;
    transform: translateY(8px) scale(.985);
    transition: opacity .45s ease, transform .58s cubic-bezier(.22,1,.36,1), border-color .4s ease, box-shadow .4s ease;
    scroll-snap-align: none;
    counter-increment: development-card;
    cursor: default;
  }
  .development-milestone:nth-child(1),
  .development-milestone:nth-child(3) {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .development-milestone.is-in-view {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .development-milestone::before {
    content: "";
    position: absolute;
    inset: 13px auto 13px 0;
    width: 3px;
    height: auto;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, #e1bd6d, #9d7029);
    box-shadow: 0 0 13px rgba(190,145,57,.2);
  }
  .development-milestone::after {
    content: counter(development-card, decimal-leading-zero);
    position: absolute;
    right: 13px;
    top: 12px;
    color: rgba(157,112,41,.44);
    font-family: var(--font-time);
    font-size: 10px;
    letter-spacing: .04em;
  }
  .development-milestone time {
    margin: 0;
    color: #a8792c;
    font-size: clamp(29px, 8.5vw, 35px);
    line-height: 1;
    letter-spacing: -.025em;
  }
  .development-milestone p {
    margin: 0;
    color: #35352f;
    font-size: clamp(9px, 2.6vw, 11px);
    font-weight: 600;
    line-height: 1.42;
    letter-spacing: .035em;
    text-transform: uppercase;
  }
  .development-mobile-scroll-status {
    width: min(354px, calc(100% - 8px));
    margin: 15px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #9b7737;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
  }
  .development-mobile-scroll-status > div { display: flex; align-items: center; gap: 7px; }
  .development-mobile-scroll-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(183,149,82,.25);
    transition: width .4s cubic-bezier(.22,1,.36,1), background-color .35s ease, box-shadow .35s ease;
  }
  .development-mobile-scroll-status i.is-active {
    width: 22px;
    border-radius: 999px;
    background: var(--gold);
    box-shadow: 0 3px 9px rgba(113,78,19,.18);
  }

  .capability { padding-top: 25px; }
  .capability-media { height: 287px; }
  .capability-copy { padding-top: 35px; }
  .capability-copy h2 { font-size: 39px; line-height: 1.02; }
  .capability-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 5px;
    margin-top: 22px;
  }
  .capability-kpi,
  .capability-kpi-wide {
    --pillar-height: clamp(172px, 46vw, 190px);
    --pillar-line: 25px;
    height: clamp(172px, 46vw, 190px);
    min-height: clamp(172px, 46vw, 190px);
    padding: 0 4px;
    align-items: center;
    justify-content: center;
  }
  .capability-kpi::after { left: 18%; right: 18%; bottom: 11px; }
  .capability-kpi strong,
  .capability-kpi-wide strong,
  .capability-kpi:last-child strong {
    width: 100%;
    font-size: clamp(22px, 7.2vw, 30px);
    text-align: center;
  }
  .capability-kpi strong::before { height: 25px; margin-bottom: 9px; }
  .capability-kpi span {
    min-height: 39px;
    margin-top: 10px;
    font-size: clamp(6.2px, 1.7vw, 7.4px);
    line-height: 1.4;
    letter-spacing: .045em;
    text-align: center;
  }

  .investment { padding: 68px 0 82px; }
  .investment > h2,
  .featured-projects > h2 { font-size: 39px; }
  .investment > h2 {
    text-align: center;
    line-height: 1.08;
  }
  .investment > h2::after {
    width: 178px;
    margin: 18px auto 0;
    background: linear-gradient(90deg, transparent, var(--gold) 24%, var(--gold) 76%, transparent);
  }
  .investment-showcase {
    margin-top: 26px;
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
  .investment-fan {
    order: 1;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px 7px;
  }
  .investment-sector,
  .investment-sector:nth-child(n),
  .investment-sector:is(:hover, :focus-visible) {
    --sector-hover-scale: 1;
    width: 100%;
    height: 50px;
    margin: 0;
    display: flex;
    color: #725526;
    background: linear-gradient(180deg, #fffdf8, #f7f0df);
    border: 1px solid rgba(183, 149, 82, .62);
    border-radius: 999px;
    clip-path: none;
    box-shadow: 0 7px 18px rgba(97, 68, 18, .07), inset 0 1px 0 rgba(255,255,255,.9);
    transform: none;
  }
  .investment-sector::before,
  .investment-sector::after,
  .investment-sector-media,
  .investment-sector-number,
  .investment-sector-content > i,
  .investment-sector-arrow { display: none; }
  .investment-sector-content {
    width: 100%;
    height: 100%;
    padding: 0 7px;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    background: transparent;
  }
  .investment-sector-name {
    width: 100%;
    color: inherit;
    font-size: 0;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: .015em;
    text-align: center;
    text-transform: none;
  }
  .investment-sector-name::after {
    content: attr(data-mobile-label);
    font-size: clamp(7.2px, 2.2vw, 9px);
  }
  .investment-sector.is-active,
  .investment-sector.is-active:is(:hover, :focus-visible) {
    color: #fffdf7;
    background: linear-gradient(135deg, #8e641f 0%, #c69d4c 48%, #9b712a 100%);
    border-color: #b68a3b;
    box-shadow: 0 11px 24px rgba(112, 76, 17, .22), inset 0 1px 0 rgba(255,255,255,.3);
  }
  .investment-feature {
    order: 2;
    height: auto;
    overflow: hidden;
    grid-template-columns: 1fr;
    border-color: rgba(183, 149, 82, .34);
    border-radius: 17px;
    box-shadow: 0 18px 42px rgba(52, 40, 16, .11);
  }
  .investment-feature-media {
    height: auto;
    aspect-ratio: 16 / 10.5;
  }
  .investment-feature-copy {
    min-height: 0;
    padding: 25px 21px 27px;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .investment-feature-index,
  .investment-feature-copy > i { display: none; }
  .investment-feature-title {
    margin-bottom: 13px;
    font-size: 24px;
    line-height: 1.12;
    text-transform: none;
  }
  .investment-feature-description {
    max-width: 330px;
    font-size: 12px;
    line-height: 1.68;
  }
  .investment-feature-arrow {
    position: static;
    width: 43px;
    height: 43px;
    margin: 18px auto 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(183, 149, 82, .72);
    border-radius: 50%;
    background: #fffaf0;
  }

  .featured-projects { padding: 67px 0 83px; }
  .project-grid {
    width: 100%;
    margin-top: 28px;
    display: flex;
    align-items: stretch;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .project-grid::-webkit-scrollbar { display: none; }
  .project-card,
  .project-card:last-child {
    width: 100%;
    min-width: 100%;
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .project-card > img { height: 204px; }
  .project-card-body { padding: 20px 19px 22px; }
  .project-card h3 { min-height: 54px; }
  .project-card-body > p:last-child { min-height: 84px; }
  .project-pagination {
    min-height: 22px;
    margin-top: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .project-pagination button {
    position: relative;
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(183, 149, 82, .28);
    box-shadow: inset 0 0 0 1px rgba(151, 112, 39, .22);
    transition: background-color .35s ease, box-shadow .35s ease, transform .35s cubic-bezier(.22, 1, .36, 1);
  }
  .project-pagination button::before {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
  }
  .project-pagination button.is-active {
    background: var(--gold);
    box-shadow: 0 0 0 4px rgba(183, 149, 82, .13), 0 2px 7px rgba(112, 77, 18, .24);
    transform: scale(1.16);
  }

  .ecosystem { padding: 72px 0 86px; }
  .network-heading h2 { font-size: 41px; }
  .network-marquees { margin-top: 37px; }
  .logo-set article { width: 174px; height: 105px; flex-basis: 174px; padding: 19px 25px; }
  .partner-logo-set img,
  .ecosystem-logo-set img { max-width: 139px; max-height: 53px; }

  .news { padding: 72px 0; }
  .news-title {
    padding-right: 0;
    text-align: center;
  }
  .news-title .section-index { justify-content: center; }
  .news-title > h2 { font-size: 43px; line-height: 1.02; }
  .news-title .gold-rule { margin-inline: auto; }
  .headline-text,
  .news > .news-feature,
  .news > .news-list { display: none; }
  .news-mobile-carousel {
    width: 100%;
    margin-top: 31px;
    display: block;
    overflow: hidden;
  }
  .news-mobile-track {
    width: 100%;
    display: flex;
    align-items: stretch;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .news-mobile-track::-webkit-scrollbar { display: none; }
  .news-mobile-card {
    width: 100%;
    min-width: 100%;
    flex: 0 0 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    border: 1px solid var(--line);
    background: #fff;
  }
  .news-mobile-card > img {
    width: 100%;
    height: 208px;
    object-fit: cover;
  }
  .news-mobile-card > div {
    flex: 1;
    min-height: 188px;
    padding: 21px 19px 23px;
    display: flex;
    flex-direction: column;
  }
  .news-mobile-card time { margin-bottom: 10px; color: var(--gold); }
  .news-mobile-card h3 {
    min-height: 68px;
    font-size: 20px;
    line-height: 1.25;
  }
  .news-mobile-card a { width: max-content; margin-top: auto; }
  .news-pagination {
    min-height: 22px;
    margin-top: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .news-pagination button {
    position: relative;
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(183, 149, 82, .28);
    box-shadow: inset 0 0 0 1px rgba(151, 112, 39, .22);
    transition: background-color .35s ease, box-shadow .35s ease, transform .35s cubic-bezier(.22, 1, .36, 1);
  }
  .news-pagination button::before {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
  }
  .news-pagination button.is-active {
    background: var(--gold);
    box-shadow: 0 0 0 4px rgba(183, 149, 82, .13), 0 2px 7px rgba(112, 77, 18, .24);
    transform: scale(1.16);
  }

  .callout { padding: 63px 0; }
  .callout > h2 { font-size: 42px; }
  .callout-content { margin-top: 32px; }
  .callout-actions { margin-top: 32px; }
  .callout-actions > a:first-child { min-width: 248px; padding: 15px 28px; }
}

/* Section and card headings use the requested all-caps editorial treatment. */
main h1,
main h2,
main h3 {
  text-transform: uppercase !important;
}

/* Cormorant's fine hairlines can disappear on low-density screens; strengthen display text slightly. */
.opening-copy h1,
.brand-story-copy h2,
.development-path > h2,
.development-path-detail h3,
.facts-heading h2,
.capability-copy h2,
.investment > h2,
.featured-projects > h2,
.network-heading > h2,
.news-title > h2,
.callout > h2 {
  font-weight: 600;
  text-rendering: optimizeLegibility;
  -webkit-text-stroke: .12px currentColor;
}

/* Editorial type hierarchy: serif display, quiet sans copy, mono metadata. */
body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

body { font-weight: 300; }

.section-index,
.opening-label,
.primary-nav a,
.language,
.contact-link,
.opening-actions a,
.opening-scroll span,
.facts-heading p,
.fact-label,
.investment-feature-index,
.investment-sector-number,
.network-lane-label span,
.timeline-copy time,
.footer-contact-list span {
  font-family: var(--font-time);
}

.section-index,
.opening-label,
.primary-nav a,
.contact-link,
.opening-actions a,
.facts-heading p,
.fact-label,
.footer-contact-list span {
  letter-spacing: .12em;
}

/* Keep the selected mobile timeline study above the legacy mobile layout. */
@media (max-width: 620px) {
  .development-path { padding: 48px 0 52px; }
  .development-path > h2 { font-size: 28px; line-height: 1.12; }
  .development-path > h2::after { width: 38px; margin-top: 13px; }
  .development-path-stage {
    --timeline-card-height: clamp(52px, 7.9svh, 66px);
    height: auto;
    margin-top: 18px;
  }
  .development-path-milestones {
    position: relative;
    inset: auto;
    width: min(354px, calc(100% - 20px));
    height: auto;
    margin-inline: auto;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    overflow: visible;
    scroll-snap-type: none;
    counter-reset: none;
  }
  .development-milestone,
  .milestone-2009,
  .milestone-2016,
  .milestone-2017,
  .milestone-2020,
  .milestone-2023,
  .milestone-2026 {
    position: relative;
    inset: auto;
    width: 100%;
    height: var(--timeline-card-height);
    min-height: var(--timeline-card-height);
    padding: 7px 30px;
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    overflow: hidden;
    text-align: center;
    border: 1px solid rgba(183,149,82,.4);
    border-radius: 12px;
    background: linear-gradient(145deg, #fffefb, #faf4e7);
    box-shadow: 0 7px 18px rgba(67,50,18,.065), inset 0 1px 0 rgba(255,255,255,.95);
    opacity: 0;
    transform: translateY(10px) scale(.985);
    scroll-snap-align: none;
  }
  .development-milestone.is-in-view { opacity: 1; transform: translateY(0) scale(1); }
  .development-milestone:nth-child(1),
  .development-milestone:nth-child(3) { scroll-snap-align: none; }
  .milestone-2009,
  .milestone-2016,
  .milestone-2017,
  .milestone-2020,
  .milestone-2023,
  .milestone-2026 {
    grid-column: auto;
    grid-row: auto;
  }
  .development-milestone::before {
    inset: 0 24px auto;
    width: auto;
    height: 2px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, transparent, #d5a94f 25%, #b17d27 75%, transparent);
    box-shadow: none;
  }
  .development-milestone::after { display: none; }
  .development-milestone time {
    margin: 0;
    font-size: clamp(19px, 5.5vw, 24px);
    line-height: 1;
    text-align: center;
  }
  .development-milestone p {
    max-width: 276px;
    margin: 0;
    font-size: clamp(7px, 1.95vw, 8.5px);
    line-height: 1.25;
    text-align: center;
  }
  .development-mobile-scroll-status { display: none; }

  .development-path-center {
    position: static;
    width: 0;
    height: 0;
    margin: 0;
    display: block;
    transform: none;
  }
  .development-path-logo { display: none; }
  .development-path-detail-backdrop {
    position: fixed;
    z-index: 80;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    display: block;
    border: 0;
    background: rgba(24, 20, 13, .42);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .42s ease, visibility .42s ease;
  }
  .development-path-detail {
    position: fixed;
    z-index: 81;
    left: 50%;
    top: 50%;
    bottom: auto;
    width: min(354px, calc(100vw - 28px));
    height: auto;
    max-height: calc(100svh - 36px);
    padding: 1px;
    overflow: hidden;
    border-radius: 25px;
    box-shadow: 0 28px 70px rgba(31, 23, 10, .28), 0 0 0 1px rgba(228, 199, 137, .28);
    transform: translate(-50%, calc(-50% + 30px)) scale(.97);
    transition: opacity .38s ease, visibility .38s ease, transform .58s cubic-bezier(.22, 1, .36, 1);
  }
  .development-path-detail-inner {
    position: relative;
    height: auto;
    min-height: 310px;
    max-height: calc(100svh - 38px);
    padding: 35px 24px 25px;
    overflow-y: auto;
    align-content: center;
    border-radius: 24px;
    background: radial-gradient(circle at 50% 0%, rgba(209, 166, 79, .16), transparent 34%), #fffdf8;
  }
  .development-path-stage.has-active .development-path-detail-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .development-path-stage.has-active .development-path-detail {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
  }
  .development-path-detail-close {
    position: absolute;
    z-index: 2;
    right: 14px;
    top: 14px;
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(183, 149, 82, .32);
    border-radius: 50%;
    background: rgba(255, 253, 248, .88);
    box-shadow: 0 7px 18px rgba(82, 59, 19, .08);
  }
  .development-path-detail-close span,
  .development-path-detail-close span::after {
    width: 13px;
    height: 1px;
    display: block;
    background: #9d722c;
    transform: rotate(45deg);
  }
  .development-path-detail-close span::after {
    content: "";
    transform: rotate(90deg);
  }
  .development-path-detail span { font-size: 8px; }
  .development-path-detail strong { margin-top: 12px; font-size: 48px; }
  .development-path-detail h3 { margin-top: 15px; font-size: 23px; line-height: 1.05; }
  .development-path-detail p { margin-top: 13px; font-size: 11px; line-height: 1.58; }
  .development-path-detail small { margin-top: 15px; }
  .development-path-stage.has-active .development-milestone:not(.is-active) { opacity: 1; }
  .development-milestone.is-active {
    border-color: rgba(180, 134, 48, .82);
    box-shadow: 0 10px 24px rgba(91, 63, 16, .14), inset 0 1px 0 rgba(255,255,255,.95);
    transform: translateY(0) scale(1);
  }
  body.development-detail-open { overflow: hidden; }

  /* Editorial reveal: each milestone enters on its own beat. */
  .development-milestone {
    filter: blur(5px);
    will-change: opacity, transform, filter;
    transition:
      opacity .78s ease,
      transform .78s cubic-bezier(.22, 1, .36, 1),
      filter .78s ease,
      border-color .4s ease,
      box-shadow .4s ease,
      background-color .4s ease;
  }
  .development-milestone:nth-child(odd) { transform: translateX(-18px) translateY(8px) scale(.985); }
  .development-milestone:nth-child(even) { transform: translateX(18px) translateY(8px) scale(.985); }
  .development-milestone.is-in-view {
    filter: blur(0);
    transform: translateX(0) translateY(0) scale(1);
  }
  .development-milestone.is-reveal-active {
    z-index: 2;
    border-color: rgba(175, 126, 39, .9);
    box-shadow: 0 14px 30px rgba(99, 67, 14, .16), 0 0 0 3px rgba(201, 157, 66, .1), inset 0 1px 0 rgba(255,255,255,.98);
    transform: translateX(0) translateY(-3px) scale(1.018);
  }

  /* Footer-inspired curtain lift: each milestone opens softly before settling. */
  .development-milestone {
    clip-path: inset(0 0 100% 0 round 12px);
    transition:
      opacity .78s ease,
      transform .78s cubic-bezier(.22, 1, .36, 1),
      filter .78s ease,
      clip-path .78s cubic-bezier(.22, 1, .36, 1),
      border-color .4s ease,
      box-shadow .4s ease;
  }
  .development-milestone::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    display: block;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,253,248,.98), rgba(249,241,223,.82));
    transform: scaleY(1);
    transform-origin: 50% 0;
    transition: transform .78s cubic-bezier(.22, 1, .36, 1);
    pointer-events: none;
  }
  .development-milestone.is-in-view {
    clip-path: inset(0 round 12px);
  }
  .development-milestone.is-in-view::after { transform: scaleY(0); }
  .development-milestone.is-reveal-active::after { opacity: .12; }

  .brand-story-more::after {
    right: 17px;
    width: 5px;
    height: 5px;
    border-radius: 1px;
    box-shadow: 0 0 0 8px rgba(183,149,82,.075), 0 0 0 9px rgba(183,149,82,.18);
  }
  .brand-story-copy.is-expanded .brand-story-more::after {
    box-shadow: 0 0 0 8px rgba(183,149,82,.12), 0 0 0 9px rgba(183,149,82,.26);
  }
  .brand-story-more::after { display: none; }
  .brand-story-more > span { position: relative; z-index: 1; }
  .brand-story-more > i {
    position: absolute;
    z-index: 1;
    right: 10px;
    top: 50%;
    width: 22px;
    height: 22px;
    display: block;
    border: 1px solid rgba(183,149,82,.48);
    border-radius: 50%;
    background: rgba(255,253,248,.74);
    box-shadow: 0 4px 10px rgba(83,58,14,.06);
    transform: translateY(-50%);
    transition: background-color .4s ease, border-color .4s ease, transform .55s cubic-bezier(.22,1,.36,1);
  }
  .brand-story-more > i::before,
  .brand-story-more > i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 1px;
    background: #9a741f;
    transform: translate(-50%, -50%);
    transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .3s ease;
  }
  .brand-story-more > i::after { transform: translate(-50%, -50%) rotate(90deg); }
  .brand-story-copy.is-expanded .brand-story-more > i {
    border-color: #b9903c;
    background: #fff9eb;
    transform: translateY(-50%) rotate(180deg);
  }
  .brand-story-copy.is-expanded .brand-story-more > i::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0);
  }

  /* Compact pill control: typography stays centered with no inner symbol. */
  .brand-story-more {
    width: 178px;
    min-width: 178px;
    height: 43px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
  }
  .brand-story-more::before { border-radius: 999px; }
  .brand-story-more > i { display: none !important; }

  .development-milestone {
    filter: blur(2.5px);
    transition-duration: .86s;
  }
  .development-milestone:nth-child(odd) { transform: translateX(-12px) translateY(8px) scale(.985); }
  .development-milestone:nth-child(even) { transform: translateX(12px) translateY(8px) scale(.985); }
  .development-milestone.is-in-view {
    filter: blur(0);
    transform: translateX(0) translateY(0) scale(1);
  }
  .development-milestone.is-reveal-active {
    transform: translateX(0) translateY(-2px) scale(1.012);
  }

  @media (prefers-reduced-motion: reduce) {
    .development-milestone,
    .development-milestone:nth-child(odd),
    .development-milestone:nth-child(even) {
      filter: none;
      transition-duration: .01ms;
      transform: none;
    }
  }

  html[data-timeline-demo="2"] .development-path-stage {
    --timeline-card-height: clamp(88px, 14.6svh, 112px);
  }
  html[data-timeline-demo="2"] .development-path-milestones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
  html[data-timeline-demo="2"] .development-milestone {
    padding: 13px 9px 10px;
    gap: 7px;
    border-radius: 18px;
    background: radial-gradient(circle at 50% 0%, rgba(221,181,96,.19), transparent 48%), linear-gradient(155deg, #fffefb, #f7efd9);
    box-shadow: 0 10px 24px rgba(67,50,18,.085), inset 0 1px 0 rgba(255,255,255,.96);
  }
  html[data-timeline-demo="2"] .development-milestone::before {
    inset: 9px auto auto 50%;
    width: 29px;
    height: 29px;
    border: 1px solid rgba(183,149,82,.23);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(211,168,78,.16), transparent 68%);
    transform: translateX(-50%);
  }
  html[data-timeline-demo="2"] .development-milestone time {
    position: relative;
    z-index: 1;
    font-size: clamp(24px, 7.2vw, 30px);
  }
  html[data-timeline-demo="2"] .development-milestone p {
    max-width: 135px;
    font-size: clamp(6.5px, 1.82vw, 8px);
  }

  html[data-timeline-demo="3"] .development-path-stage {
    --timeline-card-height: clamp(52px, 7.9svh, 66px);
  }
  html[data-timeline-demo="3"] .development-milestones { gap: 7px; }
  html[data-timeline-demo="3"] .development-milestone {
    padding: 7px 30px;
    border-radius: 999px;
    border-color: rgba(177,125,39,.5);
  }
  html[data-timeline-demo="3"] .development-milestone:nth-child(odd) {
    border-color: #b98937;
    background: linear-gradient(115deg, #93651e, #d3a54b 48%, #a67425);
    box-shadow: 0 9px 22px rgba(106,72,16,.18), inset 0 1px 0 rgba(255,255,255,.25);
  }
  html[data-timeline-demo="3"] .development-milestone:nth-child(even) {
    background: linear-gradient(145deg, #fffefb, #f8f0dc);
  }
  html[data-timeline-demo="3"] .development-milestone::before { display: none; }
  html[data-timeline-demo="3"] .development-milestone:nth-child(odd) time,
  html[data-timeline-demo="3"] .development-milestone:nth-child(odd) p { color: #fffdf8; }
  html[data-timeline-demo="3"] .development-milestone time { font-size: clamp(19px, 5.35vw, 23px); }
  html[data-timeline-demo="3"] .development-milestone p { font-size: clamp(6.8px, 1.9vw, 8.2px); }
}
