/* ==========================================================================
   Monitor Capital — Components (components.css)
   Navbar, dropdown, language switcher, buttons, mobile nav, hero, stats,
   cards, section primitives (split / steps / media-hero), footer, forms.
   Depends on tokens.css + global.css.
   ========================================================================== */

/* ════════════════════════════════════════════════════════════════════════
   NAVBAR  (canonical — must be byte-identical across every page)
   ════════════════════════════════════════════════════════════════════════ */
.site-header {
  position: sticky; top: 0; z-index: var(--z-nav);
  background: var(--color-primary);
  transition: box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out);
}
.site-header.scrolled {
  background: var(--color-primary);
  box-shadow: 0 2px 24px rgba(0,0,0,0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
/* Homepage: transparent floating navbar over the hero (white logo + white menu); turns solid dark on scroll */
body.home .hero { margin-top: calc(-1 * var(--nav-h)); }
body.home .site-header { background: transparent; }
body.home .site-header.scrolled { background: var(--color-primary); box-shadow: 0 2px 24px rgba(0,0,0,0.45); }
body.home .nav-link, body.home .nav-link[aria-current="page"] { color: var(--color-white); }
body.home .nav-link:hover { color: rgba(255,255,255,0.72); }
body.home .nav-toggle span { background: var(--color-white); }
body.home .lang-link { color: rgba(255,255,255,0.7); }
body.home .lang-link.is-active { color: var(--color-white); }
body.home .lang-sep { color: rgba(255,255,255,0.4); }
.navbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-6); min-height: var(--nav-h);
}

/* logo: red cube mark + wordmark */
.logo { display: inline-flex; align-items: center; gap: var(--space-3); }
.logo__mark { width: 34px; height: 34px; flex: none; color: var(--color-accent); }
.site-footer .logo__mark { color: var(--color-white); }
.logo__img { height: 42px; width: auto; display: block; }
.logo__word {
  display: flex; flex-direction: column; line-height: 1;
  font-weight: var(--w-bold); letter-spacing: var(--tracking-wide);
  color: var(--color-primary); font-size: var(--text-sm); text-transform: uppercase;
}
.logo__word span:last-child { color: var(--color-muted); font-weight: var(--w-medium); }

/* nav links */
.nav-links { display: flex; align-items: center; gap: var(--space-5); }
.nav-link {
  font-size: var(--text-sm); font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-wider); text-transform: uppercase;
  white-space: nowrap;
  color: var(--color-white); padding: var(--space-2) 0; position: relative;
  transition: color var(--dur-fast) var(--ease-out);
}
.nav-link:hover { color: rgba(255,255,255,0.72); }
.nav-link[aria-current="page"] { color: var(--color-white); }
.nav-link[aria-current="page"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -4px;
  height: 2px; background: var(--color-accent);
}

/* dropdown — Investment Office */
.nav-item { position: relative; }
.nav-item > .nav-link .caret { display: inline-block; margin-left: 4px; transition: transform var(--dur-base) var(--ease-out); }
.dropdown {
  position: absolute; top: calc(100% + 4px); left: 50%; transform: translateX(-50%) translateY(8px) scale(0.99);
  transform-origin: top center;
  min-width: 260px; background: var(--color-white);
  border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-hover); padding: var(--space-2);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out), visibility 180ms;
}
/* invisible bridge across the gap so the cursor never falls into a dead zone */
.dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.nav-item:focus-within .dropdown,
.dropdown[data-open="true"] {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}
.nav-link[aria-expanded="true"] .caret, .nav-item:focus-within .caret { transform: rotate(180deg); }
.dropdown a {
  display: block; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: var(--w-medium); color: var(--color-body);
  transition: background var(--dur-fast), color var(--dur-fast), padding-left var(--dur-fast);
}
.dropdown a:hover { background: var(--color-accent-soft); color: var(--color-accent-text); padding-left: var(--space-5); }

/* language switcher (SVG flags) */
.lang-switcher { display: inline-flex; align-items: center; gap: var(--space-2); }
.lang-flag { width: 24px; height: 16px; border-radius: 2px; overflow: hidden; opacity: 0.5; transition: opacity var(--dur-fast); display: block; }
.lang-flag.active, .lang-flag:hover { opacity: 1; }
/* NL / EN text toggle */
.lang-link { font-size: var(--text-sm); font-weight: var(--w-semibold); letter-spacing: 0.04em; color: rgba(255,255,255,0.7); text-decoration: none; transition: color var(--dur-fast); }
.lang-link.is-active { color: var(--color-white); }
.lang-link:hover { color: var(--color-white); }
.lang-sep { color: rgba(255,255,255,0.4); font-size: var(--text-sm); }

.nav-actions { display: flex; align-items: center; gap: var(--space-5); }

/* ════════════════════════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  font-weight: var(--w-semibold); font-size: var(--text-sm); letter-spacing: var(--tracking-wide);
  text-transform: uppercase; line-height: 1; white-space: nowrap;
  padding: 0 var(--space-6); height: 44px; border: 2px solid transparent;
  border-radius: var(--radius-full); transition: all var(--dur-base) var(--ease-in-out);
}
.btn-primary { background: var(--color-accent); color: var(--color-white); }
.btn-primary:hover { background: var(--color-accent-hover); transform: translateY(-1px); box-shadow: var(--shadow-card); }
.btn-primary:active { transform: translateY(0); box-shadow: none; }
.btn-ghost { background: transparent; color: var(--color-accent-text); border-color: var(--color-accent); }
.btn-ghost:hover { background: var(--color-accent); color: var(--color-white); }
.btn-on-dark { background: var(--color-white); color: var(--color-primary); }
.btn-on-dark:hover { background: var(--color-accent); color: var(--color-white); }
.btn[disabled] { opacity: 0.4; pointer-events: none; }

/* ════════════════════════════════════════════════════════════════════════
   MOBILE NAV
   ════════════════════════════════════════════════════════════════════════ */
.nav-toggle { display: none; width: 44px; height: 44px; position: relative; z-index: calc(var(--z-overlay) + 1); }
.nav-toggle span { position: absolute; left: 10px; right: 10px; height: 2px; background: var(--color-white); transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-base); }
.nav-toggle span:nth-child(1) { top: 16px; }
.nav-toggle span:nth-child(2) { top: 22px; }
.nav-toggle span:nth-child(3) { top: 28px; }
.nav-toggle[aria-expanded="true"] span { background: var(--color-white); }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.mobile-nav {
  position: fixed; inset: 0; z-index: var(--z-overlay);
  background: var(--color-hero-bg); color: var(--color-white);
  display: flex; flex-direction: column; justify-content: flex-start; gap: var(--space-4);
  padding: var(--space-20) var(--container-pad) var(--space-12);
  transform: translateX(100%); transition: transform var(--dur-slow) var(--ease-in-out);
  overflow-y: auto;
}
.mobile-nav[data-open="true"] { transform: translateX(0); }
.mobile-nav a { color: var(--color-white); font-size: var(--text-2xl); font-weight: var(--w-semibold); padding: var(--space-3) 0; }
.mobile-nav a:hover { color: var(--color-accent); }
.mobile-nav .sub { padding-left: var(--space-4); font-size: var(--text-lg); color: rgba(255,255,255,0.75); }
.mobile-nav .mobile-lang { display: flex; gap: var(--space-3); margin-top: var(--space-6); }
body.nav-open { overflow: hidden; }

/* ════════════════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════════════════ */
.hero {
  position: relative; background: var(--color-hero-bg); color: var(--color-white);
  min-height: clamp(560px, 88svh, 860px);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding-block: var(--space-24) 0; overflow: hidden;
}
.hero__media { position: absolute; inset: 0; z-index: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero::after { content: ""; position: absolute; inset: 0; background: var(--color-overlay); z-index: 1; }
.hero > .container { position: relative; z-index: 2; padding-bottom: var(--space-16); }
.hero__label { color: var(--color-accent); font-size: var(--text-base); }
.hero-headline {
  font-size: var(--text-hero); font-weight: var(--w-light);
  color: var(--color-white); letter-spacing: var(--tracking-tight);
  line-height: 1.04; max-width: 16ch;
}
/* homepage: kleinere hero-kop (verzoek 2 jul) */
.cover-bg-home .hero-headline { font-size: clamp(2.25rem, 1.3rem + 3.4vw, 3.5rem); }
.hero__sub { margin-top: var(--space-5); font-size: var(--text-xl); color: rgba(255,255,255,0.8); max-width: 52ch; }
.hero__cta { margin-top: var(--space-8); }

/* stats bar */
.stats { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-6) var(--space-8); margin-top: var(--space-16); text-align: center; }
.stat { flex: 1 1 120px; }
/* homepage hero: stats moved to the right so the headline + subtitle drop down toward the accent line */
.hero .stats { position: absolute; right: var(--container-pad); bottom: var(--space-24); margin: 0; width: auto; justify-content: flex-end; gap: var(--space-10); text-align: right; }
.hero .stat { flex: 0 0 auto; }
@media (max-width: 768px) { .hero .stats { position: static; justify-content: flex-start; text-align: left; margin-top: var(--space-10); } }
.stat__num { font-size: clamp(2.25rem, 5vw, 4.25rem); font-weight: var(--w-bold); color: var(--color-white); font-variant-numeric: tabular-nums; line-height: 1.05; }
.stat__label { font-size: var(--text-sm); color: rgba(255,255,255,0.7); letter-spacing: var(--tracking-wide); }
.hero .accent-line--full { margin-top: var(--space-12); }
/* department brand logo chip in the hero (light lockups need a light backing) */
.hero__brand { display: inline-block; margin-bottom: var(--space-5); }
.hero__brand img { display: block; width: 240px; max-width: 60vw; height: auto; }

