/* ============================================================
   QualeBanca — homepage-v4.css  (REDESIGN FINTECH · finitura v2)
   Prefisso: #qba-hp
   Palette allineata alle pagine v2 (Black Obsidian):
     --o      #EC651D  arancio brand
     --o-dk   #d4570f  arancio hover
     --o-lt   #fb923c  arancio chiaro
     --ink    #0f172a  dark principale (hero/footer/dark)
     --navy   #162947  navy secondario
     --slate  #475569  testo
     --slate2 #64748b  testo muted
     --line   #e2e8f0  bordi
     --line2  #cbd5e1  bordi forti
     --surf   #f8fafc  superfici chiare
     --surf2  #f1f5f9  superfici alt
     --ok     #10b981  verde success (risparmi/valori positivi)
   Font: Source Sans 3 (già caricato dal template)
   Identità: fintech moderno (Revolut/N26) con anima founder-led.
   v2 — finitura: profondità top-picks, contrasto bento, founder
   editoriale, ritmo verticale e dettagli tipografici.
   ============================================================ */

#qba-hp {
    --o:#EC651D; --o-dk:#d4570f; --o-lt:#fb923c;
    --ink:#0f172a; --navy:#162947;
    --slate:#475569; --slate2:#64748b;
    --line:#e2e8f0; --line2:#cbd5e1;
    --surf:#f8fafc; --surf2:#f1f5f9;
    --ok:#10b981;
    /* ombre stratificate (coerenti, “fisiche”) */
    --sh-1:0 1px 2px rgba(15,23,42,.04), 0 2px 6px -1px rgba(15,23,42,.06);
    --sh-2:0 2px 4px -1px rgba(15,23,42,.05), 0 10px 24px -8px rgba(15,23,42,.14);
    --sh-3:0 8px 16px -6px rgba(15,23,42,.10), 0 24px 48px -16px rgba(15,23,42,.26);
    --sh-o:0 14px 34px -10px rgba(236,101,29,.42), 0 4px 10px -4px rgba(236,101,29,.30);
    font-family:'Source Sans 3','Segoe UI',system-ui,sans-serif;
    color:var(--ink);
    background:#fff;
    width:100%;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    font-feature-settings:"ss01","cv01";
}
/* overflow-x:hidden NON va su #qba-hp: clippa le sezioni full-bleed che
   sforano a sinistra. Lo spostiamo sul container esterno del template,
   dove blocca lo scroll orizzontale senza tagliare il bleed. */
#sp-main-body:has(#qba-hp){overflow-x:hidden}
#sp-component.col-lg-12:has(#qba-hp){padding-left:0;padding-right:0}
#qba-hp *,#qba-hp *::before,#qba-hp *::after{box-sizing:border-box;margin:0;padding:0}
#qba-hp a{text-decoration:none;color:inherit}
#qba-hp img{display:block;max-width:100%}
#qba-hp ::selection{background:rgba(236,101,29,.22)}

/* full-bleed helper: rompe il container del template per andare bordo-a-bordo. */
#qba-hp .hp-bleed{
    width:100vw;
    position:relative;
    margin-left:calc(-50vw + 50%);
    margin-right:calc(-50vw + 50%);
}
#qba-hp .hp-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* kicker / titolo di sezione — ritmo tipografico condiviso */
#qba-hp .hp-kicker{
    font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--o);margin-bottom:14px;
    display:inline-flex;align-items:center;gap:9px;
}
#qba-hp .hp-kicker::before{
    content:"";width:22px;height:2px;border-radius:2px;
    background:linear-gradient(90deg,var(--o),transparent);
}
#qba-hp .hp-h2{
    font-size:clamp(28px,3.2vw,40px);font-weight:800;color:var(--ink);
    letter-spacing:-1px;line-height:1.1;margin-bottom:42px;text-wrap:balance;
}

/* ============================================================
   1. HERO — asimmetrico, full-bleed, dark
   ============================================================ */
