/* ============================================================
   DOBROV BUSINESS SERVICES — Complete rebuild v5
   Zero reuse. Clean system. Enforced constraints.
   ============================================================ */

/* ── DESIGN SYSTEM TOKENS ────────────────────────────────── */
:root {
  --dark:   #0c1c2e;
  --white:  #ffffff;
  --gold:   #b89355;
  --gold-l: #cdb07a;
  --stone:  #6b7582;
  --stone-l:#9ba3ac;
  --rule:   rgba(184,147,85,0.28);
  --dim:    rgba(184,147,85,0.10);

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'DM Sans', sans-serif;

  --t-display: clamp(2.2rem, 4.5vw, 3.8rem);
  --t-h1:      clamp(1.8rem, 3.5vw, 2.7rem);
  --t-h2:      clamp(1.35rem, 2.5vw, 1.9rem);
  --t-body:    0.9375rem;
  --t-small:   0.875rem;
  --t-micro:   0.68rem;

  --space-section: clamp(80px, 10vw, 130px);
  --container-max: 1100px;
  --container-pad: clamp(20px, 5vw, 60px);
}

/* ── RESET ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  background-color: var(--white);
  color: var(--dark);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1,h2,h3,h4 { font-family: var(--serif); font-weight: 400; line-height: 1.2; }
a { text-decoration: none; }
img { display: block; max-width: 100%; }
::selection { background: var(--dim); }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-thumb { background: var(--gold); }

/* ── CONTAINER ───────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
  box-sizing: border-box;
}

/* ── SECTION WRAPPERS ────────────────────────────────────── */
section { width: 100%; }
.section-dark  { background-color: var(--dark); }
.section-light { background-color: var(--white); }
.section-pad   { padding: var(--space-section) 0; }

/* ── EYEBROW LABEL ───────────────────────────────────────── */
.label {
  display: block;
  font-family: var(--sans);
  font-size: var(--t-micro);
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
}
.label--light { color: rgba(255,255,255,0.35); }

/* ── HEADER ──────────────────────────────────────────────── */
/*
  Structure: header > header-inner > [logo | nav | cta]
  Desktop: logo LEFT, nav CENTER, cta RIGHT
  Mobile ≤1024px: logo CENTERED, nav hidden, hamburger absolute-right
  NO absolute positioning on desktop. NO overlap possible by design.
*/
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background-color: var(--dark);
  transition: background-color 0.3s ease;
}
.site-header.is-light { background-color: var(--white); }
.site-header.is-light::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background-color: rgba(11,28,46,0.08);
}

.header-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo — left on desktop */
.header-logo { flex-shrink: 0; }
.header-logo img {
  height: 48px;
  width: auto;
  /* DBS_gold.png: black background. mix-blend-mode:screen makes black bg
     invisible on any dark background. Gold/cream artwork passes through. */
  mix-blend-mode: screen;
}
/* On light header: switch to DBS_white, multiply removes white bg */
.site-header.is-light .header-logo img {
  mix-blend-mode: multiply;
}

/* Nav — center */
.header-nav { display: flex; align-items: center; gap: 36px; list-style: none; }
.header-nav a {
  font-size: var(--t-micro);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: color 0.2s;
}
.site-header:not(.is-light) .header-nav a { color: rgba(255,255,255,0.58); }
.site-header:not(.is-light) .header-nav a:hover { color: var(--gold-l); }
.site-header.is-light .header-nav a { color: var(--stone); }
.site-header.is-light .header-nav a:hover { color: var(--dark); }

/* Right group: lang + cta + toggle */
.header-right { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }

.lang-bar { display: flex; }
.lang-bar a {
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 6px;
  border: 1px solid transparent;
  transition: all 0.18s;
}
.site-header:not(.is-light) .lang-bar a { color: rgba(255,255,255,0.30); }
.site-header:not(.is-light) .lang-bar a:hover,
.site-header:not(.is-light) .lang-bar a.active { color: var(--gold-l); border-color: var(--rule); }
.site-header.is-light .lang-bar a { color: var(--stone-l); }
.site-header.is-light .lang-bar a:hover,
.site-header.is-light .lang-bar a.active { color: var(--dark); border-color: rgba(11,28,46,0.15); }