/* ════════════════════════════════════════════════════════════════════════
   CARDS
   ════════════════════════════════════════════════════════════════════════ */
.grid { display: grid; gap: var(--space-6); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
/* centered 2-person team (no carousel) */
.team-duo { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-6); }
.team-duo > .person.card { flex: 0 1 calc((100% - 2 * var(--space-6)) / 3); max-width: calc((100% - 2 * var(--space-6)) / 3); }
@media (max-width: 860px) { .team-duo > .person.card { flex-basis: calc((100% - var(--space-6)) / 2); max-width: calc((100% - var(--space-6)) / 2); } }
@media (max-width: 560px) { .team-duo > .person.card { flex-basis: 100%; max-width: 100%; } }

.card {
  background: var(--color-white); border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-card);
  transition: transform var(--dur-base) var(--ease-in-out), box-shadow var(--dur-base) var(--ease-in-out);
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
/* Projecten page: cards use a light warm gray background */
.cover-bg-projecten .card:has(.project-card__media) { background: #E9E5DE; border-color: #DAD4C9; }
/* project-selection cards blend into tinted section background (no white card) */
.section--tint .card:has(.project-card__media),
.section--tint .card:has(.proj-thumb) { background: transparent; border-color: transparent; box-shadow: none; padding: 0; }
.section--tint .card:has(.project-card__media):hover,
.section--tint .card:has(.proj-thumb):hover { box-shadow: none; }
.card__title { font-size: var(--text-xl); font-weight: var(--w-bold); margin-bottom: var(--space-3); }
.card__text { color: var(--color-body); font-size: var(--text-base); }
.card__link { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-4); color: var(--color-accent-text); font-weight: var(--w-semibold); font-size: var(--text-sm); }
.card:hover .card__link { gap: var(--space-3); }

/* pillar (department) card — accent stripe per department via --card-accent */
.pillar { border-top: 3px solid var(--card-accent, var(--color-accent)); display: flex; flex-direction: column; }
/* "Lees meer" altijd op dezelfde onderlijn, ongeacht tekstlengte (verzoek 2 jul) */
.pillar .card__link { color: var(--card-accent, var(--color-accent)); margin-top: auto; padding-top: var(--space-4); align-self: flex-start; }
.pillar--familyoffice { --card-accent: var(--dept-familyoffice); }
.pillar--finance      { --card-accent: var(--dept-finance); }
.pillar--realestate   { --card-accent: var(--dept-realestate); }
.pillar--football     { --card-accent: var(--dept-football); }
.pillar--mooi   { --card-accent: var(--dept-mooi); }
.pillar--orient { --card-accent: var(--dept-orient); }
.pillar .card__title { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-3); }
.pillar__emblem { width: 40px; height: 40px; object-fit: contain; flex: none; }

/* team / portrait card */
.person { position: relative; }
.person__linkedin { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: var(--space-3); border-radius: 50%; color: var(--color-accent-text); background: var(--color-accent-soft); transition: background 200ms ease, color 200ms ease; }
.person__linkedin:hover { background: var(--color-accent); color: var(--color-white); }
.person__linkedin:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.section--accent .person.card .person__linkedin, .section--dark .person.card .person__linkedin { color: var(--color-accent-text); background: var(--color-accent-soft); }

/* contact — vestigingen / location cards */
.locations { display: grid; grid-template-columns: 1fr; gap: var(--space-4); }
/* vestigingen als identieke rijen: stad | adres | maps — altijd gelijk (verzoek 2 jul) */
.location-card { border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); background: var(--color-white); display: flex; align-items: center; gap: var(--space-5); }
.location-card__city { font-size: var(--text-lg); font-weight: var(--w-bold); flex: 0 0 9.5rem; }
.location-card__addr { font-size: var(--text-sm); color: var(--color-body); line-height: var(--leading-normal); flex: 1 1 auto; }
.location-card__maps { display: inline-flex; align-items: center; gap: var(--space-2); margin-left: auto; padding-block: var(--space-2); font-size: var(--text-sm); font-weight: var(--w-semibold); color: var(--color-accent-text); white-space: nowrap; }
@media (max-width: 560px) {
  .location-card { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .location-card__city { flex: none; }
  .location-card__maps { margin-left: 0; }
}
.location-card__maps:hover { color: var(--color-accent); }
.location-card__maps:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.location-card__maps svg { flex: none; }

/* ── QA round-3 fixes ─────────────────────────────────────────────────────── */
/* lead paragraph on dark hero/sections — was muted grey (#6B7280 ≈ 4.0:1, fails AA) */
.section--dark .lead, .hero .lead { color: rgba(255,255,255,0.74); }
/* visible keyboard focus on form inputs (was outline:none + near-invisible ring) */
.input:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
/* carousel arrows: centre on the card and sit inside the container padding (>560px) */
@media (min-width: 561px) {
  .carousel__btn { top: 50%; }
  .carousel__btn--prev { left: var(--space-2); }
  .carousel__btn--next { right: var(--space-2); }
}
.person__photo { aspect-ratio: 3 / 4; border-radius: var(--radius-lg); overflow: hidden; }
.person__photo img { width: 100%; height: 100%; object-fit: cover; }
.person__name { font-size: var(--text-lg); font-weight: var(--w-bold); margin-top: var(--space-4); }
.person__role { font-size: var(--text-sm); color: var(--color-muted); }
.section--accent .person__name { color: var(--color-white); }
a.person__name { color: inherit; text-decoration: none; transition: color var(--dur-base) var(--ease-out); }
a.person__name:hover, a.person__name:focus-visible { color: var(--color-accent); }
.split .person__photo { max-width: 420px; }

/* Site-wide AFM / legal disclosure — understated: sits below the dark footer, near-black bg + grey text */
.mc-disclaimer { background: var(--color-primary); color: rgba(255,255,255,0.45); font-size: var(--text-xs); line-height: var(--leading-normal); padding: 40px 24px; border-top: 1px solid rgba(255,255,255,0.1); }
.mc-disclaimer__inner { max-width: 1100px; margin: 0 auto; }
.mc-disclaimer__title { color: rgba(255,255,255,0.7); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; margin: 0 0 24px; font-weight: 600; }
.mc-disclaimer__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 40px; }
@media (max-width: 880px) { .mc-disclaimer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mc-disclaimer__grid { grid-template-columns: 1fr; } }
.mc-disclaimer h4 { color: rgba(255,255,255,0.6); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; margin: 0 0 8px; font-weight: 600; }
.mc-disclaimer p { margin: 0; color: rgba(255,255,255,0.45); text-align: justify; hyphens: auto; }
.mc-disclaimer a { color: rgba(255,255,255,0.7); text-decoration: none; }
.mc-disclaimer a:hover { text-decoration: underline; }
.mc-disclaimer__foot { margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.06); display: flex; flex-wrap: wrap; gap: 16px 24px; justify-content: space-between; align-items: center; color: rgba(255,255,255,0.5); font-size: var(--text-xs); }
.section--accent .person__role { color: rgba(255,255,255,0.75); }
.section--accent .person__photo { background: rgba(255,255,255,0.08); }
/* person cards sitting on a coloured section render as white cards */
.section--accent .person.card, .section--dark .person.card { background: var(--color-white); }
.section--accent .person.card .person__name { color: var(--color-primary); }
.section--accent .person.card .person__role { color: var(--color-muted); }

/* ── Carousel (homepage partners — 3 at a time, revolving) ─────────────── */
.carousel { position: relative; }
.carousel__viewport { overflow: hidden; }
.carousel__track { display: flex; gap: var(--space-6); will-change: transform; }
.carousel__track.is-animating { transition: transform 600ms var(--ease-in-out); }
.carousel__slide { flex: 0 0 calc((100% - 2 * var(--space-6)) / 3); }
.carousel__btn {
  position: absolute; top: 38%; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: var(--radius-full);
  background: var(--color-accent); border: 1px solid var(--color-accent);
  box-shadow: var(--shadow-card); color: var(--color-white);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-2xl); line-height: 1; cursor: pointer; z-index: 2;
  transition: background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);
}
.carousel__btn:hover { background: var(--color-accent-hover, var(--color-accent)); color: var(--color-white); border-color: var(--color-accent-hover, var(--color-accent)); }
.carousel__btn--prev { left: -10px; }
.carousel__btn--next { right: -10px; }
@media (max-width: 860px) { .carousel__slide { flex-basis: calc((100% - var(--space-6)) / 2); } }
@media (max-width: 560px) {
  .carousel__slide { flex-basis: 100%; }
  .carousel { padding-bottom: var(--space-16); }
  .carousel__btn { top: auto; bottom: 0; transform: none; }
  .carousel__btn--prev { left: calc(50% - 52px); right: auto; }
  .carousel__btn--next { left: calc(50% + 8px); right: auto; }
}

