@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/libre-baskerville-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/libre-baskerville-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --ink: #0a0b0d;
  --graphite: #11151a;
  --soft: #f5f6f6;
  --paper: #ffffff;
  --line: #d7dadd;
  --muted: #6d747b;
  --red: #e30613;
  --steel: #8fa5b5;
  --serif: "Libre Baskerville", Georgia, serif;
  --sans: Inter, "Helvetica Neue", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  overflow-x: clip;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  letter-spacing: 0;
}

html {
  scroll-behavior: smooth;
}

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

img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

button,
input,
select {
  font: inherit;
}

.topbar {
  position: sticky;
  z-index: 30;
  top: 0;
  display: grid;
  grid-template-columns: 260px 1fr auto;
  align-items: center;
  min-height: 74px;
  padding: 0 42px;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  text-transform: uppercase;
}

.brand-mark {
  display: block;
  width: 3px;
  height: 34px;
  background: var(--red);
  flex: 0 0 3px;
}

.brand strong,
.brand small {
  display: block;
}

.brand strong {
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 400;
  line-height: .92;
  letter-spacing: .04em;
}

.brand small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .3em;
}

.main-nav {
  display: flex;
  justify-content: center;
  gap: 30px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.main-nav a {
  color: #34383c;
}

.main-nav { position: relative; }
.menu-toggle { display: inline-flex; align-items: center; gap: 10px; padding: 12px 0; border: 0; color: #34383c; background: transparent; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.menu-toggle i, .menu-toggle i::before { display: block; width: 18px; height: 1px; background: currentColor; content: ""; transition: transform 180ms ease; }
.menu-toggle i::before { transform: translateY(-5px); }
.main-nav.is-open .menu-toggle i { transform: rotate(45deg); }.main-nav.is-open .menu-toggle i::before { transform: rotate(90deg); }
.house-menu { position: fixed; z-index: 110; top: 74px; left: 0; display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); width: 100vw; padding: 46px max(70px, calc((100vw - 1320px)/2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 26px 60px rgba(0,0,0,.12); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity 220ms ease, transform 260ms ease; }
.main-nav.is-open .house-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.house-menu > div { padding: 0 22px; border-right: 1px solid var(--line); }.house-menu > div:last-child { border-right: 0; }
.house-menu span { display: block; margin-bottom: 16px; color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.house-menu a { display: block; margin: 0 0 11px; color: var(--ink); font-size: 13px; font-weight: 600; text-transform: none; }
@media (max-width: 700px) {
  .topbar { grid-template-columns: 1fr auto; padding: 0 22px; }
  .topbar .main-nav { order: 3; justify-self: start; }
  .top-actions { gap: 14px; }
  .house-menu { top: 67px; left: 0; grid-template-columns: 1fr; width: 100vw; max-height: calc(100vh - 67px); padding: 28px 22px; overflow: auto; transform: translateY(-8px); }
  .main-nav.is-open .house-menu { transform: translateY(0); }
  .house-menu > div { padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }.house-menu > div:first-child { padding-top: 0; }.house-menu > div:last-child { border-bottom: 0; padding-bottom: 0; }
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.geneva-clock { display: inline-flex; align-items: center; gap: 8px; color: #687077; font-variant-numeric: tabular-nums; white-space: nowrap; }
.geneva-clock i { width: 6px; height: 6px; background: var(--red); border-radius: 50%; animation: clockPulse 2.2s ease-in-out infinite; }

.text-cta {
  padding-bottom: 6px;
  border-bottom: 2px solid var(--red);
}

.opening {
  display: grid;
  grid-template-columns: 86px minmax(440px, 0.98fr) 1.02fr;
  min-height: calc(100vh - 74px);
  border-bottom: 1px solid var(--line);
}

.opening-index {
  display: grid;
  align-content: center;
  gap: 26px;
  padding: 34px 0;
  border-right: 1px solid var(--line);
  color: #90969b;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.opening-index span {
  justify-self: center;
}

.opening-index .is-active {
  color: var(--red);
}

.opening-copy {
  display: grid;
  align-content: center;
  padding: 64px 70px;
  color: var(--ink);
}

.house-note,
.section-kicker,
.section-heading span {
  margin: 0 0 24px;
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 760px;
  margin-bottom: 30px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(42px, 4.45vw, 72px);
  font-weight: 400;
  line-height: 1.12;
}

.management-title h1,
.locale-page h1,
.contact-opening h1,
.portfolio-opening h1,
.fr-detail-hero h1 {
  color: #fff;
}

.opening-lede {
  max-width: 540px;
  margin-bottom: 42px;
  color: #4f565d;
  font-size: 18px;
  line-height: 1.72;
}

.opening-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.solid-cta,
.line-cta,
.review-form button {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.solid-cta,
.review-form button {
  color: #fff;
  border-color: var(--red);
  background: var(--red);
}

.solid-cta::after,
.line-cta::after,
.review-form button::after {
  content: "→";
  margin-left: 18px;
}

.opening-media {
  position: relative;
  min-height: 640px;
  padding: 34px 42px 42px 0;
  background:
    linear-gradient(90deg, #fff 0 32px, transparent 32px),
    var(--soft);
}

.media-primary {
  position: absolute;
  inset: 34px 42px 132px 70px;
  margin: 0;
  opacity: 0;
  transform: translateX(18px) scale(1.015);
  transition: opacity 900ms ease, transform 1600ms ease;
}

.media-primary.is-active {
  opacity: 1;
  transform: translateX(0) scale(1);
}

.media-primary img { transform: translate(var(--media-x, 0), var(--media-y, 0)) scale(1.055); transition: transform 1800ms cubic-bezier(.2,.7,.2,1); }
.media-primary.is-active img { animation: cinematicDrift 9s ease-in-out infinite alternate; }

.media-primary::after,
.media-secondary::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.18));
}

.media-secondary {
  position: absolute;
  right: 42px;
  bottom: 42px;
  width: 42%;
  height: 210px;
  margin: 0;
  border: 10px solid #fff;
  box-shadow: 0 20px 60px rgba(10, 11, 13, 0.18);
  animation: detailFloat 5.5s ease-in-out infinite alternate;
}

.media-caption {
  position: absolute;
  left: 70px;
  bottom: 58px;
  display: grid;
  gap: 8px;
  padding: 18px 22px;
  color: #fff;
  background: rgba(10, 11, 13, 0.82);
  transition: transform 450ms ease, opacity 450ms ease;
}

.media-caption span {
  color: var(--steel);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.media-progress {
  position: absolute;
  left: 70px;
  right: 42px;
  bottom: 22px;
  height: 2px;
  background: rgba(10, 11, 13, 0.12);
  overflow: hidden;
}

.media-progress span {
  display: block;
  width: 25%;
  height: 100%;
  background: var(--red);
  transform-origin: left;
  animation: mediaProgress 5200ms linear infinite;
}

.media-controls { position: absolute; z-index: 4; right: 42px; top: 34px; display: flex; border: 1px solid rgba(255,255,255,.48); background: rgba(10,11,13,.54); backdrop-filter: blur(8px); }
.media-controls button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-right: 1px solid rgba(255,255,255,.28); color: #fff; background: transparent; cursor: pointer; transition: color 180ms ease, background 180ms ease; }
.media-controls button:last-child { border-right: 0; }
.media-controls button:hover,.media-controls button:focus-visible { color: var(--red); background: #fff; outline: none; }
.media-controls svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.media-controls .play-icon { display: none; fill: currentColor; stroke: none; }
.media-controls [data-media-play].is-paused .pause-icon { display: none; }
.media-controls [data-media-play].is-paused .play-icon { display: block; }

.house-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
}

.house-strip article {
  min-height: 148px;
  padding: 34px 42px;
  border-right: 1px solid var(--line);
}

.house-strip article:last-child {
  border-right: 0;
}

.house-strip strong {
  display: block;
  margin-bottom: 14px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.house-strip p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}

.capabilities {
  padding: 92px 70px;
  background: #fff;
}

.section-heading {
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: 60px;
  margin-bottom: 54px;
}

.section-heading h2,
.mandate-panel h2,
.operations h2,
.international h2,
.contact h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(32px, 3.4vw, 54px);
  font-weight: 400;
  line-height: 1.16;
}

.capability-stage {
  display: grid;
  grid-template-columns: minmax(280px, 34%) 1fr;
  gap: 58px;
  align-items: start;
}

.capability-visual {
  position: sticky;
  top: 98px;
  height: 520px;
  margin: 0;
  overflow: hidden;
  background: var(--graphite);
}

.capability-visual img {
  filter: grayscale(0.18);
  transform: scale(1.02);
  transition: opacity 260ms ease, transform 900ms ease;
}

.capability-visual div {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  color: #fff;
}

.capability-visual span {
  color: var(--red);
  font-size: 36px;
  font-weight: 800;
}

.capability-visual strong {
  max-width: 220px;
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.18;
  text-align: right;
}

.capability-list {
  border-top: 1px solid var(--line);
}

.capability-list a {
  position: relative;
  display: grid;
  grid-template-columns: 78px 0.9fr 1.2fr;
  gap: 34px;
  align-items: start;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  transition: padding-left 260ms ease, background 260ms ease;
}

.capability-list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  bottom: -1px;
  width: 3px;
  background: var(--red);
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: opacity 260ms ease, transform 260ms ease;
}

.capability-list a:hover,
.capability-list a.is-active {
  padding-left: 22px;
  background: linear-gradient(90deg, rgba(227, 6, 19, 0.035), transparent 60%);
}

.capability-list a:hover::before,
.capability-list a.is-active::before {
  opacity: 1;
  transform: scaleY(1);
}

.capability-list span {
  color: var(--red);
  font-size: 18px;
  font-weight: 800;
}

.capability-list strong {
  font-family: var(--serif);
  font-size: clamp(26px, 2.4vw, 38px);
  font-weight: 400;
}

.capability-list p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.house-strip article,
.credibility-ledger,
.capabilities,
.mandates,
.operations,
.selected-situations,
.international,
.firm-note,
.contact {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.house-strip article.in-view,
.credibility-ledger.in-view,
.capabilities.in-view,
.mandates.in-view,
.operations.in-view,
.selected-situations.in-view,
.international.in-view,
.firm-note.in-view,
.contact.in-view {
  opacity: 1;
  transform: translateY(0);
}

.house-strip article:nth-child(2) { transition-delay: 80ms; }
.house-strip article:nth-child(3) { transition-delay: 160ms; }
.house-strip article:nth-child(4) { transition-delay: 240ms; }
.capability-list a:hover,.capability-list a:focus-visible { padding-left: 18px; }
.operation-detail h3,.operation-detail p,.operation-detail span { transition: opacity 220ms ease, transform 320ms ease; }
.operation-detail.is-changing h3,.operation-detail.is-changing p,.operation-detail.is-changing span { opacity: 0; transform: translateY(8px); }

.mandates {
  display: grid;
  grid-template-columns: 46% 54%;
  color: #fff;
  background: var(--graphite);
}

.mandate-image {
  min-height: 620px;
  background:
    linear-gradient(90deg, rgba(17, 21, 26, 0.08), rgba(17, 21, 26, 0.5)),
    url("assets/slide-finance-city.webp") center / cover;
}

.mandate-panel {
  display: grid;
  align-content: center;
  padding: 80px 76px;
}

.profile-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 38px 0 28px;
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.profile-tab {
  min-height: 52px;
  padding: 0 20px;
  color: rgba(255, 255, 255, 0.74);
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.profile-tab:last-child {
  border-right: 0;
}

.profile-tab.is-active {
  color: #fff;
  background: var(--red);
}

#profile-copy,
.international p,
.contact p {
  max-width: 560px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  line-height: 1.74;
}

.operations {
  padding: 86px 70px;
  background: var(--soft);
}

.section-heading.compact {
  margin-bottom: 34px;
}

.operation-board {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border: 1px solid var(--line);
  background: #fff;
}

.operation-step {
  min-height: 86px;
  padding: 18px 14px;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-weight: 800;
}

.operation-step:last-child {
  border-right: 0;
}

.operation-step span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
}

.operation-step.is-active {
  color: var(--red);
  box-shadow: inset 0 -3px 0 var(--red);
}

.operation-detail {
  display: grid;
  grid-template-columns: 120px 0.55fr 1fr;
  gap: 34px;
  align-items: start;
  padding: 38px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 0;
}

#operation-number {
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
}

.operation-detail h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 400;
}

.operation-detail p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.international {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 70px;
  padding: 88px 70px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(10, 11, 13, 0.96), rgba(10, 11, 13, 0.88)),
    url("assets/slide-private-mandate.webp") center / cover;
}

.city-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: center;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.city-list span {
  padding: 22px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--serif);
  font-size: 26px;
}

.firm-note {
  padding: 72px 14vw;
  background: #fff;
}

.firm-note p {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.24;
}

.contact {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 70px;
  padding: 88px 70px;
  background: var(--soft);
}

.contact p {
  color: var(--muted);
}

.review-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-content: start;
}

.review-form label {
  display: grid;
  gap: 9px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.review-form input,
.review-form select {
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
}

.review-form button {
  width: max-content;
  cursor: pointer;
}

.footer {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr;
  gap: 56px;
  padding: 64px 70px 30px;
  color: rgba(255, 255, 255, 0.72);
  background: #050608;
}

.footer-house p {
  max-width: 360px;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.7;
}

.footer-details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 34px;
}

.footer-details div,
.footer-links div {
  display: grid;
  align-content: start;
  gap: 10px;
}