.header-cta {
  font-size: var(--t-micro);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 8px 16px;
  border: 1px solid;
  transition: all 0.22s ease;
  white-space: nowrap;
}
.site-header:not(.is-light) .header-cta { color: rgba(255,255,255,0.72); border-color: rgba(255,255,255,0.16); }
.site-header:not(.is-light) .header-cta:hover { color: var(--white); border-color: var(--gold); background-color: var(--dim); }
.site-header.is-light .header-cta { color: var(--dark); border-color: rgba(11,28,46,0.2); }
.site-header.is-light .header-cta:hover { color: var(--gold); border-color: var(--gold); }

/* Hamburger */
.hamburger { display: none; background: none; border: none; cursor: pointer; padding: 4px; }
.hamburger span { display: block; width: 22px; height: 1px; background: currentColor; margin: 5px 0; }
.site-header:not(.is-light) .hamburger { color: rgba(255,255,255,0.68); }
.site-header.is-light .hamburger { color: var(--dark); }

/* Mobile menu */
.mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 90;
  background-color: var(--dark);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
}
.mobile-menu.is-open { display: flex; }
.mobile-menu a {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
  color: rgba(255,255,255,0.70);
  letter-spacing: 0.04em;
  transition: color 0.2s;
}
.mobile-menu a:hover { color: var(--gold-l); }
.mobile-menu .lang-bar {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.09);
  gap: 0;
  justify-content: center;
  flex-wrap: wrap;
}
.mobile-menu .lang-bar a {
  color: rgba(255,255,255,0.45);
  font-size: 0.85rem;
  padding: 8px 14px;
  border: 1px solid transparent;
  letter-spacing: 0.1em;
  font-family: var(--sans);
  font-weight: 400;
  transition: all 0.18s;
}
.mobile-menu .lang-bar a:hover,
.mobile-menu .lang-bar a.active {
  color: var(--gold-l);
  border-color: var(--rule);
}
.menu-close {
  position: absolute; top: 22px; right: 26px;
  background: none; border: none; color: rgba(255,255,255,0.42); font-size: 1.5rem; cursor: pointer;
}
.menu-close:hover { color: var(--white); }

/* ── HERO ────────────────────────────────────────────────── */
.hero {
  min-height: 100svh;
  background-color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.hero-inner {
  width: 100%;
  max-width: var(--container-max);
  padding: 0 var(--container-pad);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ── DESIGN1 COMPONENT ───────────────────────────────────── */
/*
  Rules: inside .container, centered via flex.
  Lines: flex:1 on both sides = mathematically equal.
  Diamond: flex-shrink:0 with equal margins = exact center.
  Cannot drift. Width inherits from hero-inner / .container.
*/
.d1 {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 36px;
}
.d1::before, .d1::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: rgba(184,147,85,0.28);
}
.d1-diamond {
  width: 13px;
  height: 13px;
  background-color: var(--gold);
  transform: rotate(45deg);
  flex-shrink: 0;
  margin: 0 20px;
}

/* d1 on light sections */
.d1--light::before,
.d1--light::after { background-color: rgba(11,28,46,0.12); }
.d1--light .d1-diamond { background-color: var(--gold); opacity: 0.6; }

.hero-label {
  font-family: var(--sans);
  font-size: 0.56rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.18);
  margin-bottom: 28px;
}
.hero-headline {
  font-family: var(--serif);
  font-size: var(--t-display);
  font-weight: 400;
  color: rgba(255,255,255,0.90);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 20px;
  max-width: 720px;
}
.hero-headline em { font-style: italic; color: var(--gold-l); }
.hero-sub {
  font-size: var(--t-small);
  font-weight: 300;
  color: rgba(255,255,255,0.36);
  letter-spacing: 0.06em;
  margin-bottom: 48px;
  max-width: 480px;
}
.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  border: 1px solid rgba(184,147,85,0.28);
  color: rgba(255,255,255,0.78);
  font-size: var(--t-micro);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}
.hero-cta:hover { border-color: var(--gold); color: var(--gold-l); background-color: var(--dim); }
.hero-cta svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform 0.25s; }
.hero-cta:hover svg { transform: translateX(3px); }
.hero-note { font-size: 0.60rem; color: rgba(255,255,255,0.18); letter-spacing: 0.1em; text-transform: uppercase; margin-top: 12px; }

