:root {
  --bg: #000000;
  --bg-soft: #0b0b0d;
  --surface: #0b0b0d;
  --surface-raised: #14141a;
  --text: #f7f3fa;
  --muted: #c4b9cb;
  --subtle: #91859b;
  --violet: #8a2bff;
  --violet-light: #c04cff;
  --line: rgba(255,255,255,.11);
  --line-soft: rgba(255,255,255,.065);
  --max: 1180px;
  --content: 720px;
  --header: 78px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 80% 0, rgba(138,43,255,.09), transparent 29rem),
    var(--bg);
  font-family: Montserrat, "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
.shell { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.measure { max-width: var(--content); }
.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 100;
  padding: 12px 18px; color: #fff; background: var(--violet);
}
.skip-link:focus { top: 16px; }

h1, h2, h3 {
  margin: 0;
  font-family: Poppins, Montserrat, "Avenir Next", "Segoe UI", Arial, sans-serif;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.035em;
}
h1 { font-size: clamp(2.8rem, 6vw, 5.5rem); max-width: 850px; }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); }
h3 { font-size: 1.25rem; letter-spacing: -.015em; }
p { margin: 0; color: var(--muted); }
p + p { margin-top: 1rem; }
.eyebrow {
  display: block; margin-bottom: 18px; color: var(--violet-light);
  font-size: .75rem; font-weight: 700; line-height: 1.3;
  letter-spacing: .18em; text-transform: uppercase;
}
.accent { color: var(--violet-light); text-shadow: 0 0 30px rgba(138,43,255,.35); }
.lead { max-width: 650px; font-size: clamp(1.05rem, 1.7vw, 1.22rem); line-height: 1.7; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid var(--line-soft);
  background: rgba(0,0,0,.92);
  backdrop-filter: blur(18px);
  isolation: isolate;
}
@media (min-width: 783px) { body.admin-bar .site-header { top: 32px; } }
@media (min-width: 601px) and (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
.nav { position: relative; min-height: var(--header); display: flex; align-items: center; gap: 26px; }
.brand { min-width: 0; display: inline-flex; align-items: center; margin-right: auto; }
.brand-logo { width: 66px; height: 58px; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 0 10px rgba(138,43,255,.22)); }
.brand-mark { width: 58px; height: 48px; flex: 0 0 auto; object-fit: contain; }
.brand-copy { display: grid; gap: 3px; line-height: 1; }
.brand-name { font-size: .78rem; font-weight: 600; letter-spacing: .21em; }
.brand-tag { color: var(--violet-light); font-size: .48rem; letter-spacing: .13em; text-transform: uppercase; }
.nav-links { display: flex; flex: 0 0 auto; align-items: center; gap: 21px; }
.nav-links a {
  position: relative; padding: 24px 0 22px; color: #d6ccdc;
  white-space: nowrap; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.nav-links a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 20px; height: 1px;
  background: var(--violet-light); transition: right .22s ease;
}
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #fff; }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { right: 0; }
.menu-button {
  display: none; width: 46px; height: 46px; flex: 0 0 46px; padding: 0; border: 1px solid var(--line);
  color: #fff; background: transparent; cursor: pointer;
}
.menu-button span, .menu-button::before, .menu-button::after {
  content: ""; display: block; width: 18px; height: 1px; margin: 5px auto; background: currentColor; transition: transform .2s ease, opacity .2s ease;
}
.menu-button[aria-expanded="true"] span { opacity: 0; }
.menu-button[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.menu-button[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }

.button {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center;
  padding: 0 24px; border: 1px solid rgba(192,76,255,.62); border-radius: 1px;
  color: #fff; background: rgba(138,43,255,.13);
  font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.button:hover { transform: translateY(-2px); border-color: var(--violet-light); background: rgba(138,43,255,.23); box-shadow: 0 14px 34px rgba(0,0,0,.28); }
.button.secondary { border-color: var(--line); background: rgba(255,255,255,.025); }
.button.secondary:hover { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.06); }
.button.text { min-height: 0; padding: 0 0 5px; border: 0; border-bottom: 1px solid var(--violet-light); background: none; }
.nav > .button { min-width: 154px; padding-inline: 18px; white-space: nowrap; font-size: .68rem; letter-spacing: .1em; line-height: 1; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.hero { position: relative; min-height: 650px; display: grid; align-items: center; overflow: hidden; }
.hero-home { min-height: 720px; }
.hero-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-home::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, #000 5%, rgba(0,0,0,.97) 34%, rgba(0,0,0,.54) 58%, rgba(0,0,0,.12) 82%),
              linear-gradient(0deg, #000 0, transparent 35%);
}
.hero-content { padding: 112px 0 100px; }
.hero-content .lead { margin-top: 24px; }
.subhero { min-height: 440px; border-bottom: 1px solid var(--line-soft); }
.contact-hero .hero-media { object-fit: cover; object-position: 72% 28%; opacity: .9; filter: brightness(1.12) contrast(1.03); }
.subhero.contact-hero::before { background: radial-gradient(circle at 82% 36%, rgba(138,43,255,.13), transparent 34%); }
.contact-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,5,8,.96) 0%, rgba(5,5,8,.75) 40%, rgba(5,5,8,.17) 72%, rgba(5,5,8,.03) 100%), linear-gradient(180deg, rgba(5,5,8,.02), rgba(0,0,0,.34)); }
.faq-hero { min-height: 620px; }
.faq-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,5,8,.98) 0%, rgba(5,5,8,.92) 35%, rgba(5,5,8,.48) 62%, rgba(5,5,8,.18) 100%), linear-gradient(180deg, rgba(10,0,20,.08), rgba(0,0,0,.55)); }
.faq-hero .hero-media { object-fit: contain; object-position: 86% center; opacity: .86; mix-blend-mode: screen; }
.subhero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(100deg, rgba(5,4,8,.98) 0 48%, rgba(5,4,8,.45) 75%),
    radial-gradient(circle at 78% 45%, rgba(138,43,255,.23), transparent 26%),
    repeating-linear-gradient(120deg, transparent 0 54px, rgba(255,255,255,.018) 55px 56px);
}