#qba-hp .hp-hero{
    background:var(--ink);
    background-image:
        radial-gradient(ellipse 70% 55% at 78% -10%, rgba(236,101,29,.16), transparent 60%),
        radial-gradient(ellipse 60% 50% at 0% 120%, rgba(22,41,71,.7), transparent 55%),
        linear-gradient(155deg, #0c1424 0%, #111d33 55%, #0f1b30 100%);
    padding:100px 0 108px;
    position:relative;
    overflow:hidden;
}
/* griglia di puntini finissima sopra il dark — texture fintech */
#qba-hp .hp-hero::after{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1.4px);
    background-size:26px 26px;
    -webkit-mask-image:radial-gradient(ellipse 75% 70% at 30% 30%, #000, transparent 75%);
    mask-image:radial-gradient(ellipse 75% 70% at 30% 30%, #000, transparent 75%);
    opacity:.6;
}
#qba-hp .hp-hero::before{
    content:"%";
    position:absolute;
    right:-3%;
    bottom:-28%;
    font-size:560px;
    font-weight:800;
    line-height:1;
    color:transparent;
    -webkit-text-stroke:1.5px rgba(236,101,29,.16);
    text-stroke:1.5px rgba(236,101,29,.16);
    pointer-events:none;
    z-index:0;
}
#qba-hp .hp-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.25fr .92fr;
    gap:56px;
    align-items:center;
}
#qba-hp .hp-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--o-lt);
    margin-bottom:26px;
    padding:7px 14px 7px 12px;
    border:1px solid rgba(236,101,29,.28);
    border-radius:100px;
    background:rgba(236,101,29,.07);
    backdrop-filter:blur(4px);
}
#qba-hp .hp-eyebrow .dot{
    width:7px;height:7px;border-radius:50%;background:var(--o);
    box-shadow:0 0 0 0 rgba(236,101,29,.5);
    animation:hp-pulse 2.4s ease-in-out infinite;
}
@keyframes hp-pulse{
    0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(236,101,29,.5)}
    50%{opacity:.7;box-shadow:0 0 0 6px rgba(236,101,29,0)}
}
#qba-hp .hp-h1{
    font-size:clamp(40px,5.2vw,66px);
    font-weight:800;
    line-height:1.02;
    letter-spacing:-2px;
    color:#fff;
    margin-bottom:24px;
    text-wrap:balance;
}
#qba-hp .hp-h1 .accent{
    color:var(--o);
    position:relative;
    white-space:nowrap;
}
#qba-hp .hp-h1 .accent::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:-2px;height:4px;
    background:linear-gradient(90deg,var(--o),var(--o-lt));
    border-radius:3px;
    transform:scaleX(0);
    transform-origin:left;
    animation:hp-underline .9s .55s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes hp-underline{to{transform:scaleX(1)}}
#qba-hp .hp-hero-sub{
    font-size:18.5px;
    line-height:1.62;
    color:rgba(255,255,255,.68);
    max-width:478px;
    margin-bottom:36px;
}
#qba-hp .hp-hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
#qba-hp .hp-btn{
    display:inline-flex;align-items:center;gap:8px;
    font-size:15.5px;font-weight:700;
    padding:15px 30px;border-radius:12px;
    transition:transform .18s cubic-bezier(.2,.7,.2,1), background .18s ease, border-color .18s ease, box-shadow .18s ease;
    white-space:nowrap;
    cursor:pointer;
    will-change:transform;
}
#qba-hp .hp-btn-primary{
    background:linear-gradient(180deg,#f06f28,var(--o));
    color:#fff;
    box-shadow:var(--sh-o);
}
#qba-hp .hp-btn-primary:hover{
    background:linear-gradient(180deg,var(--o),var(--o-dk));
    transform:translateY(-2px);
    box-shadow:0 18px 40px -10px rgba(236,101,29,.55), 0 4px 10px -4px rgba(236,101,29,.4);
}
#qba-hp .hp-btn-primary:active{transform:translateY(0)}
#qba-hp .hp-btn-ghost{
    background:rgba(255,255,255,.05);color:#fff;
    border:1.5px solid rgba(255,255,255,.22);
}
#qba-hp .hp-btn-ghost:hover{
    border-color:rgba(255,255,255,.5);
    background:rgba(255,255,255,.09);
    transform:translateY(-2px);
}