/* ── Department page bits: facts, features, risk note, pullquote, legal ── */
.facts { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2) var(--space-6); margin-top: var(--space-5); }
.facts li { position: relative; padding-left: var(--space-5); font-size: var(--text-sm); color: var(--color-body); }
.facts li::before { content: "\2713"; position: absolute; left: 0; color: var(--color-accent); font-weight: var(--w-bold); }
.risk-note { font-size: var(--text-base); color: var(--color-body); font-weight: var(--w-medium); border-left: 3px solid var(--color-accent); padding-left: var(--space-4); margin-top: var(--space-6); }
.risk-note--tight { border-left: 0; padding-left: 0; font-size: var(--text-xs); color: var(--color-muted); margin-top: var(--space-4); }
@media (min-width: 1024px) { .risk-note--tight { white-space: nowrap; } }
/* project detail gallery */
.project-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-4); }
.project-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); display: block; }
.project-hero-img { width: 100%; height: auto; border-radius: var(--radius-lg); display: block; margin-top: var(--space-6); }
.project-card__media { display: block; border-radius: var(--radius-md); overflow: hidden; }
.project-card__media img:not(.proj-watermark) { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform var(--dur-base) var(--ease-out); }
.card:hover .project-card__media img:not(.proj-watermark) { transform: scale(1.04); }
.project-card__media, .proj-thumb { position: relative; }
.proj-watermark { position: absolute; top: 14px; left: 14px; width: 16%; max-width: 88px; z-index: 3; pointer-events: none; background-repeat: no-repeat; background-position: left top; background-size: contain; filter: brightness(0) drop-shadow(0 1px 3px rgba(255,255,255,0.6)); }
.proj-watermark--re      { aspect-ratio: 547 / 203; background-image: url("../assets/logos/real-estate-wm.png"); }
.proj-watermark--finance { aspect-ratio: 479 / 204; background-image: url("../assets/logos/finance-wm.png"); }
.proj-watermark--io      { aspect-ratio: 640 / 231; background-image: url("../assets/logos/investment-office-wm.png"); }
.proj-watermark--mooi    { aspect-ratio: 432 / 286; background-image: url("../assets/logos/mooi-wm.png"); }
.proj-watermark--mci     { aspect-ratio: 554 / 200; background-image: url("../assets/logos/mci-wm.png"); }
@media (max-width: 560px) { .proj-watermark { max-width: 64px; top: 10px; left: 10px; } }
@media (max-width: 560px) { .project-gallery { grid-template-columns: 1fr; } }  /* homepage general disclaimer: no accent bar, smaller, one line on desktop */
.feature h3 { font-size: 1.375rem; font-weight: var(--w-bold); margin-bottom: var(--space-2); }
.feature p { color: inherit; font-size: var(--text-lg); line-height: var(--leading-normal); }
.pullquote { font-size: var(--text-3xl); font-weight: var(--w-light); line-height: var(--leading-snug); color: var(--color-primary); max-width: 34ch; text-wrap: balance; }
.pullquote::before { content: ""; display: block; width: 48px; height: 3px; background: var(--color-accent); margin-bottom: var(--space-6); }
.legal-note { background: var(--color-surface); padding-block: var(--space-16); }
.legal-note__title { font-size: var(--text-lg); margin-bottom: var(--space-4); }
.legal-note p { font-size: var(--text-sm); color: var(--color-muted); max-width: 82ch; margin-bottom: var(--space-3); }
.legal-note__meta { font-size: var(--text-xs); }
.legal-note a { color: var(--color-accent); }
.afm-notice { background: var(--color-accent-soft); border: 1px solid var(--color-accent); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); color: var(--color-accent-hover); font-size: var(--text-sm); font-weight: var(--w-medium); margin-bottom: var(--space-6); }
@media (max-width: 560px) { .facts { grid-template-columns: 1fr; } }

/* ════════════════════════════════════════════════════════════════════════
   SECTION PRIMITIVES (from approved Football/department references)
   ════════════════════════════════════════════════════════════════════════ */
/* two-column: label+headline left, content right */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(var(--space-8), 6vw, var(--space-24)); align-items: start; }
.split__body { text-align: left; }
.split__body > * + * { margin-top: var(--space-4); }

/* steps / werkwijze checklist */
.steps { display: grid; gap: var(--space-6); }
.step { display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); align-items: start; }
.step__check { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; border: 1.5px solid currentColor; border-radius: 999px; color: var(--on-accent, var(--color-white)); font-weight: var(--w-bold); font-size: var(--text-sm); font-variant-numeric: tabular-nums; opacity: 0.85; }

/* department page accents (set --section-accent + dark-label colour) */
body.dept-familyoffice { --section-accent: var(--dept-familyoffice); --accent-on-dark: var(--dept-familyoffice); --on-accent: var(--color-primary); }
body.dept-finance      { --section-accent: var(--dept-finance);      --accent-on-dark: var(--dept-finance); --on-accent: var(--color-primary); }
body.dept-realestate   { --section-accent: var(--dept-realestate);   --accent-on-dark: var(--dept-realestate); --on-accent: var(--color-primary); }
/* RE: lighter grey for solid project/team blocks (image-backed sections unaffected) */
.dept-realestate .section--accent:not(.cover-bg-realestate) { background: color-mix(in srgb, var(--dept-realestate) 40%, #ffffff); }
body.dept-football     { --section-accent: var(--dept-football);     --accent-on-dark: var(--dept-football); }
body.dept-mooi         { --section-accent: var(--dept-mooi);         --accent-on-dark: var(--mooi-blue-soft); }
body.dept-orient       { --section-accent: var(--dept-orient);       --accent-on-dark: var(--orient-gold); }
/* Orient: team block matches the dark navy of the section above */
.dept-orient .section--accent:not(.cover-bg) { background: var(--dept-orient); }
.step__title { font-weight: var(--w-bold); color: var(--on-accent, var(--color-inverse)); }
.step__text { color: var(--on-accent, rgba(255,255,255,0.92)); font-size: var(--text-base); }

/* timeline (historie / ambitie) */
.timeline { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--space-6); padding-block: var(--space-8); position: relative; }
.timeline__item { min-width: 0; position: relative; padding-top: 96px; }
a.timeline__item { display: block; text-decoration: none; color: inherit; }
a.timeline__item .timeline__emblem { transition: transform var(--dur-base) var(--ease-out); }
a.timeline__item:hover .timeline__emblem { transform: scale(1.08); }
a.timeline__item:hover .timeline__entity { color: var(--color-primary); }
a.timeline__item:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; border-radius: var(--radius-sm); }
.timeline__emblem { position: absolute; top: 0; left: 0; width: 100%; height: 64px; object-fit: contain; object-position: left center; }
.timeline__item::before { content: ""; position: absolute; top: 76px; left: 24px; width: 12px; height: 12px; border-radius: 50%; background: var(--color-accent); transform: translateX(-50%); }
.timeline::after { content: ""; position: absolute; top: calc(var(--space-8) + 81px); left: 0; right: 0; height: 2px; background: var(--color-border); z-index: -1; }
.timeline__year { font-size: var(--text-xl); font-weight: var(--w-bold); color: var(--color-primary); }
.timeline__entity { font-size: var(--text-sm); color: var(--color-muted); margin-top: var(--space-1); }
@media (max-width: 768px) { .timeline { grid-template-columns: repeat(3, 1fr); row-gap: var(--space-10); } .timeline::after { display: none; } }
@media (max-width: 480px) { .timeline { grid-template-columns: repeat(2, 1fr); } }

/* breadcrumb */
.breadcrumb { font-size: var(--text-sm); color: var(--color-muted); padding-block: var(--space-4); }
.breadcrumb a:hover { color: var(--color-accent); }
.breadcrumb span { margin-inline: var(--space-2); }

/* contact CTA bar */
.cta-bar { background: var(--color-primary); color: var(--color-white); text-align: center; }
.cta-bar h2 { color: var(--color-white); margin-bottom: var(--space-6); }

/* ════════════════════════════════════════════════════════════════════════
   FORMS
   ════════════════════════════════════════════════════════════════════════ */
.form { display: grid; gap: var(--space-5); max-width: 560px; }
.field { display: flex; flex-direction: column; gap: var(--space-2); }
.field label { font-size: var(--text-sm); font-weight: var(--w-medium); color: var(--color-body); }
.field .optional { color: var(--color-muted); font-weight: var(--w-regular); }
.input {
  width: 100%; height: 48px; padding: 0 var(--space-4); font-size: var(--text-base);
  color: var(--color-primary); background: var(--color-white);
  border: 1.5px solid var(--color-border); border-radius: var(--radius-md);
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
textarea.input { height: auto; min-height: 140px; padding: var(--space-3) var(--space-4); resize: vertical; }
.input:hover { border-color: var(--color-muted); }
.input:focus { outline: none; border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft); }
.form__note { font-size: var(--text-sm); color: var(--color-muted); }
.hp { position: absolute; left: -9999px; }
.input:disabled { background: var(--color-surface); opacity: .6; cursor: not-allowed; }
.input.error { border-color: var(--color-error); }
.input.success { border-color: var(--color-success); }
.field-error { font-size: var(--text-xs); color: var(--color-error); }
.form-status { font-size: var(--text-sm); }
.form-status[role="alert"] { color: var(--color-error); }   /* honeypot */