.footer strong {
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.footer span,
.footer a {
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
}

.footer-links {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  padding-top: 34px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.shared-footer { margin-top: 0; }
.shared-footer .footer-details a { display: block; margin-top: 8px; }
.shared-footer .long-footer-grid {
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  gap: 30px 36px;
}
.shared-footer .long-footer-grid span {
  display: block;
  line-height: 1.55;
}

@media (max-width: 1100px) {
  .topbar {
    grid-template-columns: 1fr auto;
    padding: 0 24px;
  }

  .main-nav {
    display: none;
  }

  .opening {
    grid-template-columns: 1fr;
  }

  .opening-index {
    display: none;
  }

  .opening-media {
    min-height: 520px;
    padding-left: 24px;
  }

  .house-strip,
  .mandates,
  .international,
  .contact,
  .footer {
    grid-template-columns: 1fr;
  }

  .section-heading,
  .capability-stage,
  .operation-detail,
  .footer-details,
  .shared-footer .long-footer-grid {
    grid-template-columns: 1fr;
  }

  .operation-board,
  .footer-links {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .topbar {
    min-height: 66px;
    padding: 0 18px;
  }

  .brand strong {
    font-size: 12px;
  }

  .brand small {
    font-size: 8px;
  }

  .top-actions .text-cta {
    display: none;
  }

  .opening-copy,
  .capabilities,
  .operations,
  .international,
  .contact,
  .footer {
    padding: 52px 22px;
  }

  h1 {
    font-size: 38px;
  }

  .opening-media {
    min-height: 430px;
    padding: 0;
  }

  .media-primary {
    inset: 0;
  }

  .media-progress {
    display: none;
  }

  .media-secondary,
  .media-caption {
    display: none;
  }

  .house-strip,
  .capability-list a,
  .operation-board,
  .review-form,
  .footer-links,
  .city-list {
    grid-template-columns: 1fr;
  }

  .house-strip article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .capability-list a {
    gap: 12px;
  }

  .capability-visual {
    position: relative;
    top: auto;
    height: 320px;
  }

  .mandate-panel {
    padding: 56px 22px;
  }
}

@keyframes editorialRise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes detailFloat {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10px);
  }
}

@keyframes mediaProgress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(4);
  }
}

@keyframes cinematicDrift { from { transform: translate(var(--media-x, 0), var(--media-y, 0)) scale(1.055); } to { transform: translate(calc(var(--media-x, 0) - 10px), calc(var(--media-y, 0) - 5px)) scale(1.09); } }
@keyframes clockPulse { 0%,100% { opacity: .38; transform: scale(.78); } 50% { opacity: 1; transform: scale(1); } }

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

@media (max-width: 1050px) { .geneva-clock { display: none; } }
@media (max-width: 700px) { .media-controls { top: 22px; right: 22px; } .media-controls button { width: 38px; height: 38px; } }

/* Property management: performance-and-stewardship archetype */
.management-opening{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px;color:#fff;background:var(--graphite)}.management-hero-image{min-height:620px;background:linear-gradient(90deg,rgba(17,21,26,.08),rgba(17,21,26,.54)),url("assets/slide-development.webp") center/cover}.management-title{display:grid;align-content:center;padding:78px 70px 44px}.management-title h1{margin:0;font-size:clamp(44px,5vw,76px)}.management-title p{max-width:540px;color:rgba(255,255,255,.72);font-size:17px;line-height:1.75}.management-meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;padding:22px 70px;border-top:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);font-size:12px;text-transform:uppercase}.management-frame{display:grid;grid-template-columns:33% 1fr;gap:60px;padding:88px 70px}.management-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.management-metrics article{min-height:310px;padding:30px;border-right:1px solid var(--line)}.management-metrics article:last-child{border:0}.management-metrics span,.management-timeline span{display:block;margin-bottom:50px;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.management-metrics strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.3}.management-metrics p,.management-timeline p{color:var(--muted);line-height:1.7}.management-rhythm{display:grid;grid-template-columns:42% 1fr;min-height:650px;color:#fff;background:var(--graphite)}.management-rhythm-copy{display:grid;align-content:center;padding:74px 70px;background:linear-gradient(90deg,rgba(17,21,26,.95),rgba(17,21,26,.78)),url("assets/hero-architecture.webp") center/cover}.management-rhythm-copy p{color:rgba(255,255,255,.7);line-height:1.7}.management-timeline{display:grid;align-content:center;padding:60px 70px}.management-timeline article{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.2)}.management-timeline article:first-child{border-top:1px solid rgba(255,255,255,.2)}.management-timeline span{margin:0}.management-timeline strong{font-family:var(--serif);font-size:30px;font-weight:400}.management-timeline p{grid-column:2;margin:-12px 0 0;color:rgba(255,255,255,.65)}

/* Inner page archetypes */
.inner-main {
  background: #fff;
}

.inner-opening {
  display: grid;
  grid-template-columns: 42% 1fr;
  min-height: 620px;
  border-bottom: 1px solid var(--line);
}

.inner-opening.copy-first {
  grid-template-columns: minmax(420px, 48%) 1fr;
}

.inner-opening .inner-copy {
  display: grid;
  align-content: center;
  padding: 74px 70px;
}

.inner-kicker {
  display: block;
  margin-bottom: 24px;
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.inner-opening h1 {
  font-size: clamp(44px, 5vw, 78px);
}

.inner-opening p {
  max-width: 560px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}

.inner-media {
  min-height: 620px;
  background-position: center;
  background-size: cover;
}

.inner-media.advisory-media {
  background-image: url("assets/slide-private-mandate.webp");
}

.inner-media.commercial-media {
  background-image:
    linear-gradient(90deg, rgba(17, 21, 26, 0.1), rgba(17, 21, 26, 0.56)),
    url("assets/slide-finance-city.webp");
}

.inner-media.finance-media {
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.04), rgba(17, 21, 26, 0.68)),
    url("assets/hero-architecture.webp");
}

.subnav-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
}

