/* NAVBAR PREMIUM — solo presentazione dell'header (.hd). Caricato dopo oplyo-ai.css e oplyo-hero.css.
   Barra bianca piena, separazione netta ma leggera (hairline + ombra quasi impercettibile), logo | nav | azioni.
   Markup, testi, link e JS invariati. Mobile/tablet (<992px): stessa logica a burger, solo superficie + separazione. */
.hd,
.hd.is-scrolled {
  background: #fff;
  -webkit-backdrop-filter: none; backdrop-filter: none;
  border-bottom-color: rgba(14, 14, 17, .07);
  box-shadow: 0 1px 0 rgba(14, 14, 17, .02), 0 6px 18px -12px rgba(14, 14, 17, .14);
}
.hd.is-scrolled { box-shadow: 0 1px 0 rgba(14, 14, 17, .03), 0 10px 24px -14px rgba(14, 14, 17, .2); }

/* Dimensioni testo nav/CTA: UNA sola fonte, oplyo-type.css (--ty-nav). Qui restano solo geometria e colori.
   Contenitore: .hd_in e' anche .wrap, quindi eredita larghezza e padding dei contenuti (logo e CTA a filo con card e footer). */
@media (min-width: 992px) {
  :root { --hd: calc(72px * var(--vs)); }
  .hd_in { gap: 2rem; }
  .hd_logo { gap: calc(9px * var(--vs)); }
  .hd_logo img:first-child { width: calc(30px * var(--vs)); height: calc(30px * var(--vs)); border-radius: calc(8px * var(--vs)); }
  .hd_logo img:last-child { width: calc(66px * var(--vs)); }
  .hd_nav { gap: .375rem; }
  .hd_nav a { padding: .75rem 1.1rem; letter-spacing: -.006em; color: var(--ink-2); }
  .hd_nav a:hover { color: var(--ink); background: rgba(14, 14, 17, .05); }
  .hd_act { gap: .75rem; }
  .hd_login { padding: .75rem 1rem; letter-spacing: -.006em; }
  .hd_act .btn--sm { --h: calc(44px * var(--vs)); padding: 0 1.625rem; box-shadow: 0 1px 2px rgba(0, 0, 0, .16), 0 6px 14px -6px rgba(14, 14, 17, .38), inset 0 1px 0 rgba(255, 255, 255, .1); }
}
@media (min-width: 1440px) {
  :root { --hd: calc(76px * var(--vs)); }
  .hd_act .btn--sm { --h: calc(46px * var(--vs)); }
}