/* ════════════════════════════════════════════════════════════════════════
   FOOTER  (canonical — byte-identical across pages)
   ════════════════════════════════════════════════════════════════════════ */
.site-footer { background: var(--color-primary); color: rgba(255,255,255,0.7); padding-block: var(--space-20) var(--space-10); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--space-12); }
.site-footer .logo__word, .site-footer .logo__word span:last-child { color: var(--color-white); }
.footer-col h3 { font-size: var(--text-sm); text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--color-white); margin-bottom: var(--space-4); }
.footer-col a, .footer-col li { display: block; color: rgba(255,255,255,0.7); font-size: var(--text-sm); padding-block: var(--space-1); transition: color var(--dur-fast); }
.footer-col a:hover { color: var(--color-white); }
.footer-col a.footer-linkedin { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-3); padding: var(--space-2) var(--space-3); border: 1px solid rgba(255,255,255,0.18); border-radius: var(--radius-full); width: max-content; font-weight: var(--w-medium); }
.footer-col a.footer-linkedin:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.4); color: var(--color-white); }
.footer-linkedin svg { flex: none; width: 18px; height: 18px; }
.footer-tagline { margin-top: var(--space-4); font-size: var(--text-sm); color: rgba(255,255,255,0.55); max-width: 34ch; }
.footer-legal { margin-top: var(--space-16); padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,0.12); display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-6); justify-content: space-between; font-size: var(--text-xs); color: rgba(255,255,255,0.5); }
.footer-legal a:hover { color: var(--color-white); }

/* ════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1024px) {
  .nav-links, .nav-actions .lang-switcher, .nav-actions .btn { display: none; }
  .nav-toggle { display: block; }
}
@media (max-width: 860px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .split { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .stats { gap: var(--space-8); }
  .footer-legal { flex-direction: column; }
}


/* ── v2 polish: dark-hero gradient + brand-cube watermark ───────────────── */
.section--dark {
  position: relative;
  background-image: linear-gradient(135deg,
      var(--color-primary) 0%,
      color-mix(in srgb, var(--color-primary) 86%, white) 100%);
  background-color: var(--color-hero-bg);
}
.section--dark::after {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: clamp(160px, 32vw, 360px);
  height: clamp(160px, 32vw, 360px);
  background-image: url("../assets/logos/emblem-investment-office.png");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
}
.section--dark > * { position: relative; z-index: 1; }

/* ── v2 polish: pillar emblem as a circular tinted chip above the title ─── */
.pillar .card__title .pillar__emblem {
  width: 56px; height: 56px;
  padding: 12px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-accent) 8%, transparent);
  object-fit: contain;
  display: block;
}

/* ── legal-note: black background, grey letters, symmetrical ──────────── */
.legal-note { background: var(--color-primary); }
.legal-note .container { max-width: 820px; margin-inline: auto; }
.legal-note .afm-notice { background: color-mix(in srgb, var(--color-accent) 12%, var(--color-primary)); border: 1px solid color-mix(in srgb, var(--color-accent) 38%, transparent); color: rgba(255,255,255,0.82); border-radius: var(--radius-md); padding: var(--space-4) var(--space-6); text-align: center; max-width: 720px; margin: 0 auto var(--space-8); }
.legal-note__title { color: rgba(255,255,255,0.72); text-align: center; }
.legal-note p { color: rgba(255,255,255,0.55); text-align: justify; hyphens: auto; margin-inline: auto; }
.legal-note p.afm-notice { text-align: center; }
.legal-note strong { color: rgba(255,255,255,0.72); }
.legal-note__meta { text-align: center; color: rgba(255,255,255,0.5); }
.legal-note a { color: rgba(255,255,255,0.8); }

/* ── project detail: main image left of the text, meta above the gallery ─ */
.project-main { width: 100%; height: 100%; max-height: 560px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); display: block; }
.project-meta { color: var(--color-muted); font-size: var(--text-sm); letter-spacing: 0.02em; margin-bottom: var(--space-5); }
.project-meta strong { color: var(--color-primary); }

/* ════ HARD GUARANTEE: never a box/background behind any logo or emblem ════ */
.logo, .logo > img, .logo__img, .hero__brand, .hero__brand > img,
.site-footer .logo, .site-footer .logo__img, .timeline__emblem,
.pillar__emblem, .card__title .pillar__emblem,
img[src*="logos/"], img[alt*="Monitor Capital"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* ── polish: nicer facts list + risk-note, and a cohesive footer ──────── */
.facts { grid-template-columns: 1fr 1fr; gap: var(--space-4) var(--space-8); margin-top: var(--space-6); }
.facts li { padding-left: 30px; font-size: var(--text-base); color: var(--color-muted); line-height: var(--leading-normal); }
.facts li strong { color: var(--color-primary); font-weight: var(--w-semibold); }
.facts li::before { top: 2px; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; line-height: 1; background: color-mix(in srgb, var(--color-accent) 12%, transparent); border-radius: 50%; }
.risk-note { font-size: var(--text-sm); color: var(--color-body); font-weight: 400; background: color-mix(in srgb, var(--color-accent) 6%, transparent); padding: var(--space-4) var(--space-5); padding-left: var(--space-5); border-radius: 0 var(--radius-md) var(--radius-md) 0; margin-top: var(--space-8); }
.footer-legal { border-top-color: rgba(255,255,255,0.10); }
.mc-disclaimer { border-top: none; padding-top: 8px; }
.mc-disclaimer__foot { border-top: none; margin-top: 24px; }

/* ── carousel nav buttons: hide by default (no white-square artifact over cards), reveal on hover ── */
.carousel__btn { opacity: 0; pointer-events: none; transition: opacity var(--dur-base) var(--ease-out), background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast); }
.carousel:hover .carousel__btn, .carousel:focus-within .carousel__btn { opacity: 1; pointer-events: auto; }
@media (max-width: 560px) { .carousel__btn { opacity: 1 !important; pointer-events: auto !important; } }

/* ── remove risk-note box; un-justify the facts list (it broke word spacing) ── */
.risk-note { background: none !important; border-radius: 0 !important; padding: 0 0 0 var(--space-4) !important; }
.facts li { text-align: left; }

/* project preview thumbnails on dept pages — landscape, not portrait */
.proj-thumb { aspect-ratio: 16 / 10; border-radius: var(--radius-lg); overflow: hidden; }
.proj-thumb img:not(.proj-watermark) { width: 100%; height: 100%; object-fit: cover; display: block; }

/* missing-photo placeholder — clean on-brand tile, no stark white box */
.media-placeholder { position: relative; color: transparent !important; background: #eceef2; }
.media-placeholder::before { content: ""; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='%23aab1bd'%20d='M12%2012c2.8%200%205-2.2%205-5s-2.2-5-5-5-5%202.2-5%205%202.2%205%205%205zm0%202.5c-3.6%200-8%201.8-8%205V22h16v-2.5c0-3.2-4.4-5-8-5z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 42%; opacity: .7; }
html[lang="en"] .media-placeholder::before { content: ""; }

/* person cards on light sections: no white box (photo + name only) — accent/dark sections keep their white card via higher specificity */
.person.card { background: transparent; border: 0; box-shadow: none; padding: 0; }
.person.card:hover { box-shadow: none; }

/* football page only: partner cards blend into the green section (no white box, white text) */
.dept-football .section--accent .person.card { background: transparent; border: 0; box-shadow: none; padding: 0; }
.dept-football .section--accent .person.card .person__name { color: var(--color-white); }
.dept-football .section--accent .person.card .person__role { color: rgba(255,255,255,0.82); }

/* finance "Over" — balanced intro + spec cards (replaces empty split column + ugly fact wrapping) */
.over-head { max-width: 760px; }
.over-lead { font-size: var(--text-xl); line-height: 1.6; color: var(--color-body); margin-top: var(--space-4); }
.spec-grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.spec { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-5); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); border-top: 3px solid var(--dept-finance, var(--color-accent)); }
.spec__k { font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; font-weight: var(--w-bold); color: var(--color-primary); }
.spec__v { font-size: var(--text-base); color: var(--color-body); line-height: var(--leading-normal); }

/* orient "Over" — single column + fact cards (replaces naked wrapping bullets) */
.dept-orient .container.split { display: block; }
.dept-orient .container.split > .reveal { max-width: none; }
.dept-orient .split__body { text-align: left; margin-top: var(--space-6); }
.dept-orient .split__body > p:first-child { font-size: var(--text-xl); line-height: 1.6; color: var(--color-body); max-width: none; }
.dept-orient .facts { grid-template-columns: repeat(5, 1fr); gap: var(--space-3); margin-top: var(--space-8); }
@media (max-width: 1180px) and (min-width: 1025px) { .dept-orient .facts { grid-template-columns: repeat(5, 1fr); } }
.dept-orient .facts li { padding: var(--space-5); padding-left: calc(var(--space-5) + 34px); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); font-size: var(--text-base); color: var(--color-body); line-height: var(--leading-normal); }
.dept-orient .facts li::before { left: var(--space-5); top: var(--space-5); width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-accent) 14%, transparent); border-radius: 50%; font-size: 12px; }
.dept-orient .risk-note { max-width: 760px; margin-top: var(--space-8); }