.subnav-strip a {
  min-height: 92px;
  padding: 24px 28px;
  border-right: 1px solid var(--line);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.subnav-strip a:last-child {
  border-right: 0;
}

.subnav-strip a[aria-current="page"] {
  color: var(--red);
  box-shadow: inset 0 -3px 0 var(--red);
}

.advisory-index {
  display: grid;
  grid-template-columns: 34% 1fr;
  gap: 60px;
  padding: 86px 70px;
}

.advisory-principles {
  border-top: 1px solid var(--line);
}

.advisory-principles article {
  display: block;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}
.advisory-principles article>div{width:min(100%,720px)}

.advisory-principles span {
  color: var(--red);
  font-weight: 800;
}

.advisory-principles h2,
.split-path h2,
.capital-logic h2 {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 400;
}

.advisory-principles p,
.split-path p,
.capital-logic p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.split-path {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.path-column {
  min-height: 560px;
  padding: 78px 70px;
  background: #fff;
}

.path-column.dark {
  color: #fff;
  background:
    linear-gradient(90deg, rgba(17, 21, 26, 0.92), rgba(17, 21, 26, 0.84)),
    url("assets/slide-private-mandate.webp") center / cover;
}

.path-column.dark p,
.path-column.dark li {
  color: rgba(255, 255, 255, 0.72);
}

.path-column ul,
.capital-logic ul {
  padding: 0;
  margin: 34px 0 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.path-column.dark ul {
  border-top-color: rgba(255, 255, 255, 0.24);
}

.path-column li,
.capital-logic li {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}

.path-column.dark li {
  border-bottom-color: rgba(255, 255, 255, 0.24);
}

.capital-page {
  color: #fff;
  background: var(--graphite);
}

.capital-logic {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 70px;
  padding: 86px 70px;
}

.capital-stack-large {
  display: grid;
  gap: 14px;
}

.capital-stack-large button {
  display: flex;
  justify-content: space-between;
  min-height: 74px;
  padding: 22px 24px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
  text-align: left;
  font-weight: 800;
}

.capital-stack-large button.is-active {
  border-color: var(--red);
  background: rgba(227, 6, 19, 0.16);
}

.capital-detail {
  padding: 34px;
  color: var(--ink);
  background: #fff;
}

.capital-detail h2 {
  color: var(--ink);
}

.capital-detail > span {
  display: block;
  margin-bottom: 18px;
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.transaction-method {
  display: grid;
  grid-template-columns: 34% 1fr;
  gap: 60px;
  padding: 86px 70px;
  background: var(--soft);
}

.method-steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.method-steps article {
  min-height: 230px;
  padding: 30px;
  background: #fff;
}

.method-steps span {
  color: var(--red);
  font-weight: 800;
}

.method-steps h3 {
  margin: 26px 0 14px;
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
}

.method-steps p {
  color: var(--muted);
  line-height: 1.65;
}

.commercial-scope {
  display: grid;
  grid-template-columns: 42% 1fr;
  min-height: 660px;
}

.scope-panel {
  display: grid;
  align-content: center;
  padding: 76px 70px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(17, 21, 26, 0.92), rgba(17, 21, 26, 0.76)),
    url("assets/slide-private-mandate.webp") center / cover;
}

.scope-panel p {
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.72;
}

.scope-list {
  display: grid;
  align-content: center;
  padding: 70px;
  border-top: 1px solid var(--line);
}

.scope-list article {
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}

.scope-list article:first-child {
  border-top: 1px solid var(--line);
}

.scope-list strong {
  display: block;
  margin-bottom: 10px;
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
}

.scope-list p {
  max-width: 660px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.evidence-band {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 60px;
  padding: 86px 70px;
  background: #fff;
}

.evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--line);
}

.evidence-grid article {
  min-height: 230px;
  padding: 28px;
  border-right: 1px solid var(--line);
}

.evidence-grid article:last-child {
  border-right: 0;
}

.evidence-grid strong {
  display: block;
  margin-bottom: 18px;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.evidence-grid p {
  color: var(--muted);
  line-height: 1.65;
}

.related-pages {
  padding: 70px;
  color: #fff;
  background: var(--graphite);
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 28px;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.related-grid a {
  min-height: 180px;
  padding: 28px;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.related-grid a:last-child {
  border-right: 0;
}

.related-grid span {
  display: block;
  margin-bottom: 48px;
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.related-grid strong {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
}

.compact-contact {
  border-top: 1px solid var(--line);
}

.service-contact-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:240px;padding:17px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;color:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color 220ms ease,border-color 220ms ease}.service-contact-link span{color:var(--red);font-size:18px;line-height:1}.service-contact-link:hover{color:var(--red)}.compact-contact>.service-contact-link{align-self:center;color:#fff}.firm-current-position .register-lines a{color:var(--text)}

.people-register{display:grid;grid-template-columns:minmax(280px,31%) 1fr;gap:6vw;padding:104px 70px 116px;background:#fff;border-bottom:1px solid var(--line)}.people-heading{position:sticky;top:110px;align-self:start}.people-heading h2{max-width:500px;margin:14px 0 22px;font-size:clamp(34px,3.7vw,56px);line-height:1.08}.people-heading p{max-width:450px;margin:0;color:var(--muted);font-size:16px;line-height:1.7}.people-groups{border-top:1px solid var(--ink)}.people-group{display:grid;grid-template-columns:minmax(150px,25%) 1fr;gap:38px;padding:34px 0 42px;border-bottom:1px solid var(--line)}.people-group h3{margin:0;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.people-group ul{margin:0;padding:0;list-style:none}.people-group li{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,.8fr);gap:28px;padding:17px 0;border-bottom:1px solid var(--line)}.people-group li:first-child{padding-top:0}.people-group li:last-child{padding-bottom:0;border-bottom:0}.people-group strong{font-family:var(--serif);font-size:clamp(23px,2.2vw,34px);font-weight:400;line-height:1.12}.people-group span{align-self:center;color:var(--muted);font-size:12px;font-weight:700;line-height:1.45;letter-spacing:.04em;text-transform:uppercase}.people-group .is-pending strong{color:#8a8d91}.people-group .is-pending span{color:#55595e}

@media(max-width:900px){.people-register{grid-template-columns:1fr;gap:48px;padding:70px 22px 82px}.people-heading{position:static}.people-group{grid-template-columns:1fr;gap:24px}.people-group li{grid-template-columns:1fr;gap:7px;padding:20px 0}.people-group span{align-self:auto}.people-group strong{font-size:29px}}

@media(max-width:900px){.firm-opening-copy{order:-1;min-height:610px}}

@media (max-width: 900px) {
  .inner-opening,
  .inner-opening.copy-first,
  .advisory-index,
  .split-path,
  .capital-logic,
  .transaction-method,
  .commercial-scope,
  .evidence-band,
  .method-steps,
  .evidence-grid,
  .related-grid,
  .subnav-strip {
    grid-template-columns: 1fr;
  }

  .inner-opening .inner-copy,
  .advisory-index,
  .path-column,
  .capital-logic,
  .transaction-method,
  .scope-panel,
  .scope-list,
  .evidence-band,
  .related-pages {
    padding: 54px 22px;
  }

  .evidence-grid article,
  .related-grid a {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .management-opening,
  .management-frame,
  .management-rhythm,
  .project-opening,
  .project-brief,
  .project-phases,
  .project-ledger {
    grid-template-columns: 1fr;
  }

  .management-hero-image { min-height: 420px; }
  .management-meta { grid-column: auto; flex-direction: column; padding: 20px 22px; }
  .management-title,
  .management-frame,
  .management-rhythm-copy,
  .management-timeline { padding: 54px 22px; }
  .management-metrics { grid-template-columns: 1fr; }
  .management-metrics article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .management-timeline article { grid-template-columns: 1fr; gap: 12px; }
  .management-timeline p { grid-column: auto; margin: 0; }

  .project-opening-copy,
  .project-brief,
  .project-phases-intro,
  .project-ledger-copy { padding: 54px 22px; }
  .project-drawing { min-height: 460px; }
  .project-opening-note { grid-column: auto; flex-direction: column; padding: 20px 22px; }
  .project-brief-list { grid-template-columns: 1fr; }
  .project-brief-list article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .project-ledger-image { min-height: 400px; }
}

/* Development & construction: a site drawing and project record, rather than another service-page hero. */
.project-opening { display: grid; grid-template-columns: 53% 47%; min-height: 760px; background: var(--soft); }
.project-drawing { position: relative; min-height: 680px; overflow: hidden; background: #dce1df; }
.drawing-image { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(9, 15, 18, .14), rgba(9, 15, 18, .42)), url("assets/hero-architecture.webp") center / cover; animation: projectDrift 16s ease-in-out infinite alternate; }
.drawing-line { position: absolute; z-index: 1; display: block; height: 1px; background: rgba(255, 255, 255, .78); transform-origin: left center; }
.line-one { top: 20%; left: -7%; width: 82%; transform: rotate(29deg); }
.line-two { top: 49%; left: 11%; width: 91%; transform: rotate(-17deg); }
.line-three { bottom: 17%; left: -4%; width: 84%; transform: rotate(31deg); }
.drawing-scale { position: absolute; z-index: 2; right: 28px; bottom: 24px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.project-opening-copy { display: grid; align-content: center; padding: 90px 70px 52px; }
.project-opening-copy h1 { margin: 0; font-size: clamp(44px, 5vw, 76px); line-height: 1.13; }
.project-opening-copy p { max-width: 520px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.project-opening-note { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 30px; padding: 21px 70px; border-top: 1px solid var(--line); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.project-opening-note span:last-child { color: var(--muted); }
.project-brief { display: grid; grid-template-columns: 34% 1fr; gap: 60px; padding: 88px 70px; }
.project-brief-list { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.project-brief-list article { min-height: 315px; padding: 30px; border-right: 1px solid var(--line); }
.project-brief-list article:last-child { border-right: 0; }
.project-brief-list span, .project-ledger-copy article span { display: block; margin-bottom: 56px; color: var(--red); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.project-brief-list strong { display: block; font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: 1.32; }
.project-brief-list p { color: var(--muted); line-height: 1.7; }
.project-phases { display: grid; grid-template-columns: 39% 1fr; min-height: 700px; color: #fff; background: var(--graphite); }
.project-phases-intro { display: grid; align-content: center; padding: 76px 70px; background: linear-gradient(90deg, rgba(17,21,26,.95), rgba(17,21,26,.72)), url("assets/slide-development.webp") center / cover; }
.project-phases-intro p { color: rgba(255,255,255,.7); line-height: 1.72; }
.phase-track { display: grid; align-content: center; margin: 0; padding: 54px 70px; list-style: none; counter-reset: phase; }
.phase-track li { display: block; padding: 29px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.phase-track li>div{width:min(100%,620px)}
.phase-track li:first-child { border-top: 1px solid rgba(255,255,255,.2); }
.phase-track li > span { color: var(--red); font-size: 12px; font-weight: 800; }
.phase-track strong { font-family: var(--serif); font-size: 30px; font-weight: 400; }
.phase-track p { max-width: 560px; margin: 10px 0 0; color: rgba(255,255,255,.68); line-height: 1.65; }
.project-ledger { display: grid; grid-template-columns: 46% 54%; min-height: 690px; }
.project-ledger-image { min-height: 610px; background: linear-gradient(100deg, rgba(17,21,26,.1), rgba(17,21,26,.48)), url("assets/slide-finance-city.webp") center / cover; }
.project-ledger-copy { display: grid; align-content: center; padding: 74px 70px; }
.project-ledger-copy > div { margin-top: 24px; border-top: 1px solid var(--line); }
.project-ledger-copy article { padding: 21px 0; border-bottom: 1px solid var(--line); }
.project-ledger-copy article span { margin-bottom: 10px; }
.project-ledger-copy article p { max-width: 580px; margin: 0; color: var(--muted); line-height: 1.7; }
@keyframes projectDrift { from { transform: scale(1.01); } to { transform: scale(1.08) translateX(-1.5%); } }

/* Acquisitions & disposals: a private transaction desk built around the ownership decision. */
.transaction-opening { display: grid; grid-template-columns: 48% 52%; min-height: 710px; color: #fff; background: var(--graphite); }
.transaction-opening-copy { display: grid; align-content: center; padding: 82px 70px 50px; }
.transaction-opening-copy h1 { margin: 0; font-size: clamp(45px, 5.2vw, 78px); line-height: 1.12; }
.transaction-opening-copy p { max-width: 510px; color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.75; }
.transaction-image { min-height: 620px; background: linear-gradient(110deg, rgba(17,21,26,.05), rgba(17,21,26,.48)), url("assets/slide-finance-city.webp") center / cover; }
.transaction-stamp { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 30px; padding: 21px 70px; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.66); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.transaction-stamp strong { color: #fff; font-weight: 700; }
.transaction-choice { display: grid; grid-template-columns: 34% 1fr; grid-template-rows: auto 1fr; gap: 44px 70px; padding: 92px 70px; }
.transaction-toggle { display: flex; align-items: end; gap: 0; border-bottom: 1px solid var(--line); }
.transaction-option { padding: 14px 24px; border: 0; border-bottom: 3px solid transparent; color: var(--muted); background: transparent; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.transaction-option.is-active { border-color: var(--red); color: var(--ink); }
.transaction-detail { grid-column: 2; min-height: 210px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.transaction-detail span { color: var(--red); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.transaction-detail h3 { max-width: 720px; margin: 25px 0 14px; font-family: var(--serif); font-size: 37px; font-weight: 400; line-height: 1.25; }
.transaction-detail p { max-width: 670px; color: var(--muted); line-height: 1.72; }
.transaction-controls { display: grid; grid-template-columns: 37% 1fr; min-height: 720px; background: var(--soft); }
.transaction-controls-copy { display: grid; align-content: center; padding: 74px 70px; }
.transaction-control-list { display: grid; align-content: center; padding: 54px 70px; }
.transaction-control-list article { display: block; padding: 27px 0; border-bottom: 1px solid var(--line); }
.transaction-control-list article>div{width:min(100%,680px)}
.transaction-control-list article:first-child { border-top: 1px solid var(--line); }
.transaction-control-list > article > span { color: var(--red); font-size: 12px; font-weight: 800; }
.transaction-control-list strong { font-family: var(--serif); font-size: 29px; font-weight: 400; }
.transaction-control-list p { max-width: 610px; margin: 9px 0 0; color: var(--muted); line-height: 1.7; }
.transaction-discretion { display: grid; grid-template-columns: 50% 50%; min-height: 650px; }
.transaction-discretion-image { min-height: 590px; background: linear-gradient(90deg, rgba(17,21,26,.08), rgba(17,21,26,.45)), url("assets/slide-private-mandate.webp") center / cover; }
.transaction-discretion-copy { display: grid; align-content: center; padding: 74px 70px; }
.transaction-discretion-copy p { max-width: 560px; color: var(--muted); line-height: 1.72; }
.discretion-points { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.discretion-points span { padding: 18px 14px 18px 0; color: var(--muted); font-size: 11px; font-weight: 800; line-height: 1.45; letter-spacing: .06em; text-transform: uppercase; }
.discretion-points span + span { padding-left: 14px; border-left: 1px solid var(--line); }
@media (max-width: 900px) {
  .transaction-opening, .transaction-choice, .transaction-controls, .transaction-discretion { grid-template-columns: 1fr; }
  .transaction-opening-copy, .transaction-choice, .transaction-controls-copy, .transaction-control-list, .transaction-discretion-copy { padding: 54px 22px; }
  .transaction-image, .transaction-discretion-image { min-height: 400px; }
  .transaction-stamp { grid-column: auto; flex-direction: column; padding: 20px 22px; }
  .transaction-choice { gap: 28px; }
  .transaction-detail { grid-column: auto; }
  .transaction-controls { min-height: 0; }
  .discretion-points { grid-template-columns: 1fr; }
  .discretion-points span + span { border-left: 0; border-top: 1px solid var(--line); }
}

/* International: a Swiss-origin field, deliberately avoiding the global-office template. */
.international-opening { display: grid; grid-template-columns: 70px 43% 1fr; min-height: 760px; border-bottom: 1px solid var(--line); }
.international-rail { display: grid; align-content: center; gap: 30px; padding: 30px 0; border-right: 1px solid var(--line); color: #9aa0a5; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.international-rail span { justify-self: center; }
.international-rail .is-active { color: var(--red); }
.international-copy { display: grid; align-content: center; padding: 80px 70px; }
.international-copy h1 { margin: 0; font-size: clamp(46px, 5vw, 76px); line-height: 1.13; }
.international-copy p { max-width: 550px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.international-field { position: relative; overflow: hidden; min-height: 680px; background: var(--graphite); }
.field-image { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(17,21,26,.26), rgba(17,21,26,.72)), url("assets/slide-finance-city.webp") center / cover; animation: fieldFloat 17s ease-in-out infinite alternate; }
.field-origin, .field-point { position: absolute; z-index: 2; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.field-origin { top: 48%; left: 27%; width: 42px; height: 42px; padding-top: 14px; border-radius: 50%; background: var(--red); text-align: center; }
.field-point { padding: 9px 11px; border: 1px solid rgba(255,255,255,.35); background: rgba(17,21,26,.34); }
.point-a { top: 22%; right: 12%; }.point-b { right: 10%; bottom: 20%; }.point-c { bottom: 9%; left: 20%; }
.field-route { position: absolute; z-index: 1; display: block; height: 1px; transform-origin: left center; background: rgba(255,255,255,.66); }
.route-a { top: 50%; left: 30%; width: 57%; transform: rotate(-27deg); }.route-b { top: 52%; left: 29%; width: 56%; transform: rotate(25deg); }.route-c { top: 55%; left: 28%; width: 36%; transform: rotate(59deg); }
.international-principle { display: grid; grid-template-columns: 42% 1fr; gap: 75px; padding: 90px 70px; background: var(--soft); }
.international-principle-copy p { max-width: 660px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.international-principle-copy > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 36px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.international-principle-copy > div span { min-height: 74px; padding: 21px 18px 20px 0; font-size: 11px; font-weight: 800; line-height: 1.45; letter-spacing: .08em; text-transform: uppercase; }
.international-principle-copy > div span + span { padding-left: 18px; border-left: 1px solid var(--line); }
.international-ways { display: grid; grid-template-columns: 45% 55%; min-height: 730px; }
.international-ways-image { min-height: 650px; background: linear-gradient(105deg, rgba(17,21,26,.12), rgba(17,21,26,.5)), url("assets/slide-private-mandate.webp") center / cover; }
.international-ways-content { display: grid; align-content: center; padding: 72px 70px; }
.international-ways-content article { display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.international-ways-content article:first-of-type { margin-top: 20px; border-top: 1px solid var(--line); }
.international-ways-content article > span { color: var(--red); font-size: 12px; font-weight: 800; }
.international-ways-content strong { font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1.3; }
.international-ways-content p { margin: 8px 0 0; color: var(--muted); line-height: 1.68; }
.international-boundary { display: grid; place-items: center; min-height: 520px; padding: 70px 22px; color: #fff; background: var(--graphite); text-align: center; }
.international-boundary h2 { max-width: 760px; margin: 0; font-size: clamp(34px, 4vw, 60px); }.international-boundary p { max-width: 650px; color: rgba(255,255,255,.68); line-height: 1.72; }
.international-boundary a { margin-top: 20px; padding-bottom: 8px; border-bottom: 2px solid var(--red); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.international-boundary a span { margin-left: 12px; color: var(--red); font-size: 18px; }
@keyframes fieldFloat { from { transform: scale(1.02); } to { transform: scale(1.08) translate(-1.3%, .5%); } }
@media (max-width:900px) {
  .international-opening { grid-template-columns: 1fr; }.international-rail { display: none; }.international-copy, .international-principle, .international-ways-content { padding: 54px 22px; }.international-field { min-height: 500px; }.international-principle, .international-ways { grid-template-columns: 1fr; gap: 32px; }.international-principle-copy > div { grid-template-columns: 1fr; }.international-principle-copy > div span + span { border-left: 0; border-top: 1px solid var(--line); }.international-ways-image { min-height: 430px; }
}

.locale-page{display:grid;align-content:center;min-height:100vh;padding:10vh max(8vw,28px);background:linear-gradient(110deg,rgba(17,21,26,.08),rgba(17,21,26,.44)),url("assets/hero-architecture.webp") center/cover;color:#fff}.locale-page>span{color:#fff;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.locale-page h1{max-width:900px;margin:22px 0;font-size:clamp(46px,6vw,90px);line-height:1.1}.locale-page p{max-width:620px;color:rgba(255,255,255,.78);font-size:17px;line-height:1.7}.locale-page nav{display:flex;flex-wrap:wrap;gap:0;margin-top:38px;border-top:1px solid rgba(255,255,255,.35)}.locale-page nav a{padding:18px 20px 18px 0;margin-right:20px;border-bottom:2px solid transparent;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.locale-page nav a:hover{border-color:var(--red)}.locale-dark{background:var(--graphite)}.locale-red{background:var(--red)}.locale-image{background:linear-gradient(100deg,rgba(17,21,26,.35),rgba(17,21,26,.68)),url("assets/slide-development.webp") center/cover}
@media (max-width: 1100px) { .main-nav { display: flex; } }
.legal-page{display:grid;grid-template-columns:250px minmax(0,850px);gap:100px;max-width:1280px;min-height:calc(100vh - 74px);margin:auto;padding:120px 70px}.legal-page aside{display:grid;align-content:start;gap:17px;padding-top:10px}.legal-page aside a{color:var(--muted);font-size:12px;font-weight:700}.legal-page article h1{margin:0;font-size:clamp(45px,5vw,76px);line-height:1.14}.legal-intro{max-width:690px;color:var(--muted);font-size:17px;line-height:1.75}.legal-page section{padding:34px 0;border-top:1px solid var(--line)}.legal-page article section:first-of-type{margin-top:52px}.legal-page h2{margin:0 0 14px;font-size:29px}.legal-page section p{max-width:710px;margin:0;color:var(--muted);line-height:1.75}@media(max-width:900px){.legal-page{grid-template-columns:1fr;gap:35px;padding:70px 22px}.legal-page aside{grid-template-columns:repeat(2,1fr)}}

@media (max-width: 900px) {
  .project-opening,
  .project-brief,
  .project-phases,
  .project-ledger { grid-template-columns: 1fr; }
  .project-opening-copy,
  .project-brief,
  .project-phases-intro,
  .project-ledger-copy { padding: 54px 22px; }
  .project-drawing { min-height: 430px; }
  .project-opening-note { grid-column: auto; flex-direction: column; padding: 20px 22px; }
  .project-brief-list { grid-template-columns: 1fr; }
  .project-brief-list article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .project-ledger-image { min-height: 400px; }
}

/* Firm, governance and contact use editorial, document, and form-first structures. */
.firm-opening{display:grid;grid-template-columns:54% 46%;min-height:720px}.firm-opening-image{min-height:640px;background:linear-gradient(90deg,rgba(17,21,26,.12),rgba(17,21,26,.5)),url("assets/slide-private-mandate.webp") center/cover}.firm-opening-copy{display:grid;align-content:center;padding:80px 70px}.firm-opening-copy h1{margin:0;font-size:clamp(43px,4.8vw,72px);line-height:1.14}.firm-opening-copy p{color:var(--muted);font-size:17px;line-height:1.75}.firm-statement{display:grid;place-items:center;min-height:270px;padding:50px 22px;color:#fff;background:var(--red);font-family:var(--serif);font-size:clamp(29px,3.4vw,49px);line-height:1.4;text-align:center}.firm-principles{display:grid;grid-template-columns:39% 1fr;gap:70px;padding:88px 70px}.firm-principles>div:last-child{border-top:1px solid var(--line)}.firm-principles article{display:grid;grid-template-columns:66px 1fr;padding:24px 0;border-bottom:1px solid var(--line)}.firm-principles article>span{color:var(--red);font-size:12px;font-weight:800}.firm-principles h3{margin:0;font-family:var(--serif);font-size:28px;font-weight:400}.firm-principles p{grid-column:2;margin:10px 0 0;color:var(--muted);line-height:1.7}.firm-image-statement{display:grid;align-content:end;min-height:650px;padding:70px;color:#fff;background:linear-gradient(0deg,rgba(17,21,26,.85),rgba(17,21,26,.05)),url("assets/hero-architecture.webp") center/cover}.firm-image-statement h2{max-width:750px;margin:0;font-size:clamp(37px,4.3vw,65px)}.governance-heading{max-width:1000px;padding:150px 70px 90px}.governance-heading h1{margin:0;font-size:clamp(45px,5vw,76px);line-height:1.14}.governance-heading p{max-width:700px;color:var(--muted);font-size:17px;line-height:1.75}.governance-rule{border-top:1px solid var(--line)}.governance-rule article{display:grid;grid-template-columns:18% 42% 1fr;gap:45px;padding:55px 70px;border-bottom:1px solid var(--line)}.governance-rule article>span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.governance-rule h2{margin:0;font-size:clamp(26px,2.4vw,38px)}.governance-rule p{margin:0;color:var(--muted);line-height:1.7}.governance-close{display:grid;place-items:center;min-height:480px;padding:70px 22px;color:#fff;background:var(--graphite);text-align:center}.governance-close span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.governance-close h2{max-width:750px;margin:20px 0;font-size:clamp(32px,4vw,59px)}.governance-close a{padding-bottom:7px;border-bottom:2px solid var(--red);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.governance-close a span{margin-left:10px;font-size:19px}.contact-opening{display:grid;grid-template-columns:1fr 250px;gap:60px;min-height:540px;padding:130px 70px 76px;color:#fff;background:var(--graphite)}.contact-opening h1{max-width:800px;margin:0;font-size:clamp(48px,5.4vw,80px);line-height:1.13}.contact-opening p{max-width:610px;color:rgba(255,255,255,.7);font-size:17px;line-height:1.75}.contact-opening>span{align-self:end;color:rgba(255,255,255,.65);font-size:12px;font-weight:800;line-height:1.7;letter-spacing:.1em;text-transform:uppercase}.contact-route{display:grid;grid-template-columns:58% 42%;min-height:740px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:80px 70px}.contact-form label{display:grid;gap:9px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent;outline:none;font-size:15px;letter-spacing:0;text-transform:none}.contact-form label:last-of-type{grid-column:1/-1}.contact-form textarea{min-height:120px;resize:vertical}.contact-form button{grid-column:1/-1;justify-self:start;margin-top:12px;padding:15px 20px;border:0;color:#fff;background:var(--red);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-route aside{display:grid;align-content:center;padding:70px;color:#fff;background:linear-gradient(110deg,rgba(17,21,26,.85),rgba(17,21,26,.62)),url("assets/slide-finance-city.webp") center/cover}.contact-route ol{margin:25px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.24)}.contact-route li{display:grid;grid-template-columns:54px 1fr;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.24)}.contact-route b{color:var(--red);font-size:12px}.contact-route p{margin:0;color:rgba(255,255,255,.72);line-height:1.6}@media(max-width:900px){.firm-opening,.firm-principles,.governance-rule,.contact-opening,.contact-route{grid-template-columns:1fr}.firm-opening-copy,.firm-principles,.firm-image-statement,.governance-heading,.governance-rule article,.contact-opening,.contact-form,.contact-route aside{padding:54px 22px}.firm-opening-image{min-height:420px}.governance-rule article{gap:18px}.governance-rule p{grid-column:auto}.contact-opening>span{align-self:auto}.contact-form{grid-template-columns:1fr}}

/* Asset management is a portfolio review matrix; financing is deliberately a capital memorandum. */
.portfolio-opening{display:grid;grid-template-columns:1fr 38%;min-height:690px;color:#fff;background:var(--graphite)}.portfolio-opening>div{display:grid;align-content:center;padding:76px 70px}.portfolio-opening h1{max-width:760px;margin:0;font-size:clamp(46px,5vw,76px);line-height:1.13}.portfolio-opening p{max-width:590px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.73}.portfolio-opening aside{display:grid;align-content:center;gap:25px;padding:70px;background:linear-gradient(110deg,rgba(17,21,26,.58),rgba(17,21,26,.84)),url("assets/hero-architecture.webp") center/cover;border-left:1px solid rgba(255,255,255,.18)}.portfolio-opening aside span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.portfolio-opening aside strong{font-family:var(--serif);font-size:31px;font-weight:400;line-height:1.55}.portfolio-matrix{display:grid;grid-template-columns:37% 1fr;gap:70px;padding:88px 70px}.portfolio-matrix-copy p{color:var(--muted);line-height:1.7}.matrix-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.matrix-grid article{min-height:215px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.matrix-grid article:nth-child(3n){border-right:0}.matrix-grid article:nth-last-child(-n+3){border-bottom:0}.matrix-grid span{color:var(--red);font-size:11px;font-weight:800}.matrix-grid strong{display:block;margin:45px 0 10px;font-family:var(--serif);font-size:25px;font-weight:400}.matrix-grid p{margin:0;color:var(--muted);line-height:1.6}.portfolio-review{display:grid;grid-template-columns:45% 55%;min-height:640px;background:var(--soft)}.portfolio-review-image{min-height:560px;background:linear-gradient(100deg,rgba(17,21,26,.15),rgba(17,21,26,.55)),url("assets/slide-development.webp") center/cover}.portfolio-review-copy{display:grid;align-content:center;padding:70px}.portfolio-review ol{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.portfolio-review li{display:grid;grid-template-columns:130px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.portfolio-review li span{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.portfolio-review li p{margin:0;color:var(--muted);line-height:1.62}.financing-opening{display:grid;grid-template-columns:44% 56%;min-height:710px;background:var(--soft)}.financing-dossier{position:relative;display:grid;align-content:center;gap:30px;min-height:630px;padding:70px;color:#fff;background:var(--red);overflow:hidden}.financing-dossier span{position:relative;z-index:1;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.financing-dossier b{position:relative;z-index:1;font-family:var(--serif);font-size:140px;font-weight:400}.financing-dossier i{position:absolute;left:18%;right:-20%;height:1px;background:rgba(255,255,255,.48);transform:rotate(-38deg)}.financing-dossier i:nth-of-type(1){top:25%}.financing-dossier i:nth-of-type(2){top:50%}.financing-dossier i:nth-of-type(3){top:75%}.financing-copy{display:grid;align-content:center;padding:78px 70px}.financing-copy h1{max-width:720px;margin:0;font-size:clamp(46px,5vw,76px);line-height:1.13}.financing-copy p{max-width:560px;color:var(--muted);font-size:17px;line-height:1.75}.financing-room{display:grid;grid-template-columns:36% 1fr;gap:68px;padding:90px 70px}.room-list{border-top:1px solid var(--line)}.room-list article{display:grid;grid-template-columns:210px 1fr;gap:30px;padding:23px 0;border-bottom:1px solid var(--line)}.room-list span{font-family:var(--serif);font-size:25px}.room-list p{max-width:530px;margin:0;color:var(--muted);line-height:1.65}.financing-sequence{display:grid;grid-template-columns:38% 1fr;min-height:630px;color:#fff;background:var(--graphite)}.financing-sequence-copy{display:grid;align-content:center;padding:70px;background:linear-gradient(100deg,rgba(17,21,26,.92),rgba(17,21,26,.67)),url("assets/slide-finance-city.webp") center/cover}.funding-track{display:grid;align-content:center;padding:54px 70px}.funding-track article{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.2)}.funding-track article:first-child{border-top:1px solid rgba(255,255,255,.2)}.funding-track strong{font-family:var(--serif);font-size:30px;font-weight:400}.funding-track span{color:rgba(255,255,255,.68);line-height:1.65}@media(max-width:900px){.portfolio-opening,.portfolio-matrix,.portfolio-review,.financing-opening,.financing-room,.financing-sequence{grid-template-columns:1fr}.portfolio-opening>div,.portfolio-opening aside,.portfolio-matrix,.portfolio-review-copy,.financing-dossier,.financing-copy,.financing-room,.financing-sequence-copy,.funding-track{padding:54px 22px}.matrix-grid{grid-template-columns:1fr}.matrix-grid article,.matrix-grid article:nth-child(3n){border-right:0;border-bottom:1px solid var(--line)}.matrix-grid article:last-child{border-bottom:0}.room-list article,.funding-track article,.portfolio-review li{grid-template-columns:1fr;gap:10px}.portfolio-review-image{min-height:400px}}

/* Deeper editorial sections added after the first route build. */
.firm-register{display:grid;grid-template-columns:35% 1fr;gap:70px;padding:92px 70px;background:var(--soft);border-bottom:1px solid var(--line)}.firm-register h2{margin:14px 0 0;font-size:clamp(31px,3.2vw,48px);line-height:1.18}.register-lines{border-top:1px solid var(--line)}.register-lines article{display:grid;grid-template-columns:210px 1fr;gap:36px;padding:24px 0;border-bottom:1px solid var(--line)}.register-lines span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.register-lines p{margin:0;color:var(--muted);line-height:1.7}.firm-atelier{display:grid;grid-template-columns:42% 1fr;gap:70px;padding:88px 70px}.firm-atelier p{color:var(--muted);line-height:1.75}.atelier-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.atelier-grid article{min-height:205px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.atelier-grid article:nth-child(2n){border-right:0}.atelier-grid article:nth-last-child(-n+2){border-bottom:0}.atelier-grid b{display:block;font-family:var(--serif);font-size:29px;font-weight:400}.atelier-grid span{display:block;margin-top:34px;color:var(--muted);line-height:1.62}.governance-ledger{display:grid;grid-template-columns:37% 1fr;gap:70px;padding:88px 70px;background:var(--soft)}.governance-ledger ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.governance-ledger li{display:grid;grid-template-columns:55px 160px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.governance-ledger b{color:var(--red);font-size:12px}.governance-ledger span{font-family:var(--serif);font-size:23px}.governance-ledger p{margin:0;color:var(--muted);line-height:1.65}.governance-documents{display:grid;grid-template-columns:35% 1fr;gap:70px;padding:88px 70px}.governance-documents>div{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.governance-documents article{padding:28px;border-right:1px solid var(--line)}.governance-documents article:last-child{border-right:0}.governance-documents strong{font-family:var(--serif);font-size:26px;font-weight:400}.governance-documents p{color:var(--muted);line-height:1.65}.contact-access{display:grid;grid-template-columns:35% 1fr;gap:64px;padding:82px 70px;background:var(--soft)}.access-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.access-grid article{min-height:230px;padding:24px;border-right:1px solid var(--line)}.access-grid article:last-child{border-right:0}.access-grid span{color:var(--red);font-size:11px;font-weight:800}.access-grid strong{display:block;margin:38px 0 10px;font-family:var(--serif);font-size:25px;font-weight:400}.access-grid p{margin:0;color:var(--muted);line-height:1.6}.contact-directory{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-directory article{padding:36px 70px;border-right:1px solid var(--line)}.contact-directory article:last-child{border-right:0}.contact-directory span{font-family:var(--serif);font-size:28px}.contact-directory p{color:var(--muted);line-height:1.65}.portfolio-committee{display:grid;grid-template-columns:34% 1fr;gap:70px;padding:88px 70px;background:#fff}.committee-table{border-top:1px solid var(--line)}.committee-table article{display:grid;grid-template-columns:190px 1fr 90px;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.committee-table span{font-family:var(--serif);font-size:24px}.committee-table p{margin:0;color:var(--muted);line-height:1.62}.committee-table b{align-self:start;color:var(--red);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.portfolio-scope,.financing-scenarios{display:grid;grid-template-columns:repeat(3,1fr);background:var(--graphite);color:#fff}.portfolio-scope article,.financing-scenarios article{min-height:260px;padding:42px 70px;border-right:1px solid rgba(255,255,255,.18)}.portfolio-scope article:last-child,.financing-scenarios article:last-child{border-right:0}.portfolio-scope strong,.financing-scenarios span{font-family:var(--serif);font-size:31px;font-weight:400}.portfolio-scope p,.financing-scenarios p{color:rgba(255,255,255,.68);line-height:1.68}.financing-terms{display:grid;grid-template-columns:34% 1fr;gap:70px;padding:88px 70px;background:#fff}.financing-terms>div{border-top:1px solid var(--line)}.financing-terms article{display:grid;grid-template-columns:190px 1fr 130px;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.financing-terms strong{font-family:var(--serif);font-size:24px;font-weight:400}.financing-terms p{margin:0;color:var(--muted);line-height:1.62}.financing-terms span{align-self:start;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}@media(max-width:900px){.firm-register,.firm-atelier,.governance-ledger,.governance-documents,.contact-access,.portfolio-committee,.financing-terms{grid-template-columns:1fr;padding:54px 22px;gap:32px}.register-lines article,.governance-ledger li,.committee-table article,.financing-terms article{grid-template-columns:1fr;gap:10px}.atelier-grid,.governance-documents>div,.access-grid,.contact-directory,.portfolio-scope,.financing-scenarios{grid-template-columns:1fr}.atelier-grid article,.atelier-grid article:nth-child(2n),.governance-documents article,.access-grid article,.contact-directory article,.portfolio-scope article,.financing-scenarios article{border-right:0;border-bottom:1px solid var(--line);padding:28px 22px}.portfolio-scope article,.financing-scenarios article{border-bottom:1px solid rgba(255,255,255,.18)}.atelier-grid article:last-child,.governance-documents article:last-child,.access-grid article:last-child,.contact-directory article:last-child,.portfolio-scope article:last-child,.financing-scenarios article:last-child{border-bottom:0}}

/* French route pages use compact institutional sections. */
.fr-detail-hero{display:grid;grid-template-columns:1fr 34%;min-height:610px;color:#fff;background:var(--graphite)}.fr-detail-hero>div{display:grid;align-content:center;padding:86px 70px}.fr-detail-hero h1{max-width:850px;margin:0;font-size:clamp(44px,5vw,74px);line-height:1.13}.fr-detail-hero p{max-width:620px;color:rgba(255,255,255,.72);font-size:17px;line-height:1.75}.fr-detail-hero aside{display:grid;align-content:end;padding:70px;background:linear-gradient(120deg,rgba(17,21,26,.62),rgba(17,21,26,.88)),url("assets/slide-development.webp") center/cover;border-left:1px solid rgba(255,255,255,.18)}.fr-detail-hero aside span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.fr-detail-hero aside strong{display:block;margin-top:24px;font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.45}.fr-detail-grid{display:grid;grid-template-columns:35% 1fr;gap:70px;padding:86px 70px;background:var(--soft)}.fr-detail-grid h2{margin:12px 0 0;font-size:clamp(31px,3vw,47px);line-height:1.18}.fr-detail-list{border-top:1px solid var(--line)}.fr-detail-list article{display:grid;grid-template-columns:170px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.fr-detail-list span{font-family:var(--serif);font-size:24px}.fr-detail-list p{margin:0;color:var(--muted);line-height:1.65}.fr-detail-band{display:grid;grid-template-columns:repeat(3,1fr);background:var(--graphite);color:#fff}.fr-detail-band article{min-height:245px;padding:40px 70px;border-right:1px solid rgba(255,255,255,.18)}.fr-detail-band article:last-child{border-right:0}.fr-detail-band span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.fr-detail-band strong{display:block;margin:42px 0 12px;font-family:var(--serif);font-size:29px;font-weight:400}.fr-detail-band p{color:rgba(255,255,255,.68);line-height:1.65}.fr-related{padding:70px}.fr-related nav{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.fr-related a{min-height:150px;padding:26px;border-right:1px solid var(--line)}.fr-related a:last-child{border-right:0}.fr-related span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.fr-related strong{display:block;margin-top:38px;font-family:var(--serif);font-size:26px;font-weight:400}@media(max-width:900px){.fr-detail-hero,.fr-detail-grid,.fr-detail-band,.fr-related nav{grid-template-columns:1fr}.fr-detail-hero>div,.fr-detail-hero aside,.fr-detail-grid,.fr-related{padding:54px 22px}.fr-detail-list article{grid-template-columns:1fr;gap:10px}.fr-detail-band article,.fr-related a{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:28px 22px}.fr-related a{border-bottom:1px solid var(--line)}.fr-detail-band article:last-child,.fr-related a:last-child{border-bottom:0}}

.fr-home-hero{display:grid;grid-template-columns:minmax(420px,.92fr) 1.08fr;min-height:calc(100vh - 74px);border-bottom:1px solid var(--line);background:#fff}.fr-home-copy{display:grid;align-content:center;padding:72px 70px}.fr-home-copy .eyebrow{display:block;margin-bottom:24px;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.fr-home-copy h1{max-width:780px;margin-bottom:28px;font-size:clamp(48px,5.4vw,82px);line-height:1.08}.fr-home-copy p{max-width:610px;color:#4f565d;font-size:18px;line-height:1.72}.fr-home-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}.fr-home-actions a{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border:1px solid var(--ink);font-size:12px;font-weight:800;text-transform:uppercase}.fr-home-actions a:first-child{color:#fff;border-color:var(--red);background:var(--red)}.fr-home-actions a::after{content:"→";margin-left:18px}.fr-home-media{position:relative;min-height:640px;margin:0;padding:34px 42px;background:var(--soft);overflow:hidden}.fr-home-media>img{height:100%;min-height:570px;filter:grayscale(.08)}.fr-home-media::after{content:"";position:absolute;inset:34px 42px;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18));pointer-events:none}.fr-home-media .media-caption{left:72px;bottom:72px}@media(max-width:900px){.fr-home-hero{grid-template-columns:1fr}.fr-home-copy{padding:58px 22px}.fr-home-copy h1{font-size:clamp(42px,12vw,64px)}.fr-home-media{min-height:430px;padding:22px}.fr-home-media>img{min-height:380px}.fr-home-media::after{inset:22px}.fr-home-media .media-caption{left:42px;bottom:42px}}

.credibility-ledger{display:grid;grid-template-columns:34% 1fr;gap:70px;padding:86px 70px;background:var(--graphite);color:#fff}.ledger-heading h2{margin:0;font-size:clamp(30px,3.2vw,48px);line-height:1.18}.ledger-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.18)}.ledger-grid article{min-height:230px;padding:28px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.ledger-grid article:nth-child(2n){border-right:0}.ledger-grid article:nth-last-child(-n+2){border-bottom:0}.ledger-grid span,.situation-list span,.acceptance-steps span,.evidence-strip span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ledger-grid strong{display:block;margin:42px 0 12px;font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.25}.ledger-grid p{margin:0;color:rgba(255,255,255,.68);line-height:1.65}.selected-situations{display:grid;grid-template-columns:38% 1fr;gap:68px;padding:90px 70px;background:#fff}.selected-situations>div:first-child p{max-width:480px;color:var(--muted);line-height:1.7}.situation-list{border-top:1px solid var(--line)}.situation-list article{display:grid;grid-template-columns:135px 250px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}.situation-list strong{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.25}.situation-list p{margin:0;color:var(--muted);line-height:1.62}.mandate-acceptance{display:grid;grid-template-columns:35% 1fr;gap:70px;padding:88px 70px;background:#fff}.mandate-acceptance h2{margin:14px 0 0;font-size:clamp(31px,3vw,46px);line-height:1.18}.acceptance-steps{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.acceptance-steps article{min-height:220px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.acceptance-steps article:nth-child(2n){border-right:0}.acceptance-steps article:nth-last-child(-n+2){border-bottom:0}.acceptance-steps strong{display:block;margin:40px 0 10px;font-family:var(--serif);font-size:27px;font-weight:400}.acceptance-steps p{margin:0;color:var(--muted);line-height:1.62}.evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.evidence-strip article{min-height:190px;padding:34px 70px;border-right:1px solid var(--line)}.evidence-strip article:last-child{border-right:0}.evidence-strip p{margin:42px 0 0;color:var(--muted);line-height:1.65}@media(max-width:900px){.credibility-ledger,.selected-situations,.mandate-acceptance{grid-template-columns:1fr;padding:58px 22px;gap:34px}.ledger-grid,.acceptance-steps,.evidence-strip{grid-template-columns:1fr}.situation-list article{grid-template-columns:1fr;gap:10px}.ledger-grid article,.ledger-grid article:nth-child(2n),.acceptance-steps article,.acceptance-steps article:nth-child(2n),.evidence-strip article{border-right:0;border-bottom:1px solid var(--line);padding:28px 22px}.ledger-grid article{border-bottom:1px solid rgba(255,255,255,.18)}.ledger-grid article:last-child,.acceptance-steps article:last-child,.evidence-strip article:last-child{border-bottom:0}}

/* Additional French depth modules: ledger, capital stack, private room and map-field. */
.fr-depth-ledger{display:grid;grid-template-columns:34% 1fr;gap:70px;padding:86px 70px;border-top:1px solid var(--line);background:#fff}.fr-depth-ledger.dark{color:#fff;background:var(--graphite)}.fr-depth-ledger>div:first-child{position:sticky;top:96px;align-self:start}.fr-depth-ledger h2{margin:14px 0 0;font-size:clamp(30px,3.2vw,49px);line-height:1.16}.fr-depth-ledger p{color:var(--muted);line-height:1.72}.fr-depth-ledger.dark p{color:rgba(255,255,255,.68)}.fr-depth-list{border-top:1px solid var(--line)}.fr-depth-ledger.dark .fr-depth-list{border-color:rgba(255,255,255,.18)}.fr-depth-list article{display:grid;grid-template-columns:92px 1fr 34%;gap:28px;min-height:118px;padding:23px 0;border-bottom:1px solid var(--line)}.fr-depth-ledger.dark .fr-depth-list article{border-color:rgba(255,255,255,.18)}.fr-depth-list span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.fr-depth-list strong{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.25}.fr-depth-list p{margin:0}.fr-stack{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--soft)}.fr-stack article{min-height:260px;padding:34px;border-right:1px solid var(--line)}.fr-stack article:last-child{border-right:0}.fr-stack span{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.fr-stack strong{display:block;margin:54px 0 13px;font-family:var(--serif);font-size:28px;font-weight:400}.fr-stack p{color:var(--muted);line-height:1.65}.fr-private-panel{display:grid;grid-template-columns:1fr 42%;min-height:580px;color:#fff;background:var(--graphite)}.fr-private-panel>div{display:grid;align-content:center;padding:76px 70px}.fr-private-panel h2{max-width:720px;margin:0;font-size:clamp(34px,4.2vw,62px);line-height:1.12}.fr-private-panel p{max-width:560px;color:rgba(255,255,255,.68);line-height:1.72}.fr-private-panel aside{display:grid;align-content:end;padding:70px;background:linear-gradient(0deg,rgba(17,21,26,.82),rgba(17,21,26,.18)),url("assets/slide-private-mandate.webp") center/cover}.fr-private-panel ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.22)}.fr-private-panel li{display:grid;grid-template-columns:70px 1fr;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.76)}.fr-private-panel b{color:var(--red);font-size:12px}.fr-map-panel{display:grid;grid-template-columns:42% 1fr;min-height:620px;color:#fff;background:var(--graphite)}.fr-map-panel>div{display:grid;align-content:center;padding:74px 70px}.fr-map-panel h2{margin:0;font-size:clamp(34px,4vw,60px)}.fr-map-lines{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 48% 45%,rgba(227,6,19,.22),transparent 22%),linear-gradient(135deg,#101418,#050608)}.fr-map-lines::before,.fr-map-lines::after{content:"";position:absolute;width:62%;height:62%;border:1px solid rgba(255,255,255,.2);border-radius:50%;transform:rotate(-18deg);animation:fieldFloat 17s ease-in-out infinite alternate}.fr-map-lines::after{width:84%;height:84%;border-color:rgba(227,6,19,.32);animation-duration:21s}.fr-map-lines strong{position:relative;z-index:1;font-family:var(--serif);font-size:clamp(34px,5vw,80px);font-weight:400}.fr-map-lines span{position:absolute;z-index:1;color:rgba(255,255,255,.68);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.fr-map-lines span:nth-of-type(1){top:18%;left:18%}.fr-map-lines span:nth-of-type(2){right:15%;top:30%}.fr-map-lines span:nth-of-type(3){left:28%;bottom:18%}@media(max-width:900px){.fr-depth-ledger,.fr-private-panel,.fr-map-panel{grid-template-columns:1fr}.fr-depth-ledger,.fr-private-panel>div,.fr-private-panel aside,.fr-map-panel>div{padding:54px 22px}.fr-depth-ledger>div:first-child{position:static}.fr-depth-list article{grid-template-columns:1fr;gap:10px}.fr-stack{grid-template-columns:1fr}.fr-stack article{border-right:0;border-bottom:1px solid var(--line)}.fr-stack article:last-child{border-bottom:0}.fr-map-lines{min-height:390px}}

.form-status{grid-column:1/-1;min-height:24px;margin:0;color:var(--muted);font-size:13px;line-height:1.5;text-transform:none}.contact-channels{border-top:1px solid var(--line)}.contact-channels a{font-weight:700;border-bottom:1px solid var(--red)}
.team-register{display:grid;grid-template-columns:34% 1fr;gap:70px;padding:88px 70px;background:var(--soft);border-top:1px solid var(--line)}.team-intro h2{margin:14px 0 20px;font-size:clamp(31px,3.2vw,49px);line-height:1.16}.team-intro p{color:var(--muted);line-height:1.7}.team-list{border-top:1px solid var(--line)}.team-list article{display:grid;grid-template-columns:54px minmax(210px,31%) 1fr;gap:28px;align-items:start;padding:25px 0;border-bottom:1px solid var(--line)}.team-list>article>span{color:var(--red);font-size:11px;font-weight:800}.team-list strong{display:block;font-family:var(--serif);font-size:26px;font-weight:400}.team-list small{display:block;margin-top:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.team-list p{margin:0;color:var(--muted);line-height:1.65}@media(max-width:900px){.team-register{grid-template-columns:1fr;gap:36px;padding:54px 22px}.team-list article{grid-template-columns:38px 1fr}.team-list article p{grid-column:2}}

/* Route-specific motion system: varied behavior without repeating one page template. */
.page-progress{position:fixed;z-index:120;top:0;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none;transition:transform 80ms linear}.motion-section{opacity:.72;transform:translateY(28px);transition:opacity 620ms ease,transform 900ms cubic-bezier(.2,.75,.2,1)}.motion-section.motion-visible{opacity:1;transform:translateY(0)}
.motion-enabled .hero-motion .hero-reveal{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(28px);transition:opacity 720ms ease,clip-path 950ms cubic-bezier(.16,1,.3,1),transform 950ms cubic-bezier(.16,1,.3,1);transition-delay:calc(120ms + var(--hero-order,0)*115ms)}
.motion-enabled .hero-motion.hero-motion-ready .hero-reveal{opacity:1;clip-path:inset(0);transform:translateY(0)}
.motion-enabled .hero-motion .hero-media-reveal{opacity:.62;transform:scale(1.045);transform-origin:center;transition:opacity 1000ms ease,transform 1800ms cubic-bezier(.16,1,.3,1)}
.motion-enabled .hero-motion.hero-motion-ready .hero-media-reveal{opacity:1;transform:scale(1)}
.copy-reveal{opacity:0;transform:translateY(18px);transition:opacity 650ms ease,transform 820ms cubic-bezier(.2,.75,.2,1);transition-delay:calc(var(--copy-order,0)*45ms)}
.copy-reveal.copy-visible{opacity:1;transform:translateY(0)}
[data-motion-family="transaction"] .motion-section{transform:translateX(-22px)}[data-motion-family="transaction"] .motion-section.motion-visible{transform:translateX(0)}
[data-motion-family="capital"] .fr-stack article,[data-motion-family="capital"] .financing-scenarios article,[data-motion-family="capital"] .capital-option{transition:background 320ms ease,color 320ms ease,transform 420ms ease}[data-motion-family="capital"] .fr-stack article:hover,[data-motion-family="capital"] .fr-stack article.motion-active,[data-motion-family="capital"] .financing-scenarios article:hover{color:#fff;background:var(--graphite);transform:translateY(-8px)}[data-motion-family="capital"] .fr-stack article:hover p,[data-motion-family="capital"] .fr-stack article.motion-active p{color:rgba(255,255,255,.7)}
[data-motion-family="property"] .fr-depth-list,[data-motion-family="property"] .management-timeline,[data-motion-family="property"] .project-phases{position:relative}[data-motion-family="property"] .fr-depth-list article,[data-motion-family="property"] .management-timeline article,[data-motion-family="property"] .project-phases article{transition:padding-left 380ms ease,background 300ms ease}[data-motion-family="property"] .fr-depth-list article:hover,[data-motion-family="property"] .fr-depth-list article.motion-active,[data-motion-family="property"] .management-timeline article:hover{padding-left:18px;background:rgba(227,6,19,.035)}
[data-motion-family="house"] .team-list article{transition:opacity 300ms ease,transform 420ms ease,background 300ms ease}[data-motion-family="house"] .team-list:hover article:not(:hover):not(.motion-active){opacity:.42}[data-motion-family="house"] .team-list article:hover,[data-motion-family="house"] .team-list article.motion-active{transform:translateX(12px);background:rgba(255,255,255,.68)}
[data-motion-family="international"] .fr-map-lines span{animation:marketSignal 4.8s ease-in-out infinite alternate}[data-motion-family="international"] .fr-map-lines span:nth-of-type(2){animation-delay:-1.6s}[data-motion-family="international"] .fr-map-lines span:nth-of-type(3){animation-delay:-3.2s}
[data-motion-family="contact"] .contact-route aside{background-position:center calc(50% + var(--page-parallax,0px))}[data-motion-family="contact"] .contact-form label{transition:transform 240ms ease,color 240ms ease}[data-motion-family="contact"] .contact-form label:focus-within{color:var(--red);transform:translateX(5px)}
.fr-detail-list article,.fr-depth-list article,.fr-stack article,.team-list article,.register-lines article,.funding-track article,.room-list article{transition-delay:calc(var(--motion-order,0) * 35ms)}
.transaction-image,.management-hero-image,.firm-opening-image,.portfolio-review-image,.project-ledger-image,.mandate-image,.fr-detail-hero aside{background-position:center calc(50% + var(--page-parallax,0px));transition:background-position 140ms linear}
@keyframes marketSignal{from{opacity:.42;transform:translateY(0)}to{opacity:1;transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.motion-section,.hero-reveal,.hero-media-reveal,.copy-reveal{opacity:1!important;clip-path:none!important;transform:none!important;transition:none!important}.page-progress{display:none}.fr-map-lines span{animation:none!important}}
@media(max-width:700px){.page-progress{height:2px}[data-motion-family] .team-list:hover article:not(:hover):not(.motion-active){opacity:1}[data-motion-family="capital"] .fr-stack article:hover,[data-motion-family="capital"] .fr-stack article.motion-active{transform:none}}

/* 2026 editorial de-numbering pass: hierarchy comes from scale, space and media. */
.menu-toggle{gap:12px}.menu-toggle i{position:relative;width:25px;height:14px;background:transparent!important}.menu-toggle i::before,.menu-toggle i::after{position:absolute;right:0;height:1px;background:currentColor;content:"";transition:width 220ms ease,transform 220ms ease,top 220ms ease}.menu-toggle i::before{top:3px;width:24px;transform:none}.menu-toggle i::after{top:11px;width:15px}.main-nav.is-open .menu-toggle i{transform:none}.main-nav.is-open .menu-toggle i::before{top:7px;width:21px;transform:rotate(45deg)}.main-nav.is-open .menu-toggle i::after{top:7px;width:21px;transform:rotate(-45deg)}

.fr-depth-list article{grid-template-columns:minmax(190px,1fr) 38%;gap:40px}.team-list article{grid-template-columns:minmax(250px,34%) 1fr;gap:42px}.team-list article p{grid-column:auto}.acceptance-steps article{display:grid;align-content:start}.governance-ledger li{grid-template-columns:170px 1fr}.contact-route li{grid-template-columns:1fr}.contact-route li p{max-width:540px}.project-phases article,.funding-track article{grid-template-columns:1fr}.fr-private-panel li{grid-template-columns:1fr}.management-timeline article{grid-template-columns:1fr}.management-timeline p{grid-column:auto;margin:8px 0 0}.committee-table article{grid-template-columns:1fr 90px}.financing-terms article{grid-template-columns:1fr 130px}.firm-principles article{grid-template-columns:1fr}.firm-principles p{grid-column:auto}.governance-rule article{grid-template-columns:42% 1fr}.access-grid article{display:grid;align-content:start}.access-grid strong{margin-top:12px}

[data-motion-family="advisory"] .fr-detail-grid{grid-template-columns:minmax(300px,42%) 1fr;background:#fff}[data-motion-family="advisory"] .fr-detail-list{border-top:0}[data-motion-family="advisory"] .fr-detail-list article{min-height:128px;padding:28px 0;border-bottom:1px solid var(--line)}[data-motion-family="advisory"] .fr-detail-band{grid-template-columns:1.65fr 1fr 1fr;color:var(--ink);background:var(--soft)}[data-motion-family="advisory"] .fr-detail-band article{min-height:300px;padding:52px 42px;border:0;border-right:1px solid var(--line)}[data-motion-family="advisory"] .fr-detail-band strong{margin:0 0 24px;font-size:clamp(29px,3vw,48px)}[data-motion-family="advisory"] .fr-detail-band p{color:var(--muted)}

[data-motion-family="transaction"] .fr-detail-band{grid-template-columns:1fr 1.2fr 1fr;background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}[data-motion-family="transaction"] .fr-detail-band article{min-height:270px;padding:48px 5vw;border:0}[data-motion-family="transaction"] .fr-detail-band article:nth-child(2){color:#fff;background:var(--graphite);transform:translateY(24px)}[data-motion-family="transaction"] .fr-detail-band article:nth-child(2) p{color:rgba(255,255,255,.68)}[data-motion-family="transaction"] .fr-detail-band strong{margin:0 0 24px;font-size:clamp(30px,3.4vw,52px)}[data-motion-family="transaction"] .fr-depth-ledger{grid-template-columns:44% 1fr}[data-motion-family="transaction"] .fr-depth-list article{grid-template-columns:1fr;padding:30px 0}[data-motion-family="transaction"] .fr-depth-list strong{font-size:clamp(29px,3vw,44px)}

[data-motion-family="capital"] .fr-stack{display:flex;align-items:stretch;border:0;background:#fff}[data-motion-family="capital"] .fr-stack article{flex:1;min-height:430px;padding:42px 34px;border:0;border-left:1px solid var(--line)}[data-motion-family="capital"] .fr-stack article:nth-child(2){margin-top:50px}[data-motion-family="capital"] .fr-stack article:nth-child(3){margin-top:100px}[data-motion-family="capital"] .fr-stack article:nth-child(4){margin-top:150px}[data-motion-family="capital"] .fr-stack strong{margin:0 0 80px;font-size:clamp(29px,3vw,46px)}[data-motion-family="capital"] .financing-scenarios{grid-template-columns:1.2fr .8fr 1fr}[data-motion-family="capital"] .financing-scenarios article{border:0;padding-top:70px}[data-motion-family="capital"] .financing-scenarios article+article{border-left:1px solid rgba(255,255,255,.18)}

[data-motion-family="property"] .fr-detail-band{position:relative;grid-template-columns:repeat(3,1fr);padding-top:42px;background:#fff;color:var(--ink);border-top:1px solid var(--line)}[data-motion-family="property"] .fr-detail-band::before{position:absolute;top:42px;left:11%;right:11%;height:1px;background:var(--ink);content:""}[data-motion-family="property"] .fr-detail-band article{position:relative;min-height:300px;padding:48px 6vw;border:0}[data-motion-family="property"] .fr-detail-band article::before{position:absolute;top:-5px;left:6vw;width:11px;height:11px;border:2px solid var(--red);border-radius:50%;background:#fff;content:""}[data-motion-family="property"] .fr-detail-band strong{margin:34px 0 20px;font-size:clamp(30px,3vw,46px)}[data-motion-family="property"] .fr-detail-band p{color:var(--muted)}[data-motion-family="property"] .fr-depth-list article{grid-template-columns:minmax(220px,1fr) 42%}

[data-motion-family="international"] .fr-detail-band{grid-template-columns:1.4fr .8fr .8fr;background:#fff;color:var(--ink)}[data-motion-family="international"] .fr-detail-band article{min-height:260px;border:0;padding:46px 5vw}[data-motion-family="international"] .fr-detail-band article:first-child{background:var(--red);color:#fff}[data-motion-family="international"] .fr-detail-band article:first-child p{color:rgba(255,255,255,.78)}[data-motion-family="international"] .fr-detail-band strong{margin:0 0 22px;font-size:clamp(30px,3.2vw,48px)}[data-motion-family="international"] .fr-detail-band p{color:var(--muted)}

[data-motion-family="house"] .team-register{grid-template-columns:38% 1fr;padding-top:110px;padding-bottom:110px}[data-motion-family="house"] .team-list article{min-height:145px;padding:34px 0}[data-motion-family="house"] .team-list strong{font-size:clamp(28px,2.6vw,40px)}[data-motion-family="house"] .acceptance-steps{grid-template-columns:1.25fr .75fr;border:0}[data-motion-family="house"] .acceptance-steps article{min-height:260px;padding:42px;border:0;border-top:1px solid var(--line)}[data-motion-family="house"] .acceptance-steps article:nth-child(3){margin-left:18%}[data-motion-family="house"] .acceptance-steps article:nth-child(4){margin-right:18%}

[data-motion-family="contact"] .access-grid{grid-template-columns:1.2fr .8fr 1fr 1fr;border:0}[data-motion-family="contact"] .access-grid article{min-height:250px;padding:36px 30px;border:0;border-top:1px solid var(--ink)}[data-motion-family="contact"] .access-grid article:nth-child(even){margin-top:70px}[data-motion-family="contact"] .contact-directory{border:0}[data-motion-family="contact"] .contact-directory article{min-height:250px;padding-top:56px;border:0;border-top:1px solid var(--line)}

main>section{scroll-margin-top:82px}[data-motion-family="contact"] .access-grid{grid-template-columns:1fr 1fr;gap:0 52px}[data-motion-family="contact"] .access-grid article{min-height:220px;padding:34px 0}[data-motion-family="contact"] .access-grid article:nth-child(even){margin-top:64px}

@media(max-width:900px){.fr-depth-list article,.team-list article,.governance-ledger li,.governance-rule article{grid-template-columns:1fr}.team-list article p{grid-column:auto}[data-motion-family] .fr-detail-band,[data-motion-family="advisory"] .fr-detail-band,[data-motion-family="transaction"] .fr-detail-band,[data-motion-family="international"] .fr-detail-band{grid-template-columns:1fr}[data-motion-family] .fr-detail-band article,[data-motion-family="transaction"] .fr-detail-band article:nth-child(2){min-height:0;padding:38px 22px;border:0;border-bottom:1px solid var(--line);transform:none}[data-motion-family="property"] .fr-detail-band{padding-top:0}[data-motion-family="property"] .fr-detail-band::before,[data-motion-family="property"] .fr-detail-band article::before{display:none}[data-motion-family="capital"] .fr-stack{display:grid}[data-motion-family="capital"] .fr-stack article,[data-motion-family="capital"] .fr-stack article:nth-child(n){min-height:0;margin:0;padding:38px 22px;border:0;border-bottom:1px solid var(--line)}[data-motion-family="capital"] .fr-stack strong{margin:0 0 22px}[data-motion-family="house"] .team-register{grid-template-columns:1fr;padding:58px 22px}[data-motion-family="house"] .acceptance-steps{grid-template-columns:1fr}[data-motion-family="house"] .acceptance-steps article:nth-child(n){min-height:0;margin:0;padding:34px 22px}[data-motion-family="contact"] .access-grid{grid-template-columns:1fr}[data-motion-family="contact"] .access-grid article:nth-child(n){min-height:0;margin:0;padding:30px 0}}

/* Homepage composition pass: one scene, one path, fewer enumerations. */
.house-manifesto{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:50px;padding:38px 70px;background:var(--graphite);color:#fff;border:0}.house-manifesto p{max-width:1050px;margin:0;font-family:var(--serif);font-size:clamp(24px,2.5vw,39px);line-height:1.38;color:#fff}.house-manifesto strong{display:inline;font:inherit;color:var(--red);letter-spacing:0;text-transform:none}.house-manifesto a{padding-bottom:7px;border-bottom:1px solid var(--red);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.credibility-ledger{grid-template-columns:32% 1fr}.ledger-grid{display:grid;grid-template-columns:1.25fr .75fr;border:0}.ledger-grid article{min-height:0;padding:30px 0;border:0;border-top:1px solid rgba(255,255,255,.2)}.ledger-grid article:first-child{grid-row:1/4;padding:42px 70px 42px 0;border-top-color:var(--red)}.ledger-grid article:first-child strong{max-width:560px;font-size:clamp(34px,4vw,62px)}.ledger-grid article:not(:first-child){padding-left:42px}.ledger-grid article:nth-child(2){border-top-color:var(--red)}.ledger-grid article:nth-child(2n){border-right:0}.ledger-grid article:nth-last-child(-n+2){border-bottom:0}
.capability-stage{grid-template-columns:minmax(420px,58%) 1fr;gap:0;min-height:650px;background:var(--graphite)}.capability-visual{position:relative;top:auto;height:650px}.capability-visual div{align-items:end}.capability-visual strong{max-width:430px;font-size:clamp(34px,3.7vw,58px);text-align:left}.capability-console{display:grid;align-content:space-between;padding:54px 48px;color:#fff}.capability-list{display:flex;flex-wrap:wrap;align-content:start;gap:18px 28px;border:0}.capability-list a{display:block;width:auto;padding:0 0 8px;border:0;border-bottom:1px solid transparent;opacity:.48;transition:opacity 220ms ease,border-color 220ms ease,transform 220ms ease}.capability-list a::before,.capability-list a p{display:none}.capability-list a:hover,.capability-list a:focus-visible,.capability-list a.is-active{padding-left:0;background:transparent;opacity:1;border-color:var(--red);transform:translateY(-2px)}.capability-list strong{font-family:var(--serif);font-size:clamp(18px,1.7vw,27px);font-weight:400}.capability-live{padding-top:36px;border-top:1px solid rgba(255,255,255,.25)}.capability-live p{max-width:470px;color:rgba(255,255,255,.7);font-size:17px;line-height:1.7}.capability-live a{display:inline-block;margin-top:14px;padding-bottom:7px;border-bottom:1px solid var(--red);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.operation-board{position:relative;display:flex;justify-content:space-between;gap:22px;padding:30px 0 46px;border:0}.operation-board::before{position:absolute;left:2%;right:2%;bottom:20px;height:1px;background:var(--line);content:""}.operation-step{position:relative;flex:0 1 auto;padding:0 0 18px;border:0;background:transparent;font-family:var(--serif);font-size:clamp(20px,2vw,31px);font-weight:400;text-align:left}.operation-step::after{position:absolute;z-index:1;bottom:-31px;left:0;width:9px;height:9px;border:2px solid var(--ink);border-radius:50%;background:#fff;content:"";transition:background 180ms ease,transform 180ms ease}.operation-step.is-active{color:var(--red);background:transparent}.operation-step.is-active::after{border-color:var(--red);background:var(--red);transform:scale(1.25)}.operation-detail{grid-template-columns:34% 1fr;margin-top:34px;padding:54px 0 0;border-top:0}.operation-detail h3{font-size:clamp(48px,6vw,92px)}.operation-detail p{align-self:end;max-width:610px;font-size:18px}
.situation-list{display:grid;grid-template-columns:1.1fr .9fr;border:0}.situation-list article{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:28px 0;border:0;border-top:1px solid var(--line)}.situation-list article:first-child{grid-row:1/4;align-content:end;min-height:520px;margin-right:60px;padding:52px;color:#fff;background:linear-gradient(0deg,rgba(17,21,26,.88),rgba(17,21,26,.18)),url("assets/slide-private-mandate.webp") center/cover}.situation-list article:first-child span{color:var(--red)}.situation-list article:first-child strong{font-size:clamp(34px,3.5vw,56px);color:#fff}.situation-list article:first-child p{grid-column:2;color:rgba(255,255,255,.72)}.situation-list article:not(:first-child) strong{font-size:clamp(23px,2vw,32px)}.situation-list article:not(:first-child) p{grid-column:2}
.situation-list article:first-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:16px;overflow:hidden}.situation-list article:first-child strong{display:block;width:min(100%,520px);font-size:clamp(32px,3vw,50px);line-height:1.04;overflow-wrap:anywhere}.situation-list article:first-child p{width:min(100%,520px);margin:0;overflow-wrap:anywhere}
@media(max-width:900px){.house-manifesto{grid-template-columns:1fr;padding:34px 22px;gap:24px}.credibility-ledger{grid-template-columns:1fr}.ledger-grid{grid-template-columns:1fr}.ledger-grid article:first-child{grid-row:auto;padding:34px 0}.ledger-grid article:not(:first-child){padding-left:0}.capability-stage{grid-template-columns:1fr;min-height:0}.capability-visual{height:430px}.capability-console{padding:36px 22px;gap:52px}.capability-list{display:grid;grid-template-columns:1fr 1fr}.operation-board{overflow-x:auto;justify-content:flex-start;gap:34px;padding-bottom:42px}.operation-board::before{right:auto;width:720px}.operation-step{flex:0 0 auto}.operation-detail{grid-template-columns:1fr}.situation-list{grid-template-columns:1fr}.situation-list article:first-child{grid-row:auto;min-height:430px;margin:0}.situation-list article{grid-template-columns:1fr}.situation-list article p,.situation-list article:first-child p{grid-column:auto}}

/* Reference-led route compositions. These deliberately vary by subject. */
body[data-motion-family] main>section{isolation:isolate}
body[data-motion-family="transaction"]{--route-accent:#a91c25}
body[data-motion-family="capital"]{--route-accent:#5f776d}
body[data-motion-family="property"]{--route-accent:#b05431}
body[data-motion-family="house"]{--route-accent:#8d2634}
body[data-motion-family="international"]{--route-accent:#31656b}

/* Commercial: a bilateral editorial path, not a grid. */
body[data-motion-family="transaction"] .commercial-scope,
body[data-motion-family="transaction"] .fr-detail-band{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(320px,1.3fr);gap:0;padding:0;background:#151719;color:#fff}
body[data-motion-family="transaction"] .commercial-scope>article,
body[data-motion-family="transaction"] .fr-detail-band>article{min-height:260px;padding:52px;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent}
body[data-motion-family="transaction"] .commercial-scope>article:first-child,
body[data-motion-family="transaction"] .fr-detail-band>article:first-child{grid-row:span 2;min-height:520px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.08)),url('assets/slide-private-mandate.webp') center/cover}
body[data-motion-family="transaction"] .commercial-scope strong,
body[data-motion-family="transaction"] .fr-detail-band strong{font:400 clamp(27px,3vw,46px)/1.12 var(--serif);color:#fff}
body[data-motion-family="transaction"] .commercial-scope p,
body[data-motion-family="transaction"] .fr-detail-band p{max-width:570px;color:rgba(255,255,255,.65)}
body[data-motion-family="transaction"] .transaction-control-list article,
body[data-motion-family="transaction"] .fr-depth-list article{border:0;border-top:1px solid var(--line);padding:28px 0;transform:none!important}
body[data-motion-family="transaction"] .transaction-control-list article:hover,
body[data-motion-family="transaction"] .fr-depth-list article:hover{padding-left:22px;background:transparent;border-color:var(--route-accent)}

/* Capital: technical layers and a staggered lender room. */
body[data-motion-family="capital"] .capital-logic,
body[data-motion-family="capital"] .portfolio-matrix{background:#e5e9e5}
body[data-motion-family="capital"] .fr-detail-band,
body[data-motion-family="capital"] .fr-stack,
body[data-motion-family="capital"] .funding-track{display:flex;flex-direction:column;padding:70px max(5vw,60px);gap:0;background:#12201c;color:#fff}
body[data-motion-family="capital"] .fr-detail-band article,
body[data-motion-family="capital"] .fr-stack article,
body[data-motion-family="capital"] .funding-track article{display:grid;grid-template-columns:minmax(180px,.55fr) 1fr;align-items:center;min-height:120px;padding:25px 3vw;border:0;border-top:1px solid rgba(255,255,255,.2);background:color-mix(in srgb,#fff calc(var(--motion-order,0)*1.2%),transparent);margin-left:calc(var(--motion-order,0)*2.5vw)}
body[data-motion-family="capital"] .fr-detail-band strong,
body[data-motion-family="capital"] .fr-stack strong,
body[data-motion-family="capital"] .funding-track strong{font:400 clamp(25px,3vw,42px) var(--serif);color:#fff}
body[data-motion-family="capital"] .fr-detail-band p,
body[data-motion-family="capital"] .fr-stack p,
body[data-motion-family="capital"] .funding-track p{color:#b9c6c0}
body[data-motion-family="capital"] .room-list{display:grid;grid-template-columns:repeat(12,1fr);gap:0}
body[data-motion-family="capital"] .room-list article{grid-column:span 5;padding:38px 0;border:0;border-top:1px solid var(--ink)}
body[data-motion-family="capital"] .room-list article:nth-child(even){grid-column:7/span 6}

/* Property: immersive project image followed by a continuous phase rail. */
body[data-motion-family="property"] .fr-detail-hero{min-height:720px;align-items:end;background:#171818;color:#fff}
body[data-motion-family="property"] .fr-detail-hero>div{padding-bottom:70px}
body[data-motion-family="property"] .fr-detail-hero aside{align-self:stretch;background:linear-gradient(0deg,rgba(0,0,0,.3),transparent),url('assets/slide-development.webp') center/cover;border:0}
body[data-motion-family="property"] .fr-detail-hero h1,body[data-motion-family="property"] .fr-detail-hero p{color:#fff}
body[data-motion-family="property"] .fr-detail-grid{grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:9vw}
body[data-motion-family="property"] .fr-detail-list{position:relative;border-left:1px solid var(--line)}
body[data-motion-family="property"] .fr-detail-list article{position:relative;padding:24px 0 52px 55px;border:0;background:transparent}
body[data-motion-family="property"] .fr-detail-list article::before{content:"";position:absolute;left:-6px;top:30px;width:11px;height:11px;border-radius:50%;background:var(--route-accent)}
body[data-motion-family="property"] .fr-detail-band{display:flex;overflow:hidden;padding:0;background:#eee}
body[data-motion-family="property"] .fr-detail-band article{flex:1;min-height:340px;padding:45px 35px;display:flex;flex-direction:column;justify-content:end;border:0;border-right:1px solid #ccc;background:transparent}
body[data-motion-family="property"] .fr-detail-band article:nth-child(2){padding-top:93px;background:#fff}

/* House: cultural/editorial statements with portraits inserted into the register. */
body[data-motion-family="house"] .team-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink)}
body[data-motion-family="house"] .team-list article{min-height:240px;padding:38px 8% 38px 0;border:0;border-bottom:1px solid var(--line);background:transparent}
body[data-motion-family="house"] .team-list article:nth-child(2n+3){padding-left:8%;border-left:1px solid var(--line)}
body[data-motion-family="house"] .team-list article strong{font:400 clamp(27px,3vw,44px) var(--serif)}
body[data-motion-family="house"] .evidence-strip{display:grid;grid-template-columns:1.4fr .8fr .8fr;padding:0;background:#171717;color:#fff}
body[data-motion-family="house"] .evidence-strip article{min-height:280px;padding:48px;border:0;border-right:1px solid rgba(255,255,255,.2)}
body[data-motion-family="house"] .evidence-strip article:first-child{background:linear-gradient(0deg,rgba(0,0,0,.75),transparent),url('assets/hero-architecture.webp') center/cover;display:flex;flex-direction:column;justify-content:end}
body[data-motion-family="house"] .atelier-grid{display:block;border-top:1px solid var(--ink)}
body[data-motion-family="house"] .atelier-grid article{display:grid;grid-template-columns:.45fr 1fr;padding:30px 0;border:0;border-bottom:1px solid var(--line);background:transparent}

/* International: one geographic field rather than equal modules. */
body[data-motion-family="international"] .international-ways,
body[data-motion-family="international"] .fr-detail-band{display:grid;grid-template-columns:repeat(6,1fr);gap:0;background:#153338;color:#fff;padding:70px 5vw}
body[data-motion-family="international"] .international-ways article,
body[data-motion-family="international"] .fr-detail-band article{grid-column:span 2;min-height:300px;padding:35px;border:0;border-left:1px solid rgba(255,255,255,.25);background:transparent}
body[data-motion-family="international"] .international-ways article:nth-child(2),body[data-motion-family="international"] .fr-detail-band article:nth-child(2){transform:translateY(75px)}
body[data-motion-family="international"] .international-ways strong,
body[data-motion-family="international"] .fr-detail-band strong{font:400 34px var(--serif);color:#fff}
body[data-motion-family="international"] .international-ways p,
body[data-motion-family="international"] .fr-detail-band p{color:#b9cdcf}

/* Related navigation becomes a typographic exit rail, never cards. */
.related-grid,.fr-related nav{display:flex!important;gap:0!important;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.related-grid a,.fr-related nav a{flex:1;padding:30px 3vw!important;border:0!important;border-right:1px solid var(--line)!important;background:transparent!important;min-height:130px;transition:background .2s,color .2s}
.related-grid a:hover,.fr-related nav a:hover{background:var(--ink)!important;color:#fff!important}
.related-grid a strong,.fr-related nav a strong{font:400 clamp(20px,2.2vw,34px) var(--serif)}

/* Legal: narrow reading measure and visible document navigation. */
body[data-motion-family="legal"]{background:#f5f5f2}
body[data-motion-family="legal"] .legal-page{grid-template-columns:260px minmax(0,760px);justify-content:center;gap:8vw;padding-top:100px}
body[data-motion-family="legal"] .legal-page aside{position:sticky;top:120px;align-self:start;padding:25px 0;border-top:3px solid var(--ink)}
body[data-motion-family="legal"] .legal-page article>section{padding:42px 0;border-top:1px solid var(--line);background:transparent}
body[data-motion-family="legal"] .legal-page h1{font-size:clamp(48px,7vw,88px)}

/* Cookie consent: Swiss editorial panel, persistent and reopenable. */
.cookie-settings-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:.72}.cookie-settings-link:hover{opacity:1}
.cookie-panel{position:fixed;z-index:1000;left:28px;bottom:28px;width:min(620px,calc(100vw - 56px));max-height:calc(100vh - 56px);overflow:auto;padding:0;background:#f7f7f3;color:#111;border-top:5px solid #111;box-shadow:0 20px 70px rgba(0,0,0,.28);transform:translateY(calc(100% + 60px));opacity:0;visibility:hidden;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .25s,visibility .25s}
.cookie-panel.is-visible{transform:none;opacity:1;visibility:visible}.cookie-panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid #ccc;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cookie-close{width:34px;height:34px;border:0;background:none;font-size:27px;cursor:pointer}.cookie-panel-copy{padding:30px 25px}.cookie-panel-copy h2{margin:0 0 13px;font:400 clamp(31px,4vw,48px)/1.05 var(--serif)}.cookie-panel-copy p{max-width:520px;color:#5f6463;line-height:1.6}.cookie-panel-copy a{display:inline-block;margin-top:8px;color:#111;text-underline-offset:5px}.cookie-choice{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-top:1px solid #ccc}.cookie-choice strong,.cookie-choice span{display:block}.cookie-choice span{margin-top:4px;color:#737776;font-size:12px}.consent-switch input{position:absolute;opacity:0}.consent-switch i{display:block;position:relative;width:48px;height:26px;border:1px solid #888;border-radius:20px;background:#ddd;cursor:pointer}.consent-switch i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.consent-switch input:checked+i{background:#111}.consent-switch input:checked+i::after{transform:translateX(22px)}.cookie-actions{display:flex}.cookie-actions button{flex:1;padding:20px;border:0;border-top:1px solid #111;background:transparent;font-weight:800;cursor:pointer}.cookie-actions button+button{background:#111;color:#fff}

@media(max-width:800px){body[data-motion-family="transaction"] .commercial-scope,body[data-motion-family="transaction"] .fr-detail-band{grid-template-columns:1fr}body[data-motion-family="transaction"] .commercial-scope>article:first-child,body[data-motion-family="transaction"] .fr-detail-band>article:first-child{grid-row:auto;min-height:430px}body[data-motion-family="capital"] .fr-detail-band,body[data-motion-family="capital"] .fr-stack,body[data-motion-family="capital"] .funding-track{padding:50px 22px}body[data-motion-family="capital"] .fr-detail-band article,body[data-motion-family="capital"] .fr-stack article,body[data-motion-family="capital"] .funding-track article{grid-template-columns:1fr;margin-left:0}body[data-motion-family="capital"] .room-list{display:block}body[data-motion-family="property"] .fr-detail-hero{min-height:0}body[data-motion-family="property"] .fr-detail-hero aside{min-height:430px}body[data-motion-family="property"] .fr-detail-grid{grid-template-columns:1fr}body[data-motion-family="property"] .fr-detail-band{display:block}body[data-motion-family="property"] .fr-detail-band article:nth-child(2){transform:none}body[data-motion-family="house"] .team-list,body[data-motion-family="house"] .evidence-strip{grid-template-columns:1fr}body[data-motion-family="house"] .team-list article{padding:35px 0!important;border-left:0!important}body[data-motion-family="house"] .atelier-grid article{grid-template-columns:1fr;gap:14px}body[data-motion-family="international"] .international-ways,body[data-motion-family="international"] .fr-detail-band{grid-template-columns:1fr;padding:45px 22px}body[data-motion-family="international"] .international-ways article,body[data-motion-family="international"] .fr-detail-band article{grid-column:auto;min-height:220px}body[data-motion-family="international"] .international-ways article:nth-child(2),body[data-motion-family="international"] .fr-detail-band article:nth-child(2){transform:none}.related-grid,.fr-related nav{display:block!important}.related-grid a,.fr-related nav a{display:block;border-right:0!important;border-bottom:1px solid var(--line)!important}body[data-motion-family="legal"] .legal-page{grid-template-columns:1fr;padding:70px 22px}body[data-motion-family="legal"] .legal-page aside{position:static}.cookie-panel{left:12px;bottom:12px;width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.cookie-actions{display:block}.cookie-actions button{width:100%}}

/* Final responsive contract: all content remains readable at 100% browser zoom. */
main>section,main>section>*,.team-list,.team-list>*,.situation-list,.situation-list>*{min-width:0}
.media-frame{overflow:hidden}
@media(max-width:1500px){
  .selected-situations{grid-template-columns:32% minmax(0,1fr);gap:42px;padding-inline:5vw}
  .situation-list{grid-template-columns:minmax(280px,1fr) minmax(0,.9fr)}
  .situation-list article:first-child{margin-right:28px;padding:38px}
  .situation-list article:not(:first-child){grid-template-columns:110px minmax(0,1fr);gap:18px}
  body[data-motion-family="house"] .team-list article{grid-template-columns:1fr;gap:14px}
  body[data-motion-family="house"] .team-list article p{grid-column:auto}
}
@media(max-width:1050px){
  .topbar{padding-inline:22px}
  .geneva-clock{display:none}
  .selected-situations{grid-template-columns:1fr;padding:62px 28px}
  .situation-list{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .situation-list article:first-child{margin-right:22px}
  .operation-detail{grid-template-columns:1fr;gap:22px}
  .operation-detail p{align-self:auto}
}
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  main{width:100%;overflow:hidden}
  h1,h2,h3,p,strong,span,a{overflow-wrap:anywhere}
  .inner-opening h1,.fr-detail-hero h1,.financing-copy h1,.portfolio-opening h1{font-size:clamp(38px,11vw,56px);line-height:1.08}
  .selected-situations{padding:54px 22px}
  .situation-list{display:block}
  .situation-list article:first-child{min-height:410px;margin:0;padding:32px}
  .situation-list article:not(:first-child){display:block;padding:28px 0}
  .situation-list article:not(:first-child) strong,.situation-list article:not(:first-child) p{display:block;margin-top:10px}
  .operation-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
  .operation-board::before,.operation-step::after{display:none}
  .operation-step{min-width:0;padding:16px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--sans);font-size:12px;text-align:center}
  .operation-step.is-active{color:#fff;background:var(--red)}
  .operation-detail{margin-top:24px;padding-top:20px}
  .operation-detail h3{font-size:clamp(43px,14vw,66px)}
  body[data-motion-family="capital"] .financing-scenarios{display:grid;grid-template-columns:1fr!important}
  body[data-motion-family="capital"] .financing-scenarios article{width:auto;min-height:0;padding:34px 22px;border-left:0!important;border-bottom:1px solid rgba(255,255,255,.18)}
  body[data-motion-family] .fr-depth-ledger{grid-template-columns:1fr!important;padding:54px 22px!important;gap:30px}
  body[data-motion-family] .fr-depth-list{width:100%}
  body[data-motion-family] .fr-depth-list article{display:block!important;width:100%;min-height:0;padding:25px 0!important}
  body[data-motion-family] .fr-depth-list article>*{display:block;width:auto;margin:8px 0 0}
  body[data-motion-family="house"] .team-list{display:block}
  body[data-motion-family="house"] .team-list article{display:block;min-height:0;padding:30px 0!important;transform:none!important}
  body[data-motion-family="house"] .team-list article p{margin-top:16px}
  .financing-dossier i,.drawing-line{max-width:100%}
  .field-image,.drawing-image{inset-inline:0!important;width:100%!important;transform:none!important}
  .fr-detail-hero>div,.fr-detail-hero aside{width:100%}
}
@media(max-width:430px){
  .topbar{min-height:64px;padding-inline:14px}
  .brand strong{font-size:20px}.brand small{font-size:8px}
  .top-actions>.text-cta{display:none}
  .capability-list{grid-template-columns:1fr}
  .capability-list a{padding-block:6px}
  .capability-visual{height:360px}
  .operation-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .operation-step{min-height:50px;font-size:13px}
  .contact-opening,.contact-access,.contact-route,.contact-directory{font-size:15px}
  .cookie-panel-copy{padding:24px 20px}.cookie-choice{padding:18px 20px}
  .cookie-panel-copy h2{font-size:34px}
  .footer,.shared-footer{padding-inline:22px}
}
@media(max-width:900px){
  .financing-terms article,.committee-table article,.governance-rule article{grid-template-columns:1fr!important}
  .financing-terms article>*,.committee-table article>*,.governance-rule article>*{min-width:0}
  body[data-motion-family] .fr-detail-grid{grid-template-columns:1fr!important;gap:34px}
}
body[data-motion-family="international"] .international-ways{display:grid;grid-template-columns:45% 55%;gap:0;padding:0;background:#153338;color:#fff}
body[data-motion-family="international"] .international-ways-image{min-height:650px}
body[data-motion-family="international"] .international-ways-content{display:grid;align-content:center;padding:72px 70px}
body[data-motion-family="international"] .international-ways-content article{display:block;min-height:0;padding:26px 0;border:0;border-bottom:1px solid rgba(255,255,255,.22);transform:none!important}
body[data-motion-family="international"] .international-ways-content article:first-of-type{border-top:1px solid rgba(255,255,255,.22)}
body[data-motion-family="international"] .international-ways-content article>div{width:min(100%,620px)}
@media(max-width:900px){body[data-motion-family="international"] .international-ways{grid-template-columns:1fr}body[data-motion-family="international"] .international-ways-image{min-height:420px}body[data-motion-family="international"] .international-ways-content{padding:48px 22px}body[data-motion-family="international"] .international-ways-content article{padding:28px 0}}

/* Firm leadership register: one accountable lead followed by the operating team. */
body[data-motion-family="house"] .team-list article:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(250px,.72fr) 1fr;gap:56px;min-height:270px;padding:50px;color:#fff;background:var(--ink);border-bottom:0}
body[data-motion-family="house"] .team-list article:first-child:hover,body[data-motion-family="house"] .team-list article:first-child.motion-active{background:var(--ink);transform:none}
body[data-motion-family="house"] .team-list article:first-child strong{max-width:680px;color:#fff;font-size:clamp(40px,4.6vw,68px);line-height:.98}
body[data-motion-family="house"] .team-list article:first-child small{margin-top:16px;color:rgba(255,255,255,.58)}
body[data-motion-family="house"] .team-list article:first-child p{align-self:end;max-width:540px;color:rgba(255,255,255,.72);font-size:16px}
@media(max-width:900px){body[data-motion-family="house"] .team-list article:first-child{display:block;min-height:0;padding:38px 24px!important}body[data-motion-family="house"] .team-list article:first-child p{margin-top:30px}}

/* Bilingual error route: image-led and intentionally distinct from content pages. */
.error-page{min-height:100vh;background:#f3f4f3;color:var(--ink)}
.error-page .topbar{position:relative;background:#fff}
.error-header-note{margin-left:auto;font-family:var(--sans);font-size:11px;text-transform:uppercase;color:#70767a}
.not-found{display:grid;grid-template-columns:minmax(360px,42%) 1fr;min-height:calc(100vh - 138px);overflow:hidden}
.not-found-media{position:relative;min-height:640px;background:linear-gradient(rgba(9,15,19,.2),rgba(9,15,19,.58)),url("assets/hero-architecture.webp") center/cover no-repeat}
.not-found-media span{position:absolute;right:-.06em;bottom:-.15em;color:rgba(255,255,255,.9);font-family:var(--serif);font-size:clamp(180px,25vw,430px);line-height:.8}
.not-found-copy{display:grid;grid-template-rows:1fr 1fr;padding:0 clamp(34px,6vw,110px)}
.not-found-copy section{display:grid;align-content:center;max-width:760px;padding:48px 0;border-bottom:1px solid var(--line)}
.not-found-copy section:last-child{border-bottom:0}
.not-found-copy h1,.not-found-copy h2{max-width:700px;margin:15px 0 18px;font-family:var(--serif);font-size:clamp(45px,5.4vw,82px);font-weight:400;line-height:.98;letter-spacing:0}
.not-found-copy h2{font-size:clamp(38px,4.3vw,66px)}
.not-found-copy p{max-width:590px;margin:0;color:#626a70;font-family:var(--sans);font-size:16px;line-height:1.65}
.not-found-copy nav{display:flex;flex-wrap:wrap;gap:28px;margin-top:28px}
.not-found-copy nav a{padding-bottom:7px;border-bottom:1px solid var(--ink);font-family:var(--sans);font-size:13px;font-weight:700}
.not-found-copy nav a span{margin-left:20px;color:var(--red)}
.error-footer{display:flex;justify-content:space-between;gap:25px;padding:20px 34px;background:var(--ink);color:rgba(255,255,255,.68);font-family:var(--sans);font-size:10px;text-transform:uppercase}
@media(max-width:800px){
  .error-header-note{display:none}
  .not-found{display:block}
  .not-found-media{min-height:310px}
  .not-found-media span{right:0;bottom:-.1em;font-size:190px}
  .not-found-copy{display:block;padding:0 22px}
  .not-found-copy section{padding:50px 0}
  .not-found-copy h1,.not-found-copy h2{font-size:clamp(40px,12vw,58px)}
  .error-footer{display:grid;padding:24px 22px}
}
