/* ItineraVita splash — Asap. Logomark pinned to viewport at the design's exact size
   (font-independent), centred directly above the wordmark. */
:root {
  --blue: #1a5972; --green-a: #2f7d6f; --green-b: #63a24d; --paper: #e9e3d4;
  --s: clamp(0.17rem, 0.806vw, 2vh);
  --word-size: calc(var(--s) * 10.46);
  --mark-h: calc(var(--s) * 18.9);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { height: 100%; -webkit-text-size-adjust: 100%; }
body { min-height: 100%; font-family: "Asap", system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--paper); -webkit-font-smoothing: antialiased; }
.stage { position: relative; min-height: 100svh; display: grid; place-items: center; overflow: hidden;
  padding: max(7vmin, env(safe-area-inset-top)) 6vw max(7vmin, env(safe-area-inset-bottom)); }
@supports (min-height: 100dvh) { .stage { min-height: 100dvh; } }
.stage__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; z-index: 0; }
.lockup { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; transform: translateY(-7vh); }
.lockup__mark { height: var(--mark-h); width: auto; filter: drop-shadow(0 8px 22px rgba(20, 50, 60, 0.16)); }
.lockup__word { font-weight: 500; font-size: var(--word-size); line-height: 1; letter-spacing: 0.025em;
  margin-top: -0.06em; margin-right: -0.025em; white-space: nowrap; text-shadow: 0 1px 16px rgba(255, 255, 255, 0.3); }
.word__a { color: var(--blue); }
.word__b { background: linear-gradient(95deg, var(--green-a), var(--green-b));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