/* widget dati hero — glass premium */
#qba-hp .hp-data-card{
    position:relative;
    background:linear-gradient(165deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.14);
    border-radius:22px;
    padding:28px;
    backdrop-filter:blur(14px);
    box-shadow:0 30px 60px -24px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.12);
    overflow:hidden;
}
#qba-hp .hp-data-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
}
#qba-hp .hp-data-live{
    display:inline-flex;align-items:center;gap:7px;
    font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--ok);margin-bottom:16px;
}
#qba-hp .hp-data-live .dot{
    width:7px;height:7px;border-radius:50%;background:var(--ok);
    box-shadow:0 0 0 0 rgba(16,185,129,.5);
    animation:hp-pulse-ok 2.4s ease-in-out infinite;
}
@keyframes hp-pulse-ok{
    0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}
    50%{box-shadow:0 0 0 5px rgba(16,185,129,0)}
}
#qba-hp .hp-data-figure{
    font-size:52px;font-weight:800;color:#fff;line-height:.95;letter-spacing:-2px;
    display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
    font-variant-numeric:tabular-nums;
}
#qba-hp .hp-data-figure .unit{
    font-size:18px;color:rgba(255,255,255,.55);font-weight:600;letter-spacing:0;
    white-space:nowrap;
}
#qba-hp .hp-data-figure .unit:last-child{color:var(--ok)}
#qba-hp .hp-data-caption{font-size:13.5px;color:rgba(255,255,255,.52);margin-top:12px;line-height:1.45}
#qba-hp .hp-data-list{margin-top:22px;border-top:1px solid rgba(255,255,255,.12);padding-top:4px}
#qba-hp .hp-data-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:11px 10px;margin:0 -10px;font-size:13.5px;border-radius:9px;
    border-top:1px solid rgba(255,255,255,.07);
    transition:background .16s ease;
}
#qba-hp .hp-data-row:first-child{border-top:none}
#qba-hp .hp-data-row:hover{background:rgba(255,255,255,.05)}
#qba-hp .hp-data-row .nm{color:rgba(255,255,255,.82);font-weight:600}
#qba-hp .hp-data-row .vl{
    color:var(--o-lt);font-weight:700;
    display:inline-flex;align-items:center;gap:6px;
}
#qba-hp .hp-data-row .vl::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:var(--ok);box-shadow:0 0 8px rgba(16,185,129,.7);
}

/* ============================================================
   2. BENTO HUB
   ============================================================ */
#qba-hp .hp-hub{padding:96px 0;background:var(--surf)}
#qba-hp .hp-bento{
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr;
    grid-template-rows:auto auto;
    gap:18px;
}
/* card stile bold-type: nome grande + footer CTA a fascia + accento trattino */
#qba-hp .hp-bento-cell{
    background:#fff;border:1px solid #e8edf3;border-radius:16px;
    display:flex;flex-direction:column;justify-content:space-between;
    min-height:172px;position:relative;overflow:hidden;
    box-shadow:0 1px 2px rgba(15,23,42,.04), 0 4px 14px -3px rgba(22,41,71,.08);
    transition:transform .22s cubic-bezier(.2,.7,.2,1), box-shadow .22s ease, border-color .22s ease;
}
#qba-hp .hp-bento-cell:hover{transform:translateY(-5px);box-shadow:var(--sh-3);border-color:rgba(236,101,29,.25)}
#qba-hp .hp-bento-body{padding:24px 24px 0;flex:1}
#qba-hp .hp-bento-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
/* accento trattino + parola (rimpiazza la vecchia eyebrow) */
#qba-hp .hp-bento-acc{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12.5px;font-weight:600;color:var(--slate);line-height:1.3;
}
#qba-hp .hp-bento-acc::before{content:"";width:16px;height:2px;background:var(--o);border-radius:2px;flex-shrink:0}
#qba-hp .hp-bento-name{font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-.6px;line-height:1.08;margin-top:12px}
#qba-hp .hp-bento-ico{
    width:46px;height:46px;border-radius:13px;flex-shrink:0;
    background:rgba(236,101,29,.1);color:var(--o);
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(236,101,29,.16);
    transition:background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