/* Scroll indicator */
.scroll-cue {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.scroll-line {
  width: 1px; height: 32px;
  background: linear-gradient(to bottom, rgba(184,147,85,0.4), transparent);
}
.scroll-text { font-size: 0.54rem; color: rgba(255,255,255,0.18); letter-spacing: 0.16em; text-transform: uppercase; }

/* ── POSITIONING BLOCK ───────────────────────────────────── */
.pos-block { padding: var(--space-section) 0; background-color: var(--dark); }
.pos-block .container { display: flex; align-items: flex-start; gap: 64px; }
.pos-number {
  font-family: var(--serif);
  font-size: 3.5rem;
  font-weight: 300;
  color: var(--gold);
  opacity: 0.25;
  flex-shrink: 0;
  line-height: 1;
  padding-top: 4px;
}
.pos-text {
  font-family: var(--serif);
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  font-weight: 400;
  color: rgba(255,255,255,0.75);
  line-height: 1.55;
  font-style: italic;
  max-width: 680px;
}

/* ── SITUATIONS ──────────────────────────────────────────── */
.sit-grid {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(11,28,46,0.09);
}
.sit-item {
  padding: 36px 48px 36px 0;
  border-bottom: 1px solid rgba(11,28,46,0.09);
  transition: border-color 0.22s;
}
.sit-item:nth-child(even) {
  padding: 36px 0 36px 48px;
  border-left: 1px solid rgba(11,28,46,0.09);
}
.sit-item:hover { border-color: rgba(184,147,85,0.2); }
.sit-num { font-family: var(--serif); font-size: 0.66rem; color: var(--gold); letter-spacing: 0.16em; margin-bottom: 10px; display: block; }
.sit-title { font-family: var(--serif); font-size: 1.28rem; font-weight: 500; color: var(--dark); margin-bottom: 10px; }
.sit-desc { font-size: var(--t-small); color: var(--stone); line-height: 1.7; font-weight: 300; }

/* ── EXPERIENCE ──────────────────────────────────────────── */
.exp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; margin-top: 48px; }
.exp-col { }
.exp-item { padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.exp-item:last-child { border-bottom: none; }
.exp-label { font-size: 0.62rem; color: var(--gold); letter-spacing: 0.14em; text-transform: uppercase; display: block; margin-bottom: 8px; }
.exp-text { font-size: var(--t-small); color: rgba(255,255,255,0.44); line-height: 1.7; font-weight: 300; }

/* ── ABOUT ───────────────────────────────────────────────── */
.about-grid { display: grid; grid-template-columns: 300px 1fr; gap: 72px; align-items: start; margin-top: 48px; }
.about-portrait { position: sticky; top: 88px; }
.portrait-img-wrap { position: relative; }
.portrait-img-wrap img { width: 100%; filter: grayscale(10%) contrast(1.03); }
.portrait-img-wrap::before {
  content: '';
  position: absolute;
  top: 14px; left: 14px; right: -14px; bottom: -14px;
  border: 1px solid rgba(184,147,85,0.24);
  z-index: -1;
}
.portrait-meta { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(184,147,85,0.22); }
.portrait-name { font-family: var(--serif); font-size: 1.05rem; font-weight: 500; color: var(--dark); }
.portrait-role { font-size: var(--t-micro); color: var(--stone); letter-spacing: 0.12em; text-transform: uppercase; margin-top: 3px; }

.about-copy h2 { font-size: var(--t-h1); color: var(--dark); margin-bottom: 32px; }
.about-copy p { font-size: var(--t-body); color: var(--stone); line-height: 1.85; margin-bottom: 22px; font-weight: 300; }
.about-copy p strong { color: var(--dark); font-weight: 500; }
.about-quote { margin: 32px 0; padding: 24px 28px; border-left: 2px solid var(--gold); }
.about-quote p { font-family: var(--serif); font-size: 1.15rem; font-style: italic; color: var(--dark); line-height: 1.55; margin: 0; }
.about-note { font-size: 0.8rem; color: var(--stone-l); font-weight: 300; line-height: 1.8; }

/* ── GEOGRAPHY ───────────────────────────────────────────── */
.geo-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 44px; background-color: var(--dark); }
.geo-cell { padding: 28px 18px; text-align: center; border-right: 1px solid rgba(255,255,255,0.04); }
.geo-cell:last-child { border-right: none; }
.geo-flag { font-size: 1.3rem; display: block; margin-bottom: 10px; }
.geo-region { font-family: var(--serif); font-size: 0.95rem; font-weight: 500; color: rgba(255,255,255,0.70); display: block; margin-bottom: 7px; }
.geo-countries { font-size: 0.62rem; color: rgba(255,255,255,0.27); letter-spacing: 0.06em; line-height: 1.65; }

