/* Velodam — portada (hero) v2 */
.vh{position:relative;overflow:hidden;color:var(--s-tx);background:radial-gradient(60% 80% at 82% 18%,color-mix(in srgb,var(--s-acc) 14%,transparent),transparent 62%),linear-gradient(135deg,var(--s-bg1),var(--s-bg2))}
.vh>img.vh-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.vh.has-bg:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,10,.55),rgba(8,12,10,.82))}
.vh-w{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:7rem 20px;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;min-height:min(68vh,580px)}
.vh--center .vh-w{grid-template-columns:1fr;text-align:center;justify-items:center}
.vh-pill{display:inline-flex;margin:0 0 2.2rem;padding:.6rem 1.4rem;border:1px solid color-mix(in srgb,var(--s-acc) 45%,transparent);border-radius:999px;font-size:1.15rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--s-acc)}
.vh h1{font-size:clamp(3.4rem,5.2vw,5.8rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 1.8rem;color:#fff;font-weight:800;text-wrap:balance}
.vh h1 em{font-style:normal;color:var(--s-acc)}
.vh-sub{font-size:1.7rem;line-height:1.6;max-width:50rem;margin:0 0 3rem;color:var(--s-mut)}
.vh-form{display:flex;gap:.6rem;max-width:50rem;width:100%;padding:.6rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.vh-form input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:inherit;font-size:1.5rem;padding:0 1.6rem;box-shadow:none}
.vh-form input::placeholder{color:rgba(255,255,255,.55)}
.vh-form button{flex:none;height:4.8rem;padding:0 2.4rem;border:0;border-radius:999px;background:var(--s-acc);color:var(--s-on);font-size:1.4rem;font-weight:800;cursor:pointer;transition:transform .2s}
.vh-form button:hover{transform:translateY(-1px)}
.vh-note{margin:1.2rem 0 0;font-size:1.2rem;color:var(--s-mut)}.vh-note a{color:inherit}
.vh-ok{margin:1.4rem 0 0;font-size:1.5rem;color:var(--s-acc)}
.vh-code{margin:1.2rem 0 0;padding:1.2rem 2rem;border:1px dashed var(--s-acc);border-radius:14px;color:var(--s-acc);font-size:1.5rem}
.vh-code b{margin-left:.6rem;font-size:2rem;letter-spacing:.12em;color:#fff}
.vh-cd{margin:2.2rem 0 0;font-size:1.25rem;letter-spacing:.04em;color:var(--s-mut)}
.vh-cd[hidden]{display:none}.vh-cd b{color:#fff;font-variant-numeric:tabular-nums}
.vh-link{margin-top:2.2rem;color:#fff;font-weight:600;font-size:1.4rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:.2rem}
.vh-link:hover{border-color:var(--s-acc);color:var(--s-acc)}
.vh-art{display:grid;place-items:center}
.vh-disc{position:relative;width:min(100%,40rem);aspect-ratio:1;border-radius:50%;background:var(--s-acc);display:grid;place-items:center;--k:var(--s-on);--a:var(--s-bg2)}
.vh-disc svg{width:90%;height:auto}
.vh-disc:before,.vh-disc:after{content:"";position:absolute;inset:-9%;border-radius:50%;border:1px solid color-mix(in srgb,var(--s-acc) 30%,transparent)}
.vh-disc:after{inset:-20%;opacity:.55}
.vh-img{width:100%;max-width:44rem;aspect-ratio:4/5;object-fit:cover;border-radius:28px}
@media(max-width:860px){.vh-w{grid-template-columns:1fr;padding:5rem 20px;min-height:0;gap:2rem}.vh-art{display:none}.vh-form button{padding:0 1.8rem}}