#qba-hp .hp-bento-cell:hover .hp-bento-ico{background:var(--o);color:#fff;border-color:var(--o);transform:scale(1.06)}
/* footer CTA a fascia che vira arancio all'hover */
#qba-hp .hp-bento-foot{
    margin-top:18px;padding:15px 24px;border-top:1px solid var(--line);
    display:flex;align-items:center;justify-content:space-between;
    font-size:13.5px;font-weight:700;color:var(--o);
    background:var(--surf2);
    transition:background .18s ease, color .18s ease;
}
#qba-hp .hp-bento-cell:hover .hp-bento-foot{background:var(--o);color:#fff}
#qba-hp .hp-bento-foot .ar{transition:transform .18s ease}
#qba-hp .hp-bento-cell:hover .hp-bento-foot .ar{transform:translateX(4px)}

/* CELLA PROTAGONISTA — dark, dominante */
#qba-hp .hp-bento-feat{
    grid-row:span 2;
    background:var(--ink);
    background-image:
        radial-gradient(ellipse 100% 55% at 85% 112%, rgba(236,101,29,.30), transparent 60%),
        radial-gradient(ellipse 60% 50% at 0% 0%, rgba(255,255,255,.05), transparent 60%),
        linear-gradient(160deg,#162947,#0b1322);
    border-color:transparent;
    box-shadow:0 20px 50px -18px rgba(11,19,34,.6);
}
/* watermark % gigante nella cella feat */
#qba-hp .hp-bento-feat::after{
    content:"%";position:absolute;right:-6px;top:38%;
    font-size:200px;font-weight:800;line-height:1;color:transparent;
    -webkit-text-stroke:1.5px rgba(236,101,29,.20);text-stroke:1.5px rgba(236,101,29,.20);
    pointer-events:none;
}
#qba-hp .hp-bento-feat:hover{transform:translateY(-5px);box-shadow:0 28px 64px -20px rgba(11,19,34,.7)}
#qba-hp .hp-bento-feat .hp-bento-body{padding:32px 32px 0;position:relative;z-index:1}
#qba-hp .hp-bento-feat .hp-bento-name{font-size:34px;color:#fff;letter-spacing:-.9px;margin-top:16px}
#qba-hp .hp-bento-feat .hp-bento-acc{color:var(--o-lt);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:11.5px}
#qba-hp .hp-bento-feat .hp-bento-acc::before{background:var(--o-lt)}
#qba-hp .hp-bento-feat .hp-bento-ico{
    width:52px;height:52px;
    background:rgba(236,101,29,.22);border-color:rgba(236,101,29,.4);color:var(--o-lt);
}
#qba-hp .hp-bento-feat:hover .hp-bento-ico{background:var(--o);color:#fff;border-color:var(--o)}
/* footer della feat: bottone pieno arancio */
#qba-hp .hp-bento-feat .hp-bento-foot{
    background:var(--o);color:#fff;border-top:none;padding:17px 32px;font-size:14.5px;
    position:relative;z-index:1;
}
#qba-hp .hp-bento-feat:hover .hp-bento-foot{background:var(--o-dk)}

/* ============================================================
   3. TOP PICKS — carosello orizzontale (profondità + KPI dominante)
   ============================================================ */
#qba-hp .hp-picks{padding:96px 0;background:#fff}
#qba-hp .hp-picks-block{margin-bottom:56px}
#qba-hp .hp-picks-block:last-child{margin-bottom:0}
#qba-hp .hp-picks-head{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:22px;
}
#qba-hp .hp-picks-cat{
    font-size:23px;font-weight:800;color:var(--ink);letter-spacing:-.6px;
    display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
}
#qba-hp .hp-picks-cat::before{
    content:"";width:4px;height:22px;border-radius:3px;
    background:linear-gradient(180deg,var(--o),var(--o-lt));
}
#qba-hp .hp-picks-all{
    font-size:14px;font-weight:700;color:var(--o);white-space:nowrap;
    display:inline-flex;align-items:center;gap:6px;
    padding:8px 14px;border-radius:100px;border:1px solid var(--line);
    transition:background .16s ease, border-color .16s ease, color .16s ease;
}
#qba-hp .hp-picks-all:hover{color:var(--o-dk);background:rgba(236,101,29,.06);border-color:rgba(236,101,29,.3)}
#qba-hp .hp-picks-track{
    display:flex;gap:18px;overflow-x:auto;padding:6px 4px 14px;margin:-6px -4px 0;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}