/* football: dark-section watermark = football emblem (white) instead of the generic red cube */
.dept-football .section--dark::after { background-image: url("../assets/logos/emblem-football-white.png"); background-size: contain; opacity: 0.08; }

/* dark-section watermark = each part's own Monitor Capital emblem */
.dept-familyoffice .section--dark::after { background-image: url("../assets/logos/emblem-family-office.png"); }
.dept-finance .section--dark::after { background-image: url("../assets/logos/emblem-finance.png"); }
.dept-realestate .section--dark::after { background-image: url("../assets/logos/emblem-real-estate.png"); opacity: 0.11; }
.dept-mooi .section--dark::after { background-image: url("../assets/logos/emblem-mooi.png"); }
.dept-orient .section--dark::after { background-image: url("../assets/logos/orient-boxed.png"); }

/* real-estate "Over" — single column + fact cards (mirror of orient) */
.dept-realestate .container.split { display: block; }
.dept-realestate .container.split > .reveal { max-width: 760px; }
.dept-realestate .split__body { text-align: left; margin-top: var(--space-6); }
.dept-realestate .split__body > p:first-child { font-size: var(--text-xl); line-height: 1.6; color: var(--color-body); max-width: 760px; }
.dept-realestate .facts { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-3); margin-top: var(--space-8); }
.dept-realestate .facts li { padding: var(--space-5); padding-left: calc(var(--space-5) + 34px); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); font-size: var(--text-base); color: var(--color-body); line-height: var(--leading-normal); }
.dept-realestate .facts li::before { left: var(--space-5); top: var(--space-5); width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-accent) 14%, transparent); border-radius: 50%; font-size: 12px; }
.dept-realestate .risk-note { max-width: 760px; margin-top: var(--space-8); }

/* mobile menu language toggle + larger footer-legal tap targets (mobile QA fixes) */
.mobile-nav .mobile-lang a { font-size: var(--text-base); font-weight: var(--w-semibold); padding: var(--space-2) var(--space-5); border: 1px solid rgba(255,255,255,0.30); border-radius: var(--radius-full); color: rgba(255,255,255,0.78); }
.mobile-nav .mobile-lang a.is-active { background: var(--color-white); color: var(--color-primary); border-color: var(--color-white); }
.footer-legal a { display: inline-block; padding-block: var(--space-2); }

/* football: breadcrumb carried over the hero field image (light text, no white bar) */
.hero .breadcrumb--onhero { color: rgba(255,255,255,0.75); padding-block: 0; margin-bottom: var(--space-4); }
.hero .breadcrumb--onhero a { color: rgba(255,255,255,0.75); }
.hero .breadcrumb--onhero a:hover { color: var(--color-white); }

/* ── navbar-themed bits (breadcrumb bar, dropdown, active dept nav-link) ───── */
/* breadcrumb bar = navbar colour, full-bleed, light text (football keeps its on-hero one) */
.container.breadcrumb { background: var(--color-primary); color: rgba(255,255,255,0.72); position: relative; box-shadow: 0 0 0 100vw var(--color-primary); clip-path: inset(0 -100vw); }
.container.breadcrumb a { color: rgba(255,255,255,0.72); }
.container.breadcrumb a:hover { color: var(--color-white); }
/* Investment Office dropdown: black with white letters, like the top bar */
.dropdown { background: var(--color-primary); border-color: rgba(255,255,255,0.14); }
.dropdown a { color: var(--color-white); }
.dropdown a:hover { background: rgba(255,255,255,0.10); color: var(--color-white); }
/* active dept nav-link in the department colour */
.dept-football .nav-link[aria-current="page"] { color: var(--dept-football); }
.dept-football .nav-link[aria-current="page"]::after { background: var(--dept-football); }
.dept-familyoffice .nav-link[aria-current="page"] { color: var(--dept-familyoffice); }
.dept-familyoffice .nav-link[aria-current="page"]::after { background: var(--dept-familyoffice); }

