/* Targeted additions. style.css remains byte-for-byte identical to the upload. */

/* Keep the original 22px gradient wordmark, use the selected IV icon. */
.logo.has-mark{display:inline-flex;align-items:center;gap:8px;background:none}
.logo.has-mark img{display:block;width:24px;height:26px;flex:0 0 24px;object-fit:contain}
.logo-word{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Crawlable language links with exactly the original button typography and spacing. */
.lang a{
  display:inline-block;background:transparent;color:var(--muted);border:0;
  padding:7px 12px;cursor:pointer;font-family:inherit;font-size:13px;
  font-weight:600;line-height:normal;transition:.18s;text-decoration:none;
}
.lang a.active{background:rgba(255,255,255,.06);color:var(--text)}

/* Fail open: a missing/blocked script must not make .reveal content disappear. */
html:not(.reveal-ready) .reveal{opacity:1;transform:none}

/* Complete the last gap so the original -50% marquee loop joins seamlessly. */
.zones-track{padding-right:56px}
@media(max-width:820px){.zones-track{padding-right:36px}}

/* The original .reveal.in rule wins over :hover at equal specificity.
   Preserve the intended card motion after a card has finished revealing. */
.step-card.reveal.in:hover,.bento-cell.reveal.in:hover{transform:translateY(-3px)}
.feature.reveal.in:hover{transform:translateX(5px)}

/* Keyboard-only outlines do not change the normal appearance. */
.logo:focus-visible,.lang a:focus-visible,.btn:focus-visible,.foot a:focus-visible{
  outline:2px solid var(--accent-2);outline-offset:4px;
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