#qba-hp .hp-picks-track::-webkit-scrollbar{height:7px}
#qba-hp .hp-picks-track::-webkit-scrollbar-track{background:transparent}
#qba-hp .hp-picks-track::-webkit-scrollbar-thumb{background:var(--line2);border-radius:4px}
#qba-hp .hp-picks-track::-webkit-scrollbar-thumb:hover{background:var(--slate2)}

#qba-hp .hp-pick{
    flex:0 0 290px;scroll-snap-align:start;
    background:linear-gradient(180deg,#fff,#fcfdfe);
    border:1px solid var(--line);border-radius:20px;padding:24px;
    display:flex;flex-direction:column;gap:0;position:relative;
    box-shadow:var(--sh-1);
    transition:transform .22s cubic-bezier(.2,.7,.2,1), box-shadow .22s ease, border-color .22s ease;
    overflow:hidden;
}
/* glow radiale che emerge dietro il KPI all'hover */
#qba-hp .hp-pick::before{
    content:"";position:absolute;top:-30%;right:-20%;width:200px;height:200px;
    background:radial-gradient(circle, rgba(236,101,29,.14), transparent 68%);
    opacity:0;transition:opacity .3s ease;pointer-events:none;
}
#qba-hp .hp-pick:hover{transform:translateY(-7px);box-shadow:var(--sh-3);border-color:transparent}
#qba-hp .hp-pick:hover::before{opacity:1}

/* card protagonista (Top scelta) */
#qba-hp .hp-pick.is-top{
    border:1.5px solid rgba(236,101,29,.55);
    background:linear-gradient(180deg,#fffaf6,#fff);
    box-shadow:0 2px 6px -1px rgba(236,101,29,.12), 0 18px 40px -16px rgba(236,101,29,.3);
}
#qba-hp .hp-pick.is-top::after{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--o),var(--o-lt));
}
#qba-hp .hp-pick.is-top:hover{box-shadow:0 2px 6px -1px rgba(236,101,29,.16), 0 26px 54px -18px rgba(236,101,29,.42)}

#qba-hp .hp-pick-badge{
    position:absolute;top:0;right:24px;
    font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    background:linear-gradient(180deg,#f06f28,var(--o));color:#fff;
    padding:6px 11px 5px;border-radius:0 0 8px 8px;
    box-shadow:0 6px 14px -4px rgba(236,101,29,.5);
    display:inline-flex;align-items:center;gap:5px;z-index:2;
}
#qba-hp .hp-pick-badge::before{content:"★";font-size:9px;line-height:1}

#qba-hp .hp-pick-logo{height:38px;display:flex;align-items:center;margin-bottom:16px;position:relative;z-index:1}
#qba-hp .hp-pick-logo img{max-height:38px;max-width:128px;width:auto;object-fit:contain}

#qba-hp .hp-pick-name{
    font-size:13px;font-weight:700;color:var(--slate2);letter-spacing:.04em;text-transform:uppercase;
    margin-bottom:6px;position:relative;z-index:1;
}
#qba-hp .hp-pick-figure{
    font-size:clamp(40px,4vw,50px);font-weight:800;color:var(--o);line-height:.92;letter-spacing:-2px;
    display:flex;align-items:baseline;gap:8px;margin-bottom:14px;position:relative;z-index:1;
    font-variant-numeric:tabular-nums;
    transition:transform .22s cubic-bezier(.2,.7,.2,1);transform-origin:left bottom;
}
#qba-hp .hp-pick:hover .hp-pick-figure{transform:scale(1.04)}
#qba-hp .hp-pick-figure .lbl{
    font-size:13px;color:var(--slate2);font-weight:600;letter-spacing:0;text-transform:none;
    align-self:flex-end;margin-bottom:6px;
}
#qba-hp .hp-pick-meta{
    font-size:13.5px;color:var(--slate);line-height:1.5;position:relative;z-index:1;
    padding-left:22px;
}
#qba-hp .hp-pick-meta::before{
    content:"";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;
    background:rgba(16,185,129,.14);
    /* check */
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:center;background-size:11px;
}
#qba-hp .hp-pick-meta strong{color:var(--ink);font-weight:700}
#qba-hp .hp-pick-cta{
    margin-top:18px;font-size:14.5px;font-weight:700;color:var(--o);
    display:inline-flex;align-items:center;gap:7px;
    padding:12px 0 0;
    border-top:1px solid var(--line);position:relative;z-index:1;
    transition:gap .2s ease, color .16s ease;
}
#qba-hp .hp-pick.is-top .hp-pick-cta{border-top-color:rgba(236,101,29,.18)}
#qba-hp .hp-pick:hover .hp-pick-cta{gap:11px;color:var(--o-dk)}

