/* BridgeWork shared visual layer. Load after each page's original styles.
   Local system fonts and opaque fallback surfaces work without external assets.
   Supports original pages and the rebuilt navigation/form markup. */

.bw-consent {
  position: fixed; inset-inline: 1rem; bottom: 1rem; z-index: 1000;
  width: min(560px, calc(100vw - 2rem)); margin-inline: auto;
  padding: 1.4rem; border: 1px solid var(--bw-border-strong);
  border-radius: 14px; background: #12372b; color: var(--bw-cream);
  box-shadow: 0 15px 50px #0006;
}
.bw-consent h2 { font: 600 1.2rem var(--bw-serif); margin: 0 0 .6rem; color: var(--bw-cream); }
.bw-consent p { font-size: .9rem; line-height: 1.65; color: var(--bw-muted); }
.bw-consent-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }
.bw-consent-actions button, .bw-consent-preferences { min-height: 44px; padding: .65rem 1rem; color: var(--bw-cream); background: #1a4033; border: 1px solid var(--bw-border-strong); border-radius: 7px; cursor: pointer; }
.bw-consent-actions button:first-child { background: var(--bw-mint); color: var(--bw-deep); }
.bw-consent-preferences { font-size: .8rem; }
:root {
  color-scheme: dark;
  --bw-base: #0c2921;
  --bw-deep: #08231c;
  --bw-surface: #12372b;
  --bw-surface-raised: #1a4033;
  --bw-cream: #f3f0e5;
  --bw-muted: #c0cec4;
  --bw-mint: #bddbc7;
  --bw-bronze: #bea67b;
  --bw-border: rgba(223, 237, 218, .19);
  --bw-border-strong: rgba(223, 237, 218, .34);
  --bw-paper: #bfbda9;
  --bw-paper-ink: #0c2921;
  --bw-paper-muted: #243c2e;
  --bw-paper-accent: #2f4436;
  --bw-paper-border: rgba(235, 216, 181, .38);
  --bw-paper-line: rgba(27, 54, 41, .25);
  --bw-glass: linear-gradient(135deg, rgba(255, 249, 233, .12), rgba(230, 211, 176, .08)), rgba(255, 242, 218, .70);
  --bw-shadow: 0 14px 34px rgba(0, 13, 8, .20), inset 0 1px 0 rgba(255, 252, 241, .30);
  --bw-serif: Georgia, "Times New Roman", serif;
  --bw-sans: "Segoe UI", Arial, sans-serif;
  --bw-gutter: clamp(1.25rem, 4.8vw, 4rem);
  --bw-radius: 15px;
  /* Keep legacy variables useful while overriding their light section surfaces. */
  --forest: var(--bw-base);
  --forest-mid: var(--bw-surface);
  --green: var(--bw-mint);
  --green-bright: var(--bw-mint);
  --mint: var(--bw-mint);
  --cream: var(--bw-cream);
  --text: var(--bw-cream);
  --text-light: var(--bw-muted);
  --white: var(--bw-cream);
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
.skip-link {
  position: absolute; inset-inline-start: 1rem; top: -5rem; z-index: 200;
  padding: .65rem 1rem; background: var(--bw-cream); color: var(--bw-deep);
}
.skip-link:focus { top: .5rem; }
html {
  scroll-padding-top: 7rem;
  scrollbar-color: #708e7d var(--bw-deep);
}

body {
  background: var(--bw-base);
  color: var(--bw-cream);
  font-family: var(--bw-sans);
  font-size: 1rem;
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--bw-mint); color: var(--bw-deep); }
[hidden] { display: none !important; }
img, svg, video { max-width: 100%; }
button, input, select, textarea { font: inherit; }
a, button, summary, input, select, textarea { -webkit-tap-highlight-color: rgba(189, 219, 199, .15); }
a { color: var(--bw-mint); text-underline-offset: .22em; }
a:hover { color: var(--bw-cream); }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--bw-mint);
  outline-offset: 4px;
}
section[id], [id].section-inner, .faq-item { scroll-margin-top: 7rem; }
h1, h2, h3, h4 { color: var(--bw-cream); }

/* Main navigation: the language sub-nav is reset separately below. */
body > nav, .site-nav, .bw-site-nav {
  position: sticky;
  inset: 0 0 auto;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem 1.4rem;
  min-height: 80px;
  padding: .95rem var(--bw-gutter);
  background: rgba(9, 38, 29, .95);
  border-bottom: 1px solid var(--bw-border);
  box-shadow: 0 3px 22px rgba(0, 15, 9, .1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.logo {
  flex-shrink: 0;
  color: var(--bw-cream);
  font-family: var(--bw-serif);
  font-size: 1.37rem;
  line-height: 1.2;
  letter-spacing: -.045em;
  text-decoration: none;
  direction: ltr;
  unicode-bidi: isolate;
}
.logo span { color: var(--bw-mint); }
.nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem 1.3rem;
  min-width: 0;
}
nav a {
  color: var(--bw-muted);
  font-size: .85rem;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}
.nav-links > a:not(.nav-cta):not(.lang-toggle), .nav-dropdown > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
nav a:hover, nav a.active, nav a[aria-current="page"] { color: var(--bw-cream); }
.nav-cta, .hero-cta, .cta-btn, .button.primary, .btn-primary,
.bw-legacy-digital .button,
.contact-form button[type="submit"], .need-form button[type="submit"],
.employer-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  min-height: 46px;
  max-width: 100%;
  padding: .85rem 1.5rem;
  border: 1px solid var(--bw-mint);
  border-radius: 8px;
  background: var(--bw-mint);
  color: var(--bw-deep) !important;
  font-family: var(--bw-sans);
  font-weight: 650;
  font-size: .9rem;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(0, 18, 10, .1);
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease;
}
.nav-cta { padding: .65rem 1rem; font-size: .8rem; }
.nav-cta:hover, .hero-cta:hover, .cta-btn:hover,
.button.primary:hover, .btn-primary:hover, .bw-legacy-digital .button:hover {
  background: #d4e7d8;
  border-color: #d4e7d8;
  color: var(--bw-deep);
  transform: none;
}
.button.secondary, .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .85rem 1.35rem;
  border: 1px solid var(--bw-border-strong);
  border-radius: 8px;
  background: rgba(221, 232, 214, .04);
  color: var(--bw-cream);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}