/* ── STATS ───────────────────────────────────────────────── */
.stats-row { display: grid; grid-template-columns: repeat(4, 1fr); background-color: var(--dark); border-top: 1px solid rgba(255,255,255,0.04); border-bottom: 1px solid rgba(255,255,255,0.04); }
.stat-cell { padding: 40px 24px; text-align: center; border-right: 1px solid rgba(255,255,255,0.04); }
.stat-cell:last-child { border-right: none; }
.stat-num { font-family: var(--serif); font-size: 2.8rem; font-weight: 400; color: rgba(255,255,255,0.86); display: block; line-height: 1; margin-bottom: 10px; }
.stat-desc { font-size: 0.60rem; color: rgba(255,255,255,0.26); letter-spacing: 0.14em; text-transform: uppercase; }

/* ── CONTACT ─────────────────────────────────────────────── */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; margin-top: 48px; }
.contact-links { margin-top: 32px; }
.contact-link {
  display: flex; align-items: center; gap: 14px;
  color: rgba(255,255,255,0.50);
  font-size: 0.82rem; letter-spacing: 0.06em;
  padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.2s;
}
.contact-link:hover { color: var(--gold-l); }
.c-icon {
  width: 30px; height: 30px;
  border: 1px solid rgba(255,255,255,0.10);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 0.60rem; letter-spacing: 0.03em;
  color: var(--gold);
  transition: all 0.2s;
}
.contact-link:hover .c-icon { border-color: rgba(184,147,85,0.3); background-color: var(--dim); }
.c-icon svg { width: 12px; height: 12px; fill: currentColor; }

.contact-note { margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.04); }
.contact-note p { font-size: 0.58rem; color: rgba(255,255,255,0.12); letter-spacing: 0.12em; text-transform: uppercase; line-height: 2; }

/* Form */
.f-label { display: block; font-size: 0.60rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.26); margin-bottom: 7px; }
.f-input {
  width: 100%; background: rgba(255,255,255,0.03);
  border: none; border-bottom: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.70); padding: 11px 0;
  font-family: var(--sans); font-size: 0.9rem; font-weight: 300;
  outline: none; transition: border-color 0.2s; margin-bottom: 22px;
}
.f-input:focus { border-color: var(--gold); }
.f-input::placeholder { color: rgba(255,255,255,0.15); }
.f-textarea { resize: vertical; min-height: 100px; }
.f-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 24px; border: 1px solid rgba(184,147,85,0.28);
  background: transparent; color: rgba(255,255,255,0.58);
  font-family: var(--sans); font-size: var(--t-micro);
  font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase;
  cursor: pointer; transition: all 0.25s ease; margin-top: 6px;
}
.f-btn:hover { color: var(--gold-l); border-color: var(--gold); background-color: var(--dim); }
.f-note { display: block; font-size: 0.56rem; color: rgba(255,255,255,0.14); letter-spacing: 0.1em; text-transform: uppercase; margin-top: 12px; }
.f-status { display: none; font-size: 0.78rem; margin-top: 10px; color: var(--gold-l); }
.f-status.show { display: block; }

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer { background-color: var(--dark); border-top: 1px solid rgba(255,255,255,0.04); padding: 32px 0 24px; }
.footer-inner { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad); text-align: center; }
.footer-copy { font-size: 0.58rem; color: rgba(255,255,255,0.16); letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 600px) { .footer-copy { white-space: normal; } }

/* ── ANIMATION ───────────────────────────────────────────── */
.fade-up { opacity: 0; transform: translateY(18px); transition: opacity 0.7s ease-out, transform 0.7s ease-out; }
.fade-up.in { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }

/* Hero sequential fade */
.h-anim { opacity: 0; }
.h-anim-1 { animation: hfade 0.9s ease-out 0.1s forwards; }
.h-anim-2 { animation: hfade 0.9s ease-out 0.3s forwards; }
.h-anim-3 { animation: hfade 0.9s ease-out 0.5s forwards; }
.h-anim-4 { animation: hfade 0.9s ease-out 0.7s forwards; }
.h-anim-5 { animation: hfade 0.9s ease-out 0.9s forwards; }
.h-anim-6 { animation: hfade 0.9s ease-out 1.2s forwards; }
@keyframes hfade { to { opacity: 1; transform: none; } }
.h-anim { transform: translateY(16px); }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* HEADER: hide nav & cta, show hamburger, CENTER logo */
  .header-nav, .header-cta { display: none; }
  .hamburger { display: block; }
  .header-inner { justify-content: center; position: relative; }
  /* Hamburger: absolute so logo stays centered */
  .hamburger { position: absolute; right: var(--container-pad); top: 50%; transform: translateY(-50%); }
  /* Hide lang-bar in header only — keep it visible inside mobile-menu */
  .header-right .lang-bar { display: none; }
  .mobile-menu .lang-bar { display: flex; }

  /* Layouts */
  .sit-grid { grid-template-columns: 1fr; }
  .sit-item { padding: 28px 0; }
  .sit-item:nth-child(even) { padding: 28px 0; border-left: none; border-top: 1px solid rgba(11,28,46,0.09); }
  .exp-grid { grid-template-columns: 1fr; gap: 0; }
  .about-grid { grid-template-columns: 1fr; gap: 48px; }
  .about-portrait { position: relative; top: 0; max-width: 260px; }
  .geo-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; gap: 48px; }
  /* footer-inner: single centered row on all sizes */
  .pos-block .container { flex-direction: column; gap: 20px; }
}

@media (max-width: 600px) {
  :root { --space-section: 64px; }
  .geo-grid { grid-template-columns: 1fr; }
  .stats-row { grid-template-columns: 1fr; }
}

/* ── RTL ─────────────────────────────────────────────────── */
[dir="rtl"] .sit-item { padding: 36px 0 36px 48px; }
[dir="rtl"] .sit-item:nth-child(even) { padding: 36px 48px 36px 0; border-left: none; border-right: 1px solid rgba(11,28,46,0.09); }
[dir="rtl"] .about-quote { border-left: none; border-right: 2px solid var(--gold); }
[dir="rtl"] .portrait-img-wrap::before { left: -14px; right: 14px; }
[dir="rtl"] .hamburger { right: auto; left: var(--container-pad); }

/* ── MOBILE-LANG — dedicated lang switcher in mobile menu ── */
/* Visible at ALL times when mobile menu is open.              */
/* Structurally separate from .lang-bar. Cannot be hidden.    */
.mobile-lang {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.09);
  text-align: center;
}
.mobile-lang-label {
  display: block;
  font-size: 0.58rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin-bottom: 14px;
  font-family: var(--sans);
}
.mobile-lang-links {
  display: flex;
  justify-content: center;
  gap: 0;
}
.mobile-lang-links a {
  font-family: var(--sans);
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  padding: 10px 16px;
  border: 1px solid transparent;
  transition: all 0.18s;
  text-decoration: none;
}
.mobile-lang-links a:hover,
.mobile-lang-links a.active {
  color: var(--gold-l);
  border-color: rgba(184,147,85,0.30);
}

/* ── FOOTER-LANG — always-visible failsafe language strip ── */
/* Works without any menu interaction.                        */
/* Provides SEO interlinking between all language versions.   */
.footer-lang {
  display: flex;
  justify-content: center;
  gap: 0;
  padding: 20px 0 0;
  margin-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.04);
}
.footer-lang a {
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.20);
  padding: 6px 10px;
  border: 1px solid transparent;
  transition: all 0.18s;
  text-decoration: none;
}
.footer-lang a:hover,
.footer-lang a.active {
  color: rgba(255,255,255,0.55);
  border-color: rgba(255,255,255,0.12);
}

/* h3 for sit-title — proper heading hierarchy H1>H2>H3 */
h3.sit-title {
  font-family: var(--serif);
  font-size: 1.28rem;
  font-weight: 500;
  color: var(--dark);
  margin-bottom: 10px;
  line-height: 1.25;
}