/* ============================================================
   4. FOUNDER — split editoriale / premium
   ============================================================ */
#qba-hp .hp-founder{
    background:var(--ink);
    background-image:
        radial-gradient(ellipse 50% 80% at 100% 50%, rgba(236,101,29,.1), transparent 60%),
        linear-gradient(150deg,#101c30,#0b1322);
    overflow:hidden;position:relative;
}
#qba-hp .hp-founder-grid{
    display:grid;grid-template-columns:.82fr 1.18fr;align-items:stretch;
    max-width:1180px;margin:0 auto;
}
#qba-hp .hp-founder-photo{
    position:relative;min-height:440px;
    background:linear-gradient(160deg,#1c3457,#0f1c30);
    display:flex;align-items:flex-end;justify-content:center;
    overflow:hidden;
}
/* blocco arancio editoriale dietro la foto */
#qba-hp .hp-founder-photo::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:8px;
    background:linear-gradient(180deg,var(--o),var(--o-dk));z-index:2;
}
#qba-hp .hp-founder-photo::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(11,19,34,.55));
    z-index:1;pointer-events:none;
}
#qba-hp .hp-founder-photo img{
    position:relative;z-index:0;
    max-height:440px;width:auto;object-fit:contain;align-self:flex-end;
    filter:drop-shadow(0 -10px 50px rgba(0,0,0,.5));
}
#qba-hp .hp-founder-body{
    padding:80px 64px;display:flex;flex-direction:column;justify-content:center;
    position:relative;
}
/* virgolettone editoriale */
#qba-hp .hp-founder-body::after{
    content:"\201C";
    position:absolute;right:56px;top:24px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:200px;line-height:1;color:rgba(236,101,29,.14);
    pointer-events:none;z-index:0;
}
#qba-hp .hp-founder-body::before{
    content:"";position:absolute;left:0;top:80px;bottom:80px;width:3px;
    background:linear-gradient(180deg,var(--o),transparent);border-radius:2px;
}
#qba-hp .hp-founder-kicker{
    font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--o-lt);margin-bottom:22px;position:relative;z-index:1;
}
#qba-hp .hp-founder-quote{
    font-size:clamp(26px,2.8vw,38px);font-weight:800;color:#fff;
    line-height:1.16;letter-spacing:-1px;margin-bottom:22px;position:relative;z-index:1;
    text-wrap:balance;
}
#qba-hp .hp-founder-quote .accent{
    color:var(--o);background:linear-gradient(90deg,var(--o),var(--o-lt));
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
#qba-hp .hp-founder-text{
    font-size:16.5px;line-height:1.68;color:rgba(255,255,255,.7);margin-bottom:30px;
    max-width:540px;position:relative;z-index:1;
}
#qba-hp .hp-founder-meta{
    display:flex;align-items:center;gap:14px;margin-bottom:26px;position:relative;z-index:1;
    padding-top:22px;border-top:1px solid rgba(255,255,255,.1);max-width:540px;
}
#qba-hp .hp-founder-meta::before{
    content:"AC";
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:50%;flex:0 0 44px;
    background:linear-gradient(150deg,var(--o),var(--o-dk));color:#fff;
    font-size:14px;font-weight:800;letter-spacing:.02em;
    box-shadow:0 8px 20px -8px rgba(236,101,29,.6);
}
#qba-hp .hp-founder-meta .nm{font-size:16.5px;font-weight:700;color:#fff;line-height:1.2}
#qba-hp .hp-founder-meta .rl{
    font-size:12.5px;color:var(--o-lt);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
    padding:4px 10px;border-radius:100px;background:rgba(236,101,29,.12);border:1px solid rgba(236,101,29,.28);
}
#qba-hp .hp-founder-link{
    font-size:14.5px;font-weight:700;color:#fff;
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 22px;border-radius:11px;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
    align-self:flex-start;position:relative;z-index:1;
    transition:background .18s ease, border-color .18s ease, transform .18s ease, gap .2s ease;
}
#qba-hp .hp-founder-link:hover{
    color:#fff;background:rgba(236,101,29,.14);border-color:rgba(236,101,29,.5);
    transform:translateY(-2px);gap:12px;
}

