.heroFL {
    background: linear-gradient(155deg, var(--deep) 0%, #1a0e2e 100%);
    padding: 44px 32px 40px;
    border-bottom: 3px solid var(--gold);
    position: relative;
    overflow: hidden;
}
.heroFL::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(
            45deg, transparent, transparent 49px, rgba(255,255,255,.012) 50px
    );
}
.heroFL-inner   { max-width: 1100px; margin: 0 auto; position: relative; display: flex; gap: 40px; align-items: flex-start; }
.heroFL-eyebrow { font-family: var(--mono); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 12px; }
.heroFL-hed     { font-family: var(--serif); font-size: clamp(1.5rem, 3.5vw, 2.3rem); font-weight: 400; font-style: italic; color: #fff; line-height: 1.2; margin-bottom: 12px; }
.heroFL-hed strong { font-style: normal; font-weight: 700; color: var(--gold-lt); }
.heroFL-sub     { font-size: .9rem; color: rgba(255,255,255,.75); line-height: 1.75; max-width: 540px; font-weight: 500; }
.heroFL-kpis    { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); flex-shrink: 0; width: 240px; }
.heroFL-kpi     { padding: 14px 12px; background: rgba(0,0,0,.3); }
.hfk-lbl { font-family: var(--mono); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 5px; font-weight: 500; }
.hfk-val { font-family: var(--mono); font-size: 1.2rem; font-weight: 700; color: #fff; line-height: 1; }
.hfk-sub { font-family: var(--mono); font-size: .55rem; color: rgba(255,255,255,.35); margin-top: 3px; }

.calcFL-layout { max-width: 1100px; margin: 0 auto; padding: 28px 32px 80px; display: grid; grid-template-columns: minmax(320px, 380px) 1fr; gap: 24px; align-items: start; }
.formFL-wrap   { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 12px; }

.fl-coeff-badge {
    font-family: var(--mono);
    font-size: .65rem;
    color: var(--forest);
    font-weight: 700;
    letter-spacing: .06em;
    padding: 3px 8px;
    background: var(--green-dim);
    border: 1px solid rgba(42,92,63,.2);
    display: inline-block;
    margin-top: 4px;
}

.btn-calcFL {
    width: 100%; padding: 16px;
    background: #1a0e2e; color: #fff; border: none;
    font-family: var(--sans); font-size: .85rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    cursor: pointer; transition: background .15s;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    border-top: 3px solid var(--gold);
}
.btn-calcFL:hover { background: var(--forest); }

.flKpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--rule); border: 1px solid var(--rule); margin-bottom: 2px; }
.flKpi  { background: var(--white); padding: 14px 16px; }
.flKpi.accent { border-top: 3px solid var(--gold); }
.flKpi.forest { border-top: 3px solid var(--forest); }
.flKpi.red    { border-top: 3px solid var(--red); }
.flKpi-lbl    { font-family: var(--mono); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-light); margin-bottom: 5px; font-weight: 500; }
.flKpi-val    { font-family: var(--mono); font-size: 1.2rem; font-weight: 700; color: var(--ink); line-height: 1; }
.flKpi.accent .flKpi-val { color: var(--amber); font-size: 1.5rem; }
.flKpi.forest .flKpi-val { color: var(--forest); }
.flKpi.red    .flKpi-val { color: var(--red); }
.fl-conf-row { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--rule-lt); font-size: .88rem; color: var(--ink-mid); gap: 16px; }
.fl-conf-row strong { font-family: var(--mono); font-size: .95rem; white-space: nowrap; }
.fl-conf-delta { font-weight: 700; border-bottom: none; padding-top: 14px; margin-top: 4px; }
.fl-conf-note { font-family: var(--mono); font-size: .62rem; color: var(--ink-light); margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--rule-lt); font-weight: 500; line-height: 1.7; }
.fl-avviso { display: none; padding: 14px 18px; background: #fff3cd; border-left: 4px solid #e6a800; font-size: .82rem; color: #7a4f0c; line-height: 1.7; font-weight: 500; margin-bottom: 2px; }

.disclaimerFL { padding: 14px 18px; background: var(--amber-dim); border-left: 4px solid var(--gold); font-size: .82rem; color: var(--ink-mid); line-height: 1.7; font-weight: 500; margin-bottom: 2px; }

@media(max-width: 1024px) {
    .calcFL-layout { grid-template-columns: 1fr; padding: 20px 16px 60px; }
    .formFL-wrap   { position: static; }
    .heroFL-kpis   { display: none; }
    .flKpis        { grid-template-columns: 1fr 1fr; }
}
@media(max-width: 600px) {
    .heroFL  { padding: 28px 16px; }
    .flKpis  { grid-template-columns: 1fr 1fr; }
}