/* ============================================================
   European page — GDPR / EU hosting
   Loaded only for /european via <link precedence> in the page.
   ============================================================ */

/* widen the hero column so the three points each sit on one line */
.lp { max-width: 1140px; }

/* Country labels that settle into the dark calm section */
.eu-places { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.eu-places span {
  position: absolute; font-family: var(--sans); font-size: 14px;
  color: rgba(255,255,255,.66); background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12); border-radius: 9px; padding: 6px 13px;
  white-space: nowrap; opacity: 0; transform: translateY(10px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}
.calm.in .eu-places span { opacity: 1; transform: none; }

/* "Europe" sans → serif → sans flip */
.euword { display: inline-block; line-height: 1; vertical-align: baseline; }
.euword.it { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: 0.01em; color: #003399; }
.euword.it .eudot { color: #f5b301; }
@keyframes euSnap { 0% { transform: translateY(-2px) scale(.95); opacity: .35; } 60% { opacity: 1; } 100% { transform: none; } }
.euword.snap { animation: euSnap .16s var(--ease); }

@media (prefers-reduced-motion: reduce) { .eu-places span { transition: none; } }
@media (max-width: 720px) { .eu-places span { font-size: 12.5px; padding: 5px 10px; } }