/* ============================================================
   5. TRUST — banda dati
   ============================================================ */
#qba-hp .hp-trust{
    background:var(--navy);
    background-image:
        radial-gradient(ellipse 60% 100% at 50% 0%, rgba(236,101,29,.08), transparent 60%),
        linear-gradient(100deg,#162947,#0f172a);
    padding:64px 0;
}
#qba-hp .hp-trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
#qba-hp .hp-trust-item{
    text-align:center;padding:10px 28px;position:relative;
}
#qba-hp .hp-trust-item+.hp-trust-item::before{
    content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;
    background:linear-gradient(180deg,transparent,rgba(255,255,255,.16),transparent);
}
#qba-hp .hp-trust-num{
    font-size:clamp(40px,4vw,50px);font-weight:800;line-height:1;letter-spacing:-1.5px;
    margin-bottom:12px;font-variant-numeric:tabular-nums;
    background:linear-gradient(180deg,var(--o-lt),var(--o));
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
    color:var(--o);
}
#qba-hp .hp-trust-label{font-size:15.5px;color:#fff;font-weight:700;letter-spacing:-.2px}
#qba-hp .hp-trust-sub{font-size:13px;color:rgba(255,255,255,.48);margin-top:5px}

/* ============================================================
   6. EDITORIALE
   ============================================================ */
#qba-hp .hp-edi{padding:96px 0;background:var(--surf)}
#qba-hp .hp-edi-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px;
}
#qba-hp .hp-edi-card{
    background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
    display:flex;flex-direction:column;box-shadow:var(--sh-1);
    transition:transform .2s cubic-bezier(.2,.7,.2,1), box-shadow .2s ease, border-color .2s ease;
}
#qba-hp .hp-edi-card:hover{transform:translateY(-6px);box-shadow:var(--sh-3);border-color:transparent}
#qba-hp .hp-edi-img{height:172px;overflow:hidden;background:var(--ink);position:relative}
#qba-hp .hp-edi-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
#qba-hp .hp-edi-card:hover .hp-edi-img img{transform:scale(1.06)}
#qba-hp .hp-edi-img::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:55%;
    background:linear-gradient(transparent,rgba(15,23,42,.35));
}
#qba-hp .hp-edi-body{padding:22px;display:flex;flex-direction:column;flex:1}
#qba-hp .hp-edi-cat{
    font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--o);margin-bottom:12px;
    display:inline-flex;align-items:center;gap:7px;
}
#qba-hp .hp-edi-cat::before{content:"";width:14px;height:2px;background:var(--o);border-radius:2px}
#qba-hp .hp-edi-title{font-size:18px;font-weight:700;color:var(--ink);line-height:1.34;flex:1;letter-spacing:-.3px;text-wrap:pretty}
#qba-hp .hp-edi-link{
    font-size:14px;font-weight:700;color:var(--o);margin-top:16px;
    display:inline-flex;gap:6px;align-items:center;transition:gap .2s ease;
}
#qba-hp .hp-edi-card:hover .hp-edi-link{gap:10px}

/* ============================================================
   7. FOOTER CTA
   ============================================================ */
#qba-hp .hp-fcta{
    background:var(--ink);
    background-image:
        radial-gradient(ellipse 70% 70% at 50% -10%, rgba(236,101,29,.16), transparent 60%),
        linear-gradient(160deg,#101c30,#0b1322);
    padding:96px 0;text-align:center;position:relative;overflow:hidden;
}
#qba-hp .hp-fcta::before{
    content:"%";position:absolute;left:-3%;bottom:-42%;
    font-size:420px;font-weight:800;line-height:1;color:transparent;
    -webkit-text-stroke:1.5px rgba(236,101,29,.12);text-stroke:1.5px rgba(236,101,29,.12);
    pointer-events:none;
}
#qba-hp .hp-fcta-inner{position:relative;z-index:1}
#qba-hp .hp-fcta h2{
    font-size:clamp(30px,3.6vw,44px);font-weight:800;color:#fff;
    letter-spacing:-1.2px;max-width:620px;margin:0 auto 16px;line-height:1.1;text-wrap:balance;
}
#qba-hp .hp-fcta p{font-size:17.5px;color:rgba(255,255,255,.62);margin-bottom:36px}
#qba-hp .hp-fcta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   SCROLL REVEAL (solo transform/opacity, no CLS)
   ============================================================ */
