/* Frecuencia VB · banners editoriales OPEN v1 */
.fvb-open-banner{
    --fvb-open-accent:#00d9e8;
    --fvb-open-bg:#071014;
    --fvb-open-fg:#fff;
    --fvb-open-muted:#aeb9bd;
    position:relative;
    isolation:isolate;
    margin:clamp(48px,7vw,82px) 0;
    padding:clamp(34px,5vw,64px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    background:var(--fvb-open-bg);
    color:var(--fvb-open-fg);
    font-family:"Poppins",Arial,sans-serif;
    text-align:left;
}
.fvb-open-banner *{box-sizing:border-box}
.fvb-open-banner::before{
    content:"";
    position:absolute;
    z-index:-2;
    inset:0;
    pointer-events:none;
}
.fvb-open-banner__eyebrow{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 22px;
    color:var(--fvb-open-accent);
    font-family:"Barlow Condensed","Arial Narrow",sans-serif;
    font-size:12px;
    font-weight:900;
    letter-spacing:.19em;
    line-height:1.2;
    text-transform:uppercase;
}
.fvb-open-banner__eyebrow::before{content:"";width:34px;height:3px;background:currentColor}
.fvb-open-banner__layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:clamp(28px,5vw,70px);
}
.fvb-open-banner__copy{min-width:0}
.fvb-open-banner h2{
    margin:0;
    max-width:760px;
    color:inherit;
    font-family:"Barlow Condensed","Arial Narrow",sans-serif;
    font-size:clamp(42px,5.3vw,78px);
    font-weight:900;
    letter-spacing:-.035em;
    line-height:.88;
    text-transform:uppercase;
    text-wrap:balance;
}
.fvb-open-banner p{
    max-width:680px;
    margin:22px 0 0;
    color:var(--fvb-open-muted);
    font-family:"Poppins",Arial,sans-serif;
    font-size:clamp(14px,1.2vw,17px);
    font-weight:400;
    line-height:1.7;
}
.fvb-open-banner__button{
    position:relative;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    min-width:235px;
    min-height:58px;
    padding:15px 18px;
    border:1px solid var(--fvb-open-accent);
    background:transparent;
    color:var(--fvb-open-accent)!important;
    font-family:"Barlow Condensed","Arial Narrow",sans-serif;
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
    line-height:1;
    text-decoration:none!important;
    text-transform:uppercase;
    transition:background .22s ease,color .22s ease,transform .22s ease;
}
.fvb-open-banner__button:hover,.fvb-open-banner__button:focus-visible{
    background:var(--fvb-open-accent);
    color:#031014!important;
    transform:translateY(-2px);
}
.fvb-open-banner__word{
    position:absolute;
    z-index:-1;
    right:-.04em;
    bottom:-.27em;
    color:transparent;
    -webkit-text-stroke:1px rgba(255,255,255,.12);
    font-family:"Barlow Condensed","Arial Narrow",sans-serif;
    font-size:clamp(150px,22vw,340px);
    font-weight:900;
    letter-spacing:-.06em;
    line-height:.75;
    pointer-events:none;
    text-transform:uppercase;
    white-space:nowrap;
}

.fvb-showcase-launch .video-poster{display:block;text-decoration:none;cursor:pointer}

/* Trade · negro editorial y acento amarillo. */
.fvb-open-banner--trade{
    --fvb-open-accent:#f4d43f;
    --fvb-open-bg:#10140e;
    --fvb-open-fg:#f7f7f2;
    --fvb-open-muted:#b9bcae;
    border-color:#353c27;
    box-shadow:inset 0 4px 0 #f4d43f;
}
.fvb-open-banner--trade::before{
    background:radial-gradient(circle at 16% 12%,rgba(244,212,63,.16),transparent 38%),linear-gradient(120deg,transparent 56%,rgba(0,217,232,.08));
}

/* Feedback · bloque claro, íntimo y editorial. */
.fvb-open-banner--feedback{
    --fvb-open-accent:#087b58;
    --fvb-open-bg:#edf1eb;
    --fvb-open-fg:#07110d;
    --fvb-open-muted:#44554d;
    border-color:#b9c7be;
    box-shadow:inset 8px 0 0 #0aa86e;
}
.fvb-open-banner--feedback::before{
    background:radial-gradient(circle at 84% 20%,rgba(10,168,110,.18),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.6),transparent 48%);
}
.fvb-open-banner--feedback h2{
    max-width:700px;
    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(38px,4.7vw,70px);
    font-weight:400;
    letter-spacing:-.025em;
    line-height:.98;
    text-transform:none;
}
.fvb-open-banner--feedback .fvb-open-banner__word{
    color:rgba(7,17,13,.035);
    -webkit-text-stroke:0;
    font-size:clamp(110px,16vw,240px);
}
.fvb-open-banner--feedback .fvb-open-banner__button:hover,
.fvb-open-banner--feedback .fvb-open-banner__button:focus-visible{color:#fff!important}

/* Frecuencia VB · señal cyan/azul. */
.fvb-open-banner--frecuencia{
    --fvb-open-accent:#00d9e8;
    --fvb-open-bg:#041116;
    --fvb-open-fg:#fff;
    --fvb-open-muted:#b3c4ca;
    border-color:rgba(0,217,232,.35);
    box-shadow:inset 0 0 0 1px rgba(0,217,232,.08),0 28px 80px rgba(0,0,0,.3);
}
.fvb-open-banner--frecuencia::before{
    background:radial-gradient(circle at 14% 8%,rgba(0,217,232,.24),transparent 38%),radial-gradient(circle at 90% 95%,rgba(43,70,255,.2),transparent 38%),linear-gradient(120deg,#041116,#070b15);
}

@media(max-width:760px){
    .fvb-open-banner{padding:34px 24px;margin:48px 0}
    .fvb-open-banner__layout{grid-template-columns:1fr;align-items:start;gap:28px}
    .fvb-open-banner__button{width:100%;min-width:0}
    .fvb-open-banner h2{font-size:clamp(40px,13vw,62px)}
    .fvb-open-banner--feedback{box-shadow:inset 0 7px 0 #0aa86e}
    .fvb-open-banner--feedback h2{font-size:clamp(38px,11vw,56px)}
    .fvb-open-banner__word{right:-.02em;bottom:-.14em;opacity:.7}
}
@media(prefers-reduced-motion:reduce){.fvb-open-banner__button{transition:none}}