/* ── smooth section fade-in on scroll ── */
  .reveal { opacity:0; transform:translateY(28px); transition: opacity .65s ease, transform .65s ease; }
  .reveal.visible { opacity:1; transform:none; }

  /* ── language dropdown ── */
  #lang-menu { display:none; }
  #lang-menu.open { display:block; }

  /* ── active nav link ── */
  .nav-link { position:relative; }
  .nav-link::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:#0d9488; transition:width .25s; }
  .nav-link:hover::after { width:100%; }

  /* ── service card hover ── */
  .service-card { transition: transform .2s, box-shadow .2s; }
  .service-card:hover { transform:translateY(-4px); box-shadow: 0 12px 32px rgba(13,148,136,.12); }

  /* ── map placeholder ── */
  .map-placeholder { background: linear-gradient(135deg,#e8f5f3 0%,#c4e8e3 100%); }

/* ── FAQ accordion ── */
.faq-body { display: none; }
.faq-body.open { display: block; }
.faq-chevron { transition: transform 0.3s ease; }
.faq-chevron.rotated { transform: rotate(180deg); }
.faq-trigger:focus-visible { outline: 2px solid #0d9488; outline-offset: 2px; }