@supports (animation-timeline:view()){
    @media (prefers-reduced-motion:no-preference){
        #qba-hp .hp-reveal{
            opacity:0;transform:translateY(26px);
            animation:hp-reveal-anim linear forwards;
            animation-timeline:view();
            animation-range:entry 0% entry 42%;
        }
        @keyframes hp-reveal-anim{to{opacity:1;transform:translateY(0)}}
    }
}

/* ============================================================
   RESPONSIVE — tablet
   ============================================================ */
@media (max-width:980px){
    #qba-hp .hp-hero{padding:76px 0 84px}
    #qba-hp .hp-hero-grid{grid-template-columns:1fr;gap:40px}
    #qba-hp .hp-data-card{max-width:440px}
    #qba-hp .hp-founder-grid{grid-template-columns:1fr}
    #qba-hp .hp-founder-photo{min-height:320px}
    #qba-hp .hp-founder-photo::before{width:100%;height:6px;top:0;bottom:auto}
    #qba-hp .hp-founder-body{padding:52px 44px}
    #qba-hp .hp-founder-body::before{top:52px;bottom:52px}
    #qba-hp .hp-founder-body::after{font-size:150px;right:32px}
    #qba-hp .hp-bento{grid-template-columns:repeat(2,1fr)}
    #qba-hp .hp-bento-feat{grid-row:span 1;grid-column:span 2;min-height:200px}
    #qba-hp .hp-bento-feat::after{font-size:160px;top:auto;bottom:-40px}
    #qba-hp .hp-edi-grid{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   RESPONSIVE — mobile
   ============================================================ */
@media (max-width:600px){
    #qba-hp .hp-wrap{padding:0 18px}
    #qba-hp .hp-hero{padding:60px 0 68px}
    #qba-hp .hp-hero::before{font-size:300px;right:-12%;bottom:-12%}
    #qba-hp .hp-h1{letter-spacing:-1.2px}
    #qba-hp .hp-hero-sub{font-size:16.5px}
    #qba-hp .hp-btn{width:100%;justify-content:center}
    #qba-hp .hp-data-card{max-width:none;padding:22px}
    #qba-hp .hp-data-figure{font-size:42px}
    #qba-hp .hp-hub{padding:60px 0}
    #qba-hp .hp-bento{grid-template-columns:1fr;gap:13px}
    #qba-hp .hp-bento-feat{grid-column:span 1;min-height:auto}
    #qba-hp .hp-bento-cell{min-height:auto}
    #qba-hp .hp-bento-body{padding:22px 22px 0}
    #qba-hp .hp-picks{padding:60px 0}
    #qba-hp .hp-picks-block{margin-bottom:44px}
    #qba-hp .hp-pick{flex:0 0 250px}
    #qba-hp .hp-founder-body{padding:44px 24px}
    #qba-hp .hp-founder-body::before{top:44px;bottom:auto;height:64px}
    #qba-hp .hp-founder-body::after{font-size:120px;right:18px;top:12px}
    #qba-hp .hp-trust{padding:48px 0}
    #qba-hp .hp-trust-grid{grid-template-columns:1fr;gap:8px}
    #qba-hp .hp-trust-item{padding:22px}
    #qba-hp .hp-trust-item+.hp-trust-item::before{display:none}
    #qba-hp .hp-trust-item+.hp-trust-item{border-top:1px solid rgba(255,255,255,.12)}
    #qba-hp .hp-edi{padding:60px 0}
    #qba-hp .hp-edi-grid{grid-template-columns:1fr}
    #qba-hp .hp-fcta{padding:60px 0}
    #qba-hp .hp-fcta-btns .hp-btn{width:100%}
    #qba-hp .hp-fcta::before{font-size:220px}
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
    #qba-hp *,#qba-hp *::before,#qba-hp *::after{
        animation:none!important;transition:none!important;
    }
    #qba-hp .hp-h1 .accent::after{transform:scaleX(1)}
}