.section { padding: 104px 0; border-top: 1px solid var(--line-soft); }
.section:first-child { border-top: 0; }
.section-head { max-width: 730px; margin-bottom: 44px; }
.section-head p { margin-top: 18px; font-size: 1.05rem; }
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.card {
  min-height: 210px; padding: 30px; border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(19,14,27,.76), rgba(7,6,10,.92));
}
.card h3 { margin-bottom: 13px; }
.card-number { display: block; margin-bottom: 55px; color: rgba(189,114,255,.42); font-size: 1rem; letter-spacing: .12em; }
.choice-icon { width: 42px; height: 42px; margin: 0 0 24px; color: var(--violet-light); opacity: .7; }
.choice-icon svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 10px rgba(138,43,255,.2)); }
.value-grid .card { min-height: 300px; }
.lift { transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease; }
.lift:hover, .lift:focus-within { transform: translateY(-6px); border-color: rgba(192,76,255,.52); background: linear-gradient(145deg, rgba(29,18,41,.92), rgba(8,6,11,.96)); box-shadow: 0 22px 46px rgba(0,0,0,.38); }
.split { display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 68px; }
.checklist { display: grid; gap: 12px; margin: 26px 0 0; padding: 0; list-style: none; color: var(--muted); }
.checklist li { position: relative; padding-left: 25px; }
.checklist li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 1px; background: var(--violet-light); }
.statement {
  min-height: 430px; padding: 44px; display: flex; flex-direction: column; justify-content: flex-end;
  border: 1px solid var(--line); background:
    radial-gradient(circle at 76% 20%, rgba(138,43,255,.22), transparent 29%),
    linear-gradient(145deg,#150b1d,#08060b);
}
.statement small { color: var(--violet-light); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.statement strong { display: block; margin: 18px 0 28px; font-size: clamp(2.2rem,4vw,3.8rem); font-weight: 500; line-height: 1.08; letter-spacing: -.04em; }
.statement p { font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; }
.route-card { min-height: 385px; display: flex; flex-direction: column; justify-content: flex-start; }
.route-card .button { align-self: flex-start; margin-top: auto; }
.route-card p { margin: 16px 0 30px; }
.proof-strip { border-block: 1px solid var(--line-soft); background: rgba(138,43,255,.055); }
.proof-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.proof-item { padding: 25px 28px; border-left: 1px solid var(--line-soft); }
.proof-item:first-child { border-left: 0; }
.proof-item strong { display: block; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.proof-item span { color: var(--subtle); font-size: .82rem; }
.cta-band { padding: 58px 0; border-block: 1px solid var(--line-soft); background: linear-gradient(90deg, rgba(138,43,255,.06), rgba(138,43,255,.16), rgba(138,43,255,.06)); }
.cta-band .shell { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.cta-band h2 { font-size: clamp(1.8rem,3vw,3rem); }
.cta-band .actions { margin-top: 0; }

.brand-manifesto {
  padding: 82px 0 30px;
  border-block: 1px solid var(--line-soft);
  background:
    linear-gradient(90deg, rgba(138,43,255,.035), rgba(138,43,255,.1) 52%, rgba(138,43,255,.025)),
    #050407;
}
.manifesto-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(44px,8vw,110px); align-items: end; }
.manifesto-layout h2 { max-width: 620px; font-size: clamp(2.3rem,4.5vw,4.4rem); }
.manifesto-layout > p { max-width: 560px; padding-bottom: 8px; font-size: 1.04rem; }
.value-line {
  margin-top: 64px; padding: 22px 0 21px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr));
  border-top: 1px solid var(--line-soft);
}
.value-line span {
  padding: 0 14px; border-left: 1px solid var(--line-soft); color: #ded4e4;
  font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-align: center; text-transform: uppercase;
}
.value-line span:first-child { padding-left: 0; border-left: 0; }
.route-section { background: radial-gradient(circle at 12% 34%,rgba(138,43,255,.075),transparent 26%); }
.audience-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 18px; }
.audience-card {
  min-height: 430px; padding: clamp(30px,4vw,48px); display: flex; flex-direction: column; justify-content: space-between;
  border: 1px solid var(--line); background: linear-gradient(145deg,rgba(17,13,24,.86),rgba(6,5,9,.96));
  transition: transform .28s ease,border-color .28s ease,background .28s ease;
}
.audience-card:hover, .audience-card:focus-within { transform: translateY(-5px); border-color: rgba(192,76,255,.46); }
.audience-workers { background: radial-gradient(circle at 80% 18%,rgba(138,43,255,.2),transparent 33%),linear-gradient(145deg,rgba(17,13,24,.9),rgba(6,5,9,.98)); }
.audience-index { color: rgba(192,76,255,.46); font-size: clamp(2.8rem,6vw,5.2rem); font-weight: 500; line-height: 1; letter-spacing: -.07em; }
.audience-card .eyebrow { margin-bottom: 13px; }
.audience-card h3 { max-width: 520px; font-size: clamp(2rem,3.8vw,3.4rem); }
.audience-card p { max-width: 520px; margin: 18px 0 28px; }
.workers-section { background: #030204; }
.recruitment-section { background: radial-gradient(circle at 78% 44%,rgba(138,43,255,.12),transparent 28%); }
.recruitment-feature { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(42px,7vw,86px); align-items: stretch; }
.recruitment-copy { padding: 34px 0; }
.recruitment-copy .lead { margin: 22px 0 16px; }
.benefit-list { display: grid; margin-top: 30px; border-top: 1px solid var(--line-soft); }
.benefit-list > div { display: grid; grid-template-columns: 40px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid var(--line-soft); }
.benefit-list > div > span { color: var(--violet-light); font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.benefit-list strong { display: block; margin-bottom: 3px; color: #fff; font-size: .92rem; font-weight: 600; }
.benefit-list p { font-size: .86rem; line-height: 1.55; }
.visual-stage {
  position: relative; min-height: 520px; padding: clamp(34px,4vw,52px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden;
  border: 1px solid rgba(192,76,255,.34); background:
    linear-gradient(135deg,transparent 0 48%,rgba(191,194,204,.08) 49%,transparent 50%),
    radial-gradient(circle at 52% 30%,rgba(138,43,255,.34),transparent 22%),
    linear-gradient(145deg,#14091d,#050407 72%);
}
.visual-stage::before { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(191,194,204,.1); pointer-events: none; }
.visual-stage::after { display: none; }
.visual-stage img { position: absolute; top: 15%; left: 50%; width: min(190px,43%); max-height: 170px; object-fit: contain; transform: translateX(-50%); filter: drop-shadow(0 0 19px rgba(138,43,255,.52)); opacity: .82; }
.visual-stage > span, .visual-stage > strong, .visual-stage > p { position: relative; z-index: 1; }
.visual-stage > span { color: var(--violet-light); font-size: .68rem; font-weight: 700; letter-spacing: .18em; }
.visual-stage > strong { max-width: 480px; margin: 15px 0 18px; font-size: clamp(2rem,4vw,3.7rem); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
.visual-stage > p { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.programme-preview { background: #040305; }
.programme-preview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.premium-feature { min-height: 360px; padding: clamp(30px,4vw,48px); display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--line); background: linear-gradient(145deg,rgba(18,14,23,.86),rgba(5,4,7,.96)); }
.premium-feature-accent { border-color: rgba(192,76,255,.3); background: radial-gradient(circle at 85% 15%,rgba(138,43,255,.18),transparent 32%),linear-gradient(145deg,#120918,#050407); }
.premium-feature h2 { max-width: 520px; font-size: clamp(2rem,3vw,3.15rem); }
.premium-feature p { max-width: 570px; margin: 22px 0 32px; }
.premium-feature .text-link { margin-top: auto; }
.guest-proof-section, .guest-benefits { background: radial-gradient(circle at 15% 20%,rgba(138,43,255,.07),transparent 28%),#030204; }
.benefit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--line-soft); }
.benefit-grid article { min-height: 240px; padding: 30px; border-left: 1px solid var(--line-soft); background: rgba(255,255,255,.012); }
.benefit-grid article:first-child { border-left: 0; }
.benefit-grid article > span, .category-number, .programme-grid article > span { display: block; margin-bottom: 44px; color: rgba(192,76,255,.62); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.benefit-grid h3 { margin-bottom: 13px; }
.benefit-grid p { font-size: .9rem; }
.centered-actions { justify-content: center; }
.benefit-categories { border-top: 1px solid var(--line); }
.benefit-categories > article { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: clamp(24px,4vw,58px); padding: 36px 0; border-bottom: 1px solid var(--line); }
.benefit-categories .category-number { margin: 4px 0 0; }
.benefit-categories h3 { margin-bottom: 17px; font-size: clamp(1.45rem,2.5vw,2.15rem); }
.benefit-categories ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 28px; list-style: none; color: var(--muted); }
.benefit-categories li { position: relative; padding-left: 18px; }
.benefit-categories li::before { content: ""; position: absolute; left: 0; top: .75em; width: 7px; height: 1px; background: var(--violet-light); }
.welcome-section { background: radial-gradient(circle at 84% 32%,rgba(138,43,255,.09),transparent 28%),#030204; }
.feature-split { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(42px,7vw,84px); align-items: stretch; }
.feature-split > div { padding: 28px 0; }
.feature-split .lead { margin-top: 22px; }
.experience-steps { display: grid; margin-top: 34px; border-top: 1px solid var(--line-soft); }
.experience-steps > div { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
.experience-steps span { color: var(--violet-light); font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.experience-steps strong { display: block; color: #fff; font-size: .9rem; }
.experience-steps p { font-size: .85rem; }
.programme-section { background: radial-gradient(circle at 50% 0,rgba(138,43,255,.12),transparent 30%),#050307; }
.programme-hero { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(40px,7vw,86px); align-items: end; margin-bottom: 52px; }
.programme-hero > div p { margin-top: 22px; }
.programme-hero aside { padding: 28px; border-left: 1px solid var(--violet-light); background: linear-gradient(90deg,rgba(138,43,255,.1),transparent); }
.programme-hero aside span { color: var(--violet-light); font-size: .65rem; font-weight: 700; letter-spacing: .16em; }
.programme-hero aside strong { display: block; margin: 12px 0; font-size: 1.5rem; }
.programme-hero aside p { font-size: .82rem; }
.programme-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border: 1px solid var(--line); }
.programme-grid article { min-height: 285px; padding: 27px; border-left: 1px solid var(--line); background: rgba(255,255,255,.012); }
.programme-grid article:first-child { border-left: 0; }
.programme-grid article > span { margin-bottom: 52px; }
.programme-grid h3 { margin-bottom: 13px; font-size: 1.08rem; }
.programme-grid p { font-size: .84rem; line-height: 1.55; }
.benefit-grid-six { grid-template-columns: repeat(3,minmax(0,1fr)); }
.benefit-grid-six article:nth-child(4) { border-left: 0; }
.benefit-grid-six article:nth-child(n+4) { border-top: 1px solid var(--line-soft); }
.guest-crosslink { margin-top: 36px; padding: 30px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border: 1px solid rgba(192,76,255,.25); background: linear-gradient(90deg,rgba(138,43,255,.09),rgba(255,255,255,.01)); }
.guest-crosslink h3 { margin-bottom: 9px; font-size: clamp(1.5rem,2.6vw,2.2rem); }
.guest-crosslink .eyebrow { margin-bottom: 8px; }
.recruitment-panel {
  min-height: 500px; padding: clamp(34px,4vw,52px); display: flex; flex-direction: column; justify-content: flex-end;
  border: 1px solid rgba(192,76,255,.38);
  background: radial-gradient(circle at 52% 24%,rgba(138,43,255,.3),transparent 27%),linear-gradient(145deg,#15091f,#07060a 72%);
}
.recruitment-panel > span { color: var(--violet-light); font-size: .7rem; font-weight: 700; letter-spacing: .17em; }
.recruitment-panel strong { margin: 20px 0 34px; font-size: clamp(2.25rem,4vw,4rem); font-weight: 600; line-height: 1.05; letter-spacing: -.045em; }
.recruitment-panel em { color: var(--violet-light); font-style: normal; }
.recruitment-points { display: flex; flex-wrap: wrap; gap: 8px; }
.recruitment-points span { padding: 7px 10px; border: 1px solid var(--line); color: #d7cddd; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-signature { background: radial-gradient(circle at 18% 38%,rgba(138,43,255,.12),transparent 30%),#030204; }
.signature-panel.compact { min-height: 440px; }
.standards-section { background: #050407; }
.canonical-values .value-card { position: relative; min-height: 270px; padding-top: 74px; overflow: hidden; }
.value-card > span { position: absolute; top: 25px; right: 27px; color: rgba(192,76,255,.38); font-size: 1rem; letter-spacing: .1em; }
.value-card::before { content: ""; position: absolute; left: 30px; top: 38px; width: 26px; height: 1px; background: var(--violet-light); }
.value-card h3 { margin-bottom: 16px; font-size: 1.55rem; }

.availability { padding: 42px; border: 1px solid rgba(189,114,255,.34); background: radial-gradient(circle at 90% 20%, rgba(138,43,255,.16), transparent 30%), var(--surface); }
.availability h2 { max-width: 760px; }
.availability p { max-width: 700px; margin-top: 18px; }
.profile-ribbon { padding: 22px 0; border-block: 1px solid var(--line-soft); background: linear-gradient(90deg,rgba(138,43,255,.055),rgba(138,43,255,.16),rgba(138,43,255,.055)); }
.profile-ribbon .shell, .section-head-row { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.profile-ribbon .eyebrow { margin-bottom: 5px; }
.profile-ribbon strong { display: block; font-size: 1rem; }
.text-link { color: var(--violet-light); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.text-link:hover { color: #fff; }
.section-head-row { margin-bottom: 38px; }
.section-head-row > div { max-width: 720px; }
.section-head-row p { margin-top: 14px; }
.workers-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.professional-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(145deg,rgba(20,13,29,.92),rgba(8,6,12,.98)); transition: transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.professional-card:hover, .professional-card:focus-within { transform: translateY(-8px); border-color: rgba(189,114,255,.48); box-shadow: 0 24px 52px rgba(0,0,0,.42); }
.professional-media { aspect-ratio: 4 / 5; overflow: hidden; background: #09070d; }
.professional-image { width: 100%; height: 100%; object-fit: cover; }
.professional-placeholder .professional-media {
  position: relative;
  background:
    radial-gradient(circle at 50% 42%, rgba(138,43,255,.34), transparent 24%),
    linear-gradient(145deg, #180824, #100716 58%, #09070d);
}
.photo-pending {
  position: absolute; left: 18px; bottom: 18px; padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.22); color: #e8dfec; background: rgba(5,4,8,.62);
  font-size: .72rem; letter-spacing: .11em; text-transform: uppercase;
}
.professional-image-empty { display: grid; place-items: center; align-content: center; gap: 18px; padding: 28px; background: radial-gradient(circle at 50% 38%,rgba(138,43,255,.18),transparent 38%),#09070d; }
.professional-image-empty img { width: 118px; height: 94px; object-fit: contain; opacity: .82; }
.professional-image-empty span { color: var(--subtle); font-size: .75rem; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.profiles-empty { grid-column: 1 / -1; max-width: 760px; padding: 34px; border-left: 1px solid var(--violet-light); background: linear-gradient(90deg,rgba(138,43,255,.1),rgba(138,43,255,.025)); }
.profiles-empty h3 { margin-bottom: 12px; font-size: clamp(1.45rem,2.5vw,2rem); }
.profiles-empty p { max-width: 640px; }
.profiles-empty .button { margin-top: 24px; }
.professional-body { padding: 25px; }
.professional-body h3 { margin-bottom: 14px; font-size: 1.5rem; }
.professional-body p { display: -webkit-box; margin-bottom: 22px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.profile-label { display: block; margin-bottom: 8px; color: var(--violet-light); font-size: .75rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.profile-meta { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
.profile-meta span { padding: 5px 8px; border: 1px solid rgba(255,255,255,.14); color: var(--muted); font-size: .75rem; }
.button.full { width: 100%; }
.profile-link { display: inline-block; color: var(--violet-light); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.profile-link:hover { color: #fff; }
.profile-contact-link { display: inline-block; margin-left: 14px; color: var(--subtle); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.profile-contact-link:hover { color: #fff; }
.profile-detail-section { padding-top: 58px; }
.profile-back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 46px; color: var(--muted); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.profile-back-link:hover { color: #fff; }
.profile-detail-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: clamp(42px,7vw,96px); align-items: start; }
.profile-detail-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; min-width: 0; }
.profile-detail-photo { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); background: #09070d; aspect-ratio: 4 / 5; }
.profile-detail-photo:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
.profile-detail-photo img, .worker-gallery-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.profile-detail-placeholder { display: grid; place-items: center; align-content: center; gap: 18px; padding: 28px; }
.profile-detail-placeholder img { width: 130px; height: 100px; object-fit: contain; opacity: .8; }
.profile-detail-placeholder figcaption { color: var(--subtle); font-size: .72rem; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.profile-detail-copy { min-width: 0; position: sticky; top: 120px; }
.profile-detail-copy h1 { margin: 10px 0 24px; }
.profile-detail-meta { margin-bottom: 28px; }
.profile-detail-intro { max-width: 640px; margin-bottom: 34px; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
.profile-detail-intro p { margin: 0; }
.space-card { min-height: 330px; display: flex; flex-direction: column; }
.space-card .card-number { margin-bottom: auto; font-size: 3.9rem; font-weight: 500; letter-spacing: -.06em; }
.space-card .label { margin-bottom: 10px; color: var(--violet-light); font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.restricted { border-color: rgba(189,114,255,.43); }
.legal-note { margin-top: 24px; padding: 19px 21px; border-left: 2px solid var(--violet); background: rgba(138,43,255,.07); color: var(--muted); }
.signature-section { background: radial-gradient(circle at 82% 40%,rgba(138,43,255,.11),transparent 30%); }
.signature-feature { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(44px,7vw,88px); align-items: stretch; }
.signature-copy { padding: 30px 0; }
.signature-copy .lead { margin-top: 22px; }
.signature-panel { min-height: 480px; padding: 42px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(189,114,255,.42); background: radial-gradient(circle at 52% 30%,rgba(138,43,255,.35),transparent 28%),linear-gradient(145deg,#180923,#08060b 72%); }
.signature-panel > span { color: var(--violet-light); font-size: .72rem; font-weight: 700; letter-spacing: .18em; }
.signature-panel strong { max-width: 440px; margin: 18px 0 24px; font-size: clamp(2.2rem,4vw,4rem); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
.signature-panel p { font-size: .76rem; letter-spacing: .11em; text-transform: uppercase; }

/* Keep the Playroom statement copy inside its panel at every desktop width.
   The narrow column can otherwise leave long Dutch words outside the border
   before the mobile breakpoint is reached. */
.playroom-gallery .signature-panel {
  box-sizing: border-box;
  min-width: 0;
}
.playroom-gallery .signature-panel strong {
  width: 100%;
  max-width: 100%;
  font-size: clamp(2rem, 3.25vw, 3.45rem);
  overflow-wrap: anywhere;
  word-break: normal;
}
.suite-standard-grid .card { min-height: 300px; }
.add-on-section { padding-block: 62px; }
.add-on-panel { display: grid; grid-template-columns: .7fr 1.2fr auto; gap: 36px; align-items: center; }
.add-on-panel .eyebrow { margin-bottom: 8px; }
.add-on-panel h2 { font-size: clamp(2rem,3vw,3rem); }

.faq-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: start; }
.faq-item { border: 1px solid var(--line); background: #09070d; }
.faq-question { width: 100%; min-height: 64px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 0; color: #fff; background: transparent; text-align: left; cursor: pointer; }
.faq-question span { color: var(--violet-light); font-size: 1.25rem; }
.faq-answer { display: none; padding: 0 20px 20px; }
.faq-item.open .faq-answer { display: block; }

.contact-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 58px; align-items: start; }
.contact-details { display: grid; gap: 22px; }
.contact-details div { padding-bottom: 19px; border-bottom: 1px solid var(--line-soft); }
.contact-details strong { display: block; margin-bottom: 4px; color: var(--violet-light); font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.contact-details a { color: #fff; border-bottom: 1px solid rgba(189,114,255,.5); }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding: 30px; border: 1px solid var(--line); background: rgba(14,11,20,.92); }
.contact-form .wide { grid-column: 1 / -1; }
.contact-form label { display: grid; gap: 8px; color: #ddd3e3; font-size: .82rem; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%; border: 1px solid rgba(255,255,255,.15); border-radius: 1px;
  padding: 13px 14px; color: #fff; background: #07060a;
}
.contact-form textarea { min-height: 145px; resize: vertical; }
.form-help { color: var(--subtle); font-size: .78rem; }
.form-status { display: none; padding: 13px; border: 1px solid rgba(189,114,255,.5); color: #eee4f5; }
.form-status.show { display: block; }
.route-panel { margin-top: 24px; padding: 25px; border: 1px solid var(--line); background: var(--surface); }
.route-panel .button { margin-top: 17px; }

.legal { max-width: 820px; }
.legal h2 { margin: 52px 0 16px; font-size: clamp(1.45rem,2.5vw,2.2rem); }
.legal h3 { margin: 30px 0 12px; font-size: 1.1rem; }
.legal ul { display: grid; gap: 8px; padding-left: 20px; color: var(--muted); }
.legal a { color: #fff; border-bottom: 1px solid var(--violet-light); }

.site-footer { padding: 48px 0 22px; border-top: 1px solid var(--line-soft); background: #000; }
.footer-top { display: grid; grid-template-columns: minmax(250px,1.05fr) minmax(0,1.7fr); gap: clamp(48px,7vw,96px); align-items: start; }
.footer-brand { display: inline-flex; align-items: center; }
.footer-logo { width: 218px; height: auto; }
.footer-copy { max-width: 330px; margin-top: 14px; font-size: .9rem; }
.footer-values { max-width: 360px; margin-top: 18px; display: flex; flex-wrap: wrap; gap: 7px 12px; }
.footer-values span { color: var(--subtle); font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.footer-cta { display: inline-flex; gap: 9px; margin-top: 20px; color: #fff; font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.footer-cta span { color: var(--violet-light); transition: transform .2s ease; }
.footer-cta:hover span { transform: translateX(4px); }
.footer-navigation { display: grid; grid-template-columns: 1.1fr 1fr .72fr; gap: clamp(28px,4vw,58px); }
.site-footer h3 { margin-bottom: 14px; color: var(--violet-light); font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.footer-links { display: grid; gap: 8px; color: var(--muted); font-size: .9rem; }
.footer-links span, .footer-links a { overflow-wrap: anywhere; }
.footer-links a:hover { color: #fff; }
.business-strip { margin-top: 36px; padding: 18px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line-soft); }
.business-strip > span { min-width: 0; padding: 0 22px; border-left: 1px solid var(--line-soft); }
.business-strip > span:first-child { padding-left: 0; border-left: 0; }
.business-strip small { display: block; margin-bottom: 2px; color: var(--subtle); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.business-strip strong { color: #d7cedd; font-size: .78rem; font-weight: 500; letter-spacing: .03em; overflow-wrap: anywhere; }
.trust-marks { width: min(560px,100%); margin: 18px auto 0; padding: 13px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: clamp(24px,4vw,46px); }
.trust-mark { min-height: 44px; display: flex; align-items: center; justify-content: center; opacity: .64; transition: opacity .2s ease; }
.trust-mark:hover { opacity: 1; }
.trust-mark img { display: block; width: auto; max-width: 100%; object-fit: contain; }
.trust-mark-women img { height: 49px; }
.trust-mark-insured img { height: 30px; }
.trust-mark-health img { height: 35px; }
.footer-base { margin-top: 12px; padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line-soft); color: var(--subtle); font-size: .72rem; }

/* v2.0.51: current portrait homepage header with responsive composition. */
.visual-stage { min-height: 620px; aspect-ratio: 4 / 5; padding: clamp(34px,4vw,52px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border: 1px solid rgba(192,76,255,.34); background: #050407; }
.visual-stage::after { display: none; }
.visual-stage-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; opacity: 1; filter: none; }
.visual-stage-caption { position: absolute; inset: auto 24px 22px; z-index: 2; display: flex; flex-direction: column; gap: 7px; text-transform: uppercase; }
.visual-stage-caption::before { content: ""; position: absolute; inset: -90px -24px -22px; z-index: -1; background: linear-gradient(0deg, rgba(0,0,0,.88), transparent); pointer-events: none; }
.visual-stage-caption span { color: var(--violet-light); font-size: .68rem; font-weight: 700; letter-spacing: .18em; }
.visual-stage-caption strong { font-size: .74rem; letter-spacing: .12em; font-weight: 600; }
.profile-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: clamp(42px,7vw,92px); align-items: start; }
.profile-gallery-wrap { min-width: 0; }
.profile-gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.profile-photo { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); background: #08070a; }
.profile-photo-featured { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
.profile-photo:not(.profile-photo-featured) { aspect-ratio: 1 / 1; }
.profile-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.profile-photo-empty { min-height: 440px; display: grid; place-items: center; align-content: center; gap: 16px; color: var(--subtle); text-align: center; }
.profile-photo-empty img { width: 130px; height: 105px; object-fit: contain; opacity: .8; }
.profile-photo-empty figcaption { padding: 0 20px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.profile-copy { padding-top: 22px; }
.profile-copy h1 { margin-bottom: 22px; }
.profile-copy .profile-meta { margin-bottom: 24px; }
.profile-short { max-width: 620px; margin: 25px 0 34px; color: var(--muted); font-size: 1.16rem; line-height: 1.65; }
.profile-introduction { max-width: 680px; padding-top: 28px; border-top: 1px solid var(--line-soft); }
.profile-introduction h2 { margin-bottom: 16px; font-size: clamp(1.45rem,2.5vw,2rem); }
.profile-introduction p { margin-bottom: 14px; }
.profile-language-switch { display: inline-flex; gap: 0; margin-bottom: 8px; border: 1px solid var(--line); }
.profile-language-switch a { padding: 7px 11px; color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.profile-language-switch a + a { border-left: 1px solid var(--line); }
.profile-language-switch a.is-active, .profile-language-switch a:hover { color: #fff; background: rgba(138,43,255,.2); }
.trust-marks { width: min(560px,100%); margin: 18px auto 0; padding: 13px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: clamp(24px,4vw,46px); }
.trust-mark { min-height: 44px; display: flex; align-items: center; justify-content: center; opacity: .64; transition: opacity .2s ease; }
.trust-mark:hover { opacity: 1; }
.trust-mark img { display: block; width: auto; max-width: 100%; object-fit: contain; }
.trust-mark-women img { height: 49px; }
.trust-mark-insured img { height: 30px; }
.trust-mark-health img { height: 35px; }
@media (max-width: 980px) {
  .profile-layout { grid-template-columns: 1fr; gap: 42px; }
  .profile-copy { padding-top: 0; }
}
@media (max-width: 720px) {
  .visual-stage { min-height: 520px; aspect-ratio: 4 / 5; padding: 30px; }
  .profile-gallery-grid { gap: 10px; }
  .trust-marks { gap: 24px; }
  .trust-mark-women img { height: 43px; }
  .trust-mark-insured img { height: 27px; }
  .trust-mark-health img { height: 31px; }
}

:focus-visible { outline: 2px solid var(--violet-light); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (max-width: 1320px) and (min-width: 1121px) {
  .menu-button { display: block; }
  .nav > .button { display: none; }
  .nav-links {
    position: absolute; top: 100%; left: 50%; width: 100vw; max-height: calc(100dvh - var(--header));
    padding: 12px max(24px,calc((100vw - var(--max)) / 2)) 24px; display: none; flex-direction: column; align-items: stretch; gap: 0;
    overflow-y: auto; border-bottom: 1px solid var(--line); background: rgba(7,5,10,.985); box-shadow: 0 24px 55px rgba(0,0,0,.42); transform: translateX(-50%);
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 16px 0; font-size: .8rem; }
  .nav-links a::after { bottom: 10px; }
}
@media (max-width: 1120px) {
  .menu-button { display: block; }
  .nav > .button { display: none; }
  .brand-logo { width: 62px; height: 54px; }
  .nav-links {
    position: absolute; top: 100%; left: 50%; width: 100vw; max-height: calc(100vh - var(--header)); max-height: calc(100dvh - var(--header));
    padding: 12px max(24px,calc((100vw - var(--max)) / 2)) 24px; display: none; flex-direction: column; align-items: stretch; gap: 0;
    overflow-y: auto; border-bottom: 1px solid var(--line); background: rgba(7,5,10,.985); box-shadow: 0 24px 55px rgba(0,0,0,.42); transform: translateX(-50%);
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 16px 0; font-size: .8rem; }
  .nav-links a::after { bottom: 10px; }
  .workers-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .split, .contact-layout { grid-template-columns: 1fr; gap: 42px; }
  .signature-feature { grid-template-columns: 1fr; }
  .manifesto-layout, .recruitment-feature { grid-template-columns: 1fr; }
  .manifesto-layout { align-items: start; }
  .audience-grid { grid-template-columns: 1fr 1fr; }
  .add-on-panel { grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .footer-top { grid-template-columns: 1fr; gap: 38px; }
  .footer-navigation { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .benefit-grid article:nth-child(odd) { border-left: 0; }
  .benefit-grid article:nth-child(n+3) { border-top: 1px solid var(--line-soft); }
  .programme-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .programme-grid article, .programme-grid article:first-child { border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  .programme-grid article:nth-child(odd) { border-left: 0; }
  .programme-grid article:nth-child(-n+2) { border-top: 0; }
  .programme-grid article:last-child { grid-column: 1 / -1; min-height: 230px; }
  .feature-split { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .shell { width: min(100% - 28px, var(--max)); }
  :root { --header: 70px; }
  .nav { gap: 12px; }
  .brand-logo { width: 56px; height: 50px; }
  .brand-mark { width: 49px; height: 42px; }
  .brand-name { font-size: .72rem; letter-spacing: .16em; }
  .brand-tag { font-size: .45rem; letter-spacing: .1em; }
  .hero, .hero-home { min-height: 650px; align-items: end; }
  .hero-home .hero-media { height: 54%; top: 0; bottom: auto; object-position: 72% center; }
  .hero-home::after { background: linear-gradient(0deg,#000 9%,rgba(0,0,0,.985) 49%,rgba(0,0,0,.34) 78%,rgba(0,0,0,.08)); }
  .hero-content { padding: 280px 0 58px; }
  .subhero { min-height: 430px; align-items: center; }
  .contact-hero .hero-media { object-position: 68% top; opacity: .82; filter: brightness(1.1) contrast(1.03); }
  .faq-hero { min-height: 570px; }
  .faq-hero .hero-media { height: 100%; width: 100%; object-fit: contain; object-position: 78% top; opacity: .72; }
  .faq-hero::after { background: linear-gradient(0deg,#050508 4%,rgba(5,5,8,.88) 43%,rgba(5,5,8,.22) 100%); }
  .subhero .hero-content { padding: 82px 0 70px; }
  h1 { font-size: clamp(2.55rem,13vw,4.1rem); }
  .section { padding: 76px 0; }
  .grid-2, .grid-3, .grid-4, .faq-list, .contact-form, .workers-grid { grid-template-columns: 1fr; }
  .contact-form .wide { grid-column: auto; }
  .statement { min-height: 360px; padding: 30px; }
  .signature-panel { min-height: 390px; padding: 30px; }
  .brand-manifesto { padding: 68px 0 18px; }
  .manifesto-layout { gap: 26px; }
  .value-line { margin-top: 48px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .value-line span { padding: 12px 8px; border-left: 0; border-top: 1px solid var(--line-soft); }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card { min-height: 360px; }
  .recruitment-panel { min-height: 420px; }
  .route-card { min-height: 330px; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-item:nth-child(odd) { border-left: 0; }
  .proof-item:nth-child(n+3) { border-top: 1px solid var(--line-soft); }
  .cta-band .shell, .footer-base { align-items: flex-start; flex-direction: column; }
  .section-head-row { align-items: flex-start; flex-direction: column; }
  .cta-band .actions { margin-top: 10px; }
  .footer-navigation { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
  .footer-group:first-child { grid-row: span 2; }
  .business-strip { grid-template-columns: 1fr; padding: 8px 0; }
  .business-strip > span, .business-strip > span:first-child { padding: 10px 0; border-left: 0; border-top: 1px solid var(--line-soft); }
  .business-strip > span:first-child { border-top: 0; }
  .trust-marks { gap: 24px; }
  .trust-mark-women img { height: 43px; }
  .trust-mark-insured img { height: 27px; }
  .trust-mark-health img { height: 31px; }
  .programme-preview-grid, .programme-hero { grid-template-columns: 1fr; }
  .premium-feature { min-height: 320px; }
  .visual-stage { min-height: 430px; padding: 30px; }
  .benefit-categories > article { grid-template-columns: 52px minmax(0,1fr); gap: 16px; padding: 28px 0; }
  .benefit-categories ul { grid-template-columns: 1fr; }
  .guest-crosslink { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 430px) {
  .shell { width: min(100% - 24px, var(--max)); }
  .brand-logo { width: 52px; height: 46px; }
  .brand-mark { width: 45px; height: 39px; }
  .brand-name { font-size: .67rem; }
  .brand-tag { font-size: .42rem; }
  .actions { align-items: stretch; flex-direction: column; }
  .actions .button { width: 100%; }
  .card, .availability, .contact-form { padding: 24px; }
  .proof-grid { grid-template-columns: 1fr; }
  .proof-item, .proof-item:nth-child(odd) { border-left: 0; border-top: 1px solid var(--line-soft); }
  .proof-item:first-child { border-top: 0; }
  .footer-navigation { grid-template-columns: 1fr; }
  .footer-group:first-child { grid-row: auto; }
  .trust-marks { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
  .trust-mark-women img { height: 39px; }
  .trust-mark-insured img { height: 25px; }
  .trust-mark-health img { height: 29px; }
  .benefit-grid, .programme-grid { grid-template-columns: 1fr; }
  .benefit-grid article, .benefit-grid article:nth-child(odd), .programme-grid article, .programme-grid article:first-child { min-height: 0; border-left: 0; border-top: 1px solid var(--line-soft); }
  .benefit-grid article:first-child, .programme-grid article:first-child { border-top: 0; }
  .programme-grid article:last-child { grid-column: auto; min-height: 0; }
  .benefit-grid article > span, .programme-grid article > span { margin-bottom: 28px; }
  .benefit-categories > article { grid-template-columns: 1fr; }
  .benefit-categories .category-number { margin-bottom: 2px; }
}
@media (max-width: 350px) {
  .brand-logo { width: 48px; height: 42px; }
  .brand-tag { display: none; }
  .brand-name { font-size: .64rem; letter-spacing: .12em; }
}

/* v1.8 editorial system */
.hero-picture { position: absolute; inset: 0; z-index: -2; }
.hero-picture .hero-media { z-index: auto; }
.subhero-image { min-height: 610px; isolation: isolate; }
.subhero-image::before {
  z-index: 1;
  background: linear-gradient(90deg,#000 3%,rgba(0,0,0,.96) 31%,rgba(0,0,0,.48) 58%,rgba(0,0,0,.08) 82%),linear-gradient(0deg,#000 0,transparent 34%);
}
.subhero-image .hero-media { z-index: 0; object-position: center; }
.editorial-visual,.signature-image,.arrival-visual,.playroom-main,.playroom-gallery figure,.room-gallery figure,.room-feature figure,.programme-portrait { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--line); background: #08070a; }
.editorial-visual img,.signature-image img,.arrival-visual img,.playroom-main img,.playroom-gallery img,.room-gallery img,.room-feature img,.programme-portrait img { width: 100%; height: 100%; object-fit: cover; }
.editorial-visual figcaption,.signature-image figcaption,.arrival-visual figcaption,.playroom-main figcaption,.playroom-gallery figcaption,.room-gallery figcaption,.programme-portrait figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px; color: #e9e1ee; background: linear-gradient(0deg,rgba(0,0,0,.9),transparent); font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.editorial-visual-tall { min-height: 620px; }
.signature-image { min-height: 520px; }
.first-visit-layout { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(32px,5vw,68px); align-items: stretch; }
.first-visit-layout .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.first-visit-layout .card { min-height: 230px; }
.arrival-visual { min-height: 100%; }
.playroom-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px,6vw,84px); align-items: center; }
.playroom-main { min-height: 610px; }
.playroom-gallery { margin-top: 24px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; }
.playroom-gallery figure,.playroom-gallery .signature-panel { min-height: 440px; }
.room-feature { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(42px,7vw,96px); align-items: center; }
.room-feature figure { min-height: 680px; }
.room-feature > div { max-width: 620px; }
.room-feature-reverse { grid-template-columns: 1.1fr .9fr; }
.room-feature-reverse figure { order: 2; min-height: 610px; }
.room-gallery { margin-bottom: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.room-gallery figure { min-height: 410px; }
.programme-portrait { min-height: 580px; }
.programme-portrait figcaption { display: grid; gap: 3px; font-size: 1rem; text-transform: none; letter-spacing: 0; }
.programme-portrait figcaption span { color: var(--violet-light); font-size: .67rem; letter-spacing: .14em; text-transform: uppercase; }
.programme-note { margin-top: 22px; max-width: 760px; padding-left: 18px; border-left: 2px solid var(--violet); font-size: .86rem; }
.community-feature { display: grid; grid-template-columns: 1.18fr .82fr; gap: clamp(40px,6vw,78px); align-items: center; }
.community-feature figure { min-height: 430px; margin: 0; overflow: hidden; border: 1px solid var(--line); }
.community-feature img { width: 100%; height: 100%; object-fit: cover; }
.language-switch { display: inline-flex; align-items: center; flex: 0 0 auto; border: 1px solid var(--line); }
.language-switch button { min-width: 38px; padding: 8px 9px; border: 0; color: var(--subtle); background: transparent; font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-align: center; cursor: pointer; }
.language-switch button + button { border-left: 1px solid var(--line); }
.language-switch button[aria-current="true"] { color: #fff; background: rgba(138,43,255,.17); }
.trust-marks { width: min(430px,100%); opacity: .78; }
.trust-mark-women img { height: 40px; }
.trust-mark-insured img { height: 24px; }
.trust-mark-health img { height: 28px; }

/* v1.9 BDSM specialty route */
.nav-links .nav-specialty { color: #d5c7df; font-size: .72rem; letter-spacing: .12em; }
.nav-links .nav-specialty::before { content: ''; display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--violet-light); box-shadow: 0 0 10px rgba(192,76,255,.75); vertical-align: 1px; }
.bdsm-hero .hero-media { object-position: center 58%; }
.bdsm-hero::before { background: linear-gradient(90deg,#000 3%,rgba(0,0,0,.96) 34%,rgba(0,0,0,.5) 63%,rgba(0,0,0,.12) 88%),linear-gradient(0deg,#000 0,transparent 34%); }
.bdsm-intro { padding-top: clamp(90px,10vw,150px); }
.bdsm-workers-section { background: linear-gradient(180deg,rgba(36,0,61,.24),rgba(7,5,10,.2)); }
.bdsm-offer-grid { display: grid; gap: 28px; }
.bdsm-offer-feature { min-height: 520px; display: grid; grid-template-columns: 1.12fr .88fr; border: 1px solid var(--line); background: linear-gradient(145deg,rgba(23,13,33,.88),rgba(7,5,10,.98)); }
.bdsm-offer-feature:nth-child(even) { grid-template-columns: .88fr 1.12fr; }
.bdsm-offer-feature:nth-child(even) figure { order: 2; }
.bdsm-offer-feature figure { min-height: 520px; margin: 0; overflow: hidden; }
.bdsm-offer-feature img { width: 100%; height: 100%; object-fit: cover; }
.bdsm-offer-feature > div { padding: clamp(34px,6vw,78px); align-self: center; }
.bdsm-offer-feature h3 { margin-bottom: 18px; font-size: clamp(2rem,4vw,3.4rem); }
.bdsm-proof { background: rgba(13,9,18,.72); }
.specialty-route { padding: 0 0 clamp(78px,9vw,122px); }
.specialty-route-inner { padding: clamp(28px,4vw,46px); display: flex; align-items: center; justify-content: space-between; gap: 32px; border: 1px solid rgba(192,76,255,.3); background: linear-gradient(110deg,rgba(36,0,61,.62),rgba(12,8,17,.94)); }
.specialty-route-inner h2 { margin: 6px 0 8px; font-size: clamp(1.8rem,3.2vw,2.8rem); }
.specialty-route-inner p { max-width: 720px; margin: 0; }

@media (max-width: 1120px) {
  .language-switch { margin-left: auto; }
  .playroom-intro,.room-feature,.room-feature-reverse,.first-visit-layout,.community-feature { grid-template-columns: 1fr; }
  .room-feature-reverse figure { order: 0; }
  .room-feature figure { min-height: 540px; }
  .bdsm-offer-feature,.bdsm-offer-feature:nth-child(even) { grid-template-columns: 1fr; }
  .bdsm-offer-feature:nth-child(even) figure { order: 0; }
}
@media (max-width: 720px) {
  .nav { min-height: 72px; }
  .brand-logo { width: 58px; height: 52px; }
  .language-switch button { min-width: 34px; padding: 7px; }
  .hero-home { min-height: 760px; }
  .hero-home .hero-picture,.hero-home .hero-media { width: 100%; height: 100%; inset: 0; object-position: center top; }
  .hero-home::after { background: linear-gradient(0deg,#000 7%,rgba(0,0,0,.98) 37%,rgba(0,0,0,.42) 67%,rgba(0,0,0,.08)); }
  .hero-home .hero-content { padding: 410px 0 54px; }
  .subhero-image { min-height: 700px; align-items: end; }
  .subhero-image .hero-media { height: 60%; top: 0; bottom: auto; object-position: 73% center; }
  .subhero-image::before { background: linear-gradient(0deg,#000 8%,rgba(0,0,0,.98) 50%,rgba(0,0,0,.3) 79%,rgba(0,0,0,.08)); }
  .contact-hero::before { background: linear-gradient(0deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.18) 52%,transparent 100%), radial-gradient(circle at 72% 30%,rgba(138,43,255,.16),transparent 38%); }
  .contact-hero::after { background: linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.34) 40%,rgba(0,0,0,.04) 100%); }
  .subhero-image .hero-content { padding: 350px 0 58px; }
  .editorial-visual-tall,.signature-image,.playroom-main,.room-feature figure,.room-feature-reverse figure,.programme-portrait { min-height: 470px; }
  .playroom-gallery,.room-gallery { grid-template-columns: 1fr; }
  .playroom-gallery figure,.playroom-gallery .signature-panel,.room-gallery figure { min-height: 390px; }
  .first-visit-layout .grid-4 { grid-template-columns: 1fr; }
  .arrival-visual { min-height: 420px; }
  .bdsm-hero .hero-media { object-position: 62% center; }
  .bdsm-offer-feature,.bdsm-offer-feature figure { min-height: 430px; }
  .specialty-route-inner { align-items: flex-start; flex-direction: column; }
  .profile-detail-section { padding-top: 42px; }
  .profile-back-link { margin-bottom: 30px; }
  .profile-detail-grid { grid-template-columns: 1fr; gap: 36px; }
  .profile-detail-copy { position: static; }
  .profile-detail-gallery { gap: 10px; }
  .profile-detail-intro { font-size: 1rem; }
  .profile-contact-link { display: block; margin: 16px 0 0; }
}
@media (max-width: 430px) {
  .brand-logo { width: 52px; height: 46px; }
  .language-switch button { min-width: 32px; padding: 7px 5px; font-size: .62rem; }
  .hero-home { min-height: 720px; }
  .hero-home .hero-content { padding-top: 390px; }
  .hero-home h1 { font-size: clamp(2.7rem,14vw,4rem); }
  .subhero-image h1 { font-size: clamp(2.45rem,12vw,3.7rem); }
}

/* v2.0 premium component, image and responsive refinement */
.button {
  min-height: 52px;
  padding-inline: 26px;
  border-color: rgba(192,76,255,.9);
  background: linear-gradient(135deg,#6a00ff 0%,#8a2bff 62%,#a53fff 100%);
  box-shadow: 0 10px 28px rgba(106,0,255,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
.button:hover {
  border-color: #d48aff;
  background: linear-gradient(135deg,#7711ff 0%,#9637ff 62%,#b04eff 100%);
  box-shadow: 0 16px 38px rgba(106,0,255,.27), inset 0 1px 0 rgba(255,255,255,.16);
}
.button.secondary,
.button.text {
  min-height: 52px;
  padding: 0 26px;
  border: 1px solid rgba(191,194,204,.32);
  color: #f6f2f8;
  background: linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.button.secondary:hover,
.button.text:hover {
  border-color: rgba(192,76,255,.72);
  background: rgba(138,43,255,.11);
  box-shadow: 0 14px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
}

.language-switch {
  min-height: 44px;
  padding: 4px 5px 4px 10px;
  gap: 7px;
  border-color: rgba(191,194,204,.2);
  background: linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.language-icon { width: 17px; height: 17px; color: #c8bdcf; }
.language-icon svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.35; }
.language-label { color: #a99faf; font-size: .58rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.language-options { display: inline-flex; align-self: stretch; padding: 2px; border-left: 1px solid var(--line-soft); }
.language-switch .language-options button {
  min-width: 35px;
  padding: 5px 7px;
  border: 0;
  color: #91859b;
  background: transparent;
  font-size: .65rem;
  letter-spacing: .08em;
}
.language-switch .language-options button + button { border-left: 0; }
.language-switch .language-options button[aria-current="true"] {
  color: #fff;
  background: linear-gradient(135deg,rgba(106,0,255,.58),rgba(138,43,255,.34));
  box-shadow: inset 0 0 0 1px rgba(192,76,255,.28);
}

.hero-content { position: relative; z-index: 2; }
.hero-home .hero-media { object-position: center center; }
.recruitment-feature { align-items: center; }
.home-worker-visual { aspect-ratio: 4 / 5; min-height: 0; max-height: 720px; }
.home-worker-visual img { object-position: 52% 38%; }
.home-worker-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.35) 100%); }
.home-worker-visual figcaption { z-index: 2; }
.signature-image { aspect-ratio: 3 / 2; min-height: 0; }
.signature-image img { object-position: center 54%; }

.guests-hero { min-height: 660px; background: #000; }
.guests-hero .hero-media {
  inset: 0 0 0 auto;
  width: 54%;
  height: 100%;
  object-position: center 33%;
}
.guests-hero::before {
  background: linear-gradient(90deg,#000 0 43%,rgba(0,0,0,.94) 52%,rgba(0,0,0,.44) 72%,rgba(0,0,0,.08) 100%),linear-gradient(0deg,#000 0,transparent 34%);
}
.guests-hero .hero-content { max-width: min(var(--max),calc(100% - 48px)); }
.guests-hero h1 { max-width: 780px; font-size: clamp(2.75rem,5.4vw,5rem); }

.workers-hero { min-height: 650px; background: #000; }
.workers-hero .hero-media { object-position: center; }
.workers-hero::before {
  background: linear-gradient(90deg,#000 0 38%,rgba(0,0,0,.94) 50%,rgba(0,0,0,.4) 69%,rgba(0,0,0,.06) 100%),linear-gradient(0deg,#000 0,transparent 30%);
}

.rooms-hero { min-height: 620px; background: #000; }
.rooms-hero .hero-media { object-position: center 58%; }
.rooms-hero::before {
  background: linear-gradient(90deg,#000 0 35%,rgba(0,0,0,.92) 48%,rgba(0,0,0,.36) 72%,rgba(0,0,0,.1) 100%),linear-gradient(0deg,#000 0,transparent 34%);
}
.rooms-hero .hero-content { max-width: min(var(--max),calc(100% - 48px)); }
.rooms-hero h1 { max-width: 760px; }

.feature-split { align-items: center; }
.welcome-section .editorial-visual-tall { aspect-ratio: 4 / 5; min-height: 0; max-height: 720px; }
.welcome-section .editorial-visual-tall img { object-position: 72% center; }
.welcome-bag-visual { width: min(620px,100%); aspect-ratio: 1; min-height: 0; max-height: 620px; align-self: center; justify-self: center; }
.welcome-bag-visual img { object-position: center; }
.welcome-bag-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.42) 100%); }
.welcome-bag-visual figcaption { z-index: 2; }
.guests-privacy-visual { width: min(500px,100%); aspect-ratio: 4 / 5; min-height: 0; justify-self: center; align-self: center; }
.guests-privacy-visual img { display: block; object-fit: contain; object-position: center; }
.welcome-bag-visual figcaption { padding: 22px 24px; font-size: .76rem; letter-spacing: .1em; white-space: nowrap; background: linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.18) 75%,transparent); }
.programme-hero { align-items: center; }
.programme-portrait { aspect-ratio: 4 / 5; min-height: 0; max-height: 660px; }
.programme-portrait img { object-position: 80% center; }
.worker-community-section .community-feature figure { width: min(500px,100%); aspect-ratio: 56 / 73; min-height: 0; justify-self: center; }
.worker-community-section .community-feature img { display: block; object-fit: contain; object-position: center; transform: none; }

.arrival-visual { width: min(500px,100%); aspect-ratio: 4 / 5; min-height: 0; max-height: 640px; align-self: center; justify-self: center; }
.arrival-visual img { object-position: center 46%; transform: scale(1.24); transform-origin: center 46%; }
.playroom-main { aspect-ratio: 4 / 3; min-height: 0; }
.playroom-main img { object-position: center 50%; }
.playroom-gallery figure { aspect-ratio: 3 / 2; min-height: 0; }
.playroom-gallery figure img { object-position: center 56%; }
.room-gallery figure { aspect-ratio: 4 / 3; min-height: 0; }
.room-feature figure { aspect-ratio: 4 / 5; min-height: 0; max-height: 720px; }
.room-feature figure img { object-position: center 48%; }
.room-feature-reverse figure { aspect-ratio: 4 / 5; min-height: 0; max-height: 700px; }
.room-feature-reverse figure img { object-position: center 52%; }

/* v2.0.51: keep worker imagery editorial and compact on larger screens. */
@media (min-width: 1121px) {
  .hero-home,
  .workers-hero {
    min-height: 620px;
    background: #000;
  }
  .hero-home .hero-picture,
  .workers-hero .hero-media {
    inset: 0 0 0 auto;
    width: 54%;
    height: 100%;
  }
  .hero-home .hero-media,
  .workers-hero .hero-media {
    object-fit: cover;
    object-position: center center;
  }
  .hero-home::after,
  .workers-hero::before {
    background: linear-gradient(90deg,#000 0 42%,rgba(0,0,0,.96) 53%,rgba(0,0,0,.42) 74%,rgba(0,0,0,.06) 100%),linear-gradient(0deg,#000 0,transparent 34%);
  }
  .hero-home .hero-content,
  .workers-hero .hero-content {
    max-width: min(var(--max),calc(100% - 48px));
    padding-right: 50%;
  }
  .workers-grid {
    max-width: 1120px;
    grid-template-columns: repeat(auto-fit,minmax(230px,280px));
    justify-content: start;
    gap: 16px;
  }
  .professional-card { max-width: 280px; }
  .professional-media { aspect-ratio: 4 / 3; }
  .professional-body { padding: 18px; }
  .professional-body h3 { margin-bottom: 10px; font-size: 1.28rem; }
}

@media (max-width: 1240px) and (min-width: 1121px) {
  .nav { gap: 16px; }
  .nav-links { gap: 15px; }
  .nav-links a { font-size: .7rem; }
  .nav > .button { padding-inline: 17px; }
  .language-label { display: none; }
}

@media (max-width: 1120px) {
  .language-switch { margin-left: auto; }
  .recruitment-feature,.feature-split,.community-feature { gap: 46px; }
  .home-worker-visual,.welcome-section .editorial-visual-tall,.programme-portrait { width: min(680px,100%); justify-self: center; }
  .community-feature figure { width: min(760px,100%); justify-self: center; }
  .playroom-intro .playroom-main { width: min(820px,100%); justify-self: center; }
}

@media (max-width: 720px) {
  .button,.button.secondary,.button.text { min-height: 50px; padding-inline: 20px; }
  .language-label { display: none; }
  .language-switch { min-height: 42px; padding-left: 7px; gap: 5px; }
  .language-options { padding-left: 5px; }
  .guests-hero { min-height: 760px; align-items: end; }
  .guests-hero .hero-media { top: 0; right: 0; width: 100%; height: 62%; object-position: center 27%; }
  .guests-hero::before { background: linear-gradient(0deg,#000 8%,rgba(0,0,0,.99) 43%,rgba(0,0,0,.47) 72%,rgba(0,0,0,.1)); }
  .guests-hero .hero-content { padding: 420px 0 58px; }
  .workers-hero { min-height: 760px; align-items: end; }
  .workers-hero .hero-media { top: 0; width: 100%; height: 62%; object-position: 72% center; }
  .workers-hero::before { background: linear-gradient(0deg,#000 8%,rgba(0,0,0,.99) 43%,rgba(0,0,0,.44) 72%,rgba(0,0,0,.08)); }
  .workers-hero .hero-content { padding: 420px 0 58px; }
  .rooms-hero { min-height: 740px; align-items: end; }
  .rooms-hero .hero-media { top: 0; width: 100%; height: 62%; object-position: 58% center; }
  .rooms-hero::before { background: linear-gradient(0deg,#000 8%,rgba(0,0,0,.99) 43%,rgba(0,0,0,.45) 72%,rgba(0,0,0,.08)); }
  .rooms-hero .hero-content { padding: 400px 0 58px; }
  .home-worker-visual,.welcome-section .editorial-visual-tall,.programme-portrait { aspect-ratio: 4 / 5; max-height: none; }
  .community-feature figure,.signature-image,.playroom-gallery figure,.room-gallery figure { aspect-ratio: 4 / 3; }
  .arrival-visual { width: min(560px,100%); aspect-ratio: 4 / 5; max-height: none; justify-self: center; }
  .arrival-visual img { transform: scale(1.18); transform-origin: center 44%; }
  .community-feature img { transform: scale(1.12); }
  .playroom-main { aspect-ratio: 4 / 3; }
  .room-feature figure,.room-feature-reverse figure { aspect-ratio: 4 / 5; max-height: none; }
  .hero-home { min-height: 700px; align-items: end; }
  .hero-home .hero-picture { inset: 0 0 auto; width: 100%; height: 54%; }
  .hero-home .hero-media { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
  .hero-home::after { background: linear-gradient(0deg,#000 9%,rgba(0,0,0,.98) 44%,rgba(0,0,0,.42) 72%,rgba(0,0,0,.08)); }
  .hero-home .hero-content { padding: 365px 0 52px; }
  .workers-grid { grid-template-columns: 1fr; justify-items: start; }
  .professional-card { width: min(100%,320px); max-width: 320px; }
  .professional-media { aspect-ratio: 4 / 3; }
}

@media (max-width: 430px) {
  .language-icon { display: none; }
  .language-switch { padding-left: 3px; }
  .language-options { border-left: 0; padding-left: 0; }
  .language-switch .language-options button { min-width: 34px; padding-inline: 6px; }
  .guests-hero { min-height: 735px; }
  .guests-hero .hero-media { height: 58%; object-position: center 25%; }
  .guests-hero .hero-content { padding-top: 380px; }
  .guests-hero h1 { font-size: clamp(2.3rem,11.5vw,3.35rem); }
  .workers-hero { min-height: 735px; }
  .workers-hero .hero-media { height: 58%; object-position: 74% center; }
  .workers-hero .hero-content { padding-top: 380px; }
  .rooms-hero { min-height: 715px; }
  .rooms-hero .hero-media { height: 56%; object-position: 60% center; }
  .rooms-hero .hero-content { padding-top: 350px; }
  .community-feature figure,.signature-image,.playroom-main,.playroom-gallery figure,.room-gallery figure { aspect-ratio: 1 / 1; }
  .community-feature img { transform: scale(1.22); }
}

/* 2.0.8: consistent photographic exposure; captions remain unaffected. */
.signature-image img,.playroom-main img,.playroom-gallery img,.room-gallery img,.room-feature figure img { filter: brightness(.88); }
.programme-portrait img,.guests-privacy-visual img { filter: brightness(.88); }
.worker-community-section .community-feature img { filter: brightness(.76); }
.arrival-visual img { filter: brightness(.9); }
.editorial-visual img { display: block; }
.feature-split > *,.recruitment-feature > *,.community-feature > *,.programme-hero > * { min-width: 0; }
.welcome-bag-visual figcaption { white-space: normal; text-wrap: balance; }
@media (max-width: 720px) {
  .welcome-bag-visual figcaption { padding: 16px; font-size: .68rem; }
  .language-switch .language-options button { min-width: 40px; min-height: 40px; }
}

/* Suites overview: retain useful room context on small screens. */
#premium-suites .room-gallery { gap: 24px; }
#premium-suites .room-gallery figure { aspect-ratio: 4 / 3; }
@media (max-width: 720px) {
  #premium-suites .room-gallery { grid-template-columns: 1fr; gap: 20px; }
  #premium-suites .room-gallery figure { aspect-ratio: 4 / 3; }
}

/* Discretion portrait moved to the homepage; statement retained on For Guests. */
.home-discretion-visual { width: min(500px,100%); margin: 0; justify-self: center; align-self: center; }
.home-discretion-visual img { display: block; width: 100%; height: auto; }

/* Full suite photograph: retain the round bed and illuminated base. */
.rooms-intro { background:#000; padding:72px 0; }
.rooms-intro-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(28px,4vw,64px); align-items:center; }
.rooms-intro-copy h1 { font-size:clamp(2.5rem,4.2vw,4.4rem); }
.rooms-intro-copy .lead { margin-top:24px; }
.rooms-intro-photo { margin:0; min-width:0; }
.rooms-intro-photo .rooms-photo { display:block; width:100%; height:auto; filter:brightness(.92); }
/* Portrait artwork retains its proportions, with black space for the copy. */
.hero-home { isolation:isolate; background:#000; }
.hero-home .hero-picture { left:auto; right:0; width:58%; height:100%; z-index:0; }
.hero-home .hero-picture .hero-media { width:100%; height:100%; object-fit:contain; object-position:right center; }
.hero-home::after { z-index:1; background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.96) 38%,rgba(0,0,0,.45) 55%,transparent 76%),linear-gradient(0deg,#000 0%,transparent 18%); }
@media(max-width:900px) {
 .rooms-intro-grid { grid-template-columns:1fr; }
 .rooms-intro { padding:48px 0; }
 .rooms-intro-photo { width:100%; }
}
@media(max-width:720px) {
 .hero-home .hero-picture { inset:0 0 auto auto; width:100%; height:520px; }
 .hero-home .hero-picture .hero-media { inset:0; object-fit:contain; object-position:center top; }
 .hero-home::after { background:linear-gradient(0deg,#000 0%,#000 30%,rgba(0,0,0,.85) 43%,transparent 67%); }
 .hero-home .hero-content { padding:450px 0 54px; }
}

/* Final image-fit pass: preserve the supplied compositions instead of enlarging faces or cropping rooms. */
.hero-home .hero-picture .hero-media {
  object-fit: contain;
  object-position: right center;
}
.contact-hero .hero-media {
  object-fit: contain;
  object-position: right center;
  opacity: .74;
}

/* Brand lock-up: keep the RH mark optically stable while the navigation
   collapses, and give the full footer lock-up a predictable responsive box. */
.brand { gap:12px; }
.brand-mark {
  width:54px;
  height:44px;
  aspect-ratio:4 / 3;
  flex:0 0 54px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 0 10px rgba(138,43,255,.22));
}
.brand-copy { min-width:0; }
.footer-main {
  display:grid;
  grid-template-columns:minmax(220px,1.12fr) minmax(130px,.78fr) minmax(220px,1fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
}
.footer-main > div { min-width:0; }
.footer-brand { width:min(100%,250px); align-items:flex-start; }
.footer-logo {
  display:block;
  width:230px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.rooms-hero-media {
  object-fit: contain;
  object-position: center center;
  background: #000;
}
@media (max-width: 900px) {
  .hero-home .hero-picture .hero-media { object-position: center top; }
  .contact-hero .hero-media { object-position: center top; opacity: .68; }
  .rooms-hero-media { object-position: center center; }
}

/* Location artwork stays uncropped beside the route information. */
.contact-location-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(28px,5vw,72px); }
.contact-location-visual { width:100%; max-width:480px; margin:0 auto; }
.contact-location-visual img { display:block; width:100%; height:auto; }
.contact-location-layout .route-panel { margin:0; }
@media(max-width:720px) {
 .contact-location-layout { grid-template-columns:1fr; }
 .contact-location-layout .route-panel { grid-row:1; }
 .contact-location-visual { max-width:420px; }
}

/* Communal lounge: retain the complete room composition. */
.communal-lounge-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center; }
.communal-lounge-visual { margin:0; min-width:0; }
.communal-lounge-visual img { display:block; width:100%; height:auto; }
.communal-lounge-layout .lead { margin-top:20px; }
@media(max-width:900px) { .communal-lounge-layout { grid-template-columns:1fr; } }

/* About header: genuine shared space with sufficient darkness for the introduction. */
.about-lounge-hero .hero-media { object-position:center 46%; filter:brightness(.66) saturate(.88); }
.about-lounge-hero::before { background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.94) 34%,rgba(0,0,0,.44) 62%,rgba(0,0,0,.13) 100%),linear-gradient(0deg,#000 0%,transparent 35%); }
@media(max-width:720px) {
 .about-lounge-hero .hero-media { object-position:center 28%; filter:brightness(.62) saturate(.86); }
}

/* Homepage portrait: fit the complete source inside the hero; never crop the face. */
.hero-home .hero-picture {
  inset:0 0 0 auto;
  width:60%;
  height:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%);
}
.hero-home .hero-picture .hero-media {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right top;
  filter:brightness(.9) saturate(.9);
}
.hero-home::after {
  background:
    linear-gradient(90deg,#000 0%,#000 35%,rgba(0,0,0,.94) 44%,rgba(0,0,0,.58) 55%,rgba(0,0,0,.16) 68%,transparent 80%),
    linear-gradient(0deg,#000 0%,rgba(0,0,0,.72) 8%,transparent 24%);
}
@media(max-width:900px) {
  .hero-home { min-height:760px; align-items:end; }
  .hero-home .hero-picture {
    inset:0;
    width:100%;
    height:430px;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .hero-home .hero-picture .hero-media { object-fit:contain; object-position:center top; filter:brightness(.84) saturate(.9); }
  .hero-home::after { background:linear-gradient(180deg,transparent 0px,transparent 300px,rgba(0,0,0,.65) 385px,#000 435px); }
  .hero-home .hero-content { padding:435px 0 54px; }
}

/* Homepage discretion portrait: match the restrained exposure of the surrounding page. */
.home-discretion-visual { background:#050506; }
.home-discretion-visual img { filter:brightness(.76) contrast(1.06) saturate(.88); }
.home-discretion-visual::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.22) 100%);
}

/* Four individual suites: use verified room photography and a clear pending state where imagery is not yet available. */
.suite-overview { margin-top:46px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.suite-card { min-width:0; overflow:hidden; border:1px solid var(--line); background:linear-gradient(180deg,rgba(20,12,27,.9),rgba(7,6,9,.98)); }
.suite-card figure { position:relative; margin:0; aspect-ratio:4 / 3; overflow:hidden; background:#060508; }
.suite-card figure::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.24)); }
.suite-card figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.78) saturate(.9); }
.suite-card:first-child figure img { object-position:center 48%; }
.suite-card figure figcaption { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:18px 20px; color:#eee7f2; background:linear-gradient(0deg,rgba(0,0,0,.9),transparent); font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.suite-card > div:last-child { padding:28px 30px 32px; }
.suite-card h3 { margin-top:10px; font-size:clamp(1.45rem,2.2vw,2rem); }
.suite-card p { margin-top:12px; }
.suite-photo-pending { min-height:300px; padding:34px; display:flex; flex-direction:column; justify-content:flex-end; gap:10px; background:radial-gradient(circle at 76% 18%,rgba(138,43,255,.16),transparent 38%),linear-gradient(135deg,#09070c,#160b20); color:#bfb5c5; }
.suite-photo-pending span { color:var(--violet-light); font-size:.72rem; font-weight:700; letter-spacing:.16em; }
.suite-photo-pending strong { max-width:250px; color:#e8e1ec; font-size:1.05rem; }
.suite-standard-grid { margin-top:42px; }
@media(max-width:900px) {
  .suite-overview { margin-top:32px; grid-template-columns:1fr; gap:18px; }
  .suite-card figure { aspect-ratio:4 / 3; }
  .suite-card > div:last-child { padding:24px; }
  .suite-photo-pending { min-height:230px; }
}

/* Shared photo exposure for the dark REGÊNT House visual system. */
.welcome-bag-visual img { filter:brightness(.72) saturate(.88); }
.room-feature figure img,.room-feature-reverse figure img { filter:brightness(.76) saturate(.88); }
.contact-location-visual img { filter:brightness(.8) saturate(.86); }
.arrival-visual img { transform:none; object-position:center 44%; }


/* Suites header: same continuous hero system as the rest of the site, while retaining the full round bed. */
.rooms-hero-split { min-height:640px; background:#000; isolation:isolate; border-bottom:1px solid var(--line-soft); }
.rooms-hero-visual { position:absolute; inset:0 0 0 auto; z-index:0; width:53%; margin:0; background:#000; }
.rooms-hero-media { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; filter:brightness(.86) saturate(.9); }
.rooms-hero-split::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#000 0%,#000 39%,rgba(0,0,0,.9) 48%,rgba(0,0,0,.35) 61%,rgba(0,0,0,.04) 76%),linear-gradient(0deg,#000 0%,transparent 23%); }
.rooms-hero-content { position:relative; z-index:2; max-width:min(var(--max),calc(100% - 48px)); }
.rooms-hero-content h1 { max-width:650px; }
.rooms-hero-content .lead { max-width:620px; }
@media(max-width:900px) {
 .rooms-hero-split { min-height:760px; align-items:end; }
 .rooms-hero-visual { inset:0; width:100%; height:43%; }
 .rooms-hero-media { object-position:center center; }
 .rooms-hero-split::after { background:linear-gradient(0deg,#000 5%,#000 36%,rgba(0,0,0,.85) 49%,rgba(0,0,0,.25) 71%,transparent 100%); }
 .rooms-hero-content { padding:365px 0 58px; }
}

/* About header: keep the real lounge legible instead of fading it beneath the copy. */
.about-lounge-hero { min-height:640px; background:#000; isolation:isolate; }
.about-lounge-hero .hero-media {
  inset:0 0 0 auto;
  width:57%;
  height:100%;
  object-fit:cover;
  object-position:center 39%;
  filter:brightness(.84) saturate(.9);
}
.about-lounge-hero::before {
  background:linear-gradient(90deg,#000 0%,#000 38%,rgba(0,0,0,.9) 49%,rgba(0,0,0,.32) 64%,transparent 79%),linear-gradient(0deg,#000 0%,transparent 20%);
}
.about-lounge-hero .hero-content { position:relative; z-index:2; max-width:min(var(--max),calc(100% - 48px)); }
.about-lounge-hero h1 { max-width:760px; }
@media(max-width:900px) {
  .about-lounge-hero { min-height:750px; align-items:end; }
  .about-lounge-hero .hero-media { inset:0; width:100%; height:45%; object-position:center 30%; filter:brightness(.78) saturate(.9); }
  .about-lounge-hero::before { background:linear-gradient(0deg,#000 6%,#000 36%,rgba(0,0,0,.84) 52%,rgba(0,0,0,.16) 76%,transparent 100%); }
  .about-lounge-hero .hero-content { padding:370px 0 58px; }
}

/* Last-pass responsive image framing. */
.hero-home .hero-picture .hero-media { object-fit:contain; object-position:right center; }
.contact-hero .hero-media { object-fit:contain; object-position:right center; opacity:.74; }
.rooms-hero-media { object-fit:contain; object-position:center center; background:#000; }
@media(max-width:900px) {
  .hero-home .hero-picture .hero-media { object-position:center top; }
  .contact-hero .hero-media { object-position:center top; opacity:.68; }
  .rooms-hero-media { object-position:center center; }
}

/* Definitive feathered transitions: no hard vertical edge between the black canvas and photography. */
.hero-home .hero-picture,
.rooms-hero-visual,
.contact-hero { overflow:hidden; }
.hero-home .hero-picture::after,
.rooms-hero-visual::after,
.contact-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.hero-home .hero-picture::after {
  background:linear-gradient(90deg,#000 0%,#000 16%,rgba(0,0,0,.96) 30%,rgba(0,0,0,.7) 48%,rgba(0,0,0,.24) 72%,transparent 96%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 28%);
}
.rooms-hero-visual::after {
  background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 14%,rgba(0,0,0,.52) 34%,transparent 62%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 30%);
}
.contact-hero::before {
  /* Sit over the photo so the black editorial canvas feathers into it. */
  z-index:1;
  background:linear-gradient(90deg,#000 0%,#000 22%,rgba(0,0,0,.94) 34%,rgba(0,0,0,.64) 50%,rgba(0,0,0,.2) 73%,transparent 94%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 28%);
}
.hero-home .hero-picture .hero-media,
.contact-hero .hero-media {
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 16%,#000 42%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 16%,#000 42%,#000 100%);
}

/* Let the dedicated overlays handle the feathering; a transparent image mask
   would otherwise create a second, visible edge at the same boundary. */
.hero-home .hero-picture .hero-media {
  -webkit-mask-image:none;
  mask-image:none;
}

/* Contact hero: keep the portrait comfortably framed and let the black canvas
   dissolve into the image instead of exposing a hard vertical edge. */
.contact-hero { background:#000; isolation:isolate; }
.contact-hero .hero-media {
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right center;
  opacity:1;
  -webkit-mask-image:none;
  mask-image:none;
}

@media(max-width:900px) {
  .hero-home .hero-picture::after { background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.72) 78%,#000 100%); }
  .rooms-hero-visual::after { background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.62) 72%,#000 100%); }
  .contact-hero::before { z-index:1; background:linear-gradient(180deg,transparent 12%,rgba(0,0,0,.08) 34%,rgba(0,0,0,.74) 68%,#000 100%); }
  .hero-home .hero-picture .hero-media,
  .contact-hero .hero-media {
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.25) 84%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.25) 84%,transparent 100%);
  }

  .contact-hero { min-height:740px; align-items:end; }
  .contact-hero .hero-media {
    inset:0;
    width:100%;
    height:54%;
    object-fit:cover;
    object-position:76% 20%;
    opacity:.88;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .contact-hero .hero-content { padding:390px 0 58px; }
  .hero-home .hero-picture .hero-media {
    -webkit-mask-image:none;
    mask-image:none;
  }
}

@media (max-width:1120px) {
  .footer-main { grid-template-columns:minmax(200px,1.1fr) repeat(2,minmax(0,1fr)); gap:32px; }
  .footer-logo { width:210px; }
}

@media (max-width:720px) {
  .brand-mark { width:50px; height:41px; flex-basis:50px; }
  .footer-main { grid-template-columns:1fr; gap:34px; }
  .footer-brand { width:min(100%,220px); }
  .footer-logo { width:205px; }
}

@media (max-width:430px) {
  .brand-mark { width:46px; height:38px; flex-basis:46px; }
  .brand-copy { display:none; }
  .brand { gap:0; }
  .footer-logo { width:190px; }
}

/* v2.0.51 final compact worker layout.  Keep the portrait as a supporting
   visual instead of allowing it to take over the page. */
@media (min-width:901px) {
  .hero-home,
  .workers-hero {
    min-height: 620px;
    background: #000;
  }
  .hero-home .hero-picture,
  .workers-hero .hero-media {
    inset: 0 0 0 auto;
    width: 50%;
    height: 100%;
  }
  .hero-home .hero-picture .hero-media,
  .workers-hero .hero-media {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right center;
  }
  .hero-home::after,
  .workers-hero::before {
    background: linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,.94) 51%,rgba(0,0,0,.5) 67%,rgba(0,0,0,.08) 100%),linear-gradient(0deg,#000 0%,transparent 26%);
  }
  .hero-home .hero-content,
  .workers-hero .hero-content {
    max-width: min(var(--max),calc(100% - 48px));
    padding-right: 50%;
  }
  .workers-grid {
    width: 100%;
    max-width: 980px;
    grid-template-columns: repeat(auto-fit,minmax(220px,260px));
    justify-content: start;
    gap: 16px;
  }
  .professional-card { max-width: 260px; }
  .professional-media { aspect-ratio: 4 / 3; max-height: 195px; }
  .professional-body { padding: 18px; }
  .professional-body h3 { margin-bottom: 10px; font-size: 1.25rem; }
}

@media (max-width:900px) {
  .hero-home .hero-picture {
    inset: 0 0 auto;
    width: 100%;
    height: 400px;
  }
  .hero-home .hero-picture .hero-media {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
  }
  .hero-home .hero-content { padding-top: 405px; }
  .workers-hero .hero-media {
    inset: 0 0 auto;
    width: 100%;
    height: 400px;
    object-fit: contain;
    object-position: center top;
  }
  .workers-hero .hero-content { padding-top: 385px; }
  .professional-card { width: min(100%,320px); max-width: 320px; }
  .professional-media { aspect-ratio: 4 / 3; max-height: none; }
}

/* v2.0.53: keep homepage hero copy readable beside the portrait.  The
   previous padding-based reservation could shrink the grid item itself on
   intermediate desktop widths, making Dutch copy wrap one word per line. */
@media (min-width:901px) {
  .hero-home .hero-content {
    width: min(var(--max), calc(100% - 48px));
    max-width: min(var(--max), calc(100% - 48px));
    min-width: 0;
    padding-right: 0;
  }
  .hero-home .hero-content .eyebrow,
  .hero-home .hero-content h1,
  .hero-home .hero-content .lead,
  .hero-home .hero-content .actions {
    max-width: 700px;
  }
  .hero-home .hero-content .lead { width: min(650px, 100%); }
}

/* FAQ header: use the supplied wide composition without enlarging the
   portrait, while keeping the left side calm and readable for native copy. */
.faq-hero { background:#000; isolation:isolate; overflow:hidden; }
.faq-hero .hero-media {
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right center;
  opacity:1;
  mix-blend-mode:normal;
}
.faq-hero::after {
  z-index:1;
  background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.96) 22%,rgba(0,0,0,.7) 40%,rgba(0,0,0,.24) 68%,transparent 94%),linear-gradient(0deg,rgba(0,0,0,.66),transparent 30%);
}
@media(max-width:900px) {
  .faq-hero { min-height:720px; align-items:end; }
  .faq-hero .hero-media {
    inset:0 0 auto;
    width:100%;
    height:54%;
    object-fit:cover;
    object-position:76% 24%;
    opacity:.9;
  }
  .faq-hero::after { z-index:1; background:linear-gradient(180deg,transparent 8%,rgba(0,0,0,.12) 34%,rgba(0,0,0,.78) 68%,#000 100%); }
  .faq-hero .hero-content { padding:370px 0 58px; }
}

/* 2.0.24: the cropped mark keeps the header logo optically correct at 100% zoom. */
.brand-mark {
  width:42px;
  height:38px;
  flex:0 0 42px;
  aspect-ratio:512 / 458;
  object-fit:contain;
  object-position:center;
}
.brand-copy { margin-left:0; }
.start-fast-section {
  background:linear-gradient(100deg,rgba(138,43,255,.065),rgba(9,7,13,.96) 58%,rgba(138,43,255,.035));
}
.start-fast-section .section-head { max-width:820px; }
.start-fast-grid .card { min-height:245px; }
.start-fast-grid .card-number { margin-bottom:44px; }
@media (max-width:720px) {
  .brand-mark { width:38px; height:34px; flex-basis:38px; }
  .start-fast-grid .card { min-height:0; }
}
@media (max-width:430px) {
  .brand-mark { width:34px; height:30px; flex-basis:34px; }
}

/* Contact header premium exposure pass: keep the portrait present but bring it
   into the same restrained black-violet range as the other headers. */
.contact-hero::before {
  background:
    linear-gradient(90deg,#000 0%,#000 22%,rgba(0,0,0,.96) 38%,rgba(0,0,0,.78) 58%,rgba(0,0,0,.36) 80%,rgba(0,0,0,.12) 100%),
    linear-gradient(0deg,rgba(0,0,0,.68),transparent 32%);
}
.contact-hero .hero-media {
  opacity:.84;
  filter:brightness(.78) contrast(1.06) saturate(.9);
}
@media (max-width:900px) {
  .contact-hero::before {
    background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.12) 32%,rgba(0,0,0,.68) 70%,#000 100%);
  }
  .contact-hero .hero-media {
    opacity:.8;
    filter:brightness(.8) contrast(1.04) saturate(.9);
  }
}

/* FAQ header clarity pass: keep the supplied image clean and free of the
   generic diagonal texture used by other subheroes. */
.faq-hero::before {
  background:
    linear-gradient(100deg,rgba(5,4,8,.98) 0 42%,rgba(5,4,8,.42) 72%,rgba(5,4,8,.08) 100%),
    radial-gradient(circle at 82% 42%,rgba(138,43,255,.12),transparent 30%);
}
.faq-hero .hero-media {
  opacity:1;
  filter:brightness(1.08) contrast(1.06) saturate(1.04);
}
.faq-hero::after {
  background:
    linear-gradient(90deg,#000 0%,rgba(0,0,0,.94) 22%,rgba(0,0,0,.58) 40%,rgba(0,0,0,.12) 68%,transparent 94%),
    linear-gradient(0deg,rgba(0,0,0,.38),transparent 34%);
}
@media (max-width:900px) {
  .faq-hero::before {
    background:radial-gradient(circle at 74% 28%,rgba(138,43,255,.14),transparent 34%);
  }
  .faq-hero::after {
    background:linear-gradient(180deg,transparent 8%,rgba(0,0,0,.08) 34%,rgba(0,0,0,.64) 68%,#000 100%);
  }
}

/* FAQ header final clarity pass: render the supplied artwork directly.  The
   source already contains its own black-to-violet composition, so additional
   gradients, glow layers and exposure filters only create a milky haze. */
.faq-hero::before,
.faq-hero::after {
  background: none !important;
  opacity: 0 !important;
}
.faq-hero .hero-media {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* 2.0.33: feather the contained FAQ artwork into the black canvas.  The
   supplied composition is intentionally wide with transparent/empty space
   outside the artwork box; this overlay removes the visible vertical seam
   without changing the model's framing or adding a milky haze. */
.faq-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    #000 0%,
    #000 32%,
    rgba(0,0,0,.98) 42%,
    rgba(0,0,0,.82) 50%,
    rgba(0,0,0,.42) 60%,
    rgba(0,0,0,.12) 73%,
    transparent 100%
  ) !important;
  opacity: 1 !important;
}
.faq-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.4)) !important;
  opacity: 1 !important;
}
@media (max-width: 900px) {
  .faq-hero::before {
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.05) 42%, rgba(0,0,0,.64) 76%, #000 100%) !important;
  }
  .faq-hero::after {
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.44)) !important;
  }
}

/* 2.0.34: the contact artwork is a contained, right-aligned composition.
   Feather the image element itself so its purple left edge dissolves into the
   black canvas instead of starting at a visible vertical seam. */
.contact-hero .hero-media {
  inset: 0 0 0 auto;
  width: auto;
  max-width: none;
  height: 100%;
  object-fit: contain;
  object-position: center;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 18%, rgba(0,0,0,.7) 38%, #000 58%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 18%, rgba(0,0,0,.7) 38%, #000 58%, #000 100%);
}
.contact-hero::before {
  z-index: 1;
  background: linear-gradient(90deg, #000 0%, #000 23%, rgba(0,0,0,.96) 37%, rgba(0,0,0,.7) 49%, rgba(0,0,0,.24) 66%, transparent 88%) !important;
}
@media (max-width: 900px) {
  .contact-hero .hero-media {
    inset: 0 0 auto;
    width: 100%;
    max-width: none;
    height: 54%;
    object-fit: cover;
    object-position: 76% 20%;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 60%, rgba(0,0,0,.28) 86%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 60%, rgba(0,0,0,.28) 86%, transparent 100%);
  }
  .contact-hero::before {
    background: linear-gradient(180deg, transparent 8%, rgba(0,0,0,.1) 36%, rgba(0,0,0,.72) 70%, #000 100%) !important;
  }
}

/* v2.0.54: authoritative header and overflow pass.
   The stylesheet contains legacy hero passes from earlier releases. These
   final rules deliberately scope the worker image to its right-hand column,
   keep the approved title rhythm in both languages and prevent the homepage
   signature figure from widening the document. */
.signature-feature > * { min-width: 0; }
.signature-image { width: 100%; max-width: 100%; }

@media (min-width: 901px) {
  .workers-hero {
    min-height: 620px;
    align-items: center;
  }
  .workers-hero .hero-media {
    inset: 0 0 0 auto;
    width: 50%;
    height: 100%;
    object-fit: cover;
    object-position: 78% center;
  }
  .workers-hero .hero-content {
    width: min(var(--max), calc(100% - 48px));
    max-width: min(var(--max), calc(100% - 48px));
    min-width: 0;
    padding-right: 50%;
  }
  .workers-hero h1 { max-width: 680px; }
  .workers-hero h1 .accent,
  .guests-hero h1 .accent,
  .about-lounge-hero h1 .accent,
  .rooms-hero-content h1 .accent { display: block; }
  .about-lounge-hero h1 { max-width: 820px; }
}

@media (max-width: 900px) {
  .workers-hero .hero-media {
    width: 100%;
    object-fit: cover;
    object-position: 72% center;
  }
  .workers-hero h1 .accent,
  .guests-hero h1 .accent,
  .about-lounge-hero h1 .accent,
  .rooms-hero-content h1 .accent { display: block; }
  .signature-feature > * { min-width: 0; }
}

@media (max-width: 720px) {
  .workers-hero .hero-media { height: 62%; object-position: 72% center; }
}

@media (max-width: 430px) {
  .workers-hero .hero-media { height: 58%; object-position: 74% center; }
}

/* v2.0.55: authoritative bilingual hero rhythm. Every page header uses the
   same two-line structure in English and Dutch; this prevents translated copy
   from collapsing into one-word lines at intermediate desktop widths. */
.hero h1 .hero-line {
  display: block;
  max-width: 100%;
  text-wrap: balance;
}
.hero .hero-content,
.hero .hero-content > * { min-width: 0; }
.hero-home .hero-content h1 { max-width: 760px; }
.guests-hero .hero-content h1 { max-width: 800px; }
.workers-hero .hero-content h1 { max-width: 700px; }
.bdsm-hero .hero-content h1 { max-width: 680px; }
.rooms-hero-content h1 { max-width: 700px; }
.about-lounge-hero .hero-content h1 { max-width: 820px; }
.faq-hero .hero-content h1,
.contact-hero .hero-content h1 { max-width: 680px; }

@media (min-width: 901px) {
  .hero-home .hero-content,
  .guests-hero .hero-content,
  .workers-hero .hero-content,
  .rooms-hero-content,
  .about-lounge-hero .hero-content,
  .faq-hero .hero-content,
  .contact-hero .hero-content {
    width: min(var(--max), calc(100% - 48px));
    max-width: min(var(--max), calc(100% - 48px));
  }
  .hero-home .hero-content h1,
  .guests-hero .hero-content h1,
  .workers-hero .hero-content h1,
  .bdsm-hero .hero-content h1,
  .rooms-hero-content h1,
  .about-lounge-hero .hero-content h1,
  .faq-hero .hero-content h1,
  .contact-hero .hero-content h1 {
    line-height: 1.04;
  }
}

@media (max-width: 900px) {
  .hero h1 .hero-line { text-wrap: balance; }
  .hero-home .hero-content h1,
  .guests-hero .hero-content h1,
  .workers-hero .hero-content h1,
  .bdsm-hero .hero-content h1,
  .rooms-hero-content h1,
  .about-lounge-hero .hero-content h1,
  .faq-hero .hero-content h1,
  .contact-hero .hero-content h1 { max-width: 100%; }
}

/* v2.0.57: keep the approved hero headline units intact on desktop. The
   explicit English/Dutch spans are the intended two lines; they must not
   wrap internally because an image column happens to reduce the available
   width. Mobile keeps normal wrapping for comfortable reading. */
@media (min-width: 901px) {
  .workers-hero .hero-content {
    padding-right: 0;
  }
  .workers-hero .hero-content h1 {
    max-width: 760px;
    font-size: clamp(2.9rem, 4.4vw, 4.75rem);
  }
  .workers-hero .hero-content h1 .hero-line,
  .rooms-hero-content h1 .hero-line,
  .about-lounge-hero .hero-content h1 .hero-line {
    white-space: nowrap;
  }
  .rooms-hero-content h1 {
    max-width: 900px;
    font-size: clamp(2.9rem, 4.4vw, 4.75rem);
  }
  .about-lounge-hero .hero-content h1 {
    max-width: 1080px;
    font-size: clamp(3.1rem, 5.15vw, 5.2rem);
  }
}

@media (max-width: 900px) {
  .workers-hero .hero-content h1 .hero-line,
  .rooms-hero-content h1 .hero-line,
  .about-lounge-hero .hero-content h1 .hero-line {
    white-space: normal;
  }
}

/* Keep sentence-level section headings readable in both languages. */
.section-head h2 .section-heading-line {
  display: block;
}

/* v2.0.60: keep the framed homepage worker portrait fully visible. The older
   .visual-stage img rule is intentionally kept for legacy visual stages, but
   it has higher specificity than the generic image override. Scope the
   current image explicitly and use contain so the added headroom in the
   framed asset cannot be cropped by the 4:5 card. */
.visual-stage img.visual-stage-image {
  position: absolute;
  inset: 0;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  background: #050407;
  transform: none;
  filter: none;
  opacity: 1;
}