/* orient cover: Marina Bay Sands photo background (dark overlay for legibility) */
.cover-bg { background-image: linear-gradient(rgba(17,17,17,0.76), rgba(17,17,17,0.76)), url("../assets/images/orient/marina-bay-sands.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg::after { display: none; }
.cover-bg .section-label { text-shadow: 0 1px 10px rgba(0,0,0,0.65); }
.cover-bg .section-headline { color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,0.7); }
.cover-bg .lead { color: rgba(255,255,255,0.94) !important; text-shadow: 0 1px 12px rgba(0,0,0,0.7); }
.cover-bg .split__body p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.7); }
.cover-bg .risk-note { color: #fff !important; }

/* orient team section on the navy accent band: white heading, transparent cards, white text */
.dept-orient .section--accent .section-headline { color: var(--color-white); }
.dept-orient .section--accent .section-label { color: var(--orient-gold, #c8a24a); }
.dept-orient .section--accent .person.card { background: transparent; border: 0; box-shadow: none; padding: 0; }
.dept-orient .section--accent .person.card .person__name { color: var(--color-white); }
.dept-orient .section--accent .person.card .person__role { color: rgba(255,255,255,0.82); }

/* project gallery as a one-at-a-time slideshow with side arrows */
.gallery-carousel { position: relative; margin-top: var(--space-8); }
.gallery-carousel .carousel__slide { flex: 0 0 100%; }
.gallery-carousel .carousel__slide img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-lg); display: block; }
.gallery-carousel .carousel__btn { opacity: 1 !important; pointer-events: auto !important; width: 52px; height: 52px; }
.gallery-carousel .carousel__btn--prev { left: var(--space-4); }
.gallery-carousel .carousel__btn--next { right: var(--space-4); }

/* dropdown item hover in its department colour */
.dropdown a[href*="finance.html"]:hover { color: var(--dept-finance) !important; }
.dropdown a[href*="real-estate.html"]:hover { color: var(--dept-realestate) !important; }
/* frosted-glass fact cards on the photo cover (replaces the harsh white boxes) */
.cover-bg .facts li { background: rgba(255,255,255,0.10) !important; border: 1px solid rgba(255,255,255,0.22) !important; color: #fff !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.cover-bg .facts li strong { color: #fff; }
.cover-bg .facts li::before { background: rgba(255,255,255,0.16); color: #fff; }

/* football: the field photo as one continuous fixed background flowing into the Waarom section */
.cover-bg-football { background-image: linear-gradient(rgba(17,17,17,0.72), rgba(17,17,17,0.72)), url("../assets/images/football/veld.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-football::after { display: none; }
.dept-football .hero::after { display: none; }
.dept-orient .hero__brand img { width: 440px; max-width: 100%; }

/* Real Estate hero cover — UP building, Amsterdam IJ waterfront */
.cover-bg-realestate { background-image: linear-gradient(rgba(17,17,17,0.58), rgba(17,17,17,0.74)), url("../assets/images/real-estate/up.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-realestate::after { display: none; }
.cover-bg-realestate .section-headline { text-shadow: 0 2px 18px rgba(0,0,0,0.78); }
.cover-bg-realestate .lead { text-shadow: 0 1px 14px rgba(0,0,0,0.78); }
.cover-bg-realestate .hero__brand img { filter: drop-shadow(0 2px 12px rgba(0,0,0,0.55)); }

/* Real Estate cover — readable text + frosted fact cards over the photo (Over section) */
.cover-bg-realestate .section-label { text-shadow: 0 1px 10px rgba(0,0,0,0.7); }
.cover-bg-realestate .section-headline { color: #fff !important; }
.cover-bg-realestate .split__body p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.78); }
.cover-bg-realestate .risk-note { color: rgba(255,255,255,0.9) !important; }
.cover-bg-realestate .facts li { background: rgba(255,255,255,0.10) !important; border: 1px solid rgba(255,255,255,0.24) !important; color: #fff !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.cover-bg-realestate .facts li strong { color: #fff; }
.cover-bg-realestate .facts li::before { background: rgba(255,255,255,0.18); color: #fff; }

/* ════════════════════════════════════════════════════════════════════════
   Batch 2026-06-24v — dept-themed CTA, football covers, RE grey sections
   ════════════════════════════════════════════════════════════════════════ */

/* Contact CTA bar adopts the department theme colour (each dept page) */
body[class*="dept-"] .cta-bar { background: var(--section-accent); color: var(--on-accent, var(--color-white)); }
body[class*="dept-"] .cta-bar h2 { color: var(--on-accent, var(--color-white)); }

/* CTA action row + LinkedIn button (football) */
.cta-actions { display: flex; gap: var(--space-3); justify-content: center; align-items: center; flex-wrap: wrap; }
.btn-linkedin { display: inline-flex; align-items: center; gap: var(--space-2); background: rgba(255,255,255,0.14); color: var(--color-white); border: 1px solid rgba(255,255,255,0.55); }
.btn-linkedin:hover { background: var(--color-white); color: var(--color-primary); }
.btn-linkedin svg { width: 18px; height: 18px; }

/* Football: How-we-work section uses the field cover image instead of green */
.dept-football .section--accent.work-cover { background-image: linear-gradient(rgba(17,17,17,0.74), rgba(17,17,17,0.74)), url("../assets/images/football/veld.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.dept-football .section--accent.work-cover::after { display: none; }

/* Football: Team section black with a field-image gradient fade at the top */
.dept-football .section--accent.team-onblack { background-image: linear-gradient(to bottom, rgba(11,11,11,0.40) 0%, rgba(11,11,11,0.72) 45%, #0b0b0b 86%), url("../assets/images/football/veld.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.dept-football .section--accent.team-onblack::after { display: none; }

/* Football: Why/Waarom dark-cover section — legibility */
.cover-bg-football .section-label { color: #fff !important; text-shadow: 0 1px 10px rgba(0,0,0,0.8); }
.cover-bg-football .section-headline { text-shadow: 0 2px 16px rgba(0,0,0,0.72); }
.cover-bg-football .split__body p, .cover-bg-football .lead { text-shadow: 0 1px 12px rgba(0,0,0,0.7); }
.dept-football .section--dark.cover-bg-football { background-image: linear-gradient(rgba(10,12,10,0.82), rgba(10,12,10,0.82)), url("../assets/images/football/veld.jpg") !important; }

/* Real Estate: Projecten + Team on concrete grey — readable cards/buttons */
.dept-realestate .section--accent .person.card { background: transparent; border: 0; box-shadow: none; padding: 0; }
.dept-realestate .section--accent .person.card .person__name { color: var(--color-primary); }
.dept-realestate .section--accent .person.card .person__role { color: rgba(17,17,17,0.72); }
.dept-realestate .section--accent .btn-ghost { color: var(--color-primary); border-color: var(--color-primary); }
.dept-realestate .section--accent .btn-ghost:hover { background: var(--color-primary); color: var(--color-white); }

/* Football accent = green (replace the red signal colour on this department) */
body.dept-football { --color-accent: var(--dept-football); --color-accent-hover: #18572f; --color-accent-soft: rgba(30,107,60,0.12); --color-accent-text: #1a5e35; }
.dept-football .cta-bar .btn-primary { background: var(--color-white); color: var(--dept-football); }
.dept-football .cta-bar .btn-primary:hover { background: rgba(255,255,255,0.9); color: var(--dept-football); }

/* dropdown hover: Orient -> gold, MOOI -> blue (visible on the black menu) */
.dropdown a[href*="orient.html"]:hover { color: var(--orient-gold) !important; }
.dropdown a[href*="mooi.html"]:hover { color: #3d74b8 !important; }

/* ════════════════════════════════════════════════════════════════════════
   Department accent = theme colour (accent lines, 'Over' labels, dots, buttons)
   ════════════════════════════════════════════════════════════════════════ */
body.dept-familyoffice { --color-accent: var(--dept-familyoffice); --color-accent-hover: #7fa8ee; --color-accent-soft: rgba(156,192,252,0.16); --color-accent-text: #3f6fb5; }
body.dept-finance      { --color-accent: var(--dept-finance);      --color-accent-hover: #a87f00; --color-accent-soft: rgba(199,153,0,0.14);  --color-accent-text: #9a7500; }
body.dept-realestate   { --color-accent: var(--dept-realestate);   --color-accent-hover: #767569; --color-accent-soft: rgba(142,141,131,0.18); --color-accent-text: #6e6d63; }
body.dept-mooi         { --color-accent: var(--dept-mooi);         --color-accent-hover: #0a3052; --color-accent-soft: rgba(12,58,99,0.16); --color-accent-text: #0C3A63; }
body.dept-orient       { --color-accent: var(--orient-gold);       --color-accent-hover: #ae8730; --color-accent-soft: rgba(196,154,58,0.14); --color-accent-text: #8e6e26; }

/* primary buttons: dark label on the lighter dept colours so they stay readable */
.dept-familyoffice .btn-primary, .dept-finance .btn-primary, .dept-realestate .btn-primary, .dept-orient .btn-primary { color: #14161b; }

/* contact CTA bar: white button with the dept's legible label colour, every dept */
body[class*="dept-"] .cta-bar .btn-primary { background: var(--color-white); color: var(--color-accent-text); }
body[class*="dept-"] .cta-bar .btn-primary:hover { background: rgba(255,255,255,0.9); }

/* keep 'Over' labels readable (white) on the photo-cover sections */
.cover-bg .section-label, .cover-bg-realestate .section-label, .cover-bg-football .section-label { color: #fff !important; }

/* Football section labels -> green accent (legible on dark cover + black team) */
.dept-football .cover-bg-football .section-label,
.dept-football .section--accent .section-label { color: #3da968 !important; text-shadow: 0 1px 8px rgba(0,0,0,0.55); }

/* inline pullquote — sits neatly within the Over section (not a standalone block) */
.pullquote--inline { margin-block: var(--space-10) var(--space-8); font-size: var(--text-2xl); max-width: 48ch; }

/* frosted cards get the finance-style accent stripe (keep transparency) */
.cover-bg .facts li, .cover-bg-realestate .facts li { border-top: 3px solid var(--color-accent) !important; border-radius: var(--radius-lg); }

/* frosted cards: less transparent + symmetrical (uniform height, vertically centred) */
.cover-bg .facts li, .cover-bg-realestate .facts li { background: rgba(255,255,255,0.26) !important; min-height: 120px; display: flex; align-items: center; }
.cover-bg .facts li::before, .cover-bg-realestate .facts li::before { top: 50%; transform: translateY(-50%); }

/* facts shown as cards (white card + theme-accent top stripe), e.g. asset classes */
.facts--cards { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--space-4); }
.facts--cards li { background: var(--color-white); border: 1px solid var(--color-border); border-top: 3px solid var(--color-accent); border-radius: var(--radius-lg); padding: var(--space-5); padding-left: calc(var(--space-5) + 32px); color: var(--color-primary); font-weight: var(--w-semibold); min-height: 0; }
.facts--cards li::before { left: var(--space-5); top: var(--space-5); transform: none; }

/* ════════════════════════════════════════════════════════════════════════
   Pre-deploy QA fixes (2026-06-24)
   ════════════════════════════════════════════════════════════════════════ */
/* a11y: darken dept label/link text so it passes WCAG AA on white */
body.dept-familyoffice { --color-accent-text: #36619e; }
body.dept-finance      { --color-accent-text: #8a6900; }
body.dept-realestate   { --color-accent-text: #5f5e54; }

/* mobile/tablet: fixed backgrounds are janky on iOS Safari — pin to scroll */
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
  .cover-bg, .cover-bg-football, .cover-bg-realestate,
  .dept-football .section--accent.work-cover,
  .dept-football .section--accent.team-onblack { background-attachment: scroll; }
}
/* mobile: single-column facts on the cover sections + tame frosted card height + tap targets */
@media (max-width: 560px) {
  .dept-orient .facts, .dept-realestate .facts { grid-template-columns: 1fr; }
  .cover-bg .facts li, .cover-bg-realestate .facts li { min-height: 0; }
  .footer-linkedin { min-height: 44px; }
  .footer-legal a, .location-card__maps { padding-block: var(--space-3); }
}

/* Real Estate: 'Actief betrokken' feature text stays white on the UP cover photo */
.cover-bg-realestate .feature h3, .cover-bg-realestate .feature p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.78); }

/* team member bios: justified body text (scoped to the bio layout = split with a person photo) */
.split:has(.person__photo) .split__body > p:not([class]) { text-align: justify; hyphens: auto; }

/* Finance hero cover — Sint Servaasbrug, Maastricht (golden hour) */
.cover-bg-finance { background-image: linear-gradient(rgba(17,17,17,0.56), rgba(17,17,17,0.74)), url("../assets/images/finance/sint-servaas.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-finance::after { display: none !important; }
.cover-bg-finance .section-headline { text-shadow: 0 2px 18px rgba(0,0,0,0.8); }
.cover-bg-finance .lead { text-shadow: 0 1px 14px rgba(0,0,0,0.8); }
.cover-bg-finance .hero__brand img { filter: drop-shadow(0 2px 12px rgba(0,0,0,0.55)); }
@media (max-width: 1024px), (hover: none) and (pointer: coarse) { .cover-bg-finance { background-attachment: scroll; } }

/* Finance: cover photo continues over the Over section — keep loose text readable */
.cover-bg-finance .section-label { color: var(--dept-finance) !important; text-shadow: 0 1px 10px rgba(0,0,0,0.85); }
.cover-bg-finance .section-headline { color: #fff !important; }
.cover-bg-finance .over-lead, .cover-bg-finance .pullquote { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.8); }
.cover-bg-finance .risk-note { color: rgba(255,255,255,0.92) !important; text-shadow: 0 1px 10px rgba(0,0,0,0.7); }

/* Finance: feature text white on the cover photo (Waarom section) */
.cover-bg-finance .feature h3, .cover-bg-finance .feature p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.78); }

/* Real Estate: project cards blend into the grey Projecten section (no white card) */
.dept-realestate .section--accent article.card { background: transparent; border-color: transparent; box-shadow: none; }
.dept-realestate .section--accent article.card:hover { box-shadow: none; }

/* Family Office: asset-class cards as a full-width block below the intro (3x2 grid) */
.asset-classes { margin-top: var(--space-10); }
.asset-classes > p { max-width: 760px; }
.asset-classes .facts--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-6); }
@media (max-width: 760px) { .asset-classes .facts--cards { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 460px) { .asset-classes .facts--cards { grid-template-columns: 1fr; } }

/* Projecten hero cover — Sint Servaasbrug, Maastricht (B&W, logo removed) */
.cover-bg-projecten { background-image: linear-gradient(rgba(255,255,255,0.82), rgba(255,255,255,0.46)), url("../assets/images/projecten/cover.jpg?v=20260625k") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-projecten::after { display: none !important; }
.cover-bg-projecten.section--dark { background-image: linear-gradient(rgba(12,15,20,0.84), rgba(12,15,20,0.72)), url("../assets/images/projecten/cover.jpg?v=20260625k") !important; }
.cover-bg-projecten.section--dark .section-label { color: var(--color-accent) !important; text-shadow: 0 1px 6px rgba(0,0,0,0.5) !important; }
.cover-bg-projecten.section--dark .section-headline { color: var(--color-accent) !important; text-shadow: 0 2px 14px rgba(0,0,0,0.5) !important; }
.cover-bg-projecten.section--dark .lead { color: #ffffff !important; text-shadow: 0 1px 3px rgba(0,0,0,0.85), 0 2px 14px rgba(0,0,0,0.6) !important; }
.cover-bg-projecten.section--dark .accent-line { background-color: rgba(255,255,255,0.32) !important; }
.cover-bg-projecten .hero-text-panel { display: block; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; margin-inline: 0; padding: 0; border-radius: 0; }
.cover-bg-projecten.section--dark { overflow-x: clip; }
.cover-bg-projecten .section-label { color: var(--color-accent) !important; text-shadow: 0 1px 2px rgba(255,255,255,0.9) !important; }
.cover-bg-projecten .section-headline { color: var(--color-accent) !important; text-shadow: 0 2px 10px rgba(255,255,255,0.7), 0 1px 2px rgba(255,255,255,0.95) !important; }
.cover-bg-projecten .lead { color: #161616 !important; text-shadow: 0 1px 3px rgba(255,255,255,0.95), 0 0 12px rgba(255,255,255,0.7) !important; font-weight: 500 !important; }
.cover-bg-projecten .accent-line { background-color: rgba(17,17,17,0.22) !important; }
@media (max-width: 1024px), (hover: none) and (pointer: coarse) { .cover-bg-projecten { background-attachment: scroll; } }

/* Orient team — centre the cards symmetrically (only two members) */
.dept-orient .section--accent .grid-3 { grid-template-columns: repeat(auto-fit, minmax(220px, 300px)); justify-content: center; }

/* Homepage history/intro: justified body text */
.section[aria-labelledby="historie-h"] .split__body { text-align: justify; hyphens: auto; }

/* Homepage 'Historie' section — uses the cover (team) photo as background */
.cover-bg-home { background-image: linear-gradient(rgba(17,17,17,0.58), rgba(17,17,17,0.72)), url("../assets/images/hero/groepsfoto.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-home::after { display: none; }
.cover-bg-home .section-label { text-shadow: 0 1px 10px rgba(0,0,0,0.85); }
.cover-bg-home .section-headline { color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,0.8); }
.cover-bg-home .split__body, .cover-bg-home .split__body p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.8); }
@media (max-width: 1024px), (hover: none) and (pointer: coarse) { .cover-bg-home { background-attachment: scroll; } }

/* Family Office: asset-class cards directly under the heading (left column, 2-col) */
.fo-asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--space-8); }
@media (max-width: 480px) { .fo-asset-grid { grid-template-columns: 1fr; } }

/* Family Office: justified 'Over' body text */
.dept-familyoffice .split__body { text-align: justify; hyphens: auto; }

/* Historie block: darker overlay (less transparent) than the hero */
.section.cover-bg-home { background-image: linear-gradient(rgba(17,17,17,0.82), rgba(17,17,17,0.88)), url("../assets/images/hero/groepsfoto.jpg") !important; }

/* Legal / juridisch page */
.legal-doc { max-width: none; margin-inline: auto; }
.legal-doc p:not(.legal-doc__meta) { text-align: justify; -webkit-hyphens: none; hyphens: none; }
.legal-doc p, .legal-doc li { max-width: none; }
.legal-doc h2 { font-size: var(--text-2xl); font-weight: var(--w-bold); margin-top: var(--space-10); margin-bottom: var(--space-3); }
.legal-doc p { color: var(--color-body); margin-bottom: var(--space-4); line-height: var(--leading-relaxed); }
.legal-doc__meta { color: var(--color-muted); font-size: var(--text-sm); }

/* Orient platform buttons equal width (symmetrical) */
.dept-orient .cta-actions .btn { min-width: 260px; }

/* legal page table */
.legal-doc__table { width: 100%; border-collapse: collapse; margin: var(--space-6) 0; font-size: var(--text-sm); }
.legal-doc__table th, .legal-doc__table td { text-align: left; padding: var(--space-3); border-bottom: 1px solid var(--color-border); vertical-align: top; }
.legal-doc__table th { font-weight: var(--w-semibold); color: var(--color-primary); }
.legal-doc__table td { color: var(--color-body); }
@media (max-width: 640px) { .legal-doc__table, .legal-doc__table thead, .legal-doc__table tbody, .legal-doc__table tr, .legal-doc__table th, .legal-doc__table td { display: block; } .legal-doc__table th { display: none; } .legal-doc__table td { border: 0; padding: var(--space-1) 0; } .legal-doc__table tr { border-bottom: 1px solid var(--color-border); padding: var(--space-3) 0; } }

/* entity cards: firm logo instead of a title */
.card__logo { height: 48px; width: auto; max-width: 85%; display: block; margin: 0 auto var(--space-4); }

/* Investment Office cover — Maastricht waterfront (hero + Onderdelen section) */
.cover-bg-io { background-image: linear-gradient(rgba(17,17,17,0.60), rgba(17,17,17,0.76)), url("../assets/images/investment-office/cover.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-io::after { display: none !important; }
.cover-bg-io .card.pillar { background: rgba(255,255,255,0.90) !important; -webkit-backdrop-filter: blur(16px) saturate(1.15); backdrop-filter: blur(16px) saturate(1.15); border: 1px solid rgba(255,255,255,0.5); box-shadow: 0 18px 50px rgba(0,0,0,0.28); }
.cover-bg-io .section-label { text-shadow: 0 1px 10px rgba(0,0,0,0.85); }
.cover-bg-io .section-headline { color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,0.8); }
.cover-bg-io .lead, .cover-bg-io .over-lead, .cover-bg-io .pullquote { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.8); }
.cover-bg-io .risk-note { color: rgba(255,255,255,0.9) !important; text-shadow: 0 1px 10px rgba(0,0,0,0.7); }
.cover-bg-io .hero__brand img { filter: drop-shadow(0 2px 12px rgba(0,0,0,0.55)); }
@media (max-width: 1024px), (hover: none) and (pointer: coarse) { .cover-bg-io { background-attachment: scroll; } }

/* Family Office cover — big-wave surfer (hero + "Wat het Family Office doet" section) */
.cover-bg-familyoffice { background-image: linear-gradient(rgba(17,17,17,0.62), rgba(17,17,17,0.82)), url("../assets/images/family-office/cover.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-familyoffice::after { display: none !important; }
.cover-bg-familyoffice .section-label { color: var(--dept-familyoffice) !important; text-shadow: 0 1px 10px rgba(0,0,0,0.85); }
.cover-bg-familyoffice .section-headline { color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,0.8); }
.cover-bg-familyoffice .lead, .cover-bg-familyoffice .over-lead, .cover-bg-familyoffice .split__body, .cover-bg-familyoffice .split__body p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.8); }
.cover-bg-familyoffice .hero__brand img { filter: drop-shadow(0 2px 12px rgba(0,0,0,0.55)); }
@media (max-width: 1024px), (hover: none) and (pointer: coarse) { .cover-bg-familyoffice { background-attachment: scroll; } }

/* FO cover flows into "Onze werkwijze" — white step text + slightly larger Over body */
.cover-bg-familyoffice .step__title { color: #fff !important; text-shadow: 0 1px 10px rgba(0,0,0,0.8); }
.cover-bg-familyoffice .step__text { color: rgba(255,255,255,0.92) !important; text-shadow: 0 1px 10px rgba(0,0,0,0.7); }
.cover-bg-familyoffice .step__check { color: #fff !important; border-color: rgba(255,255,255,0.75) !important; opacity: 1; }
.cover-bg-familyoffice .split__body p { font-size: 1.0625rem; line-height: 1.75; }

/* ---- translucent theme-colour cards on cover sections (requested) ---- */
/* Family Office — light blue */
.cover-bg-familyoffice .facts--cards li { background: rgba(156,192,252,0.22) !important; border: 1px solid rgba(156,192,252,0.45) !important; border-top: 3px solid var(--dept-familyoffice) !important; color: #fff !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cover-bg-familyoffice .facts--cards li::before { color: #fff !important; }
/* Finance — gold */
.cover-bg-finance .spec { background: rgba(199,153,0,0.20) !important; border: 1px solid rgba(199,153,0,0.50) !important; border-top: 3px solid var(--dept-finance) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cover-bg-finance .spec__k { color: #fff !important; }
.cover-bg-finance .spec__v { color: rgba(255,255,255,0.92) !important; }
/* Real Estate — concrete grey */
.cover-bg-realestate .facts li { background: rgba(142,141,131,0.62) !important; border-color: rgba(255,255,255,0.34) !important; }
.cover-bg-realestate .facts li::before { display: none !important; }
.cover-bg-realestate .facts li { padding-left: var(--space-5) !important; }
/* Real Estate "Over": full-width + justified, like the hero text at the top */
.cover-bg-realestate .split { display: block; }
.cover-bg-realestate .split__body { max-width: none; margin-top: var(--space-6); }
.cover-bg-realestate .split__body > p { max-width: none !important; text-align: justify; }
.cover-bg-realestate .facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--space-4); }

/* === requested tweaks (25 Jun, batch 2) === */
/* FO asset cards: remove checkmarks */
.cover-bg-familyoffice .facts--cards li::before { display: none !important; }
.cover-bg-familyoffice .facts--cards li { padding-left: var(--space-5) !important; }
/* slightly larger body + step text on FO & Football cover sections */
.cover-bg-football .split__body p, .cover-bg-familyoffice .split__body p { font-size: 1.125rem; line-height: 1.75; }
.cover-bg-football .step__text, .cover-bg-familyoffice .step__text { font-size: 1.15rem; line-height: 1.7; }
/* Football hero: start near the top (remove the big empty gap) */
.hero.cover-bg-football { min-height: auto; justify-content: flex-start; padding-block: var(--space-16); }
/* supervision / risk notes: full width, applied consistently site-wide */
.dept-orient .risk-note, .dept-realestate .risk-note { max-width: none !important; }
.legal-note .container { max-width: var(--container-max) !important; }
.legal-note p { max-width: none !important; }

/* MOOI "Over": stacked full-width, justified, 3-col cards (better structure) */
.dept-mooi .container.split { display: block; }
.dept-mooi .container.split > .reveal:first-child { max-width: 820px; }
.dept-mooi .split__body { max-width: none; margin-top: var(--space-8); }
.dept-mooi .split__body > p { text-align: justify; max-width: none; }
.dept-mooi .split__body .facts--cards { grid-template-columns: repeat(3, minmax(0,1fr)); max-width: none; margin-block: var(--space-8); }
@media (max-width: 760px){ .dept-mooi .split__body .facts--cards { grid-template-columns: 1fr 1fr; } }
/* theme-colour wash on selected sections (instead of white) */
.section--tint { background: color-mix(in srgb, var(--color-accent) 12%, #ffffff) !important; }


/* === requested tweaks (25 Jun, batch 3) === */

/* Finance "Over" disclaimer -> ONE full-width line (was wrapping to 3) */
body[class*="dept-"] .risk-note { max-width: none !important; }
@media (min-width: 768px) {
  .cover-bg-finance .risk-note { white-space: nowrap; font-size: clamp(8px, 0.82vw, 10px); }
}

/* RE "Over": heading + body full-width & flush-left (wider, aligned to the heading) */
.cover-bg-realestate:not(.section--accent) .container.split > .reveal { max-width: none !important; }
.cover-bg-realestate:not(.section--accent) .split__body,
.cover-bg-realestate:not(.section--accent) .split__body > p { max-width: none !important; }

/* OVER label always in the department theme colour (site-wide consistency) */
.cover-bg-realestate .section-label { color: #C9C7BD !important; } /* lichte beton-tint: leesbaar op donkere foto (2 jul); accent-text was te donker hier */
.dept-orient .cover-bg:not(.section--accent) .section-label { color: var(--orient-gold, #c49a3a) !important; }


/* === requested tweaks (25 Jun, batch 4) === */

/* Dropdown items: match the nav-link font (uppercase / spaced / semibold) */
.dropdown { min-width: 320px; }
.dropdown a { text-transform: uppercase; font-weight: var(--w-semibold); letter-spacing: var(--tracking-wider); white-space: nowrap; }

/* Active nav link: only the Team page turns the text red (everything else keeps its prior behaviour) */
.nav-link[aria-current="page"][href*="team.html"] { color: var(--color-accent) !important; }
/* IO dropdown toggle takes the department theme colour on its page (dark-nav-safe) */
.dept-finance    .nav-link[aria-current="page"][href*="investment-office.html"] { color: var(--dept-finance) !important; }
.dept-realestate .nav-link[aria-current="page"][href*="investment-office.html"] { color: var(--color-accent-text) !important; }
.dept-mooi       .nav-link[aria-current="page"][href*="investment-office.html"] { color: var(--mooi-blue-soft, #6CA0D8) !important; }
.dept-orient     .nav-link[aria-current="page"][href*="investment-office.html"] { color: var(--orient-gold, #C49A3A) !important; }

/* Justify: football intro + all project descriptions */
.cover-bg-football .split__body p { text-align: justify; hyphens: auto; }
.split:has(.project-main) .split__body p { text-align: justify; hyphens: auto; }

/* MOOI Vastgoed hero cover photo (La Fortezza) */
.cover-bg-mooi { background-image: linear-gradient(rgba(12,32,58,0.60), rgba(8,22,42,0.78)), url("../assets/images/mooi/cover.jpg") !important; background-size: cover; background-position: center; background-attachment: fixed; }
.cover-bg-mooi::after { display: none !important; }
.cover-bg-mooi .section-headline, .cover-bg-mooi .lead { color: #fff !important; }
.cover-bg-mooi .section-label { color: var(--mooi-blue-soft, #6CA0D8) !important; }
.cover-bg-mooi .hero__brand img { filter: drop-shadow(0 2px 12px rgba(0,0,0,0.5)); }
@media (max-width: 1024px), (hover: none) and (pointer: coarse) { .cover-bg-mooi { background-attachment: scroll; } }


/* MOOI cover photo extended over the Over + accent blocks */
.cover-bg-mooi .split__body, .cover-bg-mooi .split__body p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.55); }
.cover-bg-mooi .split__body a { color: var(--mooi-blue-soft, #6CA0D8) !important; }
.cover-bg-mooi .risk-note { color: rgba(255,255,255,0.92) !important; }
.cover-bg-mooi .feature h3, .cover-bg-mooi .feature p { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,0.55); }
.cover-bg-mooi .facts--cards li { background: rgba(16,44,76,0.50) !important; border-top: 3px solid var(--dept-mooi) !important; color: #fff !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cover-bg-mooi .facts--cards li strong { color: #fff !important; }
.cover-bg-mooi .facts--cards li::before { color: #fff !important; background: rgba(255,255,255,0.20) !important; }


/* Remove checkmarks on MOOI + Orient cover cards */
.cover-bg-mooi .facts--cards li::before { display: none !important; }
.cover-bg-mooi .facts--cards li { padding-left: var(--space-5) !important; }
.dept-orient .cover-bg .facts li::before { display: none !important; }
.dept-orient .cover-bg .facts li { padding-left: var(--space-5) !important; }
/* MOOI contact links readable on the cover photo */
.cover-bg-mooi .lead a, .cover-bg-mooi .container > p a:not(.btn) { color: #fff !important; }


/* Projecten: tighten the gap between the hero text and the first cards */
.cover-bg-projecten.section--dark { padding-bottom: var(--space-6) !important; }
.section.cover-bg-projecten:not(.section--dark) { padding-top: var(--space-4) !important; }

/* Finance 'Over' lead a bit larger */
.cover-bg-finance .over-lead { font-size: 1.5rem !important; line-height: 1.5 !important; }


/* Mobile: degrade remaining fixed backgrounds to scroll (iOS/touch friendliness) */
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
  .cover-bg, .cover-bg-realestate, .cover-bg-football { background-attachment: scroll !important; }
}

/* Centre the CTA buttons inside a centered CTA block (e.g. Orient platform CTA) */
.tex
/* FO-hero: lead even breed als de accentlijn (verzoek 2 jul) */
.dept-familyoffice .section--dark .lead { max-width: none; }
/* FO "Over"-tekst: volledige containerbreedte, tot aan de rechterrand (contact-knop) */
.dept-familyoffice .split__body p { max-width: none; }

/* === Family Office werkwijze-diagram: client centraal (2 jul) === */
.fo-diagram { max-width: 540px; margin: 0 auto var(--space-10); }
.fo-diagram svg { display: block; width: 100%; height: auto; }
.fo-diagram text { font-family: inherit; }
/* diagram + asset classes: beide kolommen even groot, ruimte gevuld (2 jul) */
.fo-split { align-items: stretch; }
.fo-split .fo-diagram { max-width: none; margin: 0; }
.fo-split .fo-diagram svg { transform: scale(1.1); transform-origin: center; }
.fo-split > .reveal { display: flex; flex-direction: column; }
.fo-split .fo-asset-grid { flex: 1; grid-auto-rows: 1fr; margin-top: var(--space-4); }
.fo-split .facts--cards li { display: flex; align-items: center; }
.fo-split .facts--cards li::before { top: 50%; transform: translateY(-50%); }