.button.secondary:hover, .btn-secondary:hover { background: rgba(221, 232, 214, .09); }
.lang-toggle, .lang-menu > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  gap: .45rem;
  padding: .55rem .8rem;
  border: 1px solid var(--bw-border-strong);
  border-radius: 8px;
  background: rgba(227, 237, 220, .04);
  color: var(--bw-cream) !important;
  font-size: .8rem;
  letter-spacing: .025em;
  line-height: 1.25;
  cursor: pointer;
}
.lang-toggle:hover, .lang-menu > summary:hover {
  background: rgba(227, 237, 220, .09);
  border-color: var(--bw-mint);
}
.nav-mobile-lang { display: none; }
.bw-language-controls {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
  flex-shrink: 0;
  direction: ltr;
}
.bw-language-controls .lang-menu { flex-shrink: 0; }
.bw-language-flags > summary { min-width: 58px; }
.bw-current-flag, .bw-language-flag {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 18px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(243, 240, 229, .22);
}
.bw-current-flag { width: 28px; height: 21px; }
.bw-language-flags .bw-language-switch a { justify-content: flex-start; gap: .7rem; }
.nav-dropdown, .lang-menu { position: relative; }
.nav-dropdown .caret { color: var(--bw-bronze); opacity: 1; }
.dropdown-menu, .lang-menu > .lang-options, .lang-menu > .lang-links,
.lang-menu > .bw-language-switch, .lang-menu > div {
  position: absolute;
  top: calc(100% + .4rem);
  left: 0;
  min-width: 220px;
  max-width: min(24rem, calc(100vw - 2.5rem));
  padding: .55rem;
  background: #12382c;
  border: 1px solid var(--bw-border-strong);
  border-radius: 12px;
  box-shadow: 0 12px 34px rgba(0, 16, 10, .35);
  z-index: 110;
}
.dropdown-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
}
.nav-dropdown:hover .dropdown-menu, .nav-dropdown.open .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown-menu a, .lang-menu a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: .65rem .85rem;
  border-radius: 6px;
  color: var(--bw-muted);
  white-space: normal;
}
.dropdown-menu a:hover, .lang-menu a:hover { background: rgba(217, 235, 212, .07); color: var(--bw-cream); }
.lang-menu > summary { list-style: none; }
.lang-menu > summary::-webkit-details-marker { display: none; }
.lang-menu > summary .lang-chevron { display: none; }
.lang-menu > summary::after { content: "⌄"; color: var(--bw-bronze); }
.lang-menu[open] > summary::after { content: "⌃"; }
.lang-menu > .lang-options, .lang-menu > .lang-links,
.lang-menu > .bw-language-switch, .lang-menu > div {
  left: auto;
  right: 0;
  min-width: 11rem;
  max-height: min(32rem, calc(100dvh - 11rem));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.lang-menu > .bw-language-switch {
  background: linear-gradient(135deg, rgba(226, 239, 217, .06), rgba(226, 239, 217, .015)), rgba(18, 56, 44, .97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.lang-menu:not([open]) > :not(summary) { display: none; }
.lang-menu[open] > .bw-language-switch { display: flex; flex-direction: column; align-items: stretch; }

/* The static language switch must never inherit fixed positioning from nav. */
.bw-language-switch {
  position: static;
  inset: auto;
  z-index: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .15rem .2rem;
  width: auto;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  padding: .25rem;
  border: 1px solid var(--bw-border);
  border-radius: 9px;
  background: rgba(222, 234, 215, .025);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.bw-language-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .4rem .65rem;
  border-radius: 6px;
  color: var(--bw-muted);
  font-size: .78rem;
  line-height: 1.3;
  white-space: nowrap;
}
.bw-language-switch a:hover { background: rgba(218, 236, 212, .07); color: var(--bw-cream); }
.bw-language-switch a[aria-current="page"] {
  background: rgba(189, 219, 199, .12);
  color: var(--bw-cream);
  box-shadow: inset 0 0 0 1px var(--bw-border-strong);
}
.mobile-menu, .mobile-nav, .nav-mobile { display: none; }
.mobile-menu > summary, .mobile-nav > summary, .nav-mobile > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .55rem .8rem;
  border: 1px solid var(--bw-border-strong);
  border-radius: 8px;
  color: var(--bw-cream);
  background: rgba(227, 237, 220, .04);
  font-size: .8rem;
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}
.mobile-menu > summary::-webkit-details-marker,
.mobile-nav > summary::-webkit-details-marker,
.nav-mobile > summary::-webkit-details-marker { display: none; }
.mobile-menu-links, .mobile-nav-links {
  position: absolute;
  top: calc(100% + .35rem);
  inset-inline: var(--bw-gutter);
  max-height: min(70vh, 36rem);
  overflow-y: auto;
  padding: .8rem;
  border: 1px solid var(--bw-border-strong);
  border-radius: 12px;
  background: #12382c;
  box-shadow: 0 12px 34px rgba(0, 16, 10, .35);
}
.mobile-menu:not([open]) .mobile-menu-links,
.mobile-nav:not([open]) .mobile-nav-links { display: none; }
.mobile-menu-links a, .mobile-nav-links a {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: .65rem .8rem;
  border-radius: 7px;
  color: var(--bw-cream);
}
.mobile-menu-links a:hover, .mobile-nav-links a:hover { background: rgba(218, 236, 212, .075); }

/* Restrained dark hero: no glowing spheres and no dependency on imagery. */
.hero {
  min-height: auto;
  padding: clamp(3.5rem, 7.8vw, 7.25rem) var(--bw-gutter) clamp(3.8rem, 7vw, 6rem);
  background: linear-gradient(135deg, #10372b 0%, #0c2921 74%);
  overflow: visible;
}
.hero::before { display: none; }
.hero::after {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(190, 166, 123, .35), transparent);
}
.hero-inner {
  width: 100%;
  max-width: 1160px;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(2rem, 5.2vw, 4.75rem);
  align-items: center;
}
.hero-inner > *, .section-inner > *, .contact-inner > * { min-width: 0; }
.hero h1 {
  max-width: 20ch;
  margin-bottom: 1.7rem;
  font-family: var(--bw-serif);
  font-size: clamp(2.65rem, 4.5vw, 4.25rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: var(--bw-cream);
  overflow-wrap: break-word;
}
.hero h1 em { color: var(--bw-mint); font-weight: 400; }
.hero p {
  max-width: 56ch;
  margin-bottom: 2rem;
  color: var(--bw-muted);
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.85;
}
.hero p.hero-label, .hero-label, .section-label, .eyebrow,
.ep-label, .vb-label, .hb-label, .eb-label {
  color: var(--bw-bronze);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .15em;
  line-height: 1.7;
  text-transform: uppercase;
}
.hero p.hero-label { max-width: none; margin-bottom: 1.5rem; }
.hero-stats, .hero-cards { gap: 1rem; }
.bw-localized .hero-inner { display: grid; margin-inline: auto; }
.bw-localized .hero-stats { display: grid; gap: 1rem; }
.bw-localized .section-inner { margin-inline: auto; }
.bw-localized .steps, .bw-localized .sector-cards { display: grid; }
.bw-localized .sector-card { display: block; padding: 1.5rem; }
.bw-localized .hero h1, .bw-localized h2, .bw-localized h3 { margin-top: 0; }
.bw-localized .stat-card h2 { font: 400 1.4rem var(--bw-serif); margin-bottom: .65rem; }
.bw-localized .stat-card p { margin-bottom: 0; font-size: .88rem; line-height: 1.7; }
.bw-localized .step-num { color: var(--bw-bronze); font: 400 2.3rem var(--bw-serif); }
.bw-localized .section-title { margin-bottom: 1.5rem; }
.breadcrumb {
  padding: 1.7rem var(--bw-gutter) 0;
  background: #10372b;
}
.breadcrumb-inner { max-width: 1160px; }
.breadcrumb a, .breadcrumb span { color: var(--bw-muted); font-size: .78rem; line-height: 1.7; }
.breadcrumb + .hero { padding-top: 2.5rem; }

/* Smoked beige glass: local color tokens keep legacy headings, labels and inline
   variable-based colors in forest ink without changing the dark page theme. */
.stat-card, .hero-side, .hero-card, .problem-quote, .problem-item,
.problem-point, .step, .pricing-card, .risk-box, .risk-point,
.principle-card, .ethical-point, .ep-item, .employer-pays,
.sector-card, .contact-note, .role-card, .stat-box, .legal-box,
.tl-item, .faq-item, .offer-point, .visa-box, .visa-note,
.req-card, .ethics-box, .honesty-box, .highlight-box, .card,
.myth-card, .real-card, .scam-warning, .note-box, .panel, .example,
.direct-contact, .bw-consent, .contact-form, .need-form,
.employer-form, .brief-form, form#contact,
.bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section,
.dropdown-menu, .lang-menu > .bw-language-switch,
.mobile-menu-links, .mobile-nav-links {
  --bw-cream: var(--bw-paper-ink);
  --bw-muted: var(--bw-paper-muted);
  --bw-mint: var(--bw-paper-ink);
  --bw-bronze: var(--bw-paper-accent);
  --bw-border: var(--bw-paper-line);
  --bw-border-strong: rgba(27, 54, 41, .45);
  --green: var(--bw-paper-ink);
  --green-bright: var(--bw-paper-ink);
  --mint: var(--bw-paper-ink);
  --text: var(--bw-paper-ink);
  --text-light: var(--bw-paper-muted);
  --white: var(--bw-paper-ink);
  color-scheme: light;
  background: var(--bw-glass);
  color: var(--bw-cream);
  border: 1px solid var(--bw-paper-border);
  border-top-color: rgba(255, 249, 229, .48);
  border-radius: var(--bw-radius);
  box-shadow: var(--bw-shadow);
  backdrop-filter: blur(12px) saturate(1.05);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
}
/* Some old pages hard-code pale inline text or white panel sublabels. These
   targeted overrides keep quotes, sources and calls to action readable. */
:where(.stat-card, .hero-side, .hero-card, .problem-quote, .problem-item,
  .problem-point, .step, .pricing-card, .risk-box, .risk-point,
  .principle-card, .ethical-point, .ep-item, .employer-pays,
  .sector-card, .contact-note, .role-card, .stat-box, .legal-box,
  .tl-item, .faq-item, .offer-point, .visa-box, .visa-note,
  .req-card, .ethics-box, .honesty-box, .highlight-box, .card,
  .myth-card, .real-card, .scam-warning, .note-box, .panel, .example,
  .direct-contact, .bw-consent, .contact-form, .need-form,
  .employer-form, .brief-form, form#contact,
  .bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section) [style*="color:"] {
  color: var(--bw-paper-muted) !important;
}
.panel .eyebrow, .myth-card .rc-label { color: var(--bw-paper-accent); }
.panel .row { border-color: var(--bw-paper-line); }
.panel .row small, .scam-warning li, .direct-contact .hint,
.note-box p, .example p { color: var(--bw-paper-muted); }
.myth-card .num { color: var(--bw-paper-accent); opacity: 1; }
.real-card .num, .real-card .rc-label { color: var(--bw-paper-ink); }
:where(.stat-card, .hero-side, .hero-card, .problem-quote, .pricing-card,
  .principle-card, .ethical-point, .employer-pays, .contact-note,
  .role-card, .stat-box, .legal-box, .tl-item, .faq-item, .offer-point,
  .visa-box, .visa-note, .req-card, .ethics-box, .honesty-box,
  .highlight-box, .card, .panel, .example, .direct-contact,
  .contact-form, .need-form, .employer-form, .brief-form, form#contact,
  .bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section) a {
  color: var(--bw-paper-ink);
  text-decoration-color: rgba(12, 41, 33, .5);
}
:where(.stat-card, .hero-side, .hero-card, .problem-quote, .pricing-card,
  .principle-card, .ethical-point, .employer-pays, .contact-note,
  .role-card, .stat-box, .legal-box, .tl-item, .faq-item, .offer-point,
  .visa-box, .visa-note, .req-card, .ethics-box, .honesty-box,
  .highlight-box, .card, .panel, .example, .direct-contact,
  .contact-form, .need-form, .employer-form, .brief-form, form#contact,
  .bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section) a:hover {
  color: var(--bw-paper-ink);
  text-decoration-thickness: 2px;
}
.sector-card [style*="color:"] { color: var(--bw-paper-ink) !important; }
.problem-quote cite, .stat-box .source { color: var(--bw-paper-accent); }
.bw-consent-actions button {
  background: rgba(255, 249, 233, .4);
  border-color: var(--bw-paper-line);
  color: var(--bw-paper-ink);
}
.bw-consent-actions button:first-child {
  background: var(--bw-paper-ink);
  color: var(--bw-paper);
}
.bw-consent-actions button:hover {
  background: rgba(255, 249, 233, .7);
  border-color: var(--bw-paper-accent);
}
.bw-consent-actions button:first-child:hover { background: #173d2e; color: var(--bw-paper); }
:where(.stat-card, .hero-side, .hero-card, .pricing-card, .contact-note,
  .principle-card, .legal-box, .faq-item, .card, .panel, .direct-contact)
  :is(.hero-cta, .cta-btn, .button.primary, .btn-primary),
.contact-form button[type="submit"], .need-form button[type="submit"],
.employer-form button[type="submit"], form#contact button[type="submit"] {
  background: var(--bw-paper-ink);
  border-color: var(--bw-paper-ink);
  color: var(--bw-paper) !important;
}
:where(.stat-card, .hero-side, .hero-card, .pricing-card, .contact-note,
  .principle-card, .legal-box, .faq-item, .card, .panel, .direct-contact)
  :is(.hero-cta, .cta-btn, .button.primary, .btn-primary):hover,
.contact-form button[type="submit"]:hover, .need-form button[type="submit"]:hover,
.employer-form button[type="submit"]:hover, form#contact button[type="submit"]:hover {
  background: #173d2e;
  border-color: #173d2e;
  color: var(--bw-paper) !important;
}
.dropdown-menu a:hover, .lang-menu .bw-language-switch a:hover,
.bw-language-switch a[aria-current="page"],
.mobile-menu-links a:hover, .mobile-nav-links a:hover {
  background: rgba(131, 103, 58, .12);
  color: var(--bw-paper-ink);
}
.dropdown-menu a:focus-visible, .lang-menu .bw-language-switch a:focus-visible,
.mobile-menu-links a:focus-visible, .mobile-nav-links a:focus-visible {
  outline-color: var(--bw-paper-ink);
}
/* Overlaid menus need a denser surface so page text cannot compete with links. */
.dropdown-menu, .lang-menu > .bw-language-switch,
.mobile-menu-links, .mobile-nav-links { background: rgba(245, 237, 221, .98); }
.stat-card { padding: 1.65rem 1.8rem; }
.stat-card::before { display: none; }
.stat-number, .stat-box .big {
  color: var(--bw-mint);
  font-family: var(--bw-serif);
  font-size: 2.45rem;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.05;
}
.stat-label { color: var(--bw-muted); font-size: .87rem; font-weight: 400; line-height: 1.6; }
.stat-card [style*="color:"], .stat-box .source { color: var(--bw-muted) !important; }
.hero-card { padding: 1.4rem 1.65rem; }
.hero-card::before { display: none; }
.hero-card h4, .hero-side h4 { color: var(--bw-cream); font-weight: 600; }
.hero-card p, .hero-side li { color: var(--bw-muted); font-size: .89rem; font-weight: 400; line-height: 1.75; }
.hero-card p { margin-bottom: 0; }
.hero-card-icon, .sector-icon { font-size: 1.3rem; }
.problem-item, .problem-point { padding: 1.3rem; gap: 1rem; }
.problem-quote::before { color: var(--bw-bronze); font-family: var(--bw-serif); opacity: .55; }
.problem-quote blockquote { color: var(--bw-cream); font-weight: 400; }
.problem-quote cite { color: var(--bw-bronze); font-size: .72rem; line-height: 1.8; }
.step, .role-card, .principle-card, .pricing-card, .req-card, .card { padding: 1.8rem; }
/* These cards sit on a flat section background. Keep their translucent glass
   paint without an unnecessary backdrop layer to simplify scroll rendering. */
.steps > .step {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.step-number { color: var(--bw-bronze); font-family: var(--bw-serif); font-size: 2.6rem; opacity: 1; }
.tl-number { color: var(--bw-bronze); font-family: var(--bw-serif); opacity: 1; }
.step h3, .role-card h3, .sector-card h3, .req-card h3,
.point-text h4, .why-text h4, .legal-box h4, .faq-item h4,
.offer-point div h4, .principle-card h3, .card h3, .card h4 {
  color: var(--bw-cream);
  font-weight: 600;
  line-height: 1.5;
}
.step p, .role-card p, .sector-card p, .req-card p,
.point-text p, .why-text p, .legal-box p, .faq-item p,
.offer-point div p, .principle-card p, .ep-item p, .risk-point p,
.card p, .ethical-point p, .employer-pays p, .visa-box p,
.highlight-box p, .ethics-box p, .honesty-box p,
.stat-box p, .contact-note p, .tl-item p {
  color: var(--bw-muted);
  font-size: .91rem;
  font-weight: 400;
  line-height: 1.8;
}
.pricing-card h3, .employer-pays .ep-title, .visa-box h3 {
  color: var(--bw-cream);
  font-family: var(--bw-serif);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.3;
}
.honesty-box h4, .ethics-box h4, .highlight-box h4 {
  color: var(--bw-cream);
  font-family: var(--bw-serif);
  font-weight: 400;
}
.honesty-box .hb-label, .highlight-box .hb-label, .ethics-box .eb-label { color: var(--bw-bronze); }
.pricing-card .price-note { color: var(--bw-muted); font-size: .82rem; font-weight: 400; line-height: 1.7; }
.pricing-items li { color: var(--bw-muted); font-size: .91rem; font-weight: 400; line-height: 1.75; }
.pricing-items li::before, .hero-side li::before, .ethical-point .check, .offer-point .check { color: var(--bw-mint); }
.risk-box h3, .contact-note h3, .tl-item h4 { color: var(--bw-cream); font-weight: 600; }
.risk-phase { background: rgba(255, 247, 229, .38); border: 1px solid var(--bw-border); border-radius: 10px; }
.risk-phase .phase-label { color: var(--bw-bronze); }
.risk-phase p { color: var(--bw-muted); font-size: .87rem; font-weight: 400; line-height: 1.7; }
.ep-item, .risk-point { padding: 1.15rem 1.3rem; }
.point-icon, .why-icon, .ci-icon {
  width: 40px;
  height: 40px;
  border: 1px solid var(--bw-border-strong);
  border-radius: 10px;
  background: rgba(216, 233, 207, .055);
  color: var(--bw-mint);
}
.ilo-badge, .country-tag, .req-tag, .tag {
  color: var(--bw-mint);
  border-color: var(--bw-border-strong);
  background: rgba(216, 233, 207, .04);
}
.ilo-badge, .country-tag, .tag { border-radius: 6px; line-height: 1.6; }
.req-tag { background: transparent; color: var(--bw-bronze); }
.role-card.complex { border-top-color: rgba(190, 166, 123, .55); }
.role-card .tag, .role-card.complex .tag {
  color: var(--bw-bronze);
  background: rgba(190, 166, 123, .1);
  border: 1px solid rgba(190, 166, 123, .3);
  border-radius: 6px;
  font-size: .7rem;
}
.highlight-box .country-tag {
  background: rgba(216, 233, 207, .055);
  color: var(--bw-mint);
  border-color: var(--bw-border-strong);
  border-radius: 6px;
}
.visa-note p { color: var(--bw-muted) !important; }
.req-card.required, .req-card.optional { border-color: var(--bw-border); border-top-color: var(--bw-border-strong); }
a.sector-card { color: var(--bw-cream); text-decoration: none; }
a.sector-card:hover {
  border-color: rgba(102, 82, 52, .55);
  background: var(--bw-glass);
  color: var(--bw-paper-ink);
  transform: translateY(-2px);
}

/* Section rhythm retains the existing content hierarchy rather than a wall of cards. */
body section { padding: clamp(3.6rem, 6.5vw, 6rem) var(--bw-gutter); border-bottom: 1px solid rgba(223, 237, 218, .075); }
body section.hero { padding-top: clamp(3.5rem, 7.8vw, 7.25rem); padding-bottom: clamp(3.8rem, 7vw, 6rem); }
body .breadcrumb + section.hero { padding-top: 2.5rem; }
.section-inner { max-width: 1160px; }
.section-title {
  max-width: 28ch;
  color: var(--bw-cream);
  font-family: var(--bw-serif);
  font-size: clamp(1.95rem, 3.2vw, 2.85rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.23;
}
.section-sub { color: var(--bw-muted); font-size: 1rem; font-weight: 400; line-height: 1.85; }
.section-sub[style] { color: var(--bw-muted) !important; }
.problem, .roles, .ethical, .requirements, .faq, .legal { background: #0e2d23; }
.how, .why, .offer, .sectors { background: #102f25; }
.bw-legacy-jobs .reality { background: #102f25; }
.bw-legacy-jobs .role { background: #0e2d23; }
.bw-wage-section { background: #102f25; }
/* Wage evidence uses the same warm glass and forest ink as the existing cards.
   Keeping its grid independent also accommodates the older jobs-page wrapper. */
.bw-wage-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 1.25rem;
  margin-top: 2rem;
}
.reality-grid > .bw-wage-grid, .reality-grid > .bw-wage-note {
  grid-column: 1 / -1;
}
.reality-grid > .bw-wage-grid { margin-top: 0; }
.bw-wage-card {
  --bw-cream: var(--bw-paper-ink);
  --bw-muted: var(--bw-paper-muted);
  --bw-mint: var(--bw-paper-ink);
  --bw-bronze: var(--bw-paper-accent);
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 1.8rem);
  color-scheme: light;
  background: var(--bw-glass);
  color: var(--bw-paper-ink);
  border: 1px solid var(--bw-paper-border);
  border-top-color: rgba(255, 249, 229, .48);
  border-radius: var(--bw-radius);
  box-shadow: var(--bw-shadow);
  backdrop-filter: blur(12px) saturate(1.05);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
  overflow-wrap: anywhere;
}
.bw-wage-card p { margin: 0 0 .8rem; color: var(--bw-paper-muted); line-height: 1.75; }
.bw-wage-card p:last-child { margin-bottom: 0; }
.bw-wage-card .bw-wage-kind {
  color: var(--bw-paper-accent);
  font-size: .74rem;
  font-weight: 600;
  line-height: 1.55;
}
.bw-wage-card .bw-wage-role {
  margin: 0 0 .8rem;
  color: var(--bw-paper-ink);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.5;
}
.bw-wage-card .bw-wage-number {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .65rem;
  color: var(--bw-paper-ink);
  font: 400 clamp(2rem, 4.5vw, 2.6rem)/1.2 var(--bw-serif);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
}
.bw-wage-number bdi { overflow-wrap: normal; }
.bw-wage-number .bw-wage-unit {
  font: 400 .88rem/1.6 var(--bw-sans);
  letter-spacing: normal;
}
.bw-wage-card .bw-wage-scope, .bw-wage-card .bw-wage-unavailable { font-size: .92rem; }
.bw-wage-card .bw-wage-date, .bw-wage-card .bw-wage-source { font-size: .8rem; }
.bw-wage-card .source-link {
  color: var(--bw-paper-ink);
  text-decoration: underline;
  text-decoration-color: rgba(12, 41, 33, .5);
  text-underline-offset: .2em;
}
.bw-wage-card .source-link:hover { text-decoration-thickness: 2px; }
.bw-wage-card .source-link:focus-visible { outline-color: var(--bw-paper-ink); }
.bw-wage-note {
  max-width: 85ch;
  margin: 1.5rem 0 0;
  color: var(--bw-muted);
  font-size: .88rem;
  line-height: 1.8;
}
.pricing, .process, .contact, .cta-final, .ethics { background: #12382c; }
.pricing .section-label, .process .section-label, .contact .section-label,
.sectors .section-label { color: var(--bw-bronze); }
.pricing .section-title, .process .section-title, .contact .section-title,
.sectors .section-title, .cta-final .section-title { color: var(--bw-cream); }
.process .section-sub, .sectors .section-sub, .cta-final .section-sub { color: var(--bw-muted); }
.problem-grid, .ethical-grid, .why-grid, .offer-grid, .contact-inner {
  gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.pricing-grid, .legal-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
.steps { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1.25rem; }
.sector-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1.25rem; }
.role-grid, .req-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cards, .principles-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1.25rem; }
.free-banner { background: #1b4132; border-block: 1px solid var(--bw-border); padding: 1rem var(--bw-gutter); color: var(--bw-cream); }
.free-banner p { color: var(--bw-cream); font-size: .91rem; line-height: 1.75; }
.ci-label { color: var(--bw-bronze); font-size: .73rem; }
.ci-value { color: var(--bw-cream); overflow-wrap: anywhere; line-height: 1.7; }
.contact-note { padding: 1.8rem; }
.contact-note p:last-child { margin-bottom: 0; }
.cta-final .section-title { margin-inline: auto; }
.other-sectors { color: var(--bw-muted); line-height: 1.8; }
.other-sectors a { color: var(--bw-mint); text-decoration: underline; }
.faq-list { gap: .85rem; }
.faq-item { padding: 1.4rem 1.6rem; }
details.faq-item > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 44px;
  color: var(--bw-cream);
  font-weight: 600;
  font-size: .95rem;
  list-style: none;
  cursor: pointer;
}
details.faq-item > summary::-webkit-details-marker { display: none; }
details.faq-item > summary::after { content: "+"; color: var(--bw-bronze); font-size: 1.35rem; }
details.faq-item[open] > summary::after { content: "−"; }
details.faq-item > p { margin-top: .75rem; }

/* Shared form surface. CSS cannot add consent, persistence or delivery behavior. */
.contact-form, .need-form, .employer-form, .brief-form {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--bw-border);
  border-radius: var(--bw-radius);
  background: var(--bw-glass);
  box-shadow: var(--bw-shadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
form { color: var(--bw-cream); }
form fieldset { min-width: 0; border: 0; }
form legend { color: var(--bw-cream); font-weight: 650; margin-bottom: 1.2rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.25rem; }
.form-grid .wide, .form-grid .full-width { grid-column: 1 / -1; }
form label { display: block; color: var(--bw-cream); font-size: .87rem; font-weight: 500; line-height: 1.55; }
form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
form select, form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  margin-top: .45rem;
  padding: .7rem .85rem;
  border: 1px solid var(--bw-border-strong);
  border-radius: 7px;
  background: rgba(255, 249, 234, .74);
  color: var(--bw-paper-ink);
  caret-color: var(--bw-paper-ink);
  box-shadow: inset 0 1px 3px rgba(0, 14, 8, .12);
  font-size: .95rem;
  line-height: 1.5;
}
form input::placeholder, form textarea::placeholder { color: #495a4e; opacity: 1; }
form textarea { min-height: 9rem; resize: vertical; }
form select option { background: var(--bw-paper); color: var(--bw-paper-ink); }
form input[type="checkbox"], form input[type="radio"] { accent-color: var(--bw-mint); width: 18px; height: 18px; flex-shrink: 0; }
form label small, .form-note, .privacy-note, .local-note { color: var(--bw-muted); font-size: .8rem; font-weight: 400; line-height: 1.75; }
.request-check, .consent-row { display: flex; align-items: flex-start; gap: .7rem; margin-top: 1.2rem; }
.request-check input, .consent-row input { margin-top: .25rem; }
.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin-top: 1.3rem; }
.form-error, .form-message.error { color: #ffe2d5; background: #542e25; border: 1px solid #ab7966; border-radius: 8px; padding: .85rem 1rem; }
.form-success, .form-message.success { color: var(--bw-paper); background: #244d39; border: 1px solid #7aaf8d; border-radius: 8px; padding: .85rem 1rem; }
form .form-success, form .form-message.success { color: var(--bw-paper); }
button:disabled { cursor: default; opacity: .6; }
.text-button { color: var(--bw-mint); background: transparent; border: 0; font: inherit; text-decoration: underline; text-underline-offset: .22em; cursor: pointer; }
footer {
  padding: 2rem var(--bw-gutter);
  gap: 1rem 1.8rem;
  flex-wrap: wrap;
  background: var(--bw-deep);
  color: var(--bw-muted);
  border-top: 1px solid var(--bw-border);
  font-size: .81rem;
  line-height: 1.7;
}
footer a, footer a[style] { color: var(--bw-muted) !important; }
footer a:hover { color: var(--bw-cream) !important; }
footer > a:first-child { font-family: var(--bw-serif); }

/* Existing contact, legal and digital pages keep their content and handlers.
   These scoped rules cover markup that is absent from the static core pages. */
.bw-legacy .bw-site-nav, .bw-legacy .bw-site-nav > * { min-width: 0; }
.bw-legacy .bw-site-nav .logo { overflow-wrap: anywhere; }
.bw-legacy .bw-language-controls { max-width: 100%; }
.bw-legacy .bw-language-controls > #language {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: .55rem .8rem;
  border: 1px solid var(--bw-border-strong);
  border-radius: 8px;
  background: rgba(227, 237, 220, .04);
  color: var(--bw-cream);
  font-size: .8rem;
  line-height: 1.25;
  cursor: pointer;
}
.bw-legacy .bw-language-controls > #language:hover {
  background: rgba(227, 237, 220, .09);
  border-color: var(--bw-mint);
}

.bw-legacy-legal .page-header {
  padding: clamp(3rem, 6vw, 4.5rem) var(--bw-gutter) 3rem;
}
.bw-legacy-legal .page-label { color: var(--bw-bronze); }
.bw-legacy-legal .page-header h1, .bw-legacy-contact main > h1 {
  font-family: var(--bw-serif);
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.bw-legacy-legal main { padding: clamp(2rem, 4vw, 3rem) var(--bw-gutter); }
.bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section {
  padding: clamp(1.4rem, 3vw, 2.3rem);
}
.bw-legacy-legal .imprint-section h2, .bw-legacy-legal .main-inner > .section h2 {
  font-family: var(--bw-serif);
  font-weight: 400;
  border-color: var(--bw-paper-line);
}
.bw-legacy-legal .imprint-section p, .bw-legacy-legal .main-inner > .section p {
  font-weight: 400;
}
.bw-legacy-legal .nav-right { min-width: 0; flex-wrap: wrap; gap: .5rem 1rem; }

/* The last main margin exposes the canvas below the legacy body. */
html.bw-legacy-contact { background: var(--bw-base); }
.bw-legacy-contact main {
  width: 100%;
  max-width: 760px;
  margin: clamp(2rem, 5vw, 3.5rem) auto;
  padding: 0 var(--bw-gutter);
}
.bw-legacy-contact .direct-contact, .bw-legacy-contact form#contact {
  width: 100%;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 1.8rem);
}
.bw-legacy-contact .direct-contact h2 { font: 400 1.45rem/1.3 var(--bw-serif); }
.bw-legacy-contact form#contact .hint { color: var(--bw-muted); }
.bw-legacy-contact footer { padding-inline: 0; }

.bw-legacy-digital header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .7rem 1.4rem;
  width: 100%;
  max-width: none;
  padding: .95rem var(--bw-gutter);
  background: rgba(9, 38, 29, .95);
  border-bottom: 1px solid var(--bw-border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.bw-legacy-digital header > .logo { min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
.bw-legacy-digital header > nav.bw-site-nav {
  position: static;
  inset: auto;
  z-index: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem 1rem;
  min-height: 0;
  max-width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.bw-legacy-digital main {
  min-width: 0;
  max-width: 1120px;
  margin-inline: auto;
  padding: 0 var(--bw-gutter) 3rem;
}
.bw-legacy-digital main .hero {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.75rem);
  padding: clamp(3rem, 7vw, 5rem) 0;
}
.bw-legacy-digital main .hero > *, .bw-legacy-digital .grid > * { min-width: 0; }
.bw-legacy-digital main :is(h2, h3) { font-family: var(--bw-serif); font-weight: 400; }
.bw-legacy-digital main :is(h1, h2, h3) { overflow-wrap: anywhere; hyphens: auto; }
.bw-legacy-digital .fine { color: var(--bw-muted); }
.bw-legacy-digital .card .num { color: var(--bw-bronze); }
.bw-legacy-digital .skip:focus { background: var(--bw-cream); color: var(--bw-deep); z-index: 101; }
.bw-legacy-digital main details { padding-block: 1.2rem; border-color: var(--bw-border); }
.bw-legacy-digital main details > summary { min-height: 44px; color: var(--bw-cream); }
.bw-legacy-digital main details > p { color: var(--bw-muted); }
.bw-legacy-digital main .contact { padding: clamp(1.4rem, 3vw, 2rem); }
.bw-legacy-digital footer { max-width: none; margin: 2rem 0 0; }

/* RTL comes from html dir; logical layout preserves the same content order. */
[dir="rtl"] .hero h1, [dir="rtl"] .section-title { letter-spacing: normal; }
[dir="rtl"] .dropdown-menu { left: auto; right: 0; }
[dir="rtl"] .lang-menu > .bw-language-switch,
[dir="rtl"] .lang-menu > div { left: 0; right: auto; }

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .stat-card, .hero-side, .hero-card, .problem-quote, .problem-item,
  .problem-point, .step, .pricing-card, .risk-box, .risk-point,
  .principle-card, .ethical-point, .ep-item, .employer-pays,
  .sector-card, .contact-note, .role-card, .stat-box, .legal-box,
  .tl-item, .faq-item, .offer-point, .visa-box, .visa-note,
  .req-card, .ethics-box, .honesty-box, .highlight-box, .card,
  .myth-card, .real-card, .scam-warning, .bw-wage-card, .note-box, .panel, .example,
  .direct-contact, .bw-consent, .contact-form, .need-form,
  .employer-form, .brief-form, form#contact,
  .bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section,
  .dropdown-menu, .lang-menu > .bw-language-switch,
  .mobile-menu-links, .mobile-nav-links { background: var(--bw-paper); }
}

@media (max-width: 1100px) {
  .nav-links { gap: .4rem 1rem; }
  .hero-inner { gap: 2.5rem; }
  .role-grid, .req-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1020px) {
  html { scroll-padding-top: 13rem; }
  body > nav, .site-nav, .bw-site-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 74px;
    gap: .45rem .65rem;
    padding-block: .8rem;
  }
  .logo { font-size: 1.22rem; white-space: normal; }
  body > nav > .logo, .site-nav > .logo, .bw-site-nav > .logo { grid-column: 1; grid-row: 1; }
  body > nav > .lang-menu, .site-nav > .lang-menu, .bw-site-nav > .lang-menu,
  body > nav > .nav-mobile-lang { grid-column: 2; grid-row: 1; justify-self: end; }
  body > nav > .bw-language-controls, .site-nav > .bw-language-controls,
  .bw-site-nav > .bw-language-controls, header > nav > .bw-language-controls {
    grid-column: 2; grid-row: 1; justify-self: end;
  }
  .bw-language-controls .nav-mobile-lang { display: inline-flex; }
  body > nav > .mobile-menu, body > nav > .mobile-nav, body > nav > .nav-mobile,
  .site-nav > .mobile-menu, .bw-site-nav > .mobile-menu { grid-column: 3; grid-row: 1; }
  .nav-links {
    display: flex;
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    gap: .2rem 1rem;
    padding-top: .2rem;
    border-top: 1px solid rgba(223, 237, 218, .08);
  }
  .nav-mobile-lang { display: inline-flex; }
  .nav-links .lang-toggle { display: none; }
  .nav-links .bw-language-controls .lang-toggle { display: inline-flex; }
  .nav-links .nav-cta { min-height: 44px; margin-inline-start: auto; }
  .mobile-menu, .mobile-nav, .nav-mobile { display: block; }
  body > nav:has(.mobile-menu) > .nav-links,
  body > nav:has(.mobile-nav) > .nav-links,
  .site-nav:has(.mobile-menu) > .nav-links,
  .bw-site-nav:has(.mobile-menu) > .nav-links { display: none; }
  body > nav:has(.mobile-menu), body > nav:has(.mobile-nav),
  .site-nav:has(.mobile-menu), .bw-site-nav:has(.mobile-menu) { min-height: 74px; }
  body > nav > .bw-language-switch { grid-column: 1 / -1; }
  .hero h1 { font-size: clamp(2.5rem, 5.2vw, 3.75rem); }
  .hero-inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 2rem; }
  .bw-legacy-legal .nav-right { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 768px) {
  :root { --bw-gutter: 1.5rem; }
  .hero-inner, .problem-grid, .pricing-grid, .ethical-grid, .contact-inner,
  .why-grid, .legal-grid, .offer-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .hero h1 { max-width: 22ch; font-size: clamp(2.45rem, 7vw, 3.7rem); }
  .hero p { font-size: 1rem; }
  .hero-stats, .hero-cards { gap: .9rem; }
  .section-title { font-size: clamp(1.85rem, 5.1vw, 2.65rem); }
  .steps, .sector-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .risk-phases { grid-template-columns: minmax(0, 1fr); }
  .tl-item { grid-template-columns: 2.7rem minmax(0, 1fr); gap: 1rem; }
  .pricing-card, .problem-quote, .stat-box, .legal-box, .visa-box { padding: 1.7rem; }
  footer { flex-direction: column; align-items: flex-start; text-align: start; }
  .bw-legacy-legal .nav-right { display: none; }
  .bw-legacy-digital header > nav.bw-site-nav { width: 100%; justify-content: space-between; }
  .bw-legacy-digital main .hero, .bw-legacy-digital .grid { grid-template-columns: minmax(0, 1fr); }
  .bw-legacy-digital main .hero { gap: 2rem; padding-block: 3rem; }
}
@media (max-width: 520px) {
  :root { --bw-gutter: 1.2rem; }
  :is(h1, h2, h3, h4) { overflow-wrap: anywhere; hyphens: auto; }
  .logo { max-width: 11rem; font-size: 1.15rem; }
  .lang-toggle, .lang-menu > summary,
  .mobile-menu > summary, .mobile-nav > summary, .nav-mobile > summary { padding-inline: .65rem; }
  body section { padding-block: 3.4rem; }
  body section.hero { padding-top: 3rem; padding-bottom: 3.5rem; }
  .hero h1 { font-size: clamp(2.3rem, 9vw, 2.8rem); }
  .hero p.hero-label { font-size: .66rem; letter-spacing: .11em; }
  .hero-cta, .cta-btn { width: 100%; padding-inline: 1rem; }
  .steps, .sector-cards, .role-grid, .req-grid, .cards, .principles-grid,
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .stat-card, .hero-card, .hero-side, .step, .sector-card, .role-card,
  .principle-card, .pricing-card, .req-card, .card, .contact-note,
  .faq-item, .legal-box, .problem-quote, .visa-box { padding: 1.45rem; }
  .problem-point, .problem-item { padding: 1.1rem; gap: .8rem; }
  .point-icon, .why-icon, .ci-icon { width: 34px; height: 34px; }
  .tl-item { padding: 1.3rem; grid-template-columns: 2rem minmax(0, 1fr); gap: .7rem; }
  .tl-number { font-size: 1.6rem; }
  .dropdown-menu { min-width: min(230px, calc(100vw - 2.4rem)); }
  .nav-links { position: relative; }
  .nav-links .nav-dropdown { position: static; }
  .bw-legacy-legal h1 { overflow-wrap: anywhere; hyphens: auto; }
  .bw-language-switch a { min-height: 44px; padding-inline: .55rem; }
  .form-actions > .button, .form-actions > .btn-primary { width: 100%; }
  .bw-legacy-digital .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
  .sector-card:hover { transform: none; }
}
@media (prefers-contrast: more) {
  :root {
    --bw-muted: #dce7dc;
    --bw-border: rgba(237, 244, 228, .5);
    --bw-border-strong: rgba(237, 244, 228, .7);
    --bw-glass: #f5eddd;
    --bw-paper-muted: var(--bw-paper-ink);
    --bw-paper-line: rgba(12, 41, 33, .6);
  }
  .stat-card, .hero-card, .hero-side, .step, .pricing-card,
  .contact-note, .faq-item, .sector-card,
  .bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section { background: #f5eddd; }
}
@media (forced-colors: active) {
  .stat-card, .hero-card, .hero-side, .step, .pricing-card,
  .contact-note, .faq-item, .sector-card, input, select, textarea,
  .bw-legacy-legal .imprint-section, .bw-legacy-legal .main-inner > .section {
    border: 1px solid CanvasText;
    box-shadow: none;
  }
  a:focus-visible, button:focus-visible, summary:focus-visible,
  input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: Highlight; }
}
